:root{
  --bg:#0E0C0B; --bg-2:#151211; --panel:#1A1615; --panel-2:#211C1A;
  --text:#F2EAE0; --text-2:#BFB3A6; --muted:#968A7E; --line:#2E2724;
  --gold:#C9A36B; --gold-l:#DDBD8A; --clay:#C98663; --err:#E8806A;
  --serif:"Fraunces", "Cormorant Garamond", Georgia, serif;
  --sans:"Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
  --r:18px; --max:1160px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.5;z-index:-1;
  background-image:radial-gradient(rgba(242,234,224,.025) 1px,transparent 1px);background-size:4px 4px}
img{max-width:100%} a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.08;letter-spacing:-.015em;margin:0 0 .5em}
h1{font-size:clamp(2.5rem,5.6vw,4.6rem)} h2{font-size:clamp(2rem,3.8vw,3.1rem)} h3{font-size:1.35rem}
h1 em,h2 em{font-style:italic;font-weight:300;color:var(--gold);display:block}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:var(--panel);padding:8px;z-index:99}
.eyebrow{font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:600;margin:0 0 1rem}
.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--gold);margin-right:6px;vertical-align:1px;box-shadow:0 0 0 4px rgba(201,163,107,.18)}

/* nav */
.nav{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:14px clamp(18px,4vw,48px);background:rgba(14,12,11,.82);backdrop-filter:blur(10px);border-bottom:1px solid transparent;transition:border-color .2s}
.nav.scrolled{border-color:var(--line)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--serif);font-size:1.3rem}
.brand em{font-style:italic;color:var(--gold)} .haus{font-family:var(--sans);font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;margin-left:4px;color:var(--gold);font-weight:600}
nav{display:flex;align-items:center;gap:28px} nav a{text-decoration:none;font-size:.94rem;color:var(--text-2)} nav a:hover{color:var(--text)}
.menu-btn{display:none;background:none;border:1px solid var(--line);border-radius:99px;padding:7px 16px;font:500 .9rem var(--sans);color:var(--text)}

.btn{display:inline-block;background:var(--gold);color:#120F0D!important;border:0;border-radius:99px;padding:15px 28px;font:600 .95rem var(--sans);
  text-decoration:none;cursor:pointer;transition:transform .15s,background .2s}
.btn:hover{background:var(--gold-l);transform:translateY(-1px)} .btn-sm{padding:10px 20px;font-size:.88rem}
.btn[disabled]{opacity:.6;cursor:wait}
.link-arrow{background:none;border:0;padding:0;cursor:pointer;font:600 .95rem var(--sans);color:var(--text);text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:2px}
.link-arrow span{display:inline-block;transition:transform .2s} .link-arrow:hover span{transform:translateX(4px)}

/* hero */
.hero{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(24px,5vw,72px);align-items:center;padding:clamp(40px,7vw,96px) clamp(18px,4vw,48px) 40px}
.lede{font-size:1.12rem;color:var(--text-2);max-width:36em}
.cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:26px;margin-top:2rem}
.hero-art .arch{width:100%;max-width:440px;display:block;margin:auto;filter:drop-shadow(0 30px 50px rgba(0,0,0,.55))}

.story{max-width:880px;margin:30px auto 0;padding:48px clamp(18px,4vw,48px);text-align:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.story p{font-family:var(--serif);font-size:clamp(1.35rem,2.4vw,1.85rem);font-weight:300;line-height:1.4;margin:0}
.kicker{display:block;font-family:var(--sans);font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:14px}

/* sections */
.section{max-width:var(--max);margin:0 auto;padding:clamp(64px,9vw,120px) clamp(18px,4vw,48px)}
.section-head{max-width:620px} .section-head p{color:var(--text-2)}
.band{max-width:none;background:var(--bg-2);border:1px solid var(--line);border-radius:clamp(0px,3vw,40px);margin:0 clamp(0px,2vw,24px)}
.band>*{max-width:var(--max);margin-left:auto;margin-right:auto}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:48px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:28px 24px;transition:transform .2s,box-shadow .2s}
.card:hover{transform:translateY(-3px);box-shadow:0 18px 30px -18px rgba(0,0,0,.8);border-color:#4A3D33}
.card p{color:var(--text-2);font-size:.95rem;margin:0}
.ico{width:40px;height:40px;fill:none;stroke:var(--gold);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;margin-bottom:18px}
.tag{font:600 .62rem var(--sans);letter-spacing:.12em;background:rgba(201,163,107,.14);color:var(--gold-l);padding:3px 8px;border-radius:99px;vertical-align:4px}
.note{font-size:.9rem;color:var(--text-2);margin-top:30px;padding-left:14px;border-left:2px solid var(--gold)}

.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,80px);align-items:start}
.who{list-style:none;margin:0;padding:0;display:grid;gap:0}
.who li{font-family:var(--serif);font-size:1.4rem;padding:16px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:14px}
.who li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--clay);flex:none}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:56px}
.step{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:26px}
.step b{font-family:var(--serif);font-weight:300;font-style:italic;font-size:2.2rem;color:var(--gold);display:block;line-height:1;margin-bottom:12px}
.step p{margin:0;color:var(--text-2);font-size:.95rem}
.loc{align-items:center} .map-art svg{width:100%;display:block;border-radius:var(--r);box-shadow:0 24px 40px -28px rgba(0,0,0,.9);border:1px solid var(--line)}
.loc .link-arrow{display:inline-block;margin-top:10px}

/* form */
.inquire .split{grid-template-columns:.9fr 1.1fr}
.form,.success{background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:clamp(22px,3.5vw,40px)}
.row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{margin-bottom:16px;display:flex;flex-direction:column}
label{font-weight:600;font-size:.86rem;margin-bottom:6px} .opt{font-weight:400;color:var(--muted);font-size:.78rem;margin-left:4px}
input,select,textarea{font:inherit;color:var(--text);background:var(--bg);color-scheme:dark;border:1px solid var(--line);border-radius:12px;padding:12px 14px;transition:border-color .15s,box-shadow .15s;width:100%}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 4px rgba(201,163,107,.18)}
.field.err input,.field.err select{border-color:var(--err)} .field small{color:var(--err);font-size:.8rem;min-height:0;margin-top:4px}
.hp{position:absolute;left:-9999px}
.form-msg{margin:14px 0 0;font-size:.9rem;color:var(--err)}
.success{text-align:center;padding:56px 32px} .success svg{width:72px;margin-bottom:12px}
.success p{color:var(--text-2)}

.footer{border-top:1px solid var(--line);margin-top:40px;padding:40px clamp(18px,4vw,48px);text-align:center;color:var(--text-2)}
.footer p{margin:6px 0} .foot-brand{display:flex;justify-content:center;align-items:center;gap:8px;font-family:var(--serif);font-size:1.25rem;color:var(--text);margin-bottom:8px}
.muted{color:var(--muted)} .small{font-size:.82rem}

.reveal{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s ease}.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}html{scroll-behavior:auto}}

/* studio tiers, contact, privacy */
.tiers{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:48px}
.tier{background:linear-gradient(160deg,var(--panel-2),var(--panel));border:1px solid #3A2F28;border-radius:var(--r);padding:30px 28px}
.tier-label{font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:600;margin:0 0 10px}
.price{font-family:var(--serif);font-size:clamp(2.4rem,4vw,3.2rem);line-height:1;margin:0 0 12px;color:var(--text)}
.price span{font-family:var(--sans);font-size:.95rem;color:var(--muted);margin-left:6px}
.tier p:last-child{margin:0;color:var(--text-2)}
.tiers+.cards{margin-top:18px}
.contact{margin-top:28px;padding:22px 24px;border:1px solid var(--line);border-radius:var(--r);background:var(--panel)}
.contact .kicker{margin-bottom:6px}
.contact-name{font-family:var(--serif);font-size:1.4rem;margin:0}
.contact-phone{display:inline-block;margin-top:4px;font-weight:600;font-size:1.1rem;color:var(--gold-l);text-decoration:none;border-bottom:1px solid var(--gold)}
.form-fine{font-size:.8rem;color:var(--muted);margin:12px 0 0} .form-fine a,.privacy a,.footer a{color:var(--gold-l)}
.privacy{padding-top:0;max-width:820px} .privacy p:not(.eyebrow){color:var(--text-2);font-size:.92rem;border-top:1px solid var(--line);padding-top:20px}
.privacy strong{color:var(--text)}
@media (max-width:960px){.cards{grid-template-columns:1fr 1fr}}
@media (max-width:820px){
  .hero,.split,.inquire .split{grid-template-columns:1fr}
  .hero-art{order:-1}.hero-art .arch{max-width:210px}
  .steps{grid-template-columns:1fr}
  .menu-btn{display:block}
  nav{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--bg);border-bottom:1px solid var(--line);padding:8px 20px 20px;display:none}
  nav.open{display:flex} nav a{padding:12px 0;border-bottom:1px solid var(--line)} nav .btn{margin-top:14px;text-align:center;border:0}
}
@media (max-width:560px){.tiers,.cards,.row{grid-template-columns:1fr}.who li{font-size:1.2rem}.brand{font-size:1.05rem}.haus{font-size:.6rem;letter-spacing:.2em}}
