:root{--paper:#f5f2eb;--ink:#302d27;--muted:#78756c;--line:#d9d5ca;--olive:#72765c;--gold:#b7a37e;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{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);font-size:14px;line-height:1.8;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--olive);outline-offset:5px}img{width:100%;display:block;object-fit:cover}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.055em;line-height:1.13}h1{font-size:clamp(58px,6.1vw,94px)}h2{font-size:clamp(38px,4.2vw,65px);margin-bottom:28px}h3{font-weight:500;font-size:23px;line-height:1.3;letter-spacing:-.035em}em{font-weight:400;color:inherit}p{color:var(--muted);margin-bottom:22px}.eyebrow{font-family:var(--sans);font-size:10px!important;letter-spacing:.22em!important;line-height:1.6;text-transform:uppercase;font-weight:600;color:var(--olive);margin-bottom:23px}.topline{height:31px;background:#33382d;color:#dcded2;display:flex;align-items:center;justify-content:space-between;padding:0 5%;font-size:8px;letter-spacing:.18em}header{height:104px;display:flex;align-items:center;padding:0 5%;gap:30px;background:var(--paper);position:relative;z-index:20}.brand{display:flex;align-items:center;gap:13px;white-space:nowrap}.brand-mark{font:italic 63px/.7 var(--serif);letter-spacing:-.12em;position:relative;display:block;width:38px}.brand-mark>span{font:20px var(--serif);color:var(--olive);position:absolute;bottom:-1px;right:0}.brand-name{font-size:12px;letter-spacing:.14em;font-weight:650;line-height:1.7}.brand-name small{display:block;font-size:8px;letter-spacing:.28em;font-weight:400}nav{display:flex;gap:24px;margin:auto;font-size:11px}nav a{position:relative;padding:11px 0;color:#716e65}nav a:after{content:'';position:absolute;bottom:3px;left:0;width:0;height:1px;background:var(--ink);transition:width .3s}nav a:hover:after,nav a.active:after{width:100%}nav a.active{color:var(--ink)}.nav-cta{border:1px solid #bdb8ab;padding:10px 18px;font-size:11px;white-space:nowrap}.nav-cta span{margin-left:23px}.menu-toggle{display:none}.hero{height:660px;min-height:580px;position:relative;overflow:hidden;color:white;background:#44483b}.hero-image{position:absolute;inset:-4%;background-size:cover;background-position:center;animation:hero-enter 2s ease-out forwards;will-change:transform}.home-hero .hero-image{background-position:50% 57%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,23,17,.57) 0%,rgba(22,23,17,.28) 55%,rgba(22,23,17,.05)),linear-gradient(0deg,rgba(20,20,15,.35),transparent 30%)}.hero-content{position:relative;max-width:850px;margin-left:9%;padding-top:97px;animation:rise 1s ease-out}.hero-content .eyebrow{color:#e8e2d3;margin-bottom:26px}.hero h1{margin-bottom:25px}.hero h1 em{color:#e4ddca}.hero-description{max-width:430px;color:#eee9df;line-height:1.9;font-size:13px;margin-bottom:30px}.button{display:inline-flex;align-items:center;gap:42px;border-bottom:1px solid #999383;padding:13px 0;font-size:11px;font-weight:500;letter-spacing:.025em;cursor:pointer;background:transparent;color:var(--ink);transition:gap .3s}.button span{font-size:19px;line-height:1}.button:hover{gap:55px}.button.light{color:white;border-color:#b9b2a2}.hero-bottom{position:absolute;bottom:28px;left:5%;right:5%;display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:.16em;color:#eee9df}.hero-number{font-family:var(--serif);font-size:17px;letter-spacing:.02em}.marquee{overflow:hidden;border-bottom:1px solid var(--line);padding:24px 0;font-size:10px;font-weight:500;letter-spacing:.19em;white-space:nowrap}.marquee div{display:flex;align-items:center;gap:44px;width:max-content;animation:ticker 38s linear infinite}.marquee span{font-size:24px;color:var(--olive);line-height:.6}.section{padding:112px 8%;max-width:1600px;margin:auto}.split{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.split.reverse .split-image{order:2}.split.reverse .split-copy{order:1}.split-image{position:relative;overflow:hidden;height:550px}.split-image img{height:100%;transition:transform 1.2s}.split-image:hover img{transform:scale(1.045)}.image-label{position:absolute;bottom:20px;left:22px;color:#fff;font-size:8px;letter-spacing:.2em;text-shadow:0 1px 8px #333}.split-copy p:not(.eyebrow){font-size:13px;line-height:1.95}.section-heading{max-width:730px;margin-bottom:48px}.section-heading .lede{font-size:13px;max-width:510px}.worlds{padding-top:35px}.world-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.card-image{height:430px;position:relative;overflow:hidden}.card-image img{height:100%;transition:transform .9s}.world-card:hover img{transform:scale(1.055)}.card-arrow{position:absolute;bottom:20px;right:20px;background:var(--paper);border-radius:50%;height:43px;width:43px;display:grid;place-items:center;font-size:20px}.card-meta{display:flex;gap:16px;align-items:center;margin-top:23px}.card-meta>span{font-size:10px;color:var(--olive)}.card-meta h3{margin:0}.world-card>p{margin:16px 0 0;font-size:12px;max-width:460px}.values-band{background:#e9e7dc;display:grid;grid-template-columns:repeat(3,1fr);gap:45px;padding:54px 8%}.values-band>div+div{border-left:1px solid #cbc9bb;padding-left:45px}.values-band span,.text-columns span{font-size:9px;letter-spacing:.16em;color:var(--olive)}.values-band h3{font-family:var(--serif);font-size:25px;margin:20px 0 14px}.values-band p{font-size:12px;margin:0}.cta{text-align:center;padding:100px 20px 110px;background:#e9e7dc;position:relative;overflow:hidden}.cta:before,.cta:after{content:'';width:390px;height:390px;border:1px solid #d4d4c5;position:absolute;border-radius:50%;top:60px;pointer-events:none}.cta:before{left:-250px}.cta:after{right:-250px}.cta h2{font-size:clamp(43px,4.7vw,72px)}.cta p:not(.eyebrow){font-size:12px}.cta .eyebrow{font-size:9px!important}footer{background:#30352b;color:#f3f0e7;padding:70px 6% 0}.footer-top{display:grid;grid-template-columns:2.1fr 1fr 1fr 1.3fr;gap:45px;padding-bottom:55px}.footer-brand{font:50px/.9 var(--serif);letter-spacing:-.06em}.footer-brand span{font:12px var(--sans);vertical-align:top;display:inline-block;margin:5px 0 0 5px}.footer-top p{font-size:11px;color:#c1c4b7;margin:17px 0}.footer-description{font-size:10px!important;color:#939b89!important}.footer-top .eyebrow{color:#aeb49e;font-size:8px!important;margin-top:0;margin-bottom:22px}.footer-top>div>a:not(.footer-brand),.footer-top>div>span{display:block;font-size:11px;color:#d5d7cd;margin-bottom:11px}.footer-note p:not(.eyebrow){font-family:var(--serif);font-size:23px;font-style:italic;line-height:1.5;color:#d2d5c8;margin:0}.footer-bottom{border-top:1px solid #505546;display:flex;justify-content:space-between;font-size:8px;letter-spacing:.07em;padding:23px 0;color:#adb29f}.vision{background:#e9e7dc;text-align:center;max-width:none}.vision>p:last-child{max-width:650px;margin:0 auto;font-size:14px}.mission-list article{display:grid;grid-template-columns:65px 1fr 1.4fr;gap:32px;padding:30px 0;border-top:1px solid var(--line);align-items:start}.mission-list article>span{font:italic 29px var(--serif);color:var(--olive)}.mission-list h3{font-size:22px;margin:5px 0}.mission-list p{font-size:13px;margin:0}.three-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.three-grid .card-image{height:360px}.three-grid .card-meta{gap:10px}.three-grid h3{font-size:21px}.three-grid .world-card>p{font-size:12px}.dark{background:#30392e;color:#f2f0e6;max-width:none}.dark .eyebrow,.dark p{color:#bdc4b2}.four-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:38px;margin-top:55px}.four-grid span{font-family:var(--serif);font-size:40px;font-style:italic;color:#a8b097}.four-grid h3{margin:25px 0 16px;font-size:21px}.four-grid p{font-size:12px}.filters{display:flex;gap:30px;border-bottom:1px solid var(--line);margin:0 0 40px}.filters button{border:0;border-bottom:2px solid transparent;background:none;padding:10px 0 17px;color:var(--muted);font-size:12px;cursor:pointer}.filters button.active{border-color:var(--ink);color:var(--ink)}.filters span{font-size:9px;margin-left:9px;color:var(--olive)}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.product-image{height:365px;position:relative;overflow:hidden;margin-bottom:27px}.product-image img{height:100%;transition:transform 1s}.product-card:hover img{transform:scale(1.06)}.product-tag{position:absolute;top:18px;left:18px;background:var(--paper);padding:7px 12px;font-size:8px;letter-spacing:.12em}.product-card>.eyebrow{font-size:8px!important;margin-bottom:12px}.product-card h3{font:32px var(--serif);margin-bottom:20px}.product-card p{font-size:12px}.specs{border-top:1px solid var(--line);padding:16px 0 0;font-size:10px;color:var(--olive)}.product-card .button{font-size:10px;gap:25px}.product-card[hidden]{display:none}.text-columns h3{font-family:var(--serif);font-size:27px;margin-top:22px}.text-columns p{font-size:13px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{padding:35px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .3s}.service-card:hover{background:#eae8de}.service-no{font-family:var(--serif);font-size:29px;color:var(--olive)}.service-card h3{margin-top:35px}.service-card p{font-size:12px}.service-card ul{padding:0;list-style:none;font-size:11px;color:var(--olive)}.service-card li{padding:8px 0;border-top:1px solid var(--line)}.service-card li:before{content:'↗';margin-right:10px}.faq{max-width:1100px}.faq details{border-top:1px solid var(--line);padding:23px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{list-style:none;font-size:17px;cursor:pointer;display:flex;justify-content:space-between;align-items:center}.faq summary::-webkit-details-marker{display:none}.faq summary span{font-size:25px;color:var(--olive)}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{margin:20px 45px 0 0;font-size:13px}.contact-layout{display:grid;grid-template-columns:1fr 1.25fr;gap:11%}.contact-copy>p{font-size:13px}.contact-detail{margin-top:35px;border-top:1px solid var(--line);padding-top:25px}.contact-detail>span{font-size:9px;letter-spacing:.16em;color:var(--olive)}.contact-detail h3{font-size:17px;margin:14px 0 8px}.contact-detail p{font-size:12px;margin-top:10px}.contact-notice{font-size:11px;background:#e8e6db;padding:18px 20px;border-left:2px solid var(--olive);color:#666b57}.enquiry-form{background:#eeece3;padding:40px}.enquiry-form h3{font:34px var(--serif);margin-bottom:35px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.enquiry-form label{display:block;font-size:10px;letter-spacing:.035em;margin-bottom:25px}.enquiry-form input:not([type=checkbox]),.enquiry-form select,.enquiry-form textarea{display:block;width:100%;border:none;border-bottom:1px solid #bcb9ab;border-radius:0;background:transparent;padding:12px 0;font-size:12px;color:var(--ink);outline:none}.enquiry-form input:focus,.enquiry-form select:focus,.enquiry-form textarea:focus{border-color:var(--olive);box-shadow:0 1px 0 var(--olive)}.enquiry-form input::placeholder,.enquiry-form textarea::placeholder{color:#969386;font-size:11px}.enquiry-form textarea{resize:vertical}.enquiry-form .checkbox{display:flex;gap:10px;align-items:flex-start;font-size:10px;letter-spacing:0;color:var(--muted)}.checkbox input{margin-top:4px;accent-color:var(--olive)}.enquiry-form button{border-top:0;border-left:0;border-right:0;width:100%;justify-content:space-between;font-size:12px}.form-feedback{font-size:11px;margin:20px 0 0}.contact-image{height:450px;position:relative;overflow:hidden}.contact-image>img{height:100%;filter:brightness(.55)}.contact-image>div{position:absolute;top:50%;left:8%;transform:translateY(-50%);color:#fff}.contact-image .eyebrow{color:#e1ddcd}.contact-image h2{margin:0}.js-motion .reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s ease}.js-motion .reveal.visible{opacity:1;transform:translateY(0)}@keyframes hero-enter{from{transform:scale(1.08)}to{transform:scale(1)}}@keyframes rise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes ticker{to{transform:translateX(-48%)}}@media(min-width:1600px){.hero-content{margin-left:calc((100% - 1320px)/2)}}@media(max-width:1100px){header{padding:0 4%;gap:20px}nav{gap:16px;font-size:10px}.brand-name{font-size:10px}.nav-cta{padding:8px 12px}.section{padding:85px 6%}.split{gap:7%}.split-image{height:500px}.three-grid .card-image{height:300px}.product-image{height:290px}.card-image{height:390px}.service-card{padding:25px}.footer-top{gap:25px}.contact-layout{gap:6%}.enquiry-form{padding:30px}.hero-content{margin-left:7%}}
@media(max-width:800px){.topline{font-size:7px;height:27px}.topline span:last-child{display:none}header{height:83px;padding:0 6%}.brand-name{font-size:11px}.brand-mark{font-size:56px}.menu-toggle{display:block;border:0;background:none;font-size:24px;color:var(--ink);padding:8px;margin-left:auto}.nav-cta{margin-left:auto;font-size:10px;padding:7px 12px}.nav-cta span{margin-left:12px}nav{display:none;position:absolute;top:83px;left:0;right:0;background:var(--paper);padding:20px 6% 30px;border-top:1px solid var(--line);box-shadow:0 14px 18px #0001}nav.open{display:flex;flex-direction:column;gap:5px}nav a{font-size:14px;padding:10px 0;width:fit-content}.hero{height:640px;min-height:0}.hero-content{margin-left:7%;padding-top:105px;margin-right:6%}.hero h1{font-size:64px}.hero-content .eyebrow{font-size:8px!important}.hero-description{font-size:12px;max-width:360px}.hero-bottom{font-size:7px}.hero-bottom>span:first-child{display:none}.hero-shade{background:linear-gradient(90deg,#171a13a6,#171a1352)}.section{padding:72px 7%}.split{grid-template-columns:1fr;gap:40px}.split-image{height:470px}.split.reverse .split-image,.split.reverse .split-copy{order:initial}.split-copy{max-width:620px}.worlds{padding-top:15px}.world-grid{gap:25px}.card-image{height:330px}.card-meta h3{font-size:21px}.values-band{padding:45px 7%;gap:22px}.values-band>div+div{padding-left:22px}.values-band h3{font-size:22px}.values-band p{font-size:11px}.values-band span{font-size:8px}.three-grid,.product-grid{grid-template-columns:1fr 1fr}.three-grid .card-image{height:330px}.three-grid>.world-card:last-child{grid-column:1/-1;max-width:calc(50% - 14px)}.three-grid.text-columns{grid-template-columns:1fr}.four-grid{grid-template-columns:1fr 1fr;gap:25px}.service-grid{grid-template-columns:1fr 1fr}.mission-list article{grid-template-columns:40px 1fr;gap:15px}.mission-list p{grid-column:2}.footer-top{grid-template-columns:1.6fr 1fr;gap:35px}.footer-bottom{gap:15px;flex-wrap:wrap}.contact-layout{grid-template-columns:1fr;gap:45px}.contact-copy{max-width:550px}.enquiry-form{padding:35px}.product-card:last-child{max-width:none}.cta{padding:80px 7%}.contact-image{height:390px}}
@media(max-width:500px){h2{font-size:41px}.hero{height:620px}.hero h1{font-size:53px}.hero-content{padding-top:95px}.hero-description{max-width:310px}.hero-bottom{bottom:24px}.hero-number{font-size:14px}.marquee{padding:20px 0;font-size:8px}.marquee div{gap:25px}.split-image{height:400px}.world-grid,.three-grid,.product-grid{grid-template-columns:1fr;gap:38px}.card-image,.three-grid .card-image{height:410px}.three-grid>.world-card:last-child{max-width:none;grid-column:auto}.values-band{grid-template-columns:1fr;gap:28px;padding-top:40px;padding-bottom:40px}.values-band>div+div{padding-left:0;border-left:0;border-top:1px solid #cbc9bb;padding-top:27px}.values-band h3{margin:12px 0}.product-image{height:390px}.service-grid{grid-template-columns:1fr}.service-card{padding:30px}.service-card h3{margin-top:25px}.four-grid{gap:25px}.four-grid h3{font-size:18px}.four-grid p{font-size:11px}.four-grid span{font-size:33px}.footer-top{grid-template-columns:1fr 1fr}.footer-top>div:first-child{grid-column:1/-1}.footer-note{grid-column:1/-1}.footer-note p:not(.eyebrow){font-size:22px}.footer-bottom>span:nth-child(2){display:none}.enquiry-form{padding:27px 20px}.form-row{grid-template-columns:1fr;gap:0}.enquiry-form h3{font-size:30px}.faq summary{font-size:15px;gap:20px}.hero-content .button{font-size:10px}.filters{gap:22px}.filters button{font-size:11px}.mission-list h3{font-size:20px}.contact-image h2{font-size:37px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js-motion .reveal{opacity:1;transform:none}.hero-image{will-change:auto}}
