@font-face{font-family:Manrope;src:url('/fonts/manrope-latin.woff') format('woff');font-weight:200 800;font-display:swap}:root{--cedar:#0b1110;--sage:#8fbda5;--cream:#f5f0e5;--surface:#15231d;--line:#46614f;--muted:#c3cebf;--ease:cubic-bezier(.16,1,.3,1);font-family:Manrope,system-ui,sans-serif;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:radial-gradient(ellipse at 70% 2%,#213c2c77,transparent 42%),var(--cedar);color:var(--cream);font-size:16px;line-height:1.7}body:before{content:'';position:fixed;inset:0;background:url('/grain.svg');opacity:.035;pointer-events:none}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:5px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;max-width:100%;object-fit:cover}figure,h1,h2,h3,p{margin:0}p+p{margin-top:16px}h1,h2,h3{font-weight:500;text-wrap:balance;letter-spacing:-.045em}h1{font-size:clamp(48px,5.6vw,80px);line-height:1.04}h1 span{color:var(--sage)}h2{font-size:clamp(30px,3vw,46px);line-height:1.14}h3{font-size:22px;line-height:1.25}p{max-width:58ch}a,button,select,input,textarea{min-height:44px}a{display:inline-flex;align-items:center}a:hover{color:var(--sage)}:focus-visible{outline:3px solid var(--sage);outline-offset:5px}.sample-band{position:relative;padding:9px 24px;background:var(--sage);color:var(--cedar);text-align:center;font-size:13px;line-height:1.5}.skip{position:absolute;z-index:10;top:-100px;left:20px;padding:10px;background:var(--sage);color:var(--cedar)}.skip:focus{top:10px}.ct-header{position:relative;max-width:1328px;margin:auto;min-height:108px;padding:20px 48px;display:flex;justify-content:space-between;gap:24px;align-items:center}.ct-brand{gap:14px;text-decoration:none;line-height:1.2;font-size:21px;font-weight:650}.ct-mark{flex:none;object-fit:contain}.ct-brand small{display:block;font-size:13px;font-weight:450;letter-spacing:.02em;margin-top:7px;color:var(--muted)}.ct-header nav{display:flex;gap:30px}.ct-header nav a{text-decoration:none;font-size:15px}.ct-header nav a[aria-current]{text-decoration:underline}.ct-hero{position:relative;max-width:1440px;margin:auto;display:grid;grid-template-columns:1fr 1.05fr;min-height:620px}.ct-hero-copy{padding:72px max(48px,calc((100vw - 1232px)/2));padding-right:54px;display:flex;align-items:flex-start;flex-direction:column;justify-content:center}.eyebrow{font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--sage);margin-bottom:22px}.ct-hero-copy>p:not(.eyebrow){margin-top:26px;font-size:17px;color:var(--muted)}.ct-button{display:inline-flex;justify-content:center;align-items:center;gap:12px;min-height:52px;padding:12px 24px;border-radius:7px;border:1px solid var(--sage);background:var(--sage);color:var(--cedar);font-weight:650;text-decoration:none;transition:transform .35s var(--ease),background .35s var(--ease);font-size:16px}.ct-button:hover{background:var(--cream);color:var(--cedar);transform:translateY(-2px)}.ct-button:active{transform:translateY(1px)}.ct-hero-copy .ct-button{margin-top:30px}.quiet-link{margin-top:10px;font-size:15px}.hero-photo{position:relative;overflow:hidden;margin:16px 24px 16px 0;border-radius:10px}.hero-photo img{height:100%;width:100%;object-position:42% 50%;transition:transform 1s var(--ease)}.hero-photo:hover img{transform:scale(1.025)}.hero-photo figcaption{position:absolute;bottom:16px;left:16px;right:16px;padding:10px 16px;background:#0b1110ed;border:1px solid #8fbda54d;font-size:14px;border-radius:7px}.fitting-section,.service-section,.material-section,.contact-layout,.service-detail{position:relative;max-width:1232px;margin:auto;padding:96px 0}.fitting-section{display:grid;grid-template-columns:1fr 1fr;gap:96px}.fitting-intro>p:not(.eyebrow){margin-top:20px;color:var(--muted)}.fitting-intro>img{margin-top:44px;opacity:.8}.fitting-panel{background:linear-gradient(145deg,#1e3527,#111e18);border:1px solid #8fbda56b;border-radius:10px;padding:32px;box-shadow:inset 0 1px 0 #e0f5d523,0 12px 35px #0003}label{display:block;margin-bottom:10px;font-weight:600}select,input,textarea{width:100%;border:1px solid #6e947d;background:var(--cedar);color:var(--cream);padding:12px 14px;border-radius:7px}select{min-height:52px}#preparation{padding:26px 0;min-height:180px}#preparation p{color:var(--muted);margin-top:12px}#preparation.selected h3{color:var(--sage);text-shadow:0 0 18px #8fbda51f}.service-section{display:grid;grid-template-columns:1fr 1.25fr;gap:96px;border-top:1px solid var(--line)}.service-section>div>p{margin-top:18px;color:var(--muted)}.service-list article{display:grid;grid-template-columns:1fr 1.25fr;gap:30px;padding:26px 0;border-bottom:1px solid var(--line)}.service-list article:first-child{padding-top:0}.service-list p{color:var(--muted);font-size:16px}.material-section{padding-top:20px}.material-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:20px;margin-top:32px}.material-grid img{width:100%;height:280px;border-radius:10px}.material-grid figcaption{padding-top:14px;font-size:15px;color:var(--muted)}.ct-close{position:relative;padding:64px max(48px,calc((100vw - 1232px)/2));background:linear-gradient(110deg,#1b3023,#101d16);border-block:1px solid #8fbda530}.ct-close p{margin-top:24px;color:var(--muted)}.ct-close .ct-button{margin-top:26px}.ct-footer{max-width:1232px;margin:auto;padding:64px 0 40px;display:grid;grid-template-columns:1fr 1fr;gap:28px}.ct-footer>.ct-mark,.ct-footer>div>.ct-mark{margin-bottom:20px}.ct-footer strong{font-size:21px}.ct-footer p{font-size:14px;color:var(--muted);margin-top:14px}.ct-footer nav{display:flex;flex-direction:column;align-items:flex-start}.ct-footer a{font-size:14px}.credits{grid-column:1/-1;border-top:1px solid var(--line);padding-top:16px}.credits p{max-width:none}.credits a{display:inline;line-height:2}.sample-footer{grid-column:1/-1}.sample-footer a{display:inline}.sticky-call{display:none}.inner-hero{position:relative;max-width:1232px;margin:auto;padding:64px 0 56px}.inner-hero>p:not(.eyebrow){margin-top:26px;color:var(--muted);font-size:17px}.inner-hero .ct-button{margin-top:28px}.inner-hero .quiet-link{display:flex;width:fit-content}.service-detail{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding-top:24px}.service-detail article{border-top:1px solid var(--line);padding-top:26px}.service-detail p{margin-top:20px;color:var(--muted)}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:96px;padding-top:16px}.contact-layout h2+p{margin-top:24px}.contact-layout form{padding:28px;border:1px solid #8fbda56b;border-radius:10px;background:var(--surface)}form label:not(:first-child){margin-top:16px}form .ct-button{margin-top:24px;width:100%}form>p{font-size:14px}form p a{display:inline}.field-error{display:block;color:#ffd2b1;font-size:14px;min-height:0}.field-error:not(:empty){margin-top:8px}.field-error:not(:empty):before{content:'Check: '}.demo-options{margin-top:20px;font-size:14px}summary{cursor:pointer;min-height:44px;padding-block:8px}.receipt{min-height:560px}button:disabled{cursor:wait;background:var(--cream);color:var(--cedar)}
@media(max-width:1328px){.fitting-section,.service-section,.material-section,.contact-layout,.service-detail,.inner-hero,.ct-footer{margin-inline:48px}.ct-hero-copy{padding-left:48px}}@media(max-width:900px){.ct-header{padding-inline:28px}.ct-hero{grid-template-columns:1fr 1fr;min-height:580px}.ct-hero-copy{padding:44px 28px}.ct-hero h1{font-size:54px}.fitting-section,.service-section,.contact-layout{gap:36px}.fitting-section,.service-section,.material-section,.contact-layout,.service-detail,.inner-hero,.ct-footer{margin-inline:28px}.service-list article{grid-template-columns:1fr;gap:12px}.material-grid{gap:14px}.material-grid img{height:210px}.fitting-panel{padding:24px}}@media(max-width:600px){body{padding-bottom:84px}.sample-band{padding:8px 20px;font-size:12px}.ct-header{padding:14px 20px;min-height:94px;gap:12px}.ct-brand{font-size:16px;gap:9px}.ct-brand .ct-mark{width:36px;height:36px}.ct-brand small{font-size:12px}.ct-header nav{gap:16px}.ct-header nav a{font-size:13px}.ct-hero{display:flex;flex-direction:column}.ct-hero-copy{padding:36px 24px 30px}.ct-hero h1{font-size:51px;line-height:1.04}.eyebrow{font-size:12px;margin-bottom:18px}.ct-hero-copy>p:not(.eyebrow){font-size:16px;margin-top:20px}.ct-hero-copy .ct-button{margin-top:24px}.hero-photo{height:300px;margin:0 20px 30px}.hero-photo img{object-position:50% 42%}.hero-photo figcaption{font-size:13px}.fitting-section,.service-section,.contact-layout,.service-detail{grid-template-columns:1fr;gap:30px;padding-block:54px}.fitting-section,.service-section,.material-section,.contact-layout,.service-detail,.inner-hero,.ct-footer{margin-inline:24px}.fitting-intro>img{display:none}.fitting-panel{padding:24px}#preparation{min-height:170px}.service-list article{grid-template-columns:1fr;gap:12px;padding:22px 0}.material-section{padding-block:20px 54px}.material-grid{grid-template-columns:1fr;gap:26px}.material-grid img{height:250px}.ct-close{padding:44px 24px}.ct-close h2{font-size:31px}.ct-footer{grid-template-columns:1fr;padding-top:42px;gap:24px}.ct-footer p,.ct-footer a{font-size:14px}.ct-footer nav p{margin:0}.sticky-call{position:fixed;z-index:15;bottom:12px;left:20px;right:20px;min-height:52px;display:flex;justify-content:center;gap:12px;background:var(--sage);color:var(--cedar);font-weight:700;border:1px solid #c0d7c5;border-radius:7px;text-decoration:none;box-shadow:0 5px 24px #0008}.sticky-call svg{width:19px;height:19px;stroke-width:1.65}.sticky-call:hover{color:var(--cedar);background:var(--cream)}.inner-hero{padding-block:32px}.inner-hero h1{font-size:48px}.contact-layout{padding-top:12px}.contact-layout form{padding:22px}.contact-layout>div p{font-size:16px}.service-detail{padding-top:20px}.credits a{min-height:44px}.ct-footer .sample-footer a{display:inline}.receipt{min-height:440px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Full-size targets also apply to the credits and small footer links. */
.after-site a{min-width:44px}
.after-site .credits a,.after-site .sample-footer a{display:inline-flex;min-height:44px;align-items:center}
@media(max-width:600px){.after-site .sample-band,.after-site .ct-brand small,.after-site .eyebrow{font-size:13px}}
