/* Garden Room Modernism variant: Willow & White; palette, composition and typography are intentionally site-specific. */
:root{--colour:#9CB89A;--ink:#21342C;--paper:#FEFCF5;--accent:#D89A60;--display:'Newsreader',serif;--body:'Plus Jakarta Sans',sans-serif;--radius:18px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);line-height:1.6}a{color:inherit;text-underline-offset:4px}.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;z-index:10;background:var(--paper);padding:.7rem}.site-header{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.15rem max(1.5rem,5vw);border-bottom:1px solid color-mix(in srgb,var(--ink) 18%,transparent);position:relative;z-index:4;background:var(--paper)}.brand{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--display);font-weight:700;text-decoration:none;font-size:1.15rem}.mark{width:1.25rem;height:1.25rem;display:inline-block;background:linear-gradient(135deg,var(--colour) 0 52%,var(--accent) 52%);clip-path:polygon(0 0,100% 0,73% 100%,0 78%)}nav{display:flex;align-items:center;gap:1.2rem;font-size:.92rem}nav a{font-weight:600;text-decoration:none}.nav-cta{padding:.5rem .75rem;border:1px solid var(--ink)}.menu{display:none;background:none;border:1px solid var(--ink);padding:.5rem;font:inherit;color:inherit}.wrap{max-width:1180px;margin-inline:auto;padding-left:clamp(1.5rem,5vw,4rem);padding-right:clamp(1.5rem,5vw,4rem)}.hero{overflow:hidden}.hero-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.hero h1,.page-hero h1,.contact-hero h1{font:500 clamp(3rem,6vw,6.8rem)/.95 var(--display);letter-spacing:-.055em;margin:.75rem 0 1.35rem;max-width:11ch}.hero p{max-width:54ch;font-size:1.08rem}.eyebrow{font-size:.73rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.hero-media{position:relative;overflow:hidden;min-height:500px}.hero-photo,.photo{width:100%;height:100%;max-height:500px;object-fit:cover;border-radius:var(--radius);box-shadow:0 18px 45px color-mix(in srgb,var(--ink) 20%,transparent);display:block}.hero-photo{max-height:500px;border-radius:0}.hero-tag{position:absolute;right:1.2rem;bottom:1.2rem;background:var(--paper);color:var(--ink);padding:1rem;font:500 1.1rem/1.15 var(--display);box-shadow:6px 6px 0 var(--accent)}.hero-actions{display:flex;gap:1rem;align-items:center;margin:1.75rem 0}.button{display:inline-block;border:1px solid var(--ink);background:var(--colour);color:var(--ink);padding:.85rem 1.2rem;text-decoration:none;font-weight:700;transition:transform 160ms cubic-bezier(.23,1,.32,1),box-shadow 160ms}.button:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ink)}.button:active{transform:scale(.97)}.text-link{font-weight:700}.micro{font-size:.85rem!important;opacity:.8}.services{padding-top:8rem;padding-bottom:8rem}.services h2,.image-copy h2,.process h2,.statement h2,.faq h2,.closing h2,.story h2,.values h2,.form-section h2{font:500 clamp(2.3rem,4vw,4.7rem)/1 var(--display);letter-spacing:-.04em;margin:.75rem 0 2rem;max-width:14ch}.service-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:color-mix(in srgb,var(--ink) 18%,transparent);border:1px solid color-mix(in srgb,var(--ink) 18%,transparent)}.service-list article{background:var(--paper);padding:2rem;min-height:250px}.service-list h3,.cards h2{font:600 1.55rem/1.05 var(--display);margin:0 0 .9rem}.service-list a{font-weight:700}.image-copy{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,7vw,8rem);align-items:center;padding-top:7rem;padding-bottom:7rem}.image-copy p{max-width:52ch}.image-copy dl{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;border-top:1px solid color-mix(in srgb,var(--ink) 25%,transparent);margin:2rem 0;padding-top:1rem}.image-copy dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.image-copy dd{margin:.15rem 0;font:500 1rem/1.2 var(--display)}.process{background:var(--colour);color:var(--ink);padding:7rem 0}.process ol{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;padding:0;margin:3rem 0 0;gap:1rem}.process li{border-top:1px solid color-mix(in srgb,var(--ink) 50%,transparent);padding-top:1rem;display:flex;flex-direction:column;gap:.75rem}.process b{font:500 2.5rem/1 var(--display)}.process span{font-weight:700}.statement{display:grid;grid-template-columns:1fr 1fr;gap:4rem;padding-top:8rem;padding-bottom:8rem}.statement p{font-size:1.25rem;max-width:38ch;margin-top:2rem}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:4rem;padding-bottom:8rem}.faq details{padding:1.25rem 0;border-top:1px solid color-mix(in srgb,var(--ink) 25%,transparent)}.faq summary{font-weight:700;cursor:pointer}.faq p{max-width:55ch}.closing{background:var(--ink);color:var(--paper);padding:5rem 0}.closing .wrap{display:flex;justify-content:space-between;align-items:end;gap:3rem}.closing h2{margin-bottom:0}.light{background:var(--paper);color:var(--ink);white-space:nowrap}.page-hero{padding-top:7rem;padding-bottom:4rem}.page-hero p{font-size:1.2rem;max-width:58ch}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;padding-bottom:7rem}.cards article{padding:1.75rem;border:1px solid color-mix(in srgb,var(--ink) 22%,transparent)}.cards span{display:block;font:500 2.4rem/1 var(--display);color:var(--colour);margin-bottom:4rem}.story{display:grid;grid-template-columns:1.4fr .6fr;gap:7rem;padding-bottom:7rem}.story aside{padding:2rem;background:var(--colour)}.large-quote{font:500 1.8rem/1.1 var(--display)}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;padding-bottom:7rem}.values article{border-top:5px solid var(--accent);padding-top:1.5rem}.contact-hero{display:grid;grid-template-columns:1fr .8fr;gap:5rem;padding-top:7rem;padding-bottom:7rem}.contact-hero aside{border:1px solid color-mix(in srgb,var(--ink) 25%,transparent);padding:2rem}.contact-hero aside p{display:flex;flex-direction:column;margin:0 0 1.5rem}.contact-hero aside a{font:500 1.15rem var(--display)}.form-section{display:grid;grid-template-columns:1.1fr .9fr;gap:7rem;padding-bottom:8rem}.form-section form{display:grid;gap:1.1rem;background:color-mix(in srgb,var(--colour) 16%,var(--paper));padding:2rem}.form-section label{font-size:.85rem;font-weight:700}.form-section input,.form-section textarea{display:block;width:100%;background:var(--paper);border:1px solid var(--ink);padding:.75rem;margin-top:.35rem;font:inherit;color:var(--ink)}.legal{padding-top:6rem;padding-bottom:8rem;max-width:850px}.legal h1{font:500 clamp(3.5rem,7vw,7rem)/.9 var(--display);letter-spacing:-.055em;margin:.6rem 0 1.4rem}.legal h2{font:600 1.55rem/1.15 var(--display);margin-top:2.75rem}.lead{font-size:1.25rem}.legal-note{margin-top:4rem;padding:1.25rem;border-left:4px solid var(--colour);font-size:.9rem}footer{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:2rem;padding:4rem max(1.5rem,5vw) 1.5rem;background:color-mix(in srgb,var(--ink) 8%,var(--paper));font-size:.9rem}footer h2{font:700 .75rem/1 var(--body);letter-spacing:.1em;text-transform:uppercase}footer a{display:block;margin:.3rem 0}footer small{grid-column:1/-1;border-top:1px solid color-mix(in srgb,var(--ink) 18%,transparent);padding-top:1rem;font-size:.72rem}.cookie{position:fixed;right:1rem;bottom:1rem;max-width:360px;padding:1rem;background:var(--ink);color:var(--paper);box-shadow:0 10px 30px #0004;z-index:9;font-size:.83rem}.cookie a{color:inherit}.cookie button{background:var(--accent);border:0;padding:.55rem .75rem;font-weight:700}.cookie.hidden{display:none}@media(max-width:760px){nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:1rem;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--ink)}nav.open{display:flex}.menu{display:block}.hero,.image-copy,.statement,.faq,.story,.contact-hero,.form-section{display:block!important}.hero-copy{padding:4.5rem 1.5rem!important;writing-mode:horizontal-tb!important;transform:none!important}.hero-copy p,.hero-copy .hero-actions,.hero-copy .micro{transform:none!important}.hero-media{height:300px!important;min-height:300px!important;width:auto!important;margin:0!important;position:relative!important;inset:auto!important;opacity:1!important;transform:none!important;clip-path:none!important}.hero-photo{height:100%;max-height:300px;filter:none!important}.hero h1,.page-hero h1,.contact-hero h1{font-size:clamp(3rem,13vw,4.5rem)}.service-list,.cards,.values{grid-template-columns:1fr}.process ol{grid-template-columns:1fr 1fr}.image-copy,.statement,.faq,.story,.contact-hero,.form-section{padding-top:4.5rem;padding-bottom:4.5rem}.image-copy>div+div,.statement p,.faq>div+div,.story aside,.contact-hero aside,.form-section>div{margin-top:2rem}.image-copy dl{grid-template-columns:1fr}.closing .wrap{align-items:flex-start;flex-direction:column}.closing h2{font-size:2.8rem}.page-hero{padding-top:4.5rem}footer{grid-template-columns:1fr}.cards{padding-bottom:4.5rem}.cookie{left:1rem;right:1rem;max-width:none}}@media(prefers-reduced-motion:no-preference){a,button,details{transition:all 180ms cubic-bezier(.23,1,.32,1)}}