:root{--paper:#f7f4ed;--ink:#282a25;--orange:#e5662a;--muted:#66675f;--line:#d5d3c8;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif;--sage:#e3e6da}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}p{line-height:1.75}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2{font-weight:400;letter-spacing:-.055em}h3{font-size:22px;line-height:1.3;letter-spacing:-.025em;font-weight:400}em{font-family:var(--serif);font-weight:400}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--orange);outline-offset:5px}.skip-link{position:fixed;top:-80px;left:15px;background:var(--ink);color:white;padding:15px;z-index:100}.skip-link:focus{top:10px}.site-header{min-height:102px;padding:20px 4.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:25px}.brand{display:flex;align-items:center;gap:12px}.brand-symbol{position:relative;display:block;width:54px;height:59px;overflow:hidden;mix-blend-mode:multiply;flex-shrink:0}.brand-symbol img{position:absolute;width:303.36px;height:420.84px;max-width:none;transform:rotate(180deg);left:-17px;top:-20px}.brand-type{font-family:var(--serif);font-size:23px;letter-spacing:-.04em;white-space:nowrap}.brand-type>span{font-size:15px}.brand-type small{display:block;font:9px var(--sans);letter-spacing:.19em;margin-top:6px}.site-header nav{display:flex;align-items:center;gap:26px;font-size:12px}.site-header nav a:hover,.text-link:hover{text-decoration:underline;text-underline-offset:5px}.site-header nav a[aria-current=page]{color:#b94d1c}.nav-cta{border:1px solid var(--ink);padding:14px 20px;display:flex;align-items:center;gap:20px}.eyebrow{font-size:10px;line-height:1.6;letter-spacing:.14em;font-weight:600;margin-bottom:27px}.button{min-height:49px;padding:16px 20px;display:inline-flex;align-items:center;justify-content:space-between;gap:25px;border:1px solid transparent;font-size:12px;line-height:1.3;font-weight:500;transition:background .18s}.button-dark{background:var(--ink);color:var(--paper)}.button-dark:hover{background:#46483e}.button-light{background:var(--paper);color:var(--ink)}.text-link{font-size:12px;line-height:1.8;display:inline-block}.hero{display:grid;grid-template-columns:1.05fr 1fr;min-height:785px}.hero-copy{padding:52px 8.6% 0}.hero h1{font-size:clamp(57px,5.7vw,91px);line-height:1.03;margin-bottom:25px}.hero h1 em{color:var(--orange)}.hero-subheading{font-size:17px;line-height:1.5;letter-spacing:-.02em;margin-bottom:20px;max-width:420px}.hero-intro{max-width:420px;color:var(--muted);font-size:13px;margin-bottom:0}.hero-actions{display:flex;align-items:center;gap:20px;margin-top:29px;flex-wrap:wrap}.hero-actions>.text-link{font-size:11px}.hero-footnote{margin-top:38px;border-top:1px solid var(--line);padding:19px 0;display:flex;justify-content:space-between;gap:12px;font-size:7px;letter-spacing:.09em;color:var(--muted)}.hero-media{background:#ede5d9;display:flex;flex-direction:column;justify-content:space-between;min-width:0;padding:28px 0 24px;overflow:hidden}.hero-media>img{display:block;width:100%;height:auto;object-fit:contain}.media-label{padding:0 28px;display:flex;justify-content:space-between;gap:25px;font-size:9px;letter-spacing:.12em;line-height:1.6}.media-label>span:last-child{font-size:30px}.hero-media>p{padding:0 28px;font-size:8px;letter-spacing:.1em;margin:0;line-height:1.6}.principles{display:flex;align-items:center;justify-content:space-around;gap:20px;background:var(--orange);padding:25px 4.5%;font-size:9px;letter-spacing:.12em}.principles>span[aria-hidden]{font-size:20px}.section{padding:95px 4.5%}h2{font-size:clamp(38px,4.1vw,62px);line-height:1.12;margin-bottom:25px}.intro-columns{display:grid;grid-template-columns:1fr 1fr;gap:12%}.intro-columns p{font-size:14px;color:var(--muted)}.intro-columns p:first-child{margin-top:0}.intro-columns>div{max-width:520px}.intro-columns h2 em,.section-heading h2 em,.split-section h2 em,.statement-section h2 em,.contact-banner h2 em{color:var(--orange)}.home-products{padding-top:0}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:35px}.section-heading h2{margin:0}.section-heading>.text-link{white-space:nowrap;padding-bottom:8px}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.product-photo{overflow:hidden;background:#e9e4db}.product-photo img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;transition:transform .3s}.product-card a:hover img{transform:scale(1.025)}.card-title{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:23px}.card-title h3{font-size:21px;margin:0}.card-title>span{font-size:20px}.product-card p{font-size:13px;color:var(--muted);margin:12px 0 0}.why-section{background:var(--sage)}.why-section .section-heading>p{max-width:350px;font-size:14px;margin:0 0 6px}.benefit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;margin-top:55px}.benefit-grid article{border-top:1px solid var(--ink);padding-top:22px}.benefit-grid article>span{font-size:9px;letter-spacing:.1em;display:block;margin-bottom:28px}.benefit-grid h3{font-size:22px;max-width:230px}.benefit-grid p{font-size:12px;color:#56594e;margin-bottom:0}.clients-preview{display:grid;grid-template-columns:1fr 1fr;gap:10%}.client-list{padding:0;margin:0;list-style:none}.client-list li{display:flex;align-items:baseline;gap:20px;border-top:1px solid var(--line);padding:24px 0;font-size:22px;line-height:1.4;letter-spacing:-.025em}.client-list li:last-child{border-bottom:1px solid var(--line)}.client-list li>span{font-size:9px;letter-spacing:.1em;color:var(--muted);flex-shrink:0}.contact-banner{padding:70px 4.5%;background:#e9e6dc;display:flex;justify-content:space-between;align-items:center;gap:40px}.contact-banner h2{font-size:clamp(38px,3.7vw,55px);margin-bottom:20px}.contact-banner p:last-child{font-size:13px;color:var(--muted);margin:0}.contact-banner>.button{flex-shrink:0}.page-heading{padding:75px 4.5% 65px;border-bottom:1px solid var(--line)}.page-heading h1{font-size:clamp(50px,5.8vw,88px);line-height:1.07;max-width:1100px;margin-bottom:25px}.page-heading h1 em{color:var(--orange)}.page-intro{font-size:15px;color:var(--muted);max-width:680px;margin:0}.split-section{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.split-section>*{min-width:0}.section-photo img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}.prose p{font-size:14px;line-height:1.8;color:var(--muted)}.prose h2{font-size:clamp(37px,3.6vw,53px)}.prose h3{font-size:21px;margin:28px 0 10px}.prose .eyebrow{font-size:9px;color:var(--ink)}.statement-section{background:var(--sage)}.statement-section h2{max-width:900px}.statement-section>p:not(.eyebrow){font-size:15px;color:#56594e;max-width:720px}.statement-section>p:last-child{margin-bottom:0}.category-nav{display:flex;flex-wrap:wrap;gap:10px;padding:28px 4.5%;border-bottom:1px solid var(--line)}.category-nav>a{border:1px solid var(--line);padding:11px 15px;font-size:11px;line-height:1.5}.category-nav>a:hover{border-color:var(--ink);background:#ebe7dc}.product-detail{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;padding:70px 4.5%;border-bottom:1px solid var(--line);scroll-margin-top:25px}.product-detail>*{min-width:0}.product-detail:nth-child(even) .detail-image{order:2}.detail-image img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;display:block}.detail-copy h2{font-size:clamp(36px,3.8vw,56px)}.detail-copy>p:not(.eyebrow){font-size:14px;color:var(--muted)}.feature-list{list-style:none;margin:20px 0 30px;padding:0}.feature-list li{border-bottom:1px solid var(--line);padding:12px 0;font-size:13px;line-height:1.65}.feature-list li:first-child{border-top:1px solid var(--line)}.imagery-note{padding:24px 4.5%;font-size:11px;line-height:1.8;color:var(--muted);margin:0}.clients-full{padding-top:35px}.clients-full .client-list{max-width:1000px}.clients-full .client-list li{font-size:clamp(25px,3.5vw,45px);padding:32px 0;gap:30px}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:start}.contact-copy>p{font-size:15px;color:var(--muted);max-width:390px;margin-bottom:35px}.contact-details{margin:0}.contact-details>div{margin-bottom:27px}.contact-details dt{font-size:9px;letter-spacing:.12em;margin-bottom:10px}.contact-details dd{font-size:16px;line-height:1.7;margin:0}.contact-email{font-size:clamp(20px,2.3vw,31px);letter-spacing:-.025em;border-bottom:1px solid var(--ink);padding-bottom:5px}.contact-details address{font-style:normal;font-size:14px;line-height:1.8}.contact-copy>.text-link{margin-top:5px}.form-heading{display:flex;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:.09em;border-top:1px solid var(--ink);padding:20px 0 27px}.brief-form label{display:block;font-size:11px;margin-bottom:23px;line-height:1.7}.brief-form input,.brief-form textarea,.brief-form select{display:block;width:100%;background:transparent;border:0;border-bottom:1px solid var(--line);color:var(--ink);padding:10px 0;border-radius:0;font-size:14px;line-height:1.5;resize:vertical}.brief-form input:focus,.brief-form textarea:focus,.brief-form select:focus{border-color:var(--ink)}.brief-form select{appearance:auto;min-height:43px}.brief-form select option{background:var(--paper);color:var(--ink)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:25px}.form-note{font-size:10px;color:var(--muted);margin:15px 0 0;line-height:1.7}.brief-form>.button{width:100%}.brief-result{border-top:1px solid var(--line);padding-top:25px;margin-top:25px}.brief-result textarea{background:#eeece3;padding:12px}.result-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.copy-button{border:0;border-bottom:1px solid var(--ink);padding:8px 0;background:transparent;font-size:12px;color:var(--ink)}.status{font-size:12px;line-height:1.7;margin:15px 0 0}.site-footer{padding:55px 4.5% 25px;background:var(--ink);color:var(--paper)}.footer-top{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:8%}.footer-brand{font:27px var(--serif);letter-spacing:-.03em}.footer-top p{font-size:12px;color:#e8e6d5b5;max-width:360px}.footer-tagline{font-size:11px!important;line-height:1.8;margin:18px 0 12px}.footer-top>nav{display:flex;flex-direction:column;align-items:flex-start;gap:13px;font-size:11px}.footer-top>nav a:hover{text-decoration:underline;text-underline-offset:4px}.footer-contact>span{display:block;font-size:8px;letter-spacing:.14em;margin-bottom:15px}.footer-contact>a{font-size:18px;letter-spacing:-.025em}.footer-contact p{margin-top:18px}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid #f7f4ed30;margin-top:40px;padding-top:22px}.footer-bottom small,.footer-bottom>a{font-size:9px;letter-spacing:.06em}.footer-bottom small{color:#e8e6d5b5}
@media(min-width:1700px){body{max-width:1700px;margin:0 auto;border-left:1px solid var(--line);border-right:1px solid var(--line)}}
@media(max-width:1100px){.site-header{gap:20px;flex-wrap:wrap}.site-header nav{width:100%;border-top:1px solid var(--line);padding-top:18px;justify-content:space-between;gap:20px}.hero{min-height:740px}.hero-copy{padding:42px 8% 0}.hero h1{font-size:clamp(52px,6.5vw,70px)}.hero-subheading{font-size:16px}.hero-actions{gap:17px}.hero-footnote{flex-wrap:wrap;margin-top:30px;font-size:6px}.hero-media>p{font-size:7px}.principles{font-size:8px;gap:14px}.section{padding:75px 5%}.home-products{padding-top:0}.product-grid{gap:22px}.card-title h3{font-size:19px}.section-heading{gap:25px}.benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}.benefit-grid h3{max-width:100%}.benefit-grid p{font-size:13px}.clients-preview{gap:7%}.client-list li{font-size:19px}.contact-banner{padding:60px 5%}.page-heading{padding:65px 5% 55px}.split-section{gap:7%}.product-detail{padding:60px 5%;gap:7%}.category-nav{padding:24px 5%}.contact-layout{gap:8%}.footer-top{gap:5%}.footer-brand{font-size:23px}.footer-contact>a{font-size:17px}}
@media(max-width:760px){html{scroll-padding-top:20px}.site-header{padding:17px 6%;gap:15px}.brand-type{font-size:21px}.brand-type small{font-size:8px}.site-header nav{font-size:10px;gap:12px;flex-wrap:wrap;padding-top:14px}.nav-cta{padding:10px 13px;gap:12px}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:38px 6% 0}.eyebrow{font-size:9px;margin-bottom:23px}.hero .eyebrow{font-size:8px}.hero h1{font-size:clamp(48px,11.8vw,75px)}.hero-subheading{font-size:17px;max-width:430px}.hero-intro{font-size:14px;max-width:100%}.hero-actions{gap:15px 20px;margin-top:25px}.hero-actions>.text-link{font-size:11px}.hero-footnote{margin-top:30px;padding:17px 0;font-size:6px}.hero-media{min-height:380px;padding:23px 0 20px;gap:25px}.hero-media>img{width:100%;height:auto}.media-label{padding:0 6%;font-size:8px}.hero-media>p{padding:0 6%;font-size:6px}.principles{padding:22px 6%;justify-content:center;flex-wrap:wrap;gap:12px 18px;font-size:7px}.principles>span[aria-hidden]{font-size:13px}.section{padding:60px 6%}.intro-columns{grid-template-columns:1fr;gap:14px}h2{font-size:39px}.intro-columns p{font-size:14px}.home-products{padding-top:0}.section-heading{display:block;margin-bottom:30px}.section-heading h2{margin-bottom:20px}.section-heading>.text-link{padding:0}.product-grid{grid-template-columns:1fr;gap:35px}.product-photo{max-width:600px}.card-title{padding-top:20px}.card-title h3{font-size:24px}.product-card p{font-size:14px;max-width:520px}.benefit-grid{grid-template-columns:1fr;gap:30px;margin-top:30px}.benefit-grid article>span{margin-bottom:20px}.benefit-grid h3{font-size:24px;margin-bottom:12px}.benefit-grid p{font-size:14px}.why-section .section-heading>p{max-width:100%;font-size:14px}.clients-preview{grid-template-columns:1fr;gap:30px}.client-list li{font-size:21px}.contact-banner{padding:55px 6%;display:block}.contact-banner h2{font-size:38px}.contact-banner p:last-child{font-size:14px}.contact-banner>.button{margin-top:25px}.page-heading{padding:45px 6% 40px}.page-heading h1{font-size:clamp(42px,10.4vw,65px)}.page-intro{font-size:14px}.split-section{grid-template-columns:1fr;gap:35px}.prose h2{font-size:38px}.prose p{font-size:14px}.statement-section h2{font-size:39px}.statement-section>p:not(.eyebrow){font-size:14px}.category-nav{padding:22px 6%;gap:8px}.category-nav>a{font-size:10px;padding:10px 12px}.product-detail{grid-template-columns:1fr;gap:28px;padding:48px 6%}.product-detail:nth-child(even) .detail-image{order:0}.detail-copy h2{font-size:38px}.detail-copy>p:not(.eyebrow){font-size:14px}.feature-list li{font-size:14px}.imagery-note{padding:22px 6%;font-size:11px}.clients-full{padding-top:20px}.clients-full .client-list li{font-size:27px;gap:20px;padding:26px 0}.contact-layout{grid-template-columns:1fr;gap:40px}.contact-copy>p{max-width:100%;font-size:14px}.contact-email{font-size:27px}.contact-details dd{font-size:16px}.brief-form label{font-size:12px}.brief-form select{font-size:13px}.field-row{grid-template-columns:1fr;gap:0}.site-footer{padding:45px 6% 25px}.footer-top{grid-template-columns:1fr;gap:32px}.footer-brand{font-size:27px}.footer-top p{max-width:100%;font-size:13px}.footer-top>nav{display:grid;grid-template-columns:1fr 1fr;gap:15px;font-size:12px}.footer-contact>a{font-size:22px}.footer-contact p{margin-bottom:0}.footer-bottom{margin-top:30px}.footer-bottom small,.footer-bottom>a{font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

.form-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.button:disabled{cursor:default;opacity:.65}.status[data-state=error]{color:#a12d24}.status[data-state=success]{color:#365a2e}.enquiry-success{border-top:1px solid var(--line);padding-top:22px;margin-top:22px}.enquiry-success h3{font-size:22px;margin-bottom:12px}.enquiry-success p,.enquiry-fallback p{font-size:13px;color:var(--muted)}.enquiry-fallback{margin-top:17px}

/* Colour and material: warm paper, woven lines, sage and deep teal. */
:root {
  --paper:#faf7f1;
  --ink:#243a35;
  --orange:#b94d24;
  --muted:#59655f;
  --line:#d4ddd5;
  --sage:#e3ede5;
  --teal:#205b53;
  --peach:#f5ddca;
  --card-shadow:0 16px 36px -24px #173f3959;
}
body { background:var(--paper); }
.site-header { background:#fffcf7; border-top:4px solid #d7743d; box-shadow:0 5px 22px -18px #173f3959; position:relative; z-index:2; }
.site-header nav a[aria-current=page] { color:var(--teal); text-decoration:underline; text-underline-offset:7px; text-decoration-color:#d7743d; text-decoration-thickness:2px; }
.nav-cta { background:var(--teal); border-color:var(--teal); color:#fffaf2!important; border-radius:4px; box-shadow:0 6px 16px -10px #173f3980; }
.site-header nav .nav-cta[aria-current=page] { text-decoration-color:#f5c5a2; }
.eyebrow { color:var(--teal); }
.button { border-radius:4px; transition:background .18s,box-shadow .18s,transform .18s; }
.button-dark { background:var(--teal); color:#fffaf2; box-shadow:0 9px 20px -13px #173f3980; }
.button-dark:hover { background:#153f39; box-shadow:0 12px 24px -13px #173f3999; transform:translateY(-2px); }
.button-light { background:#fffaf2; }
.hero { background:linear-gradient(125deg,#fffaf2 10%,#f5eee2 55%,#e0eae2); }
.hero-copy { position:relative; }
.hero h1 em { color:var(--orange); }
.hero-media { margin:28px 28px 28px 0; border:1px solid #c3d6ca; border-radius:12px 12px 12px 50px; background:linear-gradient(145deg,#d9e7dd,#e8dfcf); box-shadow:0 24px 50px -35px #173f3980,inset 0 1px 0 #ffffffb3; }
.hero-media>img { box-shadow:0 15px 35px -25px #173f3966; }
.media-label { color:#254e43; }
.principles { color:#243a35; background:linear-gradient(100deg,#edb88e,#e8cdac 48%,#d4e1cd); border-top:1px solid #c88d5a66; border-bottom:1px solid #b5c5b2; }
.home-intro { background:linear-gradient(180deg,#faf7f1,#fffdf9); }
.home-products { background:#fffdf9; }
.product-card { background:#fffdf9; border:1px solid #d8dfd6; border-top:4px solid #6c9281; border-radius:9px; overflow:hidden; box-shadow:var(--card-shadow); transition:box-shadow .2s,transform .2s; }
.product-card:nth-child(2) { border-top-color:#d28a60; }
.product-card:nth-child(3) { border-top-color:#88a8b7; }
.product-card:hover { transform:translateY(-4px); box-shadow:0 22px 40px -24px #173f3966; }
.product-photo { background:#e7e7dc; border-bottom:1px solid #e1e1d6; }
.card-title { padding:23px 22px 0; }
.card-title>span { color:var(--teal); }
.product-card p { margin:12px 22px 24px; }
.why-section { background:linear-gradient(120deg,#163f39,#286258); color:#fffaf2; border-top:1px solid #386c5f; }
.why-section .eyebrow { color:#b8d8c6; }
.why-section h2 em { color:#f4bd94; }
.why-section .section-heading>p,.why-section .benefit-grid p { color:#d6e5dc; }
.benefit-grid article { border:1px solid #b9d6c52e; background:#ffffff08; border-radius:8px; padding:24px 22px; box-shadow:0 12px 24px -20px #071d1a; }
.benefit-grid article>span { color:#f4c09a; padding-bottom:15px; border-bottom:1px solid #b9d6c538; }
.clients-preview { background:#edf1e8; }
.client-list li { border-color:#bfcfc2; }
.client-list li>span { color:var(--teal); background:#dce8db; border:1px solid #c9d8c8; padding:6px 8px; border-radius:3px; }
.contact-banner { background:linear-gradient(110deg,#f7e5d6,#f0d2ba); border-top:1px solid #e2bea0; position:relative; }
.contact-banner h2 em { color:#9e421f; }
.contact-banner p:last-child { color:#695848; }
.page-heading { position:relative; isolation:isolate; overflow:hidden; background:linear-gradient(110deg,#edf3e9 5%,#e3ede3 58%,#efe1cf); border-bottom:1px solid #c5d6c6; box-shadow:inset 0 -1px 0 #ffffffa6; }
.page-heading::after { content:""; position:absolute; z-index:-1; pointer-events:none; top:0; right:-30px; bottom:0; width:38%; opacity:.42; background:repeating-linear-gradient(0deg,transparent 0 23px,#7f9d7a29 23px 24px),repeating-linear-gradient(90deg,transparent 0 23px,#7f9d7a29 23px 24px); transform:skewX(-12deg); mask-image:linear-gradient(to right,transparent,#000); }
.page-heading h1 em { color:var(--teal); }
.page-heading .eyebrow { color:#3c6651; }
.page-heading .page-intro { color:#4b6255; }
.split-section { background:linear-gradient(180deg,#fffdf9,var(--paper)); }
.section-photo,.detail-image { padding:14px; border:1px solid #c9d8cc; border-radius:10px; background:linear-gradient(135deg,#e0eadc,#f1dfcc); box-shadow:12px 12px 0 #e4ebe1,0 24px 42px -30px #173f3973; }
.section-photo img,.detail-image img { border-radius:4px; }
.prose h2 em,.detail-copy h2 { color:var(--teal); }
.prose .eyebrow { color:var(--teal); }
.prose .feature-list { border:1px solid #d8e2d6; border-left:3px solid #7b9d87; border-radius:0 6px 6px 0; background:#f0f5ed; overflow:hidden; }
.prose .feature-list li { padding:12px 17px; border-color:#d8e2d6; }
.prose .feature-list li:first-child { border-top:0; }
.prose .feature-list li:last-child { border-bottom:0; }
.statement-section { background:linear-gradient(120deg,#e4eddf,#d7e6d7); border-top:1px solid #c3d5bf; border-bottom:1px solid #c3d5bf; }
.statement-section h2 em { color:var(--teal); }
.category-nav { background:#fffcf7; box-shadow:0 8px 24px -24px #173f3980; }
.category-nav>a { background:#eef3eb; border-color:#c9d9ca; border-radius:4px; color:#315645; }
.category-nav>a:hover { background:#dce9db; border-color:#6f917a; }
.product-detail:nth-child(even) { background:#edf2ea; }
.product-detail:nth-child(even) .detail-image { box-shadow:12px 12px 0 #dbe6d9,0 24px 42px -30px #173f3973; }
.clients-full { background:linear-gradient(160deg,#fffdf9,#eef2e8); }
.brief-form { padding:28px; border:1px solid #cbd9cd; border-top:4px solid #739b83; border-radius:8px; background:#fffdf9; box-shadow:var(--card-shadow); min-width:0; }
.form-heading { border-top:0; padding-top:0; color:var(--teal); line-height:1.6; }
.brief-form input,.brief-form textarea,.brief-form select { background:#f2f5ef; border:1px solid #d5e0d3; border-radius:4px; padding:11px 12px; margin-top:7px; }
.brief-form input:focus,.brief-form textarea:focus,.brief-form select:focus { background:#fff; border-color:var(--teal); }
.brief-form input::placeholder,.brief-form textarea::placeholder { color:#6d756b; opacity:1; }
.site-footer { background:linear-gradient(125deg,#173e38,#102c29); border-top:4px solid #d68a59; color:#fffaf2; }
.footer-contact>span { color:#efbd96; }
.footer-top p,.footer-bottom small { color:#cfdfd3; }
@media(max-width:1100px) {
  .hero-media { margin:24px 24px 24px 0; }
  .contact-layout { gap:5%; }
  .brief-form { padding:24px; }
}
@media(max-width:760px) {
  .hero-media { margin:6px 6% 28px; min-height:0; border-radius:10px 10px 10px 32px; }
  .product-grid { gap:26px; }
  .card-title { padding:20px 20px 0; }
  .product-card p { margin:12px 20px 24px; }
  .page-heading::after { width:52%; opacity:.3; }
  .section-photo,.detail-image { padding:10px; margin-right:8px; box-shadow:8px 8px 0 #e4ebe1,0 20px 35px -28px #173f3973; }
  .product-detail:nth-child(even) .detail-image { box-shadow:8px 8px 0 #dbe6d9,0 20px 35px -28px #173f3973; }
  .benefit-grid { gap:16px; }
  .brief-form { padding:22px 18px; }
}

/* Motion is an enhancement; hidden panels always keep their native semantics. */
/* A consistent photo stage preserves the original products and their proportions. */
.hero-product-stage { margin:22px 24px; padding:24px; min-height:440px; flex:1; display:flex; align-items:center; justify-content:center; background:#fff; border:1px solid #d7dfd1; border-radius:6px; box-shadow:0 18px 35px -27px #173f3966; }
.hero-product-stage img { display:block; width:auto; height:auto; max-width:100%; max-height:550px; object-fit:contain; }
.product-photo:has(.catalogue-photo) { aspect-ratio:1; padding:25px; background:#fff; display:flex; align-items:center; justify-content:center; }
.product-photo img.catalogue-photo { width:auto; height:auto; max-width:100%; max-height:290px; aspect-ratio:auto; object-fit:contain; }
.section-photo:has(.catalogue-photo),.detail-image:has(.catalogue-photo) { background:linear-gradient(140deg,#e0eadc,#f1dfcc); }
.section-photo img.catalogue-photo,.detail-image img.catalogue-photo { display:block; width:100%; height:clamp(300px,34vw,460px); aspect-ratio:auto; object-fit:scale-down; padding:20px; background:#fff; }
.related-range { grid-column:1/-1; order:3; width:100%; min-width:0; margin-top:10px; }
.range-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:stretch; gap:20px; }
.range-card { min-width:0; overflow:hidden; background:#fffdf9; border:1px solid #d4dfd0; border-radius:7px; box-shadow:var(--card-shadow); transition:box-shadow .25s,transform .25s; }
.range-photo { height:230px; padding:20px; background:#fff; border-bottom:1px solid #e2e7dc; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.range-photo img.catalogue-photo { width:auto; height:auto; max-width:100%; max-height:100%; object-fit:contain; flex-shrink:1; transition:transform .3s; }
.range-card-copy { padding:19px; }
.range-card-copy .eyebrow { font-size:8px; margin-bottom:11px; letter-spacing:.1em; }
.range-card h3 { font-size:20px; margin-bottom:14px; }
.range-card .text-link { font-size:12px; padding:5px 0; }
.range-card:hover { box-shadow:0 20px 34px -24px #173f3966; transform:translateY(-3px); }
.range-card:hover .range-photo img { transform:scale(1.025); }
.range-card:focus-within { border-color:var(--teal); }
.photo-open { position:relative; width:100%; height:100%; min-width:0; min-height:0; border:0; padding:0; background:#fff; color:var(--teal); display:flex; justify-content:center; align-items:center; }
.photo-open-label { position:absolute; right:0; bottom:0; background:#f2f6edee; border:1px solid #cfddcb; padding:6px 9px; border-radius:3px; font-size:9px; line-height:1.4; opacity:0; transform:translateY(4px); transition:opacity .2s,transform .2s; }
.photo-open:hover .photo-open-label,.photo-open:focus-visible .photo-open-label { opacity:1; transform:none; }
.product-photo-dialog { width:fit-content; max-width:90vw; max-height:90vh; padding:24px; border:1px solid #b1c9b6; border-radius:10px; background:#fffdf9; color:var(--ink); box-shadow:0 30px 100px #092b2959; }
.product-photo-dialog::backdrop { background:#102f29cc; backdrop-filter:blur(4px); }
.photo-dialog-header { display:flex; align-items:center; justify-content:space-between; gap:30px; margin-bottom:20px; }
.photo-dialog-header h2 { font:22px var(--sans); letter-spacing:-.025em; margin:0; }
.photo-dialog-header button { border:1px solid #bdceba; border-radius:4px; padding:9px 13px; background:#edf3e8; color:var(--teal); font-size:12px; flex-shrink:0; }
.product-photo-dialog>img { display:block; width:auto; height:auto; max-width:100%; max-height:66vh; margin:auto; object-fit:contain; background:#fff; }
.product-photo-dialog>p { font-size:12px; color:var(--muted); max-width:650px; margin:18px 0 0; }
@media(hover:none) { .photo-open-label { opacity:1; transform:none; } }
.industry-detail { display:block; background:linear-gradient(140deg,#f4e6d8,#eef1e7); }
.industry-detail>.detail-copy { max-width:750px; margin-bottom:42px; }
.industry-detail .detail-copy h2 { color:var(--teal); }
.industry-detail .detail-copy>p { max-width:650px; }
.industry-category { border-color:#c3946c!important; background:#f3e3d1!important; color:#774426!important; }
.industry-category[aria-current=true] { background:var(--teal)!important; color:#fffaf2!important; border-color:var(--teal)!important; }
.other-industries-preview { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:9%; background:#f0e6d7; border-top:1px solid #ddc7af; border-bottom:1px solid #ddc7af; }
.other-industries-preview h2 { margin-bottom:0; }
.other-industries-preview h2 em { color:var(--orange); }
.other-industries-preview p:not(.eyebrow) { color:var(--muted); font-size:14px; margin-bottom:25px; }
@media(max-width:1100px) {
  .range-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
  .hero-product-stage { margin:22px 18px; padding:18px; }
}
@media(max-width:760px) {
  .hero-product-stage { min-height:0; flex:none; margin:0 18px; padding:24px; }
  .hero-product-stage img { max-height:360px; }
  .product-photo:has(.catalogue-photo) { min-height:300px; padding:24px; }
  .product-photo img.catalogue-photo { max-height:320px; }
  .range-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
  .range-photo { height:190px; padding:14px; }
  .range-card-copy { padding:15px 13px; }
  .range-card h3 { font-size:18px; }
  .range-card-copy .eyebrow { line-height:1.8; font-size:7px; letter-spacing:.06em; }
  .other-industries-preview { grid-template-columns:1fr; gap:25px; }
  .related-range { margin-top:0; }
}
@media(prefers-reduced-motion:reduce) {
  .range-card:hover,.range-card:hover .range-photo img { transform:none; }
}
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.hero-carousel { width:100%; min-width:0; margin:8px 0 18px; }
.carousel-window { overflow:hidden; width:100%; }
.carousel-track { width:100%; }
.carousel-slide { display:none; min-width:0; width:100%; }
.carousel-slide.is-current { display:block; }
.hero-carousel.is-ready .carousel-track { display:flex; transition:transform .65s cubic-bezier(.22,.65,.3,1); }
.hero-carousel.is-ready .carousel-slide { display:block; flex:0 0 100%; }
.hero-carousel .hero-product-stage { height:420px; min-height:0; flex:none; margin:16px 24px 12px; padding:28px; }
.hero-carousel .hero-product-stage img { max-width:100%; max-height:100%; width:auto; height:auto; }
.carousel-caption { padding:8px 26px 18px; }
.carousel-caption h2 { font:25px var(--sans); letter-spacing:-.035em; margin:0 0 9px; line-height:1.2; }
.carousel-caption .text-link { font-size:11px; }
.carousel-controls { display:flex; align-items:center; gap:18px; margin:0 26px; padding-top:16px; border-top:1px solid #9fb7a78c; }
.carousel-arrows { display:flex; gap:8px; }
.carousel-controls button { min-height:42px; min-width:44px; border:1px solid #9bb39e; background:#fffaf2; color:var(--teal); border-radius:4px; font-size:19px; padding:8px 12px; transition:background .2s; }
.carousel-controls button:hover { background:#eaf2e4; }
.carousel-count { font-size:10px; letter-spacing:.1em; color:#355c46; }
.carousel-controls .carousel-play { margin-left:auto; min-width:70px; font-size:11px; }
@media(max-width:760px) {
  .hero-carousel { margin:0 0 4px; }
  .hero-carousel .hero-product-stage { height:300px; margin:12px 18px; padding:24px; }
  .carousel-caption { padding:6px 20px 18px; }
  .carousel-caption h2 { font-size:23px; }
  .carousel-controls { margin:0 20px; gap:12px; }
}
[hidden] { display:none!important; }
.reading-progress { position:fixed; z-index:50; top:0; left:0; width:100%; height:3px; background:linear-gradient(90deg,#d57a47,#205b53); transform:scaleX(0); transform-origin:left; pointer-events:none; }
.will-reveal { opacity:0; transform:translateY(22px); transition:opacity .6s ease var(--reveal-delay,0ms),transform .6s cubic-bezier(.2,.65,.3,1) var(--reveal-delay,0ms); }
.will-reveal.is-visible { opacity:1; transform:translateY(0); }
.pointer-depth { transition:transform .35s ease,box-shadow .35s ease; }
.button>span,.nav-cta>span,.card-title>span { transition:transform .25s ease; }
.button:hover>span,.nav-cta:hover>span,.product-card>a:hover .card-title>span { transform:translate(3px,-3px); }
.text-link { position:relative; }
.text-link::after { content:""; position:absolute; bottom:-3px; left:0; right:0; height:1px; background:currentColor; transform:scaleX(0); transform-origin:left; transition:transform .25s ease; }
.text-link:hover::after,.text-link:focus-visible::after { transform:scaleX(1); }
.site-header nav>a:not(.nav-cta) { position:relative; }
.site-header nav>a:not(.nav-cta)::after { content:""; position:absolute; bottom:-8px; left:0; right:0; height:2px; background:#d7743d; transform:scaleX(0); transform-origin:left; transition:transform .25s ease; }
.site-header nav>a:not(.nav-cta):hover::after { transform:scaleX(1); }
.product-quickview { margin:0 22px 22px; border-top:1px solid #d8e2d6; }
.product-quickview summary { display:flex; align-items:center; justify-content:space-between; gap:15px; list-style:none; padding:16px 0 0; color:var(--teal); font-size:12px; cursor:pointer; }
.product-quickview summary::-webkit-details-marker { display:none; }
.product-quickview summary:focus-visible { outline:3px solid var(--orange); outline-offset:5px; }
.product-quickview summary>span { font-size:21px; line-height:1; transition:transform .25s ease; }
.product-quickview[open] summary>span { transform:rotate(45deg); }
.quickview-content { animation:panel-arrive .3s ease both; }
.quickview-content ul { padding-left:17px; font-size:12px; line-height:1.8; color:var(--muted); margin:16px 0; }
.quickview-content .text-link { font-size:12px; }
.product-grid { align-items:start; }
.category-nav { scroll-margin-top:24px; }
.category-nav>button { border:1px solid #c9d9ca; padding:11px 15px; font-size:11px; line-height:1.5; border-radius:4px; color:#315645; background:#eef3eb; }
.category-nav>a[aria-current=true],.category-nav>button[aria-pressed=true] { color:#fffaf2; border-color:var(--teal); background:var(--teal); box-shadow:0 5px 14px -9px #173f3980; }
.category-nav>a,.category-nav>button { transition:color .2s,background .2s,box-shadow .2s; }
.catalogue-feedback { margin:0; padding:17px 4.5%; color:var(--muted); font-size:12px; background:#f1f5ed; border-bottom:1px solid var(--line); }
.product-detail { animation:panel-arrive .4s ease both; }
.back-to-top { position:fixed; z-index:40; right:24px; bottom:24px; background:#fffdf9; color:var(--teal); border:1px solid #aac5b6; padding:12px 16px; font-size:11px; border-radius:4px; box-shadow:0 6px 20px -8px #173f3959; animation:panel-arrive .25s ease both; }
.back-to-top:hover { background:#e7efe3; }
.enquiry-progress { margin:0 0 26px; }
.enquiry-progress p { font-size:10px; color:var(--muted); margin:0 0 8px; }
.enquiry-progress progress { display:block; width:100%; height:4px; border:0; border-radius:2px; overflow:hidden; background:#e6eddf; accent-color:var(--teal); }
.enquiry-progress progress::-webkit-progress-bar { background:#e6eddf; }
.enquiry-progress progress::-webkit-progress-value { background:var(--teal); transition:width .3s ease; }
.enquiry-progress progress::-moz-progress-bar { background:var(--teal); }
.brief-form label:focus-within { color:var(--teal); }
@keyframes panel-arrive { from {opacity:0;transform:translateY(8px)} to {opacity:1;transform:translateY(0)} }
.hero-copy>.eyebrow,.hero h1,.hero-subheading,.hero-intro,.hero-actions,.page-heading h1,.page-intro { animation:panel-arrive .65s ease both; }
.hero h1,.page-heading h1 { animation-delay:70ms; }
.hero-subheading,.page-intro { animation-delay:140ms; }
.hero-intro { animation-delay:200ms; }
.hero-actions { animation-delay:260ms; }
.hero-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.hero-actions>.button:first-child { grid-column:1/-1; }
.hero-actions>.button { gap:12px; padding:16px; }
.hero-actions>.button-light { color:var(--teal); border-color:#8daa99; background:#fffcf5; box-shadow:0 5px 14px -12px #173f3980; }
.hero-actions>.button-light:hover { background:#e7efe3; border-color:var(--teal); }
@media(max-width:460px) {
  .hero-actions { grid-template-columns:1fr; }
  .hero-actions>.button:first-child { grid-column:auto; }
}
.feature-list li { transition:background .2s,padding-left .2s; }
@media(hover:hover) and (pointer:fine) {
  .prose .feature-list li:hover { background:#e3eddf; padding-left:22px; }
}
@media(max-width:760px) {
  .site-header nav { font-size:11px; gap:8px 12px; }
  .site-header nav>a:not(.nav-cta) { min-height:36px; display:inline-flex; align-items:center; }
  .category-nav>button { font-size:10px; padding:10px 12px; }
  .catalogue-feedback { padding:15px 6%; line-height:1.7; }
  .back-to-top { right:16px; bottom:16px; }
  .product-quickview { margin:0 20px 22px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none!important; transition:none!important; }
  .will-reveal { opacity:1; transform:none; }
  .pointer-depth,.product-card:hover,.button-dark:hover { transform:none!important; }
}
