@font-face{font-family:Folio;src:local("Arial");font-display:swap}
:root{--green:#07845c;--deep:#074d3a;--ink:#172c26;--muted:#627169;--line:#dfe6e1;--paper:#fff;--surface:#f5f7f5;--pale:#ecf6f0;--radius:16px;--font:Folio,Arial,sans-serif;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;font-family:var(--font);font-size:16px;line-height:1.45;color:var(--ink);background:var(--paper)}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,summary{touch-action:manipulation}button{cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{border:0;background:none;padding:0}a{color:inherit;text-decoration:none}button:disabled{cursor:not-allowed}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #2695dc;outline-offset:5px}input:focus,select:focus{outline:2px solid var(--green);outline-offset:2px}h1,h2,h3,p{margin:0}h2{font-size:28px;line-height:1.2;letter-spacing:-.7px}h3{font-size:20px;line-height:1.3;letter-spacing:-.35px}.container{max-width:1240px;margin:0 auto;padding:0 32px}.trial-bar{background:var(--deep);color:#fff;font-size:13px;line-height:1.4}.trial-bar .container{display:flex;justify-content:space-between;gap:12px;padding-top:8px;padding-bottom:8px}.trial-bar button{font-size:13px;color:#d1f4de}.trial-bar button:hover{text-decoration:underline}.header-top{display:flex;align-items:center;gap:34px;min-height:102px}.site-header{border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;font-size:28px;letter-spacing:-1.2px;font-weight:800;line-height:1}.brand-mark{display:flex;align-items:center;justify-content:center;width:42px;height:48px;background:var(--green);border-radius:10px;color:#fff;font-size:41px;font-weight:700;line-height:1}.brand-light{font-weight:400;color:var(--green)}.brand small{display:block;font-size:12px;letter-spacing:.4px;font-weight:400;margin-top:8px;color:var(--muted)}.desktop-nav{display:flex;align-items:center;gap:25px;margin-left:auto}.desktop-nav>*{font-size:15px;white-space:nowrap}.desktop-nav [aria-current]{color:var(--green);border-bottom:2px solid var(--green);padding:10px 0}.desktop-nav>*:hover{color:var(--green)}.phone{font-size:17px;font-weight:700;margin-left:12px;white-space:nowrap}.phone small{display:block;font-size:12px;font-weight:400;color:var(--muted);margin-top:4px}.icon-button{font-size:30px;line-height:1;display:flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;border-radius:50%}.icon-button:hover{background:var(--surface)}.icon-button svg{width:24px;fill:none;stroke:currentColor;stroke-width:1.7}.menu-toggle{display:none}.intro{display:grid;grid-template-columns:1fr 1fr;min-height:300px;align-items:center;gap:30px;padding:36px 0 40px}.intro-copy{padding:4px 0 8px}.eyebrow{color:var(--green);font-size:12px;font-weight:700;letter-spacing:1.1px;text-transform:uppercase;margin-bottom:13px}h1{font-size:54px;line-height:1.02;letter-spacing:-2.4px;font-weight:700}h1 span{color:var(--green)}.intro p{color:var(--muted);font-size:16px;line-height:1.5;margin-top:18px}.text-link{font-size:15px;color:var(--green);display:inline-flex;align-items:center;gap:15px;font-weight:600}.text-link:hover{text-decoration:underline}.intro .text-link{margin-top:18px}.intro-image{height:278px;background:#f4f5f0;position:relative;overflow:hidden;border-radius:var(--radius)}.intro-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.image-caption{position:absolute;left:22px;bottom:19px;background:rgba(255,255,255,.94);padding:6px 11px;border-radius:5px;color:var(--deep);font-size:12px;font-weight:700}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:24px}.section-heading .eyebrow{margin-bottom:10px}.section-note{font-size:13px;color:var(--muted);padding-bottom:3px}.calculator-section{padding-bottom:54px;border-bottom:1px solid var(--line)}.shape-tabs{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:6px;margin:0 0 28px}.shape-tab{display:flex;flex-direction:column;align-items:center;gap:10px;min-height:109px;border:1px solid transparent;border-radius:12px;padding:15px 5px 11px;font-size:13px;line-height:1.25;background:var(--surface);transition:border-color .15s,background .15s}.shape-tab:hover{background:var(--pale)}.shape-tab[aria-selected=true]{background:var(--pale);border-color:var(--green);color:var(--deep)}.shape-tab svg{width:33px;height:33px;stroke:var(--green);fill:none;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}.shape-tab span{max-width:105px}.calc-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(295px,1fr);gap:40px;align-items:start}.calc-form{padding:4px 0 0;min-width:0}.form-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;gap:12px}.quiet-button{font-size:14px;color:var(--muted);text-decoration:underline;text-underline-offset:3px}.quiet-button:hover{color:var(--green)}fieldset{border:0;padding:0;margin:0;min-width:0}legend,.field-label,.field>label,.label-row>label{font-size:14px;font-weight:600;display:block;margin-bottom:9px}.print-types{margin-bottom:26px}.segmented{display:flex;background:var(--surface);padding:4px;border-radius:10px;width:fit-content;gap:4px;max-width:100%}.segmented label{position:relative;cursor:pointer}.segmented input{position:absolute;opacity:0;width:1px;height:1px}.segmented span{display:block;padding:10px 16px;border-radius:7px;font-size:14px;color:var(--muted);white-space:nowrap}.segmented input:checked+span{background:white;color:var(--deep);box-shadow:0 1px 6px #183c2814;font-weight:600}.segmented input:focus-visible+span{outline:2px solid #2695dc}.input-pair{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:22px}.dimensions-quantity{grid-template-columns:1.2fr 1fr}input[type=number],select{border:1px solid #cfdad2;border-radius:9px;background:var(--paper);font-size:16px;min-height:48px;width:100%;min-width:0}input[type=number]{padding:10px 12px;appearance:textfield;-moz-appearance:textfield}input::-webkit-inner-spin-button,input::-webkit-outer-spin-button{appearance:none;margin:0}select{padding:10px 34px 10px 12px;cursor:pointer}input:disabled{background:#e9eeeb;color:#73827a;border-color:#e2e8e3;opacity:1}#pack-format:not([hidden]) + .dimension-inputs:not([hidden]){margin-top:10px}.dimension-inputs{display:flex;align-items:center;gap:8px}.dimension-inputs input{flex:1;width:0}.dimension-inputs .unit{font-size:14px;color:var(--muted)}.swap-button{width:28px;flex-shrink:0;font-size:24px;color:var(--green);align-self:stretch;border-radius:8px}.swap-button:hover{background:var(--pale)}.size-field small,.field small{display:block;font-size:12px;color:var(--muted);line-height:1.45;margin-top:7px}.quantity-input{position:relative}.quantity-input input{padding-right:44px}.quantity-input>span{position:absolute;right:13px;top:13px;font-size:14px;color:var(--muted)}.kinds-line{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:8px;font-size:13px}.kinds-line>span{color:var(--muted)}.kinds-line button{color:var(--green);font-weight:600}.field{margin-bottom:22px}.input-pair .field{margin:0}.label-row{display:flex;align-items:center;justify-content:space-between}.help-button{border:1px solid #afbeb3;border-radius:50%;width:19px;height:19px;color:var(--muted);font-size:12px;margin-bottom:8px}.help-button:hover{color:var(--green);border-color:var(--green)}.extra-options{margin:0 0 20px;padding:16px;background:var(--surface);border-radius:10px}.extra-options legend{padding-top:12px;margin:0}.extra-options label{display:flex;gap:9px;align-items:center;margin:8px 0;font-size:15px}.extra-options input{accent-color:var(--green);width:18px;height:18px}.extra-options small{display:block;color:var(--muted);font-size:12px;margin-top:10px}.material-note{display:flex;gap:12px;background:var(--surface);padding:15px 17px;border-radius:10px;color:var(--muted);font-size:13px}.material-note>span{font-size:23px;color:var(--green)}.field-error{font-size:13px;color:#ad3230;margin-top:7px}.field-error:empty{display:none}.has-error{border-color:#ad3230!important}.quote-card{background:var(--pale);border-radius:var(--radius);padding:27px 26px 17px;border:1px solid #dcece0;position:sticky;top:22px}.quote-eyebrow{text-transform:uppercase;font-size:12px;font-weight:700;letter-spacing:1px;color:var(--green);margin-bottom:13px}.quote-product{display:flex;justify-content:space-between;gap:10px;font-size:14px}.quote-product #quote-title{max-width:70%;font-weight:600}.quote-product #quote-quantity{color:var(--muted);white-space:nowrap}.price-block{margin:25px 0 21px}.total-price{font-size:44px;font-weight:700;letter-spacing:-1.4px;line-height:1.1}.total-price.small-price{font-size:25px;letter-spacing:-.5px}.price-block p{color:var(--muted);font-size:14px;margin-top:8px}.quote-divider{height:1px;background:#ccdcd1}.quote-summary{display:grid;grid-template-columns:auto 1fr;gap:10px 20px;font-size:13px;line-height:1.4;margin:19px 0 22px}.quote-summary dt{color:var(--muted)}.quote-summary dd{margin:0;text-align:right;overflow-wrap:anywhere}.primary-button{display:flex;align-items:center;justify-content:center;gap:15px;background:var(--green);color:#fff;min-height:49px;border-radius:9px;padding:13px 17px;width:100%;font-size:15px;font-weight:600}.primary-button:hover{background:var(--deep)}.primary-button:disabled{background:#d3e3d9;color:#596e62}.quote-disclaimer{font-size:12px;line-height:1.4;text-align:center;color:var(--muted);margin:12px 0 18px}.quote-warning{padding:12px;background:#fff7e8;border:1px solid #ead6af;border-radius:8px;font-size:13px;margin:-4px 0 15px;color:#735622}.breakdown{border-top:1px solid #ccdcd1;padding-top:15px}.breakdown summary{display:flex;justify-content:space-between;font-size:14px;font-weight:600;cursor:pointer;list-style:none;padding-bottom:5px}.breakdown summary::-webkit-details-marker{display:none}.breakdown[open] summary>span{transform:rotate(45deg)}#breakdown-content{font-size:12px;line-height:1.5;padding:10px 0 2px;color:var(--muted)}#breakdown-content dl{display:grid;grid-template-columns:1fr auto;gap:7px 12px}#breakdown-content dd{margin:0;text-align:right;color:var(--ink)}#breakdown-content p{margin:10px 0}.more-products{padding:43px 0 45px}.more-products h2{font-size:25px}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.product-grid>button,.product-grid>a{position:relative;background:var(--surface);padding:22px;text-align:left;min-height:168px;border-radius:12px;border:1px solid transparent}.product-grid>button:hover,.product-grid>a:hover{background:var(--pale);border-color:#b8d7c2}.product-number{color:var(--green);font-size:12px;font-weight:700;letter-spacing:1px}.product-grid h3{margin:12px 0 8px}.product-grid p{font-size:14px;color:var(--muted)}.product-arrow{position:absolute;right:19px;top:18px;font-size:24px;color:var(--green)}.contact-strip{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:25px;padding:33px 0 38px}.contact-strip h2{font-size:30px;line-height:1.2}.contact-strip h2>span{color:var(--green)}.contact-strip>div{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.contact-strip a:first-child{font-size:22px;font-weight:600}.contact-strip a:nth-child(2){color:var(--green)}.contact-strip button{color:var(--muted);font-size:14px}.site-footer{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;color:var(--muted);font-size:12px;padding-top:20px;padding-bottom:25px;border-top:1px solid var(--line)}.site-footer a{color:var(--green)}dialog{border:0;border-radius:17px;max-width:590px;width:calc(100% - 32px);padding:28px;box-shadow:0 15px 90px #001c3245;max-height:calc(100dvh - 42px);overflow:auto;color:var(--ink)}dialog::backdrop{background:rgba(6,31,23,.46);backdrop-filter:blur(3px)}dialog>p{font-size:14px;color:var(--muted);margin:12px 0 20px}.dialog-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px}.dialog-top h2{font-size:25px;letter-spacing:-.5px}.dialog-top .eyebrow{font-size:11px;margin-bottom:8px}.dialog-top .icon-button{margin:-6px -9px 0 0;flex-shrink:0}.kind-row{display:flex;align-items:center;gap:13px;margin:10px 0}.kind-row label{font-size:14px;width:65px;flex-shrink:0}.kind-row input{flex:1;min-width:0}.kind-row>span{font-size:14px;color:var(--muted)}.remove-kind{width:32px;height:38px;color:#a14840;font-size:23px}.kind-row.only .remove-kind{visibility:hidden}.kinds-total{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;margin:22px 0 12px;padding-top:18px}.dialog-bottom{display:flex;align-items:center;gap:20px;margin-top:22px}.dialog-bottom>span{font-size:12px;line-height:1.4;color:var(--muted)}.dialog-bottom .primary-button{width:145px;flex-shrink:0}#add-kind{margin-top:12px}#info-content{line-height:1.6;font-size:15px}#info-content h3{font-size:18px;margin:18px 0 7px}#info-content p{margin:10px 0}#info-content ul{padding-left:20px}#info-content li{margin:9px 0}#info-content a{color:var(--green);text-decoration:underline;text-underline-offset:3px}.catalog-list{display:grid;grid-template-columns:1fr 1fr;gap:3px 15px;max-height:55vh;overflow:auto}.catalog-list button{text-align:left;padding:10px 7px;border-radius:6px;font-size:14px}.catalog-list button:hover{background:var(--pale);color:var(--green)}.copy-fallback{width:100%;height:260px;padding:12px;border:1px solid var(--line);border-radius:8px;font-size:14px;resize:vertical}.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);padding:13px 20px;background:var(--deep);color:#fff;border-radius:10px;box-shadow:0 5px 25px #102d3326;z-index:10;font-size:14px;max-width:calc(100% - 32px);display:none}.toast.visible{display:block}.skip-link{position:fixed;top:-100px;left:20px;padding:12px;background:white;z-index:20}.skip-link:focus{top:10px}.noscript{position:fixed;bottom:0;left:0;right:0;padding:20px;background:#fff0cf;text-align:center}[hidden]{display:none!important}
@media(min-width:1400px){.intro{min-height:315px}}@media(max-width:1080px){.desktop-nav{gap:15px}.header-top{gap:18px}.phone{font-size:15px}.brand{font-size:24px}.shape-tabs{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.shape-tab{min-height:74px;flex-direction:row;justify-content:center;padding:12px 7px;gap:8px}.shape-tab svg{width:27px;height:27px;flex-shrink:0}.shape-tab span{text-align:left}.calc-layout{gap:26px;grid-template-columns:minmax(0,1.45fr) minmax(295px,1fr)}.intro{gap:25px}h1{font-size:48px}.input-pair{gap:15px}.dimensions-quantity{grid-template-columns:1fr}.quote-card{padding:24px 21px 17px}}
@media(max-width:820px){.container{padding-left:22px;padding-right:22px}.header-top{min-height:84px;gap:12px}.desktop-nav{display:none}.phone{margin-left:auto;margin-right:12px}.menu-toggle{display:flex}.intro{padding:30px 0;gap:22px}.intro-image{height:246px}.eyebrow{font-size:11px;letter-spacing:.8px}h1{font-size:42px}.intro p{font-size:15px}.section-note{display:none}.calc-layout{grid-template-columns:minmax(0,1.15fr) minmax(270px,1fr);gap:22px}.input-pair{grid-template-columns:1fr}.quote-card{padding:22px 18px 15px}.total-price{font-size:37px}.product-grid{grid-template-columns:repeat(2,1fr)}.shape-tab{font-size:12px;flex-direction:column;gap:7px}.shape-tab span{text-align:center}.shape-tab svg{width:28px;height:28px}}
@media(max-width:640px){.container{padding-left:18px;padding-right:18px}.trial-bar .container{padding-top:7px;padding-bottom:7px;align-items:center}.trial-bar span{font-size:11px}.trial-bar button{font-size:11px;max-width:110px;text-align:right}.header-top{min-height:77px}.brand{font-size:25px;gap:8px}.brand-mark{width:36px;height:42px;font-size:35px}.brand small{font-size:10px;letter-spacing:.2px;margin-top:6px}.phone{display:none}.menu-toggle{margin-left:auto}.intro{display:grid;grid-template-columns:1fr;gap:20px;padding:25px 0 28px;min-height:0}.intro-copy{padding:0}.intro-copy .eyebrow{font-size:10px;letter-spacing:.9px;margin-bottom:11px}h1{font-size:43px;letter-spacing:-1.7px}h1 br{display:none}h1 span{display:block}.intro p{font-size:15px;margin-top:13px}.intro .text-link{display:none}.intro-image{height:155px;border-radius:12px}.intro-image img{object-position:center 54%}.image-caption{left:13px;bottom:12px;font-size:10px;padding:5px 8px}.section-heading{margin-bottom:17px;align-items:center}.section-heading .eyebrow{font-size:10px;margin-bottom:7px}h2{font-size:25px}.shape-tabs{display:flex;gap:7px;overflow-x:auto;padding:2px 1px 12px;margin-bottom:18px;scroll-snap-type:x proximity;scrollbar-width:thin}.shape-tab{flex:0 0 89px;min-height:99px;scroll-snap-align:start;font-size:12px}.shape-tab svg{width:31px;height:31px}.calc-layout{display:flex;flex-direction:column;gap:25px}.calc-form,.quote-card{width:100%;min-width:0}.form-title{margin-bottom:20px}.form-title h3{font-size:21px}.print-types{margin-bottom:23px}.segmented{width:100%}.segmented label{flex:1;text-align:center}.segmented span{padding:11px 10px;font-size:14px}.input-pair{grid-template-columns:1fr 1fr;gap:15px}.dimensions-quantity{grid-template-columns:1.1fr 1fr}.dimensions-quantity.single-diameter{grid-template-columns:1fr 1fr}.dimension-inputs{gap:5px}.dimension-inputs input{padding-left:8px;padding-right:7px}.swap-button{width:22px;font-size:21px}.dimension-inputs .unit{font-size:12px}.kinds-line{font-size:11px;align-items:flex-start;gap:5px}.kinds-line button{text-align:right}.size-field small{font-size:11px}.field small{font-size:11px}.quote-card{position:static;padding:24px 23px 17px}.total-price{font-size:43px}.quote-summary{font-size:14px}.quote-product{font-size:14px}.calculator-section{padding-bottom:35px}.more-products{padding:30px 0}.more-products h2{font-size:22px}.more-products .text-link{font-size:13px;gap:6px}.product-grid{gap:10px}.product-grid>button,.product-grid>a{padding:17px;min-height:160px}.product-grid h3{font-size:19px}.product-grid p{font-size:13px}.product-arrow{right:14px;top:14px}.contact-strip{flex-direction:column;padding:28px 0;gap:22px}.contact-strip h2{font-size:28px}.contact-strip>div{align-items:flex-start}.site-footer{gap:9px;font-size:11px;padding-top:17px;padding-bottom:22px}.site-footer>span:nth-child(2){width:100%;order:3}dialog{padding:22px 18px;border-radius:14px;max-height:calc(100dvh - 24px)}.dialog-top h2{font-size:23px}.dialog-bottom{gap:12px}.dialog-bottom .primary-button{width:115px}.kind-row{gap:9px}.kind-row label{width:53px}.kind-row>span{font-size:13px}.remove-kind{width:29px}.catalog-list{gap:3px 8px}.catalog-list button{font-size:13px}.toast{bottom:16px}}
@media(max-width:370px){.dimensions-quantity{grid-template-columns:1fr}.input-pair:not(.dimensions-quantity){grid-template-columns:1fr}h1{font-size:39px}.section-heading{flex-wrap:wrap}.kinds-line{font-size:13px}.catalog-list{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Homepage and navigation. Product illustrations share one 4 × 4 image atlas. */
.mobile-nav{display:none}
.home-page{padding:40px 0 0}
.home-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:32px}
.home-heading .eyebrow{font-size:12px;margin-bottom:12px}
.home-heading h1{font-size:clamp(36px,4.1vw,52px);line-height:1.1;letter-spacing:-1.9px}
.home-heading p{color:var(--muted);font-size:16px;line-height:1.5;margin-top:15px}
.catalog-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 17px;border:1px solid var(--line);border-radius:10px;font-size:15px;font-weight:600;white-space:nowrap;background:#fff}
.catalog-button:hover{border-color:var(--green);color:var(--green);background:var(--pale)}
.catalog-button>span{color:var(--muted);font-size:14px;font-weight:400}
.catalog-button svg{width:19px;height:19px;fill:none;stroke:var(--green);stroke-width:1.6}
.services-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.service-tile{display:flex;flex-direction:column;position:relative;isolation:isolate;aspect-ratio:1;min-width:0;align-items:stretch;text-align:center;background:var(--paper);border:1px solid #e9eeeb;border-radius:16px;overflow:hidden;transition:border-color .18s,box-shadow .18s,transform .18s}
.service-tile:hover{border-color:var(--green);box-shadow:0 6px 20px #123d2510;transform:translateY(-2px)}
.service-tile:focus-visible{outline-offset:3px}
.service-featured{border-color:#92c9ae}
.service-visual{display:flex;align-items:center;justify-content:center;flex:1 1 0;min-height:0;padding:10px 10px 0}
.service-visual img{display:block;width:100%;height:100%;min-height:0;object-fit:contain}
.service-art{display:block;height:100%;max-width:100%;aspect-ratio:1;background-image:url('/index.php?folio_asset=assets/service-product-atlas-v28.d6a8bb3e2641.webp');background-size:400% 400%;background-position:var(--x) var(--y);background-repeat:no-repeat}
.service-copy{display:block;flex:0 0 auto;padding:10px 15px 15px;width:100%}
.service-title{display:block;font-size:20px;line-height:1.2;letter-spacing:-.4px;font-weight:600;overflow-wrap:anywhere}
.service-badge{position:absolute;top:13px;left:13px;border-radius:6px;background:var(--green);color:white;font-size:12px;line-height:1.2;font-weight:600;padding:6px 8px}
.catalog-more{display:flex;justify-content:center;align-items:center;gap:24px;padding:30px 0 38px}
.catalog-more p{font-size:15px;color:var(--muted)}
.breadcrumbs{display:flex;align-items:center;gap:11px;flex-wrap:wrap;padding-top:22px;font-size:14px;color:var(--muted)}
.breadcrumbs a{color:var(--green)}
.breadcrumbs a:hover{text-decoration:underline}
.breadcrumbs+ .intro{padding-top:25px}
#main-content:focus,#home-title:focus,#page-title:focus,#calculator-title:focus{outline:none}
@media(max-width:1080px){.services-grid{gap:14px}.service-title{font-size:18px}.service-copy{padding:14px 15px 16px}.home-heading{align-items:flex-start}.home-heading>.catalog-button{margin-top:24px}}
@media(max-width:900px){.services-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.home-heading{display:block}.home-heading>.catalog-button{margin-top:19px}.home-heading h1{font-size:44px}}
@media(max-width:820px){.mobile-nav{display:flex;gap:24px;padding-top:0;padding-bottom:13px;font-size:14px}.mobile-nav a{padding:5px 0}.mobile-nav a[aria-current]{color:var(--green);box-shadow:0 2px var(--green)}.home-page{padding-top:28px}.home-heading{margin-bottom:25px}}
@media(max-width:640px){.services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.service-tile{border-radius:12px}.service-copy{padding:18px 12px 12px}.service-title{font-size:16px;letter-spacing:-.25px;line-height:1.22}.service-badge{font-size:12px;top:9px;left:9px;padding:5px 7px}.home-heading .eyebrow{display:none}.home-heading h1{font-size:35px;letter-spacing:-1.1px;line-height:1.1}.home-heading h1 span{display:inline}.home-heading p{font-size:16px;margin-top:12px;max-width:340px}.home-heading>.catalog-button{margin-top:18px;padding:10px 14px;min-height:44px;font-size:14px}.catalog-more{flex-direction:column;gap:14px;text-align:center;padding:25px 12px 29px}.catalog-more p{font-size:14px;max-width:290px}.catalog-more .catalog-button{width:100%;max-width:260px}.breadcrumbs{padding-top:19px}.breadcrumbs+.intro{padding-top:20px}.mobile-nav{gap:22px;padding-bottom:12px}}
@media(max-width:370px){.home-heading h1{font-size:31px}.service-title{font-size:16px}.service-copy{padding:17px 10px 10px}.service-badge{top:7px;left:7px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.service-tile:hover{transform:none}}

/* Standalone delivery and contacts pages. */
.trial-bar a{font-size:13px;color:#d1f4de}
.trial-bar a:hover{text-decoration:underline}
.contact-location-link{color:var(--muted);font-size:14px}
.contact-location-link:hover{color:var(--green)}
.contact-map{margin-top:24px}
.contact-map-frame{position:relative;overflow:hidden;margin-top:16px;border-radius:12px;background:var(--surface)}
.contact-map-frame iframe{position:relative;display:block;width:100%;height:580px;border:0}
.contact-map-frame iframe:not([src]){display:none}
@media(max-width:640px){.contact-map-frame iframe{height:420px}}
.content-page{padding-bottom:46px}
.content-hero{padding:54px 0 35px;border-bottom:1px solid var(--line)}
.content-hero h1{font-size:clamp(40px,5vw,62px);max-width:780px}
.content-hero p{max-width:650px;margin-top:18px;color:var(--muted);font-size:17px;line-height:1.6}
.content-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:34px 0 12px}
.content-card{padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
.content-card h2{font-size:24px;margin-bottom:14px}
.content-card p{color:var(--muted);line-height:1.65;margin-top:8px}
.content-card a{color:var(--green);text-decoration:underline;text-underline-offset:3px}
.content-card .large-link{display:inline-block;font-size:22px;font-weight:700;color:var(--ink);text-decoration:none;margin:3px 0}
.content-card .large-link:hover{color:var(--green)}
.content-note{margin-top:18px;padding:18px 20px;border-left:3px solid var(--green);background:var(--pale);color:var(--deep);line-height:1.6}
.content-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.content-actions .primary-button{width:auto;min-width:190px}
.content-actions .catalog-button{min-width:190px}
@media(max-width:820px){.mobile-nav{overflow-x:auto;white-space:nowrap;scrollbar-width:thin}.content-hero{padding-top:38px}.content-grid{grid-template-columns:1fr}}
@media(max-width:640px){.content-page{padding-bottom:28px}.content-hero{padding:31px 0 27px}.content-hero h1{font-size:39px}.content-hero p{font-size:15px}.content-grid{padding-top:24px}.content-card{padding:22px}.content-card h2{font-size:22px}.content-actions{flex-direction:column}.content-actions .primary-button,.content-actions .catalog-button{width:100%}}

.additional-services{padding-bottom:38px}
.service-badge-muted{color:var(--deep);background:#dce9e1}
#show-all-services [data-toggle-label]{color:inherit;font-size:inherit;font-weight:inherit}
@media(min-width:1200px) and (max-width:1399px){.service-title{font-size:17px}.service-copy{padding:13px}}

/* Shared messenger links remain usable when the header wraps. */
.messenger-links{display:flex;align-items:center;gap:8px;flex-shrink:0}
.messenger-link{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:transparent;transition:box-shadow .15s}
.messenger-link:hover{box-shadow:0 0 0 4px var(--pale)}
.messenger-link img{width:40px;height:40px;display:block}
.messenger-link.messenger-whatsapp{background:#25d366}
.messenger-link.messenger-whatsapp img{width:32px;height:32px}
.contact-messengers{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}
.content-card .contact-messenger{display:inline-flex;align-items:center;gap:9px;padding:7px 12px 7px 7px;border:1px solid var(--line);border-radius:12px;background:#fff;text-decoration:none;font-size:14px;font-weight:600;color:var(--ink)}
.content-card .contact-messenger:hover{border-color:var(--green);background:var(--pale)}
.contact-messenger .messenger-link{flex-shrink:0}
.site-header .header-top{flex-wrap:wrap;column-gap:16px;row-gap:14px;padding-top:18px;padding-bottom:18px}
.site-header .site-search{flex-basis:190px}
.site-header .phone{margin-left:0}
.site-header .desktop-nav{gap:19px}
.site-footer{align-items:center}
.catalog-more{justify-content:center}
@media(min-width:961px) and (max-width:1150px){.site-header .site-search{order:10;max-width:none;flex:1 0 100%}}
@media(max-width:960px){.site-header .header-top{column-gap:12px}.site-header .site-search{order:10;max-width:none;flex:1 0 100%}.site-header .phone{margin-left:auto}}
@media(max-width:640px){.site-header .messenger-links{order:4;flex:1 0 100%;justify-content:center}.site-header .header-top{padding-bottom:14px}.site-footer .messenger-links{width:100%;justify-content:center;order:4;margin-top:8px}}

/* Individual office contacts use the existing messenger icons and buttons. */
.contact-offices{margin-top:34px}
.office-contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0}
.office-contact{min-width:0;padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}
.office-contact h3{font-size:18px;line-height:1.45;margin:0 0 12px}
.office-contact .large-link{font-size:20px}
.office-email{margin:10px 0;overflow-wrap:anywhere}
.office-email a{color:var(--green);text-decoration:underline;text-underline-offset:3px}
.office-contact .contact-messengers{display:grid;grid-template-columns:1fr;gap:8px;margin-bottom:0}
@media(max-width:1100px){.office-contact-grid{grid-template-columns:1fr}}
@media(max-width:640px){.contact-offices{margin-top:24px}.office-contact{padding:16px}}

/* Cutting diagrams explain finishing; they never represent a production layout. */
.cutting-preview{display:grid;grid-template-columns:108px minmax(0,1fr);gap:16px;align-items:center;margin:12px 0 20px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff}
.cutting-figure{display:block;max-width:100%;height:auto}
.cutting-preview .cutting-figure{width:108px}
.cutting-preview-text{min-width:0}
.cutting-preview-text strong{font-size:14px;line-height:1.4}
.cutting-preview-text p{font-size:13px;line-height:1.5;margin:6px 0}
.cutting-preview-text small,.cutting-schematic-note{font-size:11px;line-height:1.4;color:var(--muted)}
.cutting-help-item{display:grid;grid-template-columns:140px minmax(0,1fr);gap:20px;align-items:center;padding:18px 0}
.cutting-help-item+.cutting-help-item{border-top:1px solid var(--line)}
.cutting-help-item h3{margin:0 0 8px;font-size:18px;line-height:1.4}
.cutting-help-item p{margin:0;font-size:14px;line-height:1.6}
.cutting-schematic-note{margin-top:10px}
@media(max-width:640px){.cutting-preview{grid-template-columns:76px minmax(0,1fr);gap:10px;padding:10px}.cutting-preview .cutting-figure{width:76px}.cutting-help-item{grid-template-columns:84px minmax(0,1fr);gap:12px}.cutting-help-item h3{font-size:16px}.cutting-help-item p{font-size:13px}}

.product-grid>a{display:block;color:inherit;text-decoration:none}

.site-footer .site-footer-disclaimer{display:block;flex:0 0 100%;width:100%;order:10;margin-top:8px;font-size:11px;line-height:1.5;color:var(--muted)}

.cart-link{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex-shrink:0;min-height:42px;padding:8px 11px;border:1px solid var(--line);border-radius:9px;color:var(--deep);font-size:14px;font-weight:600;background:var(--surface);white-space:nowrap}.cart-link:hover{background:var(--pale);border-color:var(--green)}.cart-link svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.cart-link [data-cart-count]{min-width:20px;padding:2px 4px;border-radius:20px;text-align:center;background:var(--green);color:#fff;font-size:11px}.header-top{gap:18px}.desktop-nav{gap:16px}.desktop-nav>*{font-size:14px}.phone{margin-left:0;font-size:16px}.quote-cart-actions{display:grid;gap:10px}.quote-secondary-button{display:block;width:100%;min-height:43px;border:1px solid #b8cabe;border-radius:8px;color:var(--deep);padding:10px 13px;font-size:14px;font-weight:600}.quote-secondary-button:hover{background:#ffffff90}.quote-secondary-button:disabled{opacity:.5}.cart-feedback{font-size:12px;line-height:1.5;margin:12px 0 0;color:var(--deep)}.cart-feedback:empty{display:none}.cart-feedback a{text-decoration:underline;text-underline-offset:3px}.cart-page{padding-bottom:45px}.cart-heading{padding:28px 0 32px}.cart-heading h1{font-size:42px;line-height:1.12;letter-spacing:-1.5px}.cart-heading p{margin-top:14px;color:var(--muted)}.basket-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:30px;align-items:start}.basket-list{list-style:none;margin:0;padding:0;display:grid;gap:18px}.basket-item{padding:23px 25px;border:1px solid var(--line);border-radius:14px}.basket-item-heading{display:flex;align-items:baseline;justify-content:space-between;gap:18px}.basket-item-heading h2{font-size:20px;letter-spacing:-.4px}.basket-item-heading strong{white-space:nowrap;font-size:20px}.basket-details{display:grid;grid-template-columns:minmax(85px,.6fr) 1fr;gap:7px 14px;font-size:13px;margin:17px 0}.basket-details dt{color:var(--muted)}.basket-details dd{margin:0;overflow-wrap:anywhere}.basket-summary{background:var(--pale);border:1px solid #d8e7dd;padding:25px;border-radius:15px;position:sticky;top:20px}.basket-summary h2{font-size:22px}.basket-summary>p{font-size:13px;color:var(--muted);margin:9px 0 18px}.basket-total{font-size:37px;letter-spacing:-1.2px;font-weight:700;margin:18px 0}.basket-summary .primary-button{width:100%}.basket-summary .quote-secondary-button{margin-top:10px}.basket-clear-row{display:flex;justify-content:space-between;gap:20px;margin:0 0 18px;color:var(--muted);font-size:14px}.basket-note{font-size:13px;color:var(--muted);line-height:1.55;margin-top:25px}.basket-empty{border:1px dashed #b9cdbf;background:var(--surface);padding:42px 28px;border-radius:15px;text-align:center}.basket-empty h2{font-size:25px}.basket-empty p{margin:12px 0 25px;color:var(--muted)}.basket-service-links{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.basket-service-links a{border:1px solid var(--line);background:#fff;border-radius:9px;padding:11px 16px;color:var(--deep);font-weight:600;font-size:14px}.basket-service-links a:hover{border-color:var(--green);background:var(--pale)}#cart-copy-fallback{margin-top:24px;font-size:13px;color:var(--muted)}#cart-copy-fallback summary{cursor:pointer}#cart-copy-text{width:100%;height:280px;margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:9px;font-size:13px;resize:vertical}#cart-status,#cart-storage-error{font-size:14px;margin-top:15px;line-height:1.5}#cart-storage-error{color:#9d3129}#cart-status:empty,#cart-storage-error:empty{display:none}#cart-recover{margin-top:12px}#clear-cart-dialog h2{font-size:24px}#clear-cart-dialog p{margin:15px 0 25px;color:var(--muted)}.cart-dialog-actions{display:flex;gap:12px;justify-content:flex-end}.cart-dialog-actions button{padding:10px 20px;width:auto}.cart-page [hidden]{display:none!important}
@media(max-width:1180px){.site-header .phone{display:none}.header-top{gap:20px}.desktop-nav{margin-left:auto}.cart-link{margin-left:auto}}
@media(max-width:960px){.desktop-nav{display:none}.mobile-nav{display:flex;gap:22px;overflow-x:auto;white-space:nowrap;padding-top:0;padding-bottom:13px;scrollbar-width:thin;font-size:14px}.mobile-nav a{padding:5px 0}.mobile-nav a[aria-current]{color:var(--green);box-shadow:0 2px var(--green)}}
@media(max-width:640px){.site-header .menu-toggle{display:none}.header-top{gap:12px}.cart-link{padding:8px 10px;gap:5px}.cart-heading{padding:23px 0}.cart-heading h1{font-size:33px;letter-spacing:-1px}.cart-heading p{font-size:14px}.basket-layout{display:flex;flex-direction:column;gap:22px}.basket-layout>*{width:100%}.basket-item{padding:19px 17px}.basket-item-heading{gap:12px}.basket-item-heading h2{font-size:18px}.basket-item-heading strong{font-size:18px}.basket-summary{position:static;padding:22px}.basket-details{grid-template-columns:.65fr 1fr;gap:6px 12px;font-size:12px}.basket-clear-row{font-size:13px}.basket-empty{padding:30px 19px}.basket-empty h2{font-size:23px}.basket-total{font-size:36px}.basket-note{font-size:12px}.cart-dialog-actions{flex-direction:column}.cart-dialog-actions button{width:100%}}
@media(max-width:400px){.cart-link .cart-label{display:none}.cart-link{min-width:68px}.basket-item-heading{flex-wrap:wrap}}

.basket-summary .basket-copy-button{display:block;margin:12px auto 0;min-height:34px;padding:6px 10px;font-size:13px}.folio-checkout{scroll-margin-top:130px}

.service-sidebar{display:none}
.service-menu-title{margin:0 0 15px;padding:0 12px;font-size:18px;font-weight:700;letter-spacing:-.3px}
.service-menu-list{list-style:none;margin:0;padding:0;display:grid;gap:3px}
.service-menu-link{display:flex;align-items:center;gap:11px;min-height:42px;padding:10px 12px;border:1px solid transparent;border-radius:8px;color:var(--muted);font-size:14px;line-height:1.35;text-decoration:none}
.service-menu-link:hover{color:var(--deep);background:var(--pale)}
.service-menu-link[aria-current=page]{color:var(--deep);background:#e0f0e7;border-color:#c6e1d1;font-weight:650}
.service-menu-dot{width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:#bdccc3}
.service-menu-link[aria-current=page] .service-menu-dot{background:var(--green)}
.service-menu-home{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:14px 0 0;padding:16px 12px 3px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}
.service-menu-home:hover,.service-menu-home[aria-current=page]{color:var(--green)}
.service-menu-link:focus-visible,.service-menu-home:focus-visible{outline:3px solid var(--green);outline-offset:2px}
@media(min-width:1200px){
  .has-service-menu .site-header>.container,.has-service-menu .trial-bar>.container,.has-service-menu>.site-footer{max-width:1490px;padding-left:28px;padding-right:28px}
  .service-shell{display:grid;grid-template-columns:214px minmax(0,1fr);gap:32px;max-width:1490px;margin:0 auto;padding:0 28px}
  .service-shell>main.container{width:100%;min-width:0;max-width:none;padding-left:0;padding-right:0}
  .service-sidebar{display:block;position:sticky;top:18px;align-self:start;max-height:calc(100dvh - 36px);margin:24px 0;padding:18px 10px;border:1px solid var(--line);border-radius:14px;background:#f7faf8;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
}
@media(min-width:1200px) and (max-width:1399px){
  .has-service-menu .site-header>.container,.has-service-menu .trial-bar>.container,.has-service-menu>.site-footer{padding-left:24px;padding-right:24px}
  .service-shell{grid-template-columns:200px minmax(0,1fr);gap:26px;padding:0 24px}
  .service-menu-link{font-size:13px;gap:9px;padding-left:10px;padding-right:10px}
  .service-shell .shape-tabs{grid-template-columns:repeat(5,minmax(0,1fr))}
  .service-shell .services-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:1199px){
  .has-service-menu .site-header .menu-toggle{display:none}
}

@media(min-width:1400px){.service-shell .services-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.service-shell .service-title{font-size:18px}.service-shell .service-copy{padding:15px}}

/* Keep navigation visible and reserve space for anchor targets below it. */
.site-header{position:sticky;top:0;z-index:70;background:var(--paper)}
html{scroll-padding-top:calc(var(--site-header-height,102px) + 24px)}
.is-home-page .service-sidebar{display:none}
.is-home-page .service-shell{display:block;max-width:1400px;margin:0 auto}
@media(min-width:1200px){.service-sidebar{top:calc(var(--site-header-height,102px) + 18px);max-height:calc(100dvh - var(--site-header-height,102px) - 36px)}}
@media(min-width:1024px){.is-home-page .service-shell .services-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}.is-home-page .service-shell .service-tile{aspect-ratio:1.06}.is-home-page .service-shell .service-title{font-size:clamp(15px,1.2vw,18px)}.is-home-page .service-shell .service-copy{padding:8px 10px 12px}}
@media(max-width:1199px){.has-service-menu.is-home-page{padding-bottom:0}}

.site-search{position:relative;flex:1 1 260px;max-width:360px;min-width:190px;z-index:55}
.search-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.site-search-field{position:relative}
.site-search-field>svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:19px;height:19px;fill:none;stroke:var(--muted);stroke-width:1.7;stroke-linecap:round;pointer-events:none}
.site-search input{width:100%;height:44px;min-width:0;border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:10px 12px 10px 39px;font-size:14px;color:var(--ink)}
.site-search input::placeholder{color:var(--muted);opacity:1}
.site-search input:focus{background:#fff}
.site-search-dropdown{position:absolute;top:calc(100% + 9px);left:0;width:max(100%,340px);max-width:calc(100vw - 32px);background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 35px #102e2526;overflow:hidden}
.site-search-status{padding:13px 16px;color:var(--muted);font-size:12px;line-height:1.5;border-bottom:1px solid var(--line)}
.site-search-dropdown ul{list-style:none;margin:0;padding:6px;max-height:min(360px,55dvh);overflow-y:auto;overscroll-behavior:contain}
.site-search-dropdown a{display:block;padding:11px 12px;border-radius:7px;line-height:1.35}
.site-search-dropdown strong{display:block;font-size:14px;font-weight:600}
.site-search-dropdown a>span{display:block;margin-top:4px;color:var(--muted);font-size:12px}
.site-search-dropdown a:hover,.site-search-dropdown a[aria-selected=true]{background:var(--pale);color:var(--deep)}
@media(min-width:961px){.site-header .desktop-nav{margin-left:auto}.site-header .cart-link{margin-left:0}}
@media(max-width:960px){.site-search{max-width:none}.site-header .cart-link{margin-left:0}}
@media(max-width:640px){.site-header .header-top{flex-wrap:wrap;min-height:0;padding-top:18px;padding-bottom:14px;row-gap:17px}.site-header .cart-link{margin-left:auto}.site-search{order:10;flex:1 0 100%;min-width:0}.site-search-dropdown{width:100%;max-width:none}.site-search input{font-size:16px;height:46px}}

/* These controls leave the desktop header unchanged. */
.mobile-search-toggle,.mobile-search-close,.mobile-messengers{display:none}
@media(max-width:820px){
 .has-mobile-chrome .site-header .header-top{position:relative;flex-wrap:nowrap;gap:8px;min-height:60px;padding-top:8px;padding-bottom:8px}
 .has-mobile-chrome .site-header .brand{gap:7px;font-size:23px;letter-spacing:-1px;white-space:nowrap;margin-right:auto;min-width:0}
 .has-mobile-chrome .site-header .brand-mark{width:31px;height:36px;flex:0 0 31px;font-size:30px;border-radius:8px}
 .has-mobile-chrome .site-header .brand small,.has-mobile-chrome .site-header .phone,.has-mobile-chrome .site-header .messenger-links{display:none}
 .has-mobile-chrome .site-header .cart-link{order:2;margin:0;min-height:44px;gap:5px;padding:7px;border-radius:10px}
 .has-mobile-chrome .site-header .cart-label{display:none}
 .has-mobile-chrome .mobile-search-toggle{order:1;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 44px;padding:0;border:1px solid var(--line);border-radius:10px;color:var(--deep);background:var(--surface);cursor:pointer}
 .mobile-search-toggle svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
 .has-mobile-chrome .site-header .mobile-nav{padding-top:0;padding-bottom:4px;gap:24px;font-size:14px;min-height:34px;align-items:center}
 .has-mobile-chrome .site-header .mobile-nav a{padding-top:5px;padding-bottom:5px}
 .has-mobile-chrome .site-search{display:none;position:absolute;top:calc(100% + 34px);left:16px;right:16px;min-width:0;max-width:none;margin:0;padding:12px 54px 12px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 12px 35px #102e2526;z-index:75}
 .has-mobile-chrome .mobile-search-is-open .site-search{display:block}
 .has-mobile-chrome .site-search input{height:44px;font-size:16px}
 .has-mobile-chrome .site-search-dropdown{position:static;width:100%;max-width:none;margin-top:10px;border:0;box-shadow:none}
 .has-mobile-chrome .site-search-dropdown ul{max-height:min(300px,45dvh)}
 .has-mobile-chrome .mobile-search-close{display:flex;align-items:center;justify-content:center;position:absolute;right:8px;top:12px;width:40px;height:44px;padding:0;border:0;border-radius:8px;font-size:27px;line-height:1;color:var(--deep);background:var(--surface);cursor:pointer}
 .has-mobile-chrome .mobile-messengers{display:block;position:fixed;right:calc(16px + env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom));z-index:65}
 .mobile-messenger-toggle{display:block;position:relative;width:56px;height:56px;margin-left:auto;padding:0;border:1px solid #c4ded3;border-radius:50%;background:#fff;box-shadow:0 5px 22px #073d3433;cursor:pointer}
 .mobile-messenger-icon{position:absolute;inset:7px;width:40px;height:40px;object-fit:contain;border-radius:50%;animation:messenger-swap 8s infinite ease-in-out}
 .mobile-messenger-icon-max{animation-delay:-4s}
 .mobile-messenger-panel{display:grid;gap:6px;width:220px;max-width:calc(100vw - 32px);margin-bottom:12px;padding:8px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 8px 30px #102e2533}
 .mobile-messenger-panel[hidden]{display:none}
 .mobile-messenger-choice{display:flex;align-items:center;gap:12px;min-height:48px;padding:7px 10px;border-radius:9px;font-size:16px;font-weight:600;color:var(--deep)}
 .mobile-messenger-choice:hover{background:var(--pale)}
 .mobile-messenger-choice img{width:32px;height:32px;object-fit:contain}
 .mobile-messenger-choice[title=WhatsApp] img{padding:3px;border-radius:50%;background:#25d366}
 .is-open .mobile-messenger-icon{animation-play-state:paused}
 .mobile-search-toggle:focus-visible,.mobile-search-close:focus-visible,.mobile-messenger-toggle:focus-visible,.mobile-messenger-choice:focus-visible{outline:3px solid var(--green);outline-offset:3px}
}
@media(max-width:360px){.has-mobile-chrome .site-header .brand{font-size:21px}.has-mobile-chrome .site-header .header-top{gap:6px}.has-mobile-chrome .site-header .mobile-nav{gap:20px}}
@keyframes messenger-swap{0%,42%{opacity:1}50%,92%{opacity:0}100%{opacity:1}}
@media(prefers-reduced-motion:reduce){.mobile-messenger-icon{animation:none}.mobile-messenger-icon-max{opacity:0}}

.folio-stage-strip{display:flex;gap:14px;align-items:center;justify-content:flex-end;padding:7px 0;font:12px/1.4 system-ui;color:#61726a}.folio-stage-strip span{margin-right:auto}.folio-stage-strip a{color:#087d59}.folio-checkout{margin:32px 0;max-width:760px;padding:28px;border-radius:20px;background:#edf6f0}.folio-checkout h2{font-size:28px}.folio-checkout form{display:grid;gap:16px}.folio-checkout label,.folio-upload label{display:grid;gap:8px;font-size:14px}.folio-checkout input:not([type=checkbox]),.folio-checkout textarea,.folio-checkout select{box-sizing:border-box;width:100%;border:1px solid #bccfc3;border-radius:8px;padding:12px;font:inherit;background:white}.folio-checkout textarea{min-height:80px}.folio-checkout .folio-consent{display:flex;align-items:flex-start;gap:10px}.folio-upload{border-top:1px solid #d9e5df;margin-top:18px;padding-top:18px}.folio-upload p{font-size:13px}.folio-upload input{max-width:100%}@media(max-width:600px){.folio-stage-strip span{display:none}.folio-stage-strip{font-size:11px}.folio-checkout{padding:18px}.folio-checkout .input-pair{grid-template-columns:1fr}}

/* WooCommerce account markup in the Folio shell. */
.folio-account{max-width:1180px;margin:38px auto 64px;min-width:0}
.folio-account-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}
.folio-account-heading h1{margin:0 0 8px;font-size:clamp(30px,4vw,44px);line-height:1.12}
.folio-account-heading p{margin:0;color:#61726a}
.folio-account-heading .folio-account-eyebrow{margin-bottom:10px;color:#087d59;font-size:13px;font-weight:700}
.folio-account>.woocommerce{display:grid;grid-template-columns:210px minmax(0,1fr);gap:28px;align-items:start}
.folio-account>.woocommerce>.woocommerce-notices-wrapper{grid-column:1/-1}
.folio-account>.woocommerce>.woocommerce-notices-wrapper:empty{display:none}
.folio-account .woocommerce-MyAccount-navigation{padding:8px;border:1px solid #dbe6e1;border-radius:16px;background:#f6f9f7}
.folio-account .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.folio-account .woocommerce-MyAccount-navigation a{display:block;padding:12px 14px;border-radius:10px;color:#29463a;text-decoration:none;font-size:15px;font-weight:600}
.folio-account .woocommerce-MyAccount-navigation .is-active a{background:#087d59;color:#fff}
.folio-account .woocommerce-MyAccount-navigation a:hover{background:#e5efe9}
.folio-account .woocommerce-MyAccount-navigation .is-active a:hover{background:#066948}
.folio-account .woocommerce-MyAccount-content{min-width:0;line-height:1.6}
.folio-account .woocommerce-MyAccount-content>p:first-child{margin-top:0;padding:18px 20px;border-radius:14px;background:#edf6f0}
.folio-account .woocommerce-MyAccount-content a{color:#087d59;text-underline-offset:3px}
.folio-account mark{background:#d9eddf;color:#174a34;padding:2px 6px;border-radius:5px;font-weight:600}
.folio-account h2{font-size:24px;line-height:1.25;margin:28px 0 16px}
.folio-account h3{font-size:19px;margin:20px 0 12px}
.folio-account .shop_table{width:100%;border-spacing:0;border:1px solid #dbe6e1;border-radius:14px;overflow:hidden;background:white;text-align:left;font-size:15px}
.folio-account .shop_table th,.folio-account .shop_table td{padding:16px 18px;vertical-align:top;border-bottom:1px solid #e5ece8}
.folio-account .shop_table thead th{background:#f6f9f7;font-size:13px;font-weight:600;color:#61726a}
.folio-account .shop_table tbody tr:last-child td,.folio-account .shop_table tfoot tr:last-child>*{border-bottom:0}
.folio-account .shop_table .product-total,.folio-account .shop_table tfoot td{text-align:right;white-space:nowrap}
.folio-account .shop_table .product-name{font-weight:600}
.folio-account .shop_table tfoot th{font-weight:500;color:#61726a}
.folio-account .shop_table tfoot tr:last-child>*{font-weight:700;color:#173e2d;background:#f6f9f7}
.folio-account .wc-item-meta{display:grid;gap:7px;list-style:none;padding:0;margin:16px 0;font-weight:400;font-size:14px}
.folio-account .wc-item-meta li{display:grid;grid-template-columns:minmax(95px,130px) minmax(0,1fr);gap:8px}
.folio-account .wc-item-meta .wc-item-meta-label{color:#61726a;font-weight:400}
.folio-account .wc-item-meta p{margin:0}
.folio-account .product-name>p{font-size:14px;overflow-wrap:anywhere}
.folio-account address{padding:20px;border:1px solid #dbe6e1;border-radius:14px;background:#f6f9f7;font-style:normal;overflow-wrap:anywhere}
.folio-account address p{margin:6px 0}
.folio-account .woocommerce-columns--addresses{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:24px}
.folio-account .woocommerce-columns--addresses>div{width:auto;float:none}
.folio-account .button,.folio-account button[type=submit]{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 16px;border:0;border-radius:9px;background:#087d59;color:white;text-decoration:none;font-family:inherit;font-size:14px;line-height:1.4;font-weight:600;cursor:pointer}
.folio-account .button:hover,.folio-account button[type=submit]:hover{background:#066948;color:white}
.folio-account .woocommerce-orders-table .button{margin:3px 4px 3px 0}
.folio-account .woocommerce-orders-table__cell-order-number{font-weight:700;white-space:nowrap}
.folio-account .woocommerce-orders-table__cell-order-total{white-space:nowrap}
.folio-account .form-row{margin:0 0 18px}
.folio-account .form-row label{display:block;margin-bottom:7px;font-size:14px;font-weight:600}
.folio-account input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.folio-account select,.folio-account textarea{box-sizing:border-box;max-width:100%;width:100%;padding:12px;border:1px solid #bccfc3;border-radius:8px;background:#fff;font:inherit;color:inherit}
.folio-account input:focus,.folio-account select:focus,.folio-account textarea:focus{outline:2px solid #087d59;outline-offset:2px}
.folio-account fieldset{border:1px solid #dbe6e1;border-radius:14px;margin:24px 0;padding:20px}
.folio-account legend{padding:0 8px;font-weight:600}
.folio-account .woocommerce-message,.folio-account .woocommerce-info,.folio-account .woocommerce-error{list-style:none;padding:16px 20px;margin:0 0 20px;border-radius:12px;background:#edf6f0}
.folio-account .woocommerce-error{background:#fff0eb;color:#8f3821}
.folio-account .woocommerce-pagination{display:flex;justify-content:space-between;gap:16px;margin-top:20px}
@media(max-width:800px){
 .folio-account{margin-top:24px;margin-bottom:40px}
 .folio-account-heading{align-items:flex-start;flex-direction:column;gap:16px}
 .folio-account>.woocommerce{grid-template-columns:minmax(0,1fr);gap:22px}
 .folio-account .woocommerce-MyAccount-navigation{overflow-x:auto}
 .folio-account .woocommerce-MyAccount-navigation ul{display:flex;gap:4px;width:max-content}
 .folio-account .woocommerce-MyAccount-navigation a{padding:10px 12px;white-space:nowrap;font-size:14px}
 .folio-account .shop_table th,.folio-account .shop_table td{padding:12px}
 .folio-account .woocommerce-orders-table thead{display:none}
 .folio-account .woocommerce-orders-table,.folio-account .woocommerce-orders-table tbody,.folio-account .woocommerce-orders-table tr,.folio-account .woocommerce-orders-table td{display:block}
 .folio-account .woocommerce-orders-table tr{padding:12px;border-bottom:1px solid #dbe6e1}
 .folio-account .woocommerce-orders-table tr:last-child{border-bottom:0}
 .folio-account .woocommerce-orders-table td{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border:0}
 .folio-account .woocommerce-orders-table td::before{content:attr(data-title);font-weight:500;color:#61726a}
 .folio-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions{justify-content:flex-end;flex-wrap:wrap}
 .folio-account .woocommerce-orders-table__cell-order-total{white-space:normal;text-align:right}
}
@media(max-width:480px){
 .folio-account .shop_table{font-size:14px}
 .folio-account .shop_table th,.folio-account .shop_table td{padding:12px 10px}
 .folio-account .wc-item-meta li{grid-template-columns:1fr;gap:0}
 .folio-account .wc-item-meta{font-size:13px}
 .folio-account .woocommerce-MyAccount-content>p:first-child{padding:15px}
}

/* One price line and one unit-price line keep the same space during loading. */
.quote-card .price-block .total-price{display:block;min-height:49px}
.quote-card .price-block>p{min-height:21px}
.quote-card[aria-busy="true"] .price-block>p{visibility:hidden}
.quote-card[aria-busy="true"] .breakdown>:not(summary){visibility:hidden}
.price-popup-total{display:block;min-height:34px}
.price-popup[aria-busy="true"] .price-popup-total{font-size:20px;line-height:34px}

.legacy-heading{padding:48px 0 8px}.legacy-copy{max-width:900px;margin:52px auto;padding:32px;border-top:1px solid #e5e7eb;line-height:1.75;overflow-wrap:anywhere}.legacy-copy h2{font-size:clamp(23px,3vw,32px);line-height:1.2;margin:36px 0 16px}.legacy-copy h3{font-size:21px;margin:28px 0 12px}.legacy-copy p,.legacy-copy ul,.legacy-copy ol{margin:16px 0}.legacy-copy ul,.legacy-copy ol{padding-left:24px}.legacy-copy img{max-width:100%;height:auto;border-radius:12px}.legacy-copy figure{margin:24px 0}.legacy-copy table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}.legacy-copy td,.legacy-copy th{padding:10px;border:1px solid #ddd;vertical-align:top}.legacy-copy a{color:#05605c;text-decoration:underline;text-underline-offset:3px}.blog-list article{padding:16px 0;border-bottom:1px solid #e5e7eb}.blog-list h2{margin-top:12px}.blog-pagination{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px}.blog-pagination a{padding:8px 16px;border:1px solid #d3dedb;border-radius:8px}.blog-pagination [aria-current]{background:#075e56;color:white}.site-footer-links{display:flex;flex-wrap:wrap;gap:18px;padding:20px 0}.route-note{padding:16px 20px;border-radius:12px;background:#f3f7f4;margin:24px 0}@media(max-width:640px){.legacy-copy{padding:24px 0;margin:32px auto}.legacy-copy h2{font-size:24px}.legacy-heading{padding-top:24px}}

.service-directory{margin:36px 0;padding:24px;border:1px solid #d3dedb;border-radius:12px}.service-directory summary{cursor:pointer;font-weight:600}.service-directory ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px 24px;padding:24px 0 0;list-style:none}.service-directory a{color:#05605c;text-underline-offset:3px}

/* Account and cart stay adjacent at every header breakpoint. */
.site-header .account-link{order:2;display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--deep)}
.site-header .account-link svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.site-header .account-link:hover{background:var(--pale);border-color:var(--green)}
.site-header .account-link:focus-visible,.home-about a:focus-visible{outline:3px solid var(--green);outline-offset:4px}
.site-header .cart-link,.has-mobile-chrome .site-header .cart-link{order:3;margin-left:0}
.home-about{margin:64px 0 0;padding:44px 0 0;border-top:1px solid var(--line);color:var(--deep)}
.home-about-top{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(24px,4vw,64px);align-items:center}
.home-about-copy h2{font-size:clamp(28px,3.1vw,42px);line-height:1.15;letter-spacing:-1px;margin:12px 0 22px;max-width:16ch}
.home-about-intro{font-size:16px;line-height:1.75;color:var(--muted);max-width:51ch;margin:0 0 24px}
.home-about a{color:var(--deep);font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:5px}
.home-about-link{display:inline-flex;align-items:center;gap:18px;padding:10px 0}
.home-about-image{margin:0;min-width:0}
.home-about-image img{display:block;width:100%;height:auto;aspect-ratio:3/2;border-radius:16px}
.home-about-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,4vw,64px);margin-top:32px}
.home-about-services p{margin:0;color:var(--muted);font-size:15px;line-height:1.8}
.home-about-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:36px;padding:30px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.home-about-benefits h3{font-size:19px;line-height:1.3;margin:0 0 12px}
.home-about-benefits p{font-size:14px;line-height:1.7;color:var(--muted);margin:0 0 16px;max-width:36ch}
@media(max-width:820px){.home-about-top{gap:24px}.home-about-copy h2{font-size:30px}.home-about-benefits{gap:24px}.home-about-benefits h3{font-size:17px}}
@media(max-width:640px){.home-about{margin-top:40px;padding-top:28px}.home-about-top{grid-template-columns:1fr}.home-about-copy h2{max-width:22ch}.home-about-image{max-width:100%}.home-about-benefits{grid-template-columns:1fr;gap:24px;margin-top:28px;padding:24px 0}.home-about-benefits p{max-width:none}.home-about-benefits h3{font-size:19px}}
@media(max-width:400px){.has-mobile-chrome .site-header .brand{font-size:18px;gap:5px}.has-mobile-chrome .site-header .brand-mark{width:28px;flex-basis:28px}.has-mobile-chrome .site-header .header-top{gap:5px}.has-mobile-chrome .site-header .cart-link{min-width:56px;padding:7px 5px}}

/* Company information follows the same type, spacing and palette as services. */
.company-page{color:var(--deep);margin:12px 0 48px}
.company-page p{font-size:16px;line-height:1.8;color:var(--muted);margin:0 0 20px}
.company-page h2{font-size:clamp(24px,2.5vw,32px);line-height:1.2;letter-spacing:-.5px;margin:0 0 20px}
.company-page .eyebrow{font-size:12px;line-height:1.5;margin-bottom:12px;color:var(--deep)}
.company-page a{color:var(--deep);font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:5px}
.company-page a:focus-visible{outline:3px solid var(--green);outline-offset:4px}
.company-intro{max-width:800px;margin:0 0 36px}
.company-intro p{font-size:18px}
.company-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:0 0 40px}
.company-panel{min-width:0;padding:32px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.company-panel-tint{background:var(--pale)}
.company-links{display:flex;flex-wrap:wrap;gap:16px 24px}
.company-row{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:40px;padding:32px 0;border-top:1px solid var(--line)}
.company-offices{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;padding:36px;border-radius:16px;background:var(--pale);margin-top:12px}
.company-offices h2{max-width:20ch}.company-offices .company-addresses{align-self:center;line-height:2.4;margin:0;font-size:18px;color:var(--deep)}
@media(max-width:640px){.home-about-services,.company-grid,.company-row,.company-offices{grid-template-columns:1fr;gap:20px}.home-about-services{margin-top:24px}.company-panel,.company-offices{padding:24px}.company-row{padding:24px 0}.company-row h2{margin:0}.company-intro p{font-size:16px}.company-grid{margin-bottom:28px}.company-offices .company-addresses{font-size:16px}}

.folio-upload h3{font-size:16px;margin:0 0 12px}.upload-dropzone{padding:18px;border:1px dashed #9ebdae;border-radius:12px;background:#f6faf7}.upload-dropzone.is-dragging{border-color:#087d59;background:#e5f4ec}.folio-upload .upload-picker{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;background:#087d59;color:#fff;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}.upload-picker input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.upload-picker:focus-within{outline:3px solid #9ed7b8;outline-offset:3px}.folio-upload .upload-summary{margin:10px 0 4px;color:#365448}.folio-upload .upload-help,.folio-upload .upload-retention{font-size:12px;color:#64746c;line-height:1.5;margin:4px 0}.folio-upload .upload-retention{margin-top:12px}.upload-files{list-style:none;margin:8px 0 0;padding:0}.upload-file{display:flex;gap:16px;justify-content:space-between;padding:12px 0;border-bottom:1px solid #e4ece7}.upload-file>div:first-child{min-width:0;flex:1}.upload-file strong{display:block;font-size:13px;overflow-wrap:anywhere}.upload-file-caption{display:block;font-size:12px;margin-top:5px;color:#63756d}.upload-file[data-state=ready] .upload-file-caption{color:#087d59}.upload-file[data-state=error] .upload-file-caption,.upload-error{color:#ad3232}.upload-file progress{display:block;width:100%;height:7px;margin-top:8px;accent-color:#087d59}.upload-file progress[hidden],.upload-text-button[hidden]{display:none}.upload-file-actions{display:flex;align-items:flex-start;gap:6px;flex-wrap:wrap}.upload-text-button{border:0;background:transparent;font:inherit;font-size:12px;color:#087d59;padding:7px 5px;min-height:32px;cursor:pointer;text-decoration:underline}.upload-error:empty{display:none}@media(max-width:600px){.upload-dropzone{padding:14px}.upload-file{gap:8px}.upload-file-actions{max-width:95px;justify-content:flex-end}.upload-text-button{min-height:40px}.folio-upload .upload-picker{width:100%;box-sizing:border-box}}
