:root{
  --bv-bg:      #F4F8FA;
  --bv-surface: #E3EEF3;
  --bv-ink:     #14232E;
  --bv-accent:  #1B7FA8;
  --bv-muted:   #7B909C;
  --bv-line:    #CBDDE6;
  --bv-onDark:  #F4F8FA;
  --bv-pad: clamp(1.1rem, 3vw, 2.4rem);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0;padding:0}
body{
  background:var(--bv-bg);
  color:var(--bv-ink);
  font-family:Inter,system-ui,sans-serif;
  font-size:16.5px;
  line-height:1.62;
  min-height:100vh;
}
body.is-open{overflow:hidden}
img{max-width:100%;display:block;height:auto}
a{color:var(--bv-accent);text-decoration:none}
a:hover{text-decoration:underline}
p,ul,ol{margin:0 0 0.85em}
ul,ol{padding-left:1.15em}
h1,h2,h3,h4{
  font-family:Sora,Inter,sans-serif;
  font-weight:700;
  line-height:1.15;
  letter-spacing:-0.02em;
  margin:0 0 0.55em;
}
h1{font-size:clamp(2.3rem,5.2vw,4.1rem)}
h2{font-size:clamp(1.6rem,2.6vw,2.3rem)}
h3{font-size:1.18rem;letter-spacing:-0.01em;font-weight:600}
h2::before{
  content:"";
  display:block;
  width:48px;
  margin-bottom:0.72rem;
  border-top:3px double var(--bv-accent);
  box-shadow:26px 6px 0 -1px var(--bv-accent);
}
.bv-hero h1::before,
.bv-hero--compact h1::before{display:none}
.bv-legal h1 + .updated{color:var(--bv-muted);font-size:0.92rem;margin-bottom:1.4rem}

.page{
  width:min(1180px,calc(100% - var(--bv-pad)*2));
  margin:0 auto;
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:0.45rem;
  min-height:46px;
  padding:0.55rem 1.15rem;
  border-radius:12px;
  border:1px solid transparent;
  font-family:Sora,Inter,sans-serif;
  font-size:0.92rem;
  font-weight:600;
  letter-spacing:-0.01em;
  cursor:pointer;
  text-decoration:none;
  transition:transform .2s ease,background .2s ease,border-color .2s ease,color .2s ease;
}
.btn:hover{text-decoration:none;transform:translateY(-2px)}
.btn--solid{background:var(--bv-accent);color:var(--bv-onDark)}
.btn--solid:hover{background:#16688a}
.btn--ghost{background:transparent;color:var(--bv-ink);border-color:var(--bv-line)}
.btn--ghost:hover{border-color:var(--bv-accent);color:var(--bv-accent)}
.tile--dark .btn--ghost{color:var(--bv-onDark);border-color:rgba(244,248,250,.35)}
.tile--dark .btn--ghost:hover{border-color:var(--bv-onDark)}
.tile--dark a:not(.btn){color:#9fd3ea}

/* Top bar */
.bv-topbar{
  position:sticky;
  top:0;
  z-index:40;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  height:64px;
  padding:0 var(--bv-pad);
  background:rgba(244,248,250,.92);
  border-bottom:1px solid var(--bv-line);
  backdrop-filter:blur(10px);
}
.bv-mark{
  display:flex;
  align-items:center;
  gap:0.6rem;
  color:var(--bv-ink);
  font-family:Sora,sans-serif;
  font-weight:700;
  font-size:1.02rem;
  letter-spacing:-0.02em;
  text-decoration:none;
}
.bv-mark:hover{text-decoration:none;color:var(--bv-accent)}
.bv-mark svg{display:block}
.bv-topbar-right{display:flex;align-items:center;gap:0.75rem}
.bv-topbar .cta-plan{font-size:0.86rem;padding:0.4rem 0.85rem;min-height:40px}
.bv-burger{
  width:44px;height:44px;
  border:0;background:transparent;
  display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;
  cursor:pointer;padding:0;
}
.bv-burger span{
  display:block;width:20px;height:2px;background:var(--bv-ink);
  transition:transform .25s ease,opacity .2s ease;
}
body.is-open .bv-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
body.is-open .bv-burger span:nth-child(2){opacity:0}
body.is-open .bv-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Overlay navigation */
.bv-overlay{
  position:fixed;inset:0;z-index:35;
  width:100vw;height:100vh;
  background:#14232E;
  color:var(--bv-onDark);
  padding:6.2rem var(--bv-pad) 2rem;
  display:flex;flex-direction:column;justify-content:space-between;
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .28s ease,visibility .28s ease;
}
body.is-open .bv-overlay{opacity:1;visibility:visible;pointer-events:auto}
.bv-overlay-cols{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:2rem 3rem;
  max-width:1180px;
}
.bv-overlay h2{
  color:var(--bv-muted);
  font-size:0.78rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:600;
  margin-bottom:0.8rem;
}
.bv-overlay h2::before{display:none}
.bv-overlay a{
  display:block;
  color:var(--bv-onDark);
  font-family:Sora,sans-serif;
  font-size:clamp(2rem,4vw,2.75rem);
  font-weight:600;
  letter-spacing:-0.03em;
  line-height:1.22;
  text-decoration:none;
  margin:0.15rem 0;
}
.bv-overlay a:hover{color:#7ec8e4}
.bv-overlay-foot{
  color:var(--bv-muted);
  font-size:0.86rem;
  display:flex;flex-wrap:wrap;gap:0.35rem 1.4rem;
  max-width:1180px;
}
.bv-overlay-foot a{color:var(--bv-muted);font:inherit}

/* Hero */
.bv-hero{
  width:min(1180px,calc(100% - var(--bv-pad)*2));
  margin:1.4rem auto 1.2rem;
  display:grid;
  grid-template-columns:1.15fr 0.85fr;
  gap:1.2rem;
  min-height:auto;
  align-items:stretch;
}
.bv-hero-home{min-height:min(78vh,760px)}
.bv-hero-copy{
  display:flex;flex-direction:column;justify-content:center;
  padding:1.4rem 0.2rem 1rem;
}
.bv-hero-sub{color:var(--bv-ink);max-width:42rem;font-size:1.02rem}
.bv-hero-cta{display:flex;flex-wrap:wrap;gap:0.7rem;margin-top:0.6rem}
.bv-figures{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1.1rem 1.2rem;
  padding:1.5rem 1.4rem;
  border-radius:18px;
  align-content:center;
}
.bv-figures--row{
  grid-template-columns:repeat(3,1fr);
  align-items:center;
}
.bv-hero--compact{
  min-height:0;
  margin-top:1.6rem;
}
.bv-hero--compact .bv-hero-copy{padding-top:0.4rem}
.bv-hero--legal{
  grid-template-columns:1fr;
  min-height:0;
  margin-bottom:0.4rem;
}

.figure-value{
  font-family:Sora,sans-serif;
  font-weight:700;
  font-size:clamp(2rem,4vw,3.2rem);
  color:var(--bv-accent);
  letter-spacing:-0.03em;
  line-height:1;
  margin:0 0 0.35rem;
}
.tile--dark .figure-value{color:#7ec8e4}
.figure-label{
  font-family:Inter,sans-serif;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--bv-muted);
  margin:0;
  line-height:1.4;
}

/* Bento tiles */
.bv-bento{
  width:min(1180px,calc(100% - var(--bv-pad)*2));
  margin:0 auto 1.2rem;
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:1.05rem;
}
.tile{
  background:var(--bv-surface);
  border-radius:18px;
  padding:1.45rem 1.5rem 1.5rem;
  border:1px solid transparent;
  min-width:0;
}
.tile--plain{background:transparent;padding-left:0;padding-right:0}
.tile--dark{background:var(--bv-ink);color:var(--bv-onDark)}
.tile--dark h2,.tile--dark h3{color:var(--bv-onDark)}
.tile--wide{grid-column:span 8}
.tile--tall{grid-row:span 2}
.tile--12{grid-column:span 12}
.tile--8{grid-column:span 8}
.tile--7{grid-column:span 7}
.tile--6{grid-column:span 6}
.tile--5{grid-column:span 5}
.tile--4{grid-column:span 4}
.tile--photo{padding:0;overflow:hidden}
.tile--photo img{width:100%;height:100%;object-fit:cover;min-height:240px}
a.tile,button.tile{color:inherit;text-align:left;cursor:pointer;display:block}
a.tile:hover,a.tile-link:hover{
  border:1px solid var(--bv-accent);
  transform:translateY(-3px);
  text-decoration:none;
}
.tile-link{transition:transform .22s ease,border-color .22s ease}
.tile .lead{color:var(--bv-ink)}
.price-from{
  font-family:Sora,sans-serif;
  font-weight:600;
  color:var(--bv-accent);
  margin:0.7rem 0 0.4rem;
}
.inner-bento{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
  margin-top:1rem;
}
.inner-bento .tile{background:var(--bv-bg)}
.meta-line{color:var(--bv-muted);font-size:0.92rem;margin-bottom:0.7rem}
.incl{display:grid;grid-template-columns:1fr 1fr;gap:0.6rem 1rem;margin:0.8rem 0 1rem;font-size:0.92rem}
.incl h4,.bv-pricecard h4{font-size:0.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--bv-muted);margin:0.85rem 0 0.3rem;font-family:Sora,sans-serif;font-weight:600}
.incl ul{margin:0;padding-left:1.05em}

/* Split 0.85 / 1.15 */
.bv-split{
  display:grid;
  grid-template-columns:0.85fr 1.15fr;
  gap:1.4rem 2.2rem;
  align-items:start;
}
.bv-split-aside h2{margin-top:0}
.country-list{display:grid;gap:1rem}
.country-list h3{margin-bottom:0.2rem}
.bv-steps{display:grid;gap:1rem}
.bv-step{
  background:var(--bv-bg);
  border-radius:14px;
  padding:1rem 1.1rem;
}
.bv-step h3{margin-bottom:0.25rem}

/* Records and prices */
.bv-record h3{margin-bottom:0.25rem}
.bv-record-figs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0.9rem 0.8rem;
}
.bv-pricecard{
  display:flex;flex-direction:column;
}
.bv-pricecard .price-from{font-size:1.25rem}
.bv-pricecard--featured{
  border:1px solid var(--bv-accent);
  background:#d7e8f0;
}
.bv-pricecard ul{margin:0.4rem 0 0.8rem}
.bv-pricecard .btn{margin-top:auto}

table{
  width:100%;
  border-collapse:collapse;
  font-size:0.95rem;
}
th,td{
  text-align:left;
  padding:0.65rem 0.55rem;
  border-bottom:1px solid var(--bv-line);
  vertical-align:top;
}
th{font-family:Sora,sans-serif;font-size:0.82rem;letter-spacing:.04em;color:var(--bv-muted);font-weight:600}

/* FAQ */
.bv-faqlist{display:grid;gap:0.7rem}
.bv-qa{
  background:var(--bv-bg);
  border-radius:14px;
  padding:0.15rem 0.2rem;
}
.bv-qa summary,
.bv-qa-q{
  list-style:none;
  cursor:pointer;
  font-family:Sora,sans-serif;
  font-weight:600;
  font-size:1.02rem;
  padding:0.85rem 1rem;
  color:var(--bv-ink);
  background:none;border:0;width:100%;text-align:left;
}
.bv-qa summary::-webkit-details-marker{display:none}
.bv-qa-a,.bv-qa > p,.bv-qa .answer{padding:0 1rem 1rem}
.bv-qa[open] summary{color:var(--bv-accent)}

/* Form */
.bv-form{display:grid;gap:0.85rem}
.bv-field label,.bv-consent{display:block;font-size:0.9rem;font-weight:500;margin-bottom:0.3rem}
.bv-field input,.bv-field select,.bv-field textarea{
  width:100%;
  border:1px solid var(--bv-line);
  background:#fff;
  border-radius:10px;
  padding:0.62rem 0.75rem;
  font:inherit;color:var(--bv-ink);
}
.bv-field input:focus,.bv-field select:focus,.bv-field textarea:focus{
  outline:2px solid var(--bv-accent);outline-offset:1px;
}
.bv-field input.is-wrong,.bv-field select.is-wrong,.bv-field textarea.is-wrong,
.bv-consent.is-wrong{outline:2px solid var(--bv-accent)}
.field-err{color:#8a3b2b;font-size:0.82rem;margin:0.25rem 0 0}
.bv-consent{display:flex;gap:0.55rem;align-items:flex-start;font-weight:400}
.bv-consent input{margin-top:0.25rem}
.bv-hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.bv-note{color:var(--bv-muted);font-size:0.88rem;margin:0.2rem 0 0}
.bv-thanks{
  background:var(--bv-ink);
  color:var(--bv-onDark);
  border-radius:18px;
  padding:1.6rem 1.5rem;
}
.bv-thanks h3{color:var(--bv-onDark)}
.bv-map{border-radius:18px;overflow:hidden;min-height:380px}
.bv-map iframe{border:0;display:block;width:100%;height:380px}

/* Footer */
.bv-megafoot{
  margin-top:2.4rem;
  background:var(--bv-ink);
  color:var(--bv-onDark);
  padding:2.4rem var(--bv-pad) 1.2rem;
}
.bv-megafoot-grid{
  width:min(1180px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:1.4rem 1.1rem;
}
.bv-megafoot-col h3{
  color:var(--bv-muted);
  font-size:0.78rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  margin-bottom:0.7rem;
}
.bv-megafoot-col h3::before{display:none}
.bv-megafoot-col a,.bv-megafoot-col p{
  display:block;
  color:var(--bv-onDark);
  font-size:0.92rem;
  margin:0 0 0.4rem;
  text-decoration:none;
}
.bv-megafoot-col a:hover{color:#7ec8e4;text-decoration:underline}
.bv-legalbar{
  width:min(1180px,100%);
  margin:1.6rem auto 0;
  padding-top:1rem;
  border-top:1px solid rgba(203,221,230,.2);
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:0.8rem 1.4rem;
  align-items:center;
  color:var(--bv-muted);
  font-size:0.8rem;
}
.bv-legalbar a{color:var(--bv-muted)}
.bv-legalbar .legal-mid{text-align:center}
.bv-legalbar .legal-right{text-align:right;max-width:28rem}

/* Cookie bar */
.bv-cookie{
  position:fixed;
  left:var(--bv-pad);
  right:var(--bv-pad);
  bottom:1rem;
  z-index:50;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  background:var(--bv-ink);
  color:var(--bv-onDark);
  border-radius:16px;
  padding:1rem 1.15rem;
  box-shadow:0 10px 30px rgba(20,35,46,.18);
}
.bv-cookie p{margin:0;font-size:0.92rem}
.bv-cookie a{color:#7ec8e4}
.bv-cookie-act{display:flex;gap:0.5rem;flex-shrink:0}
.bv-cookie .btn--ghost{
  color:var(--bv-onDark);
  border-color:rgba(244,248,250,.55);
}
.bv-cookie .btn--ghost:hover{
  color:var(--bv-onDark);
  border-color:var(--bv-onDark);
}

/* Motion */
.lift-in{
  opacity:1;
  transform:none;
  transition:opacity 500ms cubic-bezier(.22,.7,.3,1),transform 500ms cubic-bezier(.22,.7,.3,1);
}
html:not(.no-js) .lift-in:not(.shown){opacity:0;transform:translateY(14px)}
.no-js .lift-in{opacity:1 !important;transform:none !important}
@media (prefers-reduced-motion: reduce){
  .lift-in{opacity:1 !important;transform:none !important;transition:none !important}
  html{scroll-behavior:auto}
}

.muted{color:var(--bv-muted)}
.stack > * + *{margin-top:0.75rem}
.cta-wide{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}

@media (max-width:1100px){
  .bv-hero{grid-template-columns:1fr;min-height:0}
  .bv-hero-home{min-height:0}
  .bv-bento{grid-template-columns:repeat(6,minmax(0,1fr))}
  .tile--12,.tile--8,.tile--7,.tile--wide{grid-column:span 6}
  .tile--6,.tile--5,.tile--4{grid-column:span 3}
  .tile--tall{grid-row:span 1}
  .inner-bento{grid-template-columns:1fr}
  .bv-megafoot-grid{grid-template-columns:repeat(3,1fr)}
  .bv-figures--row{grid-template-columns:1fr 1fr}
}

@media (max-width:699px){
  .bv-overlay-cols{grid-template-columns:1fr;gap:1.4rem}
  .bv-overlay a{font-size:1.7rem}
  .bv-split{grid-template-columns:1fr}
  .bv-bento{grid-template-columns:1fr}
  .tile--12,.tile--8,.tile--7,.tile--6,.tile--5,.tile--4,.tile--wide{grid-column:auto}
  .bv-figures,.bv-figures--row,.bv-record-figs,.incl{grid-template-columns:1fr}
  .bv-megafoot-grid{grid-template-columns:1fr 1fr}
  .bv-legalbar{grid-template-columns:1fr;text-align:left}
  .bv-legalbar .legal-mid,.bv-legalbar .legal-right{text-align:left}
  .bv-cookie{flex-direction:column;align-items:stretch}
  .bv-topbar .cta-plan{display:none}
}

@media (max-width:480px){
  .bv-megafoot-grid{grid-template-columns:1fr}
}
