/* =====================================================================
   Global styles: loaded on every page.
   Design tokens, base elements, layout helpers, header, footer, buttons, forms
   and the sections that appear on more than one page.
   ===================================================================== */

/* About Digital: base styles (from homepage) */
:root{--bg:#FFFFFF; --surface:#FFFFFF; --alt:#F7F6F5; --ink:#181818; --muted:#63605D; --line:#E5E2DF;
  --accent:#ED3223; --accent-ink:#FFFFFF; --mark:#FFC9C2; --soft:#FDEAE7;
  --deep:#F7F6F5; --deep-ink:#181818; --deep-muted:#63605D; --deep-line:#E5E2DF;
  --display:"Urbanist","Google Sans",system-ui,sans-serif;
  --body:"Google Sans","Google Sans Text","Product Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"DM Mono",ui-monospace,Menlo,Consolas,monospace;
  --r:14px;}
:root{color-scheme:light}
.value,.stats,.member,.crow{box-shadow:0 1px 0 rgba(24,24,24,.02),0 10px 30px -22px rgba(24,24,24,.25)}
input,select,textarea{background:var(--alt)}
.svc{background:var(--surface)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.6;margin:0}
.wrap{max-width:1180px;margin:0 auto;padding-inline:clamp(16px,4vw,40px)}
a{color:inherit}
h1,h2,h3{font-family:var(--display);line-height:1.04;margin:0;text-wrap:balance;letter-spacing:-.025em}
p{margin:0}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}
.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border-radius:999px;font-weight:600;text-decoration:none;border:1.5px solid var(--ink);font-family:var(--body);font-size:15px;cursor:pointer;background:transparent;color:var(--ink);transition:transform .2s,background .2s,color .2s}
.btn:hover{transform:translateY(-2px)}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
mark{background:linear-gradient(transparent 58%,var(--mark) 58%);color:inherit;padding:0 .08em}

/* header (transparent over hero, turns solid on scroll) */
html{scroll-padding-top:84px}
header.top{position:fixed;left:0;right:0;top:0;z-index:40;padding-top:env(safe-area-inset-top,0px);background:transparent;border-bottom:1px solid transparent;transition:background .3s ease,border-color .3s ease,box-shadow .3s ease}
header.top.solid,header.top.open{background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom-color:var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:80px;gap:16px;transition:height .3s ease}
header.top.solid .nav{height:66px}
.logo{display:flex;align-items:center;text-decoration:none}
.links{display:flex;gap:30px;font-size:15px;font-weight:500}
.links a{position:relative;text-decoration:none;color:var(--ink);opacity:.75;padding-block:6px;transition:opacity .2s}
.links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.links a:hover{opacity:1}
.links a:hover::after{transform:scaleX(1)}
.hdr-cta{display:inline-flex;align-items:center;gap:10px;padding:12px 20px;border-radius:12px;background:var(--ink);color:#fff;text-decoration:none;font-weight:600;font-size:14.5px;transition:background .2s ease}
.hdr-cta:hover{background:var(--accent)}
.hdr-cta svg{width:16px;height:16px}
.menu-btn{display:none;background:rgba(255,255,255,.75);border:1px solid var(--line);border-radius:10px;width:42px;height:42px;color:var(--ink);cursor:pointer;font-size:18px}
.mobile-menu{display:none}
@media (max-width:900px){
  .links,.hdr-cta{display:none}
  .menu-btn{display:block}
  .mobile-menu:not([hidden]){display:flex;flex-direction:column;gap:4px;padding-block:4px 18px}
  .mobile-menu a{padding:12px 4px;text-decoration:none;font-weight:500;border-bottom:1px solid var(--line)}
}

/* hero slider */
.hs-btn{margin-top:24px;display:inline-flex;align-items:center;gap:12px;padding:15px 24px;border-radius:12px;background:var(--accent);color:#fff;text-decoration:none;font-weight:600;font-size:15.5px;box-shadow:0 14px 30px -16px rgba(237,50,35,.8);transition:transform .2s ease,background .2s ease}
.hs-btn:hover{transform:translateY(-2px);background:#D42A1C}
.hs-btn svg{width:17px;height:17px}

/* visual frame; everything inside scales with the frame (cqw units) */
.visual{position:relative;container-type:inline-size;aspect-ratio:4/3;width:100%;max-width:100%;border-radius:24px;border:1px solid var(--line);background:#fff;box-shadow:0 40px 80px -50px rgba(24,24,24,.45);overflow:hidden;isolation:isolate}
.visual.photo{background:#EDEBE9}
.visual.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.06);transition:transform 6s ease-out}
.fchip-p{position:absolute;z-index:2;left:18px;bottom:18px;display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:99px;background:rgba(255,255,255,.94);font-size:13px;font-weight:600;color:var(--ink);box-shadow:0 10px 24px -12px rgba(0,0,0,.45)}
.fchip-p i{width:8px;height:8px;border-radius:50%;background:var(--accent)}
@media (prefers-reduced-motion:reduce){.visual.photo img{transition:none;transform:none}}

/* bottom bar */
@media (max-width:900px){.visual{aspect-ratio:4/3.4;max-width:560px}}

/* partnerships */
.aff-sec{padding-block:clamp(32px,4vw,48px) clamp(40px,5vw,64px);border-top:1px solid var(--line)}
#contact{padding-top:clamp(16px,2vw,24px)}
.aff-head{text-align:center;max-width:860px;margin:0 auto clamp(32px,4vw,48px)}
.aff-head h2{font-size:clamp(28px,4vw,46px);font-weight:800;margin-top:12px}
.aff-head h2 em{font-style:normal;color:var(--accent)}
.aff-head p{margin-top:12px;color:var(--muted)}
.aff-marquee{position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.aff-list{list-style:none;margin:0;padding:6px 0;display:flex;gap:18px;width:max-content;animation:aff-scroll var(--aff-dur,40s) linear infinite}
.aff-marquee:hover .aff-list{animation-play-state:paused}
@keyframes aff-scroll{to{transform:translateX(calc(-50% - 9px))}}
.aff{flex:0 0 auto;width:200px;height:120px;display:grid;place-items:center;padding:18px 22px;border-radius:18px;background:#FAF9F8;border:1px solid transparent;transition:background .3s,border-color .3s,box-shadow .3s}
.aff img{max-height:76px;max-width:100%;width:auto;height:auto;object-fit:contain;mix-blend-mode:multiply;filter:grayscale(1);opacity:.7;transition:filter .3s,opacity .3s}
.aff:hover{background:#fff;border-color:var(--line);box-shadow:0 18px 36px -24px rgba(24,24,24,.35)}
.aff:hover img{filter:none;opacity:1}
@media (hover:none){.aff img{filter:none;opacity:1}}
@media (max-width:560px){
  .aff{width:150px;height:96px;padding:14px 16px}
  .aff img{max-height:60px}
  .aff-list{gap:12px}
}
@media (prefers-reduced-motion:reduce){
  .aff-list{animation:none;flex-wrap:wrap;justify-content:center;width:auto}
  .aff-marquee{-webkit-mask-image:none;mask-image:none}
}

/* marquee */
section.block{padding-block:clamp(40px,5vw,64px)}
.sec-head{display:grid;grid-template-columns:1fr 1fr;gap:24px 48px;align-items:end;margin-bottom:48px}
.sec-head h2{font-size:clamp(28px,4vw,46px);font-weight:800;margin-top:12px}
.sec-head p{color:var(--muted);max-width:48ch}
@media (max-width:760px){.sec-head{grid-template-columns:minmax(0,1fr)}}

/* about */
.about{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.about-h{font-size:clamp(30px,4.2vw,52px);font-weight:800;margin-top:12px;max-width:14ch}
.about-h em{font-style:normal;color:var(--accent)}
.about .about-h + p{margin-top:20px;color:var(--muted);max-width:60ch;font-size:clamp(15.5px,1.3vw,17.5px)}
@media (max-width:860px){.about{grid-template-columns:minmax(0,1fr)}}

/* services */
.services{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.svc{background:var(--surface);padding:32px 28px 30px;display:flex;flex-direction:column;gap:14px;position:relative;transition:background .25s,color .25s}
.svc .ico{width:48px;height:48px;border-radius:12px;background:var(--soft);display:grid;place-items:center;color:var(--accent)}
.svc h3{font-size:19px;font-weight:600}
.svc p{color:var(--muted);font-size:15px}
.svc{text-decoration:none;color:inherit;cursor:pointer}
.svc-foot{margin-top:auto;padding-top:10px;display:flex;justify-content:space-between;align-items:center;gap:10px}
.svc .tag{font-family:var(--mono);font-size:12px;color:var(--muted)}
.svc-go{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:600;color:var(--accent);transition:gap .25s}
.svc-go svg{width:15px;height:15px}
.svc:hover .svc-go{gap:10px}
.svc:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.svc:hover{background:#FEF4F2;color:var(--ink)}
.svc:hover h3{color:var(--accent)}
.svc:hover .ico{background:var(--accent);color:#fff}
.svc h3,.svc .ico{transition:color .25s,background .25s}
@media (max-width:900px){.services{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.services{grid-template-columns:minmax(0,1fr)}}

/* case studies */
.case-cover{position:relative;container-type:inline-size;aspect-ratio:4/3;max-width:100%;border-radius:20px;overflow:hidden;isolation:isolate}
.case-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.case-cover::before{content:"";position:absolute;z-index:0;right:-18cqw;bottom:-26cqw;width:70cqw;height:70cqw;border-radius:50%;border:2px solid currentColor;outline:2px solid currentColor;outline-offset:7cqw;opacity:.18;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.cv-red{background:linear-gradient(150deg,#ED3223,#B81E12);color:#fff}
.cv-ink{background:#181818;color:#ED3223}
.cv-soft{background:#FDEAE7;color:#ED3223}
.cv-paper{background:#F4F2F0;color:#181818}
.mini{position:absolute;z-index:1;left:9cqw;right:9cqw;top:13cqw;background:#fff;color:var(--ink);border-radius:3cqw;padding:4cqw;box-shadow:0 4cqw 8cqw -4cqw rgba(0,0,0,.45);display:flex;flex-direction:column;gap:2.4cqw;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.mini-top{display:flex;align-items:center;gap:3cqw}
.mini-ico{width:10cqw;height:10cqw;border-radius:2.6cqw;background:var(--soft);color:var(--accent);display:grid;place-items:center;flex-shrink:0}
.mini-ico svg{width:5.6cqw;height:5.6cqw}
.mini-top b{font-size:4.2cqw;line-height:1.2}
.mini-top small{display:block;font-size:3cqw;color:var(--muted)}
.mini i{display:block;height:2.2cqw;border-radius:2cqw;background:#ECE9E6}
.mini .bars{display:flex;align-items:flex-end;gap:1.6cqw;height:14cqw;margin-top:1cqw}
.mini .bars i{flex:1;height:auto;border-radius:1cqw 1cqw 0 0;background:#ECE9E6}
.mini .bars i:last-child{background:var(--accent)}
.case-num{position:absolute;z-index:2;left:5cqw;bottom:4.4cqw;font-family:var(--mono);font-size:3.4cqw;letter-spacing:.1em;opacity:.85}
.case:hover .mini{transform:translateY(-2cqw) rotate(-1.5deg)}
.case-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.case-tags span{font-size:12px;font-weight:600;padding:5px 11px;border-radius:99px;background:#F6F5F4;color:var(--muted)}
.case-tags span:first-child{background:var(--soft);color:var(--accent)}

/* why choose us */
.why{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,5vw,72px);align-items:center}
.why h2{font-size:clamp(30px,4.2vw,52px);font-weight:800;margin-top:12px;max-width:14ch}
.why h2 em{font-style:normal;color:var(--accent)}
.why-lede{margin-top:14px;color:var(--muted);max-width:52ch}
.why-list{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.why-item{display:flex;gap:14px;align-items:flex-start;padding:18px;border-radius:16px;border:1px solid var(--line);background:#fff;transition:border-color .25s,background .25s}
.why-item:hover{border-color:var(--accent);background:#FEF4F2}
.why-ico{width:44px;height:44px;border-radius:12px;background:var(--soft);color:var(--accent);display:grid;place-items:center;flex-shrink:0}
.why-ico svg{width:22px;height:22px}
.why-item h3{font-family:var(--body);font-size:16px;font-weight:700;letter-spacing:0}
.why-item p{margin-top:4px;font-size:14px;line-height:1.55;color:var(--muted)}
.why-media{position:relative;padding:0 0 28px 28px}
.why-media::before{content:"";position:absolute;left:0;bottom:0;width:70%;height:70%;border-radius:24px;background-image:radial-gradient(rgba(237,50,35,.35) 1.4px,transparent 1.6px);background-size:18px 18px;z-index:0}
.why-img{position:relative;z-index:1;margin:0;border-radius:24px;overflow:hidden;aspect-ratio:3/4;max-width:100%;box-shadow:0 40px 80px -45px rgba(24,24,24,.55)}
.why-img img{width:100%;height:100%;object-fit:cover;display:block}
.why-badge{position:absolute;z-index:2;display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:16px;background:#fff;box-shadow:0 20px 40px -22px rgba(24,24,24,.5)}
.why-badge b{font-family:var(--display);font-size:30px;font-weight:800;line-height:1;color:var(--accent)}
.why-badge span{font-size:13px;font-weight:600;line-height:1.3}
.why-badge.b1{left:0;top:12%}
.why-badge.b2{right:-14px;bottom:18%;background:var(--ink);color:#fff}
.why-badge.b2 b{color:#fff}
@media (max-width:960px){
  .why{grid-template-columns:minmax(0,1fr)}
  .why-media{max-width:460px;width:100%;margin-inline:auto}
}
@media (max-width:520px){
  .why-list{grid-template-columns:minmax(0,1fr)}
  .why-badge.b2{right:0}
  .why-badge b{font-size:24px}
}

/* faq */
.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(28px,5vw,72px);align-items:start}
.faq h2{font-size:clamp(30px,4.2vw,52px);font-weight:800;margin-top:12px}
.faq h2 em{font-style:normal;color:var(--accent)}
.faq-side p{margin-top:14px;color:var(--muted);max-width:40ch}
.faq-side .btn{margin-top:22px}
.faq-list{display:flex;flex-direction:column;gap:12px}
.faq-list details{border:1px solid var(--line);border-radius:16px;background:#fff;transition:border-color .25s,background .25s}
.faq-list details[open]{border-color:var(--accent);background:#FEF8F7}
.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 22px;font-weight:600;font-size:16.5px}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary i{width:32px;height:32px;border-radius:50%;background:var(--soft);color:var(--accent);flex-shrink:0;position:relative;transition:transform .3s,background .3s}
.faq-list summary i::before,.faq-list summary i::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;background:currentColor;border-radius:2px;transform:translate(-50%,-50%)}
.faq-list summary i::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .3s}
.faq-list details[open] summary i{background:var(--accent);color:#fff}
.faq-list details[open] summary i::after{transform:translate(-50%,-50%) rotate(0)}
.faq-list summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:16px}
.faq-a{padding:0 22px 20px;color:var(--muted);font-size:15px;line-height:1.7;max-width:70ch}
@media (max-width:900px){.faq{grid-template-columns:minmax(0,1fr)}}

/* products */
.prod-head{display:grid;grid-template-columns:1fr 1fr;gap:20px 56px;align-items:end;margin-bottom:44px}
.prod-head h2{font-size:clamp(30px,4.2vw,52px);font-weight:800;margin-top:12px}
.prod-head p{color:var(--muted);font-size:clamp(15.5px,1.3vw,17.5px);max-width:52ch}
.prods{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.prod{position:relative;display:grid;grid-template-columns:64px 1fr;gap:20px;align-items:start;padding:26px 28px;border-radius:20px;background:var(--surface);border:1px solid var(--line);text-decoration:none;color:inherit;overflow:hidden;transition:border-color .3s,box-shadow .3s,transform .3s}
.prod-ico{width:64px;height:64px;border-radius:16px;background:var(--soft);color:var(--accent);display:grid;place-items:center;transition:background .3s,color .3s,transform .3s}
.prod-ico svg{width:30px;height:30px}
.prod-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.prod h3{font-size:22px;font-weight:700;letter-spacing:-.01em}
.prod .cat{font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:5px 10px;border-radius:99px;background:#F6F5F4}
.prod p{margin-top:8px;font-size:15px;line-height:1.6;color:var(--muted);max-width:52ch}
.prod .go{margin-top:14px;display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--ink);transition:color .3s,gap .3s}
.prod .go svg{width:16px;height:16px}
.prod::after{content:"";position:absolute;right:-60px;bottom:-60px;width:160px;height:160px;border-radius:50%;border:2px solid var(--soft);outline:2px solid var(--soft);outline-offset:18px;opacity:0;transition:opacity .35s}
.prod:hover,.prod:focus-visible{border-color:var(--accent);transform:translateY(-3px);box-shadow:0 24px 44px -30px rgba(237,50,35,.6);outline:none}
.prod:hover .prod-ico,.prod:focus-visible .prod-ico{background:var(--accent);color:#fff;transform:rotate(-6deg)}
.prod:hover .go,.prod:focus-visible .go{color:var(--accent);gap:12px}
.prod:hover::after,.prod:focus-visible::after{opacity:1}
@media (max-width:860px){.prod-head,.prods{grid-template-columns:minmax(0,1fr)}}
@media (max-width:480px){
  .prod{grid-template-columns:minmax(0,1fr);padding:22px}
  .prod-ico{width:54px;height:54px}
}

/* values + skills */
.values{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.value{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:22px}
.value h3{font-size:16px;font-weight:600;margin-bottom:6px;display:flex;align-items:center;gap:10px}
.value h3::before{content:"";width:10px;height:10px;border-radius:3px;background:var(--accent);transform:rotate(45deg)}
.value p{font-size:14.5px;color:var(--muted)}
@media (max-width:460px){.values{grid-template-columns:minmax(0,1fr)}}

/* client voices (chat bubbles, 2 per view) */
.tav{width:50px;height:50px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:15px;flex-shrink:0;box-shadow:0 0 0 4px #FAF9F8,0 0 0 5px var(--line)}

/* blogs */
.cover{position:relative;aspect-ratio:16/9;max-width:100%;border-radius:22px;background:var(--ink);color:#fff;padding:clamp(18px,2.4vw,28px);display:flex;flex-direction:column;overflow:hidden;isolation:isolate}
.cover::after{content:"";position:absolute;z-index:-1;right:-70px;bottom:-110px;width:300px;height:300px;border-radius:50%;border:2px solid rgba(237,50,35,.55);outline:2px solid rgba(237,50,35,.25);outline-offset:34px;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.cover-top{display:flex;justify-content:space-between;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#A9A5A1;padding-bottom:12px;border-bottom:1px solid #353331}
.cover-top b{color:var(--accent);font-weight:500}
.cover h3{margin-top:auto;font-family:var(--display);font-size:clamp(28px,4vw,52px);font-weight:900;line-height:.98;letter-spacing:-.02em;text-transform:uppercase;max-width:11ch}
.cover h3 span{color:var(--accent)}
.cover-foot{margin-top:16px;padding-top:12px;border-top:1px solid #353331;display:flex;justify-content:space-between;font-family:var(--mono);font-size:11px;color:#A9A5A1;letter-spacing:.06em}
@media (max-width:480px){.cover-foot span:last-child{display:none}}

/* news & events */
.ev-tag{position:absolute;left:14px;top:14px;display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:99px;background:rgba(255,255,255,.94);font-size:12.5px;font-weight:600;color:var(--ink)}
.ev-tag svg{width:14px;height:14px;color:var(--accent)}

/* cta band */
.band{background:var(--accent);color:var(--accent-ink);border-radius:24px;padding:clamp(32px,6vw,64px);display:grid;grid-template-columns:1.4fr auto;gap:28px;align-items:center;position:relative;overflow:hidden}
.band h2{font-size:clamp(28px,4.4vw,52px);font-weight:800}
.band p{margin-top:12px;opacity:.85;max-width:46ch}
.band .btn{background:#181818;color:#fff;border-color:#181818}
.band::after{content:"";position:absolute;right:-80px;bottom:-120px;width:320px;height:320px;border-radius:50%;border:40px solid rgba(255,255,255,.12)}
@media (max-width:760px){.band{grid-template-columns:minmax(0,1fr)}}

/* contact */
.cband{position:relative;display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,5vw,64px);align-items:center;padding:clamp(28px,5vw,64px);border-radius:28px;background:#FBFAF9;border:1px solid var(--line);overflow:hidden;isolation:isolate}
.cband::before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(rgba(24,24,24,.09) 1px,transparent 1.3px);background-size:24px 24px;-webkit-mask-image:linear-gradient(120deg,#000,transparent 60%);mask-image:linear-gradient(120deg,#000,transparent 60%)}
.cband h2{font-size:clamp(30px,4vw,50px);font-weight:800;margin-top:12px;max-width:14ch}
.cband h2 em{font-style:normal;color:var(--accent)}
.csteps{list-style:none;margin:36px 0 0;padding:0;display:flex;flex-direction:column}
.cstep{position:relative;display:grid;grid-template-columns:48px 1fr;gap:18px;padding-bottom:26px}
.cstep:not(:last-child)::before{content:"";position:absolute;left:23px;top:50px;bottom:4px;width:2px;background:repeating-linear-gradient(180deg,var(--accent) 0 6px,transparent 6px 12px);opacity:.45}
.cstep .n{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1.5px solid var(--accent);color:var(--accent);font-family:var(--mono);font-size:14px}
.cstep:first-child .n{background:var(--accent);color:#fff}
.cstep h3{font-size:20px;font-weight:700;margin-top:4px}
.cstep p{margin-top:6px;color:var(--muted);font-size:15.5px;max-width:46ch}
.cform{background:#fff;border:1px solid var(--line);border-radius:24px;padding:clamp(22px,3.2vw,40px);display:flex;flex-direction:column;gap:16px;box-shadow:0 40px 80px -50px rgba(24,24,24,.45)}
.cform h3{font-size:clamp(24px,2.4vw,30px);font-weight:800;margin-bottom:6px}
.cform h3 em{font-style:normal;color:var(--accent)}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fld{position:relative}
.fld input,.fld select,.fld textarea{font:15.5px var(--body);width:100%;padding:24px 16px 10px;border-radius:12px;border:1.5px solid var(--line);background:#fff;color:var(--ink);appearance:none;-webkit-appearance:none;transition:border-color .2s,box-shadow .2s}
.fld textarea{min-height:130px;resize:vertical}
.fld label{position:absolute;left:17px;right:36px;top:17px;font-size:15px;color:var(--muted);pointer-events:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:top .18s,font-size .18s,color .18s}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px rgba(237,50,35,.1)}
.fld input:focus + label,.fld input:not(:placeholder-shown) + label,.fld textarea:focus + label,.fld textarea:not(:placeholder-shown) + label,.fld select:focus + label,.fld select:valid + label{top:8px;font-size:11.5px;font-weight:600}
.fld input:focus + label,.fld textarea:focus + label,.fld select:focus + label{color:var(--accent)}
.fld.tel{display:flex;border:1.5px solid var(--line);border-radius:12px;transition:border-color .2s,box-shadow .2s}
.fld.tel:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px rgba(237,50,35,.1)}
.fld.tel .cc{display:flex;align-items:center;gap:6px;padding:0 12px 0 14px;border-right:1.5px solid var(--line);font-size:15px;font-weight:600;white-space:nowrap}
.fld.tel .cc small{font-size:11px;color:var(--muted);font-weight:600}
.fld.tel .in{position:relative;flex:1;min-width:0}
.fld.tel input{border:0;box-shadow:none!important;padding-left:14px}
.fld.tel .in label{left:14px;right:8px}
.chk{display:flex;align-items:center;gap:10px;font-size:14.5px;cursor:pointer;width:fit-content}
.chk input{appearance:none;-webkit-appearance:none;width:20px;height:20px;border-radius:6px;border:1.5px solid var(--line);display:grid;place-items:center;cursor:pointer;margin:0}
.chk input:checked{background:var(--accent);border-color:var(--accent)}
.chk input:checked::after{content:"";width:5px;height:10px;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:translateY(-1px) rotate(45deg)}
.chk span{color:var(--muted);font-size:13px}
.cform .submit{width:100%;justify-content:center;padding:17px 22px;border-radius:12px;font-size:16px;margin-top:4px}
.status{font-size:14px;color:var(--muted);text-align:center}
.status a{color:var(--accent);font-weight:600}
@media (max-width:900px){.cband{grid-template-columns:minmax(0,1fr)}}
@media (max-width:520px){
  .chk span{display:none}
  .row{grid-template-columns:minmax(0,1fr)}
  .cband{padding:22px 16px;border-radius:22px}
}
footer{border-top:1px solid var(--line);margin-top:clamp(24px,3vw,40px)}
.foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;padding-block:28px;font-size:14px;color:var(--muted)}
.wa{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:30;background:#1FAF5A;color:#fff;text-decoration:none;font-weight:600;font-size:14px;padding:12px 18px;border-radius:999px;display:flex;align-items:center;gap:8px;box-shadow:0 12px 30px -10px rgba(0,0,0,.4)}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

/* mobile sliders: team + news */
@media (max-width:620px){.team::-webkit-scrollbar,.news::-webkit-scrollbar{display:none}}

/* all buttons: 50px radius */
.btn,.hs-btn,.hdr-cta,.hs-arrow,.cs-all,.cform .submit,.tv-btn,.menu-btn,.copy,.wa,.news-head .btn,.faq-side .btn,.tabs button,button{border-radius:50px!important}

/* featured blog photo cover */
.cover.photo{padding:0;background:#EDEBE9}
.cover.photo::after{display:none}
.cover.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1)}

/* logo as image + nav states */
.logo img{height:38px;width:auto;display:block}
@media (max-width:480px){.logo img{height:30px}}
.links{gap:26px}
.links a.active{opacity:1}
.links a.active::after{transform:scaleX(1)}
.mobile-menu a.active{color:var(--accent)}
@media (max-width:1060px){
  .links,.hdr-cta{display:none}
  .menu-btn{display:block}
  .mobile-menu:not([hidden]){display:flex;flex-direction:column;gap:4px;padding-block:4px 18px}
  .mobile-menu a{padding:12px 4px;text-decoration:none;font-weight:500;border-bottom:1px solid var(--line)}
}

/* shared heading helpers */
em.ac,h1 em,h2 em,h3 em{font-style:normal;color:var(--accent)}
.muted{color:var(--muted)}
.sec-head h2 em{font-style:normal;color:var(--accent)}
.alt-bg{background:#FBFAF9;border-block:1px solid var(--line)}
.hs-btn.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--ink);box-shadow:none}
.hs-btn.ghost:hover{background:var(--ink);color:#fff}

/* page hero */
.ph{position:relative;overflow:hidden;padding-top:calc(80px + env(safe-area-inset-top,0px));border-bottom:1px solid var(--line);
  background:radial-gradient(900px 520px at 88% 8%,rgba(237,50,35,.11),transparent 62%),radial-gradient(700px 420px at 0% 100%,rgba(237,50,35,.05),transparent 60%),#FBFAF9}
.ph::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(rgba(24,24,24,.10) 1px,transparent 1.3px);background-size:26px 26px;-webkit-mask-image:linear-gradient(180deg,#000,transparent 85%);mask-image:linear-gradient(180deg,#000,transparent 85%)}
.ph-inner{position:relative;display:grid;grid-template-columns:1fr 1.02fr;gap:clamp(32px,5vw,20px);align-items:center;padding-block:clamp(28px,5vw,64px) clamp(40px,5vw,64px)}
.ph-inner.solo{grid-template-columns:minmax(0,1fr);text-align:center;justify-items:center}
.crumbs{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.crumbs a{text-decoration:none;transition:color .2s}
.crumbs a:hover{color:var(--accent)}
.crumbs i{width:5px;height:5px;border-radius:50%;background:var(--accent)}
.crumbs span{color:var(--ink)}
.ph h1{font-size:clamp(36px,5.2vw,66px);font-weight:800;line-height:1.04;margin-top:18px;max-width:15ch}
.ph-inner.solo h1{max-width:18ch}
.ph .lede{margin-top:18px;font-size:clamp(16px,1.35vw,18.5px);line-height:1.65;color:var(--muted);max-width:54ch}
.ph-actions{margin-top:28px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.ph-actions .hs-btn{margin-top:0}
.ph-stats{display:flex;flex-wrap:wrap;gap:14px clamp(22px,3vw,44px);margin-top:34px;padding-top:22px;border-top:1px solid var(--line)}
.ph-stats div{display:flex;flex-direction:column}
.ph-stats b{font-family:var(--display);font-size:clamp(24px,2.4vw,32px);font-weight:800;line-height:1.1}
.ph-stats span{font-size:13.5px;color:var(--muted)}
.ph .visual{box-shadow:0 40px 80px -50px rgba(24,24,24,.45)}
.ph .visual.photo img{transform:none;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.ph .visual.photo:hover img{transform:scale(1.03)}
@media (max-width:900px){
  .ph-inner{grid-template-columns:minmax(0,1fr)}
  .ph .visual{max-width:620px}
}
@media (max-width:520px){
  .ph-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
  .ph-stats b{font-size:22px}
  .ph-stats span{font-size:12px;line-height:1.3}
}

/* check lists */
.checks{list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 20px}
.checks.one{grid-template-columns:minmax(0,1fr)}
.checks li{position:relative;padding-left:32px;font-size:15px;line-height:1.5}
.checks li::before{content:"";position:absolute;left:0;top:1px;width:22px;height:22px;border-radius:50%;background:var(--soft)}
.checks li::after{content:"";position:absolute;left:8px;top:6px;width:5px;height:10px;border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(45deg)}
@media (max-width:520px){.checks{grid-template-columns:minmax(0,1fr)}}

/* process (4 steps) */
.steps4{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:st}
.step4{position:relative;padding:28px 24px 26px;border-radius:20px;background:#fff;border:1px solid var(--line);transition:border-color .25s,transform .25s,box-shadow .25s}
.step4:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:0 24px 44px -30px rgba(237,50,35,.55)}
.step4 .n{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1.5px solid var(--accent);color:var(--accent);font-family:var(--mono);font-size:14px;background:#fff}
.step4:first-child .n{background:var(--accent);color:#fff}
.step4:not(:last-child)::after{content:"";position:absolute;top:50px;right:-19px;width:20px;height:2px;background:repeating-linear-gradient(90deg,var(--accent) 0 5px,transparent 5px 9px);opacity:.5}
.step4 h3{font-size:20px;font-weight:700;margin-top:18px}
.step4 p{margin-top:8px;font-size:15px;color:var(--muted)}
@media (max-width:960px){
  .steps4{grid-template-columns:1fr 1fr}
  .step4::after{display:none}
}
@media (max-width:540px){.steps4{grid-template-columns:minmax(0,1fr)}}

/* chips / filters */
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{appearance:none;border:1.5px solid var(--line);background:#fff;color:var(--ink);font:600 14px var(--body);padding:10px 18px;border-radius:50px;cursor:pointer;transition:border-color .2s,background .2s,color .2s}
.chip:hover{border-color:var(--ink)}
.chip.on,.chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.chip small{font-family:var(--mono);font-size:11px;opacity:.65;margin-left:4px}
.chips.scroll{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:4px;-webkit-mask-image:linear-gradient(90deg,#000 90%,transparent);mask-image:linear-gradient(90deg,#000 90%,transparent)}
.chips.scroll::-webkit-scrollbar{display:none}
.chips.scroll .chip{flex-shrink:0}
.is-hidden{display:none!important}

/* about page */
.mv-card{position:relative;overflow:hidden;padding:clamp(28px,4vw,44px);border-radius:24px;border:1px solid var(--line);background:#fff}
.mv-card.dark{background:var(--ink);color:#fff;border-color:var(--ink)}
.mv-card.dark p{color:#C9C5C1}
.mv-card::after{content:"";position:absolute;right:-70px;bottom:-90px;width:220px;height:220px;border-radius:50%;border:2px solid rgba(237,50,35,.35);outline:2px solid rgba(237,50,35,.15);outline-offset:26px}
.mv-card .eyebrow{display:flex;align-items:center;gap:10px}
.mv-card .eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent)}
.mv-card.dark .eyebrow{color:#A9A5A1}
.mv-card h3{font-size:clamp(24px,2.6vw,32px);font-weight:800;margin-top:14px;max-width:20ch}
.mv-card p{margin-top:12px;color:var(--muted);max-width:52ch}
.values.v4{grid-template-columns:repeat(4,1fr);margin-top:18px}
@media (max-width:960px){.values.v4{grid-template-columns:1fr 1fr}}
@media (max-width:460px){.values.v4{grid-template-columns:minmax(0,1fr)}}

/* services grid (4 col variant) */
.svc{scroll-margin-top:90px}

/* news page */
.list-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px 24px;margin-bottom:32px;padding-bottom:20px;border-bottom:2px solid var(--ink)}
.list-bar h2{font-size:clamp(26px,3.4vw,40px);font-weight:800}
.empty{display:none;text-align:center;padding:40px 16px;border:1px dashed var(--line);border-radius:20px;color:var(--muted)}
.empty.show{display:block}

/* blogs page */
.author{display:flex;align-items:center;gap:10px;margin-top:16px;font-size:13.5px;color:var(--muted)}
.author .tav{width:32px;height:32px;font-size:11px;box-shadow:none}
.author b{color:var(--ink);font-weight:600}

/* site footer */
.sf{border-top:1px solid var(--line);margin-top:clamp(32px,4vw,56px);background:#FBFAF9}
.sf-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:36px 40px;padding-block:clamp(40px,5vw,64px) 32px}
.sf-brand img{height:34px;width:auto;display:block}
.sf-brand p{margin-top:16px;color:var(--muted);font-size:15px;max-width:36ch}
.sf h4{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 16px}
.sf ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.sf ul a{text-decoration:none;font-size:15px;transition:color .2s}
.sf ul a:hover{color:var(--accent)}
.sf-contact li{font-size:15px;line-height:1.5}
.sf-contact small{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.sf-social{display:flex;gap:10px;margin-top:20px}
.sf-social a{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;background:#fff;transition:background .2s,color .2s,border-color .2s}
.sf-social a:hover{background:var(--accent);border-color:var(--accent);color:#fff}
.sf-social svg{width:17px;height:17px}
.sf .foot{border-top:1px solid var(--line)}
.sf .foot a{text-decoration:none}
.sf .foot a:hover{color:var(--accent)}
@media (max-width:900px){.sf-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.sf-grid{grid-template-columns:minmax(0,1fr)}}
footer.sf{margin-top:0}

/* CTA band spacing on inner pages */
.band-sec{padding-block:clamp(16px,2vw,24px) clamp(48px,6vw,80px)}
.band .btn:hover{background:#fff;color:var(--ink);border-color:#fff}
.band .btns{display:flex;gap:12px;flex-wrap:wrap}
.band .btn.light{background:transparent;border-color:#fff;color:#fff}

/* reveal on scroll */
.js .rv{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}
.js .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .rv{opacity:1;transform:none}}
[hidden]{display:none!important}

/* fixes */
.svc .ico svg{width:24px;height:24px}

/* Service & product detail pages: illustrated visuals + sections */
.ph .visual:not(.photo){background:#fff}

/* detail: feature grid */
.fgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.fitem{padding:24px;border-radius:20px;border:1px solid var(--line);background:#fff;transition:border-color .25s,background .25s,transform .25s}
.fitem:hover{border-color:var(--accent);background:#FEF4F2;transform:translateY(-3px)}
.fitem .why-ico{margin-bottom:16px}
.fitem h3{font-family:var(--body);font-size:17px;font-weight:700;letter-spacing:0}
.fitem p{margin-top:6px;font-size:14.5px;line-height:1.6;color:var(--muted)}
@media (max-width:900px){.fgrid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.fgrid{grid-template-columns:minmax(0,1fr)}}

/* detail: overview split */
.split2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px);align-items:center}
.split2 h2{font-size:clamp(28px,3.6vw,44px);font-weight:800;margin-top:12px;max-width:17ch}
.split2 .lead{margin-top:14px;color:var(--muted);font-size:clamp(15.5px,1.25vw,17px);max-width:56ch}
.split2 .lead + .lead{margin-top:12px}
@media (max-width:900px){.split2{grid-template-columns:minmax(0,1fr)}}

/* tag row in hero */
.tagrow{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.tagrow span{font-size:12.5px;font-weight:600;padding:6px 12px;border-radius:99px;background:#fff;border:1px solid var(--line)}
.tagrow span:first-child{background:var(--soft);color:var(--accent);border-color:transparent}

/* Header dropdowns (desktop hover / focus / tap) + mobile accordion */
.links{align-items:center}
.links .nl-a{display:inline-flex;align-items:center;gap:5px}
.chev{width:15px;height:15px;transition:transform .25s ease;flex-shrink:0}
.dd{position:relative;display:flex;align-items:center}
.dd-top::after{right:20px!important}
.dd:hover .dd-top .chev,.dd:focus-within .dd-top .chev,.dd.open .dd-top .chev{transform:rotate(180deg)}
.dd:hover .dd-top,.dd.open .dd-top{opacity:1}
.dd-panel{position:absolute;top:calc(100% + 14px);left:50%;z-index:50;width:min(560px,calc(100vw - 32px));padding:12px;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 34px 70px -30px rgba(24,24,24,.45),0 2px 6px rgba(24,24,24,.04);
  opacity:0;visibility:hidden;pointer-events:none;transform:translate(calc(-50% + var(--dx,0px)),10px);transition:opacity .22s ease,transform .22s ease,visibility 0s linear .22s}
.dd-panel.dd-wide{width:min(820px,calc(100vw - 32px))}
.dd-panel::before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}
.dd:hover .dd-panel,.dd:focus-within .dd-panel,.dd.open .dd-panel{opacity:1;visibility:visible;pointer-events:auto;transform:translate(calc(-50% + var(--dx,0px)),0);transition:opacity .22s ease,transform .22s ease}
.dd.closed .dd-panel{opacity:0!important;visibility:hidden!important;pointer-events:none!important}

/* panel: dark intro column + numbered list (no icons) */
.dd-panel{display:grid;grid-template-columns:210px 1fr;gap:6px;padding:8px;width:min(660px,calc(100vw - 32px))}
.dd-panel.dd-wide{width:min(760px,calc(100vw - 32px))}
.dd-side{position:relative;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;padding:22px 20px;border-radius:16px;background:var(--ink);color:#fff}
.dd-side::after{content:"";position:absolute;z-index:-1;right:-60px;bottom:-70px;width:170px;height:170px;border-radius:50%;border:2px solid rgba(237,50,35,.6);outline:2px solid rgba(237,50,35,.25);outline-offset:18px}
.dd-eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#A9A5A1;display:flex;align-items:center;gap:8px}
.dd-eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent)}
.dd-h{margin-top:12px;font-family:var(--display);font-size:21px;font-weight:800;line-height:1.12;letter-spacing:-.02em}
.dd-h em{font-style:normal;color:var(--accent)}
.dd-p{margin-top:10px;font-size:13px;line-height:1.5;color:#C9C5C1}
.links .dd-cta{margin-top:auto;display:inline-flex;white-space:nowrap;align-items:center;justify-content:space-between;gap:8px;padding:11px 14px;border-radius:50px;background:var(--accent);color:#fff;opacity:1;font-size:13.5px;font-weight:600;text-decoration:none;transition:background .2s}
.links .dd-cta::after{display:none}
.links .dd-cta:hover{background:#D42A1C}
.dd-cta svg{width:14px;height:14px}
.dd-side .dd-p + .dd-cta{margin-top:auto}
.dd-side .dd-cta{margin-top:22px}
.dd-list{display:grid;grid-template-columns:1fr 1fr;align-content:start;column-gap:6px;padding:6px 4px}
.links .dd-item{position:relative;display:grid;grid-template-columns:26px 1fr 14px;align-items:start;gap:8px;padding:11px 12px 11px 14px;border-radius:12px;text-decoration:none;color:var(--ink);opacity:1;transition:background .2s}
.links .dd-item::after{content:"";position:absolute;left:0;right:auto;top:12px;bottom:12px;width:2px;height:auto;border-radius:2px;background:var(--accent);transform:scaleY(0);transform-origin:center;transition:transform .2s ease}
.links .dd-item:hover,.links .dd-item:focus-visible{background:var(--alt)}
.links .dd-item:hover::after,.links .dd-item:focus-visible::after{transform:scaleY(1)}
.dd-n{font-family:var(--mono);font-size:11.5px;color:var(--muted);padding-top:2px;transition:color .2s}
.dd-item:hover .dd-n{color:var(--accent)}
.dd-t b{display:block;font-size:14.5px;font-weight:600;line-height:1.3;transition:color .2s}
.dd-t small{display:block;margin-top:2px;font-size:12.5px;line-height:1.4;color:var(--muted)}
.dd-item:hover .dd-t b{color:var(--accent)}
.dd-arr{width:14px;height:14px;margin-top:3px;color:var(--accent);opacity:0;transform:translate(-4px,4px);transition:opacity .2s,transform .2s}
.dd-item:hover .dd-arr,.dd-item:focus-visible .dd-arr{opacity:1;transform:none}
.dd-list.one{grid-template-columns:minmax(0,1fr)}
.dd-list.one .dd-t{display:flex;align-items:baseline;justify-content:space-between;gap:14px}
.dd-list.one .dd-t small{margin-top:0;text-align:right}
@media (max-width:1200px){
  .dd-panel,.dd-panel.dd-wide{grid-template-columns:200px 1fr}
  .dd-list:not(.one) .dd-t small{display:none}
  .dd-h{font-size:18px}
  .dd-side{padding:20px 18px}
}

/* mobile menu */
.mobile-menu{max-height:calc(100dvh - 80px);overflow-y:auto;overscroll-behavior:contain}
.mobile-menu a.active,.m-sub summary.active{color:var(--accent)}
.m-sub{border-bottom:1px solid var(--line)}
.m-sub summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:12px 4px;font-weight:500}
.m-sub summary::-webkit-details-marker{display:none}
.m-sub[open] summary .chev{transform:rotate(180deg)}
.m-sub > div{display:flex;flex-direction:column;padding:0 0 10px 12px;border-left:2px solid var(--soft);margin:0 0 6px 6px}
.mobile-menu .m-sub > div a{padding:9px 6px;border-bottom:0;font-size:15px;color:var(--muted)}
.mobile-menu .m-sub > div a.m-all{font-weight:600;color:var(--ink)}
.mobile-menu .m-sub > div a.active{color:var(--accent);font-weight:600}

/* Forms: select chevron, honeypot, reCAPTCHA, status states */
.fld.fsel::after{content:"";position:absolute;right:18px;top:24px;width:8px;height:8px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);pointer-events:none}
.fld select{padding-right:42px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.captcha{min-height:0}
.captcha:not(:empty){min-height:78px}
.captcha.compact:not(:empty){min-height:144px}
.fld.invalid input,.fld.invalid select,.fld.invalid textarea,.fld.tel.invalid{border-color:var(--accent);background:#FEF8F7}
.status.ok{color:#15803D;font-weight:600}
.status.err{color:var(--accent);font-weight:600}
.cform .submit[disabled],.nl-form button[disabled]{opacity:.65;cursor:progress}
.spin{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;vertical-align:-3px;margin-right:8px}
@keyframes spin{to{transform:rotate(360deg)}}
.cform{min-width:0}
.cband > *{min-width:0}

/* solid header while the mobile menu is open */
header.top.open{background:#fff}

/* Company menu, Careers, Our Team */
button.nl-a{appearance:none;border:0;background:none;font:inherit;font-size:15px;font-weight:500;color:var(--ink);cursor:pointer;padding-block:6px;opacity:.75;position:relative;transition:opacity .2s}
button.nl-a:hover,button.nl-a.active{opacity:1}
button.nl-a::after{content:"";position:absolute;left:0;right:20px;bottom:0;height:2px;border-radius:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
button.nl-a.active::after,.dd:hover button.nl-a::after{transform:scaleX(1)}
.dd-panel.dd-sm{grid-template-columns:minmax(0,1fr);width:330px;padding:8px}
.dd-sm .dd-list{padding:2px}
.dd-sm .dd-list.one .dd-t{display:block}
.dd-sm .dd-list.one .dd-t small{text-align:left;margin-top:2px;display:block!important}
.crumbs em.cr-p{font-style:normal}

/* LISTING layout (news & events): sidebar + toolbar + row cards */
.lpill{display:inline-flex;align-items:center;gap:8px;margin-top:22px;padding:9px 16px;border-radius:99px;background:#fff;border:1px solid var(--line);font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);box-shadow:0 10px 24px -16px rgba(24,24,24,.3)}
.side-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px}
.side-title{font-size:17px;font-weight:700;margin:0 0 14px}

/* CMS listings: modern card design (blogs + news & events) */
.pmeta{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:18px;font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.pmeta .author{margin:0;text-transform:none;font-family:var(--body);font-size:13.5px;display:inline-flex;align-items:center;gap:9px;line-height:1}
.pmeta .author .tav{width:30px;height:30px;font-size:10.5px;box-shadow:none}
.pmeta .author b{color:var(--ink);font-weight:600}

/* Footer: 5 columns (brand, company, services, products, contact) */
.sf-grid{grid-template-columns:1.35fr .85fr 1fr .9fr 1.15fr;gap:36px 32px}
@media (max-width:1100px){
  .sf-grid{grid-template-columns:1fr 1fr 1fr}
  .sf-brand{grid-column:1/-1}
}
@media (max-width:700px){
  .sf-grid{grid-template-columns:1fr 1fr;gap:32px 20px}
  .sf-grid > div:last-child{grid-column:1/-1}
}
@media (max-width:520px){.sf-grid{grid-template-columns:1fr 1fr}}

/* Wider container on large screens (21"/24" monitors) */
@media (min-width:1440px){.wrap,.ph .art-hero,.ph .art-hero .art-hero-in{max-width:1320px}}
@media (min-width:1680px){.wrap,.ph .art-hero,.ph .art-hero .art-hero-in{max-width:1480px}}
@media (min-width:1900px){.wrap,.ph .art-hero,.ph .art-hero .art-hero-in{max-width:1600px}}

/* =====================================================================
   Touch & small-screen usability (all pages)
   ===================================================================== */
/* 16px form text stops iOS Safari from zooming in when a field is tapped */
@media (max-width:820px),(pointer:coarse){
  input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{font-size:16px!important}
}
/* bigger tap areas for small text links, without moving anything visually */
@media (max-width:820px),(pointer:coarse){
  .sf ul a,.sf .foot a,.crumbs a{display:inline-block;padding-block:8px;margin-block:-8px}
}
