/* ===========================================================
   VistaLån — hand-built stylesheet (vanilla CSS, no framework)

   Every size, offset and colour below was measured from the live
   vistalån.dk page (getComputedStyle + getBoundingClientRect on the
   Landingi build) at a 1713px desktop viewport and a 390px mobile
   viewport. The live page uses a fixed 1200px desktop canvas and a
   fixed 375px mobile canvas, switching at 768px — this stylesheet
   follows the same two canvases so positions line up 1:1.
   =========================================================== */

:root{
  --gold:        #EDC661;   /* rgb(237,198,97) — buttons, badges, icons */
  --text:        #262833;   /* rgb(38,40,51)   — all body + heading text */
  --text-footer: #3A3A3A;   /* rgb(58,58,58)   — footer */
  --text-muted:  #717171;   /* rgb(113,113,113) — mobile hero copy */
  --hl:          rgba(125,125,125,.1);  /* grey marker behind headings */
  --rail:        rgba(237,198,97,.2);   /* gold bar left of guide items */
  --footer-bg:   #F4F4F4;

  --font: "Roboto Condensed", Arial, sans-serif;
  --font-alt: "Barlow", Arial, sans-serif;

  --canvas: 1200px;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  margin:0;
  font-family: var(--font);
  font-weight:300;
  font-size:15px;
  line-height:30px;
  color: var(--text);
  background: linear-gradient(190deg, rgba(232,219,226,.37), #fff);
  overflow-x:hidden;
}
img{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
ul{ margin:0; padding:0; list-style:none; }
p, h1, h2, h3, h4, h5{ margin:0; }
h1, h2, h3, h4{ font-weight:700; font-style:italic; color: var(--text); }
h5{ font-weight:300; font-size:inherit; }
b, strong{ font-weight:700; }

.wrap{ width: var(--canvas); max-width: calc(100% - 48px); margin:0 auto; }
.only-mobile{ display:none !important; }

/* ---------------- Buttons & badges ---------------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  font-family: var(--font); font-weight:700; font-style:italic;
  text-transform:uppercase; color:#fff; background: var(--gold);
  border:none; cursor:pointer; white-space:nowrap;
  transition: filter .15s ease;
}
.btn:hover{ filter: brightness(.96); }
/* Pill CTA ("ANSØG LÅN"): 133×45, 30px radius, 18px text */
.btn--pill{ height:45px; padding:0 24px; border-radius:30px; font-size:18px; line-height:28.8px; }
/* Legacy aliases still used by sub-pages */
.btn--gold{ height:45px; padding:0 24px; border-radius:30px; font-size:18px; }
.btn--block{ width:100%; }

.badge{
  display:inline-block; vertical-align:top;
  height:35px; line-height:35px; padding:0 20px;
  background: var(--gold); color:#fff;
  font-weight:700; font-style:italic; font-size:15px; text-transform:uppercase;
}
.badge--lg{ height:37px; line-height:37px; }

/* Grey "marker" bar that sits behind part of each heading */
.hl-heading{ position:relative; z-index:0; text-shadow:#fff 1px 1px 3px; }
.hl-heading .hl{
  position:absolute; z-index:-1; left:0; top: var(--hl-top, 20px);
  width: var(--hl-w); height:21px; background: var(--hl);
}
.hl-heading--center .hl{ left:50%; transform:translateX(-50%); }

/* ---------------- Header ---------------- */
.site-header{ height:95px; position:relative; z-index:50; }
.site-header__inner{ position:relative; height:95px; }
.logo{
  position:absolute; left:0; top:16px;
  font-weight:700; font-style:italic; font-size:60px; line-height:78px;
  color: var(--text);
}
.main-nav{ position:absolute; left:679px; top:39px; }
.main-nav ul{ display:flex; }
.main-nav li{ display:flex; align-items:center; gap:6px; }
.main-nav li + li{ margin-left:43px; }
.main-nav li:nth-child(4){ margin-left:31px; }   /* OM VISTALÅN */
.main-nav a{
  font-weight:700; font-style:italic; font-size:17px; line-height:27.2px;
  text-transform:uppercase; color: var(--text);
}
/* SAMLELÅN + LOGIN only live in the mobile burger menu */
.main-nav li.nav-mobile-only{ display:none; }
.nav-badge{
  background: var(--gold); color: var(--text);
  font-weight:700; font-size:10px; line-height:1.4;
  padding:2px 7px; border-radius:10px;
}
.btn--nav{ position:absolute; left:1067px; top:29px; }
.burger, .header-login{ display:none; }

.mobile-nav-backdrop{ display:none; position:fixed; inset:0; background:rgba(38,40,51,.4); z-index:40; }
.mobile-nav-backdrop.is-open{ display:block; }

/* ---------------- Hero ---------------- */
.hero{ min-height:850px; }               /* 945px incl. 95px header */
.hero__grid{
  display:grid;
  grid-template-columns: minmax(0,605px) minmax(0,95px) minmax(0,500px);
  grid-template-areas: "copy . form" "trust . form";
  grid-template-rows: auto 1fr;
  padding-top:105px;
}
.hero__copy{ grid-area:copy; }
.hero__form{ grid-area:form; position:relative; }
.hero__trust{ grid-area:trust; }

.hero__title{ margin-top:31px; font-size:63px; line-height:75.6px; }
.hero__title .hl{ top:109px; height:35px; }
.hero__lead{ margin-top:29px; font-size:18px; line-height:28.8px; }
.checklist{ margin-top:16px; width:500px; max-width:100%; }
.checklist li{
  position:relative; padding-left:35px;
  font-size:18px; line-height:37.8px;
}
.checklist li::before{
  content:""; position:absolute; left:0; top:7px; width:25px; height:25px;
  background:url("../images/check.svg") center/contain no-repeat;
}
.checklist u{ text-decoration:underline; }

.hero__divider{ margin:46px 0 0; width:320px; height:1px; border:0; background:#E3E3E3; }
.hero__trust-label{ margin-top:20px; font-size:14px; line-height:22.4px; }
.logo-strip{
  margin-top:17px;
  display:grid; grid-template-columns: repeat(4, 80px); gap:20px;
}
.logo-strip img{ width:80px; height:26px; }

.hero__glow{
  position:absolute; z-index:-1; left:0; top:-25px; width:500px; height:630px; max-width:100%;
  border-radius:400px; background:rgba(237,198,97,.08);
  box-shadow: 0 0 400px rgba(237,198,97,.24);
}
.form-panel{
  min-height:420px;
  /* Same inherited text context as the Landingi HTML widget the live
     embed sits in (arial 14px/14px). The AXO widget inherits these, and
     with our body's 30px line-height it rendered ~270px taller. */
  font-family: arial, sans-serif; font-size:14px; line-height:14px; font-weight:400;
}
/* The live page wraps the AXO embed in a Landingi HTML widget whose base
   stylesheet carries the classic Eric Meyer reset (unlayered). AXO ships
   its own CSS inside `@layer axo`, and unlayered rules always beat layered
   ones — so on vistalån.dk that reset strips much of the widget's built-in
   spacing (e.g. the 28px under each field). Reproducing the same reset
   here, scoped to the embed, makes the form render at the exact same
   size (474px tall on desktop) instead of ~740px. Verified by probing the
   live page: div, span, p, label, form, section, ul, li, headings and a lose margin, padding,
   border and inherit font; button/input/select/textarea are untouched. */
#axo-embed-target :where(div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video){
  margin:0; padding:0; border:0; font-size:100%; font:inherit; vertical-align:baseline;
}
#axo-embed-target :where(ol,ul){ list-style:none; }
#axo-embed-target :where(em,i){ font-style:italic; }
.form-panel__loading{
  min-height:420px; display:flex; align-items:center; justify-content:center;
  font-size:14px; color: var(--text);
}
.hero__disclaimer{ font-size:11px; line-height:1.5; margin-top:14px; text-align:center; }

/* ---------------- Partner logos ---------------- */
.partners{ background:#fff; min-height:500px; padding:60px 0 32px; text-align:center; }
.partners h2{ margin-top:33px; font-size:40px; line-height:48px; }
.partners h2 .hl{ top:24px; }
.partners__grid{
  margin:54px auto 0; max-width:1050px;
  display:flex; flex-wrap:wrap; justify-content:center; gap:35px 30px;
}
.partners__grid img{ width:150px; height:50px; }
.partners__note{ margin:53px auto 0; max-width:642px; font-size:12px; line-height:24px; }

/* ---------------- Feature sections ---------------- */
.feature{ background:#fff; }
.feature h2{ font-size:35px; line-height:42px; }
.feature p{ margin-top:13px; }
.feature__row{ display:grid; column-gap:70px; }
.feature__row--text-left{ grid-template-columns: minmax(0,680px) minmax(0,450px); }
.feature__row--text-right{ grid-template-columns: minmax(0,450px) minmax(0,680px); }
.feature__text{ min-width:0; }
.feature__media img{
  width:450px; height:200px; max-width:100%;
  object-fit:fill; border-radius:10px;
  box-shadow: 0 0 300px rgba(237,198,97,.6);
}

/* section A: 600px tall */
.feature--a{ padding:66px 0 45px; }
.feature--a .feature__row--text-left .feature__text{ padding-top:13px; }
.feature--a .feature__row--text-right{ margin-top:83px; }
.feature--a .feature__row--text-right p{ margin-top:14px; }

/* section B: 514px tall */
.feature--b{ padding:46px 0 45px; }
.feature--b p{ margin-top:23px; }
.feature--b .feature__p2{ margin-top:22px; }
.feature--b .feature__media img{ box-shadow: 0 0 400px rgba(237,198,97,.6); }
.dot-list li{ position:relative; margin-left:25px; }
.dot-list li + li{ padding-top:5px; }
.dot-list li::before{ content:"•"; position:absolute; left:-25px; color: var(--text); }
.feature--b .dot-list{ margin:21px 0 0 30px; }
.feature__cta{ margin:22px 0 0 31px; }

/* section C (guide + requirements card): 752px tall */
.feature--c{ padding:35px 0 81px; }
.feature__row--guide{ grid-template-columns: minmax(0,680px) minmax(0,450px); }
.feature--c p{ margin-top:23px; }
.feature--c .feature__p2{ margin-top:25px; }
.rail-list{ margin-top:40px; width:675px; max-width:100%; }
.feature--c .rail-list__item{ position:relative; margin-top:0; padding-left:35px; }
.feature--c .rail-list__item + .rail-list__item{ margin-top:28px; }
.rail-list__item::before{
  content:""; position:absolute; left:0; top:6px; bottom:5px; width:8px; background: var(--rail);
}
.rail-list__colon{ color:#21214F; }

.feature--c .feature__media{ padding-top:7px; position:relative; }
.req-card{
  position:relative; z-index:0; isolation:isolate;
  width:450px; max-width:100%; min-height:595px;
  background:#fff; border-radius:10px; padding:24px 30px 28px;
}
.req-card__glow{
  position:absolute; z-index:-2; left:71px; top:60px; width:311px; height:496px;
  border-radius:400px; background:rgba(237,198,97,.17);
  box-shadow: 0 0 400px rgba(237,198,97,.6);
}
.req-card::after{ content:""; position:absolute; inset:0; z-index:-1; background:#fff; border-radius:10px; }
.req-card h3{ margin-left:-2px; font-size:30px; line-height:36px; }
.feature--c .req-card p{ margin-top:15px; }
.req-card__box{
  margin:20px 0 0 -10px; width:400px; max-width:calc(100% + 10px);
  padding:15px 0 15px 20px; border-radius:10px; background:rgba(237,198,97,.06);
}
.req-card__box .dot-list li{ margin-left:25px; }
.feature--c .req-card .req-card__p3{ margin-top:16px; }
.feature--c .req-card .req-card__p4{ margin-top:16px; }

/* ---------------- Sub-pages (kundeservice, om, privatlivspolitik) ----------------
   Measured from the live sub-pages at the same 1200px canvas. */
.page-sub .sub-h2, .info-card h3, .contact-card h3{ color:#000; }
.btn--lg{ height:50px; padding:0 37px; }

/* hero with copy left + contact card right (kundeservice, om) */
.sub-hero{ min-height:777px; }
.sub-hero__grid{ display:grid; grid-template-columns: minmax(0,725px) minmax(0,450px); }
.sub-hero__copy{ padding-top:150px; }
.sub-hero__title{ margin-top:39px; font-size:63px; line-height:75.6px; }
.sub-hero__title .hl{ top:40px; height:35px; }
.sub-hero__intro{ margin-top:35px; width:525px; max-width:100%; font-size:16px; line-height:32px; }
.sub-hero__cta{ margin-top:10px; width:320px; }

.contact-card{
  align-self:start; margin-top:98px; min-height:659px;
  background:#fff; border-radius:10px; box-shadow:0 0 200px rgba(237,198,97,.2);
  padding:67px 31px 30px 29px;
}
.page-om .contact-card{ min-height:660px; }
.contact-card h3{ font-size:30px; line-height:36px; }
.contact-card__hours{ margin-top:5px; }
.contact-form{ margin:17px 0 0 -2px; display:grid; gap:16px; }
.contact-form input, .contact-form textarea{
  width:392px; max-width:100%; height:40px; padding:0 5px;
  font-family: var(--font); font-weight:400; font-size:14px; color:#161616;
  background:#fff; border:1px solid #D6D4D4; border-radius:4px;
}
.contact-form textarea{ height:150px; padding:8px 5px; resize:vertical; line-height:1.4; }
.contact-form input:focus, .contact-form textarea:focus{ outline:2px solid var(--gold); outline-offset:0; }
.contact-form .hp-field{ position:absolute; left:-9999px; width:1px; height:1px; }
.contact-form__submit{
  margin-top:-4px; width:392px; max-width:100%; height:55px; border:0; border-radius:4px; cursor:pointer;
  background: var(--gold); color:#fff;
  font-family: var(--font); font-weight:700; font-style:italic; font-size:20px; text-transform:uppercase;
}
.contact-form__submit:hover{ filter:brightness(.96); }
.form-success, .form-error{ margin-top:12px; padding:8px 12px; border-radius:4px; font-size:14px; line-height:1.5; }
.form-success{ background:#eaf6ee; color:#215a33; }
.form-error{ background:#fbeaea; color:#7a2323; }

/* white content section with main column + requirements card */
.sub-section{ background:#fff; }
.sub-grid{ display:grid; grid-template-columns: minmax(0,680px) minmax(0,450px); column-gap:70px; align-items:start; }
.sub-h2{ font-size:35px; line-height:42px; }
.sub-intro, .sub-text p{ font-size:15px; line-height:30px; }
.sub-text p + p{ margin-top:30px; }

.info-card{
  background:#fff; border-radius:10px; min-height:595px;
  box-shadow:0 0 300px rgba(237,198,97,.2);
  padding:24px 30px 28px;
}
.info-card h3{ margin-left:-2px; font-size:30px; line-height:36px; }
.info-card > p{ margin-top:15px; }
.info-card__box{
  margin:20px 0 0 -10px; width:400px; max-width:calc(100% + 10px);
  padding:15px 0 15px 20px; border-radius:10px; background:rgba(237,198,97,.1);
}
.info-card--faint .info-card__box{ background:rgba(237,198,97,.06); }
.info-card > .info-card__p3{ margin-top:16px; }
.info-card > .info-card__p4{ margin-top:16px; }

.cta-box{
  width:689px; max-width:100%; min-height:182px; border-radius:10px;
  background:rgba(237,198,97,.1); box-shadow:0 0 190px rgba(237,198,97,.1);
  padding:26px 35px 27px;
}
.cta-box p{ max-width:640px; }
.cta-box .btn{ margin-top:19px; width:298px; }

/* kundeservice: FAQ guide */
.sub-section--faq{ padding:80px 0 103px; }
.sub-section--faq .info-card{ margin-top:17px; padding-top:18px; }
.sub-section--faq .info-card > p:first-of-type{ margin-top:15px; }
.sub-section--faq .sub-intro{ margin-top:23px; }
.rail-list--faq{ margin-top:29px; width:675px; max-width:100%; }
.rail-list--faq .rail-list__item{ position:relative; padding-left:35px; }
.rail-list--faq .rail-list__item::before{ width:6px; top:7px; bottom:8px; }
.rail-list--faq .rail-list__item:nth-child(2){ margin-top:26px; }
.rail-list--faq .rail-list__item:nth-child(3){ margin-top:38px; }
.rail-list--faq .rail-list__item:nth-child(4){ margin-top:35px; }
.rail-list--faq .rail-list__item:nth-child(5){ margin-top:26px; }
.rail-list--faq .rail-list__item:nth-child(6){ margin-top:20px; }
.rail-list--faq .rail-list__item:nth-child(7){ margin-top:22px; }
.rail-list--faq .rail-list__item:nth-child(8){ margin-top:17px; }
.rail-list--faq .rail-list__item:nth-child(9){ margin-top:24px; }
.rail-list--faq .rail-list__item:nth-child(10){ margin-top:22px; }
.rail-list--faq .rail-list__item:nth-child(11){ margin-top:34px; }
.sub-section--faq .cta-box{ margin-top:28px; width:680px; }

/* samlelån: same layout as the front page, guide block sits 7px higher */
.feature--c-samle{ padding-bottom:86px; }
.feature--c-samle .feature__p2{ margin-top:18px; }

/* om */
.page-om .sub-hero{ min-height:775px; }
.sub-section--om{ padding:80px 0 17px; }
.sub-section--om .sub-text{ margin-top:23px; }
.sub-section--om .cta-box{ margin-top:91px; }
.sub-section--om .info-card{ margin-top:11px; }
.sub-section--banks{ padding:35px 0 38px; }
.sub-section--banks .sub-intro{ margin-top:21px; width:680px; max-width:100%; }
.bank-list{ margin:19px 0 0 20px; }

/* privatlivspolitik */
.priv-hero{ min-height:149px; padding-top:47px; }
.priv-hero__updated{ font-size:12px; line-height:24px; color: var(--text-muted); }
.priv-hero__title{ font-size:55px; line-height:66px; color:#000; }
.priv-hero__title .hl{ top:33px; height:32px; }
.sub-section--priv{ padding:67px 0 56px; }
.sub-grid--priv{ grid-template-areas: "h2 card" "b1 card" "b2 card" "cta card"; }
.priv-h2{ grid-area:h2; }
.priv-block1{ grid-area:b1; margin-top:31px; }
.priv-block2{ grid-area:b2; margin-top:37px; }
.priv-cta{ grid-area:cta; margin-top:36px; }
.priv-card{ grid-area:card; margin-top:-9px; }
.muted-link{ color: var(--text-muted); }

/* ---------------- Footer ---------------- */
.site-footer{ background: var(--footer-bg); color: var(--text-footer); }
.site-footer__inner{ position:relative; min-height:310px; padding-top:57px; display:flex; }
.logo--footer{ position:static; font-size:45px; line-height:58.5px; color: var(--text); }
.site-footer__brand{ width:490px; flex:none; }
.site-footer__legal{ margin-top:18px; font-size:10px; line-height:20px; }
.site-footer__monedero{ margin-top:40px; display:flex; align-items:center; gap:5px; }
.site-footer__monedero img{ width:12px; height:12px; }
.site-footer__col{ padding-top:3px; }
.site-footer__col h3{ font-size:20px; line-height:32px; color: var(--text-footer); }
.site-footer__col-lists{ display:flex; margin-top:21px; }
.site-footer__col ul{ width:140px; }
.site-footer__col li + li{ margin-top:11px; }
.site-footer__col a{ display:block; font-size:15px; line-height:24px; color: var(--text-footer); }
.site-footer__col--split{ width:350px; flex:none; }
.site-footer__col--single{ width:227px; flex:none; }
.site-footer__cta{ margin-top:-5px; }

/* =================== Between canvases (768–1247px) ===================
   The fixed desktop offsets above assume a 1200px canvas; below that
   the header switches to flex so nothing overlaps. */
@media (max-width: 1247px) and (min-width: 768px){
  .site-header__inner{ display:flex; align-items:center; gap:30px; }
  .logo{ position:static; margin-right:auto; font-size:44px; }
  .main-nav, .btn--nav{ position:static; }
  .main-nav li + li, .main-nav li:nth-child(4){ margin-left:28px; }
  .hero__title{ font-size:50px; line-height:60px; }
  .hero__title .hl{ top:82px; height:30px; width:260px; }
  .hl-heading .hl{ max-width:100%; }
  .site-footer__brand{ width:auto; flex:1; }
  .site-footer__col--split{ width:300px; }
  .site-footer__col--single{ width:180px; }
}

/* =================== Mobile canvas (<768px) =================== */
@media (max-width: 767px){
  .only-desktop{ display:none !important; }
  .only-mobile{ display:revert !important; }
  .logo-strip.only-mobile, .partners__grid.only-mobile{ display:grid !important; }
  .wrap{ width:320px; max-width:calc(100% - 40px); }
  body{ font-size:14px; line-height:28px; }

  /* header: burger · centred logo · login icon */
  .site-header, .site-header__inner{ height:auto; }
  .site-header__inner{ display:flex; align-items:center; justify-content:space-between; padding-top:36px; height:76px; }
  .logo{ position:static; font-size:35px; line-height:45.5px; margin-top:4px; }
  .burger{
    display:flex; align-items:center; justify-content:center;
    width:40px; height:40px; padding:0; border:0; background:none; color:#000; cursor:pointer;
    position:relative; z-index:60;
  }
  .header-login{ display:flex; width:28px; height:28px; color:#000; }
  .btn--nav{ display:none; }
  .main-nav{
    position:fixed; top:0; left:0; bottom:0; width:min(300px, 84vw);
    background:#fff; padding:100px 30px 30px;
    transform:translateX(-100%); transition:transform .25s ease; z-index:45;
    box-shadow: 10px 0 30px rgba(0,0,0,.08);
  }
  .main-nav.is-open{ transform:translateX(0); }
  .main-nav ul{ flex-direction:column; align-items:flex-start; gap:22px; }
  .main-nav li + li, .main-nav li:nth-child(4){ margin-left:0; }
  .main-nav li.nav-mobile-only{ display:flex; }

  /* hero */
  .hero{ min-height:0; }
  .hero__grid{ display:block; padding-top:19px; padding-bottom:25px; }
  .hero__title{ margin:0; font-size:24px; line-height:28.8px; text-align:center; }
  .hero .hero__title .hl{ top:13px; height:16px; width: var(--hl-w-m); left:50%; transform:translateX(-50%); }
  .hero__form{ margin-top:21px; }
  .hero__glow{ top:46px; width:100%; height:541px; border-radius:300px; }
  .form-panel, .form-panel__loading{ min-height:538px; }
  .hero__trust{ text-align:center; }
  .hero__divider{ margin:172px auto 0; width:300px; }
  .hero__trust-label{ margin-top:14px; font-size:12px; line-height:19.2px; color: var(--text-muted); }
  .logo-strip{ margin:16px auto 0; width:280px; grid-template-columns:repeat(3,80px); gap:22px 20px; }
  .hero__mobile-intro{ margin-top:22px; font-size:14px; line-height:22.4px; color: var(--text-muted); }

  /* partners */
  .partners{ min-height:550px; padding:23px 0 16px; }
  .partners h2{ margin:19px auto 0; width:260px; font-size:24px; line-height:28.8px; }
  .partners h2 .hl{ top:42px; height:16px; width: var(--hl-w-m); }
  .partners__grid{
    margin:27px 0 0 12px; width:auto; max-width:none;
    grid-template-columns:repeat(2,140px); column-gap:17px; row-gap:19px; align-items:center;
  }
  .partners__grid img{ width:140px; height:46px; }
  .partners__note{ margin-top:25px; font-size:13px; line-height:26px; }

  /* feature sections: single column, image first in the first block */
  .feature h2{ font-size:24px; line-height:28.8px; text-align:center; }
  .hl-heading .hl{ top:14px; height:14px; width: var(--hl-w-m); left:50%; transform:translateX(-50%); }
  .feature p{ margin-top:22px; }
  .feature__row{ display:flex; flex-direction:column; }
  .feature__media img{ width:320px; height:150px; }

  .feature--a{ padding:23px 0 10px; }
  .feature--a .feature__row--text-left{ flex-direction:column-reverse; }
  .feature--a .feature__row--text-left .feature__text{ padding-top:17px; }
  .feature--a .feature__row--text-right{ margin-top:26px; }
  .feature--a .feature__row--text-right .feature__text{ padding-top:26px; }
  .feature--a .feature__row--text-right h2 .hl{ top:42px; }
  .feature--a .feature__row--text-right p{ margin-top:14px; }

  .feature--b{ padding:24px 0 24px; }
  .feature--b h2 .hl{ height:16px; }
  .feature--b p{ margin-top:19px; }
  .feature--b .feature__row{ display:block; }
  .feature--b .feature__text{ display:contents; }
  .feature--b .feature__media{ display:contents; }
  .feature--b .feature__row{ display:flex; flex-direction:column; }
  .feature--b h2{ order:1; }
  .feature--b .feature__text > p:not(.feature__p2){ order:2; }
  .feature--b .feature__media img{ order:3; margin-top:19px; }
  .feature--b .feature__p2{ order:4; margin-top:19px; }
  .feature--b .dot-list{ order:5; margin:22px 0 0; }
  .feature--b .feature__cta{ order:6; align-self:center; margin:22px 0 0; }
  .dot-list li{ margin-left:24px; }
  .dot-list li + li{ padding-top:5px; }
  .dot-list li::before{ left:-24px; }
  .feature__cta, .feature__cta--mobile{ height:40px; font-size:16px; padding:0 32px; }

  .feature--c{ padding:12px 0 27px; }
  .feature--c h2 .hl{ height:16px; }
  .feature--c p{ margin-top:25px; }
  .feature--c .feature__p2{ margin-top:18px; }
  .rail-list{ margin-top:27px; width:100%; }
  .feature--c .rail-list__item{ padding-left:20px; padding-right:25px; }
  .feature--c .rail-list__item + .rail-list__item{ margin-top:33px; }
  .feature--c .rail-list__item:nth-child(3){ margin-top:41px; }
  .rail-list__item::before{ width:6px; top:7px; bottom:3px; }
  .feature--c .feature__media{ padding-top:24px; display:flex; flex-direction:column; align-items:center; }
  .req-card{ width:320px; min-height:580px; padding:24px 21px 15px 19px; }
  .req-card h3{ margin:0; font-size:24px; line-height:28.8px; text-align:center; }
  .req-card__glow{ left:0; top:40px; width:320px; height:515px; }
  .feature--c .req-card p{ margin-top:10px; }
  .req-card__box{ margin:8px 0 0 -10px; width:300px; max-width:none; padding:10px 0 13px 10px; }
  .req-card__box .dot-list li{ margin-left:24px; }
  .feature--c .req-card .req-card__p3{ margin-top:21px; }
  .feature--c .req-card .req-card__p4{ margin-top:10px; }
  .feature__cta--mobile{ display:inline-flex !important; margin-top:17px; }

  /* sub-pages */
  .page-sub .site-header__inner{ padding-top:16px; height:56px; }
  .page-sub .hero__grid{ padding-top:19px; }
  .hero__title--2l .hl{ top:41px !important; }
  .hl-heading.hl-heading--2l-m .hl{ top:42px; }
  .page-om .sub-hero__title, .page-priv .priv-hero__title{ margin-top:14px; }

  .sub-hero, .page-om .sub-hero{ min-height:0; padding-bottom:100px; }
  .sub-hero__grid{ display:block; }
  .sub-hero__copy{ padding-top:19px; }
  .sub-hero__title{ margin:0; font-size:24px; line-height:28.8px; text-align:center; }
  .page-om .sub-hero__copy{ padding-top:0; }
  .sub-hero__title .hl{ top:13px; height:16px; width: var(--hl-w-m); left:50%; transform:translateX(-50%); }
  .contact-card{ margin-top:15px; min-height:568px !important; padding:40px 20px 20px; }
  .contact-card h3{ font-size:25px; line-height:30px; }
  .contact-card__hours{ margin-top:10px; width:246px; font-size:14px; line-height:28px; }
  .contact-form{ margin:19px 0 0; }
  .contact-form input, .contact-form textarea, .contact-form__submit{ width:280px; }

  .sub-grid{ display:block; }
  .sub-h2{ font-size:24px; line-height:28.8px; text-align:center; }
  .sub-h2 .hl{ top:14px; height:16px; width: var(--hl-w-m); left:50%; transform:translateX(-50%); }
  .sub-intro, .sub-text p{ font-size:14px; line-height:28px; }
  .sub-text p + p{ margin-top:28px; }

  .info-card{ min-height:580px; padding:26px 21px 15px 19px; }
  .info-card h3{ margin:0; font-size:25px; line-height:30px; }
  .info-card > p:first-of-type{ margin-top:9px; }
  .info-card__box{ margin:8px 0 0 -10px; width:300px; max-width:none; padding:10px 0 13px 10px; }
  .info-card__box .dot-list li{ margin-left:24px; }
  .info-card > .info-card__p3{ margin-top:21px; }
  .info-card > .info-card__p4{ margin-top:10px; }

  .cta-box{ width:auto !important; min-height:182px; padding:17px 25px 20px 20px; }
  .cta-box .btn{ margin-top:39px; width:280px; }

  .sub-section--faq{ padding:12px 0 14px; }
  .sub-section--faq .sub-intro{ margin-top:24px; }
  .rail-list--faq{ margin-top:12px; width:auto; }
  .rail-list--faq .rail-list__item{ padding:0 25px 0 20px; }
  .rail-list--faq .rail-list__item:nth-child(2){ margin-top:23px; }
  .rail-list--faq .rail-list__item:nth-child(3){ margin-top:22px; }
  .rail-list--faq .rail-list__item:nth-child(4){ margin-top:21px; }
  .rail-list--faq .rail-list__item:nth-child(5),
  .rail-list--faq .rail-list__item:nth-child(6),
  .rail-list--faq .rail-list__item:nth-child(7){ margin-top:18px; }
  .rail-list--faq .rail-list__item:nth-child(8){ margin-top:17px; }
  .rail-list--faq .rail-list__item:nth-child(9),
  .rail-list--faq .rail-list__item:nth-child(10){ margin-top:21px; }
  .rail-list--faq .rail-list__item:nth-child(11){ margin-top:26px; }
  .sub-section--faq .cta-box{ margin-top:25px; padding-top:23px; }
  .sub-section--faq .cta-box .btn{ margin-top:5px; }
  .sub-section--faq .info-card > .info-card__p3{ margin-top:14px; }
  .sub-section--faq .info-card{ margin-top:15px; padding-top:26px; }
  .sub-section--faq .info-card > p:first-of-type{ margin-top:9px; }

  .sub-section--om{ padding:35px 0 8px; }
  .sub-section--om .sub-text{ margin-top:24px; }
  .sub-section--om .cta-box{ margin-top:32px; }
  .sub-section--om .info-card{ margin-top:47px; padding-top:24px; }
  .sub-section--banks{ padding:31px 0 25px; }
  .sub-section--banks .sub-intro{ margin-top:26px; }
  .bank-list{ margin:25px 0 0 20px; }
  .bank-list li{ margin-left:24px; }

  .priv-hero{ min-height:0; padding:0 0 8px; text-align:center; }
  .priv-hero .wrap{ display:flex; flex-direction:column-reverse; }
  .priv-hero__title{ font-size:24px; line-height:28.8px; }
  .priv-hero__title .hl{ top:17px; height:16px; width: var(--hl-w-m); left:50%; transform:translateX(-50%); }
  .priv-hero__updated{ margin-top:9px; }
  .sub-section--priv{ padding:35px 0 26px; }
  .sub-grid--priv{ display:flex; flex-direction:column; }
  .sub-grid--priv > *{ width:100%; min-width:0; }
  .priv-block1{ margin-top:24px; }
  .priv-card{ margin-top:36px; padding-top:24px; }
  .priv-block2{ margin-top:20px; }
  .priv-cta{ margin-top:25px; }
  .priv-cta .cta-box{ padding:34px 22px 20px 23px; }
  .priv-cta .cta-box .btn{ margin:13px 0 0 -3px; }

  /* footer */
  .site-footer__inner{ display:block; min-height:583px; padding:47px 0 57px 30px; }
  .logo--footer{ font-size:32px; line-height:41.6px; }
  .site-footer__brand{ width:auto; }
  .site-footer__col{ padding-top:0; margin-top:46px; }
  .site-footer__col + .site-footer__col{ margin-top:33px; }
  .site-footer__col-lists{ margin-top:16px; }
  .site-footer__col ul{ width:135px; }
  .site-footer__col--single ul{ width:auto; display:grid; grid-template-rows:repeat(2,auto); grid-auto-flow:column; grid-auto-columns:135px; row-gap:11px; }
  .site-footer__col--single li + li{ margin-top:0; }
  .site-footer__col--split, .site-footer__col--single{ width:auto; }
  .site-footer__legal--mobile{ display:block !important; margin-top:38px; font-family: var(--font-alt); font-weight:400; font-size:9px; line-height:18px; }
  .site-footer__legal--mobile .site-footer__monedero{ margin-top:2px; }
}

/* Long AXO steps make the form card taller than the hero. Keep 56px of the
   hero's tinted background under the card so its white bottom edge never
   runs straight into the white partners section. No effect on step 1,
   where the card is shorter than the hero's 850px min-height. */
@media (min-width:768px){ .hero__form{ padding-bottom:56px; } }

/* Invisible reCAPTCHA: hide Google's floating badge and show the required
   notice under SEND instead (allowed by Google's terms). */
.grecaptcha-badge{ visibility:hidden; }
.contact-form__recaptcha{ font-size:11px; line-height:1.4; color:var(--text-muted); margin-top:8px; }
.contact-form__recaptcha a{ color:inherit; text-decoration:underline; }
