:root{
  --ink:#16233a;
  --navy:#1c2e4a;
  --navy-deep:#101a2c;
  --paper:#f6f3ec;
  --paper-2:#efe9db;
  --brass:#b58a3d;
  --brass-light:#d7b06a;
  --teal:#3c6360;
  --line:rgba(22,35,58,0.14);
  --white:#fffdf8;
  padding-top: env(safe-area-inset-top, 0px);
  padding-bottom: env(safe-area-inset-bottom, 0px);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --ink:#e9e6dd;
    --paper:#12192a;
    --paper-2:#182238;
    --white:#0e1524;
    --line:rgba(233,230,221,0.14);
  }
}
:root[data-theme="dark"]{
  --ink:#e9e6dd;
  --paper:#12192a;
  --paper-2:#182238;
  --white:#0e1524;
  --line:rgba(233,230,221,0.14);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth; scroll-padding-top: calc(76px + env(safe-area-inset-top, 0px));}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'Inter',sans-serif;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.serif{font-family:'Fraunces',serif;}
a{color:inherit;}
img{max-width:100%;display:block;}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px;}

/* ---------- Offline banner ---------- */
.offline-banner{
  background:var(--brass);
  color:var(--navy-deep);
  text-align:center;
  font-size:0.85rem;
  padding:8px 16px;
  font-weight:500;
}

/* ---------- Install prompt banners (Android + iOS) ---------- */
.install-banner{
  background:var(--navy-deep);
  color:var(--paper);
  border-bottom:1px solid rgba(246,243,236,0.18);
}
.install-banner-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:12px 28px;
  flex-wrap:wrap;
}
.install-copy{
  display:flex;
  align-items:center;
  gap:12px;
  font-size:0.88rem;
  opacity:0.92;
}
.install-icon{
  width:28px;height:28px;
  border-radius:6px;
  flex:none;
}
.ios-share-icon{
  display:inline-block;
  border:1px solid var(--brass-light);
  border-radius:4px;
  padding:0 5px;
  font-size:0.8rem;
  color:var(--brass-light);
}
.install-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex:none;
}
.btn-sm{padding:9px 18px;font-size:0.86rem;}
.install-dismiss{
  background:none;
  border:none;
  color:var(--paper);
  opacity:0.6;
  font-size:1.3rem;
  line-height:1;
  cursor:pointer;
  padding:4px 6px;
}
.install-dismiss:hover{opacity:1;}
@media (max-width:600px){
  .install-copy span{font-size:0.85rem;}
}

/* ---------- Header ---------- */
header{
  position:sticky; top:0; z-index:50;
  background:rgba(246,243,236,0.92);
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
  padding-top: env(safe-area-inset-top, 0px);
}
:root[data-theme="dark"] header{background:rgba(18,25,42,0.92);}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) header{background:rgba(18,25,42,0.92);}}
.nav{display:flex;align-items:center;justify-content:space-between;height:74px;}
.brand{display:flex;align-items:center;gap:10px;font-family:'Fraunces',serif;font-weight:600;font-size:1.18rem;letter-spacing:0.01em;text-decoration:none;color:var(--navy-deep);}
:root[data-theme="dark"] .brand{color:var(--brass-light);}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .brand{color:var(--brass-light);}}
.brand .mark{width:30px;height:30px;flex:none;border-radius:6px;}
.nav-links{display:flex;gap:30px;align-items:center;}
.nav-links a{font-size:0.94rem;text-decoration:none;color:var(--ink);opacity:0.82;transition:opacity .15s;}
.nav-links a:hover{opacity:1;}
.nav-cta{background:var(--navy-deep);color:var(--white)!important;padding:10px 20px;border-radius:2px;opacity:1!important;font-weight:500;}
.burger{display:none;background:none;border:0;padding:10px;cursor:pointer;}
.burger svg{width:24px;height:24px;stroke:var(--ink);}
.mobile-menu{display:none;flex-direction:column;gap:2px;padding:6px 0 18px;}
.mobile-menu a{padding:12px 4px;border-top:1px solid var(--line);text-decoration:none;color:var(--ink);font-size:0.98rem;}

@media (max-width:860px){
  .nav-links{display:none;}
  .burger{display:block;}
  header.open .mobile-menu{display:flex;}
}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line);}
.hero-grid{display:grid;grid-template-columns:1.15fr 0.85fr;gap:56px;align-items:center;padding:76px 0 64px;}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr;padding:44px 0 40px;gap:36px;}}
.eyebrow-line{display:flex;align-items:center;gap:10px;color:var(--brass);font-size:0.82rem;margin-bottom:22px;font-weight:500;}
.eyebrow-line .rule{width:34px;height:1px;background:var(--brass);}
.hero h1{font-size:clamp(2.3rem,4.6vw,3.6rem);font-weight:600;line-height:1.08;margin:0 0 22px;color:var(--navy-deep);}
:root[data-theme="dark"] .hero h1{color:var(--paper);}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .hero h1{color:var(--paper);}}
.hero h1 em{font-style:italic;color:var(--brass);}
.hero p.lede{font-size:1.12rem;max-width:46ch;opacity:0.86;margin:0 0 34px;}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:40px;}
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 26px;border-radius:2px;font-size:0.96rem;font-weight:500;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:transform .15s, background .15s;}
.btn:active{transform:scale(0.98);}
.btn-primary{background:var(--navy-deep);color:var(--white);}
.btn-primary:hover{background:var(--navy);}
.btn-outline{border-color:var(--ink);color:var(--ink);}
.btn-outline:hover{background:var(--ink);color:var(--paper);}
.hero-stats{display:flex;gap:36px;flex-wrap:wrap;}
.hero-stats div{border-left:2px solid var(--brass);padding-left:14px;}
.hero-stats strong{display:block;font-family:'Fraunces',serif;font-size:1.5rem;color:var(--navy-deep);}
:root[data-theme="dark"] .hero-stats strong{color:var(--brass-light);}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .hero-stats strong{color:var(--brass-light);}}
.hero-stats span{font-size:0.82rem;opacity:0.72;}

.globe-panel{position:relative;aspect-ratio:1/1;border-radius:4px;overflow:hidden;background:linear-gradient(160deg,var(--navy-deep),var(--teal));}
.globe-panel svg{width:100%;height:100%;}

/* ---------- Ticker / trust bar ---------- */
.trustbar{border-bottom:1px solid var(--line);background:var(--paper-2);}
.trustbar .wrap{display:flex;align-items:center;gap:44px;padding:18px 28px;overflow-x:auto;white-space:nowrap;}
.trustbar span{font-size:0.82rem;opacity:0.65;letter-spacing:0.02em;}
.trustbar strong{opacity:1;font-weight:600;}

/* ---------- Section shell ---------- */
section{padding:88px 0;}
@media (max-width:700px){section{padding:56px 0;}}
.section-head{max-width:640px;margin-bottom:52px;}
.section-head .kicker{color:var(--brass);font-weight:500;font-size:0.85rem;margin-bottom:12px;}
.section-head h2{font-size:clamp(1.8rem,3.2vw,2.5rem);margin:0 0 14px;color:var(--navy-deep);font-weight:600;}
:root[data-theme="dark"] .section-head h2{color:var(--paper);}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .section-head h2{color:var(--paper);}}
.section-head p{opacity:0.78;font-size:1.02rem;margin:0;}

/* ---------- Sliding photo gallery ---------- */
#gallery{padding-bottom:0;}
.slider-stage{width:100%;}
.slider{
  position:relative;
  overflow:hidden;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:var(--navy-deep);
}
.slider-track{
  display:flex;
  transition:transform .55s cubic-bezier(.4,0,.2,1);
  will-change:transform;
}
.slide{
  flex:0 0 100%;
  margin:0;
  position:relative;
}
.slide img{
  width:100%;
  aspect-ratio:16/9;
  max-height:78vh;
  object-fit:cover;
  display:block;
}
@media (max-width:700px){
  .slide img{aspect-ratio:4/5;max-height:60vh;}
}
.slide figcaption{
  position:absolute;
  left:0; right:0; bottom:0;
  padding:44px 56px calc(36px + env(safe-area-inset-bottom, 0px));
  background:linear-gradient(0deg, rgba(16,26,44,0.88) 10%, rgba(16,26,44,0.35) 60%, rgba(16,26,44,0));
  color:var(--paper);
  font-family:'Fraunces',serif;
  font-size:clamp(1.4rem,3vw,2.1rem);
  font-weight:600;
  max-width:900px;
}
@media (max-width:700px){
  .slide figcaption{padding:28px 24px calc(24px + env(safe-area-inset-bottom, 0px));font-size:1.3rem;}
}
.slider-btn{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  background:rgba(16,26,44,0.5);
  color:var(--paper);
  border:1.5px solid rgba(246,243,236,0.55);
  width:56px;height:56px;
  border-radius:50%;
  font-size:2rem;
  line-height:1;
  cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background .15s, transform .15s;
  -webkit-backdrop-filter:blur(3px);
  backdrop-filter:blur(3px);
}
.slider-btn:hover{background:rgba(16,26,44,0.85);transform:translateY(-50%) scale(1.06);}
.slider-btn.prev{left:24px;}
.slider-btn.next{right:24px;}
@media (max-width:700px){
  .slider-btn{width:44px;height:44px;font-size:1.5rem;}
  .slider-btn.prev{left:12px;}
  .slider-btn.next{right:12px;}
}
.slider-dots{
  position:absolute;
  bottom:22px; left:50%;
  transform:translateX(-50%);
  display:flex;
  gap:10px;
  z-index:2;
}
.slider-dots button{
  width:10px;height:10px;
  border-radius:50%;
  border:1.5px solid var(--paper);
  background:rgba(16,26,44,0.3);
  padding:0;
  cursor:pointer;
  opacity:0.75;
  transition:transform .15s, background .15s;
}
.slider-dots button.active{background:var(--brass-light);border-color:var(--brass-light);opacity:1;transform:scale(1.25);}

/* ---------- Products grid ---------- */
.products{border-top:1px solid var(--line);background:var(--white);}
.prod-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
@media (max-width:900px){.prod-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.prod-grid{grid-template-columns:1fr;}}
.prod-cell{background:var(--white);padding:34px 30px;transition:background .15s;}
.prod-cell:hover{background:var(--paper-2);}
.prod-num{font-family:'Fraunces',serif;font-size:0.85rem;color:var(--brass);margin-bottom:16px;display:block;}
.prod-cell h3{font-size:1.18rem;margin:0 0 10px;font-weight:600;color:var(--navy-deep);}
:root[data-theme="dark"] .prod-cell h3{color:var(--paper);}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .prod-cell h3{color:var(--paper);}}
.prod-cell p{font-size:0.92rem;opacity:0.75;margin:0;}

/* ---------- Working & job-seeker spotlight ---------- */
.spotlight{background:var(--navy-deep);color:var(--paper);}
.spotlight .section-head h2{color:var(--paper);}
.spotlight .section-head p{color:var(--paper);opacity:0.72;}
.spotlight .kicker{color:var(--brass-light);}
.spot-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid rgba(246,243,236,0.18);}
@media (max-width:820px){.spot-grid{grid-template-columns:1fr;}}
.spot-card{padding:38px 34px;border-bottom:1px solid rgba(246,243,236,0.18);}
.spot-card:nth-child(odd){border-right:1px solid rgba(246,243,236,0.18);}
@media (max-width:820px){.spot-card:nth-child(odd){border-right:none;}}
.spot-card h3{font-size:1.3rem;margin:0 0 12px;font-weight:600;color:var(--brass-light);}
.spot-card p{opacity:0.82;font-size:0.98rem;margin:0 0 16px;}
.spot-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;}
.spot-list li{font-size:0.9rem;opacity:0.88;padding-left:18px;position:relative;}
.spot-list li::before{content:"—";position:absolute;left:0;color:var(--brass-light);}

/* ---------- Process ---------- */
.process-list{border-top:1px solid var(--line);}
.proc-row{display:grid;grid-template-columns:70px 1fr 1.4fr;gap:24px;padding:30px 0;border-bottom:1px solid var(--line);align-items:start;}
@media (max-width:700px){.proc-row{grid-template-columns:44px 1fr;}
  .proc-row .proc-desc{grid-column:1/-1;padding-left:0;}}
.proc-row .idx{font-family:'Fraunces',serif;font-size:1.6rem;color:var(--brass);}
.proc-row h4{margin:0;font-size:1.08rem;font-weight:600;}
.proc-row .proc-desc{opacity:0.75;font-size:0.94rem;}

/* ---------- Coverage map / countries ---------- */
.coverage{background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.country-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;}
.country-chip{border:1px solid var(--line);padding:14px 16px;font-size:0.9rem;background:var(--white);}
.country-chip strong{display:block;font-family:'Fraunces',serif;font-weight:600;color:var(--navy-deep);}
:root[data-theme="dark"] .country-chip strong{color:var(--brass-light);}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .country-chip strong{color:var(--brass-light);}}
.country-chip span{opacity:0.65;font-size:0.8rem;}

/* ---------- Testimonial / quote ---------- */
.quote-block{text-align:left;max-width:760px;}
.quote-block blockquote{font-family:'Fraunces',serif;font-size:clamp(1.3rem,2.6vw,1.7rem);font-style:italic;line-height:1.4;margin:0 0 22px;color:var(--navy-deep);}
:root[data-theme="dark"] .quote-block blockquote{color:var(--paper);}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .quote-block blockquote{color:var(--paper);}}
.quote-block cite{font-style:normal;font-size:0.9rem;opacity:0.65;}

/* ---------- Contact / footer ---------- */
.contact{background:var(--navy-deep);color:var(--paper);border-top:1px solid var(--line);}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;}
@media (max-width:820px){.contact-grid{grid-template-columns:1fr;gap:36px;}}
.contact h2{color:var(--paper);font-size:clamp(1.8rem,3.2vw,2.4rem);margin:0 0 18px;}
.contact p{opacity:0.78;max-width:44ch;margin:0 0 28px;}
.addr{border-left:2px solid var(--brass-light);padding-left:18px;margin-bottom:22px;}
.addr strong{display:block;font-family:'Fraunces',serif;font-size:1.05rem;margin-bottom:6px;}
.addr span{display:block;opacity:0.78;font-size:0.94rem;}
.contact-links{display:flex;flex-direction:column;gap:10px;font-size:0.94rem;}
.contact-links a{text-decoration:none;opacity:0.85;}
.contact-links a:hover{opacity:1;text-decoration:underline;}

.form-box{background:rgba(246,243,236,0.06);border:1px solid rgba(246,243,236,0.18);padding:30px;}
.form-row{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;}
.form-row label{font-size:0.82rem;opacity:0.75;}
.form-row input,.form-row select,.form-row textarea{
  background:rgba(246,243,236,0.06);
  border:1px solid rgba(246,243,236,0.28);
  color:var(--paper);
  padding:11px 12px;
  font-family:'Inter',sans-serif;
  font-size:0.94rem;
  border-radius:2px;
}
.form-row input::placeholder,.form-row textarea::placeholder{color:rgba(246,243,236,0.4);}
.form-row input:focus,.form-row select:focus,.form-row textarea:focus{outline:2px solid var(--brass-light);outline-offset:1px;}
.form-msg{font-size:0.88rem;margin-top:10px;opacity:0.85;display:none;}
.form-msg.show{display:block;}
.form-msg.is-error{color:#e0a05a;}
.recaptcha-disclosure{font-size:0.74rem;opacity:0.5;margin-top:14px;line-height:1.5;}
.recaptcha-disclosure a{color:inherit;text-decoration:underline;}

/* Honeypot field: visually hidden but present in the DOM/tab order-free */
.hp-field{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;}

.foot-seal{
  margin-top:60px;
  padding-top:40px;
  border-top:1px solid rgba(246,243,236,0.18);
}
.foot-logo{border-radius:8px;height:56px;width:auto;max-width:100%;}

.foot-bottom{margin-top:18px;padding-top:0;border-top:none;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;font-size:0.8rem;opacity:0.6;}

/* ---------- Extra button variants (for use on dark/navy banners) ---------- */
.btn-brass{background:var(--brass);color:var(--navy-deep);}
.btn-brass:hover{background:var(--brass-light);}
.btn-ghost-light{background:transparent;border-color:rgba(246,243,236,0.5);color:var(--paper);}
.btn-ghost-light:hover{background:rgba(246,243,236,0.12);}
.link-button{background:none;border:none;color:inherit;opacity:0.75;text-decoration:underline;cursor:pointer;font:inherit;font-size:0.8rem;padding:0;}
.link-button:hover{opacity:1;}

/* ---------- Site footer (nav links, legal links, address) ---------- */
.site-footer{background:var(--navy-deep);color:var(--paper);padding:56px 0 40px;border-top:1px solid var(--line);}
.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding-bottom:34px;}
@media (max-width:820px){.footer-grid{grid-template-columns:1fr;gap:32px;}}
.footer-links{display:flex;gap:56px;flex-wrap:wrap;}
.footer-links-col{display:flex;flex-direction:column;gap:10px;}
.footer-links-title{font-family:'Fraunces',serif;color:var(--brass-light);font-size:0.85rem;margin-bottom:2px;}
.footer-links-col a{color:var(--paper);opacity:0.8;text-decoration:none;font-size:0.92rem;}
.footer-links-col a:hover{opacity:1;text-decoration:underline;}

/* ---------- Cookie consent banner ---------- */
.cookie-banner{
  position:fixed;left:0;right:0;bottom:0;z-index:80;
  background:var(--navy-deep);color:var(--paper);
  border-top:1px solid rgba(246,243,236,0.2);
  padding:16px 0 calc(16px + env(safe-area-inset-bottom, 0px));
  box-shadow:0 -6px 28px rgba(0,0,0,0.28);
}
.cookie-banner-inner{display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap;}
.cookie-banner-inner p{margin:0;font-size:0.88rem;opacity:0.85;max-width:62ch;}
.cookie-banner-inner a{color:var(--brass-light);}
.cookie-actions{display:flex;gap:10px;flex:none;flex-wrap:wrap;}

/* ---------- Legal pages (privacy / terms / complaints) ---------- */
.legal-page{background:var(--white);padding:64px 0 88px;}
.legal-wrap{max-width:760px;}
.legal-wrap h1{font-size:clamp(2rem,4vw,2.7rem);margin:0 0 10px;color:var(--navy-deep);}
:root[data-theme="dark"] .legal-wrap h1{color:var(--paper);}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .legal-wrap h1{color:var(--paper);}}
.legal-updated{opacity:0.6;font-size:0.85rem;margin:0 0 28px;}
.legal-disclaimer{background:var(--paper-2);border-left:3px solid var(--brass);padding:16px 20px;font-size:0.9rem;opacity:0.9;margin-bottom:44px;}
.legal-body h2{font-family:'Fraunces',serif;font-size:1.35rem;font-weight:600;margin:2.2em 0 0.6em;color:var(--navy-deep);}
:root[data-theme="dark"] .legal-body h2{color:var(--paper);}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .legal-body h2{color:var(--paper);}}
.legal-body h2:first-child{margin-top:0;}
.legal-body h3{font-size:1.02rem;font-weight:600;margin:1.6em 0 0.5em;}
.legal-body p,.legal-body li{opacity:0.82;font-size:0.98rem;line-height:1.7;}
.legal-body ul{padding-left:22px;margin:0.6em 0;}
.legal-body li{margin-bottom:6px;}
.legal-body a{color:var(--navy-deep);}
:root[data-theme="dark"] .legal-body a{color:var(--brass-light);}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .legal-body a{color:var(--brass-light);}}
.legal-body table{width:100%;border-collapse:collapse;margin:1.2em 0;font-size:0.92rem;}
.legal-body th,.legal-body td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top;}
.legal-body th{font-family:'Fraunces',serif;font-weight:600;color:var(--navy-deep);}

:focus-visible{outline:2px solid var(--brass);outline-offset:2px;}
@media (prefers-reduced-motion: reduce){
  *{animation:none!important;}
  .slider-track{transition:none!important;}
}
