﻿
  :root{
    --bg:#0b0a09; --bg2:#12100d; --surface:#191510; --line:#2f2820;
    --gold:#c9a227; --gold2:#e3c766; --ink:#ece5d8; --muted:#8f8578;
    --serif:"Iowan Old Style",Georgia,"Times New Roman",serif;
    --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
  .wrap{max-width:1240px;margin:0 auto;padding:0 28px}
  h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.14;letter-spacing:-.01em}
  a{color:inherit;text-decoration:none}
  .eyebrow{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:600}

  /* ---- alpha gate ---- */
  #gate{position:fixed;inset:0;z-index:9999;background:#0b0a09;display:flex;align-items:center;justify-content:center;padding:24px}
  #gate .box{max-width:460px;width:100%;text-align:center}
  #gate img{height:64px;width:auto;margin:0 auto 30px;display:block;opacity:.9}
  #gate h1{font-family:var(--serif);font-size:1.9rem;margin-bottom:12px}
  #gate p{color:var(--muted);font-size:15.5px;margin-bottom:28px}
  #gate .row{display:flex;gap:10px}
  #gate input{flex:1;background:#141109;border:1px solid var(--line);color:var(--ink);padding:14px 16px;font-size:16px;font-family:var(--sans);border-radius:2px;letter-spacing:.06em}
  #gate input:focus{outline:none;border-color:var(--gold)}
  #gate button{background:var(--gold);color:#17120a;border:none;padding:14px 26px;font-size:15px;font-weight:700;border-radius:2px;cursor:pointer;font-family:var(--sans)}
  #gate button:hover{background:var(--gold2)}
  #gate .err{color:#d9683f;font-size:14px;margin-top:16px;min-height:20px}
  #gate .foot{margin-top:34px;font-size:12.5px;color:#6b6357}
  body.locked{overflow:hidden}
  /* ---- community ---- */
  .comm{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
  .comm .c{border:1px solid var(--line);background:var(--surface);padding:32px 30px;transition:.2s;position:relative}
  .comm .c:hover{border-color:var(--gold)}
  .comm .c h3{font-size:1.3rem;margin:0 0 12px}
  .comm .c p{color:var(--muted);font-size:15.5px}
  .soon{display:inline-block;font-family:var(--sans);font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);border:1px solid #5a4718;background:#241c0c;border-radius:2px;padding:3px 8px;margin-bottom:14px}
  .notify{margin-top:34px;border:1px solid var(--line);background:var(--bg2);padding:32px 34px;text-align:center}
  .notify p{color:var(--muted);font-size:15.5px;margin-bottom:20px}
  .notify form{display:flex;gap:10px;max-width:440px;margin:0 auto}
  .notify input{flex:1;background:var(--bg);border:1px solid var(--line);color:var(--ink);padding:13px 15px;font-size:15px;font-family:var(--sans);border-radius:2px}
  .notify input:focus{outline:none;border-color:var(--gold)}
  .notify small{display:block;margin-top:14px;font-size:12.5px;color:#6b6357}
  @media(max-width:800px){ .comm{grid-template-columns:1fr} .notify form{flex-direction:column} }
  .tbd{display:inline-block;background:#3a2d10;color:var(--gold);border:1px solid #5a4718;border-radius:3px;font-size:11px;font-weight:700;letter-spacing:.08em;padding:1px 6px;margin-left:6px;vertical-align:middle;font-family:var(--sans)}
  .wip{background:var(--gold);color:#17120a;text-align:center;padding:11px 20px;font-size:13.5px;font-weight:700;letter-spacing:.04em;position:relative;z-index:60}
  .wip span{font-weight:500;opacity:.8}
  nav{position:sticky;top:0;z-index:50;background:rgba(11,10,9,.88);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
  .nav-in{display:flex;align-items:center;justify-content:space-between;height:72px}
  .brand{display:flex;align-items:center;gap:14px}
  .brand img{height:44px;width:auto;display:block}
  .brand span{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);border-left:1px solid var(--line);padding-left:14px;line-height:1.5}
  .nav-links{display:flex;gap:32px;align-items:center;font-size:14.5px;color:var(--muted)}
  .nav-links a:hover{color:var(--ink)}
  .btn{display:inline-block;padding:13px 26px;border-radius:2px;font-size:14.5px;font-weight:600;letter-spacing:.03em;transition:.18s;border:1px solid transparent;cursor:pointer}
  .btn-gold{background:var(--gold);color:#17120a}
  .btn-gold:hover{background:var(--gold2)}
  .btn-ghost{border-color:var(--line);color:var(--ink)}
  .btn-ghost:hover{border-color:var(--gold);color:var(--gold)}
  .nav-links .btn{padding:11px 22px}

  header{position:relative;padding:112px 0 96px;overflow:hidden;border-bottom:1px solid var(--line);min-height:620px;display:flex;align-items:center}
  .hero-bg{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center 38%}
  .hero-bg::after{content:"";position:absolute;inset:0;background:
    linear-gradient(100deg,rgba(9,8,7,.97) 0%,rgba(9,8,7,.93) 32%,rgba(9,8,7,.62) 58%,rgba(9,8,7,.28) 100%),
    linear-gradient(to bottom,rgba(11,10,9,.85) 0,transparent 22%,transparent 76%,var(--bg) 100%)}
  .hero{position:relative;z-index:1;max-width:720px}
  .hero h1{font-size:clamp(2.6rem,6.2vw,4.5rem);margin:20px 0 24px}
  .hero h1 em{font-style:normal;color:var(--gold)}
  .hero .lede{font-size:20.5px;color:#c9bdab;max-width:680px;margin-bottom:14px}
  .hero .sub{font-size:16.5px;color:var(--muted);max-width:640px;margin-bottom:38px}
  .cta{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
  .hero-note{font-size:13.5px;color:var(--muted);margin-top:22px}

  .cred{border-bottom:1px solid var(--line);background:var(--bg2);padding:34px 0}
  .cred-label{text-align:center;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:24px}
  .logos{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap}
  .logos figure{background:#fff;border-radius:4px;padding:14px 18px;height:74px;display:flex;align-items:center;justify-content:center;min-width:132px}
  .logos img{max-height:46px;max-width:150px;width:auto;display:block}

  section{padding:104px 0;border-bottom:1px solid var(--line)}
  .sec-head{max-width:760px;margin-bottom:52px}
  .sec-head h2{font-size:clamp(2rem,3.8vw,2.9rem);margin:14px 0 18px}
  .sec-head p{color:var(--muted);font-size:17.5px}

  .feature{display:grid;grid-template-columns:1.35fr 1fr;gap:0;border:1px solid var(--line);margin-bottom:22px;background:var(--surface)}
  .feature img{width:100%;height:100%;object-fit:contain;background:#0a0908;padding:22px;display:block;min-height:340px;max-height:440px}
  .feature .txt{padding:44px 42px;display:flex;flex-direction:column;justify-content:center}
  .feature h3{font-size:1.7rem;margin:12px 0 14px}
  .feature p{color:var(--muted);font-size:15.5px}

  .gal{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
  .gal figure{position:relative;overflow:hidden;border:1px solid var(--line);background:#000}
  .gal img{width:100%;aspect-ratio:1;object-fit:cover;display:block;transition:.3s}
  .gal figure:hover img{transform:scale(1.05)}
  .gal figcaption{position:absolute;left:0;right:0;bottom:0;padding:26px 14px 11px;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:#e8e0d2;background:linear-gradient(transparent,rgba(0,0,0,.85))}
  .gal .wide{grid-column:span 2}
  .gal .wide img{aspect-ratio:2/1}

  .tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-bottom:26px}
  .tier{border:1px solid var(--line);background:var(--surface);padding:38px 32px;transition:.2s;display:flex;flex-direction:column}
  .tier:hover{border-color:var(--gold)}
  .tier h3{font-size:1.05rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-family:var(--sans);font-weight:700;margin-bottom:16px}
  .tier p{color:var(--muted);font-size:15.5px;flex:1}
  .tier .price{font-family:var(--serif);font-size:1.5rem;color:var(--ink);margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
  .industry{border:1px solid var(--gold);background:linear-gradient(180deg,rgba(201,162,39,.07),transparent);padding:38px 36px;display:flex;gap:36px;align-items:center;flex-wrap:wrap}
  .industry div{flex:1;min-width:280px}
  .industry h3{font-size:1.5rem;margin-bottom:10px}
  .industry p{color:var(--muted);font-size:16px}

  .ad{background:var(--bg2)}
  .ad-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
  .spec{list-style:none}
  .spec li{display:flex;gap:20px;padding:19px 0;border-bottom:1px solid var(--line);font-size:16px}
  .spec li:last-child{border-bottom:none}
  .spec b{min-width:140px;color:var(--gold);font-weight:600;font-size:13.5px;letter-spacing:.05em;text-transform:uppercase;padding-top:2px}
  .spec span{color:#c3b8a7}
  .quote{border-left:2px solid var(--gold);padding:6px 0 6px 28px;margin-top:36px;font-family:var(--serif);font-size:1.42rem;line-height:1.45}
  .quote cite{display:block;font-family:var(--sans);font-size:13.5px;font-style:normal;color:var(--muted);margin-top:16px}

  .final{text-align:center;border-bottom:none}
  .final h2{font-size:clamp(2.1rem,4.4vw,3.2rem);max-width:780px;margin:16px auto 20px}
  .final p{color:var(--muted);max-width:580px;margin:0 auto 38px;font-size:17.5px}

  footer{border-top:1px solid var(--line);padding:46px 0;background:var(--bg2)}
  .foot{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;font-size:14px;color:var(--muted);align-items:start}
  .foot h4{font-family:var(--sans);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:16px}
  .foot ul{list-style:none}
  .foot li{margin-bottom:10px}
  .foot a:hover{color:var(--gold)}
  .foot-brand img{height:38px;width:auto;display:block;margin-bottom:16px;opacity:.85}
  .foot-tag{font-family:var(--serif);font-size:16.5px;color:var(--ink);margin-bottom:10px}
  .foot-base{border-top:1px solid var(--line);margin-top:42px;padding-top:26px;font-size:13px;color:var(--muted)}
  @media(max-width:820px){ .foot{grid-template-columns:1fr 1fr;gap:32px} }

  @media(max-width:1000px){
    .gal{grid-template-columns:repeat(3,1fr)}
    .tiers{grid-template-columns:1fr}
    .ad-grid{grid-template-columns:1fr;gap:44px}
    .feature{grid-template-columns:1fr}
  }
  @media(max-width:640px){
    body{font-size:16px}
    .nav-links a:not(.btn){display:none}
    section{padding:72px 0}
    header{padding:80px 0 68px}
    .gal{grid-template-columns:repeat(2,1fr)}
    .gal .wide{grid-column:span 2}
    .spec li{flex-direction:column;gap:6px}
    .feature .txt{padding:32px 26px}
  }

/* ================= multi-page additions ================= */
.nav-links a.active{color:var(--gold)}
.nav-links a:not(.btn){padding:6px 0;border-bottom:1px solid transparent}
.nav-links a.active:not(.btn){border-bottom-color:var(--gold)}

/* page header */
.phead{padding:72px 0 40px;border-bottom:1px solid var(--line);background:var(--bg2)}
.phead h1{font-size:clamp(2.2rem,4.6vw,3.4rem);margin:14px 0 16px}
.phead p{color:var(--muted);font-size:18px;max-width:720px}

/* sub-tabs — deliberately NOT top-right; they sit under the page title */
.subtabs{display:flex;gap:10px;flex-wrap:wrap;margin-top:32px}
.subtabs button{background:transparent;border:1px solid var(--line);color:var(--muted);padding:10px 20px;border-radius:2px;font-size:14px;font-family:var(--sans);font-weight:600;cursor:pointer;transition:.18s;letter-spacing:.02em}
.subtabs button:hover{color:var(--ink);border-color:#4a3f31}
.subtabs button.on{background:var(--gold);color:#17120a;border-color:var(--gold)}
.pane{display:none}
.pane.on{display:block}

/* socials */
.socials{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.socials a,.socials span{display:block;border:1px solid var(--line);background:var(--surface);padding:18px 20px;transition:.18s}
.socials a:hover{border-color:var(--gold)}
.socials b{display:block;font-family:var(--sans);font-size:14.5px;font-weight:600;color:var(--ink);margin-bottom:4px}
.socials small{font-size:12.5px;color:var(--muted)}
.socials .none{opacity:.55}
@media(max-width:900px){ .socials{grid-template-columns:repeat(2,1fr)} }

/* rate detail */
.ratecard{border:1px solid var(--line);background:var(--surface);padding:0;overflow:hidden;margin-bottom:22px}
.ratecard .top{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:28px 32px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.ratecard h3{font-family:var(--sans);font-size:1rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:700}
.ratecard .amt{font-family:var(--serif);font-size:1.9rem;color:var(--ink)}
.ratecard .body{padding:28px 32px;display:grid;grid-template-columns:1.1fr 1fr;gap:32px}
.ratecard ul{list-style:none;margin-top:10px}
.ratecard li{padding:7px 0;color:#c3b8a7;font-size:15.5px;padding-left:20px;position:relative}
.ratecard li:before{content:"—";position:absolute;left:0;color:var(--gold)}
.ratecard img{width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid var(--line)}
@media(max-width:800px){ .ratecard .body{grid-template-columns:1fr} }

/* ---- cover grid (product covers, used on Work > Tile systems) ---- */
.covers{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.cover{position:relative;border:1px solid var(--line);overflow:hidden;background:#000;transition:.25s;margin:0}
.cover:hover{border-color:var(--gold);transform:translateY(-4px)}
.cover img{width:100%;display:block;aspect-ratio:1;object-fit:cover}
.cover figcaption{padding:16px 18px;font-size:13.5px;color:var(--muted);border-top:1px solid var(--line)}
.cover figcaption b{display:block;color:var(--ink);font-size:14.5px;font-weight:600;margin-bottom:3px}
@media(max-width:960px){ .covers{grid-template-columns:repeat(2,1fr)} }
@media(max-width:560px){ .covers{grid-template-columns:1fr} }

/* ---- booking picker ---- */
.daygrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:10px;margin-bottom:8px}
.day{background:var(--surface);border:1px solid var(--line);color:var(--ink);padding:14px 8px;border-radius:2px;cursor:pointer;text-align:center;font-family:var(--sans);transition:.16s}
.day:hover{border-color:#5a4718}
.day.on{background:var(--gold);color:#17120a;border-color:var(--gold)}
.day b{display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;opacity:.75;font-weight:700}
.day span{display:block;font-family:var(--serif);font-size:1.5rem;line-height:1.2;margin:2px 0}
.day small{display:block;font-size:11px;opacity:.7}
.slotgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}
.slot{background:var(--surface);border:1px solid var(--line);color:var(--ink);padding:13px 10px;border-radius:2px;cursor:pointer;font-size:14.5px;font-family:var(--sans);font-weight:600;transition:.16s}
.slot:hover{border-color:#5a4718}
.slot.on{background:var(--gold);color:#17120a;border-color:var(--gold)}
.bookform{display:grid;gap:16px;max-width:640px}
.bookform label{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:7px}
.bookform input,.bookform textarea,.bookform select{width:100%;background:var(--bg);border:1px solid var(--line);color:var(--ink);padding:13px 15px;font-size:15.5px;font-family:var(--sans);border-radius:2px}
.bookform input:focus,.bookform textarea:focus,.bookform select:focus{outline:none;border-color:var(--gold)}
.bookform textarea{min-height:120px;resize:vertical}
.summary{background:#241c0c;border:1px solid #5a4718;padding:18px 22px;margin:26px 0;display:none}
.summary b{color:var(--gold);display:block;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:6px}
.summary p{font-family:var(--serif);font-size:1.3rem;color:var(--ink)}
.formerr{display:none;color:#d9683f;font-size:14.5px}
.steplab{font-family:var(--sans);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:700;margin:34px 0 14px}
.steplab:first-of-type{margin-top:0}
