/* Tier 3 "Immersive Authority" layer: loads after site.css and reuses its brand tokens (--navy = dark, --gold = accent, --cream = light) */
.t3{background:#fff}
.vtag{background:var(--navy-700);color:#fff;font:600 .78rem/1 var(--body);letter-spacing:.08em;text-transform:uppercase;text-align:center;padding:.5rem;display:flex;gap:.5rem;justify-content:center;align-items:center}
.flag{border-radius:2px;flex-shrink:0}
.pill{border-radius:99px;background:var(--gold);color:var(--navy);padding:.85rem 1.5rem;font-weight:700;box-shadow:0 8px 22px #0003}.pill:hover{background:var(--gold-600);color:var(--navy);transform:translateY(-1px)}
/* header floats over the hero, goes solid on scroll */
.t3 .t3hdr{position:sticky;top:0;background:var(--navy);box-shadow:none;border-bottom:1px solid #ffffff14}
.t3 .t3hdr.scrolled{box-shadow:0 6px 24px #0005}
.t3 .brand,.t3 .bt b{color:#fff}.t3 .bt span{color:var(--gold)}
.t3 .nav>a,.t3 .dd>button{color:#fff}.t3 .nav>a:hover,.t3 .dd>button:hover{color:var(--gold)}
.t3 .mt-btn{color:#fff}
.t3 .brand img{border-radius:10px}
/* hero */
.t3hero{position:relative;overflow:hidden;background:var(--navy);color:#fff;min-height:min(92vh,860px);display:flex;flex-direction:column;justify-content:center;padding:5rem 0 0}
.t3hero:not(.home){min-height:min(72vh,640px)}
.hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
img.hero-media{animation:kb 24s ease-out both}
@keyframes kb{from{transform:scale(1.12)}to{transform:scale(1)}}
.t3hero:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,color-mix(in srgb,var(--navy) 94%,transparent) 0%,color-mix(in srgb,var(--navy) 78%,transparent) 42%,color-mix(in srgb,var(--navy) 18%,transparent) 100%)}
.t3hero-in,.feats{position:relative;z-index:2}
.t3hero-in{max-width:1140px;width:100%}
.t3hero h1{color:#fff;font-size:clamp(2.3rem,5.6vw,4.4rem);line-height:1.06;max-width:15ch;margin:.8rem 0 1rem;text-shadow:0 2px 14px #0006}
.t3hero p{font-size:1.15rem;max-width:640px;color:#eef0f2;text-shadow:0 1px 4px #0007}
.t3hero a:not(.btn):not(.call-round){color:var(--gold)}
.hoods{font-size:1rem!important;opacity:.92}
.eyebrow{display:inline-flex;align-items:center;gap:.55rem;background:#ffffff1f;border:1px solid #ffffff2e;backdrop-filter:blur(6px);padding:.45rem .95rem;border-radius:99px;font-weight:600;font-size:.92rem;color:#fff}
.eyebrow i{width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px color-mix(in srgb,var(--gold) 30%,transparent)}
.eyebrow.dark{background:var(--cream);border-color:var(--line);color:var(--navy)}
.chips{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.3rem 0 .4rem}
.chip{background:#0000004d;border:1px solid #ffffff33;border-radius:99px;padding:.45rem .9rem;font-weight:600;font-size:.92rem}
.cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:1.4rem;margin:1.3rem 0 2.6rem}
.call-round{display:flex;align-items:center;gap:.8rem;text-decoration:none;color:inherit}
.call-round .ring{width:60px;height:60px;border-radius:50%;background:var(--gold);display:grid;place-items:center;font-size:1.4rem;box-shadow:0 0 0 0 color-mix(in srgb,var(--gold) 60%,transparent);animation:pulse 2.4s infinite}
.call-round small{display:block;font-size:.85rem;opacity:.85}.call-round b{font-size:1.45rem;font-family:var(--display)}
@keyframes pulse{70%{box-shadow:0 0 0 16px transparent}100%{box-shadow:0 0 0 0 transparent}}
.feats{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;border-top:1px solid #ffffff2b;padding-top:1.6rem;padding-bottom:2rem;margin-top:auto}
.feat{display:flex;gap:.9rem;align-items:flex-start}.feat b{font-family:var(--display);font-size:1.15rem;display:block;margin-bottom:.15rem}.feat p{margin:0;font-size:.95rem;color:#dfe3e8}
.fi{flex-shrink:0;width:56px;height:56px;border-radius:50%;background:var(--cream);display:grid;place-items:center}
/* word reveal */
.split .w{display:inline-block;opacity:0;transform:translateY(.45em);animation:wd .7s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes wd{to{opacity:1;transform:none}}
/* scroll reveal */
.js .rv{opacity:0;transform:translateY(34px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.js .rv.in{opacity:1;transform:none}
.js .rv .card{opacity:0;transform:translateY(20px);transition:.6s}.js .rv.in .card{opacity:1;transform:none}
.js .rv.in .card:nth-child(2){transition-delay:.08s}.js .rv.in .card:nth-child(3){transition-delay:.16s}.js .rv.in .card:nth-child(4){transition-delay:.24s}.js .rv.in .card:nth-child(5){transition-delay:.32s}.js .rv.in .card:nth-child(6){transition-delay:.4s}
/* sections */
.t3 .sec{padding:4.6rem 0}
.t3 h2{font-size:clamp(1.8rem,3.8vw,2.7rem)}
.t3 .card{border:0;border-radius:16px;box-shadow:0 10px 30px #0000000f;border-top:4px solid var(--gold)}
.t3 .card:hover{transform:translateY(-6px);box-shadow:0 18px 40px #0000001f}
.t3 .steps li{background:#fff;box-shadow:0 8px 24px #0000000f;border-radius:16px;padding:1.3rem}
.t3 .steps .n{background:var(--gold);color:var(--navy)}
/* work band */
.work{background:var(--navy);color:#e9ecef;padding:4.6rem 0}.work h2{color:#fff}
.work-in{display:grid;grid-template-columns:1.15fr 1fr;gap:3rem;align-items:center}
.work-media{border-radius:20px;overflow:hidden;box-shadow:0 20px 50px #0007;aspect-ratio:4/3}
.work-vid{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s}.work-media:hover .work-vid{transform:scale(1.05)}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.6rem}
.stat{border-left:3px solid var(--gold);padding-left:.9rem}.stat b{display:block;font:var(--dw,800) 2.4rem/1 var(--display);color:var(--gold)}.stat span{font-size:.88rem}
/* mid CTA band */
.band{background:var(--gold);padding:2.6rem 0}.band-in{display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.band h2{margin:0;color:var(--navy);font-size:clamp(1.4rem,3vw,2rem);max-width:28ch}.band .pill{background:var(--navy);color:#fff;white-space:nowrap}
/* codes */
.codes .lead{max-width:760px}.code-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem;margin-top:1.4rem}
.code{background:var(--cream);border-radius:14px;padding:1.2rem}.code b{display:block;color:var(--navy);font-family:var(--display);margin-bottom:.3rem}.code span{font-size:.94rem}
/* city + map */
.city-in{display:grid;grid-template-columns:1fr 1fr;gap:2.6rem;align-items:center}
.map{border-radius:18px;overflow:hidden;box-shadow:0 12px 34px #0002;aspect-ratio:4/3}.map iframe{width:100%;height:100%;border:0;display:block}
/* CTA + footer */
.t3 .cta{background:var(--navy)}.t3 .cta .call-round{color:#fff;margin-top:.6rem}
.t3 .lead-form{border-radius:18px;border-top:0;box-shadow:0 20px 50px #0006}
.t3 .lead-form .btn-gold{border-radius:99px}
.t3 .footer .pill{display:inline-block;color:var(--navy);margin-top:.4rem}
/* custom cursor (fine pointers only) */
.cur{position:fixed;left:0;top:0;width:34px;height:34px;margin:-17px 0 0 -17px;border:2px solid var(--gold);border-radius:50%;pointer-events:none;z-index:999;transition:width .2s,height .2s,margin .2s,background .2s;mix-blend-mode:difference}
.cur.big{width:64px;height:64px;margin:-32px 0 0 -32px;background:color-mix(in srgb,var(--gold) 25%,transparent)}
@media (max-width:900px){
 .vtag{font-size:.72rem;padding:.42rem}
 .t3 .hdr-call span{display:none}.t3 .hdr-call{padding:.6rem .85rem}
 .t3 .nav{background:var(--navy);padding:.6rem 0}.t3 .dd-menu{background:transparent}.t3 .dd-menu a{color:#fff}
 .t3hero,.t3hero:not(.home){min-height:0;padding:2.6rem 0 0;text-align:left}
 .t3hero:after{background:linear-gradient(180deg,color-mix(in srgb,var(--navy) 55%,transparent) 0%,color-mix(in srgb,var(--navy) 85%,transparent) 45%,var(--navy) 100%)}
 .t3hero h1{font-size:2.15rem;max-width:none}.t3hero p{font-size:1.02rem}
 .cta-row{flex-direction:column;align-items:stretch;gap:1rem}.cta-row .pill{text-align:center}
 .call-round .ring{width:52px;height:52px}.call-round b{font-size:1.25rem}
 .feats{grid-template-columns:1fr;gap:1rem;padding-bottom:1.6rem}
 .t3 .sec,.work{padding:3rem 0}
 .work-in,.city-in{grid-template-columns:1fr;gap:1.6rem}
 .stats{grid-template-columns:repeat(3,1fr)}.stat b{font-size:1.9rem}
 .band-in{flex-direction:column;text-align:center}
 .t3 .footer .pill{margin:0 auto}
}
@media (prefers-reduced-motion:reduce){img.hero-media,.call-round .ring{animation:none}.split .w{animation:none;opacity:1;transform:none}.js .rv,.js .rv .card{opacity:1;transform:none;transition:none}}
/* no photo yet: brand pattern + soft accent glow */
.no-photo{background:radial-gradient(circle at 75% 40%,color-mix(in srgb,var(--gold) 28%,transparent),transparent 55%),var(--navy) url(/brand/graphics/pattern.svg)}
/* brand mark stands alone: no tile, no white backdrop */
.t3 .brand img.mk,.t3 .footer img.mk{border-radius:0;background:none;box-shadow:none;filter:drop-shadow(1px 0 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 1px 0 #fff) drop-shadow(0 -1px 0 #fff) drop-shadow(0 2px 4px #0008)}
.t3 .brand img.mk{width:48px;height:48px}
/* conversion: call is the primary action, form is secondary */
.call-pill{font-size:1.15rem;padding:1rem 1.7rem}
.ghost{color:#fff;border:2px solid #ffffff59;border-radius:99px;padding:.8rem 1.3rem;background:transparent}.ghost:hover{border-color:var(--gold);color:var(--gold)}
@media (max-width:900px){.cta-row .ghost{text-align:center}}
/* hero balance: call leads (left), compact quote form complements (right) */
.t3grid{position:relative;z-index:2;display:grid;grid-template-columns:1.35fr .8fr;gap:3rem;align-items:center}
.quick{grid-template-columns:1fr!important;padding:1.4rem!important;max-width:380px;justify-self:end;background:#fffffff2!important;backdrop-filter:blur(6px)}
.q-h{margin:0;font:var(--dw,800) 1.35rem var(--display);color:var(--navy)}.q-s{margin:0 0 .3rem!important;font-size:.9rem!important;color:var(--muted)!important;text-shadow:none!important}
@media (max-width:900px){.t3grid{grid-template-columns:1fr;gap:0}.quick{justify-self:stretch;max-width:none;margin-bottom:1.8rem}}
.t3hero .quick p.q-h{color:var(--navy);text-shadow:none;font-size:1.35rem;max-width:none}.t3hero .quick label{color:var(--ink);text-shadow:none}

.cur{display:none!important}body{cursor:auto!important}
