
*{margin:0;padding:0;box-sizing:border-box}
:root{
  --k:#060606;
  --k2:#0a0a0a;
  --y:#F5FF00;
  --w:#F5F0E8;
  --mu:rgba(245,240,232,0.5);
  --mu2:rgba(245,240,232,0.62);
  --mu3:rgba(245,240,232,0.50);
  --bd:rgba(245,255,0,0.12);
  --bd2:rgba(245,240,232,0.08)
}
html{scroll-behavior:smooth}
html,body{-webkit-text-size-adjust:100%;text-size-adjust:100%;background:var(--k);color:var(--w);font-family:'DM Sans',sans-serif;overflow-x:hidden;overflow-x:clip;line-height:1.5}
h1,h2,h3,h4{font-family:'Cormorant Garamond',serif;font-weight:700}
a{color:inherit;text-decoration:none}

/* NAV */
nav.nav{padding:1.4rem 2rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--bd);position:sticky;top:0;background:rgba(6,6,6,0.92);backdrop-filter:blur(12px);z-index:50}
.logo{font-family:'Cormorant Garamond',serif;font-size:clamp(0.72rem,2.4vw,0.95rem);flex-shrink:1;min-width:0;white-space:nowrap;font-weight:700;letter-spacing:0.38em;text-transform:uppercase;color:var(--y)}
.nav-links{display:flex;gap:2rem;list-style:none;font-size:0.62rem;letter-spacing:0.22em;text-transform:uppercase}
.nav-links a{color:rgba(245,240,232,0.55);transition:color 0.3s;cursor:pointer;padding:0.4rem 0;display:block}
.nav-links a:hover,.nav-links a.active{color:var(--y)}
.nav-item{position:relative}
.nav-item.has-dd > a::after{content:' ▾';font-size:0.5rem;opacity:0.6;margin-left:0.2rem}
.dd{position:absolute;top:100%;left:50%;transform:translateX(-50%);background:var(--k);border:1px solid var(--bd);width:780px;padding:1.5rem;display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem 1.5rem;opacity:0;visibility:hidden;transition:opacity 0.3s,visibility 0.3s;margin-top:0.5rem;box-shadow:0 20px 60px rgba(0,0,0,0.5);z-index:200}
.nav-item:hover .dd,.nav-item:focus-within .dd{opacity:1;visibility:visible}
.dd h4,.dd .dd-h{font-family:'Cormorant Garamond',serif;font-size:0.85rem;font-weight:600;color:var(--y);margin-bottom:0.7rem;padding-bottom:0.4rem;border-bottom:1px solid var(--bd);letter-spacing:0.02em;text-transform:none}
.dd ul{list-style:none}
.dd a{color:var(--mu);text-decoration:none;display:block;transition:color 0.25s,padding 0.25s;font-size:0.65rem;letter-spacing:0.05em;text-transform:none}
.dd li{font-size:0.65rem;color:var(--mu);padding:0.25rem 0;letter-spacing:0.05em;font-family:'DM Sans',sans-serif;line-height:1.4;text-transform:none}
.dd li a:hover{color:var(--y);padding-left:0.4rem}
.dd li.active a{color:var(--y)}
.dd li.dd-all{margin-top:0.5rem;padding-top:0.5rem;border-top:1px solid var(--bd)}
.dd li.dd-all a{color:var(--y);font-weight:500}
.dd li.dd-all a:hover{padding-left:0.4rem}
.nav-cta{padding:0.55rem 1.3rem;border:1px solid var(--y);color:var(--y);font-size:0.6rem;letter-spacing:0.22em;text-transform:uppercase;cursor:pointer;position:relative;overflow:hidden;transition:color 0.35s}
.nav-cta::before{content:'';position:absolute;inset:0;background:var(--y);transform:translateX(-101%);transition:transform 0.35s cubic-bezier(0.16,1,0.3,1);z-index:-1}
.nav-cta:hover{color:var(--k)}
.nav-cta:hover::before{transform:translateX(0)}
@media(max-width:900px){.nav-links{display:none}}

/* PILLAR HERO */
.hero{padding:5rem 2rem 4rem;position:relative;overflow:hidden;border-bottom:1px solid var(--bd);min-height:72vh;display:flex;flex-direction:column;justify-content:center}
.hero-grid{position:relative;z-index:2;max-width:1400px;margin:0 auto;width:100%}
.crumb{font-size:0.55rem;letter-spacing:0.4em;text-transform:uppercase;color:var(--mu2);margin-bottom:1.6rem;display:flex;gap:0.5rem;flex-wrap:wrap;align-items:center}
.crumb a{color:var(--mu2);transition:color 0.3s;cursor:pointer}
.crumb a:hover{color:var(--y)}
.crumb span.sep{color:var(--y);font-size:0.5rem}
.crumb .here{color:var(--y)}
.hero-eye{font-size:0.55rem;letter-spacing:0.5em;text-transform:uppercase;color:var(--y);margin-bottom:1.4rem;display:flex;align-items:center;gap:0.6rem}
.hero-eye::before{content:'';width:22px;height:1px;background:var(--y)}
h1.hero-h{font-family:'Cormorant Garamond',serif;font-size:clamp(3rem,9.5vw,7.6rem);font-weight:700;line-height:0.88;letter-spacing:-0.02em;margin-bottom:2rem}
h1.hero-h .it{font-style:italic;font-weight:400;color:var(--y)}
.hero-foot{display:grid;grid-template-columns:1.5fr 1fr;gap:3rem;align-items:end;margin-top:1rem}
@media(max-width:800px){.hero-foot{grid-template-columns:1fr;gap:2rem}}
.hero-lead{font-size:1rem;line-height:1.85;color:var(--mu);font-weight:300;max-width:520px}
.hero-lead strong{color:var(--w);font-weight:500}
.cta-pair{display:flex;gap:0.8rem;flex-wrap:wrap;justify-self:end}
@media(max-width:800px){.cta-pair{justify-self:start}}

/* CTA */
.cta{display:inline-block;padding:0.85rem 1.8rem;background:var(--y);color:var(--k);font-size:0.6rem;letter-spacing:0.28em;text-transform:uppercase;font-weight:500;cursor:pointer;position:relative;overflow:hidden;transition:color 0.35s;white-space:nowrap}
.cta::before{content:'';position:absolute;inset:0;background:var(--k);transform:translateX(-101%);transition:transform 0.35s cubic-bezier(0.16,1,0.3,1);z-index:0}
.cta span{position:relative;z-index:1}
.cta:hover{color:var(--y)}
.cta:hover::before{transform:translateX(0)}
.cta-out{display:inline-block;padding:0.85rem 1.8rem;border:1px solid rgba(245,240,232,0.25);color:var(--mu);font-size:0.6rem;letter-spacing:0.28em;text-transform:uppercase;cursor:pointer;transition:all 0.3s;white-space:nowrap}
.cta-out:hover{border-color:var(--y);color:var(--y)}

/* STATS */
.stats{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--bd)}
@media(max-width:600px){.stats{grid-template-columns:1fr}}
.stat{padding:2rem 1.5rem;text-align:center;border-right:1px solid var(--bd)}
.stat:last-child{border-right:none}
@media(max-width:600px){.stat{border-right:none;border-bottom:1px solid var(--bd)}.stat:last-child{border-bottom:none}}
.stat-n{font-family:'Cormorant Garamond',serif;font-size:clamp(2.4rem,4vw,3.2rem);font-weight:700;color:var(--y);line-height:1}
.stat-l{font-size:0.6rem;letter-spacing:0.28em;text-transform:uppercase;color:var(--mu2);margin-top:0.5rem;max-width:280px;margin-inline:auto}

/* MARQUEE */
.marq{overflow:hidden;border-bottom:1px solid var(--bd);padding:0.9rem 0}
.marq-track{display:flex;white-space:nowrap;animation:marq 22s linear infinite}
.mi{font-family:'Cormorant Garamond',serif;font-size:1rem;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;padding:0 1.4rem;color:rgba(245,240,232,0.16)}
.mi.a{color:var(--y)}
.mi.s{color:var(--y);font-size:0.7rem;padding:0 0.7rem}
@keyframes marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* MANIFESTO */
.mfst{padding:5.5rem 2rem;max-width:1100px;margin-inline:auto}
.stag{font-size:0.55rem;letter-spacing:0.45em;text-transform:uppercase;color:var(--y);display:flex;align-items:center;gap:0.7rem;margin-bottom:2rem}
.stag::before{content:'';width:22px;height:1px;background:var(--y)}
.mtext{font-family:'Cormorant Garamond',serif;font-size:clamp(1.5rem,3.4vw,2.6rem);font-weight:300;line-height:1.34;color:var(--w)}
.mtext em{font-style:normal;color:var(--y)}

/* SPLIT */
.split{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--bd);min-height:480px}
.split.r{direction:rtl}
.split.r > *{direction:ltr}
@media(max-width:800px){.split{grid-template-columns:1fr}}
.split-img{position:relative;background:var(--k2);overflow:hidden;display:flex;align-items:center;justify-content:center;min-height:340px}
.split-text{padding:4rem 2rem;display:flex;flex-direction:column;justify-content:center}
.split-eye{font-size:0.55rem;letter-spacing:0.4em;text-transform:uppercase;color:var(--y);margin-bottom:1.1rem}
.split-h{font-family:'Cormorant Garamond',serif;font-size:clamp(1.8rem,3.6vw,2.8rem);font-weight:700;line-height:1.05;margin-bottom:1.4rem}
.split-h .acc{color:var(--y)}
.split-b{font-size:0.88rem;line-height:1.9;color:var(--mu);font-weight:300;margin-bottom:1.6rem;max-width:480px}
.split-b strong{color:var(--w);font-weight:500}
.split-b p+p{margin-top:1rem}
.split-link{display:inline-flex;align-items:center;gap:0.5rem;font-size:0.6rem;letter-spacing:0.28em;text-transform:uppercase;color:var(--y);border-bottom:1px solid var(--bd);padding-bottom:0.5rem;width:fit-content;transition:gap 0.3s;cursor:pointer}
.split-link:hover{gap:0.9rem}
.ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0.5rem;color:rgba(245,255,0,0.40);font-size:0.5rem;letter-spacing:0.32em;text-transform:uppercase;pointer-events:none;text-align:center;padding:1.5rem}
.imgnote{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:0.7rem 0.9rem;font-size:0.5rem;line-height:1.5;letter-spacing:0.12em;text-transform:uppercase;color:rgba(245,255,0,0.5);background:linear-gradient(transparent,rgba(6,6,6,0.085));pointer-events:none}
.imgnote b{color:rgba(245,255,0,0.8);font-weight:600;letter-spacing:0.18em}
.svc-img{position:relative}

/* SVG diagram bits */
.diag{width:100%;height:100%;max-width:420px;max-height:420px}
.diag-ring{fill:none;stroke:var(--bd);stroke-width:1}
.diag-ring.lit{stroke:var(--y);stroke-width:1.5;opacity:0.5}
.diag-dot{fill:var(--y)}
.diag-lbl{font-family:'DM Sans',sans-serif;font-size:8px;letter-spacing:0.15em;text-transform:uppercase;fill:var(--mu)}
.diag-core{font-family:'Cormorant Garamond',serif;font-size:13px;font-weight:700;fill:var(--y);text-anchor:middle}

/* SERVICE CATALOG */
.cat{padding:5rem 2rem 0;border-bottom:1px solid var(--bd)}
.cat-h{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,4vw,3.2rem);font-weight:700;margin-bottom:1rem;line-height:1}
.cat-h .acc{color:var(--y)}
.cat-sub{font-size:0.88rem;line-height:1.85;color:var(--mu);font-weight:300;margin-bottom:3rem;max-width:580px}
.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid var(--bd);border-top:1px solid var(--bd);margin:0 -2rem}
@media(max-width:900px){.cat-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.cat-grid{grid-template-columns:1fr}}
.svc{padding:2rem;border-right:1px solid var(--bd);border-bottom:1px solid var(--bd);position:relative;cursor:pointer;transition:background 0.3s;display:flex;flex-direction:column;min-height:240px}
.svc:hover{background:rgba(245,255,0,0.04)}
.svc::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--y);transform:scaleX(0);transform-origin:left;transition:transform 0.5s cubic-bezier(0.16,1,0.3,1)}
.svc:hover::after{transform:scaleX(1)}
.svc.feat{background:rgba(245,255,0,0.025)}
.svc.feat::before{content:'Featured';position:absolute;top:1rem;right:1rem;font-size:0.5rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--k);background:var(--y);padding:0.2rem 0.5rem;font-weight:500}
.svc-n{font-family:'Cormorant Garamond',serif;font-size:0.78rem;font-style:italic;color:var(--y);margin-bottom:0.6rem;letter-spacing:0.05em}
.svc-t{font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:600;margin-bottom:0.7rem;color:var(--w);transition:color 0.3s;line-height:1.15}
.svc:hover .svc-t{color:var(--y)}
.svc-d{font-size:0.76rem;line-height:1.85;color:var(--mu);font-weight:300;margin-bottom:1rem;flex-grow:1}
.svc-arr{font-size:0.55rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--y);display:inline-flex;align-items:center;gap:0.4rem;transition:gap 0.3s}
.svc:hover .svc-arr{gap:0.8rem}

/* PROCESS */
.proc{padding:5rem 2rem;border-bottom:1px solid var(--bd)}
.proc-h{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,4vw,3.2rem);font-weight:700;margin-bottom:3rem;line-height:1}
.proc-h .acc{color:var(--y)}
.proc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
@media(max-width:800px){.proc-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:500px){.proc-grid{grid-template-columns:1fr}}
.ps{position:relative;padding-top:1.5rem;border-top:1px solid var(--y)}
.ps-n{font-family:'Cormorant Garamond',serif;font-size:0.78rem;font-style:italic;color:var(--y);margin-bottom:0.6rem;letter-spacing:0.05em}
.ps-t{font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:600;margin-bottom:0.6rem}
.ps-d{font-size:0.74rem;line-height:1.85;color:var(--mu);font-weight:300}

/* CASE STUDY */
.cs{display:grid;grid-template-columns:5fr 4fr;border-bottom:1px solid var(--bd);min-height:380px}
@media(max-width:800px){.cs{grid-template-columns:1fr}}
.cs-img{background:var(--k2);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;min-height:260px}
.cs-text{padding:3rem 2rem;display:flex;flex-direction:column;justify-content:center}
.cs-eye{font-size:0.55rem;letter-spacing:0.4em;text-transform:uppercase;color:var(--y);margin-bottom:1rem}
.cs-h{font-family:'Cormorant Garamond',serif;font-size:clamp(1.6rem,3vw,2.2rem);font-weight:700;line-height:1.15;margin-bottom:1.3rem}
.cs-b{font-size:0.85rem;line-height:1.9;color:var(--mu);font-weight:300;margin-bottom:1.5rem}
.cs-stats{display:flex;gap:2rem;margin-bottom:1.6rem;flex-wrap:wrap}
.cs-stat-n{font-family:'Cormorant Garamond',serif;font-size:1.7rem;font-weight:700;color:var(--y);line-height:1}
.cs-stat-l{font-size:0.55rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--mu2);margin-top:0.3rem}

/* TESTIMONIAL */
.test{padding:5rem 2rem;border-bottom:1px solid var(--bd);max-width:920px;margin-inline:auto}
.test-q{font-family:'Cormorant Garamond',serif;font-size:clamp(1.4rem,3vw,2.3rem);font-weight:300;font-style:italic;line-height:1.45;color:var(--w);margin-bottom:2.2rem;position:relative;padding-left:2.2rem}
.test-q::before{content:'"';position:absolute;left:-0.2rem;top:-1rem;font-size:5rem;color:var(--y);font-style:normal;line-height:1;font-weight:700}
.test-attr{display:flex;align-items:center;gap:1rem;padding-left:2.2rem}
.test-av{width:48px;height:48px;border-radius:50%;background:var(--y);display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond',serif;color:var(--k);font-weight:700;font-size:1.1rem;flex-shrink:0}
.test-meta-n{font-size:0.85rem;font-weight:500;color:var(--w)}
.test-meta-r{font-size:0.65rem;color:var(--mu2);letter-spacing:0.12em;margin-top:0.18rem}

/* FAQ */
.faq-wrap{padding:5rem 2rem;border-bottom:1px solid var(--bd);max-width:1400px;margin-inline:auto;display:grid;grid-template-columns:1fr 1.6fr;gap:3rem;align-items:start}
@media(max-width:800px){.faq-wrap{grid-template-columns:1fr;gap:1.5rem}}
.faq-h{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,4vw,3rem);font-weight:700;margin-bottom:0;line-height:1;position:sticky;top:6rem}
@media(max-width:800px){.faq-h{position:static;margin-bottom:1rem}}
.faq-h .acc{color:var(--y)}
.faq-list{min-width:0}
.faq-i{border-top:1px solid var(--bd2);padding:1.5rem 0;cursor:pointer}
.faq-i:last-child{border-bottom:1px solid var(--bd2)}
.faq-q{display:flex;justify-content:space-between;align-items:center;font-family:'Cormorant Garamond',serif;font-size:1.18rem;font-weight:500;color:var(--w);transition:color 0.3s;line-height:1.3}
.faq-i:hover .faq-q{color:var(--y)}
.faq-toggle{color:var(--y);font-size:1.3rem;transition:transform 0.3s;flex-shrink:0;margin-left:1rem;font-weight:300;line-height:1}
.faq-i.open .faq-toggle{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height 0.4s ease,margin-top 0.4s ease;font-size:0.85rem;line-height:1.9;color:var(--mu);font-weight:300}
.faq-i.open .faq-a{max-height:400px;margin-top:1rem}

/* RELATED PILLARS */
.rel{padding:5rem 2rem;border-bottom:1px solid var(--bd)}
.rel-h{font-family:'Cormorant Garamond',serif;font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:700;margin-bottom:1rem;line-height:1}
.rel-h .acc{color:var(--y)}
.rel-sub{font-size:0.85rem;line-height:1.85;color:var(--mu);font-weight:300;margin-bottom:2.5rem;max-width:560px}
.rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
@media(max-width:800px){.rel-grid{grid-template-columns:1fr}}
.rel-card{padding:2rem;border:1px solid var(--bd);background:rgba(245,255,0,0.01);transition:all 0.4s cubic-bezier(0.16,1,0.3,1);cursor:pointer;position:relative;overflow:hidden;display:flex;flex-direction:column}
.rel-card:hover{background:rgba(245,255,0,0.04);border-color:rgba(245,255,0,0.3);transform:translateY(-2px)}
.rel-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:var(--y);transform:scaleX(0);transform-origin:left;transition:transform 0.5s cubic-bezier(0.16,1,0.3,1)}
.rel-card:hover::after{transform:scaleX(1)}
.rel-tag{font-size:0.5rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--mu2);margin-bottom:0.8rem}
.rel-tit{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:600;margin-bottom:0.6rem;color:var(--w);transition:color 0.3s;line-height:1.15}
.rel-card:hover .rel-tit{color:var(--y)}
.rel-desc{font-size:0.78rem;line-height:1.85;color:var(--mu);font-weight:300;margin-bottom:1.2rem;flex-grow:1}
.rel-arr{font-size:0.55rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--y);display:inline-flex;align-items:center;gap:0.4rem;transition:gap 0.3s}
.rel-card:hover .rel-arr{gap:0.8rem}

/* CTA BLOCK */
.cta-block{position:relative;padding:6rem 2rem;border-bottom:1px solid var(--bd);text-align:center;background:radial-gradient(ellipse at center,rgba(245,255,0,0.045),transparent 70%);position:relative;overflow:hidden}
.cta-block-in{position:relative;z-index:2}
.ctab-eye{font-size:0.55rem;letter-spacing:0.5em;text-transform:uppercase;color:var(--y);margin-bottom:1.5rem}
.ctab-h{font-family:'Cormorant Garamond',serif;font-size:clamp(2.4rem,5.5vw,4.6rem);font-weight:700;line-height:0.98;margin-bottom:1.5rem;letter-spacing:-0.02em}
.ctab-h .acc{color:var(--y)}
.ctab-b{font-size:0.95rem;line-height:1.75;color:var(--mu);font-weight:300;margin:0 auto 2.4rem;max-width:540px}
.ctab-pair{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}

/* FOOTER */
.foot{padding:3.5rem 2rem 2rem;background:var(--k2);border-top:1px solid var(--bd)}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2.5rem;margin-bottom:2.5rem}
@media(max-width:800px){.foot-grid{grid-template-columns:1fr 1fr}}
@media(max-width:500px){.foot-grid{grid-template-columns:1fr}}
.foot-brand .flogo{font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-weight:700;letter-spacing:0.4em;text-transform:uppercase;color:var(--y);margin-bottom:1rem;display:block}
.foot-tag{font-size:0.78rem;line-height:1.7;color:var(--mu2);font-weight:300;max-width:300px;margin-bottom:1.4rem}
.foot-pulse{display:flex;align-items:center;gap:0.5rem;font-size:0.55rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--y);width:fit-content}
.foot-pulse::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--y);animation:pulse 2s ease-in-out infinite;flex-shrink:0}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:0.3;transform:scale(0.6)}}
.foot-h{font-size:0.55rem;letter-spacing:0.32em;text-transform:uppercase;color:var(--y);margin-bottom:1rem;font-weight:500}
.foot-list{list-style:none}
.foot-list li{font-size:0.72rem;color:var(--mu);padding:0.3rem 0;cursor:pointer;transition:color 0.25s}
.foot-list li:hover{color:var(--y)}
.foot-bot{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding-top:1.5rem;border-top:1px solid var(--bd2);font-size:0.6rem;color:var(--mu2);letter-spacing:0.18em;gap:0.8rem}
.foot-bot > :nth-child(1){justify-self:start}
.foot-bot > :nth-child(2){justify-self:center}
.foot-bot > :nth-child(3){justify-self:end;text-align:right}
@media(max-width:600px){.foot-bot{grid-template-columns:1fr;justify-items:start}.foot-bot > :nth-child(2),.foot-bot > :nth-child(3){justify-self:start;text-align:left}}
.foot-langs{display:flex;gap:1rem}
.foot-langs a{color:var(--mu2);cursor:pointer;transition:color 0.25s}
.foot-langs a.active,.foot-langs .active,.foot-langs a:hover{color:var(--y)}

.rv{opacity:0;transform:translateY(28px);transition:opacity 0.9s ease,transform 0.9s cubic-bezier(0.16,1,0.3,1)}
.rv.on{opacity:1;transform:translateY(0)}

/* IMAGE SLOTS — hero bg, band, split, catalog tiles, cta bg */
.hero{background:#060606;background-image:radial-gradient(130% 100% at 72% 22%, rgba(20,20,10,0.3) 0%, rgba(8,8,6,0.25) 48%, rgba(6,6,6,0.47) 100%),linear-gradient(rgba(6,6,6,0.25),rgba(6,6,6,0.3)),url('/images/artificial-intelligence/hero-bg.jpg');background-size:cover;background-position:center}
.ai-neural{position:absolute;inset:0;z-index:1;width:100%;height:100%;display:block;pointer-events:none}
.hero-veil{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(95deg,rgba(6,6,6,0.47) 0%,rgba(6,6,6,0.32) 44%,rgba(6,6,6,0.25) 74%,rgba(6,6,6,0.25) 100%)}
.hero .hero-grid{position:relative;z-index:3}
.ai-ph{position:absolute;left:0.9rem;bottom:0.9rem;z-index:3;max-width:300px;padding:0.4rem 0.6rem;background:rgba(8,8,8,0.78);border:1px dashed rgba(245,255,0,0.28);font-size:0.46rem;line-height:1.5;letter-spacing:0.08em;text-transform:uppercase;color:rgba(245,240,232,0.55);pointer-events:none}
.ai-ph b{color:rgba(245,255,0,0.85);font-family:ui-monospace,Menlo,monospace}
.band{position:relative;min-height:340px;display:flex;align-items:center;justify-content:center;text-align:center;border-bottom:1px solid var(--bd);background-image:linear-gradient(rgba(6,6,6,0.05),rgba(6,6,6,0.06)),url('/images/artificial-intelligence/band.jpg');background-size:cover;background-position:center;background-attachment:fixed}
.band-in{position:relative;z-index:2;max-width:900px;padding:2rem}
.band-eye{font-size:0.55rem;letter-spacing:0.5em;text-transform:uppercase;color:var(--y);margin-bottom:1.2rem}
.band-h{font-family:'Cormorant Garamond',serif;font-size:clamp(1.8rem,4.5vw,3.4rem);font-weight:300;line-height:1.2;color:var(--w)}
.band-h em{font-style:italic;color:var(--y)}
.split-img.hasimg{background-image:linear-gradient(rgba(6,6,6,0.055),rgba(6,6,6,0.07)),url('/images/artificial-intelligence/split.jpg');background-size:cover;background-position:center}
.svc.hasimg{padding-top:0;overflow:hidden}
.svc-img{height:150px;margin:0 -2rem 1.5rem;border-bottom:1px solid var(--bd);position:relative}
.svc.hasimg{padding:0}
.svc.hasimg .svc-inner{padding:2rem;display:flex;flex-direction:column;flex-grow:1}
.svc-img.c1{}
.svc-img.c2{}
.svc-img.c3{}
.cs-img.hasimg{background-image:linear-gradient(rgba(6,6,6,0.035),rgba(6,6,6,0.055)),url('/images/artificial-intelligence/case.jpg');background-size:cover;background-position:center}
.cta-block.hasimg{background-image:linear-gradient(rgba(6,6,6,0.05),rgba(6,6,6,0.068)),url('/images/artificial-intelligence/cta-bg.jpg');background-size:cover;background-position:center}

/* ═══════════════ MOBILE HAMBURGER MENU ═══════════════ */
.burger{display:none;position:relative;width:30px;height:20px;background:none;border:none;cursor:pointer;z-index:1002;padding:0;pointer-events:auto}
.burger span{position:absolute;left:0;width:100%;height:2px;background:var(--y);border-radius:2px;transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .25s}
.burger span:nth-child(1){top:calc(50% - 9px);transform:translateY(-50%)}
.burger span:nth-child(2){top:50%;transform:translateY(-50%)}
.burger span:nth-child(3){bottom:auto;top:calc(50% + 9px);transform:translateY(-50%)}
body.menu-open .burger span:nth-child(1){top:50%;transform:translateY(-50%) rotate(45deg)}
body.menu-open .burger span:nth-child(2){opacity:0}
body.menu-open .burger span:nth-child(3){bottom:auto;top:50%;transform:translateY(-50%) rotate(-45deg)}
.mobile-menu{position:fixed;inset:0;z-index:1001;background:#060606;display:flex;flex-direction:column;padding:5.5rem 1.8rem 2rem;opacity:0;visibility:hidden;transform:translateX(6%);transition:opacity .4s ease,transform .55s cubic-bezier(.16,1,.3,1),visibility .4s;overflow-y:auto;-webkit-overflow-scrolling:touch}
body.menu-open .mobile-menu{opacity:1;visibility:visible;transform:none}
.mm-aura{position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(58% 46% at 82% 14%,rgba(245,255,0,.13),transparent 70%),radial-gradient(50% 40% at 6% 92%,rgba(245,255,0,.08),transparent 72%)}
.mm-inner{position:relative;z-index:1;display:flex;flex-direction:column;flex:1}
.mm-item{opacity:0;transform:translateY(24px);transition:opacity .5s ease,transform .55s cubic-bezier(.16,1,.3,1)}
body.menu-open .mm-item{opacity:1;transform:none}
body.menu-open .mm-item:nth-child(1){transition-delay:.10s}
body.menu-open .mm-item:nth-child(2){transition-delay:.16s}
body.menu-open .mm-item:nth-child(3){transition-delay:.22s}
body.menu-open .mm-item:nth-child(4){transition-delay:.28s}
body.menu-open .mm-item:nth-child(5){transition-delay:.34s}
.mm-link{font-family:'Cormorant Garamond',serif;font-size:2.3rem;font-weight:600;color:var(--w);padding:.55rem 0;letter-spacing:-.02em;display:flex;align-items:center;justify-content:space-between;width:100%;border:none;border-bottom:1px solid rgba(245,240,232,.08);background:none;text-align:left;cursor:pointer;line-height:1.05}
.mm-link:active,.mm-link:hover{color:var(--y)}
.mm-chevron{font-family:'DM Sans',sans-serif;font-size:1.6rem;font-weight:300;color:var(--y);transition:transform .4s cubic-bezier(.16,1,.3,1);line-height:1}
.mm-acc.open .mm-chevron{transform:rotate(45deg)}
.mm-sub{display:grid;grid-template-columns:1fr 1fr;gap:0 1.4rem;max-height:0;overflow:hidden;transition:max-height .5s cubic-bezier(.16,1,.3,1)}
.mm-acc.open .mm-sub{max-height:520px}
.mm-sub a{font-family:'DM Sans',sans-serif;font-size:.82rem;font-weight:300;color:var(--mu);padding:.62rem 0;letter-spacing:.01em;border-bottom:1px solid rgba(245,240,232,.05)}
.mm-sub a:active,.mm-sub a:hover{color:var(--y)}
.mm-sub a.mm-all{grid-column:1 / -1;color:var(--y);letter-spacing:.04em}
.mm-foot{position:relative;z-index:1;padding-top:1.6rem;display:flex;flex-direction:column;gap:1.1rem}
.mm-cta{background:var(--y);color:var(--k);text-align:center;padding:1.1rem;font-size:.66rem;letter-spacing:.3em;text-transform:uppercase;font-weight:600;border-radius:999px}
.mm-meta{display:flex;justify-content:space-between;font-size:.55rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mu2)}
.mm-meta a{color:var(--mu2)}
@media (max-width:900px){.logo{letter-spacing:0.2em}.burger{flex-shrink:0}
  .burger{display:block}
  .nav-cta{display:none !important}
}
@media (min-width:901px){ .mobile-menu{display:none !important} }

/* ── VISIBLE PHOTO PLACEHOLDERS ── */
.imgph{position:relative;background:repeating-linear-gradient(45deg,#0c0c0c,#0c0c0c 10px,#0e0e0e 10px,#0e0e0e 20px);border:1px dashed rgba(245,255,0,0.30);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0.55rem;text-align:center;padding:1.4rem 1.6rem}
.imgph-ico{font-size:1.4rem;color:rgba(245,255,0,0.65);line-height:1}
.imgph-tag{font-size:0.52rem;letter-spacing:0.32em;text-transform:uppercase;color:rgba(245,255,0,0.85);font-weight:600}
.imgph-file{font-size:0.56rem;letter-spacing:0.06em;color:rgba(245,255,0,0.6);font-family:ui-monospace,Menlo,monospace}
.imgph-brief{font-size:0.66rem;line-height:1.6;color:rgba(245,240,232,0.62);max-width:440px;font-weight:300}
/* corner tag for full-bleed background slots (hero/band/split/cta) */
.imgnote{position:absolute;left:0.9rem;bottom:0.9rem;z-index:1;display:block;max-width:280px;padding:0.4rem 0.6rem;background:rgba(8,8,8,0.85);border:1px dashed rgba(245,255,0,0.28);font-size:0.46rem;line-height:1.5;letter-spacing:0.08em;text-transform:uppercase;color:rgba(245,240,232,0.5);pointer-events:none;text-align:left}
.imgnote b{color:rgba(245,255,0,0.85);font-weight:600;letter-spacing:0.1em;font-family:ui-monospace,Menlo,monospace}
.imgnote::before{content:"\25A3";color:rgba(245,255,0,0.7);font-size:0.8rem}

/* ── FULL-AREA PHOTO PLACEHOLDER (full-bleed sections) ── */
.fullph{position:absolute;inset:0;z-index:0;background:repeating-linear-gradient(45deg,#0b0b0b,#0b0b0b 11px,#0e0e0e 11px,#0e0e0e 22px);border:1px dashed rgba(245,255,0,0.22);display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:0.4rem;text-align:center;padding:1.5rem;pointer-events:none}
.fullph .imgph-ico{font-size:1.3rem;color:rgba(245,255,0,0.55)}
.fullph .imgph-tag{font-size:0.5rem;letter-spacing:0.32em;text-transform:uppercase;color:rgba(245,255,0,0.7);font-weight:600}
.fullph .imgph-file{font-size:0.54rem;letter-spacing:0.06em;color:rgba(245,255,0,0.55);font-family:ui-monospace,Menlo,monospace}
.fullph .imgph-brief{font-size:0.62rem;line-height:1.55;color:rgba(245,240,232,0.5);max-width:520px;font-weight:300}
.hero-grid{position:relative;z-index:2}
.split-img .diag{position:relative;z-index:2}
.svc-x{display:inline-block;margin-bottom:0.6rem;font-size:0.5rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--y);opacity:0.8;border:1px solid var(--bd);padding:0.2rem 0.5rem;border-radius:2px}

/* ── V2 accessibility layer ───────────────────────────── */
.skip-link{position:absolute;left:-9999px;top:0;z-index:9999;background:var(--y,#F5FF00);color:#060606;padding:.75rem 1.25rem;font:600 .9rem/1 'DM Sans',system-ui,sans-serif;text-decoration:none;border-radius:0 0 4px 0}
.skip-link:focus{left:0}
:focus-visible{outline:2px solid var(--y,#F5FF00);outline-offset:3px}
a:focus-visible,button:focus-visible,[role="button"]:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--y,#F5FF00);outline-offset:3px}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important}
  .marq-track,.marq2-track,.ticker-track{animation:none !important;transform:none !important}
  video{display:none}
}

/* ── V4 · image slots ───────────────────────────────────────────
   The production prompt and the filename caption are SIBLINGS of the
   element that carries the background image, not descendants — which is
   why the V3 descendant-only rule hid nothing. Both relationships are
   covered here, and the loader also marks the parent. */
.has-img .photo-prompt,.has-img .media-slot-prompt,.has-img .photo-meta,.has-img .media-slot-meta,
.has-img .hero-ph,.has-img .ai-ph,.has-img .imgph-brief,.has-img .imgph,
.has-img ~ .photo-prompt,.has-img ~ .media-slot-prompt,.has-img ~ .photo-meta,.has-img ~ .media-slot-meta,
.has-img ~ .hero-ph,.has-img ~ .ai-ph,.has-img ~ .imgph-brief,.has-img ~ .imgph,
.hasimg .photo-prompt,.hasimg .photo-meta,.hasimg ~ .photo-prompt,.hasimg ~ .photo-meta{display:none !important}
.has-img{background-size:cover;background-position:center}

/* FAQ button reset — keeps the original look now that the question is a button */
button.faq-q{display:block;width:100%;text-align:left;background:none;border:0;padding:inherit;margin:0;font:inherit;color:inherit;cursor:pointer}

/* FAQ (V4) — a closed answer is collapsed with max-height only, which leaves
   its text in the accessibility tree and its links in the tab order.
   inert/visibility removes it properly while keeping the transition. */
.faq-i .faq-a{visibility:hidden}
.faq-i.open .faq-a{visibility:visible}

/* Reveal-on-scroll (V4) — visibility is the default. The reveal animation is
   opt-in via the .js class, set by an early inline script, so a visitor
   without JavaScript sees the content instead of a blank page. */
.rv{opacity:1;transform:none}
html.js .rv{opacity:0}
html.js .rv.on{opacity:1}

/* Target size (V4) — the burger was 30x20 CSS px; WCAG 2.2 target minimum is
   24x24. Padding enlarges the hit area without changing the drawn icon. */
@media (max-width:900px){#burgerBtn{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}}

/* background-attachment:fixed is expensive and behaves badly on iOS —
   disabled below the desktop breakpoint. */
@media (max-width: 900px){
  [style*="background-attachment"],.s-hero-photo,.hero-bg,.parallax{background-attachment:scroll !important}
}

.mm-close{position:absolute;top:1.1rem;right:1.4rem;z-index:3;width:48px;height:48px;
  display:flex;align-items:center;justify-content:center;background:none;border:0;
  color:var(--y,#F5FF00);font-size:2rem;line-height:1;cursor:pointer;padding:0}
.mm-close:focus-visible{outline:2px solid var(--y,#F5FF00);outline-offset:3px}
@media(min-width:901px){.mm-close{display:none}}

/* ── V6 · mobile menu stacking (site-wide) ─────────────────────
   .chrome-top is position:fixed with z-index:50 and creates a stacking
   context, so the burger's z-index:1002 was trapped under the menu
   overlay (1001). In V5 the lift rule was appended only to the home
   stylesheet; every other page still hid the burger-X. Site-wide now. */
body.menu-open .chrome-top{z-index:1002}
body.menu-open .burger{pointer-events:auto}
body.menu-open .chrome-top > *:not(.burger){opacity:0;pointer-events:none;transition:opacity .2s}

/* ── V6 · no-JavaScript fallbacks ──────────────────────────────
   Without JS: FAQ answers must be readable, all three contact panels
   must be in normal flow, and the mobile menu must exist as a plain
   list instead of an unopenable overlay. */
html:not(.js) .faq-i .faq-a{visibility:visible;max-height:none !important;opacity:1;display:block}
html:not(.js) .faq-i .faq-toggle{display:none}
html:not(.js) [role="tabpanel"]{display:block !important;position:static;opacity:1;visibility:visible}
html:not(.js) .tabs{display:none}
@media (max-width:900px){
  html:not(.js) .burger{display:none}
  html:not(.js) .mobile-menu{position:static;opacity:1;visibility:visible;transform:none;height:auto;padding:1rem 1.8rem;display:block}
  html:not(.js) .mobile-menu .mm-sub{max-height:none;overflow:visible}
  html:not(.js) .mobile-menu .mm-sub a{visibility:visible}
  html:not(.js) .mm-close{display:none}
}

/* V6 — the 780px mega menu could overflow the viewport just above the
   900px breakpoint and get clipped by body overflow-x:hidden. */
.nav-item .dd{max-width:calc(100vw - 2rem)}

/* ── V6.1 · no-JS menu: the children too ───────────────────────
   V6 made the .mobile-menu container static without JS, but .mm-item
   still started at opacity:0 waiting for body.menu-open — which cannot
   exist without JavaScript. 2,280 primary links were invisible yet
   focusable. The reset below is what was missing. */
html:not(.js) .mm-item{opacity:1 !important;transform:none !important}

html:not(.js) #mNav,html:not(.js) .m-nav{display:none !important}

/* ── V7 · no-JS Services: honest semantics ─────────────────────
   In V6.1 the toggle stayed a focusable <button aria-expanded="false">
   while the submenu was visibly open — a dead control announcing a
   false state. Without JS the button is now hidden entirely and a
   plain text label takes its place; with JS the label is hidden. */
.mm-static{display:none}
html:not(.js) .mm-toggle{display:none !important}
html:not(.js) .mm-static{display:block}
.dd .dd-h{margin:0}

/* ── V7.2 · global motion control (WCAG 2.2.2) ─────────────────
   Auto-moving, auto-updating content that runs longer than five seconds
   needs a user-facing pause, independent of OS-level reduced-motion. */
.motion-toggle{position:fixed;bottom:1rem;left:1rem;z-index:900;background:#060606;color:var(--y,#F5FF00);
  border:1px solid var(--y,#F5FF00);padding:0.45rem 0.9rem;font-size:0.72rem;letter-spacing:0.14em;
  text-transform:uppercase;cursor:pointer}
.motion-toggle:focus-visible{outline:2px solid var(--y,#F5FF00);outline-offset:3px}
html.motion-paused .marq-track,html.motion-paused .caps-row{animation-play-state:paused !important}
html.motion-paused *{scroll-behavior:auto !important}
@media print{.motion-toggle{display:none}}
.s-case-eye{font-size:0.6rem;letter-spacing:0.28em;text-transform:uppercase;color:var(--y,#F5FF00);opacity:0.75;margin:0 0 0.8rem}

/* ── V8 · language switcher in the chrome ──────────────────────
   EN·FR must be instantly visible to every visitor, not buried in
   the footer. Footer links stay; these are the loud ones. */
.lang-switch{display:flex;align-items:center;gap:0.4rem;margin-left:0.9rem;flex-shrink:0}
.lang-switch .ls-cur{color:#060606;background:var(--y,#F5FF00);padding:0.3rem 0.6rem;
  font-size:0.68rem;font-weight:700;letter-spacing:0.16em}
.lang-switch .ls-fr{color:var(--y,#F5FF00);border:1px solid var(--y,#F5FF00);
  padding:calc(0.3rem - 1px) 0.6rem;font-size:0.68rem;font-weight:700;
  letter-spacing:0.16em;text-decoration:none;transition:background .15s,color .15s}
.lang-switch .ls-fr:hover,.lang-switch .ls-fr:focus-visible{background:var(--y,#F5FF00);color:#060606}
.lang-switch .ls-fr:focus-visible{outline:2px solid var(--y,#F5FF00);outline-offset:2px}
@media (max-width:900px){
  .lang-switch{margin-left:auto;margin-right:0.8rem}
  .lang-switch .ls-cur,.lang-switch .ls-fr{font-size:0.62rem;padding:0.26rem 0.5rem}
  .lang-switch .ls-fr{padding:calc(0.26rem - 1px) 0.5rem}
}

/* ── V12 · hub photo activation ────────────────────────────────
   These hub slots are CSS-static (no data-img loader): the photos are
   hardcoded in this bundle, so their placeholder cards must be retired
   here. (The hero photo was already mounted by the bundle's own rule.) */
.hasimg .fullph,.hasimg ~ .fullph,.band .fullph,.hero .ai-ph,.hero .hero-ph{display:none !important}

/* ── V14 · case & featured cards ──────────────────────────────
   The case block never carried the class its photo rule expected, and
   the featured capability card had no photo rule at all. Veils on the
   CTA and the band were burying their photographs.
   V15: one photograph per featured card (c1/c2/c3), no clones. */
.hasimg.imgph>span,.hasimg .imgph>span{display:none !important}
.svc.feat.hasimg .svc-img.c1{background:linear-gradient(rgba(6,6,6,0.05),rgba(6,6,6,0.065)),url(/images/artificial-intelligence/cat-ai-avatars.jpg) center center/cover no-repeat}
.svc.feat.hasimg .svc-img.c2{background:linear-gradient(rgba(6,6,6,0.05),rgba(6,6,6,0.065)),url(/images/artificial-intelligence/cat-geo.jpg) center center/cover no-repeat}
.svc.feat.hasimg .svc-img.c3{background:linear-gradient(rgba(6,6,6,0.05),rgba(6,6,6,0.065)),url(/images/artificial-intelligence/cat-ai-content.jpg) center center/cover no-repeat}

/* ── V20 · subpixel seam ───────────────────────────────────────
   At fractional zoom levels the veil rounds to 1px short of the hero,
   leaving a brighter hairline at the bottom edge. Two extra pixels,
   clipped by the hero's own overflow, close it on every display. */
.hero-veil{bottom:-2px}

/* ── V21 · hero photo finale ───────────────────────────────────
   The hero photograph now dissolves straight into the page black:
   no yellow border, no seam — and the flow canvas drops to 0.2 so
   this hub matches the AI hub's brightness. */
.hero{border-bottom:0}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:110px;background:linear-gradient(to bottom,transparent,#060606);z-index:2;pointer-events:none}

/* ── V30 · tetto di composizione ───────────────────────────────
   Below 1800px nothing changes at all: laptops and ordinary monitors
   keep their existing gutters. Past that width the side padding grows
   so the CONTENT settles into a 1700px column, while backgrounds —
   hero, bands, navigation bar, footer — still run edge to edge.
   The threshold is chosen so the gutter at the switch (50px) matches
   the natural one (48px): no visible jump. */
@media (min-width:1800px){
  nav,
  .breadcrumb,
  main > section,
  main > header,
  main > div,
  footer,
  .hero,
  .band,
  .cta-block{
    padding-left:calc((100vw - 1700px) / 2)  !important;
    padding-right:calc((100vw - 1700px) / 2) !important;
  }
  .s-cover .cover-photo{margin-right:calc((100vw - 1700px) / -2)}
}

/* ── V32 · la cover rientra nel tetto ──────────────────────────
   V30 told the cover photograph to bleed by half the gutter so it
   would touch the page edge. On a wide screen that gutter is huge,
   so the picture shot past the shell and dwarfed the page. Inside
   the shell it now stays put: no bleed, even columns. */
@media (min-width:1800px){
  .s-cover .cover-photo{margin-right:0 !important}
  .s-cover{grid-template-columns:6fr 5fr !important}
}

/* V38 · global motion pause */
html.motion-paused *,html.motion-paused *::before,html.motion-paused *::after{animation-play-state:paused !important}

/* V38 · hero chips off in production (V37-016) */
.hero-ph{display:none !important}

/* ── V44 · consent banner (PECR/ICO) ────────────────────────────
   Refusal is one click, same weight as acceptance. Sits above the
   motion toggle, never traps focus, disappears on choice. */
#rvz-cc{position:fixed;left:0;right:0;bottom:0;z-index:2000;background:rgba(6,6,6,.97);border-top:1px solid var(--bd,#2a2a24);transform:translateY(102%);transition:transform .26s ease;padding:1.15rem 1.3rem;backdrop-filter:blur(6px)}
#rvz-cc.on{transform:none}
#rvz-cc .cc-in{max-width:1100px;margin:0 auto;display:flex;gap:1.4rem;align-items:center;flex-wrap:wrap}
#rvz-cc .cc-t{font-family:'Cormorant Garamond',serif;font-size:1.12rem;color:var(--w,#f2efe8);margin:0 0 .2rem;flex:1 1 100%}
#rvz-cc .cc-b{font-size:.8rem;line-height:1.6;color:var(--mu,#a8a49a);margin:0;flex:1 1 380px}
#rvz-cc .cc-b a{color:var(--y,#e8ff00)}
#rvz-cc .cc-r{display:flex;gap:.7rem;flex:0 0 auto}
#rvz-cc button{font-family:inherit;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;padding:.78rem 1.25rem;cursor:pointer;border:1px solid var(--bd,#2a2a24);background:transparent;color:var(--w,#f2efe8);min-height:44px}
#rvz-cc .cc-yes{background:var(--y,#e8ff00);color:#060606;border-color:var(--y,#e8ff00);font-weight:600}
#rvz-cc button:focus-visible{outline:2px solid var(--y,#e8ff00);outline-offset:2px}
@media (max-width:640px){#rvz-cc .cc-r{flex:1 1 100%}#rvz-cc button{flex:1}}
/* ── V44 · leggibilità: nessun testo funzionale sotto 11px ─────── */
.crumb,.hero-eye,.case-eye,.cs-eye,.split-eye,.stat-l,.cs-stat-l,.off-tz,.off-tag,.struct-tag,.mi,.stag,.s-case-eye,.case-marker-meta{font-size:0.7rem !important;letter-spacing:.24em}
