:root{--ink:#20251e;--lime:#b4e233;--paper:#f5f5ef;--line:#d4d8cc;--muted:#62685d;--font:'DM Sans',Arial,sans-serif;--display:'Barlow Condensed','Arial Narrow',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;flex-shrink:0}img{max-width:100%;display:block}::selection{background:var(--lime);color:var(--ink)}:focus-visible{outline:3px solid #4d7214;outline-offset:5px}.svg-library{position:absolute;width:0;height:0;overflow:hidden}.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip:focus{position:fixed;top:10px;left:10px;padding:12px;background:var(--lime);z-index:100}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--display);font-weight:600;line-height:.96;letter-spacing:-.025em}h2{font-size:clamp(48px,5.5vw,80px)}.topline{height:34px;background:var(--ink);color:#f3f5ec;display:flex;align-items:center;justify-content:space-between;padding:0 4.5%;font-size:10px;letter-spacing:.12em}.topline a{display:flex;align-items:center;gap:8px}.topline svg{width:13px;height:13px}.header{height:94px;display:flex;align-items:center;justify-content:space-between;padding:0 4.5%;gap:25px;background:rgba(245,245,239,.97);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.brand{width:175px;flex-shrink:0}.logo-crop{display:block;position:relative;width:175px;height:76px;overflow:hidden}.logo-crop img{position:absolute;width:235px;height:235px;max-width:none;top:-82px;left:-23px;mix-blend-mode:multiply}nav{display:flex;gap:36px;font-size:13px;font-weight:500}nav a{padding:12px 0;border-bottom:1px solid transparent}nav a:hover{border-color:var(--ink)}.header-call{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:700}.header-call svg{width:17px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1.06fr 1fr;min-height:650px;border-bottom:1px solid var(--ink)}.hero-copy{padding:51px 8.5% 22px;display:flex;flex-direction:column}.eyebrow{font-size:10px;letter-spacing:.13em;font-weight:600;display:flex;align-items:center;gap:9px}.dot{display:inline-block;background:var(--lime);border:1px solid #7da526;width:8px;height:8px;border-radius:50%;flex-shrink:0}.hero h1{font-size:clamp(76px,7.65vw,123px);margin:25px 0 25px;line-height:.88;letter-spacing:-.02em}.mile{display:inline-block;position:relative}.mile>svg{width:100%;height:16px;position:absolute;left:0;bottom:-8px;stroke:var(--lime);stroke-width:5;z-index:-1}.hero-intro{font-size:15px;line-height:1.65;max-width:390px;color:#53594d}.hero-actions{margin-top:28px;display:flex;gap:20px;align-items:flex-start;flex-direction:column}.button{min-height:52px;padding:16px 21px;display:inline-flex;align-items:center;justify-content:space-between;gap:24px;background:var(--lime);color:var(--ink);font-size:13px;line-height:1.4;font-weight:700;border:1px solid var(--lime);transition:background .2s,transform .2s}.button:hover{background:#c7ed65;border-color:#c7ed65}.button svg{width:20px;height:20px;transition:transform .2s}.button:hover svg{transform:translateX(3px)}.text-link{display:inline-flex;align-items:center;gap:14px;font-size:12px;font-weight:600;padding:3px 0 7px;border-bottom:1px solid var(--ink)}.text-link svg{width:16px;height:16px}.hero-bottom{margin-top:auto;padding-top:40px;display:flex;justify-content:space-between;gap:15px;font-size:8px;letter-spacing:.12em}.mini-cross{font-size:16px;line-height:0;margin-left:15px}.hero-photo{position:relative;background:#3b3d31;overflow:hidden;min-height:650px}.hero-photo>img{width:100%;height:100%;object-fit:cover;position:absolute;object-position:51% center}.image-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,17,9,.4),transparent 28%,rgba(10,17,9,.05) 50%,rgba(10,17,9,.8))}.photo-index{position:absolute;top:31px;left:34px;color:white;font-size:9px;letter-spacing:.14em}.photo-caption{position:absolute;bottom:100px;left:36px;right:36px;color:white;display:flex;justify-content:space-between;align-items:flex-end}.photo-caption>span{font-family:var(--display);font-size:clamp(34px,3.6vw,54px);line-height:1}.circle-link{width:52px;height:52px;border:1px solid #ffffff80;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .2s}.circle-link:hover{background:var(--lime);color:var(--ink);border-color:var(--lime)}.location-label{position:absolute;bottom:29px;left:36px;right:36px;border-top:1px solid #ffffff50;padding-top:19px;display:flex;gap:8px;align-items:center;color:white;font-size:9px;letter-spacing:.12em}.location-label svg{width:15px;height:15px}.area-strip{padding:24px 4.5%;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.area-strip>span{font-size:9px;letter-spacing:.12em;font-weight:700}.area-strip p{font-size:13px;display:flex;gap:24px;align-items:center}.area-strip i{font-style:normal;color:#818a73}.section{padding:100px 6%}.services{display:grid;grid-template-columns:.9fr 1.1fr;gap:8%}.section-heading h2{margin:25px 0}.section-heading>p:last-child{font-size:14px;color:var(--muted);max-width:370px}.service-list{padding-top:14px}.service{display:grid;grid-template-columns:32px 1fr 40px;gap:18px;align-items:start;padding:30px 0;border-top:1px solid var(--line)}.service:last-child{border-bottom:1px solid var(--line)}.service-number{font-size:10px;line-height:2.4;color:var(--muted)}h3{font-size:21px;font-weight:500;letter-spacing:-.025em;line-height:1.3}.service p{font-size:13px;line-height:1.7;color:var(--muted);margin-top:13px;max-width:360px}.service a{height:42px;width:42px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s}.service a:hover{background:var(--lime)}.about{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:var(--paper)}.about-art{background:var(--lime);color:var(--ink);position:relative;padding:60px 11%;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;min-height:620px}.workshop-type{font-family:var(--display);font-size:112px;line-height:.8;display:flex;gap:22px;align-items:center;letter-spacing:-.04em}.workshop-type>span{font-size:34px;letter-spacing:-.02em;line-height:.95}.wheel{position:absolute;width:440px;height:440px;top:195px;right:-65px;transform:rotate(-15deg);opacity:.8}.art-footer{margin-top:auto;position:relative;display:flex;justify-content:space-between;gap:16px;font-size:8px;letter-spacing:.14em;padding-top:25px;border-top:1px solid #20251e60}.about-copy{padding:70px 12% 75px}.about-copy .eyebrow{color:var(--lime)}.about-copy h2{margin:24px 0}.about-copy p:not(.eyebrow){font-size:13px;line-height:1.8;color:#bfc5b8;margin-bottom:16px;max-width:370px}.about-copy p.lead{font-size:19px;line-height:1.5;color:#f3f5ec}.about-copy .text-link{border-color:#a6b09a;margin-top:15px}.about-copy a:focus-visible{outline-color:var(--lime)}.process-heading{display:flex;align-items:start;justify-content:space-between;gap:40px}.process-heading h2{font-size:clamp(44px,4.7vw,68px);width:60%}.steps{list-style:none;padding:0;margin:65px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.steps li{border-top:1px solid var(--ink);padding-top:20px}.steps li>span{font-size:9px;letter-spacing:.12em;color:var(--muted)}.steps h3{margin-top:23px;font-size:19px}.steps p{font-size:13px;margin-top:12px;color:var(--muted);max-width:300px}.visit{display:grid;grid-template-columns:.85fr 1.15fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.visit-copy{padding:65px 14%;background:#e7eade}.visit h2{margin:23px 0}.visit-copy>p:not(.eyebrow){font-size:13px;color:#53594d;max-width:350px}.visit address{font-style:normal;font-size:13px;line-height:1.9;margin:28px 0}.visit address strong{font-weight:600}.button.light{background:transparent;border-color:#a6b09a}.button.light:hover{background:var(--paper)}.visit p.small{font-size:10px;margin-top:14px}.coverage{position:relative;display:flex;align-items:center;padding:40px;background:#f0f1e9;min-height:520px;overflow:hidden}.coverage>svg{position:relative;width:100%;height:auto;stroke:none;z-index:1}.map-grid{position:absolute;inset:0;background-image:linear-gradient(#20251e06 1px,transparent 1px),linear-gradient(90deg,#20251e06 1px,transparent 1px);background-size:34px 34px}.map-caption{position:absolute;left:34px;right:34px;bottom:24px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:.1em;gap:12px}.map-caption>span{color:var(--muted)}.contact{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:start}.contact h2{margin:27px 0}.contact-copy>p:not(.eyebrow){font-size:14px;color:var(--muted);max-width:350px}.phone-number{font-size:clamp(24px,3vw,39px);font-weight:500;letter-spacing:-.04em;display:flex;align-items:center;gap:18px;margin-top:36px}.phone-number svg{width:25px;height:25px}.email-link{display:inline-block;font-size:13px;border-bottom:1px solid var(--line);margin-top:7px;padding-bottom:5px}.contact-note{display:flex;align-items:center;gap:12px;margin-top:30px;font-size:11px}.contact-note p a{display:inline-flex;align-items:center;gap:5px;border-bottom:1px solid var(--line)}.contact-note svg{width:13px;height:13px}.enquiry-panel{border:1px solid var(--line);padding:34px;background:#eceee4}.panel-intro{margin:12px 0 20px;font-size:19px;letter-spacing:-.025em}fieldset{border:0;padding:0;margin:0}.service-options{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:24px}.service-options label{cursor:pointer}.service-options input{position:absolute;opacity:0;width:1px;height:1px}.service-options span{display:block;padding:10px 14px;border:1px solid #a6b09a;font-size:11px;transition:background .2s}.service-options input:checked+span{background:var(--ink);color:white;border-color:var(--ink)}.service-options input:focus-visible+span{outline:3px solid #4d7214;outline-offset:3px}.field{display:block;font-size:11px;font-weight:600;margin:17px 0 8px}.field span{color:var(--muted);font-weight:400}#vehicle,textarea{border:1px solid #b9c0ae;background:var(--paper);padding:13px;width:100%;font-size:12px;color:var(--ink);border-radius:0}textarea{resize:vertical;min-height:94px;display:block}.form-explain{font-size:10px;line-height:1.7;color:#53594d;margin:16px 0}form .button{width:100%}.form-status{font-size:11px;line-height:1.6;margin-top:12px}.form-status:empty{display:none}.copy-button{border:0;padding:8px 0;background:none;font-size:10px;text-decoration:underline;text-underline-offset:4px;margin-top:6px}.faq{padding-top:0;display:grid;grid-template-columns:1fr 1.45fr;gap:10%}.faq>p{padding-top:22px}details{border-top:1px solid var(--line)}details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;display:flex;justify-content:space-between;gap:20px;align-items:center;list-style:none;padding:22px 0;font-size:13px;font-weight:500}summary::-webkit-details-marker{display:none}summary>span{font-size:23px;font-weight:400;line-height:1}details[open] summary>span{transform:rotate(45deg)}details>p{font-size:12px;color:var(--muted);padding:0 30px 23px 0;max-width:580px}.closing{padding:60px 6%;background:var(--lime);display:flex;align-items:center;justify-content:space-between;gap:30px}.closing p{font-family:var(--display);font-size:clamp(60px,9vw,135px);line-height:.88;letter-spacing:-.02em}.closing p span{color:#3c5228}.closing a{height:100px;width:100px;border:1px solid var(--ink);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .2s}.closing a:hover{background:var(--paper)}.closing svg{height:40px;width:40px;stroke-width:1.2}footer{padding:40px 6% 25px;background:var(--ink);color:var(--paper);display:flex;align-items:center;flex-wrap:wrap;gap:30px}footer>div{margin-right:auto}footer strong{font-size:13px;font-weight:500;display:block;letter-spacing:.05em}footer span{display:block;font-size:10px;color:#c2c7ba;margin-top:7px}footer>a{font-size:11px;display:flex;gap:15px;align-items:center}footer svg{width:15px;height:15px}footer>p{border-top:1px solid #ffffff30;padding-top:22px;margin-top:10px;flex-basis:100%;font-size:9px;color:#c2c7ba}.mobile-contact{display:none}
@media(min-width:1650px){body{max-width:1920px;margin:auto}.hero{min-height:760px}.hero-photo{min-height:760px}.hero-copy{padding-top:65px}.hero h1{font-size:142px}}
@media(max-width:1050px){nav{gap:20px}.header{gap:20px}.hero-copy{padding-left:8%;padding-right:7%}.hero h1{font-size:9.1vw}.hero-intro{font-size:14px}.hero-photo,.hero{min-height:620px}.hero-bottom{font-size:7px}.hero-bottom>span:last-child{display:none}.area-strip p{gap:13px;font-size:11px}.section{padding:75px 5%}.services{gap:5%}.service{gap:12px;grid-template-columns:23px 1fr 32px}h3{font-size:18px}.service p{font-size:12px}.about-art{padding:55px 10%;min-height:600px}.workshop-type{font-size:90px}.workshop-type>span{font-size:28px}.wheel{right:-140px}.about-copy{padding:60px 10%}.about-copy h2{font-size:60px}.steps{gap:28px}.coverage{padding:15px}.contact{gap:6%}.enquiry-panel{padding:25px}.faq{padding-top:0}.visit-copy{padding:55px 12%}}
@media(max-width:760px){html{scroll-padding-top:84px}.topline{padding:0 5%;height:30px;font-size:8px}.topline a{letter-spacing:.03em}.header{height:80px;padding:0 5%;gap:16px}.brand{width:143px}.logo-crop{width:143px;height:66px}.logo-crop img{width:198px;height:198px;top:-68px;left:-19px}.header-call{margin-left:auto}.header-call span{display:none}.header-call{width:42px;height:42px;justify-content:center;border:1px solid var(--line);border-radius:50%}.menu-toggle{display:flex;width:42px;height:42px;background:none;border:1px solid var(--line);border-radius:50%;flex-direction:column;align-items:center;justify-content:center;gap:5px}.menu-toggle span{width:16px;height:1px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3px) rotate(-45deg)}nav{display:none;position:absolute;top:80px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:15px 5% 25px;box-shadow:0 14px 20px #20251e12}nav.open{display:flex;flex-direction:column;gap:0}nav a{min-height:48px;font-size:15px}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:34px 6% 27px}.hero h1{font-size:clamp(76px,19vw,118px);margin:24px 0 21px}.hero-intro{font-size:14px;max-width:330px}.hero-actions{gap:17px;margin-top:24px}.hero-actions>.button{width:100%;max-width:380px}.hero-bottom{display:none}.hero-photo{min-height:390px}.hero-photo>img{object-position:center 45%}.photo-index{top:24px;left:6%}.photo-caption{left:6%;right:6%;bottom:83px}.photo-caption>span{font-size:42px}.location-label{left:6%;right:6%;bottom:23px;padding-top:16px}.area-strip{padding:21px 6%;align-items:flex-start;flex-direction:column;gap:10px}.area-strip p{font-size:11px;gap:11px;flex-wrap:wrap}.section{padding:60px 6%}h2{font-size:58px}.services{grid-template-columns:1fr;gap:30px}.section-heading h2{margin:22px 0}.section-heading>p:last-child{max-width:440px;font-size:13px}.service-list{padding:0}.service{grid-template-columns:25px 1fr 40px;padding:25px 0;gap:15px}h3{font-size:21px}.service p{font-size:13px}.about{grid-template-columns:1fr}.about-art{min-height:360px;padding:38px 6%}.workshop-type{font-size:95px}.workshop-type>span{font-size:29px}.wheel{width:310px;height:310px;top:100px;right:-30px;opacity:.6}.art-footer{font-size:7px;padding-top:17px}.about-copy{padding:55px 6% 60px}.about-copy h2{font-size:65px}.about-copy p:not(.eyebrow){max-width:440px}.about-copy p.lead{font-size:21px}.process-heading{display:block}.process-heading h2{margin-top:25px;width:auto;font-size:49px}.steps{grid-template-columns:1fr;gap:27px;margin-top:35px}.steps li{position:relative;padding:20px 0 0 48px}.steps li>span{font-size:9px}.steps h3{margin-top:12px;font-size:21px}.steps p{max-width:440px}.visit{grid-template-columns:1fr}.visit-copy{padding:55px 6% 45px}.coverage{min-height:360px;padding:15px 15px 50px}.coverage>svg{max-height:370px}.map-caption{left:6%;right:6%;font-size:7px;bottom:20px}.contact{grid-template-columns:1fr;gap:35px}.contact h2{font-size:62px}.phone-number{font-size:35px;margin-top:25px}.email-link{font-size:14px}.enquiry-panel{padding:25px 21px}.service-options{gap:6px}.service-options span{padding:11px 13px}.field{font-size:12px}#vehicle,textarea{font-size:16px;padding:12px}.form-explain{font-size:11px}.copy-button{font-size:11px;min-height:44px}.faq{padding-top:0;grid-template-columns:1fr;gap:20px}.faq>p{padding-top:0}summary{font-size:14px;min-height:67px}details p{font-size:13px}.closing{padding:45px 6%;gap:15px}.closing p{font-size:clamp(55px,12vw,85px)}.closing a{height:62px;width:62px;flex-shrink:0}.closing svg{width:28px;height:28px}footer{padding:35px 6% 95px;gap:25px}footer>div{flex-basis:100%}footer>p{font-size:9px;margin-top:0}.mobile-contact{display:flex;position:fixed;z-index:25;bottom:0;left:0;right:0;background:var(--ink);box-shadow:0 -2px 15px #20251e25;padding-bottom:env(safe-area-inset-bottom)}.mobile-contact a{flex:1;display:flex;align-items:center;justify-content:center;gap:9px;min-height:56px;font-size:11px;font-weight:600;color:white}.mobile-contact a:last-child{background:var(--lime);color:var(--ink)}.mobile-contact svg{width:16px;height:16px}.desktop-br{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Keep keyboard focus visible on dark backgrounds. */
footer a:focus-visible,.topline a:focus-visible,.mobile-contact a:focus-visible{outline-color:var(--lime);outline-offset:-4px}.mobile-contact a:last-child:focus-visible{outline-color:var(--ink)}
/* Keep the opening statement on three deliberate lines on phones. */
@media(max-width:760px){.hero h1{font-size:clamp(51px,16.4vw,108px)}.hero-photo{min-height:360px}.eyebrow{font-size:11px}.photo-index,.location-label{font-size:10px}.hero-copy{padding-top:28px}.topline{font-size:9px}.area-strip>span{font-size:10px}.service-options span{min-height:44px}.service a{width:44px;height:44px}.closing p{font-size:clamp(48px,12vw,85px)}}
@media(min-width:761px) and (max-width:1050px){.hero-photo>img{object-position:78% center}}
