:root{
  --ink:#0f1216;
  --slate:#475061;
  --slate-light:#8a93a5;
  --line:#e3e6eb;
  --paper:#ffffff;
  --wash:#f6f7f9;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Outfit',sans-serif;font-weight:300;
  color:var(--ink);background:var(--paper);
  line-height:1.65;font-size:17px;
}
.wrap{max-width:920px;margin:0 auto;padding:0 28px}
h1,h2,h3{font-family:'Ovo',serif;font-weight:400;line-height:1.2}
.eyebrow{font-size:13px;letter-spacing:.24em;text-transform:uppercase;color:var(--slate-light);font-weight:500}

/* ---------- Hero ---------- */
header{padding:64px 0 0;border-bottom:1px solid var(--line);text-align:center}
.brand{font-family:'Ovo',serif;font-size:19px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:52px}
.hero-eyebrow{margin-bottom:14px}
h1{font-size:clamp(32px,5vw,52px);max-width:19ch;margin:0 auto}
.lede{font-size:clamp(18px,2.3vw,21px);color:var(--slate);margin:20px auto 0;max-width:52ch}
.cta{
  display:inline-block;margin-top:36px;
  background:var(--ink);color:#fff;text-decoration:none;
  font-weight:500;font-size:16px;letter-spacing:.02em;
  padding:15px 30px;border-radius:2px;
}
.cta:hover{background:#2a3140}
.cred{
  display:grid;grid-template-columns:repeat(4,1fr);
  margin-top:56px;border-top:1px solid var(--line);
  font-size:13.5px;color:var(--slate);
}
.cred span{
  padding:16px 14px;line-height:1.45;
  border-right:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;text-align:center;
}
.cred span:last-child{border-right:none}

/* ---------- Cronologia ---------- */
.day{padding:76px 0;border-bottom:1px solid var(--line)}
.day-head h2{font-size:clamp(28px,4vw,40px);margin-top:10px;max-width:24ch}
.day-head p{color:var(--slate);margin-top:14px;max-width:54ch}
.tl{margin-top:56px;position:relative}
.tl::before{
  content:"";position:absolute;left:92px;top:8px;bottom:8px;
  width:1px;background:var(--line);
}
.mo{display:flex;gap:34px;padding:22px 0;position:relative}
.mo .t{
  flex:0 0 74px;text-align:right;
  font-family:'Ovo',serif;font-size:22px;color:var(--ink);
  line-height:1.3;
}
.mo::after{
  content:"";position:absolute;left:88.5px;top:33px;
  width:8px;height:8px;border-radius:50%;
  background:var(--paper);border:1.5px solid var(--ink);
}
.mo .c{flex:1;padding-left:24px;max-width:60ch}
.mo .actor{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--slate-light);font-weight:500;margin-bottom:4px}
.mo .c p{color:var(--slate)}
.mo .c p b{color:var(--ink);font-weight:500}
.mo.night .t{color:var(--slate-light)}
.tl-close{margin-top:34px;padding-left:150px}
.tl-close p{font-family:'Ovo',serif;font-size:clamp(19px,2.4vw,23px);max-width:34ch}

/* ---------- Captură din aplicația reală ---------- */
.shot{
  margin-top:22px;border:1px solid var(--line);border-radius:10px;overflow:hidden;
  box-shadow:0 16px 38px -20px rgba(15,18,22,.32);background:#fff;
}
.shot img{display:block;width:100%;height:auto;cursor:zoom-in}
.shot + .shot{margin-top:16px}

/* ---------- Galerie orizontală (scroll-jack, fără gaură albă, în cadrul timeline-ului) ----------
   La scroll în jos peste o galerie cu 2+ poze, verticalul se oprește și pozele merg în lateral;
   după ce s-au derulat complet, pagina continuă. JS controlează translația track-ului. */
/* Pe MOBIL: pozele stau una sub alta (simplu). Pe DESKTOP: galerie orizontală (scroll în jos → lateral). */
.gallery{margin-top:22px}
.gallery .track{display:block}
.gallery .track .shot{margin-top:16px}
.gallery .track .shot:first-child{margin-top:0}

@media (min-width:760px){
  .gallery{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .gallery::-webkit-scrollbar{display:none}
  .gallery .track{display:flex;gap:14px;align-items:flex-start;width:max-content}
  .gallery .track .shot{margin-top:0;flex:0 0 auto;width:520px}
}

/* ---------- Lightbox (zoom pe click) ---------- */
.lb{position:fixed;inset:0;background:rgba(15,18,22,.93);display:none;align-items:center;justify-content:center;z-index:9999;padding:20px;cursor:zoom-out}
.lb.open{display:flex}
.lb img{max-width:96vw;max-height:94vh;border-radius:8px;box-shadow:0 30px 80px -20px rgba(0,0,0,.65)}
.lb-close{position:fixed;top:14px;right:22px;color:#fff;font-size:36px;line-height:1;cursor:pointer;opacity:.85}
.lb-close:hover{opacity:1}

/* ---------- Esențialul ---------- */
.core{padding:76px 0;border-bottom:1px solid var(--line);background:var(--wash)}
.core h2{font-size:clamp(28px,4vw,40px);margin-top:10px;max-width:24ch}
.core dl{margin-top:40px;max-width:72ch}
.core .row{padding:18px 0;border-top:1px solid var(--line);display:flex;gap:26px;align-items:baseline}
.core .row:last-child{border-bottom:1px solid var(--line)}
.core dt{flex:0 0 240px;font-weight:500;font-size:16.5px}
.core dd{color:var(--slate);font-size:16px}

/* ---------- CTA final ---------- */
.end{padding:76px 0 90px}
.end h2{font-size:clamp(28px,4vw,40px);max-width:22ch}
.end p{margin-top:16px;color:var(--slate);max-width:48ch}
.contact{margin-top:34px;font-size:16px;color:var(--slate)}
.contact a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}

/* ---------- Footer (centrat pe desktop și mobil) ---------- */
footer{border-top:1px solid var(--line);padding:26px 0;font-size:13px;color:var(--slate-light);text-align:center}

/* ---------- Reveal discret ---------- */
@media (prefers-reduced-motion: no-preference){
  .mo{opacity:0;transform:translateY(10px);transition:opacity .5s ease,transform .5s ease}
  .mo.in{opacity:1;transform:none}
}

@media (max-width:640px){
  header{padding:48px 0 0}
  .cred{grid-template-columns:1fr 1fr}
  .cred span{border-bottom:1px solid var(--line)}
  .cred span:nth-child(even){border-right:none}
  .cred span:nth-child(n+3){border-bottom:none}
  .brand{margin-bottom:40px}
  .tl::before{left:8px}
  .mo{flex-direction:column;gap:6px;padding-left:34px}
  .mo .t{flex:none;text-align:left;font-size:19px}
  .mo::after{left:4.5px;top:10px}
  .mo .c{padding-left:0}
  .tl-close{padding-left:34px}
  .core .row{flex-direction:column;gap:6px}
  .core dt{flex:none}
}
