    .calc-page{
      padding:56px 0 90px;
    }

    .calc-intro{
      display:grid;
      grid-template-columns:.55fr 1.45fr;
      gap:30px;
      margin-bottom:38px;
      align-items:start;
    }

    .calc-intro h1{
      font:400 clamp(46px,5.8vw,82px)/.93 Georgia,"Times New Roman",serif;
      letter-spacing:-.05em;
      margin:0;
      max-width:980px;
    }

    .calc-intro p{
      max-width:720px;
      color:var(--muted);
      font-size:16px;
      line-height:1.55;
      margin:24px 0 0;
    }

    .calc-layout{
      display:grid;
      grid-template-columns:minmax(0,1.18fr) minmax(340px,.82fr);
      gap:20px;
      align-items:start;
    }

    .calc-card,
    .calc-result{
      background:var(--card);
      border:1px solid var(--line);
      border-radius:32px;
    }

    .calc-card{
      padding:36px;
    }

    .calc-result{
      position:sticky;
      top:110px;
      overflow:hidden;
    }

    .calc-result-top{
      padding:34px;
      background:var(--navy);
      color:#fff;
      min-height:220px;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
    }

    .calc-result-top small{
      text-transform:uppercase;
      letter-spacing:.14em;
      font-size:10px;
      color:rgba(255,255,255,.58);
    }

    .calc-total{
      font:400 clamp(46px,5vw,72px)/1 Georgia;
      letter-spacing:-.045em;
      margin-top:34px;
    }

    .calc-total-caption{
      margin-top:9px;
      color:rgba(255,255,255,.62);
      font-size:13px;
    }

    .calc-result-body{
      padding:30px 34px 34px;
    }

    .field-group{
      padding:0 0 30px;
      margin-bottom:30px;
      border-bottom:1px solid var(--line);
    }

    .field-group:last-child{
      margin-bottom:0;
    }

    .field-label{
      display:flex;
      align-items:center;
      gap:10px;
      font-size:12px;
      text-transform:uppercase;
      letter-spacing:.12em;
      color:var(--muted);
      margin-bottom:14px;
    }

    .field-number{
      width:26px;
      height:26px;
      display:grid;
      place-items:center;
      border:1px solid var(--line);
      border-radius:50%;
      font-size:10px;
      color:var(--ink);
    }

    .money-wrap{
      position:relative;
    }

    .money-input{
      width:100%;
      height:76px;
      border:1px solid var(--line);
      border-radius:18px;
      background:#faf9f6;
      outline:none;
      padding:0 58px 0 20px;
      font-size:28px;
      letter-spacing:-.03em;
    }

    .money-input:focus,
    .select-box:focus{
      border-color:rgba(16,24,32,.45);
      box-shadow:0 0 0 4px rgba(20,45,63,.06);
    }

    .money-unit{
      position:absolute;
      right:22px;
      top:50%;
      transform:translateY(-50%);
      color:var(--muted);
      font-size:18px;
    }

    .choice-grid{
      display:grid;
      grid-template-columns:repeat(2,1fr);
      gap:10px;
    }

    .choice-grid.three{
      grid-template-columns:repeat(3,1fr);
    }

    .choice{
      position:relative;
    }

    .choice input{
      position:absolute;
      opacity:0;
      pointer-events:none;
    }

    .choice label{
      min-height:72px;
      display:flex;
      align-items:center;
      justify-content:center;
      text-align:center;
      padding:13px 14px;
      border:1px solid var(--line);
      border-radius:16px;
      cursor:pointer;
      background:#faf9f6;
      font-size:14px;
      line-height:1.25;
      transition:.18s ease;
    }

    .choice input:checked + label{
      border-color:var(--ink);
      background:var(--ink);
      color:#fff;
    }

    .select-box{
      width:100%;
      min-height:58px;
      border:1px solid var(--line);
      border-radius:16px;
      background:#faf9f6;
      padding:0 16px;
      outline:none;
      color:var(--ink);
    }

    .helper{
      margin-top:12px;
      color:var(--muted);
      font-size:12px;
      line-height:1.45;
    }

    .breakdown-title{
      font:400 28px/1.05 Georgia;
      margin:0 0 20px;
    }

    .breakdown{
      display:grid;
      gap:0;
    }

    .breakdown-row{
      display:flex;
      justify-content:space-between;
      gap:20px;
      padding:15px 0;
      border-top:1px solid var(--line);
      font-size:13px;
    }

    .breakdown-row span:first-child{
      color:var(--muted);
    }

    .breakdown-row strong{
      white-space:nowrap;
      font-size:14px;
    }

    .memo{
      margin-top:26px;
      padding:20px;
      border-radius:18px;
      background:var(--paper);
    }

    .memo-title{
      font-weight:700;
      font-size:13px;
      margin-bottom:10px;
    }

    .memo p{
      margin:0;
      color:var(--muted);
      font-size:12px;
      line-height:1.55;
    }

    .calc-actions{
      display:grid;
      grid-template-columns:1fr auto;
      gap:10px;
      margin-top:24px;
    }

    .calc-btn{
      border:0;
      height:54px;
      padding:0 20px;
      border-radius:14px;
      cursor:pointer;
      font-weight:700;
    }

    .calc-btn.primary{
      background:var(--lime);
      color:var(--ink);
    }

    .calc-btn.secondary{
      background:transparent;
      border:1px solid var(--line);
      color:var(--ink);
    }

    .calc-note{
      margin-top:18px;
      font-size:11px;
      line-height:1.5;
      color:var(--muted);
    }

    .law-note{
      margin-top:20px;
      padding:22px 26px;
      border:1px solid var(--line);
      border-radius:22px;
      display:flex;
      justify-content:space-between;
      gap:24px;
      align-items:center;
    }

    .law-note b{
      display:block;
      margin-bottom:5px;
      font-size:14px;
    }

    .law-note span{
      font-size:12px;
      color:var(--muted);
      line-height:1.45;
    }

    .law-badge{
      white-space:nowrap;
      border:1px solid var(--line);
      border-radius:999px;
      padding:10px 14px;
      font-size:11px;
    }

    @media(max-width:980px){
      .calc-page{padding-top:36px}
      .calc-intro{grid-template-columns:1fr;gap:14px}
      .calc-layout{grid-template-columns:1fr}
      .calc-result{position:static}
      .calc-intro h1{font-size:clamp(48px,9vw,72px)}
    }

    @media(max-width:720px){
      .calc-page{padding:28px 0 60px}
      .calc-intro{margin-bottom:24px}
      .calc-intro h1{font-size:clamp(42px,13vw,58px)}
      .calc-intro p{font-size:14px;margin-top:16px}
      .calc-card{padding:22px;border-radius:24px}
      .calc-result{border-radius:24px}
      .calc-result-top{padding:26px;min-height:190px}
      .calc-result-body{padding:24px}
      .money-input{height:68px;font-size:24px}
      .choice-grid,
      .choice-grid.three{grid-template-columns:1fr}
      .choice label{min-height:56px;justify-content:flex-start;text-align:left;padding:0 16px}
      .field-group{padding-bottom:24px;margin-bottom:24px}
      .calc-actions{grid-template-columns:1fr}
      .law-note{align-items:flex-start;display:grid;padding:20px}
      .law-badge{justify-self:start}
    }