/* ============ REDON — tipografía: Spartan (archivos de marca, en /fonts) ============ */
@font-face{font-family:"Spartan";src:url(fonts/Spartan-Light.woff2) format("woff2");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"Spartan";src:url(fonts/Spartan-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Spartan";src:url(fonts/Spartan-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Spartan";src:url(fonts/Spartan-Black.woff2) format("woff2");font-weight:900;font-style:normal;font-display:swap}

/* ============ REDON — design tokens ============ */
:root{
  --cream:#F3F2ED; --cream-2:#E9E7E0; --night:#0C0D12; --night-2:#16181F;
  --blue:#414FFF; --blue-l:#6775FF; --navy:#25293A;
  /* light (default) */
  --bg:var(--cream); --fg:var(--night); --mute:#676A78; --line:rgba(12,13,18,.13); --accent:var(--blue); --card:var(--cream-2);
  --gut:clamp(16px,3.2vw,48px);
  --ease:cubic-bezier(.7,0,.2,1);
  --sans:"Spartan",system-ui,sans-serif;
  --serif:var(--sans);   /* sin serif: los acentos se marcan con color y peso */
  --wc-font:"Spartan",sans-serif;
}
.dark{--bg:var(--night); --fg:var(--cream); --mute:#9598A6; --line:rgba(243,242,237,.14); --accent:var(--blue-l); --card:var(--night-2); background:var(--bg); color:var(--fg)}
.blue{--bg:var(--blue); --fg:#fff; --mute:rgba(255,255,255,.75); --line:rgba(255,255,255,.28); --accent:#fff; background:var(--bg); color:var(--fg)}

*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{background:var(--bg);color:var(--fg);font-family:var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.loading{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
::selection{background:var(--blue);color:#fff}
em{font-style:normal;font-weight:inherit;letter-spacing:inherit;color:var(--accent)}
body::after{content:"";position:fixed;inset:-50%;z-index:90;pointer-events:none;opacity:.05;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  animation:grain 1.2s steps(6) infinite}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-4%)}60%{transform:translate(-4%,-1%)}80%{transform:translate(3%,3%)}100%{transform:translate(0,0)}}

/* logo (colors via custom props so they cross <use>) */
.logo{display:block;height:auto;--la:var(--blue);--lb:var(--fg)}

/* ============ loader + curtain ============ */
.loader{position:fixed;inset:0;z-index:100;background:var(--blue);color:#fff;display:grid;place-items:center}
.loader .logo{width:min(46vw,420px);--la:#fff;--lb:#fff}
.loader__count{position:absolute;right:var(--gut);bottom:var(--gut);font-size:clamp(64px,14vw,200px);font-weight:800;font-variation-settings:"wdth" 125;line-height:.8;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.loader__note{position:absolute;left:var(--gut);bottom:var(--gut);font-size:13px;letter-spacing:.08em;text-transform:uppercase;max-width:22ch;line-height:1.4}
.curtain{position:fixed;inset:0;z-index:99;background:var(--blue);display:grid;place-items:center;pointer-events:none;clip-path:inset(100% 0 0 0)}
.curtain.cover{clip-path:inset(0 0 0 0)}
.curtain svg{width:min(18vw,90px);fill:#fff}

/* ============ nav ============ */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:22px var(--gut);mix-blend-mode:difference;color:#fff}
.nav .logo{width:118px;--la:#fff;--lb:#fff}
.nav__links{display:flex;gap:34px;font-size:13px;letter-spacing:.1em;text-transform:uppercase}
.nav__links a{position:relative;overflow:hidden;display:inline-block;height:1.2em;line-height:1.2em}
.roll{display:inline-flex;flex-direction:column;transition:transform .5s var(--ease)}
.roll span:last-child{font-family:var(--serif);font-size:1.15em}
a:hover .roll{transform:translateY(-50%)}
.nav__cta{display:inline-flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.55);border-radius:99px;padding:10px 18px;font-size:13px;letter-spacing:.1em;text-transform:uppercase;transition:background .3s,color .3s}
.nav__cta:hover{background:#fff;color:#000}
.nav__menu{display:none;font-size:14px;letter-spacing:.06em;text-transform:uppercase}
@media (max-width:820px){.nav__links,.nav__cta{display:none}.nav__menu{display:block}}
/* scrolled: solid white bar, content passes behind, logo in brand colours */
.nav::before{content:"";position:absolute;inset:0;z-index:-1;background:#fff;box-shadow:0 1px 0 rgba(12,13,18,.08);transform:translateY(-101%);transition:transform .5s var(--ease)}
.nav{transition:padding .5s var(--ease)}
.nav .logo path{transition:fill .35s}
.nav.is-solid{mix-blend-mode:normal;color:var(--night);padding-block:14px}
.nav.is-solid::before{transform:none}
.nav.is-solid .logo{--la:var(--blue);--lb:var(--night)}
.nav.is-solid .nav__cta{border-color:rgba(12,13,18,.3)}
.nav.is-solid .nav__cta:hover{background:var(--blue);border-color:var(--blue);color:#fff}
.sheet{position:fixed;inset:0;z-index:60;background:var(--blue);color:#fff;padding:90px var(--gut) var(--gut);display:flex;flex-direction:column;justify-content:space-between;clip-path:inset(0 0 100% 0);transition:clip-path .8s var(--ease)}
.sheet.open{clip-path:inset(0 0 0 0)}
.sheet nav a{display:block;font-size:13vw;font-weight:800;font-variation-settings:"wdth" 120;line-height:1;letter-spacing:-.03em;text-transform:uppercase;padding:.08em 0;border-bottom:1px solid rgba(255,255,255,.25)}
.sheet__close{position:absolute;top:22px;right:var(--gut);font-size:14px;letter-spacing:.06em;text-transform:uppercase}

/* ============ shared type ============ */
.eyebrow{display:flex;align-items:center;gap:12px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent)}
.line-mask{display:block;overflow:hidden;padding:.16em 0 .08em;margin:-.16em 0 -.08em}
.line-mask>span{display:block;will-change:transform}
.display{font-weight:800;font-variation-settings:"wdth" 125;letter-spacing:-.045em;line-height:.86;text-transform:uppercase}
.display em{text-transform:none;letter-spacing:-.02em;font-size:1.08em;color:var(--accent)}
.sec-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:clamp(40px,6vw,90px)}
.sec-head h2{font-size:clamp(48px,10vw,180px)}
.sec-head p{max-width:30ch;color:var(--mute);line-height:1.5;font-size:15px}
@media (max-width:820px){.sec-head{flex-direction:column;align-items:flex-start}}
.btn{display:inline-flex;align-items:center;gap:14px;border-radius:99px;padding:8px 22px 8px 8px;font-size:15px;font-weight:500;white-space:nowrap;transition:background .3s,color .3s;background:#fff;color:#000}
.btn i{width:44px;height:44px;border-radius:50%;background:var(--blue);display:grid;place-items:center;transition:background .3s}
.btn i svg{fill:#fff;transition:fill .3s}
.btn:hover{background:var(--blue);color:#fff}
.btn:hover i{background:#fff}.btn:hover i svg{fill:var(--blue)}
.btn-ghost{border:1px solid var(--line);border-radius:99px;padding:16px 28px;font-size:14px;transition:background .3s,color .3s,border-color .3s}
.btn-ghost:hover{background:var(--fg);color:var(--bg);border-color:var(--fg)}

/* ============ video bg (vimeo cover) ============ */
.vbg{position:absolute;inset:0;overflow:hidden;background:#000}
.vbg>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .8s ease,transform 1.2s var(--ease)}
.vbg iframe{position:absolute;top:50%;left:50%;border:0;pointer-events:none;opacity:0;transition:opacity .8s ease;
  width:max(100%, calc(100cqh * var(--ar,1.778)));height:max(100%, calc(100cqw / var(--ar,1.778)));transform:translate(-50%,-50%)}
.vbg{container-type:size}
.vbg.playing iframe{opacity:1}
.vbg.playing>img{opacity:0}

/* ============ cards ============ */
.card{display:block}
.card__media{position:relative;overflow:hidden;border-radius:14px;background:var(--card);aspect-ratio:16/10}
.card__media .vbg>img{inset:-8% 0;height:116%}
.card:hover .card__media .vbg>img{transform:scale(1.05)}
.card__meta{display:flex;justify-content:space-between;gap:16px;margin-top:18px;align-items:baseline}
.card__b{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.card__t{font-size:clamp(22px,2.3vw,36px);font-weight:600;letter-spacing:-.025em;font-variation-settings:"wdth" 105;line-height:1.05;margin-top:6px}
.card__n{font-family:var(--serif);font-size:22px;color:var(--mute)}
.card__tag{position:absolute;left:14px;top:14px;z-index:2;font-size:11px;letter-spacing:.12em;text-transform:uppercase;background:rgba(255,255,255,.9);color:#000;border-radius:99px;padding:6px 10px;display:flex;gap:6px;align-items:center;opacity:0;transform:translateY(-6px);transition:opacity .4s,transform .4s var(--ease)}
.card__tag::before{content:"";width:6px;height:6px;border-radius:50%;background:#e5322d;animation:blink 1s infinite}
@keyframes blink{50%{opacity:.2}}
.card:hover .card__tag{opacity:1;transform:none}

/* ============ lightbox ============ */
.lb{position:fixed;inset:0;z-index:80;background:rgba(12,13,18,.95);backdrop-filter:blur(8px);color:var(--cream);display:grid;place-items:center;opacity:0;pointer-events:none;transition:opacity .5s}
.lb.open{opacity:1;pointer-events:auto}
.lb__box{width:min(1200px,92vw)}
.lb__frame{aspect-ratio:16/9;background:#000;border-radius:14px;overflow:hidden}
.lb__frame iframe{width:100%;height:100%;border:0}
.lb__cap{display:flex;justify-content:space-between;gap:24px;margin-top:20px;align-items:start}
.lb__cap h3{font-size:clamp(22px,2.4vw,36px);font-weight:600;letter-spacing:-.02em;font-variation-settings:"wdth" 105}
.lb__cap h3 small{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#9598A6;font-weight:400;margin-bottom:6px}
.lb__cap a{border-bottom:1px solid rgba(243,242,237,.3);white-space:nowrap;font-size:14px}
.lb__x{position:absolute;top:22px;right:var(--gut);font-size:14px;letter-spacing:.08em;text-transform:uppercase;display:flex;align-items:center;gap:10px;color:var(--cream)}
.lb__x i{width:44px;height:44px;border:1px solid rgba(243,242,237,.3);border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:20px}


/* ============ footer ============ */
.site-foot{padding:clamp(64px,8vw,110px) var(--gut) 28px}
.f-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;padding-bottom:clamp(40px,5vw,64px);border-bottom:1px solid var(--line)}
.f-logo{display:block;width:clamp(200px,24vw,340px)}
.f-logo svg{display:block;width:100%;height:auto;overflow:visible}
.f-claim{font-size:clamp(28px,3.2vw,52px);font-weight:500;letter-spacing:-.03em;line-height:1;font-variation-settings:"wdth" 92}
.f-claim em{color:var(--accent)}
.f-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:var(--gut);padding:clamp(36px,4vw,56px) 0}
.f-col{display:flex;flex-direction:column;align-items:flex-start;gap:10px;font-size:16px}
.f-lbl{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-bottom:6px}
.f-link{border-bottom:1px solid transparent;transition:border-color .3s,color .3s}
.f-link:hover{border-color:currentColor;color:var(--accent)}
.f-place{display:flex;gap:18px;align-items:flex-start}
.f-place address{font-style:normal;line-height:1.5;font-size:16px}
.f-pinwrap{position:relative;flex:none}
.f-pin{width:52px;height:52px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;transition:transform .5s var(--ease),background .3s}
.f-pin:hover,.f-pin[aria-expanded="true"]{background:#fff;color:var(--blue);transform:translateY(-3px)}
.f-pin svg{transition:transform .5s var(--ease)}
.f-pin:hover svg{transform:translateY(-2px)}
.f-maps{position:absolute;left:0;bottom:calc(100% + 10px);z-index:5;min-width:190px;background:var(--cream);color:var(--night);border-radius:14px;padding:6px;box-shadow:0 18px 40px rgba(0,0,0,.35);display:flex;flex-direction:column}
.f-maps[hidden]{display:none}
.f-maps a{display:flex;justify-content:space-between;gap:16px;padding:12px 14px;border-radius:10px;font-size:15px;font-weight:500;transition:background .25s,color .25s}
.f-maps a:hover{background:var(--blue);color:#fff}
.f-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:22px;border-top:1px solid var(--line);font-size:13px;color:var(--mute)}
.f-top{font-size:13px;color:var(--mute);transition:color .3s}
.f-top:hover{color:var(--fg)}
@media (max-width:900px){.f-grid{grid-template-columns:1fr 1fr;row-gap:40px}.f-visit{grid-column:1/-1}}


@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition-duration:.01ms!important}
}

/* ============ case study (content/casos.json) ============ */
.c-badges{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0 0 22px}
.c-badge{display:inline-flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line);border-radius:99px;padding:7px 12px}
.c-badge i,.c-aw i{width:9px;height:9px;border-radius:50%;flex:none;background:var(--mute)}
i.oro,i.uno{background:#E2B64C}i.plata{background:#C9CCD6}i.bronce{background:#B87A4B}
.c-case{padding:clamp(100px,12vw,180px) var(--gut) clamp(80px,10vw,140px)}
.c-case>.eyebrow{margin-bottom:clamp(36px,4vw,56px)}
.c-case__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gut);border-top:1px solid var(--line)}
.c-step{padding-top:28px}
.c-step__n{font-family:var(--serif);font-size:22px;color:var(--mute)}
.c-step__t{font-size:clamp(28px,2.8vw,46px);font-weight:600;letter-spacing:-.03em;line-height:1;font-variation-settings:"wdth" 92;margin:10px 0 20px}
.c-step p{font-size:clamp(17px,1.35vw,20px);line-height:1.55;color:var(--mute);max-width:40ch}
.c-step:nth-child(3) .c-step__t{color:var(--accent)}
.c-step:nth-child(3) p{color:var(--fg)}
.c-case__foot{display:grid;grid-template-columns:1.2fr 1fr;gap:var(--gut);margin-top:clamp(56px,6vw,90px)}
.c-k{font-size:12px;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-bottom:14px}
.c-k--sub{margin-top:32px}
.c-awards ul{list-style:none;border-top:1px solid var(--line)}
.c-aw{display:grid;grid-template-columns:auto 1fr 1.4fr auto;gap:14px;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--line);font-size:clamp(15px,1.2vw,18px)}
.c-aw i{align-self:center}
.c-aw__p{font-weight:600}
.c-aw__c{color:var(--mute)}
.c-aw__y{font-variant-numeric:tabular-nums;color:var(--mute)}
.c-case .c-credits{margin-top:0;align-self:start}
@media (max-width:900px){.c-case__grid,.c-case__foot{grid-template-columns:1fr}.c-aw{grid-template-columns:auto 1fr auto}.c-aw__c{grid-column:2/-1;grid-row:2}}

/* ---------- contact form (home + agencia) ---------- */
#form{display:grid;grid-template-columns:1fr 1fr;gap:28px 24px}
.f{display:flex;flex-direction:column}
.f.full{grid-column:1/-1}
.f label{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-bottom:10px}
.f input,.f textarea{background:transparent;border:0;border-bottom:1px solid var(--line);color:var(--fg);font:inherit;font-size:20px;padding:6px 0 14px;outline:none;resize:none;transition:border-color .3s}
.f input:focus,.f textarea:focus{border-color:var(--blue)}
.submit{grid-column:1/-1;justify-self:start;display:inline-flex;align-items:center;gap:14px;background:var(--blue);color:#fff;border-radius:99px;padding:20px 30px;font-size:16px;font-weight:500;transition:background .3s}
.submit:hover{background:var(--fg)}
.err{min-height:1.2em;margin-top:8px;font-size:13px;color:#D6322B}
.f.bad input,.f.bad textarea{border-color:#D6322B}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.submit[disabled]{opacity:.6;pointer-events:none}
.form-msg{grid-column:1/-1;font-size:15px;color:#D6322B;min-height:1.2em}
.thanks{align-self:start;grid-column:2;grid-row:1}
@media (max-width:820px){.thanks{grid-column:1;grid-row:auto}}
.thanks__t{font-size:clamp(30px,3.6vw,56px);line-height:1.08;letter-spacing:-.025em;font-weight:500;font-variation-settings:"wdth" 92;margin-bottom:32px;max-width:18ch}
.thanks__t em{color:var(--accent)}
.thanks:focus{outline:none}
@media (max-width:820px){#form{grid-template-columns:1fr}}
/* on the blue band: white button, white focus, light error colour */
.blue .submit{background:#fff;color:var(--blue)}
.blue .submit:hover{background:var(--night);color:#fff}
.blue .f input:focus,.blue .f textarea:focus{border-color:#fff}
.blue .err,.blue .form-msg{color:#FFE3DF}
.blue .f.bad input,.blue .f.bad textarea{border-color:#FFE3DF}
/* italic serif descenders (g, p, y) need more room below the line mask */
.line-mask:has(em){padding-bottom:.22em;margin-bottom:-.22em}

/* ============ ajustes para Spartan (antes versión A del test tipográfico) ============ */
.display em,.pillar__h em{text-transform:inherit;font-size:1em;letter-spacing:inherit}
.hero__title em{color:#fff}
.intro__sub{font-family:var(--sans);font-size:clamp(20px,2vw,32px);line-height:1.2;letter-spacing:-.02em}
.intro__sub em{color:var(--blue-l);font-weight:700}
.roll span:last-child{font-style:normal;font-size:1em}
.card__n,.c-step__n,.row__i{font-style:normal;font-size:16px;letter-spacing:.06em}
.manifesto__text em,.thanks__t em,.f-claim em{font-weight:700}
/* Spartan es más alta que Archivo: un poco más de aire entre líneas */
.display,.pillar__h{line-height:.96}
.manifesto__text,.clients__big{line-height:1.16}
/* Agencia y casos: lo que antes era serif cursiva va en Spartan recta (sin cursiva falsa) */
.scr,.a-hero__idx,.c-hero__idx,.pt__units em{font-style:normal}
.scr{font-weight:300;letter-spacing:-.01em}
/* Spartan es más ancha: en celular "Trabajo seleccionado" y "¿Tu marca importa?" tienen que caber en la pantalla */
@media (max-width:820px){#trabajo .display{font-size:min(48px,11vw)}.contact__big{font-size:min(74px,14.5vw)!important}}

/* ---- ajustes 2026-11-13 ---- */
/* miniaturas 16:9 completas (sin el sobrante del parallax: casi todas tienen textos) */
.card__media{aspect-ratio:16/9}
.card__media .vbg>img{inset:0;height:100%}
/* la máscara de los titulares no corta la última letra ni los tildes/virgulillas (Ñ) */
.line-mask{padding:.2em .1em .08em 0;margin:-.2em -.1em -.08em 0}
/* títulos de caso: cada línea en una sola pieza (caso.js achica la letra si no cabe) */
.c-title .line-mask{white-space:nowrap}
/* redes con ícono */
.ico{width:1.05em;height:1.05em;flex:none;vertical-align:-.16em;margin-right:.45em}
.socials a,.f-col a.f-link:has(.ico){display:inline-flex;align-items:center}
/* celular: las redes del formulario ya están en el footer */
@media (max-width:820px){.contact__aside .socials{display:none}}
/* footer: Síguenos y Explora lado a lado cuando hay 2 columnas */
@media (max-width:900px){.f-grid{grid-template-columns:1fr 1fr}.f-visit,.f-grid>.f-col:nth-child(2){grid-column:1/-1}}

/* ---- caso con varias piezas (spots), FAQ y ediciones anteriores ---- */
.c-pieces{padding:clamp(56px,7vw,110px) var(--gut) 0}
.c-pieces>.eyebrow{margin-bottom:clamp(24px,3vw,40px)}
.c-pieces__grid{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(12px,1.4vw,22px)}
.c-piece{display:block;width:100%;text-align:left;cursor:pointer}
.c-piece .card__meta{margin-top:12px}
.c-piece .card__b{font-size:12px;letter-spacing:.14em;color:var(--mute)}
.c-piece .card__t{font-size:clamp(17px,1.4vw,22px);font-weight:700;letter-spacing:-.01em;margin-top:2px}
.c-piece__play{position:absolute;left:50%;top:50%;width:54px;height:54px;margin:-27px 0 0 -27px;border-radius:50%;background:var(--blue);z-index:3;transition:transform .4s var(--ease)}
.c-piece__play::after{content:"";position:absolute;left:22px;top:18px;border-style:solid;border-width:9px 0 9px 14px;border-color:transparent transparent transparent #fff}
.c-piece:hover .c-piece__play{transform:scale(1.12)}
.c-piece__dur{position:absolute;right:10px;bottom:10px;z-index:3;font-size:12px;padding:4px 8px;border-radius:6px;background:rgba(0,0,0,.6);color:#fff;font-variant-numeric:tabular-nums}
@media (max-width:1100px){.c-pieces__grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:640px){.c-pieces__grid{grid-template-columns:1fr 1fr}}
.c-eds,.c-faq{margin-top:clamp(48px,6vw,90px);border-top:1px solid var(--line);padding-top:28px}
.c-eds ul{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.c-eds a{display:inline-flex;gap:10px;align-items:baseline;border:1px solid var(--line);border-radius:99px;padding:10px 18px;transition:background .3s,color .3s}
.c-eds a span{color:var(--mute);font-size:13px}
.c-eds a:hover{background:var(--blue);border-color:var(--blue);color:#fff}.c-eds a:hover span{color:#fff}
.c-faq details{border-bottom:1px solid var(--line)}
.c-faq summary{list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:20px 0;cursor:pointer}
.c-faq summary::-webkit-details-marker{display:none}
.c-faq summary h3{font-size:clamp(18px,1.6vw,24px);font-weight:700;letter-spacing:-.01em;line-height:1.25}
.c-faq summary i{flex:none;width:14px;height:14px;position:relative}
.c-faq summary i::before,.c-faq summary i::after{content:"";position:absolute;left:0;top:6px;width:14px;height:2px;background:currentColor;transition:transform .3s}
.c-faq summary i::after{transform:rotate(90deg)}
.c-faq details[open] summary i::after{transform:none}
.c-faq p{color:var(--mute);font-size:clamp(16px,1.25vw,19px);line-height:1.55;max-width:70ch;padding-bottom:22px}
