/* Zirotti Strategic Advisory — hoja de estilos única.
   Fuentes autoalojadas (sin Google Fonts). Tokens heredados del diseño original. */

@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400 600;font-display:swap;src:url('/assets/fonts/cormorant-garamond-latin.woff2') format('woff2');}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:400 500;font-display:swap;src:url('/assets/fonts/cormorant-garamond-italic-latin.woff2') format('woff2');}
@font-face{font-family:'Roboto';font-style:normal;font-weight:300 500;font-stretch:100%;font-display:swap;src:url('/assets/fonts/roboto-latin.woff2') format('woff2');}

:root{
  --bg:#FAFAF8; --ink:#1C1C1E; --ink-2:#4A4A4C; --mute:#6B6B6E;
  --line:#D4D2CE; --line-2:#E5E3DF; --tint:#F5F4F1; --tint-2:#F1EFEA;
  --dark:#1C1C1E; --dark-2:#141416; --accent:#C9A882; --accent-ink:#8A6A43;
  --on-dark:#FAFAF8; --on-dark-2:#B9B9BB; --on-dark-3:#9C9C9E; --on-dark-4:#8C8C8E;
  --serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --sans:'Roboto',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
  --gutter:clamp(20px,5vw,56px); --max:1320px;
  --ease:cubic-bezier(.2,.7,.2,1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-weight:400;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img,svg{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
ul,ol{list-style:none;}
input,textarea,select,button{font-family:inherit;}
section[id]{scroll-margin-top:96px;}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;}
.skip{position:absolute;left:-9999px;top:8px;background:var(--ink);color:var(--bg);padding:10px 16px;z-index:200;font-size:13px;}
.skip:focus{left:8px;}
.wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--gutter);}

/* ---------- utilidades tipográficas ---------- */
.serif{font-family:var(--serif);}
.label{font-size:11px;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--mute);}
.num{font-family:var(--serif);font-weight:500;color:var(--accent-ink);}
.sec-head{display:flex;align-items:center;gap:16px;margin-bottom:clamp(40px,5vw,64px);}
.sec-head::after{content:'';flex:1;height:1px;background:var(--line);}
.sec-head--dark .label{color:var(--accent);}
.sec-head--dark::after{background:#333;}
.sec-head--bare::after{display:none;}
.lead{font-size:clamp(15px,1.5vw,18px);font-weight:300;line-height:1.65;color:var(--ink-2);}
.dark{background:var(--dark);color:var(--on-dark);}

/* ---------- botones ---------- */
.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 28px;border:1px solid transparent;font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;background:none;transition:background .35s ease,color .35s ease,border-color .35s ease;}
.btn--fill{background:var(--ink);border-color:var(--ink);color:var(--bg);}
.btn--fill:hover{background:var(--accent);border-color:var(--accent);color:var(--ink);}
.btn--line{border-color:var(--line);color:var(--ink);}
.btn--line:hover{border-color:var(--ink);}
.btn--accent{background:var(--accent);border-color:var(--accent);color:var(--ink);padding-inline:30px;}
.btn--accent:hover{background:var(--bg);border-color:var(--bg);}
.btn--ghost-dark{border-color:#3a3a3c;color:var(--on-dark);}
.btn--ghost-dark:hover{border-color:var(--on-dark);}
.btn[disabled]{opacity:.6;cursor:wait;}

/* ---------- cabecera ---------- */
.site-header{position:sticky;top:0;z-index:50;background:rgba(250,250,248,.88);-webkit-backdrop-filter:saturate(140%) blur(12px);backdrop-filter:saturate(140%) blur(12px);border-bottom:1px solid var(--line-2);}
.site-header[data-scrolled="1"]{box-shadow:0 1px 0 var(--line-2),0 8px 30px -24px rgba(28,28,30,.5);}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-block:18px;}
.brand{display:flex;align-items:center;gap:13px;}
.brand img{width:34px;height:34px;}
.brand-text{display:flex;flex-direction:column;gap:2px;}
.brand-name{font-family:var(--serif);font-weight:500;font-size:20px;letter-spacing:.14em;text-transform:uppercase;line-height:1;}
.brand-sub{font-size:8px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:var(--accent-ink);line-height:1;}
.nav{display:flex;align-items:center;gap:clamp(18px,2.4vw,38px);flex-wrap:wrap;}
.nav-link{position:relative;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);}
.nav-link::after{content:'';position:absolute;left:0;bottom:-4px;height:1px;width:0;background:var(--accent);transition:width .35s var(--ease);}
.nav-link:hover::after,.nav-link[aria-current="page"]::after{width:100%;}
.nav-link[aria-current="page"]{color:var(--ink);}
.lang{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:500;letter-spacing:.12em;color:var(--mute);border-left:1px solid var(--line);padding-left:clamp(14px,1.8vw,22px);}
.lang [aria-current="true"]{color:var(--ink);}
.lang a:hover{color:var(--ink);}
.lang span[aria-hidden]{opacity:.5;}

/* ---------- portada ---------- */
.hero{position:relative;padding-block:clamp(56px,9vw,128px) clamp(48px,7vw,96px);}
.hero-mark{position:absolute;top:clamp(40px,7vw,90px);right:clamp(10px,4vw,56px);width:min(38vw,440px);opacity:.05;pointer-events:none;}
.hero-mark img{width:90%;}
.eyebrow{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:7px 12px;font-size:12px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--mute);margin-bottom:clamp(28px,5vw,52px);}
.eyebrow i{font-style:normal;opacity:.45;}
.eyebrow span{white-space:nowrap;}
.display{position:relative;font-family:var(--serif);font-weight:400;font-size:clamp(44px,8.5vw,124px);line-height:.98;letter-spacing:-.01em;max-width:14ch;}
.display em{font-style:italic;font-weight:500;color:var(--accent);}
.hero h1{position:relative;font-family:var(--serif);font-weight:400;font-size:clamp(22px,2.6vw,34px);line-height:1.25;max-width:30ch;margin-top:clamp(28px,4vw,48px);}
.hero-cta{position:relative;display:flex;flex-wrap:wrap;gap:clamp(24px,4vw,56px);align-items:flex-end;margin-top:clamp(20px,3vw,32px);}
.hero-cta .lead{max-width:46ch;}
.btn-row{display:flex;gap:14px;flex-wrap:wrap;}
.lines{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line-2);border-block:1px solid var(--line-2);margin-top:clamp(44px,6vw,80px);}
.lines a{display:flex;flex-direction:column;gap:10px;background:var(--bg);padding:clamp(22px,2.4vw,30px) clamp(20px,2vw,28px);transition:background .4s ease;}
.lines a:hover{background:var(--tint-2);}
.lines .num{font-size:14px;}
.lines strong{font-family:var(--serif);font-weight:500;font-size:clamp(24px,2.4vw,30px);line-height:1;letter-spacing:.01em;}
.lines .sub{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);}
.arrow{display:inline-block;color:var(--ink);transition:transform .4s var(--ease),color .4s ease;}
.lines a:hover .arrow,.svc-row:hover .arrow{transform:translateX(6px);color:var(--accent);}

/* ---------- enunciado oscuro ---------- */
.statement .wrap{padding-block:clamp(64px,9vw,128px);}
.statement h2{font-family:var(--serif);font-weight:400;font-size:clamp(28px,4.6vw,62px);line-height:1.12;letter-spacing:-.005em;max-width:20ch;}
.statement h2 em,.cta h2 em{color:var(--accent);font-style:italic;}
.statement p{font-size:clamp(14px,1.4vw,17px);font-weight:300;line-height:1.7;color:var(--on-dark-3);max-width:60ch;margin-top:clamp(26px,3vw,38px);}

/* ---------- servicios (portada) ---------- */
.services{padding-block:clamp(64px,9vw,120px) clamp(40px,6vw,72px);}
.svc-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(20px,4vw,56px);align-items:start;padding:clamp(28px,4vw,48px) clamp(16px,2.5vw,32px);border-top:1px solid var(--ink);transition:background .4s ease;}
.svc-row:hover{background:var(--tint);}
.svc-row .num{font-size:clamp(15px,1.4vw,17px);padding-top:8px;}
.svc-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.4fr);gap:clamp(18px,3vw,48px);align-items:start;}
.svc-grid h3{font-family:var(--serif);font-weight:500;font-size:clamp(34px,4.4vw,58px);line-height:1;letter-spacing:.01em;}
.svc-kind{font-size:12px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--mute);margin-top:12px;}
.svc-body{display:flex;flex-direction:column;gap:18px;}
.svc-body p{font-size:clamp(14px,1.4vw,16px);font-weight:300;line-height:1.65;color:var(--ink-2);}
.svc-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.svc-foot .quote{font-size:11px;font-weight:500;color:var(--mute);letter-spacing:.14em;text-transform:uppercase;}
.svc-foot .go{display:inline-flex;align-items:center;gap:9px;font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;}

/* ---------- sectores ---------- */
.sectors{background:var(--tint);}
.sectors .wrap,.method .wrap{padding-block:clamp(64px,9vw,120px);}
.cells{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);}
.cell{background:var(--bg);padding:clamp(28px,3vw,40px);display:flex;flex-direction:column;gap:14px;min-height:230px;}
.cell .num{font-size:20px;}
.cell h3{font-family:var(--serif);font-weight:500;font-size:clamp(22px,2.2vw,28px);line-height:1.1;}
.cell p{font-size:14px;font-weight:300;line-height:1.6;color:var(--ink-2);margin-top:auto;}

/* ---------- método ---------- */
.principles{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:clamp(28px,3vw,44px);}
.principles li{border-top:2px solid var(--ink);padding-top:22px;}
.principles li:first-child{border-top-color:var(--accent);}
.principles h3{font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(26px,2.6vw,34px);margin-bottom:12px;}
.principles p{font-size:14px;font-weight:300;line-height:1.65;color:var(--ink-2);}

/* ---------- contacto + formulario ---------- */
.contact .wrap{padding-block:clamp(64px,9vw,128px);display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(40px,6vw,88px);}
.contact h2{font-family:var(--serif);font-weight:400;font-size:clamp(32px,4.4vw,58px);line-height:1.06;letter-spacing:-.005em;max-width:14ch;}
.contact .intro{font-size:clamp(14px,1.4vw,16px);font-weight:300;line-height:1.7;color:var(--on-dark-3);max-width:42ch;margin-top:24px;}
.contact-list{display:flex;flex-direction:column;gap:18px;margin-top:clamp(34px,4vw,48px);padding-top:30px;border-top:1px solid #333;}
.contact-list li,.contact-list a{display:flex;align-items:baseline;gap:14px;}
.contact-list .k{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--on-dark-4);min-width:78px;}
.contact-list .v{font-size:15px;font-weight:300;}
.contact-list a{position:relative;width:fit-content;}
.contact-list a .v{position:relative;}
.contact-list a .v::after{content:'';position:absolute;left:0;bottom:-4px;height:1px;width:0;background:var(--accent);transition:width .35s var(--ease);}
.contact-list a:hover .v::after{width:100%;}
.form{display:flex;flex-direction:column;gap:26px;}
.form label{display:flex;flex-direction:column;gap:9px;}
.form label>span{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--on-dark-4);}
.field{background:none;border:none;border-bottom:1px solid #3a3a3c;border-radius:0;color:var(--on-dark);font-size:16px;font-weight:300;padding:8px 0;transition:border-color .3s ease;width:100%;}
select.field{background:var(--dark);}
textarea.field{resize:vertical;}
.field:focus{outline:none;border-color:var(--accent);}
.form .btn{align-self:flex-start;margin-top:8px;}
.honey{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.form-note{font-size:12px;font-weight:300;line-height:1.6;color:var(--on-dark-4);max-width:52ch;}
.form-note a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;}
.thanks{border:1px solid #333;padding:clamp(32px,4vw,48px);display:flex;flex-direction:column;gap:16px;align-items:flex-start;}
.thanks img{width:46px;}
.thanks h3{font-family:var(--serif);font-weight:500;font-size:30px;line-height:1.1;}
.thanks p{font-size:15px;font-weight:300;line-height:1.7;color:var(--on-dark-3);}
.thanks a{color:var(--accent);}
.form-error{font-size:13px;color:#f0b8a8;}
[hidden]{display:none !important;}

/* ---------- pie ---------- */
.site-footer{background:var(--dark-2);color:var(--on-dark-3);}
.footer-main{display:flex;flex-wrap:wrap;gap:40px;justify-content:space-between;align-items:flex-start;padding-block:clamp(44px,6vw,72px);}
.footer-brand{display:flex;flex-direction:column;gap:14px;}
.footer-brand .row{display:flex;align-items:center;gap:12px;}
.footer-brand img{width:30px;}
.footer-brand .brand-name{font-size:18px;color:var(--on-dark);}
.footer-brand .brand-sub{color:var(--accent);}
.footer-brand p{font-family:var(--serif);font-style:italic;font-size:16px;color:#8a8a8c;max-width:30ch;}
.footer-cols{display:flex;gap:clamp(36px,5vw,72px);flex-wrap:wrap;}
.footer-col{display:flex;flex-direction:column;gap:12px;}
.footer-col h2{font-family:var(--sans);font-size:10px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:#8C8C8E;}
.footer-col a,.footer-col span{font-size:13px;font-weight:300;color:var(--on-dark-3);width:fit-content;}
.footer-col a{position:relative;}
.footer-col a::after{content:'';position:absolute;left:0;bottom:-4px;height:1px;width:0;background:var(--accent);transition:width .35s var(--ease);}
.footer-col a:hover::after{width:100%;}
.footer-base{border-top:1px solid #242426;}
.footer-base .wrap{padding-block:18px;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;font-size:10px;letter-spacing:.14em;color:#8C8C8E;}
.footer-base nav{display:flex;gap:16px;flex-wrap:wrap;text-transform:uppercase;}
.footer-base a:hover{color:var(--on-dark);}
.footer-base .where{text-transform:uppercase;}

/* ---------- páginas de línea ---------- */
.crumbs{padding-top:clamp(28px,4vw,44px);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);}
.crumbs ol{display:flex;flex-wrap:wrap;gap:8px;}
.crumbs li+li::before{content:'/';margin-right:8px;opacity:.5;}
.crumbs a:hover{color:var(--ink);}
.page-hero{padding-block:clamp(28px,5vw,64px) clamp(44px,6vw,88px);}
.page-hero .line-tag{display:flex;align-items:center;gap:14px;margin-bottom:clamp(20px,3vw,32px);}
.page-hero .line-tag .num{font-size:15px;}
.page-hero .line-tag .label{letter-spacing:.3em;}
.page-hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(34px,5.6vw,78px);line-height:1.04;letter-spacing:-.01em;max-width:18ch;}
.page-hero h1 .brandword{display:block;font-weight:500;letter-spacing:.02em;margin-bottom:.12em;}
.page-hero h1 em{font-style:italic;color:var(--accent-ink);}
.page-hero .lead{max-width:58ch;margin-top:clamp(24px,3vw,36px);}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line-2);border-block:1px solid var(--line-2);margin-top:clamp(36px,5vw,64px);}
.stats>div{background:var(--bg);padding:clamp(22px,2.4vw,32px) clamp(20px,2vw,28px);display:flex;flex-direction:column;gap:8px;}
.stats strong{font-family:var(--serif);font-weight:500;font-size:clamp(34px,3.6vw,48px);line-height:1;font-variant-numeric:lining-nums;}
.stats span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);}

.block{padding-block:clamp(56px,8vw,104px);}
.block--tint{background:var(--tint);}
.value{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(28px,5vw,80px);align-items:start;}
.value h2,.h2{font-family:var(--serif);font-weight:400;font-size:clamp(28px,3.8vw,50px);line-height:1.1;letter-spacing:-.005em;}
.value h2 em,.h2 em{font-style:italic;color:var(--accent-ink);}
.prose{display:flex;flex-direction:column;gap:18px;}
.prose p{font-size:clamp(15px,1.4vw,17px);font-weight:300;line-height:1.75;color:var(--ink-2);}

.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:clamp(20px,2.4vw,32px);}
.card{background:var(--bg);border:1px solid var(--line);padding:clamp(26px,3vw,40px);display:flex;flex-direction:column;gap:20px;}
.card-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line-2);padding-bottom:18px;}
.card-head .tag{font-size:11px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--accent-ink);}
.card h3{font-family:var(--serif);font-weight:500;font-size:clamp(26px,2.6vw,34px);line-height:1.08;}
.card dl{display:grid;grid-template-columns:minmax(96px,.35fr) 1fr;gap:14px 20px;}
.card dt{font-size:10px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--mute);padding-top:4px;}
.card dd{font-size:14.5px;font-weight:300;line-height:1.6;color:var(--ink-2);}
.card-foot{margin-top:auto;padding-top:18px;border-top:1px solid var(--line-2);}
.card-foot strong{display:block;font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;}
.card-foot span{display:block;font-size:13px;font-weight:300;color:var(--mute);margin-top:4px;}
.badge{display:inline-block;font-size:10px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;border:1px solid var(--accent);color:var(--accent-ink);padding:5px 10px;}

.sector-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);}
.sector-list li{background:var(--bg);padding:clamp(24px,2.6vw,34px);}
.sector-list h3{font-family:var(--serif);font-weight:500;font-size:clamp(22px,2.2vw,26px);line-height:1.1;margin-bottom:10px;}
.sector-list p{font-size:14px;font-weight:300;line-height:1.6;color:var(--ink-2);}

.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:clamp(24px,3vw,40px);counter-reset:s;}
.steps li{display:flex;flex-direction:column;gap:12px;border-top:1px solid var(--ink);padding-top:20px;}
.steps .num{font-size:20px;}
.steps p{font-size:14.5px;font-weight:300;line-height:1.65;color:var(--ink-2);}

.fundae{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,5vw,80px);align-items:start;}
.fundae .big{font-family:var(--serif);font-weight:500;font-size:clamp(64px,9vw,128px);line-height:.9;color:var(--accent-ink);font-variant-numeric:lining-nums;}
.fundae .big small{display:block;font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--mute);margin-top:14px;}

.faq{max-width:900px;}
.faq details{border-top:1px solid var(--line);padding-block:4px;}
.faq details:last-child{border-bottom:1px solid var(--line);}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding-block:22px;font-family:var(--serif);font-weight:500;font-size:clamp(20px,2vw,26px);line-height:1.2;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:'+';font-family:var(--sans);font-weight:300;font-size:26px;color:var(--accent-ink);transition:transform .3s var(--ease);flex:none;}
.faq details[open] summary::after{transform:rotate(45deg);}
.faq details p{font-size:15px;font-weight:300;line-height:1.75;color:var(--ink-2);padding-bottom:24px;max-width:68ch;}

.cta .wrap{padding-block:clamp(56px,8vw,104px);display:flex;flex-wrap:wrap;gap:32px 56px;align-items:center;justify-content:space-between;}
.cta h2{font-family:var(--serif);font-weight:400;font-size:clamp(30px,4vw,52px);line-height:1.08;max-width:18ch;}
.cta p{font-size:clamp(14px,1.4vw,16px);font-weight:300;line-height:1.7;color:var(--on-dark-3);max-width:48ch;margin-top:18px;}

.others{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:1px;background:var(--line);border:1px solid var(--line);}
.others a{background:var(--bg);padding:clamp(24px,2.6vw,34px);display:flex;flex-direction:column;gap:10px;transition:background .4s ease;}
.others a:hover{background:var(--tint-2);}
.others a:hover .arrow{transform:translateX(6px);color:var(--accent);}
.others strong{font-family:var(--serif);font-weight:500;font-size:clamp(26px,2.6vw,32px);line-height:1;}
.others span.d{font-size:14px;font-weight:300;line-height:1.6;color:var(--ink-2);}

/* ---------- legal ---------- */
.legal-head{padding-block:clamp(28px,5vw,64px) clamp(28px,4vw,48px);}
.legal-head h1{font-family:var(--serif);font-weight:400;font-size:clamp(34px,5vw,64px);line-height:1.05;margin-top:18px;max-width:20ch;}
.subtabs{display:flex;gap:10px;flex-wrap:wrap;margin-top:32px;}
.subtabs a{font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;border:1px solid var(--line);padding:10px 18px;transition:border-color .3s ease;}
.subtabs a:hover{border-color:var(--ink);}
.legal{max-width:820px;padding-block:clamp(32px,4vw,56px);border-top:1px solid var(--line-2);}
.legal h2{font-family:var(--serif);font-weight:500;font-size:clamp(28px,3.2vw,40px);margin-bottom:22px;}
.legal h3{font-family:var(--serif);font-weight:500;font-size:22px;margin:30px 0 10px;}
.legal p,.legal li{font-size:15px;font-weight:300;line-height:1.75;color:var(--ink-2);}
.legal p+p,.legal ul{margin-top:12px;}
.legal ul{padding-left:20px;list-style:disc;display:flex;flex-direction:column;gap:6px;}
.legal a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--accent);}
.legal strong{font-weight:500;color:var(--ink);}

/* ---------- 404 ---------- */
.notfound{padding-block:clamp(80px,14vw,200px);}
.notfound h1{font-family:var(--serif);font-weight:400;font-size:clamp(40px,7vw,96px);line-height:1;margin:18px 0 28px;}

/* ---------- responsive ---------- */
@media (max-width:980px){
  .cells,.sector-list{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:860px){
  .value,.fundae{grid-template-columns:1fr;}
}
@media (max-width:560px){
  .cells,.sector-list,.lines,.stats{grid-template-columns:1fr;}
  .cell{min-height:0;gap:10px;}
  .cell p{margin-top:0;}
}
@media (max-width:680px){
  section[id]{scroll-margin-top:172px;}
  .eyebrow{letter-spacing:.16em;font-size:11px;gap:5px 9px;}
  .svc-row{grid-template-columns:auto minmax(0,1fr);column-gap:18px;}
  .svc-grid{grid-template-columns:1fr;gap:16px;}
  .svc-grid h3{font-size:38px;}
  .card dl{grid-template-columns:1fr;gap:4px;}
  .card dt{padding-top:10px;}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{transition:none !important;}
}
@media print{
  .site-header,.cta,.contact,.site-footer{display:none;}
}
