/* ============================================================
   Nationwide Dent Repair — home.css v4 "Showroom Cinematic"
   Full-viewport video hero, glass stat strip, angled bodyline
   cuts, expanding service panels, towns marquee, count-up stats.
   Display voice: Saira Condensed. Palette: locked navy/cobalt/chrome.
   ============================================================ */

body.ndr-home{background:#fff;color:#39424F}
body.ndr-home h2{font-family:var(--font-display);font-weight:800;text-transform:uppercase;letter-spacing:.005em;color:var(--navy-900);font-size:clamp(34px,4vw,54px);line-height:1.02}
/* Dark statement blocks: headings are white. Scoped under body.ndr-home so they outrank the base rule above. */
body.ndr-home .cn-proof h2,
body.ndr-home .cn-areas h2,
body.ndr-home .cn-close h2,
body.ndr-home .cn-craft-card h2{color:#fff}

.cn-link{display:inline-block;margin-top:8px;color:var(--blue-600);font-weight:700;font-size:15.5px;transition:color .15s}
.cn-link:hover{color:var(--navy-900)}
.cn-link.is-light{color:#A8C2FF}
.cn-link.is-light:hover{color:#fff}

/* ============ HERO ============ */
.cn-hero{position:relative;min-height:min(100svh,940px);display:flex;flex-direction:column;justify-content:flex-end;background:var(--navy-950);overflow:hidden}
.cn-hero-media{position:absolute;inset:0}
.cn-hero-media video{width:100%;height:100%;object-fit:cover;filter:saturate(.92)}
.cn-hero-scrim{position:absolute;inset:0;background:
	linear-gradient(90deg,rgba(6,14,32,.82) 0%,rgba(6,14,32,.52) 42%,rgba(6,14,32,.12) 72%,rgba(6,14,32,0) 100%),
	linear-gradient(180deg,rgba(6,14,32,.38) 0%,rgba(6,14,32,.12) 40%,rgba(6,14,32,.55) 82%,rgba(6,14,32,.85) 100%)}
.cn-hero-low{position:relative;z-index:2;margin-top:auto;margin-bottom:auto;padding-top:48px;padding-bottom:36px;width:100%}
.cn-line{display:block;overflow:hidden;padding-bottom:.06em}
.cn-rise{display:block;font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:clamp(48px,7vw,96px);line-height:1.0;letter-spacing:.005em;color:#fff;transform:translateY(112%);animation:cnRise .9s cubic-bezier(.16,1,.3,1) .15s forwards}
.cn-rise.is-2{animation-delay:.28s}
@keyframes cnRise{to{transform:translateY(0)}}
.cn-tagline{display:flex;align-items:center;gap:12px;font-family:var(--font-voice);font-style:italic;font-weight:600;font-size:16px;letter-spacing:.02em;color:#A8C2FF;text-shadow:0 1px 10px rgba(6,14,32,.7);margin:0 0 18px;opacity:0;animation:cnFade .7s ease .45s forwards}
.cn-tagline::before{content:"";width:34px;height:2px;background:var(--chrome);flex:none}
@keyframes cnFade{to{opacity:1}}
.cn-hero-sub{font-size:17.5px;color:#C8D2E4;margin:16px 0 30px;max-width:58ch;opacity:0;animation:cnFade .7s ease .6s forwards}
.cn-hero-cta{display:flex;gap:14px;flex-wrap:wrap;opacity:0;animation:cnUp .7s cubic-bezier(.16,1,.3,1) .78s forwards}
@keyframes cnUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}


/* Glass stat strip */
.cn-stats{position:relative;z-index:2;background:rgba(8,23,52,.55);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid rgba(201,210,222,.22);opacity:0;animation:cnFade .8s ease .95s forwards}
.cn-stats-in{display:grid;grid-template-columns:repeat(4,1fr);padding:22px 24px;gap:18px}
.cn-stat{display:flex;flex-direction:column;gap:4px}
.cn-stat b{font-family:var(--font-display);font-weight:800;font-size:30px;line-height:1;color:#fff;letter-spacing:.01em;white-space:nowrap;font-variant-numeric:tabular-nums}
.cn-stat>span{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:#9FB0CC;line-height:1.4}

/* ============ EXPLAIN ============ */
.cn-explain{background:#fff;padding:112px 0}
.cn-explain-grid{display:grid;grid-template-columns:6fr 6fr;gap:72px;align-items:center}
.cn-explain-copy h2{position:relative;margin:0 0 28px;max-width:17ch}
.cn-streak{position:absolute;top:-26px;left:2px;width:120px;height:10px;background:
	repeating-linear-gradient(90deg,var(--platinum-300) 0 26px,transparent 26px 38px);transform:skewX(-24deg)}
.cn-explain-copy p{font-size:16.5px;line-height:1.75;margin:0 0 18px;max-width:58ch}
.cn-lead{font-family:var(--font-voice);font-style:italic;font-weight:700;font-size:20px!important;color:var(--navy-900);margin:-12px 0 22px!important}
.ndr-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.cn-explain-photo{margin:0;position:relative}
.cn-explain-photo img{width:100%;height:auto;display:block;border-radius:6px;box-shadow:0 30px 70px rgba(8,23,52,.22)}
.cn-explain-photo figcaption{margin-top:12px;font-size:13px;color:#7C8898}

/* Wipe reveal for images — visible by default, animates only on .is-in */
@keyframes ndrWipeIn{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
.ndr-js .ndr-wipe.is-in{animation:ndrWipeIn .9s cubic-bezier(.16,1,.3,1) both}

/* ============ PROBLEM (customer voice) ============ */
.cn-problem{background:#fff;padding:96px 0;border-top:1px solid var(--mist-100)}
.cn-problem h2{margin:0 0 40px}
.cn-problem-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--platinum-300)}
.cn-pain{position:relative;margin:0;padding:30px 48px 30px 56px;font-family:var(--font-voice);font-style:italic;font-weight:600;font-size:clamp(18px,2vw,23px);line-height:1.45;color:var(--navy-800);border-bottom:1px solid var(--platinum-300)}
.cn-pain::before{content:"\201C";position:absolute;left:8px;top:18px;font-family:var(--font-display);font-weight:800;font-size:52px;line-height:1;color:var(--platinum-300)}
.cn-problem-grid .cn-pain:nth-child(odd){border-right:1px solid var(--platinum-300)}
.cn-pivot{margin:36px 0 0;font-size:18px;font-weight:700;color:var(--navy-900)}
.cn-pivot a{color:var(--blue-600);border-bottom:2px solid var(--blue-100);padding-bottom:2px;transition:border-color .15s}
.cn-pivot a:hover{border-color:var(--blue-600)}

/* Trustindex: hide stray star imgs the plugin emits without src */
.cn-reviews img.ti-star:not([src]){display:none}

/* Proof credline */
.cn-credline{margin:44px 0 0;padding-top:22px;border-top:1px solid var(--platinum-300);font-size:14px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#6B7686}

/* Process sub */
.cn-process-sub{font-size:16px;color:#5A6470;margin:0 0 44px}

/* Close: trust closer + maps */
.cn-closer{font-size:15px;color:var(--platinum-300);margin:14px 0 0!important;font-weight:600}
.cn-loc-map{width:100%;height:170px;border:1px solid rgba(201,210,222,.3);border-radius:8px;margin:12px 0 10px;display:block;filter:saturate(.85) contrast(1.02)}

/* FAQ open animation */
.cn-faq-list details[open] p{animation:cnFaq .35s cubic-bezier(.16,1,.3,1)}
@keyframes cnFaq{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* Compare grip feedback */
.hm-compare-grip{transition:transform .16s ease}
.hm-compare:hover .hm-compare-grip{transform:translate(-50%,-50%) scale(1.06)}
.hm-compare:active .hm-compare-grip{transform:translate(-50%,-50%) scale(.95)}

/* ============ SERVICE PANELS ============ */
.cn-panels-wrap{background:var(--porcelain-50);padding:88px 0;border-top:1px solid var(--mist-100)}
.cn-panels-head{margin-bottom:36px}
.cn-panels-head p{font-size:15.5px;color:#6B7686;margin:12px 0 0}
.cn-panels{display:flex;gap:16px;height:540px;max-width:var(--container);margin:0 auto;padding:0 var(--gutter)}
.cn-panel{position:relative;flex:1;overflow:hidden;cursor:pointer;border-radius:12px;box-shadow:var(--shadow-card);transition:flex 0.55s cubic-bezier(.16,1,.3,1),box-shadow .3s ease}
.cn-panel:hover{box-shadow:var(--shadow-pop)}
.cn-panel:hover,.cn-panel:focus-within,.cn-panel:focus{flex:2.6;outline:none}
.cn-panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.9);transition:transform .6s ease}
.cn-panel:hover img{transform:scale(1.04)}
.cn-panel-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,14,32,.25) 0%,rgba(6,14,32,.45) 55%,rgba(6,14,32,.88) 100%);transition:background .3s ease}
.cn-panel-body{position:absolute;left:0;right:0;bottom:0;padding:34px 36px;z-index:2}
.cn-panel-body h3{margin:0}
.cn-panel-body h3 a{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:30px;letter-spacing:.01em;color:#fff;display:inline-block;border-bottom:3px solid transparent;transition:border-color .2s}
.cn-panel-body h3 a:hover{border-color:var(--blue-500)}
.cn-panel-more{max-height:0;opacity:0;overflow:hidden;transition:max-height .5s cubic-bezier(.16,1,.3,1),opacity .35s ease .1s}
.cn-panel:hover .cn-panel-more,.cn-panel:focus-within .cn-panel-more,.cn-panel:focus .cn-panel-more{max-height:240px;opacity:1}
.cn-panel-more>p{font-size:15px;line-height:1.6;color:#C8D2E4;margin:12px 0 14px;max-width:46ch}
.cn-panel-links{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0}
.cn-panel-links a{font-size:14px;font-weight:600;color:#A8C2FF;border-bottom:1px solid rgba(168,194,255,.35);padding-bottom:2px;transition:color .14s,border-color .14s}
.cn-panel-links a:hover{color:#fff;border-color:#fff}
.cn-panel-links a{opacity:0;transform:translateY(6px);transition:opacity .35s ease,transform .35s ease,color .14s,border-color .14s}
.cn-panel:hover .cn-panel-links a,.cn-panel:focus-within .cn-panel-links a,.cn-panel:focus .cn-panel-links a{opacity:1;transform:none}
.cn-panel-links a:nth-of-type(2){transition-delay:.05s}
.cn-panel-links a:nth-of-type(3){transition-delay:.1s}
.cn-panel-links a:nth-of-type(4){transition-delay:.15s}
.cn-panel-links a:nth-of-type(5){transition-delay:.2s}
.cn-panel-links a:nth-of-type(6){transition-delay:.25s}

/* ============ TOWNS MARQUEE ============ */
.cn-marquee{overflow:hidden;background:var(--porcelain-50);padding:10px 0 44px}
.cn-marquee-track{display:flex;gap:56px;width:max-content;animation:cnMq 36s linear infinite}
.cn-marquee-track span{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:54px;line-height:1;color:transparent;-webkit-text-stroke:1.5px #ADBBCC;white-space:nowrap}
@keyframes cnMq{to{transform:translateX(-50%)}}
.cn-marquee:hover .cn-marquee-track{animation-play-state:paused}

/* ============ PROOF (NAVY, ANGLED) ============ */
.cn-anglewrap{background:linear-gradient(180deg,var(--porcelain-50) 0,var(--porcelain-50) 90px,#fff 90px)}
.cn-proof{background:var(--navy-900);color:#C8D2E4;padding:148px 0 150px;clip-path:polygon(0 64px,100% 0,100% calc(100% - 64px),0 100%);margin-top:-8px}
.cn-proof h2{color:#fff}
.cn-proof-head{display:flex;align-items:baseline;gap:32px;justify-content:space-between;flex-wrap:wrap;margin-bottom:40px}
.cn-proof-head p{font-size:15.5px;color:#9FB0CC;margin:0}
.hm-compare{position:relative;overflow:hidden;border:1px solid rgba(201,210,222,.25);border-radius:8px;user-select:none;touch-action:pan-y;cursor:ew-resize;max-width:980px}
.hm-compare img{width:100%;height:auto;display:block;pointer-events:none}
.hm-compare-before{position:absolute;inset:0;will-change:clip-path}
.hm-compare-before img{position:absolute;inset:0;height:100%;object-fit:cover}
.hm-compare-handle{position:absolute;top:0;bottom:0;left:50%;width:2px;background:#fff;box-shadow:0 0 16px rgba(0,0,0,.55);transform:translateX(-1px);cursor:ew-resize}
.hm-compare-handle:focus-visible{outline:3px solid var(--blue-500);outline-offset:3px}
.hm-compare-grip{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;background:rgba(6,14,32,.85);border:1.5px solid rgba(255,255,255,.85);display:grid;place-items:center}
.hm-compare-grip::before{content:"";width:14px;height:10px;background:linear-gradient(90deg,#fff 0 2px,transparent 2px 6px,#fff 6px 8px,transparent 8px 12px,#fff 12px 14px);opacity:.9}
.hm-tag{position:absolute;top:16px;font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:7px 13px;border-radius:6px;z-index:2;pointer-events:none}
.hm-tag.is-b{left:16px;background:rgba(11,18,32,.72);color:var(--platinum-300);border:1px solid rgba(201,210,222,.3)}
.hm-tag.is-a{right:16px;background:var(--blue-600);color:#fff}
.cn-proof-grid{display:grid;grid-template-columns:8fr 4fr;gap:28px;align-items:stretch}
.cn-proof-grid .hm-compare{max-width:none}
.cn-cases{display:flex;flex-direction:column;gap:28px}
.cn-case{flex:1;margin:0;display:flex;flex-direction:column}
.cn-case-imgs{display:grid;grid-template-columns:1fr 1fr;gap:2px;border-radius:8px;overflow:hidden;border:1px solid rgba(201,210,222,.25);flex:1}
.cn-case-imgs>div{position:relative}
.cn-case-imgs img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.cn-case:hover .cn-case-imgs img{transform:scale(1.035)}
.cn-case-imgs .hm-tag{top:10px;font-size:10px;padding:5px 9px}
.cn-case-imgs .hm-tag.is-b{left:10px}
.cn-case-imgs .hm-tag.is-a{right:auto;left:10px}
.cn-case figcaption{margin-top:10px;font-size:13.5px;color:#9FB0CC}

/* ============ VERSUS ============ */
.cn-versus{background:#fff;padding:104px 0}
.cn-versus h2{margin:0 0 48px;max-width:24ch}
.cn-vs{display:grid;grid-template-columns:1fr 64px 1fr;align-items:stretch}
.cn-vs-col{padding:38px 40px;border-radius:12px}
.cn-vs-col h3{font-family:var(--font-display);font-size:17px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin:0 0 20px}
.cn-vs-col ul{margin:0;padding:0;list-style:none}
.cn-vs-col li{font-size:16px;line-height:1.5;padding:13px 0 13px 30px;position:relative}
.cn-vs-col li+li{border-top:1px solid rgba(124,136,152,.18)}
.cn-vs-col.is-them{background:var(--porcelain-50);border:1px solid var(--mist-100)}
.cn-vs-col.is-them h3{color:#6B7686}
.cn-vs-col.is-them li{color:#5A6470}
.cn-vs-col.is-them li::before{content:"";position:absolute;left:4px;top:24px;width:14px;height:2px;background:#A7B2C0}
.cn-vs-col.is-us{background:linear-gradient(140deg,var(--navy-900),var(--blue-600) 160%);box-shadow:0 24px 60px rgba(8,23,52,.28);position:relative}
.cn-vs-col.is-us::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--chrome);border-radius:12px 12px 0 0;opacity:.8}
.cn-vs-col.is-us h3{color:#fff}
.cn-vs-col.is-us li{color:#E7ECFA;font-weight:600}
.cn-vs-col.is-us li+li{border-top-color:rgba(255,255,255,.14)}
.cn-vs-col.is-us li::after{content:"";position:absolute;left:2px;top:18px;width:13px;height:7px;border-left:2.5px solid #7FD6A4;border-bottom:2.5px solid #7FD6A4;transform:rotate(-45deg)}
.cn-vs-badge{align-self:center;justify-self:center;width:56px;height:56px;border-radius:50%;background:var(--chrome);display:grid;place-items:center;font-family:var(--font-display);font-weight:800;font-size:18px;color:var(--navy-900);box-shadow:0 8px 24px rgba(8,23,52,.25);z-index:2}
.cn-versus-note{margin:40px 0 0;font-size:14.5px;color:#7C8898;max-width:72ch}

/* ============ CRAFT BAND ============ */
.cn-craft{position:relative;min-height:620px;display:flex;align-items:center;overflow:hidden}
.cn-craft-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:cnKen 26s ease-in-out infinite alternate}
@keyframes cnKen{from{transform:scale(1)}to{transform:scale(1.07) translateX(-1.2%)}}
.cn-craft-scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,14,32,.94) 0%,rgba(6,14,32,.86) 42%,rgba(6,14,32,.55) 68%,rgba(6,14,32,.25) 100%);overflow:hidden}
.cn-craft-scrim::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 32%,rgba(255,255,255,.07) 45%,rgba(255,255,255,.14) 50%,rgba(255,255,255,.07) 55%,transparent 68%);transform:translateX(-130%);animation:cnSweep 10s ease-in-out infinite}
@keyframes cnSweep{0%{transform:translateX(-130%)}55%,100%{transform:translateX(130%)}}
.cn-craft-in{position:relative;z-index:2;width:100%;padding-top:88px;padding-bottom:88px}
.cn-craft-card{max-width:540px}
.cn-craft-card h2{color:#fff;margin:0 0 22px}
.cn-craft-card p{font-size:16.5px;line-height:1.7;color:#C8D2E4;margin:0 0 16px;max-width:54ch}
.cn-sig{font-family:var(--font-voice);font-style:italic;font-weight:700;font-size:clamp(24px,2.8vw,34px);color:#fff;margin:24px 0 8px!important}

/* ============ PROCESS ============ */
.cn-process{background:var(--porcelain-50);padding:96px 0;border-top:1px solid var(--mist-100)}
.cn-process h2{margin:0 0 14px}
.cn-process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:0;padding:0;list-style:none}
.cn-process-grid li{background:linear-gradient(150deg,var(--navy-900),var(--navy-700) 130%);border:1px solid var(--navy-700);border-radius:12px;box-shadow:var(--shadow-card);padding:30px 30px 34px;position:relative;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}
.cn-process-grid li:hover{transform:translateY(-4px);box-shadow:var(--shadow-pop)}
.cn-process-grid li::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--chrome);opacity:.85}
.cn-num{font-family:var(--font-display);font-weight:800;font-size:60px;line-height:1;color:transparent;-webkit-text-stroke:1.5px rgba(201,210,222,.65);display:block;margin-bottom:14px}
.cn-process-grid h3{font-family:var(--font-display);text-transform:uppercase;font-size:21px;font-weight:800;color:#fff;margin:0 0 10px}
.cn-process-grid p{font-size:15.5px;line-height:1.65;color:#C8D2E4;margin:0;max-width:40ch}

/* ============ REVIEWS ============ */
.cn-reviews{background:#fff;padding:96px 0 56px;border-top:1px solid var(--mist-100)}
.cn-pull{margin:0 0 56px;max-width:900px}
.cn-pull p{font-family:var(--font-voice);font-weight:700;font-style:italic;font-size:clamp(26px,3.4vw,42px);line-height:1.25;letter-spacing:-.01em;color:var(--navy-900);margin:0 0 20px}
.cn-pull footer{font-size:15px;color:#5A6470}
.cn-stars{color:var(--blue-600);letter-spacing:2px;margin-right:10px}
.cn-quotes{display:grid;grid-template-columns:1fr 1fr;gap:0;position:relative}
.cn-quotes::before{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background:var(--platinum-300)}
.cn-quotes blockquote{margin:0;padding-right:56px}
.cn-quotes blockquote+blockquote{padding-right:0;padding-left:56px}
.cn-quotes p{font-size:17px;line-height:1.6;color:#39424F;margin:0 0 14px}
.cn-quotes footer{font-size:14px;color:#7C8898}

/* ============ AREAS (NAVY, ANGLED TOP) ============ */
.cn-areas{background:var(--navy-900);color:#C8D2E4;padding:150px 0 104px;clip-path:polygon(0 64px,100% 0,100% 100%,0 100%);position:relative;overflow:hidden}
.cn-areas-map{position:absolute;right:-2%;top:50%;transform:translateY(-50%);width:min(48vw,660px);opacity:.5;pointer-events:none;
	-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 32%);mask-image:linear-gradient(90deg,transparent 0%,#000 32%)}
.cn-areas .ndr-wrap{position:relative;z-index:2}
.cn-areas h2{color:#fff}
.cn-areas-head{max-width:620px;margin-bottom:52px}
.cn-areas-head p{font-size:16.5px;line-height:1.65;color:#9FB0CC;margin:14px 0 0}
.cn-areas-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px}
.cn-area-col h3{font-family:var(--font-display);font-size:18px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;margin:0 0 18px;padding-bottom:14px;border-bottom:1px solid rgba(201,210,222,.25)}
.cn-area-col h3 a{color:#fff}
.cn-area-col h3 a:hover{color:#A8C2FF}
.cn-area-col ul{margin:0;padding:0;list-style:none}
.cn-area-col li a{display:block;padding:9px 0;font-size:15.5px;color:#C8D2E4;border-bottom:1px solid rgba(201,210,222,.08);transition:color .14s,padding-left .14s}
.cn-area-col li a:hover{color:#fff;padding-left:6px}
.cn-area-note{margin:20px 0 0;font-size:14px;line-height:1.6;color:#7C8898}
.cn-area-note a{color:#A8C2FF}
.cn-area-note a:hover{color:#fff}

/* ============ FAQ ============ */
.cn-faq{background:#fff;padding:104px 0}
.cn-faq-grid{display:grid;grid-template-columns:5fr 7fr;gap:72px;align-items:start}
.cn-faq-head h2{margin:0 0 14px}
.cn-faq-head p{font-size:16px;line-height:1.65;color:#5A6470;margin:0}
.cn-faq-head a{color:var(--blue-600);font-weight:600}
.cn-faq-list details{border-top:1px solid var(--platinum-300)}
.cn-faq-list details:last-child{border-bottom:1px solid var(--platinum-300)}
.cn-faq-list summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 0;font-family:var(--font-body);font-size:17.5px;font-weight:700;color:var(--navy-900);transition:color .14s}
.cn-faq-list summary::-webkit-details-marker{display:none}
.cn-faq-list summary::after{content:"+";flex:none;width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--platinum-300);border-radius:50%;color:var(--navy-900);font-weight:400;font-size:18px;transition:transform .2s ease,background .2s ease,color .2s ease}
.cn-faq-list details[open] summary::after{transform:rotate(45deg);background:var(--blue-600);border-color:var(--blue-600);color:#fff}
.cn-faq-list summary:hover{color:var(--blue-600)}
.cn-faq-list details p{margin:0 0 24px;font-size:15.5px;line-height:1.7;color:#5A6470;max-width:64ch}

/* ============ BLOG ============ */
.cn-blog{background:var(--porcelain-50);padding:96px 0;border-top:1px solid var(--mist-100)}
.cn-blog h2{margin:0 0 36px}
.cn-blog-list a{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0;border-top:1px solid var(--platinum-300);color:var(--navy-900);transition:color .14s}
.cn-blog-list a:last-child{border-bottom:1px solid var(--platinum-300)}
.cn-blog-list a span{font-size:clamp(17px,1.8vw,21px);font-weight:600;letter-spacing:-.005em}
.cn-blog-list a em{font-style:normal;font-size:22px;color:var(--platinum-300);transition:color .14s,transform .2s ease}
.cn-blog-list a:hover{color:var(--blue-600)}
.cn-blog-list a:hover em{color:var(--blue-600);transform:translateX(6px)}
.cn-blog-list a.is-more span{color:var(--blue-600)}

/* ============ CLOSE (NAVY, ANGLED TOP) ============ */
.cn-close{background:linear-gradient(135deg,var(--navy-950),var(--navy-900));color:#C8D2E4;padding:150px 0 120px;clip-path:polygon(0 64px,100% 0,100% 100%,0 100%);position:relative;overflow:hidden}
.cn-close-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.18;pointer-events:none;
	-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 30%,#000 75%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 30%,#000 75%,transparent 100%)}
.cn-close .ndr-wrap{position:relative;z-index:2}
.cn-close h2{color:#fff}
.cn-close-head{margin-bottom:48px;max-width:640px}
.cn-close-head p{font-size:16.5px;color:#9FB0CC;margin:14px 0 0}
.cn-close-grid{display:grid;grid-template-columns:4fr 8fr;gap:64px;align-items:start}
.cn-close-locs{display:flex;flex-direction:column;gap:30px}
.cn-loc{border-top:1px solid rgba(201,210,222,.25);padding-top:20px}
.cn-loc h3{font-family:var(--font-display);text-transform:uppercase;font-size:20px;font-weight:800;color:#fff;margin:0 0 8px}
.cn-loc address{font-style:normal;font-size:15px;line-height:1.6;color:#9FB0CC;margin:0 0 6px}
.cn-loc-hours{font-size:13px;color:var(--platinum-300);margin:0 0 4px}
.cn-close-locs .ndr-btn{align-self:flex-start}
.cn-close-form .ndr-formcard{margin:0;max-width:none;border-radius:10px;border:none;background:#F3CC02;box-shadow:0 24px 60px rgba(0,0,0,.3)}
.cn-close-form .ndr-formnote{color:#081734;font-weight:600}
.cn-close-form .ndr-formnote a{color:#081734;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.cn-close-form .ndr-formnote a:hover{color:#1E47C8}

/* ============ MOTION GUARDS ============ */
@media (prefers-reduced-motion: reduce){
	.cn-rise{transform:none;animation:none}
	.cn-craft-bg{animation:none}
	.cn-craft-scrim::after{animation:none;display:none}
	.cn-tagline{opacity:1;animation:none}
	.cn-marquee-track{animation:none}
	.ndr-js .ndr-wipe.is-in{animation:none}
	.cn-panel{transition:none}
}

/* ============ RESPONSIVE ============ */
@media (max-width:1020px){
	.cn-explain-grid,.cn-faq-grid,.cn-close-grid{grid-template-columns:1fr;gap:48px}
	.cn-panels{flex-direction:column;height:auto}
	.cn-panel{min-height:300px;flex:none}
	.cn-panel .cn-panel-more{max-height:none;opacity:1}
	.cn-panel-links a{opacity:1;transform:none}
	.cn-areas-grid{grid-template-columns:1fr 1fr;gap:36px}
	.cn-proof-grid{grid-template-columns:1fr}
	.cn-cases{flex-direction:row}
	.cn-case{flex:1}
	.cn-process-grid{grid-template-columns:1fr;gap:36px}
	.cn-strip{grid-template-columns:1fr;gap:32px}
	.cn-stats-in{grid-template-columns:1fr 1fr;row-gap:14px}
}
@media (max-width:700px){
	.cn-hero{min-height:min(92svh,760px)}
	.cn-hero-low{padding-top:32px;padding-bottom:24px}
	.cn-hero-sub{font-size:15.5px;margin:14px 0 24px}
	.cn-hero-cta .ndr-btn{flex:1 1 100%;justify-content:center}
	.cn-stats-in{padding:16px 20px;row-gap:12px}
	.cn-rise{font-size:clamp(38px,10vw,52px)}
	.cn-tagline{font-size:14px}
	.cn-explain,.cn-versus,.cn-process,.cn-reviews,.cn-faq,.cn-blog{padding:68px 0}
	.cn-proof{padding:104px 0 110px;clip-path:polygon(0 36px,100% 0,100% calc(100% - 36px),0 100%)}
	.cn-areas,.cn-close{padding:104px 0 80px;clip-path:polygon(0 36px,100% 0,100% 100%,0 100%)}
	.cn-panels-wrap{padding:68px 0 0}
	.cn-marquee-track span{font-size:34px}
	.cn-vs{grid-template-columns:1fr;gap:0}
	.cn-vs-badge{margin:-14px auto;width:48px;height:48px;font-size:15px}
	.cn-vs-col{padding:26px 24px}
	.cn-cases{flex-direction:column}
	.cn-quotes{grid-template-columns:1fr;gap:28px}
	.cn-quotes::before{display:none}
	.cn-quotes blockquote,.cn-quotes blockquote+blockquote{padding:0}
	.cn-areas-grid{grid-template-columns:1fr}
	.cn-areas-map{display:none}
	.cn-craft{min-height:520px}
	.cn-stat b{font-size:24px}
	.cn-problem{padding:64px 0}
	.cn-problem-grid{grid-template-columns:1fr}
	.cn-problem-grid .cn-pain:nth-child(odd){border-right:none}
	.cn-pain{padding:22px 8px 22px 44px}
}
