/* Solutions-Apps family system – shared by every brand site.
   Brand colors come from :root variables written by family.py (--accent, --accent-ink, --tint, --on-accent, --hero-bg, --hero-fg, --hero-muted). */
@font-face{font-family:"Ubuntu";font-weight:500;font-display:swap;src:url(fonts/ubuntu-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Ubuntu";font-weight:500;font-display:swap;src:url(fonts/ubuntu-latin-ext-500-normal.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Ubuntu";font-weight:700;font-display:swap;src:url(fonts/ubuntu-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Ubuntu";font-weight:700;font-display:swap;src:url(fonts/ubuntu-latin-ext-700-normal.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Source Sans 3";font-weight:200 900;font-display:swap;src:url(fonts/source-sans-3-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Source Sans 3";font-weight:200 900;font-display:swap;src:url(fonts/source-sans-3-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --ink:#0d1b2a; --navy:#00264a; --muted:#4f5f70; --line:#dde5ee; --bg:#f6f8fb; --paper:#fff;
  --head:"Ubuntu","Source Sans 3",system-ui,sans-serif;
  --body:"Source Sans 3",system-ui,-apple-system,"Segoe UI",sans-serif;
  --r:16px; --wrap:1200px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.125rem/1.6 var(--body)}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent-ink)}a:hover{color:var(--navy)}
h1,h2,h3{font-family:var(--head);font-weight:700;line-height:1.1;color:var(--navy);margin:0}
h1{font-size:clamp(2.2rem,5vw,3.5rem)}
h2{font-size:clamp(1.8rem,3.4vw,2.4rem)}
h3{font-size:1.3rem}
p{margin:0}
.skip{position:absolute;left:-999px;top:0;background:var(--navy);color:#fff;padding:.6rem 1rem;z-index:10}
.skip:focus{left:1rem}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:24px}
.narrow{max-width:820px}
.kicker{display:block;font-size:.8rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-ink)}
.lead{font-size:1.25rem;color:var(--muted)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 1.5rem;border-radius:999px;background:var(--accent);color:var(--on-accent);font-weight:600;text-decoration:none;border:2px solid var(--accent)}
.btn:hover{filter:brightness(.92);color:var(--on-accent)}
.top .btn,.hero .btn:not(.ghost){background:var(--hero-btn);color:var(--hero-btn-fg);border-color:var(--hero-btn)}
.btn.ghost{background:transparent;color:inherit;border-color:currentColor}
.btn.ghost:hover{filter:none;opacity:.8}
.btns{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}

/* header */
.top{background:var(--hero-bg);color:var(--hero-fg);border-bottom:1px solid var(--line-top,var(--line))}
.top .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 1.5rem;padding-block:1rem}
.lockup{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:inherit}
.lockup svg{flex:none}
.lockup b{display:block;font-family:var(--head);font-weight:700;font-size:1.25rem;line-height:1.1;color:var(--hero-fg)}
.lockup small{display:block;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--hero-muted)}
.nav{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.4rem;font-weight:600;font-size:1rem}
.nav a{color:var(--hero-fg);text-decoration:none}
.nav a:hover{text-decoration:underline}
.nav .lang{border:1px solid currentColor;border-radius:999px;padding:.2rem .8rem;font-size:.9rem}
.nav .btn{min-height:44px;padding:0 1.2rem}

/* hero */
.hero{background:var(--hero-bg);color:var(--hero-fg)}
.hero .wrap{display:flex;flex-wrap:wrap;gap:3rem;align-items:center;padding-block:5rem}
.hero .txt{flex:1 1 460px;display:grid;gap:1.25rem}
.hero h1{color:var(--hero-fg)}
.hero .lead{color:var(--hero-muted)}
.hero .kicker{color:var(--hero-kicker,var(--accent-ink))}
.hero figure{flex:1 1 440px;min-width:0;margin:0}
.hero figure img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:18px}
.price{font-size:1.15rem}
.price strong{font-family:var(--head)}

/* facts */
.facts{background:var(--navy);color:#fff}
.facts .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;padding-block:2rem}
.facts b{display:block;font-family:var(--head);font-size:2.1rem;line-height:1.1;color:var(--fact,#fff)}
.facts span{font-size:.95rem;color:#c9d6e4}

/* sections */
.sec{padding-block:5rem}
.sec.alt{background:var(--bg);border-block:1px solid var(--line)}
.sec .head{display:grid;gap:.75rem;max-width:760px;margin-bottom:2rem}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.25rem}
.card{background:var(--paper);border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:var(--r);padding:1.6rem;display:grid;gap:.6rem;align-content:start}
.card p{color:var(--muted);font-size:1.05rem}
.card.todo{border-style:dashed;border-top-width:1px}
.steps{counter-reset:s;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem;list-style:none;padding:0;margin:0}
.steps li{counter-increment:s;display:grid;gap:.4rem}
.steps li::before{content:counter(s);display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--tint);color:var(--accent-ink);font-family:var(--head);font-weight:700}
.steps p{color:var(--muted)}

/* split */
.split .wrap{display:flex;flex-wrap:wrap;gap:3rem;align-items:center}
.split figure{flex:0 1 380px;min-width:0;margin:0}
.split figure img{width:100%;aspect-ratio:5/4;object-fit:cover;border-radius:18px}
.split figure.doc{flex:0 1 300px}
.split figure.doc img{aspect-ratio:auto;object-fit:contain;background:#fff;border:1px solid #e3e7ec;border-radius:10px;box-shadow:0 10px 30px -14px rgba(0,38,74,.3)}
.split .txt{flex:1 1 420px;display:grid;gap:1rem}

/* band (cross-link) */
.band{background:var(--band-bg,var(--tint));color:var(--band-fg,var(--ink))}
.band .wrap{display:flex;flex-wrap:wrap;gap:1.5rem 2rem;align-items:center;justify-content:space-between;padding-block:3.5rem}
.band .txt{flex:1 1 520px;display:grid;gap:.6rem}
.band h2{color:inherit;font-size:clamp(1.5rem,2.6vw,2rem)}
.band p{opacity:.9}

/* tiles (holding / house) */
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem}
.tile{display:grid;gap:.8rem;align-content:start;padding:1.8rem;border-radius:var(--r);border:1px solid var(--line);background:var(--paper);text-decoration:none;color:var(--ink)}
.tile:hover{border-color:var(--navy)}
.tile p{color:var(--muted)}
.tile .go{font-weight:600;color:var(--accent-ink)}
.tile.dark{background:#0b1f33;border-color:#0b1f33;color:#fff}
.tile.dark h3{color:#fff}.tile.dark p{color:#d5dde7}.tile.dark .go{color:#d9c08a}
.tile.dashed{border-style:dashed}

/* faq */
.faq{display:grid;gap:0;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line);padding:1.1rem 0}
.faq summary{cursor:pointer;font-weight:600;font-size:1.15rem;list-style:none;display:flex;justify-content:space-between;gap:1rem}
.faq summary::after{content:"+";color:var(--accent-ink);font-family:var(--head);font-size:1.4rem;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details p{margin-top:.6rem;color:var(--muted)}

/* cta */
.cta .wrap{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:center;justify-content:space-between;padding-block:4.5rem}
.cta h2{max-width:640px}

/* footer */
.foot{background:var(--navy);color:#c9d6e4;font-size:.95rem}
.foot .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem;padding-block:3rem}
.foot b{display:block;color:#fff;margin-bottom:.4rem}
.foot a{color:#c9d6e4}.foot a:hover{color:#fff}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:.25rem}
.endorse{border-top:1px solid #1d3a5c}
.endorse .wrap{display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;align-items:center;justify-content:space-between;padding-block:1.2rem;grid-template-columns:none}
.endorse span{display:flex;align-items:center;gap:.6rem}
.endorse img{width:22px;height:22px}

/* legal */
.legal{padding-block:4rem;display:grid;gap:1rem}
.legal p,.legal li{color:var(--ink)}
.todo-mark{background:#fff3c4;padding:0 .25rem;border-radius:4px}

@media (max-width:640px){
  .hero .wrap{padding-block:3rem}
  .sec{padding-block:3.5rem}
  .nav{font-size:.95rem;gap:.5rem 1rem}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
:root{--accent:#c4511f;--accent-ink:#a8431a;--tint:#fdeee6;--on-accent:#ffffff;--hero-bg:#fdeee6;--hero-fg:#00264a;--hero-muted:#33434f;--hero-kicker:#a8431a;--line-top:#f3d6c6;--fact:#f6b08d;--hero-btn:#c4511f;--hero-btn-fg:#ffffff}
