/* ADS Data Direct - static site styles. Hand-written, no frameworks, no third-party fonts or code. */
:root{
  --brand:#fb480e; --brand-d:#c93a08; --ink:#16181d; --ink-2:#3a3f48; --muted:#5b616b;
  --line:#e4e6ea; --soft:#f5f6f8; --bg:#fff; --dark:#1b1d22; --radius:14px;
  --shadow:0 1px 2px rgba(16,24,40,.06),0 8px 24px rgba(16,24,40,.08);
  --font:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font);font-size:17px;line-height:1.65;color:var(--ink-2);background:var(--bg)}
img,video,iframe{max-width:100%;height:auto;display:block}
video{width:100%;border-radius:var(--radius);background:#000}
a{color:var(--brand-d);text-underline-offset:3px}
a:hover{color:var(--ink)}
h1,h2,h3,h4,h5,h6{color:var(--ink);line-height:1.2;margin:1.6em 0 .5em;font-weight:700;letter-spacing:-.01em}
h1{font-size:clamp(2rem,4.6vw,3.2rem);margin-top:0}
h2{font-size:clamp(1.5rem,3vw,2.1rem)}
h3{font-size:1.3rem}
h4,h5,h6{font-size:1.1rem}
p{margin:0 0 1.1em}
:focus-visible{outline:3px solid var(--brand);outline-offset:2px;border-radius:4px}
.wrap{width:min(1180px,100% - 32px);margin-inline:auto}
.narrow{width:min(820px,100% - 32px)}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:.6rem 1rem;z-index:100}
.skip:focus{left:8px;top:8px}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}

/* top bar + header */
.topbar{background:var(--dark);color:#fff;font-size:.88rem}
.topbar .wrap{display:flex;justify-content:flex-end;gap:1.5rem;padding:.4rem 0}
.topbar a{color:#fff;text-decoration:none}
.topbar a:hover{color:var(--brand)}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:76px}
.logo img{width:auto;height:60px}
.nav{display:block}
.menu{list-style:none;margin:0;padding:0;display:flex;gap:.1rem;align-items:center}
.menu>li{position:relative}
.menu a,.drop-btn{display:block;padding:.7rem .8rem;color:var(--ink);text-decoration:none;font-weight:600;font-size:.97rem;background:none;border:0;font-family:inherit;cursor:pointer;border-radius:8px}
.menu a:hover,.drop-btn:hover,.menu a[aria-current]{color:var(--brand-d)}
.has-sub>.sub-toggle{display:none}
.sub{list-style:none;margin:0;padding:.5rem;position:absolute;left:0;top:100%;min-width:260px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);display:none}
.sub.right{left:auto;right:0}
.has-sub.wide .sub{min-width:560px;columns:2;column-gap:.5rem}
.has-sub.wide .sub li{break-inside:avoid}
.sub a{font-weight:500;font-size:.93rem;padding:.45rem .7rem}
.has-sub:hover>.sub,.has-sub:focus-within>.sub,.has-sub.open>.sub{display:block}
.badge{display:inline-block;background:var(--brand);color:#fff;font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:.15rem .5rem;border-radius:99px;vertical-align:middle}
.badge.live{background:#16794c}.badge.soon{background:#6b7280}
.burger{display:none;background:none;border:1px solid var(--line);border-radius:10px;width:46px;height:46px;cursor:pointer;position:relative}
.burger span,.burger span::before,.burger span::after{content:"";position:absolute;left:12px;right:12px;height:2px;background:var(--ink);transition:.2s}
.burger span{top:22px}.burger span::before{top:-7px;left:0;right:0}.burger span::after{top:7px;left:0;right:0}

/* buttons */
.btn{display:inline-block;background:var(--brand-d);color:#fff;border:2px solid var(--brand-d);padding:.7rem 1.3rem;border-radius:999px;font-weight:700;font-size:1rem;text-decoration:none;cursor:pointer;font-family:inherit;line-height:1.2;transition:.15s}
.btn:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn-ghost:hover{background:var(--ink);color:#fff}
.btn-ghost-light{background:transparent;color:#fff;border-color:#fff}
.btn-ghost-light:hover{background:#fff;color:var(--ink);border-color:#fff}
.btn-light{background:#fff;color:var(--ink);border-color:#fff}
.btn-light:hover{background:var(--brand);border-color:var(--brand);color:#fff}
.btn+.btn{margin-left:.4rem}

/* hero */
.hero{background:linear-gradient(135deg,rgba(22,24,29,.93),rgba(22,24,29,.78)),url(/assets/img/pexels-burst-374074-1-scaled.jpg) center/cover;color:#fff;padding:clamp(3.5rem,9vw,7rem) 0}
.hero h1{color:#fff;max-width:18ch}
.hero .lead{font-size:1.25rem;max-width:62ch;color:#e8eaee}
.hero .two{display:grid;grid-template-columns:1.1fr .9fr;gap:2.5rem;align-items:start}
.eyebrow{color:var(--brand);text-transform:uppercase;letter-spacing:.14em;font-weight:800;font-size:.82rem;margin:0 0 .6rem}
.hero .eyebrow,.band .eyebrow{color:#ff8a5f}
.band .eyebrow a{color:#ff8a5f}
.band{background:linear-gradient(135deg,#1b1d22,#2b2e36);color:#fff;padding:clamp(2rem,5vw,3.4rem) 0}
.band h1{color:#fff;margin:0;font-size:clamp(1.8rem,4vw,2.8rem);max-width:28ch}
.band .meta{color:#c5c9d1;margin:.6rem 0 0}
.stats{list-style:none;padding:0;margin:1.2rem 0 1.6rem;display:flex;flex-wrap:wrap;gap:.6rem 1.6rem}
.stats li{color:#e8eaee}.stats strong{display:block;color:#fff;font-size:1.4rem}
.panel{background:#fff;color:var(--ink-2);border-radius:var(--radius);padding:1.6rem;box-shadow:var(--shadow)}
.panel h2{margin-top:0;font-size:1.4rem}

/* sections */
.sec-block{padding:clamp(2.2rem,5vw,4rem) 0}
.sec{text-align:center;margin:0 0 1.6rem}
.sec.left{text-align:left}
.two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:start}
.grid{display:grid;gap:1.4rem}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.clients{background:var(--soft);padding:2.2rem 0;text-align:center}
.clients img{margin:.6rem auto;max-width:900px;width:100%}
.svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem}
.svc{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:250px;border-radius:var(--radius);overflow:hidden;color:#fff;text-decoration:none;background:var(--dark);isolation:isolate;box-shadow:var(--shadow)}
.svc img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .4s}
.svc::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 25%,rgba(0,0,0,.82));z-index:-1}
.svc:hover img{transform:scale(1.05)}
.svc-t{font-weight:800;font-size:1.15rem;line-height:1.25;padding:0 1.1rem}
.svc-b{padding:.3rem 1.1rem 1.1rem;color:#ffb59b;font-weight:700;font-size:.92rem}
.svc.flagship{background:linear-gradient(145deg,var(--brand),#2b2b2b)}
.svc.flagship::after{display:none}
.svc:hover .svc-b{color:#fff}
.ai-teaser{background:linear-gradient(135deg,var(--brand-d),#2b2b2b);color:#fff;text-align:center;padding:3.2rem 0}
.ai-teaser h2{color:#fff;margin:.6rem 0}
.ai-teaser .btn{background:#fff;color:var(--ink);border-color:#fff}
.ai-teaser .btn:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.ai-teaser .badge{background:#fff;color:var(--brand-d)}
.ticks{list-style:none;padding:0;margin:0 0 1.4rem}
.ticks li{padding-left:1.8rem;position:relative;margin:.5rem 0}
.ticks li::before{content:"";position:absolute;left:0;top:.5em;width:.9rem;height:.5rem;border-left:3px solid var(--brand);border-bottom:3px solid var(--brand);transform:rotate(-45deg)}
.tsts{background:var(--soft);padding:clamp(2.2rem,5vw,4rem) 0}
.tst{margin:0;background:#fff;border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow);display:grid;gap:.8rem;grid-template-columns:84px 1fr;align-items:start}
.tst img{width:84px;height:84px;object-fit:contain;border-radius:10px;border:1px solid var(--line);padding:6px;background:#fff}
.tst blockquote{margin:0;grid-column:2}
.tst blockquote p{margin:0;font-size:1rem}
.tst figcaption{grid-column:2;font-size:.92rem;color:var(--muted)}
.tst figcaption strong{color:var(--ink)}
.cta{background:var(--dark);color:#d9dce2;text-align:center;padding:clamp(2.4rem,5vw,3.6rem) 0}
.cta h2{color:#fff;margin:.2rem 0 .6rem}
.cta .eyebrow{margin-bottom:0}
.cta .btn-ghost{color:#fff;border-color:#fff}
.cta .btn-ghost:hover{background:#fff;color:var(--ink)}

/* prose (imported page content) */
.prose{padding:clamp(1.8rem,4vw,3rem) 0;max-width:860px}
.prose.post{max-width:780px}
.prose>*:first-child{margin-top:0}
.prose h2,.prose h3,.prose h4{margin-top:1.8em}
.prose img{border-radius:var(--radius);margin:1.4rem 0;box-shadow:var(--shadow)}
.prose ul,.prose ol{padding-left:1.4rem}
.prose li{margin:.3em 0}
.prose blockquote{border-left:4px solid var(--brand);margin:1.4rem 0;padding:.2rem 1.2rem;color:var(--ink);background:var(--soft);border-radius:0 10px 10px 0}
.prose .em,.prose td .em{white-space:nowrap}
.prose table,.tablewrap table{width:100%;border-collapse:collapse;margin:1.4rem 0;font-size:.97rem}
.prose td,.prose th,.tablewrap td,.tablewrap th{border:1px solid var(--line);padding:.6rem .8rem;text-align:left;vertical-align:top}
.prose th,.tablewrap th{background:var(--soft);color:var(--ink)}
.tablewrap{overflow-x:auto}
.postnav{padding-bottom:2rem}
.post a img{margin:0}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.card.post{display:flex;flex-direction:column}
.card.post>a img{width:100%;aspect-ratio:3/2;object-fit:cover}
.card.post>div{padding:1.1rem 1.2rem 1.4rem}
.card.post h2{font-size:1.1rem;margin:.2rem 0 .5rem}
.card.post h2 a{color:var(--ink);text-decoration:none}
.card.post h2 a:hover{color:var(--brand-d)}
.card .meta,.meta{font-size:.85rem;color:var(--muted);margin:0}
.card.post p:last-child{font-size:.95rem;margin:0}
.card.prod{padding:1.6rem}
.card.prod h2{margin:.6rem 0 .6rem;font-size:1.5rem}
.card.prod.placeholder{border-style:dashed;background:var(--soft)}
.draft-note{background:#fff7e6;border:1px solid #f2c46d;color:#6b4a00;border-radius:12px;padding:1rem 1.2rem;margin:1.6rem 0}
code{background:#f0f1f4;padding:.1em .35em;border-radius:5px;font-size:.92em}

/* embeds */
.video,.map,.formsite{position:relative;border-radius:var(--radius);overflow:hidden;background:#000;box-shadow:var(--shadow);margin:1.2rem 0}
.video{aspect-ratio:16/9}
.map{aspect-ratio:16/7;background:var(--soft)}
.formsite{aspect-ratio:auto;min-height:620px;background:#fff}
.video iframe,.map iframe,.formsite iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* forms */
.form{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem;box-shadow:var(--shadow);margin:1rem 0}
.panel .form{border:0;box-shadow:none;padding:0}
.form p{margin:0 0 1rem}
.form label{display:block;font-weight:600;color:var(--ink);font-size:.95rem;margin-bottom:.3rem}
.form input:not([type=checkbox]):not([type=radio]),.form select,.form textarea{width:100%;font:inherit;color:var(--ink);padding:.7rem .8rem;border:1.5px solid #c9ccd3;border-radius:10px;background:#fff}
.form input:focus,.form select:focus,.form textarea:focus{outline:3px solid rgba(251,72,14,.35);border-color:var(--brand)}
.form fieldset{border:1px solid var(--line);border-radius:12px;margin:0 0 1rem;padding:.8rem 1rem}
.form legend{font-weight:700;color:var(--ink);padding:0 .4rem}
.form label.chk{display:flex;gap:.6rem;align-items:flex-start;font-weight:400;margin:.35rem 0;color:var(--ink-2)}
.form label.chk input{margin-top:.35em;flex:none}
.form small{display:block;color:var(--muted);margin:.3rem 0 .8rem}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}
.row3{display:grid;grid-template-columns:2fr 2fr 1fr;gap:0 1rem}

/* footer */
.site-footer{background:#14161a;color:#c5c9d1;margin-top:0}
.site-footer a{color:#fff}
.site-footer a:hover{color:var(--brand)}
.site-footer h3{color:#fff;font-size:1.05rem;margin:0 0 .8rem}
.site-footer .dl{background:var(--brand-d);color:#fff;text-align:center;padding:2rem 0}
.site-footer .dl h2{color:#fff;margin:0 0 1rem;font-size:1.5rem}
.site-footer .dl p{margin:0}
.site-footer .dl .btn{margin:.3rem}
.cols{display:grid;grid-template-columns:repeat(3,1fr);gap:2.4rem;padding:3rem 0 2rem}
.cols .mt{margin-top:1.4rem}
.badge-img{background:#fff;border-radius:10px;padding:6px;width:210px;height:auto}
.social a{margin-right:1rem}
.legal{border-top:1px solid #2a2d34;padding:1.1rem 0;font-size:.88rem}

@media (max-width:1100px){
  .svc-grid{grid-template-columns:repeat(3,1fr)}
  .has-sub.wide .sub{min-width:440px}
}
@media (max-width:980px){
  .burger{display:block}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);max-height:calc(100vh - 90px);overflow:auto;box-shadow:var(--shadow)}
  .nav.open{display:block}
  .menu{flex-direction:column;align-items:stretch;padding:.6rem 16px 1rem}
  .menu>li{border-bottom:1px solid var(--line)}
  .menu>li>a,.drop-btn{padding:.9rem .2rem}
  .has-sub{display:flex;flex-wrap:wrap;align-items:center}
  .has-sub>a,.has-sub>.drop-btn{flex:1;text-align:left}
  .has-sub>.sub-toggle{display:block;width:44px;height:44px;border:0;background:none;position:relative;cursor:pointer}
  .has-sub>.sub-toggle::after{content:"";position:absolute;left:15px;top:14px;width:9px;height:9px;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(45deg);transition:.2s}
  .has-sub.open>.sub-toggle::after{transform:rotate(-135deg);top:19px}
  .sub,.has-sub.wide .sub{position:static;display:none;width:100%;min-width:0;border:0;box-shadow:none;columns:1;padding:0 0 .6rem .8rem}
  .has-sub:hover>.sub,.has-sub:focus-within>.sub{display:none}
  .has-sub.open>.sub{display:block!important}
  .hero .two,.two{grid-template-columns:1fr}
  .g3{grid-template-columns:repeat(2,1fr)}
  .cols{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  body{font-size:16px}
  .topbar .wrap{justify-content:space-between}
  .svc-grid,.g2,.g3,.cols{grid-template-columns:1fr}
  .svc{min-height:190px}
  .row2,.row3{grid-template-columns:1fr}
  .tst{grid-template-columns:64px 1fr}
  .tst img{width:64px;height:64px}
  .btn+.btn{margin-left:0;margin-top:.5rem}
  .logo img{height:52px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{.topbar,.site-header,.site-footer .dl,.cta{display:none}}

/* Imported pages used h5/h6 as small bold labels. build.py renumbers those headings so the
   document outline is correct for screen readers, and tags each one with its original level
   here so it still renders at exactly the size it did before. */
.prose .h1{font-size:clamp(2rem,4.6vw,3.2rem)}
.prose .h2{font-size:clamp(1.5rem,3vw,2.1rem)}
.prose .h3{font-size:1.3rem}
.prose .h4,.prose .h5,.prose .h6{font-size:1.1rem}

/* long words / URLs / wide tables never force sideways scrolling */
.prose,.panel,.card,.form{overflow-wrap:anywhere}
.prose table{display:block;overflow-x:auto;max-width:100%}
.prose iframe{max-width:100%}

.meals{background:var(--soft);text-align:center;padding:2.6rem 0}
.meals .big{font-size:clamp(2.6rem,7vw,4.4rem);font-weight:800;color:var(--brand-d);line-height:1;margin:.2rem 0}
.meals h2{margin:.4rem 0 0}

/* Disclosure state is controlled in one place. Hover/focus are fallback-only. */
.menu>.has-sub{display:flex;align-items:center}
.has-sub>.sub-toggle{display:block;border:0;background:transparent;width:32px;min-height:44px;cursor:pointer;position:relative;border-radius:6px}
.sub-toggle::after,.drop-btn::after{content:"";display:inline-block;width:6px;height:6px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}
.drop-btn::after{margin:0 0 3px 10px}
.has-sub.open>.drop-btn::after,.has-sub.open>.sub-toggle::after{transform:rotate(225deg)}
.nav-enhanced .has-sub:not(.open)>.sub{display:none}
.nav-enhanced .has-sub.open>.sub{display:block}
.sub{max-height:calc(100dvh - 110px);overflow:auto;min-width:290px}
.has-sub.wide .sub{left:50%;transform:translateX(-50%);width:min(610px,calc(100vw - 32px));min-width:0}
.sub a{min-height:44px;display:flex;align-items:center;line-height:1.5}
.menu>li>a,.drop-btn{min-height:44px}
.drop-btn[aria-expanded=true],.sub-toggle[aria-expanded=true]{background:var(--soft);color:var(--brand-d)}
.nav:not(.nav-enhanced) .has-sub:focus-within>.sub{display:block}

/* Preserve the supplied marks; blend their white canvases into the section. */
.clients{padding:3.5rem 0;background:#f3f4f6}
.clients h2{font-size:1.15rem;font-weight:600;margin-bottom:2rem}
.client-wall{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1.2rem 1rem}
.client-mark{position:relative;overflow:hidden;aspect-ratio:250 / 280;background:#f3f4f6}
.client-wall .client-mark img{position:absolute;top:0;width:600%;max-width:none;height:100%;margin:0;mix-blend-mode:multiply}
.client-mark:nth-child(6n+1) img{left:0}
.client-mark:nth-child(6n+2) img{left:-100%}
.client-mark:nth-child(6n+3) img{left:-200%}
.client-mark:nth-child(6n+4) img{left:-300%}
.client-mark:nth-child(6n+5) img{left:-400%}
.client-mark:nth-child(6n+6) img{left:-500%}

/* Replace the blank pill strip with explicit, readable PDF resources. */
.site-footer .dl{background:var(--soft);color:var(--ink);padding:3.5rem 0;text-align:left;border-top:1px solid var(--line)}
.site-footer .dl .eyebrow{color:var(--brand-d);margin-bottom:.6rem}
.site-footer .dl h2{color:var(--ink);font-size:clamp(1.7rem,3vw,2.3rem);margin:0 0 .8rem}
.site-footer .dl .dl-intro{color:var(--muted);margin-bottom:1.8rem;max-width:60ch}
.dl-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.site-footer .dl .dl-card{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:12px;text-decoration:none;min-width:0;transition:border-color .15s,box-shadow .15s}
.site-footer .dl .dl-card:hover{color:var(--ink);border-color:var(--brand-d);box-shadow:var(--shadow)}
.dl-ico{flex:none;display:grid;place-items:center;width:48px;height:58px;border:1px solid #eec7b9;border-radius:5px;background:#fff5ef;color:#9a300b;font-size:.68rem;font-weight:800;letter-spacing:.08em}
.dl-txt{min-width:0;flex:1}.dl-txt strong{display:block;font-size:1.05rem}.dl-txt small{display:block;color:var(--muted);font-size:.83rem;margin-top:.3rem}
.dl-arrow{font-size:1.5rem;color:var(--brand-d)}
.ai-teaser{padding:2.8rem 0;background:var(--soft);color:var(--ink-2);text-align:left;border-block:1px solid var(--line)}
.ai-teaser .wrap{display:grid;grid-template-columns:auto 1fr auto;gap:.4rem 1.2rem;align-items:center}
.ai-teaser h2{margin:0;font-size:1.8rem;color:var(--ink)}.ai-teaser .badge{grid-row:1;align-self:center;background:var(--brand-d);color:#fff}.ai-teaser .btn{background:var(--brand-d);border-color:var(--brand-d);color:#fff}.ai-teaser .btn:hover{background:var(--ink);border-color:var(--ink)}.ai-teaser p{margin:0;grid-column:2;max-width:65ch}.ai-teaser p:last-child{grid-column:3;grid-row:1 / 3}
@media(max-width:1100px) and (min-width:981px){.menu>li>a,.drop-btn{font-size:.86rem;padding-inline:.5rem}.logo img{height:53px}}
@media(max-width:980px){
  .client-wall{grid-template-columns:repeat(4,minmax(0,1fr))}
  .menu>.has-sub{flex-wrap:wrap}.drop-btn{width:100%;text-align:left;display:flex;align-items:center;justify-content:space-between;padding-right:1rem}
  .has-sub>.sub-toggle{width:44px}.has-sub.wide .sub,.sub{position:static;width:100%;max-height:none;transform:none;columns:1;min-width:0}
  .nav:not(.nav-enhanced){display:block;position:static;max-height:none;box-shadow:none;width:100%}.bar:has(.nav:not(.nav-enhanced)){flex-wrap:wrap}
  .nav:not(.nav-enhanced) .sub{display:block}.nav:not(.nav-enhanced) .drop-btn,.nav:not(.nav-enhanced) .sub-toggle{display:none}
  .ai-teaser .wrap{grid-template-columns:auto 1fr}.ai-teaser p:last-child{grid-column:2;grid-row:auto;margin-top:1rem}
}
@media(max-width:640px){.dl-grid{grid-template-columns:1fr}.site-footer .dl .dl-card{padding:1.1rem;gap:.8rem}.dl-txt small{font-size:.82rem}.client-wall{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.clients{padding-block:2.3rem}}

/* AI product collection: editorial composition and original resolution-independent diagrams. */
.products-page{--paper:#f3f1eb;--product-orange:#fb6335;--product-ink:#232320;overflow:hidden}
.products-page [id]{scroll-margin-top:110px}
.products-hero{background:var(--paper);padding-top:clamp(3rem,7vw,6rem)}
.products-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.products-intro h1{font-size:clamp(3.4rem,6.1vw,5.6rem);line-height:.99;letter-spacing:-.065em;color:var(--product-ink);margin:.4em 0 .35em;font-weight:750}
.products-intro h1 span{color:var(--brand-d)}
.products-page .eyebrow{color:var(--brand-d);font-size:.73rem;letter-spacing:.13em}
.products-lead{font-size:clamp(1.1rem,1.5vw,1.24rem);max-width:39ch;line-height:1.65}
.products-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1.4rem;margin-top:1.8rem}
.products-actions .btn{margin:0;border-radius:7px;padding:.95rem 1.15rem}
.products-actions .btn span{margin-left:.6rem}
.products-text-link{font-weight:700;color:var(--product-ink);text-decoration:none;border-bottom:1px solid currentColor;padding:.25rem 0;font-size:.93rem}
.products-text-link:hover{color:var(--brand-d)}
.products-partnership{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;font-size:.8rem;letter-spacing:.025em;color:var(--muted);margin:3rem 0 0}
.products-partnership span{font-size:1.25rem;color:var(--brand-d)}
.signal-art{position:relative;min-height:480px;margin:0;isolation:isolate;display:grid;place-items:center;contain:paint}
.signal-grid{position:absolute;inset:6%;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);opacity:.65}
.signal-grid i{border:1px solid #d6d2c9;margin:-.5px}
.signal-orbit{position:absolute;width:355px;height:355px;border:1px solid #c7c2b8;border-radius:50%;z-index:-1}
.orbit-two{width:435px;height:435px;border-style:dashed;opacity:.65}
.signal-center{background:var(--product-ink);color:var(--paper);width:236px;height:236px;border-radius:12px;display:flex;flex-direction:column;justify-content:center;padding:2.2rem;transform:rotate(-7deg);box-shadow:12px 16px 0 #dedad1;transition:transform .4s}
.signal-art:hover .signal-center{transform:rotate(-3deg) translateY(-3px)}
.signal-center strong{font-size:2.3rem;line-height:1.08;letter-spacing:-.045em;font-weight:650}
.signal-glyph{display:grid;grid-template-columns:repeat(2,13px);gap:4px;margin-bottom:1.8rem}
.signal-glyph i{height:13px;background:var(--product-orange);border-radius:1px}.signal-glyph i:nth-child(3){opacity:.4}
.signal-label{position:absolute;display:flex;align-items:center;gap:.6rem;background:#fff;padding:.7rem 1rem;font-size:.8rem;color:var(--product-ink);box-shadow:0 5px 15px #2323200a;border:1px solid #dfdcd4;z-index:2}
.signal-label-top{top:40px;left:10px;transform:rotate(-5deg)}.signal-label-bottom{bottom:68px;right:0;transform:rotate(4deg)}
.signal-dot{width:8px;height:8px;background:var(--brand-d);border-radius:50%;flex:none}
.signal-art figcaption{position:absolute;bottom:5px;left:0;right:0;text-align:center;color:#66645c;font-size:.73rem;letter-spacing:.025em}
.products-index{display:grid;grid-template-columns:1fr 1fr;margin-top:4.4rem;border-top:1px solid #d8d4ca}
.products-index>a{display:flex;align-items:center;gap:1.2rem;padding:1.7rem 1.8rem 1.9rem 0;text-decoration:none;color:var(--product-ink);min-width:0}
.products-index>a+ a{padding-left:2rem;border-left:1px solid #d8d4ca}
.product-number{font-family:ui-monospace,monospace;font-size:.8rem;color:var(--brand-d);align-self:flex-start;padding-top:.25rem}
.products-index strong{display:block;font-size:1.15rem;line-height:1.35;letter-spacing:-.02em}.products-index small{display:block;color:var(--muted);font-size:.79rem;margin-top:.3rem}
.product-index-arrow{font-size:1.7rem;margin-left:auto;transition:transform .2s}.products-index a:hover .product-index-arrow{transform:translate(3px,3px)}
.product-story{padding-block:clamp(4rem,8vw,7rem);display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.product-story-copy{min-width:0}.product-story-copy h2{font-size:clamp(2.7rem,4.4vw,4.3rem);letter-spacing:-.055em;line-height:1.04;margin:.35em 0 .5em;font-weight:700;color:var(--product-ink)}
.product-title-dot{color:var(--brand-d)}
.product-promise{font-size:1.4rem;line-height:1.4;color:var(--product-ink);font-weight:550;letter-spacing:-.025em;margin:1rem 0}
.product-story-copy>p:not(.eyebrow):not(.product-promise){max-width:49ch;font-size:1rem}
.product-facts{margin:1.6rem 0 0;font-size:.88rem}.product-facts>div{display:grid;grid-template-columns:135px 1fr;gap:1rem;padding:.9rem 0;border-top:1px solid var(--line)}.product-facts dt{font-weight:700;color:var(--ink)}.product-facts dd{margin:0;color:var(--muted)}
.pixel-art{background:var(--paper);border:1px solid #dedad2;border-radius:14px;padding:1.7rem;margin:0;position:relative;min-height:525px}
.art-topline{display:flex;justify-content:space-between;align-items:center;gap:.8rem;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:#656259}
.art-topline span:first-child{font-weight:800;color:var(--product-ink)}
.pixel-website{margin:2rem .5rem 0;background:white;border:1px solid #cecac1;border-radius:7px;transform:rotate(-3deg);box-shadow:7px 8px 0 #e2ded5}
.pixel-browser-bar{border-bottom:1px solid #e4e0d8;padding:.6rem .8rem;display:flex;gap:4px;align-items:center}.pixel-browser-bar span{width:4px;height:4px;border-radius:50%;background:#a9a59b}.pixel-browser-bar b{margin-left:.6rem;font-size:.65rem;font-weight:500;text-transform:uppercase;letter-spacing:.07em;color:#6c695f}
.pixel-browser-content{height:128px;padding:1.8rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.pixel-page-lines{width:52%;display:grid;gap:10px}.pixel-page-lines i{height:6px;background:#e7e4dd}.pixel-page-lines i:first-child{width:82%;background:#656259}.pixel-page-lines i:last-child{width:60%}
.pixel-focus{position:relative;width:75px;height:70px;display:grid;place-items:center;background:#fef3ed;color:#9c310e;font-size:.75rem}.pixel-focus span{position:absolute;width:12px;height:12px;border:solid var(--brand-d);border-width:2px 0 0 2px}.pixel-focus span:nth-child(1){left:0;top:0}.pixel-focus span:nth-child(2){right:0;top:0;transform:rotate(90deg)}.pixel-focus span:nth-child(3){right:0;bottom:0;transform:rotate(180deg)}.pixel-focus span:nth-child(4){left:0;bottom:0;transform:rotate(270deg)}
.pixel-connector{height:58px;display:flex;align-items:center;justify-content:center;color:var(--brand-d);position:relative}.pixel-connector span{height:100%;border-left:1px dashed #aa9b8e}.pixel-connector b{position:absolute;background:var(--paper);padding:.1rem .4rem;font-size:1.1rem}
.pixel-signal-row{display:flex;align-items:center;gap:1rem;background:var(--product-ink);color:#fff;border-radius:8px;padding:1.2rem}.pixel-signal-row strong{display:block;font-size:1rem;font-weight:600}.pixel-signal-row small{display:block;color:#c8c6bf;font-size:.67rem;margin-top:.3rem}.pixel-signal-row>span:last-child{margin-left:auto;color:#ff956f;font-size:1.5rem}
.pixel-mini-glyph{width:28px;height:28px;flex:none;background:var(--product-orange);box-shadow:inset 10px 10px 0 #ffb291}
.pixel-warehouse{margin:1rem 0 0 2rem;border:1px solid #cecac1;display:flex;align-items:center;gap:.8rem;padding:.8rem 1rem;background:#fff;border-radius:6px;color:var(--product-ink)}.pixel-warehouse strong{font-size:.8rem;font-weight:600}.pixel-warehouse>span:last-child{margin-left:auto;color:var(--brand-d)}.warehouse-icon{width:20px;height:20px;flex:none;border:1px solid #68645b;border-radius:50% / 20%;position:relative}.warehouse-icon::after{content:"";position:absolute;inset:4px 0;border-block:1px solid #68645b;border-radius:50% / 20%}
.pixel-art figcaption{font-size:.72rem;line-height:1.5;color:#656259;margin-top:1.8rem}
.product-platform{background:var(--product-ink);padding-block:clamp(4rem,8vw,7rem);color:#d0cec6}
.product-platform-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}.product-platform .eyebrow{color:#ff9a74}.product-platform .product-story-copy h2,.product-platform .product-promise{color:var(--paper)}.product-platform .product-title-dot{color:var(--product-orange)}.product-platform-note{color:#b7b4aa;font-size:.88rem!important}.product-platform .products-text-link{color:#f2eee4}.product-platform .products-text-link:hover{color:#ff9a74}
.platform-art{margin:0;padding:1.7rem;border:1px solid #5b5951;border-radius:14px;min-height:525px;background:#2a2a26}.platform-art .art-topline{color:#b7b4aa}.platform-art .art-topline span:first-child{color:#f2eee4}
.platform-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-top:2rem}.platform-inputs span{font-size:.69rem;border:1px solid #666259;border-radius:3px;text-align:center;padding:.65rem .4rem;color:#e4e0d6;background:#33332d}
.platform-feed{height:45px;display:flex;justify-content:space-around;overflow:hidden;margin:0 1.5rem}.platform-feed i{width:1px;background:#817263;position:relative}.platform-feed i::after{content:"";position:absolute;top:50%;left:-2px;width:5px;height:5px;background:#fb8257}
.platform-engine{display:grid;grid-template-columns:60px 1fr;gap:0 .8rem;align-items:center;position:relative;padding:1.8rem 1.5rem;background:#f0ede5;border-radius:7px;box-shadow:6px 6px 0 #47433a;color:var(--product-ink)}.platform-engine>span{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em}.platform-engine>strong{grid-column:2;font-size:1.7rem;letter-spacing:-.04em;line-height:1.12}
.engine-mark{grid-row:1/3;display:flex;align-items:center;gap:4px;height:60px;transform:skewY(-15deg)}.engine-mark i{display:block;flex:1;background:var(--brand-d);height:60%}.engine-mark i:nth-child(2n){height:90%;background:#e96131}.engine-mark i:nth-child(3){height:40%}.engine-mark i:last-child{height:35%}
.platform-outputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin-top:1.7rem}.platform-outputs span{border-top:2px solid #ec8359;padding:.7rem .1rem 0;color:#f2eee4;font-size:.78rem;text-align:center}
.platform-art figcaption{color:#b7b4aa;font-size:.72rem;line-height:1.5;margin-top:2rem;max-width:33ch}
.product-fit{padding-block:clamp(4rem,8vw,7rem);display:grid;grid-template-columns:.85fr 1.15fr;gap:5rem}.product-fit h2{font-size:clamp(2rem,3.7vw,3.3rem);letter-spacing:-.045em;line-height:1.12;margin:.6rem 0 1rem}.product-fit>div>p:last-child{color:var(--muted);max-width:30ch;font-size:1rem}
.product-fit-options details{border-top:1px solid #cfcac0}.product-fit-options details:last-child{border-bottom:1px solid #cfcac0}.product-fit-options summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:1rem;align-items:center;font-size:1.05rem;color:var(--product-ink);font-weight:600;padding:1.4rem 0}.product-fit-options summary::-webkit-details-marker{display:none}.product-fit-options summary>span:last-child{font-size:1.5rem;color:var(--brand-d);font-weight:400;line-height:1}.product-fit-options details[open] summary>span:last-child{transform:rotate(45deg)}.product-fit-options details>div{padding:0 2rem 1.5rem 0;font-size:.95rem;max-width:54ch}
.products-end{background:var(--paper);text-align:left;padding-block:clamp(3rem,7vw,6rem)}.products-end h2{font-size:clamp(2.4rem,5vw,4.3rem);line-height:1.07;letter-spacing:-.055em;margin:.7rem 0 1.3rem}.products-end p:not(.eyebrow){max-width:45ch;font-size:1.1rem}.products-end .btn{border-radius:7px;margin-top:1rem}
@media(max-width:1100px){.products-hero-grid{gap:1.7rem}.product-story,.product-platform-grid,.product-fit{gap:2.7rem}.signal-art{min-height:420px}.signal-orbit{width:290px;height:290px}.orbit-two{width:355px;height:355px}.signal-center{width:205px;height:205px;padding:1.8rem}.signal-center strong{font-size:2rem}.signal-label{font-size:.7rem}.product-facts>div{grid-template-columns:110px 1fr;gap:.7rem}.pixel-art,.platform-art{padding:1.25rem}.art-topline{font-size:.6rem}}
@media(max-width:780px){.products-hero-grid,.product-story,.product-platform-grid,.product-fit{grid-template-columns:minmax(0,1fr)}.products-hero{padding-top:2.8rem}.products-intro h1{font-size:clamp(3.25rem,10vw,5rem)}.products-partnership{margin-top:1.7rem}.signal-art{min-height:410px;max-width:470px;width:100%;margin-inline:auto}.products-index{margin-top:2rem}.products-index>a{gap:.8rem;padding:1.2rem .8rem 1.3rem 0}.products-index>a+a{padding-left:1rem}.products-index strong{font-size:.9rem}.products-index small{font-size:.69rem}.product-index-arrow{font-size:1.3rem}.product-story,.product-platform,.product-fit{padding-block:3.5rem}.product-story-copy h2{font-size:3.1rem}.product-story-copy>p:not(.eyebrow):not(.product-promise){max-width:57ch}.product-facts>div{grid-template-columns:125px 1fr}.pixel-art,.platform-art{max-width:560px;width:100%;margin-inline:auto;min-height:0}.pixel-art{padding:1.5rem}.platform-art{padding:1.5rem}.platform-art figcaption{max-width:none}.product-fit{gap:1.5rem}.product-fit h2 br{display:none}}
@media(max-width:420px){.products-index{grid-template-columns:1fr}.products-index>a+a{border-left:0;border-top:1px solid #d8d4ca;padding-left:0}.products-index strong{font-size:1rem}.products-index small{font-size:.75rem}.products-actions{gap:1rem}.signal-art{min-height:350px}.signal-center{width:180px;height:180px;padding:1.5rem}.signal-center strong{font-size:1.8rem}.signal-glyph{margin-bottom:1.1rem}.signal-orbit{width:250px;height:250px}.orbit-two{width:310px;height:310px}.signal-label-top{top:18px;left:5px}.signal-label-bottom{bottom:42px;right:5px}.signal-art figcaption{font-size:.65rem}.product-story-copy h2{font-size:2.7rem}.product-facts>div{grid-template-columns:1fr;gap:.25rem}.product-promise{font-size:1.25rem}.pixel-art,.platform-art{padding:1.1rem}.pixel-website{margin-inline:0}.pixel-browser-content{padding:1.3rem}.pixel-signal-row{gap:.7rem;padding:1rem .8rem}.pixel-signal-row small{font-size:.63rem}.pixel-warehouse{margin-left:1rem}.platform-engine{padding:1.4rem 1rem;grid-template-columns:49px 1fr}.platform-engine>strong{font-size:1.6rem}.platform-inputs span{font-size:.65rem}.product-fit-options summary{font-size:1rem}}
@media(prefers-reduced-motion:reduce){.products-page *,.products-page *::before,.products-page *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Homepage Pixel feature and approved silent product film. */
.pixel-film{margin:3rem 0 0;border:1px solid #d5d6ca;border-radius:10px;overflow:hidden;background:#f3f0e7;box-shadow:0 16px 40px #20231e0d}
.pixel-film-video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#f3f0e7}
.pixel-film figcaption{padding:1rem 1.4rem;border-top:1px solid #d5d6ca;font-weight:650;font-size:.9rem;color:#252820;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.pixel-film figcaption span{font-weight:400;color:#62675f}
.pixel-home{background:#f2f1eb;padding:clamp(3rem,6vw,5.5rem) 0 2rem;scroll-margin-top:90px}
.pixel-home-main{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.pixel-home-intro{max-width:580px}.pixel-home .eyebrow{color:#af3509;font-size:.76rem;letter-spacing:.13em;font-weight:800;margin-bottom:1.2rem}
.pixel-home h2{font-size:clamp(2.7rem,4.5vw,4rem);line-height:1.04;letter-spacing:-.055em;margin:0 0 1.4rem;color:#20221d}.pixel-home h2>span{display:block;color:#b93705;margin-top:.1em}
.pixel-home-intro>p:not(.eyebrow):not(.pixel-home-partners){max-width:46ch}.pixel-home .pixel-home-lead{font-size:1.25rem;font-weight:650;color:#252820;line-height:1.4;margin-bottom:.85rem}
.pixel-home-actions{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap;margin-top:1.7rem}.pixel-home-actions .btn{border-radius:6px;background:#b93705;border-color:#b93705}.pixel-home-actions .btn:hover{background:#8f2c06;border-color:#8f2c06;color:#fff}
.pixel-home-link{font-weight:650;font-size:.95rem;color:#252820;text-decoration:none;padding:.6rem 0;border-bottom:1px solid #93958d}.pixel-home-link:hover{color:#ad3408}.pixel-home-partners{font-size:.78rem;margin:2rem 0 0;color:#62675f}.pixel-home-partners span{padding:0 .65rem;color:#b93705}
.pixel-home-visual{margin:0;padding:clamp(1.3rem,2.8vw,2.3rem);background:#20231e;color:#f9f7ef;position:relative;border-radius:8px;box-shadow:0 18px 40px #21231d14}
.ph-art-label{display:flex;justify-content:space-between;gap:1rem;align-items:center;text-transform:uppercase;letter-spacing:.1em;font-size:.65rem;font-weight:600;color:#d9dcd2;padding-bottom:1.4rem}.ph-art-label>span:first-child{color:#ff9d6e}
.ph-browser{border:1px solid #62675c;border-radius:5px;overflow:hidden}.ph-browser-top{display:flex;justify-content:space-between;align-items:center;gap:.75rem;border-bottom:1px solid #53584e;padding:.6rem .9rem;color:#bec5b5;font-size:.65rem}.ph-browser-top b{font-weight:550;color:#e7e9df}.ph-browser-top>span:first-child{letter-spacing:.12em}
.ph-visit{padding:1.4rem 1.1rem;display:flex;gap:1rem;align-items:center}.ph-visit strong{font-size:.94rem;line-height:1.3;display:block;font-weight:600}.ph-visit small{display:block;font-size:.68rem;color:#c4cabd;margin-top:.3rem}
.ph-node{width:28px;height:28px;flex:none;background:#fa6b33;box-shadow:0 0 0 8px #fa6b331c;rotate:45deg;border-radius:3px}
.ph-connector{display:flex;flex-direction:column;align-items:center;font-size:1.3rem;color:#ff9d6e;line-height:1;height:40px;padding-top:4px}.ph-connector span{display:block;height:20px;width:1px;background:#fa6b3380}
.ph-record{background:#f7f5ee;color:#282b22;border-left:4px solid #ee6128;border-radius:4px;padding:1rem 1.2rem;box-shadow:0 10px 18px #0002}.ph-record-label{display:flex;align-items:center;gap:.45rem;text-transform:uppercase;letter-spacing:.08em;font-size:.6rem;line-height:1.35;color:#62675a;margin:0 0 .4rem;font-weight:650}.ph-record-label>span{width:6px;height:6px;border-radius:50%;background:#b93705;flex:none}.ph-record>strong{font-size:1.5rem;letter-spacing:-.04em;line-height:1.2}.ph-record dl{font-size:.69rem;margin:.75rem 0 0}.ph-record dl>div{display:grid;grid-template-columns:60px 1fr;gap:.6rem;border-top:1px solid #daddd1;padding:.42rem 0}.ph-record dt{font-weight:650}.ph-record dd{margin:0;color:#62675a}
.ph-destination{display:flex;gap:.8rem;align-items:center;padding:1.3rem .1rem .8rem}.ph-destination strong{display:block;font-size:1rem;letter-spacing:-.02em}.ph-destination small{display:block;color:#c4cabd;font-size:.67rem}.ph-destination>b{margin-left:auto;color:#ff9d6e;font-weight:400;font-size:1.5rem}.ph-warehouse{width:30px;height:29px;flex:none;border:1px solid #ff9d6e;border-radius:4px;background:repeating-linear-gradient(to bottom,transparent 0 8px,#ff9d6e88 8px 9px)}
.pixel-home-visual figcaption{border-top:1px solid #50564a;padding-top:1rem;margin-top:.3rem;color:#c4cabd;font-size:.64rem;text-align:center;line-height:1.5}
.pixel-home-benefits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:3.2rem;border-top:1px solid #cbd0c3;border-bottom:1px solid #cbd0c3}.pixel-home-benefits article{padding:1.5rem 1.1rem 1.5rem 0}.pixel-home-benefits article+article{border-left:1px solid #cbd0c3;padding-left:1.1rem}.ph-index{font-family:ui-monospace,monospace;color:#b93705;font-size:.7rem}.pixel-home-benefits h3{font-size:1rem;line-height:1.35;letter-spacing:-.025em;margin:.6rem 0}.pixel-home-benefits p{font-size:.84rem;line-height:1.65;margin:0;color:#51584b}.pixel-home-note{font-size:.74rem;line-height:1.6;margin:1rem 0 0;color:#62675f}
@media(max-width:800px){.pixel-home-main{grid-template-columns:minmax(0,1fr);gap:2.4rem}.pixel-home-intro{max-width:640px}.pixel-home h2{max-width:16ch}.pixel-home-visual{max-width:530px;width:100%;justify-self:center;padding:1.6rem}.pixel-home-benefits{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:2.5rem}.pixel-home-benefits article:nth-child(3){border-left:0;padding-left:0;border-top:1px solid #cbd0c3}.pixel-home-benefits article:nth-child(4){border-top:1px solid #cbd0c3}}
@media(max-width:420px){.pixel-home h2{font-size:2.6rem}.pixel-home-actions{gap:1rem}.pixel-home-visual{padding:1.2rem}.ph-art-label{font-size:.58rem}.ph-visit{padding:1.2rem .85rem;gap:.8rem}.ph-visit strong{font-size:.84rem}.ph-visit small{font-size:.64rem}.pixel-home-benefits h3{font-size:.94rem}.pixel-home-benefits p{font-size:.8rem}.pixel-home-partners{margin-top:1.5rem}}

/* Privacy controls: visible choices, native modal focus, no external UI assets. */
[hidden]{display:none!important}
.cookie-banner{position:fixed;z-index:1000;bottom:20px;left:20px;right:20px;max-width:1140px;margin:auto;background:#fff;color:var(--ink);border:1px solid #d9d6d1;border-top:4px solid var(--brand-d);border-radius:12px;padding:24px;box-shadow:0 12px 50px #0003;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;max-height:70dvh;overflow:auto}
.cookie-banner h2{font-size:1.25rem;line-height:1.25;margin:0 0 8px}.cookie-banner p{font-size:.94rem;line-height:1.55;margin:0;max-width:70ch}
.consent-actions{display:flex;flex-wrap:wrap;gap:10px}.cookie-banner .consent-actions{max-width:345px}.cookie-banner .consent-actions .secondary{flex-basis:100%}
.consent-btn{font:600 .94rem/1.3 inherit;font-family:inherit;font-size:.94rem;font-weight:600;line-height:1.3;min-height:44px;border:2px solid var(--ink);border-radius:6px;background:var(--ink);color:#fff;padding:10px 14px;cursor:pointer}
.consent-btn:hover{background:#3b4a53;border-color:#3b4a53;color:#fff}.consent-btn.secondary{background:#fff;color:var(--ink)}.consent-btn:disabled{opacity:.55;cursor:not-allowed}
.cookie-dialog{color:var(--ink);background:#fff;border:0;border-radius:14px;padding:28px;width:min(650px,calc(100% - 28px));max-height:85dvh;overflow:auto;box-shadow:0 20px 80px #0005}.cookie-dialog::backdrop{background:#071825aa}
.consent-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.consent-heading h2{font-size:1.6rem;line-height:1.2;margin:0 0 16px}.consent-close{border:0;background:#eff1f1;border-radius:50%;min-width:44px;min-height:44px;font-size:1.7rem;cursor:pointer;color:var(--ink)}
.cookie-dialog p{font-size:.95rem;line-height:1.6}.consent-option{display:block;border-top:1px solid #dfe3e3;padding:16px 0}.consent-option>span{font-weight:650}.consent-option>strong+span{float:right;font-size:.8rem;color:#435153}.consent-option small,.consent-option p{display:block;font-size:.9rem;line-height:1.5;margin:8px 0 0;color:#435153}.consent-option input{width:20px;height:20px;vertical-align:middle;margin:0 8px 0 0;accent-color:var(--brand-d)}
.consent-signal{background:#eaf3ef;border-left:3px solid #24644a;padding:12px}
.consent-embed{position:relative;min-height:100%;width:100%;height:100%;background:#edf0f0;color:var(--ink);display:flex;align-items:center;justify-content:center}.consent-placeholder{text-align:center;padding:24px;max-width:650px}.consent-placeholder strong{font-size:1.2rem}.consent-placeholder p{margin:10px 0;font-size:.95rem}.consent-placeholder a{display:block;margin-top:12px;color:var(--ink);text-decoration:underline}.consent-placeholder .consent-btn{margin:8px 0}.video:has(.consent-embed),.map:has(.consent-embed){min-height:300px}.formsite .consent-embed{min-height:620px}
.consent-btn:focus-visible,.consent-close:focus-visible,.consent-option input:focus-visible{outline:3px solid #007eaf;outline-offset:4px}.legal [data-consent-open]{white-space:normal}.form-privacy-note{font-size:.88rem}
@media(max-width:800px){.cookie-banner{grid-template-columns:1fr;gap:16px;bottom:10px;left:10px;right:10px;padding:18px}.cookie-banner .consent-actions{max-width:none}.consent-actions .consent-btn{flex:1 1 130px}.cookie-banner .consent-actions .secondary{flex-basis:130px}.cookie-dialog{padding:20px}.consent-option>strong+span{float:none;display:block;margin-top:4px}.consent-placeholder{padding:18px}.video:has(.consent-embed),.map:has(.consent-embed){aspect-ratio:auto;min-height:340px}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
