/* ==========================================================================
   Steady Drift Studio — Shared Interior Page Stylesheet
   Design tokens mirror index.html exactly (navy / teal / cream system).
   Homepage keeps its own inline styles (untouched, high-animation flagship).
   Interior pages use this file: lighter weight, same brand, fast to load.
   ========================================================================== */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --navy:#1a2e3b;--navy-deep:#111f29;--teal:#2a7c8a;--teal-bright:#5bc4d4;
  --teal-light:#dff0f2;--cream:#faf8f5;--stone:#f5f3ef;--stone-dark:#e8e4de;
  --ink:#2c2c2a;--ink-mid:#5f5e5a;--ink-light:#8a8882;--success:#4a7a61;
  --font-body:'DM Sans',sans-serif;--font-display:'DM Serif Display',serif;
  --r:10px;--r-lg:16px;--r-xl:24px;--max:1160px;--pad:clamp(1.5rem,5vw,4rem);
}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);font-weight:400;color:var(--ink);background:var(--cream);overflow-x:hidden;-webkit-font-smoothing:antialiased;line-height:1.6}
a{color:inherit}
img{max-width:100%;display:block}
.container{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.eyebrow{font-size:10px;font-weight:500;letter-spacing:2.5px;text-transform:uppercase;color:var(--teal)}
.eyebrow-light{color:var(--teal-bright)}
.reveal{opacity:0;transform:translateY(20px)}
.reveal.visible{opacity:1;transform:none;transition:opacity 0.7s ease,transform 0.7s ease}
.d1.visible{transition-delay:.1s}.d2.visible{transition-delay:.2s}.d3.visible{transition-delay:.3s}.d4.visible{transition-delay:.4s}
:focus-visible{outline:2px solid var(--teal-bright);outline-offset:3px}

/* ── NAV (matches homepage) ── */
nav.site-nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:1.2rem var(--pad);display:flex;align-items:center;justify-content:space-between;background:rgba(17,31,41,0.94);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 1px 0 rgba(255,255,255,0.05)}
.nav-logo{text-decoration:none;display:flex;flex-direction:column;gap:3px;line-height:1}
.nav-wordmark{font-family:var(--font-display);font-style:italic;font-size:1.3rem;color:#e8f4f0;letter-spacing:-0.01em;line-height:1}
.nav-descriptor{font-family:var(--font-body);font-size:9.5px;font-weight:400;letter-spacing:4px;text-transform:uppercase;color:rgba(232,244,240,0.42);line-height:1;padding-left:1px}
.nav-links{display:flex;align-items:center;gap:1.75rem;list-style:none}
.nav-links a{font-size:13px;color:rgba(232,244,240,0.65);text-decoration:none;transition:color 0.2s}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:#e8f4f0}
.nav-cta{font-weight:500;color:var(--navy)!important;background:var(--teal-bright);padding:0.45rem 1.1rem;border-radius:100px;transition:background 0.2s,transform 0.2s!important}
.nav-cta:hover{background:#6fd0de!important;transform:translateY(-1px)}
.nav-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:4px}
.nav-toggle span{display:block;width:21px;height:1.5px;background:#e8f4f0;transition:all 0.3s}
body.body-nav-open .nav-links{display:flex}

/* ── PAGE HEADER ── */
.page-header{background:var(--navy-deep);padding:9rem var(--pad) 4.5rem;position:relative;overflow:hidden}
.page-header::before{content:'';position:absolute;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,rgba(42,124,138,0.14) 0%,transparent 70%);top:-160px;right:-120px;filter:blur(60px);pointer-events:none}
.breadcrumb{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:0.4rem;font-size:12px;color:rgba(232,244,240,0.35);margin-bottom:1.75rem;max-width:var(--max);margin-left:auto;margin-right:auto}
.breadcrumb a{color:rgba(232,244,240,0.5);text-decoration:none}
.breadcrumb a:hover{color:var(--teal-bright)}
.page-header-inner{position:relative;z-index:2;max-width:var(--max);margin:0 auto}
.page-header h1{font-family:var(--font-display);font-size:clamp(2.2rem,4.5vw,3.6rem);font-weight:400;color:#e8f4f0;letter-spacing:-0.025em;line-height:1.12;max-width:820px;margin-bottom:1.25rem}
.page-header h1 em{font-style:italic;color:var(--teal-bright)}
.page-header .lede{font-size:clamp(1rem,1.6vw,1.15rem);font-weight:300;color:rgba(232,244,240,0.55);line-height:1.75;max-width:620px}
.page-header .hero-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2.25rem}

/* ── BUTTONS ── */
.btn-primary{display:inline-flex;align-items:center;gap:0.45rem;font-family:var(--font-body);font-size:13.5px;font-weight:500;color:var(--navy);background:var(--teal-bright);padding:0.8rem 1.6rem;border-radius:100px;text-decoration:none;transition:background 0.2s,transform 0.2s,box-shadow 0.2s;border:none;cursor:pointer}
.btn-primary:hover{background:#6fd0de;transform:translateY(-2px);box-shadow:0 8px 24px rgba(91,196,212,0.28)}
.btn-ghost{display:inline-flex;align-items:center;gap:0.45rem;font-family:var(--font-body);font-size:13.5px;color:rgba(232,244,240,0.65);background:transparent;padding:0.8rem 1.6rem;border-radius:100px;text-decoration:none;border:1px solid rgba(232,244,240,0.14);transition:all 0.2s;cursor:pointer}
.btn-ghost:hover{color:#e8f4f0;border-color:rgba(232,244,240,0.28);background:rgba(232,244,240,0.05)}
.btn-dark{display:inline-flex;align-items:center;gap:0.45rem;font-family:var(--font-body);font-size:13.5px;font-weight:500;color:var(--cream);background:var(--navy);padding:0.8rem 1.6rem;border-radius:100px;text-decoration:none;transition:background 0.2s,transform 0.2s;border:none;cursor:pointer}
.btn-dark:hover{background:var(--navy-deep);transform:translateY(-2px)}
.btn-outline-dark{display:inline-flex;align-items:center;gap:0.45rem;font-family:var(--font-body);font-size:13.5px;color:var(--ink);background:transparent;padding:0.8rem 1.6rem;border-radius:100px;text-decoration:none;border:1px solid var(--stone-dark);transition:all 0.2s;cursor:pointer}
.btn-outline-dark:hover{border-color:var(--teal);color:var(--teal)}

/* ── SECTION SCAFFOLDING ── */
.section{padding:clamp(4rem,8vw,6.5rem) var(--pad);position:relative;overflow:hidden}
.section-cream{background:var(--cream)}
.section-stone{background:var(--stone)}
.section-navy{background:var(--navy)}
.section-navy-deep{background:var(--navy-deep)}
.section-inner{max-width:var(--max);margin:0 auto;position:relative;z-index:2}

/* ── AMBIENT TEXTURE SYSTEM ──
   Same devices already used on the homepage (giant faint italic watermark word,
   soft radial glow orbs, fine grain) — extended to interior pages so they don't
   read as flat, generic content blocks next to the flagship page. */
@keyframes orbFloat{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-18px,16px) scale(1.06)}}
.orb-glow{position:absolute;border-radius:50%;pointer-events:none;filter:blur(50px);z-index:0;animation:orbFloat 19s ease-in-out infinite}
.orb-glow.a{width:420px;height:420px;background:radial-gradient(circle,rgba(91,196,212,0.16) 0%,transparent 70%);top:-150px;right:-110px}
.orb-glow.b{width:280px;height:280px;background:radial-gradient(circle,rgba(42,124,138,0.16) 0%,transparent 70%);bottom:-110px;left:-70px;animation-duration:24s;animation-direction:reverse}
.section-cream .orb-glow,.section-stone .orb-glow{opacity:0.6}

.ambient-word{position:absolute;z-index:0;font-family:var(--font-display);font-style:italic;font-size:clamp(6rem,17vw,15rem);line-height:1;color:rgba(42,124,138,0.045);pointer-events:none;user-select:none;letter-spacing:-0.04em;white-space:nowrap;top:50%;right:clamp(1rem,4vw,3rem);transform:translateY(-50%)}
.section-navy .ambient-word,.section-navy-deep .ambient-word,.page-header .ambient-word{color:rgba(91,196,212,0.06)}

.grain{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:0.035;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

@keyframes pulseGlow{0%,100%{box-shadow:0 0 0 1px rgba(91,196,212,0.1),0 0 35px rgba(91,196,212,0.05)}50%{box-shadow:0 0 0 1px rgba(91,196,212,0.2),0 0 55px rgba(91,196,212,0.12)}}
.pulse-glow{animation:pulseGlow 5s ease-in-out infinite;transition:box-shadow 0.4s}
.pulse-glow:hover{animation:none;box-shadow:0 0 0 1px rgba(91,196,212,0.3),0 0 70px rgba(91,196,212,0.18)}
.section-head{max-width:680px;margin-bottom:3rem}
.section-head h2{font-family:var(--font-display);font-size:clamp(1.9rem,3.5vw,2.7rem);font-weight:400;letter-spacing:-0.025em;line-height:1.15;margin-top:0.9rem}
.section-navy .section-head h2,.section-navy-deep .section-head h2{color:#e8f4f0}
.section-head p{font-size:14.5px;font-weight:300;color:var(--ink-mid);line-height:1.85;margin-top:1rem}
.section-navy .section-head p,.section-navy-deep .section-head p{color:rgba(232,244,240,0.55)}
.section-navy .eyebrow,.section-navy-deep .eyebrow{color:var(--teal-bright)}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:400;letter-spacing:-0.02em;line-height:1.2}
p{font-weight:300}

/* ── PROSE (article / long-form content) ── */
.prose{max-width:720px;margin:0 auto;font-size:15.5px;line-height:1.85;color:var(--ink-mid)}
.prose h2{font-size:1.6rem;color:var(--ink);margin:2.75rem 0 1rem}
.prose h3{font-size:1.25rem;color:var(--ink);margin:2rem 0 0.85rem}
.prose p{margin-bottom:1.25rem}
.prose ul,.prose ol{margin:0 0 1.25rem 1.25rem;color:var(--ink-mid)}
.prose li{margin-bottom:0.5rem}
.prose a{color:var(--teal);text-decoration:underline;text-decoration-color:rgba(42,124,138,0.35)}
.prose strong{color:var(--ink);font-weight:500}
.prose blockquote{border-left:2px solid var(--teal-bright);padding:0.25rem 0 0.25rem 1.5rem;font-style:italic;color:var(--ink);margin:1.75rem 0}

/* ── CARDS ── */
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem}
.card-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.card-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.info-card{background:var(--surface,#fff);background:#fff;border:1px solid var(--stone-dark);border-radius:var(--r-lg);padding:1.85rem 1.9rem;transition:transform 0.3s,box-shadow 0.3s}
.info-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(26,46,59,0.08)}
.info-card .card-num{font-family:var(--font-display);font-size:0.85rem;color:var(--teal);margin-bottom:0.75rem}
.info-card h3,.info-card h4{font-size:1.1rem;margin-bottom:0.6rem;color:var(--ink)}
.info-card p{font-size:13.5px;color:var(--ink-mid);line-height:1.8}
.info-card ul{margin-top:0.85rem;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:0.45rem}
.info-card ul li{font-size:12.5px;color:var(--ink-mid);display:flex;gap:0.55rem;line-height:1.6}
.info-card ul li::before{content:'';width:4px;height:4px;border-radius:50%;background:var(--teal);margin-top:0.55rem;flex-shrink:0}

.dark-card{background:rgba(255,255,255,0.03);border:1px solid rgba(91,196,212,0.12);border-radius:var(--r-lg);padding:1.85rem 1.9rem}
.dark-card h3,.dark-card h4{color:#e8f4f0}
.dark-card p{color:rgba(232,244,240,0.55);font-size:13.5px;line-height:1.8}

/* Service tags (pill list) */
.tag-row{display:flex;flex-wrap:wrap;gap:0.5rem;margin-top:1rem}
.tag-pill{font-size:11px;font-weight:400;color:var(--ink-mid);background:var(--stone);border:1px solid var(--stone-dark);border-radius:100px;padding:0.3rem 0.75rem}
.tag-pill.on-navy{color:rgba(232,244,240,0.7);background:rgba(255,255,255,0.05);border-color:rgba(255,255,255,0.1)}

/* ── SERVICE DETAIL BLOCKS ── */
.fit-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:1rem}
.fit-card{border-radius:var(--r-lg);padding:1.75rem 1.9rem}
.fit-card.for{background:var(--teal-light);border:1px solid rgba(42,124,138,0.18)}
.fit-card.not-for{background:var(--stone);border:1px solid var(--stone-dark)}
.fit-card h4{font-size:1rem;margin-bottom:0.85rem;color:var(--ink)}
.fit-card ul{list-style:none;display:flex;flex-direction:column;gap:0.6rem}
.fit-card li{font-size:13.5px;color:var(--ink-mid);line-height:1.7;display:flex;gap:0.6rem}
.fit-card li::before{content:'—';color:var(--teal);flex-shrink:0}

.step-list{counter-reset:step;display:flex;flex-direction:column;margin-top:1.5rem}
.step-list-item{counter-increment:step;display:grid;grid-template-columns:52px 1fr;gap:1.25rem;padding:1.5rem 0;border-top:1px solid var(--stone-dark)}
.step-list-item:last-child{border-bottom:1px solid var(--stone-dark)}
.step-list-item::before{content:counter(step,decimal-leading-zero);font-family:var(--font-display);font-size:1.5rem;color:var(--teal);line-height:1}
.step-list-item h4{font-size:1.05rem;margin-bottom:0.4rem;color:var(--ink)}
.step-list-item p{font-size:13.5px;color:var(--ink-mid);line-height:1.8}

/* ── COMPARISON / OUTCOME TABLE ── */
.sd-table-wrap{overflow-x:auto;border:1px solid var(--stone-dark);border-radius:var(--r-lg);margin-top:1rem}
table.sd-table{border-collapse:collapse;width:100%;min-width:520px;font-size:13.5px}
.sd-table th,.sd-table td{text-align:left;padding:0.85rem 1.15rem;border-bottom:1px solid var(--stone-dark);vertical-align:top}
.sd-table th{background:var(--stone);font-size:11px;text-transform:uppercase;letter-spacing:0.04em;color:var(--ink-mid);font-weight:600}
.sd-table tr:last-child td{border-bottom:none}

/* ── FAQ (matches homepage exactly) ── */
.faq-list{max-width:var(--max);margin:0 auto}
.faq-item{border-top:1px solid var(--stone-dark);position:relative;transition:background 0.4s}
.faq-item:last-child{border-bottom:1px solid var(--stone-dark)}
.faq-item::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(180deg,var(--teal-bright),var(--teal));transform:scaleY(0);transform-origin:top;transition:transform 0.45s cubic-bezier(0.16,1,0.3,1)}
.faq-item.open::before{transform:scaleY(1)}
.faq-item.open{background:linear-gradient(90deg,rgba(91,196,212,0.04) 0%,transparent 30%)}
.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;padding:1.4rem 0;background:none;border:none;cursor:pointer;text-align:left;gap:2rem}
.faq-q h3{font-family:var(--font-body);font-size:15px;font-weight:500;color:var(--ink);transition:color 0.2s}
.faq-q:hover h3{color:var(--teal)}
.faq-icon{width:24px;height:24px;border-radius:50%;border:1px solid var(--stone-dark);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--ink-mid);transition:all 0.35s cubic-bezier(0.16,1,0.3,1)}
.faq-item.open .faq-icon{background:var(--teal);border-color:var(--teal);color:white;transform:rotate(45deg);box-shadow:0 0 12px rgba(91,196,212,0.3)}
.faq-ans{max-height:0;overflow:hidden;transition:max-height 0.4s ease}
.faq-ans p{font-size:14px;font-weight:300;color:var(--ink-mid);line-height:1.85;padding-bottom:1.4rem}

/* ── CTA BAND ── */
.cta-band{background:var(--navy-deep);border-radius:var(--r-xl);padding:clamp(2.5rem,5vw,3.5rem);display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;position:relative;overflow:hidden}
.cta-band::before{content:'';position:absolute;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(91,196,212,0.14) 0%,transparent 70%);top:-140px;right:-100px;filter:blur(40px);pointer-events:none}
.cta-band-text{position:relative;z-index:2;max-width:520px}
.cta-band h3{font-family:var(--font-display);font-size:clamp(1.4rem,2.5vw,1.9rem);color:#e8f4f0;margin-bottom:0.6rem;letter-spacing:-0.02em}
.cta-band p{font-size:13.5px;color:rgba(232,244,240,0.55);line-height:1.75}
.cta-band-actions{position:relative;z-index:2;display:flex;gap:0.9rem;flex-wrap:wrap}

/* ── RESOURCE / ARTICLE CARDS ── */
.resource-card{background:#fff;border:1px solid var(--stone-dark);border-radius:var(--r-lg);overflow:hidden;transition:transform 0.3s,box-shadow 0.3s;display:flex;flex-direction:column;text-decoration:none;color:inherit}
.resource-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(26,46,59,0.1)}
.resource-card-body{padding:1.6rem 1.75rem;display:flex;flex-direction:column;gap:0.6rem;flex:1}
.resource-cat{font-size:10px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--teal)}
.resource-card h3{font-size:1.05rem;color:var(--ink);line-height:1.35}
.resource-card p{font-size:13px;color:var(--ink-mid);line-height:1.7}
.resource-meta{font-size:11.5px;color:var(--ink-light);margin-top:auto;padding-top:0.75rem;display:flex;gap:0.5rem;align-items:center}

/* ── FOOTER (matches homepage exactly) ── */
footer.site-footer{background:var(--navy-deep);padding:2.5rem var(--pad);position:relative}
.footer-inner{max-width:var(--max);margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1.5rem}
.footer-logo{font-family:var(--font-display);font-style:italic;font-size:1.15rem;color:rgba(232,244,240,0.6);text-decoration:none;transition:color 0.3s}
.footer-logo:hover{color:rgba(232,244,240,0.9)}
.footer-logo-studio{font-family:var(--font-body);font-style:normal;font-size:0.6em;font-weight:400;letter-spacing:2.5px;text-transform:uppercase;color:rgba(232,244,240,0.3);margin-left:0.4em;vertical-align:middle}
.footer-links{display:flex;gap:1.75rem;list-style:none;flex-wrap:wrap}
.footer-links a{font-size:12px;font-weight:300;color:rgba(232,244,240,0.3);text-decoration:none;transition:color 0.2s}
.footer-links a:hover{color:rgba(232,244,240,0.6)}
.footer-copy{max-width:var(--max);margin:1.5rem auto 0;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,0.04);display:flex;justify-content:space-between;flex-wrap:wrap;gap:0.5rem;font-size:11.5px;font-weight:300;color:rgba(232,244,240,0.2)}
.footer-legal{max-width:var(--max);margin:1.5rem auto 0;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,0.04);font-size:10.5px;font-weight:300;color:rgba(232,244,240,0.18);line-height:1.75;text-align:center}
.footer-legal a{color:rgba(232,244,240,0.28);text-decoration:none;transition:color 0.2s}
.footer-legal a:hover{color:rgba(232,244,240,0.5)}

/* ── SCROLL TOP ── */
.scroll-top{position:fixed;bottom:2rem;right:2rem;width:40px;height:40px;border-radius:50%;background:var(--teal);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:white;opacity:0;transform:translateY(8px);transition:opacity 0.3s,transform 0.3s,background 0.2s;z-index:50;box-shadow:0 4px 14px rgba(42,124,138,0.35)}
.scroll-top.visible{opacity:1;transform:none}
.scroll-top:hover{background:var(--teal-bright)}

/* ── PROCESS/FIT SECTIONS reused (About / Founder) ── */
.founder-layout{display:grid;grid-template-columns:280px 1fr;gap:3rem;align-items:start}
.founder-photo{border-radius:var(--r-xl);overflow:hidden;background:var(--stone-dark);aspect-ratio:4/5}
.founder-photo img{width:100%;height:100%;object-fit:cover}
.founder-name{font-family:var(--font-display);font-size:1.3rem;color:#e8f4f0;margin-top:1rem;letter-spacing:-0.01em}
.founder-title{font-size:12px;color:rgba(232,244,240,0.4);letter-spacing:0.03em;margin-top:0.2rem}

/* ── MISC ── */
.stat-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--stone-dark);margin-top:2rem}
.stat-strip .stat{padding:1.5rem 1.5rem 0 0}
.stat-num{font-family:var(--font-display);font-size:2.1rem;color:var(--teal-strong,var(--teal));letter-spacing:-0.02em}
.stat-label{font-size:12px;color:var(--ink-mid);margin-top:0.35rem}
.honest-label{display:inline-flex;align-items:center;gap:0.4rem;font-size:11px;font-weight:500;letter-spacing:0.04em;text-transform:uppercase;color:var(--warn,#8a6b1f);background:#f3e9d3;border-radius:100px;padding:0.3rem 0.85rem;margin-bottom:1rem}
.center{text-align:center;margin-left:auto;margin-right:auto}

/* ── RESPONSIVE ── */
@media(max-width:960px){
  .founder-layout{grid-template-columns:1fr}
  .founder-photo{max-width:280px}
  .card-grid-2,.card-grid-3{grid-template-columns:1fr}
  .fit-grid{grid-template-columns:1fr}
  .stat-strip{grid-template-columns:1fr}
}
@media(max-width:820px){
  .nav-links{position:fixed;top:0;right:0;height:100vh;width:min(320px,80vw);background:var(--navy-deep);flex-direction:column;align-items:flex-start;justify-content:center;gap:1.75rem;padding:2rem;transform:translateX(100%);transition:transform 0.4s cubic-bezier(0.16,1,0.3,1);box-shadow:-10px 0 40px rgba(0,0,0,0.25)}
  body.body-nav-open .nav-links{transform:translateX(0)}
  .nav-toggle{display:flex}
  .footer-inner{flex-direction:column;align-items:flex-start}
}
@media(max-width:640px){
  .page-header{padding-top:7.5rem}
}
