:root{--pl-black:#000;--pl-white:#fff;--pl-panel-gray:#c8c8c8;--pl-line-gray:#434343;--pl-corner-plus-offset:calc(-6px - 6.5px);--pl-mono:"Space Mono", monospace;--pl-display:"Bebas Neue", sans-serif}.pl-white-overlay{background:var(--pl-panel-gray);z-index:9050;pointer-events:none;opacity:1;position:fixed;inset:0}.pl-overlay{z-index:9100;pointer-events:none;visibility:hidden;flex-direction:column;display:flex;position:fixed;inset:0}.pl-overlay.active{pointer-events:all;visibility:visible}.pl-belt{background:var(--pl-panel-gray);will-change:transform;transform-origin:50%;background-clip:padding-box;flex:1;width:100%;margin-bottom:-1px;padding-bottom:1px;transform:scaleY(0)}.pl-belt:last-child{margin-bottom:0}.pl-flying-plus{z-index:9500;opacity:1;pointer-events:none;will-change:left, top, opacity, transform;width:.813rem;height:.813rem;position:fixed;transform:translate(-50%,-50%)}.pl-flying-plus svg{display:block}.pl-overlay-center{z-index:9350;contain:layout paint;pointer-events:none;visibility:hidden;perspective:800px;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.pl-overlay-logo-wrap{width:clamp(10rem,22vw,17.5rem);height:clamp(10.25rem,22.3vw,17.75rem);position:relative}.pl-logo-black-box{background:var(--pl-panel-gray);z-index:0;opacity:0;will-change:transform, opacity, left, top, width, height;border:1.5px solid #0000000f;border-radius:2px;position:absolute;inset:0}.pl-logo-corner-plus{z-index:10;will-change:transform, opacity;width:.813rem;height:.813rem;position:absolute}.pl-logo-corner-plus svg{width:.813rem;height:.813rem;position:static}.pl-logo-corner-plus.tl{top:var(--pl-corner-plus-offset);left:var(--pl-corner-plus-offset)}.pl-logo-corner-plus.tr{top:var(--pl-corner-plus-offset);right:var(--pl-corner-plus-offset)}.pl-logo-corner-plus.bl{bottom:var(--pl-corner-plus-offset);left:var(--pl-corner-plus-offset)}.pl-logo-corner-plus.br{bottom:var(--pl-corner-plus-offset);right:var(--pl-corner-plus-offset)}.pl-border-svg{z-index:5;pointer-events:none;opacity:0;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.pl-t-path{opacity:0;z-index:500;will-change:transform, opacity;width:100%;height:100%;position:absolute;inset:0}.pl-overlay-page-label{text-transform:uppercase;color:var(--pl-black);opacity:0;white-space:nowrap;z-index:600;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.pl-overlay-counter{opacity:0;z-index:9400;justify-content:center;align-items:center;gap:1px;display:flex;position:fixed;bottom:5rem;left:50%;transform:translate(-50%)}.pl-slot-reel{width:.75rem;height:.938rem;display:block;position:relative;overflow:hidden}.pl-slot-strip{will-change:transform;display:block}.pl-slot-digit{height:1rem;color:var(--pl-line-gray);letter-spacing:0;text-align:center;font-size:1rem;line-height:1rem;display:block}.pl-overlay-tagline{opacity:1;align-items:center;gap:.063rem;margin-top:2.5rem;display:flex}.pl-tag-word{text-transform:uppercase;color:#111;opacity:0;transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1);transform:translateY(6px)}.pl-tag-word.visible{opacity:1;transform:translateY(0)}.pl-tag-dot{color:#0000004d;opacity:0;margin:0 .5rem;font-size:1.125rem;transition:opacity .4s .15s}.pl-tag-dot.visible{opacity:1}.pl-trans-overlay{z-index:9200;pointer-events:none;visibility:hidden;flex-direction:column;display:flex;position:fixed;inset:0}.pl-trans-overlay.active{pointer-events:all;visibility:visible}.pl-trans-center{z-index:9250;pointer-events:none;visibility:hidden;perspective:800px;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.pl-trans-label{text-transform:uppercase;color:#111;opacity:0;transform:translateY(6px)}

h1.z-2:has(.words-wrapper){color:#4d8dff}

header .logo{clip-path:inset(-8% 102% -8% -2%)}html.dca-i1 header .logo{clip-path:inset(-8% -2% -8% -2%);transition:clip-path .45s cubic-bezier(.19,1,.22,1)}#dca-prong{position:fixed;z-index:100;pointer-events:none;clip-path:inset(-8% 102% -8% -2%);transition:clip-path .45s cubic-bezier(.19,1,.22,1)}


#s2-text h2{text-align:right;width:max-content;max-width:100%;margin-inline:auto}

#s2-text h2{font-size:clamp(38px,4.6vw,78px)!important;line-height:1.08}

#s2-text h2 .lines{display:inline!important}

#s2-text h2 span[class~='pl-3'] span{display:inline!important}

@media(min-width:768px){#s2-text h2{transform:translateX(calc(-100vw/24))}}

#s2-text h2 .dca-line,#s2-text h2 .dca-em-r,#s2-text h2 .dca-em-b{color:rgba(216,216,216,.13);transition:color .25s ease}#s2-text h2 .dca-line.on{color:#d8d8d8}#s2-text h2 .dca-em-r.on{color:#ff6b6b}#s2-text h2 .dca-em-b.on{color:#4d8dff}

.mrquee-text svg{margin-inline:4rem}@media(min-width:1024px){.mrquee-text svg{margin-inline:6.5rem}}

.marquee-text-item{word-spacing:.45em}

@media(min-width:1024px){.home-about .line-plus-block .line{max-width:calc(90.909% - 2.2px)}}

#s1-box>div{border:0;border-radius:0;min-height:0;flex-direction:column;align-items:flex-end;text-align:right;gap:14px}#s1-box>div>div{border:0;padding:0;min-width:0;align-items:flex-end;text-align:right}#s1-box svg{display:none}#s1-box>div>div:first-child span{font-size:46px;line-height:1;letter-spacing:-.03em;color:#4d8dff}#s1-box>div>div:last-child span{color:rgba(216,216,216,.6)}#s1-sub p{text-align:right}

#s1-box{display:none}#s1-sub p{visibility:hidden}html.dca-i4 #s1-sub p{visibility:visible}#s1-sub p{font-size:clamp(22px,2.4vw,36px);line-height:1.15;letter-spacing:-.01em;color:#d8d8d8}@media(min-width:1024px){div:has(>#s1-sub){transform:translate(-24.5vw,-7vh);max-width:none}#s1-sub{width:max-content;margin-left:auto}#s1-sub p{white-space:nowrap}.home-about .about-subtitle-block span.title{display:block;max-width:12.6em}}@media(min-width:1024px){#s1-box+#s1-sub, #s1-sub{margin-top:0}}

header .logo img{height:30px!important;width:auto!important}html.dca-i2 #dca-prong{clip-path:inset(-8% -2% -8% -2%)}#dca-name{position:fixed;z-index:100;mix-blend-mode:difference;color:#fff;text-transform:uppercase;letter-spacing:.07em;font-size:13px;font-weight:700;white-space:nowrap;pointer-events:none;transform:translateY(-50%)}

@media(max-width:767px){#dca-name{display:none}#s2-text h2{font-size:clamp(26px,7.5vw,34px)!important}#s2-text h2 span{white-space:normal!important}}

#trionn-symbol-canvas-wrap{opacity:0;transition:opacity .35s ease}html[data-trionn-ready=true] #trionn-symbol-canvas-wrap,html[data-trionn-hero-ready=true] #trionn-symbol-canvas-wrap{opacity:1}

/* p63 — How It Works VSL panel (cards hidden, panel injected) */
#keyfacts-section .key-card-list{display:none!important}
#dca-vsl-wrap{width:100%;max-width:960px;margin:0 auto;padding:0 24px}
#dca-vsl{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:8px;cursor:pointer;background:#0b0b0c;box-shadow:0 30px 80px rgba(0,0,0,.35)}
#dca-vsl:focus-visible{outline:2px solid #0055fd;outline-offset:4px}
#dca-vsl video,#dca-vsl .dca-vsl-iframe{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;border:0}
#dca-vsl video{transform:scale(1.02);transition:transform 1.2s cubic-bezier(.19,1,.22,1)}
#dca-vsl:hover video{transform:scale(1.06)}
.dca-vsl-dim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.25) 0%,rgba(0,0,0,0) 40%,rgba(0,0,0,.45) 100%);transition:opacity .6s ease}
#dca-vsl:hover .dca-vsl-dim{opacity:.7}
#dca-vsl.is-playing .dca-vsl-dim{display:none}
.dca-tick{position:absolute;width:14px;height:14px;opacity:.8;pointer-events:none}
.dca-tick::before,.dca-tick::after{content:"";position:absolute;background:#fff}
.dca-tick::before{left:50%;top:0;width:1px;height:100%;transform:translateX(-50%)}
.dca-tick::after{top:50%;left:0;height:1px;width:100%;transform:translateY(-50%)}
.dca-tick.tl{top:14px;left:14px}.dca-tick.tr{top:14px;right:14px}
.dca-tick.bl{bottom:14px;left:14px}.dca-tick.br{bottom:14px;right:14px}
.dca-vsl-kicker{position:absolute;top:22px;left:40px;color:#fff;font-size:12px;letter-spacing:.14em;font-weight:600}
.dca-vsl-kicker s{text-decoration:none;color:#4d8dff}
.dca-vsl-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:112px;height:112px;pointer-events:none}
.dca-vsl-ring{position:absolute;inset:0;border:1.5px solid rgba(255,255,255,.9);border-radius:50%;transition:transform .7s cubic-bezier(.19,1,.22,1)}
#dca-vsl:hover .dca-vsl-ring{transform:scale(1.12)}
.dca-vsl-pulse{position:absolute;inset:0;border:1px solid rgba(77,141,255,.8);border-radius:50%;animation:dcaPulse 2.6s cubic-bezier(.19,1,.22,1) infinite}
@keyframes dcaPulse{0%{transform:scale(1);opacity:.8}100%{transform:scale(1.65);opacity:0}}
.dca-vsl-disc{position:absolute;inset:14px;background:#0055fd;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:transform .7s cubic-bezier(.19,1,.22,1)}
#dca-vsl:hover .dca-vsl-disc{transform:scale(1.08)}
.dca-vsl-disc svg{margin-left:4px}
.dca-vsl-title{position:absolute;left:40px;bottom:30px;color:#fff;font-size:22px;letter-spacing:.02em;font-weight:600;text-transform:uppercase}
.dca-vsl-title small{display:block;font-size:12px;letter-spacing:.12em;font-weight:500;color:rgba(216,216,216,.75);margin-top:6px}
.dca-vsl-chip{position:absolute;right:40px;bottom:30px;color:#fff;font-size:12px;letter-spacing:.12em;font-weight:600;border:1px solid rgba(255,255,255,.55);border-radius:999px;padding:8px 16px;display:flex;gap:8px;align-items:center;backdrop-filter:blur(4px)}
.dca-vsl-chip i{width:6px;height:6px;border-radius:50%;background:#0055fd;display:inline-block;animation:dcaBlink 1.8s ease infinite}
@keyframes dcaBlink{0%,100%{opacity:1}50%{opacity:.25}}
#dca-vsl.is-playing .dca-tick,#dca-vsl.is-playing .dca-vsl-kicker,#dca-vsl.is-playing .dca-vsl-play,#dca-vsl.is-playing .dca-vsl-title,#dca-vsl.is-playing .dca-vsl-chip{display:none}
#dca-vsl-cta{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:44px}
.dca-btn{background:#0055fd;color:#fff;border-radius:999px;padding:18px 44px;font-size:14px;letter-spacing:.1em;font-weight:700;text-transform:uppercase;line-height:1;display:inline-block;transition:background .3s ease,transform .3s ease}
.dca-btn:hover{background:#0043c8;transform:translateY(-2px)}
.dca-btn-sub{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#555;margin:0}
@media(max-width:767px){
#dca-vsl-wrap{padding:0 16px}
.dca-vsl-kicker{top:14px;left:20px;font-size:10px}
.dca-vsl-title{left:20px;bottom:18px;font-size:14px}
.dca-vsl-title small{font-size:9px;margin-top:4px}
.dca-vsl-chip{right:20px;bottom:18px;font-size:9px;padding:6px 10px}
.dca-vsl-play{width:64px;height:64px}
.dca-vsl-disc{inset:8px}
.dca-vsl-disc svg{width:16px;height:18px}
.dca-tick{width:10px;height:10px}
.dca-tick.tl{top:8px;left:8px}.dca-tick.tr{top:8px;right:8px}
.dca-tick.bl{bottom:8px;left:8px}.dca-tick.br{bottom:8px;right:8px}
}

/* p64 - How It Works rhythm: uniform 28px gaps, one-viewport fit; partners strip removed */
#keyfacts-section{padding-bottom:48px}
#keyfacts-section .title-block{margin-bottom:28px;gap:28px}
#dca-vsl-wrap{max-width:860px}
#dca-vsl-cta{margin-top:28px}
#keyfacts-section .partners-block{display:none!important}

@media(max-width:767px){#keyfacts-section{min-height:auto}}

/* p65 - CTA matched to header pill (familjen, regular, tight tracking) + pulse */
#dca-vsl-cta .dca-btn{font-family:familjen,"familjen Fallback",sans-serif;font-size:1.063rem;font-weight:400;letter-spacing:-.02em;padding:.7rem 2.1rem .8rem;position:relative}
#dca-vsl-cta .dca-btn::after{content:"";position:absolute;inset:0;border-radius:999px;border:1px solid rgba(0,85,253,.75);animation:dcaCtaPulse 2.6s cubic-bezier(.19,1,.22,1) infinite;pointer-events:none}
@keyframes dcaCtaPulse{0%{transform:scale(1);opacity:.75}100%{transform:scale(1.28,1.55);opacity:0}}
@media (prefers-reduced-motion:reduce){#dca-vsl-cta .dca-btn::after{animation:none;display:none}}

/* p66b - stage cards: no dead explore-project buttons */
.js-work-card .content-top .button_wrapper{display:none}

/* p67 - phase arrows: buttons back on, cobalt pronounced arrow, nudge */
.js-work-card .content-top .button_wrapper{display:block}
.js-work-card .content-top .button_wrapper .arrow svg{width:1.5rem;height:1.5rem}
.js-work-card .content-top .button_wrapper .arrow svg path{fill:#0055fd!important}
.js-work-card .content-top .button_wrapper .arrow{animation:dcaArrowNudge 2.6s cubic-bezier(.19,1,.22,1) infinite}
@keyframes dcaArrowNudge{0%,55%,100%{transform:translateX(0)}72%{transform:translateX(7px)}}
@media (prefers-reduced-motion:reduce){.js-work-card .content-top .button_wrapper .arrow{animation:none}}

/* p69 - strip->expertise handoff: scene slides under the pinned strip's last
   viewport; #work-section becomes the curtain that w() fades out over M */
@media (min-width:768px){
  #work-section{z-index:2}
  #services-orbit-scope-v2{margin-top:-100dvh}
}

/* p71 - tail statement matches "Live in 1-2 weeks." title type */
#work-section h3.max-w-100{font-size:2.5rem;line-height:.95;letter-spacing:-.06em;font-weight:500;max-width:none}
@media (min-width:768px){#work-section h3.max-w-100{font-size:5.9375rem}}

/* p75 - VSL tilt-in entrance (Key facts choreography) */
@media (min-width:768px){
  #dca-vsl-wrap{perspective:1400px}
  #dca-vsl{transform-origin:center top;will-change:transform,opacity;backface-visibility:hidden}
}

/* p77 - HIW density: larger panel + CTA text */
@media (min-width:768px){
  #dca-vsl-wrap{max-width:1080px}
  #dca-vsl-cta .dca-btn{font-size:1.19rem;padding:.78rem 2.4rem .88rem}
}

/* p81 - scene service list enlarged */
#services-orbit-scope-v2 .srv-list li{font-size:1.15rem!important;line-height:1.4}
@media (min-width:768px){
  #services-orbit-scope-v2 .srv-list li{font-size:1.9rem!important;letter-spacing:-.02em}
  #services-orbit-scope-v2 .exp-bottom{max-width:72rem!important}
}

/* p82 - phase arrows: no label, no clip, clickable */
#work-section .content-top .button_wrapper{pointer-events:auto}
#work-section .content-top .button_wrapper .btn{overflow:visible;font-size:0}

/* p84 - HIW panel cinematic height: fits one 1440x900 viewport again */
@media (min-width:768px){
  #dca-vsl{aspect-ratio:auto;height:480px}
  #dca-vsl-cta{margin-top:24px}
}

/* p86 - scene focused-disciplines interlude removed: hero -> marquee */
#services-orbit-scope-v2 .sec-focused{display:none!important}

/* p88 - srv-list minimal dot separators */
#services-orbit-scope-v2 .srv-list li+li::before{content:"\00b7";color:#666;margin-right:.5rem;display:inline-block}

/* p90 - no orphan dot at start of wrapped srv-list rows */
#services-orbit-scope-v2 .srv-list li[data-rowstart]::before{content:none}

/* p91 - srv-list forced 4+2 line split at md+ */
@media (min-width:768px){#services-orbit-scope-v2 .srv-list{max-width:38rem}}

/* p93 - services panels alternate black/white (odd = dark) */
.services-list>.services-item:nth-child(odd){background:#040508;color:#d8d8d8}
.services-list>.services-item:nth-child(odd) .service-title{color:#fff}
.services-list>.services-item:nth-child(odd) .service-info-item.text-black{color:#d8d8d8}
.services-list>.services-item:nth-child(odd) .line-draw-block .line{background-color:rgba(216,216,216,.85)}
.services-list>.services-item:nth-child(odd) .image-block{border-color:rgba(255,255,255,.15)}
.services-list>.services-item:nth-child(odd) .line-plus-block .line{background-color:rgba(128,128,128,.4)}
.services-list>.services-item:nth-child(odd) .plus-icon line{stroke:#9a9a9a!important}
.services-list>.services-item:nth-child(even) .image-block{background-color:transparent}
.services-list>.services-item:nth-child(even) .image-block.text-light-font{color:#434343}

/* p94 - footer cleanup: sound caption + Trionn line-word off (smoke canvas stays) */
.footer-sound-icon{display:none!important}
footer.site-footer>div.relative.z-2.justify-end{display:none!important}

/* p98 - VSL panel matches the video: 16:9 at the p84 height, no side bars */
@media (min-width:768px){#dca-vsl{width:min(100%,853px);margin-left:auto;margin-right:auto}}

/* p103 - footer stays 100dvh (matches its -100dvh reveal overlap; p100's
   min-height:auto left a 234px body-bg band below). Content distributes
   top/bottom instead so the old line-word void stays gone. */
footer.site-footer>div.relative.z-20{align-items:stretch}
footer.site-footer .tr__container{justify-content:space-between;flex:1}
/* p103 - ADS IN word gap (char-split marquee headline reads cramped) */
.top-word .words:first-child{margin-right:.12em}

/* p106 - pre-footer FAQ (injected, zero hydration surface). Bottom pad
   = 100dvh overlap zone the footer reveal slides over + 5rem breathing. */
.dca-faq{background:#040508;color:#d8d8d8;padding:7rem 0 calc(100dvh + 5rem)}
.dca-faq-kicker{font-size:.6875rem;letter-spacing:.14em;opacity:.5;margin-bottom:1.25rem}
.dca-faq-title{color:#d8d8d8;margin-bottom:1rem;font-size:clamp(2.375rem,4.6vw,4.5rem);
  line-height:1.05;font-weight:400;letter-spacing:-.01em}
.dca-faq-sub{opacity:.55;max-width:26rem;margin-bottom:3.5rem}
.dca-faq-list{border-top:1px solid rgba(216,216,216,.14)}
.dca-faq-item{border-bottom:1px solid rgba(216,216,216,.14)}
.dca-faq-q{display:flex;align-items:baseline;gap:1.5rem;width:100%;text-align:left;
  background:transparent;border:0;color:#d8d8d8;cursor:pointer;
  padding:1.5rem 0;font:inherit}
.dca-faq-num{font-size:.6875rem;opacity:.45;letter-spacing:.08em}
.dca-faq-qt{flex:1;font-size:clamp(1.125rem,2.2vw,1.625rem);line-height:1.25;
  transition:opacity .3s ease}
.dca-faq-q:hover .dca-faq-qt{opacity:.75}
.dca-faq-x{position:relative;width:14px;height:14px;flex:none;align-self:center}
.dca-faq-x::before,.dca-faq-x::after{content:"";position:absolute;left:0;top:6px;
  width:14px;height:2px;background:#0055fd;transition:transform .35s ease}
.dca-faq-x::after{transform:rotate(90deg)}
.dca-faq-item.open .dca-faq-x::after{transform:rotate(0deg)}
.dca-faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s ease}
.dca-faq-a>div{overflow:hidden}
.dca-faq-a p{max-width:44rem;padding:0 0 1.75rem;margin:0;opacity:.7;line-height:1.65;
  font-size:.9375rem}
.dca-faq-item .dca-faq-a p{padding-left:calc(.6875rem + 1.5rem)}
.dca-faq-item.open .dca-faq-a{grid-template-rows:1fr}
.dca-faq-cta{display:inline-block;margin-top:3.5rem;background:#0055fd;color:#fff;
  padding:1rem 2.25rem;border-radius:999px;font-size:.8125rem;letter-spacing:.1em;
  text-decoration:none;transition:opacity .3s ease}
.dca-faq-cta:hover{opacity:.85}
@media (max-width:767px){
  .dca-faq{padding-top:5rem}
  .dca-faq-item .dca-faq-a p{padding-left:0}
  .dca-faq-q{gap:1rem}
}

/* p107 - Industries we run: benchmark wheel replaces the p105 swiper.
   React shell (heading/subcopy/divider) kept; old interactive grid hidden. */
#testimonials .tr__container>div:nth-child(3){display:none!important}
/* the shell container kept min-h-dvh after its grid was hidden, leaving a
   viewport-tall void that pushed the widget below the fold (v1 gate FAIL:
   wheel center off-screen, scroll test hit the page instead) */
#testimonials .tr__container{min-height:auto!important}
#dca-wheel{padding-bottom:5rem}
#dca-wheel .dca-wh-grid{display:grid;grid-template-columns:minmax(280px,5fr) 7fr;
  column-gap:72px;row-gap:30px;grid-template-areas:"search chip" "wheel rest"}
.dca-wh-searchwrap{grid-area:search;align-self:end;position:relative}
.dca-wh-searchwrap input{width:100%;background:transparent;border:0;border-radius:0;
  border-bottom:1px solid rgba(39,39,39,.65);padding:12px 28px 12px 0;
  font-family:var(--font-martian),monospace;font-size:.8125rem;letter-spacing:-.02em;
  text-transform:uppercase;color:#272727;outline:none;transition:border-color .3s ease}
.dca-wh-searchwrap input:focus{border-color:#272727}
.dca-wh-searchwrap input::placeholder{color:rgba(39,39,39,.55);text-transform:uppercase}
.dca-wh-searchwrap>svg{position:absolute;right:0;top:14px;width:15px;height:15px;opacity:.5}
.dca-wh-miss{display:grid;grid-template-rows:0fr;opacity:0;transform:translateY(-6px);
  transition:grid-template-rows .55s cubic-bezier(.22,1,.36,1),opacity .45s ease,
  transform .55s cubic-bezier(.22,1,.36,1)}
.dca-wh-miss.show{grid-template-rows:1fr;opacity:1;transform:none}
.dca-wh-miss>div{overflow:hidden}
.dca-wh-miss p{font-family:var(--font-neue),sans-serif;font-size:.9375rem;line-height:1.55;
  color:#434343;padding-top:16px;max-width:30rem}
.dca-wh-miss a{display:inline-flex;align-items:center;gap:10px;margin-top:14px;margin-bottom:4px;
  font-family:var(--font-martian),monospace;font-size:.8125rem;letter-spacing:-.02em;
  text-transform:uppercase;color:#272727;text-decoration:none;
  border-bottom:1px solid #272727;padding-bottom:6px;transition:opacity .3s ease}
.dca-wh-miss a:hover{opacity:.6}
.dca-wh-miss a svg{transition:transform .3s ease}
.dca-wh-miss a:hover svg{transform:translateX(4px)}
.dca-wh-chip{grid-area:chip;justify-self:start;align-self:end;
  font-family:var(--font-martian),monospace;font-size:.6875rem;letter-spacing:-.02em;
  text-transform:uppercase;color:#434343;border:1px solid rgba(39,39,39,.3);
  border-radius:999px;padding:6px 14px;transition:opacity .3s ease}
.dca-wh-chip.swap{opacity:0}
.dca-wh-wheel{grid-area:wheel;position:relative;height:100%;min-height:340px;overflow:hidden;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 15%,#000 85%,transparent 100%);
  mask-image:linear-gradient(to bottom,transparent 0,#000 15%,#000 85%,transparent 100%)}
.dca-wh-wheel ul{list-style:none;position:absolute;inset:0;margin:0;padding:0}
.dca-wh-wheel li{position:absolute;left:0;right:0;top:50%;height:44px;display:flex;gap:16px;
  align-items:center;font-family:var(--font-familjen),sans-serif;font-size:1.063rem;
  letter-spacing:-.02em;text-transform:uppercase;line-height:1;color:#272727;
  white-space:nowrap;cursor:pointer;
  transition:transform .65s cubic-bezier(.22,1,.36,1),opacity .65s ease,
  font-size .65s cubic-bezier(.22,1,.36,1);will-change:transform,opacity}
.dca-wh-wheel li .arrow{opacity:0;transition:opacity .45s ease;color:#0055fd;flex:none;display:flex}
.dca-wh-wheel li.on{font-size:1.45rem;font-weight:560}
.dca-wh-wheel li.on .arrow{opacity:1}
.dca-wh-wheel li.off{pointer-events:none}
.dca-wh-rest{grid-area:rest;display:flex;flex-direction:column;
  transition:opacity .3s ease,transform .3s ease}
.dca-wh-rest.swap{opacity:0;transform:translateY(10px)}
.dca-wh-big{font-family:var(--font-familjen),sans-serif;font-size:clamp(1.75rem,2.8vw,2.5rem);
  line-height:1.04;letter-spacing:-.04em;margin-bottom:44px;max-width:560px;color:#272727}
.dca-wh-big em{font-style:normal;white-space:nowrap}
.dca-wh-ladder{max-width:560px;display:flex;flex-direction:column;gap:19px;margin-bottom:36px}
.dca-wh-lrow{display:grid;grid-template-columns:128px 1fr 78px;gap:18px;align-items:center}
.dca-wh-lrow .lbl{font-family:var(--font-neue),sans-serif;font-size:.875rem;color:#434343}
.dca-wh-lrow .val{text-align:right;font-family:var(--font-martian),monospace;
  font-size:.8125rem;letter-spacing:-.02em;color:#272727}
.dca-wh-lrow .bar{height:9px;border-radius:5px;background:rgba(39,39,39,.1);overflow:hidden}
.dca-wh-lrow .bar i{display:block;height:100%;border-radius:5px;background:#272727;width:0;
  transition:width .75s cubic-bezier(.22,1,.36,1)}
.dca-wh-lrow.good .bar i{background:#0055fd}
.dca-wh-lrow.good .lbl{font-weight:600;color:#272727}
.dca-wh-lrow.good .val{font-weight:600}
.dca-wh-meta{font-family:var(--font-martian),monospace;font-size:.75rem;letter-spacing:-.02em;
  text-transform:uppercase;color:#434343}
/* margin-top:auto pins the attribution to the row's bottom edge so the
   wheel band and card column end flush (image-14 alignment); padding-top
   keeps the 48px minimum breathing room above it */
.dca-wh-attr{margin-top:auto;padding-top:48px;font-family:var(--font-neue),sans-serif;
  font-size:.75rem;color:#4a4a4a;max-width:560px;line-height:1.55}
@media (max-width:767px){
  #dca-wheel .dca-wh-grid{grid-template-columns:1fr;column-gap:0;row-gap:26px;
    grid-template-areas:"search" "wheel" "chip" "rest"}
  .dca-wh-wheel{height:300px;min-height:300px}
  .dca-wh-chip{margin-top:6px}
}

/* p108 - FAQ slides over the settled ads grid (settle now completes at
   85% of the pin; overlap stays inside the static tail). z-20 beats the
   pinned canvas wrapper's z-10 inside main. */
#dca-faq{position:relative;z-index:20;margin-top:-95dvh}
@media (max-width:767px){#dca-faq{margin-top:-65dvh}}

/* p109 - kill the ~225px dead band between the section divider and the
   wheel (divider keeps its full top margin; only the space below the
   line is trimmed) */
#testimonials .line-plus-block{margin-bottom:2rem!important}
#testimonials .tr__container{padding-bottom:0!important}

/* p110 - hide the stray second divider (old swiper-area bottom rule) */
#testimonials>.tr__container.z-0{display:none!important}

/* p111 - inset the wheel grid to the section's content column
   (divider spans cols 2-11; one column + one gap each side) */
@media (min-width:1024px){
  #dca-wheel .dca-wh-grid{
    margin-left:calc((100% + 1.5rem)/12);
    margin-right:calc((100% + 1.5rem)/12);
  }
}

/* p112 - hide the ads section's black exit-wipe strips (the FAQ's dark
   face is the curtain now; wipe was exposed by the p108 settle retime) */
main div[class*="C3C3C3"]>.pointer-events-none.z-30{display:none!important}

/* p113 - hide the menu's Trionn story promo link (dead Trionn route) */
a[href="/trionn-story"]{display:none!important}

/* p114 - services tiers: core offer vs priced add-ons, deck shuffles */
main>section.bg-white.z-31{display:none!important}
#dca-services{background:#fff;position:relative;z-index:31;color:#272727}
#dca-services .tr__container{padding-top:6rem;padding-bottom:7rem}
.dca-sv-inner{width:100%}
@media (min-width:1024px){.dca-sv-inner{margin-left:calc((100% + 1.5rem)/12);
  margin-right:calc((100% + 1.5rem)/12);width:auto}}
.dca-sv-eyebrow{font-family:var(--font-martian),monospace;font-size:.8125rem;
  letter-spacing:-.02em;text-transform:uppercase;display:inline-flex;
  align-items:center;gap:10px;color:#272727}
.dca-sv-dot{width:7px;height:7px;border-radius:50%;background:#0055fd}
.dca-sv-h{font-family:var(--font-familjen),sans-serif;font-weight:420;
  font-size:clamp(2.2rem,4.6vw,4.4rem);line-height:.95;letter-spacing:-.06em;
  margin:14px 0 0;text-transform:none}
.dca-sv-tag{display:inline-block;font-family:var(--font-martian),monospace;
  font-size:.6875rem;letter-spacing:.02em;text-transform:uppercase;
  padding:7px 14px;border:1px solid rgba(39,39,39,.4);border-radius:999px;
  margin-left:14px;vertical-align:middle;transform:translateY(-6px)}
.dca-sv-tag-core{background:#272727;color:#fff;border-color:#272727}
.dca-sv-lede{font-family:var(--font-neue),sans-serif;font-size:1.0625rem;
  line-height:1.5;color:#4a4a4a;max-width:34rem;margin-top:16px}
.dca-sv-row{display:grid;grid-template-columns:520px 1fr;gap:64px;
  align-items:center;padding:72px 0}
.dca-sv-flip{grid-template-columns:1fr 520px}
.dca-sv-flip .dca-sv-deckwrap{order:2}
.dca-sv-flip .dca-sv-copy{order:1}
.dca-sv-line{height:1px;background:rgba(39,39,39,.15)}
.dca-sv-deckwrap{display:flex;justify-content:center}
.dca-sv-deck{position:relative;width:490px;max-width:100%;aspect-ratio:3/2}
.dca-sv-deck img{position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;border-radius:14px;box-shadow:0 24px 60px rgba(4,5,8,.28);
  transition:transform .7s cubic-bezier(.22,1,.36,1),filter .7s ease;
  will-change:transform;backface-visibility:hidden}
.dca-sv-deck img.fly{transition:transform .55s cubic-bezier(.5,0,.75,.4);
  transform:translateX(-120%) rotate(-10deg)!important}
.dca-sv-deck img.snap{transition:none!important}
.dca-sv-feat{list-style:none;margin:26px 0 0;padding:0;display:grid;
  grid-template-columns:1fr 1fr;gap:10px 28px}
.dca-sv-feat li{font-family:var(--font-neue),sans-serif;font-size:.9375rem;
  line-height:1.4;color:#4a4a4a;padding-left:18px;position:relative}
.dca-sv-feat li::before{content:"";position:absolute;left:0;top:.48em;
  width:7px;height:7px;border-radius:50%;background:#0055fd}
.dca-sv-ladder{margin-top:26px;border-top:1px solid rgba(39,39,39,.15);max-width:34rem}
.dca-sv-ladder>div{display:flex;justify-content:space-between;align-items:baseline;
  gap:24px;padding:13px 0;border-bottom:1px solid rgba(39,39,39,.15)}
.dca-sv-ladder .l{font-family:var(--font-neue),sans-serif;font-size:1rem;color:#272727}
.dca-sv-ladder .p{font-family:var(--font-martian),monospace;font-size:.8125rem;
  letter-spacing:-.02em;text-transform:uppercase;color:#272727;white-space:nowrap}
.dca-sv-kicker{font-family:var(--font-neue),sans-serif;font-size:.9375rem;
  line-height:1.5;color:#4a4a4a;margin-top:16px;max-width:34rem}
.dca-sv-cta{display:inline-flex;align-items:center;gap:10px;margin-top:30px;
  font-family:var(--font-martian),monospace;font-size:.8125rem;letter-spacing:-.02em;
  text-transform:uppercase;color:#272727;text-decoration:none;
  border-bottom:1px solid #272727;padding-bottom:6px;transition:opacity .3s ease}
.dca-sv-cta:hover{opacity:.6}
.dca-sv-cta svg{transition:transform .3s ease}
.dca-sv-cta:hover svg{transform:translateX(4px)}
.dca-sv-other{padding:64px 0 0}
.dca-sv-clarifier{font-family:var(--font-familjen),sans-serif;font-weight:420;
  letter-spacing:-.045em;font-size:clamp(1.5rem,3.1vw,2.6rem);line-height:1.12;
  max-width:46rem;margin:16px 0 0}
.dca-sv-clarifier em{font-style:normal;color:inherit;text-decoration:underline;
  text-decoration-color:#0055fd;text-decoration-thickness:3px;text-underline-offset:6px}
@media (max-width:1023px){
  .dca-sv-row,.dca-sv-flip{grid-template-columns:1fr;gap:40px;padding:52px 0}
  .dca-sv-flip .dca-sv-deckwrap{order:1}
  .dca-sv-flip .dca-sv-copy{order:2}
  .dca-sv-deck{width:min(340px,86vw)}
  .dca-sv-feat{grid-template-columns:1fr}
  .dca-sv-tag{margin-left:10px}
  #dca-services .tr__container{padding-top:4rem;padding-bottom:4.5rem}
}

/* p115 - reference-faithful split panels (media left, copy right, left
   half carries the ground colour) + smoother, slower deck shuffle */
#dca-services{background:#EDEAE1}
#dca-services .tr__container{padding:0!important;max-width:none!important;
  width:100%!important;margin:0!important}
.dca-sv-inner{margin:0!important;width:100%!important}
#dca-services .dca-sv-row{grid-template-columns:1fr 1fr!important;gap:0!important;
  padding:0!important;align-items:stretch!important}
#dca-services .dca-sv-deckwrap{order:1;background:#EDEAE1;
  border-right:1px solid rgba(39,39,39,.14);
  padding:104px 56px;display:flex;align-items:center;justify-content:center}
#dca-services .dca-sv-copy{order:2;background:#EDEAE1;padding:104px 72px;
  display:flex;flex-direction:column;justify-content:center}
#dca-services .dca-sv-dark .dca-sv-deckwrap{background:#080808;
  border-right-color:rgba(255,255,255,.14)}
#dca-services .dca-sv-line{display:none!important}
#dca-services .dca-sv-other{background:#EDEAE1;padding:104px 72px 96px;
  border-top:1px solid rgba(39,39,39,.14);border-bottom:1px solid rgba(39,39,39,.14)}
#dca-services .dca-sv-deck{width:100%;max-width:560px}
/* motion: eased depth moves, fade the flying card so the reposition is unseen */
#dca-services .dca-sv-deck img{
  transition:transform .9s cubic-bezier(.22,1,.36,1),filter .9s ease,opacity .45s ease}
#dca-services .dca-sv-deck img.fly{
  transition:transform .7s cubic-bezier(.33,0,.2,1),opacity .5s ease;
  transform:translateX(-118%) rotate(-9deg) scale(.94)!important;opacity:0}
@media (max-width:1023px){
  #dca-services .dca-sv-row{grid-template-columns:1fr!important}
  #dca-services .dca-sv-deckwrap{padding:56px 24px;border-right:none;
    border-bottom:1px solid rgba(39,39,39,.14)}
  #dca-services .dca-sv-dark .dca-sv-deckwrap{border-bottom-color:rgba(255,255,255,.14)}
  #dca-services .dca-sv-copy{padding:48px 24px 64px}
  #dca-services .dca-sv-other{padding:56px 24px}
  #dca-services .dca-sv-deck{max-width:340px}
}

/* p116 - band out, captions in, reference-style lists, boundary rule
   with a scroll-spun cross, larger media */
#dca-services .dca-sv-other{display:none!important}
#dca-services .dca-sv-rule{position:relative;height:1px;
  background:rgba(39,39,39,.14);z-index:2}
#dca-services .dca-sv-cross{position:absolute;left:50%;top:50%;
  width:13px;height:13px;transform:translate(-50%,-50%) rotate(var(--r,0deg));
  will-change:transform;pointer-events:none}
#dca-services .dca-sv-cross::before,#dca-services .dca-sv-cross::after{
  content:"";position:absolute;left:50%;top:50%;background:rgba(39,39,39,.62)}
#dca-services .dca-sv-cross::before{width:1px;height:13px;transform:translate(-50%,-50%)}
#dca-services .dca-sv-cross::after{height:1px;width:13px;transform:translate(-50%,-50%)}
/* media larger + caption above it, reference layout */
#dca-services .dca-sv-deckwrap{padding:80px 40px;flex-direction:column}
#dca-services .dca-sv-deck{max-width:640px}
#dca-services .dca-sv-cap{font-family:var(--font-martian),monospace;
  font-size:.6875rem;letter-spacing:.02em;text-transform:uppercase;color:#4a4a4a;
  text-align:center;margin:0 0 28px;max-width:30rem;line-height:1.5}
#dca-services .dca-sv-dark .dca-sv-cap{color:rgba(255,255,255,.72)}
/* single-column hairline list under a small label */
#dca-services .dca-sv-listlabel{font-family:var(--font-martian),monospace;
  font-size:.6875rem;letter-spacing:.02em;text-transform:uppercase;
  color:#4a4a4a;margin:34px 0 10px}
#dca-services .dca-sv-feat{grid-template-columns:1fr!important;gap:0!important;
  margin-top:0!important;border-top:1px solid rgba(39,39,39,.14)}
#dca-services .dca-sv-feat li{padding:13px 0!important;font-size:1rem;color:#272727;
  border-bottom:1px solid rgba(39,39,39,.14);padding-left:0!important}
#dca-services .dca-sv-feat li::before{display:none!important}
#dca-services .dca-sv-ladder{margin-top:0!important}
/* the pin's fade completes at 70% of its progress, so ~30% of it is
   always an empty stage no matter how short the pin is. Rather than
   retime the scene, the section overlaps that emptied tail (same move
   as the FAQ in p108). Measured blank after the trim was ~400px. */
#dca-services{position:relative;z-index:31;margin-top:-460px}
@media (max-width:1023px){
  /* mobile fades at 50% of the pin (desktop 70%), so its empty tail is
     proportionally twice as long and needs a deeper overlap */
  #dca-services{margin-top:-820px}
  #dca-services .dca-sv-deckwrap{padding:52px 24px}
  #dca-services .dca-sv-deck{max-width:340px}
}

/* p117 - reference layering scroll: sticky stage, panels stacked, the
   incoming panel covers the previous on the LEFT while the previous
   copy column tiles out on the RIGHT. Desktop only; mobile keeps the
   normal-flow stack (a 100vh pin would clip the stacked copy). */
@media (min-width:1024px){
  #dca-services .tr__container{padding:0!important}
  #dca-services .dca-sv-track{position:relative;height:450vh}
  #dca-services .dca-sv-stage{position:sticky;top:0;height:100vh;
    overflow:hidden;background:#EDEAE1}
  #dca-services .dca-sv-panel{position:absolute;inset:0;
    will-change:transform;backface-visibility:hidden}
  #dca-services .dca-sv-panel>.dca-sv-row{height:100%;margin:0}
  #dca-services .dca-sv-panel>.dca-sv-rule{position:absolute;top:0;left:0;
    right:0;z-index:6}
  /* .2 white over #080808 measured as a near-invisible line on the dark
     half; .38 reads without competing with the copy */
  #dca-services .dca-sv-pdark>.dca-sv-rule{background:linear-gradient(to right,
    rgba(255,255,255,.38) 0 50%,rgba(39,39,39,.14) 50% 100%)}
  /* p116 sized the cross for a full-width divider; on the panel seam it
     needs to carry at panel scale */
  #dca-services .dca-sv-cross{width:18px;height:18px}
  #dca-services .dca-sv-cross::before{height:18px}
  #dca-services .dca-sv-cross::after{width:18px}
  #dca-services .dca-sv-pdark>.dca-sv-rule .dca-sv-cross::before,
  #dca-services .dca-sv-pdark>.dca-sv-rule .dca-sv-cross::after{
    background:#7c7c7c}
  #dca-services .dca-sv-copy{height:100%;padding:0 72px!important;
    justify-content:center;will-change:transform}
  #dca-services .dca-sv-deckwrap{height:100%;padding:0 48px!important}
  #dca-services .dca-sv-deck{max-width:600px}
  #dca-services .dca-sv-cap{margin:0 0 24px}
  /* the pinned stage has to fit one viewport - tighten the copy rhythm */
  #dca-services .dca-sv-h{font-size:clamp(2rem,3.4vw,3.4rem)}
  #dca-services .dca-sv-lede{font-size:1rem;margin-top:12px}
  #dca-services .dca-sv-listlabel{margin:22px 0 8px}
  #dca-services .dca-sv-feat li{padding:10px 0!important;font-size:.9375rem}
  #dca-services .dca-sv-ladder>div{padding:11px 0}
  #dca-services .dca-sv-kicker{margin-top:12px}
  #dca-services .dca-sv-cta{margin-top:22px}
}

/* p118 - Trionn's five-strip shutter restored as the ads -> FAQ
   transition. Un-hides p112's rule (same selector, later in the file so
   it wins) and pulls the FAQ overlap back inside the tail so it stops
   covering the strips. */
main div[class*="C3C3C3"]>.pointer-events-none.z-30{display:flex!important}
#dca-faq{margin-top:-10dvh}
@media (max-width:767px){#dca-faq{margin-top:-10dvh}}

/* p119 - services CTAs = the hero button (mechanism read from chunks
   0sc3z3ff25230.css + 02yhtxn3klj8l.js): staggered char slide +36px,
   arrow swaps right->left, underline wipes right then redraws left.
   Pure :hover - base-rule transitions ARE the hover-out timings. */
.dca-cta2{position:relative;display:flex;align-items:center;width:200px;
  min-height:40px;margin-top:22px;overflow:hidden;text-decoration:none;
  cursor:pointer;text-transform:uppercase;color:#272727;
  /* hero measures 12.6px; the page root is 14.4px, so 12.6/14.4 = .875rem
     (a 16px-root assumption undersized this to 11.34px on first apply) */
  font-family:var(--font-martian),monospace;font-size:.875rem;
  letter-spacing:-.06em;font-weight:400;line-height:1}
.dca-cta2 .c2w{position:relative;display:inline-flex;padding-right:1px}
.dca-cta2 .c2t{display:inline-block;will-change:transform;
  transition:transform var(--u,300ms) ease var(--d,0ms)}
.dca-cta2:hover .c2t{transform:translateX(36px)}
.dca-cta2 .c2u{position:absolute;left:0;right:0;bottom:0;height:1px;
  pointer-events:none}
.dca-cta2 .c2ur,.dca-cta2 .c2ul{position:absolute;inset:0;background:currentColor}
.dca-cta2 .c2ur{transform-origin:right center;transform:scaleX(1);
  transition:transform .5s ease .3s}
.dca-cta2 .c2ul{transform-origin:left center;transform:scaleX(0);
  transition:transform 1s ease}
.dca-cta2:hover .c2ur{transform:scaleX(0);transition:transform 1s ease}
.dca-cta2:hover .c2ul{transform:scaleX(1);transition:transform .5s ease .3s}
.dca-cta2 .c2a{position:absolute;top:50%;width:2.5rem;height:2.5rem;
  transform:translateY(-50%);pointer-events:none}
.dca-cta2 .c2ar{right:0}
.dca-cta2 .c2al{left:0}
.dca-cta2 .c2a>span{display:flex;width:100%;height:100%;align-items:center;
  will-change:transform,opacity}
.dca-cta2 .c2ar>span{justify-content:flex-end;opacity:1;transform:translateX(0);
  transition:transform .32s ease .3s,opacity .32s ease .3s}
.dca-cta2 .c2al>span{justify-content:flex-start;opacity:0;transform:translateX(-28px);
  transition:transform .2s ease,opacity .2s ease}
.dca-cta2:hover .c2ar>span{opacity:0;transform:translateX(28px);
  transition:transform .2s ease,opacity .2s ease}
.dca-cta2:hover .c2al>span{opacity:1;transform:translateX(0);
  transition:transform .32s ease .3s,opacity .32s ease .3s}

/* p120 - continuous tuck shuffle: the card flies out left fully opaque,
   restacks while clear of the deck, then visibly slides back UNDER the
   stack. No opacity change anywhere; no transition:none snap. These
   later rules beat p114/p115's img + .fly definitions. */
#dca-services .dca-sv-deck img{
  transition:transform .95s cubic-bezier(.25,.8,.25,1),filter .95s ease}
#dca-services .dca-sv-deck img.fly{
  transition:transform .7s cubic-bezier(.5,.05,.45,.95),filter .7s ease;
  transform:translateX(-110%) rotate(-7deg) scale(.9)!important;opacity:1}
#dca-services .dca-sv-deck img.tuck{
  transition:transform .82s cubic-bezier(.25,.8,.3,1),filter .82s ease}

/* p121 - the three panel sub-items render smaller and indented under
   Other services, in both the desktop overlay and the mobile drawer */
li.menu-item:has(>a[href^="/#dca-sv-"]){padding-left:1.6rem}
li.menu-item:has(>a[href^="/#dca-sv-"]) .nav-link{
  font-size:clamp(1.05rem,1.6vw,1.45rem)!important;line-height:1.15!important}

/* p131 - the five-strip shutter moved to the wheel -> FAQ transition
   (injected #dca-shutter-track). The old in-ads overlay is re-hidden:
   same selector as p118's un-hide, later in the file, so this wins and
   the p118 chunk scrub drives an invisible element. */
main div[class*="C3C3C3"]>.pointer-events-none.z-30{display:none!important}

/* p132 - background continuity for the push transition: the ads ground
   is flat #C3C3C3 (probed); the wheel's gradient started at pure white,
   and that tone jump read as a border at the seam. Start the wheel on
   the same tone, hold it through the seam region, ease to white below.
   !important beats the section's own bg-[linear-gradient(...)] utility. */
#testimonials{background:linear-gradient(180deg,#C3C3C3 0%,#C3C3C3 22%,#ffffff 100%)!important}

/* p137 - compact the industries wheel on phones so the benchmark ladder
   remains visible below the wheel. Desktop geometry is unchanged. */
@media (max-width:767px){
  .dca-wh-wheel{height:220px;min-height:220px}
  #dca-wheel .dca-wh-grid{row-gap:14px}
  .dca-wh-attr{padding-top:16px}
}

/* p152 - a dark services panel stays dark on desktop, tablet, and mobile. */
#dca-services .dca-sv-pdark .dca-sv-copy{background:#080808;color:#EDEAE1}
#dca-services .dca-sv-pdark .dca-sv-copy .dca-sv-eyebrow,
#dca-services .dca-sv-pdark .dca-sv-copy .dca-sv-h,
#dca-services .dca-sv-pdark .dca-sv-copy .dca-sv-lede,
#dca-services .dca-sv-pdark .dca-sv-copy .dca-sv-listlabel,
#dca-services .dca-sv-pdark .dca-sv-copy .dca-sv-ladder .l,
#dca-services .dca-sv-pdark .dca-sv-copy .dca-sv-ladder .p,
#dca-services .dca-sv-pdark .dca-sv-copy .dca-sv-kicker,
#dca-services .dca-sv-pdark .dca-sv-copy .dca-cta2{color:#EDEAE1}
#dca-services .dca-sv-pdark .dca-sv-copy .dca-sv-ladder,
#dca-services .dca-sv-pdark .dca-sv-copy .dca-sv-ladder>div,
#dca-services .dca-sv-pdark .dca-sv-copy .dca-cta2{
  border-color:rgba(237,234,225,.22)}
/* p152-end */
/* p141 - retire the invisible mobile key-facts pin reserve. */
@media (max-width:767px){
  .pin-spacer-keyfacts-cards-mobile-pin{padding-bottom:0!important;height:auto!important}
  #keyfacts-section{position:static!important;top:auto!important;transform:none!important}
}
/* p141-end */

/* p155 - cover the subpixel Ads -> Industries paint seam on phones. */
@media (max-width:767px){#testimonials{margin-top:-2px}}

/* p156 - mobile Industries -> FAQ disclosure apron. */
@media (max-width:767px){
  #testimonials{margin-top:-2px!important;border-top:1px solid rgba(4,5,8,.10)}
  #dca-shutter-track{height:72px;display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box;
    border-top:0;background:#fff}
  #dca-shutter-track [data-dca-shutter-strip]{display:block}
}
@media (max-width:767px) and (prefers-reduced-motion:reduce){
  #dca-shutter-track [data-dca-shutter-strip]{transform:scaleY(1)!important}
}

/* p168 - modestly enlarge the mobile loader mark. */
@media (max-width:767px){
  .pl-overlay-logo-wrap{width:12.5rem;height:12.75rem}
}


/* p172 - remove the artificial viewport tail and keep the final handoffs continuous. */
.dca-faq{padding-bottom:8rem}
#site-footer{margin-top:-2px!important;background:#040508!important}
@media (max-width:767px){
  .dca-faq{padding-bottom:5rem}
  #dca-shutter-track{background:#EDEAE1}
  main div[class*="C3C3C3"]>.tr__container{padding-bottom:12px!important}
}


/* p172b - the Ads host, not its full-height child, owns the mobile tail. */
@media (max-width:767px){
  main div[class*="C3C3C3"]{padding-bottom:12px!important}
  main div[class*="C3C3C3"]>.tr__container{padding-bottom:0!important}
}


/* p173 - one warm light surface through the services handoff. */
#dca-services,
#dca-services .dca-sv-stage,
#dca-services .dca-sv-panel:not(.dca-sv-pdark),
main>section.bg-white.z-31{
  background:#EDEAE1!important;
}


/* p174 - no mobile apron; desktop blinds are a compact, contiguous divider. */
@media (max-width:767px){
  #dca-shutter-track{
    display:none!important;height:0!important;min-height:0!important;
    margin:0!important;border:0!important;padding:0!important;
  }
}


/* p178 - mobile drawer only: bigger Other-services sub-items, no duplicate
   Book a call row. Scoped to <=767px because DESKTOP MUST NOT CHANGE -- p121's
   desktop sizing is already correct there, and an unscoped bump measured LARGER
   than the primary rows in the 1440 overlay (verified by screenshot, after a
   probe wrongly reported it fine). */
@media (max-width:767px){
  li.menu-item:has(>a[href^="/#dca-sv-"]) .nav-link{
    font-size:1.75rem!important;line-height:1.2!important;
  }
  a.menu[href="https://dirtcheapagency.com/book-a-call"]{
    display:none!important;
  }
}


/* p179 - mobile drawer: left-align the menu list so p121's existing 1.6rem indent on
   the Other-services sub-items is actually visible. The list was align-items:center,
   which gave every row a different left edge and hid the hierarchy. */
@media (max-width:767px){
  .mobile-menu-inner ul:has(> li.menu-item){
    align-items:flex-start!important;
  }
}


/* p183 - mobile ADS / LEADS / BOOKINGS layover without white shutter bands. */
@media (max-width:767px){
  #sec3-v2 > .pointer-events-none.z-30{
    display:none!important;
  }
}


/* p195 - mobile Ads bottom seam. The section is `-top-0.5!` (top:-1.53516px) on
   position:relative, so it paints 1.5px above its layout box and leaves a ~1px
   strip that shows the cream ground. Fill it with the section's own colour.
   box-shadow is layout-neutral, so no geometry moves and the host GSAP pin,
   which owns `top`, is not touched. */
@media (max-width:767px){
  main div[class*="C3C3C3"]{
    box-shadow:0 3px 0 0 #C3C3C3!important;
  }
}


/* p197 - mobile industries wheel: fit the selected row AND the full benchmark
   ladder in one viewport. Measured 393x678: section 825px vs viewport 678px, so
   147px had to come out. Wheel 220->120 with 40px rows (3 rows), plus the two
   desktop-scale margins inside .dca-wh-rest and the grid row-gap. Desktop is
   unaffected. */
@media (max-width:767px){
  .dca-wh-wheel{height:120px;min-height:120px}
  .dca-wh-wheel li{height:40px}
  #dca-wheel .dca-wh-grid{row-gap:10px}
  .dca-wh-big{margin-bottom:20px}
  .dca-wh-ladder{margin-bottom:18px}
}


/* p199 - mobile: the sources paragraph sat 6px off the bottom edge at 393x678 and
   0px at 390x600, and its last line was clipped. The section is min-h-dvh with
   content already filling it, so space is FREED first (wheel 120->104, attr
   padding-top and line-height) and then partly spent on an explicit bottom gap.
   The explicit padding matters at short viewports where the section is
   content-bound rather than min-height-bound. Desktop untouched. */
@media (max-width:767px){
  .dca-wh-wheel{height:104px;min-height:104px}
  .dca-wh-attr{padding-top:10px;line-height:1.42}
  #dca-wheel{padding-bottom:24px}
}


/* p200 - client asked for more breathing room under the sources paragraph than
   p199's 24px. Raised to 56px. Trades against the p197 contract (selected row +
   all three ladder rows + this paragraph visible together), so it is verified
   at 393x678 / 390x844 / 390x660 rather than eyeballed. Desktop untouched. */
@media (max-width:767px){
  #dca-wheel{padding-bottom:56px}
}


/* p201 - the client asked for more space under the sources paragraph. p199/p200
   wrote #dca-wheel{padding-bottom} which measured 0px on the live element,
   because #testimonials .tr__container{padding-bottom:0!important} outranks it.
   And since #testimonials is min-h-dvh, padding cannot move the paragraph up at
   all -- the gap has to be FREED from content. So: trim 28px above, and also
   make the padding real (two IDs + !important) as insurance on short viewports
   where the section is content-bound. Desktop untouched. */
@media (max-width:767px){
  .dca-wh-wheel{height:92px;min-height:92px}
  .dca-wh-big{margin-bottom:14px}
  .dca-wh-ladder{margin-bottom:14px}
  #dca-wheel .dca-wh-grid{row-gap:8px}
  #testimonials #dca-wheel{padding-bottom:40px!important}
}


/* p206 - the rebrand missed two social links: "Linkedin" and "Dribbble" still
   pointed at trionnstudio while Facebook/Instagram beside them were already
   DCA's. Hidden rather than removed, because removing them is a text change and
   SSR text must match the chunk JSX or React throws #418 on every load. Reverse
   this the moment DCA has real LinkedIn/Dribbble URLs to put in. Selector was
   proven to match exactly those two and to spare the email, phone, Facebook and
   Instagram entries in the same list. */
p:has(> a[href*="trionnstudio"]){display:none!important}


/* p208 - three internal links 404 on the deployed site because the mirror has
   only one page. Hidden rather than deleted: removing anchors is a text change
   and SSR text must match the chunk JSX or React throws #418 every load.
   Each wrapper's only child is the dead anchor, so no sibling is taken. The main
   nav is untouched - it links only to in-page anchors and book-a-call.
   Reverse the /trionn-story rule if that page is ever built. */
div:has(> a[href="/trionn-story"]),
div:has(> a[href="/work"]),
div:has(> a[href="/about"]){display:none!important}
