/* MOMENTE PUBLIC V10 POLISH
   Final visual hierarchy / responsive refinement.
   No admin, DB, API or security changes.
*/

:root{
  --v10-brown:#4B2D1C;
  --v10-paper:#F7F0E7;
  --v10-accent:#A98262;
  --v10-line:rgba(75,45,28,.14);
}

html{
  scroll-padding-top:78px;
}

/* ---------------- Header ---------------- */

.topbar{
  height:68px !important;
  padding-inline:clamp(18px,4.2vw,72px) !important;
  gap:26px !important;
}

.topbar.scrolled{
  height:64px !important;
}

.topbar nav{
  gap:32px !important;
  font-size:14px !important;
  line-height:1 !important;
}

.topbar nav a{
  padding-block:7px !important;
}

.top-actions .btn{
  padding:10px 20px !important;
  font-size:12px !important;
}

/* ---------------- Hero ---------------- */

.hero-inner{
  max-width:690px !important;
}

.hero h1{
  max-width:680px !important;
  line-height:1.22 !important;
}

.hero-copy{
  max-width:560px !important;
  line-height:1.85 !important;
}

/* ---------------- Editorial sections ---------------- */

.manifesto{
  padding:88px 24px !important;
}

.manifesto h2{
  max-width:900px !important;
  margin-top:13px !important;
  margin-bottom:18px !important;
}

.story.section{
  padding-top:92px !important;
  padding-bottom:92px !important;
}

.story{
  gap:clamp(42px,5.5vw,82px) !important;
}

.about-real-photo{
  height:clamp(420px,43vw,590px) !important;
  border-radius:30px 30px 30px 8px !important;
}

.story-copy h2{
  font-size:clamp(38px,4.1vw,58px) !important;
  line-height:1.22 !important;
  margin:9px 0 16px !important;
}

.story-copy > p:not(.kicker){
  line-height:1.9 !important;
}

.story-signature{
  margin-top:22px !important;
  padding-top:16px !important;
}

.experience.section{
  padding-top:84px !important;
  padding-bottom:82px !important;
}

.experience-head{
  padding-bottom:28px !important;
}

.experience h2{
  font-size:clamp(32px,3.5vw,48px) !important;
}

.experience-line article{
  padding:34px 28px !important;
}

.experience-line h3{
  margin-top:20px !important;
}

.gallery-section.section,
.packages.section,
.moments.section{
  padding-top:88px !important;
  padding-bottom:88px !important;
}

.section-head{
  margin-bottom:34px !important;
  padding-bottom:20px !important;
}

.gallery-grid{
  gap:14px !important;
  grid-auto-rows:210px !important;
}

.gallery-card{
  border-radius:22px !important;
}

/* ---------------- CTA ---------------- */

.cta.section{
  padding-top:84px !important;
  padding-bottom:84px !important;
  min-height:0 !important;
  align-items:center !important;
}

.cta h2{
  font-size:clamp(38px,4vw,56px) !important;
  line-height:1.35 !important;
}

.cta-actions{
  align-items:center !important;
}

/* ---------------- Footer ---------------- */

footer{
  padding-top:46px !important;
  row-gap:24px !important;
}

.footer-logo img{
  width:138px !important;
  height:50px !important;
  max-width:138px !important;
  max-height:50px !important;
  object-fit:cover !important;
  object-position:center 51.5% !important;
}

.footer-logo span{
  margin-top:7px !important;
  font-size:7px !important;
  letter-spacing:.20em !important;
}

.footer-links,
.footer-contact{
  line-height:1.8 !important;
}

/* ---------------- Tablet / mobile ---------------- */

@media(max-width:950px){
  .topbar{
    height:64px !important;
  }

  .menu-toggle{
    display:grid !important;
    place-items:center !important;
    width:42px !important;
    height:42px !important;
    padding:0 !important;
    margin-inline-start:0 !important;
    margin-inline-end:auto !important;
    border:1px solid rgba(255,255,255,.34) !important;
    border-radius:50% !important;
    background:rgba(38,24,16,.16) !important;
    backdrop-filter:blur(10px) !important;
    -webkit-backdrop-filter:blur(10px) !important;
    font-size:22px !important;
    line-height:1 !important;
    cursor:pointer !important;
  }

  .topbar.scrolled .menu-toggle{
    border-color:var(--v10-line) !important;
    background:rgba(247,240,231,.82) !important;
    color:var(--v10-brown) !important;
  }

  .topbar nav{
    top:72px !important;
    right:12px !important;
    left:auto !important;
    width:min(320px,calc(100vw - 24px)) !important;
    gap:0 !important;
    padding:8px !important;
    border:1px solid var(--v10-line) !important;
    border-radius:20px !important;
    background:rgba(250,245,238,.97) !important;
    box-shadow:0 24px 70px rgba(54,34,22,.18) !important;
    backdrop-filter:blur(18px) !important;
    -webkit-backdrop-filter:blur(18px) !important;
    overflow:hidden !important;
  }

  .topbar nav a{
    min-height:48px !important;
    display:flex !important;
    align-items:center !important;
    padding:0 14px !important;
    border-radius:12px !important;
    font-size:14px !important;
    border-bottom:1px solid rgba(75,45,28,.07) !important;
  }

  .topbar nav a:last-child{
    border-bottom:0 !important;
  }

  .topbar nav a:hover,
  .topbar nav a:focus-visible{
    background:rgba(169,130,98,.11) !important;
  }
}

@media(max-width:620px){
  html{
    scroll-padding-top:66px;
  }

  .topbar,
  .topbar.scrolled{
    height:62px !important;
    padding-inline:14px !important;
  }

  .menu-toggle{
    width:40px !important;
    height:40px !important;
    font-size:21px !important;
  }

  .topbar nav{
    top:68px !important;
  }

  .hero{
    min-height:90svh !important;
  }

  .hero-inner{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:74px 22px 34px !important;
    text-align:right !important;
  }

  .hero .micro{
    font-size:9px !important;
    letter-spacing:.16em !important;
  }

  .hero h1{
    max-width:350px !important;
    font-size:clamp(40px,11vw,48px) !important;
    line-height:1.28 !important;
    margin:16px 0 16px !important;
  }

  .hero-copy{
    max-width:345px !important;
    font-size:14px !important;
    line-height:1.85 !important;
  }

  .hero-actions{
    width:100% !important;
    margin-top:24px !important;
    gap:10px !important;
  }

  .hero-actions .btn{
    min-height:50px !important;
    padding-inline:16px !important;
  }

  .manifesto{
    padding:66px 20px !important;
  }

  .manifesto p{
    margin-bottom:6px !important;
  }

  .manifesto h2{
    font-size:clamp(30px,8vw,36px) !important;
    line-height:1.5 !important;
    margin:10px auto 16px !important;
  }

  .manifesto span{
    font-size:22px !important;
  }

  .story.section{
    padding:62px 18px 64px !important;
  }

  .story{
    gap:28px !important;
  }

  .about-real-photo{
    height:108vw !important;
    max-height:510px !important;
    border-radius:24px 24px 24px 7px !important;
  }

  .story-copy{
    padding-inline:4px !important;
  }

  .story-copy h2{
    max-width:330px !important;
    font-size:clamp(34px,9vw,40px) !important;
    line-height:1.28 !important;
    margin:8px 0 14px !important;
  }

  .story-copy > p:not(.kicker){
    font-size:14px !important;
    line-height:2 !important;
  }

  .story-signature{
    font-size:22px !important;
  }

  .experience.section{
    padding:64px 16px 58px !important;
  }

  .experience-head{
    padding:0 2px 22px !important;
  }

  .experience h2{
    max-width:340px !important;
    font-size:34px !important;
    line-height:1.55 !important;
  }

  .experience-line article{
    padding:24px 6px 26px !important;
  }

  .experience-line span{
    font-size:23px !important;
  }

  .experience-line h3{
    margin:14px 0 5px !important;
    font-size:17px !important;
  }

  .experience-line p{
    font-size:13px !important;
    line-height:1.9 !important;
  }

  .gallery-section.section,
  .packages.section,
  .moments.section{
    padding:64px 14px !important;
  }

  .section-head{
    margin-bottom:24px !important;
    padding:0 4px 17px !important;
  }

  .section-head h2{
    font-size:34px !important;
    line-height:1.4 !important;
  }

  .gallery-grid{
    grid-auto-rows:155px !important;
    gap:8px !important;
  }

  .gallery-card{
    border-radius:18px !important;
  }

  .gallery-card:nth-child(1),
  .gallery-card:nth-child(4){
    grid-row:span 2 !important;
  }

  .cta.section{
    padding:62px 20px !important;
    gap:30px !important;
  }

  .cta h2{
    font-size:37px !important;
    line-height:1.45 !important;
    margin-block:10px 14px !important;
  }

  .cta-actions{
    width:100% !important;
    gap:10px !important;
  }

  .cta-actions .btn{
    min-height:48px !important;
  }

  .momente-social-band{
    padding:22px 20px !important;
  }

  .momente-social-copy h2{
    font-size:23px !important;
  }

  footer{
    padding:34px 18px 18px !important;
    gap:24px !important;
    text-align:center !important;
  }

  .footer-logo img{
    width:128px !important;
    height:46px !important;
    max-width:128px !important;
    max-height:46px !important;
    object-fit:cover !important;
    object-position:center 51.5% !important;
  }

  .footer-links,
  .footer-contact{
    gap:6px !important;
  }

  .copyright{
    padding-top:18px !important;
  }

  .vibex-maker{
    padding-top:14px !important;
  }
}

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