/* Home page. Builds on site.css tokens and calc.css components (tiles, faq, trust). */

/* Hero: headline on the left, a paper payslip you can type into on the right */
.h-hero{background:var(--navy);color:#fff;overflow:hidden}
.h-hero .wrap{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:64px;align-items:center;padding-top:72px;padding-bottom:96px}
.season{display:inline-block;margin:0 0 22px;font:500 14.5px/1.4 var(--display);color:#FFD9B3;border-left:3px solid var(--orange);padding:2px 0 2px 12px}
.h-hero h1{font-size:clamp(38px,5vw,64px);line-height:1.02;font-weight:700;letter-spacing:-0.04em;max-width:13ch}
.h-hero .lede{font-size:clamp(17px,1.5vw,19px);color:#C9D9E8;margin:22px 0 30px;max-width:46ch;line-height:1.55}
.h-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:30px}
.h-quiet{color:#fff;box-shadow:inset 0 0 0 1.5px #5B87B0}
.h-quiet:hover{box-shadow:inset 0 0 0 1.5px #fff}

/* The payslip: paper card, perforated top edge, figures set like a real slip */
.slip{position:relative;background:#FBFCFD;color:var(--navy);border-radius:4px 4px var(--r-l) var(--r-l);padding:30px 30px 26px;box-shadow:0 30px 60px -24px rgba(0,0,0,.55);transform:rotate(-1.2deg)}
.slip::before{content:"";position:absolute;left:0;right:0;top:-8px;height:16px;background:radial-gradient(circle at 8px 0,transparent 7px,#FBFCFD 7.5px) 0 0/16px 16px repeat-x}
.slip-head{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1.5px dashed #C9D2DC;padding-bottom:14px;margin-bottom:20px}
.slip-head h2{font:700 22px/1.2 var(--display);letter-spacing:-0.02em}
.slip-year{font:500 14px var(--display);color:var(--steel)}
.slip-label{display:block;font:500 15px/1.3 var(--display);margin-bottom:8px}
.slip-money input{font-size:26px;padding:16px 14px 16px 6px}
.slip-rows{margin:20px 0 0;border-top:1.5px dashed #C9D2DC}
.slip-rows div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.slip-rows dt{font-size:15.5px;color:var(--steel)}
.slip-rows dd{margin:0;font:600 18px var(--display);letter-spacing:-0.01em}
.slip-take dt{color:var(--navy);font-weight:600}
.slip-take dd{font-size:28px;font-weight:700;color:#017A42}
.slip-note{font-size:14px;color:var(--mute);margin:14px 0 0}
.slip-link{display:inline-block;margin-top:14px;font:500 15px var(--display);color:var(--blue)}
.slip.has-result .slip-note{display:none}

/* Situations: a plain two-column list, not a card wall */
.h-situations{padding:96px 0 72px}
.h-situations h2,.h-calcs h2,.h-trust h2,.h-how h2{font-size:clamp(28px,3vw,38px);line-height:1.12;font-weight:700;letter-spacing:-0.025em;max-width:22ch}
.sit-list{list-style:none;margin:36px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px}
.sit-list li{border-top:1px solid var(--line)}
.sit-list li:nth-last-child(-n+2){border-bottom:1px solid var(--line)}
.sit-list a,.sit-list button{display:flex;gap:16px;align-items:center;width:100%;padding:18px 4px;text-decoration:none;color:var(--navy);background:none;border:0;font:inherit;text-align:left;cursor:pointer}
.sit-list img{width:48px;height:48px;flex:none}
.sit-list span{font-size:15.5px;color:var(--mute);line-height:1.4}
.sit-list b{display:block;font:600 17.5px/1.3 var(--display);color:var(--navy);letter-spacing:-0.01em;margin-bottom:2px}
.sit-list a:hover b,.sit-list button:hover b{color:var(--blue)}
.sit-list a:focus-visible,.sit-list button:focus-visible{outline:3px solid var(--blue);outline-offset:2px}

/* How it works: a real sequence, so numbered */
.h-how{background:var(--mist);padding:96px 0}
.h-how .wrap{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:72px;align-items:center}
.how-photo img{width:100%;height:auto;border-radius:var(--r-l);display:block;aspect-ratio:4/4.4;object-fit:cover}
.how-steps{list-style:none;counter-reset:step;margin:30px 0 34px;padding:0;display:grid;gap:22px}
.how-steps li{counter-increment:step;position:relative;padding-left:56px;font-size:16.5px;line-height:1.5;color:var(--steel)}
.how-steps li::before{content:counter(step);position:absolute;left:0;top:0;width:38px;height:38px;border-radius:50%;background:var(--navy);color:#fff;font:600 16px/38px var(--display);text-align:center}
.how-steps b{display:block;font:600 18px/1.3 var(--display);color:var(--navy);margin-bottom:2px}

/* Calculators with search */
.h-calcs{padding:96px 0 72px}
.calc-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:28px}
.calc-search{display:flex;align-items:center;gap:10px;border:1.5px solid var(--line);border-radius:999px;padding:0 16px;min-width:min(100%,340px);background:#fff}
.calc-search:focus-within{border-color:var(--blue);box-shadow:0 0 0 4px rgba(1,120,217,.14)}
.calc-search svg{width:20px;height:20px;color:var(--steel);flex:none}
.calc-search input{border:0;outline:0;background:transparent;font:500 16px var(--body);padding:13px 0;width:100%;color:var(--navy)}
.calc-empty{color:var(--mute);margin:20px 0 0}
.calc-all{margin:22px 0 0;font:500 16px var(--display)}
.calc-all a,.calc-empty a{color:var(--blue)}

/* Proof, not praise */
.h-trust{padding:24px 0 96px}
.proof{list-style:none;margin:32px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.proof li{font-size:16px;line-height:1.55;color:var(--steel);border-top:3px solid var(--navy);padding-top:18px}
.proof b{display:block;font:600 18px/1.3 var(--display);color:var(--navy);margin-bottom:6px}
.proof a{color:var(--blue);font-weight:500}
.link-btn{background:none;border:0;padding:0;font:inherit;color:var(--blue);text-decoration:underline;cursor:pointer}

@media (max-width:960px){
  .h-hero .wrap{grid-template-columns:minmax(0,1fr);gap:48px;padding-top:48px;padding-bottom:72px}
  .slip{transform:none}
  .h-how .wrap{grid-template-columns:minmax(0,1fr);gap:40px}
  .how-photo{max-width:420px}
  .proof{grid-template-columns:minmax(0,1fr);gap:26px}
}
@media (max-width:640px){
  .h-hero .wrap{padding-top:32px;padding-bottom:56px}
  .h-hero h1{font-size:36px}
  .slip{padding:24px 18px 20px}
  .sit-list{grid-template-columns:minmax(0,1fr)}
  .sit-list li:nth-last-child(2){border-bottom:0}
  .h-situations,.h-calcs,.h-how{padding:64px 0}
  .h-trust{padding:8px 0 64px}
  .calc-search{min-width:100%}
}
@media (prefers-reduced-motion:reduce){ .slip{transform:none} }
body.home .strip:not(.cms){display:none} /* the hero carries the seasonal message; CMS banners choose their own pages */
@media (min-width:961px){ .slip{margin-right:10px} } /* keeps the tilted corner inside the page grid */
@media (max-width:960px){
  /* On tablets and phones, the quick check comes straight after the headline */
  .h-hero .wrap{gap:0}
  .h-hero-text{display:contents}
  .h-hero .wrap > *, .h-hero-text > *{grid-area:auto;grid-column:1 / -1} /* ignore calc.css hero grid areas */
  .season{order:1;justify-self:start} .h-hero h1{order:2} .h-hero .lede{order:3}
  .slip{order:4;margin:30px 0 32px}
  .h-actions{order:5} .h-hero .trust{order:6}
}
