:root{--bg:#0c0b0a;--bg2:#141210;--ink:#eee5d4;--mut:#a59a86;--gold:#c9a24e;--gold2:#e2c27a;--line:rgba(201,162,78,.22);
  --serif:'Cinzel',Georgia,serif;--sans:'Inter',system-ui,-apple-system,Segoe UI,sans-serif;--gut:clamp(18px,4.2vw,64px)}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:auto;background:#0a0908}
body{background:transparent;color:var(--ink);font:400 16px/1.6 var(--sans);overflow-x:clip;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
button,input{font:inherit;color:inherit}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.lbl{font:600 11px/1.2 var(--sans);letter-spacing:.26em;text-transform:uppercase;color:var(--gold)}
.serif{font-family:var(--serif)}

/* header */
.ud-hd{position:fixed;inset:0 0 auto;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:18px var(--gut);pointer-events:none;transition:color .4s}
.ud-hd>*{pointer-events:auto}
.ud-brand{display:flex;align-items:center;gap:12px}
.ud-brand svg{width:22px;height:30px;color:var(--gold)}
.ud-brand b{font:600 15px/1 var(--serif);letter-spacing:.14em}
.ud-brand small{display:block;font:500 9.5px/1 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--mut);margin-top:5px}
.ud-hdtel{display:flex;align-items:center;gap:10px;font:600 13px/1 var(--sans);letter-spacing:.06em;padding:11px 16px;border:1px solid var(--line);border-radius:40px;background:rgba(12,11,10,.35);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.ud-hdtel i{width:7px;height:7px;border-radius:50%;background:#7fc58a;box-shadow:0 0 0 3px rgba(127,197,138,.18)}
.ud-hd.lt{color:#1b1713}.ud-hd.lt .ud-hdtel{background:rgba(239,231,217,.5);border-color:rgba(27,23,19,.18)}.ud-hd.lt .ud-brand small{color:#6c6253}

/* ---------- story ---------- */
.story{position:relative;height:820vh}
.stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:#0c0b0a}
.stage .wash{position:absolute;inset:0;background:radial-gradient(60% 55% at 50% 52%,rgba(255,150,70,.16),rgba(255,140,60,.05) 45%,transparent 70%);opacity:0;will-change:opacity}
.stage canvas{position:absolute;inset:0;width:100%;height:100%;z-index:2;display:block}
.stage .still{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2}
.giant{position:absolute;left:50%;top:50%;z-index:1;font:400 clamp(64px,15.5vw,250px)/.9 var(--serif);letter-spacing:.02em;white-space:nowrap;transform:translate(-50%,-50%);color:rgba(201,162,78,.13);pointer-events:none;will-change:opacity,transform;opacity:0}
.scrim{display:none;position:absolute;inset:auto 0 0;height:52%;z-index:3;pointer-events:none;will-change:opacity}
.scrim.d{background:linear-gradient(transparent,rgba(12,11,10,.72) 38%,rgba(12,11,10,.9))}.scrim.l{background:linear-gradient(rgba(239,231,217,0),rgba(239,231,217,.75) 38%,rgba(239,231,217,.92));opacity:0}
.giant.g1{font-size:clamp(48px,10.2vw,190px)}.giant.g2{top:27%}.giant.g3{top:79%}
.giant.front{z-index:3;color:transparent;-webkit-text-stroke:1px rgba(226,194,122,.55)}
.stage.lt .giant{color:rgba(60,42,18,.1)}
.intro{position:absolute;inset:auto 0 0;z-index:4;padding:0 var(--gut) clamp(40px,9vh,96px);display:flex;align-items:flex-end;justify-content:space-between;gap:30px;will-change:opacity}
.intro h1{font:400 clamp(34px,4.6vw,72px)/1.06 var(--serif);letter-spacing:.01em;max-width:13ch}
.intro h1 span{display:block;color:var(--gold2)}
.intro p{max-width:34ch;color:var(--mut);font-size:15px}
.intro .lbl{display:block;margin-bottom:14px}
.cue{position:absolute;left:50%;bottom:22px;z-index:4;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;font:500 10px/1 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--mut)}
.cue i{width:1px;height:34px;background:linear-gradient(var(--gold),transparent)}
.ch{position:absolute;top:50%;z-index:4;width:min(30vw,420px);transform:translateY(-50%);opacity:0;will-change:opacity,transform;pointer-events:none}
.ch.r{right:calc(var(--gut) + 2vw)}.ch.l{left:calc(var(--gut) + 2vw)}
.ch .no{font:400 13px/1 var(--serif);color:var(--gold);letter-spacing:.2em;display:flex;align-items:center;gap:14px;margin-bottom:22px}
.ch .no::after{content:"";height:1px;width:46px;background:var(--line)}
.ch .lbl{display:block;margin-bottom:12px}
.ch h2{font:400 clamp(30px,3.3vw,52px)/1.08 var(--serif);margin-bottom:18px}
.ch p{color:var(--mut);font-size:16px;max-width:34ch}
.ch a{pointer-events:auto}
.stage.lt{color:#1b1713}.stage.lt .ch p,.stage.lt .intro p{color:#5f5547}.stage.lt .lbl,.stage.lt .ch .no{color:#9a7429}
.stage .ch,.stage .intro{transition:color .5s}
.fin{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;text-align:center;padding:0 var(--gut) clamp(100px,15vh,150px);opacity:0;pointer-events:none;will-change:opacity}
.fin q{font:400 clamp(26px,2.8vw,44px)/1.15 var(--serif);max-width:24ch;quotes:none;margin-bottom:28px}
.fin.on{pointer-events:auto}
.btn{display:inline-flex;align-items:center;gap:12px;padding:17px 28px;border-radius:50px;background:var(--gold);color:#16120c;font:600 15px/1 var(--sans);letter-spacing:.03em;transition:background .25s,transform .25s}
.btn:hover{background:var(--gold2);transform:translateY(-2px)}
.btn svg{width:18px;height:18px}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
.btn.ghost:hover{border-color:var(--gold);background:rgba(201,162,78,.08)}
.prog{position:absolute;right:calc(var(--gut) * .45);top:50%;z-index:5;height:min(38vh,320px);width:1px;background:rgba(201,162,78,.18);transform:translateY(-50%)}
.prog b{position:absolute;inset:0 0 auto;height:100%;background:var(--gold);transform-origin:top;transform:scaleY(0)}
.prog i{position:absolute;left:-3px;width:7px;height:1px;background:rgba(201,162,78,.5)}
.stage.lt .prog{background:rgba(60,42,18,.18)}

/* reduced motion / no WebGL: chapters as stills */
.rm .story{height:auto}
.rm .stage{position:relative;height:auto;overflow:visible;background:none}
.rm .stage canvas,.rm .stage .wash,.rm .giant,.rm .prog,.rm .cue,.rm .stage>.still{display:none}
.rm .intro,.rm .ch,.rm .fin{position:relative;inset:auto;transform:none;opacity:1;width:auto;display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,4vw,60px);align-items:center;padding:clamp(28px,6vh,70px) var(--gut);left:auto;right:auto;top:auto}
.rm .fin{display:flex;flex-direction:column;align-items:center;justify-content:center}
.rm .fin .pic{max-width:640px;margin-top:30px}
.rm .intro{padding-top:110px}.rm .intro .pic{grid-column:2;grid-row:1/span 2}
.rm .ch .pic,.rm .intro .pic{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:4px;background:#000}
.rm .ch.l .pic{order:2}
.pic{display:none}.rm .pic{display:block}
.rm .ch.lt{background:#efe7d9;color:#1b1713}
.rm .ch.lt p{color:#5f5547}.rm .ch.lt .lbl,.rm .ch.lt .no{color:#9a7429}.rm .pic{background:none!important}

/* ---------- content sections ---------- */
.sec{position:relative;padding:clamp(80px,13vh,150px) var(--gut)}
.sec-hd{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:clamp(20px,5vw,80px);align-items:end;margin-bottom:clamp(40px,7vh,80px)}
.sec-hd h2{font:400 clamp(32px,4.4vw,66px)/1.05 var(--serif)}
.sec-hd p{color:var(--mut);max-width:46ch}
.sec-hd .lbl{display:block;margin-bottom:18px}
.ud-bg{background:linear-gradient(180deg,var(--bg) 0%,var(--bg2) 40%,var(--bg) 100%)}
.ud-bg::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 calc(25% - 1px),rgba(201,162,78,.045) calc(25% - 1px) 25%);pointer-events:none}

.svc{list-style:none;border-top:1px solid var(--line);position:relative}
.svc li{display:grid;grid-template-columns:70px minmax(0,1.1fr) minmax(0,1.4fr);gap:clamp(14px,3vw,48px);padding:clamp(24px,3.6vh,38px) 0;border-bottom:1px solid var(--line);align-items:baseline;transition:background .3s}
.svc li:hover{background:linear-gradient(90deg,rgba(201,162,78,.06),transparent 70%)}
.svc .n{font:400 14px/1 var(--serif);color:var(--gold);letter-spacing:.15em}
.svc h3{font:400 clamp(22px,2.3vw,34px)/1.15 var(--serif)}
.svc p{color:var(--mut)}

.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.4vw,36px);counter-reset:s;position:relative}
.steps li{list-style:none;border-top:1px solid var(--gold);padding-top:26px}
.steps li::before{counter-increment:s;content:"0" counter(s);font:400 46px/1 var(--serif);color:rgba(201,162,78,.35);display:block;margin-bottom:22px}
.steps h3{font:500 19px/1.3 var(--sans);margin-bottom:10px}
.steps p{color:var(--mut);font-size:15px}

/* pomeniri tool */
.tool{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(24px,5vw,80px);align-items:start;position:relative}
.tool-in{position:sticky;top:110px;border:1px solid var(--line);border-radius:6px;padding:clamp(22px,3vw,36px);background:rgba(20,18,16,.7)}
.tool-in label{display:block;font:600 11px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.tool-in input[type=date]{width:100%;padding:16px 18px;border-radius:4px;border:1px solid rgba(201,162,78,.35);background:#0c0b0a;color:var(--ink);font-size:18px;color-scheme:dark}
.tool-in p{color:var(--mut);font-size:14px;margin-top:16px}
.tool-in .btn{margin-top:22px;width:100%;justify-content:center}
.pom{list-style:none;border-top:1px solid var(--line)}
.pom li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 18px;padding:18px 0;border-bottom:1px solid var(--line);align-items:baseline}
.pom b{font:400 20px/1.2 var(--serif)}
.pom span{color:var(--mut);font-size:14px}
.pom time{font:500 16px/1.2 var(--sans);text-align:right;color:var(--gold2)}
.pom em{grid-column:1/-1;font-style:normal;font-size:13px;color:var(--mut)}
.pom li.past{opacity:.42}
.pom li.next{background:linear-gradient(90deg,rgba(201,162,78,.1),transparent 80%)}
.pom li.next b::after{content:"următoarea";font:600 10px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:#16120c;background:var(--gold);padding:4px 7px;border-radius:3px;margin-left:12px;vertical-align:4px}

/* gallery */
.gal{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(8px,1.1vw,16px);position:relative}
.gal figure{position:relative;overflow:hidden;border-radius:4px;background:#1a1714}
.gal img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.gal figure:hover img{transform:scale(1.04)}
.gal figcaption{position:absolute;left:0;right:0;bottom:0;padding:30px 16px 14px;font:500 13px/1.3 var(--sans);background:linear-gradient(transparent,rgba(0,0,0,.72))}
.gal .a{grid-column:span 7;aspect-ratio:4/3}.gal .b{grid-column:span 5;aspect-ratio:auto}.gal .c{grid-column:span 4;aspect-ratio:3/4}.gal .d{grid-column:span 4;aspect-ratio:3/4}.gal .e{grid-column:span 4;aspect-ratio:3/4}
.gal .f{grid-column:span 5;aspect-ratio:4/3}.gal .g{grid-column:span 7;aspect-ratio:auto}

/* places */
.places{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);position:relative}
.place{border-top:1px solid var(--gold);padding-top:26px}
.place h3{font:400 clamp(26px,2.6vw,40px)/1.1 var(--serif);margin:12px 0 14px}
.place p{color:var(--mut)}
.place .row{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.map{grid-column:1/-1;aspect-ratio:21/8;border-radius:6px;overflow:hidden;border:1px solid var(--line);background:#1a1714}
.map iframe{width:100%;height:100%;border:0;filter:grayscale(.85) invert(.9) contrast(.9) sepia(.15)}

/* contact */
.ct{text-align:left;position:relative}
.ct h2{font:400 clamp(36px,6vw,96px)/1 var(--serif);margin:16px 0 40px;max-width:16ch}
.ct-nums{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,3vw,40px)}
.ct-nums a{display:block;border-top:1px solid var(--line);padding-top:20px;transition:color .25s}
.ct-nums a:hover{color:var(--gold2)}
.ct-nums small{display:block;font:600 11px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.ct-nums b{font:400 clamp(30px,4vw,58px)/1 var(--serif);font-weight:400;letter-spacing:.02em}

footer{padding:50px var(--gut) 120px;border-top:1px solid var(--line);color:var(--mut);font-size:13px;display:flex;flex-wrap:wrap;gap:14px 30px;justify-content:space-between}
footer a:hover{color:var(--ink)}
footer .cr a{color:var(--gold)}
footer .cr a:hover{color:var(--gold2)}
footer nav{display:flex;flex-wrap:wrap;gap:8px 20px}

/* sticky call bar */
.dock{position:fixed;left:50%;bottom:16px;z-index:40;display:flex;gap:8px;padding:7px;border-radius:50px;background:rgba(14,13,11,.82);border:1px solid var(--line);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transform:translate(-50%,0);transition:transform .45s cubic-bezier(.2,.7,.2,1),opacity .45s}
.dock.off{transform:translate(-50%,140%);opacity:0}
.dock a{display:flex;align-items:center;gap:9px;padding:13px 20px;border-radius:40px;font:600 14px/1 var(--sans);white-space:nowrap}
.dock a svg{width:17px;height:17px}
.dock .call{background:var(--gold);color:#16120c}
.dock .wa{color:var(--ink)}
.dock .wa svg{color:#6fcf8a}

.rv{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}


/* ---------- ambient background (fixed, static: nothing animates) ---------- */
.bgfx{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;background:
  radial-gradient(120% 70% at 50% 120%,rgba(70,40,14,.55),transparent 60%),
  radial-gradient(90% 60% at 50% -10%,rgba(40,28,14,.7),transparent 65%),
  linear-gradient(180deg,#0c0b0a,#100d0a 50%,#0b0a09)}
.bgfx i{position:absolute;display:block}
.bgfx .g1{width:70vmax;height:70vmax;left:-22vmax;top:8vh;background:radial-gradient(closest-side,rgba(201,150,70,.11),transparent)}
.bgfx .g2{width:60vmax;height:60vmax;right:-20vmax;bottom:-12vh;background:radial-gradient(closest-side,rgba(170,96,40,.12),transparent)}
.bgfx .gr{inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 .9 0 0 0 0 .75 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)'/%3E%3C/svg%3E");background-size:220px;opacity:.07;mix-blend-mode:screen}
.stage::after{content:"";position:absolute;inset:0;z-index:5;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 .9 0 0 0 0 .75 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)'/%3E%3C/svg%3E");background-size:220px;opacity:.05;mix-blend-mode:screen}
.stage.lt::after{mix-blend-mode:multiply;opacity:.12}
.ud-bg{background:linear-gradient(180deg,transparent,rgba(26,21,15,.55) 30%,rgba(26,21,15,.55) 70%,transparent)!important}
.orn{display:flex;justify-content:center;color:rgba(201,162,78,.55);padding:0 var(--gut)}
.orn svg{width:min(320px,70vw);height:auto}
.orn::before,.orn::after{content:"";flex:1;height:1px;margin-top:12px;background:linear-gradient(90deg,transparent,rgba(201,162,78,.22))}
.orn::after{background:linear-gradient(270deg,transparent,rgba(201,162,78,.22))}
.wm{position:absolute;color:var(--gold);opacity:.11;pointer-events:none}
.wm-r{width:min(760px,80vw);right:-14vw;top:4%}
.wm-c{width:min(820px,90vw);right:-8vw;top:50%;transform:translateY(-50%);opacity:.13}
.sec>*:not(.wm):not(.arch){position:relative}
#pomeniri,#contact{overflow-x:clip}
.arch{position:absolute;left:var(--gut);top:clamp(40px,7vh,90px);width:min(420px,40vw);height:min(560px,62vh);border:1px solid rgba(201,162,78,.16);border-bottom:0;border-radius:999px 999px 0 0;pointer-events:none}
.arch::before{content:"";position:absolute;inset:14px 14px 0;border:1px solid rgba(201,162,78,.08);border-bottom:0;border-radius:inherit}
.arch::after{content:"";position:absolute;left:0;right:0;top:0;height:60%;border-radius:inherit;background:radial-gradient(60% 70% at 50% 30%,rgba(201,150,70,.10),transparent)}
#servicii .sec-hd{padding-top:clamp(60px,12vh,140px)}
#servicii .sec-hd>div:first-child{padding-left:clamp(0px,3vw,40px)}
.tool-in{background:linear-gradient(160deg,rgba(40,32,22,.75),rgba(16,14,12,.85))!important;box-shadow:0 30px 80px -30px rgba(0,0,0,.8),inset 0 1px 0 rgba(226,194,122,.15)}
.gal figure::after{content:"";position:absolute;inset:8px;border:1px solid rgba(226,194,122,.28);border-radius:2px;pointer-events:none}
.ct-nums a{position:relative}
@media (max-width:860px){.wm-r{right:-40vw;width:110vw;top:2%}.wm-c{right:-35vw;width:120vw}.arch{width:70vw;height:46vh}}

@media (max-width:860px){
  .ud-hd{padding:14px 16px}
  .ud-brand small{display:none}
  .ud-hdtel span{display:none}.ud-hdtel{padding:10px 12px}
  .scrim{display:block}
  .intro{flex-direction:column;align-items:flex-start;padding:0 20px 92px}
  .intro p,.intro .lbl{display:none}
  .intro h1{font-size:clamp(34px,9.6vw,44px)}
  .ch{left:20px!important;right:20px!important;width:auto;top:auto;bottom:86px;transform:none}
  .ch .no{margin-bottom:14px}
  .ch h2{font-size:clamp(28px,8vw,36px);margin-bottom:10px}
  .ch p{font-size:15px}
  .giant{font-size:clamp(56px,19vw,90px);top:38%}
  .prog{right:10px;height:26vh;top:40%}
  .fin{padding-bottom:96px}
  .fin q{font-size:clamp(26px,7.6vw,34px);max-width:20ch}
  .giant.g3{top:47%}
  .sec-hd{grid-template-columns:1fr}
  .svc li{grid-template-columns:44px minmax(0,1fr);padding:22px 0}
  .svc p{grid-column:2}
  .steps{grid-template-columns:1fr;gap:34px}
  .tool{grid-template-columns:1fr}
  .tool-in{position:relative;top:auto}
  .gal{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gal figure{grid-column:span 1!important;aspect-ratio:3/4!important}
  .gal .a,.gal .g{grid-column:1/-1!important;aspect-ratio:4/3!important}
  .places{grid-template-columns:1fr}
  .map{aspect-ratio:4/3}
  .ct-nums{grid-template-columns:1fr}
  .rm .intro,.rm .ch{grid-template-columns:1fr}
  .rm .ch.l .pic{order:0}
  .dock{left:12px;right:12px;transform:none;justify-content:stretch}
  .dock.off{transform:translateY(140%)}
  .dock a{flex:1;justify-content:center;padding:14px 10px}
}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}*{scroll-behavior:auto!important}}
