:root{--char:#22201e;--wood:#8a5a3b;--wood2:#c79a6b;--cream:#f6efe5;--teal:#1f8a8f;--teal2:#14666a;--ink:#2a2622}
*{box-sizing:border-box}body{margin:0;font:17px/1.6 Georgia,"Iowan Old Style",serif;color:var(--ink);background:var(--cream)}
h1,h2,h3{font-family:"Helvetica Neue",Arial,sans-serif;line-height:1.2}img{max-width:100%;height:auto;display:block;border-radius:6px}
a{color:var(--teal2)}a:focus-visible,button:focus-visible,input:focus,select:focus,textarea:focus{outline:3px solid var(--teal);outline-offset:2px}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:9}
.draftbar{background:#b8860b;color:#111;text-align:center;font:600 14px sans-serif;padding:4px}
header.site{background:var(--char);display:flex;align-items:center;justify-content:space-between;padding:10px 4vw;position:sticky;top:0;z-index:5}
.brand img{width:150px;height:auto;border-radius:3px}nav ul{list-style:none;display:flex;gap:18px;margin:0;padding:0}
nav a{color:var(--cream);text-decoration:none;font:15px sans-serif}nav a[aria-current]{color:var(--wood2);border-bottom:2px solid var(--teal)}
.navtoggle{display:none;background:var(--teal);color:#fff;border:0;padding:8px 14px;border-radius:4px;font:15px sans-serif}
.hero,.phead,.band{background-size:cover;background-position:center;color:#fff}
.hero>div,.phead>div,.band>div{background:linear-gradient(90deg,rgba(20,18,16,.88),rgba(20,18,16,.4));padding:12vh 6vw}
.hero h1{font-size:clamp(2rem,5vw,3.4rem);max-width:16ch;margin-top:0}.hero p{max-width:55ch}
.phead>div{padding:8vh 6vw}.band>div{padding:10vh 6vw}
.btn{display:inline-block;background:var(--teal2);color:#fff;padding:12px 22px;border-radius:4px;text-decoration:none;font:600 16px sans-serif;border:0;cursor:pointer;margin:3px 0}
.btn:hover{background:#0f5054}.btn.alt{background:var(--wood)}.btn.sm{padding:7px 12px;font-size:14px}
.wrap{max-width:1180px;margin:0 auto;padding:48px 5vw}.center{text-align:center}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px}
.card{background:#fff;padding:14px;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.08)}.card[hidden]{display:none}.price{font-weight:700;color:var(--wood)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.trust{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;text-align:center}
.cats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.cat{text-decoration:none;color:var(--ink);text-align:center;font:600 15px sans-serif}
.filters{margin:28px 0;display:flex;flex-wrap:wrap;gap:8px}.filters button{border:2px solid var(--wood);background:#fff;padding:7px 14px;border-radius:20px;cursor:pointer;font:15px sans-serif}
.filters button[aria-pressed=true]{background:var(--wood);color:#fff}
.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.swatches{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}figcaption{font-size:14px}
.form{display:grid;grid-template-columns:1fr 1fr;gap:14px;background:#fff;padding:24px;border-radius:8px}
.form label{display:flex;flex-direction:column;font:15px sans-serif}.form .full,.form button,.form .small{grid-column:1/-1}
input,select,textarea{font:16px sans-serif;padding:10px;border:1px solid #8a7766;border-radius:4px;margin-top:4px}.hp{display:none}
.note{background:#fff4d6;border-left:4px solid #b8860b;padding:10px 14px}.small{font-size:14px}
details{background:#fff;padding:12px 16px;border-radius:6px;margin-bottom:10px}summary{font-weight:700;cursor:pointer}
.specs{display:grid;grid-template-columns:auto 1fr;gap:4px 16px}dt{font-weight:700}
footer.site{background:var(--char);color:var(--cream);padding:40px 5vw 20px}footer a{color:var(--wood2)}
footer .cols{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;max-width:1180px;margin:auto}
@media(max-width:820px){.navtoggle{display:block}nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--char)}nav.open{display:block}
nav ul{flex-direction:column;padding:12px 6vw}.split,.form{grid-template-columns:1fr}.trust,footer .cols{grid-template-columns:1fr 1fr}
.cats{grid-template-columns:repeat(3,1fr)}.steps{grid-template-columns:1fr 1fr}.swatches{grid-template-columns:repeat(3,1fr)}}
/* v2 eye candy */
.vhero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;overflow:hidden;background:#111 url(../images/home-hero.jpg) center/cover;color:#fff}
.vbg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vhero-in{position:relative;padding:0 6vw;max-width:900px;text-shadow:0 2px 12px rgba(0,0,0,.6)}
.vhero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,13,12,.85),rgba(15,13,12,.2))}.vhero-in{z-index:1}
.vhero h1{font-size:clamp(2.4rem,6.5vw,5rem);margin:.2em 0}.eyebrow{font:600 14px sans-serif;letter-spacing:.15em;text-transform:uppercase;color:var(--wood2)}
.lede{font-size:1.15rem;max-width:55ch}.btn.big{padding:16px 30px;font-size:18px;border-radius:40px;box-shadow:0 6px 20px rgba(0,0,0,.3);transition:transform .2s}
.btn.big:hover{transform:translateY(-2px)}
.stores{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:28px}
.store{background:var(--char);color:var(--cream);border-radius:14px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.store-img{overflow:hidden}.store-img img{border-radius:0;transition:transform .6s;aspect-ratio:16/10;object-fit:cover;width:100%}.store:hover .store-img img{transform:scale(1.06)}
.store-body{padding:22px}.store-body img{width:160px;margin-bottom:8px}
.masonry{columns:3 280px;column-gap:18px}.tile{break-inside:avoid;margin:0 0 18px;padding:0;overflow:hidden}
.tile[hidden]{display:none}.tile figcaption{padding:12px 14px;display:flex;flex-direction:column;gap:6px}
.lb{display:block;position:relative;padding:0;border:0;background:none;cursor:zoom-in;overflow:hidden;width:100%}
.lb img{border-radius:8px 8px 0 0;transition:transform .5s;width:100%}.lb:hover img,.lb:focus-visible img{transform:scale(1.08)}
.play{position:absolute;inset:0;margin:auto;width:70px;height:70px;border-radius:50%;background:rgba(31,138,143,.9);color:#fff;font-size:30px;display:grid;place-items:center}
.lightbox{position:fixed;inset:0;background:rgba(10,9,8,.94);z-index:50;display:flex;align-items:center;justify-content:center}
.lightbox[hidden]{display:none}.lb-stage img,.lb-stage video{max-width:88vw;max-height:80vh;border-radius:6px}
.lightbox button{position:absolute;background:none;border:0;color:#fff;font-size:48px;cursor:pointer;padding:10px}
.lb-close{top:10px;right:20px}.lb-prev{left:10px}.lb-next{right:10px}.lb-cap{position:absolute;bottom:14px;color:#fff;font:16px sans-serif}
video.inline{width:100%;border-radius:10px;background:#000}video.tall{max-height:80vh;width:auto;margin:auto;display:block}
.reveal{opacity:0;transform:translateY(30px);transition:opacity .7s,transform .7s}.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.lb img,.store-img img{transition:none}.vbg{display:none}}
.no-js .reveal{opacity:1;transform:none}
/* ===== v1.2 luxury restyle: near-black, brushed bronze, LED-blue glow ===== */
@font-face{font-family:Cinzel;font-weight:500 700;font-display:swap;src:url(../fonts/8vIJ7ww63mVu7gt79mT7.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-weight:400;font-display:swap;src:url(../fonts/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYqXtK.woff2) format("woff2")}
:root{--char:#0b0a09;--bg:#0e0d0c;--panel:#16130f;--bronze:#c9a36a;--bronze2:#8c6a3f;--gold-grad:linear-gradient(135deg,#f0d49c 0%,#b98d52 40%,#e6c78f 60%,#8c6a3f 100%);--led:#2fa8ff;--led2:#00e0ff;--cream:#ece3d4;--ink:#e6ddcf;--teal:#2fa8ff;--teal2:#1877c9;--wood:#8c6a3f;--wood2:#d4b07a}
body{background:radial-gradient(1200px 600px at 80% -10%,rgba(47,168,255,.10),transparent 60%),radial-gradient(900px 500px at 0% 30%,rgba(201,163,106,.08),transparent 60%),var(--bg);color:var(--ink);font-family:"Cormorant Garamond",Georgia,serif;font-size:19px}
h1,h2,h3,.eyebrow,nav a,.btn,.filters button{font-family:Cinzel,"Trajan Pro",Georgia,serif;letter-spacing:.06em}
h1,h2{background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:700}
h3{color:var(--bronze)}h2{position:relative;padding-bottom:.4em}h2::after{content:"";position:absolute;left:0;bottom:0;width:80px;height:1px;background:var(--gold-grad)}
.center h2::after,.center::after{left:50%}
a{color:var(--wood2)}a:hover{color:#fff;text-shadow:0 0 12px var(--led)}
.glow{background:none;-webkit-text-fill-color:#bfe8ff;color:#bfe8ff;text-shadow:0 0 18px var(--led),0 0 42px rgba(0,224,255,.6)}
.draftbar{background:#3a2c14;color:#f0d49c}
header.site{background:rgba(8,7,6,.85);backdrop-filter:blur(8px);border-bottom:1px solid rgba(201,163,106,.35)}
nav a{color:var(--cream);font-size:13px}nav a[aria-current]{color:var(--bronze);border-bottom-color:var(--led)}
.btn{background:transparent;color:#f0d49c;border:1px solid var(--bronze);border-radius:2px;transition:box-shadow .3s,color .3s,border-color .3s,transform .2s}
.btn:hover,.btn:focus-visible{background:rgba(47,168,255,.08);color:#fff;border-color:var(--led);box-shadow:0 0 18px rgba(47,168,255,.55),inset 0 0 12px rgba(47,168,255,.25)}
.btn.big{border-radius:2px;background:var(--gold-grad);color:#14100b;border:0}.btn.big:hover{color:#06121c;box-shadow:0 0 28px rgba(47,168,255,.8)}
.btn.alt,.btn.big.alt{background:transparent;color:#f0d49c;border:1px solid var(--bronze)}.btn.ghost{background:transparent;color:var(--bronze);border:1px dashed var(--bronze2);box-shadow:none;cursor:default}
.vhero{background-color:#000}.vhero::after{background:radial-gradient(ellipse at 70% 60%,rgba(47,168,255,.18),transparent 55%),linear-gradient(90deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.55) 45%,rgba(0,0,0,.15) 100%)}
.phead>div,.band>div{background:linear-gradient(90deg,rgba(0,0,0,.9),rgba(0,0,0,.35)),radial-gradient(ellipse at 80% 50%,rgba(47,168,255,.15),transparent 60%)}
.phead,.band{border-top:1px solid rgba(201,163,106,.3);border-bottom:1px solid rgba(201,163,106,.3)}
.card,.tile,.store,details,.form{background:var(--panel);color:var(--ink);border:1px solid rgba(201,163,106,.22);box-shadow:0 10px 40px rgba(0,0,0,.6);transition:box-shadow .35s,border-color .35s,transform .35s}
.tile:hover,.store:hover,.card:hover{border-color:rgba(47,168,255,.7);box-shadow:0 0 0 1px rgba(47,168,255,.4),0 0 32px rgba(47,168,255,.35),0 18px 50px rgba(0,0,0,.7);transform:translateY(-3px)}
.store{border-radius:4px}.store-body img{width:200px;border-radius:2px}.store.sister{border-style:dashed}.tag{color:var(--bronze);font-size:15px}
.price{color:#f0d49c;font-family:Cinzel,serif;font-size:15px}.price .was{text-decoration:line-through;color:#8c7b63;margin-right:6px}.price small{color:#a99a85;font-family:"Cormorant Garamond",serif}
.filters button{background:transparent;color:var(--cream);border:1px solid var(--bronze2);font-size:13px}.filters button[aria-pressed=true]{background:var(--gold-grad);color:#14100b;border-color:transparent}
.filters button:hover{box-shadow:0 0 14px rgba(47,168,255,.5)}
.play{background:rgba(47,168,255,.85);box-shadow:0 0 30px var(--led)}
.note{background:rgba(201,163,106,.08);border-left-color:var(--bronze);color:#d8cbb6}
input,select,textarea{background:#0b0a09;color:var(--ink);border:1px solid var(--bronze2)}
footer.site{background:#050404;border-top:1px solid rgba(201,163,106,.35)}footer a{color:var(--bronze)}
.trust strong{color:var(--bronze);font-family:Cinzel,serif}
.lightbox{background:rgba(0,0,0,.95)}
@media(prefers-reduced-motion:reduce){.tile:hover,.store:hover,.card:hover{transform:none}}
/* ===== v1.3 cinematic layer ===== */
.vhero{background:#000;isolation:isolate}
.vhero::before{content:"";position:absolute;inset:-2%;background:url(../images/home-hero.jpg) 60% 50%/cover no-repeat;z-index:-1;animation:kb 28s ease-in-out infinite alternate;filter:saturate(1.15) contrast(1.05)}
.vhero::after{z-index:0}
@keyframes kb{from{transform:scale(1) translate(0,0)}to{transform:scale(1.14) translate(-2%,-1.5%)}}
.vhero h1{animation:rise 1.4s cubic-bezier(.2,.7,.2,1) both}.vhero .lede,.vhero .ctas{animation:rise 1.4s .25s cubic-bezier(.2,.7,.2,1) both}
@keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.glow{animation:pulse 4s ease-in-out infinite}@keyframes pulse{50%{text-shadow:0 0 28px var(--led),0 0 70px rgba(0,224,255,.8)}}
/* epoxy line: draws itself on scroll */
.epoxy-line{height:2px;max-width:1180px;margin:0 auto;background:linear-gradient(90deg,transparent,var(--led2) 30%,#fff 50%,var(--led) 70%,transparent);box-shadow:0 0 14px var(--led),0 0 40px rgba(0,224,255,.5);transform:scaleX(0);opacity:1;transition:transform 1.6s cubic-bezier(.2,.7,.2,1)}
.epoxy-line.in{transform:scaleX(1)}
.reveal h2::after,h2.reveal::after{width:0;transition:width 1.2s .3s}.reveal.in h2::after,h2.reveal.in::after{width:80px;background:linear-gradient(90deg,var(--bronze),var(--led));box-shadow:0 0 10px var(--led)}
/* dramatic gallery spotlight */
.tile{position:relative}.tile::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .3s;background:radial-gradient(260px circle at var(--mx,50%) var(--my,40%),rgba(120,200,255,.22),transparent 60%)}
.tile:hover::after{opacity:1}
@media(hover:hover){.masonry:hover .tile:not(:hover){filter:brightness(.45) saturate(.6)}.tile{transition:filter .4s,box-shadow .35s,border-color .35s,transform .35s}}
/* finishes switcher */
.finishes{display:grid;grid-template-columns:1.1fr 1fr;gap:44px;align-items:center}
.fin-stage{border:1px solid rgba(201,163,106,.35);box-shadow:0 0 60px rgba(47,168,255,.15),0 30px 80px rgba(0,0,0,.8);overflow:hidden;border-radius:4px}
.fin-stage img{width:100%;border-radius:0;transition:opacity .35s}.fin-stage img.swap{opacity:0}
.fin-btns{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}.fin-btns button{background:none;border:1px solid var(--bronze2);padding:6px;color:var(--cream);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;font:12px Cinzel,serif;transition:box-shadow .3s,border-color .3s}
.fin-btns img{width:72px;height:72px;object-fit:cover;border-radius:2px}.fin-btns button[aria-pressed=true],.fin-btns button:hover{border-color:var(--led);box-shadow:0 0 16px rgba(47,168,255,.6)}
.fin-now{color:var(--bronze);font-family:Cinzel,serif}
@media(max-width:820px){.finishes{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.vhero::before,.glow,.vhero h1,.vhero .lede,.vhero .ctas{animation:none}.epoxy-line{transform:none;transition:none}.reveal h2::after,h2.reveal::after{width:80px;transition:none}}
/* family-of-sites hub */
.family{text-align:center}.family .center{text-align:center;margin-left:auto;margin-right:auto}
.fam-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:28px;margin:34px 0;text-align:left}
.fam{display:flex;flex-direction:column;border:1px solid rgba(201,163,106,.35);border-radius:4px;overflow:hidden;color:var(--cream);text-decoration:none;background:rgba(255,255,255,.02);transition:box-shadow .35s,border-color .35s,transform .35s}
.fam:hover,.fam:focus-visible{border-color:var(--led);box-shadow:0 0 40px rgba(47,168,255,.35);transform:translateY(-4px)}
.fam-img img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:0;display:block}
.fam-body{display:flex;flex-direction:column;gap:8px;padding:20px}.fam-body strong{font:600 1.4rem Cinzel,serif;color:var(--bronze)}
.fam-role{font:12px Cinzel,serif;letter-spacing:.15em;text-transform:uppercase;color:var(--led)}.fam-url{font-family:Cinzel,serif;color:var(--cream);opacity:.85}
.fam.soon .fam-url{color:var(--bronze)}.fam-social{display:flex;gap:12px;justify-content:center;align-items:center;flex-wrap:wrap;font-family:Cinzel,serif}
