

@media (prefers-reduced-motion:reduce) {
  .business-service-model-cards article { opacity:1!important; transform:none!important; transition:none!important; }
}
.business-hero { padding:52px 0 72px; overflow:hidden; }
.business-hero-banner { position:relative; min-height:540px; }
.business-hero-card { position:absolute; left:32px; bottom:-24px; z-index:2; width:min(520px,calc(100% - 64px)); padding:30px 36px 32px; color:var(--white); background:linear-gradient(145deg,rgba(42,52,54,.97),rgba(16,24,25,.985)); border:1px solid rgba(255,255,255,.14); border-top:3px solid var(--petrol); border-radius:var(--radius); box-shadow:0 28px 75px rgba(0,0,0,.38); backdrop-filter:blur(10px); }
.business-hero-card>.eyebrow { margin-bottom:12px; }
.business-hero h1 { max-width:460px; margin:0; color:var(--white); font-size:clamp(40px,4.2vw,58px); line-height:1; letter-spacing:-.052em; }
.business-hero p:not(.eyebrow) { max-width:440px; margin:17px 0 22px; color:#c6d0ce; font-size:15px; line-height:1.62; }
.business-photo { position:absolute; inset:0; height:540px; margin:0; overflow:hidden; background:#222b2c; border-radius:22px; box-shadow:0 25px 70px rgba(0,0,0,.3); }
.business-photo::after { content:""; position:absolute; inset:0; border:1px solid rgba(255,255,255,.13); border-radius:inherit; pointer-events:none; }
.business-photo picture { display:block; width:100%; height:100%; }
.business-photo img { width:100%; height:100%; object-fit:cover; object-position:center; }
.textile-hero .business-photo img { object-position:right center; }
.business-services { padding:92px 0 96px; }
.business-service-system { display:grid; grid-template-columns:1fr 1fr; overflow:hidden; background:var(--white); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); }
.business-service-part { min-width:0; padding:34px; }
.business-service-part+.business-service-part { border-left:1px solid #cfe5e3; }
.business-service-part>header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:18px; }
.business-service-part .card-number { margin:4px 0 0; color:#5d6a68; }
.business-service-part-icon { display:block; width:66px; height:66px; padding:6px; color:var(--petrol); }
.business-service-part-icon svg { width:100%; height:100%; }
.business-service-part h3 { margin:0 0 24px; color:var(--ink); font-size:30px; letter-spacing:-.03em; }
.business-service-points { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.business-service-points>div { min-height:126px; padding:17px 18px; background:#eef7f6; border:1px solid #d5e9e7; border-radius:10px; }
.business-service-points small { display:block; min-height:27px; color:var(--petrol-deep); font-size:10px; font-weight:900; line-height:1.35; letter-spacing:.14em; text-transform:uppercase; }
.business-service-points p { margin:9px 0 0; color:var(--graphite); font-size:14px; line-height:1.58; }
.business-service-models { padding:0 0 92px; }
.business-service-models-inner { display:grid; grid-template-columns:.72fr 1.28fr; gap:20px 54px; align-items:start; }
.business-service-models-inner>header { padding-top:8px; }
.business-service-models h2 { max-width:430px; margin:0; color:var(--ink); font-size:clamp(32px,3.2vw,43px); line-height:1.08; letter-spacing:-.04em; }
.business-service-model-cards { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.business-service-model-cards article { min-height:186px; display:flex; flex-direction:column; justify-content:flex-start; gap:30px; padding:25px; background:#f2f7f6; border:1px solid #d2e1df; border-radius:14px; }
.business-service-model-cards article[data-tone="dark"] { color:#fff; background:#142526; border-color:#142526; }
.business-service-model-cards h3 { margin:0; }
.business-service-model-cards p { margin:0; color:#556663; font-size:14px; line-height:1.65; }
.business-service-model-cards article[data-tone="dark"] p { color:#c6d3d1; }
.business-service-model-cards.reveal-ready article { transform:translate3d(-44px,24px,0) scale(.965); transform-origin:center; will-change:transform; }
.business-service-model-cards.reveal-ready article:nth-child(2) { transform:translate3d(44px,24px,0) scale(.965); }
.business-service-model-cards.reveal-ready.is-visible article { transform:translate3d(0,0,0) scale(1); transition:transform .95s cubic-bezier(.16,1,.3,1); }
.business-service-model-cards.reveal-ready.is-visible article:nth-child(2) { transition-delay:.16s; }
.business-service-model-link { grid-column:2; width:max-content; display:inline-flex; align-items:center; gap:10px; color:var(--petrol-deep); font-size:13px; font-weight:850; }
.business-service-model-link svg { width:18px; height:18px; transition:transform .2s ease; }
.business-service-model-link:hover svg { transform:translateX(4px); }
.business-service-model-link:focus-visible { outline:3px solid rgba(8,137,145,.28); outline-offset:5px; border-radius:3px; }
.business-logistics { padding:76px 0; background:var(--pale); border-top:1px solid #cfe8e6; border-bottom:1px solid #cfe8e6; }
.logistics-grid { display:grid; grid-template-columns:100px 1.1fr .9fr; gap:44px; align-items:center; }
.logistics-icon { width:94px; color:var(--petrol-deep); }
.logistics-icon svg { width:100%; }
.logistics-copy h2,.business-fit h2,.business-pricing h2,.quote h2 { margin:0; color:var(--ink); font-size:clamp(36px,4vw,52px); line-height:1.08; letter-spacing:-.04em; }
.logistics-copy>p:last-child { margin:18px 0 0; line-height:1.7; }
.extra-services { padding:25px; background:rgba(255,255,255,.7); border:1px solid #cfe6e4; border-radius:12px; }
.extra-services p { margin:0 0 15px; color:var(--ink); font-weight:800; }
.extra-services ul { display:grid; gap:12px; margin:0; padding:0; list-style:none; }
.extra-services li { display:flex; align-items:center; gap:10px; font-size:14px; }
.extra-services svg { width:20px; height:20px; color:var(--petrol-deep); }
.business-portal { padding:84px 0; background:#f5f9f8; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.business-portal-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:70px; align-items:center; }
.business-portal h2 { margin:0; color:var(--ink); font-size:clamp(36px,4vw,52px); line-height:1.08; letter-spacing:-.04em; }
.business-portal p:not(.eyebrow) { max-width:570px; margin:20px 0 14px; color:var(--muted); line-height:1.72; }
.business-portal small { color:var(--muted); line-height:1.55; }
.business-portal-list { display:grid; grid-template-columns:1fr 1fr; gap:0; overflow:hidden; background:var(--ink); border:1px solid rgba(255,255,255,.1); border-radius:14px; }
.business-portal-list>div { min-height:112px; display:grid; align-content:center; gap:8px; padding:23px 27px; }
.business-portal-list>div:nth-child(odd) { border-right:1px solid rgba(255,255,255,.12); }
.business-portal-list>div:nth-child(-n+2) { border-bottom:1px solid rgba(255,255,255,.12); }
.business-portal-list span { color:#4dccd2; font-size:10px; font-weight:900; letter-spacing:.15em; line-height:1.25; text-transform:uppercase; }
.business-portal-list strong { color:#f4f7f6; font-size:16px; line-height:1.38; }
.business-fit { padding:96px 0; background:var(--white); }
.fit-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:90px; align-items:center; }
.fit-grid>div:first-child>p:last-child { max-width:500px; margin:20px 0 0; color:var(--muted); line-height:1.7; }
.fit-list { border-top:1px solid var(--line); }
.fit-list>div { display:grid; grid-template-columns:55px 1fr; align-items:center; padding:23px 0; border-bottom:1px solid var(--line); }
.fit-list small { color:var(--petrol-deep); font-size:10px; font-weight:850; letter-spacing:.15em; }
.fit-list strong { color:var(--graphite); font-size:17px; }
.business-pricing { padding:70px 0; background:#f0f5f4; }
.pricing-inner { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
.pricing-inner>p { margin:0; color:var(--graphite); line-height:1.75; }
.business-secondary-service { padding:54px 0; color:var(--graphite); background:#e5f2f1; border-top:1px solid #c8e2df; border-bottom:1px solid #c8e2df; }
.business-secondary-service-inner { display:grid; grid-template-columns:1fr auto; gap:56px; align-items:center; }
.business-secondary-service h2 { margin:0; color:var(--ink); font-size:clamp(30px,3vw,42px); line-height:1.1; letter-spacing:-.04em; }
.business-secondary-service p:not(.eyebrow) { max-width:720px; margin:14px 0 0; line-height:1.7; }
.business-secondary-service .button { white-space:nowrap; }
.business-services .eyebrow,.business-service-models .eyebrow,.business-logistics .eyebrow,.business-portal .eyebrow,.business-fit .eyebrow,.business-secondary-service .eyebrow,.business-pricing .eyebrow { color:var(--petrol-deep); }
.textile-hero .business-hero-card { width:min(620px,calc(100% - 64px)); }
.textile-hero .business-hero-card h1 { max-width:550px; font-size:clamp(40px,4.2vw,58px); }
.textile-hero .business-hero-card p:not(.eyebrow) { max-width:540px; }
.textile-hero .business-hero-card .hero-actions { margin-top:0; gap:24px; }
.textile-services .section-heading>p:last-child { max-width:760px; }
.textile-service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.textile-service-card { min-height:430px; display:flex; flex-direction:column; overflow:hidden; padding:32px; color:#eef3f2; background:linear-gradient(145deg,#30393a 0%,#182022 100%); border:1px solid rgba(19,167,174,.22); border-radius:20px; box-shadow:0 22px 58px rgba(17,23,24,.15); }
.textile-service-card:hover { border-color:rgba(19,167,174,.72); box-shadow:0 28px 72px rgba(7,137,145,.2); }
.textile-service-card .card-number { position:static; margin:0 0 42px; color:#8fa09e; }
.textile-service-card h3 { color:#fff; font-size:26px; line-height:1.14; }
.textile-service-card>p:nth-of-type(2) { margin:16px 0 0; color:#c3cecc; line-height:1.7; }
.textile-service-card ul { display:grid; gap:11px; margin:auto 0 0; padding:26px 0 0; list-style:none; }
.textile-service-card li { display:flex; align-items:flex-start; gap:11px; padding:13px 3px 0; color:#e1e8e6; border-top:1px solid rgba(255,255,255,.14); font-size:13px; line-height:1.5; }
.textile-service-card li svg { flex:0 0 19px; width:19px; color:var(--petrol); }
.textile-process { background:#f7faf9; }
.textile-process-list { margin:0; padding:0; overflow:hidden; list-style:none; background:var(--white); border:1px solid #cfe3e1; border-radius:20px; box-shadow:0 20px 55px rgba(17,23,24,.07); }
.textile-process-list li { min-height:90px; display:grid; grid-template-columns:42px 1fr; align-items:center; gap:18px; padding:19px 28px; border-bottom:1px solid var(--line); }
.textile-process-list li:last-child { border-bottom:0; }
.textile-process-list span { width:38px; height:38px; display:grid; place-items:center; color:var(--petrol-deep); background:var(--pale); border:1px solid #c8e5e2; border-radius:50%; font-size:10px; font-weight:900; letter-spacing:.12em; }
.textile-process-list strong { color:var(--graphite); font-size:16px; line-height:1.4; }
.textile-workwear-callout .pricing-inner>div:last-child { display:grid; justify-items:start; gap:22px; }
.textile-workwear-callout .pricing-inner>div:last-child p { margin:0; color:var(--graphite); line-height:1.75; }
.textile-choice-row label { flex:1 1 210px; }
.quote-form .quote-confirmation { display:flex; align-items:flex-start; gap:10px; padding:13px 14px; color:var(--graphite); background:#f4f8f7; border:1px solid var(--line); border-radius:8px; font-weight:650; line-height:1.55; }
.quote-form .quote-confirmation input { flex:0 0 auto; width:auto; margin:3px 0 0; accent-color:var(--petrol); }
.quote { padding:96px 0; background:var(--ink); color:var(--white); }
.quote-grid { display:grid; grid-template-columns:.75fr 1.25fr; gap:74px; align-items:start; }
.quote h2 { color:var(--white); font-size:clamp(48px,6vw,68px); }
.quote-intro>p:nth-of-type(2) { margin:22px 0 0; color:#bdc8c7; line-height:1.75; }
.quote-note { display:grid; gap:7px; margin-top:36px; padding:22px; color:var(--graphite); background:var(--pale); border-radius:12px; }
.quote-note strong { color:var(--ink); }
.quote-note span { font-size:13px; line-height:1.6; }
.quote-form { display:grid; gap:20px; padding:32px; color:var(--graphite); background:var(--white); border-radius:var(--radius); box-shadow:0 25px 70px rgba(0,0,0,.25); }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.quote-form label,.quote-form legend { color:var(--ink); font-size:13px; font-weight:800; }
.quote-form input,.quote-form select,.quote-form textarea { width:100%; margin-top:8px; padding:13px 14px; color:var(--graphite); background:#fbfcfa; border:1px solid var(--line); border-radius:8px; font:inherit; font-size:14px; }
.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus { outline:2px solid rgba(19,167,174,.25); border-color:var(--petrol); }
.quote-form textarea { resize:vertical; }
.quote-form fieldset { margin:0; padding:0; border:0; }
.choice-row { display:flex; flex-wrap:wrap; gap:10px; margin-top:10px; }
.choice-row label { display:flex; align-items:center; gap:8px; padding:10px 12px; border:1px solid var(--line); border-radius:8px; font-weight:650; }
.choice-row input { width:auto; margin:0; accent-color:var(--petrol); }
.quote-form button { border:0; cursor:pointer; justify-self:start; }
.quote-form button:disabled { cursor:wait; opacity:.72; }
.quote-honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.booking-honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.quote-form-status { margin:0; padding:14px 16px; border-radius:9px; font-size:14px; font-weight:750; line-height:1.55; }
.quote-form-status.success { color:#145c4c; background:#e8f7f2; border:1px solid #b8e3d6; }
.quote-form-status.error { color:#842f2f; background:#fff0f0; border:1px solid #efc6c6; }
.mat-hero { padding:70px 0 78px; overflow:hidden; }
.mat-hero-grid { display:grid; grid-template-columns:1.08fr .92fr; gap:70px; align-items:center; }
.mat-hero h1 { max-width:720px; margin:0; font-size:clamp(48px,5.4vw,74px); line-height:1.03; letter-spacing:-.05em; }
.mat-hero-copy>p:not(.eyebrow) { max-width:650px; margin:24px 0 30px; color:#c1ccca; font-size:17px; line-height:1.72; }
.mat-hero .hero-actions>a:not(.button) { color:#c8d3d1; font-size:13px; font-weight:800; border-bottom:1px solid rgba(255,255,255,.32); }
.mat-hero-products { position:relative; min-height:430px; }
.mat-hero-products article { position:absolute; width:76%; min-height:285px; display:flex; flex-direction:column; justify-content:flex-end; padding:27px; overflow:hidden; border:1px solid rgba(255,255,255,.12); border-radius:18px; box-shadow:0 28px 75px rgba(0,0,0,.35); }
.mat-hero-products article::before { content:""; position:absolute; inset:0; opacity:.85; background:repeating-radial-gradient(ellipse at 20% 40%,rgba(255,255,255,.08) 0 2px,transparent 3px 8px),linear-gradient(140deg,#485051,#171d1e); }
.mat-hero-products article::after { content:""; position:absolute; inset:12px; border:1px solid rgba(255,255,255,.12); pointer-events:none; }
.mat-hero-products .iron { top:0; left:0; transform:rotate(-3deg); }
.mat-hero-products .jet { right:0; bottom:0; z-index:2; transform:rotate(3deg); background:#173335; }
.mat-hero-products .jet::before { background:linear-gradient(135deg,#0ca8af 0 26%,#152c2e 26% 52%,#d8a24e 52% 69%,#223033 69%); }
.mat-hero-products small,.mat-hero-products strong,.mat-hero-products span,.mat-hero-products i { position:relative; z-index:1; }
.mat-hero-products small { color:var(--petrol); font-size:10px; font-weight:850; letter-spacing:.15em; text-transform:uppercase; }
.mat-hero-products strong { margin-top:8px; color:#fff; font-size:31px; letter-spacing:-.035em; }
.mat-hero-products span { margin-top:5px; color:#cbd5d4; font-size:12px; }
.mat-hero-products i { position:absolute; top:50%; left:50%; transform:translate(-50%,-65%); display:grid; place-items:center; width:105px; height:105px; color:#fff; border:2px solid rgba(255,255,255,.72); border-radius:50%; font-size:28px; font-style:normal; font-weight:900; letter-spacing:-.04em; }
.mat-hero-products .iron i { border-radius:12px; background:repeating-radial-gradient(circle,#565d5d 0 2px,#292f30 3px 7px); }
.mat-benefits { padding:92px 0 96px; }
.mat-benefit-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.mat-benefit-grid article { min-height:310px; padding:27px; background:#1b2324; border:1px solid rgba(19,167,174,.2); border-radius:var(--radius); box-shadow:0 22px 58px rgba(17,23,24,.14); }
.mat-benefit-grid article:hover { transform:translateY(-4px); border-color:rgba(19,167,174,.78); box-shadow:0 0 0 1px rgba(19,167,174,.12),0 0 30px rgba(19,167,174,.2),0 28px 70px rgba(17,23,24,.2); }
.mat-benefit-grid article>span { display:block; width:62px; height:62px; margin:0 0 30px auto; color:var(--petrol); filter:drop-shadow(0 0 10px rgba(19,167,174,.12)); }
.mat-benefit-grid svg { width:100%; height:100%; }
.mat-benefit-grid h3 { margin:0; color:#f6f9f8; font-size:22px; line-height:1.18; }
.mat-benefit-grid p { margin:13px 0 0; color:#b7c2c0; font-size:14px; line-height:1.7; }
.mat-experience { display:flex; align-items:center; gap:14px; margin-top:22px; padding:20px 24px; background:var(--pale); border:1px solid #cfe8e6; border-radius:12px; }
.mat-experience svg { flex:0 0 25px; width:25px; color:var(--petrol-deep); }
.mat-experience p { margin:0; font-size:14px; }
.mat-products { background:var(--white); }
.mat-benefits .eyebrow,.mat-products .eyebrow { color:var(--petrol-deep); }
.mat-products-heading { padding:88px 0 65px; text-align:center; }
.mat-products-heading h2 { max-width:790px; margin:0 auto; color:var(--ink); font-size:clamp(42px,5vw,62px); line-height:1.07; letter-spacing:-.045em; }
.mat-products-heading>p:last-child { max-width:720px; margin:20px auto 0; color:var(--muted); line-height:1.72; }
.mat-product-block { padding:86px 0; scroll-margin-top:20px; }
.iron-product { background:#f2f5f4; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.jet-product { background:#fff; }
.mat-product-overview { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr); gap:76px; align-items:start; }
.mat-product-overview.reverse>div { order:2; }
.mat-product-overview.reverse>aside { order:1; }
.product-kicker { margin:0 0 13px; color:var(--petrol-deep); font-size:11px; font-weight:900; letter-spacing:.16em; text-transform:uppercase; }
.mat-product-overview h2 { margin:0; color:var(--ink); font-size:clamp(52px,6vw,76px); line-height:1; letter-spacing:-.055em; }
.product-lead { max-width:720px; margin:23px 0 0; color:var(--graphite); font-size:17px; line-height:1.72; }
.product-points { display:grid; grid-template-columns:1fr 1fr; gap:12px 22px; margin:28px 0 0; padding:0; list-style:none; }
.product-points li { display:flex; align-items:flex-start; gap:10px; color:var(--graphite); font-size:14px; font-weight:720; line-height:1.5; }
.product-points svg { flex:0 0 21px; width:21px; color:var(--petrol-deep); }
.product-use { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-top:28px; }
.product-use strong { width:100%; margin-bottom:2px; color:var(--ink); font-size:12px; }
.product-use span { padding:8px 11px; color:var(--petrol-deep); background:var(--pale); border:1px solid #cfe8e6; border-radius:999px; font-size:11px; font-weight:800; }
.product-spec-card { min-height:440px; display:flex; flex-direction:column; padding:29px; color:#fff; background:var(--ink); border-radius:var(--radius); box-shadow:0 28px 70px rgba(13,20,21,.2); }
.product-spec-highlight { min-height:142px; display:flex; align-items:flex-end; justify-content:space-between; gap:24px; padding:4px 0 25px; border-bottom:1px solid rgba(255,255,255,.12); }
.product-spec-highlight>div { display:flex; flex-direction:column; gap:7px; }
.product-spec-card .product-spec-highlight small { align-self:flex-start; margin-bottom:3px; color:#2bc2c8; font-size:18px; line-height:1.05; font-weight:900; letter-spacing:.11em; text-shadow:0 0 18px rgba(19,167,174,.32); text-transform:uppercase; }
.product-spec-card .product-spec-highlight strong { color:#fff; font-size:68px; line-height:.82; letter-spacing:-.065em; }
.product-spec-highlight strong span { font-size:.42em; letter-spacing:-.03em; }
.product-spec-highlight .product-spec-custom-color { max-width:250px; color:#c7d2d0; font-size:12px; line-height:1.45; letter-spacing:0; text-shadow:none; }
.product-spec-card .service-icon { align-self:flex-start; flex:0 0 70px; width:70px; height:70px; color:var(--petrol); opacity:.9; }
.product-spec-card>p { margin:25px 0 10px; color:var(--petrol); font-size:10px; font-weight:900; letter-spacing:.16em; text-transform:uppercase; }
.product-spec-card>div:not(.product-spec-highlight) { display:grid; gap:4px; padding:17px 0; border-top:1px solid rgba(255,255,255,.12); }
.product-spec-card strong { font-size:23px; letter-spacing:-.025em; }
.product-spec-card small { color:#aeb9b7; font-size:11px; }
.product-spec-card>a { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-top:auto; padding-top:22px; color:var(--petrol); border-top:1px solid rgba(255,255,255,.12); font-size:12px; font-weight:850; }
.product-spec-card>a svg { width:19px; }
.product-spec-card.logo { background:#183335; }
.mat-color-showcase { margin-top:72px; padding:34px; background:#fff; border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); }
.jet-product .mat-color-showcase { background:#f3f7f6; }
.mat-color-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; }
.mat-color-heading h3 { margin:0; color:var(--ink); font-size:31px; letter-spacing:-.035em; }
.mat-color-heading>div:first-child>p:last-child { max-width:720px; margin:10px 0 0; color:var(--muted); font-size:13px; line-height:1.65; }
.mat-color-arrows { display:flex; gap:8px; }
.mat-color-arrows button { width:44px; height:44px; display:grid; place-items:center; color:var(--ink); background:#fff; border:1px solid var(--line); border-radius:50%; cursor:pointer; }
.mat-color-arrows svg { width:18px; }
.mat-color-rail { display:flex; gap:13px; margin-top:27px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; }
.mat-color-rail::-webkit-scrollbar { display:none; }
.mat-color-card { flex:0 0 178px; scroll-snap-align:start; padding:10px 10px 13px; background:#fff; border:1px solid var(--line); border-radius:11px; }
.mat-color-swatch { display:block; width:100%; height:145px; object-fit:cover; border-radius:8px; box-shadow:inset 0 0 0 1px rgba(0,0,0,.12); }
.mat-color-card strong { display:block; margin-top:11px; color:var(--ink); font-size:12px; }
.mat-color-card small { display:block; margin-top:3px; color:var(--muted); font-size:10px; }
.mat-color-open { display:inline-flex; align-items:center; gap:10px; margin-top:23px; padding:12px 15px; color:var(--petrol-deep); background:var(--pale); border:1px solid #cfe8e6; border-radius:8px; cursor:pointer; font-weight:850; }
.mat-color-open svg { width:18px; }
.mat-color-note { margin:13px 0 0; color:var(--muted); font-size:11px; line-height:1.5; }
.mat-color-modal { position:fixed; inset:0; z-index:1500; display:grid; place-items:center; padding:24px; background:rgba(7,11,12,.82); backdrop-filter:blur(7px); }
.mat-color-modal>section { width:min(1050px,100%); max-height:calc(100dvh - 48px); display:flex; flex-direction:column; overflow:hidden; background:#f7f9f8; border:1px solid rgba(255,255,255,.18); border-radius:18px; box-shadow:0 35px 100px rgba(0,0,0,.48); }
.mat-color-modal header { display:flex; align-items:center; justify-content:space-between; gap:30px; padding:25px 28px; color:#fff; background:var(--ink); }
.mat-color-modal h2 { margin:0; font-size:34px; letter-spacing:-.035em; }
.mat-color-modal header>button { width:45px; height:45px; flex:0 0 45px; color:#fff; background:transparent; border:1px solid rgba(255,255,255,.28); border-radius:50%; cursor:pointer; font-size:29px; line-height:1; }
.mat-color-modal-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; padding:25px; overflow-y:auto; }
.mat-color-modal-card { display:grid; grid-template-columns:92px 1fr; gap:14px; align-items:center; padding:10px; background:#fff; border:1px solid var(--line); border-radius:11px; }
.mat-color-modal-card .mat-color-swatch { height:90px; }
.mat-color-modal-card strong,.mat-color-modal-card small { display:block; }
.mat-color-modal-card strong { color:var(--ink); font-size:12px; }
.mat-color-modal-card small { margin-top:4px; color:var(--muted); font-size:10px; }
.mat-color-modal footer { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:18px 28px; background:#fff; border-top:1px solid var(--line); }
.mat-color-modal footer p { margin:0; color:var(--muted); font-size:12px; }
.mat-color-modal footer .button { border:0; cursor:pointer; }
.mat-technical { margin-top:22px; background:#fff; border:1px solid var(--line); border-radius:12px; }
.mat-technical summary { display:flex; align-items:center; justify-content:space-between; gap:25px; padding:22px 25px; color:var(--ink); cursor:pointer; list-style:none; font-size:15px; font-weight:850; }
.mat-technical summary::-webkit-details-marker { display:none; }
.mat-technical summary i { width:31px; height:31px; flex:0 0 31px; display:grid; place-items:center; color:var(--petrol-deep); border:1px solid var(--line); border-radius:50%; font-style:normal; font-size:20px; transition:transform .2s ease; }
.mat-technical[open] summary i { transform:rotate(45deg); }
.mat-technical-body { display:grid; grid-template-columns:1fr 1fr; gap:15px; padding:0 22px 22px; border-top:1px solid var(--line); }
.technical-table { margin-top:20px; padding:21px; background:#f4f7f6; border-radius:10px; }
.technical-table h4 { margin:0 0 13px; color:var(--ink); font-size:17px; }
.technical-table dl { margin:0; }
.technical-table dl>div { display:grid; grid-template-columns:.8fr 1.2fr; gap:12px; padding:8px 0; border-top:1px solid #dfe6e5; font-size:12px; line-height:1.45; }
.technical-table dt { color:var(--muted); }
.technical-table dd { margin:0; color:var(--graphite); font-weight:700; }
.mat-process { padding:90px 0 96px; color:#fff; background:var(--ink); }
.mat-process-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.mat-process-grid article { min-height:245px; padding:27px; border:1px solid rgba(255,255,255,.12); border-radius:var(--radius); }
.mat-process-grid small { color:var(--petrol); font-weight:900; letter-spacing:.15em; }
.mat-process-grid h3 { margin:55px 0 0; font-size:23px; }
.mat-process-grid p { margin:13px 0 0; color:#aeb9b7; font-size:14px; line-height:1.7; }
.text-arrow { display:inline-flex; align-items:center; gap:10px; margin-top:24px; color:var(--petrol-deep); font-size:13px; font-weight:850; }
.text-arrow svg { width:19px; }
.mat-form-help { margin:0; padding:13px 15px; color:var(--graphite); background:var(--pale); border:1px solid #cfe8e6; border-radius:9px; font-size:12px; line-height:1.6; }
.mat-form .mat-rows { display:grid; gap:12px; }
.mat-row { margin:0; padding:18px; border:1px solid var(--line)!important; border-radius:10px; background:#f7f9f8; }
.mat-row-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }
.mat-row-head h3 { margin:0; color:var(--ink); font-size:15px; }
.mat-row-head button { padding:0; color:#8e5555; background:none; font-size:12px; font-weight:750; }
.mat-type-fieldset { margin-bottom:14px!important; }
.mat-type-fieldset .choice-row { margin-top:8px; }
.mat-fields { display:grid; grid-template-columns:1fr 1fr .7fr; gap:12px; }
.mat-color-choice { display:block; margin-top:12px; }
.add-mat { justify-self:start; padding:10px 13px; color:var(--petrol-deep); background:var(--pale); border:1px solid #cfe8e6!important; border-radius:8px; font-size:13px; font-weight:850; }
.logo-upload { padding:17px; background:var(--pale); border:1px solid #cfe8e6; border-radius:10px; }
.logo-upload>span { display:block; margin-top:5px; color:var(--muted); font-size:11px; font-weight:500; }
.logo-upload input[type=file] { padding:10px; background:#fff; }
.consumer-hero { padding:68px 0 74px; overflow:hidden; }
.consumer-hero-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:66px; align-items:center; }
.consumer-hero h1 { margin:0; font-size:clamp(54px,6vw,82px); line-height:1.02; letter-spacing:-.05em; }
.consumer-hero>div>div>p:not(.eyebrow) { max-width:620px; margin:24px 0 0; color:#c1ccca; font-size:17px; line-height:1.72; }
.consumer-photo { position:relative; height:430px; margin:0; overflow:hidden; border-radius:var(--radius); box-shadow:0 25px 70px rgba(0,0,0,.3); }
.consumer-photo img { width:100%; height:100%; object-fit:cover; }
.consumer-photo figcaption { position:absolute; left:20px; bottom:20px; display:flex; align-items:center; gap:9px; padding:12px 15px; color:var(--ink); background:rgba(255,255,255,.94); border-radius:9px; font-size:12px; font-weight:850; }
.consumer-photo figcaption svg { width:20px; color:var(--petrol-deep); }
.consumer-services { padding:92px 0 98px; }
.consumer-service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.consumer-service-grid article { min-height:440px; display:flex; flex-direction:column; padding:29px; background:var(--white); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); }
.consumer-card-top { display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:35px; }
.consumer-card-top small { color:#5d6a68; font-size:11px; font-weight:850; letter-spacing:.14em; }
.consumer-service-grid h3 { margin:0; color:var(--ink); font-size:27px; line-height:1.15; letter-spacing:-.03em; }
.consumer-service-grid article>p { margin:15px 0 26px; color:var(--muted); font-size:14px; line-height:1.72; }
.consumer-note { display:flex; align-items:center; gap:9px; margin-top:auto; padding-top:18px; color:var(--petrol-deep); border-top:1px solid var(--line); font-size:12px; font-weight:800; }
.consumer-note svg { width:20px; }
.turnaround { padding:88px 0; color:var(--white); background:var(--ink); }
.turnaround-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:90px; align-items:center; }
.turnaround-icon { display:block; width:64px; height:64px; margin-bottom:25px; color:var(--petrol); }
.turnaround-icon svg { width:100%; height:100%; }
.turnaround h2 { margin:0; font-size:clamp(42px,5vw,60px); line-height:1.08; letter-spacing:-.04em; }
.turnaround-intro>p:last-child { max-width:470px; margin:20px 0 0; color:#aeb9b7; line-height:1.72; }
.time-list { border-top:1px solid rgba(255,255,255,.14); }
.time-list>div { display:grid; grid-template-columns:45px 1fr auto; gap:16px; align-items:center; padding:24px 0; border-bottom:1px solid rgba(255,255,255,.14); }
.time-list>div>span { color:var(--petrol); font-size:10px; font-weight:850; letter-spacing:.15em; }
.time-list p { display:grid; gap:4px; margin:0; }
.time-list strong { font-size:15px; }
.time-list small { color:#92a09e; font-size:11px; }
.time-list b { color:var(--petrol); font-size:21px; white-space:nowrap; }
.consumer-transport { padding:92px 0; background:var(--white); }
.transport-grid { display:grid; grid-template-columns:140px 1fr; gap:52px; align-items:start; max-width:980px; }
.transport-icon { width:116px; color:var(--petrol); }
.transport-icon svg { width:100%; }
.transport-grid h2,.price-guide h2 { margin:0; color:var(--ink); font-size:clamp(38px,4.5vw,56px); line-height:1.08; letter-spacing:-.04em; }
.transport-grid>div>p:nth-of-type(2) { margin:18px 0 0; color:var(--muted); }
.transport-grid ul { display:grid; gap:13px; margin:24px 0 0; padding:0; list-style:none; }
.transport-grid li { display:flex; gap:12px; align-items:flex-start; }
.transport-grid li svg { flex:0 0 22px; width:22px; color:var(--petrol-deep); }
.phone-note { margin:25px 0 0!important; padding:16px 18px; background:var(--pale); border-radius:9px; font-size:14px; }
.phone-note a { color:var(--petrol-deep); font-weight:900; }
.price-guide { padding:70px 0; background:#f0f5f4; border-top:1px solid var(--line); }
.price-guide-inner { display:grid; grid-template-columns:1fr auto; gap:50px; align-items:center; }
.price-guide p:last-child { margin:16px 0 0; color:var(--muted); }
.consumer-services .eyebrow,.consumer-transport .eyebrow,.price-guide .eyebrow { color:var(--petrol-deep); }
.terms-page { padding:78px 0 100px; }
.terms-layout { display:grid; grid-template-columns:250px 1fr; gap:72px; align-items:start; }
.terms-toc { position:sticky; top:24px; padding:23px; background:var(--white); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); }
.terms-toc>p { margin:0 0 14px; color:var(--ink); font-size:13px; font-weight:900; }
.terms-toc nav { display:grid; }
.terms-toc a { display:grid; grid-template-columns:28px 1fr; gap:8px; padding:10px 0; color:var(--muted); border-bottom:1px solid var(--line); font-size:12px; line-height:1.35; }
.terms-toc a:last-child { border-bottom:0; }
.terms-toc a:hover { color:var(--petrol-deep); }
.terms-toc span { color:var(--petrol-deep); font-size:9px; font-weight:850; letter-spacing:.12em; }
.terms-content { display:grid; gap:18px; }
.terms-content>article { scroll-margin-top:24px; padding:31px 32px; background:var(--white); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); }
.term-number { display:block; margin-bottom:13px; color:var(--petrol-deep); font-size:10px; font-weight:850; letter-spacing:.18em; }
.terms-content h2 { margin:0; color:var(--ink); font-size:29px; line-height:1.18; letter-spacing:-.03em; }
.terms-content>article>p { margin:15px 0 0; color:var(--graphite); line-height:1.75; }
.term-note { display:flex; gap:13px; align-items:flex-start; margin-top:20px; padding:17px 18px; background:var(--pale); border:1px solid #cfe8e6; border-radius:10px; }
.term-note svg { flex:0 0 27px; width:27px; color:var(--petrol-deep); }
.term-note p { margin:1px 0 0; font-size:14px; line-height:1.6; }
.payment-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:22px; }
.payment-grid>div { padding:23px; background:#f5f8f7; border:1px solid var(--line); border-radius:11px; }
.payment-grid>div>span { display:block; width:47px; height:47px; margin-bottom:17px; color:var(--petrol); }
.payment-grid svg { width:100%; height:100%; }
.payment-grid h3 { margin:0; color:var(--ink); font-size:20px; }
.payment-grid p { margin:12px 0 0; color:var(--muted); font-size:13px; line-height:1.65; }
.phone-term { display:flex; align-items:center; gap:20px; margin-top:21px; padding:22px; background:var(--pale); border-radius:11px; }
.phone-term>span { flex:0 0 48px; width:48px; height:48px; color:var(--petrol-deep); }
.phone-term svg { width:100%; height:100%; }
.phone-term p { margin:0 0 9px; }
.phone-term a { display:inline-flex; align-items:center; gap:8px; color:var(--petrol-deep); font-weight:900; }
.phone-term a svg { width:18px; }
.faq-hero { padding:72px 0 80px; }
.faq-hero-grid { display:grid; grid-template-columns:1fr auto; gap:60px; align-items:center; }
.faq-hero h1 { margin:0; font-size:clamp(58px,7vw,90px); line-height:1; letter-spacing:-.052em; }
.faq-hero p:not(.eyebrow) { max-width:700px; margin:24px 0 0; color:#c1ccca; font-size:17px; line-height:1.72; }
.faq-hero-icon { width:150px; height:150px; color:var(--petrol); }
.faq-hero-icon svg { width:100%; height:100%; }
.faq-quick { padding:34px 0; background:var(--pale); border-bottom:1px solid #cfe8e6; }
.faq-quick-inner { display:grid; grid-template-columns:58px 1fr auto; gap:22px; align-items:center; }
.faq-quick-inner>span { width:52px; height:52px; display:grid; place-items:center; color:var(--petrol-deep); background:var(--white); border:1px solid #cfe8e6; border-radius:50%; }
.faq-quick-inner>span svg { width:28px; }
.faq-quick h2 { margin:0; color:var(--ink); font-size:25px; letter-spacing:-.025em; }
.faq-quick div>p:last-child { margin:7px 0 0; color:var(--muted); font-size:13px; }
.faq-quick .eyebrow { margin-bottom:7px; }
.faq-quick .text-arrow { margin:0; white-space:nowrap; }
.faq-list { padding:90px 0 100px; }
.faq-layout { display:grid; grid-template-columns:.7fr 1.3fr; gap:76px; align-items:start; }
.faq-intro { position:sticky; top:25px; }
.faq-intro h2 { margin:0; color:var(--ink); font-size:clamp(38px,4.5vw,54px); line-height:1.08; letter-spacing:-.04em; }
.faq-intro>p:last-child { margin:20px 0 0; color:var(--muted); line-height:1.72; }
.faq-items { border-top:1px solid var(--line); }
.faq-items details { border-bottom:1px solid var(--line); }
.faq-items summary { position:relative; display:grid; grid-template-columns:42px 1fr 28px; gap:12px; align-items:center; padding:24px 0; color:var(--ink); cursor:pointer; list-style:none; font-size:16px; font-weight:850; line-height:1.4; }
.faq-items summary::-webkit-details-marker { display:none; }
.faq-items summary>span { color:var(--petrol-deep); font-size:10px; letter-spacing:.14em; }
.faq-items summary i { position:relative; width:26px; height:26px; border:1px solid #cfd8d7; border-radius:50%; }
.faq-items summary i::before,.faq-items summary i::after { content:""; position:absolute; background:var(--petrol-deep); }
.faq-items summary i::before { width:10px; height:1.5px; left:7px; top:11px; }
.faq-items summary i::after { width:1.5px; height:10px; left:11px; top:7px; transition:transform .2s ease; }
.faq-items details[open] summary i::after { transform:rotate(90deg); }
.faq-items details[open] summary { color:var(--petrol-deep); }
.faq-answer { padding:0 42px 24px 54px; color:var(--graphite); }
.faq-answer p { margin:0 0 13px; line-height:1.72; }
.faq-answer p:last-child { margin-bottom:0; }
.faq-answer ul { display:grid; gap:8px; margin:14px 0 17px; padding-left:20px; }
.faq-answer a { color:var(--petrol-deep); font-weight:900; }
.transport-book { margin-top:18px; }
.booking-hero { padding:70px 0 78px; }
.booking-hero-grid { display:grid; grid-template-columns:1fr auto; gap:70px; align-items:center; }
.booking-hero h1 { margin:0; font-size:clamp(58px,7vw,88px); line-height:1; letter-spacing:-.052em; }
.booking-hero-grid>div>p:not(.eyebrow) { max-width:680px; margin:24px 0 0; color:#c1ccca; font-size:17px; line-height:1.72; }
.booking-hero-icon { width:170px; color:var(--petrol); }
.booking-hero-icon svg { width:100%; }
.booking-days { display:flex; gap:12px; margin-top:28px; }
.booking-days span { display:grid; gap:3px; padding:12px 15px; color:#b8c4c2; border:1px solid rgba(255,255,255,.14); border-radius:9px; font-size:12px; }
.booking-days b { color:var(--white); font-size:14px; }
.booking-info { padding:20px 0 24px; background:var(--pale); border-bottom:1px solid #cfe8e6; }
.booking-coverage-head { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; padding-bottom:14px; }
.booking-coverage-head .eyebrow { margin:0; }
.booking-coverage-head>p:last-child { margin:0; color:var(--muted); font-size:14px; font-weight:650; }
.booking-coverage-list { display:grid; grid-template-columns:repeat(6,max-content); align-items:center; justify-content:space-between; gap:clamp(6px,1.4vw,18px); margin-top:0; margin-bottom:0; padding-top:13px; padding-bottom:13px; list-style:none; border-top:1px solid rgba(9,140,146,.2); border-bottom:1px solid rgba(9,140,146,.2); }
.booking-coverage-list li { display:flex; align-items:center; color:var(--ink); font-size:clamp(18px,2.8vw,48px); line-height:1; font-weight:780; letter-spacing:-.05em; white-space:nowrap; }
.booking-coverage-list li:not(:last-child)::after { content:""; width:6px; height:6px; margin-left:clamp(6px,1.2vw,18px); background:var(--petrol); border-radius:50%; box-shadow:0 0 12px rgba(19,167,174,.3); }
.booking-area { padding:88px 0 100px; }
.booking-layout { display:grid; grid-template-columns:300px 1fr; gap:58px; align-items:start; }
.booking-layout>aside { position:sticky; top:24px; }
.booking-layout>aside h2 { margin:0; color:var(--ink); font-size:34px; line-height:1.1; letter-spacing:-.035em; }
.booking-layout>aside ol { display:grid; gap:15px; margin:28px 0 0; padding:0; list-style:none; }
.booking-layout>aside li { display:grid; grid-template-columns:32px 1fr; gap:12px; align-items:center; color:var(--graphite); font-size:13px; line-height:1.5; }
.booking-layout>aside li span { width:30px; height:30px; display:grid; place-items:center; color:var(--petrol-deep); background:var(--pale); border-radius:50%; font-size:11px; font-weight:900; }
.booking-aside-note { margin-top:28px; padding:18px; background:var(--white); border:1px solid var(--line); border-radius:11px; }
.booking-aside-note strong { color:var(--ink); font-size:13px; }
.booking-aside-note p { margin:7px 0 0; color:var(--muted); font-size:12px; line-height:1.6; }
.booking-aside-note a { color:var(--petrol-deep); font-weight:850; }
.booking-window-note { margin-top:12px; background:var(--pale); border-color:#cfe7e5; box-shadow:inset 3px 0 0 var(--petrol); }
.booking-form { display:grid; gap:18px; }
.booking-step { padding:30px; background:var(--white); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); }
.step-head { display:grid; grid-template-columns:42px 1fr; gap:12px; align-items:start; margin-bottom:24px; }
.step-head>span { padding-top:7px; color:var(--petrol-deep); font-size:10px; font-weight:900; letter-spacing:.14em; }
.step-head h2 { margin:0; color:var(--ink); font-size:27px; letter-spacing:-.03em; }
.step-head p { margin:6px 0 0; color:var(--muted); font-size:13px; }
.slot-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.slot-grid label { display:grid; gap:5px; padding:16px; border:1px solid var(--line); border-radius:10px; cursor:pointer; transition:border-color .2s,background .2s; }
.slot-grid label:hover,.slot-grid label.selected { border-color:var(--petrol); background:var(--pale); }
.booking-form .slot-grid input { position:absolute; width:auto; margin:0; padding:0; opacity:0; pointer-events:none; }
.slot-grid span { color:var(--ink); font-size:13px; font-weight:850; text-transform:capitalize; }
.slot-grid strong { color:var(--petrol-deep); font-size:19px; }
.slot-grid small { color:var(--muted); font-size:11px; }
.slot-status { margin:0; padding:18px; color:var(--muted); background:#f5f8f7; border-radius:9px; }
.return-preview { display:grid; grid-template-columns:46px minmax(0,1fr) minmax(225px,auto); align-items:center; gap:18px; margin-top:18px; padding:20px; color:var(--white); background:linear-gradient(135deg,var(--ink),#173233); border:1px solid rgba(19,167,174,.65); border-radius:12px; box-shadow:0 13px 30px rgba(17,23,24,.14); }
.return-preview-icon { width:44px; height:44px; display:grid; place-items:center; color:var(--ink); background:var(--petrol); border-radius:50%; font-size:22px; font-weight:950; }
.return-preview-copy { display:grid; gap:5px; }
.return-preview-copy strong { color:var(--white); font-size:15px; line-height:1.25; }
.return-preview-copy small { color:#b9c8c6; font-size:11px; line-height:1.5; }
.return-preview-date { display:grid; gap:3px; padding-left:20px; border-left:1px solid rgba(255,255,255,.16); text-align:right; }
.return-preview-date span { color:var(--petrol); font-size:10px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.return-preview-date strong { color:var(--white); font-size:14px; line-height:1.35; text-transform:capitalize; }
.return-preview-date b { color:var(--white); font-size:17px; }
.return-preview.unavailable { border-color:#d7a62c; background:linear-gradient(135deg,#332b19,#493b1b); }
.return-preview.unavailable .return-preview-icon { background:#f1c354; }
.booking-form label { color:var(--ink); font-size:13px; font-weight:800; }
.booking-form input,.booking-form select,.booking-form textarea { width:100%; margin-top:8px; padding:13px 14px; color:var(--graphite); background:#fbfcfa; border:1px solid var(--line); border-radius:8px; font:inherit; font-size:14px; }
.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus { outline:2px solid rgba(19,167,174,.25); border-color:var(--petrol); }
.service-area-card { display:grid; gap:6px; margin-bottom:20px; padding:18px 20px; background:var(--pale); border:1px solid #c7e5e2; border-radius:10px; }
.service-area-card strong { color:var(--ink); font-size:14px; }
.service-area-card p { margin:0; color:var(--petrol-deep); font-size:13px; font-weight:800; line-height:1.55; }
.address-fields { margin-top:18px; }
.product-choices { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:20px; }
.product-choices label { display:flex; align-items:center; gap:8px; padding:10px 12px; border:1px solid var(--line); border-radius:8px; font-weight:650; }
.product-choices label > span { display:grid; gap:2px; }
.product-choices label small { color:var(--muted); font-size:11px; font-weight:650; line-height:1.3; }
.product-choices input { width:auto; margin:0; accent-color:var(--petrol); }
.return-change-note { display:grid; gap:4px; margin:-8px 0 20px; padding:14px 16px; color:#123739; background:#e7f4f3; border:1px solid #9bcfce; border-radius:9px; }
.return-change-note strong { font-size:12px; }
.return-change-note p { margin:0; font-size:12px; line-height:1.55; }
.return-change-note.unavailable { color:#674b0b; background:#fff8df; border-color:#e9d99f; }
.accessory-transport-note { display:grid; gap:4px; margin:-8px 0 20px; padding:14px 16px; color:#674b0b; background:#fff8df; border:1px solid #e9d99f; border-radius:9px; }
.accessory-transport-note strong { font-size:12px; }
.accessory-transport-note p { margin:0; font-size:12px; line-height:1.55; }
.terms-check { display:flex; align-items:flex-start; gap:10px; padding:4px 6px; color:var(--graphite)!important; font-weight:650!important; line-height:1.5; }
.terms-check input { flex:0 0 auto; width:auto; margin:3px 0 0; accent-color:var(--petrol); }
.terms-check a { color:var(--petrol-deep); text-decoration:underline; }
.booking-error { margin:0; padding:13px 15px; color:#8c3434; background:#fff1f1; border:1px solid #f0cdcd; border-radius:8px; font-size:13px; }
.booking-submit { justify-self:start; border:0; cursor:pointer; }
.booking-submit:disabled { opacity:.5; cursor:not-allowed; }
.booking-confirmation { padding:38px; background:var(--white); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); }
.booking-confirmation>span { color:var(--petrol-deep); font-size:11px; font-weight:900; letter-spacing:.17em; text-transform:uppercase; }
.booking-confirmation h2 { margin:9px 0 27px; color:var(--ink); font-size:36px; letter-spacing:-.035em; }
.booking-confirmation>p { margin:0 0 6px; color:var(--muted); font-size:12px; }
.booking-confirmation>strong { display:block; color:var(--petrol-deep); font-size:22px; }
.booking-confirmation dl { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:25px 0; }
.booking-confirmation dl>div { padding:18px; background:#f5f8f7; border-radius:10px; }
.booking-confirmation dt { color:var(--muted); font-size:11px; }
.booking-confirmation dd { margin:6px 0 0; color:var(--ink); font-size:14px; font-weight:850; text-transform:capitalize; }
.confirmation-email { margin:18px 0 0!important; padding:13px 15px; border-radius:9px; font-size:12px!important; font-weight:750; }
.confirmation-email.sent { color:#17634c; background:#eaf8f2; border:1px solid #cceade; }
.confirmation-email.pending { color:#725510; background:#fff8df; border:1px solid #eee0a9; }
.confirmation-note { margin:0 0 24px!important; padding:15px; color:var(--graphite)!important; background:var(--pale); border-radius:9px; font-size:13px!important; }
.transport-terms { padding:25px 0; color:var(--muted); background:#f0f5f4; border-top:1px solid var(--line); }
.transport-terms p { margin:0; font-size:12px; text-align:center; }
.transport-terms a { color:var(--petrol-deep); font-weight:850; }
.contact-page { position:relative; }
.contact-bubbles { position:absolute; inset:0; z-index:25; overflow:hidden; pointer-events:none; }
.contact-bubble { position:absolute; width:48px; height:48px; padding:0; pointer-events:auto; cursor:pointer; background:transparent; border:0; border-radius:50%; }
.contact-bubble>b { position:absolute; inset:0; display:block; overflow:hidden; pointer-events:none; background:radial-gradient(circle at 33% 28%,rgba(255,255,255,.95) 0 5%,rgba(157,244,246,.26) 17%,rgba(91,199,205,.14) 47%,rgba(255,255,255,.07) 64%,rgba(40,147,160,.25) 75%,rgba(255,255,255,.38) 78%,transparent 82%); border-radius:50%; filter:drop-shadow(0 7px 10px rgba(22,92,98,.15)); opacity:.68; animation:bubble-float 6.5s ease-in-out infinite; transition:opacity .2s ease; }
.contact-bubble:hover>b { opacity:.93; animation-play-state:paused; }
.contact-bubble:focus-visible { outline:2px solid var(--petrol); outline-offset:4px; }
.contact-bubble:focus-visible>b { opacity:1; animation-play-state:paused; }
.contact-bubble b>span { position:absolute; top:17%; left:22%; width:20%; height:11%; background:rgba(255,255,255,.83); border-radius:50%; transform:rotate(-28deg); filter:blur(.4px); }
.contact-bubble b>i { position:absolute; right:13%; bottom:17%; width:38%; height:13%; background:linear-gradient(90deg,rgba(255,142,190,.48),rgba(255,230,147,.42),rgba(102,223,224,.45)); border-radius:50%; transform:rotate(-45deg); filter:blur(2px); }
.contact-bubble.bubble-1 { top:15.5%; left:5.5%; width:43px; height:43px; }
.contact-bubble.bubble-1>b { animation-delay:-1.4s; }
.contact-bubble.bubble-2 { top:48%; right:5%; width:56px; height:56px; }
.contact-bubble.bubble-2>b { animation-delay:-3.7s; }
.contact-bubble.bubble-3 { top:76%; left:8%; width:38px; height:38px; }
.contact-bubble.bubble-3>b { animation-delay:-5.1s; }
.contact-bubble.popped { pointer-events:none; }
.contact-bubble.popped>b { animation:bubble-pop .48s ease-out forwards; }
.secret-game-reopen { position:fixed; right:18px; bottom:20px; z-index:150; display:flex; align-items:center; gap:8px; padding:10px 14px 10px 10px; color:#eafafa; background:rgba(13,25,26,.92); border:1px solid rgba(115,223,226,.35); border-radius:999px; box-shadow:0 12px 35px rgba(0,0,0,.24); cursor:pointer; font:inherit; font-size:11px; font-weight:850; letter-spacing:.04em; }
.secret-game-reopen span { width:27px; height:27px; display:grid; place-items:center; color:var(--petrol); border:1px solid rgba(255,255,255,.28); border-radius:50%; font-size:22px; }
.wash-game-overlay { position:fixed; inset:0; z-index:1000; overflow:auto; overscroll-behavior:contain; padding:24px; background:rgba(5,12,13,.9); backdrop-filter:blur(10px); }
.wash-game { position:relative; width:min(980px,100%); min-height:calc(100dvh - 48px); margin:0 auto; overflow:hidden; padding:42px clamp(20px,4vw,52px) 35px; color:var(--white); background:linear-gradient(145deg,#101a1b,#0b1112 72%); border:1px solid rgba(255,255,255,.14); border-radius:22px; box-shadow:0 40px 100px rgba(0,0,0,.48); }
.wash-game-close { position:absolute; top:18px; right:18px; z-index:5; width:42px; height:42px; padding:0; color:#dbe7e5; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.13); border-radius:50%; cursor:pointer; font:300 28px/1 Arial,sans-serif; }
.wash-game>header { max-width:730px; padding-right:50px; }
.wash-game>header p { margin:0 0 7px; color:var(--petrol); font-size:10px; font-weight:900; letter-spacing:.17em; text-transform:uppercase; }
.wash-game>header h2 { margin:0; color:#fff; font-size:clamp(34px,5vw,55px); line-height:1.02; letter-spacing:-.045em; }
.wash-game>header>span { display:block; margin-top:13px; color:#b9c7c5; font-size:14px; line-height:1.65; }
.wash-game-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin:26px 0 17px; }
.wash-game-steps>div { display:flex; align-items:center; gap:9px; min-width:0; padding:10px 11px; color:#758380; background:rgba(255,255,255,.035); border:1px solid rgba(255,255,255,.07); border-radius:9px; }
.wash-game-steps i { flex:0 0 24px; width:24px; height:24px; display:grid; place-items:center; border:1px solid currentColor; border-radius:50%; font-style:normal; font-size:10px; font-weight:900; }
.wash-game-steps span { overflow:hidden; font-size:10px; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }
.wash-game-steps .current { color:#fff; background:rgba(20,169,176,.16); border-color:rgba(58,205,211,.38); }
.wash-game-steps .current i { color:#0b1718; background:var(--petrol); border-color:var(--petrol); }
.wash-game-steps .done { color:#83cebd; }
.wash-game-mat { position:relative; width:min(820px,100%); aspect-ratio:1.72; margin:0 auto; overflow:hidden; touch-action:none; user-select:none; background:radial-gradient(circle at 16% 22%,rgba(29,18,11,.42) 0 8%,transparent 17%),radial-gradient(circle at 74% 58%,rgba(37,20,11,.48) 0 7%,transparent 18%),radial-gradient(circle at 45% 82%,rgba(35,23,15,.42) 0 9%,transparent 20%),repeating-linear-gradient(28deg,#80664e 0 7px,#6e5742 7px 14px,#755c45 14px 20px); border:10px solid #352a21; border-radius:11px; box-shadow:0 18px 50px rgba(0,0,0,.4),inset 0 0 0 2px rgba(255,255,255,.05); cursor:none; }
.wash-game-mat::after { content:""; position:absolute; inset:0; z-index:4; pointer-events:none; box-shadow:inset 0 0 42px rgba(0,0,0,.28); }
.wash-game-mat.stage-1 { background:radial-gradient(circle at 16% 22%,rgba(29,18,11,.3) 0 8%,transparent 17%),repeating-linear-gradient(28deg,#7d6651 0 7px,#6f5947 7px 14px,#765f4b 14px 20px); }
.wash-game-mat.stage-2 { background:repeating-linear-gradient(28deg,#2c979a 0 7px,#21878c 7px 14px,#2a9195 14px 20px); border-color:#17494c; }
.wash-game-grid { position:absolute; inset:0; z-index:2; display:grid; grid-auto-rows:1fr; }
.wash-game-grid i { display:block; min-width:0; min-height:0; transition:opacity .2s ease,background .28s ease; }
.wash-game-mat.stage-0 .wash-game-grid i.treated { background:radial-gradient(circle at 28% 34%,rgba(255,255,255,.87) 0 5%,transparent 6%),radial-gradient(circle at 70% 67%,rgba(183,246,246,.78) 0 8%,transparent 9%),rgba(46,187,190,.22); box-shadow:inset 0 0 8px rgba(200,255,255,.2); }
.wash-game-mat.stage-1 .wash-game-grid i.treated { background:radial-gradient(circle at 22% 32%,#fff 0 10%,transparent 12%),radial-gradient(circle at 69% 65%,rgba(255,255,255,.95) 0 16%,transparent 18%),radial-gradient(circle at 48% 15%,rgba(220,250,248,.92) 0 13%,transparent 15%),rgba(221,250,248,.63); filter:drop-shadow(0 0 4px rgba(255,255,255,.55)); }
.wash-game-mat.stage-2 .wash-game-grid i { background:radial-gradient(circle at 24% 32%,#fff 0 13%,transparent 15%),radial-gradient(circle at 72% 68%,#e7fbfa 0 18%,transparent 20%),rgba(222,250,248,.7); }
.wash-game-mat.stage-2 .wash-game-grid i.treated { opacity:0; }
.wash-game-tool { position:absolute; z-index:5; width:85px; height:68px; pointer-events:none; transform:translate(-50%,-50%) rotate(-5deg); filter:drop-shadow(0 9px 7px rgba(0,0,0,.35)); transition:left .045s linear,top .045s linear; }
.wash-game-tool svg { width:100%; height:100%; overflow:visible; fill:#17a8ae; stroke:#e7fffe; stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; }
.wash-game-tool .drops,.wash-game-tool .spray { fill:none; stroke:#7ee7ef; stroke-width:3; }
.wash-game-mat.stage-1 .wash-game-tool { width:76px; transform:translate(-50%,-62%) rotate(-8deg); }
.wash-game-mat.stage-1 .wash-game-tool svg { fill:#182324; }
.wash-game-mat.stage-1.dragging .wash-game-tool svg circle { transform-origin:47px 53px; animation:brush-spin .35s linear infinite; }
.wash-game-mat.stage-2 .wash-game-tool { width:88px; transform:translate(-44%,-53%) rotate(-8deg); }
.wash-game-mat.stage-2 .wash-game-tool svg { fill:#176e74; }
.wash-game-mat.stage-complete { animation:mat-ready .72s ease; }
.wash-stage-message { position:absolute; inset:0; z-index:8; display:flex; align-items:center; justify-content:center; gap:12px; color:#fff; background:rgba(8,42,43,.62); backdrop-filter:blur(2px); font-size:24px; font-weight:900; letter-spacing:-.02em; }
.wash-stage-message strong { width:39px; height:39px; display:grid; place-items:center; color:#0d3436; background:#83e1d7; border-radius:50%; }
.wash-game-progress { width:min(820px,100%); display:grid; grid-template-columns:1fr auto; align-items:center; gap:12px; margin:14px auto 0; }
.wash-game-progress>div { height:8px; overflow:hidden; background:rgba(255,255,255,.09); border-radius:999px; }
.wash-game-progress i { height:100%; display:block; background:linear-gradient(90deg,#148f95,#67d9d5); border-radius:inherit; transition:width .18s ease; }
.wash-game-progress span { color:#aebbb9; font-size:10px; font-weight:800; }
.wash-game-hint { margin:9px 0 0; color:#788783; font-size:10px; text-align:center; }
.wash-game-reward { max-width:760px; display:grid; grid-template-columns:.75fr 1.25fr; align-items:center; gap:34px; margin:35px auto 0; }
.clean-mat-celebration { position:relative; aspect-ratio:.75; display:grid; place-items:center; overflow:hidden; color:#e8ffff; background:repeating-linear-gradient(28deg,#2a989c 0 8px,#21868b 8px 16px,#2d9296 16px 24px); border:10px solid #17494c; border-radius:10px; box-shadow:0 25px 55px rgba(0,0,0,.32),0 0 55px rgba(35,191,194,.15); transform:rotate(-2deg); }
.clean-mat-celebration>span { font-size:11px; font-weight:900; letter-spacing:.19em; }
.clean-mat-celebration i { position:absolute; width:8px; height:8px; background:#eaffff; border-radius:50%; box-shadow:0 0 14px #fff; animation:clean-spark 2.2s ease-in-out infinite; }
.clean-mat-celebration i:nth-of-type(1) { top:18%; left:21%; }
.clean-mat-celebration i:nth-of-type(2) { top:36%; right:17%; animation-delay:-.7s; }
.clean-mat-celebration i:nth-of-type(3) { bottom:20%; left:35%; animation-delay:-1.3s; }
.coupon-form,.coupon-success { padding:27px; color:var(--graphite); background:#fff; border-radius:15px; box-shadow:0 20px 55px rgba(0,0,0,.25); }
.coupon-form>div:first-child { display:flex; align-items:baseline; justify-content:space-between; gap:15px; margin-bottom:17px; padding-bottom:15px; border-bottom:1px solid var(--line); }
.coupon-form>div:first-child p { margin:0; color:var(--petrol-deep); font-size:25px; font-weight:900; }
.coupon-form>div:first-child span { color:var(--muted); font-size:10px; text-align:right; }
.coupon-form label { display:block; margin-top:12px; color:var(--ink); font-size:11px; font-weight:850; }
.coupon-form input { width:100%; margin-top:6px; padding:11px 12px; color:var(--ink); background:#f7f9f8; border:1px solid #d5dfdd; border-radius:8px; font:inherit; font-size:13px; }
.coupon-form input:focus { outline:2px solid rgba(19,167,174,.23); border-color:var(--petrol); }
.coupon-honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.coupon-terms { margin:14px 0 0; color:var(--muted); font-size:9px; line-height:1.55; }
.coupon-error { margin:12px 0 0; padding:10px; color:#842f2f; background:#fff0f0; border-radius:7px; font-size:11px; }
.coupon-form>button,.coupon-success button { width:100%; min-height:43px; margin-top:16px; color:#fff; background:var(--petrol-deep); border:0; border-radius:8px; cursor:pointer; font:inherit; font-size:11px; font-weight:900; }
.coupon-form>button:disabled { cursor:wait; opacity:.65; }
.coupon-success { text-align:center; }
.coupon-success>span { display:block; color:#17634c; font-size:11px; font-weight:850; }
.coupon-success>strong { display:block; margin:13px 0; color:var(--petrol-deep); font-size:29px; letter-spacing:.07em; }
.coupon-success p { margin:0; color:var(--muted); font-size:11px; line-height:1.6; }
.coupon-success button { color:var(--ink); background:#dff3f1; }
.contact-hero { overflow:hidden; padding:70px 0 78px; }
.contact-hero-grid { display:grid; grid-template-columns:1.05fr .75fr; align-items:center; gap:80px; }
.contact-hero h1 { margin:0; color:var(--white); font-size:clamp(62px,8vw,100px); line-height:.95; letter-spacing:-.055em; }
.contact-hero-grid>div:first-child>p:not(.eyebrow) { max-width:620px; margin:24px 0 0; color:#bec9c7; font-size:17px; line-height:1.72; }
.contact-location-card { position:relative; min-height:350px; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; padding:35px; background:linear-gradient(145deg,#162123,#101718); border:1px solid rgba(255,255,255,.12); border-radius:var(--radius); box-shadow:0 28px 70px rgba(0,0,0,.28); animation:content-rise .7s .12s ease-out both; }
.contact-location-card::before { content:""; position:absolute; inset:23px 23px auto auto; width:112px; height:3px; background:var(--petrol); }
.contact-location-icon { position:absolute; top:35px; left:34px; width:84px; height:84px; color:var(--petrol); }
.contact-location-icon svg { width:100%; height:100%; stroke-width:1.45; }
.contact-location-card>p { margin:0 0 8px; color:var(--petrol); font-size:10px; font-weight:850; letter-spacing:.18em; text-transform:uppercase; }
.contact-location-card h2 { margin:0; color:var(--white); font-size:39px; line-height:1.04; letter-spacing:-.04em; }
.contact-route { position:relative; display:flex; align-items:center; gap:12px; margin-top:22px; padding-top:18px; color:#b8c5c3; border-top:1px solid rgba(255,255,255,.1); font-size:13px; }
.contact-route i { width:9px; height:9px; display:block; background:var(--petrol); border-radius:50%; box-shadow:0 0 0 5px rgba(19,167,174,.13); animation:location-pulse 2.4s ease-in-out infinite; }
.contact-details { padding:92px 0 98px; background:var(--warm); }
.contact-card-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.contact-card-grid article { min-height:290px; display:flex; flex-direction:column; padding:30px; background:var(--white); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease; }
.contact-card-grid article:hover { transform:translateY(-6px); border-color:#c4dedc; box-shadow:0 28px 70px rgba(17,23,24,.12); }
.contact-card-grid article>span { width:58px; height:58px; margin:0 0 30px auto; color:var(--petrol); }
.contact-card-grid article>span svg { width:100%; height:100%; }
.contact-card-grid small { color:#86918f; font-size:10px; font-weight:850; letter-spacing:.17em; text-transform:uppercase; }
.contact-card-grid h3 { margin:12px 0 0; color:var(--ink); font-size:21px; line-height:1.45; letter-spacing:-.025em; }
.contact-card-grid p { margin:13px 0 0; color:var(--muted); font-size:13px; line-height:1.65; }
.contact-card-grid article>a { display:inline-flex; align-items:center; gap:9px; margin-top:auto; padding-top:22px; color:var(--petrol-deep); font-size:13px; font-weight:850; }
.contact-card-grid article>a svg { width:18px; height:18px; }
.visit-us { padding:92px 0; background:var(--pale); border-top:1px solid #cfe8e6; border-bottom:1px solid #cfe8e6; }
.visit-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:22px; }
.opening-card,.arrival-card { min-height:440px; padding:36px; border-radius:var(--radius); }
.opening-card { position:relative; color:var(--white); background:var(--ink); box-shadow:0 25px 65px rgba(17,23,24,.18); }
.opening-card>span { position:absolute; top:34px; right:34px; width:68px; height:68px; color:var(--petrol); }
.opening-card>span svg { width:100%; height:100%; }
.opening-card h2,.arrival-card h2 { margin:0; font-size:35px; line-height:1.12; letter-spacing:-.035em; }
.opening-card h2 { max-width:300px; color:var(--white); }
.opening-card dl { margin:35px 0 24px; border-top:1px solid rgba(255,255,255,.12); }
.opening-card dl>div { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:16px 0; border-bottom:1px solid rgba(255,255,255,.12); }
.opening-card dt { color:#bac6c4; font-size:13px; }
.opening-card dd { margin:0; color:var(--white); font-size:17px; font-weight:850; }
.opening-card>p:last-child { margin:0; color:#aebbb9; font-size:13px; line-height:1.6; }
.arrival-card { display:grid; grid-template-columns:105px 1fr; align-items:center; gap:34px; background:rgba(255,255,255,.82); border:1px solid #cfe2e0; }
.arrival-icon { width:95px; height:95px; color:var(--petrol-deep); }
.arrival-icon svg { width:100%; height:100%; }
.arrival-card h2 { color:var(--ink); }
.arrival-card>div>p:not(.eyebrow) { margin:18px 0 26px; color:var(--graphite); line-height:1.75; }
.contact-company { padding:28px 0; color:#a8b5b3; background:#0d1314; border-bottom:1px solid rgba(255,255,255,.08); }
.contact-company>.shell { display:flex; align-items:center; gap:28px; font-size:12px; }
.contact-company p { margin:0; color:var(--white); font-weight:850; }
.contact-company a { margin-left:auto; color:var(--petrol); font-weight:800; }
.history-page { background:#f7f9f8; }
.history-page>.dark-shell { position:relative; isolation:isolate; overflow:hidden; }
.history-page>.dark-shell::after { content:""; position:absolute; z-index:-1; right:-12%; bottom:-45%; width:700px; height:700px; background:radial-gradient(circle,rgba(19,167,174,.14),transparent 67%); pointer-events:none; }
.history-hero { padding:82px 0 98px; }
.history-hero-grid { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(270px,.45fr); align-items:end; gap:76px; }
.history-hero h1 { max-width:850px; margin:0; font-size:clamp(51px,6vw,78px); line-height:1.01; letter-spacing:-.052em; }
.history-hero h1 span { color:#cbd6d4; }
.history-hero-copy>p:last-child { max-width:760px; margin:28px 0 0; color:#bcc8c6; font-size:17px; line-height:1.78; }
.history-year { position:relative; min-height:300px; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; padding:28px; background:linear-gradient(145deg,#1b3436,#142021); border:1px solid rgba(64,215,221,.22); border-radius:var(--radius); box-shadow:0 28px 75px rgba(0,0,0,.28); }
.history-year::before { content:""; position:absolute; top:-70px; right:-75px; width:210px; height:210px; border:1px solid rgba(59,214,220,.24); border-radius:50%; box-shadow:0 0 60px rgba(19,167,174,.14); }
.history-year small { color:var(--petrol); font-size:10px; font-weight:900; letter-spacing:.2em; text-transform:uppercase; }
.history-year strong { margin:5px 0 15px; color:#fff; font-size:78px; line-height:.95; letter-spacing:-.075em; }
.history-year span { padding-top:15px; color:#b9c6c4; border-top:1px solid rgba(255,255,255,.13); font-size:12px; line-height:1.55; }
.history-chapter { padding:110px 0; }
.history-chapter-grid { display:grid; grid-template-columns:250px minmax(0,1fr); gap:92px; }
.history-marker { display:flex; flex-direction:column; align-items:flex-start; }
.history-marker small { color:var(--petrol-deep); font-size:10px; font-weight:900; letter-spacing:.17em; text-transform:uppercase; }
.history-marker strong { margin-top:12px; color:var(--ink); font-size:72px; line-height:1; letter-spacing:-.065em; }
.history-marker i { width:1px; height:150px; margin:28px 0 0 7px; background:linear-gradient(var(--petrol),transparent); }
.history-chapter article { max-width:820px; }
.history-chapter h2,.history-trust h2,.history-founder h2,.history-community h2,.history-today h2 { margin:0; color:var(--ink); font-size:clamp(42px,5vw,62px); line-height:1.06; letter-spacing:-.046em; }
.history-chapter article>p:not(.eyebrow) { margin:22px 0 0; color:var(--muted); font-size:16px; line-height:1.82; }
.history-fire { position:relative; overflow:hidden; padding:108px 0 96px; color:#fff; background:#151d1e; }
.history-fire::after { content:"1990"; position:absolute; right:-20px; bottom:-65px; color:rgba(255,255,255,.025); font-size:260px; font-weight:900; line-height:1; letter-spacing:-.09em; pointer-events:none; }
.history-fire-flame { position:absolute; z-index:0; right:clamp(-90px,-3vw,-35px); top:-145px; width:clamp(420px,30vw,580px); aspect-ratio:499/1068; background:url("/pesu-kaksikko-historia-liekkipiirros.png") center/contain no-repeat; opacity:.05; transform:rotate(3deg); pointer-events:none; }
.history-fire-grid { position:relative; z-index:1; display:grid; grid-template-columns:1.05fr .95fr; gap:95px; align-items:start; }
.history-fire h2 { max-width:600px; margin:0; color:#fff; font-size:clamp(50px,6vw,76px); line-height:1.02; letter-spacing:-.052em; }
.history-fire-grid p { margin:0 0 20px; color:#bdc8c6; font-size:16px; line-height:1.8; }
.history-fire-statement { position:relative; z-index:1; margin:62px 0 0; padding:26px 0; color:#fff; border-top:1px solid rgba(255,255,255,.14); border-bottom:1px solid rgba(255,255,255,.14); font-size:clamp(30px,4vw,48px); font-weight:800; letter-spacing:-.04em; }
.history-fire-statement span { color:var(--petrol); }
.history-memory { position:relative; z-index:1; max-width:930px; margin:38px 0 0; padding:28px 32px; background:rgba(255,255,255,.045); border-left:3px solid var(--petrol); border-radius:0 12px 12px 0; }
.history-memory p { margin:0; color:#e6eceb; font-size:19px; line-height:1.72; }
.history-memory cite { display:block; margin-top:15px; color:var(--petrol); font-size:11px; font-style:normal; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.history-trust { padding:110px 0; background:#fff; }
.history-trust-grid { display:grid; grid-template-columns:1fr .85fr; gap:95px; align-items:end; }
.history-trust-copy p { margin:0 0 18px; color:var(--muted); font-size:16px; line-height:1.82; }
.history-trust-memory { margin:25px 0 24px; padding:22px 24px; background:var(--pale); border-left:3px solid var(--petrol); border-radius:0 12px 12px 0; }
.history-trust-memory p { margin:0; color:var(--graphite); font-size:16px; line-height:1.75; }
.history-trust-memory cite { display:block; margin-top:13px; color:var(--petrol-deep); font-size:10px; font-style:normal; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.history-founder { padding:82px 0; background:var(--pale); border-top:1px solid #cfe5e3; border-bottom:1px solid #cfe5e3; }
.history-founder-inner { display:grid; grid-template-columns:300px minmax(0,1fr); gap:85px; align-items:center; }
.history-founder-id { min-height:260px; display:flex; flex-direction:column; justify-content:flex-end; padding:28px; color:#fff; background:linear-gradient(145deg,#203032,#111718); border-radius:var(--radius); box-shadow:0 24px 65px rgba(17,23,24,.18); }
.history-founder-id small { color:var(--petrol); font-size:10px; font-weight:900; letter-spacing:.18em; text-transform:uppercase; }
.history-founder-id strong { margin:5px 0 22px; font-size:58px; line-height:1; letter-spacing:-.055em; }
.history-founder-id span { padding-top:16px; color:#b9c5c3; border-top:1px solid rgba(255,255,255,.13); font-size:12px; }
.history-founder-inner>div:last-child { max-width:770px; }
.history-founder-copy>p:not(.eyebrow) { margin:22px 0 0; color:var(--muted); font-size:16px; line-height:1.8; }
.history-family-members { display:grid; grid-template-columns:repeat(3,1fr); margin-top:30px; border-top:1px solid #bfdedb; border-bottom:1px solid #bfdedb; }
.history-family-members span { display:grid; gap:7px; padding:19px 17px; border-right:1px solid #bfdedb; }
.history-family-members span:first-child { padding-left:0; }
.history-family-members span:last-child { padding-right:0; border-right:0; }
.history-family-members small { color:var(--petrol-deep); font-size:9px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.history-family-members strong { color:var(--ink); font-size:18px; }
.history-community { position:relative; overflow:hidden; padding:100px 0; background:#fff; }
.history-community-cup { position:absolute; right:clamp(-95px,-3vw,-40px); bottom:-105px; width:clamp(380px,34vw,555px); aspect-ratio:1/1; background:rgba(7,137,145,.055); transform:rotate(-3deg); pointer-events:none; -webkit-mask:url("/pesu-kaksikko-kahvikuppi-sydanhoyry.webp") center/contain no-repeat; mask:url("/pesu-kaksikko-kahvikuppi-sydanhoyry.webp") center/contain no-repeat; }
.history-community>.shell { position:relative; z-index:1; }
.history-community-grid { display:grid; grid-template-columns:1fr .9fr; gap:95px; align-items:start; }
.history-community-copy p { margin:0 0 20px; color:var(--muted); font-size:16px; line-height:1.82; }
.history-community-heart { margin-left:.12em; color:var(--petrol-deep); }
.history-community-statement { display:flex; align-items:baseline; gap:15px; margin-top:54px; padding:25px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); font-size:clamp(27px,3.4vw,44px); line-height:1.15; letter-spacing:-.035em; }
.history-community-statement span { color:var(--ink); }
.history-community-statement strong { color:var(--petrol-deep); font-weight:800; }
.history-today { padding:110px 0; background:#f8faf9; }
.history-today-grid { display:grid; grid-template-columns:1.08fr .92fr; gap:82px; align-items:center; }
.history-today-photo { position:relative; height:540px; margin:0; overflow:hidden; background:#dce3e1; border-radius:var(--radius); box-shadow:0 28px 75px rgba(17,23,24,.13); }
.history-today-photo picture,.history-today-photo img { display:block; width:100%; height:100%; }
.history-today-photo img { object-fit:cover; object-position:center; }
.history-today-photo figcaption { position:absolute; left:22px; bottom:22px; display:grid; gap:4px; padding:14px 17px; color:var(--ink); background:rgba(255,255,255,.93); border-radius:9px; }
.history-today-photo figcaption small { color:var(--petrol-deep); font-size:9px; font-weight:900; letter-spacing:.17em; text-transform:uppercase; }
.history-today-photo figcaption strong { font-size:14px; }
.history-today-grid>div>p:not(.eyebrow) { margin:21px 0 0; color:var(--muted); font-size:15px; line-height:1.8; }
.history-today-tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:28px; }
.history-today-tags span { padding:9px 12px; color:var(--petrol-deep); background:var(--pale); border:1px solid #cde5e3; border-radius:999px; font-size:11px; font-weight:850; }
.history-promise { padding:82px 0; background:#f8faf9; }
.history-promise-inner { padding:65px; color:#fff; background:var(--ink); border:1px solid rgba(19,167,174,.3); border-radius:20px; box-shadow:0 30px 80px rgba(17,23,24,.2); }
.history-promise h2 { max-width:940px; margin:0; color:#fff; font-size:clamp(42px,5vw,64px); line-height:1.07; letter-spacing:-.048em; }
.history-promise h2 span { color:#c5d0ce; }
.history-promise-inner>p:not(.eyebrow) { max-width:790px; margin:24px 0 0; color:#b7c3c1; font-size:16px; line-height:1.75; }
.history-promise-inner>div { display:flex; flex-wrap:wrap; gap:13px; margin-top:32px; }
.history-button { color:#fff; border:1px solid rgba(255,255,255,.38); }
@media (max-width:980px) {
  .history-hero-grid,.history-chapter-grid,.history-fire-grid,.history-trust-grid,.history-founder-inner,.history-today-grid { grid-template-columns:1fr; gap:46px; }
  .history-year { width:min(430px,100%); min-height:250px; }
  .history-marker { display:grid; grid-template-columns:auto auto 1fr; align-items:center; gap:17px; }
  .history-marker strong { margin:0; font-size:48px; }.history-marker i { width:auto; height:1px; margin:0; background:linear-gradient(90deg,var(--petrol),transparent); }
  .history-fire-grid,.history-trust-grid { gap:36px; }
  .history-founder-inner { grid-template-columns:260px 1fr; gap:45px; }
  .history-today-grid { gap:52px; }
  .history-today-photo { height:480px; }
  .business-portal-grid,.fit-grid,.pricing-inner,.quote-grid { grid-template-columns:1fr; gap:44px; }
  .business-service-models-inner { grid-template-columns:1fr; gap:26px; }
  .business-service-models-inner>header { padding-top:0; }
  .business-service-model-link { grid-column:1; }
  .business-service-points { grid-template-columns:1fr; }
  .business-service-points small { min-height:0; }
  .textile-service-grid { grid-template-columns:1fr 1fr; }
  .textile-service-card:last-child { grid-column:1/-1; min-height:auto; }
  .business-secondary-service-inner { grid-template-columns:1fr; gap:28px; }
  .business-hero-banner,.business-photo { height:500px; min-height:500px; }
  .logistics-grid { grid-template-columns:90px 1fr; }
  .extra-services { grid-column:2; }
  .mat-hero-grid,.mat-product-overview { grid-template-columns:1fr; gap:44px; }
  .mat-hero-products { width:min(700px,100%); }
  .mat-benefit-grid { grid-template-columns:1fr 1fr; }
  .mat-product-overview.reverse>div,.mat-product-overview.reverse>aside { order:initial; }
  .product-spec-card { width:min(560px,100%); min-height:390px; }
  .mat-color-modal-grid { grid-template-columns:repeat(3,1fr); }
  .consumer-hero-grid,.turnaround-grid { grid-template-columns:1fr; gap:44px; }
  .consumer-photo { height:390px; }
  .consumer-service-grid { grid-template-columns:1fr 1fr; }
  .consumer-service-grid article:last-child { grid-column:1/-1; min-height:340px; }
  .terms-layout { grid-template-columns:1fr; gap:30px; }
  .terms-toc { position:static; }
  .terms-toc nav { grid-template-columns:1fr 1fr; column-gap:24px; }
  .faq-layout { grid-template-columns:1fr; gap:42px; }
  .faq-intro { position:static; max-width:680px; }
  .booking-coverage-head { align-items:flex-start; flex-direction:column; gap:8px; }
  .booking-layout { grid-template-columns:1fr; gap:38px; }
  .booking-layout>aside { position:static; }
  .contact-hero-grid,.visit-grid { grid-template-columns:1fr; gap:36px; }
  .contact-location-card { max-width:700px; }
  .contact-card-grid { grid-template-columns:1fr 1fr; }
  .contact-card-grid article:last-child { grid-column:1/-1; min-height:250px; }
  .contact-bubble.bubble-1 { top:13%; left:3%; }.contact-bubble.bubble-2 { right:2%; }.contact-bubble.bubble-3 { left:4%; }

}
.price-page { background:var(--warm); }
.price-hero { padding:70px 0 76px; }
.price-hero-grid { display:grid; grid-template-columns:1fr 260px; align-items:center; gap:70px; }
.price-hero h1 { margin:0; color:white; font-size:clamp(56px,7vw,84px); line-height:1; letter-spacing:-.05em; }
.price-hero p:not(.eyebrow) { max-width:650px; margin:20px 0 0; color:#c7d0cf; font-size:18px; }
.price-hero-icon { justify-self:end; width:190px; height:190px; color:var(--petrol); }
.price-hero-icon svg,.price-icon svg { width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.price-intro { padding:42px 0 25px; }
.price-intro-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:18px; }
.price-intro-card { padding:27px 29px; border:1px solid var(--line); border-radius:14px; background:#fff; box-shadow:0 18px 50px rgba(17,23,24,.055); }
.price-intro-card p { margin:0 0 11px; }
.price-intro-card p:last-child { margin-bottom:0; }
.price-checks { display:grid; gap:12px; }
.price-checks p { display:flex; align-items:flex-start; gap:12px; }
.price-checks span,.price-extra span { flex:0 0 23px; width:23px; height:23px; display:grid; place-items:center; border:1.5px solid var(--petrol); border-radius:50%; color:var(--petrol); font-weight:900; font-size:12px; }
.price-jump { display:flex; flex-wrap:wrap; gap:10px; padding:19px 0 18px; }
.price-jump a { padding:9px 13px; border:1px solid var(--line); border-radius:8px; background:#fff; color:var(--graphite); font-size:13px; font-weight:750; transition:.2s ease; }
.price-jump a:hover { border-color:var(--petrol); color:var(--petrol-deep); }
.price-content { padding-bottom:70px; scroll-margin-top:20px; }
.price-section { margin-bottom:24px; padding:30px; border:1px solid var(--line); border-radius:14px; background:#fff; box-shadow:0 18px 50px rgba(17,23,24,.055); scroll-margin-top:25px; }
.price-section-heading { display:flex; align-items:center; gap:18px; margin-bottom:25px; }
.price-section-heading h2,.price-details-head h2 { margin:0; color:var(--ink); font-size:30px; line-height:1.15; letter-spacing:-.025em; }
.price-section-heading p { margin:5px 0 0; color:var(--muted); font-size:14px; }
.price-icon { flex:0 0 56px; display:block; width:56px; height:56px; color:var(--petrol); }
.price-section h3,.price-detail-grid h3 { margin:0 0 12px; color:var(--ink); font-size:19px; }
.price-subcopy { margin:0 0 13px; color:var(--muted); font-size:14px; }
.price-split { display:grid; grid-template-columns:.8fr 1.2fr; gap:30px; }
.price-split>div+div { padding-left:30px; border-left:1px solid var(--line); }
.price-rows { display:grid; }
.price-row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:18px; padding:8px 0; border-bottom:1px dotted #cfd7d6; }
.price-row:last-child { border-bottom:0; }
.price-item { min-width:0; color:var(--graphite); font-weight:600; }
.price-item small { display:block; margin-top:2px; color:var(--muted); font-size:12px; font-weight:400; }
.price-row>strong { color:var(--ink); font-weight:800; white-space:nowrap; }
.price-machine-note { margin:18px 0 0; color:var(--muted); font-size:13px; }
.price-extra { display:grid; gap:9px; margin-top:22px; padding:17px 18px; border-radius:10px; background:var(--pale); font-size:13px; }
.price-extra p { position:relative; min-height:23px; margin:0; padding-left:33px; line-height:1.55; }
.price-extra p>span { position:absolute; top:0; left:0; width:23px; height:23px; color:var(--petrol-deep); }
.price-extra p>strong { white-space:nowrap; }
.price-grid { display:grid; grid-template-columns:1fr 1fr; align-items:start; gap:24px; }
.price-grid .price-section { margin-bottom:0; }
.price-other { margin-top:24px; }
.price-dense .price-row { padding:7px 0; font-size:14px; }
.price-tablecloths { margin-top:24px; }
.price-tablecloths .price-split > div { min-width:0; }
.tablecloth-table-scroll { max-width:100%; overflow-x:auto; }
.tablecloth-price-table { width:100%; border-collapse:collapse; font-size:14px; }
.tablecloth-price-table caption { padding:0 0 12px; color:var(--muted); text-align:left; font-size:12px; }
.tablecloth-price-table th,.tablecloth-price-table td { padding:12px 8px; border-bottom:1px solid var(--line); text-align:right; }
.tablecloth-price-table th:first-child { text-align:left; }
.tablecloth-price-table thead th { background:var(--pale); color:var(--petrol-deep); }
.tablecloth-price-table tbody th { font-weight:600; }
.tablecloth-price-table td { font-weight:800; white-space:nowrap; }
.price-notice { display:flex; align-items:center; gap:17px; margin-top:25px; padding:20px; border:1px solid #cfe9e7; border-radius:12px; background:var(--pale); }
.price-notice .price-icon { flex-basis:44px; width:44px; height:44px; }
.price-notice p { margin:0; font-size:14px; }
.price-details { padding:72px 0 78px; background:#f0f5f4; scroll-margin-top:20px; }
.price-details-head { margin-bottom:28px; }
.price-details-head>p:last-child { margin:8px 0 0; color:var(--muted); }
.price-detail-grid { display:grid; grid-template-columns:1.05fr 1fr .9fr; gap:18px; }
.price-detail-grid article { min-height:305px; padding:26px; border:1px solid var(--line); border-radius:14px; background:#fff; }
.price-detail-grid .price-icon { margin-bottom:18px; }
.price-detail-grid ul { margin:14px 0 0; padding-left:19px; }
.price-detail-grid li { margin:7px 0; }
.price-detail-grid article>p { margin:14px 0 0; color:var(--muted); font-size:13px; }
.price-phone { display:inline-flex; margin-top:18px; padding:10px 14px; border-radius:8px; background:var(--petrol); color:var(--ink); font-weight:850; }
.price-footer-cta { padding:52px 0; background:var(--ink); }
.price-footer-cta>.shell { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.price-footer-cta h2 { margin:0; color:#fff; font-size:clamp(28px,3vw,40px); }
.price-footer-cta p { margin:7px 0 0; color:#c4cecd; }
@media (max-width:900px) {
  .price-hero-grid { grid-template-columns:1fr; }
  .price-hero-icon { display:none; }
  .price-intro-grid,.price-split,.price-grid,.price-detail-grid { grid-template-columns:1fr; }
  .price-split>div+div { padding:24px 0 0; border-left:0; border-top:1px solid var(--line); }
  .price-grid { gap:18px; }
  .price-detail-grid article { min-height:auto; }
}
@media (max-width:680px) {
  .price-hero { padding:48px 0 55px; }
  .price-hero h1 { font-size:52px; }
  .price-hero p:not(.eyebrow) { font-size:15px; }
  .price-intro { padding-top:25px; }
  .price-intro-card { padding:21px; }
  .price-jump { padding-bottom:8px; }
  .price-section { padding:20px; }
  .price-section-heading { align-items:flex-start; gap:13px; }
  .price-icon { flex-basis:45px; width:45px; height:45px; }
  .price-section-heading h2,.price-details-head h2 { font-size:25px; }
  .price-row { gap:10px; font-size:13px; }
  .price-dense .price-row,.tablecloth-price-table { font-size:12.5px; }
  .price-row>strong,.tablecloth-price-table td { font-size:13px; }
  .price-notice { align-items:flex-start; padding:18px; }
  .price-details { padding:54px 0; }
  .price-footer-cta { padding:44px 0; }
  .price-footer-cta>.shell { display:block; }
  .price-footer-cta .button { width:100%; margin-top:22px; }
}
@media (max-width:680px) {
  .history-hero { padding:58px 0 72px; }
  .history-hero h1 { font-size:47px; }
  .history-hero-copy>p:last-child { font-size:15px; }
  .history-year { min-height:220px; padding:24px; }.history-year strong { font-size:66px; }
  .history-chapter,.history-trust,.history-community,.history-today { padding:72px 0; }
  .history-chapter-grid { gap:36px; }
  .history-chapter h2,.history-trust h2,.history-founder h2,.history-community h2,.history-today h2 { font-size:42px; }
  .history-fire { padding:72px 0 66px; }.history-fire h2 { font-size:49px; }.history-fire::after { font-size:160px; }.history-fire-flame { right:-155px; top:85px; width:330px; opacity:.035; }
  .history-fire-statement { margin-top:42px; font-size:32px; }
  .history-memory { padding:23px 20px; }
  .history-memory p { font-size:16px; }
  .history-trust-memory { padding:20px; }
  .history-founder { padding:68px 0; }
  .history-founder-inner { grid-template-columns:1fr; gap:35px; }
  .history-founder-id { min-height:220px; }
  .history-family-members { grid-template-columns:1fr; }
  .history-family-members span,.history-family-members span:first-child,.history-family-members span:last-child { padding:15px 0; border-right:0; border-bottom:1px solid #bfdedb; }
  .history-family-members span:last-child { border-bottom:0; }
  .history-community-grid { grid-template-columns:1fr; gap:30px; }
  .history-community-cup { right:-135px; bottom:15px; width:360px; background:rgba(7,137,145,.045); }
  .history-community-statement { align-items:flex-start; flex-direction:column; gap:7px; margin-top:35px; font-size:31px; }
  .history-today-photo { height:390px; }
  .history-promise { padding:60px 0; }.history-promise-inner { padding:38px 25px; }
  .history-promise h2 { font-size:40px; }
  .history-promise-inner>div { display:grid; }.history-promise .button { width:100%; }
  .business-hero { padding:46px 0 56px; }
  .business-hero-banner { height:auto; min-height:0; display:grid; gap:14px; }
  .business-hero-card { position:relative; left:auto; bottom:auto; width:100%; padding:28px 24px 26px; box-shadow:0 16px 42px rgba(0,0,0,.18); backdrop-filter:none; }
  .business-hero h1 { font-size:43px; }
  .business-hero p:not(.eyebrow) { font-size:15px; }
  .textile-hero .business-hero-card { width:100%; }
  .textile-hero .business-hero-card h1 { font-size:43px; }
  .business-photo { position:relative; inset:auto; height:330px; min-height:0; border-radius:var(--radius); }
  .business-photo img { object-position:72% center; }
  .textile-hero .business-photo img { object-position:72% center; }
  .business-services { padding:66px 0; }
  .business-service-system { grid-template-columns:1fr; }
  .business-service-part { padding:25px; }
  .business-service-part+.business-service-part { border-top:1px solid #cfe5e3; border-left:0; }
  .business-service-points>div { min-height:auto; }
  .business-service-models { padding:0 0 66px; }
  .business-service-model-cards { grid-template-columns:1fr; }
  .business-service-model-cards article { min-height:170px; }
  .business-service-model-link { width:100%; justify-content:space-between; }
  .textile-service-grid { grid-template-columns:1fr; }
  .textile-service-card,.textile-service-card:last-child { grid-column:auto; min-height:auto; padding:25px; border-radius:16px; }
  .textile-service-card .card-number { margin-bottom:34px; }
  .textile-process-list { border-radius:16px; }
  .textile-process-list li { min-height:auto; grid-template-columns:36px 1fr; gap:14px; padding:17px 18px; }
  .textile-process-list span { width:34px; height:34px; }
  .textile-process-list strong { font-size:14px; }
  .business-secondary-service { padding:48px 0; }
  .business-secondary-service .button { width:100%; white-space:normal; }
  .business-logistics { padding:58px 0; }
  .logistics-grid { grid-template-columns:1fr; gap:24px; }
  .extra-services { grid-column:auto; }
  .business-portal { padding:64px 0; }
  .business-portal-list { grid-template-columns:1fr; }
  .business-portal-list>div:nth-child(n) { min-height:auto; border-right:0; border-bottom:1px solid rgba(255,255,255,.12); }
  .business-portal-list>div:last-child { border-bottom:0; }
  .business-fit { padding:68px 0; }
  .fit-grid { gap:38px; }
  .fit-list>div { grid-template-columns:42px 1fr; }
  .fit-list strong { font-size:15px; }
  .business-pricing { padding:58px 0; }
  .pricing-inner { gap:24px; }
  .quote { padding:65px 0; }
  .quote-grid { gap:36px; }
  .quote-form { padding:22px; }
  .form-row { grid-template-columns:1fr; }
  .quote-form button { width:100%; }
  .mat-hero { padding:46px 0 58px; }
  .mat-hero h1 { font-size:46px; }
  .mat-hero-copy>p:not(.eyebrow) { font-size:15px; }
  .mat-hero-products { min-height:350px; }
  .mat-hero-products article { min-height:235px; padding:20px; }
  .mat-hero-products strong { font-size:25px; }
  .mat-hero-products i { width:78px; height:78px; font-size:22px; }
  .mat-benefits,.mat-products-heading,.mat-product-block,.mat-process { padding:66px 0; }
  .mat-benefit-grid { grid-template-columns:1fr; }
  .mat-benefit-grid article { min-height:auto; }
  .mat-products-heading { text-align:left; }
  .mat-products-heading h2,.mat-products-heading>p:last-child { margin-left:0; margin-right:0; }
  .mat-product-overview { gap:34px; }
  .mat-product-overview h2 { font-size:52px; }
  .product-lead { font-size:15px; }
  .product-points { grid-template-columns:1fr; }
  .product-spec-card { min-height:365px; padding:23px; }
  .product-spec-highlight { min-height:122px; padding-bottom:21px; }
  .product-spec-card .product-spec-highlight small { font-size:16px; }
  .product-spec-card .product-spec-highlight strong { font-size:55px; }
  .product-spec-card .service-icon { flex-basis:58px; width:58px; height:58px; }
  .mat-color-showcase { margin-top:45px; padding:21px; }
  .mat-color-heading { align-items:flex-start; flex-direction:column; gap:18px; }
  .mat-color-heading h3 { font-size:27px; }
  .mat-color-card { flex-basis:150px; }
  .mat-color-swatch { height:120px; }
  .mat-color-open { width:100%; justify-content:center; }
  .mat-color-modal { padding:0; }
  .mat-color-modal>section { max-height:100dvh; height:100dvh; border:0; border-radius:0; }
  .mat-color-modal header { padding:20px 17px; }
  .mat-color-modal h2 { font-size:27px; }
  .mat-color-modal-grid { grid-template-columns:1fr 1fr; gap:10px; padding:14px; }
  .mat-color-modal-card { display:block; padding:8px; }
  .mat-color-modal-card .mat-color-swatch { height:125px; }
  .mat-color-modal-card div { margin-top:9px; }
  .mat-color-modal footer { align-items:stretch; flex-direction:column; padding:14px 17px; }
  .mat-color-modal footer .button { width:100%; }
  .mat-technical summary { padding:18px; font-size:13px; }
  .mat-technical-body { grid-template-columns:1fr; padding:0 14px 14px; }
  .technical-table { padding:17px; }
  .technical-table dl>div { grid-template-columns:1fr; gap:3px; }
  .mat-process-grid { grid-template-columns:1fr; }
  .mat-process-grid article { min-height:auto; }
  .mat-process-grid h3 { margin-top:35px; }
  .mat-fields { grid-template-columns:1fr; }
  .consumer-hero { padding:46px 0 56px; }
  .consumer-hero h1 { font-size:50px; }
  .consumer-hero>div>div>p:not(.eyebrow) { font-size:15px; }
  .consumer-photo { height:330px; }
  .consumer-services,.turnaround,.consumer-transport { padding:66px 0; }
  .consumer-service-grid { grid-template-columns:1fr; }
  .consumer-service-grid article,.consumer-service-grid article:last-child { grid-column:auto; min-height:auto; padding:24px; }
  .turnaround-grid { gap:38px; }
  .time-list>div { grid-template-columns:32px 1fr auto; gap:10px; }
  .time-list strong { font-size:13px; }.time-list b { font-size:17px; }
  .transport-grid { grid-template-columns:1fr; gap:26px; }
  .transport-icon { width:85px; }
  .price-guide { padding:58px 0; }
  .price-guide-inner { grid-template-columns:1fr; gap:26px; }
  .price-guide .button { width:100%; }
  .terms-page { padding:55px 0 70px; }
  .terms-toc nav { grid-template-columns:1fr; }
  .terms-content>article { padding:24px 21px; }
  .terms-content h2 { font-size:24px; }
  .payment-grid { grid-template-columns:1fr; }
  .phone-term { align-items:flex-start; }
  .faq-hero { padding:50px 0 58px; }
  .faq-hero h1 { font-size:52px; }
  .faq-hero p:not(.eyebrow) { font-size:15px; }
  .faq-hero-icon { display:none; }
  .faq-quick { padding:28px 0; }
  .faq-quick-inner { grid-template-columns:46px 1fr; gap:14px; }
  .faq-quick-inner>span { width:44px; height:44px; }
  .faq-quick h2 { font-size:20px; }
  .faq-quick .text-arrow { grid-column:2; }
  .faq-list { padding:65px 0 75px; }
  .faq-layout { gap:32px; }
  .faq-items summary { grid-template-columns:32px 1fr 27px; gap:8px; padding:20px 0; font-size:14px; }
  .faq-answer { padding:0 4px 22px 40px; font-size:14px; }
  .booking-hero { padding:50px 0 58px; }
  .booking-hero h1 { font-size:52px; }
  .booking-hero-grid>div>p:not(.eyebrow) { font-size:15px; }
  .booking-hero-icon { display:none; }
  .booking-days { flex-direction:column; }
  .booking-info { padding:18px 0 20px; }
  .booking-coverage-head { padding-bottom:12px; }
  .booking-coverage-head>p:last-child { font-size:12px; }
  .booking-coverage-list { grid-template-columns:repeat(2,1fr); gap:10px 22px; padding-top:12px; padding-bottom:12px; }
  .booking-coverage-list li { justify-content:space-between; font-size:25px; }
  .booking-coverage-list li:not(:last-child)::after { width:5px; height:5px; margin-left:12px; }
  .booking-coverage-list li:nth-child(even)::after { display:none; }
  .booking-area { padding:60px 0 75px; }
  .booking-step { padding:22px; }
  .slot-grid { grid-template-columns:1fr; }
  .return-preview { grid-template-columns:40px 1fr; gap:12px; padding:17px; }
  .return-preview-icon { width:38px; height:38px; font-size:19px; }
  .return-preview-date { grid-column:1/-1; margin-top:3px; padding:13px 0 0; border-top:1px solid rgba(255,255,255,.16); border-left:0; text-align:left; }
  .booking-form .form-row { grid-template-columns:1fr; }
  .booking-submit { width:100%; }
  .booking-confirmation { padding:25px; }
  .booking-confirmation dl { grid-template-columns:1fr; }
  .contact-hero { padding:47px 0 58px; }
  .contact-hero h1 { font-size:56px; }
  .contact-hero-grid>div:first-child>p:not(.eyebrow) { font-size:15px; }
  .contact-location-card { min-height:300px; padding:27px; }
  .contact-location-icon { top:28px; left:27px; width:70px; height:70px; }
  .contact-location-card h2 { font-size:34px; }
  .contact-details { padding:65px 0 70px; }
  .contact-card-grid { grid-template-columns:1fr; }
  .contact-card-grid article,.contact-card-grid article:last-child { grid-column:auto; min-height:260px; padding:25px; }
  .visit-us { padding:66px 0; }
  .opening-card,.arrival-card { min-height:auto; padding:27px; }
  .opening-card>span { top:27px; right:27px; width:55px; height:55px; }
  .opening-card h2,.arrival-card h2 { font-size:30px; }
  .arrival-card { grid-template-columns:1fr; gap:22px; }
  .arrival-icon { width:74px; height:74px; }
  .arrival-card .button { width:100%; }
  .contact-company>.shell { align-items:flex-start; flex-direction:column; gap:8px; }
  .contact-company a { margin-left:0; }

}
@media (max-width:560px) {
  .business-photo { height:clamp(380px,108vw,420px); }
  .business-photo img { object-position:62% center; }
  .textile-hero .business-photo img { object-position:86% center; }
  .contact-bubble>b { opacity:.58; }.contact-bubble.bubble-1 { top:11%; left:2%; width:35px; height:35px; }.contact-bubble.bubble-2 { top:49%; right:1%; width:42px; height:42px; }.contact-bubble.bubble-3 { top:77%; left:3%; width:32px; height:32px; }
  .wash-game-overlay { padding:0; background:#081011; }.wash-game { min-height:100dvh; padding:58px 14px 25px; border:0; border-radius:0; }.wash-game-close { top:10px; right:10px; }.wash-game>header { padding-right:18px; }.wash-game>header h2 { font-size:35px; }.wash-game>header>span { font-size:12px; }.wash-game-steps { margin-top:19px; }.wash-game-steps>div { justify-content:center; padding:8px 5px; }.wash-game-steps span { display:none; }.wash-game-mat { border-width:7px; aspect-ratio:1.42; }.wash-game-tool { width:65px; height:55px; }.wash-game-mat.stage-1 .wash-game-tool { width:62px; }.wash-game-mat.stage-2 .wash-game-tool { width:69px; }.wash-game-progress { margin-top:11px; }.wash-game-reward { grid-template-columns:1fr; gap:18px; margin-top:22px; }.clean-mat-celebration { width:145px; aspect-ratio:1.35; justify-self:center; border-width:7px; }.coupon-form,.coupon-success { padding:21px; }.secret-game-reopen { right:12px; bottom:12px; }
}
@media (prefers-reduced-motion:reduce) {
  .wash-game-tool { transition:none; }
}
