@font-face{font-family:BM Sans;src:url('assets/bm-sans.woff') format('woff');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:BM Sans;src:url('assets/bm-sans-bold.woff') format('woff');font-style:normal;font-weight:600 800;font-display:swap}
:root{--paper:#f3f1eb;--paper-dark:#eae7de;--ink:#252923;--muted:#666a60;--olive:#626d50;--sage:#c0c9a8;--line:#d5d6cb;--white:#fdfcf8;--max:1440px;--gutter:clamp(22px,4.5vw,80px)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:105px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:BM Sans,Arial,Helvetica,sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
body.modal-open{overflow:hidden}
::selection{background:#cad1b7;color:var(--ink)}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button{color:inherit;cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.55}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--olive);outline-offset:5px}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--olive);outline-offset:1px}
[hidden]{display:none!important}
img{max-width:100%;display:block}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-weight:400}
h1,h2{line-height:1.04;letter-spacing:-.052em}
h2{font-size:clamp(36px,4.15vw,64px)}
.wrap{width:100%;max-width:var(--max);padding-left:var(--gutter);padding-right:var(--gutter);margin-inline:auto}
.section-space{padding-top:112px;padding-bottom:112px}
.section-label,.eyebrow,.small-label{font-family:BM Sans,Arial,sans-serif;font-size:11px;letter-spacing:.1em;font-weight:600;text-transform:uppercase;line-height:1.5}
.section-label{display:flex;gap:10px;align-items:center;margin-bottom:32px;color:var(--muted)}
.tiny-square{width:6px;height:6px;display:inline-block;flex:none;background:var(--olive)}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;left:20px;top:-100px;padding:12px 20px;background:var(--ink);color:white;z-index:100}
.skip-link:focus{top:12px}
.site-header{position:sticky;top:0;z-index:20;background:rgba(243,241,235,.97);border-bottom:1px solid var(--line)}
.header-inner{height:91px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.wordmark{font-size:26px;font-weight:700;letter-spacing:-1.25px;white-space:nowrap;line-height:1;display:inline-block}
.brand-dash{font-weight:400;font-size:.82em;display:inline-block;margin:0 .035em;transform:translateY(-1px)}
.brand-dot{color:var(--olive)}
.desktop-nav{display:flex;gap:34px;margin-left:auto;margin-right:auto;padding-left:40px}
.desktop-nav a{font-size:13px;color:#53584d;position:relative;padding:6px 0}
.desktop-nav a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--olive);transition:width .2s}
.desktop-nav a:hover::after,.desktop-nav a[aria-current="location"]::after{width:100%}
.header-enquire{font-size:13px;border:1px solid #999e8f;padding:11px 15px;display:flex;align-items:center;gap:27px;white-space:nowrap;transition:background .2s}
.header-enquire:hover{background:var(--paper-dark)}
.header-enquire span{font-size:18px;line-height:1}
.menu-toggle{display:none;background:none;border:none;width:44px;height:44px;padding:10px}
.menu-toggle span{display:block;height:1px;background:var(--ink);margin:6px 0;transition:transform .2s}
.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.mobile-nav{padding:8px var(--gutter) 22px;background:var(--paper);border-top:1px solid var(--line)}
.mobile-nav a{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line);font-size:20px}
.hero{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding-top:35px;padding-bottom:35px;min-height:649px}
.hero-copy{display:flex;flex-direction:column;padding-top:31px;align-items:flex-start}
.eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:42px;color:#575f50;font-size:10px;letter-spacing:.095em}
.hero h1{font-size:clamp(65px,6.55vw,98px);line-height:.99;letter-spacing:-.067em;white-space:nowrap;margin-left:-4px}
.hero h1>span{color:#747c67}
.hero-description{margin:29px 0 29px;font-size:18px;line-height:1.55;color:var(--muted);letter-spacing:-.2px}
.button{min-height:49px;display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:13px 20px;font-size:13px;line-height:1.4;letter-spacing:.01em;border:1px solid transparent;border-radius:0;transition:background .2s,transform .2s}
.button span{font-size:20px;line-height:1}
.button-dark{background:var(--ink);color:var(--paper)}
.button-dark:hover{background:#434c3b}
.button-outline{border-color:#aeb3a1;background:transparent;color:var(--ink)}
.button-outline:hover{background:var(--paper-dark)}
.hero-bottom{margin-top:auto;padding-top:56px;width:100%;display:flex;align-items:center;justify-content:space-between;padding-right:28px}
.hero-bottom .small-label{font-size:9px;color:var(--muted);letter-spacing:.09em}
.hero-bottom a{width:35px;height:35px;border:1px solid #bcc1b2;border-radius:50%;display:grid;place-items:center;font-size:20px;line-height:1;transition:transform .2s}
.hero-bottom a:hover{transform:translateY(3px)}
.hero-figure{position:relative;min-height:575px;overflow:hidden;background:#7d7564}
.hero-figure img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:53% center}
.hero-figure::after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,rgba(22,25,21,.57));pointer-events:none}
.photo-corner{position:absolute;z-index:1;left:24px;right:24px;bottom:48px;display:flex;align-items:end;justify-content:space-between;color:#fffaf0;gap:20px}
.photo-corner>span:first-child{font-size:33px;letter-spacing:-2px;line-height:1;font-weight:600}
.photo-corner>span:last-child{font-size:8px;letter-spacing:.09em;font-weight:600;padding-bottom:5px}
.hero-figure figcaption{position:absolute;z-index:1;bottom:18px;left:24px;color:#fffaf0;opacity:.9;font-size:9px;letter-spacing:.04em}
.service-strip{display:grid;grid-template-columns:repeat(3,1fr)}
.service-strip>div{display:flex;align-items:center;gap:17px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px 0}
.service-strip>div+div{padding-left:30px}
.service-strip>div>span:first-child{color:var(--olive);font-size:10px;font-family:monospace}
.service-strip p{font-size:16px;letter-spacing:-.25px}
.strip-description{margin-left:auto;font-size:10px;color:var(--muted);padding-right:28px}
.service-strip>div:last-child .strip-description{padding-right:0}
.about{display:grid;grid-template-columns:1fr 2fr;gap:25px}
.about>.section-label{align-self:start;margin-top:7px}
.about h2{font-size:clamp(34px,3.3vw,49px);line-height:1.13;letter-spacing:-.045em}
.about h2>span{color:#787e70}
.about-columns{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:35px;color:var(--muted);font-size:14px;line-height:1.75}
.approach-note{display:flex;gap:20px;align-items:center;border-top:1px solid var(--line);padding-top:25px;margin-top:35px}
.approach-note p{font-size:15px;letter-spacing:-.2px}
.note-mark{font-size:25px;color:var(--olive);line-height:1}
.materials{background:var(--paper-dark)}
.section-heading{display:flex;justify-content:space-between;gap:60px;align-items:end;margin-bottom:45px}
.section-heading .section-label{margin-bottom:26px}
.section-description{max-width:300px;color:var(--muted);font-size:14px;line-height:1.75;padding-bottom:5px}
.material-filters{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:25px}
.filter{border:1px solid #c2c6b8;background:transparent;border-radius:100px;padding:8px 16px;font-size:12px;min-height:38px;display:flex;align-items:center;gap:15px;transition:background .2s}
.filter>span{font-size:9px;opacity:.8}
.filter.active{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.filter:hover:not(.active){background:#dcdfd1}
.material{border-top:1px solid #c5c8bb}
.material:last-child{border-bottom:1px solid #c5c8bb}
.material summary{display:grid;grid-template-columns:65px 1fr 225px 24px;gap:10px;align-items:center;padding:26px 0;cursor:pointer;list-style:none}
summary::-webkit-details-marker{display:none}
.material-number{font-size:11px;font-family:monospace;color:var(--muted)}
.material h3{font-size:29px;letter-spacing:-1.1px;line-height:1.1}
.material-spec{color:var(--muted);font-size:12px;justify-self:start}
.expand-icon{width:21px;height:21px;position:relative;flex:none}
.expand-icon::before,.expand-icon::after{content:'';position:absolute;top:10px;left:3px;width:15px;height:1px;background:currentColor;transition:transform .2s}
.expand-icon::after{transform:rotate(90deg)}
details[open]>summary .expand-icon::after{transform:rotate(0)}
.material-body{display:grid;grid-template-columns:135px 1fr 245px;gap:36px;align-items:center;padding:0 34px 30px 75px}
.material-description{max-width:425px;color:var(--muted);font-size:13px;line-height:1.75}
.material-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.material-tags>span{border:1px solid #c5c8bb;padding:3px 8px;font-size:9px;letter-spacing:.02em}
.text-link{background:transparent;border:0;border-bottom:1px solid #aeb5a0;padding:8px 0;display:inline-flex;align-items:center;justify-content:space-between;gap:22px;font-size:12px;text-align:left;width:fit-content;transition:color .2s}
.text-link span{font-size:19px;line-height:1}
.text-link:hover{color:var(--olive)}
.material-body>.text-link{justify-self:end;max-width:100%}
.stone-art{width:125px;height:112px;position:relative;background:radial-gradient(ellipse at 50% 80%,#b8baa8 0,transparent 60%)}
.stone-art i{position:absolute;width:45px;height:39px;background:#8e9483;clip-path:polygon(24% 5%,72% 0,100% 42%,75% 96%,30% 100%,0 60%);transform:rotate(-20deg)}
.stone-art i::after{content:'';position:absolute;inset:0;background:#666e5b;clip-path:polygon(0 62%,58% 40%,100% 40%,75% 96%,30% 100%)}
.stone-art i:nth-child(1){left:8px;top:53px;transform:rotate(-32deg) scale(.85)}
.stone-art i:nth-child(2){left:42px;top:62px;transform:rotate(30deg)}
.stone-art i:nth-child(3){left:79px;top:50px;transform:rotate(75deg) scale(.9)}
.stone-art i:nth-child(4){left:24px;top:29px;transform:rotate(16deg)}
.stone-art i:nth-child(5){left:61px;top:27px;transform:rotate(-20deg) scale(.85)}
.stone-art i:nth-child(6){left:45px;top:5px;transform:rotate(5deg) scale(.8)}
.stone-art i:nth-child(7){left:47px;top:38px;transform:rotate(-45deg) scale(.78)}
.stones-mixed i:nth-child(odd){scale:.6;background:#a3a28d}
.stones-fine i{border-radius:30%;scale:.4;background:#b9af91;box-shadow:2px 3px 0 #aaa083}
.stones-fine{background:radial-gradient(ellipse at 50% 72%,#bab49f 0,transparent 60%)}
.stones-oversize i{scale:1.1}
.stones-oversize i:nth-child(5),.stones-oversize i:nth-child(7){display:none}
.materials-footnote{display:flex;gap:15px;color:var(--muted);font-size:11px;margin-top:25px;line-height:1.7}
.materials-footnote>span{font-size:18px;line-height:1}
.process{background:var(--ink);color:var(--paper)}
.process .section-label{color:#b6bba9}
.process .tiny-square{background:var(--sage)}
.process h2>span{color:#a8b394}
.process .section-description{color:#b9beb0}
.process-grid{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);padding:0;margin:60px 0 0;gap:36px}
.process-grid>li{border-top:1px solid #555c4e;padding-top:22px}
.process-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:30px;gap:10px}
.process-top>span{font-size:10px;color:#bac5a6;letter-spacing:.06em;padding-top:4px;white-space:nowrap}
.process-top svg{width:66px;height:53px;fill:none;stroke:#aab996;stroke-width:1.4;stroke-linejoin:round}
.process-grid h3{font-size:20px;line-height:1.2;letter-spacing:-.5px;margin-bottom:14px}
.process-grid p{font-size:13px;color:#b9beb0;line-height:1.8}
.process-footer{border-top:1px solid #555c4e;margin-top:50px;padding-top:25px;display:flex;justify-content:space-between;gap:20px}
.process-footer>span{color:#a8b098;font-size:9px;letter-spacing:.08em}
.process-footer a{font-size:12px;display:flex;gap:40px;align-items:center}
.process-footer a>span{font-size:19px;line-height:1;color:var(--sage)}
.process a:focus-visible{outline-color:var(--sage)}
.faq{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px}
.faq h2{font-size:clamp(38px,4vw,58px)}
.faq-intro{color:var(--muted);font-size:14px;max-width:250px;margin-top:25px;line-height:1.7}
.faq-list{padding-top:2px}
.faq-list details{border-top:1px solid var(--line)}
.faq-list details:last-child{border-bottom:1px solid var(--line)}
.faq-list summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:25px;padding:23px 0;font-size:15px;line-height:1.4;cursor:pointer}
.faq-list details p{font-size:13px;color:var(--muted);line-height:1.75;padding:0 44px 24px 0}
.enquire{background:#e4e7dc}
.enquiry-grid{display:grid;grid-template-columns:1fr 1fr;gap:95px}
.enquiry-copy h2{font-size:clamp(38px,4vw,60px)}
.enquiry-copy h2>span{color:#707b61}
.enquiry-copy>p:not(.section-label){color:var(--muted);font-size:15px;line-height:1.8;margin-top:30px}
.enquiry-aside{display:flex;gap:20px;margin-top:58px;border-top:1px solid #c2c9b5;padding-top:25px}
.enquiry-aside>span{font-size:26px;line-height:1.2;color:var(--olive)}
.enquiry-aside p{font-size:13px;color:var(--muted);line-height:1.7}
.contact-links{margin-top:28px;display:grid;justify-items:start;gap:10px;overflow-wrap:anywhere}
.contact-links a{border-bottom:1px solid #aeb5a0;padding:4px 0;font-size:16px}
.contact-links p{color:var(--muted);font-size:13px}
.form-header{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:24px;padding-bottom:17px;border-bottom:1px solid #bec5b3}
.form-header h3{font-size:19px;letter-spacing:-.4px}
.form-header>span{font-size:8px;color:var(--muted);letter-spacing:.1em}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:17px}
.field{display:flex;flex-direction:column;gap:7px;margin-bottom:17px;min-width:0}
.field label{font-size:11px;font-weight:600;line-height:1.5}
.field label>span{color:#717b63}
.field label>.optional{font-weight:400;font-size:10px}
.field input,.field select,.field textarea{width:100%;min-width:0;border:1px solid #b9c1ae;background:rgba(255,255,255,.22);border-radius:0;color:var(--ink);padding:12px;font-size:12px;line-height:1.4;min-height:43px;transition:background .15s,border-color .15s}
.field input::placeholder,.field textarea::placeholder{color:#747a6d;opacity:1}
.field input:focus,.field textarea:focus,.field select:focus{background:var(--paper);border-color:var(--olive)}
.field textarea{resize:vertical;min-height:85px;max-height:300px}
.field select{appearance:none;padding-right:30px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='m1 1 5 5 5-5' stroke='%23626d50' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}
.quantity-input{display:flex;width:100%;min-width:0}
.quantity-input input{width:calc(100% - 80px);border-right:none}
.quantity-input select{width:80px;flex-shrink:0;padding-left:9px;font-size:11px}
.prepare-button{width:100%;margin-top:4px}
.form-note{font-size:10px;color:#626a59;line-height:1.65;margin-top:13px;max-width:430px}
.site-footer{background:var(--paper);padding:52px 0 25px}
.footer-top{display:grid;grid-template-columns:1fr 1fr auto;gap:30px;align-items:center;margin-bottom:45px}
.footer-top .wordmark{font-size:32px}
.footer-top p{font-size:20px;line-height:1.3;letter-spacing:-.5px;color:var(--muted)}
.back-top{display:flex;align-items:center;gap:30px;font-size:11px}
.back-top>span{width:32px;height:32px;border-radius:50%;border:1px solid #b8bfac;display:grid;place-items:center;font-size:18px}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:22px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}
.privacy-link{border:0;background:none;padding:0;font-size:10px;text-decoration:underline;text-underline-offset:3px}
dialog{width:min(620px,calc(100% - 32px));max-height:calc(100dvh - 50px);border:0;padding:35px;background:var(--paper);color:var(--ink);overflow:auto;box-shadow:0 30px 100px #0004}
dialog::backdrop{background:rgba(25,29,23,.65);backdrop-filter:blur(4px)}
.dialog-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.dialog-heading .section-label{margin-top:8px;font-size:10px}
.dialog-close{font-size:30px;line-height:1;width:40px;height:40px;background:none;border:1px solid var(--line);margin-top:-5px}
dialog h2{font-size:42px;margin:8px 0 22px;letter-spacing:-.05em}
dialog>p{font-size:13px;line-height:1.8;color:var(--muted);margin-bottom:20px}
dialog textarea{display:block;width:100%;padding:16px;border:1px solid #c2c9b5;background:#eaece3;color:var(--ink);font-family:monospace;font-size:12px;line-height:1.65;resize:vertical;margin:22px 0}
.dialog-actions{display:flex;flex-wrap:wrap;gap:10px}
.dialog-actions .button{font-size:12px;flex-grow:1}
.dialog-status{min-height:22px;margin:12px 0 2px;color:var(--olive);font-size:12px}
@media(min-width:1600px){.hero{min-height:720px}.hero-figure{min-height:650px}.hero-copy{padding-top:45px}.eyebrow{margin-bottom:50px}}
@media(max-width:1150px){.desktop-nav{gap:22px;padding-left:0}.header-inner{gap:20px}.wordmark{font-size:23px}.header-enquire{gap:18px}.hero{min-height:580px}.hero-figure{min-height:510px}.hero h1{font-size:6.6vw}.hero-description{font-size:16px}.strip-description{display:none}.service-strip>div+div{padding-left:20px}.section-space{padding-top:90px;padding-bottom:90px}.material summary{grid-template-columns:45px 1fr 180px 24px}.material-body{grid-template-columns:100px 1fr 185px;padding-left:55px;gap:25px;padding-right:0}.stone-art{transform:scale(.85);transform-origin:left center}.enquiry-grid{gap:55px}.faq{gap:65px}.about-columns{gap:25px}.process-grid{gap:25px}}
@media(max-width:850px){.header-inner{height:76px}.desktop-nav{display:none}.header-enquire{margin-left:auto}.menu-toggle{display:block}.hero{gap:25px;min-height:540px;padding-top:25px;padding-bottom:25px}.hero-copy{padding-top:24px}.hero-figure{min-height:490px}.hero h1{font-size:6.65vw}.hero-description{font-size:15px}.eyebrow{font-size:8px;gap:8px;margin-bottom:40px}.hero-bottom{padding-right:0}.hero-bottom .small-label{max-width:180px;line-height:1.7;font-size:8px}.photo-corner{left:18px;right:18px}.photo-corner>span:last-child{font-size:7px;max-width:95px}.hero-figure figcaption{left:18px}.hero .button{font-size:11px;gap:24px;padding:12px 15px}.about{grid-template-columns:1fr}.about>.section-label{margin-bottom:10px}.about-main{max-width:720px}.about h2{font-size:40px}.section-space{padding-top:75px;padding-bottom:75px}.section-heading{gap:35px}.section-description{max-width:260px;font-size:13px}.material summary{grid-template-columns:32px 1fr 155px 24px;gap:8px}.material h3{font-size:24px}.material-spec{font-size:11px}.material-body{grid-template-columns:85px 1fr;gap:10px 30px;padding-left:40px}.material-body>.text-link{grid-column:2;justify-self:start}.material-description{max-width:100%}.stone-art{grid-row:1 / 3;align-self:start;transform:scale(.75);height:100px}.process-grid{grid-template-columns:1fr 1fr;gap:38px}.process-top{margin-bottom:15px}.process-top svg{margin-right:15px}.faq{gap:45px;grid-template-columns:1fr 1.3fr}.faq .section-label{font-size:9px}.faq-list summary{font-size:14px}.enquiry-grid{grid-template-columns:1fr;gap:42px}.enquiry-copy h2{font-size:50px}.enquiry-aside{display:none}.enquiry-copy>p:not(.section-label){margin-top:20px}.enquiry-form-wrap{max-width:680px}.form-header{margin-bottom:20px}.field input,.field select,.field textarea{font-size:16px}.field label{font-size:12px}.field{margin-bottom:20px}.quantity-input select{font-size:14px}.form-note{font-size:11px}.footer-top .wordmark{font-size:26px}}
@media(max-width:600px){html{scroll-padding-top:90px}:root{--gutter:22px}.header-inner{height:73px;gap:10px}.wordmark{font-size:23px}.header-enquire{font-size:10px;gap:15px;padding:9px 10px;min-height:37px}.menu-toggle{width:38px;height:38px;padding:8px;margin-right:-5px}.hero{display:flex;flex-direction:column;gap:28px;padding-top:32px;padding-bottom:24px}.hero-copy{padding-top:0}.eyebrow{font-size:9px;letter-spacing:.075em;margin-bottom:29px}.hero h1{font-size:clamp(58px,13.6vw,80px);letter-spacing:-.065em}.hero-description{font-size:16px;margin:23px 0}.hero .button{font-size:12px;padding:13px 18px;gap:28px;min-height:49px}.hero-bottom{display:none}.hero-figure{min-height:0;aspect-ratio:1.16;width:100%}.hero-figure img{object-position:center 51%}.photo-corner{bottom:43px}.photo-corner>span:last-child{max-width:none;font-size:8px}.photo-corner>span:first-child{font-size:28px}.hero-figure figcaption{font-size:8px;bottom:16px}.service-strip{grid-template-columns:1fr 1fr 1.15fr}.service-strip>div{gap:6px;flex-direction:column;align-items:flex-start;padding:17px 0}.service-strip>div+div{padding-left:15px}.service-strip p{font-size:13px;line-height:1.25;letter-spacing:-.2px}.service-strip>div>span:first-child{font-size:9px}.section-space{padding-top:64px;padding-bottom:64px}.section-label{font-size:9px;letter-spacing:.08em;margin-bottom:24px}.about{gap:17px}.about>.section-label{margin-top:0}.about h2{font-size:33px;line-height:1.1;letter-spacing:-.05em}.about-columns{grid-template-columns:1fr;gap:16px;font-size:14px;margin-top:25px}.approach-note{margin-top:25px;padding-top:22px;gap:15px}.approach-note p{font-size:13px;line-height:1.6;max-width:260px}h2{font-size:43px}.section-heading{flex-direction:column;align-items:flex-start;gap:23px;margin-bottom:30px}.section-heading .section-label{margin-bottom:25px}.section-description{max-width:340px;font-size:13px;line-height:1.7}.section-description br{display:none}.material-filters{gap:7px;margin-bottom:22px}.filter{font-size:11px;padding:8px 12px;min-height:37px;gap:10px}.material summary{grid-template-columns:24px 1fr 23px;gap:6px 9px;padding:23px 0}.material h3{font-size:24px;letter-spacing:-.8px}.material-spec{grid-column:2;grid-row:2;font-size:10px;line-height:1.7}.material-number{grid-column:1;grid-row:1 / 3;align-self:start;margin-top:6px;font-size:10px}.material summary .expand-icon{grid-column:3;grid-row:1 / 3}.material-body{padding:0 0 25px 33px;grid-template-columns:1fr;gap:17px}.material-body>.text-link{grid-column:1}.material .stone-art{display:none}.material-description{font-size:13px;line-height:1.75}.material-tags{margin-top:14px}.material .text-link{font-size:12px}.materials-footnote{font-size:10px;margin-top:23px;gap:12px}.process-grid{margin-top:33px;gap:30px 22px}.process-grid>li{padding-top:16px}.process-top{display:block;margin-bottom:18px}.process-top>span{font-size:9px}.process-top svg{display:block;margin-top:16px;width:60px;height:48px}.process-grid h3{font-size:19px;line-height:1.2;max-width:150px}.process-grid p{font-size:12px;line-height:1.75}.process-footer{margin-top:35px;padding-top:23px;flex-direction:column;gap:17px}.process-footer>span{font-size:8px}.process-footer a{justify-content:space-between;font-size:12px}.faq{grid-template-columns:1fr;gap:30px}.faq h2{font-size:43px}.faq-intro{max-width:300px;font-size:13px;margin-top:20px}.faq-list summary{padding:22px 0;font-size:14px;line-height:1.5}.faq-list details p{padding-right:25px;font-size:13px}.enquiry-copy h2{font-size:42px}.enquiry-copy>p:not(.section-label){font-size:14px}.enquiry-grid{gap:35px}.form-header{padding-bottom:16px}.form-header h3{font-size:18px}.form-header>span{font-size:7px}.form-row{gap:12px}.field label{font-size:11px}.field label>.optional{font-size:9px}.field input,.field select,.field textarea{padding:12px 10px;font-size:16px;min-height:47px}.field select{padding-right:29px;background-position:right 10px center}.field textarea{font-size:16px;min-height:100px}.field input::placeholder,.field textarea::placeholder{font-size:13px}.quantity-input select{font-size:12px;padding-left:8px;width:78px}.quantity-input input{width:calc(100% - 78px)}.prepare-button{font-size:13px;min-height:51px}.form-note{font-size:10px}.site-footer{padding-top:39px;padding-bottom:24px}.footer-top{grid-template-columns:1fr auto;gap:30px;margin-bottom:30px}.footer-top .wordmark{font-size:27px}.footer-top p{grid-row:2;font-size:18px}.back-top{font-size:10px;gap:12px;grid-column:2;grid-row:1}.footer-bottom{flex-wrap:wrap;gap:12px 22px;font-size:9px}.footer-bottom>span:nth-child(2){order:3;flex-basis:100%}.privacy-link{margin-left:auto;font-size:9px}dialog{padding:25px 21px;max-height:calc(100dvh - 32px)}dialog h2{font-size:37px}.dialog-heading .section-label{font-size:8px}.dialog-close{width:35px;height:35px;font-size:25px}dialog textarea{font-size:12px;min-height:180px}.dialog-actions{gap:8px}.dialog-actions .button{font-size:11px;padding:12px 13px;gap:18px;min-height:47px}.dialog-status{font-size:11px}}
@media(max-width:360px){.header-enquire{display:none}.menu-toggle{margin-left:auto}.hero h1{font-size:54px}.form-row{grid-template-columns:1fr}.material h3{font-size:21px}.filter{font-size:10px;padding:8px 10px}.footer-top .wordmark{font-size:23px}.back-top{gap:7px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media print{.site-header,.hero-figure,.hero-bottom,.material-filters,.site-footer,.enquiry-form-wrap,dialog{display:none!important}body{background:white;color:black}.wrap{padding:0}.section-space{padding:25px 0}.hero{min-height:0;display:block}.hero-copy{padding:0}.hero h1{font-size:54px}.hero .button{display:none}.process,.materials,.enquire{background:white;color:black}.process p,.process .section-label,.process .section-description{color:#444}.process-grid{display:grid;grid-template-columns:repeat(4,1fr)}.about,.faq{gap:25px}.enquiry-grid{display:block}.process svg{stroke:#444}.material{break-inside:avoid}}

@media(max-width:600px){.header-enquire{display:none}.menu-toggle{margin-left:auto}}
/* Original identity and real project imagery. */
.wordmark{display:block;flex:none;width:190px;line-height:0}.wordmark img{width:100%;height:auto;mix-blend-mode:multiply}.footer-top .wordmark{width:230px}.desktop-nav{gap:25px;padding-left:0}.hero-figure img{object-position:66% center}.projects h2>span{color:#747c67}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px 28px}.project-card{min-width:0}.project-card>a{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--paper-dark)}.project-card img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.project-card a:hover img{transform:scale(1.025)}.project-card figcaption{display:flex;justify-content:space-between;gap:20px;padding-top:14px;font-size:13px}.project-card figcaption>span:last-child{color:var(--olive)}.project-panoramic>a{aspect-ratio:2.25}.more-projects{margin-top:35px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.more-projects>summary{list-style:none;cursor:pointer;padding:22px 0;display:flex;justify-content:space-between;align-items:center;font-size:14px}.more-projects .project-grid{padding:12px 0 30px}.footage-heading{display:flex;justify-content:space-between;gap:20px;align-items:end;margin:55px 0 25px}.footage-heading h3{font-size:30px;letter-spacing:-1px}.footage-heading p{font-size:11px;color:var(--muted)}.video-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.video-card video{width:100%;height:auto;aspect-ratio:3/4;display:block;background:#20241e;object-fit:contain}.video-card figcaption{padding-top:12px;font-size:12px}.team-section{padding:70px 0;background:var(--paper-dark)}.team-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center}.team-grid figure img{width:100%;height:auto}.team-copy h2{font-size:clamp(35px,4vw,58px)}.team-copy>p:not(.section-label){font-size:14px;color:var(--muted);line-height:1.8;margin-top:25px;max-width:360px}.team-copy .text-link{margin-top:22px}.company-details{display:flex;justify-content:space-between;gap:25px;margin-bottom:25px;color:var(--muted);font-size:11px;line-height:1.8}.company-details strong{color:var(--ink);font-weight:600}.company-details address{font-style:normal;margin-top:7px}
@media(max-width:1100px){.wordmark{width:165px}.desktop-nav{gap:18px}.desktop-nav a{font-size:12px}.team-grid{gap:35px}.video-grid{grid-template-columns:1fr 1fr}.video-card video{aspect-ratio:4/3}}
@media(max-width:600px){.wordmark{width:160px}.footer-top .wordmark{width:170px}.project-grid{grid-template-columns:1fr;gap:28px}.project-card figcaption{font-size:12px;padding-top:11px}.footage-heading{display:block;margin-top:40px}.footage-heading h3{font-size:28px}.footage-heading p{margin-top:12px;line-height:1.7}.video-grid{gap:25px 12px}.video-card video{aspect-ratio:3/4}.video-card figcaption{font-size:11px}.team-section{padding:45px 0}.team-grid{grid-template-columns:1fr;gap:30px}.team-copy h2{font-size:42px}.company-details{display:block;font-size:10px}.company-details>div+div{margin-top:18px}.project-card>a{aspect-ratio:4/3}.project-panoramic>a{aspect-ratio:2.25}}
