@charset "UTF-8";

:root{
    --green:#00AEEF;
    --green-dark:#0089bd;
    --green-light:#e0f5fd;
    --green-pale:#f2faff;
    --orange:#f5a623;
    --orange-dark:#e0911a;
    --orange-light:#fff5e0;
    --ink:#1f2a24;
    --ink-2:#4a5752;
    --line:#e3e8e4;
    --bg:#ffffff;
    --bg-2:#f7f9f7;
    --radius:14px;
    --shadow-sm:0 2px 8px rgba(31,42,36,.06);
    --shadow-md:0 8px 24px rgba(31,42,36,.10);
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth;scroll-padding-top:64px}
  body{
    font-family:"Noto Sans JP",system-ui,sans-serif;
    color:var(--ink);
    background:var(--bg);
    line-height:1.7;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  img{max-width:100%;display:block}
  a{color:inherit;text-decoration:none}
  button{font-family:inherit;cursor:pointer;border:none;background:none}

  .wrap{width:100%;max-width:980px;margin:0 auto;padding:0 20px}

  /* ============ HEADER ============ */
  .nav{
    position:fixed;top:0;left:0;right:0;z-index:50;
    background:rgba(255,255,255,.95);
    backdrop-filter:blur(8px);
    border-bottom:1px solid var(--line);
    height:60px;
    display:flex;align-items:center;
  }
  .nav-inner{
    width:100%;max-width:980px;margin:0 auto;padding:0 16px;
    display:flex;align-items:center;justify-content:space-between;gap:12px;
  }
  .logo{
    font-weight:900;line-height:1.2;
    color:var(--green);letter-spacing:.02em;
  }
  .logo small{display:block;color:var(--ink-2);font-weight:500}
  .nav-cta{
    display:inline-flex;align-items:center;gap:6px;
    background:var(--orange);color:#fff;
    padding:8px 14px;border-radius:999px;
    font-weight:700;
    transition:transform .2s, box-shadow .2s;
  }
  .nav-cta:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);background:var(--orange-dark)}

  /* ============ important ============ */
  .important{
    position:relative;
    padding:90px 0 50px;
    overflow:hidden;
    isolation:isolate;
  }
  .important-bg{
    position:absolute;inset:0;z-index:-2;
    background:
      /* 写真プレースホルダー：斜めストライプで写真エリアを示す */
      repeating-linear-gradient(135deg,
        #c5e9f8 0 14px,
        #aedef3 14px 28px),
      linear-gradient(180deg, #d6effa 0%, #aedef3 100%);
  }
  .important-bg::before{
    /* 写真キャプション風の注釈 */
    position:absolute;left:14px;bottom:14px;
    font-family:ui-monospace,monospace;
    color:#0070a0;
    background:rgba(255,255,255,.85);
    padding:4px 10px;border-radius:4px;
    z-index:2;
  }
  .important-overlay{
    position:absolute;inset:0;z-index:-1;
    background:
      /* 左側を白く落として可読性を確保 */
      linear-gradient(100deg,
        rgba(255,255,255,.96) 0%,
        rgba(255,255,255,.92) 35%,
        rgba(255,255,255,.55) 65%,
        rgba(255,255,255,.15) 100%),
      radial-gradient(ellipse at top right, rgba(245,166,35,.15) 0%, transparent 55%);
  }
  .important::before{
    content:"";position:absolute;
    top:80px;right:-60px;width:240px;height:240px;
    background:var(--orange);opacity:.12;border-radius:50%;
    filter:blur(20px);z-index:-1;
  }
  .important-tag{
    display:inline-block;
    background:var(--green);color:#fff;
    font-weight:700;letter-spacing:.08em;
    padding:6px 14px;border-radius:999px;
    margin-bottom:16px;
  }
  .important-tag .dot{
    display:inline-block;width:6px;height:6px;
    background:var(--orange);border-radius:50%;
    margin-right:6px;vertical-align:middle;
    animation:pulse 1.6s infinite;
  }
  @keyframes pulse{
    0%,100%{transform:scale(1);opacity:1}
    50%{transform:scale(1.4);opacity:.6}
  }
  .important h1{
    font-weight:900;line-height:1.15;
    letter-spacing:-.02em;
    margin-bottom:20px;
    font-size: 3em;
  }
  @media (max-width: 719px){
  	.important h1{
  		font-size: 2em;
  	}
  }
  .important h1 .accent{
    color:var(--green);
    position:relative;display:inline-block;
  }
  .important h1 .accent::after{
    content:"";position:absolute;
    left:0;right:0;bottom:4px;height:10px;
    background:var(--orange);opacity:.25;
    z-index:-1;
  }
  .important h1 .strike{
    color:var(--ink-2);
    text-decoration:line-through;
    text-decoration-color:var(--orange);
    text-decoration-thickness:3px;
    display:block;margin-bottom:6px;
    font-weight:700;
  }
  .important-sub{
    color:var(--ink-2);
    margin-bottom:28px;max-width:520px;
  }
  .important-stats{
    display:grid;grid-template-columns:repeat(3,1fr);
    gap:8px;margin-bottom:28px;max-width:520px;
  }
  .stat{
    background:#fff;border:1px solid var(--line);
    border-radius:var(--radius);padding:14px 8px;
    text-align:center;box-shadow:var(--shadow-sm);
  }
  .stat-num{
    color:var(--green);line-height:1;
    letter-spacing:.02em;
    font-size: 1.5em;
  }
  .stat-num small{font-weight:700;margin-left:2px;font-size: 15px;}
  .stat-label{color:var(--ink-2);margin-top:4px;font-weight:500}

  .cta-row{
    display:flex;flex-direction:column;gap:10px;max-width:420px;
  }
  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    padding:18px 24px;border-radius:999px;
    font-weight:700;
    transition:transform .2s, box-shadow .2s, background .2s;
    text-align:center;
  }
  .btn-primary{
    background:var(--orange);color:#fff;
    box-shadow:0 6px 16px rgba(245,166,35,.35);
  }
  .btn-primary:hover{
    transform:translateY(-2px);
    box-shadow:0 10px 24px rgba(245,166,35,.45);
    background:var(--orange-dark);
  }
  .btn-primary .arrow{transition:transform .2s}
  .btn-primary:hover .arrow{transform:translateX(4px)}
  .btn-secondary{
    background:#fff;color:var(--green);
    border:2px solid var(--green);
  }
  .btn-secondary:hover{background:var(--green-light)}
  .btn-line{
    background:#06c755;color:#fff;
  }
  .btn-line:hover{background:#05a847;transform:translateY(-2px)}

  .important-visual{
    margin-top:36px;
    border-radius:20px;overflow:hidden;
    box-shadow:var(--shadow-md);
    aspect-ratio:16/9;
    background:
      repeating-linear-gradient(45deg, #d6effa 0 12px, #c5e9f8 12px 24px);
    position:relative;
  }
  @media (max-width: 719px){
  	.important-visual img{
  		position: absolute;
    	top: -120px;
  	}
  }
  .important-visual::after{
    position:absolute;inset:0;
    display:flex;align-items:center;justify-content:center;
    color:var(--green-dark);font-weight:500;
    font-family:ui-monospace,monospace;
    background:rgba(255,255,255,.7);
    backdrop-filter:blur(2px);
    margin:auto;width:fit-content;height:fit-content;
    padding:10px 18px;border-radius:8px;
  }

  /* ============ SECTION GENERIC ============ */
  section{padding:72px 0; background: #fff;}
  .eyebrow{
    display:inline-block;
    letter-spacing:.15em;
    color:var(--orange);margin-bottom:8px;
    position: absolute;
  }
  .section-title{
    font-weight:900;line-height:1.3;
    margin-bottom:36px;letter-spacing:-.01em;
    background: unset;
    text-align: left;
    padding: 30px 0 0;
    font-size: 2em;
  }
  .section-title .ac{color:var(--green)}

  /* ============ PROBLEM ============ */
  .problem{background:var(--bg-2)}
  .problem-grid{
    display:grid;grid-template-columns:1fr;gap:14px;
  }
  .problem-card{
    background:#fff;border-radius:var(--radius);
    padding:22px 22px 22px 64px;
    position:relative;border:1px solid var(--line);
    transition:transform .25s, box-shadow .25s;
  }
  .problem-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
  .problem-card::before{
    content:"";position:absolute;
    left:20px;top:22px;width:32px;height:32px;
    background:var(--orange-light);
    border-radius:50%;
  }
  .problem-card::after{
    content:"?";position:absolute;
    left:20px;top:22px;width:32px;height:32px;
    display:flex;align-items:center;justify-content:center;
    color:var(--orange);font-weight:900;
  }
  .problem-card h3{margin-bottom:4px}
  .problem-card p{color:var(--ink-2)}
  .problem-bridge{
    margin-top:36px;padding:28px;
    background:linear-gradient(135deg,var(--green) 0%, var(--green-dark) 100%);
    color:#fff;border-radius:var(--radius);
    text-align:center;position:relative;
  }
  .problem-bridge::before{
    content:"";position:absolute;
    left:50%;top:-12px;transform:translateX(-50%) rotate(45deg);
    width:24px;height:24px;background:var(--green);
  }
  .problem-bridge p{opacity:.9;margin-bottom:8px}
  .problem-bridge strong{font-weight:900;display:block;font-size: 1.5em;}

  /* ============ COMPARE ============ */
  .compare-table{
    background:#fff;border-radius:var(--radius);
    overflow:hidden;border:1px solid var(--line);
    box-shadow:var(--shadow-sm);
    margin-bottom:28px;
  }
  .compare-table table{width:100%;border-collapse:collapse}
  .compare-table th, .compare-table td{
    padding:16px 12px;text-align:center;
    border-bottom:1px solid var(--line);
  }
  .compare-table thead th{
    background:var(--bg-2);font-weight:700;
    color:var(--ink-2);
  }
  .compare-table thead th.col-us{
    background:var(--green);color:#fff;position:relative;padding: 20px;
  }
  .compare-table thead th.col-us::before{
    content:"おすすめ";position:absolute;
    left:20%;transform:translateX(-50%);
    background:var(--orange);color:#fff;
    padding:2px 10px;border-radius:999px;
    font-weight:700;
  }
  @media (max-width: 719px){
  	.compare-table thead th.col-us::before{
  		display: none;
  	}
  }
  .compare-table tbody th{
    background:var(--bg-2);font-weight:700;
    text-align:left;color:var(--ink-2);
    width:90px;
  }
  .compare-table td.us{
    background:var(--green-pale);
    color:var(--green-dark);font-weight:700;
  }
  .compare-table td .check{color:var(--green);}
  .compare-table td .cross{color:#bbb;}
  .compare-note{
    color:var(--ink-2);
    text-align:right;
  }

  .strengths{
    margin-top:48px;
    display:grid;grid-template-columns:repeat(2,1fr);
    gap:12px;
  }
  .strength{
    background:#fff;border:1px solid var(--line);
    border-radius:var(--radius);padding:18px 14px;
    text-align:center;
  }
  .strength-icon{
    width:48px;height:48px;
    background:var(--green-light);
    border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    margin:0 auto 10px;
    color:var(--green);font-weight:900;
    font-family:"Bebas Neue",sans-serif;
  }
  .strength h4{margin-bottom:4px}
  .strength p{color:var(--ink-2);line-height:1.5}

  /* ============ PLAN ============ */
  .plan{background:linear-gradient(180deg,var(--green-pale) 0%, #fff 100%)}
  .plan-badge{
    display:inline-block;
    background:var(--orange);color:#fff;
    font-weight:700;
    padding:4px 12px;border-radius:999px;
    margin-bottom:8px;
  }
  .plan-card{
    background:#fff;border-radius:20px;
    padding:28px 22px;
    box-shadow:var(--shadow-md);
    border:2px solid var(--green);
    position:relative;overflow:hidden;
  }
  .plan-card::before{
    content:"4名限定";
    position:absolute;top:14px;right:-30px;
    background:var(--orange);color:#fff;
    padding:4px 36px;font-weight:700;
    transform:rotate(45deg);
  }
  .plan-card h3{margin-bottom:4px;font-weight:900}
  .plan-target{color:var(--ink-2);margin-bottom:16px}
  .plan-price{
    display:flex;align-items:baseline;gap:6px;
    padding:16px 0;border-top:1px dashed var(--line);
    border-bottom:1px dashed var(--line);margin-bottom:18px;
  }
  .plan-price .from{color:var(--ink-2)}
  .plan-price .num{
  	font-size: 2em;
    line-height:1;color:var(--green);
  }
  .plan-price .yen{font-weight:700}
  .plan-price .tax{color:var(--ink-2);margin-left:auto}
  .plan-features{display:grid;gap:10px;margin-bottom:18px}
  .plan-features li{
    list-style:none;padding-left:26px;position:relative;
  }
  .plan-features li::before{
    content:"✓";position:absolute;left:0;top:0;
    color:#fff;background:var(--green);
    width:18px;height:18px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    top:5px;
  }
  .plan-meta{
    display:grid;grid-template-columns:repeat(3,1fr);
    gap:6px;background:var(--green-pale);
    padding:12px;border-radius:10px;margin-bottom:18px;
  }
  .plan-meta div{text-align:center;color:var(--ink-2)}
  .plan-meta strong{display:block;color:var(--ink);margin-bottom:2px}

  /* ============ SCHEDULE ============ */
  .schedule{background:#fff}
  .schedule-tabs{
    display:inline-flex;background:var(--bg-2);
    border-radius:999px;padding:4px;margin-bottom:24px;
    border:1px solid var(--line);
  }
  .schedule-tab{
    padding:10px 22px;border-radius:999px;
    font-weight:700;color:var(--ink-2);
    transition:all .25s;
  }
  .schedule-tab.active{
    background:var(--green);color:#fff;
    box-shadow:0 4px 10px rgba(0,174,239,.25);
  }
  .schedule-month{display:none}
  .schedule-month.active{display:block;animation:fade .35s ease}
  @keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
  .schedule-grid{
    display:grid;grid-template-columns:repeat(2,1fr);gap:10px;
    margin-bottom:18px;
  }
  @media (max-width: 719px){
  	.schedule-grid{
  	  display: block;
  	}
  }
  .schedule-card{
    background:#fff;border:1px solid var(--line);
    border-radius:var(--radius);padding:16px 14px;
    display:flex;align-items:center;gap:12px;
    transition:transform .2s, box-shadow .2s;
  }
  .schedule-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
  .schedule-date{
    flex-shrink:0;text-align:center;
    background:var(--green-pale);
    border-radius:10px;padding:6px 8px;min-width:54px;
    border:1px solid var(--green-light);
  }
  .schedule-date .m{color:var(--green-dark);font-weight:700}
  .schedule-date .d{
    line-height:1;color:var(--green);
  }
  .schedule-date .w{color:var(--ink-2);margin-top:2px}
  .schedule-info{flex:1;min-width:0}
  .schedule-info .label{color:var(--ink-2);font-weight:500;letter-spacing:.06em}
  .schedule-info .grad{font-weight:700;margin-top:2px;line-height:1.3}
  .schedule-info .grad span{color:var(--green-dark);margin-right:2px;letter-spacing:.02em}
  .schedule-status{
    flex-shrink:0;width:34px;height:34px;
    border-radius:50%;display:flex;align-items:center;justify-content:center;
    font-weight:900;
  }
  .status-o{background:var(--green-pale);color:var(--green);border:2px solid var(--green)}
  .status-d{background:var(--orange-light);color:var(--orange-dark);border:2px solid var(--orange)}
  .status-x{background:#f7f8f8;color:#aab1ad;border:2px solid #d6dcd8}
  .schedule-card.full{opacity:.6}
  .schedule-legend{
    display:flex;flex-wrap:wrap;gap:14px;
    color:var(--ink-2);
    padding:12px 14px;background:var(--bg-2);
    border-radius:10px;justify-content:center;
  }
  .schedule-legend span{display:inline-flex;align-items:center;gap:6px}
  .schedule-legend i{
    width:20px;height:20px;border-radius:50%;
    display:inline-flex;align-items:center;justify-content:center;
    font-style:normal;font-weight:900;
  }
  .schedule-note{
    margin-top:14px;color:var(--ink-2);text-align:center;
  }
  .schedule-update{
    display:inline-flex;align-items:center;gap:6px;
    color:var(--ink-2);
    margin-bottom:14px;
  }
  .schedule-update::before{
    content:"";width:6px;height:6px;border-radius:50%;
    background:#22c55e;animation:pulse 1.6s infinite;
  }

  /* ============ REASONS ============ */
  .reasons{background:var(--bg-2)}
  .reasons-grid{
    display:grid;grid-template-columns:1fr;gap:16px;
  }
  .reason{
    background:#fff;border-radius:var(--radius);
    overflow:hidden;border:1px solid var(--line);
    transition:transform .25s, box-shadow .25s;
    display: block;
  }
  .reason:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
  .reason-img{
    aspect-ratio:16/8;
    background:repeating-linear-gradient(45deg,#e0f5fd 0 10px, #c5e9f8 10px 20px);
    position:relative;
  }
  .reason-img span{
    position:absolute;inset:auto 0 12px 12px;
    color:#0070a0;font-family:ui-monospace,monospace;
    background:rgba(255,255,255,.85);padding:4px 8px;border-radius:4px;
    width:fit-content;
  }
  .reason-num{
    position:absolute;top:12px;left:12px;
    background:var(--green);color:#fff;
    width:36px;height:36px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;
  }
  .reason-body{padding:18px}
  .reason-body h3{margin-bottom:8px}
  .reason-body h3 .ac{color:var(--orange)}
  .reason-body p{color:var(--ink-2)}

  /* ============ REVIEWS ============ */
  .review-source{
    display:inline-flex;align-items:center;gap:8px;
    background:#fff;border:1px solid var(--line);
    padding:8px 14px;border-radius:999px;
    font-weight:500;margin-bottom:24px;
  }
  .review-stars{color:#fbbc04;letter-spacing:1px}
  .review-grid{display:grid;grid-template-columns:1fr;gap:14px}
  .review{
    background:#fff;border:1px solid var(--line);
    border-radius:var(--radius);padding:20px;
    box-shadow:var(--shadow-sm);
  }
  .review-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}
  .review-avatar{
    width:40px;height:40px;border-radius:50%;
    background:var(--green-light);color:var(--green);
    display:flex;align-items:center;justify-content:center;
    font-weight:700;
  }
  .review-name{font-weight:700}
  .review-meta{color:var(--ink-2)}
  .review p{line-height:1.7}

  /* ============ ACCESS ============ */
  .access{background:var(--green-pale)}
  .access-card{
    background:#fff;border-radius:var(--radius);
    overflow:hidden;border:1px solid var(--line);
    box-shadow:var(--shadow-sm);
  }
  .access-map{
    aspect-ratio:16/10;
    background:
      linear-gradient(0deg, transparent 49%, #c8dee8 49% 51%, transparent 51%) 0 0/40px 40px,
      linear-gradient(90deg, transparent 49%, #c8dee8 49% 51%, transparent 51%) 0 0/40px 40px,
      #e7f3f9;
    position:relative;
  }
  .access-pin{
    position:absolute;top:50%;left:50%;
    transform:translate(-50%,-100%);
    width:36px;height:36px;
    background:var(--orange);border-radius:50% 50% 50% 0;
    transform-origin:bottom;
    transform:translate(-50%,-100%) rotate(-45deg);
    box-shadow:0 4px 12px rgba(0,0,0,.2);
    animation:bob 2s ease-in-out infinite;
  }
  .access-pin::after{
    content:"";position:absolute;
    top:10px;left:10px;width:16px;height:16px;
    background:#fff;border-radius:50%;
  }
  @keyframes bob{
    0%,100%{transform:translate(-50%,-100%) rotate(-45deg)}
    50%{transform:translate(-50%,calc(-100% - 6px)) rotate(-45deg)}
  }
  .access-stations{
    position:absolute;color:var(--ink-2);
    background:rgba(255,255,255,.9);padding:3px 8px;border-radius:4px;
    border:1px solid var(--line);
  }
  .station-1{top:30%;left:15%}
  .station-2{bottom:18%;right:10%}
  .station-3{top:18%;right:15%}

  .access-body{padding:22px}
  .access-body h3{margin-bottom:14px}
  .access-list{display:grid;gap:10px}
  .access-list dt{
    color:var(--ink-2);font-weight:500;
    margin-bottom:2px;letter-spacing:.06em;
  }
  .access-list dd{font-weight:500;margin-bottom:10px}
  .access-route{
    margin-top:14px;padding:12px;
    background:var(--green-pale);border-radius:8px;
    color:var(--green-dark);
  }
  .access-route strong{display:block;margin-bottom:4px;}

  /* ============ FAQ ============ */
  .faq-list{display:grid;gap:10px}
  .faq-item{
    background:#fff;border:1px solid var(--line);
    border-radius:var(--radius);overflow:hidden;
  }
  .faq-q{
    width:100%;padding:18px 50px 18px 56px;
    text-align:left;font-weight:700;
    position:relative;
    transition:background .2s;
  }
  .faq-q:hover{background:var(--green-pale)}
  .faq-q::before{
    content:"Q";position:absolute;left:18px;top:50%;
    transform:translateY(-50%);
    width:28px;height:28px;border-radius:50%;
    background:var(--green);color:#fff;
    display:flex;align-items:center;justify-content:center;
  }
  .faq-q::after{
    content:"+";position:absolute;right:18px;top:50%;
    transform:translateY(-50%);
    color:var(--green);font-weight:300;
    transition:transform .3s;
  }
  .faq-item.open .faq-q::after{transform:translateY(-50%) rotate(45deg)}
  .faq-a{
    max-height:0;overflow:hidden;
    transition:max-height .35s ease;
    background:var(--green-pale);
  }
  .faq-item.open .faq-a{max-height:300px}
  .faq-a-inner{
    padding:16px 20px 18px 56px;color:var(--ink-2);
    position:relative;
  }
  .faq-a-inner::before{
    content:"A";position:absolute;left:18px;top:16px;
    width:28px;height:28px;border-radius:50%;
    background:var(--orange);color:#fff;
    display:flex;align-items:center;justify-content:center;
  }

  /* ============ FINAL CTA ============ */
  .final{
    background:linear-gradient(135deg, var(--green) 0%, var(--green-dark) 100%);
    color:#fff;text-align:center;
    position:relative;overflow:hidden;
  }
  .final::before{
    content:"";position:absolute;
    top:-100px;right:-100px;width:300px;height:300px;
    background:var(--orange);opacity:.15;border-radius:50%;
  }
  .final::after{
    content:"";position:absolute;
    bottom:-80px;left:-80px;width:240px;height:240px;
    background:#fff;opacity:.05;border-radius:50%;
  }
  .final-inner{position:relative;z-index:1}
  .final h2{
    font-weight:900;line-height:1.3;
    margin-bottom:14px;
    font-size: 2em;
  }
  .final h2 .ac{color:var(--orange)}
  .final-sub{opacity:.9;margin-bottom:32px}
  .final .btn-primary{
    width:100%;max-width:420px;margin:0 auto;
    padding:22px 24px;
  }
  .final-contact{
    margin-top:32px;padding-top:32px;
    border-top:1px solid rgba(255,255,255,.2);
    display:grid;gap:14px;
  }
  .final-tel{
    background:rgba(255,255,255,.1);
    border:1px solid rgba(255,255,255,.25);
    border-radius:var(--radius);padding:18px;
  }
  .final-tel small{display:block;opacity:.8;margin-bottom:4px}
  .final-tel a{
    letter-spacing:.04em;display:block;
  }
  .final-tel .hours{opacity:.8;margin-top:4px}

  /* ============ FOOTER ============ */
  footer{
    background:#fff;color:var(--ink-2);
    padding:32px 0;
    border-top:1px solid var(--line);
    text-align:center;
  }
  footer p{margin:0}
  footer .copy{color:var(--ink-2);opacity:.7}

  /* ============ FLOATING CTA (mobile only) ============ */
  .float-cta{
    position:fixed;bottom:0;left:0;right:0;z-index:40;
    background:#fff;border-top:1px solid var(--line);
    padding:8px;display:flex;gap:6px;
    box-shadow:0 -4px 16px rgba(0,0,0,.06);
  }
  .float-cta .btn{flex:1;padding:14px 8px;border-radius:10px}
  .float-cta-spacer{height:78px}

  /* ============ ANIMATIONS ============ */
  .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease, transform .7s ease}
  .reveal.in{opacity:1;transform:translateY(0)}
  .reveal-d1{transition-delay:.08s}
  .reveal-d2{transition-delay:.16s}
  .reveal-d3{transition-delay:.24s}

  /* ============ MEDIA ============ */
  @media (min-width: 720px){
    .problem-grid{grid-template-columns:repeat(2,1fr)}
    .strengths{grid-template-columns:repeat(4,1fr)}
    .reasons-grid{grid-template-columns:repeat(2,1fr)}
    .schedule-grid{grid-template-columns:repeat(4,1fr)}
    .review-grid{grid-template-columns:repeat(3,1fr)}
    .cta-row{flex-direction:row}
    .cta-row .btn{flex:1}
    .final-contact{grid-template-columns:1fr 1fr}
    .float-cta{display:none}
    .float-cta-spacer{display:none}
  }
  @media (min-width: 980px){
    .important{padding:120px 0 80px}
    .important-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center}
    .important-visual{margin-top:0;aspect-ratio:4/5}
    .plan-card{padding:36px;display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}
    .plan-card .plan-meta{grid-column:1/-1}
  }