/* ============================================================
   AKTA LUXURY · Apart-Hotel Sinaia
   Design system — minimal calm luxury (Aman / Six Senses register)
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant:ital,wght@0,300;0,400;0,500;1,300;1,400&family=Jost:wght@300;400;500&display=swap');

:root{
  --paper:#F3EFE7;        /* warm off-white */
  --paper-2:#EAE4D8;      /* slightly deeper */
  --ink:#23211C;          /* near-black warm */
  --ink-soft:#5A554B;     /* muted body */
  --stone:#9A9082;        /* captions / lines */
  --earth:#8A6F4E;        /* single earth accent, used sparingly */
  --gold:#A8854B;         /* rare highlight */
  --line:rgba(35,33,28,.16);
  --line-soft:rgba(35,33,28,.09);
  --noir:#1A1814;         /* dark sections */
  --ease:cubic-bezier(.19,1,.22,1);
  --ease-2:cubic-bezier(.65,.05,.36,1);
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{
  font-family:'Jost',sans-serif;
  background:var(--paper);
  color:var(--ink);
  font-weight:300;
  line-height:1.7;
  overflow-x:hidden;
  cursor:none;
}
@media(hover:none){body{cursor:auto}}
::selection{background:var(--ink);color:var(--paper)}
img{display:block;width:100%;height:100%;object-fit:cover}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:'Cormorant',serif;font-weight:300;line-height:1.04;letter-spacing:.005em}

.serif{font-family:'Cormorant',serif}
.italic{font-style:italic}
.earth{color:var(--earth)}

/* type scale helpers */
.display{font-size:clamp(44px,9vw,150px);font-weight:300;letter-spacing:-.01em;line-height:.96}
.h-xl{font-size:clamp(34px,5.5vw,82px);font-weight:300;line-height:1.02}
.h-lg{font-size:clamp(28px,4vw,56px);font-weight:300}
.h-md{font-size:clamp(22px,2.6vw,34px);font-weight:300}
.eyebrow{font-family:'Jost',sans-serif;font-size:11px;letter-spacing:.42em;text-transform:uppercase;
  color:var(--stone);font-weight:400}
.lead{font-size:clamp(17px,1.5vw,20px);color:var(--ink-soft);font-weight:300;line-height:1.75}
.cap{font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--stone)}

/* ---------- custom cursor ---------- */
.cursor{position:fixed;top:0;left:0;width:7px;height:7px;border-radius:50%;
  background:var(--ink);pointer-events:none;z-index:9999;
  transform:translate(-50%,-50%);transition:width .35s var(--ease),height .35s var(--ease),
  background .35s,opacity .3s;mix-blend-mode:difference}
.cursor-ring{position:fixed;top:0;left:0;width:40px;height:40px;border:1px solid rgba(35,33,28,.4);
  border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);
  transition:width .5s var(--ease),height .5s var(--ease),opacity .3s,border-color .3s}
body.link-hover .cursor{width:0;height:0}
body.link-hover .cursor-ring{width:64px;height:64px;border-color:var(--earth)}
@media(hover:none){.cursor,.cursor-ring{display:none}}

/* ---------- preloader ---------- */
.preloader{position:fixed;inset:0;z-index:10000;background:var(--paper);
  display:flex;align-items:center;justify-content:center;flex-direction:column}
.preloader.done{transform:translateY(-100%);transition:transform 1.1s var(--ease-2) .2s}
.pre-name{font-family:'Cormorant',serif;font-size:clamp(40px,7vw,90px);font-weight:300;
  letter-spacing:.04em;overflow:hidden;display:flex}
.pre-name span{display:inline-block;transform:translateY(110%);
  animation:preRise 1s var(--ease) forwards}
.pre-sub{font-size:11px;letter-spacing:.5em;text-transform:uppercase;color:var(--stone);
  margin-top:18px;opacity:0;animation:preFade 1s ease 1s forwards}
.pre-bar{position:absolute;bottom:0;left:0;height:2px;background:var(--earth);width:0;
  animation:preBar 1.8s var(--ease-2) forwards}
@keyframes preRise{to{transform:translateY(0)}}
@keyframes preFade{to{opacity:1}}
@keyframes preBar{to{width:100%}}

/* ---------- nav ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:900;display:flex;align-items:center;
  justify-content:space-between;padding:30px clamp(22px,4vw,64px);
  transition:padding .6s var(--ease),background .6s var(--ease)}
.nav.solid{background:rgba(243,239,231,.82);backdrop-filter:blur(16px) saturate(1.1);
  padding-top:18px;padding-bottom:18px;box-shadow:0 1px 0 var(--line-soft)}
.nav.on-dark .nav-brand,.nav.on-dark .nav-link,.nav.on-dark .nav-toggle span{color:var(--paper)}
.nav.on-dark .nav-toggle span{background:var(--paper)}
.nav.solid.on-dark .nav-brand,.nav.solid.on-dark .nav-link{color:var(--ink)}
.nav.solid.on-dark .nav-toggle span{background:var(--ink)}
.nav-brand{font-family:'Cormorant',serif;font-size:26px;letter-spacing:.16em;font-weight:400;
  display:flex;flex-direction:column;line-height:1;transition:color .6s var(--ease)}
.nav-brand small{font-family:'Jost',sans-serif;font-size:9px;letter-spacing:.46em;
  text-transform:uppercase;color:var(--stone);margin-top:5px;font-weight:400}
.nav-menu{display:flex;gap:clamp(20px,2.6vw,44px);align-items:center}
.nav-link{font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;position:relative;
  transition:color .6s var(--ease),opacity .3s;opacity:.8;padding:4px 0}
.nav-link:hover{opacity:1}
.nav-link::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;
  background:currentColor;transition:width .45s var(--ease)}
.nav-link:hover::after,.nav-link.active::after{width:100%}
.nav-link.active{opacity:1}
.nav-book{border:1px solid currentColor;border-radius:40px;padding:11px 24px;opacity:1!important}
.nav-book::after{display:none}
.nav-book:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.nav.on-dark .nav-book:hover{background:var(--paper);color:var(--ink)}
.nav-toggle{display:none;flex-direction:column;gap:6px;cursor:pointer;z-index:950;background:none;border:none}
.nav-toggle span{width:26px;height:1.5px;background:var(--ink);transition:.4s var(--ease)}

/* mobile menu overlay */
.menu-overlay{position:fixed;inset:0;background:var(--noir);z-index:920;
  transform:translateY(-100%);transition:transform .8s var(--ease-2);
  display:flex;flex-direction:column;justify-content:center;padding:0 clamp(28px,8vw,80px)}
.menu-overlay.open{transform:translateY(0)}
.menu-overlay a{font-family:'Cormorant',serif;font-size:clamp(34px,8vw,64px);color:var(--paper);
  font-weight:300;padding:10px 0;display:flex;align-items:baseline;gap:18px;
  opacity:0;transform:translateY(30px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.menu-overlay.open a{opacity:1;transform:none}
.menu-overlay.open a:nth-child(1){transition-delay:.25s}
.menu-overlay.open a:nth-child(2){transition-delay:.32s}
.menu-overlay.open a:nth-child(3){transition-delay:.39s}
.menu-overlay.open a:nth-child(4){transition-delay:.46s}
.menu-overlay.open a:nth-child(5){transition-delay:.53s}
.menu-overlay.open a:nth-child(6){transition-delay:.6s}
.menu-overlay a span{font-family:'Jost',sans-serif;font-size:12px;color:var(--earth);
  letter-spacing:.2em}
.menu-foot{position:absolute;bottom:40px;left:clamp(28px,8vw,80px);right:clamp(28px,8vw,80px);
  display:flex;justify-content:space-between;color:var(--stone);font-size:12px;letter-spacing:.1em;
  border-top:1px solid rgba(243,239,231,.16);padding-top:24px}

@media(max-width:920px){
  .nav-menu{display:none}
  .nav-toggle{display:flex}
  .nav.menu-open .nav-toggle span{background:var(--paper)}
  .nav.menu-open .nav-toggle span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
  .nav.menu-open .nav-toggle span:nth-child(2){opacity:0}
  .nav.menu-open .nav-toggle span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
  .nav.menu-open .nav-brand{color:var(--paper)}
}

/* ---------- page transition veil ---------- */
.veil{position:fixed;inset:0;z-index:8000;background:var(--noir);transform:translateY(100%);
  pointer-events:none}
.veil.cover{transform:translateY(0);transition:transform .7s var(--ease-2)}
.veil.reveal{transform:translateY(-100%);transition:transform .7s var(--ease-2)}

/* ---------- reveal utility ---------- */
.fx{opacity:0;transform:translateY(44px);transition:opacity 1.2s var(--ease),transform 1.2s var(--ease)}
.fx.in{opacity:1;transform:none}
.fx-img{overflow:hidden}
.fx-img img{transform:scale(1.16);transition:transform 1.6s var(--ease)}
.fx-img.in img{transform:scale(1)}
.fx-line{display:block;overflow:hidden}
.fx-line i{display:block;font-style:inherit;transform:translateY(108%);transition:transform 1.1s var(--ease)}
.fx-line.in i{transform:translateY(0)}

/* ---------- buttons / links ---------- */
.btn{display:inline-flex;align-items:center;gap:14px;font-size:12.5px;letter-spacing:.18em;
  text-transform:uppercase;padding:17px 34px;border-radius:40px;transition:.5s var(--ease);
  border:1px solid var(--ink)}
.btn-fill{background:var(--ink);color:var(--paper)}
.btn-fill:hover{background:transparent;color:var(--ink)}
.btn-line:hover{background:var(--ink);color:var(--paper)}
.btn svg{width:15px;height:15px;transition:transform .5s var(--ease)}
.btn:hover svg{transform:translateX(5px)}
.link-arrow{display:inline-flex;align-items:center;gap:12px;font-size:12.5px;letter-spacing:.18em;
  text-transform:uppercase;position:relative;padding-bottom:6px}
.link-arrow::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;
  background:currentColor;transform:scaleX(1);transform-origin:right;transition:transform .5s var(--ease)}
.link-arrow:hover::after{transform:scaleX(0)}
.link-arrow svg{width:14px;height:14px;transition:transform .5s var(--ease)}
.link-arrow:hover svg{transform:translateX(5px)}

/* ---------- layout ---------- */
.wrap{max-width:1480px;margin:0 auto;padding:0 clamp(22px,4vw,64px)}
.section{padding:clamp(90px,14vh,200px) 0}
.section-sm{padding:clamp(60px,9vh,120px) 0}

/* ---------- footer ---------- */
.footer{background:var(--noir);color:var(--paper);padding:clamp(70px,10vh,130px) 0 40px}
.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:50px;
  padding-bottom:70px;border-bottom:1px solid rgba(243,239,231,.14)}
.footer-brand .fb-name{font-family:'Cormorant',serif;font-size:40px;letter-spacing:.1em;
  font-weight:300;margin-bottom:20px}
.footer-brand p{color:rgba(243,239,231,.6);font-size:15px;max-width:32ch;font-weight:300}
.footer-col h5{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--earth);
  margin-bottom:22px;font-weight:400}
.footer-col a,.footer-col p{display:block;color:rgba(243,239,231,.72);font-size:15px;
  margin-bottom:12px;transition:color .4s,padding-left .4s var(--ease);font-weight:300}
.footer-col a:hover{color:var(--paper);padding-left:6px}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;
  padding-top:30px;color:rgba(243,239,231,.45);font-size:12.5px;letter-spacing:.06em}
.footer-bottom .big{position:absolute}
.footer-mark{font-family:'Cormorant',serif;font-size:clamp(60px,16vw,230px);line-height:.8;
  color:rgba(243,239,231,.05);text-align:center;padding-top:60px;letter-spacing:.04em;
  pointer-events:none;user-select:none}
@media(max-width:920px){
  .footer-top{grid-template-columns:1fr 1fr;gap:40px}
}
@media(max-width:560px){
  .footer-top{grid-template-columns:1fr}
}

/* reduced motion */
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.01ms!important;transition-duration:.01ms!important}
  .fx,.fx-line i,.fx-img img{opacity:1!important;transform:none!important}
  body{cursor:auto}.cursor,.cursor-ring{display:none}
}
