/* Sectorum Experience Layer — shared cinematic polish */
:root{
  --mx: 50vw;
  --my: 30vh;
  --signal-hot: #ff9a67;
  --cream: #f5eee8;
}

html{ background:#050404; overflow-x:clip; }
body::before{
  content:""; position:fixed; inset:0; z-index:9998; pointer-events:none; opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.75'/%3E%3C/svg%3E");
  mix-blend-mode:normal;
}
body:not(.page-home) .aurora-wrap{ display:none!important; }
body::after{
  content:""; position:fixed; inset:0; z-index:0; pointer-events:none;
  background:radial-gradient(520px circle at var(--mx) var(--my), rgba(232,80,12,.075), transparent 72%);
}
main, .site-footer{ isolation:isolate; }

/* premium glass navigation */
.site-header{ padding-top:1rem; }
.site-header .header-inner{
  min-height:58px; padding:.55rem .6rem .55rem 1.15rem; border:1px solid transparent;
  border-radius:18px; transition:background .4s ease,border-color .4s ease,box-shadow .4s ease,transform .4s var(--ease);
}
.site-header.is-scrolled{ background:transparent!important; border:0!important; backdrop-filter:none!important; }
.site-header.is-scrolled .header-inner{
  background:rgba(10,8,8,.72); border-color:rgba(255,255,255,.095);
  box-shadow:0 18px 55px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.045);
  backdrop-filter:blur(22px) saturate(140%); -webkit-backdrop-filter:blur(22px) saturate(140%);
}
.site-header .logo img{ height:22px; }
.main-nav a::before{ content:""; position:absolute; left:50%; bottom:-7px; width:4px; height:4px; border-radius:50%; background:var(--signal-hot); opacity:0; transform:translate(-50%,5px); transition:.3s var(--ease); box-shadow:0 0 12px var(--signal); }
.main-nav a:hover::before,.main-nav a.is-active::before{ opacity:1; transform:translate(-50%,0); }
.main-nav a.is-active::after{ display:none; }
.main-nav .btn-primary{ color:#100b09; }
.main-nav .btn-primary::before{ bottom:auto; }

/* richer surfaces */
.glass-card{ overflow:hidden; transform:translateZ(0); }
.glass-card::after{
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; opacity:0;
  background:radial-gradient(380px circle at var(--card-x,50%) var(--card-y,50%),rgba(255,122,61,.15),transparent 58%);
  transition:opacity .35s ease;
}
.glass-card:hover::after{ opacity:1; }
.glass-card:hover{ box-shadow:0 24px 70px rgba(0,0,0,.24),0 0 0 1px rgba(232,80,12,.08),0 0 45px rgba(232,80,12,.09)!important; }
.section-head h2,.page-hero h1{ text-wrap:balance; }
.eyebrow{ padding:.38rem .7rem; border:1px solid rgba(255,122,61,.16); border-radius:999px; background:rgba(232,80,12,.055); }
.eyebrow::before{ border-radius:50%; animation:expPulse 2s ease-in-out infinite; }
.btn{ position:relative; overflow:hidden; }
.btn::before{ content:""; position:absolute; top:-80%; left:-35%; width:26%; height:260%; background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent); transform:rotate(20deg) translateX(-250%); transition:transform .75s var(--ease); }
.btn:hover::before{ transform:rotate(20deg) translateX(620%); }
.btn-primary{ box-shadow:0 0 0 1px rgba(255,255,255,.22),0 12px 35px rgba(0,0,0,.24); }

/* cinematic homepage hero */
.hero{ min-height:max(760px,100svh); }
.hero::before{ content:""; position:absolute; left:0; right:0; bottom:0; height:36%; pointer-events:none; background:linear-gradient(transparent,var(--bg)); z-index:1; }
.hero::after{ content:""; position:absolute; left:50%; bottom:4%; width:min(86vw,1100px); height:1px; transform:translateX(-50%); background:linear-gradient(90deg,transparent,rgba(255,122,61,.28),transparent); box-shadow:0 0 35px rgba(232,80,12,.24); z-index:2; }
.hero .wrap{ width:100%; }
.hero-layout{ display:grid; grid-template-columns:minmax(0,1.04fr) minmax(390px,.96fr); align-items:center; gap:clamp(2rem,6vw,6rem); position:relative; z-index:3; }
.hero-inner{ max-width:720px; margin:0; text-align:left; align-items:flex-start; }
.hero h1{ font-size:clamp(3.35rem,6.2vw,6.7rem); line-height:.91; letter-spacing:-.065em; font-weight:600; text-wrap:balance; }
.hero h1 .hero-accent{ color:transparent; background:linear-gradient(110deg,#fff 0%,#ffd3bd 32%,#ff7737 66%,#fff 100%); background-size:220% auto; -webkit-background-clip:text; background-clip:text; animation:expShimmer 7s linear infinite; }
.hero-sub{ font-size:clamp(1.02rem,1.3vw,1.2rem); max-width:52ch; }
.hero-actions,.hero-trust{ justify-content:flex-start; }
.badge-pill{ box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 12px 35px rgba(0,0,0,.15); }
.hero-kicker-line{ display:flex; align-items:center; gap:.7rem; margin-top:1.8rem; color:rgba(255,255,255,.38); font:500 .68rem/1 var(--font-mono); letter-spacing:.12em; text-transform:uppercase; }
.hero-kicker-line::before{ content:""; width:36px; height:1px; background:var(--signal); box-shadow:0 0 10px var(--signal); }

.hero-engine{ position:relative; width:min(100%,560px); aspect-ratio:1/1.04; justify-self:end; perspective:1000px; }
.engine-shell{ position:absolute; inset:3%; border:1px solid rgba(255,255,255,.09); border-radius:42px; background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.012)); backdrop-filter:blur(18px); box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 50px 100px rgba(0,0,0,.4),0 0 90px rgba(232,80,12,.1); overflow:hidden; transform:rotateY(-5deg) rotateX(2deg); transition:transform .4s var(--ease); }
.hero-engine:hover .engine-shell{ transform:rotateY(0) rotateX(0) translateY(-4px); }
.engine-shell::before{ content:""; position:absolute; inset:-1px; border-radius:inherit; background:linear-gradient(130deg,rgba(255,255,255,.18),transparent 24%,transparent 68%,rgba(232,80,12,.2)); padding:1px; -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude; }
.engine-grid{ position:absolute; inset:0; opacity:.23; background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px); background-size:34px 34px; mask-image:radial-gradient(circle,#000 25%,transparent 72%); }
.engine-head{ position:absolute; top:5.5%; left:7%; right:7%; display:flex; align-items:center; justify-content:space-between; font:500 .65rem/1 var(--font-mono); color:rgba(255,255,255,.42); letter-spacing:.1em; text-transform:uppercase; }
.engine-live{ display:flex; align-items:center; gap:.45rem; color:#ff9a67; }
.engine-live i{ display:block; width:6px; height:6px; border-radius:50%; background:#ff7a3d; box-shadow:0 0 12px #e8500c; animation:expPulse 1.6s ease-in-out infinite; }
.engine-orbit{ position:absolute; left:50%; top:48%; translate:-50% -50%; border:1px solid rgba(255,255,255,.1); border-radius:50%; }
.engine-orbit.o1{ width:42%; aspect-ratio:1; animation:expSpin 18s linear infinite; }
.engine-orbit.o2{ width:66%; aspect-ratio:1; border-style:dashed; animation:expSpin 30s linear infinite reverse; }
.engine-orbit.o3{ width:87%; aspect-ratio:1; border-color:rgba(232,80,12,.13); animation:expSpin 44s linear infinite; }
.engine-orbit::after{ content:""; position:absolute; top:-4px; left:50%; width:8px; height:8px; border-radius:50%; background:var(--signal-hot); box-shadow:0 0 18px var(--signal); }
.engine-core{ position:absolute; left:50%; top:48%; translate:-50% -50%; width:28%; aspect-ratio:1; border-radius:50%; display:grid; place-items:center; background:radial-gradient(circle at 36% 30%,#ff9a67,#e8500c 42%,#451304 72%); box-shadow:0 0 0 12px rgba(232,80,12,.06),0 0 0 32px rgba(232,80,12,.025),0 0 80px rgba(232,80,12,.55); animation:expBreathe 4s ease-in-out infinite; }
.engine-core span{ color:#fff; font:700 clamp(2rem,4vw,3.6rem)/1 var(--font-display); letter-spacing:-.08em; transform:translateX(-.04em); text-shadow:0 3px 18px rgba(72,15,0,.35); }
.engine-beam{ position:absolute; left:50%; top:48%; width:44%; height:1px; transform-origin:left center; background:linear-gradient(90deg,rgba(255,122,61,.85),transparent); opacity:.5; }
.engine-beam.b1{ rotate:18deg; }.engine-beam.b2{ rotate:138deg; }.engine-beam.b3{ rotate:258deg; }
.engine-node{ position:absolute; display:flex; align-items:center; gap:.45rem; padding:.55rem .7rem; border:1px solid rgba(255,255,255,.1); border-radius:10px; background:rgba(8,6,6,.72); box-shadow:0 12px 35px rgba(0,0,0,.3); color:rgba(255,255,255,.68); font:500 .59rem/1 var(--font-mono); letter-spacing:.05em; backdrop-filter:blur(12px); animation:expFloat 5s ease-in-out infinite; }
.engine-node::before{ content:""; width:5px; height:5px; border-radius:50%; background:#ff7a3d; box-shadow:0 0 9px #e8500c; }
.engine-node.n1{ left:6%; top:28%; }.engine-node.n2{ right:5%; top:24%; animation-delay:-1.5s; }.engine-node.n3{ left:8%; bottom:25%; animation-delay:-3s; }.engine-node.n4{ right:4%; bottom:22%; animation-delay:-4.2s; }
.engine-console{ position:absolute; left:7%; right:7%; bottom:5.5%; display:grid; grid-template-columns:1fr 1fr 1fr; gap:1px; overflow:hidden; border:1px solid rgba(255,255,255,.08); border-radius:12px; background:rgba(255,255,255,.08); }
.engine-metric{ background:rgba(8,6,6,.83); padding:.7rem .8rem; }
.engine-metric small{ display:block; color:rgba(255,255,255,.34); font:500 .52rem/1 var(--font-mono); letter-spacing:.09em; text-transform:uppercase; }
.engine-metric strong{ display:block; margin-top:.45rem; font:500 .72rem/1 var(--font-mono); color:#f7eee9; }
.engine-metric strong em{ color:#62d99b; font-style:normal; }
.engine-scan{ position:absolute; left:5%; right:5%; height:28%; top:-30%; pointer-events:none; background:linear-gradient(transparent,rgba(255,122,61,.07),transparent); border-bottom:1px solid rgba(255,122,61,.18); animation:expScan 5s linear infinite; }
.scroll-cue{ position:absolute; left:50%; bottom:1.8%; translate:-50% 0; display:flex; align-items:center; gap:.7rem; color:rgba(255,255,255,.34); font:500 .58rem/1 var(--font-mono); letter-spacing:.12em; text-transform:uppercase; z-index:3; }
.scroll-cue i{ width:1px; height:32px; background:linear-gradient(var(--signal),transparent); animation:expScroll 1.8s ease-in-out infinite; }

/* cursor and route transition */
.exp-cursor,.exp-cursor-dot{ position:fixed; left:0; top:0; pointer-events:none; z-index:10001; border-radius:50%; opacity:0; }
.exp-cursor{ width:38px; height:38px; border:1px solid rgba(255,143,90,.55); mix-blend-mode:screen; transition:width .25s var(--ease),height .25s var(--ease),border-color .25s,opacity .2s; }
.exp-cursor-dot{ width:4px; height:4px; background:#ff8e58; box-shadow:0 0 10px #e8500c; }
.exp-cursor.is-active{ width:58px; height:58px; border-color:rgba(255,255,255,.5); }
.page-wipe{ position:fixed; inset:0; z-index:10000; pointer-events:none; background:#e8500c; transform:scaleY(0); transform-origin:bottom; }
.page-wipe.is-leaving{ animation:expWipeIn .58s var(--ease) forwards; }

@keyframes expPulse{ 50%{ opacity:.4; transform:scale(.72); } }
@keyframes expSpin{ to{ rotate:360deg; } }
@keyframes expBreathe{ 50%{ transform:scale(1.045); box-shadow:0 0 0 16px rgba(232,80,12,.04),0 0 0 38px rgba(232,80,12,.02),0 0 110px rgba(232,80,12,.66); } }
@keyframes expFloat{ 50%{ transform:translateY(-7px); } }
@keyframes expScan{ to{ top:105%; } }
@keyframes expShimmer{ to{ background-position:220% center; } }
@keyframes expScroll{ 0%,100%{ transform:scaleY(.25); transform-origin:top; opacity:.35; } 50%{ transform:scaleY(1); opacity:1; } }
@keyframes expWipeIn{ to{ transform:scaleY(1); } }

@media (max-width:1000px){
  .hero-layout{ grid-template-columns:1fr minmax(330px,.78fr); gap:2rem; }
  .hero h1{ font-size:clamp(3rem,6.6vw,5.2rem); }
  .engine-node{ font-size:.5rem; }
}
@media (max-width:820px){
  .hero{ padding-top:8.5rem; padding-bottom:5rem; }
  .hero-layout{ grid-template-columns:1fr; }
  .hero-inner{ align-items:center; text-align:center; margin:auto; }
  .hero h1{ font-size:clamp(3.2rem,12vw,5.8rem); }
  .hero-actions,.hero-trust{ justify-content:center; }
  .hero-engine{ width:min(100%,500px); justify-self:center; margin-top:1.5rem; }
  .scroll-cue{ display:none; }
}
@media (max-width:560px){
  body::after{ display:none; }
  .hero{ min-height:auto; }
  .hero h1{ font-size:clamp(3rem,15.2vw,4.5rem); letter-spacing:-.07em; }
  .hero-sub{ font-size:1rem; }
  .hero-engine{ width:108%; margin-inline:-4%; }
  .engine-shell{ border-radius:28px; }
  .engine-node{ padding:.42rem .5rem; }
  .engine-console{ grid-template-columns:1fr 1fr; }
  .engine-metric:last-child{ display:none; }
  .hero-kicker-line{ justify-content:center; }
}
@media (hover:none),(pointer:coarse){ .exp-cursor,.exp-cursor-dot{ display:none; } }
@media (prefers-reduced-motion:reduce){
  .engine-orbit,.engine-core,.engine-node,.engine-scan,.scroll-cue i,.eyebrow::before,.hero h1 .hero-accent{ animation:none!important; }
  .page-wipe{ display:none; }
}

/* ================================================================
   Experience 2.0 — page signatures, richer content, true transitions
   ================================================================ */

/* the previous ambient animation now flows through the homepage hero */
.hero-particles{ position:absolute; inset:0; z-index:1; width:100%; height:100%; opacity:.68; pointer-events:none; mask-image:linear-gradient(to bottom,#000 0%,#000 74%,transparent 98%); }
.page-home .aurora-wrap{ opacity:.76; }
.page-home .hero-engine::before{ content:""; position:absolute; inset:-16%; border-radius:50%; background:radial-gradient(circle,rgba(232,80,12,.16),transparent 66%); filter:blur(25px); pointer-events:none; animation:expBreathe 5s ease-in-out infinite; }

/* branded page curtain: cover old page, reveal the new one */
.page-wipe{
  display:grid; place-items:center; transform:scaleY(1); transform-origin:top; background:#ed560f;
  box-shadow:0 0 100px rgba(232,80,12,.45); will-change:transform;
}
.page-wipe::before{ content:""; position:absolute; inset:0; opacity:.16; background-image:linear-gradient(rgba(255,255,255,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.16) 1px,transparent 1px); background-size:46px 46px; mask-image:radial-gradient(circle,#000,transparent 72%); }
.page-wipe::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:2px; background:#fff; box-shadow:0 0 24px rgba(255,255,255,.9); }
.page-wipe.is-entering{ transform:scaleY(1); transform-origin:top; }
.page-wipe.is-entering.is-entered{ transform:scaleY(0); transition:transform .82s cubic-bezier(.76,0,.24,1) .12s; }
.page-wipe.is-leaving{ transform-origin:bottom; animation:expWipeIn .62s cubic-bezier(.76,0,.24,1) forwards; }
.wipe-brand{ position:relative; display:flex; align-items:center; gap:.8rem; color:#fff; transform:translateY(0); transition:opacity .22s ease,transform .45s var(--ease); }
.page-wipe.is-entered .wipe-brand{ opacity:0; transform:translateY(-18px); }
.wipe-brand span{ display:grid; place-items:center; width:42px; height:42px; border:1px solid rgba(255,255,255,.48); border-radius:12px; font:700 1.35rem/1 var(--font-display); box-shadow:inset 0 1px 0 rgba(255,255,255,.25); }
.wipe-brand strong{ font:700 clamp(1.2rem,3vw,1.8rem)/1 var(--font-display); letter-spacing:.15em; }
.wipe-brand i{ position:absolute; left:0; right:0; bottom:-17px; height:1px; overflow:hidden; background:rgba(255,255,255,.25); }
.wipe-brand i::after{ content:""; position:absolute; inset:0; background:#fff; animation:wipeProgress .6s ease-in-out infinite alternate; transform-origin:left; }

/* shared cinematic subpage hero */
.subhero{
  max-width:var(--max); min-height:min(790px,92svh); display:grid; grid-template-columns:minmax(0,.92fr) minmax(430px,1.08fr);
  align-items:center; gap:clamp(2.5rem,7vw,7rem); padding-block:clamp(8rem,12vw,9rem) clamp(4rem,7vw,6rem)!important;
  overflow:visible!important;
}
.subhero::before{ content:""; position:absolute; width:48vw; height:48vw; max-width:720px; max-height:720px; right:-15%; top:5%; border-radius:50%; background:radial-gradient(circle,rgba(232,80,12,.14),transparent 68%); filter:blur(35px); pointer-events:none; }
.subhero-copy{ position:relative; z-index:2; }
.subhero h1{ max-width:12ch!important; margin-top:1.2rem!important; font-size:clamp(3.5rem,6.3vw,6.6rem)!important; line-height:.93!important; letter-spacing:-.065em!important; text-wrap:balance; }
.subhero h1 span{ color:transparent; background:linear-gradient(105deg,#fff0e8,#ff6a22 72%); -webkit-background-clip:text; background-clip:text; }
.subhero p{ max-width:48ch!important; font-size:clamp(1rem,1.3vw,1.16rem)!important; }
.subhero-visual{ position:relative; z-index:2; min-height:470px; border:1px solid rgba(255,255,255,.1); border-radius:32px; background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.012)); box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 45px 90px rgba(0,0,0,.38),0 0 80px rgba(232,80,12,.08); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); overflow:hidden; }
.subhero-visual::before{ content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px); background-size:32px 32px; mask-image:linear-gradient(to bottom,#000,transparent 88%); pointer-events:none; }

/* services: live input -> logic -> result pipeline */
.services-visual{ padding:1.5rem; display:flex; flex-direction:column; justify-content:space-between; }
.sv-top,.rv-head{ display:flex; justify-content:space-between; align-items:center; color:rgba(255,255,255,.45); font:500 .62rem/1 var(--font-mono); letter-spacing:.09em; text-transform:uppercase; position:relative; z-index:2; }
.sv-top em{ color:#7ee2aa; font-style:normal; display:flex; gap:.4rem; align-items:center; }
.sv-top em i,.rv-foot i{ width:6px; height:6px; border-radius:50%; background:#65d99a; box-shadow:0 0 10px #65d99a; animation:expPulse 1.6s infinite; }
.sv-pipeline{ display:grid; grid-template-columns:1fr 56px 1fr 56px 1fr; align-items:center; position:relative; z-index:2; }
.sv-station{ min-width:0; aspect-ratio:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.5rem; text-align:center; border:1px solid rgba(255,255,255,.1); border-radius:20px; background:rgba(7,5,5,.62); box-shadow:0 15px 35px rgba(0,0,0,.24); }
.sv-station small{ color:rgba(255,255,255,.35); font:500 .48rem/1 var(--font-mono); text-transform:uppercase; }
.sv-station strong{ font-size:clamp(.75rem,1.2vw,.95rem); }
.sv-station>span{ margin-top:.3rem; display:grid; place-items:center; width:38px; height:38px; border-radius:11px; color:#ff9a67; background:rgba(232,80,12,.12); border:1px solid rgba(232,80,12,.25); font:600 .68rem/1 var(--font-mono); }
.sv-station.is-core{ border-color:rgba(232,80,12,.38); box-shadow:0 0 42px rgba(232,80,12,.14); }
.sv-station.is-core .sv-gear{ border-radius:50%; background:var(--signal); color:#fff; box-shadow:0 0 30px rgba(232,80,12,.48); animation:expSpin 8s linear infinite; }
.sv-check{ color:#73dda4!important; }
.sv-link{ height:1px; overflow:visible; background:rgba(255,255,255,.11); position:relative; }
.sv-link i{ position:absolute; width:26px; height:2px; top:-1px; background:linear-gradient(90deg,transparent,#ff8d55,transparent); filter:drop-shadow(0 0 5px #e8500c); animation:svFlow 1.8s linear infinite; }
.sv-log{ position:relative; z-index:2; display:grid; grid-template-columns:auto 1fr auto; gap:.8rem; align-items:center; padding:.75rem .8rem; border-top:1px solid rgba(255,255,255,.07); color:rgba(255,255,255,.45); font:500 .55rem/1.3 var(--font-mono); }
.sv-log p{ font-size:.6rem!important; margin:0!important; color:rgba(255,255,255,.62)!important; }
.sv-log em{ color:#72dca2; font-style:normal; }

/* references: animated impact dashboard */
.results-visual{ padding:1.6rem; display:grid; grid-template-rows:auto auto 1fr auto; gap:1.3rem; }
.rv-head em{ font-style:normal; padding:.4rem .6rem; border:1px solid rgba(255,255,255,.08); border-radius:999px; }
.rv-kpis{ display:grid; grid-template-columns:1fr 1fr; gap:.8rem; position:relative; z-index:2; }
.rv-kpis>div{ padding:1rem; border:1px solid rgba(255,255,255,.08); border-radius:14px; background:rgba(8,6,6,.55); }
.rv-kpis small{ display:block; color:rgba(255,255,255,.35); font:500 .55rem/1 var(--font-mono); text-transform:uppercase; }
.rv-kpis strong{ display:block; margin-top:.45rem; font-size:clamp(1.7rem,3vw,2.6rem); letter-spacing:-.05em; }
.rv-kpis i{ color:#71dca1; font:500 .55rem/1 var(--font-mono); font-style:normal; }
.rv-chart{ min-height:175px; display:flex; align-items:end; gap:clamp(.35rem,1vw,.7rem); padding:1rem 1rem 0; border-left:1px solid rgba(255,255,255,.07); border-bottom:1px solid rgba(255,255,255,.07); position:relative; z-index:2; }
.rv-chart>span{ flex:1; height:var(--h); min-width:8px; border-radius:5px 5px 0 0; background:linear-gradient(to top,rgba(232,80,12,.15),rgba(255,122,61,.62)); transform-origin:bottom; animation:rvBar 1.1s var(--ease) both; }
.rv-chart>span:nth-child(2){animation-delay:.08s}.rv-chart>span:nth-child(3){animation-delay:.16s}.rv-chart>span:nth-child(4){animation-delay:.24s}.rv-chart>span:nth-child(5){animation-delay:.32s}.rv-chart>span:nth-child(6){animation-delay:.4s}.rv-chart>span:nth-child(7){animation-delay:.48s}.rv-chart>span:nth-child(8){animation-delay:.56s}
.rv-chart svg{ position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
.rv-chart path{ fill:none; stroke:#ff8d55; stroke-width:2; vector-effect:non-scaling-stroke; filter:drop-shadow(0 0 6px rgba(232,80,12,.8)); stroke-dasharray:600; animation:rvDraw 2.2s var(--ease) both .25s; }
.rv-foot{ display:flex; justify-content:space-between; gap:1rem; align-items:center; color:rgba(255,255,255,.45); font:500 .58rem/1 var(--font-mono); position:relative; z-index:2; }
.rv-foot span{ display:flex; align-items:center; gap:.45rem; }.rv-foot strong{ color:rgba(255,255,255,.72); font-weight:500; }

/* about: founder composition */
.founders-visual{ min-height:520px; overflow:visible; background:transparent; border:0; box-shadow:none; backdrop-filter:none; }
.founders-visual::before{ display:none; }
.fv-halo{ position:absolute; inset:5% 0 0; background:radial-gradient(circle,rgba(232,80,12,.25),transparent 62%); filter:blur(32px); animation:expBreathe 5s ease-in-out infinite; }
.fv-card{ position:absolute; width:54%; margin:0; border:1px solid rgba(255,255,255,.12); border-radius:24px; overflow:hidden; background:#0d0a09; box-shadow:0 35px 70px rgba(0,0,0,.5); }
.fv-card img{ width:100%; height:100%; object-fit:contain; object-position:center; filter:saturate(.72) contrast(1.06); transition:transform .8s var(--ease),filter .5s ease; }
.fv-card:hover img{ transform:scale(1.045); filter:saturate(1) contrast(1.04); }
.fv-one{ left:3%; top:3%; height:74%; transform:rotate(-4deg); background:#756c64; }.fv-two{ right:1%; bottom:2%; height:74%; transform:rotate(4deg); background:#f5f5f4; }
.fv-card figcaption{ position:absolute; left:0; right:0; bottom:0; padding:3.5rem 1.2rem 1.1rem; background:linear-gradient(transparent,rgba(5,4,4,.94)); display:flex; align-items:end; justify-content:space-between; }
.fv-card figcaption strong{ font-size:1.1rem; }.fv-card figcaption span{ color:#ff8d55; font:500 .58rem/1 var(--font-mono); text-transform:uppercase; }
.fv-connector{ position:absolute; left:50%; top:46%; translate:-50% -50%; z-index:4; width:84%; display:flex; align-items:center; color:#fff; font:600 .58rem/1 var(--font-mono); letter-spacing:.12em; }
.fv-connector i{ flex:1; height:1px; background:linear-gradient(90deg,transparent,#e8500c); }.fv-connector i:last-child{ transform:scaleX(-1); }
.fv-connector span{ padding:.65rem .8rem; border-radius:999px; background:#e8500c; box-shadow:0 0 24px rgba(232,80,12,.55); }
.fv-badge{ position:absolute; z-index:5; left:0; bottom:2%; padding:.8rem 1rem; border:1px solid rgba(255,255,255,.1); border-radius:14px; background:rgba(8,6,6,.8); backdrop-filter:blur(14px); color:rgba(255,255,255,.42); font:500 .54rem/1.5 var(--font-mono); text-transform:uppercase; animation:expFloat 5s ease-in-out infinite; }
.fv-badge strong{ color:#fff; font-weight:500; }

/* less brochure-like inner sections */
.page-leistungen .intro-steps{ position:sticky; top:0; backdrop-filter:blur(18px); background:rgba(8,6,6,.78); }
.page-leistungen .leistung-block{ overflow:hidden; }
.page-leistungen .leistung-block::before{ content:attr(data-index); position:absolute; right:3vw; top:50%; translate:0 -50%; font:700 clamp(8rem,20vw,18rem)/1 var(--font-display); color:rgba(255,255,255,.018); letter-spacing:-.08em; pointer-events:none; }
.page-leistungen .leistung-block:nth-child(1)::before{content:"01"}.page-leistungen .leistung-block:nth-child(2)::before{content:"02"}.page-leistungen .leistung-block:nth-child(3)::before{content:"03"}.page-leistungen .leistung-block:nth-child(4)::before{content:"04"}
.page-leistungen .ablauf{ background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(232,80,12,.025)); box-shadow:0 24px 70px rgba(0,0,0,.25); }
.page-leistungen .ablauf-step::before{ animation:expPulse 2.2s ease-in-out infinite; }
.page-leistungen .ablauf-step:nth-child(2)::before{animation-delay:.35s}.page-leistungen .ablauf-step:nth-child(3)::before{animation-delay:.7s}.page-leistungen .ablauf-step:nth-child(4)::before{animation-delay:1.05s}
.page-referenzen .cases-grid{ gap:1.7rem; }
.page-referenzen .case-card{ transition:transform .5s var(--ease),border-color .35s,box-shadow .35s; }
.page-referenzen .case-card:hover{ transform:translateY(-8px); }
.page-referenzen .case-illustration svg path{ stroke-dasharray:500; animation:rvDraw 3s var(--ease) both; }
.page-referenzen .case-illustration svg circle{ animation:expPulse 1.8s ease-in-out infinite; transform-box:fill-box; transform-origin:center; }
.page-referenzen .case-result strong{ text-shadow:0 0 22px rgba(232,80,12,.2); }
.page-ueber-uns .story{ position:relative; }
.page-ueber-uns .story::before{ content:"01 — ORIGIN"; position:absolute; right:var(--edge); top:2rem; color:rgba(255,255,255,.035); font:600 clamp(2rem,7vw,6rem)/1 var(--font-mono); }
.page-ueber-uns .values-grid{ grid-template-columns:1.2fr .8fr .8fr 1.2fr; }
.page-ueber-uns .value-card{ min-height:250px; display:flex; flex-direction:column; justify-content:flex-end; background:linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.012)); }
.page-ueber-uns .value-num{ margin-bottom:auto; font-size:2rem; color:rgba(255,122,61,.7); }
.page-ueber-uns .founder-card{ transition:transform .6s var(--ease); }.page-ueber-uns .founder-card:hover{ transform:translateY(-9px); }
.page-ueber-uns .founder-photo{ aspect-ratio:4/5; }
.page-ueber-uns .founder-card:first-child .founder-photo{ background:#756c64; }
.page-ueber-uns .founder-card:nth-child(2) .founder-photo{ background:#f5f5f4; }
.page-ueber-uns .founder-photo img{ object-fit:contain; object-position:center; transition:transform .8s var(--ease),filter .5s; filter:saturate(.76); }
.page-ueber-uns .founder-card:hover img{ transform:scale(1.018); filter:saturate(1); }

@keyframes wipeProgress{ from{transform:scaleX(.12)} to{transform:scaleX(1)} }
@keyframes svFlow{ from{left:-22px} to{left:100%} }
@keyframes rvBar{ from{transform:scaleY(0);opacity:0} to{transform:scaleY(1);opacity:1} }
@keyframes rvDraw{ from{stroke-dashoffset:600} to{stroke-dashoffset:0} }

@media (min-width:901px){
  .page-referenzen .case-card:first-child{ grid-column:1/-1; display:grid; grid-template-columns:.8fr 1.2fr; }
  .page-referenzen .case-card:first-child .case-illustration{ height:auto; min-height:100%; border-bottom:0; border-right:1px solid var(--glass-border); }
  .page-referenzen .case-card:last-child{ grid-column:1/-1; }
}
@media (max-width:1000px){
  .subhero{ grid-template-columns:minmax(0,.9fr) minmax(390px,1.1fr); gap:2rem; }
  .subhero h1{ font-size:clamp(3.3rem,6.4vw,5.2rem)!important; }
  .page-ueber-uns .values-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:820px){
  .subhero{ min-height:auto; grid-template-columns:1fr; padding-top:9rem!important; }
  .subhero-copy{ text-align:center; }.subhero h1,.subhero p{ margin-inline:auto; }.subhero .eyebrow{ justify-content:center; }
  .subhero-visual{ width:min(100%,570px); margin-inline:auto; min-height:430px; }
  .founders-visual{ min-height:520px; }
}
@media (max-width:560px){
  .subhero{ gap:2.8rem; padding-bottom:3rem!important; }
  .subhero h1{ font-size:clamp(3.2rem,14vw,4.5rem)!important; }
  .subhero-visual{ min-height:390px; border-radius:24px; }
  .services-visual{ padding:1rem; }.sv-pipeline{ grid-template-columns:1fr 24px 1fr 24px 1fr; }.sv-station{border-radius:14px}.sv-station small{display:none}.sv-station>span{width:30px;height:30px}.sv-log{gap:.45rem;padding:.65rem .2rem}.sv-log span{display:none}
  .results-visual{padding:1rem}.rv-kpis strong{font-size:1.8rem}.rv-chart{min-height:145px}.rv-foot strong{display:none}
  .founders-visual{ min-height:430px; }.fv-card{width:60%}.fv-one{height:72%}.fv-two{height:72%}.fv-badge{display:none}
  .page-ueber-uns .values-grid{ grid-template-columns:1fr; }.page-ueber-uns .value-card{min-height:220px}
}
@media (prefers-reduced-motion:reduce){
  .hero-particles{display:none}.sv-link i,.sv-gear,.rv-chart>span,.rv-chart path,.fv-halo,.fv-badge,.page-leistungen .ablauf-step::before,.case-illustration svg *{animation:none!important}
  .page-wipe{display:none!important}
}

/* ================================================================
   Homepage stabilization — fog hero + predictable scroll scenes
   ================================================================ */
.page-wipe,.scroll-progress,.hero-particles,.exp-cursor,.exp-cursor-dot{ display:none!important; }
.btn::before{ display:none!important; }
.header-cta{ transform:none!important; will-change:auto!important; }
.page-home{ overflow-x:clip!important; }
.page-home .site-header.is-scrolled{ background:rgba(5,4,4,.96)!important; border-bottom:1px solid rgba(255,255,255,.06)!important; }
.page-home .site-header.is-scrolled .header-inner{ background:rgba(5,4,4,.96)!important; backdrop-filter:none!important; -webkit-backdrop-filter:none!important; }

.page-home .aurora-wrap{
  z-index:0!important; opacity:1!important; transform:none!important; pointer-events:none;
  filter:saturate(1.45) contrast(1.08) brightness(1.22);
}
.page-home .aurora-wrap::after{ content:""; position:absolute; inset:0; background:radial-gradient(ellipse 72% 54% at 70% 24%,rgba(232,70,8,.28),transparent 64%),radial-gradient(ellipse 65% 55% at 30% 72%,rgba(180,45,4,.2),transparent 68%); mix-blend-mode:screen; }
.page-home .aurora-fallback{
  background:
    radial-gradient(ellipse 70% 55% at 22% 24%,rgba(180,48,5,.78),transparent 66%),
    radial-gradient(ellipse 68% 58% at 78% 38%,rgba(232,70,8,.65),transparent 67%),
    radial-gradient(ellipse 62% 55% at 52% 88%,rgba(255,103,31,.42),transparent 68%);
  filter:blur(24px) saturate(1.25);
  animation:fogFallback 12s ease-in-out infinite alternate;
}
.page-home .hero{ min-height:100svh!important; background:transparent!important; padding-block:clamp(7.5rem,12vw,9rem) 5rem; }
.page-home .hero::after{ display:none; }
.page-home .hero::before{ height:28%; background:linear-gradient(transparent,var(--bg)); opacity:.7; }
.page-home .hero-layout{ display:block!important; }
.page-home .hero-inner{ max-width:900px!important; margin-inline:auto!important; text-align:center!important; align-items:center!important; }
.page-home .hero h1{ font-size:clamp(3rem,6vw,5.35rem)!important; line-height:1.06!important; letter-spacing:-.045em!important; }
.page-home .hero h1 .hero-accent{ color:#fff!important; background:none!important; -webkit-text-fill-color:#fff; animation:none!important; }
.page-home .hero-sub{ max-width:58ch; }
.page-home .hero-actions,.page-home .hero-trust{ justify-content:center!important; }
.page-home .hero-kicker-line,.page-home .hero-engine,.page-home .scroll-cue{ display:none!important; }
.page-home .badge-pill{ background:rgba(8,5,4,.25); }

.page-home .convergence{ padding-block:clamp(3.8rem,7vw,5.5rem); }
.page-home .convergence-diagram{ margin-top:2rem; border:1px solid rgba(255,255,255,.065); border-radius:24px; background:radial-gradient(circle at 50% 68%,rgba(232,80,12,.085),transparent 52%); }
.page-home .conv-branch-base,.page-home .conv-trunk-base{ stroke:rgba(255,255,255,.17); }
.page-home .conv-branch-flow{ opacity:1; stroke-width:2; }

@media (min-width:900px){
  .page-home .story-sticky,.page-home .act-card{ top:100px; height:calc(100vh - 130px); max-height:680px; }
  .page-home .act{ height:155vh; }
  .page-home .act:last-child{ height:140vh; }
}

/* Global motion/performance discipline */
.motion-paused,.motion-paused *{ animation-play-state:paused!important; }
.site-header.is-scrolled .header-inner{ background:rgba(5,4,4,.96)!important; backdrop-filter:none!important; -webkit-backdrop-filter:none!important; }

@media (max-width:820px){
  body::before,body::after{ display:none!important; }
  .glass-card,.subhero-visual,.site-header .header-inner,.filter-bar{
    backdrop-filter:none!important; -webkit-backdrop-filter:none!important;
  }
  .glass-card{ background:rgba(13,10,9,.94); box-shadow:none; }
  .glass-card:hover,.page-referenzen .case-card:hover,.page-ueber-uns .founder-card:hover{ transform:none!important; box-shadow:none!important; }
  .site-header.is-scrolled{ background:rgba(5,4,4,.98)!important; }
  .site-header.is-scrolled .header-inner{ border-color:transparent; box-shadow:none; }
  .subhero-visual{ box-shadow:0 24px 55px rgba(0,0,0,.3); background:rgba(11,8,7,.94); }
  .filter-bar{ position:sticky; top:78px; background:rgba(5,4,4,.98); }
  .filter-inner{ flex-wrap:nowrap!important; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x proximity; scrollbar-width:none; padding-bottom:2px; }
  .filter-inner::-webkit-scrollbar{ display:none; }
  .filter-btn{ flex:0 0 auto; scroll-snap-align:start; }
  .btn{ will-change:auto; }
  .footer-grid{ row-gap:2.4rem; }
  .page-home .hero{ padding-top:6.8rem!important; padding-bottom:3rem!important; }
  .page-home .badge-pill{ margin-bottom:1.5rem; }
  .page-home .hero-sub{ margin-top:1.2rem; }
  .page-home .hero-actions{ margin-top:1.7rem; }
  .page-home .hero-trust{ margin-top:2rem; }
  .reveal{ transform:translate3d(0,18px,0); }
  .reveal-left{ transform:translate3d(-18px,0,0); }
  .reveal-right{ transform:translate3d(18px,0,0); }
  .reveal-scale{ transform:scale(.97); }
  .reveal,.reveal-left,.reveal-right,.reveal-scale{ transition-duration:.58s; backface-visibility:hidden; }
  .btn,.filter-btn,.menu-toggle{ min-height:44px; }
}

/* Mobile navigation stays mounted so opening/closing can actually animate. */
@media (max-width:900px){
  .mobile-nav{
    display:flex!important; visibility:hidden; opacity:0; pointer-events:none;
    transform:translate3d(0,-14px,0); transition:opacity .34s ease,transform .46s var(--ease),visibility 0s linear .46s;
  }
  .mobile-nav.is-open{
    visibility:visible; opacity:1; pointer-events:auto; transform:translate3d(0,0,0);
    transition:opacity .34s ease,transform .46s var(--ease),visibility 0s;
  }
  .mobile-nav li{ opacity:0; transform:translate3d(0,12px,0); transition:opacity .3s ease,transform .42s var(--ease); }
  .mobile-nav.is-open li{ opacity:1; transform:none; }
  .mobile-nav.is-open li:nth-child(1){transition-delay:.06s}.mobile-nav.is-open li:nth-child(2){transition-delay:.1s}.mobile-nav.is-open li:nth-child(3){transition-delay:.14s}.mobile-nav.is-open li:nth-child(4){transition-delay:.18s}.mobile-nav.is-open li:nth-child(5){transition-delay:.22s}
  body:has(.mobile-nav.is-open){ overflow:hidden!important; }
}

@keyframes fogFallback{
  0%{ transform:translate3d(-2%,-1%,0) scale(1.04); }
  100%{ transform:translate3d(2%,1%,0) scale(1.12); }
}

@media (max-width:820px){
  .page-home .hero{ padding-top:8rem; }
  .page-home .hero h1{ font-size:clamp(3rem,14vw,4.6rem)!important; }
}
@media (prefers-reduced-motion:reduce){ .page-home .aurora-fallback{animation:none} }

/* precise metric-card rhythm */
.page-home .stats-grid{ align-items:stretch; }
.page-home .stat-card{ min-height:190px; display:flex; flex-direction:column; justify-content:center; padding:2rem 1.75rem; }
.page-home .stat-card>strong{ min-height:1.08em; display:flex; align-items:center; font-size:clamp(2rem,3.2vw,2.5rem); line-height:1.08; }
.page-home .stat-card>strong .counter{ display:inline; margin:0; color:inherit; font:inherit; line-height:inherit; letter-spacing:inherit; }
.page-home .stat-card>span{ min-height:3em; margin-top:1rem; font-size:.88rem; line-height:1.5; }

/* reference filtering must outrank the featured-card layout */
.page-referenzen .case-card.is-filtered-out{ display:none!important; }
.page-referenzen .cases-grid.is-filtering{ grid-template-columns:repeat(auto-fit,minmax(360px,1fr)); }
.page-referenzen .cases-grid.is-filtering .case-card:not(.is-filtered-out){ grid-column:auto!important; display:block!important; }
.page-referenzen .cases-grid.is-filtering .case-card:first-child .case-illustration{ height:150px; min-height:0; border-right:0; border-bottom:1px solid var(--glass-border); }
.page-referenzen .cases-grid.is-filtering .case-card:last-child{ grid-column:auto!important; }
@media (max-width:560px){ .page-referenzen .cases-grid.is-filtering{ grid-template-columns:1fr; } }

/* smooth, composited homepage story */
@media (min-width:900px){
  .page-home .story-text{ position:relative; min-height:410px; }
  .page-home .story-chapter{
    display:block!important; position:absolute; inset:0; opacity:0; visibility:hidden;
    transform:translate3d(0,14px,0); transition:opacity .2s ease,transform .32s var(--ease),visibility 0s linear .24s;
    animation:none!important; will-change:opacity,transform;
  }
  .page-home .story-chapter.is-active{
    opacity:1; visibility:visible; transform:translate3d(0,0,0);
    transition:opacity .34s ease .1s,transform .44s var(--ease) .06s,visibility 0s;
  }
  .page-home .act-card{ z-index:1; }
  .page-home .act-appear{ transition:none!important; will-change:opacity; }
  .page-home .story-marker,.page-home .story-line i{ transition-duration:.55s; }
}

/* ================================================================
   Privacy settings — transparent notice for technically necessary use
   ================================================================ */
.privacy-settings-trigger{
  position:fixed; left:max(1rem,env(safe-area-inset-left)); bottom:max(1rem,env(safe-area-inset-bottom)); z-index:9997;
  min-height:38px; padding:.58rem .82rem; border:1px solid rgba(255,255,255,.14); border-radius:999px;
  background:rgba(10,8,8,.9); color:rgba(255,255,255,.72); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  font:500 .66rem/1 var(--font-mono); letter-spacing:.04em; cursor:pointer; box-shadow:0 12px 34px rgba(0,0,0,.3);
}
.privacy-settings-trigger:hover,.privacy-settings-trigger:focus-visible{ color:#fff; border-color:rgba(255,122,61,.55); }
.privacy-settings-dialog{
  position:fixed; inset:0; z-index:9998; display:flex; align-items:flex-end; justify-content:center;
  padding:clamp(1rem,3vw,2rem); background:rgba(0,0,0,.48); opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .24s ease,visibility 0s linear .24s;
}
.privacy-settings-dialog.is-visible{ opacity:1; visibility:visible; pointer-events:auto; transition:opacity .24s ease,visibility 0s; }
.privacy-settings-card{
  position:relative; width:min(100%,760px); padding:clamp(1.35rem,3vw,2rem); border:1px solid rgba(255,255,255,.14); border-radius:22px;
  background:linear-gradient(145deg,rgba(20,15,13,.98),rgba(8,6,6,.99)); color:#fff;
  box-shadow:0 30px 90px rgba(0,0,0,.62); transform:translate3d(0,18px,0); transition:transform .34s var(--ease);
}
.privacy-settings-dialog.is-visible .privacy-settings-card{ transform:translate3d(0,0,0); }
.privacy-settings-eyebrow{ display:block; margin-bottom:.55rem; color:#ff8d55; font:500 .66rem/1 var(--font-mono); letter-spacing:.1em; text-transform:uppercase; }
.privacy-settings-card h2{ margin:0; color:#fff; font:600 clamp(1.25rem,3vw,1.65rem)/1.2 var(--font-display); letter-spacing:-.025em; }
.privacy-settings-card>p{ max-width:66ch; margin:.8rem 0 0; color:rgba(255,255,255,.64); font:400 .9rem/1.6 var(--font-body); }
.privacy-settings-close{
  position:absolute; top:.85rem; right:.9rem; width:36px; height:36px; border:1px solid rgba(255,255,255,.12); border-radius:50%;
  background:rgba(255,255,255,.035); color:rgba(255,255,255,.72); font:300 1.35rem/1 var(--font-body); cursor:pointer;
}
.privacy-settings-close:hover,.privacy-settings-close:focus-visible{ color:#fff; border-color:rgba(255,122,61,.55); }
.privacy-settings-category{
  display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:1.2rem; padding:.9rem 1rem;
  border:1px solid rgba(255,255,255,.09); border-radius:14px; background:rgba(255,255,255,.025);
}
.privacy-settings-category strong{ display:block; color:#fff; font:600 .86rem/1.3 var(--font-body); }
.privacy-settings-category small{ display:block; margin-top:.25rem; color:rgba(255,255,255,.45); font:500 .62rem/1.3 var(--font-mono); }
.privacy-settings-status{ flex:0 0 auto; padding:.38rem .58rem; border-radius:999px; background:rgba(113,220,161,.1); color:#8be0ac; font:500 .62rem/1 var(--font-mono); }
.privacy-settings-actions{ display:flex; align-items:center; justify-content:flex-end; gap:.8rem; margin-top:1.25rem; }
.privacy-settings-actions a,.privacy-settings-necessary,.privacy-settings-reset{
  display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:.72rem 1rem; border-radius:999px;
  font:600 .78rem/1 var(--font-body); text-decoration:none; cursor:pointer;
}
.privacy-settings-actions a,.privacy-settings-reset{ color:rgba(255,255,255,.72); border:1px solid rgba(255,255,255,.13); background:transparent; }
.privacy-settings-necessary{ border:1px solid #e8500c; background:#e8500c; color:#fff; }
.privacy-settings-actions a:hover,.privacy-settings-actions a:focus-visible,.privacy-settings-reset:hover,.privacy-settings-reset:focus-visible{ color:#fff; border-color:rgba(255,122,61,.55); }
.privacy-settings-necessary:hover,.privacy-settings-necessary:focus-visible{ background:#ff6722; border-color:#ff6722; }
@media (max-width:560px){
  .privacy-settings-dialog{ padding:.7rem; }
  .privacy-settings-card{ border-radius:18px; padding:1.25rem; }
  .privacy-settings-category{ align-items:flex-start; }
  .privacy-settings-actions{ flex-direction:column-reverse; align-items:stretch; }
  .privacy-settings-actions a,.privacy-settings-necessary,.privacy-settings-reset{ width:100%; }
  .privacy-settings-trigger{ max-width:calc(100vw - 2rem); }
}
@media (prefers-reduced-motion:reduce){
  .privacy-settings-dialog,.privacy-settings-card{ transition:none; }
}
