/* Shared styles for Destino service pages. Tokens and components mirror the homepage (index.html). */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--bg:#FAFAF7;--bg-warm:#F0EAE0;--bg-dark:#18170F;--text:#1A1916;--text-muted:#6B6460;--accent:#9B7C2E;--accent-lt:#C4A052;--border:rgba(26,25,22,0.11);--font-serif:'Cormorant Garamond',Georgia,serif;--font-sans:'DM Sans',system-ui,sans-serif;--pad:clamp(4.5rem,9vw,8rem);--wrap:min(1160px,100% - 4rem)}
html{scroll-behavior:smooth}
body{font-family:var(--font-sans);background:var(--bg);color:var(--text);line-height:1.7;font-size:16px;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
:focus-visible{outline:2px solid var(--accent-lt);outline-offset:3px}
.skip-link{position:absolute;left:1rem;top:-4rem;z-index:200;background:var(--accent);color:#fff;padding:.75rem 1.25rem;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;transition:top .2s}
.skip-link:focus{top:1rem}

/* Navigation (identical to homepage) */
nav#nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:1.6rem 2.5rem;display:flex;align-items:center;justify-content:space-between;transition:background .35s,padding .35s,box-shadow .35s}
nav#nav.scrolled{background:rgba(250,250,247,.96);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);padding:1rem 2.5rem;box-shadow:0 1px 0 var(--border)}
.nav-logo{font-family:var(--font-serif);font-size:1.5rem;font-weight:500;letter-spacing:.06em;color:#FAFAF7;text-decoration:none;transition:color .35s}
.nav-logo .dot{color:var(--accent-lt);transition:color .35s}
nav#nav.scrolled .nav-logo{color:var(--text)}
nav#nav.scrolled .nav-logo .dot{color:var(--accent)}
.nav-links{display:flex;gap:2.5rem;list-style:none;align-items:center}
.nav-links a{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(250,250,247,.75);text-decoration:none;transition:color .2s}
.nav-links a:hover,.nav-links a[aria-current]{color:#FAFAF7}
nav#nav.scrolled .nav-links a{color:var(--text-muted)}
nav#nav.scrolled .nav-links a:hover,nav#nav.scrolled .nav-links a[aria-current]{color:var(--text)}
.nav-cta{color:var(--accent-lt)!important;border:1px solid rgba(196,160,82,.5);padding:.45rem 1.15rem;transition:background .2s,color .2s,border-color .2s!important}
.nav-cta:hover{background:var(--accent);color:#fff!important;border-color:var(--accent)!important}
nav#nav.scrolled .nav-cta{color:var(--accent)!important;border-color:rgba(155,124,46,.5)}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px}
.hamburger span{display:block;width:22px;height:1.5px;background:rgba(250,250,247,.8);transition:background .35s}
nav#nav.scrolled .hamburger span{background:var(--text-muted)}
.mobile-menu{display:none;position:fixed;inset:0;background:var(--bg);z-index:99;flex-direction:column;align-items:center;justify-content:center;gap:2.5rem}
.mobile-menu.open{display:flex}
.mobile-menu a{font-family:var(--font-serif);font-size:2.5rem;font-weight:400;color:var(--text);text-decoration:none}
.mobile-close{position:absolute;top:1.5rem;right:2.5rem;background:none;border:none;font-size:2rem;cursor:pointer;color:var(--text-muted)}

/* Buttons */
.btn{display:inline-block;padding:.95rem 2.4rem;font-family:var(--font-sans);font-size:.73rem;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:.25s;border:none}
.btn-outline-light{background:transparent;color:#FAFAF7;border:1px solid rgba(250,250,247,.45)}
.btn-outline-light:hover{background:var(--accent);border-color:var(--accent)}
.btn-gold{background:var(--accent);color:#fff;border:1px solid var(--accent)}
.btn-gold:hover{background:#7c6124;border-color:#7c6124}
.btn-outline{background:transparent;color:var(--text);border:1px solid var(--border)}
.btn-outline:hover{border-color:var(--accent);color:var(--accent)}

/* Page hero — a shorter version of the homepage hero */
.page-hero{min-height:68vh;display:flex;flex-direction:column;justify-content:flex-end;padding:9rem 2.5rem 5rem;position:relative;overflow:hidden;background:var(--bg-dark)}
.page-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.32}
.page-hero-inner{position:relative;z-index:1;max-width:var(--wrap);margin:0 auto;width:100%}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.6rem;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(250,250,247,.6);margin-bottom:2rem}
.crumbs li+li::before{content:'/';margin-right:.6rem;color:var(--accent)}
.crumbs a{color:var(--accent-lt);text-decoration:none}
.crumbs a:hover{color:#FAFAF7}
.page-h1{font-family:var(--font-serif);font-size:clamp(2.6rem,6vw,5.2rem);font-weight:300;line-height:1.05;color:#FAFAF7;margin-bottom:1.6rem;max-width:880px}
.page-sub{font-size:1.02rem;color:rgba(250,250,247,.72);max-width:600px;line-height:1.75;margin-bottom:2.6rem;font-weight:300}

/* Sections */
.section{padding:var(--pad) 2.5rem}
.section.warm{background:var(--bg-warm)}
.container{max-width:var(--wrap);margin:0 auto}
.section-label{font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}
.section-label::before{content:'';display:block;width:28px;height:1px;background:var(--accent)}
h2{font-family:var(--font-serif);font-size:clamp(2rem,4vw,3.2rem);font-weight:300;line-height:1.15;color:var(--text)}

/* Overview: copy + side card */
.overview{display:grid;grid-template-columns:1.5fr 1fr;gap:6rem;align-items:start}
.prose .lead{font-family:var(--font-serif);font-size:1.4rem;color:var(--text);font-weight:300;line-height:1.55;margin-top:1.6rem}
.prose p{margin-top:1.3rem;color:var(--text-muted);font-size:.98rem;line-height:1.85;max-width:68ch}
.prose a{color:var(--accent);text-decoration:underline;text-decoration-color:rgba(155,124,46,.35);text-underline-offset:3px}
.prose a:hover{text-decoration-color:var(--accent)}
.side-card{background:var(--bg-warm);padding:2.6rem;position:sticky;top:7rem}
.side-card .rule{width:40px;height:2px;background:var(--accent);margin-bottom:1.6rem}
.side-card h2{font-size:1.6rem;margin-bottom:1.2rem}
.check-list{list-style:none}
.check-list li{padding:.95rem 0;border-bottom:1px solid var(--border);display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:start;font-size:.93rem;line-height:1.6}
.check-list li:first-child{border-top:1px solid var(--border)}
.check{width:20px;height:20px;background:var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}
.check::after{content:'';display:block;width:8px;height:5px;border-left:1.5px solid #fff;border-bottom:1.5px solid #fff;transform:rotate(-45deg) translate(1px,-1px)}
.side-card .btn{margin-top:2rem}

/* What's included — same card grid as homepage services */
.svc-head{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:end;margin-bottom:3.5rem}
.svc-intro{color:var(--text-muted);font-size:.97rem;line-height:1.8}
.svc-grid{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(26,25,22,.09)}
.svc-card{background:var(--bg-warm);padding:2.5rem;transition:background .3s}
.svc-card:hover{background:#fff}
.svc-card h3{font-family:var(--font-serif);font-size:1.3rem;font-weight:400;margin-bottom:.9rem;line-height:1.3}
.svc-card p{font-size:.9rem;color:var(--text-muted);line-height:1.75}
.svc-card a.more{display:inline-block;margin-top:1.3rem;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);text-decoration:none;border-bottom:1px solid rgba(155,124,46,.3);padding-bottom:.2rem}
.svc-card a.more:hover{color:var(--text);border-color:var(--text)}

/* Process steps */
.process-steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--border);margin-top:3rem}
.step{padding:2.6rem 2.5rem 2.6rem 0;border-right:1px solid var(--border)}
.step:last-child{border-right:none;padding-right:0}
.step:not(:first-child){padding-left:2.5rem}
.step-n{font-size:.72rem;letter-spacing:.15em;color:var(--accent);display:block;margin-bottom:1.4rem}
.step h3{font-family:var(--font-serif);font-size:1.5rem;font-weight:400;margin-bottom:.7rem}
.step p{font-size:.9rem;color:var(--text-muted);line-height:1.75}

/* Two-column audience block */
.split{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:start}
.split .check-list{margin-top:2rem}
.split .note{margin-top:1.4rem;color:var(--text-muted);font-size:.97rem;line-height:1.85}

/* FAQ */
.faq{margin-top:3rem;border-top:1px solid var(--border);max-width:900px}
.faq details{border-bottom:1px solid var(--border)}
.faq summary{list-style:none;cursor:pointer;padding:1.6rem 3rem 1.6rem 0;position:relative;font-family:var(--font-serif);font-size:1.35rem;font-weight:400;line-height:1.4}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';position:absolute;right:.4rem;top:1.4rem;font-family:var(--font-sans);font-size:1.4rem;font-weight:300;color:var(--accent);transition:transform .25s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .answer{padding:0 0 1.8rem;color:var(--text-muted);font-size:.96rem;line-height:1.85;max-width:72ch}

/* CTA band (matches homepage contact section) */
.cta-band{background:var(--bg-dark);padding:var(--pad) 2.5rem}
.cta-band .section-label{color:var(--accent-lt)}
.cta-band .section-label::before{background:var(--accent-lt)}
.cta-band h2{color:#FAFAF7;max-width:760px}
.cta-band p{color:rgba(250,250,247,.65);max-width:560px;margin:1.4rem 0 2.4rem;line-height:1.75}
.cta-band .actions{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}
.cta-band .mail{color:rgba(250,250,247,.7);font-size:.88rem;text-decoration:none;border-bottom:1px solid rgba(250,250,247,.2);padding-bottom:.15rem;margin-left:.6rem}
.cta-band .mail:hover{color:var(--accent-lt);border-color:var(--accent-lt)}

/* Footer (matches homepage) */
footer{background:var(--bg-dark);border-top:1px solid rgba(250,250,247,.05);padding:2.8rem 2.5rem}
.foot-svc{max-width:var(--wrap);margin:0 auto 2rem;padding-bottom:2rem;border-bottom:1px solid rgba(250,250,247,.06)}
.foot-svc p{font-size:.63rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:1rem}
.foot-inner{max-width:var(--wrap);margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1.5rem}
.foot-logo{font-family:var(--font-serif);font-size:1.1rem;color:rgba(250,250,247,.45);letter-spacing:.06em;text-decoration:none}
.foot-logo .dot{color:var(--accent)}
.foot-links{display:flex;flex-wrap:wrap;gap:1rem 2rem;list-style:none}
.foot-links a{font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;color:rgba(250,250,247,.5);text-decoration:none;transition:color .2s;display:inline-flex;align-items:center}
.foot-links a:hover{color:rgba(250,250,247,.85)}
.foot-copy{font-size:.7rem;color:rgba(250,250,247,.5)}
.foot-soc{width:1.4em;height:1.4em;vertical-align:-.4em;margin-right:.55em;border-radius:4px;flex-shrink:0}

/* Reveal on scroll — only when JS is running, so content is never hidden from crawlers or no-JS readers */
.js .fade{opacity:0;transform:translateY(22px);transition:opacity .75s ease,transform .75s ease}
.js .fade.vis{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .fade{opacity:1;transform:none;transition:none}}

@media(max-width:920px){
  .nav-links{display:none}.hamburger{display:flex}
  .overview,.split,.svc-head{grid-template-columns:1fr;gap:3rem}
  .side-card{position:static}
  .svc-grid{grid-template-columns:1fr}
  .process-steps{grid-template-columns:1fr}
  .step{border-right:none;border-bottom:1px solid var(--border);padding:2rem 0}
  .step:not(:first-child){padding-left:0}.step:last-child{border-bottom:none}
}
@media(max-width:480px){
  :root{--pad:4rem;--wrap:100%}
  nav#nav,nav#nav.scrolled{padding-left:1.5rem;padding-right:1.5rem}
  .page-hero{padding:8rem 1.5rem 3.5rem;min-height:60vh}
  .section,.cta-band,footer{padding-left:1.5rem;padding-right:1.5rem}
  .svc-card,.side-card{padding:2rem}
  .faq summary{font-size:1.2rem}
}

/* About page: founder block and career list */
.founder-head{display:flex;align-items:center;gap:1.5rem;margin-bottom:.6rem}
.founder-photo{width:96px;height:96px;border-radius:50%;object-fit:cover;object-position:center top;border:2px solid rgba(155,124,46,.3);flex-shrink:0}
.founder-role{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-top:.3rem}
.prose .founder-role{margin-top:.3rem;color:var(--accent);font-size:.7rem}
.career-h{font-family:var(--font-serif);font-size:1.5rem;font-weight:400;margin:0 0 1rem}
.career+.career-h{margin-top:3rem}
.career{list-style:none;border-top:1px solid var(--border)}
.career li{padding:1rem 0;border-bottom:1px solid var(--border);display:grid;gap:.2rem}
.career .co{font-family:var(--font-serif);font-size:1.15rem;color:var(--text)}
.career .role{font-size:.88rem;color:var(--text-muted);line-height:1.6}

/* Insights: article layout */
.article-meta{font-size:.82rem;color:rgba(250,250,247,.7);margin-top:-1rem;margin-bottom:2rem}
.article-meta a{color:var(--accent-lt);text-decoration:none}
.article-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:5rem;align-items:start}
.article{max-width:70ch}
.article .summary{font-family:var(--font-serif);font-size:1.35rem;line-height:1.55;font-weight:300;color:var(--text);padding:1.6rem 0 1.6rem 1.6rem;border-left:2px solid var(--accent);margin-bottom:1rem}
.article h2{font-size:clamp(1.7rem,3vw,2.3rem);margin:3.2rem 0 .4rem;scroll-margin-top:7rem}
.article p,.article li{color:var(--text-muted);font-size:1rem;line-height:1.85}
.article p{margin-top:1.1rem}
.article ul,.article ol{margin:1.1rem 0 0 1.3rem}
.article li{margin-top:.55rem;padding-left:.2rem}
.article li::marker{color:var(--accent)}
.article strong{color:var(--text);font-weight:500}
.article a{color:var(--accent);text-decoration:underline;text-decoration-color:rgba(155,124,46,.35);text-underline-offset:3px}
.article a:hover{text-decoration-color:var(--accent)}
.table-wrap{overflow-x:auto;margin-top:1.6rem}
.article table{width:100%;border-collapse:collapse;font-size:.92rem;min-width:460px}
.article caption{text-align:left;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);padding-bottom:.8rem}
.article th,.article td{padding:.7rem .6rem;border-bottom:1px solid var(--border);text-align:right;color:var(--text-muted);font-weight:400}
.article th[scope=row],.article thead th:first-child{text-align:left;color:var(--text)}
.article thead th{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text);border-bottom:1px solid var(--text)}
.article tbody tr:last-child th,.article tbody tr:last-child td{font-weight:500;color:var(--text);border-bottom:none}
.toc-card{background:var(--bg-warm);padding:2.2rem;position:sticky;top:7rem}
.toc-card h2{font-size:1.3rem;margin-bottom:1rem}
.toc-card ol{list-style:none;counter-reset:t;border-top:1px solid var(--border)}
.toc-card li{border-bottom:1px solid var(--border);counter-increment:t}
.toc-card li a{display:block;padding:.7rem 0;font-size:.88rem;line-height:1.45;color:var(--text-muted);text-decoration:none}
.toc-card li a:hover{color:var(--accent)}
.toc-card .btn{margin-top:1.6rem;width:100%;text-align:center}
.toc-card .svc-links{margin-top:1.6rem;font-size:.85rem;color:var(--text-muted);line-height:1.7}
.toc-card .svc-links a{color:var(--accent)}
.further{margin-top:2rem;font-size:.92rem;color:var(--text-muted)}
.further a{color:var(--accent)}

/* Pricing calculator */
.calc{margin-top:1.6rem;background:var(--bg-warm);padding:2rem}
.calc-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.4rem}
.calc-form label{display:flex;flex-direction:column;gap:.35rem;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text)}
.calc-form input{font-family:var(--font-sans);font-size:16px;padding:.65rem .8rem;border:1px solid var(--border);background:#fff;color:var(--text);border-radius:0;width:100%}
.calc-form input:focus{outline:2px solid var(--accent-lt);outline-offset:1px}
.calc-out{margin-top:1.8rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--border);border:1px solid var(--border)}
.calc-out div{background:var(--bg);padding:1rem 1.1rem}
.calc-out dt{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}
.calc-out dd{font-family:var(--font-serif);font-size:1.6rem;color:var(--text);margin-top:.2rem}
.calc-note{font-size:.8rem!important;margin-top:1rem!important}
@media(max-width:920px){
  .article-grid{grid-template-columns:minmax(0,1fr);gap:3rem}
  .toc-card{position:static}
}
@media(max-width:480px){
  .calc-form,.calc-out{grid-template-columns:1fr}
  .calc{padding:1.4rem}
}
