/* AMERI LEGAL / CINEMATIC EDITION — live HTML, native interactions, no video payload. */
:root{--cine-ease:cubic-bezier(.2,.7,.2,1);--motion-header:94px}
html{scroll-padding-top:calc(var(--motion-header) + 20px)}
html[data-motion-pending]::after{content:"";position:fixed;inset:0;z-index:2100;pointer-events:none;background:linear-gradient(110deg,#04101e,#102d47 58%,#06182c);animation:fail-open .1s 4s forwards}
@keyframes fail-open{to{opacity:0;visibility:hidden}}
/* Retain the accepted header geometry. Chrome artwork is used at display sizes. */
.home-hero .hero-logo-stage{position:relative;width:min(565px,76%);max-width:100%;aspect-ratio:957/340;margin:0 auto 14px;flex:none;isolation:isolate}
.home-hero .hero-logo-stage .hero-logo{width:100%;height:100%;max-width:none;aspect-ratio:957/340;object-fit:contain;margin:0;filter:drop-shadow(0 3px 2px #05040bba)}
.chrome-stage{position:relative;isolation:isolate}
.logo-sheen{position:absolute;inset:0;pointer-events:none;-webkit-mask-image:var(--logo-mask);mask-image:var(--logo-mask);-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;z-index:2;overflow:hidden}
.logo-sheen::before{content:"";position:absolute;inset:-15% -60%;background:linear-gradient(108deg,transparent 38%,#fff1 43%,#fff 48%,#fff7 50%,transparent 55%);transform:translateX(-60%);opacity:0}
.logo-shining .logo-sheen::before{animation:chrome-pass 1.15s var(--cine-ease) both}
@keyframes chrome-pass{0%{transform:translateX(-60%);opacity:0}15%{opacity:.86}82%{opacity:.86}100%{transform:translateX(62%);opacity:0}}
/* Edge-to-edge opener: no letterbox, location/phone bar, or bottom strip. */
.cinematic-intro{position:fixed;inset:0;max-width:none;max-height:none;width:100%;height:100vh;height:100dvh;margin:0;padding:0;border:0;background:#030c16;color:#fff;overflow:hidden;z-index:2500;outline:none;box-sizing:border-box}
.cinematic-intro:not([open]){display:none}
.cinematic-intro[open]{display:grid;place-items:center}
.cinematic-intro::backdrop{background:#030c16}
body.intro-playing{overflow:hidden}
.intro-scenery{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 57% 46%,#83091952,transparent 59%),linear-gradient(105deg,#0410204a,#070f1c78),url('../img/flag-navy-2000.webp') center/cover;opacity:.95}
.intro-scenery::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 14%,#030b15ba 100%)}
.intro-light{position:absolute;inset:-35%;background:conic-gradient(from 255deg at 50% 52%,transparent 0deg,#aabecc18 25deg,transparent 47deg);filter:blur(20px);pointer-events:none}
.intro-composition{position:relative;z-index:2;width:min(1130px,calc(100% - 48px));display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px 0;gap:0;pointer-events:none}
.intro-eyebrow{font:11px/1.6 var(--sans);letter-spacing:.28em;text-transform:uppercase;color:#dcc390;margin:0 0 30px}
.intro-emblem{width:min(770px,88%);aspect-ratio:957/340;margin:0 0 17px;filter:drop-shadow(0 8px 9px #000a)}
.intro-emblem img{width:100%;height:100%;object-fit:contain}
.intro-divider{height:1px;width:min(420px,66%);margin:9px 0 25px;background:linear-gradient(90deg,transparent,#dabe7e,#fff3cc,#dabe7e,transparent);box-shadow:0 0 20px #d4b57566}
.intro-title{font:700 clamp(31px,4.2vw,58px)/1.08 var(--serif);letter-spacing:-.035em;margin:0 0 14px;color:#fff}
.intro-caption{font:400 clamp(15px,1.5vw,20px)/1.5 var(--serif);color:#dbe2ed;margin:0 0 13px}
.intro-attorney{font:italic 16px/1.5 var(--serif);color:#dfc796;margin:0}
/* A skip affordance is revealed by interaction; it never creates a framing bar. */
.intro-skip{position:absolute;top:max(18px,env(safe-area-inset-top));right:max(22px,env(safe-area-inset-right));z-index:5;display:flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid #ecd59a50;border-radius:3px;background:#05111b40;color:#ecdfc3;font:500 10px/1.4 var(--sans);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .2s}
.intro-controls-visible .intro-skip,.intro-skip:focus-visible{opacity:1;pointer-events:auto}
.intro-skip .icon{width:15px;height:15px}
.intro-skip:focus-visible{outline:2px solid var(--gold-light);outline-offset:4px}
.intro-ambience{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.intro-ambience i{position:absolute;width:2px;height:2px;border-radius:50%;background:#dbc696;box-shadow:0 0 7px #d9c79560;opacity:.25}
/* SILK SWEEP — two diagonal planes with a fine metallic edge. No transitional logo. */
.nav-curtain{--sweep-overhang:max(18vw,14vh);position:fixed;inset:0;z-index:2200;pointer-events:none;visibility:hidden;overflow:hidden;background:transparent;contain:paint;isolation:isolate}
.nav-curtain.active{visibility:visible;pointer-events:auto}
.sweep-plane{position:absolute;inset:-2px calc(-1 * var(--sweep-overhang));transform:translate3d(-110%,0,0) skewX(-12deg);will-change:transform;backface-visibility:hidden}
.sweep-crimson{z-index:1;background:linear-gradient(108deg,#43030c 3%,#9b1724 50%,#57050f 94%);border-inline:2px solid #d2b67b;box-shadow:0 0 30px #0a061b44}
.sweep-navy{z-index:2;background:linear-gradient(110deg,#04101e,#102d47 58%,#06182c);border-inline:1px solid #e8d1a0;box-shadow:0 0 27px #0007}
.sweep-navy::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(107deg,transparent 18%,#98b9d30c 30%,transparent 45%,#d9e3ea0c 71%,transparent 86%)}
.sweep-navy::after{content:"";position:absolute;inset:0;background:linear-gradient(108deg,transparent 25%,#fff0 43%,#ffe3ad10 49%,transparent 56%);pointer-events:none}
.nav-curtain.is-covered .sweep-plane{transform:translate3d(0,0,0) skewX(-12deg)}
@media(max-width:760px){.nav-curtain{--sweep-overhang:max(18vw,10vh)}.sweep-plane{transform:translate3d(-110%,0,0) skewX(-8deg)}.nav-curtain.is-covered .sweep-plane{transform:translate3d(0,0,0) skewX(-8deg)}}
/* Small navigational refinements, with readable default content. */
.hero-explore{display:inline-flex;align-items:center;gap:10px;color:#f1ddb4;font:10px/1.5 var(--sans);letter-spacing:.16em;text-transform:uppercase;margin-top:24px;border-bottom:1px solid #d8bd8350;padding:0 0 5px}
.hero-explore .icon{height:15px;width:15px;transition:transform .25s}.hero-explore:hover .icon{transform:translateY(3px)}
.motion-tools{display:flex;flex-wrap:wrap;gap:12px 23px;padding:20px 0;border-top:1px solid #c9ad702c;align-items:center}
.motion-tools button{padding:5px 0;background:none;border:0;border-bottom:1px solid #b99c655c;color:#e0cfaa;font:11px/1.5 var(--sans);cursor:pointer}
.motion-tools button:hover{color:#fff}.motion-tools .motion-status{font-size:10px;color:#bcc9d7;margin:0}
.motion-back-top{position:fixed;right:22px;bottom:24px;z-index:79;background:#061d34f5;color:#f3dbac;width:44px;height:44px;border:1px solid #d7b56b80;border-radius:50%;display:grid;place-items:center;box-shadow:0 5px 18px #06122330;opacity:0;visibility:hidden;transform:translateY(9px);transition:opacity .25s,transform .25s,visibility .25s}
.motion-back-top.visible{opacity:1;visibility:visible;transform:none}.motion-back-top .icon{width:18px;height:18px}
.service-card{transition:transform .32s var(--cine-ease),border-color .3s,box-shadow .3s}
.service-card:hover{box-shadow:0 13px 26px #0924411b;transform:translateY(-5px)}
/* Never transform the image's negative-z paint layer: preserve the accepted wide-screen fix. */
.hero-media img{transform:none!important;will-change:auto}
@media(min-width:761px) and (max-width:1250px){.home-hero .hero-logo-stage{width:480px;max-width:73%}}
@media(max-width:760px){.home-hero .hero-logo-stage{width:min(400px,88%);margin-bottom:21px}.hero-explore{margin-top:20px}.intro-eyebrow{font-size:9px;letter-spacing:.2em;margin-bottom:26px}.intro-composition{width:calc(100% - 30px)}.intro-emblem{width:96%;margin-bottom:19px}.intro-caption{max-width:290px;font-size:17px}.intro-title{font-size:36px;max-width:380px}.intro-attorney{font-size:14px}.motion-back-top{bottom:83px;right:15px;width:37px;height:37px}.motion-tools{justify-content:center}.motion-tools .motion-status{width:100%;text-align:center}}
@media(max-width:430px){.home-hero .hero-logo-stage{width:320px;max-width:94%;margin-bottom:19px}.home-hero .hero-content{padding-bottom:32px}.hero-explore{font-size:9px;letter-spacing:.12em}.intro-title{font-size:33px;max-width:330px}.intro-eyebrow{font-size:8px;letter-spacing:.14em}.intro-skip{font-size:10px;gap:7px}}
@media(max-height:550px){.intro-composition{padding:20px 0;gap:0}.intro-emblem{width:min(38vw,310px);margin-bottom:0}.intro-eyebrow{margin-bottom:4px;font-size:9px}.intro-title{font-size:28px;margin-bottom:6px}.intro-divider{margin:5px 0 9px}.intro-caption{font-size:15px;margin-bottom:4px}.intro-attorney{font-size:13px}}
html.motion-reduced{scroll-behavior:auto!important}
html.motion-reduced *,html.motion-reduced *::before,html.motion-reduced *::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.logo-sheen,.intro-ambience,.intro-light{display:none!important}.hero-media img{transform:none!important}.motion-back-top,.service-card{transition:none!important}}
@media print{html[data-motion-pending]::after,.cinematic-intro,.nav-curtain,.motion-tools,.motion-back-top,.hero-explore,.logo-sheen{display:none!important}body.intro-playing{overflow:visible}}

/* Full-bleed overlays cover the reserved desktop scrollbar gutter. */
.cinematic-intro,.nav-curtain,html[data-motion-pending]::after{width:100vw}
.intro-title>span{display:inline-block}

/* The full-screen opener stays centered even at narrow / short viewports. */
@media(max-width:430px){.intro-composition{padding:32px 0}.intro-emblem{width:100%}}
@media(max-height:550px){.intro-composition{padding:15px 0}.intro-emblem{width:min(310px,48vw)}.intro-eyebrow{margin-bottom:8px}.intro-divider{margin:3px 0 12px}.intro-title{font-size:28px}.intro-caption{font-size:14px}}
