/* ==========================================================================
   STAYNEXT — STYLESHEET
   Design tokens: navy #0B1F3A · ivory #FBF9F5 · gold #C6A15B · ink #1C2733
   Display face: Fraunces (serif) · Body/UI face: Manrope (sans)
   ========================================================================== */

:root{
  --navy: #0B1F3A;
  --navy-light: #142b4f;
  --ivory: #FBF9F5;
  --ivory-dim: #F2EEE4;
  --gold: #C6A15B;
  --gold-light: #E0C88E;
  --ink: #1C2733;
  --ink-soft: #56606C;
  --line: rgba(11,31,58,0.10);
  --radius: 14px;
  --shadow: 0 20px 50px -20px rgba(11,31,58,0.25);
  --ease: cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *{ animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; }
}

body{
  margin:0;
  font-family:'Manrope', sans-serif;
  color:var(--ink);
  background:var(--ivory);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}

img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ list-style:none; margin:0; padding:0; }

.container{
  width:100%;
  max-width:1180px;
  margin:0 auto;
  padding:0 24px;
}

h1,h2,h3{
  font-family:'Fraunces', serif;
  color:var(--navy);
  margin:0 0 0.4em;
  font-weight:600;
  letter-spacing:-0.01em;
}

:focus-visible{
  outline:2px solid var(--gold);
  outline-offset:3px;
}

/* ---------- Reveal-on-scroll ---------- */
.reveal{
  opacity:0;
  transform:translateY(24px);
  transition:opacity 0.7s var(--ease), transform 0.7s var(--ease);
}
.reveal.in-view{ opacity:1; transform:translateY(0); }

/* ---------- Eyebrow / section heads ---------- */
.eyebrow{
  font-family:'Manrope', sans-serif;
  font-weight:700;
  letter-spacing:0.14em;
  text-transform:uppercase;
  font-size:0.78rem;
  color:var(--gold);
  margin:0 0 14px;
}
.eyebrow.center{ text-align:center; }

.section-title{
  font-size:clamp(1.7rem, 3vw, 2.5rem);
  line-height:1.18;
}
.section-title.center{ text-align:center; max-width:680px; margin-left:auto; margin-right:auto; }
.section-sub{
  color:var(--ink-soft);
  max-width:560px;
  margin:0 auto 48px;
  text-align:center;
}
.center{ text-align:center; }

section{ padding:96px 0; }

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:15px 30px;
  border-radius:999px;
  font-weight:700;
  font-size:0.95rem;
  letter-spacing:0.01em;
  transition:transform 0.25s var(--ease), box-shadow 0.25s var(--ease), background 0.25s var(--ease), color 0.25s var(--ease);
  border:1.5px solid transparent;
  cursor:pointer;
}
.btn-gold{
  background:var(--gold);
  color:var(--navy);
}
.btn-gold:hover{
  background:var(--gold-light);
  transform:translateY(-2px);
  box-shadow:0 14px 30px -12px rgba(198,161,91,0.6);
}
.btn-outline{
  background:transparent;
  border-color:rgba(251,249,245,0.5);
  color:var(--ivory);
}
.btn-outline:hover{
  border-color:var(--ivory);
  background:rgba(251,249,245,0.08);
  transform:translateY(-2px);
}

/* ==========================================================================
   NAVIGATION
   ========================================================================== */
.nav-wrap{
  position:fixed;
  top:0; left:0; right:0;
  z-index:100;
  background:rgba(251,249,245,0.85);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:76px;
}
.nav-logo{
  font-family:'Fraunces', serif;
  font-size:1.4rem;
  font-weight:600;
  color:var(--navy);
}
.nav-logo span{ color:var(--gold); }

.nav-links{
  display:flex;
  align-items:center;
  gap:30px;
}
.nav-links a{
  font-size:0.92rem;
  font-weight:600;
  color:var(--ink-soft);
  transition:color 0.2s var(--ease);
}
.nav-links a:hover{ color:var(--navy); }
.nav-cta{
  background:var(--navy);
  color:var(--ivory) !important;
  padding:10px 20px;
  border-radius:999px;
}
.nav-cta:hover{ background:var(--navy-light); }

.nav-toggle{
  display:none;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  width:38px;
  height:38px;
  background:none;
  border:none;
  cursor:pointer;
}
.nav-toggle span{
  display:block;
  height:2px;
  background:var(--navy);
  border-radius:2px;
  transition:transform 0.3s var(--ease), opacity 0.3s var(--ease);
}

/* ==========================================================================
   HERO
   ========================================================================== */
.hero{
  position:relative;
  min-height:100vh;
  display:flex;
  align-items:flex-end;
  color:var(--ivory);
  overflow:hidden;
}
.hero-bg{ position:absolute; inset:0; z-index:0; }
.hero-bg img{ width:100%; height:100%; object-fit:cover; }
.hero-overlay{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(11,31,58,0.55) 0%, rgba(11,31,58,0.78) 60%, rgba(11,31,58,0.94) 100%);
}
.hero-inner{
  position:relative;
  z-index:1;
  padding-top:160px;
  padding-bottom:80px;
}
.hero .eyebrow{ color:var(--gold-light); }
.hero-title{
  color:var(--ivory);
  font-size:clamp(2.4rem, 5.6vw, 4.4rem);
  line-height:1.08;
  max-width:780px;
}
.hero-sub{
  max-width:540px;
  font-size:1.08rem;
  color:rgba(251,249,245,0.85);
  margin-bottom:34px;
}
.hero-ctas{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  margin-bottom:56px;
}

.hero-trust{
  display:flex;
  align-items:center;
  gap:28px;
  flex-wrap:wrap;
  padding-top:32px;
  border-top:1px solid rgba(251,249,245,0.2);
}
.trust-item{ display:flex; flex-direction:column; }
.trust-num{
  font-family:'Fraunces', serif;
  font-size:2rem;
  font-weight:600;
  color:var(--gold-light);
  display:inline;
}
.trust-suffix{
  font-family:'Fraunces', serif;
  font-size:2rem;
  font-weight:600;
  color:var(--gold-light);
}
.trust-label{
  font-size:0.8rem;
  color:rgba(251,249,245,0.7);
  margin-top:2px;
}
.trust-divider{
  width:1px; height:36px;
  background:rgba(251,249,245,0.2);
}
.hero-footnote{
  font-size:0.74rem;
  color:rgba(251,249,245,0.45);
  margin-top:14px;
}

.scroll-cue{
  position:absolute;
  bottom:28px; left:50%;
  transform:translateX(-50%);
  z-index:1;
  width:26px; height:42px;
  border:1.5px solid rgba(251,249,245,0.5);
  border-radius:20px;
}
.scroll-cue span{
  position:absolute;
  top:8px; left:50%;
  width:4px; height:8px;
  background:var(--gold-light);
  border-radius:2px;
  transform:translateX(-50%);
  animation:scrollCue 1.8s infinite;
}
@keyframes scrollCue{
  0%{ opacity:1; top:8px; }
  70%{ opacity:0; top:22px; }
  100%{ opacity:0; top:8px; }
}

/* ==========================================================================
   ABOUT
   ========================================================================== */
.about-grid{
  display:grid;
  grid-template-columns:0.85fr 1.15fr;
  gap:72px;
  align-items:center;
}
.about-media{ position:relative; }
.about-media img{
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  aspect-ratio:4/5;
  object-fit:cover;
}
.about-media-card{
  position:absolute;
  bottom:-24px; left:-24px;
  background:var(--navy);
  color:var(--ivory);
  padding:18px 22px;
  border-radius:12px;
  box-shadow:var(--shadow);
  display:flex;
  flex-direction:column;
  gap:2px;
}
.about-media-card strong{ font-family:'Fraunces', serif; color:var(--gold-light); }
.about-media-card span{ font-size:0.8rem; color:rgba(251,249,245,0.75); }

.about-copy p{ color:var(--ink-soft); }
.about-pillars{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
  margin-top:36px;
}
.pillar-num{
  font-family:'Fraunces', serif;
  color:var(--gold);
  font-size:0.85rem;
  font-weight:600;
}
.pillar h3{ font-size:1.05rem; margin:6px 0 6px; }
.pillar p{ font-size:0.88rem; color:var(--ink-soft); margin:0; }

/* ==========================================================================
   SERVICES
   ========================================================================== */
.services{ background:var(--ivory-dim); }
.service-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:28px;
}
.service-card{
  background:var(--ivory);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:34px 30px;
  transition:transform 0.3s var(--ease), box-shadow 0.3s var(--ease), border-color 0.3s var(--ease);
}
.service-card:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow);
  border-color:var(--gold);
}
.service-icon{ font-size:1.8rem; margin-bottom:16px; }
.service-card h3{ font-size:1.15rem; margin-bottom:8px; }
.service-card p{ color:var(--ink-soft); font-size:0.92rem; margin-bottom:16px; }
.service-card ul{ display:flex; flex-direction:column; gap:8px; }
.service-card li{
  font-size:0.86rem;
  color:var(--ink);
  padding-left:18px;
  position:relative;
}
.service-card li::before{
  content:"";
  position:absolute;
  left:0; top:9px;
  width:6px; height:6px;
  background:var(--gold);
  border-radius:50%;
}

/* ==========================================================================
   WHY CHOOSE US
   ========================================================================== */
.why-grid{
  display:grid;
  grid-template-columns:1.15fr 0.85fr;
  gap:64px;
  align-items:start;
}
.why-copy p{ color:var(--ink-soft); }
.why-list{ margin-top:28px; display:flex; flex-direction:column; gap:20px; }
.why-item{ display:flex; gap:16px; align-items:flex-start; }
.why-check{
  flex:none;
  width:28px; height:28px;
  border-radius:50%;
  background:var(--navy);
  color:var(--gold-light);
  display:flex; align-items:center; justify-content:center;
  font-size:0.8rem;
  margin-top:2px;
}
.why-item strong{ font-family:'Fraunces', serif; color:var(--navy); font-size:1.02rem; }
.why-item p{ margin:2px 0 0; font-size:0.9rem; color:var(--ink-soft); }

.why-stats{
  background:var(--navy);
  border-radius:var(--radius);
  padding:40px 34px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
  box-shadow:var(--shadow);
}
.stat-card{ color:var(--ivory); }
.stat-num{
  font-family:'Fraunces', serif;
  font-size:2.2rem;
  color:var(--gold-light);
  font-weight:600;
}
.stat-card .trust-suffix{
  font-family:'Fraunces', serif;
  font-size:2.2rem;
  color:var(--gold-light);
  font-weight:600;
}
.stat-card p{
  font-size:0.82rem;
  color:rgba(251,249,245,0.7);
  margin:4px 0 0;
}
.stat-footnote{
  grid-column:1/-1;
  font-size:0.72rem;
  color:rgba(251,249,245,0.4);
  margin:0;
}

/* ==========================================================================
   PROCESS
   ========================================================================== */
.process-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
}
.process-step{
  background:var(--ivory);
  padding:36px 30px;
  transition:background 0.3s var(--ease);
}
.process-step:hover{ background:var(--ivory-dim); }
.process-num{
  font-family:'Fraunces', serif;
  font-size:1.6rem;
  color:var(--gold);
  font-weight:600;
}
.process-step h3{ font-size:1.05rem; margin:10px 0 8px; }
.process-step p{ font-size:0.88rem; color:var(--ink-soft); margin:0; }

/* ==========================================================================
   INDUSTRIES
   ========================================================================== */
.industries{ background:var(--ivory-dim); }
.industry-grid{
  display:grid;
  grid-template-columns:repeat(6, 1fr);
  gap:18px;
}
.industry-card{
  position:relative;
  border-radius:12px;
  overflow:hidden;
  aspect-ratio:3/4;
}
.industry-card img{
  width:100%; height:100%; object-fit:cover;
  transition:transform 0.5s var(--ease);
}
.industry-card:hover img{ transform:scale(1.08); }
.industry-card::after{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(11,31,58,0) 40%, rgba(11,31,58,0.85) 100%);
}
.industry-card span{
  position:absolute;
  bottom:14px; left:14px; right:14px;
  z-index:1;
  color:var(--ivory);
  font-weight:700;
  font-size:0.86rem;
}

/* ==========================================================================
   TESTIMONIALS
   ========================================================================== */
.testimonial-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:28px;
}
.testimonial-card{
  margin:0;
  background:var(--ivory);
  border:1px solid var(--line);
  border-left:3px solid var(--gold);
  border-radius:var(--radius);
  padding:30px 28px;
}
.testimonial-card p{
  font-family:'Fraunces', serif;
  font-size:1.05rem;
  color:var(--navy);
  line-height:1.5;
  margin:0 0 18px;
}
.testimonial-card footer{
  font-size:0.82rem;
  color:var(--ink-soft);
}
.testimonial-note{
  margin-top:28px;
  font-size:0.82rem;
  color:var(--ink-soft);
  font-style:italic;
}

/* ==========================================================================
   FAQ
   ========================================================================== */
.faq-wrap{ max-width:820px; }
.faq-list{ display:flex; flex-direction:column; gap:12px; }
.faq-item{
  background:var(--ivory-dim);
  border:1px solid var(--line);
  border-radius:12px;
  padding:6px 24px;
}
.faq-item summary{
  cursor:pointer;
  list-style:none;
  padding:18px 0;
  font-weight:700;
  color:var(--navy);
  font-size:0.98rem;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
}
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item summary::after{
  content:"+";
  font-size:1.3rem;
  color:var(--gold);
  flex:none;
  transition:transform 0.25s var(--ease);
}
.faq-item[open] summary::after{ transform:rotate(45deg); }
.faq-item p{
  margin:0 0 18px;
  color:var(--ink-soft);
  font-size:0.92rem;
}

/* ==========================================================================
   CONTACT
   ========================================================================== */
.contact{ background:var(--navy); color:var(--ivory); }
.contact .eyebrow{ color:var(--gold-light); }
.contact .section-title{ color:var(--ivory); }
.contact-grid{
  display:grid;
  grid-template-columns:0.9fr 1.1fr;
  gap:64px;
}
.contact-info > p{ color:rgba(251,249,245,0.75); margin-bottom:32px; }

.contact-details, .contact-emails{
  display:flex;
  flex-direction:column;
  gap:14px;
  margin-bottom:30px;
}
.contact-details li, .contact-emails li{
  display:flex;
  flex-direction:column;
  gap:2px;
  font-size:0.92rem;
  padding-bottom:14px;
  border-bottom:1px solid rgba(251,249,245,0.12);
}
.contact-details strong, .contact-emails strong{
  font-size:0.75rem;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--gold-light);
}
.contact-emails a{ color:var(--ivory); transition:color 0.2s var(--ease); }
.contact-emails a:hover{ color:var(--gold-light); }

.contact-form-wrap{
  background:var(--ivory);
  border-radius:var(--radius);
  padding:36px;
  box-shadow:var(--shadow);
}
.contact-form{ display:flex; flex-direction:column; gap:18px; }
.form-row{ display:flex; flex-direction:column; gap:6px; }
.form-row label{
  font-size:0.78rem;
  font-weight:700;
  letter-spacing:0.04em;
  text-transform:uppercase;
  color:var(--ink-soft);
}
.form-row input, .form-row textarea{
  font-family:'Manrope', sans-serif;
  font-size:0.95rem;
  padding:13px 16px;
  border:1.5px solid var(--line);
  border-radius:8px;
  background:var(--ivory);
  color:var(--ink);
  resize:vertical;
  transition:border-color 0.2s var(--ease);
}
.form-row input:focus, .form-row textarea:focus{
  border-color:var(--gold);
  outline:none;
}
.form-submit{ margin-top:6px; width:100%; border:none; }
.form-note{
  font-size:0.74rem;
  color:var(--ink-soft);
  text-align:center;
  margin:4px 0 0;
}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.footer{ background:#081627; color:rgba(251,249,245,0.7); padding:64px 0 0; }
.footer-grid{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr;
  gap:48px;
  padding-bottom:48px;
  border-bottom:1px solid rgba(251,249,245,0.1);
}
.footer-brand p{ font-size:0.88rem; margin:14px 0 18px; max-width:280px; }
.footer-social{ display:flex; gap:18px; }
.footer-social a{ font-size:0.82rem; color:rgba(251,249,245,0.6); }
.footer-social a:hover{ color:var(--gold-light); }
.footer-links h4{
  font-family:'Manrope', sans-serif;
  color:var(--ivory);
  font-size:0.8rem;
  letter-spacing:0.08em;
  text-transform:uppercase;
  margin-bottom:16px;
}
.footer-links a{
  display:block;
  font-size:0.88rem;
  color:rgba(251,249,245,0.65);
  margin-bottom:10px;
}
.footer-links a:hover{ color:var(--gold-light); }
.footer-bottom{
  padding:22px 0;
  font-size:0.78rem;
  text-align:center;
  color:rgba(251,249,245,0.4);
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 980px){
  .about-grid, .why-grid, .contact-grid{ grid-template-columns:1fr; }
  .about-media{ max-width:420px; margin:0 auto 50px; }
  .service-grid{ grid-template-columns:repeat(2, 1fr); }
  .industry-grid{ grid-template-columns:repeat(3, 1fr); }
  .process-grid{ grid-template-columns:repeat(2, 1fr); }
  .footer-grid{ grid-template-columns:1fr 1fr; }
  .footer-brand{ grid-column:1/-1; }
}

@media (max-width: 720px){
  section{ padding:72px 0; }
  .nav-links{
    position:fixed;
    top:76px; right:0;
    width:78%; max-width:320px;
    height:calc(100vh - 76px);
    background:var(--ivory);
    flex-direction:column;
    align-items:flex-start;
    padding:32px 28px;
    gap:22px;
    box-shadow:-10px 0 30px rgba(11,31,58,0.1);
    transform:translateX(100%);
    transition:transform 0.35s var(--ease);
  }
  .nav-links.open{ transform:translateX(0); }
  .nav-toggle{ display:flex; }
  .nav-toggle.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
  .nav-toggle.open span:nth-child(2){ opacity:0; }
  .nav-toggle.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

  .hero-inner{ padding-top:130px; padding-bottom:60px; }
  .hero-trust{ gap:18px; }
  .about-pillars{ grid-template-columns:1fr; }
  .service-grid{ grid-template-columns:1fr; }
  .industry-grid{ grid-template-columns:repeat(2, 1fr); }
  .process-grid{ grid-template-columns:1fr; }
  .testimonial-grid{ grid-template-columns:1fr; }
  .why-stats{ grid-template-columns:1fr 1fr; padding:30px 24px; }
  .footer-grid{ grid-template-columns:1fr; }
}
