/* MyArrival v3.8.0 customer experience layer */
:root{
  --experience-bg:#eef2ef;
  --experience-surface:#fff;
  --experience-ink:#12231c;
  --experience-muted:#5f6d66;
  --experience-line:#cad5cf;
  --experience-accent:#1f5c4c;
  --experience-deep:#142821;
  --experience-radius:18px;
  --experience-shadow:0 20px 54px rgba(20,40,33,.08);
  --max:1240px;
  --paper:var(--experience-bg);
  --surface:var(--experience-surface);
  --ink:var(--experience-ink);
  --line:var(--experience-line);
  --flow-ink:var(--experience-ink);
  --flow-muted:var(--experience-muted);
  --flow-line:var(--experience-line);
  --flow-paper:var(--experience-bg);
  --flow-card:var(--experience-surface);
}

.experience-v4{
  min-width:320px;
  background:var(--experience-bg)!important;
  color:var(--experience-ink)!important;
  -webkit-font-smoothing:antialiased;
}
.experience-v4 *{box-sizing:border-box}
.experience-v4 a,.experience-v4 button,.experience-v4 summary{transition:color .16s ease,background-color .16s ease,border-color .16s ease,opacity .16s ease,transform .16s ease}
.experience-v4 :focus-visible{outline:3px solid #3e8a73;outline-offset:3px}
.customer-content-anchor{scroll-margin-top:92px}
.skip-link-v4{
  position:fixed;left:18px;top:12px;z-index:1000;padding:11px 15px;
  color:#fff!important;background:var(--experience-deep);border-radius:8px;
  font-size:14px;font-weight:700;text-decoration:none;transform:translateY(-160%)
}
.skip-link-v4:focus{transform:translateY(0)}

/* Shared customer shell */
.experience-v4 .site-header{
  height:72px!important;min-height:72px!important;padding:0 clamp(18px,4vw,58px)!important;
  background:rgba(238,242,239,.9)!important;border-bottom:1px solid rgba(18,35,28,.12)!important;
  backdrop-filter:blur(20px) saturate(135%)
}
.experience-v4 .wordmark{font-size:25px!important;letter-spacing:-1.25px!important}
.experience-v4 .header-country-flag{box-shadow:0 0 0 1px rgba(18,35,28,.12)}
.experience-v4 .site-nav{gap:18px!important}
.experience-v4 .site-nav a{font-size:13px!important;font-weight:650!important}
.experience-v4 .site-nav .header-start{
  padding:9px 15px;border:1px solid var(--experience-ink);border-radius:9px;
  background:transparent;color:var(--experience-ink)!important
}
.experience-v4 .site-nav .header-start:hover,
.experience-v4 .site-nav .header-start[aria-current="page"]{background:var(--experience-ink);color:#fff!important;opacity:1}
.experience-v4 .language-select{border-color:rgba(18,35,28,.2)!important;background:rgba(255,255,255,.66)!important}
.experience-v4 .shell{width:min(var(--max),calc(100% - clamp(30px,5vw,72px)))}

.experience-v4 .btn-v2{
  min-height:48px;padding:13px 19px;border-color:var(--experience-ink);border-radius:10px;
  background:var(--experience-ink);font-size:14px;font-weight:700;box-shadow:none
}
.experience-v4 .btn-v2.secondary{background:rgba(255,255,255,.45)}
.experience-v4 .btn-v2:hover{transform:translateY(-2px);opacity:1;box-shadow:0 8px 24px rgba(18,35,28,.12)}

/* Homepage: one clear message, one supporting panel, modular trust cards. */
.route-home main.shell{padding-top:18px}
.route-home .hero-v2{
  position:relative;isolation:isolate;overflow:hidden;
  min-height:clamp(620px,calc(100vh - 108px),790px);
  grid-template-columns:minmax(0,1.08fr) minmax(310px,.72fr);gap:clamp(32px,6vw,88px);
  align-items:end;padding:clamp(52px,7vw,92px);border:1px solid rgba(18,35,28,.12);
  border-radius:24px;background:
    radial-gradient(circle at 82% 12%,rgba(255,255,255,.86),transparent 30%),
    linear-gradient(145deg,#f8faf8 0%,#dce8e2 50%,#b8cec4 100%);
  box-shadow:var(--experience-shadow)
}
.route-home .hero-v2::before{
  content:"";position:absolute;z-index:-1;right:-8%;bottom:-34%;width:min(620px,58vw);aspect-ratio:1;
  border:1px solid rgba(31,92,76,.19);border-radius:50%;box-shadow:
    0 0 0 70px rgba(31,92,76,.04),0 0 0 150px rgba(31,92,76,.03)
}
.route-home .hero-main{align-self:center;max-width:720px}
.route-home .eyebrow-v2{color:#365249!important}
.route-home .hero-v2 h1{color:var(--experience-ink)}
.route-home .hero-v2 h1.hero-headline-en{font-size:clamp(54px,6vw,84px)!important;letter-spacing:-.045em!important}
.route-home .hero-copy{max-width:620px!important;color:#41574f!important;font-size:clamp(18px,1.7vw,22px)!important}
.route-home .actions-v2{margin-top:30px}
.route-home .manifesto{
  align-self:end;padding:clamp(26px,3vw,38px);border:1px solid rgba(255,255,255,.16);border-radius:18px;
  background:rgba(20,40,33,.94);color:#fff;box-shadow:0 20px 48px rgba(13,34,27,.15)
}
.route-home .manifesto .big{margin:0 0 26px!important;color:#fff;font-size:clamp(32px,3.2vw,44px)!important}
.route-home .manifesto li{grid-template-columns:48px 1fr;gap:14px;padding:17px 0;border-color:rgba(255,255,255,.18)}
.route-home .manifesto .step-no{color:#9bc1b3!important;font-size:23px!important}
.route-home .manifesto strong{color:#fff;font-size:18px!important;font-weight:600!important}

.home-assurance{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;
  padding:24px 0 clamp(72px,8vw,104px)
}
.home-assurance article{
  min-width:0;padding:clamp(24px,3vw,34px);border:1px solid var(--experience-line);
  border-radius:var(--experience-radius);background:rgba(255,255,255,.7)
}
.home-assurance article>span{display:block;margin-bottom:clamp(28px,4vw,54px);color:#628277;font-size:12px;font-weight:750;letter-spacing:.12em}
.home-assurance h2{margin:0 0 10px;font-size:clamp(20px,2vw,26px);line-height:1.15;letter-spacing:-.025em}
.home-assurance p{margin:0;color:var(--experience-muted);font-size:15px;line-height:1.55}

.route-home .home-faq{
  margin-bottom:clamp(72px,9vw,118px);padding:clamp(38px,6vw,76px);
  border:1px solid var(--experience-line);border-radius:24px;background:var(--experience-surface);box-shadow:var(--experience-shadow)
}
.route-home .home-faq-heading>p{color:var(--experience-muted)}
.route-home .home-faq-list{border-top-color:var(--experience-ink)}
.route-home .home-faq-list details{border-color:var(--experience-line)}
.route-home .home-faq-list details[open]{background:#f3f7f5}
.route-home .home-faq-list summary:hover{background:#f6f8f7}

/* Customer flows: a consistent, calmer interior shell. */
.route-flow .flow-page,.route-documents .flow-page{padding-bottom:clamp(72px,9vw,116px)}
.experience-v4 .flow-shell{max-width:1080px}
.experience-v4 .flow-progress{height:66px;margin-bottom:clamp(40px,6vw,62px);border-color:var(--experience-line)}
.experience-v4 .flow-heading,.experience-v4 .flow-doc-hero{margin-bottom:clamp(30px,5vw,48px)}
.experience-v4 .flow-heading h1,.experience-v4 .flow-doc-hero h1,.experience-v4 .flow-complete h1{
  font-size:clamp(43px,6vw,72px);line-height:.98;letter-spacing:-.05em;font-weight:650
}
.experience-v4 .flow-heading p,.experience-v4 .flow-doc-hero p,.experience-v4 .flow-complete p{color:var(--experience-muted)}
.experience-v4 .flow-form-card,.experience-v4 .flow-payment-card{
  border-color:var(--experience-line);border-radius:var(--experience-radius);
  background:var(--experience-surface);box-shadow:var(--experience-shadow)
}
.experience-v4 .flow-form-card{padding:10px clamp(20px,4vw,38px)}
.experience-v4 .flow-form-section{border-color:#dbe3df}
.experience-v4 .flow-field input:not([type=radio]):not([type=hidden]),
.experience-v4 .flow-field select{border-bottom-color:#91a39b}
.experience-v4 .flow-field input:focus,.experience-v4 .flow-field select:focus{border-bottom-color:var(--experience-accent);box-shadow:0 1px 0 var(--experience-accent)}
.experience-v4 .flow-choice span{border-radius:9px;border-color:#9dafaa}
.experience-v4 .flow-choice input:checked+span{background:var(--experience-accent);border-color:var(--experience-accent)}
.experience-v4 .flow-country-menu{border-color:var(--experience-line);border-radius:12px;box-shadow:var(--experience-shadow)}
.experience-v4 .flow-country-menu button:hover{background:#edf3f0}
.experience-v4 .flow-upload-list{border-top-color:var(--experience-ink)}
.experience-v4 .flow-upload{padding-left:18px;padding-right:18px;border-color:var(--experience-line);border-radius:12px}
.experience-v4 .flow-upload:hover{background:rgba(255,255,255,.64)}
.experience-v4 .flow-upload.ready{background:#e3efe9}

/* Policy pages share the same restrained content architecture. */
.route-policy .policy-page-v2{padding:clamp(54px,8vw,92px) 0 clamp(86px,10vw,128px)}
.route-policy .policy-heading{padding:0 0 clamp(38px,5vw,56px);border-color:var(--experience-ink)}
.route-policy .policy-heading h1{font-size:clamp(46px,7vw,78px);line-height:.98;letter-spacing:-.05em;font-weight:650}
.route-policy .policy-content{
  max-width:850px;margin:clamp(34px,5vw,62px) 0 0 auto;padding:clamp(26px,4vw,48px);
  border:1px solid var(--experience-line);border-radius:var(--experience-radius);background:var(--experience-surface)
}
.route-policy .policy-content p,.route-policy .policy-content li{color:var(--experience-muted)}

.experience-v4 .footer-v2{background:var(--experience-deep)!important;padding:56px 0 26px!important}
.experience-v4 .footer-grid{grid-template-columns:1fr minmax(320px,1.4fr) .55fr;gap:clamp(34px,6vw,76px)}
.experience-v4 .footer-bottom{border-color:rgba(255,255,255,.14);margin-top:44px}

@media(max-width:900px){
  .route-home .hero-v2{grid-template-columns:1fr;min-height:auto;gap:42px;padding:clamp(40px,7vw,64px)}
  .route-home .hero-main{padding:16px 0}
  .route-home .manifesto{width:min(100%,620px)}
  .home-assurance{grid-template-columns:1fr 1fr}.home-assurance article:last-child{grid-column:1/-1}
  .experience-v4 .footer-grid{grid-template-columns:1fr 1.3fr}.experience-v4 .footer-links{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:18px}
}

@media(max-width:600px){
  .experience-v4 .site-header{padding:0 14px!important}
  .experience-v4 .site-nav{gap:8px!important}
  .experience-v4 .site-nav .header-start{padding:8px 11px}
  .experience-v4 .shell{width:calc(100% - 28px)}
  .route-home main.shell{padding-top:12px}
  .route-home .hero-v2{padding:34px 22px 22px;border-radius:18px;gap:34px}
  .route-home .hero-v2 h1.hero-headline-en{font-size:clamp(46px,15vw,62px)!important;white-space:normal}
  .route-home .hero-copy{font-size:17px!important}
  .route-home .actions-v2{align-items:stretch}.route-home .actions-v2 .btn-v2{justify-content:center;flex:1 1 100%}
  .route-home .manifesto{padding:24px}.route-home .manifesto .big{font-size:32px!important}
  .home-assurance{grid-template-columns:1fr;padding:16px 0 62px}.home-assurance article:last-child{grid-column:auto}
  .home-assurance article>span{margin-bottom:24px}
  .route-home .home-faq{padding:30px 20px;margin-bottom:72px;border-radius:18px}
  .experience-v4 .flow-heading h1,.experience-v4 .flow-doc-hero h1,.experience-v4 .flow-complete h1{font-size:clamp(40px,12vw,54px)}
  .experience-v4 .flow-form-card,.experience-v4 .flow-payment-card{border-radius:14px;box-shadow:0 12px 34px rgba(20,40,33,.06)}
  .route-policy .policy-content{padding:24px 20px;border-radius:14px}
  .experience-v4 .footer-grid{grid-template-columns:1fr}.experience-v4 .footer-links{grid-column:auto}
}

@media(prefers-reduced-motion:reduce){
  .experience-v4 *,.experience-v4 *::before,.experience-v4 *::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}
