@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');

:root{--ink:#182019;--muted:#61675f;--green:#b6d975;--brand:#88ad43;--dark:#111710;--line:#e1e5dc;--surface:#f6f7f3;--body:'DM Sans',Arial,sans-serif;--display:'Manrope',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:#fff;font-family:var(--body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%}svg{display:block}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #4a7527;outline-offset:5px}a,button{touch-action:manipulation}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--display);line-height:1.15}h2{font-size:clamp(2.1rem,3.6vw,3.45rem);font-weight:650;letter-spacing:-.055em}h3{font-weight:650;letter-spacing:-.025em}.shell{width:min(1240px,calc(100% - 104px));margin-inline:auto}.section{padding-block:106px}.eyebrow{font-size:.75rem;line-height:1.5;font-weight:650;letter-spacing:.15em;margin-bottom:23px;color:#536046}.eyebrow.light{color:#c6d1be}.button{display:inline-flex;align-items:center;justify-content:center;gap:26px;min-height:52px;padding:14px 24px;border:1px solid transparent;border-radius:7px;font-weight:600;font-size:.9rem;line-height:1.4;transition:background .2s,transform .2s;cursor:pointer}.button:hover{transform:translateY(-2px)}.button span{font-size:1.4rem;line-height:1}.button-dark{background:var(--ink);color:white}.button-dark:hover{background:#303c29}.button-green{background:var(--green);color:#182411}.button-green:hover{background:#c7e697}.button-outline{border-color:#646d5d;color:#fff;background:transparent}.button-outline:hover{background:#263020}.text-link{display:inline-flex;gap:18px;align-items:center;font-size:.9rem;font-weight:600}.text-link span{font-size:1.25rem}.text-link:hover{text-decoration:underline;text-underline-offset:5px}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;padding:10px 20px;background:white;color:var(--ink)}.skip-link:focus{top:10px}
.header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.97);border-bottom:1px solid rgba(225,229,220,.7);backdrop-filter:blur(12px)}.nav-shell{height:90px;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:inline-flex;align-items:center;gap:11px;flex-shrink:0}.brand-mark{width:62px;height:62px;border-radius:50%;overflow:hidden}.brand-name{font-family:var(--display);font-weight:750;letter-spacing:-.045em;font-size:1.1rem;line-height:1.25}.brand-name>span{display:block;font-family:var(--body);font-size:.75rem;letter-spacing:.34em;font-weight:500;margin-top:5px}.desktop-nav{display:flex;gap:30px;align-items:center}.desktop-nav a{font-size:.875rem;color:#555c51;font-weight:500}.desktop-nav a:hover{color:#4c6e29}.nav-quote{font-size:.875rem;min-height:45px;padding:10px 19px;gap:24px}.menu-toggle{display:none}.mobile-nav[hidden]{display:none}
.hero{position:relative;background:#101510;color:white;isolation:isolate;overflow:hidden}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%;z-index:-3;opacity:.92}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,18,12,.95) 0%,rgba(12,18,12,.91) 23%,rgba(12,18,12,.70) 48%,rgba(12,18,12,.10) 82%),linear-gradient(0deg,rgba(12,18,12,.9),transparent 30%);z-index:-2}.hero-layout{min-height:640px;padding-top:92px;padding-bottom:92px;display:flex;align-items:center;position:relative}.hero-copy{max-width:680px}.hero .eyebrow{font-size:.75rem;margin-bottom:28px}.hero h1{font-size:clamp(3.3rem,5.8vw,5.7rem);line-height:1.09;letter-spacing:-.06em;font-weight:650}.hero h1 em{font-style:normal;color:var(--green)}.hero-description{font-size:1.05rem;line-height:1.7;max-width:445px;color:#c6cec1;margin-top:28px}.hero-actions{display:flex;align-items:center;gap:27px;margin-top:34px;flex-wrap:wrap}.hero-link{color:#fff;font-size:.875rem}.hero-note{font-size:.875rem;color:#b1beab;margin-top:25px}.hero-caption{position:absolute;bottom:69px;right:0;font-size:.75rem;letter-spacing:.17em;color:#d6decf;display:flex;align-items:center;gap:16px}.caption-line{height:1px;width:39px;background:#a6b897}.hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:32px;width:min(1240px,calc(100% - 104px));margin:auto;padding:27px 0;border-top:1px solid rgba(235,240,227,.22);font-size:.75rem;letter-spacing:.18em;color:#c0cbb9;font-weight:550}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:50px}.section-intro{font-size:.975rem;line-height:1.8;max-width:370px;color:var(--muted);padding-bottom:4px}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 25px}.product-card{display:block;min-width:0}.product-image{display:flex;align-items:center;justify-content:center;position:relative;border-radius:10px;overflow:hidden;background:#f3f5f0;aspect-ratio:1.5;isolation:isolate}.product-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s cubic-bezier(.2,.6,.3,1)}.product-card:hover .product-image img{transform:scale(1.015)}.product-tag{position:absolute;z-index:1;top:17px;left:17px;border-radius:3px;background:rgba(255,255,255,.86);padding:5px 9px;color:#3d4c31;font-size:.75rem;letter-spacing:.1em;font-weight:650}.product-info{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-top:20px}.product-info h3{font-size:1.02rem;line-height:1.4}.product-info p{font-size:.875rem;line-height:1.7;color:var(--muted);margin-top:6px}.product-arrow{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:29px;height:29px;font-size:1.2rem;border:1px solid #dfe5d7;border-radius:50%;transition:background .2s}.product-card:hover .product-arrow{background:var(--green);border-color:var(--green)}.more-equipment{margin-top:45px;padding-top:26px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:25px}.more-equipment p{font-size:.875rem;color:var(--muted)}.more-equipment strong{color:var(--ink);font-weight:600;margin-right:10px}.more-equipment .text-link{white-space:nowrap}
.extras-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:64px 0 25px;padding-top:43px;border-top:1px solid var(--line)}.extras-heading .eyebrow{margin:0}.extras-heading h3{font-size:1.5rem}.extras-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.extra-card{position:relative;display:block;overflow:hidden;border-radius:10px;background:var(--dark);aspect-ratio:1.65;color:#fff}.extra-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,15,9,.78),transparent 55%);pointer-events:none}.extra-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s cubic-bezier(.2,.6,.3,1)}.extra-card:hover img{transform:scale(1.025)}.extra-card span{position:absolute;z-index:1;left:20px;right:20px;bottom:16px;display:flex;align-items:center;justify-content:space-between;font-family:var(--display);font-size:1rem;font-weight:650}.extra-card b{font-size:1.3rem;font-weight:400}
.events-section{background:var(--dark);color:white;padding-block:94px}.events-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px}.events-lead{padding-top:7px}.events-lead h2{font-size:clamp(2rem,3.2vw,3rem);line-height:1.2}.events-lead>p:not(.eyebrow){max-width:405px;color:#aeb8a6;font-size:.95rem;line-height:1.8;margin-top:25px}.events-lead .button{margin-top:33px;font-size:.875rem}.event-list article{display:flex;gap:25px;padding:25px 0;border-bottom:1px solid #353c2f}.event-list article:first-child{padding-top:8px}.event-list article:last-child{border:0;padding-bottom:5px}.event-number{font-size:.875rem;color:var(--green);padding-top:3px;font-weight:500}.event-list h3{font-size:1.13rem;font-weight:550;line-height:1.5}.event-list p{font-size:.875rem;color:#adb6a5;line-height:1.7;margin-top:6px}.process .section-heading{margin-bottom:55px}.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:50px}.steps article{border-top:1px solid #cbd3c2;padding-top:23px}.step-number{font-size:.875rem;color:#5c734b;display:block;margin-bottom:25px;font-weight:550}.steps h3{font-size:1.1rem;margin-bottom:13px;line-height:1.45}.steps p{font-size:.9rem;color:var(--muted);max-width:330px;line-height:1.8}
.contact-section{background:var(--green);padding:79px 0 83px}.contact-layout{display:flex;align-items:center;justify-content:space-between;gap:55px}.contact-section .eyebrow{color:#3c502a;margin-bottom:21px}.contact-section h2{font-size:clamp(2.3rem,3.9vw,3.65rem);line-height:1.14;color:#162411}.contact-section p:not(.eyebrow){margin-top:23px;font-size:.95rem;line-height:1.8;color:#3a502b}.contact-actions{display:flex;flex-direction:column;align-items:center;gap:17px}.button-large{min-height:61px;padding-inline:23px;font-size:.95rem;gap:20px}.button-large svg{width:21px;height:21px}.phone-link{font-size:.875rem;font-weight:550;padding-block:5px}.phone-link:hover{text-decoration:underline;text-underline-offset:4px}.contact-caption{font-size:.75rem;color:#425630}.footer-main{display:flex;justify-content:space-between;align-items:center;gap:40px;padding-block:48px}.footer-main .brand-mark{width:54px;height:54px}.footer-main .brand-name{font-size:1rem}.footer-main p{font-size:.9rem;color:#5f6958;line-height:1.6}.footer-main>a:last-child{font-size:.875rem;color:#46503f;display:flex;gap:20px}.footer-bottom{border-top:1px solid var(--line);padding-block:22px;display:flex;justify-content:space-between;gap:22px;color:#707968;font-size:.75rem}.mobile-contact{display:none}
@media(min-width:1600px){.hero-layout{min-height:710px}.hero-photo{object-position:center 49%}}
@media(max-width:1100px){.shell{width:calc(100% - 64px)}.hero-bottom{width:calc(100% - 64px)}.desktop-nav{gap:20px}.nav-shell{gap:18px}.brand-name{font-size:1rem}.brand-mark{height:54px;width:54px}.hero h1{font-size:5.8vw}.hero-layout{min-height:590px;padding-block:85px}.hero-description{max-width:380px;font-size:1rem}.hero-caption{display:none}.section{padding-block:80px}.section-heading{gap:40px}.section-intro{max-width:300px}.events-layout{gap:60px}.product-grid{gap:30px 20px}.product-info h3{font-size:.98rem}.product-info p{font-size:.875rem}.contact-layout{gap:35px}.contact-actions .button{font-size:.875rem;gap:14px}.footer-main{gap:25px}}
@media(max-width:850px){.desktop-nav{display:none}.nav-shell{height:80px}.nav-quote{margin-left:auto}.menu-toggle{display:flex;align-items:center;justify-content:center;gap:6px;flex-direction:column;min-width:44px;min-height:44px;border:0;background:transparent;color:var(--ink);padding:10px}.menu-toggle span{display:block;width:22px;height:1.5px;background:currentColor;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.75px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.75px) rotate(-45deg)}.mobile-nav{display:grid;padding:12px 32px 24px;border-top:1px solid var(--line);gap:3px;background:#fff}.mobile-nav a{padding:12px 0;font-size:.95rem}.hero h1{font-size:clamp(3.5rem,8.2vw,4.7rem)}.hero-layout{min-height:620px}.hero-shade{background:linear-gradient(90deg,rgba(12,18,12,.95),rgba(12,18,12,.72) 46%,rgba(12,18,12,.23)),linear-gradient(0deg,rgba(12,18,12,.94),transparent 50%)}.hero-description{max-width:420px}.hero-bottom{flex-wrap:wrap;justify-content:flex-start;gap:16px 28px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px}.section-heading{align-items:flex-start;gap:30px}.section-intro{max-width:250px;font-size:.9rem;padding-top:38px}.extras-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.extra-card:last-child{grid-column:1/-1;aspect-ratio:2.2}.events-layout{gap:40px;grid-template-columns:.95fr 1.05fr}.events-section{padding-block:70px}.events-lead h2{font-size:2.25rem}.event-list article{gap:14px}.event-list h3{font-size:1rem}.steps{gap:26px}.steps h3{font-size:1rem}.contact-layout{align-items:flex-start;flex-direction:column;gap:35px}.contact-actions{align-items:flex-start;gap:12px}.contact-section h2{font-size:3.2rem}.contact-section{padding-block:65px}.footer-main p{display:none}.footer-bottom{flex-wrap:wrap}.more-equipment{align-items:flex-start}}
@media(max-width:560px){html{scroll-padding-top:86px}.shell{width:calc(100% - 40px)}.nav-shell{height:76px;gap:9px}.brand{gap:7px}.brand-mark{width:46px;height:46px}.brand-name{font-size:.875rem}.brand-name>span{font-size:.75rem;margin-top:4px}.nav-quote{min-height:40px;padding:9px 12px;font-size:.75rem;gap:10px;border-radius:5px}.nav-quote span{font-size:1.2rem}.menu-toggle{min-width:36px;width:36px;padding:6px}.hero-layout{min-height:618px;padding-top:67px;padding-bottom:68px;align-items:flex-start}.hero h1{font-size:clamp(2.6rem,11.8vw,4.15rem);line-height:1.12;letter-spacing:-.065em}.hero .eyebrow{font-size:.75rem;letter-spacing:.13em;margin-bottom:29px}.hero-photo{object-position:62% center}.hero-shade{background:linear-gradient(180deg,rgba(11,18,11,.79),rgba(11,18,11,.65) 65%,rgba(11,18,11,.87)),linear-gradient(90deg,rgba(11,18,11,.4),transparent)}.hero-description{font-size:1rem;max-width:330px;line-height:1.7;margin-top:26px}.hero-actions{margin-top:29px;gap:22px;flex-direction:column;align-items:flex-start}.hero-actions .button{min-height:53px;font-size:.875rem;padding-inline:21px;gap:29px}.hero-link{font-size:.875rem}.hero-note{font-size:.75rem;margin-top:29px;line-height:1.65}.hero-bottom{width:calc(100% - 40px);display:grid;grid-template-columns:1fr 1fr;font-size:.75rem;gap:16px 12px;padding-block:25px;letter-spacing:.13em}.section{padding-block:64px}.eyebrow{font-size:.75rem;margin-bottom:18px}.section-heading{flex-direction:column;gap:20px;margin-bottom:32px}h2{font-size:2.25rem;line-height:1.15}.section-intro{font-size:.95rem;padding-top:0;max-width:100%}.section-intro br{display:none}.product-grid{gap:29px 14px}.product-image{border-radius:7px;aspect-ratio:1.5}.product-info{margin-top:14px;gap:3px}.product-info h3{font-size:.92rem;line-height:1.45;letter-spacing:-.035em}.product-info p{font-size:.875rem;line-height:1.6;margin-top:5px}.product-arrow{width:22px;height:22px;font-size:1rem;margin-top:1px;border:none}.product-tag{font-size:.75rem;letter-spacing:.035em;left:8px;top:9px;padding:4px 6px}.extras-heading{display:block;margin-top:46px;padding-top:30px}.extras-heading .eyebrow{margin-bottom:10px}.extras-heading h3{font-size:1.35rem}.extras-grid{grid-template-columns:1fr;gap:14px}.extra-card,.extra-card:last-child{grid-column:auto;aspect-ratio:1.8}.extra-card span{left:16px;right:16px;bottom:13px}.more-equipment{margin-top:32px;padding-top:21px;flex-direction:column;gap:14px}.more-equipment p{font-size:.875rem;line-height:1.9}.more-equipment strong{display:block}.more-equipment .text-link{font-size:.875rem}.events-section{padding-block:61px}.events-layout{grid-template-columns:1fr;gap:42px}.events-lead{padding-top:0}.events-lead h2{font-size:2.2rem}.events-lead>p:not(.eyebrow){font-size:.925rem;margin-top:20px}.events-lead .button{margin-top:24px}.event-list article{gap:23px;padding-block:23px}.event-list h3{font-size:1.075rem}.event-list p{font-size:.875rem}.process .section-heading{margin-bottom:35px}.steps{grid-template-columns:1fr;gap:26px}.steps article{position:relative;padding:24px 0 0 50px}.step-number{position:absolute;top:24px;left:0;margin:0}.steps h3{font-size:1.075rem;margin-bottom:9px}.steps p{font-size:.925rem;max-width:none}.contact-section{padding-block:58px}.contact-section h2{font-size:2.6rem}.contact-section p:not(.eyebrow){font-size:.925rem;margin-top:20px}.contact-layout{gap:29px}.contact-actions{align-items:flex-start;width:100%}.contact-actions .button{font-size:.875rem;gap:14px;padding-inline:17px;min-height:56px}.contact-caption{font-size:.75rem}.phone-link{font-size:.875rem}.footer-main{padding-block:33px;flex-direction:column;align-items:flex-start;gap:23px}.footer-main .brand-mark{height:48px;width:48px}.footer-main>a:last-child{font-size:.875rem;gap:13px}.footer-bottom{padding-block:21px 93px;font-size:.75rem;display:flex;flex-direction:column;gap:8px}.footer-bottom a{align-self:flex-start;padding-top:3px}.mobile-contact{position:fixed;bottom:0;left:0;right:0;z-index:30;display:grid;grid-template-columns:.8fr 1.8fr;background:#fff;border-top:1px solid #dce2d4;padding:9px 16px calc(9px + env(safe-area-inset-bottom));gap:10px}.mobile-contact a{min-height:44px;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:600;border:1px solid #d3dcc9;border-radius:5px;gap:30px}.mobile-contact a:last-child{background:var(--green);border-color:var(--green)}.mobile-nav{padding-inline:20px}}
@media(max-width:359px){.brand-name{display:none}.hero h1{font-size:2.6rem}.product-grid{grid-template-columns:1fr}.product-image{aspect-ratio:1.5}.contact-actions .button{gap:10px;padding-inline:14px}.contact-actions .button svg{width:18px}.hero-bottom{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.button:hover{transform:none}}

/* Keep descriptive copy readable on every viewport. */
.hero-description,.section-intro,.product-info p,.more-equipment p,.events-lead>p:not(.eyebrow),.event-list p,.steps p,.contact-section p:not(.eyebrow){font-size:1rem}
.product-info h3{font-size:1.075rem}
@media(max-width:560px){.product-info{flex-wrap:wrap}.product-info h3{font-size:1rem}.product-arrow{display:none}.product-info p{font-size:1rem}.hero-bottom{letter-spacing:.06em}}

/* Event photography stays within the existing layout. */
.events-layout{align-items:center}
.event-scene{margin:28px 0 0;aspect-ratio:16/10;overflow:hidden;border-radius:9px;background:#263020}
.event-scene img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
@media(max-width:850px){.event-scene{aspect-ratio:16/10}}
@media(max-width:560px){.event-scene{margin-top:25px;aspect-ratio:3/2}}

/* The enquiry form extends the existing green, white and ink palette. */
.contact-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;gap:64px}
.contact-copy{min-width:0}
.contact-copy .contact-actions{align-items:flex-start;gap:12px;margin-top:32px}
.contact-caption{font-size:.875rem}
.quote-card{min-width:0;padding:32px;background:#fff;border:1px solid rgba(24,32,25,.1);border-radius:14px;box-shadow:0 16px 48px rgba(24,32,25,.07)}
.quote-card h3{font-size:1.5rem;line-height:1.3;letter-spacing:-.04em}
.quote-intro,.contact-section p.quote-intro{margin:9px 0 24px;color:var(--muted);font-size:1rem;line-height:1.6}
.quote-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 16px}
.quote-field{min-width:0}
.quote-field-wide{grid-column:1/-1}
.quote-field label{display:block;font-size:.875rem;font-weight:600;line-height:1.5;color:var(--ink);margin-bottom:7px}
.field-optional{font-weight:400;color:var(--muted)}
.quote-field input,.quote-field select,.quote-field textarea{display:block;width:100%;min-width:0;max-width:100%;min-height:48px;border:1px solid #cfd7c8;border-radius:6px;background:#fff;color:var(--ink);padding:11px 12px;font-family:var(--body);font-size:1rem;line-height:1.5;box-shadow:none;transition:border-color .15s,box-shadow .15s}
.quote-field select{padding-right:24px;text-overflow:ellipsis}
.quote-field input[type=date]{appearance:none;-webkit-appearance:none}
.quote-field textarea{min-height:90px;resize:vertical}
.quote-field input::placeholder,.quote-field textarea::placeholder{color:#71796b;opacity:1}
.quote-field input:focus,.quote-field select:focus,.quote-field textarea:focus{border-color:#4a7527;outline:2px solid #4a7527;outline-offset:2px;box-shadow:0 0 0 5px rgba(136,173,67,.1)}
.field-hint{display:block;margin-top:5px;color:var(--muted);font-size:.875rem;line-height:1.4}
.quote-form .quote-submit{width:100%;margin-top:23px;font-size:1rem;min-height:52px;gap:18px}
.quote-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}
.quote-note,.contact-section p.quote-note{margin:13px 0 0;color:var(--muted);font-size:.875rem;line-height:1.6}
.quote-status,.contact-section p.quote-status{margin:16px 0 0;padding:13px 15px;background:#f1f7e8;border:1px solid #d4e1bf;border-radius:6px;color:#283d1c;font-size:.875rem;line-height:1.6;overflow-wrap:anywhere}
.quote-status a{font-weight:600;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.quote-status[hidden]{display:none}
#quote-form{scroll-margin-top:115px}
body.quote-popup-open{overflow:hidden}
.quote-dialog{width:min(620px,calc(100% - 40px));max-width:none;max-height:calc(100dvh - 48px);padding:32px;margin:auto;border:1px solid #dde3d6;border-radius:16px;background:#fff;color:var(--ink);box-shadow:0 28px 100px rgba(0,0,0,.3);overflow-y:auto;overscroll-behavior:contain}
.quote-dialog::backdrop{background:rgba(10,18,10,.65);backdrop-filter:blur(4px)}
.quote-dialog[open]{animation:quote-appear .18s ease-out}
.quote-dialog-header{padding-right:24px}
.quote-dialog-header .eyebrow{margin-bottom:12px;font-size:.75rem;color:#536046}
.quote-dialog h2{font-size:2rem;font-weight:650;line-height:1.2;letter-spacing:-.045em}
.quote-dialog h2:focus{outline:none}
.quote-dialog .quote-intro{margin-bottom:24px}
.quote-close{position:absolute;right:15px;top:14px;display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:#f3f5ef;border:1px solid #e1e5dc;border-radius:50%;color:var(--ink);font-size:1.7rem;line-height:1;cursor:pointer;z-index:1}
.quote-close:hover{background:#e6eedb}
@keyframes quote-appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){.contact-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:36px}.quote-card{padding:26px}}
@media(max-width:850px){.contact-layout{grid-template-columns:1fr;gap:36px}.quote-card{max-width:680px;width:100%}.contact-copy .contact-actions{margin-top:24px}.contact-section h2{font-size:2.75rem}}
@media(max-width:560px){.quote-card{padding:24px 20px;border-radius:12px}.quote-card h3{font-size:1.4rem}.quote-fields{grid-template-columns:1fr;gap:17px}.quote-field-wide{grid-column:auto}.quote-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:26px 20px;border-radius:12px}.quote-dialog-header{padding-right:24px}.quote-dialog h2{font-size:1.7rem}.quote-dialog-header .eyebrow{font-size:.75rem;letter-spacing:.1em;max-width:200px}.quote-close{right:9px;top:9px}.quote-dialog .quote-intro{margin-top:12px;margin-bottom:22px}.contact-section .quote-form .quote-submit{font-size:1rem}.contact-section h2{font-size:2.5rem}}

/* Contextual equipment specification section */
.equipment-spec-panel[hidden]{display:none!important}
.equipment-spec-panel{padding:20px 22px;background:#f5f6f2;border:1px solid #dfe5d8;border-radius:10px}
.spec-heading{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px;font-size:1.05rem;color:var(--ink)}
.spec-optional{font-size:.78rem;font-weight:500;color:var(--muted)}
.spec-description{margin:9px 0 18px!important;font-size:.88rem;line-height:1.55;color:var(--muted)}
.spec-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.spec-grid textarea{min-height:72px}
@media(max-width:560px){.equipment-spec-panel{padding:16px}.spec-grid{grid-template-columns:1fr}.spec-heading{display:block}.spec-optional{display:block;margin-top:4px}}
