:root{
    --ink:#1a1a1a; --indigo-deep:#14283d; --indigo:#1c3a5c; --indigo-soft:#2c5178;
    --vermillion:#a83a2c; --paper:#ece5d4; --paper-light:#f7f4ec; --white:#ffffff;
    --line:rgba(20,40,61,0.14);
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{margin:0;font-family:'Inter',sans-serif;color:var(--ink);background:var(--white);line-height:1.62;-webkit-font-smoothing:antialiased;}
  h1,h2,h3,.serif{font-family:'Newsreader',serif;}
  a{color:inherit;}
  img{max-width:100%;display:block;}
  .wrap{max-width:1180px;margin:0 auto;padding:0 32px;}

  header.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,0.92);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);}
  .nav-inner{max-width:1180px;margin:0 auto;padding:18px 32px;display:flex;align-items:center;justify-content:space-between;}
  .nav-mark{display:flex;align-items:center;gap:18px;text-decoration:none;}
  .nav-mark img{width:68px;height:68px;border-radius:13px;display:block;}
  .nav-mark .wordmark{display:flex;flex-direction:column;line-height:1.22;}
  .nav-mark .wordmark .main{font-family:'Inter',sans-serif;font-weight:700;font-size:18px;letter-spacing:0.015em;color:var(--indigo-deep);}
  .nav-mark .wordmark .sub{font-family:'Inter',sans-serif;font-weight:700;font-size:13px;letter-spacing:0.07em;color:var(--indigo-soft);text-transform:uppercase;}
  .nav-links{display:flex;gap:28px;font-size:14.5px;}
  .nav-links a{text-decoration:none;color:var(--ink);opacity:0.75;transition:opacity .2s;}
  .nav-links a:hover, .nav-links a.active{opacity:1;}
  .nav-cta{font-size:14px;font-weight:500;padding:9px 18px;background:var(--indigo-deep);color:var(--white);border-radius:2px;text-decoration:none;white-space:nowrap;}
  @media (max-width:760px){ .nav-links{display:none;} }

  .breadcrumb{padding:22px 0 0;font-size:13.5px;color:#6b6b6b;}
  .breadcrumb a{color:var(--indigo-soft);text-decoration:none;}

  .product-hero{padding:18px 0 0;}
  .product-hero .theme{font-size:13px;letter-spacing:0.02em;color:var(--indigo-soft);font-weight:500;margin:22px 0 12px;}
  .product-hero h1{font-size:clamp(28px,3.6vw,42px);font-weight:500;line-height:1.16;max-width:840px;margin:0 0 28px;}
  .hero-photo{width:100%;height:420px;overflow:hidden;border-radius:2px;margin-bottom:0;}
  .hero-photo img{width:100%;height:100%;object-fit:cover;}
  @media (max-width:760px){ .hero-photo{height:260px;} }

  .product-body{padding:56px 0 90px;}
  .product-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:64px;align-items:start;}
  @media (max-width:900px){ .product-grid{grid-template-columns:1fr;gap:40px;} }

  .content h2{font-size:22px;font-weight:500;margin:44px 0 16px;}
  .content h2:first-child{margin-top:0;}
  .content p{font-size:15.5px;color:#3a3a3a;margin:0 0 16px;max-width:64ch;}
  .content ul{margin:0 0 16px;padding-left:20px;}
  .content ul li{font-size:15.5px;color:#3a3a3a;margin-bottom:8px;max-width:60ch;}

  .schedule-list{list-style:none;margin:0;padding:0;counter-reset:step;}
  .schedule-list li{counter-increment:step;position:relative;padding:0 0 20px 40px;font-size:15.5px;color:#3a3a3a;border-left:1px solid var(--line);margin-left:11px;}
  .schedule-list li:last-child{border-left:1px solid transparent;padding-bottom:0;}
  .schedule-list li::before{content:counter(step);position:absolute;left:-12px;top:0;width:23px;height:23px;border-radius:50%;background:var(--indigo-deep);color:#fff;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center;}

  .inline-photo{margin:28px 0;border-radius:2px;overflow:hidden;}
  .inline-photo img{width:100%;}
  .inline-photo figcaption{font-size:12.5px;color:#7a7a7a;margin-top:8px;}

  .addon-box{background:var(--paper-light);border-radius:2px;padding:24px 26px;margin:22px 0;}
  .addon-box h3{font-size:16px;font-weight:600;margin:0 0 14px;font-family:'Inter',sans-serif;}
  .addon-box ul{margin:0;padding-left:18px;}
  .addon-box li{font-size:14.5px;color:#3a3a3a;margin-bottom:8px;}

  /* SIDEBAR */
  .sidebar{position:sticky;top:96px;border:1px solid var(--line);border-radius:2px;padding:30px 28px;}
  .sidebar .price{font-family:'Newsreader',serif;font-size:26px;font-weight:500;color:var(--indigo-deep);margin:0 0 2px;}
  .sidebar .price-note{font-size:12.5px;color:#7a7a7a;margin:0 0 22px;}
  .facts{list-style:none;margin:0 0 24px;padding:0;border-top:1px solid var(--line);}
  .facts li{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--line);font-size:14px;}
  .facts li b{font-weight:600;color:var(--ink);}
  .facts li span{color:#6b6b6b;text-align:right;}
  .sidebar .btn{display:block;text-align:center;padding:13px 20px;background:var(--indigo-deep);color:#fff;text-decoration:none;border-radius:2px;font-size:14.5px;font-weight:500;margin-bottom:10px;}
  .sidebar .btn:hover{background:var(--indigo);}
  .sidebar .note{font-size:12.5px;color:#7a7a7a;text-align:center;}

  .contact{background:var(--indigo);color:var(--white);padding:90px 0 50px;margin-top:20px;}
  .contact h2{font-size:clamp(26px,3.4vw,38px);font-weight:500;max-width:640px;margin:0 0 30px;color:var(--white);}
  .contact-row{display:flex;flex-wrap:wrap;gap:40px;align-items:baseline;margin-bottom:60px;}
  .contact-row a{font-size:18px;text-decoration:none;border-bottom:1px solid rgba(255,255,255,0.4);padding-bottom:3px;}
  .foot-bottom{border-top:1px solid rgba(255,255,255,0.18);padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:12.5px;color:rgba(255,255,255,0.62);}
