
:root{--bg:#0e0c0a;--s1:#17130f;--s2:#201a14;--ink:#f4efe6;--soft:#cfc6b8;--gold:#c9a45c;--gold-ink:#0e0c0a;
--d:"Cormorant",Georgia,serif;--t:"Montserrat",system-ui,sans-serif;--m:24px}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:#050403;color:var(--ink);font:400 16px/1.6 var(--t)}
img{display:block;max-width:100%;height:auto}a{color:inherit}p{margin:0}
.app{max-width:480px;margin:0 auto;background:var(--bg);overflow:hidden;padding-bottom:86px;min-height:100svh;position:relative}
h1,h2,h3{font-family:var(--d);font-weight:500;margin:0;letter-spacing:-.01em}
.bar{position:absolute;z-index:4;top:0;left:0;right:0;padding:18px var(--m)}
.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none}
.logo{flex:none}
.bw b{display:block;font:600 26px/1 var(--d);letter-spacing:.02em;color:var(--ink)}
.bw small{display:block;font:500 13px/1.2 var(--t);color:var(--gold);margin-top:3px}
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;isolation:isolate;overflow:hidden;background:var(--bg)}
.wm{position:absolute;z-index:-1;right:-14%;top:4%;font:500 560px/.8 var(--d);color:transparent;-webkit-text-stroke:1.2px rgba(201,164,92,.22);pointer-events:none;animation:wmf 2.2s cubic-bezier(.2,.7,.2,1) both}
@keyframes wmf{from{opacity:0;transform:translateY(30px) scale(.96)}to{opacity:1;transform:none}}
.hero-in{padding:104px var(--m) 34px;width:100%}
.hero h1{font-size:46px;line-height:1;font-weight:500;max-width:9em;animation:up 1s .1s cubic-bezier(.2,.7,.2,1) both}
.intro{margin-top:16px;color:var(--soft);font-size:15.5px;max-width:32ch;animation:up 1s .2s cubic-bezier(.2,.7,.2,1) both}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.specs{list-style:none;padding:0;margin:24px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:8px;animation:up 1s .3s cubic-bezier(.2,.7,.2,1) both}
.specs li{display:flex;align-items:center;gap:10px;padding:14px 12px;background:var(--s1);border-radius:16px;font-weight:600;font-size:14.5px;line-height:1.2}
.specs svg{flex:none;color:var(--gold)}
.perks{list-style:none;padding:0;margin:22px 0 22px;display:grid;gap:10px;animation:up 1s .4s cubic-bezier(.2,.7,.2,1) both}
.perks li{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:500}
.perks b{color:var(--gold);font-weight:600}.ck{flex:none}
.hero .wa{animation:up 1s .5s cubic-bezier(.2,.7,.2,1) both}
@keyframes up{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.wa{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:58px;padding:0 20px;background:var(--gold);color:var(--gold-ink);text-decoration:none;font:600 16px/1.1 var(--t);border-radius:999px;transition:transform .2s ease,background-color .2s ease}
.wa:hover{background:#d6b571}.wa:active{transform:scale(.97)}.wa svg{flex:none}
.marq{overflow:hidden;padding:26px 0;background:var(--s1)}
.track{display:flex;gap:22px;width:max-content;align-items:center;animation:mq 38s linear infinite}
.track span{font:italic 500 34px/1 var(--d);white-space:nowrap}.track i{font-style:normal;color:var(--gold);font-size:16px}
@keyframes mq{to{transform:translateX(-50%)}}
.promise{padding:112px var(--m) 0}
.promise h2,.cats h2,.guide h2,.studio h2{font-size:38px;line-height:1.02}
.promise>p{font:500 22px/1.4 var(--d);color:var(--soft);margin-top:20px}
.trio{margin:44px 0 0;display:grid;gap:0}
.trio div{padding:22px 0 22px 22px;position:relative}
.trio div::before{content:"";position:absolute;left:0;top:30px;width:7px;height:7px;border-radius:50%;background:var(--gold)}
.trio dt{font:600 26px/1.1 var(--d);color:var(--gold)}.trio dd{margin:6px 0 0;color:var(--soft)}
.pics{margin:112px 0 0;padding:0 var(--m);display:grid;gap:36px}.wide{margin:0}.side{margin:0 0 0 22%}.side img{width:100%;aspect-ratio:7/8.6;object-fit:cover;border-radius:18px}.side figcaption{font:italic 500 19px/1.35 var(--d);color:var(--soft);margin-top:12px}
.wide img{width:100%;aspect-ratio:9/11;object-fit:cover;border-radius:220px 220px 0 0}
.wide figcaption{font:italic 500 20px/1.35 var(--d);color:var(--soft);margin-top:14px}
.cats{padding:112px var(--m) 0}
.cats ul{list-style:none;padding:0;margin:34px 0 0;display:grid;gap:8px}
.cats li{padding:20px 22px;background:var(--s1);border-radius:18px;transition:background-color .2s}
.cats li:nth-child(2n){background:var(--s2)}
.cats h3{font-size:28px;line-height:1.1}.cats p{color:var(--soft);margin-top:6px;font-size:15.5px}
.guide{padding:112px var(--m) 0}
.line{list-style:none;padding:0;margin:36px 0 0;position:relative}
.line::before{content:"";position:absolute;left:8px;top:10px;bottom:10px;width:2px;background:var(--s2)}
.line li{position:relative;padding:0 0 32px 40px}
.line li::before{content:"";position:absolute;left:1px;top:8px;width:16px;height:16px;border-radius:50%;background:var(--bg);box-shadow:inset 0 0 0 4px var(--gold)}
.line h3{font-size:28px;line-height:1.1}.line p{color:var(--soft);margin-top:6px}
.offer{margin:96px var(--m) 0;padding:44px 26px 30px;background:var(--gold);color:var(--gold-ink);border-radius:28px;text-align:center}
.offer .big{font:500 128px/.85 var(--d);letter-spacing:-.04em}
.offer h2{font-size:34px;line-height:1.05;margin-top:6px}
.offer p:not(.big){margin:14px auto 26px;max-width:30ch;font-weight:500}
.offer .wa{background:var(--gold-ink);color:var(--ink)}.offer .wa:hover{background:#2a231b}
.studio{padding:112px var(--m) 72px}
.studio address{font:500 26px/1.3 var(--d);font-style:normal;margin-top:22px;color:var(--ink)}
.mail{display:inline-block;margin-top:18px;font:600 17px/1.2 var(--t);color:var(--gold);padding:8px 0;overflow-wrap:anywhere}
.foot{background:var(--s1);padding:44px var(--m) 32px;display:grid;gap:22px}
.foot nav{display:flex;gap:26px;flex-wrap:wrap}.foot nav a{padding:6px 0;font-weight:500}
.foot p{font-size:13px;color:var(--soft)}
.dock{position:fixed;z-index:9;bottom:12px;left:50%;transform:translateX(-50%);width:min(calc(100% - 24px),456px);display:flex;align-items:center;justify-content:center;gap:10px;min-height:58px;background:var(--gold);color:var(--gold-ink);text-decoration:none;font:600 16px/1 var(--t);border-radius:999px;box-shadow:0 12px 30px rgba(0,0,0,.45);transition:opacity .3s,transform .3s}
.dock.hide{opacity:0;pointer-events:none;transform:translate(-50%,20px)}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.pol{padding:110px var(--m) 60px}.pol h1{font-size:44px;line-height:1}.pol .lead{color:var(--soft);margin-top:14px}
.pol section{margin-top:38px;padding:24px 22px;background:var(--s1);border-radius:18px}.pol h2{font-size:28px;line-height:1.1;color:var(--gold)}.pol p{margin-top:10px;color:var(--soft)}.pol p a{color:var(--gold)}
.back{display:inline-block;margin-top:36px;padding:10px 0;color:var(--gold);font-weight:600}

.js .rv{opacity:0;transform:translateY(22px);transition:opacity .6s cubic-bezier(.2,.7,.2,1),transform .6s cubic-bezier(.2,.7,.2,1)}
.js .rv.in{opacity:1;transform:none}
.js .rv.d1{transition-delay:.07s}.js .rv.d2{transition-delay:.14s}.js .rv.d3{transition-delay:.21s}
@media (prefers-reduced-motion:reduce){.js .rv{opacity:1;transform:none;transition:none}*{animation:none!important;scroll-behavior:auto!important}}

@media (prefers-reduced-motion:reduce){.track{animation:none}}
