/* ══════════════════════════════════════════════════════════════════════════
   ELITE INVESTMENT × GOGREECE — GREECE GOLDEN VISA
   A standalone private-investment experience. Inherits Elite tokens, nav and
   typography from styles.css; adds a deep-navy Mediterranean register that is
   distinct from the other division pages without leaving the brand system.
   ══════════════════════════════════════════════════════════════════════════ */
.gv-site{
  /* Navy is this page's own ground — a deeper, cooler register than the
     near-black used elsewhere, so Greece reads as its own destination. */
  --navy:#0A1420;
  --navy-2:#0E1B2A;
  --navy-3:#132435;
  --paper:#F6F4F1;
  --paper-2:#EDEAE5;
  --rule-d:rgba(255,255,255,.14);
  --rule-l:rgba(10,20,32,.13);
  --ink-d:rgba(255,255,255,.68);
  --ink-l:#3C4550;
  background:var(--paper);color:#101820;overflow-x:hidden;
}

/* ── Navigation ─────────────────────────────────────────────────────────── */
.gv-site #nav{height:88px;background:transparent;border-bottom-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;color:#fff}
.gv-site #nav.scrolled{height:74px;background:rgba(10,20,32,.94);border-bottom-color:rgba(255,255,255,.1);backdrop-filter:blur(20px) saturate(1.3);-webkit-backdrop-filter:blur(20px) saturate(1.3);box-shadow:0 1px 30px rgba(0,0,0,.3)}
.gv-site #nav .nav-links a,
.gv-site #nav .lang-btn,.gv-site #nav .lang-sep,
.gv-site #nav .mobile-lang-btn,.gv-site #nav .mobile-lang-sep{color:rgba(255,255,255,.84)}
.gv-site #nav .lang-btn.active,.gv-site #nav .mobile-lang-btn.active{color:#fff}
.gv-site #nav .nav-cta{background:transparent;border:1px solid rgba(255,255,255,.6);color:#fff}
.gv-site #nav .nav-cta:hover{background:rgba(255,255,255,.13)}
.gv-site #nav .hamburger-btn span{background:#fff}
/* The nav is dark in both states here, so the light logo stays throughout —
   no filter tricks, the official light asset is simply never swapped out. */
.gv-nav-logo{position:relative;width:142px;height:72px;flex:0 0 142px}
.gv-site .gv-nav-logo img{width:100%;height:100%;object-fit:contain;display:block}

.gv-shell{width:min(1280px,calc(100% - 144px));margin:0 auto}
.gv-shell--narrow{width:min(940px,calc(100% - 144px));margin:0 auto}

/* ── Hero ───────────────────────────────────────────────────────────────
   Poster-first architecture: the still is a finished hero on its own and is
   painted immediately. Motion, when a clean loop is configured, fades in over
   it — the page never waits on video, and a failure is invisible. */
.gv-hero{
  --gv-hero-nav:88px;
  --gv-hero-lift:clamp(20px,3.2vh,42px);
  --gv-hero-band:clamp(140px,20vh,220px);
  position:relative;min-height:100svh;display:flex;align-items:center;
  padding-top:calc(var(--gv-hero-nav) + var(--gv-hero-lift));
  padding-bottom:var(--gv-hero-band);
  overflow:hidden;background:#070E16;color:#fff;
}
.gv-hero__media{position:absolute;inset:0;overflow:hidden}
.gv-hero__poster{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% center;
  transform:scale(1.02);
}
.gv-hero__video{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% center;
  opacity:0;transition:opacity .9s ease;
}
/* Only revealed once the element reports it is actually playing. */
.gv-hero__video.is-playing{opacity:1}
.gv-hero__scrim{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(7,14,22,.95) 0%,rgba(7,14,22,.78) 42%,rgba(7,14,22,.34) 100%),
    linear-gradient(180deg,rgba(7,14,22,.5) 0%,rgba(7,14,22,.18) 40%,rgba(7,14,22,.9) 100%);
}
.gv-hero__content{position:relative;z-index:2}
.gv-partner{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:20px;
  font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#fff;
}
.gv-partner__x{color:var(--orange);font-size:13px}
.gv-exclusive{
  display:inline-block;margin-bottom:26px;padding:7px 14px;
  border:1px solid rgba(245,130,32,.5);
  font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--orange);
}
.gv-hero h1{
  font-family:var(--serif);font-weight:400;line-height:.94;letter-spacing:-.03em;
  font-size:clamp(56px,7.4vw,116px);text-wrap:balance;margin:0;
}
.gv-hero h1 em{display:block;color:var(--orange);font-style:italic}
.gv-hero__lead{
  max-width:50ch;margin:26px 0 14px;font-size:19px;line-height:1.62;font-weight:300;color:rgba(255,255,255,.82);
}
.gv-hero__sub{max-width:56ch;margin:0 0 34px;font-size:15px;line-height:1.72;font-weight:300;color:rgba(255,255,255,.58)}
.gv-hero__actions{display:flex;gap:14px;flex-wrap:wrap}
.gv-hero__foot{
  position:absolute;z-index:2;bottom:22px;left:50%;transform:translateX(-50%);
  width:min(1280px,calc(100% - 144px));display:flex;justify-content:space-between;gap:20px;
  border-top:1px solid rgba(255,255,255,.13);padding-top:14px;
  /* 9px uppercase over the darkest part of the scrim: .62 clears AA (7.7:1). */
  font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.62);
}
.gv-ext{display:inline-flex;align-items:center;gap:9px}
.gv-ext__icon{width:11px;height:11px;flex:0 0 11px}


/* The arrow glyph used inside Elite buttons lives in investment.css, which this
   page does not load; it is redeclared here so the button system is complete. */
.gv-site .external-arrow{margin-left:2px;font-size:15px;line-height:1}

/* ── Section furniture ──────────────────────────────────────────────────── */
.gv-section{padding:118px 0;background:var(--paper)}
.gv-section--paper2{background:var(--paper-2)}
.gv-section--navy{background:var(--navy);color:#fff}
.gv-section--navy2{background:var(--navy-2);color:#fff}
.gv-num{
  font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:11px;letter-spacing:.18em;
  color:var(--orange-text);margin-bottom:16px;display:block;
}
.gv-section--navy .gv-num,.gv-section--navy2 .gv-num{color:var(--orange)}
.gv-eyebrow{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--orange-text);margin-bottom:16px}
.gv-section--navy .gv-eyebrow,.gv-section--navy2 .gv-eyebrow{color:var(--orange)}
.gv-title{
  font-family:var(--serif);font-weight:400;font-size:clamp(38px,4.6vw,68px);
  line-height:1.04;letter-spacing:-.02em;max-width:22ch;text-wrap:balance;margin:0;
}
.gv-title em{color:var(--orange);font-style:italic}
.gv-copy{font-size:17px;line-height:1.88;font-weight:300;color:var(--ink-l);max-width:62ch}
.gv-section--navy .gv-copy,.gv-section--navy2 .gv-copy{color:var(--ink-d)}
.gv-copy + .gv-copy{margin-top:18px}
.gv-split{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}

/* ── 02 Golden Visa explained — four plain facts, no card wall ─────────── */
.gv-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-top:56px;border-top:1px solid var(--rule-d)}
.gv-fact{padding:34px 40px 38px 0;border-bottom:1px solid var(--rule-d)}
.gv-fact:nth-child(odd){border-right:1px solid var(--rule-d);padding-right:56px}
.gv-fact:nth-child(even){padding-left:56px}
.gv-fact h3{font-family:var(--serif);font-size:25px;font-weight:400;line-height:1.2;color:#fff}
.gv-fact p{margin-top:12px;font-size:14.5px;line-height:1.78;font-weight:300;color:var(--ink-d)}

/* ── 03 Investment parameters — editorial comparison, not pricing cards ── */
.gv-tiers{margin-top:60px;border-top:2px solid #101820}
.gv-tier{
  display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:56px;align-items:baseline;
  padding:38px 0;border-bottom:1px solid var(--rule-l);
}
.gv-tier__amount{font-family:var(--serif);font-size:clamp(40px,4.4vw,60px);line-height:1;letter-spacing:-.03em;color:#101820}
.gv-tier__label{display:block;margin-top:12px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--orange-text)}
.gv-tier__body p{font-size:15.5px;line-height:1.8;font-weight:300;color:var(--ink-l);max-width:68ch}
.gv-note{
  margin-top:38px;padding:22px 26px;background:rgba(10,20,32,.045);
  border-left:2px solid var(--orange);
  font-size:13.5px;line-height:1.78;color:var(--ink-l);max-width:76ch;
}
.gv-note strong{color:#101820;font-weight:600}

/* ── 05 Elite × GoGreece — the two sides of the relationship ───────────── */
.gv-bridge{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:64px;border-top:1px solid var(--rule-d)}
.gv-bridge__side{padding:44px 56px 48px 0}
.gv-bridge__side + .gv-bridge__side{border-left:1px solid var(--rule-d);padding-left:56px;padding-right:0}
.gv-bridge__place{font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--orange);margin-bottom:12px}
.gv-bridge__who{font-family:var(--serif);font-size:32px;font-weight:400;color:#fff;line-height:1.15}
.gv-bridge__role{margin-top:10px;font-size:14px;line-height:1.7;font-weight:300;color:var(--ink-d);max-width:38ch}
.gv-bridge__list{list-style:none;margin:26px 0 0;padding:0;display:flex;flex-direction:column;gap:11px}
.gv-bridge__list li{
  position:relative;padding-left:20px;font-size:13.5px;line-height:1.6;font-weight:300;color:rgba(255,255,255,.74);
}
.gv-bridge__list li:before{content:"";position:absolute;left:0;top:.62em;width:8px;height:1px;background:var(--orange)}

/* ── 06 Process — chapters and a vertical progression, never eight cards ── */
.gv-chapter{margin-top:76px}
.gv-chapter:first-of-type{margin-top:56px}
.gv-chapter__head{display:flex;align-items:baseline;gap:22px;padding-bottom:18px;border-bottom:1px solid var(--rule-l);margin-bottom:8px}
.gv-chapter__num{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:11px;letter-spacing:.16em;color:var(--orange-text);flex:0 0 auto}
.gv-chapter__name{font-family:var(--serif);font-size:clamp(24px,2.6vw,34px);font-weight:400;line-height:1.15;letter-spacing:-.01em}
.gv-steps{position:relative}
.gv-step{
  display:grid;grid-template-columns:120px minmax(0,1fr);gap:44px;
  padding:34px 0;border-bottom:1px solid var(--rule-l);
}
.gv-step__n{
  /* Oversized but still content: this is the only rendering of the step
     number, so it is held at the 3:1 large-text floor rather than ghosted. */
  font-family:var(--serif);font-size:44px;line-height:1;color:rgba(16,24,32,.48);letter-spacing:-.03em;
}
.gv-step h4{font-family:var(--serif);font-size:24px;font-weight:400;line-height:1.22;max-width:26ch}
.gv-step p{margin-top:13px;font-size:14.5px;line-height:1.8;font-weight:300;color:var(--ink-l);max-width:70ch}

/* ── 07 Projects gateway ────────────────────────────────────────────────── */
.gv-projects{position:relative;overflow:hidden;background:var(--navy)}
.gv-projects__inner{position:relative;z-index:2;padding:124px 0;text-align:left}
.gv-projects .gv-title{color:#fff}
.gv-projects__copy{margin:22px 0 34px;max-width:56ch;font-size:16.5px;line-height:1.8;font-weight:300;color:var(--ink-d)}


/* Dark-ground variant of the qualification note. */
.gv-section--navy .gv-note,.gv-section--navy2 .gv-note,.gv-consult .gv-note{
  background:rgba(255,255,255,.055);color:var(--ink-d);
}
.gv-section--navy .gv-note strong,.gv-section--navy2 .gv-note strong{color:#fff}

/* ── 04 Why Greece — reasons on a light ground ─────────────────── */
.gv-reasons{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule-l)}
.gv-reasons li{padding:26px 0;border-bottom:1px solid var(--rule-l)}
.gv-reasons h3{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--orange-text);font-weight:500}
.gv-reasons p{margin-top:11px;font-size:15.5px;line-height:1.8;font-weight:300;color:var(--ink-l);max-width:52ch}

/* Honeypot: present for automated submissions, unreachable for people. */
.gv-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ── 08 FAQ ─────────────────────────────────────────────────────────────── */
.gv-faq{margin-top:52px;border-top:1px solid var(--rule-l)}
.gv-faq__item{border-bottom:1px solid var(--rule-l)}
.gv-faq__q{
  width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:28px;
  padding:26px 0;background:none;border:0;text-align:left;cursor:pointer;
  font-family:var(--serif);font-size:20px;font-weight:400;line-height:1.35;color:#101820;
}
.gv-faq__q:hover{color:var(--orange-text)}
.gv-faq__q:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
.gv-faq__sign{position:relative;flex:0 0 14px;width:14px;height:14px;margin-top:7px}
.gv-faq__sign:before,.gv-faq__sign:after{
  content:"";position:absolute;left:0;top:6px;width:14px;height:1.5px;background:var(--orange);
  transition:transform .3s ease;
}
.gv-faq__sign:after{transform:rotate(90deg)}
.gv-faq__q[aria-expanded="true"] .gv-faq__sign:after{transform:rotate(0deg)}
.gv-faq__a{overflow:hidden}
.gv-faq__a[hidden]{display:none}
.gv-faq__a p{padding:0 0 26px;max-width:70ch;font-size:15px;line-height:1.85;font-weight:300;color:var(--ink-l)}

/* ── 09 Consultation ────────────────────────────────────────────────────── */
.gv-consult{padding:126px 0;background:var(--navy);color:#fff}
.gv-consult__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:96px;align-items:start}
.gv-consult .gv-title{color:#fff;max-width:15ch}
.gv-consult__copy{margin-top:22px;max-width:46ch;font-size:16px;line-height:1.82;font-weight:300;color:var(--ink-d)}
.gv-consult__assure{
  margin-top:30px;padding-left:18px;border-left:2px solid var(--orange);
  font-size:13px;line-height:1.72;font-weight:300;color:rgba(255,255,255,.5);max-width:44ch;
}
.gv-form{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.gv-form label{display:block;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.52)}
.gv-form label.full{grid-column:1/-1}
.gv-form input,.gv-form select,.gv-form textarea{
  width:100%;margin-top:9px;background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.24);
  padding:12px 0;color:#fff;font:inherit;font-size:14.5px;letter-spacing:0;text-transform:none;border-radius:0;
  transition:border-color .25s ease;
}
.gv-form select{
  -webkit-appearance:none;appearance:none;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%23ffffff' stroke-width='1.6'%3E%3Cpath d='M1 1.5 6 6.5l5-5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 2px center;padding-right:26px;
}
.gv-form select option{background:#101B27;color:#fff}
.gv-form input:focus,.gv-form select:focus,.gv-form textarea:focus{outline:none;border-bottom-color:var(--orange)}
.gv-form input:focus-visible,.gv-form select:focus-visible,.gv-form textarea:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
.gv-form textarea{resize:vertical;min-height:92px}
.gv-form .gv-consent{
  grid-column:1/-1;display:flex;gap:13px;align-items:flex-start;margin-top:6px;
  font-size:12.5px;line-height:1.65;letter-spacing:0;text-transform:none;color:rgba(255,255,255,.6);font-weight:300;
}
.gv-form .gv-consent input[type=checkbox]{
  flex:0 0 17px;width:17px;height:17px;margin:2px 0 0;accent-color:var(--orange);border-bottom:0;padding:0;
}
.gv-form .gv-consent:focus-within{color:rgba(255,255,255,.85)}
.gv-form .form-submit{grid-column:1/-1;margin-top:10px;display:inline-flex;align-items:center;gap:10px;justify-self:start}
.gv-status{grid-column:1/-1;font-size:14px;line-height:1.75;margin-top:4px}
.gv-status[data-state="error"]{color:#FFB4A8}
.gv-status[data-state="ok"]{color:#8FE3B4}
.gv-status a{color:inherit;text-decoration:underline}
.gv-form > .gv-field-error{grid-column:1/-1;margin-top:-8px}
.gv-field-error{display:block;margin-top:7px;font-size:11.5px;letter-spacing:0;text-transform:none;color:#FFB4A8;font-weight:400}
.gv-form :invalid{box-shadow:none}

/* ── Footer ─────────────────────────────────────────────────────────────── */
.gv-footer{background:#060D15;color:#fff;padding:86px 0 26px}
.gv-footer__top{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:60px;padding-bottom:52px;border-bottom:1px solid rgba(255,255,255,.1)}
.gv-footer__brand img{height:68px;width:auto;display:block;margin-bottom:20px}
.gv-footer__brand p{font-size:14px;line-height:1.85;font-weight:300;color:rgba(255,255,255,.52);max-width:40ch}
.gv-footer__coltitle{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.85);margin-bottom:18px}
.gv-footer__links{display:flex;flex-direction:column;gap:11px}
.gv-footer__links a{font-size:14px;font-weight:300;color:rgba(255,255,255,.5);transition:color .2s ease;padding:3px 0}
.gv-footer__links a:hover{color:var(--orange)}
.gv-footer__legal{
  /* The legal notice is the last text that should be hard to read. */
  padding:26px 0 0;font-size:11.5px;line-height:1.8;font-weight:300;color:rgba(255,255,255,.55);max-width:96ch;
}
.gv-footer__bottom{display:flex;justify-content:space-between;gap:18px;padding-top:22px;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.52)}

/* ══════════════════════════════════════════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════════════════════════════════════════ */
@media (max-width:1200px){
  .gv-shell,.gv-shell--narrow,.gv-hero__foot{width:min(100% - 96px,1120px)}
  .gv-split{gap:60px}
  .gv-consult__grid{gap:60px}
  .gv-tier{grid-template-columns:minmax(0,240px) minmax(0,1fr);gap:40px}
  .gv-step{grid-template-columns:92px minmax(0,1fr);gap:32px}
}
@media (max-width:1000px){
  .gv-shell,.gv-shell--narrow,.gv-hero__foot{width:calc(100% - 64px)}
  .gv-hero{--gv-hero-band:clamp(118px,17vh,170px)}
  .gv-split,.gv-consult__grid{grid-template-columns:1fr;gap:44px}
  .gv-facts{grid-template-columns:1fr}
  .gv-fact,.gv-fact:nth-child(odd),.gv-fact:nth-child(even){padding:28px 0;border-right:0;padding-left:0}
  .gv-bridge{grid-template-columns:1fr}
  .gv-bridge__side,.gv-bridge__side + .gv-bridge__side{padding:34px 0;border-left:0;border-top:1px solid var(--rule-d)}
  .gv-bridge__side:first-child{border-top:0}
  .gv-section,.gv-consult{padding:88px 0}
  .gv-projects__inner{padding:92px 0}
  .gv-footer__top{grid-template-columns:1fr 1fr;gap:44px}
}
/* Tablet ceiling: the header already switches to the hamburger up to 1023px,
   so the hero stops enforcing a full 100svh screen for the same range. This
   hero is deliberately kept more cinematic than the plain division pages
   (a slightly taller band), but not an oversized empty viewport — the
   partnership line, headline and CTA should still read early on a tablet. */
@media (max-width:1023px){
  .gv-hero{min-height:auto;--gv-hero-lift:clamp(20px,3vh,40px);--gv-hero-band:clamp(100px,15vh,170px)}
}
@media (max-width:700px){
  .gv-site #nav{height:58px;padding:0 20px}
  .gv-site #nav.scrolled{height:50px}
  .gv-nav-logo{width:92px;height:52px;flex-basis:92px}
  .gv-shell,.gv-shell--narrow,.gv-hero__foot{width:calc(100% - 40px)}
  /* Full-bleed on phones too — this hero is the cinematic poster/video
     experience, so it earns the full screen more than any other on the
     site. Message and both CTAs still sit in the upper-middle. */
  .gv-hero{
    --gv-hero-nav:58px;
    --gv-hero-lift:clamp(16px,2.6vh,26px);
    --gv-hero-band:clamp(64px,10vh,104px);
    min-height:100svh;
  }
  .gv-hero__poster,.gv-hero__video{object-position:64% center}
  .gv-partner{font-size:10px;letter-spacing:.16em;gap:10px;margin-bottom:16px}
  .gv-exclusive{font-size:9px;letter-spacing:.14em;padding:6px 11px;margin-bottom:20px}
  .gv-hero h1{font-size:clamp(44px,12.5vw,60px);line-height:.98}
  .gv-hero__lead{font-size:15.5px;line-height:1.62;margin:20px 0 12px;max-width:100%}
  .gv-hero__sub{font-size:13.5px;margin-bottom:26px;max-width:100%}
  .gv-hero__actions{flex-direction:column;align-items:stretch;gap:10px}
  .gv-hero__actions .btn-primary,.gv-hero__actions .btn-outline{justify-content:center;min-height:52px;padding:14px 18px;font-size:11px;letter-spacing:.13em}
  /* Two wrapping labels in a space-between row collide on a phone. */
  .gv-hero__foot{bottom:14px;font-size:8.5px;letter-spacing:.1em;padding-top:11px;flex-direction:column;align-items:flex-start;gap:5px}
  .gv-section,.gv-consult{padding:64px 0}
  .gv-projects__inner{padding:70px 0}
  .gv-title{font-size:clamp(32px,9vw,42px);max-width:100%}
  .gv-copy{font-size:15px;line-height:1.8;max-width:100%}
  .gv-facts{margin-top:30px}
  .gv-fact,.gv-fact:nth-child(odd),.gv-fact:nth-child(even){padding:22px 0}
  .gv-fact h3{font-size:21px}
  .gv-fact p{margin-top:9px}
  .gv-tiers{margin-top:36px}
  .gv-tier{grid-template-columns:1fr;gap:14px;padding:28px 0}
  .gv-tier__amount{font-size:38px}
  .gv-tier__label{margin-top:8px}
  .gv-note{margin-top:28px;padding:18px 20px;font-size:13px}
  .gv-chapter{margin-top:48px}
  .gv-chapter__head{gap:14px;flex-wrap:wrap}
  .gv-step{grid-template-columns:1fr;gap:0;padding:26px 0}
  .gv-step__n{font-size:32px;margin-bottom:12px}
  .gv-step h4{font-size:21px;max-width:100%;padding-right:38px}
  .gv-step p{font-size:14px;max-width:100%}
  .gv-reasons li{padding:22px 0}
  .gv-reasons p{font-size:14.5px;max-width:100%}
  .gv-faq{margin-top:32px}
  .gv-faq__q{font-size:17px;padding:22px 0;gap:18px}
  .gv-faq__a p{font-size:14.5px;padding-bottom:22px}
  .gv-form{grid-template-columns:1fr;gap:20px}
  .gv-form label.full{grid-column:auto}
  /* 16px prevents iOS Safari zooming on focus; 50px keeps a comfortable target */
  .gv-form input,.gv-form select,.gv-form textarea{font-size:16px;min-height:50px;padding:13px 0}
  .gv-form textarea{min-height:118px}
  .gv-form .form-submit{width:100%;justify-content:center;min-height:52px}
  .gv-form .gv-consent input[type=checkbox]{flex-basis:22px;width:22px;height:22px}
  .gv-consult__copy,.gv-consult__assure{max-width:100%}
  .gv-footer{padding:62px 0 22px}
  .gv-footer__top{grid-template-columns:1fr;gap:34px;padding-bottom:34px}
  .gv-footer__brand img{height:56px}
  .gv-footer__bottom{flex-direction:column;gap:8px;font-size:9px;letter-spacing:.14em}
  .gv-footer__legal{font-size:11px}
}
@media (max-width:390px){
  .gv-shell,.gv-shell--narrow,.gv-hero__foot{width:calc(100% - 32px)}
  .gv-hero h1{font-size:42px}
}
/* Short laptops keep the hero controls inside the first screen. */
@media (min-width:1024px) and (max-height:820px){
  .gv-hero{--gv-hero-nav:76px;--gv-hero-lift:clamp(14px,2.2vh,26px);--gv-hero-band:clamp(104px,15vh,150px)}
  .gv-hero h1{font-size:clamp(48px,5.6vw,78px)}
  .gv-hero__lead{font-size:17px;margin:20px 0 12px}
  .gv-hero__sub{margin-bottom:26px}
}
/* Motion is an enhancement only: with reduced motion the poster stays and the
   video is never started (also enforced in JS). */
@media (prefers-reduced-motion:reduce){
  .gv-site .reveal,.gv-site .reveal.in{opacity:1!important;transform:none!important;transition:none!important}
  .gv-hero__video{display:none}
  .gv-faq__q .gv-faq__sign:before,.gv-faq__q .gv-faq__sign:after{transition:none}
}

/* ── Process steps: full text on desktop, collapsed on a phone ────────────
   All eight official steps stay on the page in both cases. On mobile the
   section ran 3.7 screens of solid text, so each step leads with a one-line
   gist and opens its full wording on request. */
.gv-step__gist,.gv-step__toggle{display:none}
.gv-step__detail{display:block}

@media (max-width:700px){
  .gv-step__gist{
    display:block;margin-top:8px;padding-right:38px;
    font-size:14px;line-height:1.6;font-weight:300;color:var(--ink-l);
  }
  /* The whole step header is the control, so the toggle costs no extra row:
     it sits as a 44px sign at the top-right, and JS proxies taps on the
     heading and gist to it. */
  .gv-step{position:relative}
  .gv-step__toggle{
    display:flex;align-items:center;justify-content:center;
    position:absolute;top:14px;right:-10px;width:44px;height:44px;
    background:none;border:0;cursor:pointer;padding:0;
  }
  .gv-step__toggle-label{
    position:absolute;width:1px;height:1px;padding:0;margin:-1px;
    overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
  }
  .gv-step__toggle:focus-visible{outline:2px solid var(--orange);outline-offset:-4px}
  .gv-step__head-hit{cursor:pointer}
  .gv-step__sign{position:relative;width:11px;height:11px;flex:0 0 11px}
  .gv-step__sign:before,.gv-step__sign:after{
    content:"";position:absolute;left:0;top:5px;width:11px;height:1.5px;background:var(--orange);
    transition:transform .28s ease;
  }
  .gv-step__sign:after{transform:rotate(90deg)}
  .gv-step__toggle[aria-expanded="true"] .gv-step__sign:after{transform:rotate(0deg)}
  .gv-step__detail[hidden]{display:none}
  .gv-step__detail p{margin-top:4px}
  .gv-step{padding:20px 0}
  .gv-step__n{font-size:28px;margin-bottom:8px}
}

/* ── Sticky consultation bar (mobile, this page only) ─────────────────────
   The page is a long high-consideration read; this keeps the primary action
   one thumb away without ever covering content or shifting layout. It is
   fixed (so it cannot cause CLS), appears only after the hero CTA has left
   the screen, and hides again once the consultation form is in view. */
.gv-sticky{
  position:fixed;left:0;right:0;bottom:0;z-index:900;
  display:none;align-items:center;justify-content:space-between;gap:14px;
  padding:11px 18px calc(11px + env(safe-area-inset-bottom,0px));
  background:rgba(10,20,32,.96);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-top:1px solid rgba(255,255,255,.14);
  transform:translateY(102%);transition:transform .3s ease;
}
.gv-sticky.is-visible{transform:none}
.gv-sticky__label{display:block;min-width:0}
.gv-sticky__name{
  display:block;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.62);
}
.gv-sticky__sub{
  display:block;margin-top:3px;font-family:var(--serif);font-size:15px;color:#fff;line-height:1.2;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.gv-sticky__cta{
  flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;
  min-height:44px;padding:12px 18px;border-radius:4px;
  background:var(--orange);color:var(--cta-ink);
  font-size:9.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;
}
.gv-sticky__cta:focus-visible{outline:2px solid #fff;outline-offset:2px}
@media (max-width:700px){ .gv-sticky{display:flex} }
/* A class rule outranks the UA sheet's [hidden], so honour the attribute
   explicitly: without JS the bar never appears at all. */
.gv-sticky[hidden]{display:none!important}
@media (prefers-reduced-motion:reduce){ .gv-sticky{transition:none} }
@media (max-width:700px){
  .gv-bridge{margin-top:34px}
  .gv-bridge__side,.gv-bridge__side + .gv-bridge__side{padding:26px 0}
  .gv-bridge__who{font-size:28px}
  .gv-bridge__list{margin-top:20px;gap:9px}
  .gv-tier{padding:24px 0}
  .gv-consult__assure{margin-top:24px}
}

/* ── Partner lockups on the Golden Visa page ──────────────────────────────
   The eyebrow becomes a brand lockup in the partnership section, so it needs
   to lay out as a row rather than as a line of tracked-out capitals. */
.gv-eyebrow--lockup{display:flex;align-items:center;gap:14px;flex-wrap:wrap;letter-spacing:normal}
.gv-partner.partner-lockup{margin-bottom:18px}

/* Names the source of the external inventory before the visitor leaves. */
.gv-provided{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:26px}
.gv-provided__label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.62)}

@media (max-width:700px){
  .gv-eyebrow--lockup,.gv-partner.partner-lockup,.gv-provided{gap:10px}
  .gv-provided__label{font-size:10.5px}
}
