:root{
    --navy:#0d2340;
    --navy-2:#132c4f;
    --navy-3:#1b3a63;
    --gold:#e8a020;
    --gold-soft:#f0c165;
    --cream:#f7f4ee;
    --paper:#fffdf8;
    --ink:#1c2530;
    --slate:#4d5a6c;
    --line:rgba(13,35,64,0.12);
    --line-light:rgba(255,255,255,0.16);
    --radius:2px;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    font-family:'Outfit',sans-serif;
    color:var(--ink);
    background:var(--paper);
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3{
    font-family:'Playfair Display',serif;
    margin:0;
    color:var(--navy);
    letter-spacing:-0.01em;
  }
  p{margin:0;}
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  .container{max-width:1180px;margin:0 auto;padding:0 32px;}
  @media(max-width:640px){.container{padding:0 20px;}}

  .eyebrow{
    font-family:'Outfit',sans-serif;
    font-size:12.5px;
    font-weight:600;
    letter-spacing:0.16em;
    text-transform:uppercase;
    color:var(--gold);
  }

  /* ---------- HEADER ---------- */
  header{
    position:sticky; top:0; z-index:100;
    background:rgba(255,253,248,0.92);
    backdrop-filter:blur(8px);
    border-bottom:1px solid var(--line);
  }
  .nav-wrap{
    display:flex; align-items:center; justify-content:space-between;
    height:76px;
  }
  .logo{
    font-family:'Playfair Display',serif;
    font-size:26px; font-weight:700;
    color:var(--navy);
  }
  .logo em{font-style:normal;color:var(--gold);}
  nav ul{
    list-style:none; display:flex; gap:36px; margin:0; padding:0;
    font-size:15px; font-weight:500; color:var(--navy);
  }
  nav a{position:relative; padding:4px 0;}
  nav a::after{
    content:''; position:absolute; left:0; bottom:-2px; width:0; height:2px;
    background:var(--gold); transition:width .25s ease;
  }
  nav a:hover::after{width:100%;}
  .nav-cta{
    background:var(--navy); color:var(--paper); padding:11px 22px;
    border-radius:var(--radius); font-weight:500; font-size:14.5px;
    border:1px solid var(--navy); transition:background .2s ease;
  }
  .nav-cta:hover{background:var(--navy-3);}
  .nav-toggle{display:none;}
  @media(max-width:880px){
    nav ul{display:none;}
    .nav-toggle{display:block; background:none; border:none; cursor:pointer;}
  }

  /* ---------- HERO ---------- */
  .hero{
    background:var(--navy);
    position:relative;
    overflow:hidden;
    padding:96px 0 110px;
  }
  .hero::before{
    content:'';
    position:absolute; inset:0;
    background-image:
      radial-gradient(circle at 82% 18%, rgba(232,160,32,0.14), transparent 40%),
      repeating-linear-gradient(115deg, rgba(255,255,255,0.025) 0px, rgba(255,255,255,0.025) 1px, transparent 1px, transparent 90px);
    pointer-events:none;
  }
  .hero-grid{
    display:grid; grid-template-columns:1.05fr 0.95fr; gap:60px; align-items:center;
    position:relative;
  }
  @media(max-width:940px){.hero-grid{grid-template-columns:1fr;}}
  .hero h1{
    color:var(--paper); font-size:clamp(38px,5.2vw,60px); line-height:1.06;
    font-weight:600;
  }
  .hero h1 .accent{color:var(--gold); font-style:italic; font-weight:500;}
  .hero-sub{
    color:rgba(255,253,248,0.78); font-size:18px; line-height:1.6;
    margin-top:22px; max-width:480px;
  }
  .hero-langs{
    display:flex; gap:10px; margin-top:26px;
  }
  .lang-chip{
    border:1px solid var(--line-light); color:rgba(255,253,248,0.85);
    font-size:13px; padding:6px 14px; border-radius:20px; letter-spacing:.02em;
  }
  .hero-ctas{display:flex; gap:16px; margin-top:36px; flex-wrap:wrap;}
  .btn-primary{
    background:var(--gold); color:var(--navy); font-weight:600; font-size:15px;
    padding:15px 28px; border-radius:var(--radius); display:inline-block;
    transition:transform .18s ease, box-shadow .18s ease;
    box-shadow:0 0 0 rgba(232,160,32,0);
  }
  .btn-primary:hover{transform:translateY(-2px); box-shadow:0 10px 24px rgba(232,160,32,0.28);}
  .btn-ghost{
    border:1px solid var(--line-light); color:var(--paper); font-weight:500; font-size:15px;
    padding:14px 26px; border-radius:var(--radius); display:inline-block;
    transition:border-color .2s ease, background .2s ease;
  }
  .btn-ghost:hover{border-color:var(--gold); background:rgba(232,160,32,0.08);}

  /* Signature stamp element */
  .stamp-scene{position:relative; display:flex; align-items:center; justify-content:center; min-height:340px;}
  .doc-card{
    background:var(--paper); width:290px; border-radius:3px;
    box-shadow:0 30px 60px rgba(0,0,0,0.35);
    padding:26px 24px 30px; transform:rotate(-3deg);
    position:relative; z-index:2;
  }
  .doc-card .line{height:8px; background:var(--line); border-radius:2px; margin-bottom:10px;}
  .doc-card .line.w60{width:60%;}
  .doc-card .line.w80{width:80%;}
  .doc-card .line.w40{width:40%;}
  .doc-card .sig{margin-top:22px; height:26px; width:46%; border-bottom:2px solid var(--navy); opacity:.4;}
  .stamp{
    position:absolute; z-index:3; right:8%; bottom:10%;
    width:150px; height:150px; border-radius:50%;
    border:3px solid var(--gold);
    display:flex; align-items:center; justify-content:center;
    transform:rotate(-14deg);
    animation:stampIn .7s cubic-bezier(.2,1.4,.4,1) .3s both;
  }
  .stamp::before{
    content:''; position:absolute; inset:8px; border-radius:50%; border:1px solid var(--gold); opacity:.6;
  }
  .stamp-text{
    font-family:'Playfair Display',serif; font-weight:700; color:var(--gold);
    text-align:center; font-size:15px; line-height:1.15; letter-spacing:.03em;
    text-transform:uppercase;
  }
  .stamp-text small{display:block; font-size:9.5px; font-weight:500; letter-spacing:.2em; margin-top:3px; color:var(--gold-soft);}
  @keyframes stampIn{
    0%{transform:rotate(-14deg) scale(2.4); opacity:0;}
    70%{opacity:1;}
    100%{transform:rotate(-14deg) scale(1); opacity:1;}
  }
  .doc-behind{
    position:absolute; z-index:1; width:290px; border-radius:3px;
    background:var(--navy-3); height:360px; transform:rotate(6deg) translateY(10px);
    opacity:.7;
  }

  /* ---------- SECTION LABELS ---------- */
  section{padding:96px 0;}
  .section-head{max-width:640px; margin-bottom:52px;}
  .section-head h2{font-size:clamp(28px,3.4vw,38px); margin-top:10px; line-height:1.15;}
  .section-head p{color:var(--slate); font-size:16.5px; margin-top:16px; line-height:1.65;}

  /* ---------- SERVICE CARDS ---------- */
  .cards{display:grid; grid-template-columns:repeat(3,1fr); gap:28px;}
  @media(max-width:940px){.cards{grid-template-columns:1fr;}}
  .card{
    border:1px solid var(--line); border-radius:4px; padding:34px 30px;
    background:var(--paper); transition:border-color .2s ease, transform .2s ease;
  }
  .card:hover{border-color:var(--gold); transform:translateY(-4px);}
  .card-num{
    font-family:'Playfair Display',serif; font-size:15px; color:var(--gold);
    border:1px solid var(--gold); width:34px; height:34px; border-radius:50%;
    display:flex; align-items:center; justify-content:center; margin-bottom:20px;
  }
  .card h3{font-size:21px; line-height:1.3; margin-bottom:12px;}
  .card p{color:var(--slate); font-size:15px; line-height:1.6;}
  .card-link{
    display:inline-block; margin-top:18px; font-size:14px; font-weight:600; color:var(--navy);
    border-bottom:1px solid var(--gold); padding-bottom:2px;
  }

  /* ---------- BECOME A CLIENT ---------- */
  .become{background:var(--cream);}
  .become-grid{display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center;}
  @media(max-width:900px){.become-grid{grid-template-columns:1fr;}}
  .become ul{list-style:none; margin:26px 0 0; padding:0;}
  .become li{
    display:flex; gap:14px; padding:14px 0; border-bottom:1px solid var(--line);
    font-size:15.5px; color:var(--ink);
  }
  .become li:last-child{border-bottom:none;}
  .become li .tick{color:var(--gold); font-weight:700; font-family:'Playfair Display',serif;}
  .become-card{
    background:var(--navy); color:var(--paper); border-radius:4px; padding:40px;
  }
  .become-card h3{color:var(--paper); font-size:24px; margin-bottom:14px;}
  .become-card p{color:rgba(255,253,248,0.75); font-size:15px; line-height:1.6;}

  /* ---------- TRUST ---------- */
  .trust{
    background:var(--navy); color:var(--paper); text-align:center;
  }
  .trust .eyebrow{color:var(--gold-soft);}
  .trust h2{color:var(--paper); max-width:760px; margin:14px auto 0;}
  .trust p.lead{color:rgba(255,253,248,0.75); max-width:640px; margin:20px auto 0; font-size:17px; line-height:1.7;}
  .trust-grid{
    display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:56px;
    background:var(--line-light);
  }
  @media(max-width:800px){.trust-grid{grid-template-columns:1fr;}}
  .trust-item{background:var(--navy); padding:34px 26px;}
  .trust-item .glyph{font-family:'Playfair Display',serif; font-size:26px; color:var(--gold); margin-bottom:12px;}
  .trust-item h4{color:var(--paper); font-family:'Outfit',sans-serif; font-size:16px; font-weight:600; margin-bottom:8px;}
  .trust-item p{color:rgba(255,253,248,0.65); font-size:14px; line-height:1.6;}

  /* ---------- ALSO / EXTRA SERVICES ---------- */
  .extra-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px;}
  @media(max-width:940px){.extra-grid{grid-template-columns:1fr;}}
  .extra-card{border-top:2px solid var(--gold); padding-top:20px;}
  .extra-card h3{font-size:19px; margin-bottom:10px;}
  .extra-card p{color:var(--slate); font-size:15px; line-height:1.6;}

  /* ---------- COMPARISON ---------- */
  .fit{background:var(--cream);}
  .fit-grid{display:grid; grid-template-columns:1fr 1fr; gap:28px;}
  @media(max-width:820px){.fit-grid{grid-template-columns:1fr;}}
  .fit-card{
    background:var(--paper); border-radius:4px; padding:38px 34px;
    border:1px solid var(--line); position:relative;
  }
  .fit-card.highlight{border-color:var(--gold); box-shadow:0 18px 40px rgba(13,35,64,0.08);}
  .fit-tag{
    position:absolute; top:-13px; left:34px; background:var(--gold); color:var(--navy);
    font-size:12px; font-weight:700; padding:5px 14px; border-radius:20px; letter-spacing:.04em;
  }
  .fit-card h3{font-size:22px; margin-bottom:6px;}
  .fit-card .who{color:var(--slate); font-size:14.5px; margin-bottom:22px;}
  .fit-card ul{list-style:none; margin:0 0 26px; padding:0;}
  .fit-card li{
    padding:11px 0; border-bottom:1px solid var(--line); font-size:15px; display:flex; gap:12px;
  }
  .fit-card li:last-child{border-bottom:none;}
  .fit-card li .tick{color:var(--gold); font-family:'Playfair Display',serif; font-weight:700;}
  .fit-cta{
    display:inline-block; width:100%; text-align:center; padding:14px; border-radius:var(--radius);
    font-weight:600; font-size:15px; border:1px solid var(--navy); color:var(--navy);
  }
  .fit-card.highlight .fit-cta{background:var(--navy); color:var(--paper);}

  /* ---------- PROCESS ---------- */
  .process-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:0; position:relative;}
  @media(max-width:900px){.process-grid{grid-template-columns:1fr; gap:36px;}}
  .process-item{padding:0 28px 0 0; position:relative;}
  .process-item:not(:last-child)::after{
    content:''; position:absolute; top:22px; right:0; width:28px; height:1px; background:var(--line);
  }
  @media(max-width:900px){.process-item:not(:last-child)::after{display:none;}}
  .process-num{
    font-family:'Playfair Display',serif; font-size:15px; color:var(--gold);
    font-weight:700; margin-bottom:16px;
  }
  .process-item h3{font-size:19px; margin-bottom:10px;}
  .process-item p{color:var(--slate); font-size:15px; line-height:1.6;}

  /* ---------- FOOTER CTA ---------- */
  .cta-band{
    background:var(--gold); color:var(--navy); text-align:center; padding:70px 0;
  }
  .cta-band h2{color:var(--navy); font-size:clamp(26px,3.2vw,36px);}
  .cta-band p{color:rgba(13,35,64,0.75); margin-top:14px; font-size:16px;}
  .cta-band .btn-primary{background:var(--navy); color:var(--paper); margin-top:26px;}
  .cta-band .btn-primary:hover{box-shadow:0 10px 24px rgba(13,35,64,0.25);}

  /* ---------- FOOTER ---------- */
  footer{background:var(--navy); color:rgba(255,253,248,0.7); padding:64px 0 30px;}
  .footer-grid{display:grid; grid-template-columns:1.3fr 0.9fr 0.9fr 0.9fr 0.9fr; gap:32px;}
  @media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr; row-gap:32px;}}
  footer .logo{color:var(--paper); font-size:22px; margin-bottom:14px;}
  footer .logo em{color:var(--gold);}
  footer p.tag{font-size:14px; line-height:1.6; max-width:280px; color:rgba(255,253,248,0.55);}
  footer h5{
    color:var(--paper); font-size:13px; letter-spacing:.1em; text-transform:uppercase;
    font-weight:600; margin-bottom:16px; font-family:'Outfit',sans-serif;
  }
  footer ul{list-style:none; margin:0; padding:0;}
  footer li{margin-bottom:10px; font-size:14.5px;}
  footer a:hover{color:var(--gold);}
  .footer-bottom{
    border-top:1px solid var(--line-light); margin-top:50px; padding-top:24px;
    display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px;
    font-size:13px; color:rgba(255,253,248,0.45);
  }
  .footer-legal{font-size:12.5px; line-height:1.7; color:rgba(255,253,248,0.4); max-width:900px; margin-top:20px;}

  .reveal{opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease;}
  .reveal.in{opacity:1; transform:translateY(0);}
  @media (prefers-reduced-motion: reduce){
    .reveal{opacity:1; transform:none; transition:none;}
    .stamp{animation:none;}
  }
/* ---------- MOBILE NAV ---------- */
.nav-toggle{
  display:none; background:none; border:1px solid var(--line); border-radius:4px;
  width:40px; height:40px; cursor:pointer; position:relative;
}
.nav-toggle span, .nav-toggle span::before, .nav-toggle span::after{
  content:''; position:absolute; left:10px; width:20px; height:2px; background:var(--navy);
  transition:transform .25s ease, opacity .25s ease;
}
.nav-toggle span{top:19px;}
.nav-toggle span::before{top:-6px;}
.nav-toggle span::after{top:6px;}
.nav-toggle.open span{background:transparent;}
.nav-toggle.open span::before{transform:translateY(6px) rotate(45deg);}
.nav-toggle.open span::after{transform:translateY(-6px) rotate(-45deg);}
@media(max-width:880px){
  .nav-toggle{display:block;}
  nav{
    position:fixed; top:76px; left:0; right:0; background:var(--paper);
    border-bottom:1px solid var(--line); max-height:0; overflow:hidden;
    transition:max-height .3s ease;
  }
  nav.open{max-height:400px;}
  nav ul{display:flex; flex-direction:column; gap:0; padding:8px 32px 20px;}
  nav li{border-bottom:1px solid var(--line);}
  nav a{display:block; padding:14px 0;}
  .nav-wrap .nav-cta{display:none;}
  @media(max-width:640px){nav ul{padding:8px 20px 20px;}}
}

/* ---------- PAGE HERO (subpages) ---------- */
.page-hero{background:var(--navy); padding:64px 0 56px;}
.page-hero .eyebrow{color:var(--gold-soft);}
.page-hero h1{color:var(--paper); font-size:clamp(32px,4.4vw,48px); margin-top:12px;}
.page-hero p{color:rgba(255,253,248,0.75); font-size:17px; margin-top:16px; max-width:600px; line-height:1.6;}
.crumb{color:rgba(255,253,248,0.5); font-size:13.5px;}
.crumb a:hover{color:var(--gold);}

/* ---------- SERVICE BLOCKS (services.html) ---------- */
.service-block{padding:56px 0; border-bottom:1px solid var(--line);}
.service-block:last-child{border-bottom:none;}
.service-head{display:flex; justify-content:space-between; align-items:baseline; gap:20px; flex-wrap:wrap;}
.service-head h2{font-size:26px;}
.service-price{
  font-family:'Outfit',sans-serif; font-weight:700; color:var(--gold); font-size:17px;
  white-space:nowrap;
}
.service-desc{color:var(--slate); font-size:15.5px; line-height:1.7; margin-top:14px; max-width:760px;}
.service-included{font-weight:600; font-size:14px; margin-top:22px; color:var(--navy);}
.service-list{list-style:none; margin:12px 0 0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:8px 28px;}
@media(max-width:700px){.service-list{grid-template-columns:1fr;}}
.service-list li{font-size:14.5px; color:var(--ink); display:flex; gap:10px; line-height:1.5;}
.service-list li .tick{color:var(--gold); font-family:'Playfair Display',serif; font-weight:700; flex-shrink:0;}
.service-tier-label{
  display:inline-block; background:var(--cream); color:var(--navy); font-size:12px; font-weight:700;
  padding:4px 12px; border-radius:20px; margin-top:8px; letter-spacing:.03em;
}

/* ---------- ABOUT (about.html) ---------- */
.about-grid{display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:start;}
@media(max-width:900px){.about-grid{grid-template-columns:1fr;}}
.about-grid p{color:var(--slate); font-size:16px; line-height:1.75; margin-bottom:18px;}
.value-list{list-style:none; margin:0; padding:0;}
.value-list li{padding:20px 0; border-bottom:1px solid var(--line);}
.value-list li:first-child{padding-top:0;}
.value-list h4{font-family:'Playfair Display',serif; color:var(--navy); font-size:18px; margin-bottom:6px;}
.value-list p{color:var(--slate); font-size:14.5px; line-height:1.6; margin:0;}

/* ---------- CONTACT (contact.html) ---------- */
.contact-grid{display:grid; grid-template-columns:1fr 1.1fr; gap:56px;}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr;}}
.contact-info h3{font-size:19px; margin-bottom:10px;}
.contact-info p{color:var(--slate); font-size:15px; line-height:1.6; margin-bottom:28px;}
.contact-detail{display:flex; gap:14px; align-items:flex-start; margin-bottom:20px;}
.contact-detail .k{font-weight:600; color:var(--navy); font-size:14px; min-width:90px;}
.contact-detail .v{color:var(--slate); font-size:14.5px;}
form.contact-form{background:var(--cream); padding:36px; border-radius:4px;}
.field{margin-bottom:18px;}
.field label{display:block; font-size:13.5px; font-weight:600; color:var(--navy); margin-bottom:6px;}
.field input, .field select, .field textarea{
  width:100%; padding:12px 14px; border:1px solid var(--line); border-radius:3px;
  font-family:'Outfit',sans-serif; font-size:14.5px; background:var(--paper); color:var(--ink);
}
.field textarea{resize:vertical; min-height:110px;}
.field input:focus, .field select:focus, .field textarea:focus{outline:2px solid var(--gold); outline-offset:1px;}
.form-note{font-size:12.5px; color:var(--slate); margin-top:6px; line-height:1.5;}
.submit-btn{
  background:var(--navy); color:var(--paper); border:none; padding:14px 30px; border-radius:var(--radius);
  font-weight:600; font-size:15px; cursor:pointer; width:100%; font-family:'Outfit',sans-serif;
  transition:background .2s ease;
}
.submit-btn:hover{background:var(--navy-3);}

/* ---------- BLOG (blog.html) ---------- */
.blog-empty{
  border:1px dashed var(--line); border-radius:4px; padding:60px 30px; text-align:center;
}
.blog-empty h3{font-size:20px; margin-bottom:10px;}
.blog-empty p{color:var(--slate); font-size:15px; max-width:420px; margin:0 auto;}

/* ---------- LANGUAGE CHIPS (clickable) ---------- */
a.lang-chip{
  border:1px solid var(--line-light); color:rgba(255,253,248,0.85);
  font-size:13px; padding:6px 14px; border-radius:20px; letter-spacing:.02em;
  transition:background .2s ease, border-color .2s ease, color .2s ease;
}
a.lang-chip:hover{border-color:var(--gold); color:var(--gold-soft);}
a.lang-chip.active{background:var(--gold); border-color:var(--gold); color:var(--navy); font-weight:600;}
.footer-bottom a{color:rgba(255,253,248,0.55);}
.footer-bottom a:hover{color:var(--gold);}
.footer-bottom a.active{color:var(--gold); font-weight:600;}

/* ---------- SOCIAL ICONS ---------- */
.social-icons{display:flex; gap:12px; margin-top:14px;}
.social-icons a{
  color:rgba(255,253,248,0.65); display:flex; align-items:center; justify-content:center;
  width:36px; height:36px; border:1px solid var(--line-light); border-radius:50%;
  transition:color .2s ease, border-color .2s ease, background .2s ease;
}
.social-icons a:hover{color:var(--gold); border-color:var(--gold); background:rgba(232,160,32,0.08);}

/* ---------- LEGAL PAGES ---------- */
.legal-body{max-width:760px;}
.legal-body h2{font-size:19px; margin-top:34px; margin-bottom:10px;}
.legal-body p{color:var(--slate); font-size:15px; line-height:1.7; margin-bottom:6px;}
.legal-updated{color:var(--slate); font-size:13px; margin-top:40px; font-style:italic;}

/* ---------- TRUST LOGO STRIP ---------- */
.logo-strip{
  display:flex; align-items:center; justify-content:flex-start; flex-wrap:wrap;
  gap:44px; margin-top:40px; padding-top:36px; border-top:1px solid var(--line);
}
.logo-strip img{height:38px; width:auto; object-fit:contain; opacity:0.85; transition:opacity .2s ease;}
.logo-strip img:hover{opacity:1;}
@media(max-width:640px){.logo-strip{gap:28px; justify-content:center;}}

/* ---------- CLICKABLE "ASK FOR PRICE" LINK ---------- */
a.service-price-link{
  text-decoration:none; border-bottom:1px solid var(--gold); padding-bottom:1px;
  transition:color .2s ease, border-color .2s ease;
}
a.service-price-link:hover{color:var(--navy); border-color:var(--navy);}

/* ---------- LEAD MAGNET (guide download) ---------- */
.guide-box{
  background:var(--navy); color:var(--paper); border-radius:4px;
  padding:38px 36px; margin-top:30px;
  display:grid; grid-template-columns:1.15fr 1fr; gap:40px; align-items:center;
}
@media(max-width:820px){.guide-box{grid-template-columns:1fr; gap:26px; padding:30px 24px;}}
.guide-box .eyebrow{color:var(--gold-soft);}
.guide-box h3{
  color:var(--paper); font-size:23px; line-height:1.25; margin:10px 0 12px;
}
.guide-box p{color:rgba(255,253,248,0.72); font-size:15px; line-height:1.6;}
.guide-box ul{list-style:none; margin:16px 0 0; padding:0;}
.guide-box li{
  font-size:14.5px; color:rgba(255,253,248,0.85); padding:5px 0;
  display:flex; gap:10px; line-height:1.5;
}
.guide-box li .tick{color:var(--gold); font-family:'Playfair Display',serif; font-weight:700; flex-shrink:0;}
.guide-form .field{margin-bottom:14px;}
.guide-form label{
  display:block; font-size:13px; font-weight:600; color:rgba(255,253,248,0.85); margin-bottom:5px;
}
.guide-form input{
  width:100%; padding:12px 14px; border:1px solid var(--line-light); border-radius:3px;
  font-family:'Outfit',sans-serif; font-size:14.5px;
  background:rgba(255,255,255,0.06); color:var(--paper);
}
.guide-form input::placeholder{color:rgba(255,253,248,0.4);}
.guide-form input:focus{outline:2px solid var(--gold); outline-offset:1px; background:rgba(255,255,255,0.1);}
.guide-btn{
  background:var(--gold); color:var(--navy); border:none; padding:14px 24px; border-radius:var(--radius);
  font-weight:600; font-size:15px; cursor:pointer; width:100%; font-family:'Outfit',sans-serif;
  transition:transform .18s ease, box-shadow .18s ease;
}
.guide-btn:hover{transform:translateY(-2px); box-shadow:0 10px 24px rgba(232,160,32,0.28);}
.guide-btn:disabled{opacity:.7; cursor:default; transform:none; box-shadow:none;}
.guide-note{
  font-size:12px; color:rgba(255,253,248,0.55); margin-top:10px; line-height:1.5;
}
.guide-note.success{color:var(--gold-soft); font-weight:600; font-size:13.5px;}
.guide-note.error{color:#ffb3b3; font-weight:600; font-size:13.5px;}

/* ---------- GUIDE POPUP (modal) ---------- */
.gp-overlay{
  position:fixed; inset:0; background:rgba(8,20,38,0.72);
  backdrop-filter:blur(3px); z-index:1000;
  display:flex; align-items:center; justify-content:center; padding:24px;
  opacity:0; visibility:hidden; transition:opacity .28s ease, visibility .28s ease;
}
.gp-overlay.open{opacity:1; visibility:visible;}
.gp-modal{
  background:var(--navy); color:var(--paper); border-radius:6px;
  max-width:920px; width:100%; max-height:92vh; overflow-y:auto;
  display:grid; grid-template-columns:1.05fr 1fr;
  box-shadow:0 30px 80px rgba(0,0,0,.45);
  transform:translateY(14px) scale(.985); transition:transform .3s cubic-bezier(.2,.9,.3,1);
  position:relative;
}
.gp-overlay.open .gp-modal{transform:translateY(0) scale(1);}
@media(max-width:800px){.gp-modal{grid-template-columns:1fr;}}
.gp-left{padding:40px 34px;}
.gp-right{
  padding:40px 34px; background:rgba(255,255,255,0.04);
  border-left:1px solid var(--line-light);
}
@media(max-width:800px){
  .gp-left{padding:32px 24px 8px;}
  .gp-right{padding:20px 24px 32px; border-left:none; border-top:1px solid var(--line-light);}
}
.gp-modal .eyebrow{color:var(--gold-soft);}
.gp-modal h3{
  color:var(--paper); font-size:25px; line-height:1.22; margin:10px 0 12px;
}
.gp-modal p.gp-lead{color:rgba(255,253,248,0.72); font-size:15px; line-height:1.6;}
.gp-modal ul{list-style:none; margin:18px 0 0; padding:0;}
.gp-modal li{
  font-size:14.5px; color:rgba(255,253,248,0.85); padding:5px 0;
  display:flex; gap:10px; line-height:1.5;
}
.gp-modal li .tick{color:var(--gold); font-family:'Playfair Display',serif; font-weight:700; flex-shrink:0;}
.gp-close{
  position:absolute; top:14px; right:16px; width:34px; height:34px;
  background:rgba(255,255,255,0.08); border:none; border-radius:50%;
  color:var(--paper); font-size:20px; line-height:1; cursor:pointer;
  transition:background .2s ease;
}
.gp-close:hover{background:rgba(255,255,255,0.18);}
.gp-form .field{margin-bottom:14px;}
.gp-form label{display:block; font-size:13px; font-weight:600; color:rgba(255,253,248,0.85); margin-bottom:5px;}
.gp-form input{
  width:100%; padding:12px 14px; border:1px solid var(--line-light); border-radius:3px;
  font-family:'Outfit',sans-serif; font-size:14.5px;
  background:rgba(255,255,255,0.07); color:var(--paper);
}
.gp-form input::placeholder{color:rgba(255,253,248,0.4);}
.gp-form input:focus{outline:2px solid var(--gold); outline-offset:1px;}
.gp-note{font-size:12px; color:rgba(255,253,248,0.55); margin-top:10px; line-height:1.5;}
.gp-note.success{color:var(--gold-soft); font-weight:600; font-size:13.5px;}
.gp-note.error{color:#ffb3b3; font-weight:600; font-size:13.5px;}
.gp-skip{
  display:block; width:100%; text-align:center; margin-top:14px;
  background:none; border:none; cursor:pointer;
  color:rgba(255,253,248,0.5); font-size:13px; font-family:'Outfit',sans-serif;
  text-decoration:underline; text-underline-offset:3px;
}
.gp-skip:hover{color:var(--gold-soft);}
