:root{--bg:#f4ede1;--ink:#1d170f;--ink-hero:#f3e6cc;--accent:#d4af6a;--accent-text:#8a6630;--on-accent:#1d170f;--accent-shadow:rgba(212,175,106,.5);--line:rgba(29,23,15,.15);--nav-bg:rgba(26,21,13,.88);--radius-btn:6px;
--font-display:'Archivo Black','Arial Black',sans-serif;--font-body:'Archivo',system-ui,sans-serif;--bronze:#b8894a;--gold:#d4af6a;--granite:#2a2216;--granite2:#17120b;--sand:#e8dcc4}
.nav{color:#f3e6cc}
.brand{display:flex;align-items:center;text-decoration:none}
.brand img{height:46px;width:auto}
h1,h2,h3{text-transform:uppercase;letter-spacing:-.005em}
.gran{background-color:#2a2216;background-image:radial-gradient(circle at 20% 30%,rgba(212,175,106,.35) 0 1.5px,transparent 2px),radial-gradient(circle at 70% 60%,rgba(0,0,0,.6) 0 2px,transparent 2.5px),radial-gradient(circle at 40% 80%,rgba(232,220,196,.25) 0 1px,transparent 1.5px),radial-gradient(circle at 85% 15%,rgba(184,137,74,.4) 0 2.5px,transparent 3px);background-size:23px 29px,31px 37px,17px 19px,43px 47px}
/* hero */
.hero{color:var(--ink-hero);background:radial-gradient(900px 600px at 72% 40%,rgba(212,175,106,.28),transparent 60%),linear-gradient(180deg,#17120b,#2a2216)}
.hero .speck{inset:-10%;opacity:.55}
.hero .vein{width:160vw;height:40vh;left:-30vw;top:30%;background:radial-gradient(ellipse at 50% 50%,rgba(212,175,106,.22),transparent 60%);transform-origin:50% 50%;rotate:-14deg;filter:blur(10px)}
.hero .giant{font:400 clamp(180px,32vw,520px)/1 var(--font-display);color:transparent;-webkit-text-stroke:1px rgba(212,175,106,.14);right:-4vw;bottom:-8vw}
.hero-content{max-width:620px;padding:60px 0}
.hero .eyebrow{color:var(--gold)}
.hero h1{font-size:clamp(40px,6.4vw,88px);line-height:.98;margin-bottom:22px}
.hero h1 em{font-style:normal;background:linear-gradient(100deg,#f6e7c8,#d4af6a 40%,#b8894a 70%,#f1deb8);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero .lede{margin-bottom:32px}
.cta-row{display:flex;flex-wrap:wrap;gap:14px}
.btn{background:linear-gradient(135deg,#f1deb8,#d4af6a 45%,#b8894a)}
.btn.ghost{background:transparent}
.hero .fallback{position:absolute;right:5vw;top:50%;width:min(40vw,520px);transform:translateY(-50%)}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.chip{font-size:13px;font-weight:700;padding:8px 12px;border-radius:4px;border:1px solid rgba(212,175,106,.5);color:#f3e6cc;text-transform:uppercase;letter-spacing:.08em}
@media (max-width:760px){.hero{align-items:flex-end}.hero-content{padding:44vh 0 40px}.hero h1{font-size:clamp(36px,10.6vw,56px)}.hero .fallback{right:auto;left:50%;top:18vh;width:80vw;transform:translateX(-50%)}}
/* band */
.band{background:linear-gradient(90deg,#b8894a,#d4af6a,#b8894a);color:#1d170f;padding:18px 0;font:400 clamp(18px,2.6vw,26px)/1 var(--font-display);text-transform:uppercase}
.band .dot{opacity:.45}
/* materials */
.mat{background:var(--bg)}
.mat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:56px}
.slab{border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 40px 60px -40px rgba(29,23,15,.6);border:1px solid var(--line)}
.slab .face{height:220px;position:relative;transform:translateZ(30px)}
.slab .face::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(255,255,255,.35),transparent 40%,transparent 60%,rgba(255,255,255,.12))}
.slab .edge{height:16px;background:linear-gradient(#0003,#0006)}
.slab .body{padding:26px}
.slab h3{font-size:24px}
.slab p{margin:0 0 10px;opacity:.82;font-size:16px}
.slab .brands{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text)}
.f-lam{background:repeating-linear-gradient(95deg,#efe5d2 0 3px,#e8dcc4 3px 7px,#f3ead9 7px 9px)}
.f-ss{background:radial-gradient(circle at 30% 40%,#fff,#eef0f2 50%,#dfe3e7)}
.f-gr{background-color:#3a2e1c}
@media (max-width:900px){.mat-grid{grid-template-columns:1fr}}
/* story */
.story{background:var(--granite);color:#f3e6cc}
.story .eyebrow{color:var(--gold)}
.story .big{font-size:clamp(34px,5.6vw,78px);line-height:1;max-width:16ch;transform:perspective(1000px) rotateX(calc((1 - var(--p,1))*28deg));transform-origin:50% 100%}
.story .big span{color:var(--gold)}
.tl{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:56px;position:relative}
.tl::before{content:"";position:absolute;left:0;right:0;top:28px;height:2px;background:linear-gradient(90deg,var(--gold),transparent)}
.tl .it{position:relative;padding-top:60px}
.tl .it::before{content:"";position:absolute;left:0;top:18px;width:22px;height:22px;border-radius:4px;background:var(--gold);transform:rotate(45deg)}
.tl .yr{font:400 40px/1 var(--font-display);color:var(--gold);display:block;margin-bottom:8px}
.tl p{opacity:.8;margin:0}
@media (max-width:860px){.tl{grid-template-columns:1fr}.tl::before{display:none}}
/* process */
.proc{background:var(--sand)}
.pr-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:50px}
.step{background:#fff;border-radius:8px;padding:28px;border-top:6px solid var(--bronze);box-shadow:0 30px 50px -40px rgba(29,23,15,.6)}
.step .n{font:400 46px/1 var(--font-display);color:var(--bronze)}
.step h3{font-size:20px;margin:14px 0 8px}
.step p{margin:0;opacity:.8;font-size:15.5px}
@media (max-width:900px){.pr-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.pr-grid{grid-template-columns:1fr}}
/* reviews */
.rev{background:var(--bg)}
.r-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:44px}
.r-grid .ph{background:#fff;min-height:150px}
@media (max-width:900px){.r-grid{grid-template-columns:1fr}}
/* visit */
.visit{background:var(--bg)}
.v-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:22px;margin-top:40px}
.panel{background:#fff;border-radius:8px;padding:30px;border:1px solid var(--line)}
.panel h3{font-size:22px}
.panel a.big{font:400 clamp(24px,3vw,34px)/1.1 var(--font-display);text-decoration:none;color:var(--accent-text)}
.note{font-size:13px;opacity:.65;margin-top:14px}
.mapcard{border-radius:8px;overflow:hidden;position:relative;min-height:320px;color:#fff;display:flex;align-items:flex-end;padding:28px;text-decoration:none}
.mapcard .pin{position:absolute;left:50%;top:42%;width:54px;height:54px;transform:translate(-50%,-50%);animation:bob 2.4s ease-in-out infinite}
@keyframes bob{50%{transform:translate(-50%,-62%)}}
.mapcard span{position:relative;font-weight:800;background:var(--gold);color:#1d170f;padding:12px 18px;border-radius:6px}
@media (max-width:960px){.v-grid{grid-template-columns:1fr}}
.foot{background:var(--granite2);color:#e8dcc4}
