:root { --ink:#1a1713; --ink-soft:#302b25; --paper:#f3f0e9; --warm:#e7dfd3; --clay:#a8663e; --line:rgba(26,23,19,.18); --light-line:rgba(255,255,255,.25); --serif:"Playfair Display", Georgia, serif; --sans:"Manrope", Arial, sans-serif; --mono:"DM Mono", monospace; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); font-size:16px; line-height:1.5; overflow-x:hidden; }
img { display:block; width:100%; }
a { color:inherit; text-decoration:none; }
button, input, textarea, select { font:inherit; }
.skip-link { left:12px; top:-80px; position:absolute; z-index:99; background:#fff; color:var(--ink); padding:12px 16px; }.skip-link:focus { top:12px; }
.announcement { min-height:35px; padding:8px 4vw; display:flex; align-items:center; justify-content:space-between; gap:16px; background:#d9d2c7; color:#29241e; font:500 10px/1.2 var(--mono); letter-spacing:.1em; text-transform:uppercase; }.announcement a { text-decoration:underline; text-underline-offset:3px; }
.site-header { height:78px; padding:0 4vw; display:flex; align-items:center; justify-content:space-between; gap:28px; background:rgba(243,240,233,.94); border-bottom:1px solid var(--line); position:sticky; z-index:20; top:0; backdrop-filter:blur(10px); }
.wordmark { display:inline-flex; align-items:center; gap:8px; letter-spacing:.04em; white-space:nowrap; }.wordmark span { font:700 25px/.8 var(--serif); }.wordmark i { height:22px; width:1px; background:currentColor; transform:rotate(20deg); }.wordmark strong { font:800 10px/1 var(--sans); letter-spacing:.18em; }
.desktop-nav { display:flex; align-items:center; gap:29px; margin-left:auto; }.desktop-nav a,.header-contact { font-size:12px; font-weight:700; letter-spacing:.02em; }.desktop-nav a { position:relative; }.desktop-nav a:after { content:""; left:0; right:100%; height:1px; bottom:-6px; position:absolute; background:currentColor; transition:right .25s ease; }.desktop-nav a:hover:after { right:0; }.header-contact { background:var(--ink); color:#fff; padding:12px 16px; border-radius:100px; }.menu-toggle { display:none; border:0; background:none; padding:8px 0; width:32px; }.menu-toggle span { display:block; height:1px; width:100%; margin:6px 0; background:var(--ink); }.mobile-menu { position:fixed; z-index:19; top:113px; inset-inline:0; padding:20px 4vw 30px; background:var(--paper); border-bottom:1px solid var(--line); }.mobile-menu nav { display:grid; gap:17px; }.mobile-menu a { font:600 21px var(--serif); }
.hero { min-height:calc(100vh - 113px); padding:6.7vw 4vw 2.3vw; display:grid; grid-template-columns:minmax(400px, .95fr) minmax(320px, .92fr); grid-template-rows:1fr auto; gap:36px 7vw; background:var(--ink); color:#f7f2e9; position:relative; overflow:hidden; }.hero:before { content:""; width:72vw; height:72vw; border:1px solid rgba(255,255,255,.08); border-radius:50%; position:absolute; top:-48vw; left:-29vw; }.hero-copy { align-self:center; position:relative; z-index:1; padding-bottom:5.5vw; }.eyebrow { margin:0 0 23px; font:500 10px/1.25 var(--mono); letter-spacing:.14em; text-transform:uppercase; display:flex; gap:9px; align-items:center; }.eyebrow span { display:inline-block; width:20px; height:1px; background:currentColor; }.hero h1,.section-heading h2,.intro h2,.featured-panel h2,.capabilities h2,.belt-feature h2,.private-label h2,.enquire h2 { margin:0; font:600 clamp(46px,6.25vw,98px)/.94 var(--serif); letter-spacing:-.06em; }.hero h1 em,h2 em { font-weight:500; }.hero-summary { max-width:440px; margin:32px 0 31px; color:#d8d1c6; font-size:15px; line-height:1.75; }.hero-actions { display:flex; gap:26px; align-items:center; flex-wrap:wrap; }.button { display:inline-flex; gap:16px; align-items:center; padding:15px 19px; border:1px solid transparent; font-size:11px; font-weight:800; letter-spacing:.045em; transition:transform .25s ease,background .25s ease,color .25s ease; cursor:pointer; }.button:hover { transform:translateY(-3px); }.button-light { background:#f7f2e9; color:var(--ink); }.button-dark { background:var(--ink); color:#fff; }.text-link { font-size:12px; font-weight:800; display:inline-flex; align-items:center; gap:7px; border-bottom:1px solid currentColor; padding-bottom:4px; }.light-link { color:#f7f2e9; }.hero-image-wrap { position:relative; align-self:center; max-width:540px; justify-self:end; margin-right:4vw; }.hero-image { aspect-ratio: .88; object-fit:cover; object-position:center; filter:saturate(.85) contrast(1.05); }.hero-image-caption { width:180px; position:absolute; right:-76px; bottom:-34px; background:#b07146; padding:19px 20px; color:#1a1713; }.hero-image-caption span { font:500 10px var(--mono); }.hero-image-caption p { margin:10px 0 0; font:600 13px/1.45 var(--serif); }.hero-foot { grid-column:1/-1; border-top:1px solid var(--light-line); padding-top:17px; font:500 10px var(--mono); letter-spacing:.1em; text-transform:uppercase; display:flex; justify-content:space-between; position:relative; }.hero-foot a { display:flex; gap:10px; }
.section-pad { padding:clamp(74px,9vw,155px) 4vw; }.section-kicker { display:flex; gap:11px; align-items:center; font:500 10px var(--mono); letter-spacing:.13em; }.section-kicker span { font-size:10px; }.section-kicker p { margin:0; }.intro { background:#f3f0e9; }.intro-grid { display:grid; grid-template-columns:minmax(400px,1.1fr) minmax(300px,.7fr); gap:8vw; margin-top:34px; }.intro h2 { font-size:clamp(43px,5.5vw,80px); }.intro-copy { max-width:430px; padding-top:15px; }.intro-copy p { margin:0 0 21px; font-size:16px; line-height:1.75; }.dark-link { margin-top:8px; }
.featured-object { background:#d5cabd; display:grid; grid-template-columns:1.04fr .96fr; }.featured-image { min-height:660px; }.featured-image img { width:100%; height:100%; object-fit:cover; object-position:center; }.featured-panel { padding:8.5vw 7vw 7vw; align-self:center; }.ink-eyebrow { color:#3c3328; }.featured-panel h2 { font-size:clamp(44px,5.4vw,82px); }.featured-panel > p:not(.eyebrow) { max-width:390px; margin:27px 0 30px; font-size:16px; line-height:1.72; }.featured-spec { margin-top:55px; border-top:1px solid rgba(26,23,19,.35); display:grid; grid-template-columns:.8fr 1.2fr; font:500 10px/1.2 var(--mono); letter-spacing:.08em; text-transform:uppercase; }.featured-spec span { padding:13px 0; border-bottom:1px solid rgba(26,23,19,.35); }.featured-spec span:nth-child(odd) { color:#6a5847; }
.section-heading { display:grid; grid-template-columns:1fr 1.1fr .65fr; gap:30px; align-items:end; margin-bottom:48px; }.section-heading h2 { font-size:clamp(44px,5.4vw,80px); }.section-heading > p { margin:0; max-width:270px; font-size:14px; line-height:1.7; }.collection-grid { display:grid; grid-template-columns:1.1fr .9fr .9fr; grid-auto-rows:305px; gap:16px; }.collection-card { position:relative; overflow:hidden; background:#d7d2c9; }.collection-card.tall-card { grid-row:span 2; }.collection-card.wide-card { grid-column:span 2; }.collection-card img { height:100%; object-fit:cover; transition:transform .65s cubic-bezier(.2,.7,.2,1); }.collection-card:hover img { transform:scale(1.04); }.collection-card-copy { position:absolute; inset:auto 0 0; padding:22px; background:linear-gradient(transparent,rgba(0,0,0,.76)); color:#fff; }.collection-card-copy p { margin:0 0 5px; font:500 9px var(--mono); letter-spacing:.11em; text-transform:uppercase; }.collection-card-copy h3 { margin:0; font:600 28px var(--serif); }.collection-card-copy a { display:inline-block; margin-top:8px; font-size:11px; font-weight:700; opacity:0; transform:translateY(8px); transition:.25s ease; }.collection-card:hover .collection-card-copy a { opacity:1; transform:translateY(0); }
.marquee { padding:16px 0; overflow:hidden; white-space:nowrap; background:#a9663f; color:#fff9f1; }.marquee div { display:inline-flex; gap:26px; align-items:center; min-width:max-content; animation:marquee 28s linear infinite; }.marquee span { font:600 12px var(--mono); letter-spacing:.12em; }.marquee i { font-style:normal; }@keyframes marquee { to { transform:translateX(-35%); } }
.capabilities { background:#29251f; color:#f4efe6; }.capabilities-grid { display:grid; grid-template-columns:1fr 1fr; gap:8vw; margin-top:36px; }.capabilities-lead h2 { font-size:clamp(42px,5.1vw,78px); }.capabilities-lead > p { max-width:420px; margin:28px 0 0; color:#d1c8bb; line-height:1.75; }.capability-list { margin:0; padding:0; list-style:none; border-top:1px solid var(--light-line); }.capability-list li { padding:22px 0; display:grid; grid-template-columns:66px 1fr; gap:16px; border-bottom:1px solid var(--light-line); }.capability-list li > span { font:500 10px var(--mono); color:#b8ac9d; }.capability-list h3 { margin:0; font:500 27px/1.1 var(--serif); }.capability-list p { color:#c7bdaf; margin:7px 0 0; font-size:13px; line-height:1.6; }
.belt-feature { min-height:650px; background:#8b5e3f; color:#fffaf0; display:grid; grid-template-columns:1fr 1fr; overflow:hidden; }.belt-feature-copy { padding:9vw 7vw; align-self:center; }.belt-feature h2 { font-size:clamp(48px,6vw,88px); margin-bottom:22px; }.belt-feature-copy > p:not(.eyebrow) { max-width:380px; margin:0 0 30px; line-height:1.75; }.belt-feature > img { height:100%; object-fit:cover; object-position:center; filter:saturate(.83) contrast(1.04); }
.private-label { display:grid; grid-template-columns:.9fr 1.1fr; align-items:center; gap:8vw; background:#f3f0e9; }.private-label-images { display:grid; grid-template-columns:1fr .74fr; align-items:end; gap:15px; }.private-label-images img:first-child { height:405px; object-fit:cover; }.private-label-images img:last-child { height:295px; object-fit:cover; margin-bottom:-54px; }.private-label-copy { max-width:550px; }.private-label-copy h2 { margin-top:32px; font-size:clamp(45px,5.4vw,82px); }.private-label-copy > p { margin:27px 0 25px; line-height:1.75; }.private-label-copy ul { padding:0 0 0 19px; margin:0 0 31px; }.private-label-copy li { margin:8px 0; font-size:14px; }
.process { background:#e5ded2; }.process-top { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; }.process-top > p { margin:0; font:500 clamp(28px,3vw,46px)/1.05 var(--serif); max-width:420px; letter-spacing:-.04em; }.process-track { border-top:1px solid var(--line); margin-top:62px; display:grid; grid-template-columns:repeat(3,1fr); }.process-track article { padding:22px 30px 0 0; min-height:190px; border-right:1px solid var(--line); }.process-track article+article { padding-left:30px; }.process-track article:last-child { border-right:0; }.process-track span { font:500 10px var(--mono); }.process-track h3 { margin:28px 0 9px; font:600 28px var(--serif); }.process-track p { margin:0; max-width:280px; font-size:13px; line-height:1.7; }.quote-band { padding:10vw 10vw; text-align:center; background:#1b1814; color:#f4eee3; }.quote-band p { max-width:950px; margin:0 auto; font:500 clamp(37px,5vw,74px)/1.1 var(--serif); letter-spacing:-.045em; }
.enquire { display:grid; grid-template-columns:.78fr 1.22fr; gap:8vw; background:#f5f2ea; }.enquire-intro h2 { margin-top:30px; font-size:clamp(48px,5.6vw,82px); }.enquire-intro > p:not(.eyebrow) { max-width:360px; line-height:1.75; margin:28px 0; }.contact-details { display:grid; gap:8px; padding-top:18px; border-top:1px solid var(--line); max-width:360px; }.contact-details a { font:700 13px var(--sans); }.contact-details a:last-child { margin-top:5px; font:500 11px var(--mono); letter-spacing:.08em; text-transform:uppercase; text-decoration:underline; text-underline-offset:4px; }.enquiry-form { display:grid; grid-template-columns:repeat(2,1fr); gap:22px 25px; align-content:start; }.enquiry-form label { display:grid; gap:10px; }.enquiry-form label span { font:500 10px var(--mono); letter-spacing:.07em; text-transform:uppercase; }.enquiry-form input,.enquiry-form select,.enquiry-form textarea { width:100%; background:transparent; border:0; border-bottom:1px solid rgba(26,23,19,.45); border-radius:0; padding:0 0 12px; color:var(--ink); outline:none; transition:border-color .2s; }.enquiry-form textarea { padding-bottom:7px; resize:vertical; }.enquiry-form input:focus,.enquiry-form select:focus,.enquiry-form textarea:focus { border-color:var(--ink); }.form-wide { grid-column:1/-1; }.form-actions { display:flex; align-items:center; gap:17px; flex-wrap:wrap; padding-top:4px; }.whatsapp-button { border:0; background:transparent; border-bottom:1px solid var(--ink); padding:5px 0; font-size:11px; font-weight:800; cursor:pointer; }.form-note { margin:0; font-size:11px; color:#5d554d; }.form-note a { text-decoration:underline; }.honeypot { display:none !important; }
.site-footer { padding:56px 4vw 22px; color:#f4eee4; background:#1b1814; }.footer-top { padding-bottom:58px; display:flex; justify-content:space-between; align-items:flex-start; gap:24px; border-bottom:1px solid var(--light-line); }.footer-mark span { font-size:32px; }.footer-mark strong { font-size:11px; }.footer-top p { margin:3px auto 0 18px; font-size:13px; color:#c6bbae; }.footer-top-link { font:500 10px var(--mono); letter-spacing:.1em; text-transform:uppercase; }.footer-bottom { padding-top:20px; display:flex; gap:20px; flex-wrap:wrap; font:400 10px var(--mono); color:#b8aea2; }.footer-bottom p { margin:0 auto 0 0; }.footer-bottom a { text-decoration:underline; text-underline-offset:3px; }
.whatsapp-float { display:flex; align-items:center; gap:8px; position:fixed; z-index:18; right:20px; bottom:20px; padding:12px 15px; border-radius:100px; color:#fff; background:#1f8d4c; box-shadow:0 12px 25px rgba(0,0,0,.2); font:700 11px var(--sans); }.whatsapp-float svg { width:20px; fill:currentColor; }
@media (max-width: 900px) { .desktop-nav,.header-contact { display:none; }.menu-toggle { display:block; }.hero { grid-template-columns:1fr .8fr; gap:25px 35px; }.hero-image-wrap { margin-right:0; }.hero-image-caption { right:-25px; }.section-heading { grid-template-columns:1fr 1.2fr; }.section-heading > p { grid-column:2; }.collection-grid { grid-template-columns:1fr 1fr; }.collection-card.wide-card { grid-column:span 1; }.featured-object,.private-label { gap:0; }.private-label { grid-template-columns:1fr 1fr; }.enquire { gap:5vw; }.process-track article { padding-right:20px; }.process-track article+article { padding-left:20px; } }
@media (max-width: 650px) { .announcement { font-size:8px; }.announcement span { display:none; }.announcement a { margin-left:auto; }.site-header { height:64px; }.mobile-menu { top:99px; }.hero { min-height:auto; padding:55px 5vw 20px; grid-template-columns:1fr; }.hero-copy { padding-bottom:10px; }.hero h1 { font-size:clamp(48px,15vw,76px); }.hero-image-wrap { max-width:none; width:88%; justify-self:start; margin-top:15px; }.hero-image { aspect-ratio:1/1.12; }.hero-image-caption { right:-22px; bottom:-20px; width:162px; }.hero-foot { margin-top:25px; grid-column:1; }.section-pad { padding:75px 5vw; }.intro-grid,.capabilities-grid,.enquire { grid-template-columns:1fr; gap:35px; }.intro-copy { padding-top:0; }.featured-object,.belt-feature,.private-label { grid-template-columns:1fr; }.featured-image { min-height:420px; }.featured-panel { padding:72px 5vw; }.section-heading { grid-template-columns:1fr; gap:20px; margin-bottom:34px; }.section-heading > p { grid-column:auto; }.collection-grid { grid-template-columns:1fr; grid-auto-rows:335px; }.collection-card.tall-card,.collection-card.wide-card { grid-row:auto; grid-column:auto; }.collection-card:hover .collection-card-copy a { opacity:1; transform:none; }.belt-feature { min-height:auto; }.belt-feature-copy { padding:75px 5vw; }.belt-feature > img { min-height:400px; }.private-label { gap:65px; }.private-label-images img:first-child { height:320px; }.private-label-images img:last-child { height:240px; margin-bottom:-30px; }.process-top { display:grid; gap:25px; }.process-track { grid-template-columns:1fr; margin-top:35px; }.process-track article,.process-track article+article { padding:22px 0; min-height:0; border-right:0; border-bottom:1px solid var(--line); }.process-track article:last-child { border-bottom:0; }.enquiry-form { grid-template-columns:1fr; gap:21px; }.form-wide { grid-column:auto; }.footer-top { display:grid; padding-bottom:35px; }.footer-top p { margin:0; }.footer-bottom { display:grid; gap:10px; }.footer-bottom p { margin:0 0 10px; }.whatsapp-float span { display:none; }.whatsapp-float { right:15px; bottom:15px; padding:13px; }.quote-band { padding:18vw 7vw; }.featured-spec { margin-top:38px; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; }.marquee div { animation:none; }.collection-card img,.button { transition:none; } }
