/* Monteiro & Aguiar — dark corporate, carregamento estático e mobile-first. */
@font-face { font-family:"MA Sans"; src:url("../fonts/ma-sans-400-v1.woff2") format("woff2"); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:"MA Sans"; src:url("../fonts/ma-sans-600-v1.woff2") format("woff2"); font-weight:600; font-style:normal; font-display:swap; }
@font-face { font-family:"MA Sans Fallback"; src:local("Arial"),local("ArialMT"),local("Liberation Sans"); font-weight:400; size-adjust:93.58%; ascent-override:106.86%; descent-override:34.84%; line-gap-override:0%; }
@font-face { font-family:"MA Sans Fallback"; src:local("Arial Bold"),local("Arial-BoldMT"),local("Liberation Sans Bold"); font-weight:600; size-adjust:89.15%; ascent-override:112.17%; descent-override:36.57%; line-gap-override:0%; }

:root { color-scheme:dark; --void:#1b120d; --surface:#251912; --surface-raised:#322219; --ink:#f8f3eb; --muted:#ccb9a1; --faint:#a18a72; --line:rgb(225 201 166 / .16); --line-bright:rgb(218 181 119 / .34); --gold:#d2ae70; --gold-bright:#e4c894; --font-display:"MA Sans","MA Sans Fallback",Arial,sans-serif; --font-body:"MA Sans","MA Sans Fallback",Arial,sans-serif; --header-h:72px; --bar-h:64px; --gutter:clamp(20px,5vw,76px); --content:1320px; --space:clamp(76px,10vw,154px); --ease:cubic-bezier(.2,.75,.25,1); --radius:16px; --arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 12 12 4M5.5 4H12v6.5' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:calc(var(--header-h) + 20px); -webkit-text-size-adjust:100%; text-size-adjust:100%; scrollbar-color:#70553a var(--void); }
body { margin:0; color:var(--ink); background:var(--void); font:400 1.0625rem/1.65 var(--font-body); }
::selection { color:#281b12; background:var(--gold); }
img,svg { display:block; max-width:100%; }
h1,h2,h3,h4,p,figure,blockquote { margin:0; }
h1,h2,h3,h4 { color:var(--ink); font-family:var(--font-display); font-weight:600; text-wrap:balance; }
h1 { max-width:11.5ch; font-size:clamp(3.1rem,5.5vw,5.8rem); line-height:.93; letter-spacing:-.045em; }
h2 { font-size:clamp(2.5rem,5.2vw,5.6rem); line-height:.97; letter-spacing:-.045em; }
h3 { font-size:clamp(1.4rem,2vw,2rem); line-height:1.08; letter-spacing:-.04em; }
h4 { font-size:1.16rem; line-height:1.2; letter-spacing:-.025em; }
p { text-wrap:pretty; }
a { color:inherit; text-underline-offset:.24em; text-decoration-thickness:1px; }
strong { font-weight:600; }
ul,ol { margin:0; padding:0; list-style:none; }
dl,dd { margin:0; }
address { font-style:normal; }
.num { font-variant-numeric:tabular-nums lining-nums; }
.sprite,.visually-hidden { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.container { width:min(100%,calc(var(--content) + 2 * var(--gutter))); margin-inline:auto; padding-inline:var(--gutter); }
.container-narrow { width:min(100%,calc(760px + 2 * var(--gutter))); }
.section { position:relative; padding-block:var(--space); background:var(--void); }
.section-cream { background:#f2eadc; }
.section-beige { background:#f2eadc; }
.section-dark { background:var(--void); }
:is(#atuacao,#equipe,.section-cream,.section-beige) { --ink:#35271b; --muted:#6b5845; --faint:#85705a; --line:rgb(77 54 35 / .16); --line-bright:rgb(112 78 42 / .36); --gold:#76512d; --gold-bright:#78542e; --surface:#f2eadc; --surface-raised:#e8dccb; color:var(--ink); }
#atuacao,#equipe { background:#f2eadc; }
#duvidas { background:var(--void); }
#para-quem::before,#equipe::before,#duvidas::before,#contato::before { position:absolute; top:0; inset-inline:max(var(--gutter),calc((100% - var(--content)) / 2)); height:1px; background:var(--line); content:""; }
.section-dark h2,.section-dark h3 { color:var(--ink); }
:focus-visible { outline:2px solid var(--gold-bright); outline-offset:5px; border-radius:3px; }
.skip-link { position:fixed; z-index:100; top:-80px; left:var(--gutter); padding:12px 16px; color:var(--void); background:#f8f3eb; font-weight:600; text-decoration:none; }
.skip-link:focus { top:12px; }

.site-header { position:sticky; z-index:40; top:0; color:var(--ink); background:rgb(27 18 13 / .9); border-bottom:1px solid var(--line); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); transition:background-color 220ms ease,border-color 220ms ease; }
.site-header.is-scrolled { background:rgb(27 18 13 / .97); border-color:var(--line-bright); }
.header-inner { display:flex; min-height:var(--header-h); align-items:center; gap:22px; }
.brand { display:inline-flex; min-width:0; min-height:44px; align-items:center; gap:11px; color:var(--ink); text-decoration:none; }
.brand-mark { flex:none; color:var(--gold-bright); }
.brand-name { font:600 1.04rem/1.08 var(--font-display); letter-spacing:-.025em; }
.brand-name small { display:block; margin-top:4px; color:var(--muted); font:600 .69rem/1 var(--font-body); letter-spacing:.18em; text-transform:uppercase; }
.site-nav { display:none; }
.site-header .btn { margin-left:auto; }
.btn { position:relative; isolation:isolate; display:inline-flex; min-height:54px; align-items:center; justify-content:center; gap:10px; overflow:hidden; padding:0 24px; border:1px solid transparent; border-radius:999px; color:var(--void); background:#f5eee3; font-weight:600; line-height:1.2; text-decoration:none; transition:transform 220ms var(--ease),background-color 220ms ease,border-color 220ms ease,box-shadow 220ms ease; }
.btn::before { position:absolute; z-index:-1; inset:0; background:linear-gradient(110deg,transparent 20%,rgb(255 255 255 / .36),transparent 68%); content:""; transform:translateX(-120%); transition:transform 560ms var(--ease); }
.btn:active { transform:translateY(0) scale(.985); }
.btn-sm { min-width:44px; min-height:44px; padding-inline:14px; }
.btn-label { display:none; }
.btn-whatsapp { color:#281b12; background:var(--gold); }
.btn-outline { color:var(--ink); background:transparent; border-color:var(--line-bright); }
.section-dark .btn-outline,.mobile-bar .btn-outline { color:var(--ink); border-color:rgb(231 211 179 / .4); }
:is(#atuacao,#equipe,.section-cream,.section-beige) .btn-outline { color:var(--ink); border-color:#8c663a; }
.btn-email { padding-inline:clamp(16px,4.5vw,24px); white-space:nowrap; font-size:clamp(.875rem,3.9vw,1rem); } /* o e-mail cabe numa linha até 320 px */
.icon { flex:none; }
.link { position:relative; display:inline-flex; min-height:44px; align-items:center; color:var(--ink); font-weight:600; text-decoration:none; }
.link::after { position:absolute; right:0; bottom:7px; left:0; height:1px; background:var(--gold-bright); content:""; transform:scaleX(.35); transform-origin:left; transition:transform 260ms var(--ease); }
.link-arrow::before { width:.8em; height:.8em; margin-left:9px; order:2; background:var(--gold-bright); content:""; -webkit-mask:var(--arrow) center / contain no-repeat; mask:var(--arrow) center / contain no-repeat; transition:transform 260ms var(--ease); }
.running-head { max-width:100%; padding-bottom:14px; border-bottom:1px solid var(--line); color:var(--muted); font-size:.76rem; font-weight:600; letter-spacing:.13em; line-height:1.5; text-transform:uppercase; }
.eyebrow { margin-bottom:16px; color:var(--gold-bright); font-size:.76rem; font-weight:600; letter-spacing:.13em; text-transform:uppercase; }

.hero { position:relative; isolation:isolate; min-height:80svh; overflow:clip; background:var(--void); color:var(--ink); }
.hero::before { position:absolute; z-index:-2; inset:0; background:radial-gradient(ellipse at 82% 17%,rgb(154 104 53 / .19),transparent 38%),radial-gradient(ellipse at 93% 74%,rgb(183 133 70 / .12),transparent 33%),linear-gradient(135deg,#1b120d 18%,#21170f 74%,#19110c); content:""; }
.hero::after { position:absolute; z-index:-1; top:15%; right:8%; width:min(38vw,520px); aspect-ratio:1; border:1px solid rgb(216 181 119 / .2); border-radius:50%; box-shadow:0 0 0 42px rgb(216 181 119 / .035),0 0 0 84px rgb(216 181 119 / .022); content:""; pointer-events:none; }
.hero-mono { position:absolute; z-index:-1; top:17%; right:8%; width:min(38vw,520px); aspect-ratio:1; color:rgb(224 190 128 / .62); pointer-events:none; }
.hero-inner { display:grid; min-height:80svh; grid-template-columns:repeat(12,minmax(0,1fr)); grid-template-rows:auto 1fr auto; align-content:stretch; padding-block:clamp(22px,3.5vh,36px) clamp(30px,5vh,54px); }
.hero .running-head { grid-column:1/-1; align-self:start; }
.hero h1 { position:relative; grid-column:1/-1; align-self:center; margin-block:clamp(34px,5vh,56px) 0; text-shadow:0 0 40px rgb(227 201 157 / .055); }
.hero-foot { display:grid; grid-column:1/-1; grid-template-columns:repeat(12,minmax(0,1fr)); gap:16px 22px; align-self:end; margin-top:clamp(32px,5vh,52px); padding-top:16px; border-top:1px solid var(--line); }
.lead { max-width:50ch; color:var(--muted); font-size:clamp(1.08rem,1.15vw + .72rem,1.4rem); line-height:1.55; }
.hero .lead,.section-dark .lead { color:#d6c7b5; }
.hero-foot > .lead { grid-column:1/7; }
.hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px 26px; }
.hero-foot .hero-actions { grid-column:7/-1; align-self:center; }
.trust { display:grid; gap:0; color:var(--muted); font-size:.91rem; line-height:1.5; }
.hero-foot .trust { grid-column:1/-1; }
.trust li { padding:12px 0; border-bottom:1px solid var(--line); }

.section-head { display:grid; gap:22px; align-items:end; }
.section-note { max-width:38ch; color:var(--muted); }
.bento-grid { display:grid; grid-template-columns:1fr; gap:12px; margin-top:clamp(38px,6vw,78px); }
.bento-grid > li { display:grid; }
.bento-card { position:relative; isolation:isolate; display:flex; min-height:210px; flex-direction:column; align-items:flex-start; justify-content:flex-start; overflow:hidden; padding:clamp(23px,3vw,38px); border:1px solid var(--line); border-radius:var(--radius); background:linear-gradient(145deg,rgb(255 255 255 / .075),rgb(255 255 255 / .025) 55%),linear-gradient(145deg,rgba(131,91,46,.09),transparent 60%); box-shadow:inset 0 1px 0 rgb(255 255 255 / .045); text-align:left; transition:transform 280ms var(--ease),border-color 220ms ease,box-shadow 280ms var(--ease); }
.bento-card::before { position:absolute; z-index:-1; inset:0; background:radial-gradient(circle at 100% 0%,rgb(167 119 57 / .18),transparent 48%); content:""; opacity:.55; transition:opacity 320ms ease; }
.bento-card::after { position:absolute; top:0; right:clamp(23px,3vw,38px); left:clamp(23px,3vw,38px); height:1px; background:linear-gradient(90deg,transparent,rgb(154 111 56 / .34),transparent); content:""; }
.bento-card h3 { max-width:20ch; margin-top:12px; }
.bento-card p { max-width:45ch; margin-top:10px; color:var(--muted); font-size:1rem; line-height:1.62; }
.card-kicker { color:#5c3f22; font-size:.75rem; font-weight:600; letter-spacing:.12em; line-height:1.4; text-transform:uppercase; } /* 7,7:1 sobre o card claro */
.index-cta { margin-top:20px; }
.subhead { margin-top:clamp(66px,9vw,126px); margin-bottom:18px; }
.others { display:grid; grid-template-columns:1fr; border-top:1px solid var(--line); }
.others li { border-bottom:1px solid var(--line); }
.others a { position:relative; display:grid; min-height:106px; grid-template-columns:1fr auto; gap:6px 18px; align-content:center; padding:18px 2px; text-decoration:none; }
.others a::after { grid-column:2; grid-row:1 / span 2; align-self:center; width:20px; height:20px; background:var(--gold-bright); content:""; -webkit-mask:var(--arrow) center / contain no-repeat; mask:var(--arrow) center / contain no-repeat; transition:transform 260ms var(--ease); }
.others h4 { transition:color 220ms ease; }
.others p { grid-column:1; color:var(--muted); font-size:.94rem; line-height:1.6; }
.go { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }

.audiences { display:grid; gap:12px; margin-top:clamp(38px,5vw,68px); }
/* Mesmo acabamento dos cards de Atuação: brilho no canto, filete superior e marcador dourado.
   O hover usa a propriedade translate para não brigar com o transform da aparição ao rolar. */
.audiences li { position:relative; isolation:isolate; overflow:hidden; min-height:170px; padding:clamp(24px,3vw,36px); border:1px solid var(--line); border-radius:var(--radius); background:linear-gradient(150deg,rgb(255 255 255 / .55),rgb(255 255 255 / .12) 60%),linear-gradient(150deg,rgb(131 91 46 / .08),transparent 65%); box-shadow:inset 0 1px 0 rgb(255 255 255 / .6),0 1px 2px rgb(80 54 31 / .06); transition:translate 280ms var(--ease),border-color 220ms ease,box-shadow 280ms var(--ease); }
.audiences li::before { position:absolute; z-index:-1; inset:0; background:radial-gradient(circle at 100% 0%,rgb(167 119 57 / .2),transparent 52%); content:""; opacity:.6; transition:opacity 320ms ease; }
.audiences li::after { position:absolute; top:0; right:clamp(24px,3vw,36px); left:clamp(24px,3vw,36px); height:1px; background:linear-gradient(90deg,transparent,rgb(154 111 56 / .45),transparent); content:""; }
.audiences h3 { max-width:18ch; }
.audiences h3::before { display:block; width:28px; height:2px; margin-bottom:18px; border-radius:2px; background:linear-gradient(90deg,#8c663a,#c9a368); content:""; }
.audiences p { max-width:37ch; margin-top:14px; color:var(--muted); }

.team { position:relative; display:grid; gap:34px; overflow:hidden; }
.team::before { position:absolute; top:18%; right:-.15em; color:rgb(137 93 46 / .075); content:"M&A"; font:600 clamp(8rem,24vw,23rem)/.8 var(--font-display); letter-spacing:-.09em; pointer-events:none; }
.team > h2,.people,.signature { position:relative; z-index:1; }
.people { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.people li { min-width:0; }
.portrait-frame { position:relative; isolation:isolate; overflow:hidden; aspect-ratio:4 / 5; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface-raised); }
.portrait-frame::before { position:absolute; z-index:1; inset:35% 0 0; background:linear-gradient(0deg,rgb(24 16 11 / .78),transparent); content:""; pointer-events:none; }
.portrait-mark { position:absolute; z-index:2; right:8px; bottom:0; left:8px; color:rgb(250 239 219 / .28); font:600 clamp(2rem,5vw,5.2rem)/.9 var(--font-display); letter-spacing:-.085em; white-space:nowrap; pointer-events:none; }
.portrait-frame picture,.portrait-frame img { width:100%; height:100%; }
.portrait { object-fit:cover; filter:saturate(.88) contrast(1.04); transition:transform 900ms var(--ease); }
.people h3 { margin-top:15px; font-size:clamp(1.08rem,1.8vw,1.7rem); }
.role { margin-top:7px; color:var(--gold-bright); font-size:.72rem; font-weight:600; letter-spacing:.1em; line-height:1.5; text-transform:uppercase; }
.role .num { display:block; margin-top:4px; color:var(--muted); letter-spacing:.045em; }
.bio { max-width:38ch; margin-top:11px; color:var(--muted); font-size:.94rem; line-height:1.6; }
.signature { max-width:780px; margin-top:20px; padding-top:26px; border-top:1px solid var(--line); }
.signature p { color:var(--ink); font-family:var(--font-display); font-size:clamp(1.55rem,3vw,3.15rem); font-weight:600; letter-spacing:-.045em; line-height:1.12; }
.signature figcaption { margin-top:16px; color:var(--gold-bright); font-size:.74rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; }

.section-dark .running-head { margin-bottom:clamp(38px,6vw,76px); }
.split { display:grid; gap:38px; }
.split-aside h2 { margin-bottom:.42em; }
.split-aside .btn { margin-top:25px; }
.steps-title { margin-bottom:10px; color:var(--muted) !important; font-family:var(--font-body); font-size:.76rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; }
.steps { border-top:1px solid var(--line); counter-reset:step; }
.steps li { position:relative; padding:22px 0 22px 48px; border-bottom:1px solid var(--line); counter-increment:step; }
.steps li::before { position:absolute; top:20px; left:0; color:var(--gold-bright); content:counter(step, decimal-leading-zero); font-family:var(--font-display); font-size:1.12rem; font-weight:600; }
.prepare { margin-top:30px; }
.checklist li { position:relative; padding:6px 0 6px 21px; color:var(--muted); }
.checklist li::before { position:absolute; top:calc(6px + .58em); left:2px; width:6px; height:6px; border:1px solid var(--gold-bright); border-radius:50%; content:""; }
.note { max-width:66ch; color:var(--muted); font-size:.91rem; }
.section-dark .note { color:#c8b59d; }
.aside-text { max-width:38ch; margin-top:18px; color:var(--muted); }
.aside-text a,.faq p a,.contact-info a { display:inline-block; min-height:44px; padding-block:10px; margin-block:-10px; color:var(--gold-bright); font-weight:600; }
.faq { border-top:1px solid var(--line); }
.faq details { border-bottom:1px solid var(--line); }
.faq summary { position:relative; min-height:68px; padding:20px 48px 19px 0; color:var(--ink); cursor:pointer; font-weight:600; line-height:1.45; list-style:none; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary::before,.faq summary::after { position:absolute; top:50%; right:6px; width:15px; height:1px; background:var(--muted); content:""; transition:transform 220ms var(--ease); }
.faq summary::after { transform:rotate(90deg); }
.faq details[open] summary::after { transform:rotate(0); }
.faq details p { max-width:64ch; padding:0 0 22px; color:var(--muted); }

.contact { overflow:hidden; background:var(--void); }
.contact-grid { display:grid; gap:42px; }
.contact h2 { max-width:13ch; margin-bottom:.32em; color:var(--ink); text-wrap:balance; }
.contact-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }
.contact-info { border-top:1px solid var(--line); }
.contact-info > div { padding:17px 0; border-bottom:1px solid var(--line); }
.contact-info dt { color:var(--gold-bright); font-size:.74rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; }
.contact-info dd { margin-top:6px; color:var(--ink); }
.contact-info address { line-height:1.55; }
.map-link { display:inline-flex !important; min-height:44px; align-items:center; color:var(--gold-bright) !important; font-size:.92rem; }
.map-link::after { width:.8em; height:.8em; margin-left:8px; background:currentColor; content:""; -webkit-mask:var(--arrow) center / contain no-repeat; mask:var(--arrow) center / contain no-repeat; }
.disclaimer { max-width:82ch; margin-top:clamp(56px,8vw,112px); padding-top:19px; border-top:1px solid var(--line); }
.site-footer { position:relative; isolation:isolate; overflow:hidden; padding:36px 0 calc(28px + var(--bar-h) + env(safe-area-inset-bottom,0px)); color:var(--muted); background:var(--void); border-top:1px solid var(--line); font-size:.93rem; }
.site-footer::after { position:absolute; z-index:-1; right:-130px; bottom:-220px; width:500px; aspect-ratio:1; border:1px solid var(--line); border-radius:50%; box-shadow:0 0 0 50px rgb(201 159 96 / .03),0 0 0 100px rgb(201 159 96 / .02); content:""; }
.footer-grid { display:grid; gap:28px; }
.site-footer .brand { margin-bottom:14px; }
.footer-title { margin-bottom:9px; color:var(--ink); font-size:.74rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; }
.site-footer a:not(.brand) { display:inline-flex; min-height:44px; align-items:center; color:var(--muted); }
.footer-note { margin-top:29px; padding-top:17px; border-top:1px solid var(--line); font-size:.87rem; }
.footer-brand { color:var(--ink); font:600 1.3rem/1.1 var(--font-display); }
.mobile-bar { position:fixed; z-index:50; right:0; bottom:0; left:0; display:grid; grid-template-columns:1fr 1fr; gap:8px; padding:8px var(--gutter) calc(8px + env(safe-area-inset-bottom,0px)); border-top:1px solid var(--line-bright); background:rgb(27 18 13 / .97); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); transition:transform 260ms var(--ease),visibility 260ms ease; }
.mobile-bar .btn { min-height:48px; padding-inline:12px; }
.mobile-bar.is-hero-cta-visible { visibility:hidden; transform:translateY(110%); }

/* Páginas de conteúdo e erro herdam o mesmo sistema. */
.page-simple { min-height:100vh; color:var(--ink); background:var(--void); }
.page-simple .site-footer { padding-bottom:38px; }
.page-simple h1 { margin-bottom:.45em; font-size:clamp(2.65rem,7vw,5.7rem); }
.page-simple main p { max-width:68ch; margin-bottom:1em; color:var(--muted); }
.prose h2 { margin:1.8em 0 .55em; font-size:clamp(1.45rem,2.3vw,2.1rem); }
.prose ul { margin:0 0 1em 1.2em; list-style:disc; }
.prose a { color:var(--gold-bright); font-weight:600; }

/* Os conteúdos permanecem legíveis se JavaScript ou IntersectionObserver falhar. */
[data-reveal] { opacity:1; transform:none; }
.has-motion [data-reveal] { opacity:0; transform:translate3d(0,18px,0); transition:opacity 680ms var(--ease),transform 680ms var(--ease); }
.has-motion [data-reveal].is-visible { opacity:1; transform:translate3d(0,0,0); }
.bento-grid [data-reveal]:nth-child(2),.others [data-reveal]:nth-child(2),.audiences [data-reveal]:nth-child(2) { transition-delay:80ms; }
.bento-grid [data-reveal]:nth-child(3),.others [data-reveal]:nth-child(3),.audiences [data-reveal]:nth-child(3) { transition-delay:150ms; }
.bento-grid [data-reveal]:nth-child(4),.others [data-reveal]:nth-child(4) { transition-delay:220ms; }
.bento-grid [data-reveal]:nth-child(5) { transition-delay:290ms; }
.bento-grid [data-reveal]:nth-child(6) { transition-delay:360ms; }

/* Hover só com mouse (no toque o :hover fica preso). Cards respondem com um leve deslocamento e sombra. */
@media (hover:hover) and (pointer:fine) {
  .btn:hover { transform:translateY(-2px); box-shadow:0 8px 30px rgb(144 103 49 / .24); }
  .btn:hover::before { transform:translateX(120%); }
  .btn-whatsapp:hover { background:var(--gold-bright); }
  .btn-outline:hover { background:rgb(194 151 84 / .1); }
  .link:hover::after { transform:scaleX(1); }
  .link-arrow:hover::before { transform:translate(3px,-3px); }
  .bento-card:hover { transform:translateY(-4px); border-color:rgb(120 84 46 / .55); box-shadow:0 18px 40px -18px rgb(80 54 31 / .38),inset 0 1px 0 rgb(255 255 255 / .2); }
  .bento-card:hover::before { opacity:1; }
  .audiences li:hover { translate:0 -4px; border-color:rgb(120 84 46 / .5); box-shadow:inset 0 1px 0 rgb(255 255 255 / .6),0 18px 40px -18px rgb(80 54 31 / .38); }
  .audiences li:hover::before { opacity:1; }
  .others a:hover::after { transform:translate(3px,-3px); }
  .others a:hover h4 { color:var(--gold-bright); }
  .people li:hover .portrait { transform:scale(1.025); }
  .site-footer a:not(.brand):hover { color:var(--gold-bright); }
}

@media (min-width:700px) {
  :root { --header-h:78px; }
  .site-header .btn-sm { padding-inline:18px; }
  .btn-label { display:inline; }
  .hero-inner { min-height:82svh; padding-block:28px 36px; }
  .hero h1 { grid-column:1/10; max-width:15ch; margin-block:clamp(30px,4vh,46px) 0; }
  .hero-foot { grid-template-columns:repeat(12,minmax(0,1fr)); column-gap:18px; margin-top:clamp(28px,4vh,42px); }
  .hero-foot > .lead { grid-column:1/6; }
  .hero-foot .hero-actions { grid-column:6/9; justify-content:flex-start; }
  .hero-foot .trust { grid-column:9/-1; grid-row:1/3; grid-template-columns:1fr; margin-top:0; padding-left:18px; border-left:1px solid var(--line); }
  .hero-foot .trust li,.hero-foot .trust li + li { min-height:0; padding:0 0 8px; border:0; }
  .hero-foot .trust li + li { padding-top:8px; border-top:1px solid var(--line); }
  .section-head { grid-template-columns:minmax(0,1fr) minmax(230px,.48fr); gap:42px; }
  .bento-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
  .bento-grid > li:last-child:nth-child(odd) { grid-column:1 / -1; }
  @supports (grid-template-rows:subgrid) {
    .bento-grid > li { grid-row:span 3; grid-template-rows:subgrid; row-gap:0; }
    .bento-card { display:grid; grid-row:1 / -1; grid-template-rows:subgrid; align-content:start; }
  }
  .others { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .others li:nth-child(odd) { padding-right:24px; }
  .others li:nth-child(even) { padding-left:24px; border-left:1px solid var(--line); }
  .audiences { gap:14px; }
  .people { gap:26px; }
  .footer-grid { grid-template-columns:1.2fr 1fr 1fr; gap:38px; }
  .site-footer { padding-bottom:34px; }
}

@media (min-width:1024px) {
  .site-nav { display:block; margin-left:auto; }
  .site-nav ul { display:flex; gap:5px; }
  .site-nav a { position:relative; display:inline-flex; min-height:44px; align-items:center; padding:0 12px; color:var(--muted); font-size:.93rem; font-weight:600; text-decoration:none; transition:color 180ms ease; }
  .site-nav a::after { position:absolute; right:12px; bottom:7px; left:12px; height:1px; background:var(--gold-bright); content:""; transform:scaleX(0); transform-origin:left; transition:transform 240ms var(--ease); }
  .site-nav a:hover,.site-nav a[aria-current="true"] { color:var(--ink); }
  .site-nav a:hover::after,.site-nav a[aria-current="true"]::after { transform:scaleX(1); }
  .site-header .btn { margin-left:12px; }
  .hero-inner { min-height:80svh; }
  .hero h1 { grid-column:1/10; max-width:none; }
  .hero-mono { top:13%; right:10%; width:min(28vw,390px); }
  .hero::after { top:13%; right:10%; width:min(28vw,390px); }
  .bento-grid { grid-template-columns:repeat(6,minmax(0,1fr)); }
  .bento-grid > li { grid-column:span 2; }
  .bento-grid > li:nth-child(n+4),.bento-grid > li:last-child:nth-child(odd) { grid-column:span 3; }
  .audiences { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .audiences li { min-height:204px; }
  .others { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .others li,.others li:nth-child(odd),.others li:nth-child(even) { padding-inline:18px; border-left:1px solid var(--line); }
  .others li:nth-child(3n+1) { padding-left:0; border-left:0; }
  .others li:nth-child(3n) { padding-right:0; }
  .others a { min-height:162px; align-content:center; }
  .team { grid-template-columns:minmax(230px,.55fr) minmax(0,1.45fr); column-gap:8vw; align-items:start; }
  .team > h2 { position:sticky; top:calc(var(--header-h) + 38px); }
  .team .people,.team .signature { grid-column:2; }
  .team::before { top:12%; right:0; }
  .split { grid-template-columns:minmax(0,.9fr) minmax(0,1fr); gap:clamp(58px,9vw,138px); }
  .split-aside { position:sticky; top:calc(var(--header-h) + 44px); }
  .contact-grid { grid-template-columns:minmax(0,1.2fr) minmax(280px,.7fr); gap:clamp(54px,9vw,142px); align-items:end; }
  .mobile-bar { display:none; }
}

@media (max-width:699px) {
  .hero-mono { top:19%; right:-27%; width:76vw; color:rgb(224 190 128 / .16); }
  .hero::after { top:22%; right:-28%; width:76vw; }
  .hero h1 { font-size:clamp(3rem,11.8vw,4.2rem); }
  .hero-foot { gap:18px; margin-top:28px; }
  .hero-foot > .lead,.hero-foot .hero-actions,.hero-foot .trust { grid-column:1/-1; }
  .hero-foot .hero-actions { gap:6px 18px; }
  .trust { display:flex; flex-wrap:wrap; gap:7px 12px; font-size:.76rem; }
  .trust li { padding:0; border:0; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  .has-motion [data-reveal] { opacity:1; transform:none; }
}
