:root{--paper:#faf9f5;--ivory:#f0eee7;--ink:#2e332e;--muted:#686c64;--green:#444e43;--line:#dcded5;--serif:'Cormorant Garamond',Georgia,serif;--body:Manrope,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(--body);font-size:16px;line-height:1.7}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button,a,summary{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a,button,summary{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #8b754c;outline-offset:5px}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.08}h2{font-size:clamp(2.2rem,3.3vw,3.15rem)}h3{font-size:1.7rem}.wrap{width:min(1280px,calc(100% - 104px));margin:auto}.announcement{background:var(--green);color:#fff;text-align:center;font-size:12px;padding:8px 20px;letter-spacing:.06em}.announcement span{margin-left:40px;color:#e1e4dc}.header{height:104px;display:flex;align-items:center;justify-content:space-between;gap:32px}.logo{font-family:var(--serif);font-size:37px;letter-spacing:.17em;line-height:1}.header nav{display:flex;gap:30px;font-size:14px}.header nav a:hover,.text-link:hover{color:#7b6744}.button{display:inline-flex;align-items:center;justify-content:center;gap:35px;min-height:52px;padding:14px 26px;background:var(--green);border:1px solid var(--green);color:white;font-size:14px;transition:background .2s,transform .2s}.button:hover{background:#303a30;transform:translateY(-2px)}.button.small{min-height:44px;padding:10px 18px;gap:20px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px;padding-top:18px;padding-bottom:48px}.hero-copy{padding:25px 0}.eyebrow{font-size:11px;letter-spacing:.19em;font-weight:600;margin-bottom:22px}.hero h1{font-size:clamp(3.5rem,5.8vw,5.8rem);line-height:1.02;letter-spacing:-.025em}.hero h1 em{font-weight:400;color:#727b69}.intro{color:var(--muted);max-width:395px;margin:28px 0 30px;font-size:15px;line-height:1.9}.hero-foot{display:flex;align-items:center;gap:14px;margin-top:48px;font-size:11px;color:var(--muted);letter-spacing:.03em}.line{width:34px;height:1px;background:#a4a797}.hero-photo{position:relative;background:#e7e3d9}.hero-photo img{width:100%;aspect-ratio:1.06;object-fit:cover}.hero-photo figcaption{display:flex;justify-content:space-between;padding:14px 0 0;background:var(--paper);font-size:9px;letter-spacing:.14em;color:var(--muted)}.values{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-around;padding:22px 0;font-size:12px;letter-spacing:.03em}.values span+span{border-left:1px solid var(--line);padding-left:7%}.section{padding-top:86px;padding-bottom:86px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:32px}.section-heading .eyebrow{margin-bottom:13px}.text-link{font-size:13px;border-bottom:1px solid #a8ada0;padding-bottom:5px;white-space:nowrap}.collections{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.collection-card{border:0;padding:0;text-align:left;background:transparent;color:var(--ink)}.collection-image{overflow:hidden;background:var(--ivory)}.collection-image img{width:100%;aspect-ratio:1.08;transition:transform .5s}.collection-card:hover img{transform:scale(1.04)}.collection-card h3{font-size:1.55rem;margin:18px 0 4px;display:flex;justify-content:space-between}.collection-card h3 span{font:20px var(--body)}.collection-card p{font-size:12px;color:var(--muted)}.products-section{padding:76px 0;background:#f0f0e9}.section-note{font-size:13px;color:var(--muted)}.sample-note{font-size:12px;color:#62675e}.filters{display:flex;gap:9px;flex-wrap:wrap;margin:28px 0 32px}.filter{border:1px solid #cbd0c4;border-radius:2px;background:transparent;padding:9px 18px;color:var(--ink);font-size:13px}.filter[aria-pressed=true]{background:var(--green);color:white;border-color:var(--green)}.filter:hover{border-color:var(--green)}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:36px 22px}.product-card{min-width:0}.product-image{position:relative;background:#e7e5dc;overflow:hidden}.product-image img{width:100%;aspect-ratio:1;transition:transform .5s}.product-card:hover .product-image img{transform:scale(1.035)}.product-image .sample-tag{position:absolute;left:12px;top:12px;background:#faf9f5e6;font-size:10px;letter-spacing:.04em;padding:3px 8px}.product-category{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:16px}.product-card h3{font-size:1.65rem;margin:6px 0 10px}.price{font-size:12px;color:#535a50}.product-actions{margin-top:16px;display:flex;flex-wrap:wrap;gap:10px}.details-button{background:transparent;border:1px solid #b7bdb0;padding:8px 10px;color:var(--ink);font-size:11px}.details-button:hover{background:#e4e7dc}.enquire-link{font-size:11px;display:flex;align-items:center;border-bottom:1px solid #abb2a2}.catalogue-foot{text-align:center;font-size:13px;color:var(--muted);margin-top:45px}.catalogue-foot a{color:var(--ink);border-bottom:1px solid #a0a796}.story{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:100px}.story-art{position:relative}.story-art img{width:100%;aspect-ratio:1.13;object-position:center 65%}.story-stamp{position:absolute;bottom:24px;left:24px;padding:18px 26px;background:#faf9f5ed;font:28px var(--serif);letter-spacing:.16em}.story-stamp small{font:8px var(--body);letter-spacing:.17em}.story-copy p:not(.eyebrow){font-size:14px;line-height:1.95;color:var(--muted);margin:23px 0}.story-copy .text-link{display:inline-block;margin-top:8px}.order-section{text-align:center;background:#e9ece2;padding:72px 0}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;text-align:left;margin:44px 0 36px}.steps article{border-top:1px solid #bfc5b8;padding-top:22px;position:relative;padding-left:48px}.steps article>span{position:absolute;left:0;top:20px;font-family:var(--serif);font-size:24px;color:#77806e}.steps p{font-size:13px;color:var(--muted);margin-top:12px;max-width:265px}.order-note{font-size:11px;color:var(--muted);margin-top:16px;line-height:1.8}.faq-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.faq-section>div>p:not(.eyebrow){font-size:13px;color:var(--muted);margin:25px 0 8px}details{border-bottom:1px solid var(--line);padding:19px 0}details:first-child{border-top:1px solid var(--line)}summary{font-size:14px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:25px}summary::-webkit-details-marker{display:none}summary:after{content:'+';font-size:19px;line-height:1.3}details[open] summary:after{content:'−'}details p{font-size:13px;color:var(--muted);margin-top:14px;padding-right:30px}footer{background:#323d34;color:#eef0e8;padding:55px 0 20px}.footer-main{display:grid;grid-template-columns:1.2fr .8fr 1fr 1fr;gap:40px;font-size:12px}.footer-main p{margin:18px 0;color:#d7dccf}.footer-main span{color:#c9d1c3}.footer-main h3{font:500 12px var(--body);margin:0 0 20px;letter-spacing:.05em}.footer-main>div>a:not(.logo){display:block;margin:9px 0}.footer-note{border-left:1px solid #667260;padding-left:30px}.footer-note p{font:26px var(--serif);margin-top:0}.footer-bottom{border-top:1px solid #56604f;margin-top:42px;padding-top:20px;display:flex;justify-content:space-between;color:#cbd2c4;font-size:10px}.social-placeholder{display:block;color:#cbd2c4;font-size:11px;margin-top:12px}.floating-wa{position:fixed;bottom:24px;right:24px;display:grid;place-items:center;width:52px;height:52px;background:var(--green);border:1px solid #dbe0d1;color:white;border-radius:50%;box-shadow:0 4px 20px #22332222;z-index:5}.floating-wa svg{width:27px;height:27px}.mobile-contact{display:none}.skip{position:fixed;top:-80px;left:10px;z-index:100;background:white;padding:12px}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}dialog{width:min(900px,calc(100% - 32px));max-height:90dvh;border:0;padding:0;background:var(--paper);color:var(--ink);overflow:auto}dialog::backdrop{background:#20271f99;backdrop-filter:blur(4px)}.modal-close{position:absolute;right:12px;top:12px;z-index:1;width:38px;height:38px;border:1px solid var(--line);background:var(--paper);font-size:25px}.modal-layout{display:grid;grid-template-columns:1fr 1fr}.modal-layout>img{width:100%;height:100%;min-height:540px}.modal-copy{padding:44px 32px 30px}.modal-copy h2{font-size:2.5rem}.modal-copy>p{margin:15px 0;font-size:13px}.modal-copy .eyebrow{font-size:10px}.modal-copy dl{font-size:12px;margin:24px 0}.modal-copy dl div{display:flex;justify-content:space-between;gap:15px;padding:8px 0;border-bottom:1px solid var(--line)}dd{margin:0;text-align:right}.modal-copy .button{width:100%;font-size:12px;gap:12px}
@media(min-width:1500px){.hero{gap:100px}.hero h1{font-size:6rem}}@media(max-width:1050px){.wrap{width:calc(100% - 56px)}.header{gap:20px}.header nav{gap:18px;font-size:12px}.hero{gap:30px}.hero h1{font-size:4rem}.hero-foot{margin-top:28px}.product-grid{grid-template-columns:repeat(3,1fr)}.story{gap:45px}.footer-main{gap:25px}.header-contact{font-size:12px!important}.faq-section{gap:40px}}@media(max-width:760px){.wrap{width:calc(100% - 36px)}.announcement{font-size:10px}.announcement span{display:none}.header{height:80px;position:relative}.logo{font-size:31px}.header-contact{margin-left:auto;min-height:40px!important;padding:8px 12px!important;font-size:10px!important;gap:10px!important}.menu-toggle{display:block;background:none;border:0;padding:8px;order:3;font-size:23px;color:var(--ink)}.header nav{display:none;position:absolute;top:80px;left:-18px;right:-18px;z-index:10;background:var(--paper);padding:24px;border-bottom:1px solid var(--line);font-size:16px}.header nav.open{display:flex;flex-direction:column}.hero{grid-template-columns:1fr;padding-top:12px;gap:25px;padding-bottom:28px}.hero-copy{padding:10px 0}.hero h1{font-size:3.8rem}.eyebrow{font-size:10px;margin-bottom:15px}.intro{font-size:14px;margin:22px 0;max-width:460px}.hero-foot{margin-top:24px}.hero-photo img{aspect-ratio:1.18}.values{font-size:10px;gap:12px;align-items:center;text-align:center;padding:16px 0}.values span+span{padding-left:12px}.section{padding:56px 0}.section-heading{align-items:start;gap:20px}.section-heading .text-link{white-space:normal;text-align:right;font-size:11px;min-width:85px}h2{font-size:2.3rem}.collections{grid-template-columns:repeat(2,1fr);gap:26px 16px}.collection-card h3{font-size:1.4rem;margin-top:12px}.collection-card p{font-size:11px}.products-section{padding:50px 0}.section-note{display:none}.sample-note{font-size:11px}.filters{gap:7px}.filter{padding:8px 11px;font-size:11px}.product-grid{grid-template-columns:repeat(2,1fr);gap:28px 15px}.product-card h3{font-size:1.45rem}.product-category{font-size:9px}.product-actions{display:grid;gap:10px}.enquire-link{font-size:10px;width:max-content}.details-button{font-size:11px;width:100%}.product-image .sample-tag{top:8px;left:8px;font-size:9px}.story{grid-template-columns:1fr;gap:35px}.story-art img{aspect-ratio:1.3}.order-section{padding:52px 0}.steps{grid-template-columns:1fr;gap:24px;margin:30px 0}.steps p{max-width:none}.faq-section{grid-template-columns:1fr;gap:28px}.footer-main{grid-template-columns:1fr 1fr;gap:35px 24px}.footer-note{padding-left:20px}.footer-bottom{gap:20px;align-items:end;font-size:9px}.footer-bottom>span:last-child{text-align:right}body{padding-bottom:calc(60px + env(safe-area-inset-bottom))}.floating-wa{display:none}.mobile-contact{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1fr;padding:8px 18px calc(8px + env(safe-area-inset-bottom));gap:12px;background:var(--paper);border-top:1px solid var(--line);z-index:10;font-size:13px}.mobile-contact a{padding:8px;text-align:center;border:1px solid var(--green)}.mobile-contact a:last-child{background:var(--green);color:white}.modal-layout{grid-template-columns:1fr}.modal-layout>img{height:auto;min-height:0;aspect-ratio:1.35}.modal-copy{padding:25px}.modal-copy h2{font-size:2.2rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Mobile-first refinement and restrained motion — original palette preserved. */
.product-card{display:flex;flex-direction:column;align-items:stretch}
.product-actions{margin-top:auto;padding-top:16px}
.product-card h3,.collection-card h3{overflow-wrap:anywhere}
.collection-card h3 span{flex-shrink:0}
.details-button,.enquire-link,.filter{min-height:44px}
.details-button,.enquire-link{font-size:13px}
.enquire-link{white-space:normal;line-height:1.4}
.product-category,.sample-note,.price{font-size:12px}
.intro,.story-copy p:not(.eyebrow),.steps p,details p{font-size:16px}
.summary,summary,.filter,.footer-main,.text-link{font-size:14px}
.product-image{isolation:isolate}
.button,.details-button,.filter,.enquire-link,.menu-toggle{transition:background-color .2s,color .2s,border-color .2s,transform .2s}
.button:active,.details-button:active,.filter:active{transform:scale(.98)}
.header nav a{position:relative}
@media(hover:hover) and (pointer:fine){
 .header nav a:after{content:'';position:absolute;left:0;right:0;bottom:-5px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s}
 .header nav a:hover:after{transform:scaleX(1)}
 .collection-card:hover h3 span{transform:translate(3px,-3px)}
 .collection-card h3 span{transition:transform .25s}
 .floating-wa:hover{transform:translateY(-3px);background:#303a30}
}
.floating-wa{transition:transform .25s,background-color .25s}
.hero-photo{overflow:hidden}
@keyframes sheet-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes detail-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
dialog[open]{animation:sheet-in .3s ease-out}
details[open] p{animation:detail-in .25s ease-out}
.modal-close{width:44px;height:44px;border-radius:50%}
.modal-copy>p,.modal-copy dl{font-size:14px}
.modal-copy .button{font-size:14px}
@media(max-width:1050px) and (min-width:761px){
 .header nav{gap:14px;font-size:13px}
 .header-contact{gap:10px!important}
 .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
 html{scroll-padding-top:96px;scroll-padding-bottom:90px}
 body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
 .announcement{font-size:12px;padding:8px 16px}
 .header{position:sticky;top:0;z-index:20;width:100%;padding:0 18px;height:72px;gap:14px;background:var(--paper);border-bottom:1px solid var(--line)}
 .header .logo{font-size:32px}
 .header-contact{font-size:12px!important;min-height:44px!important;padding:8px 12px!important}
 .header-contact span{display:none}
 .menu-toggle{width:44px;height:44px;padding:10px;flex-shrink:0;display:flex;flex-direction:column;justify-content:center;gap:6px}
 .menu-toggle span{display:block;height:1.5px;width:24px;background:currentColor;transition:transform .22s}
 .menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.75px) rotate(45deg)}
 .menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.75px) rotate(-45deg)}
 .header nav{top:72px;left:0;right:0;padding:12px 22px 20px;gap:0;max-height:calc(100dvh - 160px);overflow:auto;box-shadow:0 16px 24px #303a3010}
 .header nav.open{animation:detail-in .22s ease-out}
 .header nav a{padding:13px 0;min-height:48px;border-bottom:1px solid var(--line)}
 .hero{padding-top:24px;gap:22px}
 .hero h1{font-size:clamp(3rem,12vw,4.5rem)}
 .hero-copy{padding:0}
 .hero .eyebrow{font-size:12px;margin-bottom:18px}
 .intro{font-size:16px;line-height:1.75;margin:22px 0}
 .hero .button{width:100%;justify-content:space-between;font-size:14px}
 .hero-foot{font-size:12px;margin-top:22px}
 .hero-photo img{aspect-ratio:1.15}
 .hero-photo figcaption{font-size:10px;gap:12px;letter-spacing:.06em}
 .values{font-size:12px;gap:10px;line-height:1.5;align-items:stretch}
 .values span{flex:1;display:flex;align-items:center;justify-content:center}
 .values span+span{padding-left:10px}
 .section-heading{display:block}
 .section-heading .text-link{display:inline-block;text-align:left;font-size:14px;margin-top:18px}
 .eyebrow{font-size:12px;letter-spacing:.13em}
 .collections{gap:26px 16px}
 .collection-card h3{font-size:1.55rem;gap:8px;line-height:1.1}
 .collection-card p{font-size:13px;line-height:1.6}
 .filters{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;padding:5px 3px 12px;margin:22px -3px 24px;scroll-snap-type:x proximity}
 .filter{flex-shrink:0;font-size:14px;padding:10px 16px;scroll-snap-align:start}
 .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px}
 .product-category{font-size:11px;letter-spacing:.04em}
 .product-card h3{font-size:1.55rem;line-height:1.12;margin-bottom:12px}
 .price{font-size:13px;margin-bottom:4px}
 .product-actions{gap:8px}
 .details-button{font-size:14px;min-height:46px}
 .enquire-link{width:100%;font-size:13px;min-height:48px;justify-content:center;text-align:center;border:1px solid var(--green);background:var(--green);color:white;padding:8px}
 .product-image .sample-tag{font-size:10px}
 .sample-note{font-size:12px;line-height:1.75}
 .story-copy p:not(.eyebrow),.steps p,details p{font-size:16px}
 .steps{gap:28px}.steps h3{font-size:1.9rem}
 .order-note{font-size:12px}
 summary{font-size:16px;min-height:44px;align-items:center}
 details p{padding-right:0}
 .faq-section>div>p:not(.eyebrow){font-size:14px}
 .footer-main{font-size:14px;grid-template-columns:repeat(2,minmax(0,1fr))}
 .footer-main>div{min-width:0;overflow-wrap:anywhere}
 .footer-main h3{font-size:14px}
 .footer-main>div>a:not(.logo){min-height:44px;display:flex;align-items:center;margin:0}
 .footer-main>div:first-child,.footer-note{grid-column:1/-1}
 .footer-note{border-left:0;border-top:1px solid #667260;padding:24px 0 0}
 .footer-bottom{font-size:12px;flex-wrap:wrap;gap:8px}
 .footer-bottom>span:last-child{text-align:left}
 .social-placeholder{font-size:12px}
 .mobile-contact{padding:10px 18px calc(10px + env(safe-area-inset-bottom));gap:12px;box-shadow:0 -6px 22px #303a300c;font-size:14px}
 .mobile-contact a{min-height:46px;display:flex;align-items:center;justify-content:center}
 dialog{width:100%;max-width:100%;max-height:92dvh;margin:auto 0 0;border-radius:18px 18px 0 0;overscroll-behavior:contain;padding-bottom:env(safe-area-inset-bottom)}
 .modal-close{position:absolute;float:none;top:12px;right:12px;margin:0}
 .modal-layout>img{aspect-ratio:1.4;max-height:36dvh}
 .modal-copy{padding:26px 24px 32px}
 .modal-copy .button{min-height:52px}
}
@media(max-width:379px){
 .header{gap:8px;padding:0 14px}.header .logo{font-size:27px}.header-contact{font-size:11px!important;padding:8px!important}
 .wrap{width:calc(100% - 32px)}
 .product-grid{grid-template-columns:1fr}.product-image img{aspect-ratio:1.15}
 .product-actions{grid-template-columns:1fr 1fr;gap:10px}
 .enquire-link{font-size:12px}
 .collection-card h3{font-size:1.35rem}.values{font-size:11px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*:before,*:after{animation:none!important;transition:none!important}
}


/* Complete mobile hero and compact catalogue images. Explicit height rules
   override HTML intrinsic heights (500/1000px), which caused the tall crops. */
.intro-mobile{display:none}
.collection-image,.product-image{position:relative;aspect-ratio:1;min-height:0;flex-shrink:0}
.collection-image img,.product-image img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:1;object-fit:contain}
.story-art img{height:auto}
@media(max-width:760px){
 .intro-desktop{display:none}
 .intro-mobile{display:inline}
 .mobile-contact{grid-template-columns:1fr}
 .hero{height:calc(100svh - 176px - env(safe-area-inset-bottom));min-height:420px;grid-template-rows:auto minmax(150px,1fr);align-items:stretch;gap:12px;padding:12px 0}
 .hero-copy{min-width:0}
 .hero .eyebrow{font-size:11px;line-height:1.5;margin-bottom:8px}
 .hero h1{font-size:clamp(2.35rem,10vw,2.8rem);line-height:1.03}
 .hero .intro{font-size:14px;line-height:1.5;margin:10px 0}
 .hero .button{min-height:44px;padding:10px 18px}
 .hero-foot,.hero-photo figcaption{display:none}
 .hero-photo{height:100%;min-height:0;display:flex;justify-content:center;background:var(--ivory)}
 .hero-photo img{display:block;width:100%;height:100%;max-height:100%;aspect-ratio:auto;object-fit:contain;object-position:center}
 .collections,.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}
 .collection-image,.product-image{width:100%;aspect-ratio:1}
 .collection-image img,.product-image img{width:100%;height:100%;aspect-ratio:1;object-fit:contain}
 .collection-card{align-self:start;min-width:0}
 .product-actions{grid-template-columns:1fr;gap:8px;padding-top:12px}
 .product-card h3{font-size:1.4rem}
 .collection-card h3{font-size:1.35rem}
 .product-category{font-size:10px;line-height:1.5}
 .enquire-link{font-size:12px;min-height:44px}
}
/* Allow natural scrolling on short landscape screens and with enlarged text. */
@media(max-width:760px) and (max-height:580px){
 .hero{height:auto;min-height:0;grid-template-rows:auto auto}
 .hero-photo{height:210px}
}
