:root {
  --navy:#0d1b2a;
  --navy-2:#13263a;
  --ink:#152132;
  --muted:#667085;
  --cream:#f6f2ea;
  --paper:#ffffff;
  --teal:#19b9b2;
  --teal-dark:#0a8e88;
  --teal-light:#86dfd9;
  --orange:#f47b4b;
  --orange-bright:#ff936a;
  --orange-dark:#c95a31;
  --gold:var(--orange);
  --gold-dark:var(--orange-dark);
  --line:#d9d4ca;
  --shadow:0 18px 50px rgba(13,27,42,.10);
  --radius:18px;
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  margin:0;
  min-width:320px;
  overflow-x:hidden;
  color:var(--ink);
  background:var(--paper);
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size:1rem;
  line-height:1.55;
}
img { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
button, a { outline-offset:4px; }
:focus-visible { outline:3px solid var(--teal); }
.skip-link { position:fixed; top:10px; left:10px; z-index:100; padding:10px 14px; border-radius:8px; background:#fff; color:var(--navy); font-weight:800; transform:translateY(-150%); }
.skip-link:focus { transform:translateY(0); }
.container { width:min(1180px,calc(100% - 40px)); margin:0 auto; }
.section { padding:96px 0; }
.section.compact { padding:68px 0; }
.dark { background:var(--navy); color:#fff; }
.navy-two { background:var(--navy-2); }
.cream { background:var(--cream); }
.centered { text-align:center; }

.eyebrow {
  color:var(--teal-dark);
  font-size:.78rem;
  font-weight:850;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.dark .eyebrow { color:var(--teal-light); }
.display { font-size:clamp(3rem,7vw,6.8rem); line-height:.93; letter-spacing:-.022em; margin:.2em 0 .28em; font-weight:850; max-width:1050px; }
.h1 { font-size:clamp(2.6rem,5.4vw,5.5rem); line-height:.98; letter-spacing:-.018em; margin:.2em 0 .35em; font-weight:850; }
.h2 { font-size:clamp(2rem,4vw,4.3rem); line-height:1; letter-spacing:-.012em; margin:0 0 .5em; font-weight:850; }
.h3 { font-size:clamp(1.25rem,2vw,1.65rem); line-height:1.1; margin:.25rem 0; font-weight:800; }
.lede { color:#d8e0e9; font-size:clamp(1.15rem,2.2vw,1.55rem); max-width:760px; }
.body-lg { font-size:1.18rem; max-width:760px; }
.muted { color:var(--muted); }
.gold { color:var(--gold); }
.stack > * + * { margin-top:1rem; }
.section-rule { border:0; border-top:1px solid var(--line); margin:32px 0; }
.declaration { font-size:clamp(1.65rem,3vw,2.2rem); font-weight:900; letter-spacing:-.015em; }

.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:0 22px;
  border:0;
  border-radius:999px;
  background:var(--orange);
  color:var(--navy);
  font-size:.82rem;
  font-weight:900;
  letter-spacing:.07em;
  text-align:center;
  text-transform:uppercase;
  transition:transform .2s,background .2s;
}
.btn:hover { transform:translateY(-2px); background:var(--orange-bright); }
.btn.secondary { border:1px solid currentColor; background:transparent; color:inherit; }
.btn.secondary:hover { background:var(--navy); color:#fff; }
.cta-row { display:flex; gap:14px; align-items:center; flex-wrap:wrap; margin-top:30px; }

.nav-wrap {
  position:sticky;
  top:0;
  z-index:50;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:rgba(13,27,42,.96);
  backdrop-filter:blur(12px);
}
.nav { display:flex; align-items:center; justify-content:space-between; gap:26px; min-height:78px; color:#fff; }
.brand { display:inline-flex; align-items:center; gap:12px; flex:0 0 auto; color:#fff; }
.brand-mark { position:relative; width:38px; height:38px; flex:0 0 38px; }
.brand-mark i { position:absolute; bottom:5px; width:8px; border-radius:2px; transform:skew(-10deg); }
.brand-mark i:nth-child(1) { left:1px; height:16px; background:var(--teal); }
.brand-mark i:nth-child(2) { left:13px; height:26px; background:var(--teal); }
.brand-mark i:nth-child(3) { left:25px; height:36px; background:var(--orange); }
.brand-name { font-size:.72rem; font-weight:800; letter-spacing:.16em; line-height:1.35; white-space:nowrap; }
.brand-name b { color:var(--teal-light); font-weight:800; }
.nav-links { display:flex; align-items:center; justify-content:flex-end; gap:24px; font-size:.76rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.nav-links > a:not(.btn) { padding:9px 0; }
.nav-links > a:not(.btn):hover, .nav-links > a[aria-current="page"] { color:var(--teal-light); }
.nav-links .btn { min-height:46px; padding:0 19px; font-size:.74rem; }
.mobile-toggle { display:none; border:0; background:none; color:#fff; font:inherit; font-size:1.45rem; cursor:pointer; }
.mobile-menu { display:none; padding:0 20px 20px; background:var(--navy); color:#fff; font-size:.84rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.mobile-menu.open { display:grid; gap:15px; }

.hero { position:relative; display:flex; min-height:760px; align-items:center; overflow:hidden; padding:100px 0 110px; }
.hero::after { content:""; position:absolute; top:85px; right:-155px; width:520px; height:520px; border:1px solid rgba(25,185,178,.34); border-radius:50%; box-shadow:0 0 0 70px rgba(25,185,178,.035),0 0 0 140px rgba(25,185,178,.025); }
.hero .container { position:relative; z-index:1; }
.page-hero { min-height:650px; }
.hero-kicker { display:flex; align-items:center; gap:13px; }
.hero-kicker::before { content:""; width:28px; height:2px; background:var(--orange); }

.trusted-strip { border-top:1px solid rgba(255,255,255,.1); border-bottom:1px solid rgba(255,255,255,.1); background:#0a2131; color:#9eafbd; }
.trusted-strip-inner { display:grid; grid-template-columns:1.45fr repeat(4,auto); gap:36px; align-items:center; min-height:80px; font-size:.76rem; letter-spacing:.075em; }
.trusted-strip-inner > span { color:#78909f; font-size:.65rem; letter-spacing:.2em; }
.trusted-strip-inner strong { font-weight:800; }

.logo-section { padding-top:90px; padding-bottom:110px; }
.logo-heading { margin-top:28px; margin-bottom:58px; font-family:Georgia,"Times New Roman",serif; font-weight:500; }
.logo-grid { display:grid; grid-template-columns:repeat(7,1fr); border-top:1px solid #d8ddd9; border-left:1px solid #d8ddd9; }
.logo-tile { display:flex; min-height:130px; align-items:center; justify-content:center; padding:24px; border-right:1px solid #d8ddd9; border-bottom:1px solid #d8ddd9; background:#fff; }
.logo-tile img { max-width:100%; max-height:76px; object-fit:contain; filter:grayscale(1); opacity:.72; transition:filter .25s,opacity .25s,transform .25s; }
.logo-tile:hover img,.logo-tile:focus-visible img { filter:none; opacity:1; transform:scale(1.04); }

.split { display:grid; grid-template-columns:1fr 1fr; gap:54px; align-items:start; }
.punch-list { display:grid; gap:12px; max-width:820px; margin-top:35px; }
.punch { padding:14px 0; border-bottom:1px solid rgba(255,255,255,.16); font-size:clamp(1.4rem,2.6vw,2.2rem); font-weight:800; letter-spacing:-.005em; }
.dark .punch:last-child{border-bottom:none}
.pattern-word{color:var(--orange)}
.scribble-underline{position:relative;display:inline-block;color:inherit;white-space:nowrap;padding-bottom:.14em}
.scribble-underline:before,.scribble-underline:after{content:"";position:absolute;left:-.04em;right:-.05em;background:var(--orange);pointer-events:none}
.scribble-underline:before{bottom:.02em;height:.11em;clip-path:polygon(0 44%,8% 30%,18% 45%,29% 22%,41% 40%,53% 28%,66% 46%,78% 25%,90% 42%,100% 31%,100% 76%,90% 66%,78% 80%,66% 65%,53% 82%,41% 68%,29% 86%,18% 69%,8% 83%,0 70%);transform:rotate(-.7deg)}
.scribble-underline:after{left:.03em;right:.01em;bottom:-.035em;height:.075em;clip-path:polygon(0 40%,12% 25%,25% 48%,38% 30%,51% 45%,64% 21%,77% 43%,89% 27%,100% 45%,100% 74%,89% 65%,77% 82%,64% 61%,51% 78%,38% 65%,25% 83%,12% 64%,0 76%);transform:rotate(.45deg)}

.proof-section { background:#fff; }
.proof-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:14px; }
.proof-card { padding:26px 20px; border-top:4px solid var(--teal); border-radius:0 0 14px 14px; background:#fff; box-shadow:var(--shadow); }
.proof-card .name { color:var(--muted); font-size:.75rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.proof-card .big { margin-top:15px; font-size:clamp(1.6rem,2.7vw,2.65rem); font-weight:900; letter-spacing:-.015em; line-height:1; }
.proof-card .small { margin-top:12px; color:var(--muted); font-size:.96rem; }
.proof-card.featured { border-top-color:var(--orange); background:var(--navy); color:#fff; }
.proof-card.featured .name, .proof-card.featured .small { color:#c4d1dc; }
.growth-arrow { color:var(--orange) }

.testimonial-pedro { background:var(--teal); color:var(--navy); }
.testimonial-inner { padding:88px 0 92px; text-align:center; }
.testimonial-mark { height:56px; color:#d9fffb; font-family:Georgia,"Times New Roman",serif; font-size:6rem; line-height:.9; }
.testimonial blockquote { max-width:1180px; margin:14px auto 42px; font-family:Georgia,"Times New Roman",serif; font-size:clamp(2rem,3.5vw,3.75rem); letter-spacing:-.02em; line-height:1.08; }
.testimonial-person { display:inline-flex; align-items:center; gap:13px; text-align:left; }
.testimonial-person img { width:54px; height:54px; border-radius:50%; object-fit:cover; }
.testimonial-person p { display:grid; gap:2px; margin:0; font-size:.76rem; letter-spacing:.035em; }
.testimonial-person strong { font-size:.78rem; letter-spacing:.08em; }

.category-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.category-card { display:block; width:100%; padding:28px; border:1px solid var(--line); border-radius:var(--radius); background:#fff; color:var(--ink); font:inherit; text-align:left; cursor:pointer; transition:background .2s,color .2s,transform .2s,border .2s; }
.category-card:hover,.category-card:focus-visible,.category-card.active { border-color:var(--orange-dark); background:var(--orange); color:#17120b; transform:translateY(-3px); }
.category-card .label { display:block; font-size:.78rem; font-weight:900; letter-spacing:.105em; text-transform:uppercase; }
.category-card .desc { display:block; margin-top:8px; color:var(--muted); font-size:1.05rem; }
.category-card:hover .desc,.category-card:focus-visible .desc,.category-card.active .desc { color:#33250f; }

.how-grid { display:grid; grid-template-columns:1.3fr .7fr; gap:70px; align-items:end; }
.method { font-size:clamp(3.2rem,8vw,8rem); font-weight:900; letter-spacing:-.022em; line-height:.87; }
.method span { display:block; }
.how-copy { padding-bottom:12px; }
.audit-teaser { display:grid; grid-template-columns:.9fr 1.1fr; gap:60px; align-items:center; }
.audit-steps { display:grid; gap:0; border-top:1px solid rgba(255,255,255,.2); }
.audit-step { padding:16px 0; border-bottom:1px solid rgba(255,255,255,.2); font-size:clamp(1.4rem,2.8vw,2.2rem); font-weight:850; letter-spacing:-.005em; }
.audit-hero-steps { max-width:900px; margin-top:20px; }
.audit-hero-title { margin:0; }
.audit-hero-lede { margin-top:30px; }
.chips { display:flex; gap:10px; flex-wrap:wrap; }
.chip { padding:10px 14px; border:1px solid var(--line); border-radius:999px; font-size:.88rem; font-weight:850; letter-spacing:.055em; }
.audience-intro { margin-bottom:28px; }
.audience-close { margin-top:30px; }

.founder-section { display:grid; grid-template-columns:1fr 1fr; min-height:675px; background:#102d40; color:#fff; }
.founder-art { position:relative; min-height:675px; margin:0; overflow:hidden; }
.founder-art::after { content:""; position:absolute; inset:auto 0 0; height:25%; background:linear-gradient(transparent,rgba(13,27,42,.72)); }
.founder-art img { width:100%; height:100%; min-height:675px; object-fit:cover; object-position:center; }
.founder-art figcaption { position:absolute; z-index:1; left:32px; bottom:27px; color:#fff; font-size:.66rem; letter-spacing:.18em; }
.founder-copy { display:flex; flex-direction:column; justify-content:center; padding:72px clamp(38px,7vw,120px); }
.founder-copy .eyebrow { color:var(--teal-light); }
.founder-copy h2 { max-width:700px; margin:25px 0 8px; font-family:Georgia,"Times New Roman",serif; font-size:clamp(2.35rem,3.6vw,4.2rem); font-weight:500; letter-spacing:-.025em; line-height:1.02; }
.founder-copy p { max-width:700px; color:#c3d1dc; font-size:1.05rem; line-height:1.65; }
.signature { margin-top:24px; color:var(--teal-light); font-family:Georgia,"Times New Roman",serif; font-size:clamp(1.8rem,2.8vw,2.8rem); font-style:italic; }
.signature a { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:5px; }
.founder-role { margin-top:8px; color:#8fa4b4; font-size:.68rem; letter-spacing:.18em; }
.final-display { max-width:700px; font-size:clamp(3rem,6vw,5.8rem); }

.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.card { padding:26px; border:1px solid var(--line); border-radius:var(--radius); background:var(--paper); box-shadow:0 10px 30px rgba(13,27,42,.04); }
.dark .card { border-color:rgba(255,255,255,.1); background:var(--navy-2); box-shadow:none; }
.service-section { scroll-margin-top:98px; }
.service-list { display:grid; grid-template-columns:repeat(2,1fr); gap:0 32px; margin-top:28px; border-top:1px solid var(--line); }
.service-item { padding:20px 0; border-bottom:1px solid var(--line); }
.service-item strong { display:block; font-size:1rem; letter-spacing:.055em; }
.service-item span { color:var(--muted); }
.category-nav { position:sticky; top:78px; z-index:30; padding:12px 0; border-bottom:1px solid var(--line); background:rgba(246,242,234,.96); backdrop-filter:blur(8px); }
.category-nav-inner { display:flex; gap:8px; overflow:auto; scrollbar-width:none; }
.category-nav-inner::-webkit-scrollbar { display:none; }
.category-link { padding:10px 14px; border:1px solid var(--line); border-radius:999px; background:#fff; font-size:.78rem; font-weight:800; white-space:nowrap; }
.category-link.active,.category-link:hover,.category-link:focus-visible { border-color:var(--orange); background:var(--orange); }
.case { display:grid; grid-template-columns:.75fr 1.25fr; gap:55px; padding:70px 0; border-top:1px solid var(--line); }
.case:first-of-type { border-top:0; }
.case-stat { color:var(--teal-dark); font-size:clamp(3.2rem,7vw,6.2rem); font-weight:900; letter-spacing:-.018em; line-height:.88; }
.case-substat { margin-top:12px; font-size:1.2rem; font-weight:900; letter-spacing:.075em; }
.case-detail p { max-width:680px; font-size:1.15rem; }
.quote { margin-top:26px; padding-left:20px; border-left:4px solid var(--orange); font-size:clamp(1.4rem,2.7vw,2rem); font-weight:700; letter-spacing:-.005em; }
.quote cite { display:block; margin-top:12px; color:var(--muted); font-size:.8rem; font-style:normal; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.accordion { border-top:1px solid var(--line); }
.accordion-item { border-bottom:1px solid var(--line); }
.accordion-btn { display:flex; width:100%; align-items:center; justify-content:space-between; gap:20px; padding:22px 0; border:0; background:none; font:inherit; font-size:1.05rem; font-weight:900; text-align:left; cursor:pointer; }
.accordion-panel { display:none; max-width:760px; padding:0 0 22px; color:var(--muted); }
.accordion-item.open .accordion-panel { display:block; }
.answer-list,.answer-copy .answer-list { border-top:1px solid var(--line); }
.answer { border-bottom:1px solid var(--line); }
.answer summary { position:relative; padding:22px 42px 22px 0; font-size:1.05rem; font-weight:900; cursor:pointer; list-style:none; }
.answer summary::-webkit-details-marker { display:none; }
.answer summary::after { content:"+"; position:absolute; top:18px; right:4px; color:var(--orange-dark); font-size:1.45rem; }
.answer[open] summary::after { content:"−"; }
.answer-body { max-width:780px; padding:0 42px 20px 0; color:var(--muted); }
.answer-body p { margin:.35rem 0 0; }
.answer-body a,.text-link { color:var(--teal-dark); font-weight:800; text-decoration:underline; text-underline-offset:3px; }
.audit-process { display:grid; gap:12px; padding-left:22px; }
.signal { display:grid; max-width:700px; margin-top:32px; }
.signal-step { padding:18px 22px; border:1px solid var(--line); border-bottom:0; background:#fff; font-weight:900; letter-spacing:.055em; }
.signal-step:last-child { border-bottom:1px solid var(--line); }
.signal-step::after { content:"↓"; float:right; color:var(--orange); }
.signal-step:last-child::after { content:""; }
.maps { display:grid; grid-template-columns:repeat(5,1fr); gap:14px; }
.map-card { padding:22px; border:1px solid var(--line); border-radius:14px; background:#fff; }
.map-card strong { display:block; margin-bottom:8px; font-size:.9rem; letter-spacing:.065em; }

.legal-page { min-height:65vh; background:var(--cream); }
.legal-content { max-width:820px; }
.legal-content .h1 { max-width:720px; }
.legal-updated { margin:0 0 55px; color:var(--muted); font-weight:700; }
.legal-content h2 { margin:36px 0 8px; font-size:1.35rem; letter-spacing:-.01em; }
.legal-content p { font-size:1.05rem; }
.legal-content a { color:var(--teal-dark); font-weight:800; text-decoration:underline; text-underline-offset:3px; }

.footer { padding:58px 0; background:#071b29; color:#d9e0e8; }
.footer-row { display:grid; grid-template-columns:1fr auto; gap:54px; align-items:end; }
.footer-brand { display:flex; align-items:center; justify-content:space-between; gap:60px; }
.footer-quote { margin:0; color:#9eb0bc; font-family:Georgia,"Times New Roman",serif; font-size:1.15rem; font-style:italic; }
.footer-meta { display:grid; gap:14px; justify-items:end; color:#8195a4; font-size:.72rem; }
.footer-meta p { margin:0; }
.footer-links { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:20px; color:var(--teal-light); font-size:.76rem; }
.footer-links a:hover { color:#fff; }
.mobile-sticky { display:none; }

@media (max-width:1080px) {
  .nav-links { gap:16px; font-size:.68rem; }
  .nav-links .btn { display:none; }
  .proof-grid { grid-template-columns:repeat(2,1fr); }
  .proof-card:last-child { grid-column:span 2; }
  .logo-grid { grid-template-columns:repeat(4,1fr); }
  .footer-brand { align-items:flex-start; flex-direction:column; gap:22px; }
}

@media (max-width:820px) {
  .nav { min-height:68px; }
  .nav-links { display:none; }
  .mobile-toggle { display:block; }
  .hero { min-height:auto; padding:102px 0 88px; }
  .page-hero { min-height:560px; }
  .trusted-strip-inner { grid-template-columns:1fr 1fr; gap:18px 28px; padding:25px 0; }
  .trusted-strip-inner > span { grid-column:1 / -1; }
  .split,.audit-teaser,.case,.how-grid { grid-template-columns:1fr; }
  .case { gap:22px; }
  .how-grid { gap:36px; }
  .category-grid { grid-template-columns:repeat(2,1fr); }
  .maps { grid-template-columns:repeat(2,1fr); }
  .founder-section { grid-template-columns:1fr; }
  .founder-art,.founder-art img { min-height:520px; }
  .founder-copy { padding:72px 36px 82px; }
  .footer-row { grid-template-columns:1fr; align-items:start; }
  .footer-meta { justify-items:start; }
  .footer-links { justify-content:flex-start; }
}

@media (max-width:600px) {
  .container { width:min(100% - 28px,1180px); }
  .section { padding:70px 0; }
  .brand-mark { width:34px; height:34px; flex-basis:34px; }
  .brand-mark i:nth-child(3) { height:32px; }
  .brand-name { font-size:.66rem; }
  .hero { padding:82px 0 74px; }
  .hero::after { top:80px; right:-260px; width:380px; height:380px; }
  .display { font-size:clamp(3.05rem,15vw,5.3rem); }
  .h1 { font-size:clamp(2.5rem,12vw,4.5rem); }
  .h2 { font-size:clamp(2rem,9vw,3.4rem); }
  .method { font-size:clamp(4rem,19vw,7rem); }
  .hero-kicker { align-items:flex-start; font-size:.7rem; }
  .hero-kicker::before { margin-top:.55em; flex:0 0 22px; }
  .trusted-strip-inner { grid-template-columns:1fr; }
  .trusted-strip-inner > span { grid-column:auto; }
  .logo-section { padding:68px 0 82px; }
  .logo-heading { margin-bottom:40px; }
  .logo-grid { grid-template-columns:repeat(2,1fr); }
  .logo-tile { min-height:112px; padding:19px; }
  .proof-grid,.category-grid,.cards,.maps { grid-template-columns:1fr; }
  .proof-card:last-child { grid-column:auto; }
  .service-list { grid-template-columns:1fr; }
  .category-nav { top:68px; }
  .testimonial-inner { padding:70px 0 75px; }
  .testimonial blockquote { font-size:clamp(1.75rem,8vw,2.7rem); }
  .testimonial-person { align-items:flex-start; }
  .testimonial-person p { max-width:240px; }
  .founder-art,.founder-art img { min-height:430px; }
  .founder-copy { padding:62px 24px 72px; }
  .founder-copy h2 { font-size:clamp(2.25rem,10vw,3.3rem); }
  .footer { padding:48px 0 110px; }
  .mobile-sticky { display:block; position:fixed; right:12px; bottom:12px; left:12px; z-index:60; }
  .mobile-sticky .btn { width:100%; box-shadow:0 12px 36px rgba(0,0,0,.24); }
  body { padding-bottom:70px; }
}

@media (hover:none) {
  .logo-tile img { filter:none; opacity:1; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .btn,.category-card,.logo-tile img { transition:none; }
}
