:root{
  --dark:#26251d; --gold:#B9924A; --gold-deep:#8f7136; --cream:#EEEBE2; --white:#FAF8F3;
  --text:#2a2724; --muted:#726b5c; --line:#ddd6c4; --tint:#E4DFD0;
  --sans:'Inter',-apple-system,Segoe UI,sans-serif; --serif:'Cormorant Garamond','Playfair Display',Georgia,serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--text);background:var(--white);line-height:1.7;font-weight:300;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
::selection{background:var(--gold);color:#fff}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px}
.section{padding:110px 0}
.eyebrow{color:var(--gold-deep);font-weight:600;text-transform:uppercase;letter-spacing:.34em;font-size:.68rem}
h2.title{font-family:var(--serif);font-weight:500;font-size:2.6rem;letter-spacing:.01em;margin-top:16px;line-height:1.15}
.center{text-align:center}
.btn{display:inline-block;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.22em;
  padding:17px 36px;border:1px solid var(--dark);background:var(--dark);color:#fff;transition:.25s;cursor:pointer}
.btn:hover{background:transparent;color:var(--dark)}
.btn-light{background:transparent;color:#fff;border-color:#fff}
.btn-light:hover{background:#fff;color:var(--dark)}
.btn-gold{background:var(--gold);border-color:var(--gold);color:#fff}
.btn-gold:hover{background:transparent;color:var(--gold)}
.link-more{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.18em;border-bottom:1px solid var(--gold-deep);color:var(--gold-deep);padding-bottom:3px}
.link-more:hover{color:var(--dark);border-color:var(--dark)}

/* header */
header{position:fixed;inset:0 0 auto 0;z-index:60;display:flex;align-items:center;justify-content:space-between;
  padding:26px 40px;transition:.35s;background:transparent}
header.scrolled,header.solid{background:rgba(250,248,243,.94);box-shadow:0 1px 0 rgba(0,0,0,.06);backdrop-filter:blur(6px)}
header.scrolled .brand,header.solid .brand{color:var(--dark)}
header.scrolled nav a,header.solid nav a{color:var(--dark)}
header.scrolled .nav-toggle,header.solid .nav-toggle{color:var(--dark)}
.brand{color:#fff;font-family:var(--serif);font-weight:600;letter-spacing:.12em;font-size:1.5rem;transition:.3s}
nav{display:flex;gap:36px;align-items:center}
nav a{color:#fff;font-size:.72rem;font-weight:500;text-transform:uppercase;letter-spacing:.16em;opacity:.92;transition:.3s}
nav a:hover{opacity:1;color:var(--gold)}
nav a.nav-cta{border:1px solid currentColor;padding:10px 20px;letter-spacing:.16em}
nav a.nav-cta:hover{background:var(--dark);color:#fff;border-color:var(--dark)}
nav a.current{color:var(--gold);opacity:1}
.nav-toggle{display:none;background:none;border:none;color:#fff;font-size:1.6rem;cursor:pointer}

/* hero: single premium image, minimal overlay */
.hero{position:relative;height:100vh;min-height:640px;overflow:hidden;background:#111}
.hero img{width:100%;height:100%;object-fit:cover;object-position:center}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,14,11,.58) 0%,rgba(15,14,11,.08) 20%,rgba(15,14,11,.05) 45%,rgba(15,14,11,.75) 100%)}
.hero-in{position:absolute;left:0;right:0;bottom:64px;z-index:2;text-align:center;padding:0 24px}
.hero-in .eyebrow{color:var(--gold)}
.hero-in h1{font-family:var(--serif);font-weight:500;font-size:3.4rem;line-height:1.12;margin:16px 0 20px;color:#fff}
.hero-in p{font-weight:300;font-size:1.05rem;color:#eee9dd;max-width:520px;margin:0 auto 30px}
.hero-ctas{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* page header (inner pages) */
.pagehead{background:var(--dark);color:#fff;padding:190px 0 80px;text-align:center}
.pagehead .eyebrow{color:var(--gold)}
.pagehead h1{font-family:var(--serif);font-weight:500;font-size:2.8rem;margin:16px 0 14px}
.pagehead p{color:#cfc9b8;max-width:560px;margin:0 auto;font-weight:300}

/* trust strip */
.trust{background:var(--cream);border-bottom:1px solid var(--line)}
.trust .wrap{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;padding-top:28px;padding-bottom:28px;text-align:center}
.trust .t{padding:6px 24px;font-size:.76rem;text-transform:uppercase;letter-spacing:.14em;color:var(--dark);font-weight:600}
.trust .t span{color:var(--gold-deep);margin-right:8px}

/* intro */
.intro{max-width:680px;margin:0 auto;text-align:center}
.intro p{color:var(--muted);font-size:1.1rem;margin-top:22px;font-style:italic;font-family:var(--serif)}

/* editorial split rows: image one side, text the other */
.split{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center}
.split.rev .split-media{order:2}
.split.rev .split-copy{order:1}
.split-media{aspect-ratio:4/5;overflow:hidden}
.split-media img{width:100%;height:100%;object-fit:cover}
.split-copy .eyebrow{display:block;margin-bottom:6px}
.split-copy h3{font-family:var(--serif);font-weight:500;font-size:2.1rem;margin:6px 0 20px;line-height:1.2}
.split-copy p{color:var(--muted);font-size:1rem;margin-bottom:22px}
.split-copy ul{list-style:none;margin-bottom:28px}
.split-copy li{font-family:var(--serif);font-style:italic;font-size:1.08rem;color:#4a4436;padding:7px 0;border-bottom:1px solid var(--line)}
.split-copy li:first-child{border-top:1px solid var(--line)}
.cat-row{padding:70px 0}
.cat-row:not(:last-child){border-bottom:1px solid var(--line)}
@media(max-width:860px){.split,.split.rev .split-media,.split.rev .split-copy{grid-template-columns:1fr;order:initial}.split{gap:30px}}

/* factory / own production proof, full-bleed style */
.factory{position:relative;margin-top:0}
.factory img{width:100%;aspect-ratio:21/9;object-fit:cover}
.factory-cap{margin-top:16px;text-align:center;color:var(--muted);font-size:.85rem;font-style:italic;font-family:var(--serif)}

/* gallery mosaic */
.gal{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:130px;gap:12px;margin-top:52px}
.gal .g{overflow:hidden}
.gal .g img{width:100%;height:100%;object-fit:cover;transition:.6s}
.gal .g:hover img{transform:scale(1.06)}
.gal .g1{grid-column:span 3;grid-row:span 3}
.gal .g2{grid-column:span 3;grid-row:span 2}
.gal .g3{grid-column:span 3;grid-row:span 2}
.gal .g4{grid-column:span 2;grid-row:span 2}
.gal .g5{grid-column:span 2;grid-row:span 2}
.gal .g6{grid-column:span 2;grid-row:span 2}
@media(max-width:860px){.gal{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px}.gal .g1,.gal .g2,.gal .g3,.gal .g4,.gal .g5,.gal .g6{grid-column:span 1;grid-row:span 2}}

/* full portfolio grid + filters */
.filters{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:44px}
.filter-btn{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.16em;
  padding:11px 22px;border:1px solid var(--line);background:#fff;color:var(--muted);cursor:pointer;transition:.2s}
.filter-btn:hover{border-color:var(--gold-deep);color:var(--dark)}
.filter-btn.active{background:var(--dark);border-color:var(--dark);color:#fff}
.pgal{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px}
.pgal .pg{aspect-ratio:4/3;overflow:hidden;transition:opacity .3s,transform .3s}
.pgal .pg img{width:100%;height:100%;object-fit:cover;transition:.6s}
.pgal .pg:hover img{transform:scale(1.06)}
.pgal .pg.hide{display:none}
@media(max-width:760px){.pgal{grid-template-columns:1fr 1fr}}

/* testimonials */
.tst{background:var(--tint);text-align:center}
.tst .quote{max-width:740px;margin:36px auto 0;font-family:var(--serif);font-size:1.55rem;font-weight:500;font-style:italic;line-height:1.55;color:#453f30}
.tst .who{margin-top:24px;font-size:.72rem;text-transform:uppercase;letter-spacing:.2em;color:var(--gold-deep)}
.tdots{display:flex;gap:9px;justify-content:center;margin-top:28px}
.tdots button{width:8px;height:8px;border-radius:50%;border:1px solid var(--gold-deep);background:transparent;cursor:pointer}
.tdots button.on{background:var(--gold-deep)}

/* why */
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:34px;margin-top:52px}
.why .it{text-align:center}
.why .it .num{font-family:var(--serif);font-size:1.7rem;color:var(--gold-deep);font-style:italic}
.why .it h4{font-weight:600;margin:12px 0 8px;font-size:1rem}
.why .it p{color:var(--muted);font-size:.9rem;font-weight:300}
@media(max-width:760px){.why-grid{grid-template-columns:1fr 1fr}}

/* faq */
.faq{max-width:800px;margin:50px auto 0}
.qa{border-bottom:1px solid var(--line)}
.qa button{width:100%;text-align:left;background:none;border:none;padding:22px 0;font-family:var(--sans);font-size:1.02rem;
  font-weight:400;color:var(--text);cursor:pointer;display:flex;justify-content:space-between;gap:16px;align-items:center}
.qa .a{max-height:0;overflow:hidden;transition:max-height .3s ease;color:var(--muted);font-weight:300}
.qa .a p{padding:0 0 22px}
.qa.open .a{max-height:240px}
.qa .ic{color:var(--gold-deep);font-size:1.3rem;transition:.3s}
.qa.open .ic{transform:rotate(45deg)}

/* contact / booking */
.book{background:var(--dark);color:#fff}
.book .title{color:#fff}.book .eyebrow{color:var(--gold)}
.bform{max-width:560px;margin:36px auto 0;display:grid;gap:14px}
.bform input,.bform select{width:100%;padding:16px 18px;background:#38361f;border:1px solid #55522f;color:#fff;font-family:var(--sans);font-size:.95rem}
.bform input::placeholder{color:#c4bfa4}
.bform select{color:#efece1}
.bform .btn{border-color:var(--gold);background:var(--gold);color:#fff;margin-top:6px}
.bform .btn:hover{background:transparent;color:var(--gold)}
.book .alt{text-align:center;margin-top:20px;font-size:.9rem;color:#cfcab4}
.book .alt a{color:var(--gold)}

/* footer */
footer{background:#1b1a12;color:#b6b09a;padding:64px 0 0}
.fgrid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:44px}
.fcol h5{color:#fff;font-size:.72rem;text-transform:uppercase;letter-spacing:.2em;margin-bottom:18px}
.fcol p,.fcol a{display:block;color:#b6b09a;font-weight:300;font-size:.9rem;padding:3px 0}
.fcol a:hover{color:var(--gold)}
.fbrand{font-family:var(--serif);color:#fff;font-weight:600;letter-spacing:.1em;margin-bottom:16px;font-size:1.4rem}
.copy{border-top:1px solid #322f1f;margin-top:44px;padding:22px 0;color:#867f65;font-size:.76rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}

@media(max-width:900px){.fgrid{grid-template-columns:1fr}}
@media(max-width:600px){
  header{padding:18px 22px}
  nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:rgba(38,37,29,.98);padding:6px 0}
  nav.open{display:flex} nav.open a{color:#fff;padding:15px 26px;border-top:1px solid rgba(255,255,255,.08)}
  nav a.nav-cta{border:none}
  .nav-toggle{display:block}
  .hero-in h1{font-size:2.2rem} .section{padding:70px 0} h2.title{font-size:1.9rem}
  .cat-row{padding:50px 0}
  .trust .wrap{gap:10px}
  .pagehead{padding:150px 0 56px}.pagehead h1{font-size:2rem}
}
