:root{--ink:#172553;--muted:#535c6c;--paper:#f5f3ee;--line:#d7d8d5;--red:#b4313d;--header-height:94px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 24px)}body{background:var(--paper);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:5px}p{margin:0 0 1.4em}h1,h2,h3{letter-spacing:-.045em;margin:0 0 .6em;font-weight:500;line-height:1.08}h1{font-size:clamp(42px,5.25vw,78px)}h2{font-size:clamp(32px,3.5vw,52px)}h3{font-size:29px}em{color:var(--red);font-family:Georgia,serif;font-weight:400}figure{margin:0}figcaption{color:var(--muted);padding-top:12px;font-size:13px}.wrap{width:min(1360px,100% - 96px);margin-inline:auto}.section{padding-block:100px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:var(--red);margin-bottom:24px;font-size:12px;font-weight:700}.lead{color:var(--muted);max-width:620px;font-size:19px;line-height:1.65}.header{z-index:30;border-bottom:1px solid var(--line);background:#f5f3eef7;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:32px;max-width:1456px;min-height:94px;margin:auto;padding:12px 48px;display:flex}.brand{flex:none;display:flex}.brand img{object-fit:contain;width:140px;height:auto;max-height:64px}.navigation{align-items:center;gap:28px;font-size:14px;font-weight:600;display:flex}.navigation a{align-items:center;min-height:44px;display:flex}.navigation a:hover,.text-link:hover{color:var(--red)}.nav-contact{border:1px solid var(--ink);padding:10px 20px}.menu-toggle{display:none}.skip{background:var(--ink);color:#fff;z-index:100;padding:12px 20px;position:fixed;top:-100px;left:20px}.skip:focus{top:8px}.hero{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;gap:64px;padding-block:64px 78px;display:grid}.hero-copy{min-width:0}.hero h1{font-size:clamp(42px,4.7vw,72px)}.hero-media{min-width:0}.photo{aspect-ratio:4/3;background:#deded7;width:100%;display:block;position:relative;overflow:hidden}.photo img{object-fit:cover;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.photo-fallback{height:100%;color:var(--ink);place-content:center;padding:30px;font-size:16px;display:grid}.hero-media .photo{aspect-ratio:1.02}.hero-media img{object-position:58% center}.actions{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.button{background:var(--ink);color:#fff;border:1px solid var(--ink);justify-content:space-between;align-items:center;gap:28px;min-height:52px;padding:15px 22px;font-size:15px;line-height:1.4;display:inline-flex}.button:hover{color:#fff;background:#293e78}.text-link{border-bottom:1px solid var(--ink);align-items:center;gap:16px;min-height:44px;font-size:15px;display:inline-flex}.hero-note{color:var(--muted);margin-top:38px;margin-bottom:0;font-size:12px}.section-heading{justify-content:space-between;align-items:end;gap:48px;margin-bottom:40px;display:flex}.section-heading>p{max-width:420px;color:var(--muted)}.services{border-top:1px solid var(--line);padding-top:65px}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;display:grid}.service-card{grid-template-rows:auto auto 1fr auto;align-items:start;display:grid}.service-card .photo{aspect-ratio:1.85;margin-bottom:28px}.service-card h3{max-width:500px}.service-card p{max-width:540px;color:var(--muted)}.service-card .text-link{justify-self:start}.work-section{background:#e9e9e1}.gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 20px;display:grid}.gallery-link>span:last-child{justify-content:space-between;min-height:48px;padding-top:12px;font-size:13px;line-height:1.45;display:flex}.gallery-link:hover .photo img{filter:brightness(.9)}.about-band{grid-template-columns:1fr 2fr;gap:48px;display:grid}.about-band p{max-width:650px}.contact-band{background:var(--ink);color:#fff;padding-block:65px}.contact-band .wrap{justify-content:space-between;align-items:center;gap:40px;display:flex}.contact-band h2{margin:0}.button.light{background:var(--paper);color:var(--ink);border-color:var(--paper)}.button.light:hover{background:#fff}.footer{padding-top:70px}.footer-grid{grid-template-columns:2fr 1fr 1fr;gap:50px;display:grid}.footer img{object-fit:contain;max-width:130px;height:auto;margin-bottom:20px}.footer h2{letter-spacing:0;margin-bottom:20px;font-size:16px;font-weight:700}.footer a{min-height:44px;font-size:14px;display:block}.footer p{color:var(--muted);font-size:14px}.footer-bottom{border-top:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:45px;padding-block:20px;font-size:12px;display:flex}
.inner-hero{max-width:1360px;padding-block:65px 70px}.inner-hero h1{max-width:1020px}.inner-hero .button{margin-top:10px}.breadcrumb{border-bottom:1px solid var(--line);min-height:44px;margin-bottom:30px;font-size:13px;display:inline-flex}.service-layout{grid-template-columns:minmax(0,1fr) minmax(0,2.4fr);align-items:start;gap:80px;display:grid}.jump-nav{top:calc(var(--header-height) + 24px);border-top:1px solid var(--ink);padding-top:20px;position:sticky}.jump-nav p{text-transform:uppercase;letter-spacing:.12em;font-size:12px}.jump-nav a{border-bottom:1px solid var(--line);align-items:center;min-height:48px;padding-block:10px;font-size:14px;display:flex}.service-section{border-bottom:1px solid var(--line);margin-bottom:45px;padding-bottom:65px;scroll-margin-top:24px}.service-section>p:not(.eyebrow){color:var(--muted);font-size:18px}.service-section .eyebrow{margin-bottom:18px}.service-image{margin-top:30px}.service-image .photo{max-height:460px}.material-image{max-width:230px;margin-top:25px}.material-image .photo{aspect-ratio:1;background:#fff}.material-image img{object-fit:contain}.process-list{margin-block:28px;padding:0;list-style:none}.process-list li{border-bottom:1px solid var(--line);gap:15px;padding:14px 0;display:flex}.process-list li:before{content:"•";color:var(--red)}.service-photos{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;display:grid}.service-photos span:last-child{padding-block:10px;font-size:13px;display:block}.about-content{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:65px;display:grid}.about-content>.photo{aspect-ratio:1.1}.about-content p{color:var(--muted);font-size:18px}.contact-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:80px;padding-bottom:100px;display:grid}.contact-layout aside h2{font-size:28px}.contact-link{overflow-wrap:anywhere;min-height:48px;font-size:22px;display:block}.business-details{border-top:1px solid var(--line);margin-top:30px;padding-top:25px}.business-details h3{letter-spacing:0;font-size:18px}.business-details p{font-size:14px}.enquiry{background:#fff;padding:40px;scroll-margin-top:24px}.enquiry h2{scroll-margin-top:calc(var(--header-height) + 24px);font-size:34px}fieldset{border:0;min-width:0;margin:0;padding:0}label{margin-bottom:22px;font-size:14px;font-weight:600;display:block}input,select,textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #88909c;border-radius:0;margin-top:8px;padding:12px;font-size:16px;display:block}textarea{resize:vertical;line-height:1.55}.form-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}summary{cursor:pointer;min-height:44px;padding-block:10px;font-size:14px}details{margin-bottom:22px}details[open] summary{margin-bottom:18px}.small{color:var(--muted);font-size:12px}.small a,.legal a{text-decoration:underline}.secondary{color:var(--ink);border:1px solid var(--ink);background:#fff;min-height:48px;padding:12px;font-size:14px}.review .actions{gap:12px}.review [role=status]{margin-top:20px;font-size:14px}.legal{max-width:840px}.legal h1{margin-bottom:50px;font-size:54px}.legal h2{margin-top:40px;font-size:29px}.gallery-dialog{color:#fff;background:#10182e;border:0;width:min(1200px,100% - 32px);max-width:none;max-height:calc(100dvh - 32px);padding:0}.gallery-dialog::backdrop{background:#080d20df}.viewer{padding:20px}.viewer-top,.viewer-bottom{justify-content:space-between;align-items:center;gap:15px;display:flex}.viewer-top{margin-bottom:14px}.viewer-top p{margin:0;font-size:14px}.viewer button,.viewer a{color:#fff;background:0 0;border:1px solid #8892ab;min-width:44px;min-height:44px;padding:10px 16px;font-size:14px}.service-intro-photo{margin-bottom:40px}.service-intro-photo .photo{aspect-ratio:1.7}.viewer-photo .photo{aspect-ratio:auto;background:#10182e;height:min(65dvh,760px)}.viewer-photo img{object-fit:contain}.viewer-bottom{margin-top:16px}.viewer-photo{touch-action:pan-y}.viewer .photo-fallback{color:#fff}
@media (min-width:1600px){.hero{padding-block:90px}.hero h1{font-size:78px}.hero-media .photo{aspect-ratio:1.12}}@media (max-width:1100px){.wrap{width:calc(100% - 64px)}.header-inner{padding-inline:32px}.navigation{gap:16px}.hero{gap:36px}.service-layout,.contact-layout{gap:40px}.enquiry{padding:28px}}@media (max-width:899px){.header-inner{min-height:84px}.menu-toggle{border:1px solid var(--ink);min-height:44px;color:var(--ink);background:0 0;justify-content:space-between;align-items:center;gap:24px;padding:8px 14px;display:flex}.navigation{background:var(--paper);border-bottom:1px solid var(--line);max-height:calc(100dvh - 84px);padding:16px 32px 24px;display:none;position:absolute;top:100%;left:0;right:0;overflow:auto}.navigation.open{flex-direction:column;align-items:stretch;gap:0;display:flex}.navigation a{border-bottom:1px solid var(--line);padding:14px 0}.navigation .nav-contact{border:0;border-bottom:1px solid var(--line)}.hero{gap:32px}.hero h1{font-size:45px}.hero .lead{font-size:17px}.hero .actions{gap:10px}.hero-note{margin-top:24px}.section{padding-block:72px}.section-heading{gap:28px}.section-heading>p{max-width:300px}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.service-layout{grid-template-columns:1fr}.jump-nav{flex-wrap:wrap;gap:10px;display:flex;position:static}.jump-nav p{width:100%;margin-bottom:0}.jump-nav a{border:1px solid var(--line);padding:10px 14px}.about-content{gap:35px}.contact-layout{grid-template-columns:1fr 1.5fr;gap:30px}.contact-link{font-size:18px}.form-grid{grid-template-columns:1fr;gap:0}.footer-grid{gap:30px}}@media (max-width:699px){.wrap{width:calc(100% - 40px)}.header-inner{min-height:76px;padding:10px 20px}.brand img{width:116px}.navigation{max-height:calc(100dvh - 76px);padding-inline:20px}.hero{grid-template-columns:1fr;gap:32px;padding-block:42px 50px}.hero h1{font-size:clamp(39px,10vw,62px)}.hero .lead{font-size:17px}.hero-media .photo{aspect-ratio:1.32}.hero-note{margin-top:24px}.eyebrow{margin-bottom:18px}.section{padding-block:52px}.section-heading{margin-bottom:28px;display:block}.section-heading>p{max-width:none}.section-heading h2{margin-bottom:20px}.services-grid{grid-template-columns:1fr;gap:32px}.service-card .photo{aspect-ratio:1.65;margin-bottom:20px}.service-card h3{font-size:29px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}.gallery-link>span:last-child{font-size:12px}.about-band{grid-template-columns:1fr;gap:0}.contact-band{padding-block:44px}.contact-band .wrap{display:block}.contact-band h2{margin-bottom:28px}.footer-grid{grid-template-columns:1fr 1fr;gap:28px}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{gap:15px}.inner-hero{padding-block:42px}.inner-hero h1{overflow-wrap:break-word;font-size:43px}.service-layout{gap:35px}.service-section{margin-bottom:30px;padding-bottom:35px}.service-section h2{font-size:32px}.service-section>p:not(.eyebrow){font-size:17px}.service-photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.about-content{grid-template-columns:1fr;gap:32px}.contact-layout{grid-template-columns:1fr;gap:32px;padding-bottom:55px}.enquiry{margin-inline:-20px;padding:25px 20px}.enquiry h2{font-size:30px}.legal h1{overflow-wrap:anywhere;font-size:42px}.gallery-dialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px)}.viewer{padding:12px}.viewer-top p{font-size:12px}.viewer button,.viewer a{padding:10px;font-size:12px}.viewer-bottom{gap:6px}.viewer-photo .photo{height:55dvh}.lead{font-size:17px}.footer-bottom a{font-size:12px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.hamburger{gap:4px;width:20px;display:grid}.hamburger i{background:currentColor;height:2px;display:block}.supplier-strip{aspect-ratio:4;background:#fff}.supplier-strip img{object-fit:contain}.button:after,.text-link:after{content:"";background:currentColor;flex:none;width:18px;height:18px;display:inline-block;-webkit-mask:url(/media/original-icon-2.svg) 50%/contain no-repeat;mask:url(/media/original-icon-2.svg) 50%/contain no-repeat}.service-card>a:first-child{width:100%;display:block}.material-image{max-width:450px}.material-image .photo{aspect-ratio:4}.original-arrow{background:currentColor;width:16px;height:16px;display:inline-block;-webkit-mask:url(/media/original-icon-2.svg) 50%/contain no-repeat;mask:url(/media/original-icon-2.svg) 50%/contain no-repeat}.about-content>a>.photo{aspect-ratio:1.1}@media (min-width:700px){.service-card h3{min-height:2.16em}.service-card{grid-template-rows:auto auto 1fr auto}}html{scrollbar-gutter:stable}.contact-layout>.business-details{grid-column:1/-1;margin-top:0}.business-details h2{letter-spacing:0;font-size:18px}
