:root{
  --teal:#0e6b6b; --teal-d:#0a4f4f; --teal-dd:#073c3c;
  --coral:#ff7a59; --coral-d:#ef5f3c;
  --coral-btn:#c8461f; --coral-btn-d:#b8431f;
  --cream:#fbf7f1; --sand:#f3ece1; --ink:#16302f; --muted:#5d706f;
  --line:#e6ddcf; --white:#fff;
  --shadow:0 18px 50px -20px rgba(7,60,60,.35);
  --shadow-sm:0 6px 24px -12px rgba(7,60,60,.30);
  --max:1240px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Plus Jakarta Sans',system-ui,sans-serif;color:var(--ink);background:var(--cream);line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 28px}
.btn{display:inline-flex;align-items:center;gap:9px;font-weight:700;font-size:1rem;border-radius:999px;padding:14px 26px;border:0;cursor:pointer;transition:.2s;white-space:nowrap}
.btn-coral{background:var(--coral-btn);color:#fff;box-shadow:0 10px 26px -10px rgba(180,58,32,.55)}
.btn-coral:hover{background:var(--coral-btn-d);transform:translateY(-2px)}
.btn-teal{background:var(--teal);color:#fff}
.btn-teal:hover{background:var(--teal-d);transform:translateY(-2px)}
.btn-line{background:#fff;color:var(--teal);border:1.5px solid var(--line)}
.btn-line:hover{border-color:var(--teal);transform:translateY(-2px)}

/* skip-link (a11y) */
.skip{position:absolute;left:-9999px;top:0;z-index:200;background:var(--teal-d);color:#fff;padding:12px 20px;border-radius:0 0 10px 0;font-weight:700}
.skip:focus{left:0}

/* nav login button */
.menu a.navlogin{display:inline-flex;align-items:center;gap:7px;background:#fff;color:var(--teal);border:1.5px solid var(--line);padding:9px 18px;border-radius:999px;font-weight:700}
.menu a.navlogin:hover{border-color:var(--teal)}

/* form consent */
.consent{display:flex;gap:10px;align-items:flex-start;margin-top:16px;font-size:.9rem;color:var(--muted);font-weight:500}
.consent input{width:auto;flex:0 0 auto;margin-top:3px}
.consent a{color:var(--teal);font-weight:600;text-decoration:underline}

.top{position:sticky;top:0;z-index:50;background:rgba(251,247,241,.85);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:78px;gap:22px}
.logo{display:flex;align-items:center;gap:12px;font-weight:800;font-size:1.32rem;color:var(--teal-d);letter-spacing:-.02em;white-space:nowrap;flex-shrink:0}
.logo span{white-space:nowrap}
.logo .mark{width:42px;height:42px;flex:0 0 42px}
.logo small{display:block;font-size:.66rem;font-weight:600;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-top:-2px}
.menu{display:flex;align-items:center;gap:22px;margin-left:auto}
.menu a{font-weight:600;color:var(--ink);font-size:1rem;transition:.15s;white-space:nowrap}
.menu a:hover{color:var(--teal)}
.menu a.active{color:var(--teal)}
.nav .cta{display:flex;gap:10px;align-items:center;flex-shrink:0}
.nav .cta .btn-line{display:none}

/* page hero */
.phero{background:radial-gradient(1000px 500px at 85% -20%,rgba(14,107,107,.10),transparent 60%),linear-gradient(180deg,var(--cream),#fff);padding:64px 0 48px;text-align:center}
.eyebrow{display:inline-flex;align-items:center;gap:8px;background:var(--sand);color:var(--teal-d);font-weight:700;font-size:.8rem;padding:7px 15px;border-radius:999px;letter-spacing:.02em}
.phero h1{font-size:clamp(2rem,3.8vw,3rem);line-height:1.08;letter-spacing:-.025em;margin:18px 0 14px;font-weight:800;max-width:18ch;margin-left:auto;margin-right:auto}
.phero p{color:var(--muted);font-size:1.15rem;max-width:54ch;margin:0 auto}

.sec{padding:64px 0}
.sec.alt{background:#fff}
.sec.deep{background:linear-gradient(160deg,var(--teal-d),var(--teal-dd));color:#fff}
.shead{text-align:center;max-width:640px;margin:0 auto 46px}
.shead .eyebrow{margin-bottom:14px}
.shead h2{font-size:clamp(1.7rem,3vw,2.4rem);letter-spacing:-.02em;line-height:1.1;font-weight:800}
.shead p{color:var(--muted);margin-top:14px;font-size:1.06rem}
.sec.deep .shead p{color:rgba(255,255,255,.8)}

.grid2{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.prose{max-width:760px;margin:0 auto}
.prose h2{font-size:1.6rem;letter-spacing:-.02em;margin:34px 0 12px}
.prose h3{font-size:1.2rem;margin:24px 0 8px}
.prose p{color:var(--ink);margin-bottom:14px}
.prose ul{margin:0 0 16px 4px;list-style:none}
.prose li{display:flex;gap:10px;align-items:flex-start;margin-bottom:10px}
.prose li:before{content:"";flex:0 0 20px;height:20px;margin-top:3px;border-radius:50%;background:var(--coral) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='m6 12 4 4 8-8' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat}

.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px;box-shadow:var(--shadow-sm);transition:.2s}
.card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.card .ic{width:54px;height:54px;border-radius:14px;background:rgba(14,107,107,.12);color:var(--teal);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.card h3{font-size:1.18rem;margin-bottom:8px}
.card p{color:var(--muted);font-size:.97rem}

.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.step{background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px}
.step .n,.step .num{width:42px;height:42px;border-radius:12px;background:var(--teal);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:1.15rem;margin-bottom:18px}
.step h3{font-size:1.18rem;margin-bottom:8px}
.step p{color:var(--muted);font-size:.97rem}

/* FAQ */
.faq{max-width:760px;margin:0 auto}
.faq details{background:#fff;border:1px solid var(--line);border-radius:14px;padding:4px 22px;margin-bottom:12px}
.faq summary{cursor:pointer;font-weight:700;padding:16px 0;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";font-size:1.5rem;color:var(--teal);font-weight:400}
.faq details[open] summary:after{content:"–"}
.faq details p{color:var(--muted);padding:0 0 18px}

/* forms */
.formcard{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);padding:34px}
.formcard h2{color:var(--teal-d);margin-bottom:6px;font-size:1.5rem}
.formcard .fsub{color:var(--muted);margin-bottom:22px}
.formcard label{display:block;font-weight:600;font-size:.92rem;margin:14px 0 6px}
.formcard input,.formcard select,.formcard textarea{width:100%;padding:13px 15px;border:1.5px solid var(--line);border-radius:12px;font-family:inherit;font-size:1rem;background:var(--cream);transition:.15s}
.formcard input:focus,.formcard select:focus,.formcard textarea:focus{outline:0;border-color:var(--teal);background:#fff}
.formmsg{margin-top:14px;display:none;border-radius:12px;padding:13px 15px;font-size:.95rem;font-weight:500}
.aside{background:linear-gradient(160deg,#fff,var(--sand));border:1px solid var(--line);border-radius:20px;padding:30px}
.aside h3{margin-bottom:14px}
.aside ul{list-style:none}
.aside li{display:flex;gap:10px;align-items:flex-start;margin-bottom:12px;font-weight:500}
.aside li svg{flex:0 0 22px;margin-top:2px}

.ctaband{background:linear-gradient(160deg,#bf4a26,#c85030);border-radius:28px;padding:54px;text-align:center;color:#fff;box-shadow:var(--shadow)}
.ctaband h2{font-size:clamp(1.6rem,2.8vw,2.3rem);letter-spacing:-.02em;margin-bottom:12px}
.ctaband p{font-size:1.08rem;margin-bottom:28px;max-width:46ch;margin-left:auto;margin-right:auto}
.ctaband .btn-line{background:#fff;color:var(--coral-btn);border:0}

footer{background:var(--teal-dd);color:#fff;padding:60px 0 28px}
.fg{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:34px;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,.12)}
footer .logo{color:#fff}
footer .logo small{color:rgba(255,255,255,.6)}
footer p.desc{color:rgba(255,255,255,.72);margin-top:14px;max-width:34ch;font-size:.95rem}
footer h4{font-size:.95rem;margin-bottom:16px}
footer ul{list-style:none}
footer li{margin-bottom:10px}
footer a{color:rgba(255,255,255,.74);font-size:.95rem;transition:.15s}
footer a:hover{color:#fff}
.fbar{text-align:center;padding-top:22px;color:rgba(255,255,255,.55);font-size:.85rem}

@media(max-width:920px){
  .cards,.steps{grid-template-columns:1fr 1fr}
  .grid2,.fg{grid-template-columns:1fr}
  .fg{gap:26px}
  .menu{display:none}
}
@media(max-width:640px){
  .wrap{padding:0 18px}
  .cards,.steps{grid-template-columns:1fr}
  .nav .cta .btn-line{display:none}
  .ctaband{padding:36px 22px}
}
