:root{--char:#16120e;--char2:#211a14;--amber:#f2a33a;--orange:#e8731f;--cream:#f6efe2;--cream2:#ece1cc;--ink:#2a211a;--mute:#8a7d6c;--line:rgba(242,163,58,.25);--serif:'Cormorant Garamond',Georgia,serif;--sans:'Inter',system-ui,sans-serif}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--cream);line-height:1.65;font-size:17px;-webkit-font-smoothing:antialiased}
img,video{max-width:100%;display:block}a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.1;letter-spacing:-.01em}
h1{font-size:clamp(2.8rem,7vw,5.6rem)}h2{font-size:clamp(2.1rem,4.4vw,3.4rem)}h3{font-size:1.5rem}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.eyebrow{font:600 .78rem/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--orange);margin-bottom:16px;display:block}
.dark .eyebrow{color:var(--amber)}
section{padding:96px 0;position:relative}
.dark{background:var(--char);color:var(--cream)}.dark2{background:var(--char2);color:var(--cream)}
.lead{font-size:1.15rem;max-width:62ch;opacity:.88}
.center{text-align:center}.center .lead{margin:16px auto 0}
/* pleat divider */
.pleat{height:26px;background:linear-gradient(135deg,var(--cream) 25%,transparent 25%) -13px 0,linear-gradient(225deg,var(--cream) 25%,transparent 25%) -13px 0,linear-gradient(315deg,var(--cream) 25%,transparent 25%),linear-gradient(45deg,var(--cream) 25%,transparent 25%);background-size:26px 26px;background-color:var(--char);margin-top:-1px}
.pleat.up{background-color:var(--cream);background-image:linear-gradient(135deg,var(--char) 25%,transparent 25%),linear-gradient(225deg,var(--char) 25%,transparent 25%),linear-gradient(315deg,var(--char) 25%,transparent 25%),linear-gradient(45deg,var(--char) 25%,transparent 25%)}
/* nav */
header{position:fixed;inset:0 0 auto 0;z-index:50;transition:.3s}
header.solid{background:rgba(22,18,14,.94);backdrop-filter:blur(8px);box-shadow:0 1px 0 var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:74px}
.logo{font-family:var(--serif);font-size:1.7rem;font-weight:700;color:#fff;text-decoration:none;letter-spacing:.01em}.logo b{color:var(--orange)}
.nav ul{display:flex;gap:26px;list-style:none}.nav ul a{color:#f1e6d3;text-decoration:none;font-size:.9rem;letter-spacing:.04em}
.nav ul a:hover,.nav ul a.on{color:var(--amber)}
.burger{display:none;background:none;border:0;color:#fff;font-size:1.8rem;cursor:pointer}
.btn{display:inline-block;padding:15px 30px;border-radius:2px;font:600 .92rem var(--sans);letter-spacing:.06em;text-decoration:none;cursor:pointer;border:1.5px solid var(--orange);transition:.25s}
.btn.pri{background:var(--orange);color:#fff}.btn.pri:hover{background:var(--amber);border-color:var(--amber);color:var(--char)}
.btn.ghost{color:var(--cream);border-color:rgba(246,239,226,.5)}.btn.ghost:hover{border-color:var(--amber);color:var(--amber)}
.btn.out{color:var(--ink);border-color:var(--ink)}.btn.out:hover{background:var(--ink);color:var(--cream)}
.btns{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
/* hero */
.hero{min-height:100vh;display:flex;align-items:center;color:#fff;overflow:hidden;padding:120px 0 90px;background:var(--char) center/cover}
.hero video,.hero .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.hero::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 70% 40%,transparent 0,rgba(22,18,14,.55) 70%),linear-gradient(90deg,rgba(22,18,14,.85),rgba(22,18,14,.15))}
.hero .wrap{position:relative;z-index:2}.hero h1 em{color:var(--amber);font-style:italic}
.hero p{font-size:1.25rem;max-width:52ch;margin-top:22px;opacity:.9}
.pagehead{padding:170px 0 80px;background:var(--char);color:var(--cream)}.pagehead h1{font-size:clamp(2.6rem,6vw,4.6rem)}.pagehead p{margin-top:18px;max-width:60ch;font-size:1.15rem;opacity:.85}
/* trust */
.trust{background:var(--char2);color:var(--cream);padding:46px 0}
.trust .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
.trust strong{display:block;font:600 2.6rem var(--serif);color:var(--amber)}.trust span{font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;opacity:.8}
/* grids */
.grid{display:grid;gap:26px}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
.card{background:#fff;border-radius:3px;overflow:hidden;box-shadow:0 10px 30px rgba(60,40,20,.08)}
.card .body{padding:24px}.card h3{margin-bottom:8px}.card p{font-size:.97rem;opacity:.85}
.card img.cimg{aspect-ratio:4/3;width:100%;object-fit:cover}
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.split img,.split video{width:100%;border-radius:3px;box-shadow:0 20px 50px rgba(0,0,0,.25)}
.vid{aspect-ratio:9/16;object-fit:cover;background:#000;max-height:640px;margin:0 auto}
/* gallery */
.masonry{columns:3;column-gap:18px}.masonry figure{break-inside:avoid;margin-bottom:18px;position:relative;overflow:hidden;border-radius:3px;cursor:zoom-in}
.masonry img{width:100%;transition:transform .5s}.masonry figure:hover img{transform:scale(1.04)}
.masonry figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 16px 14px;background:linear-gradient(transparent,rgba(0,0,0,.75));color:#fff;font-size:.88rem;opacity:0;transition:.3s}
.masonry figure:hover figcaption{opacity:1}
.filters{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-bottom:36px}
.filters button{padding:10px 22px;border:1.5px solid var(--ink);background:none;font:500 .88rem var(--sans);cursor:pointer;border-radius:30px}
.filters button.on,.filters button:hover{background:var(--ink);color:var(--cream)}
.enq{display:block;margin:6px 0 0;font-size:.82rem;color:var(--orange);text-decoration:none;font-weight:600}
.item{background:#fff;border-radius:3px;overflow:hidden;box-shadow:0 8px 24px rgba(60,40,20,.08)}
.item img{aspect-ratio:1;width:100%;object-fit:cover;cursor:zoom-in}.item .b{padding:16px 18px}.item h3{font-size:1.25rem}.item small{color:var(--mute)}
/* process */
.steps{display:flex;align-items:flex-start;justify-content:center;gap:0;flex-wrap:wrap}
.step{width:230px;text-align:center}.step .thumb{position:relative;width:190px;height:190px;margin:0 auto 18px;border-radius:50%;overflow:hidden;border:3px solid var(--amber)}
.step .thumb img{width:100%;height:100%;object-fit:cover}.step .thumb::after{content:"";position:absolute;inset:0;background:rgba(22,18,14,.35)}
.step .num{position:absolute;z-index:2;inset:0;display:grid;place-items:center;font:600 3.2rem var(--serif);color:#fff}
.step h3{font-size:1.35rem;margin-bottom:6px}.step p{font-size:.92rem;opacity:.8}
.arrow{align-self:flex-start;margin-top:78px;color:var(--amber);font-size:2rem;width:50px;text-align:center}
/* quote */
.quote{font:italic 500 clamp(1.7rem,3.4vw,2.6rem)/1.3 var(--serif);max-width:26ch}
.tl{border-left:2px solid var(--amber);padding-left:30px;margin-left:8px}.tl div{margin-bottom:34px;position:relative}
.tl div::before{content:"";position:absolute;left:-39px;top:6px;width:14px;height:14px;background:var(--orange);transform:rotate(45deg)}
.tl b{font:600 2rem var(--serif);color:var(--orange);display:block}
/* forms */
form{display:grid;gap:16px}form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
label{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;display:block;margin-bottom:6px}
input,select,textarea{width:100%;padding:14px 16px;border:1.5px solid #cfc2a8;background:#fffdf8;font:400 1rem var(--sans);border-radius:2px;color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--amber);border-color:var(--amber)}
textarea{min-height:120px;resize:vertical}.hp{position:absolute;left:-9999px}
.formbox{background:#fff;padding:40px;border-radius:3px;box-shadow:0 20px 50px rgba(60,40,20,.12)}
.msg{padding:16px;border-radius:2px;display:none;font-size:.95rem}.msg.ok{display:block;background:#e6f3dd}.msg.err{display:block;background:#fbe6d6}
/* faq */
details{border-bottom:1px solid #d8cbb2;padding:20px 0}details summary{cursor:pointer;font:600 1.3rem var(--serif);list-style:none;display:flex;justify-content:space-between;gap:20px}
details summary::after{content:"+";color:var(--orange);font-size:1.6rem;line-height:1}details[open] summary::after{content:"–"}
details p,details ul{margin-top:12px;opacity:.9;max-width:78ch}details ul{padding-left:22px}
.faqnav{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:40px}.faqnav a{padding:8px 18px;border:1.5px solid var(--ink);border-radius:30px;text-decoration:none;font-size:.85rem}.faqnav a:hover{background:var(--ink);color:var(--cream)}
.faqgroup h2{font-size:2.2rem;margin:56px 0 8px;scroll-margin-top:100px}
/* ig */
.ig{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.ig img{aspect-ratio:1;object-fit:cover;width:100%}
/* footer */
footer{background:var(--char);color:#cfc3ae;padding:70px 0 30px;font-size:.93rem}
footer .grid{grid-template-columns:2fr 1fr 1fr 1.4fr}footer h4{color:var(--amber);font:600 .78rem var(--sans);letter-spacing:.2em;text-transform:uppercase;margin-bottom:14px}
footer a{text-decoration:none;display:block;margin-bottom:8px}footer a:hover{color:var(--amber)}.copy{border-top:1px solid var(--line);margin-top:40px;padding-top:22px;font-size:.82rem;opacity:.7}
.wa{position:fixed;right:20px;bottom:20px;z-index:60;background:#25d366;color:#fff;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;box-shadow:0 8px 24px rgba(0,0,0,.35);text-decoration:none;font-size:1.7rem}
.lb{position:fixed;inset:0;background:rgba(10,8,6,.94);z-index:100;display:none;place-items:center;padding:30px;cursor:zoom-out}.lb.on{display:grid}.lb img{max-height:90vh;max-width:92vw;object-fit:contain}
.note{background:var(--cream2);padding:14px 18px;border-left:3px solid var(--orange);font-size:.92rem;margin-top:22px}
.reveal{opacity:0;transform:translateY(24px);transition:.8s}.reveal.in{opacity:1;transform:none}
@media(max-width:900px){.g3,.g4,.split,footer .grid{grid-template-columns:1fr 1fr}.split{gap:36px}.masonry{columns:2}.trust .wrap{grid-template-columns:1fr 1fr}.ig{grid-template-columns:repeat(3,1fr)}.arrow{display:none}.step{margin-bottom:24px}}
@media(max-width:640px){body{font-size:16px}section{padding:64px 0}.g2,.g3,.g4,.split,footer .grid,form .row{grid-template-columns:1fr}.masonry{columns:1}.nav ul{position:fixed;inset:74px 0 auto 0;background:var(--char);flex-direction:column;padding:24px;gap:18px;display:none}.nav ul.open{display:flex}.burger{display:block}.formbox{padding:24px}.hero{min-height:88vh}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}
.masonry .item{box-shadow:none;background:none;margin-bottom:18px;break-inside:avoid;cursor:zoom-in}.masonry .item img{aspect-ratio:auto;width:100%;border-radius:3px}
.nav ul{gap:20px}.nav ul a{font-size:.86rem}.logo{display:flex;align-items:center}
@media(max-width:1000px) and (min-width:641px){.nav ul{gap:12px}.nav ul a{font-size:.78rem}}
.masonry .item img{object-fit:initial;height:auto}.logo b{margin-left:.28em}
