:root{
  --c1:#81A6C6;
  --c2:#AACDDC;
  --c3:#F3E3D0;
  --c4:#D2C4B4;
  --text:#1f2a30;
  --muted:#4b5a61;
  --bg:var(--c3);
  --surface:rgba(255,255,255,.78);
  --surface-2:rgba(255,255,255,.6);
  --ring:rgba(129,166,198,.35);
  --shadow:0 18px 45px rgba(31,42,48,.12);
  --shadow-soft:0 10px 25px rgba(31,42,48,.10);
  --radius:18px;
  --radius-sm:12px;
  --container:1100px;
  --pad:clamp(16px,3.4vw,26px);
  --gap:clamp(12px,2.2vw,18px);
  --font:ui-serif, "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
  --font-title:ui-serif, "Didot", "Bodoni MT", "Palatino Linotype", "Book Antiqua", Georgia, serif;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:var(--font);
  color:var(--text);
  background:
    radial-gradient(1200px 700px at 10% 0%, rgba(170,205,220,.35), transparent 55%),
    radial-gradient(900px 520px at 100% 10%, rgba(210,196,180,.28), transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,.35), rgba(255,255,255,.1)),
    var(--bg);
}

a{color:inherit}
img{max-width:100%;height:auto;display:block}

.skip-link{
  position:absolute;
  left:-999px;
  top:auto;
  width:1px;
  height:1px;
  overflow:hidden;
}
.skip-link:focus{
  left:var(--pad);
  top:var(--pad);
  width:auto;height:auto;
  background:#fff;
  padding:10px 12px;
  border-radius:12px;
  box-shadow:var(--shadow-soft);
  z-index:9999;
}

.container{
  width:100%;
  max-width:var(--container);
  margin:0 auto;
  padding:0 var(--pad);
}

header{
  position:sticky;
  top:0;
  z-index:50;
  backdrop-filter:blur(10px);
  background:linear-gradient(180deg, rgba(243,227,208,.82), rgba(243,227,208,.55));
  border-bottom:1px solid rgba(31,42,48,.08);
}

.topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 0;
  font-size:14px;
  color:var(--muted);
}
.topbar .contacts{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
}
.topbar a{
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 8px;
  border-radius:999px;
  transition:background-color .2s ease, transform .2s ease, color .2s ease;
}
.topbar a:hover{
  background:rgba(129,166,198,.15);
  transform:translateY(-1px);
  color:var(--text);
}

.mainbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:12px 0 16px;
}
.brand{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:240px;
}
.brand-mark{
  width:38px;height:38px;
  border-radius:14px;
  background:linear-gradient(145deg, var(--c1), var(--c2));
  display:grid;
  place-items:center;
  box-shadow:0 10px 22px rgba(129,166,198,.25);
}
.brand-mark i{
  color:#fff;
  font-size:18px;
}
.brand-name{
  font-family:var(--font-title);
  letter-spacing:.2px;
  font-size:20px;
  line-height:1.1;
  margin:0;
}
.brand-sub{
  margin:2px 0 0;
  font-size:13px;
  color:var(--muted);
}

nav{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:18px;
  flex-wrap:wrap;
}
nav a{
  text-decoration:none;
  font-size:16px;
  padding:6px 8px;
  border-radius:10px;
  transition:background-color .2s ease, color .2s ease, transform .2s ease;
}
nav a:hover{
  background:rgba(170,205,220,.25);
  transform:translateY(-1px);
}
nav a[aria-current="page"]{
  background:rgba(129,166,198,.22);
  color:var(--text);
}

main{
  padding:clamp(22px,5vw,50px) 0 28px;
}

.hero{
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(18px,3.5vw,30px);
  align-items:center;
}
.hero-content{
  padding:clamp(16px,2.6vw,24px);
  border-radius:var(--radius);
  background:linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,.45));
  border:1px solid rgba(31,42,48,.08);
  box-shadow:var(--shadow-soft);
  overflow:hidden;
}
.hero-kicker{
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--muted);
  font-size:14px;
  margin:0 0 10px;
}
.hero-kicker .pill{
  border:1px solid rgba(129,166,198,.35);
  background:rgba(129,166,198,.12);
  padding:6px 10px;
  border-radius:999px;
}
.hero h1{
  margin:0;
  font-family:var(--font-title);
  font-weight:700;
  letter-spacing:.1px;
  font-size:clamp(30px,4.2vw,54px);
  line-height:1.05;
}
.hero-lead{
  margin:14px 0 0;
  max-width:58ch;
  font-size:18px;
  line-height:1.6;
  color:var(--muted);
}
.hero-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
  margin-top:18px;
}
.btn{
  appearance:none;
  border:1px solid transparent;
  border-radius:999px;
  padding:12px 16px;
  font-size:16px;
  font-family:inherit;
  cursor:pointer;
  transition:transform .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease, color .2s ease;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  white-space:nowrap;
}
.btn-primary{
  background:linear-gradient(145deg, var(--c1), var(--c2));
  color:#ffffff;
  box-shadow:0 14px 30px rgba(129,166,198,.28);
}
.btn-primary:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 40px rgba(129,166,198,.35);
}
.btn-ghost{
  background:rgba(255,255,255,.55);
  border-color:rgba(31,42,48,.12);
  color:var(--text);
}
.btn-ghost:hover{
  transform:translateY(-2px);
  background:rgba(255,255,255,.72);
  border-color:rgba(129,166,198,.35);
}

.hero-media{
  border-radius:var(--radius);
  border:1px solid rgba(31,42,48,.08);
  background:linear-gradient(180deg, rgba(255,255,255,.55), rgba(255,255,255,.35));
  box-shadow:var(--shadow-soft);
  padding:12px;
  overflow:hidden;
}
.hero-media .frame{
  border-radius:calc(var(--radius) - 8px);
  overflow:hidden;
  position:relative;
}
.hero-media .frame::after{
  content:"";
  position:absolute;
  inset:-40% -30%;
  background:linear-gradient(120deg, transparent 35%, rgba(255,255,255,.55) 50%, transparent 65%);
  transform:translateX(-40%);
  opacity:.0;
  transition:opacity .25s ease, transform .6s ease;
  pointer-events:none;
}
.hero-media:hover .frame::after{
  opacity:.55;
  transform:translateX(20%);
}

.grid-2{
  display:grid;
  grid-template-columns:1fr;
  gap:var(--gap);
}

section.block{
  margin-top:22px;
}

.section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
}
.section-head h2{
  margin:0;
  font-family:var(--font-title);
  font-size:clamp(22px,2.7vw,34px);
  line-height:1.15;
}
.section-head p{
  margin:0;
  color:var(--muted);
  line-height:1.5;
  max-width:60ch;
}

.cards-3{
  display:grid;
  grid-template-columns:1fr;
  gap:var(--gap);
}
.card{
  border-radius:var(--radius);
  background:linear-gradient(180deg, rgba(255,255,255,.70), rgba(255,255,255,.44));
  border:1px solid rgba(31,42,48,.08);
  box-shadow:var(--shadow-soft);
  padding:18px;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.card:hover{
  transform:translateY(-3px);
  box-shadow:0 22px 55px rgba(31,42,48,.14);
  border-color:rgba(129,166,198,.35);
}
.card .icon{
  width:44px;height:44px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:rgba(129,166,198,.15);
  color:var(--text);
  margin-bottom:12px;
  transition:transform .25s ease;
}
.card:hover .icon{
  transform:rotate(-6deg) scale(1.03);
}
.card h3{
  margin:0;
  font-family:var(--font-title);
  font-size:18px;
}
.card p{
  margin:10px 0 0;
  color:var(--muted);
  line-height:1.6;
}

.steps{
  display:grid;
  grid-template-columns:1fr;
  gap:var(--gap);
}
.step{
  padding:18px;
  border-radius:var(--radius);
  background:linear-gradient(180deg, rgba(255,255,255,.62), rgba(255,255,255,.40));
  border:1px solid rgba(31,42,48,.08);
  box-shadow:var(--shadow-soft);
  display:flex;
  gap:14px;
  align-items:flex-start;
}
.step .num{
  width:42px;height:42px;
  border-radius:16px;
  background:rgba(170,205,220,.25);
  border:1px solid rgba(129,166,198,.35);
  display:grid;
  place-items:center;
  font-weight:700;
  color:var(--text);
}
.step h3{
  margin:0;
  font-family:var(--font-title);
  font-size:18px;
}
.step p{
  margin:8px 0 0;
  color:var(--muted);
  line-height:1.6;
}

.split{
  display:grid;
  grid-template-columns:1fr;
  gap:var(--gap);
}

.figure-card{
  border-radius:var(--radius);
  border:1px solid rgba(31,42,48,.08);
  background:linear-gradient(180deg, rgba(255,255,255,.62), rgba(255,255,255,.40));
  box-shadow:var(--shadow-soft);
  overflow:hidden;
}
.figure-card .img{
  padding:12px;
}
.figure-card .caption{
  padding:0 18px 18px;
  color:var(--muted);
  line-height:1.6;
}
.figure-card .caption strong{
  color:var(--text);
  font-weight:700;
}

.list{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
}
.list li{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:12px 14px;
  border-radius:16px;
  background:rgba(255,255,255,.45);
  border:1px solid rgba(31,42,48,.07);
}
.list i{
  color:var(--c1);
  margin-top:3px;
}
.list strong{
  font-family:var(--font-title);
}
.list span{
  color:var(--muted);
  line-height:1.55;
}

.cta{
  padding:22px;
  border-radius:var(--radius);
  background:
    radial-gradient(800px 260px at 10% 0%, rgba(170,205,220,.4), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.62), rgba(255,255,255,.42));
  border:1px solid rgba(31,42,48,.08);
  box-shadow:var(--shadow-soft);
  display:grid;
  gap:14px;
}
.cta h2{
  margin:0;
  font-family:var(--font-title);
  font-size:clamp(22px,2.7vw,34px);
}
.cta p{
  margin:0;
  color:var(--muted);
  line-height:1.6;
}
.cta .row{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  align-items:center;
}
.link-plain{
  color:var(--text);
  text-decoration:none;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(31,42,48,.10);
  background:rgba(255,255,255,.52);
  transition:transform .2s ease, border-color .2s ease, background-color .2s ease;
}
.link-plain:hover{
  transform:translateY(-2px);
  border-color:rgba(129,166,198,.35);
  background:rgba(255,255,255,.70);
}

.reveal{
  opacity:0;
  transform:translateY(12px);
  transition:opacity .6s ease, transform .6s ease;
}
.reveal[data-dir="up"]{transform:translateY(18px)}
.reveal[data-dir="right"]{transform:translateX(16px)}
.reveal[data-dir="left"]{transform:translateX(-16px)}
.reveal.is-visible{
  opacity:1;
  transform:translateY(0) translateX(0);
}

.legal-layout{
  display:grid;
  grid-template-columns:1fr;
  gap:var(--gap);
}
.legal-nav{
  border-radius:var(--radius);
  background:linear-gradient(180deg, rgba(255,255,255,.62), rgba(255,255,255,.40));
  border:1px solid rgba(31,42,48,.08);
  box-shadow:var(--shadow-soft);
  padding:14px;
}
.legal-nav h2{
  margin:4px 0 10px;
  font-family:var(--font-title);
  font-size:18px;
}
.legal-nav a{
  display:block;
  text-decoration:none;
  color:var(--muted);
  padding:10px 12px;
  border-radius:14px;
  border:1px solid transparent;
  transition:background-color .2s ease, border-color .2s ease, transform .2s ease, color .2s ease;
}
.legal-nav a:hover{
  background:rgba(170,205,220,.22);
  border-color:rgba(129,166,198,.25);
  transform:translateY(-1px);
  color:var(--text);
}
.legal-nav a[aria-current="page"]{
  background:rgba(129,166,198,.18);
  border-color:rgba(129,166,198,.32);
  color:var(--text);
}

.legal-article{
  border-radius:var(--radius);
  background:linear-gradient(180deg, rgba(255,255,255,.66), rgba(255,255,255,.42));
  border:1px solid rgba(31,42,48,.08);
  box-shadow:var(--shadow-soft);
  padding:18px;
}
.legal-article h2{
  margin:0 0 10px;
  font-family:var(--font-title);
  font-size:clamp(22px,2.7vw,34px);
}
.legal-article p{
  margin:10px 0 0;
  color:var(--muted);
  line-height:1.65;
}
.legal-article ul{
  margin:12px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
}
.legal-article li{
  padding:12px 14px;
  border-radius:16px;
  background:rgba(255,255,255,.48);
  border:1px solid rgba(31,42,48,.07);
  color:var(--muted);
  line-height:1.55;
}
.legal-article strong{color:var(--text)}
.legal-article .subtle{
  margin-top:12px;
  padding:14px 14px;
  border-radius:16px;
  background:rgba(170,205,220,.18);
  border:1px solid rgba(129,166,198,.25);
  color:var(--muted);
}

.form{
  display:grid;
  gap:14px;
}
.field{
  display:grid;
  gap:8px;
}
label{
  font-size:15px;
  color:var(--muted);
}
.input, textarea, select{
  width:100%;
  border-radius:16px;
  padding:12px 14px;
  border:1px solid rgba(31,42,48,.12);
  background:rgba(255,255,255,.62);
  font-family:inherit;
  font-size:16px;
  color:var(--text);
  outline:none;
  transition:border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}
textarea{min-height:130px;resize:vertical}
.input:focus, textarea:focus, select:focus{
  border-color:rgba(129,166,198,.6);
  box-shadow:0 0 0 6px var(--ring);
  background:rgba(255,255,255,.72);
}
.field-error{
  min-height:20px;
  font-size:13px;
  color:#8b2d2d;
}
.field .input[aria-invalid="true"], .field textarea[aria-invalid="true"]{
  border-color:rgba(139,45,45,.55);
  box-shadow:0 0 0 6px rgba(139,45,45,.12);
}
.gdpr input[aria-invalid="true"]{
  box-shadow:0 0 0 6px rgba(139,45,45,.12);
  outline:none;
}
.gdpr{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:14px 14px;
  border-radius:16px;
  border:1px solid rgba(31,42,48,.08);
  background:rgba(255,255,255,.48);
}
.gdpr input{
  margin-top:3px;
}
.gdpr p{
  margin:0;
  color:var(--muted);
  line-height:1.5;
  font-size:14px;
}
.form-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  align-items:center;
}
.form-note{
  color:var(--muted);
  line-height:1.5;
  font-size:14px;
}

.map-frame{
  border-radius:var(--radius);
  overflow:hidden;
  border:1px solid rgba(31,42,48,.08);
  box-shadow:var(--shadow-soft);
  background:rgba(255,255,255,.42);
}
.map-frame iframe{
  width:100%;
  height:380px;
  border:0;
  display:block;
}
.address-card{
  border-radius:var(--radius);
  background:linear-gradient(180deg, rgba(255,255,255,.62), rgba(255,255,255,.40));
  border:1px solid rgba(31,42,48,.08);
  box-shadow:var(--shadow-soft);
  padding:18px;
}
.address-card h3{
  margin:0 0 8px;
  font-family:var(--font-title);
  font-size:18px;
}
.address-lines{
  margin:0;
  color:var(--muted);
  line-height:1.65;
}
.address-lines strong{color:var(--text)}
.address-links{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:12px;
}

.accordion{
  display:grid;
  gap:12px;
}
.faq-item{
  border-radius:var(--radius);
  background:linear-gradient(180deg, rgba(255,255,255,.62), rgba(255,255,255,.40));
  border:1px solid rgba(31,42,48,.08);
  box-shadow:var(--shadow-soft);
  overflow:hidden;
}
.faq-toggle{
  width:100%;
  text-align:left;
  border:0;
  background:transparent;
  cursor:pointer;
  padding:16px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  font-family:inherit;
}
.faq-toggle span{
  font-family:var(--font-title);
  font-size:16px;
}
.faq-toggle i{
  color:var(--c1);
  font-size:18px;
  transition:transform .25s ease;
}
.faq-item[data-open="true"] .faq-toggle i{transform:rotate(180deg)}
.faq-panel{
  max-height:0;
  overflow:hidden;
  transition:max-height .35s ease;
}
.faq-item[data-open="true"] .faq-panel{
  max-height:520px;
}
.faq-panel .inner{
  padding:0 16px 16px;
  color:var(--muted);
  line-height:1.65;
}

.team-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:var(--gap);
}
.member{
  border-radius:var(--radius);
  background:linear-gradient(180deg, rgba(255,255,255,.62), rgba(255,255,255,.40));
  border:1px solid rgba(31,42,48,.08);
  box-shadow:var(--shadow-soft);
  padding:18px;
}
.member h3{
  margin:0;
  font-family:var(--font-title);
  font-size:18px;
}
.member .role{
  margin:6px 0 10px;
  color:var(--muted);
  line-height:1.4;
}
.member p{
  margin:0;
  color:var(--muted);
  line-height:1.65;
}
.member .meta{
  margin-top:14px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.tag{
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(129,166,198,.25);
  background:rgba(129,166,198,.12);
  color:var(--text);
  font-size:14px;
}

footer{
  border-top:1px solid rgba(31,42,48,.08);
  padding:18px 0 26px;
  background:linear-gradient(180deg, rgba(243,227,208,.45), rgba(243,227,208,.65));
}
.footer-line{
  color:var(--muted);
  font-size:14px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.cookie-overlay{
  position:fixed;
  inset:0;
  background:rgba(15,20,24,.28);
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease;
  z-index:200;
}
.cookie-overlay.is-visible{
  opacity:1;
  pointer-events:auto;
}
.cookie-modal{
  position:fixed;
  left:50%;
  bottom:18px;
  transform:translateX(-50%) translateY(18px);
  width:min(820px, calc(100vw - 28px));
  border-radius:22px;
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.82));
  box-shadow:0 30px 90px rgba(31,42,48,.30);
  border:1px solid rgba(31,42,48,.10);
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease, transform .2s ease;
  z-index:210;
}
.cookie-modal.is-visible{
  opacity:1;
  pointer-events:auto;
  transform:translateX(-50%) translateY(0);
}
.cookie-modal .head{
  padding:16px 16px 10px;
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
}
.cookie-modal .head h3{
  margin:0;
  font-family:var(--font-title);
  font-size:18px;
}
.cookie-modal .head p{
  margin:6px 0 0;
  color:var(--muted);
  line-height:1.45;
  font-size:14px;
}
.cookie-modal .close{
  border:1px solid rgba(31,42,48,.12);
  background:rgba(255,255,255,.6);
  color:var(--text);
  border-radius:14px;
  padding:8px 10px;
  cursor:pointer;
  transition:transform .2s ease, background-color .2s ease;
}
.cookie-modal .close:hover{
  transform:translateY(-2px);
  background:rgba(255,255,255,.78);
}
.cookie-modal .body{
  padding:0 16px 16px;
}
.cookie-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  align-items:center;
  margin-top:12px;
}
.cookie-grid{
  display:grid;
  gap:10px;
  margin-top:10px;
}
.cookie-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  padding:12px 12px;
  border-radius:16px;
  background:rgba(170,205,220,.13);
  border:1px solid rgba(129,166,198,.20);
}
.cookie-row .left{
  display:grid;
  gap:6px;
}
.cookie-row strong{
  font-family:var(--font-title);
}
.cookie-row span{
  color:var(--muted);
  line-height:1.45;
  font-size:13px;
}
.cookie-row input{
  margin-top:3px;
  transform:scale(1.1);
}
.cookie-settings{
  display:none;
  margin-top:12px;
}
.cookie-settings.is-open{display:block}
.cookie-settings .divider{
  height:1px;
  background:rgba(31,42,48,.08);
  margin:14px 0 12px;
}

.top-actions{
  display:none;
}

@media (min-width: 860px){
  .hero{grid-template-columns:1.1fr .9fr}
  .grid-2{grid-template-columns:1fr 1fr}
  .cards-3{grid-template-columns:repeat(3,1fr)}
  .steps{grid-template-columns:repeat(4,1fr)}
  .split{grid-template-columns:1.05fr .95fr}
  .legal-layout{grid-template-columns:320px 1fr}
  .team-grid{grid-template-columns:repeat(2,1fr)}
  .top-actions{display:block}
}

@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1;transform:none;transition:none}
  *{scroll-behavior:auto !important}
}

.ads-disclosure{
  margin-top:clamp(14px,2.5vw,22px);
  padding:14px 16px;
  border-radius:var(--radius);
  background:linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,.52));
  border:1px solid rgba(129,166,198,.28);
  box-shadow:var(--shadow-soft);
  display:flex;
  gap:12px;
  align-items:flex-start;
  font-size:14px;
  line-height:1.55;
  color:var(--muted);
}
.ads-disclosure i{
  color:var(--c1);
  font-size:20px;
  margin-top:2px;
  flex-shrink:0;
}
.ads-disclosure strong{color:var(--text)}

.trust-strip{
  display:grid;
  grid-template-columns:1fr;
  gap:var(--gap);
  margin-top:var(--gap);
}
.trust-item{
  padding:16px;
  border-radius:var(--radius);
  background:linear-gradient(180deg, rgba(255,255,255,.65), rgba(255,255,255,.42));
  border:1px solid rgba(31,42,48,.08);
  box-shadow:var(--shadow-soft);
  display:flex;
  gap:12px;
  align-items:flex-start;
  transition:transform .25s ease, border-color .25s ease;
}
.trust-item:hover{
  transform:translateY(-2px);
  border-color:rgba(129,166,198,.32);
}
.trust-item .icon{
  width:40px;height:40px;
  border-radius:14px;
  background:rgba(129,166,198,.14);
  display:grid;
  place-items:center;
  color:var(--c1);
  flex-shrink:0;
}
.trust-item h3{
  margin:0;
  font-family:var(--font-title);
  font-size:16px;
}
.trust-item p{
  margin:6px 0 0;
  color:var(--muted);
  line-height:1.55;
  font-size:14px;
}

.metric-row{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:var(--gap);
}
.metric-box{
  padding:20px;
  border-radius:var(--radius);
  text-align:center;
  background:linear-gradient(180deg, rgba(255,255,255,.68), rgba(255,255,255,.44));
  border:1px solid rgba(31,42,48,.08);
  box-shadow:var(--shadow-soft);
  transition:transform .3s ease, box-shadow .3s ease;
}
.metric-box:hover{
  transform:translateY(-3px);
  box-shadow:0 20px 50px rgba(31,42,48,.12);
}
.metric-box .num{
  font-family:var(--font-title);
  font-size:clamp(28px,4vw,40px);
  color:var(--c1);
  line-height:1;
  font-weight:700;
}
.metric-box .label{
  margin-top:8px;
  color:var(--muted);
  font-size:14px;
  line-height:1.45;
}

.tab-panel-wrap{
  border-radius:var(--radius);
  background:linear-gradient(180deg, rgba(255,255,255,.66), rgba(255,255,255,.42));
  border:1px solid rgba(31,42,48,.08);
  box-shadow:var(--shadow-soft);
  overflow:hidden;
}
.tab-list{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding:12px 12px 0;
  border-bottom:1px solid rgba(31,42,48,.08);
}
.tab-btn{
  border:1px solid transparent;
  background:rgba(255,255,255,.45);
  border-radius:999px;
  padding:10px 14px;
  font-family:inherit;
  font-size:15px;
  cursor:pointer;
  color:var(--muted);
  transition:background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}
.tab-btn:hover{
  transform:translateY(-1px);
  border-color:rgba(129,166,198,.28);
  color:var(--text);
}
.tab-btn[aria-selected="true"]{
  background:rgba(129,166,198,.18);
  border-color:rgba(129,166,198,.35);
  color:var(--text);
}
.tab-panels{padding:18px}
.tab-panel{
  display:none;
  color:var(--muted);
  line-height:1.65;
  animation:fadeTab .35s ease;
}
.tab-panel.is-active{display:block}
.tab-panel h3{
  margin:0 0 8px;
  font-family:var(--font-title);
  font-size:18px;
  color:var(--text);
}
@keyframes fadeTab{
  from{opacity:0;transform:translateY(6px)}
  to{opacity:1;transform:translateY(0)}
}

.progress-track{
  display:grid;
  gap:14px;
}
.progress-step{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:14px;
  align-items:flex-start;
  padding:14px;
  border-radius:var(--radius);
  border:1px solid rgba(31,42,48,.08);
  background:rgba(255,255,255,.48);
  cursor:pointer;
  transition:background-color .25s ease, border-color .25s ease, transform .25s ease;
}
.progress-step:hover{
  transform:translateX(4px);
  border-color:rgba(129,166,198,.3);
}
.progress-step.is-active{
  background:rgba(170,205,220,.22);
  border-color:rgba(129,166,198,.38);
}
.progress-step .dot{
  width:36px;height:36px;
  border-radius:12px;
  background:rgba(129,166,198,.15);
  border:1px solid rgba(129,166,198,.3);
  display:grid;
  place-items:center;
  font-weight:700;
  color:var(--text);
}
.progress-step.is-active .dot{
  background:linear-gradient(145deg, var(--c1), var(--c2));
  color:#fff;
  border-color:transparent;
}
.progress-detail{
  padding:18px;
  border-radius:var(--radius);
  background:linear-gradient(180deg, rgba(255,255,255,.62), rgba(255,255,255,.40));
  border:1px solid rgba(31,42,48,.08);
  min-height:140px;
  transition:opacity .3s ease;
}
.progress-detail h3{
  margin:0 0 8px;
  font-family:var(--font-title);
  font-size:18px;
}
.progress-detail p{
  margin:0;
  color:var(--muted);
  line-height:1.65;
}

.quote-rotator{
  position:relative;
  padding:24px;
  border-radius:var(--radius);
  background:
    radial-gradient(600px 200px at 0% 0%, rgba(170,205,220,.35), transparent 70%),
    linear-gradient(180deg, rgba(255,255,255,.68), rgba(255,255,255,.44));
  border:1px solid rgba(31,42,48,.08);
  box-shadow:var(--shadow-soft);
  min-height:160px;
}
.quote-rotator blockquote{
  margin:0;
  font-family:var(--font-title);
  font-size:clamp(18px,2.4vw,24px);
  line-height:1.45;
  color:var(--text);
}
.quote-rotator cite{
  display:block;
  margin-top:12px;
  font-style:normal;
  color:var(--muted);
  font-size:14px;
}
.quote-dots{
  display:flex;
  gap:8px;
  margin-top:16px;
}
.quote-dot{
  width:10px;height:10px;
  border-radius:999px;
  border:0;
  background:rgba(129,166,198,.25);
  cursor:pointer;
  padding:0;
  transition:transform .2s ease, background-color .2s ease;
}
.quote-dot.is-active{
  background:var(--c1);
  transform:scale(1.15);
}

.fi-highlight{
  padding:20px;
  border-radius:var(--radius);
  border-left:4px solid var(--c1);
  background:linear-gradient(90deg, rgba(170,205,220,.22), rgba(255,255,255,.42));
  box-shadow:var(--shadow-soft);
}
.fi-highlight h3{
  margin:0 0 8px;
  font-family:var(--font-title);
  font-size:18px;
}
.fi-highlight p{
  margin:0;
  color:var(--muted);
  line-height:1.65;
}

.compare-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:var(--gap);
}
.compare-card{
  padding:18px;
  border-radius:var(--radius);
  background:linear-gradient(180deg, rgba(255,255,255,.62), rgba(255,255,255,.40));
  border:1px solid rgba(31,42,48,.08);
  box-shadow:var(--shadow-soft);
}
.compare-card h3{
  margin:0;
  font-family:var(--font-title);
  font-size:17px;
}
.compare-card ul{
  margin:12px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:8px;
}
.compare-card li{
  display:flex;
  gap:8px;
  align-items:flex-start;
  color:var(--muted);
  font-size:14px;
  line-height:1.5;
}
.compare-card li i{color:var(--c1);margin-top:2px}

.footer-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
  padding-bottom:16px;
}
.footer-brand .brand-name{
  font-family:var(--font-title);
  font-size:18px;
  margin:0;
}
.footer-brand p{
  margin:8px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.55;
}
.footer-links h3,
.footer-legal h3{
  margin:0 0 10px;
  font-family:var(--font-title);
  font-size:15px;
}
.footer-links a,
.footer-legal a{
  display:block;
  text-decoration:none;
  color:var(--muted);
  font-size:14px;
  padding:5px 0;
  transition:color .2s ease, transform .2s ease;
}
.footer-links a:hover,
.footer-legal a:hover{
  color:var(--text);
  transform:translateX(3px);
}
.footer-disclaimer{
  padding:12px 14px;
  border-radius:14px;
  background:rgba(255,255,255,.42);
  border:1px solid rgba(31,42,48,.08);
  color:var(--muted);
  font-size:13px;
  line-height:1.55;
  margin-bottom:12px;
}
.footer-line{
  white-space:normal;
  text-overflow:unset;
}

.float-soft{
  animation:floatSoft 6s ease-in-out infinite;
}
@keyframes floatSoft{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-6px)}
}

.stagger-children .reveal:nth-child(2){transition-delay:.08s}
.stagger-children .reveal:nth-child(3){transition-delay:.16s}
.stagger-children .reveal:nth-child(4){transition-delay:.24s}

@media (min-width: 860px){
  .trust-strip{grid-template-columns:repeat(3,1fr)}
  .metric-row{grid-template-columns:repeat(4,1fr)}
  .compare-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1.2fr 1fr 1fr}
  .progress-interactive{grid-template-columns:1fr 1.1fr;align-items:start}
}

@media (min-width: 860px){
  nav a[href="about.html"]{display:inline-block}
}
