/* Public layouts use the storefront's shared controls, typography and CRM theme. */
.cnc-site{background:var(--sf-page-bg,#f7f7fb);color:var(--sf-text,#212529);font-family:var(--sf-body-font,"Poppins",sans-serif);line-height:1.65}
.cnc-site [hidden]{display:none!important}
.cnc-skip{position:fixed;left:16px;top:12px;z-index:10000;padding:12px 18px;border-radius:var(--sf-control-radius);background:var(--sf-primary);color:var(--sf-primary-contrast);transform:translateY(-160%)}
.cnc-skip:focus{transform:translateY(0);color:var(--sf-primary-contrast)}
.cnc-site :is(h1,h2,h3,h4){font-family:var(--sf-primary-font,"Poppins",sans-serif);color:inherit;letter-spacing:-.035em;font-weight:600;line-height:1.2}
.cnc-site :is(#main,.cnc-footer) img{max-width:100%;height:auto}
.cnc-site :is(#main,.cnc-footer) a{text-decoration:none}
.cnc-site :where(#main,.cnc-footer) :focus-visible{outline:3px solid var(--sf-primary);outline-offset:5px}
.cnc-site #main{overflow:clip;background:var(--sf-page-bg)}
.cnc-section{padding-block:clamp(56px,7vw,104px);scroll-margin-top:110px}
.cnc-section h2,.cnc-cta h2{font-size:clamp(1.8rem,3.3vw,2.8rem);margin:0}
.cnc-eyebrow{display:block;font-size:.7rem;line-height:1.5;letter-spacing:.14em;font-weight:600;color:var(--sf-muted);margin-bottom:20px}
.cnc-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin-top:28px}
.cnc-button{display:inline-flex;justify-content:center;align-items:center;gap:24px;padding:13px 22px;font-size:.95rem;font-weight:600;line-height:1.5;white-space:normal}
.cnc-link{display:inline-flex;align-items:center;gap:12px;color:var(--sf-text);font-size:.9rem;font-weight:600;border-bottom:1px solid var(--sf-primary);padding-bottom:4px}
.cnc-link:hover{color:var(--sf-text);border-bottom-width:2px}
.cnc-hero-slider{position:relative;background:#1b2024;color:#fff}
.cnc-hero-slider .carousel-item{position:relative;min-height:650px;height:clamp(650px,76vh,830px)}
.cnc-hero-slider--compact .carousel-item{min-height:580px;height:clamp(580px,69vh,730px)}
.cnc-site #main .cnc-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.cnc-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,18,24,.87),rgba(12,18,24,.64) 48%,rgba(12,18,24,.22)),linear-gradient(0deg,rgba(12,18,24,.6),transparent 45%)}
.cnc-hero-content{position:relative;display:flex;align-items:center;height:100%;padding-top:55px;padding-bottom:130px}
.cnc-hero-content h1,.cnc-hero-content h2{font-size:clamp(2.6rem,5.4vw,4.8rem);font-weight:600;line-height:1.08;letter-spacing:-.045em;color:#fff;margin:0 0 24px}
.cnc-site #main :is(h1,h2)>.cnc-hero-accent{display:block;color:var(--sf-primary)}
.cnc-hero-content p{max-width:600px;font-size:clamp(.95rem,1.4vw,1.1rem);line-height:1.75;color:#f1f3f5;margin-bottom:0}
.cnc-hero-content .cnc-eyebrow{display:flex;gap:10px;align-items:center;color:#fff}
.cnc-dot{width:8px;height:8px;border-radius:50%;background:var(--sf-primary);display:inline-block}
.cnc-button-ghost{color:#fff!important;border:1px solid #ffffff80;border-radius:var(--sf-control-radius);background:#ffffff0a}
.cnc-button-ghost:hover{background:#ffffff24;border-color:#fff}
.cnc-hero-controls{position:absolute;bottom:30px;left:0;right:0;z-index:2}
.cnc-hero-counter{font-size:.75rem;letter-spacing:.08em;font-variant-numeric:tabular-nums;color:#e5e7eb}
.cnc-hero-controls .carousel-indicators{gap:8px}
.cnc-hero-controls .carousel-indicators button{width:38px;height:4px;border-block:16px solid transparent;margin:0;background-clip:padding-box;opacity:.45}
.cnc-hero-controls .carousel-indicators button.active{background-color:var(--sf-primary);opacity:1}
.cnc-carousel-toggle,.cnc-carousel-arrow{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:9px 12px;background:#ffffff0a;border:1px solid #ffffff66;border-radius:var(--sf-control-radius);color:#fff;font:500 .75rem/1.4 var(--sf-body-font);cursor:pointer}
.cnc-carousel-arrow{width:44px;font-size:1.25rem}
.cnc-carousel-toggle:hover,.cnc-carousel-arrow:hover{background:#ffffff24;border-color:#fff}
.cnc-capabilities{padding-block:24px;background:var(--sf-surface);border-bottom:1px solid var(--sf-border);font-size:.75rem;font-weight:500}
.cnc-capabilities span[aria-hidden]{color:var(--sf-primary)}
.cnc-photo{position:relative;border-radius:var(--sf-card-radius,16px);overflow:hidden;background:var(--sf-surface);border:1px solid var(--sf-border)}
.cnc-site #main .cnc-photo img{display:block;width:100%;aspect-ratio:1;object-fit:cover}
.cnc-photo-tag{position:absolute;bottom:22px;left:22px;background:var(--sf-surface);padding:10px 16px;border-radius:var(--sf-control-radius);font-size:.7rem;font-weight:600;letter-spacing:.08em}
.cnc-section-copy>p{color:var(--sf-muted);font-size:1rem;margin:22px 0}
.cnc-feature-list{margin-top:28px}
.cnc-feature-list>div{display:flex;gap:18px;padding:17px 0;border-top:1px solid var(--sf-border)}
.cnc-feature-list>div>span{font-size:.8rem;color:var(--sf-muted);padding-top:2px}
.cnc-feature-list p{font-size:.88rem;color:var(--sf-muted);margin:0}
.cnc-feature-list strong{display:block;color:var(--sf-text);font-weight:600;margin-bottom:4px}
.cnc-section-heading{margin-bottom:35px}
.cnc-section-heading p{color:var(--sf-muted);margin-bottom:0;font-size:.95rem}
.cnc-video-section{background:var(--sf-surface);border-block:1px solid var(--sf-border)}
.cnc-video{border-radius:var(--sf-card-radius,16px);overflow:hidden;background:#16191d}
.cnc-video-section--split .cnc-video-copy>p{margin-bottom:0}
.cnc-video-play{display:block;isolation:isolate}
.cnc-site #main .cnc-video-play:focus-visible{outline-offset:-5px}
.cnc-site #main .cnc-video-play img{width:100%;height:100%;object-fit:cover;filter:brightness(.65)}
.cnc-video-play:after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(transparent 45%,#101820b3)}
.cnc-play-icon{position:absolute;z-index:1;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;width:80px;height:80px;border-radius:50%;background:var(--sf-primary);color:var(--sf-primary-contrast);box-shadow:0 0 0 12px #ffffff26;transition:box-shadow .2s}
.cnc-video-play:hover .cnc-play-icon{box-shadow:0 0 0 18px #ffffff33}
.cnc-play-label{position:absolute;z-index:1;left:30px;right:30px;bottom:28px;color:white;display:flex;justify-content:space-between;gap:10px;font-size:.95rem;font-weight:500}
.cnc-video iframe{border:0;width:100%;height:100%}
.cnc-video-caption{margin-top:18px;color:var(--sf-muted);font-size:.7rem;letter-spacing:.06em}
.cnc-video-caption a{color:var(--sf-text);letter-spacing:0;border-bottom:1px solid var(--sf-border)}
.cnc-reviews{background:#faf8f5}
.cnc-service,.cnc-material-card,.cnc-native-quote-card{display:block;padding:32px;background:var(--sf-surface);border:1px solid var(--sf-border);border-radius:var(--sf-card-radius,16px);color:var(--sf-text);box-shadow:0 4px 15px #1c243003}
.cnc-service{transition:border-color .2s,box-shadow .2s}
.cnc-service:hover{border-color:var(--sf-primary);color:var(--sf-text);box-shadow:0 8px 24px #1c24300a}
.cnc-service-number{display:flex;justify-content:space-between;margin-bottom:30px;font-size:.8rem;color:var(--sf-muted)}
.cnc-service-number span{font-size:1.25rem;color:var(--sf-text)}
.cnc-service h3,.cnc-material-card h3{font-size:1.35rem;margin:0 0 14px}
.cnc-service p,.cnc-material-card p{color:var(--sf-muted);font-size:.88rem;margin:0}
.cnc-material-card>span{display:block;color:var(--sf-muted);font-size:.75rem;margin-bottom:25px}
.cnc-materials-section{background:var(--sf-surface);border-block:1px solid var(--sf-border)}
.cnc-material-card{background:var(--sf-page-bg);box-shadow:none}
.cnc-cta{padding-block:65px;border-top:1px solid var(--sf-border);background:var(--sf-primary-soft-bg)}
.cnc-cta .cnc-eyebrow{margin-bottom:14px}
.cnc-noscript-forms .mtm-cf-submit{background:var(--sf-primary);color:var(--sf-primary-contrast);border:1px solid var(--sf-primary);border-radius:var(--sf-control-radius)!important;clip-path:none;letter-spacing:0;text-transform:none;font:600 .95rem/1.5 var(--sf-body-font);padding:12px 22px;box-shadow:0 .35rem .9rem var(--sf-primary-shadow);cursor:pointer}
.cnc-contact-hero{position:relative;background:#1b2024;color:#fff;padding-block:80px;isolation:isolate}
.cnc-contact-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0c1218ed,#0c1218a3),url("images/cnc-workshop.jpg") center/cover;z-index:-1}
.cnc-contact-hero h1{font-size:clamp(2.6rem,4.8vw,4.3rem);margin:0 0 24px}
.cnc-contact-hero .cnc-eyebrow,.cnc-contact-hero p{color:#f1f3f5}
.cnc-contact-hero p{max-width:620px;margin:0}
.cnc-contact-phone{display:block;color:var(--sf-text);font-size:clamp(1.25rem,2.6vw,1.9rem);font-weight:600;margin-bottom:30px}
.cnc-contact-phone>span:first-child{display:block;font-size:.7rem;letter-spacing:.1em;color:var(--sf-muted);margin-bottom:9px}
.cnc-contact-facts{padding:25px 0;border-block:1px solid var(--sf-border);margin-bottom:28px}
.cnc-contact-facts h2{font-size:1rem;margin-bottom:12px}
.cnc-contact-facts address,.cnc-contact-facts p{font-size:.88rem;font-style:normal;color:var(--sf-muted);margin-bottom:12px}
.cnc-site #main .cnc-contact-photo{width:100%;aspect-ratio:1.5;object-fit:cover;border-radius:var(--sf-card-radius,16px)}
.cnc-contact-tip{padding:24px;margin-top:24px;background:var(--sf-surface);border:1px solid var(--sf-border);border-radius:var(--sf-card-radius,16px)}
.cnc-contact-tip p{font-size:.88rem;color:var(--sf-muted);margin-block:10px}
.cnc-quote-intro p,.cnc-native-quote-card p{color:var(--sf-muted);font-size:.9rem;margin-block:16px 22px}
.cnc-native-quote-card{margin-top:20px;scroll-margin-top:120px}
.cnc-native-quote-card h3{font-size:1.5rem;margin-bottom:12px}
.cnc-native-quote-card .cnc-eyebrow{margin-bottom:12px}
.cnc-native-quote-card.cnc-general-inquiry{background:var(--sf-primary-soft-bg)}
.cnc-noscript-forms .mtm-cf-form-section{display:block;padding:25px;background:var(--sf-surface);border:1px solid var(--sf-border);border-radius:var(--sf-card-radius,16px);margin-top:25px}
.cnc-noscript-forms .mtm-cf-field{margin-block:15px}
.cnc-noscript-forms label{display:block;font-size:.85rem;font-weight:600}
.cnc-noscript-forms input:not([type=hidden]):not([type=checkbox]),.cnc-noscript-forms select,.cnc-noscript-forms textarea{display:block;width:100%;padding:12px;border:1px solid var(--sf-border);border-radius:var(--sf-control-radius);font:inherit}
.cnc-noscript-forms .cnc-form-hint{font-size:.75rem;margin-block:8px}
.cnc-noscript-forms .mtm-cf-submit{margin-top:20px}
.cnc-noscript-forms .cnc-form-intro{margin-bottom:20px}
.cnc-noscript-forms .cnc-form-intro h2{font-size:1.6rem}
@media(max-width:767.98px){.cnc-hero-slider .carousel-item,.cnc-hero-slider--compact .carousel-item{min-height:640px;height:auto}.cnc-hero-content{min-height:640px;padding-block:60px 140px}.cnc-hero-content h1,.cnc-hero-content h2{font-size:clamp(2.3rem,7.7vw,3.5rem)}.cnc-hero-content .row{margin-inline:0}.cnc-hero-content .row>div{padding-inline:0}.cnc-hero-controls{bottom:24px}.cnc-hero-content p{max-width:95%}.cnc-hero-shade{background:linear-gradient(90deg,#0c1218db,#0c121899)}.cnc-service,.cnc-material-card,.cnc-native-quote-card{padding:25px}.cnc-play-icon{width:60px;height:60px}.cnc-play-label{left:20px;right:20px;bottom:20px;font-size:.8rem}.cnc-contact-hero{padding-block:60px}.cnc-section-heading{margin-bottom:28px}.cnc-story h2{font-size:1.9rem}}
@media(max-width:479.98px){.cnc-hero-slider .carousel-item,.cnc-hero-slider--compact .carousel-item,.cnc-hero-content{min-height:700px}.cnc-hero-controls>.container{gap:10px!important}.cnc-hero-counter{font-size:.65rem}.cnc-hero-progress{gap:8px!important}.cnc-carousel-toggle{font-size:.65rem;padding-inline:8px;gap:4px}.cnc-carousel-arrow{width:36px;min-height:40px;padding:6px}.cnc-hero-controls .carousel-indicators button{width:20px}.cnc-hero-content .cnc-actions{gap:12px}.cnc-button{font-size:.85rem;padding:12px 16px;gap:16px}.cnc-play-label{font-size:.7rem;bottom:14px}.cnc-contact-hero h1{font-size:2.45rem}}
@media(prefers-reduced-motion:reduce){.cnc-site .carousel-item,.cnc-service,.cnc-play-icon{transition:none}}
