/* =========================================================
   AMAZING ATESH — Private Club Aesthetic
   Charcoal / Bone / Champagne Gold
========================================================= */

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

:root{
  --bg:#151515;
  --bg-soft:#1C1B19;
  --bg-elevated:#211F1C;

  --text:#EAE6DF;
  --muted:#9C958A;

  --gold:#C6A76B;
  --gold-hover:#D9C29A;
  --gold-active:#A8895A;

  --line:rgba(234,230,223,.08);
  --line-strong:rgba(234,230,223,.16);

  --shadow:0 30px 90px rgba(0,0,0,.45);

  --ease:cubic-bezier(.22,1,.36,1);
}

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

/* Глобальная защита: ни одна картинка на сайте не может быть шире
   своего контейнера, даже если для неё забыли прописать стили */
img{
  max-width:100%;
  height:auto;
}

body{
  font-family:"Inter",sans-serif;
  background:var(--bg);
  color:var(--text);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *{ animation-duration:.01ms !important; transition-duration:.01ms !important; }
}

.container{
  width:min(1280px,92%);
  margin:auto;
}

section{
  padding:140px 0;
}

/* =========================================================
   TYPOGRAPHY
========================================================= */

h1,h2,h3,h4{
  font-family:"Cormorant",serif;
  font-weight:500;
  letter-spacing:.5px;
  line-height:1.1;
  color:#fff;
}

h1{
  font-size:clamp(40px,6vw,84px);
  font-weight:400;
  letter-spacing:1px;
}

h2{
  font-size:clamp(34px,4.5vw,58px);
  font-weight:400;
}

h3{
  font-size:clamp(22px,2.4vw,30px);
  font-weight:500;
}

.eyebrow{
  font-family:"Inter",sans-serif;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:4px;
  color:var(--gold);
  font-weight:500;
}

p{
  font-size:17px;
  line-height:1.85;
  color:var(--muted);
  font-weight:300;
}

.lead{
  font-size:20px;
  color:var(--text);
  font-weight:300;
  line-height:1.7;
}

a{
  color:inherit;
}

/* =========================================================
   HEADER
========================================================= */

.header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:999;

  display:flex;
  align-items:center;
  justify-content:space-between;

  padding:28px 0;

  background:linear-gradient(180deg, rgba(21,21,21,.92), rgba(21,21,21,0));
  backdrop-filter:blur(10px);

  transition:padding .5s var(--ease), background .5s var(--ease);
}

.header.scrolled{
  padding:18px 0;
  background:rgba(21,21,21,.85);
  border-bottom:1px solid var(--line);
}

.header .container{
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.logo{
  font-family:"Cormorant",serif;
  font-size:20px;
  letter-spacing:6px;
  text-transform:uppercase;
  color:var(--text);
  text-decoration:none;
  font-weight:500;
}

.logo span{
  color:var(--gold);
}

.nav-right{
  display:flex;
  align-items:center;
  gap:44px;
}

nav{
  display:flex;
  gap:40px;
}

nav a{
  text-decoration:none;
  color:var(--muted);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:2.5px;
  font-weight:400;
  transition:color .4s var(--ease);
  position:relative;
}

nav a.active,
nav a:hover{
  color:var(--text);
}

nav a.active::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-8px;
  width:100%;
  height:1px;
  background:var(--gold);
}

/* =========================================================
   BUTTONS
========================================================= */

.btn-gold{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;

  padding:16px 36px;

  border:1px solid var(--gold);
  border-radius:2px;

  background:transparent;
  color:var(--gold);

  font-size:11px;
  text-transform:uppercase;
  letter-spacing:3px;
  font-weight:500;
  text-decoration:none;

  transition:background .5s var(--ease), color .5s var(--ease), border-color .5s var(--ease);
}

.btn-gold:hover{
  background:var(--gold);
  color:var(--bg);
  border-color:var(--gold-hover);
}

.btn-gold:active{
  background:var(--gold-active);
  border-color:var(--gold-active);
}

.btn-ghost{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;

  padding:16px 36px;

  border:1px solid var(--line-strong);
  border-radius:2px;

  background:transparent;
  color:var(--text);

  font-size:11px;
  text-transform:uppercase;
  letter-spacing:3px;
  font-weight:500;
  text-decoration:none;

  transition:border-color .5s var(--ease), color .5s var(--ease);
}

.btn-ghost:hover{
  border-color:var(--gold);
  color:var(--gold);
}

.btn-row{
  display:flex;
  gap:18px;
  flex-wrap:wrap;
}

/* =========================================================
   SIGNATURE GOLD LINE — breathing divider
========================================================= */

.gold-line{
  width:72px;
  height:1px;
  background:var(--gold);
  margin:0 auto 28px;
  animation:breathe 4.5s ease-in-out infinite;
}

.gold-line.left{
  margin:0 0 28px;
}

@keyframes breathe{
  0%,100%{ opacity:.4; transform:scaleX(1); }
  50%{ opacity:1; transform:scaleX(1.4); }
}

/* =========================================================
   HERO (shared pattern for inner pages)
========================================================= */

.page-hero{
  min-height:60vh;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding-top:160px;
  padding-bottom:100px;
  border-bottom:1px solid var(--line);
}

.page-hero .eyebrow{
  margin-bottom:18px;
}

.page-hero p{
  max-width:580px;
  margin:24px auto 0;
}

/* =========================================================
   FULLSCREEN HERO (index)
========================================================= */

.hero{
  min-height:100vh;
  min-height:100svh; /* современные браузеры — учитывает мобильный UI */
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  position:relative;
  overflow:hidden;
}

.hero-bg{
  position:absolute;
  inset:0;
  background:#0f0f0f;
  z-index:0;
  overflow:hidden;
}

/* Затемняющий оверлей поверх видео */
.hero-bg::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 50% 30%, rgba(198,167,107,.12), transparent 55%),
    linear-gradient(180deg, rgba(15,15,15,.45) 0%, rgba(21,21,21,.55) 60%, rgba(26,25,23,.75) 100%);
  z-index:1;
}

/* Текстура-шум */
.hero-bg::after{
  content:"";
  position:absolute;
  inset:0;
  opacity:.04;
  mix-blend-mode:soft-light;
  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='.8'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");
  z-index:2;
}

.hero-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  z-index:0;

  /* Важно для iOS Safari */
  -webkit-playsinline:true;
}

@media(max-width:768px){
  .hero-video{
    /* Оставляем видео видимым, но оптимизируем под мобильные */
    display:block;
    /* Фикс для iOS: позволяет видео занимать всю высоту */
    min-height:100%;
    min-width:100%;
    object-position:center center;
  }
  .hero{
    /* На iOS 100vh может быть больше видимой области из-за браузерного UI */
    min-height:-webkit-fill-available;
    min-height:100svh;
  }
}

.hero-content{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:center;
}

.hero h1{
  max-width:880px;
  font-style:italic;
  font-weight:400;
}

.hero .lead{
  max-width:520px;
  margin:28px auto 40px;
  color:var(--muted);
}

.scroll-cue{
  position:absolute;
  bottom:40px;
  left:50%;
  transform:translateX(-50%);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  font-size:10px;
  letter-spacing:3px;
  text-transform:uppercase;
  color:var(--muted);
  z-index:2;
}

.scroll-cue .line{
  width:1px;
  height:40px;
  background:linear-gradient(180deg, var(--gold), transparent);
  animation:scrollLine 2.4s ease-in-out infinite;
}

@keyframes scrollLine{
  0%{ transform:scaleY(0); transform-origin:top; opacity:0; }
  40%{ transform:scaleY(1); transform-origin:top; opacity:1; }
  60%{ transform:scaleY(1); transform-origin:bottom; opacity:1; }
  100%{ transform:scaleY(0); transform-origin:bottom; opacity:0; }
}

/* =========================================================
   STATS / EXCLUSIVITY SECTION
========================================================= */

.exclusivity{
  border-bottom:1px solid var(--line);
}

.exclusivity-head{
  text-align:center;
  max-width:640px;
  margin:0 auto 80px;
}

.exclusivity-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
}

.exclusivity-item{
  background:var(--bg);
  padding:50px 36px;
  text-align:center;
}

.exclusivity-item .mark{
  font-family:"Cormorant",serif;
  font-size:15px;
  color:var(--gold);
  font-style:italic;
  margin-bottom:18px;
  display:block;
}

.exclusivity-item h4{
  font-size:20px;
  font-weight:500;
  letter-spacing:.5px;
  margin-bottom:10px;
}

.exclusivity-item p{
  font-size:14px;
  line-height:1.7;
}

/* =========================================================
   SIGNATURE EXPERIENCES — 4 cards
========================================================= */

.experiences-head{
  text-align:center;
  max-width:640px;
  margin:0 auto 70px;
}

.experiences-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:2px;
}

.exp-card{
  position:relative;
  aspect-ratio:4/3;
  overflow:hidden;
  text-decoration:none;
  display:flex;
  align-items:flex-end;
  padding:40px;
  border:1px solid var(--line);
  backface-visibility:hidden;
  box-shadow:0 24px 40px rgba(0,0,0,.35);
}

.exp-card .exp-bg{
  position:absolute;
  inset:0;
  background-color:var(--bg-soft);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  transition:transform 1.4s var(--ease);
}

/* Фильтр поверх фото — такой же как на hero-video */
.exp-card .exp-bg::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 50% 30%, rgba(198,167,107,.10), transparent 60%),
    linear-gradient(180deg, rgba(15,15,15,.30) 0%, rgba(21,21,21,.50) 50%, rgba(15,15,15,.88) 100%);
  z-index:1;
}

/* Текстура-шум как на видео */
.exp-card .exp-bg::after{
  content:"";
  position:absolute;
  inset:0;
  opacity:.035;
  mix-blend-mode:soft-light;
  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='.8'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");
  z-index:2;
  pointer-events:none;
}

.exp-card:hover .exp-bg{
  transform:scale(1.06);
}

.exp-card-content{
  position:relative;
  z-index:1;
}

.exp-card .exp-num{
  font-family:"Cormorant",serif;
  font-size:13px;
  letter-spacing:3px;
  color:var(--gold);
  display:block;
  margin-bottom:12px;
}

.exp-card h3{
  font-size:clamp(22px,2.6vw,32px);
}

.exp-card .exp-arrow{
  position:absolute;
  top:40px;
  right:40px;
  z-index:1;
  width:36px;
  height:36px;
  border:1px solid var(--line-strong);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--text);
  font-size:16px;
  transition:border-color .4s var(--ease), transform .4s var(--ease), background .4s var(--ease);
}

.exp-card:hover .exp-arrow{
  border-color:var(--gold);
  background:var(--gold);
  color:var(--bg);
  transform:rotate(45deg);
}

/* =========================================================
   MANIFESTO / STORY BLOCK (black, large type)
========================================================= */

.manifesto{
  text-align:center;
  background:var(--bg-soft);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.manifesto h2{
  max-width:920px;
  margin:0 auto;
  font-style:italic;
  font-weight:300;
}

.manifesto h2 .accent{
  color:var(--gold);
  font-style:normal;
}

/* =========================================================
   AURELIA BLOCK
========================================================= */

.aurelia-block{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:100px;
  align-items:center;
}

.aurelia-visual{
  position:relative;
  aspect-ratio:1/1;
  border:1px solid var(--line-strong);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
}

.aurelia-visual::before,
.aurelia-visual::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:50%;
  border:1px solid var(--line);
}

.aurelia-visual::before{
  inset:40px;
  animation:breathe 6s ease-in-out infinite;
}

.aurelia-visual::after{
  inset:80px;
  border-color:var(--gold);
  opacity:.5;
  animation:breathe 6s ease-in-out infinite reverse;
}

.aurelia-visual .core{
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--gold);
  box-shadow:0 0 40px 10px rgba(198,167,107,.35);
}

.aurelia-copy .eyebrow{
  margin-bottom:18px;
}

.aurelia-copy h2{
  margin-bottom:20px;
  font-style:italic;
}

.aurelia-copy p{
  margin-bottom:32px;
  max-width:440px;
}

/* =========================================================
   PORTFOLIO GRID (index preview)
========================================================= */

.portfolio-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:40px;
  margin-bottom:70px;
}

.portfolio-head .right{
  text-align:right;
}

.portfolio-head h2{
  max-width:480px;
}

.portfolio-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}

.portfolio-grid .span-2{
  grid-column:span 2;
}

.pf-item{
  position:relative;
  aspect-ratio:4/5;
  overflow:hidden;
  text-decoration:none;
  display:block;
  backface-visibility:hidden;
  box-shadow:0 24px 40px rgba(0,0,0,.35);
}

.portfolio-grid .span-2 .pf-item{
  aspect-ratio:8/5;
}

.pf-item .pf-bg{
  position:absolute;
  inset:0;
  background-color:var(--bg-soft);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  transition:transform 1.4s var(--ease);
  overflow:hidden;
}

.pf-item{
  max-width:100%;
}

.pf-item .pf-bg{
  max-width:100%;
  max-height:100%;
}

/* Защита: даже если разметка отличается или CSS не докэшился —
   картинка внутри карточки не может вылезти за её пределы */
.pf-item .pf-bg img,
.pf-item img{
  position:absolute !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
  display:block !important;
}

.pf-item:hover .pf-bg{
  transform:scale(1.05);
}

.pf-item .pf-info{
  position:absolute;
  left:0;
  bottom:0;
  padding:28px;
  background:linear-gradient(180deg, transparent, rgba(0,0,0,.55));
  width:100%;
}

.pf-item .pf-info .eyebrow{
  margin-bottom:6px;
  display:block;
}

.pf-item h4{
  font-size:22px;
  font-weight:500;
}

/* =========================================================
   PHILOSOPHY (black, large quote)
========================================================= */

.philosophy-block{
  text-align:center;
  background:#0F0F0F;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.philosophy-block h2{
  max-width:780px;
  margin:0 auto;
  font-style:italic;
  font-weight:300;
}

.philosophy-block h2 .accent{
  color:var(--gold);
  font-style:normal;
}

/* =========================================================
   FINAL CTA
========================================================= */

.final-cta{
  text-align:center;
  position:relative;
}

.final-cta .eyebrow{
  margin-bottom:24px;
}

.final-cta h2{
  max-width:760px;
  margin:0 auto 36px;
  font-style:italic;
}

/* =========================================================
   GENERIC SECTION HEADER
========================================================= */

.section-head{
  text-align:center;
  max-width:680px;
  margin:0 auto 70px;
}

.section-head.left{
  text-align:left;
  margin:0 0 70px;
}

/* =========================================================
   TWO COLUMN TEXT BLOCK
========================================================= */

.split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:100px;
}

.split.reverse{
  direction:rtl;
}

.split.reverse > *{
  direction:ltr;
}

.split h2{
  margin-bottom:26px;
  font-style:italic;
}

.split p + p{
  margin-top:18px;
}

/* =========================================================
   NUMBERED ROWS (process / standards / etc.)
========================================================= */

.row-list{
  border-top:1px solid var(--line);
}

.row-item{
  display:grid;
  grid-template-columns:80px 1fr 2fr;
  gap:40px;
  align-items:start;
  padding:48px 0;
  border-bottom:1px solid var(--line);
}

.row-item .row-num{
  font-family:"Cormorant",serif;
  font-size:16px;
  color:var(--gold);
  font-style:italic;
}

.row-item h3{
  font-weight:500;
}

.row-item p{
  margin:0;
}

/* =========================================================
   FORM (Contact / Private Consultation)
========================================================= */

.form-wrap{
  max-width:680px;
  margin:0 auto;
}

.form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:32px 28px;
}

.form-grid .full{
  grid-column:1/-1;
}

.field{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.field label{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:2.5px;
  color:var(--muted);
}

.field input,
.field select,
.field textarea{
  background:transparent;
  border:none;
  border-bottom:1px solid var(--line-strong);
  padding:10px 0;
  color:var(--text);
  font-family:"Inter",sans-serif;
  font-size:16px;
  font-weight:300;
  transition:border-color .4s var(--ease);
}

.field select{
  cursor:pointer;
}

.field select option{
  background:var(--bg-soft);
  color:var(--text);
}

.field input::placeholder,
.field textarea::placeholder{
  color:var(--muted);
  opacity:.5;
}

.field input:focus,
.field select:focus,
.field textarea:focus{
  outline:none;
  border-color:var(--gold);
}

.form-submit{
  margin-top:48px;
  text-align:center;
}

.form-note{
  text-align:center;
  margin-top:24px;
  font-size:13px;
  letter-spacing:1px;
}

.form-result{
  display:none;
  text-align:center;
  padding:60px 0;
}

.form-result.show{
  display:block;
}

.form-result .gold-line{
  margin-bottom:24px;
}

.form-result h2{
  font-style:italic;
  margin-bottom:16px;
}

/* =========================================================
   AURELIA CHAT (dedicated page)
========================================================= */

.chat-shell{
  max-width:760px;
  margin:0 auto;
  border:1px solid var(--line);
  border-radius:4px;
  overflow:hidden;
  background:var(--bg-soft);
}

.chat-window{
  height:440px;
  overflow-y:auto;
  padding:40px;
  display:flex;
  flex-direction:column;
  gap:24px;
}

.chat-window::-webkit-scrollbar{
  width:6px;
}

.chat-window::-webkit-scrollbar-thumb{
  background:var(--line-strong);
  border-radius:4px;
}

.msg{
  max-width:80%;
  font-size:15px;
  line-height:1.75;
  font-weight:300;
}

.msg.aurelia{
  align-self:flex-start;
  color:var(--text);
}

.msg.aurelia .who{
  display:block;
  font-family:"Cormorant",serif;
  font-style:italic;
  color:var(--gold);
  font-size:14px;
  margin-bottom:6px;
}

.msg.user{
  align-self:flex-end;
  color:var(--muted);
  text-align:right;
}

.chat-input-row{
  display:flex;
  gap:0;
  border-top:1px solid var(--line);
}

.chat-input-row input{
  flex:1;
  background:transparent;
  border:none;
  padding:24px 32px;
  color:var(--text);
  font-family:"Inter",sans-serif;
  font-size:15px;
  font-weight:300;
}

.chat-input-row input::placeholder{
  color:var(--muted);
  opacity:.5;
}

.chat-input-row input:focus{
  outline:none;
}

.chat-input-row button{
  border:none;
  border-left:1px solid var(--line);
  background:transparent;
  color:var(--gold);
  padding:0 36px;
  font-family:"Inter",sans-serif;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:3px;
  cursor:pointer;
  transition:background .4s var(--ease), color .4s var(--ease);
}

.chat-input-row button:hover{
  background:var(--gold);
  color:var(--bg);
}

.chat-suggestions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  padding:0 40px 32px;
}

.chat-suggestion{
  border:1px solid var(--line-strong);
  border-radius:99px;
  padding:10px 20px;
  font-size:12px;
  color:var(--muted);
  cursor:pointer;
  transition:border-color .4s var(--ease), color .4s var(--ease);
  background:transparent;
  font-family:"Inter",sans-serif;
}

.chat-suggestion:hover{
  border-color:var(--gold);
  color:var(--gold);
}

/* =========================================================
   FOOTER
========================================================= */

.footer{
  border-top:1px solid var(--line);
  padding:70px 0;
}

.footer .container{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:30px;
}

.footer .logo{
  font-size:16px;
}

.footer-links{
  display:flex;
  gap:36px;
  flex-wrap:wrap;
}

.footer-links a{
  text-decoration:none;
  color:var(--muted);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:2px;
  transition:color .4s var(--ease);
}

.footer-links a:hover{
  color:var(--gold);
}

.footer-bottom{
  text-align:center;
  margin-top:50px;
  padding-top:30px;
  border-top:1px solid var(--line);
}

.footer-bottom p{
  font-size:12px;
  letter-spacing:1px;
}

/* =========================================================
   SCROLL REVEAL — subtle fade only
========================================================= */

.reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity 1s var(--ease), transform 1s var(--ease);
}

.reveal.active{
  opacity:1;
  transform:translateY(0);
}

/* =========================================================
   LANGUAGE SWITCH
========================================================= */

.lang-switch{
  display:flex;
  gap:4px;
  border:1px solid var(--line-strong);
  border-radius:99px;
  padding:4px;
}

.lang-switch button{
  border:none;
  background:transparent;
  color:var(--muted);
  font-family:"Inter",sans-serif;
  font-size:11px;
  letter-spacing:1px;
  padding:6px 14px;
  border-radius:99px;
  cursor:pointer;
  transition:background .4s var(--ease), color .4s var(--ease);
}

.lang-switch button.active{
  background:var(--gold);
  color:var(--bg);
}

/* =========================================================
   INTRO OVERLAY — counter + logo
========================================================= */

.intro-overlay{
  position:fixed;
  inset:0;
  z-index:9999;
  background:var(--bg);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  transition:opacity 1s var(--ease), visibility 1s var(--ease);
}

.intro-overlay.hidden{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}

.intro-inner{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:0;
}

.intro-logo{
  font-family:"Cormorant",serif;
  font-size:clamp(28px,5vw,56px);
  letter-spacing:10px;
  text-transform:uppercase;
  color:var(--text);
  font-weight:400;
  opacity:0;
  transform:translateY(16px);
  animation:introLogoIn 1s var(--ease) .2s forwards;
}

.intro-logo span{
  color:var(--gold);
}

.intro-tagline{
  font-family:"Inter",sans-serif;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:5px;
  color:var(--muted);
  margin-top:14px;
  opacity:0;
  animation:introFadeIn .8s var(--ease) .9s forwards;
}

.intro-progress-wrap{
  width:clamp(200px,30vw,360px);
  height:1px;
  background:rgba(234,230,223,.1);
  margin-top:48px;
  position:relative;
  overflow:hidden;
}

.intro-progress-bar{
  height:100%;
  width:0%;
  background:var(--gold);
  transition:width .05s linear;
  box-shadow:0 0 12px rgba(198,167,107,.5);
}

.intro-counter{
  font-family:"Cormorant",serif;
  font-size:clamp(13px,1.5vw,16px);
  color:var(--gold);
  letter-spacing:3px;
  margin-top:16px;
  font-style:italic;
  opacity:0;
  animation:introFadeIn .8s var(--ease) .9s forwards;
  min-width:3ch;
  text-align:right;
  align-self:flex-end;
  margin-right:calc((100% - clamp(200px,30vw,360px)) / 2);
}

@keyframes introLogoIn{
  to{ opacity:1; transform:translateY(0); }
}

@keyframes introFadeIn{
  to{ opacity:1; }
}

/* =========================================================
   BACK TO HOME — floating button
========================================================= */

.btn-home{
  position:fixed;
  bottom:36px;
  right:36px;
  z-index:997;

  display:inline-flex;
  align-items:center;
  gap:10px;

  padding:14px 28px;

  border:1px solid var(--gold);
  border-radius:2px;

  background:rgba(21,21,21,.85);
  backdrop-filter:blur(12px);
  color:var(--gold);

  font-family:"Inter",sans-serif;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:3px;
  font-weight:500;
  text-decoration:none;

  transition:background .5s var(--ease), color .5s var(--ease), opacity .5s var(--ease), transform .5s var(--ease);

  opacity:0;
  transform:translateY(12px);
  pointer-events:none;
}

.btn-home.visible{
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}

.btn-home svg{
  width:13px;
  height:13px;
  stroke:currentColor;
  fill:none;
  flex-shrink:0;
  transition:transform .4s var(--ease);
}

.btn-home:hover{
  background:var(--gold);
  color:var(--bg);
}

.btn-home:hover svg{
  transform:translateX(-3px);
}

@media(max-width:980px){
  .btn-home{
    bottom:24px;
    right:20px;
    padding:12px 20px;
  }
}

/* =========================================================
   MOBILE NAV TOGGLE
========================================================= */

.menu-toggle{
  display:none;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:5px;
  width:38px;
  height:38px;
  background:none;
  border:none;
  cursor:pointer;
  padding:8px;
  position:relative;
  z-index:999;
}

.menu-toggle span{
  display:block;
  width:22px;
  height:1px;
  background:var(--text);
  transition:transform .4s var(--ease), opacity .3s var(--ease), background .4s var(--ease);
}

/* burger → X morph */
.menu-toggle.open span:nth-child(1){
  transform:translateY(6px) rotate(45deg);
}

.menu-toggle.open span:nth-child(2){
  opacity:0;
  transform:scaleX(0);
}

.menu-toggle.open span:nth-child(3){
  transform:translateY(-6px) rotate(-45deg);
}

.menu-toggle.open span{
  background:var(--gold);
}

/* =========================================================
   MOBILE
========================================================= */

@media(max-width:980px){

  section{
    padding:90px 0;
  }

  .nav-right nav{
    position:fixed;
    top:0;
    right:0;
    height:100vh;
    width:min(320px,80%);
    background:var(--bg-soft);
    border-left:1px solid var(--line);
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    gap:32px;
    padding:60px 40px;
    transform:translateX(100%);
    transition:transform .5s var(--ease);
    z-index:998;
  }

  .nav-right nav.open{
    transform:translateX(0);
  }

  .menu-toggle{
    display:flex;
  }

  .exclusivity-grid{
    grid-template-columns:1fr 1fr;
  }

  .experiences-grid{
    grid-template-columns:1fr;
  }

  .aurelia-block,
  .split,
  .split.reverse{
    display:grid;
    grid-template-columns:1fr;
    gap:50px;
    direction:ltr;
  }

  .portfolio-grid{
    grid-template-columns:1fr;
  }

  .portfolio-grid .span-2{
    grid-column:span 1;
  }

  .portfolio-head{
    flex-direction:column;
    align-items:flex-start;
  }

  .portfolio-head .right{
    text-align:left;
  }

  .row-item{
    grid-template-columns:1fr;
    gap:16px;
  }

  .form-grid{
    grid-template-columns:1fr;
  }

  .footer .container{
    flex-direction:column;
    text-align:center;
  }

  .footer-links{
    justify-content:center;
  }
}
