
    :root{
      --bg:#f6f8fc;
      --surface:#ffffff;
      --surface-2:#eef3fb;
      --surface-3:#e8f5ef;
      --surface-4:#fff3e6;
      --text:#162033;
      --muted:#5f6f8a;
      --border:#d7e1ef;
      --primary:#274cbe;
      --primary-dark:#1d388d;
      --accent:#f0a100;
      --pastel-green:#dff3e8;
      --pastel-orange:#fff0dc;
      --success:#147a3f;
      --danger:#b93333;
      --shadow:0 12px 30px rgba(12,24,48,.08);
      --radius:20px;
      --max:1180px;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:Segoe UI, Arial, sans-serif;
      color:var(--text);
      background:linear-gradient(180deg,#edf3fb 0%, #f8fbff 260px, #f6f8fc 100%);
      line-height:1.6;
    }

    a{color:var(--primary); text-decoration:none}
    a:hover{text-decoration:underline}

    .container{
      width:min(var(--max), calc(100% - 32px));
      margin:0 auto;
    }

    .section{padding:64px 0}
    .card{
      background:var(--surface);
      border:1px solid var(--border);
      border-radius:var(--radius);
      box-shadow:var(--shadow);
    }

    .badge{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:8px 14px;
      border-radius:999px;
      border:1px solid var(--border);
      background:var(--surface-2);
      color:var(--primary-dark);
      font-weight:700;
      font-size:.92rem;
    }

    .eyebrow{
      display:inline-block;
      color:var(--primary);
      font-weight:800;
      letter-spacing:.05em;
      text-transform:uppercase;
      font-size:.82rem;
      margin-bottom:14px;
    }

    h1,h2,h3{margin:0 0 14px}
    h1{
      font-size:clamp(2rem,4vw,3.5rem);
      line-height:1.08;
      letter-spacing:-.02em;
    }
    h2{
      font-size:clamp(1.5rem,2.8vw,2.2rem);
      line-height:1.15;
    }
    h3{
      font-size:1.1rem;
      line-height:1.25;
    }

    p{margin:0 0 16px}
    .muted{color:var(--muted)}

    .btn-row{
      display:flex;
      flex-wrap:wrap;
      gap:12px;
      margin-top:24px;
    }

    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-height:48px;
      padding:12px 18px;
      border-radius:14px;
      font-weight:800;
      border:1px solid transparent;
      transition:.18s ease;
      white-space:nowrap;
      cursor:pointer;
      font:inherit;
    }

    .btn-primary{
      background:var(--primary);
      color:#fff;
    }

    .btn-primary:hover{
      background:var(--primary-dark);
      text-decoration:none;
    }

    .btn-secondary{
      background:var(--surface);
      color:var(--text);
      border-color:var(--border);
    }

    .btn-secondary:hover{
      background:var(--surface-2);
      text-decoration:none;
    }

    .hero{padding:56px 0 42px}

    .hero-wrap{
      display:grid;
      grid-template-columns:1.2fr .8fr;
      gap:28px;
      align-items:stretch;
    }

    .hero-copy,
    .hero-side{
      padding:34px;
    }

    .hero-copy{
      background:
        radial-gradient(circle at top right, rgba(39,76,190,.12), transparent 35%),
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(245,249,255,.98));
    }

    .hero-lead{
      font-size:1.08rem;
      color:var(--muted);
      max-width:760px;
    }

    .hero-points{
      display:grid;
      grid-template-columns:repeat(2, minmax(0,1fr));
      gap:14px;
      margin-top:28px;
    }

    .hero-point{
      padding:16px 18px;
      border:1px solid var(--border);
      background:var(--surface-2);
      border-radius:16px;
    }

    .hero-point:nth-child(3){
      background:var(--pastel-green);
    }

    .hero-point:nth-child(4){
      background:var(--pastel-orange);
    }

    .hero-point strong{
      display:block;
      font-size:1.05rem;
      margin-bottom:4px;
    }

    .hero-side{
      background:linear-gradient(180deg, #2446ae 0%, #1c378a 100%);
      color:#fff;
      position:relative;
      overflow:hidden;
    }

    .hero-side::before{
      content:"";
      position:absolute;
      inset:auto -80px -80px auto;
      width:220px;
      height:220px;
      border-radius:50%;
      background:rgba(255,255,255,.08);
    }

    .price-box{position:relative; z-index:1}
    .price-box .small{opacity:.9; font-size:.95rem}

    .price-main{
      display:flex;
      align-items:flex-end;
      gap:12px;
      margin:18px 0 10px;
    }

    .price-main .promo{
      font-size:3rem;
      line-height:1;
      font-weight:900;
    }

    .price-main .old{
      text-decoration:line-through;
      opacity:.75;
      font-size:1.15rem;
    }

    .price-note{
      margin-top:14px;
      padding:14px 16px;
      border-radius:14px;
      background:rgba(255,255,255,.12);
      border:1px solid rgba(255,255,255,.16);
    }

    .grid-4{
      display:grid;
      grid-template-columns:repeat(4, minmax(0,1fr));
      gap:18px;
    }

    .feature-card{padding:24px}
    .feature-card:nth-child(2){background:linear-gradient(180deg,#ffffff 0%, #f4f9ff 100%)}
    .feature-card:nth-child(3){background:linear-gradient(180deg,#ffffff 0%, #f4fcf7 100%)}
    .feature-card:nth-child(4){background:linear-gradient(180deg,#ffffff 0%, #fff8ef 100%)}

    .feature-icon{
      width:46px;
      height:46px;
      display:inline-grid;
      place-items:center;
      border-radius:14px;
      background:var(--surface-2);
      color:var(--primary);
      font-size:1.25rem;
      font-weight:800;
      margin-bottom:14px;
    }

    .split{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:24px;
      align-items:start;
    }

    .content-card{padding:30px}

    .check-list,
    .info-list,
    .steps,
    .faq-list{
      display:grid;
      gap:12px;
      margin:0;
      padding:0;
      list-style:none;
    }

    .check-list li,
    .info-list li,
    .steps li,
    .faq-item{
      padding:16px 18px;
      border-radius:16px;
      background:var(--surface);
      border:1px solid var(--border);
    }

    .check-list li strong,
    .steps li strong{
      display:block;
      margin-bottom:6px;
    }

    .highlight{
      background:linear-gradient(180deg, #f8fbff 0%, #eef4fd 100%);
    }

    .highlight-alt{
      background:linear-gradient(180deg, #fcfdf8 0%, #f1f8f0 100%);
    }

    .audience-grid{
      display:grid;
      grid-template-columns:repeat(5, minmax(0,1fr));
      gap:16px;
    }

    .audience{
      text-align:center;
      padding:22px 16px;
    }

    .audience .icon{
      width:58px;
      height:58px;
      margin:0 auto 12px;
      border-radius:18px;
      display:grid;
      place-items:center;
      background:var(--surface-2);
      color:var(--primary);
      font-size:1.35rem;
      font-weight:900;
    }

    .pricing-grid{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:22px;
    }

    .pricing-card{padding:28px}
    .pricing-card.featured{
      border:2px solid rgba(39,76,190,.22);
      background:linear-gradient(180deg,#ffffff 0%, #f5f9ff 100%);
    }

    .price-value{
      font-size:2.3rem;
      font-weight:900;
      line-height:1;
      margin:12px 0;
    }

    .tag-success{
      display:inline-block;
      background:#e7f7ee;
      color:var(--success);
      border:1px solid #cbeed9;
      border-radius:999px;
      padding:7px 12px;
      font-size:.85rem;
      font-weight:800;
    }

    .steps{counter-reset:step}

    .steps li{
      position:relative;
      padding-left:72px;
      min-height:72px;
      display:flex;
      flex-direction:column;
      justify-content:center;
    }

    .steps li::before{
      counter-increment:step;
      content:counter(step);
      position:absolute;
      left:18px;
      top:18px;
      width:36px;
      height:36px;
      display:grid;
      place-items:center;
      border-radius:50%;
      background:var(--primary);
      color:#fff;
      font-weight:900;
    }

    .book-grid{
      display:grid;
      grid-template-columns:.8fr 1.2fr;
      gap:24px;
      align-items:stretch;
      margin-top:22px;
    }

    .book-cover-box,
    .book-info-box,
    .form-card{
      padding:30px;
    }

.book-cover-placeholder{
  border:none;
  border-radius:0;
  background:transparent;
  min-height:auto;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:var(--muted);
  font-weight:700;
  padding:0;
}

.book-cover-placeholder img{
  max-width:100%;
  max-height:380px;
  height:auto;
  display:block;
  border:none;
  border-radius:0;
  box-shadow:none;
}

    .spec-grid{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:12px;
      margin-top:18px;
    }

    .spec-item{
      border:1px solid var(--border);
      background:var(--surface-2);
      border-radius:14px;
      padding:14px 16px;
    }

    .spec-item:nth-child(3),
    .spec-item:nth-child(4){
      background:var(--surface-3);
    }

    .spec-item strong{
      display:block;
      margin-bottom:4px;
    }

    .contact-grid{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:24px;
      align-items:start;
    }

    .contact-form{
      display:grid;
      gap:14px;
      margin-top:18px;
    }

    .form-row{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:14px;
    }

    .field{
      display:flex;
      flex-direction:column;
      gap:8px;
    }

    .field label{
      font-weight:700;
      font-size:.95rem;
    }

    .field input,
    .field select,
    .field textarea{
      width:100%;
      border:1px solid var(--border);
      background:#fff;
      color:var(--text);
      border-radius:14px;
      padding:13px 14px;
      font:inherit;
      outline:none;
      transition:border-color .18s ease, box-shadow .18s ease;
    }

    .field input:focus,
    .field select:focus,
    .field textarea:focus{
      border-color:var(--primary);
      box-shadow:0 0 0 4px rgba(39,76,190,.10);
    }

    .field textarea{
      min-height:140px;
      resize:vertical;
    }

    .alert{
      border-radius:14px;
      padding:14px 16px;
      margin:18px 0 0;
      font-weight:700;
    }

    .alert-success{
      background:#e8f7ef;
      border:1px solid #ccead7;
      color:#14673a;
    }

    .alert-error{
      background:#fff0f0;
      border:1px solid #f1caca;
      color:#9b2626;
    }

    .footer-note{
      padding:24px 0 48px;
      color:var(--muted);
      font-size:.95rem;
      text-align:center;
    }

    @media (max-width: 1024px){
      .hero-wrap,
      .split,
      .pricing-grid,
      .contact-grid,
      .grid-4,
      .book-grid{
        grid-template-columns:1fr 1fr;
      }

      .audience-grid{
        grid-template-columns:repeat(3, minmax(0,1fr));
      }
    }

    @media (max-width: 720px){
      .container{width:min(var(--max), calc(100% - 20px))}
      .section{padding:44px 0}
      .hero{padding:28px 0 18px}
      .hero-wrap,
      .split,
      .pricing-grid,
      .contact-grid,
      .grid-4,
      .book-grid{
        grid-template-columns:1fr;
      }
      .audience-grid{
        grid-template-columns:1fr 1fr;
      }
      .hero-copy,
      .hero-side,
      .content-card,
      .pricing-card,
      .book-cover-box,
      .book-info-box,
      .form-card{
        padding:22px;
      }
      .hero-points,
      .form-row,
      .spec-grid{
        grid-template-columns:1fr;
      }
    }

    @media (max-width: 480px){
      .audience-grid{
        grid-template-columns:1fr;
      }
      .btn{
        width:100%;
      }
      .btn-row{
        flex-direction:column;
      }
    }
  
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}
.nav-wrap{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:12px;font-weight:900;color:var(--text)}
.brand img{width:48px;height:48px;object-fit:contain;border-radius:8px}
.main-nav{display:flex;align-items:center;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.main-nav a{padding:9px 11px;border-radius:10px;color:var(--text);font-weight:700;font-size:.92rem}
.main-nav a:hover,.main-nav a.active{background:var(--surface-2);color:var(--primary);text-decoration:none}
.page-hero{padding:56px 0 34px;background:linear-gradient(135deg,#e9f0ff,#f7fbff)}
.breadcrumb{font-size:.9rem;color:var(--muted);margin-bottom:14px}.breadcrumb a{font-weight:700}
.region-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.region-link{display:block;padding:20px;height:100%;color:var(--text)}.region-link:hover{text-decoration:none;border-color:#b6c7e5}.region-link strong{display:block;font-size:1.08rem;color:var(--primary);margin-bottom:4px}
.province-list{display:flex;flex-wrap:wrap;gap:9px;margin:18px 0 4px;padding:0;list-style:none}.province-list li{padding:8px 12px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);font-weight:700;font-size:.92rem}
.local-box{padding:24px;background:linear-gradient(135deg,var(--surface-3),#fff);border:1px solid #cde4d6;border-radius:var(--radius)}
.site-footer{background:#14203a;color:#dbe5f7;padding:46px 0 24px;margin-top:30px}.site-footer a{color:#fff}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:28px}.footer-links{display:grid;gap:8px}.copyright{border-top:1px solid rgba(255,255,255,.14);margin-top:30px;padding-top:18px;font-size:.9rem;color:#aebbd1}
.faq details{padding:18px 20px;border:1px solid var(--border);border-radius:14px;background:#fff;margin-bottom:12px}.faq summary{font-weight:800;cursor:pointer}.faq details p{margin:12px 0 0;color:var(--muted)}
.notice{padding:16px 18px;border-radius:14px;background:#fff7df;border:1px solid #f0d89d}
@media(max-width:1024px){.region-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){.site-header{position:static}.nav-wrap{align-items:flex-start;flex-direction:column;padding:12px 0}.main-nav{justify-content:flex-start}.footer-grid{grid-template-columns:1fr}.region-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.region-grid{grid-template-columns:1fr}.brand span{font-size:.9rem}}
