:root{
  --bg:#ffffff;
  --text:#1e2430;
  --muted:#5f6b7a;
  --line:#e6ebf0;
  --soft:#f5f8fb;
  --brand:#0f766e;
  --brand-dark:#0b5f59;
  --accent:#dff6f3;
  --shadow:0 16px 40px rgba(20,31,56,.08);
  --radius:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter, Arial, Helvetica, sans-serif;color:var(--text);background:var(--bg);line-height:1.6}
a{color:var(--brand); text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%; display:block}
.container{width:min(1120px, calc(100% - 32px)); margin:0 auto}
.site-header{position:sticky; top:0; z-index:50; background:rgba(255,255,255,.94); backdrop-filter: blur(10px); border-bottom:1px solid rgba(230,235,240,.9)}
.header-inner{display:flex; align-items:center; justify-content:space-between; min-height:78px; gap:16px}
.logo{font-size:1.35rem; font-weight:800; color:var(--text); letter-spacing:.2px}
.logo span{color:var(--brand)}
.nav{display:flex; flex-wrap:wrap; gap:18px}
.nav a{color:var(--text); font-weight:600; font-size:.96rem}
.hero{
  position:relative; min-height:78vh; display:flex; align-items:flex-end; color:#fff;
  background:
    linear-gradient(90deg, rgba(255,255,255,.04) 0%, rgba(255,255,255,0) 40%, rgba(255,255,255,0) 100%),
    url('https://images.unsplash.com/photo-1517841905240-472988babdf9?auto=format&fit=crop&w=1800&q=80') center/cover no-repeat;
}
.hero::after{content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(0,0,0,.22), rgba(0,0,0,0) 45%)}
.hero .container{position:relative; z-index:1}
.hero-grid{display:grid; grid-template-columns:1fr; gap:0; align-items:end; padding:42px 0}
.hero-card{max-width:420px}
.kicker{display:none}
h1{font-size:clamp(2rem, 4vw, 3rem); line-height:1.04; margin:0 0 14px}
.hero p{display:none}
.cta-row{display:flex; flex-wrap:wrap; gap:14px}
.btn{display:inline-flex; align-items:center; justify-content:center; padding:14px 22px; border-radius:999px; font-weight:800; border:1px solid transparent; transition:.2s ease}
.btn-primary{background:var(--brand); color:#fff}
.btn-primary:hover{background:var(--brand-dark); text-decoration:none}
.btn-secondary{background:rgba(255,255,255,.1); color:#fff; border-color:rgba(255,255,255,.22)}
.btn-secondary:hover{text-decoration:none; background:rgba(255,255,255,.18)}
.panel{background:#fff; color:var(--text); border-radius:28px; padding:28px; box-shadow:var(--shadow)}
.panel h3, .section h2{margin-top:0}
.quick-points{display:grid; gap:14px}
.quick-points .item{display:flex; gap:12px; align-items:flex-start; padding:14px 0; border-top:1px solid var(--line)}
.quick-points .item:first-child{border-top:none; padding-top:0}
.icon{width:36px; height:36px; border-radius:12px; background:var(--accent); color:var(--brand); font-weight:800; display:flex; align-items:center; justify-content:center; flex:0 0 36px}
main section{padding:74px 0}
.section h2{font-size:clamp(1.9rem, 3vw, 2.6rem); line-height:1.15; margin-bottom:14px}
.section-intro{max-width:760px; color:var(--muted); margin-bottom:30px}
.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:22px}
.card{background:#fff; border:1px solid var(--line); border-radius:24px; padding:24px; box-shadow:0 10px 30px rgba(20,31,56,.04)}
.card h3{margin:14px 0 10px; font-size:1.18rem}
.card p{margin:0; color:var(--muted)}
.soft{background:var(--soft)}
.split{display:grid; grid-template-columns:1fr 1fr; gap:28px; align-items:start}
.highlight{background:#fff; border:1px solid var(--line); border-radius:24px; padding:24px}
.checklist{display:grid; gap:12px; margin:0; padding:0; list-style:none}
.checklist li{padding-left:32px; position:relative; color:var(--muted)}
.checklist li::before{content:"✓"; position:absolute; left:0; top:0; color:var(--brand); font-weight:900}
.faq-list{display:grid; gap:16px}
.faq-item{border:1px solid var(--line); border-radius:20px; padding:22px; background:#fff}
.faq-item h3{margin:0 0 10px; font-size:1.08rem}
.faq-item p{margin:0; color:var(--muted)}
.contact-grid{display:grid; grid-template-columns:.9fr 1.1fr; gap:28px; align-items:start}
.contact-box, .form-box{background:#fff; border:1px solid var(--line); border-radius:26px; padding:26px; box-shadow:0 12px 34px rgba(20,31,56,.05)}
.contact-box p{margin:0 0 14px; color:var(--muted)}
label{display:block; margin:14px 0 8px; font-weight:700}
input, textarea{width:100%; padding:14px 15px; border-radius:15px; border:1px solid #d7dee7; font:inherit; color:var(--text); background:#fff}
textarea{min-height:120px; resize:vertical}
.checkbox-row{display:flex; align-items:flex-start; gap:12px; margin-top:16px; padding:14px 16px; border:1px solid var(--line); border-radius:18px; background:#fbfdfe}
.checkbox-row input{width:18px; height:18px; margin-top:3px; flex:0 0 18px}
.checkbox-row label{margin:0; font-weight:500; color:var(--muted); line-height:1.55}
.notice{font-size:.93rem; color:var(--muted)}
.site-footer{background:#101622; color:#eaf1f8; padding:42px 0; margin-top:24px}
.footer-grid{display:grid; grid-template-columns:1fr 1fr 1fr; gap:22px}
.site-footer a{color:#fff}
.small{font-size:.95rem}
.policy-copy{display:grid; gap:16px}
.policy-copy p, .policy-copy li{color:var(--muted)}
.policy-copy ul{margin:0; padding-left:20px}
.top-spacer{padding-top:32px}
@media (max-width: 980px){
  .hero-grid, .grid-3, .split, .contact-grid, .footer-grid{grid-template-columns:1fr}
  .hero{min-height:auto}
  .panel{margin-top:8px}
}
@media (max-width: 680px){
  .header-inner{padding:10px 0; align-items:flex-start; flex-direction:column}
  .nav{gap:14px}
  .hero-grid{padding:42px 0}
  .btn{width:100%}
}