  :root{
    --paper:#EDE9E2;
    --paper-deep:#E2DCD0;
    --ink:#1A1A18;
    --ink-soft:#4A463E;
    --ochre:#C8782E;
    --ochre-deep:#A35F1F;
    --navy:#1B3A5C;
    --navy-deep:#102640;
    --sage:#5C7A5C;
    --line:#1A1A18;
    --line-soft:rgba(26,26,24,0.16);
    --white:#FBFAF7;
    --max:1760px;
    --google-blue:#4285F4;
    --google-green:#34A853;
    --google-yellow:#FBBC05;
    --google-red:#EA4335;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--paper);
    color:var(--ink);
    font-family:'Inter',sans-serif;
    -webkit-font-smoothing:antialiased;
    line-height:1.5;
    overflow-x:hidden;
  }
  h1,h2,h3,h4{font-family:'Space Grotesk',sans-serif; font-weight:600; letter-spacing:-0.01em;}
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  .mono{font-family:'JetBrains Mono',monospace;}
  .wrap{max-width:var(--max); margin:0 auto; padding:0 clamp(20px, 4vw, 72px);}
  @media(max-width:640px){.wrap{padding:0 20px;}}

  /* ===== grid texture background ===== */
  .grid-bg{
    background-image:
      linear-gradient(var(--line-soft) 1px, transparent 1px),
      linear-gradient(90deg, var(--line-soft) 1px, transparent 1px);
    background-size: 64px 64px;
  }

  /* ===== TOP BAR ===== */
  .topbar{
    border-bottom:1px solid var(--line);
    background:var(--paper);
    position:sticky; top:0; z-index:100;
  }
  .topbar-inner{
    display:flex; align-items:center; justify-content:space-between;
    padding:18px 0;
  }
  .logo{display:flex; align-items:center; gap:16px;}
  .logo-img{height:90px; width:auto; object-fit:contain;}
  .logo-mark{
    width:40px;height:40px;border:2px solid var(--ink); border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    font-family:'Space Grotesk'; font-weight:700; font-size:15px;
    background:var(--ochre); color:var(--white);
    flex-shrink:0;
  }
  .logo-text{font-family:'Space Grotesk'; font-weight:700; font-size:22px; line-height:1.1;}
  .logo-text h1{font-size:22px; font-weight:700; letter-spacing:normal;}
  .logo-text span{display:block; font-family:'Inter'; font-weight:400; font-size:13px; letter-spacing:0.02em; color:var(--ink-soft); margin-top:2px;}
  nav{display:flex; gap:32px; align-items:center;}
  nav a{font-size:14px; font-weight:500; position:relative; padding:4px 0;}
  nav > a:not(.cta-small):after, nav > .has-dropdown > a:not(.cta-small):after{
    content:''; position:absolute; left:0; bottom:-2px; width:0; height:2px; background:var(--ochre);
    transition:width .25s ease;
  }
  nav > a:not(.cta-small):hover:after, nav > .has-dropdown > a:not(.cta-small):hover:after{width:100%;}
  nav a.active{color:var(--ochre-deep);}
  nav a.active:after{width:100%;}
  .cta-small{
    background:var(--ink); color:var(--white)!important; padding:10px 20px;
    border-radius:2px; font-size:13px; font-weight:600;
  }
  .nav-toggle{display:none; cursor:pointer; user-select:none;}
  @media(max-width:880px){
    nav{
      display:none; position:absolute; top:100%; left:0; right:0;
      flex-direction:column; align-items:flex-start; gap:0;
      background:var(--paper); border-bottom:1px solid var(--line);
      padding:8px clamp(20px,4vw,72px) 20px; z-index:150;
    }
    .topbar.nav-open nav{display:flex;}
    nav a{width:100%; padding:12px 0;}
    nav a.cta-small{width:auto; margin-top:12px; justify-content:center;}
    .has-dropdown{flex-direction:column; align-items:flex-start; width:100%;}
    .has-dropdown > a{width:100%; justify-content:space-between;}
    .has-dropdown.open .caret{transform:rotate(180deg);}
    .dropdown{
      position:static; transform:none; opacity:1; visibility:visible; pointer-events:auto;
      border:none; padding:0 0 8px 14px; min-width:0; background:transparent; display:none;
    }
    .has-dropdown.open .dropdown{display:block;}
    .nav-toggle{display:block; font-size:13px; font-weight:600; background:var(--ink); color:var(--white); padding:10px 16px; border-radius:2px;}
  }

  /* ===== NAV DROPDOWNS (tier-3 destination menus) ===== */
  .has-dropdown{position:relative; display:flex; align-items:center;}
  .has-dropdown > a{display:flex; align-items:center; gap:5px;}
  .caret{font-size:9px; color:var(--ink-soft); transition:transform .2s ease;}
  .has-dropdown:hover .caret{transform:translateY(1px);}
  .dropdown{
    position:absolute; top:100%; left:50%; transform:translateX(-50%) translateY(6px);
    background:var(--white); border:1px solid var(--line); border-radius:2px;
    padding:8px; min-width:212px;
    opacity:0; visibility:hidden; pointer-events:none;
    transition:opacity .16s ease, transform .16s ease;
    z-index:200;
  }
  .has-dropdown:hover .dropdown, .has-dropdown:focus-within .dropdown{
    opacity:1; visibility:visible; pointer-events:auto; transform:translateX(-50%) translateY(2px);
  }
  .dropdown-head{
    font-family:'JetBrains Mono'; font-size:10px; letter-spacing:0.08em; text-transform:uppercase;
    color:var(--ink-soft); padding:6px 10px 8px; border-bottom:1px solid var(--line-soft); margin-bottom:4px;
  }
  .dropdown a{
    display:block; font-size:13.5px; font-weight:500; padding:9px 10px; border-radius:2px;
    color:var(--ink);
  }
  .dropdown a::after{content:none;}
  .dropdown a:hover{background:var(--paper); color:var(--ochre-deep);}
  .flag-ic{width:18px; height:13px; object-fit:cover; border-radius:2px; margin-right:8px; vertical-align:middle; border:1px solid rgba(0,0,0,0.08); flex-shrink:0;}
  .flag-eu{object-fit:contain; background:#003399;}

  /* ===== HERO ===== */
  .hero{padding:88px 0 70px; position:relative;}
  .hero-eyebrow{
    display:inline-flex; align-items:center; gap:10px;
    font-family:'JetBrains Mono'; font-size:12px; letter-spacing:0.1em; text-transform:uppercase;
    color:var(--ink-soft); margin-bottom:28px; padding:6px 14px; border:1px solid var(--line); border-radius:20px;
  }
  .hero-eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--sage);}
  .hero-grid{
    display:grid; grid-template-columns:1.15fr 0.85fr; gap:56px; align-items:start;
  }
  @media(max-width:900px){ .hero-grid{grid-template-columns:1fr; gap:48px;} }

  .hero h2{
    font-size:clamp(38px,5.4vw,64px);
    line-height:1.03;
    letter-spacing:-0.02em;
    margin-bottom:24px;
  }
  .hero h2 .accent{color:var(--ochre); font-style:italic; font-weight:500;}
  .hero p.sub{
    font-size:18px; color:var(--ink-soft); max-width:520px; margin-bottom:36px; line-height:1.6;
  }
  .hero-ctas{display:flex; gap:14px; flex-wrap:wrap; margin-bottom:44px;}
  .btn-primary{
    background:var(--ink); color:var(--white); padding:16px 30px; font-weight:600; font-size:15px;
    border-radius:2px; display:inline-flex; align-items:center; gap:10px; border:1px solid var(--ink);
    transition:background .2s ease, transform .15s ease;
  }
  .btn-primary:hover{background:var(--ochre-deep); border-color:var(--ochre-deep); transform:translateY(-1px);}
  .btn-secondary{
    background:transparent; color:var(--ink); padding:16px 30px; font-weight:600; font-size:15px;
    border-radius:2px; border:1.5px solid var(--ink); display:inline-flex; align-items:center; gap:10px;
    transition:all .2s ease;
  }
  .btn-secondary:hover{background:var(--ink); color:var(--white);}
  .hero-trustrow{
    display:flex; gap:32px; flex-wrap:wrap; padding-top:28px; border-top:1px solid var(--line-soft);
  }
  .trust-stat{display:flex; flex-direction:column; gap:2px; flex:1 1 auto; min-width:110px;}
  .trust-stat b{font-family:'Space Grotesk'; font-size:24px; font-weight:700; white-space:nowrap;}
  .trust-stat span{font-size:11.5px; color:var(--ink-soft); font-family:'JetBrains Mono'; letter-spacing:0.02em; white-space:nowrap;}

  /* ===== STAMP — signature element ===== */
  .stamp-panel{
    background:var(--white); border:1px solid var(--line); border-radius:4px; padding:36px 30px;
    position:relative;
  }
  .stamp{
    position:absolute; top:-22px; right:-14px;
    width:118px; height:118px; border-radius:50%;
    border:3px double var(--ochre);
    display:flex; align-items:center; justify-content:center;
    transform:rotate(-12deg);
    background:var(--paper);
  }
  .stamp-inner{
    text-align:center; font-family:'JetBrains Mono'; color:var(--ochre-deep);
  }
  .stamp-inner .top{font-size:9px; letter-spacing:0.12em; display:block;}
  .stamp-inner .mid{font-family:'Space Grotesk'; font-weight:700; font-size:17px; display:block; margin:3px 0;}
  .stamp-inner .bot{font-size:8px; letter-spacing:0.1em; display:block;}
  .stamp-panel h3{font-size:13px; font-family:'JetBrains Mono'; text-transform:uppercase; letter-spacing:0.08em; color:var(--ink-soft); margin-bottom:18px;}
  .country-list{display:flex; flex-direction:column; gap:0;}
  .country-row{
    display:flex; align-items:center; justify-content:space-between; padding:13px 0;
    border-bottom:1px solid var(--line-soft); font-size:15px; font-weight:600;
  }
  .country-row:last-child{border-bottom:none;}
  .country-row.featured{
    background:linear-gradient(90deg, rgba(200,120,46,0.10), transparent);
    margin:0 -14px; padding:13px 14px; border-radius:3px; border-bottom:1px solid var(--line-soft);
  }
  .country-row.featured .left{font-weight:700;}
  .country-row.featured .arrow{color:var(--ochre-deep); font-weight:700;}
  .country-row .flag{width:26px; height:18px; object-fit:cover; border-radius:2px; margin-right:10px; border:1px solid rgba(0,0,0,0.08); flex-shrink:0;}
  .country-row .left{display:flex; align-items:center;}
  .country-row .arrow{color:var(--ink-soft); font-size:14px;}

  /* ===== SECTION LABEL ===== */
  .section-label{
    font-family:'JetBrains Mono'; font-size:12.5px; letter-spacing:0.12em; text-transform:uppercase;
    color:var(--ochre-deep); margin-bottom:14px; display:flex; align-items:center; gap:10px;
  }
  .section-label .ln{height:1px; width:36px; background:var(--ochre-deep);}
  .section-title{font-size:clamp(28px,3.6vw,42px); margin-bottom:18px; max-width:720px;}
  .section-intro{font-size:16.5px; color:var(--ink-soft); max-width:640px; margin-bottom:48px; line-height:1.65;}

  section{padding:90px 0;}
  .sect-line-top{border-top:1px solid var(--line);}

  /* ===== SERVICES GRID ===== */
  .services-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
  @media(max-width:900px){.services-grid{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:600px){.services-grid{grid-template-columns:1fr;}}
  .service-card{
    background:var(--paper); padding:36px 28px; position:relative; transition:background .2s ease;
    display:flex; flex-direction:column; min-height:230px;
  }
  .service-card:hover{background:var(--white);}
  .service-num{font-family:'JetBrains Mono'; font-size:12px; color:var(--ink-soft); margin-bottom:20px;}
  .service-card h3{font-size:21px; margin-bottom:10px;}
  .service-card p{font-size:14.5px; color:var(--ink-soft); line-height:1.55; margin-bottom:20px; flex-grow:1;}
  .service-link{font-size:13.5px; font-weight:700; display:inline-flex; align-items:center; gap:6px; color:var(--navy);}
  .service-link:after{content:'→'; transition:transform .2s ease;}
  .service-card:hover .service-link:after{transform:translateX(4px);}

  /* ===== COUNTRIES STRIP ===== */
  .countries-strip{background:var(--ink); padding:64px 0;}
  .countries-strip .section-label{color:var(--ochre);}
  .countries-strip .section-label .ln{background:var(--ochre);}
  .countries-strip .section-title{color:var(--white);}
  .countries-strip .section-intro{color:rgba(251,250,247,0.6);}
  .country-cards{display:grid; grid-template-columns:repeat(6,1fr); gap:14px;}
  @media(max-width:900px){.country-cards{grid-template-columns:repeat(3,1fr);}}
  @media(max-width:520px){.country-cards{grid-template-columns:repeat(2,1fr);}}
  .country-card{
    background:rgba(251,250,247,0.04); border:1px solid rgba(251,250,247,0.16); border-radius:3px;
    padding:24px 16px; text-align:center; transition:all .2s ease; cursor:pointer;
  }
  .country-card:hover{background:var(--ochre); border-color:var(--ochre);}
  .country-card .flag{width:36px; height:26px; object-fit:cover; border-radius:2px; margin:0 auto 10px; display:block; border:1px solid rgba(251,250,247,0.15);}
  .country-card h4{color:var(--white); font-size:14.5px; font-weight:600;}
  .country-card span{display:block; font-family:'JetBrains Mono'; font-size:10px; color:rgba(251,250,247,0.5); margin-top:4px;}
  .country-card:hover span{color:rgba(26,26,24,0.7);}

  /* ===== SCHENGEN SPOTLIGHT ===== */
  .schengen-grid{display:grid; grid-template-columns:1.1fr 0.9fr; gap:56px; align-items:center;}
  @media(max-width:900px){.schengen-grid{grid-template-columns:1fr; gap:36px;}}
  .schengen-list{
    display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); border:1px solid var(--line);
  }
  @media(max-width:480px){.schengen-list{grid-template-columns:1fr 1fr;}}
  .schengen-row{
    background:var(--white); padding:18px 20px; font-size:14.5px; font-weight:600;
    display:flex; align-items:center; gap:10px;
  }
  .schengen-row span{font-size:19px;}

  /* ===== WHY US ===== */
  .why-grid{display:grid; grid-template-columns:0.9fr 1.1fr; gap:64px; align-items:center;}
  @media(max-width:900px){.why-grid{grid-template-columns:1fr; gap:40px;}}
  .why-list{display:flex; flex-direction:column;}
  .why-item{display:flex; gap:20px; padding:24px 0; border-top:1px solid var(--line-soft);}
  .why-item:last-child{border-bottom:1px solid var(--line-soft);}
  .why-icon{
    width:46px;height:46px; border:1.5px solid var(--ink); border-radius:50%; flex-shrink:0;
    display:flex; align-items:center; justify-content:center; font-size:18px; background:var(--white);
  }
  .why-item h4{font-size:17px; margin-bottom:6px;}
  .why-item p{font-size:14.5px; color:var(--ink-soft); line-height:1.55;}
  .why-portrait{
    background:var(--white); border:1px solid var(--line); border-radius:4px; padding:32px; position:relative;
  }
  .portrait-photo{
    width:100%; aspect-ratio:4/5; background:var(--paper-deep); border-radius:3px; margin-bottom:22px;
    display:flex; align-items:center; justify-content:center; border:1px solid var(--line-soft); overflow:hidden;
  }
  .portrait-photo img{width:100%;height:100%;object-fit:cover;}
  .portrait-photo.img-fallback{background:linear-gradient(135deg, var(--navy) 0%, var(--navy-deep) 100%); display:flex; align-items:center; justify-content:center;}
  .portrait-photo.img-fallback::after{content:'RB'; font-family:'Space Grotesk'; font-size:56px; font-weight:700; color:rgba(251,250,247,0.9);}
  .why-portrait h4{font-size:19px; margin-bottom:4px;}
  .why-portrait .role{font-family:'JetBrains Mono'; font-size:12px; color:var(--ochre-deep); letter-spacing:0.04em; margin-bottom:16px; display:block;}
  .why-portrait p.quote{font-size:15px; color:var(--ink-soft); line-height:1.6; font-style:italic;}

  /* ===== PROCESS ===== */
  .process-track{position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:0;}
  @media(max-width:900px){.process-track{grid-template-columns:1fr; gap:28px;}}
  .process-track:before{
    content:''; position:absolute; top:23px; left:0; right:0; height:1px; background:var(--line-soft);
  }
  @media(max-width:900px){.process-track:before{display:none;}}
  .process-step{position:relative; padding-right:24px;}
  .process-num{
    width:46px;height:46px; border-radius:50%; background:var(--paper); border:1.5px solid var(--ink);
    display:flex; align-items:center; justify-content:center; font-family:'Space Grotesk'; font-weight:700;
    font-size:16px; margin-bottom:22px; position:relative; z-index:2;
  }
  .process-step h4{font-size:17px; margin-bottom:8px;}
  .process-step p{font-size:14px; color:var(--ink-soft); line-height:1.55;}

  /* ===== TESTIMONIALS ===== */
  .testi-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
  @media(max-width:900px){.testi-grid{grid-template-columns:1fr;}}
  .testi-card{
    background:var(--white); border:1px solid var(--line); border-radius:4px; padding:28px;
    display:flex; flex-direction:column;
  }
  .testi-stars{color:var(--ochre); font-size:14px; margin-bottom:16px; letter-spacing:2px;}
  .testi-card p{font-size:14.5px; line-height:1.6; color:var(--ink-soft); margin-bottom:20px; flex-grow:1;}
  .testi-foot{display:flex; align-items:center; gap:12px; padding-top:16px; border-top:1px solid var(--line-soft);}
  .testi-avatar{
    width:38px;height:38px;border-radius:50%; background:var(--navy); color:var(--white);
    display:flex;align-items:center;justify-content:center; font-family:'Space Grotesk'; font-weight:700; font-size:14px;
  }
  .testi-name{font-size:14px; font-weight:700;}
  .testi-meta{font-size:12px; color:var(--ink-soft); font-family:'JetBrains Mono';}

  /* ===== LEAD FORM / CTA ===== */
  .cta-section{background:var(--navy); position:relative; overflow:hidden;}
  .cta-grid{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center;}
  @media(max-width:900px){.cta-grid{grid-template-columns:1fr;}}
  .cta-section .section-label{color:#9DBADA;}
  .cta-section .section-label .ln{background:#9DBADA;}
  .cta-left h2{color:var(--white); font-size:clamp(28px,3.6vw,40px); margin-bottom:18px;}
  .cta-left p{color:rgba(251,250,247,0.7); font-size:16px; line-height:1.6; max-width:440px; margin-bottom:28px;}
  .cta-contact-row{display:flex; align-items:center; gap:14px; margin-bottom:16px;}
  .cta-contact-row .ic{
    width:40px;height:40px;border-radius:50%;border:1.5px solid rgba(251,250,247,0.3);
    display:flex;align-items:center;justify-content:center; font-size:16px; flex-shrink:0;
  }
  .cta-contact-row a, .cta-contact-row span{color:var(--white); font-size:15px; font-weight:500;}

  .lead-form{
    background:var(--white); border-radius:4px; padding:36px; border:1px solid rgba(0,0,0,0.06);
  }
  .lead-form h3{font-size:20px; margin-bottom:6px;}
  .lead-form .sub-form{font-size:13.5px; color:var(--ink-soft); margin-bottom:24px;}
  .form-row{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:14px;}
  @media(max-width:480px){.form-row{grid-template-columns:1fr;}}
  .form-field{display:flex; flex-direction:column; gap:6px;}
  .form-field label{font-size:12px; font-weight:600; color:var(--ink-soft); text-transform:uppercase; letter-spacing:0.03em;}
  .form-field input, .form-field select{
    border:1.5px solid var(--line-soft); border-radius:2px; padding:11px 12px; font-size:14px;
    font-family:'Inter'; background:var(--paper); color:var(--ink);
  }
  .form-field input:focus, .form-field select:focus{outline:2px solid var(--ochre); outline-offset:1px; border-color:var(--ochre);}
  .form-submit{
    width:100%; background:var(--ochre); color:var(--white); border:none; padding:15px; border-radius:2px;
    font-weight:700; font-size:15px; margin-top:8px; cursor:pointer; transition:background .2s ease;
    font-family:'Inter';
  }
  .form-submit:hover{background:var(--ochre-deep);}
  .form-disclaimer{font-size:11.5px; color:var(--ink-soft); margin-top:12px; text-align:center;}

  /* ===== FAQ TEASER ===== */
  .faq-list{display:flex; flex-direction:column; max-width:820px;}
  .faq-item{border-bottom:1px solid var(--line-soft);}
  .faq-q{
    display:flex; align-items:center; justify-content:space-between; padding:22px 0; cursor:pointer;
    font-size:16px; font-weight:600; font-family:'Space Grotesk';
  }
  .faq-q .plus{font-size:20px; font-family:'JetBrains Mono'; color:var(--ochre-deep); transition:transform .2s ease;}
  .faq-item.open .plus{transform:rotate(45deg);}
  .faq-a{max-height:0; overflow:hidden; transition:max-height .3s ease;}
  .faq-item.open .faq-a{max-height:240px;}
  .faq-a p{font-size:14.5px; color:var(--ink-soft); line-height:1.65; padding-bottom:22px; max-width:680px;}

  ::selection{background:var(--ochre); color:var(--white);}
  :focus-visible{outline:2px solid var(--ochre); outline-offset:2px;}

  /* ===== FOOTER ===== */
  footer{background:var(--ink); color:var(--white); padding:64px 0 28px;}
  .footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; margin-bottom:48px;}
  @media(max-width:800px){.footer-grid{grid-template-columns:1fr 1fr; row-gap:36px;}}
  @media(max-width:480px){.footer-grid{grid-template-columns:1fr;}}
  .footer-logo{display:flex; align-items:center; gap:10px; margin-bottom:16px;}
  .footer-logo .logo-mark{background:var(--ochre);}
  .footer-logo-text{font-family:'Space Grotesk'; font-weight:700; font-size:17px; color:var(--white);}
  .footer-logo-img{height:40px; width:auto; object-fit:contain;}
  .footer-company{margin-bottom:12px;}
  .footer-company h4{font-family:'Space Grotesk'; font-weight:700; font-size:17px; color:var(--white); margin:0 0 4px 0;}
  .footer-company span{font-family:'Inter'; font-weight:400; font-size:13px; color:rgba(251,250,247,0.7); letter-spacing:0.02em;}
  footer p.about{font-size:13.5px; color:rgba(251,250,247,0.55); line-height:1.6; max-width:280px;}
  .footer-col h5{font-family:'JetBrains Mono'; font-size:11.5px; letter-spacing:0.1em; text-transform:uppercase; color:rgba(251,250,247,0.45); margin-bottom:18px;}
  .footer-col a, .footer-col span{display:block; font-size:14px; color:rgba(251,250,247,0.75); margin-bottom:12px;}
  .contact-line{white-space:nowrap;}
  .footer-col .contact-line{display:block; margin-bottom:12px;}
  .footer-col .contact-line a{display:inline; margin-bottom:0;}
  @media(max-width:400px){.contact-line{font-size:12.5px;}}
  .footer-col a:hover{color:var(--ochre);}
  .footer-bottom{
    display:flex; justify-content:space-between; align-items:center; padding-top:28px;
    border-top:1px solid rgba(251,250,247,0.12); font-size:12.5px; color:rgba(251,250,247,0.45); flex-wrap:wrap; gap:12px;
  }
  .social-row{display:flex; gap:14px;}
  .social-row a{
    width:34px;height:34px;border-radius:50%; border:1px solid rgba(251,250,247,0.2);
    display:flex;align-items:center;justify-content:center; font-size:13px; color:rgba(251,250,247,0.75)!important;
    transition:all .2s ease;
  }
  .social-row a:hover{background:var(--ochre); border-color:var(--ochre); color:var(--white)!important;}


/* =====================================================================
   INNER PAGES — SHARED (About / FAQ / Contact / Free Assessment)
   ===================================================================== */
.breadcrumb{padding:16px 0; border-bottom:1px solid var(--line-soft);}
.breadcrumb ol{display:flex; gap:8px; align-items:center; list-style:none; font-size:13px; font-family:'JetBrains Mono'; color:var(--ink-soft);}
.breadcrumb li+li:before{content:'›'; margin-right:8px;}
.breadcrumb a{color:var(--ochre-deep);}
.breadcrumb li:last-child{color:var(--ink);}

.page-hero{padding:72px 0 64px;}
.page-hero-inner{display:grid; grid-template-columns:1.05fr 0.95fr; gap:64px; align-items:start;}
@media(max-width:900px){.page-hero-inner{grid-template-columns:1fr; gap:44px;}}
.page-hero-eyebrow{display:inline-flex; align-items:center; gap:10px; font-family:'JetBrains Mono'; font-size:12px; letter-spacing:0.1em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:24px; padding:6px 14px; border:1px solid var(--line); border-radius:20px;}
.page-hero-eyebrow .dot{width:6px; height:6px; border-radius:50%; background:var(--ochre);}
.page-hero h1{font-size:clamp(36px,5vw,58px); line-height:1.04; letter-spacing:-0.02em; margin-bottom:20px;}
.page-hero h1 em{color:var(--ochre); font-style:italic; font-weight:500;}
.page-hero p.lead{font-size:17.5px; color:var(--ink-soft); line-height:1.65; max-width:520px; margin-bottom:32px;}

.office-details{display:flex; flex-direction:column; gap:24px;}
.office-row{display:flex; gap:16px; align-items:flex-start;}
.office-icon{width:44px; height:44px; border-radius:50%; border:1.5px solid var(--line); display:flex; align-items:center; justify-content:center; font-size:17px; flex-shrink:0; background:var(--white);}
.office-row-content h4{font-size:15px; font-weight:700; margin-bottom:4px;}
.office-row-content p, .office-row-content a{font-size:14.5px; color:var(--ink-soft); line-height:1.55;}
.office-map{background:var(--white); border:1px solid var(--line); border-radius:4px; overflow:hidden; display:flex; align-items:center; justify-content:center;}
.map-placeholder{text-align:center; padding:32px;}
.map-placeholder .map-icon{font-size:40px; margin-bottom:12px;}
.map-placeholder p{font-size:14px; color:var(--ink-soft);}
.map-placeholder a{color:var(--ochre-deep); font-weight:600; font-size:14px;}

.cta-band{background:var(--ochre); padding:64px 0;}
.cta-band-inner{display:flex; align-items:center; justify-content:space-between; gap:32px; flex-wrap:wrap;}
.cta-band h2{font-size:clamp(22px,3vw,34px); color:var(--white); max-width:560px;}
.cta-band .btns{display:flex; gap:14px; flex-wrap:wrap;}
.btn-white{background:var(--white); color:var(--ochre-deep); padding:15px 28px; font-weight:700; font-size:15px; border-radius:2px; display:inline-flex; align-items:center; gap:8px; transition:all .2s ease;}
.btn-white:hover{background:var(--paper); transform:translateY(-1px);}
.btn-outline-white{background:transparent; color:var(--white); border:1.5px solid rgba(251,250,247,0.7); padding:15px 28px; font-weight:600; font-size:15px; border-radius:2px; display:inline-flex; align-items:center; gap:8px; transition:all .2s ease;}
.btn-outline-white:hover{background:rgba(251,250,247,0.15);}

/* =====================================================================
   ABOUT PAGE
   ===================================================================== */
.director-card{background:var(--white); border:1px solid var(--line); border-radius:4px; overflow:hidden; position:relative;}
.director-photo{width:100%; aspect-ratio:4/3; background:linear-gradient(145deg,var(--navy) 0%,var(--navy-deep) 55%,var(--ochre-deep) 100%); display:flex; align-items:center; justify-content:center; position:relative;}
.director-photo img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:top center; z-index:1;}
.director-initials{font-family:'Space Grotesk'; font-size:72px; font-weight:700; color:rgba(251,250,247,0.92);}
.director-photo-caption{position:absolute; bottom:0; left:0; right:0; padding:14px 20px; background:linear-gradient(transparent,rgba(16,38,64,0.88)); z-index:2;}
.director-photo-caption h4{color:var(--white); font-size:18px; margin-bottom:2px;}
.director-photo-caption .role{font-family:'JetBrains Mono'; font-size:11px; color:rgba(251,250,247,0.7); letter-spacing:0.08em; text-transform:uppercase;}
.director-body{padding:24px 24px 20px;}
.director-body p{font-size:14.5px; color:var(--ink-soft); line-height:1.6;}
.director-quote{font-style:italic; border-left:3px solid var(--ochre); padding-left:14px; margin-top:16px;}
.director-quote p{font-size:14px; color:var(--ink-soft); line-height:1.6;}

.stats-band{background:var(--ink); padding:52px 0;}
.stats-inner{display:grid; grid-template-columns:repeat(4,1fr); gap:0; border:1px solid rgba(251,250,247,0.1);}
@media(max-width:900px){.stats-inner{grid-template-columns:repeat(2,1fr);}}
@media(max-width:480px){.stats-inner{grid-template-columns:1fr 1fr;}}
.stat-cell{padding:32px 28px; border-right:1px solid rgba(251,250,247,0.1); text-align:center;}
.stat-cell:last-child{border-right:none;}
@media(max-width:900px){.stat-cell:nth-child(2){border-right:none;} .stat-cell:nth-child(3){border-right:1px solid rgba(251,250,247,0.1); border-top:1px solid rgba(251,250,247,0.1);} .stat-cell:nth-child(4){border-top:1px solid rgba(251,250,247,0.1); border-right:none;}}
.stat-cell b{display:block; font-family:'Space Grotesk'; font-size:clamp(32px,4vw,48px); font-weight:700; color:var(--white); letter-spacing:-0.02em; margin-bottom:6px;}
.stat-cell span{font-family:'JetBrains Mono'; font-size:11.5px; letter-spacing:0.1em; text-transform:uppercase; color:rgba(251,250,247,0.5);}

.story-grid{display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start;}
@media(max-width:900px){.story-grid{grid-template-columns:1fr; gap:40px;}}
.story-body p{font-size:16px; color:var(--ink-soft); line-height:1.75; margin-bottom:18px;}
.story-body p:last-child{margin-bottom:0;}
.story-body strong{color:var(--ink); font-weight:600;}

.timeline{display:flex; flex-direction:column; gap:0;}
.tl-item{display:flex; gap:20px; padding-bottom:32px; position:relative;}
.tl-item:not(:last-child):before{content:''; position:absolute; left:19px; top:40px; bottom:0; width:1px; background:var(--line-soft);}
.tl-dot{width:40px; height:40px; border-radius:50%; background:var(--white); border:1.5px solid var(--line); display:flex; align-items:center; justify-content:center; flex-shrink:0; font-family:'Space Grotesk'; font-weight:700; font-size:13px; color:var(--ochre-deep);}
.tl-content{padding-top:8px;}
.tl-content h4{font-size:16px; margin-bottom:4px;}
.tl-content p{font-size:14px; color:var(--ink-soft); line-height:1.6;}

.values-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line);}
@media(max-width:640px){.values-grid{grid-template-columns:1fr;}}
.value-card{background:var(--paper); padding:40px 36px; transition:background .2s ease;}
.value-card:hover{background:var(--white);}
.value-icon{font-size:32px; margin-bottom:18px;}
.value-card h3{font-size:20px; margin-bottom:10px;}
.value-card p{font-size:15px; color:var(--ink-soft); line-height:1.6;}

.commit-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
@media(max-width:900px){.commit-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:540px){.commit-grid{grid-template-columns:1fr;}}
.commit-item{display:flex; gap:14px; align-items:flex-start; padding:22px; background:var(--white); border:1px solid var(--line-soft); border-radius:3px;}
.commit-check{width:28px; height:28px; border-radius:50%; background:var(--sage); display:flex; align-items:center; justify-content:center; flex-shrink:0; color:var(--white); font-size:13px; font-weight:700;}
.commit-item p{font-size:14.5px; color:var(--ink); line-height:1.55; font-weight:500;}

.reviews-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:24px;}
@media(max-width:900px){.reviews-grid{grid-template-columns:1fr;}}
.review-card{background:var(--white); border:1px solid var(--line); border-radius:4px; padding:30px; display:flex; flex-direction:column;}
.review-stars{color:var(--ochre); font-size:14px; letter-spacing:2px; margin-bottom:14px;}
.review-body{font-size:15px; color:var(--ink-soft); line-height:1.65; flex-grow:1; font-style:italic; margin-bottom:20px;}
.review-foot{display:flex; align-items:center; gap:14px; padding-top:18px; border-top:1px solid var(--line-soft);}
.review-avatar{width:42px; height:42px; border-radius:50%; background:var(--navy); display:flex; align-items:center; justify-content:center; font-family:'Space Grotesk'; font-weight:700; font-size:15px; color:var(--white); flex-shrink:0;}
.review-name{font-size:14px; font-weight:700;}
.review-meta{font-size:12px; color:var(--ink-soft); font-family:'JetBrains Mono';}
.review-card.featured{grid-column:1/-1; background:var(--navy);}
@media(max-width:900px){.review-card.featured{grid-column:1;}}
.review-card.featured .review-body{color:rgba(251,250,247,0.8); font-size:16px;}
.review-card.featured .review-stars{color:#F0B060;}
.review-card.featured .review-foot{border-top-color:rgba(251,250,247,0.15);}
.review-card.featured .review-avatar{background:var(--ochre);}
.review-card.featured .review-name{color:var(--white);}
.review-card.featured .review-meta{color:rgba(251,250,247,0.5);}

.office-grid{display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start;}
@media(max-width:900px){.office-grid{grid-template-columns:1fr; gap:32px;}}

/* =====================================================================
   FAQ PAGE
   ===================================================================== */
.quicknav{display:flex; flex-wrap:wrap; gap:10px; margin-top:28px;}
.quicknav a{font-size:13px; font-weight:600; padding:9px 16px; border:1.5px solid var(--line); border-radius:20px; background:var(--white);}
.quicknav a:hover{background:var(--ochre); color:var(--white); border-color:var(--ochre);}

/* =====================================================================
   CONTACT PAGE
   ===================================================================== */
.quick-contact-row{display:flex; flex-wrap:wrap; gap:12px;}
.quick-contact-row a{display:inline-flex; align-items:center; gap:8px; font-size:14px; font-weight:600; padding:12px 18px; border-radius:2px;}
.quick-contact-row a.call{background:var(--ink); color:var(--white);}
.quick-contact-row a.wa{background:var(--sage); color:var(--white);}
.quick-contact-row a.mail{background:transparent; border:1.5px solid var(--line); color:var(--ink);}

.stamp-card{background:var(--white); border:1px solid var(--line); border-radius:4px; padding:32px; position:relative; overflow:hidden;}
.stamp-mark{position:absolute; top:24px; right:24px; width:96px; height:96px; border:2.5px solid var(--ochre); border-radius:50%; display:flex; align-items:center; justify-content:center; transform:rotate(-12deg); opacity:0.9;}
.stamp-mark span{font-family:'JetBrains Mono'; font-size:10.5px; letter-spacing:0.08em; text-align:center; color:var(--ochre-deep); font-weight:700; line-height:1.3;}
.stamp-card h4{font-size:15px; margin-bottom:16px; color:var(--ink-soft); font-family:'JetBrains Mono'; letter-spacing:0.06em; text-transform:uppercase; font-weight:500;}
.stamp-list{display:flex; flex-direction:column; gap:16px; margin-top:8px;}
.stamp-list-item b{display:block; font-size:15px; margin-bottom:2px;}
.stamp-list-item span{font-size:13.5px; color:var(--ink-soft);}

.contact-grid{display:grid; grid-template-columns:0.85fr 1.15fr; gap:56px; align-items:start;}
@media(max-width:960px){.contact-grid{grid-template-columns:1fr; gap:40px;}}
.social-block{margin-top:8px; padding-top:24px; border-top:1px solid var(--line-soft);}
.social-block h4{font-size:15px; font-weight:700; margin-bottom:14px;}

.contact-form{background:var(--white); border:1px solid var(--line); border-radius:4px; padding:40px;}
.contact-form h3{font-size:22px; margin-bottom:6px;}
.contact-form .sub{font-size:14.5px; color:var(--ink-soft); margin-bottom:28px;}
.field{display:flex; flex-direction:column; gap:6px;}
.field.full{grid-column:1/-1;}
.field label{font-size:12.5px; font-family:'JetBrains Mono'; letter-spacing:0.05em; text-transform:uppercase; color:var(--ink-soft);}
.field input, .field select, .field textarea{font-family:'Inter'; font-size:14.5px; padding:12px 14px; border:1px solid var(--line-soft); border-radius:2px; background:var(--paper); color:var(--ink);}
.field input:focus, .field select:focus, .field textarea:focus{outline:2px solid var(--ochre); outline-offset:1px; border-color:var(--ochre);}
.field textarea{resize:vertical; min-height:96px;}
.contact-form .form-row{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px;}
@media(max-width:560px){.contact-form .form-row{grid-template-columns:1fr;}}
.contact-form .form-submit{width:100%; background:var(--ochre); color:var(--white); font-weight:700; font-size:15px; padding:15px 24px; border:none; border-radius:2px; cursor:pointer; margin-top:8px; transition:background .2s ease;}
.contact-form .form-submit:hover{background:var(--ochre-deep);}
.form-note{font-size:12.5px; color:var(--ink-soft); margin-top:14px; text-align:center;}

.hours-map-grid{display:grid; grid-template-columns:1fr 1.3fr; gap:48px; align-items:stretch;}
@media(max-width:900px){.hours-map-grid{grid-template-columns:1fr;}}
.hours-card{background:var(--ink); color:var(--white); border-radius:4px; padding:36px; display:flex; flex-direction:column; justify-content:center;}
.hours-card h3{color:var(--white); font-size:20px; margin-bottom:20px;}
.hours-row{display:flex; justify-content:space-between; padding:10px 0; border-bottom:1px solid rgba(251,250,247,0.12); font-size:14.5px;}
.hours-row:last-child{border-bottom:none;}
.hours-row span:first-child{color:rgba(251,250,247,0.65);}
.hours-row span:last-child{font-weight:600;}

.mini-faq{display:flex; flex-direction:column; gap:1px; background:var(--line); border:1px solid var(--line);}
.mini-faq-item{background:var(--paper); padding:24px 28px;}
.mini-faq-item h4{font-size:15.5px; margin-bottom:8px;}
.mini-faq-item p{font-size:14px; color:var(--ink-soft); line-height:1.6;}

/* =====================================================================
   FREE ASSESSMENT PAGE
   ===================================================================== */
.fa-hero{padding:72px 0 0;}
.fa-hero .hero-eyebrow .dot{background:var(--ochre);}
.fa-hero h1{font-size:clamp(34px,5vw,58px); line-height:1.04; letter-spacing:-0.02em; margin-bottom:20px;}
.fa-hero p.lead{font-size:17px; color:var(--ink-soft); line-height:1.68; max-width:520px; margin-bottom:32px;}
.quick-facts{display:flex; gap:0; border:1px solid var(--line); border-radius:3px; overflow:hidden; margin-bottom:64px;}
@media(max-width:640px){.quick-facts{flex-direction:column;}}
.qf{flex:1; padding:20px 18px; background:var(--white); border-right:1px solid var(--line); text-align:center;}
.qf:last-child{border-right:none;}
.qf b{display:block; font-family:'Space Grotesk'; font-size:20px; font-weight:700; color:var(--ink); margin-bottom:4px;}
.qf span{font-family:'JetBrains Mono'; font-size:10.5px; letter-spacing:0.06em; text-transform:uppercase; color:var(--ink-soft);}

.side-panel{background:var(--ochre); border-radius:4px; padding:32px 28px; position:relative; overflow:hidden;}
.side-icon{font-size:26px; margin-bottom:20px; opacity:0.9;}
.side-panel h3{color:var(--white); font-size:20px; margin-bottom:6px;}
.side-panel .sub{color:rgba(255,255,255,0.7); font-size:14px; font-family:'JetBrains Mono'; letter-spacing:0.04em; margin-bottom:22px;}
.side-fact-list{display:flex; flex-direction:column; gap:12px;}
.side-fact{display:flex; justify-content:space-between; gap:12px; padding:10px 0; border-bottom:1px solid rgba(255,255,255,0.18); font-size:13.5px; color:rgba(255,255,255,0.92);}
.side-fact b{font-family:'Space Grotesk'; color:var(--white);}
.side-panel-note{margin-top:18px; font-size:12.5px; color:rgba(255,255,255,0.62); font-family:'JetBrains Mono'; border-top:1px solid rgba(255,255,255,0.18); padding-top:16px;}

/* boxed-stat variant of the side panel, for short single-number facts */
.side-fact-grid{display:grid; grid-template-columns:1fr 1fr; gap:10px;}
.side-fact-item{background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.18); border-radius:3px; padding:12px 14px;}
.side-fact-item b{display:block; color:var(--white); font-family:'Space Grotesk'; font-size:15px;}
.side-fact-item span{color:rgba(255,255,255,0.65); font-family:'JetBrains Mono'; font-size:10px; text-transform:uppercase;}

/* =====================================================================
   COUNTRY LANDING PAGES (New Zealand, Schengen, etc.)
   ===================================================================== */
   
   /* ── HERO ───────────────────────────────────────────────────────── */
  .page-hero{padding:72px 0 64px;}
  .page-hero-inner{display:grid;grid-template-columns:1.05fr 0.85fr;gap:64px;align-items:start;}
  @media(max-width:940px){.page-hero-inner{grid-template-columns:1fr;gap:44px;}}
  .page-hero-eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:'JetBrains Mono';font-size:12px;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:24px;padding:6px 14px;border:1px solid var(--line);border-radius:20px;}
  .page-hero-eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--ochre);}
  .page-hero h1{font-size:clamp(34px,4.6vw,54px);line-height:1.06;letter-spacing:-0.02em;margin-bottom:20px;}
  .page-hero h1 em{color:var(--ochre);font-style:italic;font-weight:500;}
  .page-hero p.lead{font-size:17px;color:var(--ink-soft);line-height:1.65;max-width:560px;margin-bottom:22px;}
  .page-hero p.lead:last-of-type{margin-bottom:0;}
  .page-hero p.lead strong{color:var(--ink);font-weight:600;}

  /* jump card */
  .jump-card{background:var(--white);border:1px solid var(--line);border-radius:4px;overflow:hidden;}
  .jump-card-head{padding:20px 22px;border-bottom:1px solid var(--line-soft);}
  .jump-card-head h4{font-size:15px;}
  .jump-card-head span{font-family:'JetBrains Mono';font-size:11.5px;color:var(--ink-soft);letter-spacing:0.06em;text-transform:uppercase;}
  .jump-row{display:flex;align-items:center;gap:14px;padding:14px 22px;border-bottom:1px solid var(--line-soft);transition:background .18s ease;}
  .jump-row:last-child{border-bottom:none;}
  .jump-row:hover{background:var(--paper);}
  .jump-flag{width:34px;height:34px;border-radius:6px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-family:'Space Grotesk';font-weight:700;font-size:11.5px;color:var(--white);letter-spacing:0.02em;}
  .jump-row-name{font-size:14.5px;font-weight:600;flex-grow:1;}
  .jump-row-sub{font-family:'JetBrains Mono';font-size:11px;color:var(--ink-soft);}
  .jump-row-arrow{color:var(--ochre-deep);font-size:15px;}

  .flag-ca{background:linear-gradient(145deg,var(--navy) 0%,var(--navy-deep) 100%);}
  .flag-au{background:linear-gradient(145deg,var(--ochre) 0%,var(--ochre-deep) 100%);}
  .flag-nz{background:linear-gradient(145deg,var(--navy-deep) 0%,var(--ink) 100%);}
  .flag-uk{background:linear-gradient(145deg,var(--ink) 0%,var(--navy-deep) 100%);}
  .flag-us{background:linear-gradient(145deg,var(--ochre-deep) 0%,var(--navy) 100%);}
  .flag-eu{background:linear-gradient(135deg,var(--navy) 0%,var(--ochre) 100%);}

  /* ── STATS BAND ─────────────────────────────────────────────────── */
  .stats-band{background:var(--ink);padding:52px 0;}
  .stats-inner{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid rgba(251,250,247,0.1);}
  @media(max-width:900px){.stats-inner{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:480px){.stats-inner{grid-template-columns:1fr 1fr;}}
  .stat-cell{padding:32px 28px;border-right:1px solid rgba(251,250,247,0.1);text-align:center;}
  .stat-cell:last-child{border-right:none;}
  @media(max-width:900px){.stat-cell:nth-child(2){border-right:none;}.stat-cell:nth-child(3){border-right:1px solid rgba(251,250,247,0.1);border-top:1px solid rgba(251,250,247,0.1);}.stat-cell:nth-child(4){border-top:1px solid rgba(251,250,247,0.1);border-right:none;}}
  .stat-cell b{display:block;font-family:'Space Grotesk';font-size:clamp(32px,4vw,48px);font-weight:700;color:var(--white);letter-spacing:-0.02em;margin-bottom:6px;}
  .stat-cell span{font-family:'JetBrains Mono';font-size:11.5px;letter-spacing:0.1em;text-transform:uppercase;color:rgba(251,250,247,0.5);}

  /* ── COUNTRY GRID ───────────────────────────────────────────────── */
  .country-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
  @media(max-width:960px){.country-grid{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:640px){.country-grid{grid-template-columns:1fr;}}
  .country-card{background:var(--white);padding:34px 30px;display:flex;flex-direction:column;scroll-margin-top:90px;transition:background .18s ease;}
  .country-card:hover{background:var(--paper);}
  .country-card-top{display:flex;align-items:center;gap:14px;margin-bottom:18px;}
  .country-flag{width:52px;height:52px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-family:'Space Grotesk';font-weight:700;font-size:16px;color:var(--white);flex-shrink:0;}
  .country-card h3{font-size:22px;margin-bottom:2px;}
  .country-tagline{font-size:13px;color:var(--ink-soft);}
  .country-pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;}
  .pill{font-family:'JetBrains Mono';font-size:11px;letter-spacing:0.02em;color:var(--ink-soft);border:1px solid var(--line-soft);border-radius:20px;padding:5px 12px;}
  .country-card p.body{font-size:14.5px;color:var(--ink-soft);line-height:1.6;flex-grow:1;margin-bottom:20px;}
  .country-cta{font-size:14px;font-weight:700;color:var(--ochre-deep);display:inline-flex;align-items:center;gap:6px;}
  .country-cta .arrow{transition:transform .18s ease;}
  .country-card:hover .country-cta .arrow{transform:translateX(4px);}

  /* ── COMPARE TABLE ──────────────────────────────────────────────── */
  .compare-wrap{border:1px solid var(--line);border-radius:4px;overflow-x:auto;background:var(--white);}
  table.compare{width:100%;border-collapse:collapse;min-width:840px;}
  table.compare th{background:var(--ink);color:var(--white);font-family:'JetBrains Mono';font-size:11px;letter-spacing:0.08em;text-transform:uppercase;text-align:left;padding:16px 20px;font-weight:500;}
  table.compare td{padding:18px 20px;font-size:14px;color:var(--ink-soft);border-bottom:1px solid var(--line-soft);vertical-align:top;line-height:1.5;}
  table.compare tr:last-child td{border-bottom:none;}
  table.compare td.country-name{font-family:'Space Grotesk';font-weight:700;color:var(--ink);font-size:14.5px;white-space:nowrap;}
  table.compare td.country-name .dot{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:8px;}
  .compare-note{font-size:12.5px;color:var(--ink-soft);margin-top:14px;font-style:italic;}

  /* ── COMMIT / WHY GRID ──────────────────────────────────────────── */
  .commit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
  @media(max-width:900px){.commit-grid{grid-template-columns:1fr 1fr;}}
  @media(max-width:540px){.commit-grid{grid-template-columns:1fr;}}
  .commit-item{display:flex;gap:14px;align-items:flex-start;padding:22px;background:var(--white);border:1px solid var(--line-soft);border-radius:3px;}
  .commit-check{width:28px;height:28px;border-radius:50%;background:var(--sage);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--white);font-size:13px;font-weight:700;}
  .commit-item p{font-size:14.5px;color:var(--ink);line-height:1.55;font-weight:500;}

  /* ── FAQ ────────────────────────────────────────────────────────── */
  .faq-list{max-width:820px;}
  .faq-item{border-bottom:1px solid var(--line-soft);}
  .faq-item summary{list-style:none;cursor:pointer;padding:22px 0;font-family:'Space Grotesk';font-size:16.5px;font-weight:600;display:flex;justify-content:space-between;align-items:center;gap:20px;}
  .faq-item summary::-webkit-details-marker{display:none;}
  .faq-item summary .plus{font-family:'JetBrains Mono';font-size:20px;color:var(--ochre-deep);flex-shrink:0;transition:transform .2s ease;}
  .faq-item[open] summary .plus{transform:rotate(45deg);}
  .faq-item p{font-size:14.5px;color:var(--ink-soft);line-height:1.65;padding-bottom:24px;max-width:680px;}

  /* ── CTA BAND ────────────────────────────────────────────────────── */
  .cta-band{background:var(--ochre);padding:64px 0;}
  .cta-band-inner{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;}
  .cta-band h2{font-size:clamp(22px,3vw,34px);color:var(--white);max-width:560px;}
  .cta-band .btns{display:flex;gap:14px;flex-wrap:wrap;}
  .btn-white{background:var(--white);color:var(--ochre-deep);padding:15px 28px;font-weight:700;font-size:15px;border-radius:2px;display:inline-flex;align-items:center;gap:8px;transition:all .2s ease;}
  .btn-white:hover{background:var(--paper);transform:translateY(-1px);}
  .btn-outline-white{background:transparent;color:var(--white);border:1.5px solid rgba(251,250,247,0.7);padding:15px 28px;font-weight:600;font-size:15px;border-radius:2px;display:inline-flex;align-items:center;gap:8px;transition:all .2s ease;}
  .btn-outline-white:hover{background:rgba(251,250,247,0.15);}
  
  
.spot-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
@media(max-width:900px){.spot-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:480px){.spot-grid{grid-template-columns:1fr;}}
.spot-card{background:var(--white); padding:24px 20px; transition:background .15s ease;}
.spot-card:hover{background:var(--paper-deep);}
.spot-flag{font-size:30px; margin-bottom:10px;}
.spot-card h4{font-size:16px; margin-bottom:6px;}
.spot-card p{font-size:13px; color:var(--ink-soft); line-height:1.5; margin-bottom:10px;}
.spot-tag{display:inline-block; font-size:11px; background:rgba(200,120,46,0.1); color:var(--ochre-deep); padding:3px 9px; border-radius:2px; font-weight:600;}

.theme-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
@media(max-width:760px){.theme-grid{grid-template-columns:1fr;}}
.theme-card{background:var(--paper); padding:30px 26px;}
.theme-icon{font-size:26px; margin-bottom:14px;}
.theme-card h3{font-size:18px; margin-bottom:8px;}
.theme-card p{font-size:14px; color:var(--ink-soft); line-height:1.55; margin-bottom:16px;}
.theme-list{display:flex; flex-wrap:wrap; gap:8px;}
.theme-chip{font-size:12px; font-weight:600; padding:5px 12px; border:1px solid var(--line); border-radius:16px; background:var(--white);}

.trip-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
@media(max-width:820px){.trip-grid{grid-template-columns:1fr;}}
.trip-card{background:var(--white); border:1px solid var(--line); border-radius:4px; padding:26px 24px;}
.trip-days{font-family:'JetBrains Mono'; font-size:13px; color:var(--ochre-deep); font-weight:700; margin-bottom:10px;}
.trip-card h4{font-size:16px; margin-bottom:8px;}
.trip-card p{font-size:14px; color:var(--ink-soft); line-height:1.58;}

.bridge-cta{display:flex; align-items:center; justify-content:space-between; gap:32px; flex-wrap:wrap; background:var(--white); border:1px solid var(--line); border-radius:4px; padding:32px 36px;}
.bridge-cta h3{font-size:19px; margin-bottom:6px;}
.bridge-cta p{font-size:14.5px; color:var(--ink-soft); max-width:520px;}
.bridge-btn{background:var(--ink); color:var(--white); padding:14px 24px; font-weight:600; font-size:14.5px; border-radius:2px; display:inline-flex; align-items:center; gap:8px; white-space:nowrap; transition:background .2s ease, transform .15s ease;}
.bridge-btn:hover{background:var(--ochre-deep); transform:translateY(-1px);}

.explainer-grid{display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start;}
@media(max-width:880px){.explainer-grid{grid-template-columns:1fr;}}
.explainer-body p{font-size:15.5px; color:var(--ink-soft); line-height:1.72; margin-bottom:16px;}
.explainer-body p strong{color:var(--ink);}
.key-facts{display:flex; flex-direction:column; gap:14px;}
.key-fact{display:flex; gap:16px; align-items:flex-start; padding:18px 20px; background:var(--white); border:1px solid var(--line-soft); border-radius:3px;}
.kf-icon{width:38px; height:38px; border-radius:50%; background:var(--ochre); display:flex; align-items:center; justify-content:center; font-size:15px; flex-shrink:0; color:var(--white);}
.kf-body h4{font-size:14.5px; font-weight:700; margin-bottom:3px;}
.kf-body p{font-size:13.5px; color:var(--ink-soft); line-height:1.5;}
.note-callout{background:rgba(200,120,46,0.08); border:1px solid rgba(200,120,46,0.28); border-left:4px solid var(--ochre); border-radius:3px; padding:16px 18px; margin-top:8px;}
.note-callout p{font-size:13.5px; color:var(--ink-soft); line-height:1.6;}
.note-callout strong{color:var(--ink);}

.elig-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
@media(max-width:820px){.elig-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.elig-grid{grid-template-columns:1fr;}}
.elig-card{background:var(--paper); padding:26px 22px;}
.elig-tag{font-family:'JetBrains Mono'; font-size:10.5px; text-transform:uppercase; letter-spacing:0.08em; color:var(--ochre-deep); margin-bottom:10px;}
.elig-card h3{font-size:16px; margin-bottom:8px;}
.elig-card p{font-size:13.5px; color:var(--ink-soft); line-height:1.58;}

.types-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
@media(max-width:720px){.types-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:480px){.types-grid{grid-template-columns:1fr;}}
.type-card{background:var(--paper); padding:28px 24px;}
.type-tag{font-family:'JetBrains Mono'; font-size:10.5px; text-transform:uppercase; letter-spacing:0.08em; color:var(--ochre-deep); margin-bottom:10px;}
.type-card h3{font-size:17px; margin-bottom:8px;}
.type-card p{font-size:14px; color:var(--ink-soft); line-height:1.58;}

.doc-grid{display:grid; grid-template-columns:1fr 1fr; gap:32px;}
@media(max-width:720px){.doc-grid{grid-template-columns:1fr;}}
.doc-list{display:flex; flex-direction:column; gap:0;}
.doc-list h4{font-size:14px; font-family:'JetBrains Mono'; text-transform:uppercase; letter-spacing:0.08em; color:var(--ink-soft); margin-bottom:12px;}
.doc-item{display:flex; align-items:flex-start; gap:12px; padding:14px 0; border-bottom:1px solid var(--line-soft);}
.doc-item:last-child{border-bottom:none;}
.doc-num{font-family:'Space Grotesk'; font-weight:700; font-size:13px; color:var(--ochre-deep); min-width:22px; padding-top:1px;}
.doc-item p{font-size:14px; line-height:1.55; color:var(--ink-soft);}
.doc-item strong{color:var(--ink);}

.steps-track{display:grid; grid-template-columns:repeat(5,1fr); gap:0; position:relative;}
@media(max-width:900px){.steps-track{grid-template-columns:1fr 1fr; gap:28px;}}
@media(max-width:480px){.steps-track{grid-template-columns:1fr;}}
.steps-track:before{content:''; position:absolute; top:23px; left:0; right:0; height:1px; background:var(--line-soft);}
@media(max-width:900px){.steps-track:before{display:none;}}
.step{position:relative; padding-right:16px;}
.step-num{width:46px; height:46px; border-radius:50%; background:var(--paper); border:2px solid var(--ink); display:flex; align-items:center; justify-content:center; font-family:'Space Grotesk'; font-weight:700; font-size:15px; margin-bottom:18px; position:relative; z-index:2; transition:all .2s ease;}
.step:hover .step-num{background:var(--ochre); border-color:var(--ochre); color:var(--white);}
.step h4{font-size:15.5px; margin-bottom:7px;}
.step p{font-size:13.5px; color:var(--ink-soft); line-height:1.55;}

.cost-grid{display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start;}
@media(max-width:880px){.cost-grid{grid-template-columns:1fr;}}
.fee-table{border:1px solid var(--line); border-radius:3px; overflow:hidden;}
.fee-row{display:grid; grid-template-columns:1fr auto; padding:16px 20px; border-bottom:1px solid var(--line-soft); background:var(--white);}
.fee-row:last-child{border-bottom:none;}
.fee-row:nth-child(even){background:var(--paper);}
.fee-row.header{background:var(--ochre); border-bottom-color:rgba(255,255,255,0.15);}
.fee-row.header span{color:var(--white); font-family:'JetBrains Mono'; font-size:11.5px; letter-spacing:0.06em; text-transform:uppercase;}
.fee-label{font-size:14.5px; font-weight:500;}
.fee-amount{font-size:14.5px; font-weight:700; font-family:'Space Grotesk'; color:var(--navy);}
.note-box{background:rgba(200,120,46,0.1); border:1px solid rgba(200,120,46,0.35); border-left:4px solid var(--ochre); border-radius:3px; padding:18px 20px; margin-top:20px;}
.note-box p{font-size:14px; color:var(--ink-soft); line-height:1.6;}
.note-box strong{color:var(--ink);}

.uni-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
@media(max-width:820px){.uni-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.uni-grid{grid-template-columns:1fr;}}
.uni-card{background:var(--white); padding:24px 22px;}
.uni-card h4{font-size:15.5px; margin-bottom:5px;}
.uni-card span{font-size:12.5px; font-family:'JetBrains Mono'; color:var(--ink-soft);}

.pr-track{display:flex; flex-direction:column; gap:0; max-width:820px;}
.pr-item{display:grid; grid-template-columns:120px 1fr; gap:20px; padding:22px 0; border-bottom:1px solid var(--line-soft);}
@media(max-width:560px){.pr-item{grid-template-columns:1fr; gap:6px;}}
.pr-badge{font-family:'JetBrains Mono'; font-size:12px; color:var(--ochre-deep); text-transform:uppercase; letter-spacing:0.06em; padding-top:2px;}
.pr-item h4{font-size:15.5px; margin-bottom:6px;}
.pr-item p{font-size:14px; color:var(--ink-soft); line-height:1.6;}

.cta-band.assess-cta{background:var(--navy); padding:70px 0;}
.cta-inner{display:grid; grid-template-columns:1.1fr 0.9fr; gap:56px; align-items:center;}
@media(max-width:880px){.cta-inner{grid-template-columns:1fr; gap:36px;}}
.cta-band.assess-cta .sl{color:#9DBADA; font-family:'JetBrains Mono'; font-size:12px; letter-spacing:0.1em; text-transform:uppercase; display:flex; align-items:center; gap:10px; margin-bottom:14px;}
.cta-band.assess-cta .sl:before{content:''; display:block; height:1px; width:36px; background:#9DBADA;}
.cta-band.assess-cta h2{color:var(--white); font-size:clamp(24px,3.2vw,38px); margin-bottom:16px; max-width:none;}
.cta-band.assess-cta p{color:rgba(251,250,247,0.65); font-size:15.5px; line-height:1.65; margin-bottom:28px;}
.cta-contact{display:flex; flex-direction:column; gap:14px;}
.cc-row{display:flex; align-items:center; gap:14px;}
.cc-icon{width:38px; height:38px; border-radius:50%; border:1.5px solid rgba(255,255,255,0.2); display:flex; align-items:center; justify-content:center; font-size:15px; flex-shrink:0;}
.cc-row a, .cc-row span{color:var(--white); font-size:14.5px; font-weight:500;}
.assess-cta .lead-form{background:var(--white); border-radius:4px; padding:34px;}
.assess-cta .lead-form h3{font-size:19px; margin-bottom:6px;}
.assess-cta .lead-form .sub{font-size:13.5px; color:var(--ink-soft); margin-bottom:22px;}
.assess-cta .form-row{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:12px;}
@media(max-width:480px){.assess-cta .form-row{grid-template-columns:1fr;}}
.ff{display:flex; flex-direction:column; gap:5px;}
.ff label{font-size:11.5px; font-weight:700; color:var(--ink-soft); text-transform:uppercase; letter-spacing:0.04em;}
.ff input, .ff select{border:1.5px solid var(--line-soft); border-radius:2px; padding:11px 12px; font-size:14px; font-family:'Inter'; background:var(--paper); color:var(--ink);}
.ff input:focus, .ff select:focus{outline:2px solid var(--ochre); outline-offset:1px; border-color:var(--ochre);}
.assess-cta .form-submit{width:100%; background:var(--ochre); color:var(--white); border:none; padding:15px; border-radius:2px; font-weight:700; font-size:15px; margin-top:8px; cursor:pointer; font-family:'Inter'; transition:background .2s ease;}
.assess-cta .form-submit:hover{background:var(--ochre-deep);}
.form-disc{font-size:11.5px; color:var(--ink-soft); text-align:center; margin-top:10px;}

/* =====================================================================
   SUCCESS STORIES PAGE
   ===================================================================== */
.stories-hero{padding:68px 0; position:relative;}
.hero-top{display:flex; justify-content:space-between; gap:32px; align-items:flex-start;}
.stories-hero h1{font-size:clamp(32px,4.6vw,52px); line-height:1.07; letter-spacing:-0.02em; margin-bottom:20px; max-width:740px;}
.stories-hero p.lead{font-size:17px; color:var(--ink-soft); line-height:1.68; max-width:580px; margin-bottom:32px;}

.stamp-seal{flex-shrink:0; width:118px; height:118px; border-radius:50%; border:3px double var(--sage); display:flex; align-items:center; justify-content:center; transform:rotate(-9deg); background:rgba(251,250,247,0.6);}
.stamp-seal .inner{width:92px; height:92px; border-radius:50%; border:1px solid var(--sage); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px;}
.stamp-seal span{font-family:'JetBrains Mono'; font-weight:700; color:var(--sage); text-align:center; line-height:1.15;}
.stamp-seal .top{font-size:9px; letter-spacing:0.08em;}
.stamp-seal .mid{font-size:15px;}
.stamp-seal .bot{font-size:8px; letter-spacing:0.1em;}
@media(max-width:760px){.hero-top{flex-direction:column;} .stamp-seal{align-self:flex-end;}}

.stories-hero .stats-band{display:grid; grid-template-columns:repeat(4,1fr); gap:0; border:1px solid var(--line); background:var(--ink); margin-bottom:24px;}
@media(max-width:720px){.stories-hero .stats-band{grid-template-columns:1fr 1fr;}}
.stories-hero .stat-cell{padding:26px 20px; border-right:1px solid rgba(251,250,247,0.12); text-align:center;}
.stories-hero .stat-cell:last-child{border-right:none;}
@media(max-width:720px){.stories-hero .stat-cell:nth-child(2){border-right:none;} .stories-hero .stat-cell:nth-child(3){border-top:1px solid rgba(251,250,247,0.12);} .stories-hero .stat-cell:nth-child(4){border-top:1px solid rgba(251,250,247,0.12); border-right:none;}}
.stories-hero .stat-cell b{display:block; font-family:'Space Grotesk'; font-size:clamp(24px,3.2vw,32px); font-weight:700; color:var(--white);}
.stories-hero .stat-cell span{font-family:'JetBrains Mono'; font-size:10.5px; letter-spacing:0.06em; text-transform:uppercase; color:rgba(251,250,247,0.55);}

.google-block{background:var(--white); border:1px solid var(--line); border-radius:4px; padding:28px 30px; display:grid; grid-template-columns:auto 1fr auto; gap:26px; align-items:center; margin-bottom:44px;}
@media(max-width:780px){.google-block{grid-template-columns:1fr; text-align:center;}}
.g-logo{display:flex; align-items:center; gap:2px; font-family:'Space Grotesk'; font-size:26px; font-weight:700;}
.g-logo span:nth-child(1){color:var(--google-blue);}
.g-logo span:nth-child(2){color:var(--google-red);}
.g-logo span:nth-child(3){color:var(--google-yellow);}
.g-logo span:nth-child(4){color:var(--google-blue);}
.g-logo span:nth-child(5){color:var(--google-green);}
.g-logo span:nth-child(6){color:var(--google-red);}
.g-middle h3{font-size:16.5px; margin-bottom:4px;}
.g-middle p{font-size:13.5px; color:var(--ink-soft);}
.g-btn{background:var(--google-blue); color:var(--white); padding:13px 22px; border-radius:2px; font-weight:700; font-size:14px; white-space:nowrap; display:inline-flex; align-items:center; gap:8px; transition:background .2s ease;}
.g-btn:hover{background:#2f5fc4;}
@media(max-width:780px){.g-btn{margin:0 auto;}}

.filter-bar{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:40px;}
.filter-btn{font-family:'JetBrains Mono'; font-size:12.5px; text-transform:uppercase; letter-spacing:0.05em; padding:10px 18px; border:1.5px solid var(--line); border-radius:20px; background:var(--white); cursor:pointer; transition:all .2s ease; color:var(--ink);}
.filter-btn:hover{border-color:var(--ochre); color:var(--ochre-deep);}
.filter-btn.active{background:var(--ink); color:var(--white); border-color:var(--ink);}

#stories .testi-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
@media(max-width:820px){#stories .testi-grid{grid-template-columns:1fr;}}
#stories .testi-card{background:var(--white); padding:30px 28px; display:flex; flex-direction:column;}
#stories .testi-top{display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:16px; gap:12px;}
#stories .testi-stars{color:var(--ochre); font-size:15px; letter-spacing:2px;}
#stories .testi-badge{font-family:'JetBrains Mono'; font-size:10.5px; text-transform:uppercase; letter-spacing:0.05em; color:var(--sage); background:rgba(92,122,92,0.1); border:1px solid rgba(92,122,92,0.3); border-radius:20px; padding:4px 12px; white-space:nowrap;}
#stories .testi-card p.quote{font-size:15.5px; line-height:1.7; color:var(--ink); margin-bottom:22px; flex-grow:1;}
#stories .testi-foot{display:flex; align-items:center; gap:14px;}
#stories .testi-avatar{width:44px; height:44px; border-radius:50%; background:var(--navy); color:var(--white); display:flex; align-items:center; justify-content:center; font-family:'Space Grotesk'; font-weight:700; font-size:15px; flex-shrink:0; position:relative;}
#stories .testi-avatar .stamp-mini{position:absolute; bottom:-3px; right:-3px; width:18px; height:18px; border-radius:50%; background:var(--sage); border:2px solid var(--white); display:flex; align-items:center; justify-content:center; font-size:9px; color:var(--white);}
#stories .testi-name{font-weight:700; font-size:14.5px;}
#stories .testi-meta{font-size:12px; color:var(--ink-soft); font-family:'JetBrains Mono'; letter-spacing:0.02em;}

.empty-state{display:none; background:var(--white); border:1px dashed var(--line-soft); border-radius:4px; padding:48px 32px; text-align:center;}
.empty-state.show{display:block;}
.empty-state h4{font-size:18px; margin-bottom:10px;}
.empty-state p{font-size:14.5px; color:var(--ink-soft); max-width:480px; margin:0 auto 20px; line-height:1.6;}
.empty-state a{display:inline-flex; align-items:center; gap:8px; font-weight:700; color:var(--navy); font-size:14px;}
.empty-state a:after{content:'→';}

.wall-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px;}
@media(max-width:900px){.wall-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:640px){.wall-grid{grid-template-columns:repeat(2,1fr);}}
.wall-card{background:var(--white); border:1px solid var(--line); border-radius:4px; overflow:hidden; transition:transform .2s ease; cursor:zoom-in;}
.wall-card:hover{transform:translateY(-3px);}
.wall-photo{aspect-ratio:4/5; background:linear-gradient(145deg,var(--paper-deep) 0%,var(--paper) 100%); display:flex; align-items:center; justify-content:center; position:relative; border-bottom:1px solid var(--line-soft); overflow:hidden;}
.wall-photo img{width:100%; height:100%; object-fit:cover;}
.wall-photo .placeholder-icon{font-size:32px; opacity:0.25;}
.wall-stamp{position:absolute; top:10px; right:10px; width:50px; height:50px; border-radius:50%; border:2px double var(--sage); display:flex; align-items:center; justify-content:center; background:rgba(251,250,247,0.9); transform:rotate(-10deg);}
.wall-stamp span{font-family:'JetBrains Mono'; font-size:7.5px; font-weight:700; color:var(--sage); text-align:center; line-height:1.2;}
.wall-info{padding:14px 16px;}
.wall-info h4{font-size:14px; margin-bottom:3px;}
.wall-info span{font-size:11.5px; color:var(--ink-soft); font-family:'JetBrains Mono';}
.wall-flag{font-size:14px; margin-right:4px;}

#wall .note-box{background:rgba(92,122,92,0.07); border:1px solid rgba(92,122,92,0.2); border-left:4px solid var(--sage); border-radius:3px; padding:16px 20px; margin-top:28px; max-width:760px;}
#wall .note-box p{font-size:13.5px; color:var(--ink-soft); line-height:1.6;}
#wall .note-box code{font-family:'JetBrains Mono'; font-size:12px; background:rgba(26,26,24,0.06); padding:1px 5px; border-radius:2px;}

.image-modal{display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.95); z-index:1000; align-items:center; justify-content:center; cursor:zoom-out;}
.image-modal.active{display:flex;}
.image-modal img{max-width:90%; max-height:90%; object-fit:contain; border-radius:4px; box-shadow:0 20px 60px rgba(0,0,0,0.5);}
.image-modal-close{position:absolute; top:20px; right:30px; color:var(--white); font-size:40px; cursor:pointer; z-index:1001; transition:opacity .2s ease;}
.image-modal-close:hover{opacity:0.7;}

.video-band{background:var(--navy); border-radius:4px; padding:48px 44px; display:grid; grid-template-columns:auto 1fr auto; gap:32px; align-items:center;}
@media(max-width:760px){.video-band{grid-template-columns:1fr; text-align:center;}}
.video-play{width:64px; height:64px; border-radius:50%; background:var(--ochre); display:flex; align-items:center; justify-content:center; font-size:22px; color:var(--white); flex-shrink:0; margin:0 auto;}
.video-band h3{color:var(--white); font-size:22px; margin-bottom:8px;}
.video-band p{color:rgba(251,250,247,0.65); font-size:14.5px; line-height:1.6;}
.video-cta-btn{background:var(--white); color:var(--ink); padding:14px 26px; border-radius:2px; font-weight:700; font-size:14.5px; white-space:nowrap; display:inline-flex; align-items:center; gap:8px; transition:transform .15s ease;}
.video-cta-btn:hover{transform:translateY(-1px);}

#why-approvals .why-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
@media(max-width:940px){#why-approvals .why-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){#why-approvals .why-grid{grid-template-columns:1fr;}}
#why-approvals .why-item{background:var(--white); padding:28px 24px;}
#why-approvals .why-icon{width:40px; height:40px; border-radius:50%; background:var(--sage); color:var(--white); display:flex; align-items:center; justify-content:center; font-family:'Space Grotesk'; font-weight:700; font-size:16px; margin-bottom:16px;}
#why-approvals .why-item h4{font-size:15.5px; margin-bottom:7px;}
#why-approvals .why-item p{font-size:13.5px; color:var(--ink-soft); line-height:1.58;}

/* =====================================================================
   404 PAGE
   ===================================================================== */
.sticky-footer-page{display:flex; flex-direction:column; min-height:100vh;}
.sticky-footer-page footer{margin-top:auto;}
.error-404{flex:1; display:flex; align-items:center; justify-content:center; padding:80px 0;}
.error-content{text-align:center; max-width:600px;}
.error-code{font-family:'Space Grotesk'; font-size:clamp(120px,15vw,200px); font-weight:700; color:var(--ochre); line-height:1; margin-bottom:20px;}
.error-content h2{font-size:clamp(28px,4vw,42px); margin-bottom:16px; color:var(--ink);}
.error-content p{font-size:18px; color:var(--ink-soft); margin-bottom:32px; line-height:1.6;}
.error-actions{display:flex; gap:16px; justify-content:center; flex-wrap:wrap;}

/* =====================================================================
   SERVICES PAGE
   ===================================================================== */
.svc-hero{padding:68px 0;}
.svc-hero h1{font-size:clamp(32px,5vw,58px); line-height:1.05; letter-spacing:-0.02em; margin-bottom:20px; max-width:820px;}
.svc-hero p.lead{font-size:17px; color:var(--ink-soft); line-height:1.68; max-width:600px; margin-bottom:32px;}

.svc-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
@media(max-width:900px){.svc-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.svc-grid{grid-template-columns:1fr;}}
.svc-card{background:var(--paper); padding:34px 28px; display:flex; flex-direction:column; min-height:260px; transition:background .2s ease;}
.svc-card:hover{background:var(--white);}
.svc-num{font-family:'JetBrains Mono'; font-size:11.5px; color:var(--ink-soft); margin-bottom:18px; letter-spacing:0.05em;}
.svc-card h3{font-size:20px; margin-bottom:10px;}
.svc-card p{font-size:14px; color:var(--ink-soft); line-height:1.58; margin-bottom:18px; flex-grow:1;}
.svc-tags{display:flex; flex-wrap:wrap; gap:6px; margin-bottom:18px;}
.svc-tag{font-size:11.5px; background:var(--paper-deep); border:1px solid var(--line-soft); padding:3px 10px; border-radius:20px; color:var(--ink-soft);}
.svc-link{font-size:13.5px; font-weight:700; display:inline-flex; align-items:center; gap:6px; color:var(--navy);}
.svc-link:after{content:'→'; transition:transform .2s ease;}
.svc-card:hover .svc-link:after{transform:translateX(4px);}
.svc-card.featured{background:var(--navy);}
.svc-card.featured .svc-num{color:rgba(157,186,218,0.9);}
.svc-card.featured h3{color:var(--white);}
.svc-card.featured p{color:rgba(251,250,247,0.65);}
.svc-card.featured .svc-tag{background:rgba(255,255,255,0.08); border-color:rgba(255,255,255,0.15); color:rgba(251,250,247,0.7);}
.svc-card.featured .svc-link{color:#9DBADA;}

.helper-grid{display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); border:1px solid var(--line);}
@media(max-width:720px){.helper-grid{grid-template-columns:1fr;}}
.helper-row{background:var(--white); padding:22px 24px; display:flex; gap:16px; align-items:flex-start;}
.helper-q{font-size:14.5px; font-weight:700; color:var(--ink);}
.helper-a{font-size:14px; color:var(--ink-soft); line-height:1.55;}
.helper-a a{color:var(--ochre-deep); font-weight:600;}

#process .steps-track{grid-template-columns:repeat(4,1fr);}
@media(max-width:860px){#process .steps-track{grid-template-columns:1fr 1fr; gap:28px;}}

/* =====================================================================
   SPOUSE VISA PAGE
   ===================================================================== */
.spouse-hero{padding:72px 0 0;}
.spouse-hero h1{font-size:clamp(32px,4.6vw,54px); line-height:1.06; letter-spacing:-0.02em; margin-bottom:20px;}
.spouse-hero p.lead{font-size:17px; color:var(--ink-soft); line-height:1.68; max-width:560px; margin-bottom:32px;}
.spouse-hero .btn-primary:hover{background:var(--sage-deep);}

.fv-panel{background:var(--sage); border-radius:4px; padding:32px 28px; position:relative; overflow:hidden;}
.fv-icon{font-size:26px; margin-bottom:20px; opacity:0.9;}
.fv-panel h3{color:var(--white); font-size:20px; margin-bottom:6px;}
.fv-panel .sub{color:rgba(255,255,255,0.75); font-size:14px; font-family:'JetBrains Mono'; letter-spacing:0.04em; margin-bottom:22px;}
.fv-fact-list{display:flex; flex-direction:column; gap:12px;}
.fv-fact{display:flex; justify-content:space-between; gap:12px; padding:10px 0; border-bottom:1px solid rgba(255,255,255,0.22); font-size:13.5px; color:rgba(255,255,255,0.94);}
.fv-fact b{font-family:'Space Grotesk'; color:var(--white);}
.fv-panel-note{margin-top:18px; font-size:12.5px; color:rgba(255,255,255,0.7); font-family:'JetBrains Mono'; border-top:1px solid rgba(255,255,255,0.22); padding-top:16px;}

.service-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
@media(max-width:1100px){.service-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:700px){.service-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:480px){.service-grid{grid-template-columns:1fr;}}
.service-flag{font-size:22px; margin-bottom:16px;}
#countries .service-card{background:var(--paper); padding:28px 22px; display:flex; flex-direction:column; min-height:200px; transition:background .2s ease;}
#countries .service-card:hover{background:var(--white);}
#countries .service-card h3{font-size:16px; margin-bottom:8px;}
#countries .service-card p{font-size:13px; color:var(--ink-soft); line-height:1.5; margin-bottom:16px; flex-grow:1;}
#countries .service-link{font-size:12.5px; font-weight:700; display:inline-flex; align-items:center; gap:6px; color:var(--sage-deep);}
#countries .service-link:after{content:'→'; transition:transform .2s ease;}
#countries .service-card:hover .service-link:after{transform:translateX(4px);}

#eligibility .elig-tag{color:var(--sage-deep);}

#extension .note-box{background:rgba(92,122,92,0.1); border-color:rgba(92,122,92,0.35); border-left-color:var(--sage);}

#why-family .why-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
@media(max-width:820px){#why-family .why-grid{grid-template-columns:1fr 1fr;}}
#why-family .why-card{background:var(--paper); padding:26px 22px; text-align:center;}
#why-family .why-card b{display:block; font-family:'Space Grotesk'; font-size:26px; margin-bottom:6px; color:var(--sage-deep);}
#why-family .why-card span{font-size:12.5px; color:var(--ink-soft); font-family:'JetBrains Mono'; text-transform:uppercase; letter-spacing:0.04em;}

.spouse-cta .sl{color:#B7CDB7;}
.spouse-cta .sl:before{background:#B7CDB7;}

/* =====================================================================
   STUDY VISA — AUSTRALIA PAGE
   ===================================================================== */
:root{
  --au:#00843D;
  --au-deep:#00622D;
}
.au-hero{padding:72px 0 0;}
.au-hero .hero-eyebrow .dot{background:var(--au);}
.au-hero h1{font-size:clamp(32px,4.8vw,54px); line-height:1.05; letter-spacing:-0.02em; margin-bottom:20px;}
.au-hero p.lead{font-size:17px; color:var(--ink-soft); line-height:1.68; max-width:520px; margin-bottom:32px;}

.au-panel{background:var(--au); border-radius:4px; padding:32px 28px; position:relative; overflow:hidden;}
.au-leaf{font-size:26px; margin-bottom:20px; opacity:0.9;}
.au-panel h3{color:var(--white); font-size:20px; margin-bottom:6px;}
.au-panel .sub{color:rgba(255,255,255,0.7); font-size:14px; font-family:'JetBrains Mono'; letter-spacing:0.04em; margin-bottom:22px;}
.au-fact-list{display:flex; flex-direction:column; gap:12px;}
.au-fact{display:flex; justify-content:space-between; gap:12px; padding:10px 0; border-bottom:1px solid rgba(255,255,255,0.18); font-size:13.5px; color:rgba(255,255,255,0.92);}
.au-fact b{font-family:'Space Grotesk'; color:var(--white);}
.au-panel-note{margin-top:18px; font-size:12.5px; color:rgba(255,255,255,0.62); font-family:'JetBrains Mono'; border-top:1px solid rgba(255,255,255,0.18); padding-top:16px;}

#rules-explainer .note-callout{background:rgba(0,132,61,0.08); border-color:rgba(0,132,61,0.28); border-left-color:var(--au);}
#au-eligibility .elig-tag{color:var(--au-deep);}
#au-documents .doc-num{color:var(--au-deep);}
#au-process .step:hover .step-num{background:var(--au); border-color:var(--au);}
#fees .fee-row.header{background:var(--au);}
#dependent-visa .pr-badge{color:var(--au-deep);}

/* =====================================================================
   STUDY VISA — CANADA PAGE
   NOTE: scoped via body.ca-page rather than bare ids, since this page
   reuses the same section ids (#fees, #eligibility, #documents, #process)
   as other country pages — bare-id scoping would leak accent colors
   across pages that share those ids.
   ===================================================================== */
:root{
  --ca:#D80621;
  --ca-deep:#A3041A;
}
.ca-hero{padding:72px 0 0;}
.ca-hero .hero-eyebrow .dot{background:var(--ca);}
.ca-hero h1{font-size:clamp(34px,5vw,58px); line-height:1.04; letter-spacing:-0.02em; margin-bottom:20px;}
.ca-hero h1 em{color:var(--ochre); font-style:italic; font-weight:500;}
.ca-hero p.lead{font-size:17px; color:var(--ink-soft); line-height:1.68; max-width:520px; margin-bottom:32px;}

.ca-panel{background:var(--ca); border-radius:4px; padding:32px 28px; position:relative; overflow:hidden;}
.ca-leaf{font-size:26px; margin-bottom:20px; opacity:0.9;}
.ca-panel h3{color:var(--white); font-size:20px; margin-bottom:6px;}
.ca-panel .sub{color:rgba(255,255,255,0.7); font-size:14px; font-family:'JetBrains Mono'; letter-spacing:0.04em; margin-bottom:22px;}
.ca-fact-list{display:flex; flex-direction:column; gap:12px;}
.ca-fact{display:flex; justify-content:space-between; gap:12px; padding:10px 0; border-bottom:1px solid rgba(255,255,255,0.18); font-size:13.5px; color:rgba(255,255,255,0.92);}
.ca-fact b{font-family:'Space Grotesk'; color:var(--white);}
.ca-panel-note{margin-top:18px; font-size:12.5px; color:rgba(255,255,255,0.62); font-family:'JetBrains Mono'; border-top:1px solid rgba(255,255,255,0.18); padding-top:16px;}

.ca-page ::selection{background:var(--ca); color:#fff;}
.ca-page .kf-icon{background:var(--ca);}
.ca-page .note-callout{background:rgba(216,6,33,0.08); border-color:rgba(216,6,33,0.28); border-left-color:var(--ca);}
.ca-page .elig-tag{color:var(--ca-deep);}
.ca-page .doc-num{color:var(--ca-deep);}
.ca-page .step:hover .step-num{background:var(--ca); border-color:var(--ca);}
.ca-page .pr-badge{color:var(--ca-deep);}
.ca-page #fees .fee-row.header{background:var(--ca);}

/* =====================================================================
   STUDY VISA — UK PAGE
   ===================================================================== */
:root{
  --uk:#6D1B34;
  --uk-deep:#4F1226;
}
.uk-hero{padding:72px 0 0;}
.uk-hero .hero-eyebrow .dot{background:var(--uk);}
.uk-hero h1{font-size:clamp(34px,5vw,58px); line-height:1.04; letter-spacing:-0.02em; margin-bottom:20px;}
.uk-hero p.lead{font-size:17px; color:var(--ink-soft); line-height:1.68; max-width:520px; margin-bottom:32px;}

.uk-panel{background:var(--uk); border-radius:4px; padding:32px 28px; position:relative; overflow:hidden;}
.uk-icon{font-size:26px; margin-bottom:20px; opacity:0.9;}
.uk-panel h3{color:var(--white); font-size:20px; margin-bottom:6px;}
.uk-panel .sub{color:rgba(255,255,255,0.7); font-size:14px; font-family:'JetBrains Mono'; letter-spacing:0.04em; margin-bottom:22px;}
.uk-fact-list{display:flex; flex-direction:column; gap:12px;}
.uk-fact{display:flex; justify-content:space-between; gap:12px; padding:10px 0; border-bottom:1px solid rgba(255,255,255,0.18); font-size:13.5px; color:rgba(255,255,255,0.92);}
.uk-fact b{font-family:'Space Grotesk'; color:var(--white);}
.uk-panel-note{margin-top:18px; font-size:12.5px; color:rgba(255,255,255,0.62); font-family:'JetBrains Mono'; border-top:1px solid rgba(255,255,255,0.18); padding-top:16px;}

#whats-new .note-callout{background:rgba(109,27,52,0.08); border-color:rgba(109,27,52,0.28); border-left-color:var(--uk);}
#uk-eligibility .elig-tag{color:var(--uk-deep);}
#uk-documents .doc-num{color:var(--uk-deep);}
#uk-process .step:hover .step-num{background:var(--uk); border-color:var(--uk);}
#uk-fees .fee-row.header{background:var(--uk);}
#graduate-route .pr-badge{color:var(--uk-deep);}

/* =====================================================================
   STUDY VISA — NEW ZEALAND PAGE
   ===================================================================== */
:root{
  --nz:#0F7173;
  --nz-deep:#0A5153;
}
.nz-hero{padding:72px 0 0;}
.nz-hero .hero-eyebrow .dot{background:var(--nz);}
.nz-hero h1{font-size:clamp(32px,4.8vw,54px); line-height:1.05; letter-spacing:-0.02em; margin-bottom:20px;}
.nz-hero h1 em{color:var(--ochre); font-style:italic; font-weight:500;}
.nz-hero p.lead{font-size:17px; color:var(--ink-soft); line-height:1.68; max-width:520px; margin-bottom:32px;}

.nz-panel{background:var(--nz); border-radius:4px; padding:32px 28px; position:relative; overflow:hidden;}
.nz-icon{font-size:26px; margin-bottom:20px; opacity:0.9;}
.nz-panel h3{color:var(--white); font-size:20px; margin-bottom:6px;}
.nz-panel .sub{color:rgba(255,255,255,0.7); font-size:14px; font-family:'JetBrains Mono'; letter-spacing:0.04em; margin-bottom:22px;}
.nz-fact-list{display:flex; flex-direction:column; gap:12px;}
.nz-fact{display:flex; justify-content:space-between; gap:12px; padding:10px 0; border-bottom:1px solid rgba(255,255,255,0.18); font-size:13.5px; color:rgba(255,255,255,0.92);}
.nz-fact b{font-family:'Space Grotesk'; color:var(--white);}
.nz-panel-note{margin-top:18px; font-size:12.5px; color:rgba(255,255,255,0.62); font-family:'JetBrains Mono'; border-top:1px solid rgba(255,255,255,0.18); padding-top:16px;}

.nz-page ::selection{background:var(--nz); color:#fff;}
.nz-page .kf-icon{background:var(--nz);}
.nz-page .elig-tag{color:var(--nz-deep);}
.nz-page .doc-num{color:var(--nz-deep);}
.nz-page .step:hover .step-num{background:var(--nz); border-color:var(--nz);}
.nz-page #fees .fee-row.header{background:var(--nz);}
.nz-page #rules-explainer .note-callout{background:rgba(15,113,115,0.08); border-color:rgba(15,113,115,0.28); border-left-color:var(--nz);}
.nz-page #dependent-visa .pr-badge{color:var(--nz-deep);}

/* =====================================================================
   BLOG INDEX PAGE (/blog/) — page-specific components
   Ported from this page's own original inline stylesheet. Genuinely new
   classes (filter pills, blog card grid) are added unscoped since they
   don't exist anywhere else in this stylesheet. Overrides of shared/
   generic selectors (.hero, section, .breadcrumb, .section-title, etc.)
   are scoped under .page-blog so they don't affect any other page that
   also uses those base classes with different values.
   ===================================================================== */
.page-blog .hero{padding:64px 0 56px;}
.page-blog .hero-eyebrow{margin-bottom:24px;}
.page-blog .hero h1{font-size:clamp(32px,4.6vw,52px); line-height:1.06; letter-spacing:-0.02em; margin-bottom:20px; max-width:900px;}
.page-blog .hero h1 .accent{color:var(--ochre); font-style:italic; font-weight:500;}
.page-blog .hero p.lead{font-size:17.5px; color:var(--ink-soft); max-width:640px; margin-bottom:36px; line-height:1.65;}
.page-blog .hero-trustrow{max-width:820px;}
.page-blog .trust-stat{min-width:130px;}

.page-blog .breadcrumb{padding:14px 0;}
.page-blog .breadcrumb ol{flex-wrap:wrap;}
.page-blog .breadcrumb a:hover{text-decoration:underline;}

.page-blog section{padding:60px 0;}
.page-blog .section-title{font-size:clamp(26px,3.2vw,36px); margin-bottom:14px;}
.page-blog .section-intro{font-size:16px; max-width:600px; margin-bottom:36px;}
.page-blog .cta-left h2{font-size:clamp(26px,3.4vw,38px);}

/* Empty-state on this page is a plain text notice — canonical .empty-state
   elsewhere (e.g. success-stories) is a richer dashed-border card with its
   own h4/p/a children, so this is scoped to not change that other usage. */
.page-blog .empty-state{padding:40px 0; text-align:center; color:var(--ink-soft); font-size:15px; grid-column:1/-1; background:var(--paper);}

/* ── Filter pills ── */
.filter-row{display:flex; flex-wrap:wrap; gap:10px; margin-bottom:44px;}
.filter-pill{font-family:'JetBrains Mono'; font-size:12.5px; letter-spacing:0.04em; font-weight:500; padding:9px 18px; border-radius:20px; border:1px solid var(--line); background:transparent; color:var(--ink-soft); cursor:pointer; transition:all .18s ease;}
.filter-pill:hover{border-color:var(--ochre-deep); color:var(--ochre-deep);}
.filter-pill.active{background:var(--ink); border-color:var(--ink); color:var(--white);}

/* ── Blog card grid ── */
.blog-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
@media(max-width:960px){.blog-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:640px){.blog-grid{grid-template-columns:1fr;}}
.blog-card{background:var(--paper); padding:32px 26px; position:relative; transition:background .2s ease; display:flex; flex-direction:column; min-height:280px;}
.blog-card:hover{background:var(--white);}
.blog-card.hidden{display:none;}
.blog-tag{display:inline-flex; align-self:flex-start; font-family:'JetBrains Mono'; font-size:10.5px; letter-spacing:0.08em; text-transform:uppercase; color:var(--ochre-deep); background:var(--paper-deep); padding:5px 11px; border-radius:12px; margin-bottom:16px;}
.blog-card:hover .blog-tag{background:var(--paper);}
.blog-card h3{font-size:19px; line-height:1.28; margin-bottom:10px;}
.blog-card h3 em{font-style:italic; color:var(--ochre-deep);}
.blog-card p{font-size:14px; color:var(--ink-soft); line-height:1.6; margin-bottom:18px; flex-grow:1;}
.blog-card-meta{display:flex; gap:10px; font-size:12px; font-family:'JetBrains Mono'; color:var(--ink-soft); margin-bottom:16px;}
.blog-link{font-size:13.5px; font-weight:700; display:inline-flex; align-items:center; gap:6px; color:var(--navy);}
.blog-link:after{content:'→'; transition:transform .2s ease;}
.blog-card:hover .blog-link:after{transform:translateX(4px);}

/* =====================================================================
   COUNTRIES COMPARE PAGE (/countries/)
   Moved here from countries.html's inline <style> block. Most of that
   block duplicated rules already shared sitewide (page-hero, stats-band,
   commit-grid, faq-list/faq-item, cta-band, btn-white/btn-outline-white)
   — those were dropped rather than re-declared. Only what's genuinely
   new or page-specific is below.

   Two real naming collisions were caught and resolved rather than
   copied verbatim:
   - .country-card already exists sitewide (homepage's small "Countries
     Strip" tiles) with different values. This page's own .country-card
     (the larger compare-grid card) is scoped under .country-grid below
     so it can't leak onto or be overridden by the homepage tiles.
   - .flag-eu already exists sitewide (the small Schengen flag image in
     every topbar's Countries dropdown). This page reused that same
     name for an unrelated "EU" color badge — renamed to .flag-badge-eu
     here, with the two HTML spots that used it updated to match.
   ===================================================================== */

/* Hero: this page uses a slightly different column ratio / heading
   scale than the sitewide .page-hero default — scoped to this page only
   via body.countries-page so no other page's hero is affected. */
.countries-page .page-hero-inner{grid-template-columns:1.05fr 0.85fr;}
@media(max-width:940px){.countries-page .page-hero-inner{grid-template-columns:1fr; gap:44px;}}
.countries-page .page-hero h1{font-size:clamp(34px,4.6vw,54px); line-height:1.06;}
.countries-page .page-hero p.lead{font-size:17px; max-width:560px; margin-bottom:22px;}

/* Safe sitewide additions to the shared .page-hero p.lead component —
   don't conflict with anything, so left unscoped for any page to use. */
.page-hero p.lead:last-of-type{margin-bottom:0;}
.page-hero p.lead strong{color:var(--ink); font-weight:600;}

/* Jump card (in-page quick nav to each country section) */
.jump-card{background:var(--white); border:1px solid var(--line); border-radius:4px; overflow:hidden;}
.jump-card-head{padding:20px 22px; border-bottom:1px solid var(--line-soft);}
.jump-card-head h4{font-size:15px;}
.jump-card-head span{font-family:'JetBrains Mono'; font-size:11.5px; color:var(--ink-soft); letter-spacing:0.06em; text-transform:uppercase;}
.jump-row{display:flex; align-items:center; gap:14px; padding:14px 22px; border-bottom:1px solid var(--line-soft); transition:background .18s ease;}
.jump-row:last-child{border-bottom:none;}
.jump-row:hover{background:var(--paper);}
.jump-flag{width:34px; height:34px; border-radius:6px; flex-shrink:0; display:flex; align-items:center; justify-content:center; font-family:'Space Grotesk'; font-weight:700; font-size:11.5px; color:var(--white); letter-spacing:0.02em;}
.jump-row-name{font-size:14.5px; font-weight:600; flex-grow:1;}
.jump-row-sub{font-family:'JetBrains Mono'; font-size:11px; color:var(--ink-soft);}
.jump-row-arrow{color:var(--ochre-deep); font-size:15px;}

/* Per-country flag-badge colors (used by .jump-flag and .country-flag).
   .flag-eu intentionally renamed to .flag-badge-eu — see note above. */
.flag-ca{background:linear-gradient(145deg,var(--navy) 0%,var(--navy-deep) 100%);}
.flag-au{background:linear-gradient(145deg,var(--ochre) 0%,var(--ochre-deep) 100%);}
.flag-nz{background:linear-gradient(145deg,var(--navy-deep) 0%,var(--ink) 100%);}
.flag-uk{background:linear-gradient(145deg,var(--ink) 0%,var(--navy-deep) 100%);}
.flag-us{background:linear-gradient(145deg,var(--ochre-deep) 0%,var(--navy) 100%);}
.flag-badge-eu{background:linear-gradient(135deg,var(--navy) 0%,var(--ochre) 100%);}

/* Country compare grid — scoped under .country-grid throughout so its
   .country-card can't collide with the sitewide "Countries Strip" tiles */
.country-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
@media(max-width:960px){.country-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:640px){.country-grid{grid-template-columns:1fr;}}
.country-grid .country-card{background:var(--white); padding:34px 30px; display:flex; flex-direction:column; scroll-margin-top:90px; transition:background .18s ease;}
.country-grid .country-card:hover{background:var(--paper);}
.country-grid .country-card-top{display:flex; align-items:center; gap:14px; margin-bottom:18px;}
.country-grid .country-flag{width:52px; height:52px; border-radius:8px; display:flex; align-items:center; justify-content:center; font-family:'Space Grotesk'; font-weight:700; font-size:16px; color:var(--white); flex-shrink:0;}
.country-grid .country-card h3{font-size:22px; margin-bottom:2px;}
.country-grid .country-tagline{font-size:13px; color:var(--ink-soft);}
.country-grid .country-pills{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px;}
.country-grid .pill{font-family:'JetBrains Mono'; font-size:11px; letter-spacing:0.02em; color:var(--ink-soft); border:1px solid var(--line-soft); border-radius:20px; padding:5px 12px;}
.country-grid .country-card p.body{font-size:14.5px; color:var(--ink-soft); line-height:1.6; flex-grow:1; margin-bottom:20px;}
.country-grid .country-cta{font-size:14px; font-weight:700; color:var(--ochre-deep); display:inline-flex; align-items:center; gap:6px;}
.country-grid .country-cta .arrow{transition:transform .18s ease;}
.country-grid .country-card:hover .country-cta .arrow{transform:translateX(4px);}

/* Compare table */
.compare-wrap{border:1px solid var(--line); border-radius:4px; overflow-x:auto; background:var(--white);}
table.compare{width:100%; border-collapse:collapse; min-width:840px;}
table.compare th{background:var(--ink); color:var(--white); font-family:'JetBrains Mono'; font-size:11px; letter-spacing:0.08em; text-transform:uppercase; text-align:left; padding:16px 20px; font-weight:500;}
table.compare td{padding:18px 20px; font-size:14px; color:var(--ink-soft); border-bottom:1px solid var(--line-soft); vertical-align:top; line-height:1.5;}
table.compare tr:last-child td{border-bottom:none;}
table.compare td.country-name{font-family:'Space Grotesk'; font-weight:700; color:var(--ink); font-size:14.5px; white-space:nowrap;}
table.compare td.country-name .dot{display:inline-block; width:8px; height:8px; border-radius:2px; margin-right:8px;}
.compare-note{font-size:12.5px; color:var(--ink-soft); margin-top:14px; font-style:italic;}

/* FAQ accordion variant using native <details>/<summary> (CSS-only,
   no JS needed) — extends the shared .faq-item/.faq-list container */
.faq-item summary{list-style:none; cursor:pointer; padding:22px 0; font-family:'Space Grotesk'; font-size:16.5px; font-weight:600; display:flex; justify-content:space-between; align-items:center; gap:20px;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary .plus{font-family:'JetBrains Mono'; font-size:20px; color:var(--ochre-deep); flex-shrink:0; transition:transform .2s ease;}
.faq-item[open] summary .plus{transform:rotate(45deg);}
.faq-item p{font-size:14.5px; color:var(--ink-soft); line-height:1.65; padding-bottom:24px; max-width:680px;}

/* =====================================================================
   LOCATIONS PAGE (/locations/)
   Moved here from locations.html's inline <style> block. .section-title/
   .section-intro/.page-hero p.lead are shared components with page-
   specific overrides elsewhere too (see .page-blog above) — scoped
   under .locations-page so this page's values don't leak onto others.
   Everything else here (.locations-grid, .location-card, etc.) is new
   and unique to this page, so it's added unscoped.
   ===================================================================== */
.locations-page .section-title{max-width:780px;}
.locations-page .section-intro{max-width:660px;}
.locations-page .page-hero p.lead{max-width:680px; margin-bottom:24px;}

.locations-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:24px;}
@media(max-width:768px){.locations-grid{grid-template-columns:1fr;}}
.location-card{background:var(--white); border:1px solid var(--line); border-radius:4px; padding:36px; transition:all .2s ease; display:flex; flex-direction:column;}
.location-card:hover{border-color:var(--ochre); transform:translateY(-2px);}
.location-card.featured{background:var(--navy); border-color:var(--navy);}
.location-card.featured h3{color:var(--white);}
.location-card.featured p{color:rgba(251,250,247,0.7);}
.location-card.featured .location-link{color:#9DBADA;}
.location-icon{font-size:32px; margin-bottom:16px;}
.location-card h3{font-size:22px; margin-bottom:12px;}
.location-card p{font-size:15px; color:var(--ink-soft); line-height:1.6; margin-bottom:20px; flex-grow:1;}
.location-link{font-size:14px; font-weight:700; display:inline-flex; align-items:center; gap:6px; color:var(--navy);}
.location-link:after{content:'→'; transition:transform .2s;}
.location-card:hover .location-link:after{transform:translateX(4px);}

.contact-info{display:flex; flex-direction:column; gap:12px; margin-top:16px; padding-top:20px; border-top:1px solid var(--line-soft);}
.contact-info div{font-size:14px; color:var(--ink-soft); display:flex; align-items:center; gap:8px;}
.location-card.featured .contact-info div{color:rgba(251,250,247,0.7);}
