@font-face{font-family:"Inter Tight";src:url(fonts/intertight.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url(fonts/instrument-italic.woff2) format("woff2");font-style:italic;font-display:swap}

:root{
  --bg:#F7F3EA;--bg-soft:#EFE8DA;--ink:#1B2A4A;--mut:#6B6558;--line:#E2D9C8;
  --navy:#1B2A4A;--navy-deep:#132A40;--navy-mid:#243861;
  --gold:#D4AF37;--gold-deep:#B8922A;--gold-soft:rgba(212,175,55,.16);
  --wa:#25D366;--wa-dark:#1ebe57;
  --shadow:0 28px 56px -32px rgba(15,28,51,.28);--shadow-sm:0 12px 28px -18px rgba(15,28,51,.18);
  --radius:24px;--nav-h:64px;--ease:cubic-bezier(.22,.8,.2,1);
}
/* Force light luxury palette — block Chrome Android auto-dark */
html{color-scheme:light only;background:#F7F3EA}
:root{color-scheme:light only}
body{background:#F7F3EA!important;color:#1B2A4A}
@media (prefers-color-scheme: dark){
  html,body{background:#F7F3EA!important;color:#1B2A4A!important;color-scheme:light only}
  .nav{background:rgba(247,243,234,.92)!important}
  .mnav{background:rgba(247,243,234,.98)!important}
  .sec-soft{background:#EFE8DA!important}
  .form,.svc,.pcard,.faq details,.cinfo,.case,.form-success{background:#fff!important;color:#1B2A4A}
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font:16.5px/1.6 "Inter Tight",system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,video{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
em{font-family:"Instrument Serif",Georgia,serif;font-style:italic;font-weight:400}
ul,ol{list-style:none}
.wrap{max-width:1120px;margin:0 auto;padding:0 22px}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:#fff;padding:8px 12px;z-index:99;border-radius:8px}

/* Intro veil */
.intro{position:fixed;inset:0;z-index:100;background:var(--bg);pointer-events:none;opacity:1;transition:opacity .7s var(--ease)}
.intro.out{opacity:0}

/* Promo slim */
.promo{background:linear-gradient(90deg,var(--navy-deep),var(--navy-mid));color:#F7F3EA;font-size:13px;font-weight:550}
.promo-in{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;padding:8px 0;text-align:center}
.promo a{color:var(--gold);text-decoration:underline;text-underline-offset:3px;font-weight:650}
.promo b{color:var(--gold);font-weight:700}

/* Nav */
.nav{position:sticky;top:0;z-index:40;height:var(--nav-h);background:rgba(247,243,234,.86);backdrop-filter:saturate(1.4) blur(16px);-webkit-backdrop-filter:saturate(1.4) blur(16px);border-bottom:1px solid transparent;transition:border-color .3s,box-shadow .3s}
.nav.s{border-color:var(--line);box-shadow:0 10px 30px -24px rgba(15,28,51,.25)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:var(--nav-h);gap:16px}
.logo{display:inline-flex;align-items:center}
.logo-mark{height:40px;width:auto;display:block;max-width:220px}
.nav-links{display:none;align-items:center;gap:2px}
.nav-links a{color:var(--mut);font-size:14px;padding:8px 11px;border-radius:999px;font-weight:500;transition:color .2s,background .2s}
.nav-links a:hover{color:var(--ink);background:rgba(27,42,74,.05)}
.nav-actions{display:none;align-items:center;gap:8px}
.burger{width:44px;height:44px;display:grid;place-items:center;border-radius:12px}
.burger span{display:block;width:18px;height:2px;background:var(--ink);position:relative}
.burger span:before,.burger span:after{content:"";position:absolute;left:0;width:18px;height:2px;background:var(--ink);transition:transform .25s var(--ease)}
.burger span:before{top:-6px}.burger span:after{top:6px}
.burger[aria-expanded="true"] span{background:transparent}
.burger[aria-expanded="true"] span:before{top:0;transform:rotate(45deg)}
.burger[aria-expanded="true"] span:after{top:0;transform:rotate(-45deg)}
.mnav{display:none;position:fixed;inset:var(--nav-h) 0 0 0;background:rgba(247,243,234,.97);backdrop-filter:blur(16px);padding:20px 24px 40px;z-index:39;flex-direction:column;gap:4px;overflow-y:auto}
.mnav.open{display:flex}
.mnav a{font-size:22px;font-weight:550;letter-spacing:-.02em;padding:14px 8px;border-bottom:1px solid var(--line)}
.mnav-ctas{display:grid;gap:10px;margin-top:18px}
.mnav-ctas .btn{width:100%}
@media(min-width:960px){.nav-links{display:flex}.nav-actions{display:inline-flex}.burger{display:none}.mnav{display:none!important}}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--navy);color:#F7F3EA;padding:14px 24px;border-radius:999px;font-weight:560;font-size:15px;min-height:48px;transition:transform .2s var(--ease),background .2s,box-shadow .2s;letter-spacing:-.01em}
.btn:hover{transform:translateY(-1px);background:var(--navy-deep)}
.btn-sm{padding:9px 16px;font-size:13.5px;min-height:38px}
.btn-lg{min-height:54px;font-size:16px}
.btn-line{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px rgba(27,42,74,.2)}
.btn-line:hover{background:var(--navy);color:#F7F3EA;box-shadow:none}
.btn-gold{background:linear-gradient(135deg,#E2C15A,#D4AF37 45%,#B8922A);color:#1A1508;box-shadow:0 12px 28px -14px rgba(184,146,42,.55)}
.btn-gold:hover{background:linear-gradient(135deg,#E8C872,#C9A227)}
.btn-wa{background:var(--wa);color:#fff;box-shadow:0 12px 28px -14px rgba(37,211,102,.5)}
.btn-wa:hover{background:var(--wa-dark)}
.btn svg{width:18px;height:18px;flex-shrink:0}

/* Type */
h1,h2,h3{letter-spacing:-.04em;line-height:1.06;font-weight:620;color:var(--ink)}
h1{font-size:clamp(44px,7.2vw,88px);margin:12px 0 18px}
h2{font-size:clamp(34px,5vw,58px);margin-bottom:14px}
h3{font-size:22px;letter-spacing:-.025em}
.eyebrow{font-size:12px;font-weight:650;color:var(--gold-deep);letter-spacing:.14em;text-transform:uppercase}
.lede{font-size:clamp(17px,2vw,20px);color:var(--mut);max-width:520px;line-height:1.55}
.sub{color:var(--mut);max-width:560px;margin-top:8px;font-size:16.5px}
.sec{padding:100px 0}
.sec-soft{background:var(--bg-soft)}
.sec-navy{background:linear-gradient(165deg,var(--navy-mid) 0%,var(--navy-deep) 100%);color:#F7F3EA}
.sec-navy h2,.sec-navy .eyebrow{color:#F7F3EA}
.sec-navy .eyebrow{color:var(--gold)}
.sec-navy em{color:#F6E7B8}
.sh{margin-bottom:48px}
.sh.center{text-align:center;margin-left:auto;margin-right:auto}
.sh.center .sub{margin-left:auto;margin-right:auto}

/* Reveal */
.rv{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.rv.in{opacity:1;transform:none}
.rv-d1{transition-delay:.07s}.rv-d2{transition-delay:.14s}.rv-d3{transition-delay:.21s}.rv-d4{transition-delay:.28s}

/* Hero */
.hero{padding:48px 0 0;position:relative;overflow:hidden}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.call-split{display:flex;flex-wrap:wrap;gap:16px;margin-top:16px;font-size:14.5px;font-weight:560}
.call-split a{color:var(--navy);border-bottom:1px solid rgba(27,42,74,.2);padding-bottom:2px}
.call-split a:hover{border-color:var(--gold);color:var(--gold-deep)}
.hero-facts{display:flex;flex-wrap:wrap;gap:8px 10px;margin-top:22px;color:var(--mut);font-size:13.5px}
.hero-facts li{background:rgba(255,255,255,.55);border:1px solid var(--line);padding:8px 14px;border-radius:999px}
.hero-facts b{color:var(--ink);font-weight:620}
.hero-stage{margin:40px auto 0;max-width:400px;position:relative}
.hero-photo{width:100%;aspect-ratio:4/5;border-radius:28px 28px 0 0;overflow:hidden;position:relative;box-shadow:var(--shadow);background:linear-gradient(165deg,#E8EEF8,#D5DFEF)}
.hero-bg{position:absolute;inset:0;z-index:0;pointer-events:none}
.hero-bg-grad{position:absolute;inset:0;background:
  radial-gradient(ellipse 70% 55% at 20% 15%, rgba(212,175,55,.28), transparent 55%),
  radial-gradient(ellipse 60% 50% at 85% 30%, rgba(27,42,74,.18), transparent 55%),
  linear-gradient(165deg,#EEF2F9 0%,#D8E2F2 50%,#C5D2E8 100%)}
.hero-orb{position:absolute;border-radius:50%;animation:orbFloat 11s var(--ease) infinite alternate}
.hero-orb.a{width:170px;height:170px;left:-36px;top:10%;background:radial-gradient(circle,rgba(212,175,55,.35),transparent 70%)}
.hero-orb.b{width:150px;height:150px;right:-28px;top:36%;background:radial-gradient(circle,rgba(27,42,74,.22),transparent 70%);animation-delay:-3s}
.float-card{position:absolute;background:rgba(255,255,255,.9);border:1px solid rgba(255,255,255,.7);border-radius:14px;padding:12px;box-shadow:var(--shadow-sm);display:grid;gap:6px;animation:cardFloat 8s ease-in-out infinite}
.fc-bar{height:6px;width:42%;border-radius:99px;background:linear-gradient(90deg,var(--gold),var(--gold-deep))}
.fc-line{height:4px;width:78%;border-radius:99px;background:rgba(27,42,74,.1)}
.fc-line.short{width:48%}.fc-dot{width:10px;height:10px;border-radius:50%;background:var(--wa)}
.fc-1{width:108px;top:14%;left:8%}.fc-2{width:92px;top:24%;right:7%;animation-delay:-2.5s}
.float-shape{position:absolute;color:rgba(27,42,74,.4);font-weight:700;font-size:14px;animation:cardFloat 12s ease-in-out infinite}
.fs-code{right:12%;top:48%}
.hero-cut{position:absolute;inset:0;z-index:2;display:grid;align-items:end;justify-items:center}
.hero-cut img{width:92%;height:auto;max-height:96%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 18px 28px rgba(15,28,51,.2))}
.hero-chip{position:absolute;left:14px;bottom:22px;z-index:3;display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);padding:10px 14px;border-radius:16px;box-shadow:var(--shadow-sm);border:1px solid rgba(255,255,255,.65);max-width:calc(100% - 28px)}
.hero-chip b{display:block;font-size:14px}.hero-chip small{color:var(--mut);font-size:12px}
.dot{width:10px;height:10px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px var(--gold-soft);flex-shrink:0}
@keyframes orbFloat{from{transform:translate3d(0,0,0)}to{transform:translate3d(10px,-16px,0)}}
@keyframes cardFloat{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-10px,0)}}
@media(min-width:960px){
  .hero{padding:32px 0 0}
  .hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:end}
  .hero-copy{padding-bottom:48px}
  .hero-stage{margin:0;max-width:none;width:100%}
  .hero-photo{border-radius:32px 32px 0 0;max-height:min(70vh,600px)}
}

/* Services compact */
.svc-row{display:grid;gap:12px;grid-template-columns:1fr}
@media(min-width:700px){.svc-row{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.svc-row{grid-template-columns:repeat(3,1fr)}}
.svc{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px 22px;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .3s}
.svc:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#d5cbb6}
.svc h3{font-size:18px;margin-bottom:8px}
.svc p{color:var(--mut);font-size:14.5px;line-height:1.5}

/* Pricing */
.price-grid{display:grid;gap:14px}
@media(min-width:860px){.price-grid{grid-template-columns:repeat(3,1fr)}}
.pcard{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px 26px;display:flex;flex-direction:column;gap:14px;position:relative;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.pcard:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.pcard.featured{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold),var(--shadow-sm);background:linear-gradient(180deg,#fff 0%,#FBF7EB 100%)}
.badge{position:absolute;top:16px;right:16px;background:linear-gradient(135deg,#E2C15A,#B8922A);color:#1A1508;font-size:11.5px;font-weight:700;padding:5px 10px;border-radius:999px}
.price{font-size:clamp(34px,3.8vw,42px);font-weight:650;letter-spacing:-.04em;line-height:1}
.price small{font-size:15px;font-weight:500;color:var(--mut);letter-spacing:0}
.pcard ul{display:grid;gap:8px;flex:1}
.pcard li{color:var(--mut);font-size:14.5px;display:flex;gap:10px}
.pcard li:before{content:"✓";color:var(--gold-deep);font-weight:700}
.pcard .btn{width:100%;margin-top:6px}
.note{margin-top:22px;font-size:13.5px;color:var(--mut);text-align:center;max-width:720px;margin-left:auto;margin-right:auto}

/* Case studies */
.case{display:grid;gap:28px;margin-bottom:48px;background:#fff;border:1px solid var(--line);border-radius:28px;overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.case:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
@media(min-width:900px){
  .case{grid-template-columns:1.15fr .85fr;gap:0;align-items:stretch;margin-bottom:56px}
  .case-rev{grid-template-columns:.85fr 1.15fr}
  .case-rev .case-media{order:2}
  .case-video{grid-template-columns:.7fr 1.3fr}
}
.case-media{background:linear-gradient(180deg,#1B3A4E,#16324A);min-height:240px;overflow:hidden}
.case-media img{width:100%;height:100%;object-fit:cover;object-position:top center;min-height:260px;transition:transform .7s var(--ease)}
.case:hover .case-media img{transform:scale(1.03)}
.case-video-media{display:grid;place-items:center;padding:28px;background:linear-gradient(165deg,#1F4A5C,#16324A)}
.case-video-media video{width:min(260px,70%);border-radius:18px;aspect-ratio:9/16;object-fit:cover;box-shadow:var(--shadow)}
.case-body{padding:32px 28px 36px;display:flex;flex-direction:column;gap:12px;justify-content:center}
.case-body .tag{font-size:11.5px;font-weight:650;color:var(--gold-deep);letter-spacing:.08em;text-transform:uppercase}
.case-body h3{font-size:clamp(26px,3vw,34px);margin:0}
.case-body p{color:var(--mut);font-size:15.5px;line-height:1.55}
.case-body ul{display:grid;gap:8px;margin:6px 0 10px}
.case-body li{color:var(--mut);font-size:14.5px;display:flex;gap:10px}
.case-body li:before{content:"✓";color:var(--gold-deep);font-weight:700}
.case-body .btn{align-self:flex-start;margin-top:6px}

/* Process */
.steps{display:grid;gap:10px;counter-reset:none}
@media(min-width:800px){.steps{grid-template-columns:repeat(5,1fr);gap:12px}}
.steps li{background:rgba(247,243,234,.08);border:1px solid rgba(247,243,234,.14);border-radius:18px;padding:20px 16px}
.steps b{display:block;font-size:15px;margin-bottom:6px;color:#F7F3EA;letter-spacing:-.01em}
.steps span{color:rgba(247,243,234,.68);font-size:13.5px;line-height:1.45}

/* FAQ */
.faq{max-width:820px;margin:0 auto;display:grid;gap:10px}
.faq details{background:#fff;border:1px solid var(--line);border-radius:18px;padding:4px 22px;transition:border-color .2s,box-shadow .2s}
.faq details[open]{border-color:#d5cbb6;box-shadow:var(--shadow-sm)}
.faq summary{cursor:pointer;list-style:none;padding:18px 32px 18px 0;font-weight:560;font-size:17px;letter-spacing:-.015em;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:22px;color:var(--gold-deep);font-weight:400}
.faq details[open] summary:after{content:"–"}
.faq .a{padding:0 0 20px;color:var(--mut);font-size:15.5px;line-height:1.6}
.faq .a b{color:var(--ink);font-weight:620}

/* Contact */
.contact-grid{display:grid;gap:24px}
@media(min-width:900px){.contact-grid{grid-template-columns:1.15fr .85fr;gap:36px;align-items:start}}
.form{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px 24px;display:grid;gap:14px;box-shadow:var(--shadow-sm)}
.form-head h3{font-size:22px;margin-bottom:4px}.form-head p{color:var(--mut);font-size:14px}
.form label{display:grid;gap:6px;font-size:13px;font-weight:600;color:var(--mut)}
.form input,.form select,.form textarea{width:100%;padding:13px 14px;border-radius:14px;border:1px solid var(--line);background:var(--bg);font:inherit;color:var(--ink);transition:border-color .2s,box-shadow .2s;appearance:none}
.form select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%236B6558' d='M1.4 0 6 4.6 10.6 0 12 1.4 6 7.4 0 1.4z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-soft);background:#fff}
.form input.invalid,.form select.invalid,.form textarea.invalid{border-color:#c44;box-shadow:0 0 0 3px rgba(196,68,68,.12)}
.form textarea{min-height:110px;resize:vertical}
.form .row{display:grid;gap:12px}
@media(min-width:560px){.form .row{grid-template-columns:1fr 1fr}}
.form .btn{width:100%}
.form .err{color:#b33;font-size:12px;font-weight:550}
.form-note{font-size:12.5px;color:var(--mut);text-align:center}
.form-success{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:40px 28px;text-align:center;display:grid;gap:14px;justify-items:center;box-shadow:var(--shadow-sm)}
.form-success[hidden],.form[hidden]{display:none!important}
.success-icon{width:56px;height:56px;border-radius:50%;background:var(--gold-soft);color:var(--gold-deep);display:grid;place-items:center;font-size:26px;font-weight:700}
.contact-side{display:grid;gap:12px}
.contact-cta-card{background:linear-gradient(160deg,var(--navy-deep) 0%,var(--navy-mid) 100%);color:#F7F3EA;border-radius:var(--radius);padding:26px 24px;display:grid;gap:12px}
.contact-cta-card h3{color:#F7F3EA;font-size:22px}
.contact-cta-card p{color:rgba(247,243,234,.75);font-size:14.5px}
.contact-cta-card .btn-line{color:#F7F3EA;box-shadow:inset 0 0 0 1.5px rgba(247,243,234,.3)}
.contact-cta-card .btn-line:hover{background:#F7F3EA;color:var(--navy)}
.contact-cta-card .btn{width:100%}
.num-block{display:grid;gap:8px;margin-top:4px}
.num-label{font-size:11px;font-weight:650;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.cinfo{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 18px}
.cinfo b{display:block;font-size:13px;margin-bottom:4px;color:var(--ink)}
.cinfo a,.cinfo span{color:var(--mut);font-size:14px;word-break:break-word}
.cinfo a{display:block}.cinfo a:hover{color:var(--gold-deep)}
.cinfo em{font-style:normal;color:#a09888;font-size:12.5px}

/* FAB */
.fab{position:fixed;right:16px;bottom:16px;z-index:45;min-width:58px;height:58px;padding:0 18px;border-radius:999px;background:var(--wa);color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 12px 28px -8px rgba(37,211,102,.55);transition:transform .2s var(--ease)}
.fab:hover{transform:scale(1.04)}
.fab svg{width:26px;height:26px}
.fab-label{font-size:14px;font-weight:650}
@media(max-width:480px){.fab{width:58px;padding:0;border-radius:50%}.fab-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}}

/* Footer — navy + ivory (WCAG AA); never ink-on-soft */
footer{background:linear-gradient(180deg,#132A40,#0A1424);border-top:1px solid rgba(212,175,55,.22);padding:56px 0 28px;color:#F7F3EA}
.ft-grid{display:grid;gap:28px}
@media(min-width:800px){.ft-grid{grid-template-columns:1.4fr 1fr 1fr 1fr;gap:24px}}
.ft-brand p{color:rgba(247,243,234,.85);margin-top:12px;font-size:14px;max-width:280px;line-height:1.5}
.ft-grid h4{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#E0C06A;margin-bottom:12px;font-weight:650}
.ft-grid a{display:block;color:#F7F3EA;font-size:14px;padding:5px 0;opacity:1}
.ft-grid a:hover{opacity:1;color:#F7E7C3}
.ft-bottom{margin-top:36px;padding-top:18px;border-top:1px solid rgba(247,243,234,.22);display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:12.5px;color:rgba(247,243,234,.8)}

/* Policy pages */
.page{padding:64px 0 100px}
.page h1{font-size:clamp(34px,5vw,48px)}
.page h2{font-size:22px;margin:36px 0 12px}
.page p,.page li{color:var(--mut);margin-top:10px;max-width:720px}
.page ul{margin:10px 0 0 18px;list-style:disc}
.page a{color:var(--gold-deep);text-decoration:underline;text-underline-offset:3px}

@media(max-width:560px){
  .sec{padding:72px 0}
  .cta-row .btn{flex:1 1 140px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .rv{opacity:1;transform:none;transition:none}
  .intro{display:none}
  .hero-orb,.float-card,.float-shape,.case,.pcard,.svc,.fab,.btn,.case-media img{transition:none!important;animation:none!important}
  .case:hover .case-media img{transform:none}
}


/* SEO service landing pages */
.seo-page{padding:48px 0 80px}
.seo-page .crumbs{font-size:13px;color:var(--mut);margin-bottom:22px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.seo-page .crumbs a{color:var(--navy);text-decoration:none;border-bottom:1px solid transparent}
.seo-page .crumbs a:hover{border-bottom-color:var(--gold)}
.seo-page .crumbs span{opacity:.5}
.seo-page h1{font-size:clamp(32px,5vw,48px);line-height:1.15;letter-spacing:-.02em;max-width:18ch;margin-bottom:14px}
.seo-page .lede{font-size:18px;color:var(--mut);max-width:62ch;margin-bottom:22px}
.seo-body{display:grid;grid-template-columns:1.4fr .7fr;gap:40px;align-items:start;margin-top:28px}
@media (max-width:860px){.seo-body{grid-template-columns:1fr}}
.seo-prose h2{font-size:clamp(22px,3vw,28px);margin:36px 0 12px;letter-spacing:-.015em}
.seo-prose h3{font-size:18px;margin:24px 0 8px}
.seo-prose p,.seo-prose li{color:var(--mut);margin-top:10px;max-width:68ch;line-height:1.7}
.seo-prose ul{margin:10px 0 0 18px;list-style:disc}
.seo-prose a{color:var(--gold-deep);text-decoration:underline;text-underline-offset:3px}
.seo-aside{position:sticky;top:88px;display:grid;gap:14px}
.seo-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:var(--shadow-sm)}
.seo-card h3{font-size:16px;margin-bottom:8px}
.seo-card p{font-size:14px;color:var(--mut);margin:0 0 14px}
.seo-card .btn{width:100%;justify-content:center}
.seo-related{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.seo-related a{display:inline-flex;padding:8px 14px;border-radius:999px;background:var(--bg-soft);border:1px solid var(--line);font-size:13px;color:var(--ink);text-decoration:none}
.seo-related a:hover{border-color:var(--gold);background:#fff}
.seo-faq{margin-top:48px}
.seo-faq .faq{margin-top:12px}
.ft-services a{display:block}


/* ===== Agency v5: mega nav + multi-page + hero 3D ===== */
.nav{z-index:60}
.nav-links{display:flex;align-items:center;gap:2px}
.nav-links>a,.nav-links .nav-drop>button{padding:8px 12px;border-radius:999px;font-size:14px;font-weight:550;color:var(--ink);background:transparent;border:0;cursor:pointer;font:inherit}
.nav-links>a:hover,.nav-links .nav-drop>button:hover{background:var(--bg-soft)}
.nav-drop{position:relative}
.nav-drop>button{display:inline-flex;align-items:center;gap:6px}
.nav-drop>button svg{width:12px;height:12px;opacity:.55;transition:transform .2s}
.nav-drop.open>button svg{transform:rotate(180deg)}
.mega{position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%);min-width:560px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:22px;display:none;grid-template-columns:1.2fr 1fr;gap:18px;z-index:70}
.nav-drop.open .mega{display:grid}
.mega.h-simple{min-width:220px;grid-template-columns:1fr}
.mega h5{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mut);margin-bottom:10px}
.mega a{display:block;padding:8px 10px;border-radius:12px;font-size:14px;color:var(--ink);text-decoration:none}
.mega a:hover{background:var(--bg-soft)}
.mega a small{display:block;font-size:12px;color:var(--mut);font-weight:450;margin-top:2px}
.mega-foot{grid-column:1/-1;padding-top:10px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px}
@media(max-width:980px){.nav-links{display:none}.mega{display:none!important}}

.page-hero{padding:72px 0 40px;background:linear-gradient(180deg,#EFE8DA 0%,var(--bg) 100%)}
.page-hero h1{font-size:clamp(36px,5.5vw,56px);letter-spacing:-.03em;line-height:1.1;max-width:18ch}
.page-hero .lede{font-size:18px;color:var(--mut);max-width:62ch;margin-top:14px}

.agency-hero{padding:88px 0 64px;position:relative;overflow:hidden}
.agency-hero .hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
@media(max-width:900px){.agency-hero .hero-grid{grid-template-columns:1fr;gap:32px}}
.agency-hero h1{font-size:clamp(40px,6vw,64px);letter-spacing:-.035em;line-height:1.05}
.agency-hero .lede{font-size:19px;color:var(--mut);max-width:42ch;margin-top:18px}
.trust-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.trust-pill{padding:8px 14px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:13px;color:var(--mut)}

.hero-stage{position:relative;min-height:420px}
.hero-3d{position:absolute;inset:-8% -6% -12% -8%;z-index:0;pointer-events:none}
.hero-3d canvas{width:100%!important;height:100%!important;display:block}
.hero-3d-fallback{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;border-radius:28px}
.hero-3d-fallback .orb{position:absolute;border-radius:50%;filter:blur(2px);opacity:.55;animation:floaty 12s ease-in-out infinite}
.hero-3d-fallback .o1{width:180px;height:180px;right:8%;top:12%;background:radial-gradient(circle at 30% 30%,#E0C06A,#B8922A66 60%,transparent)}
.hero-3d-fallback .o2{width:120px;height:120px;left:6%;bottom:18%;background:radial-gradient(circle at 40% 40%,#243861,#132A40aa);animation-delay:-4s}
.hero-3d-fallback .panel{position:absolute;width:90px;height:60px;border:1px solid rgba(212,175,55,.45);border-radius:12px;background:linear-gradient(135deg,rgba(27,42,74,.35),rgba(212,175,55,.12));backdrop-filter:blur(6px);animation:floaty 9s ease-in-out infinite}
.hero-3d-fallback .p1{right:18%;bottom:22%;transform:rotate(-12deg)}
.hero-3d-fallback .p2{left:14%;top:20%;transform:rotate(8deg);animation-delay:-3s}
@keyframes floaty{0%,100%{transform:translateY(0) rotate(var(--r,0deg))}50%{transform:translateY(-14px) rotate(var(--r,0deg))}}
.hero-photo{position:relative;z-index:2;border-radius:28px;overflow:hidden;background:linear-gradient(165deg,#1A3A4A,#0C1A2E);aspect-ratio:4/5;max-width:420px;margin-left:auto;box-shadow:var(--shadow)}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}
.hero-photo .glow{position:absolute;inset:auto -20% -20% -20%;height:50%;background:radial-gradient(ellipse,rgba(212,175,55,.25),transparent 70%);pointer-events:none}
@media(max-width:900px){
  .hero-stage{min-height:440px;padding:28px 18px 8px;overflow:visible}
  .hero-photo{margin:0 auto;max-width:300px;width:78%}
  .hero-3d{inset:-4% -2% -8% -2%;opacity:.95}
}
@media(prefers-reduced-motion:reduce){
  .hero-3d{display:none!important}
  .hero-3d-fallback .orb,.hero-3d-fallback .panel{animation:none}
}

.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
@media(max-width:900px){.grid-3,.grid-4{grid-template-columns:1fr 1fr}.grid-2{grid-template-columns:1fr}}
@media(max-width:560px){.grid-3,.grid-4{grid-template-columns:1fr}}

.card-a{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:var(--shadow-sm);transition:transform .25s var(--ease),box-shadow .25s;text-decoration:none;color:inherit;display:block}
.card-a:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.card-a h3{font-size:18px;margin:10px 0 8px}
.card-a p{color:var(--mut);font-size:14.5px;line-height:1.55}
.card-a .ico{width:42px;height:42px;border-radius:12px;background:var(--gold-soft);display:grid;place-items:center;color:var(--gold-deep);font-weight:700;font-size:13px}
.card-a .more{display:inline-flex;margin-top:14px;font-size:13px;font-weight:600;color:var(--gold-deep)}

.ind-chip{display:flex;align-items:center;gap:12px;padding:16px 18px;background:#fff;border:1px solid var(--line);border-radius:18px;text-decoration:none;color:var(--ink);font-weight:550;font-size:14px}
.ind-chip:hover{border-color:var(--gold);background:var(--bg-soft)}
.ind-chip span{width:36px;height:36px;border-radius:10px;background:var(--navy);color:#F7F3EA;display:grid;place-items:center;font-size:11px;flex:none;letter-spacing:.02em}

.band-cta{padding:72px 0;background:linear-gradient(165deg,var(--navy-mid),var(--navy-deep));color:#F7F3EA;text-align:center}
.band-cta h2{font-size:clamp(28px,4vw,42px);letter-spacing:-.02em}
.band-cta p{color:rgba(247,243,234,.75);max-width:48ch;margin:12px auto 24px}
.band-cta .cta-row{justify-content:center}

.compare{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;font-size:14px}
.compare th,.compare td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.compare th{background:var(--navy);color:#F7F3EA;font-weight:550}
.compare tr:last-child td{border-bottom:0}
.compare .yes{color:var(--gold-deep);font-weight:650}
.compare .mute{color:var(--mut)}
@media(max-width:700px){.compare-wrap{overflow-x:auto}.compare{min-width:640px}}

.blog-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;text-decoration:none;color:inherit;box-shadow:var(--shadow-sm)}
.blog-card .thumb{height:150px;background:linear-gradient(135deg,var(--navy-mid),var(--navy-deep));display:grid;place-items:center;color:var(--gold);font-size:12px;letter-spacing:.1em;text-transform:uppercase;padding:16px;text-align:center}
.blog-card .body{padding:20px}
.blog-card h3{font-size:18px;margin-bottom:8px}
.blog-card p{color:var(--mut);font-size:14px}
.blog-card .meta{font-size:12px;color:var(--mut);margin-bottom:8px}

.prose-page{max-width:740px}
.prose-page h2{margin:36px 0 12px;font-size:clamp(22px,3vw,28px)}
.prose-page p,.prose-page li{color:var(--mut);line-height:1.7;margin-top:10px}
.prose-page ul{margin-left:18px;list-style:disc}
.prose-page a{color:var(--gold-deep)}

.values{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:700px){.values{grid-template-columns:1fr}}
.value{padding:22px;border-radius:20px;background:var(--bg-soft);border:1px solid var(--line)}
.value h3{font-size:16px;margin-bottom:6px}
.value p{color:var(--mut);font-size:14px}

.founder{display:grid;grid-template-columns:.85fr 1.15fr;gap:36px;align-items:center}
@media(max-width:800px){.founder{grid-template-columns:1fr}}
.founder-photo{border-radius:28px;overflow:hidden;background:var(--navy);aspect-ratio:4/5;max-width:360px}
.founder-photo img{width:100%;height:100%;object-fit:cover;object-position:top}

.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:28px}
@media(max-width:860px){.contact-grid{grid-template-columns:1fr}}
.hours{font-size:14px;color:var(--mut);line-height:1.7}

.ft-grid{display:grid;grid-template-columns:1.35fr repeat(4,1fr);gap:28px}
@media(max-width:980px){.ft-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.ft-grid{grid-template-columns:1fr}}
footer{padding:64px 0 28px;background:var(--navy-deep);color:#F7F3EA}
footer a{color:rgba(247,243,234,.78);text-decoration:none;display:block;margin-top:8px;font-size:14px}
footer a:hover{color:var(--gold)}
footer h4{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:4px}
footer .ft-brand p{color:rgba(247,243,234,.65);margin-top:12px;font-size:14px;max-width:36ch}
.ft-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:36px;padding-top:18px;border-top:1px solid rgba(247,243,234,.12);font-size:12px;color:rgba(247,243,234,.55)}

.mnav{padding-bottom:28px}
.mnav-acc{border-top:1px solid var(--line);padding:4px 0}
.mnav-acc summary{cursor:pointer;font-weight:600;padding:12px 0;list-style:none}
.mnav-acc a{display:block;padding:8px 0 8px 10px;font-size:14px;color:var(--mut)}

.work-case{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:center;padding:28px;background:#fff;border:1px solid var(--line);border-radius:24px;margin-bottom:20px;text-decoration:none;color:inherit}
@media(max-width:800px){.work-case{grid-template-columns:1fr}}
.work-case img{width:100%;border-radius:16px;border:1px solid var(--line)}
.tag{display:inline-block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-deep);font-weight:650;margin-bottom:8px}

.why-list{display:grid;gap:12px;list-style:none;margin:0;padding:0}
.why-list li{display:grid;grid-template-columns:28px 1fr;gap:12px;align-items:start;padding:14px 16px;background:#fff;border:1px solid var(--line);border-radius:16px}
.why-list b{color:var(--gold-deep)}

.process-row{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
@media(max-width:900px){.process-row{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.process-row{grid-template-columns:1fr}}
.process-row li{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;list-style:none}
.process-row b{display:block;color:var(--gold-deep);font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px}

@media(max-width:800px){
  #why .wrap[style*="grid-template-columns"]{display:block!important}
  .work-detail-grid{grid-template-columns:1fr!important}
}
.hero-3d:empty{display:none}
.hero-3d:not(:empty){display:block}


/* TECH STUDIO CRAFT — visual only (Vercel/Linear/Stripe-inspired) */
:root{
  --mono: ui-monospace, SFMono-Regular, "JetBrains Mono", Menlo, Consolas, monospace;
  --glass: rgba(255,255,255,.72);
  --glass-border: rgba(27,42,74,.08);
  --grid-line: rgba(27,42,74,.06);
  --hairline: rgba(27,42,74,.1);
}
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Crisp grid backdrop */
.agency-hero,.page-hero,.sec-soft{
  background-image:
    linear-gradient(to right, var(--grid-line) 1px, transparent 1px),
    linear-gradient(to bottom, var(--grid-line) 1px, transparent 1px),
    radial-gradient(900px 420px at 85% 10%, rgba(212,175,55,.10), transparent 60%),
    radial-gradient(700px 380px at 0% 80%, rgba(27,42,74,.06), transparent 55%);
  background-size:48px 48px, 48px 48px, auto, auto;
  background-position:center top;
}
.agency-hero{background-color:var(--bg)}
.page-hero{background-color:#EFE8DA}
.sec-soft{background-color:var(--bg-soft)}

/* Monospace micro-labels */
.eyebrow,.tag,footer h4,.mega h5,.trust-pill,.process-row b,.compare th{
  font-family:var(--mono)!important;
  font-weight:500!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
  font-size:11px!important;
}
.eyebrow::before{
  content:"// ";
  opacity:.45;
  font-weight:400;
}

/* Glassy cards */
.card-a,.seo-card,.pcard,.work-case,.blog-card,.value,.ind-chip,.why-list li,.form,.mega{
  background:var(--glass)!important;
  backdrop-filter:blur(14px) saturate(1.2);
  -webkit-backdrop-filter:blur(14px) saturate(1.2);
  border:1px solid var(--glass-border)!important;
  box-shadow:0 1px 0 rgba(255,255,255,.65) inset, 0 18px 40px -28px rgba(15,28,51,.35)!important;
}
.card-a:hover,.work-case:hover,.blog-card:hover,.ind-chip:hover{
  border-color:rgba(212,175,55,.45)!important;
  box-shadow:0 1px 0 rgba(255,255,255,.8) inset, 0 28px 50px -30px rgba(15,28,51,.45), 0 0 0 1px rgba(212,175,55,.15)!important;
}

/* Code/terminal accents */
.ico,.process-row b,.card-a .ico{
  font-family:var(--mono)!important;
}
.card-a .ico{
  border:1px solid rgba(212,175,55,.35);
  background:linear-gradient(145deg,rgba(212,175,55,.18),rgba(27,42,74,.06));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.4);
}
.term-chip{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--mono);font-size:12px;color:var(--mut);
  padding:6px 10px;border-radius:10px;
  border:1px solid var(--hairline);background:rgba(255,255,255,.55);
}
.term-chip i{width:7px;height:7px;border-radius:50%;background:#25D366;box-shadow:0 0 0 3px rgba(37,211,102,.18);display:inline-block}

/* Nav glass */
.nav{
  background:rgba(247,243,234,.78)!important;
  backdrop-filter:blur(16px) saturate(1.25);
  -webkit-backdrop-filter:blur(16px) saturate(1.25);
  border-bottom:1px solid var(--hairline);
}
.nav.s{box-shadow:0 12px 40px -28px rgba(15,28,51,.35)}
.nav-links>a,.nav-links .nav-drop>button{letter-spacing:-.01em}
.mega{
  border:1px solid rgba(27,42,74,.1)!important;
  box-shadow:0 30px 60px -36px rgba(15,28,51,.55), 0 0 0 1px rgba(212,175,55,.08)!important;
}

/* Magnetic / premium buttons */
.btn{
  position:relative;overflow:hidden;
  transition:transform .35s cubic-bezier(.22,.8,.2,1), box-shadow .35s, background .25s, border-color .25s!important;
  will-change:transform;
}
.btn::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(120deg,transparent 20%,rgba(255,255,255,.28) 45%,transparent 70%);
  transform:translateX(-120%);
  transition:transform .6s ease;
  pointer-events:none;
}
.btn:hover::after{transform:translateX(120%)}
.btn-gold{
  background:linear-gradient(180deg,#E0C06A,#B8922A)!important;
  color:#132A40!important;
  box-shadow:0 10px 28px -12px rgba(184,146,42,.7), inset 0 1px 0 rgba(255,255,255,.45)!important;
}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 16px 32px -12px rgba(184,146,42,.85), inset 0 1px 0 rgba(255,255,255,.5)!important}
.btn-line{
  border:1px solid rgba(27,42,74,.18)!important;
  background:rgba(255,255,255,.55)!important;
  backdrop-filter:blur(8px);
}
.btn-line:hover{border-color:rgba(212,175,55,.55)!important;transform:translateY(-2px)}
.btn-wa{box-shadow:0 12px 28px -14px rgba(37,211,102,.65)!important}
.btn-wa:hover{transform:translateY(-2px)}

/* Hero refinements */
.agency-hero h1{letter-spacing:-.04em}
.hero-photo{
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 40px 80px -40px rgba(15,28,51,.7), 0 0 0 1px rgba(212,175,55,.2)!important;
}
.hero-photo::before{
  content:"";position:absolute;inset:0;z-index:3;pointer-events:none;
  border-radius:inherit;
  background:linear-gradient(180deg,transparent 55%,rgba(12,26,46,.35));
}
.trust-pill{
  background:rgba(255,255,255,.65)!important;
  backdrop-filter:blur(8px);
  border:1px solid var(--hairline)!important;
}

/* Section titles with hairline */
.sec h2,.page-hero h1{letter-spacing:-.035em}
.sec .sub{max-width:54ch}

/* Compare table craft */
.compare{border:1px solid var(--hairline)!important;background:rgba(255,255,255,.8)!important;backdrop-filter:blur(10px)}
.compare th{background:linear-gradient(180deg,#243861,#132A40)!important;font-size:11px!important}

/* Band CTA refined */
.band-cta{
  background:
    radial-gradient(600px 240px at 20% 0%, rgba(212,175,55,.18), transparent 60%),
    linear-gradient(165deg,#243861 0%, #0C1A2E 100%)!important;
  position:relative;
}
.band-cta::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.35;
  background-image:linear-gradient(to right, rgba(247,243,234,.06) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(247,243,234,.06) 1px, transparent 1px);
  background-size:56px 56px;
}

/* Footer craft */
footer{
  background:
    radial-gradient(700px 280px at 100% 0%, rgba(212,175,55,.12), transparent 55%),
    linear-gradient(180deg,#132A40,#0A1424)!important;
  border-top:1px solid rgba(212,175,55,.15);
}

/* Micro-interactions */
.rv{transition:opacity .7s cubic-bezier(.22,.8,.2,1), transform .7s cubic-bezier(.22,.8,.2,1)}
.ind-chip span{
  font-family:var(--mono);font-size:10px;letter-spacing:.06em;
  background:linear-gradient(145deg,#243861,#132A40)!important;
  border:1px solid rgba(212,175,55,.25);
}
.fab{backdrop-filter:blur(8px);box-shadow:0 16px 40px -16px rgba(37,211,102,.75)!important}
.fab:hover{transform:translateY(-3px) scale(1.03)}

/* Form glassy */
.form input,.form select,.form textarea{
  background:rgba(255,255,255,.85)!important;
  border:1px solid var(--hairline)!important;
  transition:border-color .2s, box-shadow .2s;
}
.form input:focus,.form select:focus,.form textarea:focus{
  border-color:rgba(212,175,55,.65)!important;
  box-shadow:0 0 0 3px rgba(212,175,55,.18)!important;
  outline:none;
}





/* CAP ROTATOR + PROOF CHIPS */
.cap-rotator{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  margin:18px 0 6px;min-height:36px;
}
.cap-label{
  font-family:var(--mono,ui-monospace,monospace);
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--mut);font-weight:500;
}
.cap-track{position:relative;display:inline-grid;align-items:center;min-height:1.4em}
.cap-item{
  grid-area:1/1;font-size:clamp(17px,2.2vw,22px);font-weight:650;color:var(--navy);
  letter-spacing:-.02em;opacity:0;transform:translateY(10px);
  transition:opacity .45s cubic-bezier(.22,.8,.2,1), transform .45s cubic-bezier(.22,.8,.2,1);
  pointer-events:none;white-space:nowrap;
}
.cap-item.is-on{opacity:1;transform:translateY(0)}
.cap-item em{font-family:"Instrument Serif",Georgia,serif;font-style:italic;font-weight:400;color:var(--gold-deep)}

.proof-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.proof-chip{
  font-size:12.5px;color:var(--mut);padding:8px 12px;border-radius:999px;
  background:rgba(255,255,255,.7);border:1px solid rgba(27,42,74,.1);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
.proof-chip b{color:var(--navy);font-weight:650}
@media(max-width:560px){
  .cap-item{white-space:normal;font-size:16px}
  .proof-chip{font-size:12px;padding:7px 10px}
}
@media(prefers-reduced-motion:reduce){
  .cap-item{transition:none}
}


/* PREMIUM HERO PHOTO PANEL (restored v3/v4 soft style, elevated) */
.agency-hero{position:relative;overflow:hidden;isolation:isolate}
#hero-birds{
  position:absolute;inset:0;width:100%;height:100%;
  z-index:1;pointer-events:none!important;
}
.agency-hero .wrap.hero-grid{position:relative;z-index:2}
.agency-hero .hero-stage{
  margin:0;max-width:none;width:100%;min-height:auto!important;
  padding:0!important;display:block;background:none!important;overflow:visible!important;
}
.agency-hero .hero-photo,
.agency-hero .hero-photo--panel{
  width:100%;
  max-width:440px;
  margin-left:auto;
  aspect-ratio:4/5;
  border-radius:32px 32px 18px 18px!important;
  overflow:hidden!important;
  position:relative;
  background:transparent!important;
  border:1px solid rgba(255,255,255,.55)!important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.7) inset,
    0 28px 56px -28px rgba(15,28,51,.45),
    0 0 0 1px rgba(212,175,55,.12)!important;
}
.agency-hero .hero-photo::before{display:none!important}
.agency-hero .hero-bg{position:absolute;inset:0;z-index:0;pointer-events:none}
.agency-hero .hero-bg-grad{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse 75% 55% at 18% 12%, rgba(212,175,55,.34), transparent 58%),
    radial-gradient(ellipse 65% 52% at 88% 28%, rgba(27,42,74,.20), transparent 56%),
    radial-gradient(ellipse 50% 40% at 50% 100%, rgba(247,243,234,.55), transparent 70%),
    linear-gradient(165deg,#F4F7FC 0%,#E2EAF6 42%,#C9D6EA 100%)!important;
}
.agency-hero .hero-orb{position:absolute;border-radius:50%;animation:orbFloat 11s var(--ease) infinite alternate;filter:blur(0.2px)}
.agency-hero .hero-orb.a{width:180px;height:180px;left:-40px;top:8%;background:radial-gradient(circle,rgba(212,175,55,.42),transparent 70%)}
.agency-hero .hero-orb.b{width:160px;height:160px;right:-32px;top:34%;background:radial-gradient(circle,rgba(27,42,74,.26),transparent 70%);animation-delay:-3s}
.agency-hero .float-card{
  position:absolute;z-index:1;background:rgba(255,255,255,.88);border:1px solid rgba(255,255,255,.75);
  border-radius:14px;padding:12px;box-shadow:var(--shadow-sm);display:grid;gap:6px;
  animation:cardFloat 8s ease-in-out infinite;backdrop-filter:blur(10px)
}
.agency-hero .fc-bar{height:6px;width:42%;border-radius:99px;background:linear-gradient(90deg,var(--gold),var(--gold-deep))}
.agency-hero .fc-line{height:4px;width:78%;border-radius:99px;background:rgba(27,42,74,.1)}
.agency-hero .fc-line.short{width:48%}
.agency-hero .fc-dot{width:10px;height:10px;border-radius:50%;background:var(--wa)}
.agency-hero .fc-1{width:108px;top:14%;left:8%}
.agency-hero .fc-2{width:92px;top:24%;right:7%;animation-delay:-2.5s}
.agency-hero .float-shape{position:absolute;z-index:1;color:rgba(27,42,74,.38);font-weight:700;font-size:14px;animation:cardFloat 12s ease-in-out infinite}
.agency-hero .fs-code{right:12%;top:48%}
.agency-hero .hero-cut{
  position:absolute;inset:0;z-index:2;display:grid;align-items:end;justify-items:center;pointer-events:none
}
.agency-hero .hero-cut img{
  width:94%;height:auto;max-height:98%;object-fit:contain;object-position:center bottom;
  filter:drop-shadow(0 20px 32px rgba(15,28,51,.22));
  display:block;background:transparent
}
.agency-hero .hero-chip{
  position:absolute;left:14px;bottom:18px;z-index:3;display:flex;align-items:center;gap:10px;
  background:rgba(255,255,255,.94);backdrop-filter:blur(14px);padding:10px 14px;border-radius:16px;
  box-shadow:var(--shadow-sm);border:1px solid rgba(255,255,255,.7);max-width:calc(100% - 28px)
}
.agency-hero .hero-chip b{display:block;font-size:14px;color:var(--ink)}
.agency-hero .hero-chip small{color:var(--mut);font-size:12px}
.agency-hero .hero-chip .dot{width:10px;height:10px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px var(--gold-soft);flex-shrink:0}
@media(max-width:900px){
  .agency-hero .hero-photo--panel{max-width:320px;margin:18px auto 0;border-radius:28px 28px 16px 16px!important}
}
@media(prefers-reduced-motion:reduce){
  #hero-birds{display:none!important}
  .agency-hero .hero-orb,.agency-hero .float-card,.agency-hero .float-shape{animation:none}
}


/* ===== WCAG AA: footer + CTA band contrast (final cascade) ===== */
.band-cta{
  background-color:#132A40!important;
  background-image:
    radial-gradient(600px 240px at 18% 0%, rgba(212,175,55,.22), transparent 55%),
    linear-gradient(165deg, #1B2A4A 0%, #0F1C30 55%, #0A1424 100%)!important;
  color:#F7F3EA!important;
  position:relative;
  z-index:1;
}
.band-cta h2,
.band-cta .eyebrow,
.band-cta p,
.band-cta span,
.band-cta a{color:#F7F3EA!important}
.band-cta p{color:rgba(247,243,234,.88)!important}
.band-cta .btn-gold{
  color:#132A40!important;
  background:linear-gradient(180deg,#E8D48A,#C9A227)!important;
}
.band-cta .btn-wa{color:#fff!important}
.band-cta .btn-line{
  color:#F7F3EA!important;
  border:1px solid rgba(247,243,234,.55)!important;
  background:rgba(255,255,255,.08)!important;
}
.band-cta .btn-line:hover{
  border-color:#D4AF37!important;
  color:#F7E7C3!important;
  background:rgba(212,175,55,.12)!important;
}

footer{
  background-color:#132A40!important;
  background-image:
    radial-gradient(720px 280px at 100% 0%, rgba(212,175,55,.14), transparent 55%),
    linear-gradient(180deg, #132A40 0%, #0B1524 100%)!important;
  color:#F7F3EA!important;
  border-top:1px solid rgba(212,175,55,.22)!important;
}
footer,
footer p,
footer span,
footer small,
footer .ft-brand p,
footer .ft-bottom,
footer .ft-bottom span{
  color:#F7F3EA!important;
}
footer .ft-brand p{color:rgba(247,243,234,.9)!important}
footer h4,
footer .ft-grid h4{
  color:#E0C06A!important;
  opacity:1!important;
  font-family:var(--mono,ui-monospace,monospace)!important;
  letter-spacing:.12em!important;
}
footer a,
footer .ft-grid a,
footer .ft-services a,
footer .ft-bottom a{
  color:#F7F3EA!important;
  opacity:1!important;
}
footer a:hover,
footer .ft-grid a:hover{
  color:#F7E7C3!important;
}
footer .ft-bottom{
  border-top-color:rgba(247,243,234,.22)!important;
  color:rgba(247,243,234,.85)!important;
}
footer .logo-mark{
  filter:brightness(1.08) contrast(1.05);
}
/* Ensure dark-mode override blocks don't force ivory bg + ink text on footer */
@media (prefers-color-scheme: dark){
  footer, .band-cta{
    background:
      linear-gradient(180deg, #132A40 0%, #0B1524 100%)!important;
    color:#F7F3EA!important;
  }
  footer a, .band-cta p, .band-cta h2{color:#F7F3EA!important}
}
