:root{
  --night:#15130f; --ivory:#eee8dd; --stone:#ece7de; --ink:#1d1a16;
  --gold:#a3823f; --muted-d:rgba(238,232,221,.62); --muted-l:rgba(29,26,22,.62);
  --bg:var(--night); --fg:var(--ivory);
  --serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --sans:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  --dock:64px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:auto}
body{background:var(--night);color:var(--ivory);font:400 16px/1.6 var(--sans);-webkit-font-smoothing:antialiased;padding-bottom:var(--dock)}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.01em;line-height:1.05}
.lbl{font:500 11px/1.3 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}

/* top bar */
.top{position:fixed;inset:0 0 auto 0;z-index:40;display:flex;align-items:center;gap:14px;padding:16px 6vw;mix-blend-mode:normal;color:var(--fg);transition:color .6s}
.mark{font:500 20px/1 var(--serif);letter-spacing:.32em;text-decoration:none}
.top-label{font:500 10px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.top-tel{margin-left:auto;font:500 13px/1 var(--sans);letter-spacing:.04em;text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:3px}
body.on-light .top{color:var(--ink)}

/* ---------- STORY ---------- */
.story{position:relative;height:900vh;background:var(--bg);color:var(--fg)}
.stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:var(--bg);color:var(--fg)}
.giant{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:300 28vw/1 var(--serif);letter-spacing:.06em;color:rgba(238,232,221,.07);white-space:nowrap;pointer-events:none;will-change:transform,opacity}
.frame{position:absolute;left:6vw;right:6vw;top:calc(11svh + 10px);height:46svh;overflow:hidden;background:#0c0b09;will-change:transform}
.shot{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;will-change:opacity,transform}
.shot[data-i="0"]{opacity:1}
.shot.fill{opacity:1;clip-path:inset(100% 0 0 0)}
.light{position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(120% 90% at 18% -5%,rgba(255,236,205,.16),transparent 55%),linear-gradient(180deg,transparent 55%,rgba(10,9,7,.38))}
.chap{position:absolute;left:6vw;right:6vw;bottom:calc(var(--dock) + 4svh);opacity:0;transform:translateY(14px);will-change:opacity,transform;pointer-events:none}
.chap[data-c="0"]{opacity:1;transform:none}
.chap h1,.chap h2{font-size:clamp(38px,10.5vw,92px);margin:10px 0 12px}
.chap h1 span{display:block;letter-spacing:.12em}
.chap .copy{max-width:34ch;color:var(--muted-d);font-size:15.5px}
body.on-light .chap .copy{color:var(--muted-l)}
.hint{margin-top:18px;font:500 10px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--muted-d)}
.hint::after{content:"";display:block;width:1px;height:28px;margin-top:10px;background:var(--gold)}
.closing{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:0 8vw var(--dock);opacity:0;pointer-events:none}
.closing.live{pointer-events:auto}
.closing-h{font:400 clamp(34px,8.6vw,76px)/1.08 var(--serif);max-width:16ch;margin:14px 0 30px}
.progress{position:absolute;left:6vw;right:6vw;top:calc(11svh - 2px);height:1px;background:rgba(127,117,100,.28)}
.progress span{position:absolute;left:0;top:0;height:1px;width:100%;background:var(--gold);transform-origin:0 0;transform:scaleX(0)}

.btn{display:inline-block;background:var(--gold);color:#fff;text-decoration:none;font:500 14px/1 var(--sans);letter-spacing:.06em;padding:17px 26px;border:0;cursor:pointer}
.btn:hover{background:#8e7035}
.btn.ghost{background:transparent;color:inherit;border:1px solid currentColor}
.btn.ghost:hover{background:rgba(163,130,63,.12)}

.story-static{display:none}

@media (min-width:900px){
  .frame{left:50%;right:auto;width:min(44vw,680px);top:50%;height:min(70vh,560px);transform:translate(-50%,-50%)}
  .chap{bottom:auto;top:50%;transform:translateY(calc(-50% + 14px));width:min(21vw,340px);right:auto}
  .chap[data-c="0"]{transform:translateY(-50%)}
  .chap[data-side="l"]{left:5vw}
  .chap[data-side="r"]{left:auto;right:5vw}
  .chap h1,.chap h2{font-size:clamp(44px,4.4vw,74px)}
  .progress{left:auto;right:2.4vw;top:20vh;bottom:20vh;width:1px;height:auto}
  .progress span{height:100%;width:1px;transform-origin:0 0;transform:scaleY(0)}
  .giant{font-size:24vw}
  .closing{padding-bottom:0}
}

/* reduced motion: static chapters */
@media (prefers-reduced-motion:reduce){
  .story{height:auto}
  .stage{display:none}
  .story-static{display:block;padding:88px 6vw 40px}
  .story-static figure{margin:0 auto 56px;max-width:880px}
  .story-static h2{font-size:clamp(36px,7vw,64px);margin:10px 0}
  .story-static p:not(.lbl){color:var(--muted-d)}
  .story-static figcaption{padding-top:20px}
}

/* ---------- SECTIONS ---------- */
.sec{padding:96px 0}
.wrap{width:min(1180px,88vw);margin:0 auto}
.light-sec{background:var(--stone);color:var(--ink)}
.light-sec.alt{background:#e4ded3}
.dark-sec{background:var(--night);color:var(--ivory)}
.sec h2{font-size:clamp(36px,6.4vw,64px);margin:12px 0 18px}
.lead{font-size:17px;max-width:46ch;opacity:.75}
.sec-head{margin-bottom:44px}
.narrow{max-width:640px}

.svc{list-style:none;border-top:1px solid rgba(29,26,22,.16)}
.svc li{display:grid;grid-template-columns:44px 1fr;gap:12px;padding:20px 0;border-bottom:1px solid rgba(29,26,22,.16)}
.svc .n{font:500 11px/2.2 var(--sans);letter-spacing:.14em;color:var(--gold)}
.svc h3{font-size:25px;margin-bottom:4px}
.svc p{font-size:15px;color:var(--muted-l)}
.also{margin-top:36px;font-size:15px;color:var(--muted-l)}
.also .lbl{margin-right:10px}
.price-note{margin-top:14px;font:400 italic 22px/1.4 var(--serif)}
.price-note a{text-decoration:none;border-bottom:1px solid var(--gold);white-space:nowrap}
@media (min-width:900px){
  .two{display:grid;grid-template-columns:5fr 7fr;gap:7vw;align-items:start}
  .two .sec-head{position:sticky;top:110px}
}

/* tool */
.tool{border:1px solid rgba(238,232,221,.16);padding:26px 22px}
.opts{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}
.opts button{font:500 14px/1 var(--sans);color:var(--ivory);background:transparent;border:1px solid rgba(238,232,221,.28);padding:12px 16px;cursor:pointer;transition:background .3s,border-color .3s}
.opts button[aria-selected="true"]{background:var(--gold);border-color:var(--gold);color:#fff}
.steps{list-style:none;counter-reset:s}
.steps li{counter-increment:s;display:grid;grid-template-columns:52px 1fr;gap:10px;padding:16px 0;border-top:1px solid rgba(238,232,221,.12);animation:in .5s ease both}
.steps li::before{content:"0" counter(s);font:400 30px/1 var(--serif);color:var(--gold)}
.steps b{display:block;font:400 24px/1.2 var(--serif);margin-bottom:2px}
.steps span{color:var(--muted-d);font-size:15px}
.tool-foot{margin-top:24px;padding-top:22px;border-top:1px solid rgba(238,232,221,.12);display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between}
.tool-foot p{max-width:52ch;color:var(--muted-d);font-size:14.5px}
@keyframes in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.steps li{animation:none}}
@media (min-width:900px){.tool{padding:40px 44px}}

/* capele */
.split{display:grid;gap:40px}
.ph{margin:0;overflow:hidden}
.ph img{width:100%;height:100%;object-fit:cover}
.txt p{max-width:44ch;color:var(--muted-l)}
.facts{list-style:none;margin-top:26px;border-top:1px solid rgba(29,26,22,.16)}
.facts li{padding:12px 0;border-bottom:1px solid rgba(29,26,22,.16);font:400 22px/1.3 var(--serif)}
@media (min-width:900px){.split{grid-template-columns:7fr 5fr;gap:6vw;align-items:center}#unde .split{grid-template-columns:5fr 7fr}}

/* galerie */
.gal{display:grid;grid-template-columns:1fr 1fr;gap:10px;grid-auto-flow:dense}
.g{margin:0;overflow:hidden;background:#d6cfc3;aspect-ratio:3/4}
.g.w{grid-column:span 2;aspect-ratio:4/3}
.g img{width:100%;height:100%;object-fit:cover}
.credit-ph{margin-top:16px;font-size:13px;color:var(--muted-l)}
@media (min-width:900px){
  .gal{grid-template-columns:repeat(4,1fr);grid-auto-rows:300px;gap:14px}
  .g,.g.w{aspect-ratio:auto}
}

/* recenzii */
.review{display:grid;gap:34px}
.score{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}
.score .big{font:400 96px/1 var(--serif);color:var(--gold)}
.score .of{font-size:14px;letter-spacing:.06em;color:var(--muted-d)}
blockquote p{font:400 italic clamp(28px,5.4vw,52px)/1.2 var(--serif);max-width:24ch}
blockquote footer{margin-top:18px;font:500 11px/1.3 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--muted-d)}
@media (min-width:900px){.review{grid-template-columns:4fr 8fr;align-items:center}}

/* unde */
address{font-style:normal;font:400 25px/1.35 var(--serif);margin:8px 0 26px}
.muted{display:block;margin-top:6px;font:400 14px/1.5 var(--sans);color:var(--muted-l)}
.contact{margin-bottom:28px;border-top:1px solid rgba(29,26,22,.16)}
.contact div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid rgba(29,26,22,.16)}
.contact dt{font:500 11px/2 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.contact a{text-decoration:none}
.map{min-height:340px;background:#d6cfc3}
.map iframe{width:100%;height:100%;min-height:340px;border:0;filter:grayscale(.85) contrast(.95)}
@media (min-width:900px){.map,.map iframe{min-height:460px}}

/* footer */
.foot{background:var(--night);color:var(--muted-d);padding:56px 0 40px;font-size:14px}
.foot-in{display:grid;gap:8px}
.foot-name{font:400 26px/1 var(--serif);color:var(--ivory);margin-bottom:6px}
.foot a{text-decoration:none;color:var(--ivory)}
.made{margin-top:22px;font-size:12px;letter-spacing:.06em}
.made a{border-bottom:1px solid var(--gold)}

/* dock */
.dock{position:fixed;left:0;right:0;bottom:0;z-index:50;display:grid;grid-template-columns:1fr 1fr;height:var(--dock);padding-bottom:env(safe-area-inset-bottom);background:var(--night);border-top:1px solid rgba(238,232,221,.12)}
.dock a{display:flex;align-items:center;justify-content:center;text-decoration:none;font:500 14px/1 var(--sans);letter-spacing:.08em;color:var(--ivory)}
.dock .d-call{background:var(--gold);color:#fff}
@media (min-width:900px){
  body{padding-bottom:0}
  :root{--dock:0px}
  .dock{left:auto;right:28px;bottom:28px;height:auto;grid-template-columns:auto auto;border:1px solid rgba(238,232,221,.18);padding:0}
  .dock a{padding:15px 22px}
}

/* header after the story: solid night bar */
body.past .top{background:rgba(21,19,15,.96);color:var(--ivory);padding-top:12px;padding-bottom:12px}
