/* ============================================================
   fdiops.akontec.com — AKO-FDI-ISP-2026-05
   Design system: institutional investment report, editorial spine.
   Display: Newsreader. Text: Schibsted Grotesk. Figures: mono.
   ============================================================ */

:root{
  --ink:#04121F;
  --ink-2:#081F33;
  --ink-3:#0E3050;
  --blue:#17457F;

  --lime:#8DC63F;
  --lime-bright:#AEE05F;
  --lime-deep:#5F8F22;
  --lime-wash:#F1F8E4;

  --paper:#F7F9FC;
  --card:#FFFFFF;
  --rule:#CFDBE7;
  --hair:#E3EAF2;
  --body:#1F3346;
  --muted:#5F778E;
  --faint:#8FA4B8;

  --mono:"Geist Mono","IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --sans:"Schibsted Grotesk","Helvetica Neue",Arial,sans-serif;
  --display:Newsreader,Georgia,"Times New Roman",serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--paper);color:var(--body);
  font-family:var(--sans);font-size:17px;line-height:1.62;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
  margin:0;color:var(--ink);font-family:var(--display);
  font-weight:400;line-height:1.1;letter-spacing:-.012em;
  font-variation-settings:"opsz" 40;
}
h4{font-family:var(--sans);font-weight:600;letter-spacing:-.005em}
p{margin:0 0 .9em}
strong,b{font-weight:600}
a{color:var(--blue);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--lime-deep)}
img{max-width:100%;height:auto;display:block}

.num{font-family:var(--mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;letter-spacing:-.02em}
.serif{font-family:var(--display);font-weight:300}
.wrap{max-width:1240px;margin:0 auto;padding:0 32px}
section{padding:62px 0}
:focus-visible{outline:2px solid var(--lime-deep);outline-offset:3px}
.skip{position:absolute;left:-9999px}
.skip:focus{left:16px;top:12px;z-index:99;background:var(--lime);color:var(--ink);padding:8px 14px}
.cols-2 > *,.cols-3 > *,.hero .wrap > *,.calc .wrap > *,.apply .wrap > *,.paysplit > *{min-width:0}

/* ---------------------------------------------- masthead */
.topbar{position:sticky;top:0;z-index:70;background:var(--ink)}
.topbar .wrap{display:flex;align-items:center;gap:24px;height:66px}
.mark{display:flex;align-items:center;gap:10px;text-decoration:none}
.mark .wm{display:block}
.mark .wm b{color:#fff;font-size:21px;font-weight:700;letter-spacing:-.03em;display:block;line-height:1}
.mark .wm i{
  font-style:normal;color:var(--lime);font-size:9.5px;letter-spacing:.19em;text-transform:uppercase;
  display:block;line-height:1;margin-top:5px;opacity:.9;font-weight:500;
}
.topnav{margin-left:auto;display:flex;gap:4px;align-items:center}
.topnav a{color:#A8C0D6;text-decoration:none;font-size:14.5px;padding:8px 12px;position:relative}
.topnav a:hover{color:#fff}
.topnav a[aria-current="page"]{color:#fff}
.topnav a[aria-current="page"]::after{
  content:"";position:absolute;left:12px;right:12px;bottom:2px;height:2px;background:var(--lime);
}
.navtoggle{
  display:none;margin-left:auto;background:none;border:1px solid rgba(255,255,255,.28);
  color:#fff;padding:8px 14px;font:inherit;font-size:14px;cursor:pointer;border-radius:2px;
}

.btn{
  display:inline-block;background:var(--lime);color:var(--ink);font-weight:600;
  padding:12px 34px 12px 20px;text-decoration:none;font-size:14.5px;border:0;cursor:pointer;
  clip-path:polygon(0 0,calc(100% - 13px) 0,100% 50%,calc(100% - 13px) 100%,0 100%);
  font-family:inherit;letter-spacing:-.005em;transition:background .15s ease;
}
.btn:hover{background:var(--lime-bright);color:var(--ink)}
.btn-ghost{
  background:transparent;color:var(--lime);border:1px solid rgba(141,198,63,.55);clip-path:none;
  padding:11px 20px;font-weight:500;border-radius:2px;
}
.btn-ghost:hover{background:rgba(141,198,63,.1);color:var(--lime-bright);border-color:var(--lime)}

/* ---------------------------------------------- schedule tab strip */
.schedbar{background:var(--ink-2);border-top:1px solid rgba(255,255,255,.07);position:sticky;top:66px;z-index:65}
.schedbar .wrap{display:flex;overflow-x:auto;scrollbar-width:none}
.schedbar .wrap::-webkit-scrollbar{display:none}
.schedbar a{
  flex:0 0 auto;padding:12px 18px 12px 0;margin-right:18px;text-decoration:none;
  font-size:13px;color:#7B98B4;white-space:nowrap;position:relative;
}
.schedbar a b{font-family:var(--mono);color:var(--lime-deep);font-weight:400;margin-right:8px;font-size:11.5px}
.schedbar a:hover{color:#D5E3F0}
.schedbar a:hover b{color:var(--lime)}
.schedbar a[aria-current="page"]{color:#fff}
.schedbar a[aria-current="page"] b{color:var(--lime)}
.schedbar a[aria-current="page"]::after{
  content:"";position:absolute;left:0;right:18px;bottom:0;height:2px;background:var(--lime);
}

/* ---------------------------------------------- home hero */
.hero{
  background:
    radial-gradient(1100px 520px at 76% -8%,rgba(23,69,127,.62),transparent 64%),
    linear-gradient(168deg,var(--ink-2) 0%,var(--ink) 62%);
  color:#C6D8E8;padding:0;position:relative;isolation:isolate;overflow:hidden;
}
.hero::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:
    linear-gradient(rgba(141,198,63,.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(141,198,63,.06) 1px,transparent 1px);
  background-size:44px 44px;
  -webkit-mask-image:radial-gradient(110% 80% at 30% 10%,#000 25%,transparent 80%);
  mask-image:radial-gradient(110% 80% at 30% 10%,#000 25%,transparent 80%);
}
.hero .wrap{
  display:grid;grid-template-columns:1.06fr .94fr;gap:56px;
  padding-top:68px;padding-bottom:0;align-items:stretch;
}
.hero-copy{display:flex;flex-direction:column}
.hero-copy .hero-acts{margin-top:auto}
.eyebrow{display:flex;align-items:center;gap:14px;margin-bottom:30px;flex-wrap:wrap}
.eyebrow em{
  font-style:normal;background:var(--lime);color:var(--ink);font-weight:600;
  font-size:11.5px;letter-spacing:.03em;padding:5px 11px;border-radius:2px;
}
.eyebrow .ref{font-size:11.5px;color:#6B87A3;letter-spacing:.06em;font-family:var(--mono)}
.hero h1{
  color:#fff;font-size:clamp(38px,4.7vw,66px);font-weight:300;line-height:1.02;
  letter-spacing:-.03em;text-wrap:balance;font-variation-settings:"opsz" 60;
}
.hero h1 .serif{
  display:block;font-style:italic;font-weight:300;color:var(--lime);
  font-size:clamp(40px,5.1vw,72px);line-height:1;margin-top:10px;letter-spacing:-.03em;
}
.lede{font-size:19.5px;line-height:1.56;color:#A9C2D8;max-width:34em;margin:26px 0 30px}
.hero-acts{display:flex;gap:14px;flex-wrap:wrap;align-items:center;padding-bottom:44px}

.hero-art{position:relative;margin-bottom:-1px;align-self:end}
.hero-art img{width:100%;border:1px solid rgba(141,198,63,.32);box-shadow:0 30px 70px -30px rgba(0,0,0,.75)}
.hero-cap{
  font-size:11.5px;color:#6B87A3;padding:11px 0 0;display:flex;justify-content:space-between;
  gap:18px;letter-spacing:.03em;font-family:var(--mono);
}
.hero-cap span:last-child{white-space:nowrap;color:var(--lime-deep)}
.pillars{display:flex;border-top:1px solid rgba(255,255,255,.12);margin-top:6px}
.pillars div{flex:1;padding:15px 0;font-size:13px;color:#7B98B4;border-right:1px solid rgba(255,255,255,.09)}
.pillars div:last-child{border-right:0}
.pillars b{color:var(--lime);font-weight:600;display:block;font-size:14px;margin-bottom:1px}

/* deal ticker */
.strip{background:var(--ink);border-top:1px solid rgba(141,198,63,.22)}
.strip .wrap{display:grid;grid-template-columns:repeat(5,1fr)}
.strip .cell{padding:26px 24px 26px 0;border-right:1px solid rgba(255,255,255,.07)}
.strip .cell:last-child{border-right:0}
.strip .k{
  font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:#617E9B;
  margin-bottom:10px;font-weight:500;
}
.strip .v{color:#fff;font-size:29px;font-weight:400;line-height:1;font-family:var(--mono);letter-spacing:-.035em}
.strip .v small{
  font-size:12.5px;color:#7B98B4;font-weight:400;display:block;margin-top:9px;
  font-family:var(--sans);letter-spacing:0;line-height:1.4;
}

/* ---------------------------------------------- inner page head */
.pagehead{
  background:
    radial-gradient(900px 420px at 80% -20%,rgba(23,69,127,.55),transparent 62%),
    linear-gradient(168deg,var(--ink-2) 0%,var(--ink) 70%);
  color:#A9C2D8;padding:52px 0 52px;position:relative;isolation:isolate;overflow:hidden;
}
.pagehead::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:
    linear-gradient(rgba(141,198,63,.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(141,198,63,.06) 1px,transparent 1px);
  background-size:44px 44px;
  -webkit-mask-image:radial-gradient(110% 90% at 22% 0%,#000 20%,transparent 76%);
  mask-image:radial-gradient(110% 90% at 22% 0%,#000 20%,transparent 76%);
}
.pagehead .wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:56px;align-items:end}
.pagehead h1{
  color:#fff;font-size:clamp(34px,4.1vw,54px);font-weight:300;letter-spacing:-.03em;
  line-height:1.03;font-variation-settings:"opsz" 54;
}
.pagehead h1 i{font-style:italic;font-weight:300;color:var(--lime)}
.pagehead p{color:#95B0C9;font-size:18px;margin:20px 0 0;max-width:50ch;line-height:1.55}
.crumbs{font-size:11.5px;color:#617E9B;margin-bottom:22px;letter-spacing:.06em;font-family:var(--mono)}
.crumbs a{color:#617E9B;text-decoration:none}
.crumbs a:hover{color:var(--lime)}
.headfacts{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.1)}
.headfacts div{background:rgba(4,18,31,.72);padding:17px 20px;display:flex;flex-direction:column;justify-content:flex-end}
.headfacts .k{
  font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#617E9B;
  margin-bottom:7px;font-weight:500;
}
.headfacts .v{color:#fff;font-size:clamp(16px,1.45vw,20px);font-weight:400;font-family:var(--mono);letter-spacing:-.035em;line-height:1.2}

/* ---------------------------------------------- section furniture */
.head{display:grid;grid-template-columns:96px 1fr;gap:30px;align-items:start;margin-bottom:30px}
.head .tag{font-family:var(--mono);font-size:10.5px;color:var(--faint);letter-spacing:.11em;line-height:1.3;padding-top:4px}
.head .tag::before{
  content:attr(data-ghost);display:block;
  font-family:var(--display);font-weight:200;font-size:64px;line-height:.72;
  color:var(--lime);letter-spacing:-.05em;margin-bottom:12px;font-variation-settings:"opsz" 72;
}
.head h2{font-size:clamp(28px,3vw,40px);font-weight:300;letter-spacing:-.025em;line-height:1.06}
.head h2 i{font-style:italic;font-weight:300;color:var(--lime-deep)}
.sub{color:var(--muted);max-width:68ch;margin-top:14px;font-size:17px}
h3{font-size:21px;margin-bottom:12px;font-weight:400}
.cols-2{display:grid;grid-template-columns:1.28fr .72fr;gap:56px}
.cols-2.even{grid-template-columns:1fr 1fr;gap:48px}
.cols-3{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}

.rail{
  background:var(--card);border-top:2px solid var(--ink);
  padding:26px 26px 10px;box-shadow:0 1px 0 var(--hair),0 18px 40px -34px rgba(9,32,54,.5);
}
.rail h4{font-size:15px;margin-bottom:12px;letter-spacing:-.01em}
.rail ul{margin:0 0 22px;padding:0;list-style:none;font-size:14.6px;color:var(--muted);line-height:1.55}
.rail li{margin-bottom:11px;padding-left:16px;position:relative}
.rail li::before{content:"";position:absolute;left:0;top:10px;width:7px;height:1px;background:var(--lime-deep)}
.rail b{color:var(--ink);font-weight:600}
.rail p{font-size:14.6px}

.quote{
  border-left:2px solid var(--lime);padding:2px 0 2px 26px;margin:34px 0;
  font-family:var(--display);font-weight:300;font-style:italic;
  font-size:27px;line-height:1.32;color:var(--ink);letter-spacing:-.015em;
}
.note{font-size:14px;color:var(--faint);margin-top:16px;line-height:1.55}
.note a{color:var(--blue)}

ul.tick{list-style:none;padding:0;margin:0}
ul.tick li{padding-left:26px;position:relative;margin-bottom:13px;font-size:15.6px;color:var(--muted);line-height:1.55}
ul.tick li::before{content:"";position:absolute;left:0;top:10px;width:13px;height:2px;background:var(--lime)}
ul.tick b{color:var(--ink);font-weight:600}

/* ---------------------------------------------- tables */
table{width:100%;border-collapse:collapse;font-size:15.2px;background:var(--card)}
caption{
  text-align:left;font-size:11px;color:var(--muted);padding:0 0 12px;
  letter-spacing:.14em;text-transform:uppercase;font-weight:500;
}
th,td{padding:15px 16px;border-bottom:1px solid var(--hair);vertical-align:top;text-align:left}
thead th{
  background:transparent;color:var(--ink);font-weight:600;font-size:11.5px;
  letter-spacing:.13em;text-transform:uppercase;border-bottom:2px solid var(--ink);
  padding-bottom:11px;font-family:var(--sans);
}
thead th span{letter-spacing:0;text-transform:none;font-weight:400}
tbody tr:hover{background:var(--lime-wash)}
td.r,th.r{
  text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums;
  white-space:nowrap;letter-spacing:-.03em;
}
td.num{font-family:var(--mono)}
tfoot td{
  background:var(--ink);color:#fff;font-weight:500;border-bottom:0;
  padding-top:16px;padding-bottom:16px;font-size:14.5px;
}
tfoot td.r{color:var(--lime-bright)}
.tbl-scroll{max-width:100%}

/* ---------------------------------------------- scope grid */
.scope{display:grid;grid-template-columns:repeat(2,1fr);border-top:2px solid var(--ink);background:var(--card)}
.scope article{
  padding:26px 30px;border-bottom:1px solid var(--hair);border-right:1px solid var(--hair);
  transition:background .15s ease;
}
.scope article:hover{background:var(--lime-wash)}
.scope article:nth-child(2n){border-right:0}
.scope h4{font-size:17.5px;margin-bottom:8px;letter-spacing:-.012em}
.scope p{font-size:14.8px;color:var(--muted);margin:0;line-height:1.55}
.scope .wk{
  font-family:var(--mono);font-size:10.5px;color:var(--lime-deep);
  display:block;margin-bottom:9px;letter-spacing:.09em;
}

/* ---------------------------------------------- calculator */
.calc{
  background:linear-gradient(160deg,var(--ink-2),var(--ink) 65%);
  color:#B9CFE2;padding:0;overflow:hidden;position:relative;isolation:isolate;
}
.calc::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:
    linear-gradient(rgba(141,198,63,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(141,198,63,.055) 1px,transparent 1px);
  background-size:44px 44px;
  -webkit-mask-image:radial-gradient(100% 90% at 25% 0%,#000 20%,transparent 78%);
  mask-image:radial-gradient(100% 90% at 25% 0%,#000 20%,transparent 78%);
}
.calc .wrap{display:grid;grid-template-columns:.9fr 1.1fr;padding:0}
.calc-in{padding:58px 56px 58px 32px;border-right:1px solid rgba(255,255,255,.1);position:relative}
.calc-out{padding:58px 32px 58px 56px;position:relative}
.calc-out::before{
  content:"";position:absolute;inset:0 -100vw 0 0;background:rgba(255,255,255,.028);
  pointer-events:none;border-left:1px solid rgba(255,255,255,.06);
}
.calc-out > *{position:relative}
.calc h2{color:#fff;font-size:34px;margin-bottom:12px;font-weight:300;letter-spacing:-.025em}
.calc p{color:#88A5C0;font-size:15.5px}
.calc .note{color:#5E7B98;font-size:12.5px;line-height:1.6;margin-top:22px}
.field{margin-top:34px}
.field label{display:flex;justify-content:space-between;align-items:baseline;font-size:14px;color:#A9C2D8;margin-bottom:12px}
.field label b{color:var(--lime);font-size:22px;font-weight:400;font-family:var(--mono);letter-spacing:-.03em}
input[type=range]{width:100%;accent-color:var(--lime);height:24px;cursor:pointer}
.out-row{
  display:flex;justify-content:space-between;gap:16px;padding:14px 0;
  border-bottom:1px solid rgba(255,255,255,.09);font-size:15.2px;align-items:baseline;
}
.out-row span{color:#88A5C0}
.out-row b{color:#fff;font-family:var(--mono);font-weight:400;font-size:16.5px;letter-spacing:-.03em}
.out-row.big{border-bottom:0;padding-top:26px;align-items:center}
.out-row.big span{color:#fff;font-size:17px;font-weight:600;font-family:var(--sans)}
.out-row.big b{color:var(--lime);font-size:34px;font-weight:400;letter-spacing:-.04em}

/* ---------------------------------------------- cycle + steps */
.cycle{display:grid;grid-template-columns:repeat(5,1fr);border-top:2px solid var(--ink);margin-top:8px}
.cycle div{padding:26px 26px 26px 0;border-right:1px solid var(--hair)}
.cycle div:last-child{border-right:0;padding-right:0}
.cycle .d{font-family:var(--mono);color:var(--ink);font-size:34px;font-weight:400;line-height:1;letter-spacing:-.05em}
.cycle .d em{
  font-style:normal;color:var(--lime-deep);font-size:10.5px;display:block;letter-spacing:.14em;
  text-transform:uppercase;margin-top:9px;font-family:var(--sans);font-weight:500;
}
.cycle p{font-size:14.4px;color:var(--muted);margin:14px 0 0;line-height:1.55}

.steps{display:grid;grid-template-columns:repeat(6,1fr);border-top:2px solid var(--ink)}
.steps div{padding:24px 20px 24px 0;border-right:1px solid var(--hair)}
.steps div:last-child{border-right:0;padding-right:0}
.steps b{
  font-family:var(--mono);color:var(--lime-deep);font-size:11px;display:block;
  margin-bottom:12px;letter-spacing:.11em;text-transform:uppercase;
}
.steps h4{font-size:16px;margin-bottom:7px;letter-spacing:-.012em}
.steps p{font-size:13.8px;color:var(--muted);margin:0;line-height:1.5}

/* ---------------------------------------------- pay split + totals */
.paysplit{display:grid;grid-template-columns:1fr 1fr;background:var(--card);border-top:2px solid var(--ink)}
.paysplit > div{padding:34px}
.paysplit .fixed{border-right:1px solid var(--hair)}
.paysplit .amt{
  font-family:var(--mono);font-size:46px;color:var(--ink);font-weight:400;
  line-height:1;letter-spacing:-.05em;
}
.paysplit .amt .pre{font-family:var(--sans);font-size:20px;font-weight:400;color:var(--faint);letter-spacing:0}
.paysplit .amt small{
  font-size:13.5px;color:var(--muted);font-family:var(--sans);display:block;
  margin-top:14px;font-weight:400;letter-spacing:0;line-height:1.5;
}
.paysplit h4{margin-bottom:18px;font-size:11.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--lime-deep)}
.paysplit ul{padding:0;list-style:none;font-size:14.6px;color:var(--muted);margin:24px 0 0;line-height:1.55}
.paysplit li{margin-bottom:12px;padding-left:16px;position:relative}
.paysplit li::before{content:"";position:absolute;left:0;top:10px;width:7px;height:1px;background:var(--lime-deep)}

.totals{
  margin-top:44px;background:var(--ink);color:#B9CFE2;padding:0;
  display:grid;grid-template-columns:repeat(3,1fr);position:relative;isolation:isolate;overflow:hidden;
}
.totals::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background-image:
    linear-gradient(rgba(141,198,63,.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(141,198,63,.06) 1px,transparent 1px);
  background-size:44px 44px;
  -webkit-mask-image:radial-gradient(90% 120% at 15% 0%,#000 25%,transparent 80%);
  mask-image:radial-gradient(90% 120% at 15% 0%,#000 25%,transparent 80%);
}
.totals > div{padding:32px 34px;border-right:1px solid rgba(255,255,255,.08)}
.totals > div:last-child{border-right:0}
.totals .tk{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:#617E9B;margin-bottom:12px;font-weight:500}
.totals .tv{color:#fff;font-size:34px;font-weight:400;line-height:1.05;font-family:var(--mono);letter-spacing:-.045em}
.totals .tv.lime{color:var(--lime)}

/* ---------------------------------------------- faq */
details{border-bottom:1px solid var(--hair);padding:20px 0}
summary{
  cursor:pointer;color:var(--ink);font-size:18px;list-style:none;
  display:flex;justify-content:space-between;gap:20px;letter-spacing:-.012em;
  font-family:var(--display);font-weight:400;
}
summary::-webkit-details-marker{display:none}
summary::after{
  content:"";flex:0 0 10px;height:10px;margin-top:9px;
  border-right:1.5px solid var(--lime-deep);border-bottom:1.5px solid var(--lime-deep);
  transform:rotate(45deg);transition:transform .18s ease;
}
details[open] summary::after{transform:rotate(-135deg)}
details[open] summary{color:var(--lime-deep)}
details p{margin:14px 0 0;color:var(--muted);font-size:15.4px;max-width:72ch;line-height:1.6}

/* ---------------------------------------------- numbered next steps */
.next{counter-reset:n;list-style:none;padding:0;margin:30px 0 32px}
.next li{counter-increment:n;position:relative;padding-left:50px;margin-bottom:22px;font-size:15.2px;color:var(--muted);line-height:1.58}
.next li::before{
  content:counter(n,decimal-leading-zero);position:absolute;left:0;top:-2px;
  font-family:var(--mono);font-size:13px;color:var(--lime-deep);
  border-bottom:2px solid var(--lime);padding-bottom:3px;letter-spacing:-.02em;
}
.next b{color:var(--ink);font-weight:600}

/* ---------------------------------------------- apply */
.apply{background:var(--paper)}
.apply .wrap{display:grid;grid-template-columns:.82fr 1.18fr;gap:60px}
form{display:grid;grid-template-columns:1fr 1fr;gap:20px;background:var(--card);padding:34px;border-top:2px solid var(--ink)}
form .full{grid-column:1/-1}
form h3{font-size:11.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--lime-deep);font-family:var(--sans);font-weight:600}
label.f{display:block;font-size:12.5px;color:var(--ink);font-weight:600;margin-bottom:7px}
input[type=text],input[type=email],input[type=tel],select,textarea{
  width:100%;padding:12px 14px;border:1px solid var(--rule);background:#fff;
  font-family:inherit;font-size:15px;color:var(--body);border-radius:2px;
}
input:focus,select:focus,textarea:focus{border-color:var(--lime-deep)}
textarea{min-height:100px;resize:vertical}
.apply-art img{height:290px;object-fit:cover;object-position:50% 12%;border:1px solid var(--rule);width:100%}
.check{display:flex;gap:11px;align-items:flex-start;font-size:14px;color:var(--muted);line-height:1.5}
.check input{margin-top:5px;accent-color:var(--lime-deep)}

/* ---------------------------------------------- pager */
.pager{background:var(--card);border-top:1px solid var(--rule)}
.pager .wrap{display:grid;grid-template-columns:1fr 1fr;padding-top:0;padding-bottom:0}
.pager a{display:block;padding:34px 0;text-decoration:none;color:var(--ink)}
.pager a.prev{border-right:1px solid var(--hair);padding-right:32px}
.pager a.next-p{padding-left:32px;text-align:right}
.pager em{
  font-style:normal;display:block;font-family:var(--mono);font-size:10.5px;
  color:var(--lime-deep);margin-bottom:9px;letter-spacing:.14em;text-transform:uppercase;
}
.pager b{font-size:22px;font-weight:400;font-family:var(--display);letter-spacing:-.02em}
.pager a:hover b{color:var(--lime-deep)}

/* ---------------------------------------------- closing CTA */
.cta{
  background:linear-gradient(150deg,var(--ink-3) 0%,var(--ink) 68%);
  color:#B9CFE2;position:relative;isolation:isolate;overflow:hidden;padding:64px 0;
}
.cta::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background-image:
    linear-gradient(rgba(141,198,63,.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(141,198,63,.06) 1px,transparent 1px);
  background-size:44px 44px;
  -webkit-mask-image:radial-gradient(100% 100% at 80% 0%,#000 20%,transparent 78%);
  mask-image:radial-gradient(100% 100% at 80% 0%,#000 20%,transparent 78%);
}
.cta .wrap{display:grid;grid-template-columns:1.35fr .65fr;gap:48px;align-items:center}
.cta h2{color:#fff;font-size:clamp(26px,2.7vw,36px);font-weight:300;letter-spacing:-.025em}
.cta p{color:#95B0C9;margin:16px 0 0;max-width:54ch;font-size:16.5px}
.cta .acts{display:flex;gap:14px;flex-wrap:wrap;justify-content:flex-end}

/* ---------------------------------------------- prose pages */
.prose{max-width:74ch}
.prose h2{font-size:26px;margin:42px 0 12px;font-weight:400}
.prose h3{font-size:19px;margin:26px 0 8px}
.prose ul{padding-left:0;list-style:none;color:var(--muted)}
.prose li{margin-bottom:11px;padding-left:22px;position:relative}
.prose li::before{content:"";position:absolute;left:0;top:12px;width:11px;height:1px;background:var(--lime-deep)}
.prose p{color:var(--muted);font-size:16.5px}

/* ---------------------------------------------- footer */
footer{background:var(--ink);color:#7B98B4;padding:64px 0 30px;font-size:14.5px;position:relative;isolation:isolate;overflow:hidden}
footer::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background-image:
    linear-gradient(rgba(141,198,63,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(141,198,63,.05) 1px,transparent 1px);
  background-size:44px 44px;
  -webkit-mask-image:radial-gradient(80% 120% at 10% 0%,#000 20%,transparent 75%);
  mask-image:radial-gradient(80% 120% at 10% 0%,#000 20%,transparent 75%);
}
footer .wrap{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:44px}
footer h4{color:#fff;font-size:10.5px;margin-bottom:18px;letter-spacing:.16em;text-transform:uppercase;font-weight:600}
footer a{color:#7B98B4;text-decoration:none;display:block;margin-bottom:10px;font-size:14px}
footer a:hover{color:var(--lime)}
footer p{font-size:14px;line-height:1.6}
.legal{border-top:1px solid rgba(255,255,255,.1);margin-top:44px;padding-top:22px;font-size:11.5px;color:#4F6B87;line-height:1.7}

/* ---------------------------------------------- responsive */
@media (max-width:1080px){
  .head{grid-template-columns:86px 1fr;gap:24px}
  .head .tag::before{font-size:62px}
}
@media (max-width:960px){
  section{padding:48px 0}
  .hero .wrap,.cols-2,.cols-2.even,.calc .wrap,.apply .wrap,.pagehead .wrap,.cta .wrap{grid-template-columns:1fr;gap:34px}
  .hero .wrap{padding-top:52px}
  .calc-in{border-right:0;border-bottom:1px solid rgba(255,255,255,.1);padding:44px 32px}
  .calc-out{padding:44px 32px}
  .calc-out::before{inset:0;border-left:0}
  .strip .wrap{grid-template-columns:1fr 1fr}
  .strip .cell{border-right:0;border-bottom:1px solid rgba(255,255,255,.07);padding:20px 0}
  .cols-3,.scope,.cycle,.steps,.paysplit,footer .wrap,.totals{grid-template-columns:1fr}
  .scope article,.scope article:nth-child(2n){padding:22px 0;border-right:0}
  .cycle div,.steps div{border-right:0;border-bottom:1px solid var(--hair);padding-right:0}
  .paysplit .fixed{border-right:0;border-bottom:1px solid var(--hair)}
  .totals > div{border-right:0;border-bottom:1px solid rgba(255,255,255,.08)}
  .cta .acts{justify-content:flex-start}
  form{grid-template-columns:1fr;padding:26px}
  .head{grid-template-columns:1fr;gap:6px;margin-bottom:30px}
  .head .tag{padding-top:0}
  .head .tag::before{font-size:56px;margin-bottom:6px}
  .wrap > *,.cols-2 > *,.cols-3 > *{min-width:0}
  .tbl-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .tbl-scroll table{min-width:560px}
  .tbl-scroll::after{
    content:"scroll for the full table";display:block;font-size:11px;color:var(--faint);
    padding-top:9px;letter-spacing:.1em;text-transform:uppercase;
  }
  .navtoggle{display:block}
  .schedbar{position:static}
  .topnav{
    display:none;position:absolute;top:66px;left:0;right:0;background:var(--ink-2);
    flex-direction:column;align-items:stretch;gap:0;padding:10px 32px 22px;
    border-bottom:1px solid rgba(141,198,63,.3);
  }
  .topnav.open{display:flex}
  .topnav a{padding:13px 0;border-bottom:1px solid rgba(255,255,255,.07);font-size:16px}
  .topnav a[aria-current="page"]::after{left:0;right:0;bottom:-1px}
  .topnav .btn{margin-top:16px;text-align:center;border-bottom:0}
  .pagehead .wrap{align-items:start}
}
@media (max-width:560px){
  body{font-size:16.5px}
  .wrap{padding:0 22px}
  .topbar .mark .wm i{display:none}
  .pillars{flex-direction:column}
  .pillars div{border-right:0;border-bottom:1px solid rgba(255,255,255,.09);padding:12px 0}
  .pillars div:last-child{border-bottom:0}
  .hero-cap{flex-direction:column;gap:4px}
  .strip .wrap,.headfacts{grid-template-columns:1fr}
  .paysplit .amt{font-size:36px}
  .paysplit > div{padding:26px}
  .pager .wrap{grid-template-columns:1fr}
  .pager a.prev{border-right:0;border-bottom:1px solid var(--hair);padding-right:0;padding-bottom:26px}
  .pager a.next-p{padding-left:0;text-align:left}
  .calc-in,.calc-out{padding:36px 22px}
  .quote{font-size:23px;padding-left:20px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
@media print{
  .topbar,.schedbar,.pager,.cta,.navtoggle{display:none}
  body{font-size:10.5pt;background:#fff}
  .pagehead,.hero,.totals,.calc,footer{background:#fff!important;color:#000!important}
  a{color:inherit;text-decoration:none}
}
