  :root{
    --text: #505050;
    --dark: #353432;
    --dark-2: #4E4D4A;
    --line: #dedede;
    --line-soft: #eee;
    --panel: #f7f7f7;
    --blue: #217B97;
    --blue-2: #4682B4;
    --orange: #f39c12;
    --white: #fff;
  }
  *{box-sizing:border-box;}
  body{
    margin:0;
    font-family:'Roboto', sans-serif;
    color:var(--text);
    font-size:16px;
    line-height:1.5;
    background:var(--white);
  }
  h1,h2,h3,.h1,.h2,.h3{font-family:'Oswald', sans-serif;color:var(--dark);margin:0;}
  .eyebrow{
    font-family:'Fira Sans', sans-serif;
    font-style:italic;
    text-transform:uppercase;
    font-size:13px;
    letter-spacing:1px;
    color:var(--blue);
    margin:0 0 8px;
  }
  .wrap{max-width:1000px;margin:0 auto;padding:10px 15px 40px;}

  h1.title{font-size:30px;font-weight:600;line-height:1.15;margin-bottom:12px;}
  h1.title span{color:var(--blue);}
  .lede{color:#777;font-size:15px;max-width:600px;margin:0 0 28px;}

  /* --- Signature visual --- */
  .pane-shell{
    border:1px solid var(--line);
    border-radius:3px;
    background:var(--panel);
    padding:18px 18px 14px;
    margin-bottom:32px;
  }
  .pane-caption{
    display:flex;justify-content:space-between;align-items:baseline;
    font-family:'Fira Sans', sans-serif;font-style:italic;
    font-size:11.5px;text-transform:uppercase;letter-spacing:.5px;
    color:#999;margin-bottom:10px;
  }
  .pane-caption b{color:var(--dark);font-style:normal;font-weight:700;}
  svg#pane{display:block;width:100%;height:auto;}

  /* --- Layout --- */
  .grid{display:grid;grid-template-columns:1.15fr 1fr;gap:20px;align-items:start;}
  @media (max-width:800px){.grid{grid-template-columns:1fr;}}

  .card{
    background:var(--white);
    border:1px solid var(--line);
    border-radius:3px;
    padding:22px 22px 24px;
  }
  .card h2{
    font-size:17px;font-weight:600;
    text-transform:uppercase;letter-spacing:.3px;
    margin:0 0 18px;
    padding-bottom:10px;
    border-bottom:1px solid var(--line-soft);
  }

  .field{margin-bottom:20px;}
  .field:last-child{margin-bottom:0;}
  .field label{
    display:flex;justify-content:space-between;
    font-size:13px;color:#777;margin-bottom:9px;
  }
  .field label b{font-family:'Oswald',sans-serif;color:var(--blue);font-weight:600;}

  input[type=range]{-webkit-appearance:none;width:100%;height:3px;border-radius:2px;background:var(--line);outline:none;}
  input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--blue);border:2px solid #fff;box-shadow:0 0 0 1px var(--line);cursor:pointer;margin-top:-6px;}
  input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--blue);border:2px solid #fff;box-shadow:0 0 0 1px var(--line);cursor:pointer;}
  input[type=range]::-moz-range-track{background:var(--line);height:3px;border-radius:2px;}

  .opts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
  .opts.two{grid-template-columns:repeat(2,1fr);}
  .opt{
    border:1px solid var(--line);background:var(--white);color:#777;
    border-radius:3px;padding:9px 6px;font-size:12.5px;text-align:center;
    cursor:pointer;transition:border-color .15s,color .15s,background .15s;user-select:none;
  }
  .opt:hover{border-color:var(--blue-2);}
  .opt.active{background:var(--blue);border-color:var(--blue);color:#fff;}

  .film-cards{display:flex;flex-direction:column;gap:8px;}
  .film-opt{
    border:1px solid var(--line);background:var(--white);border-radius:3px;
    padding:11px 13px;cursor:pointer;transition:border-color .15s,background .15s;
  }
  .film-opt:hover{border-color:var(--blue-2);}
  .film-opt.active{border-color:var(--blue);background:#eef5f7;}
  .film-opt .fname{font-family:'Oswald',sans-serif;font-size:13.5px;font-weight:600;color:var(--dark);}
  .film-opt .fdesc{font-size:11.5px;color:#888;margin-top:2px;}

  .checks{display:flex;flex-direction:column;gap:10px;}
  .chk{display:flex;align-items:center;gap:10px;font-size:13px;color:#777;cursor:pointer;}
  .chk input{width:16px;height:16px;accent-color:var(--blue);cursor:pointer;}
  .chk.checked{color:var(--dark);}

  /* --- Results --- */
  .result-card{background:var(--panel);position:sticky;top:16px;}
  .big-number{font-family:'Oswald',sans-serif;font-weight:700;font-size:clamp(28px,4vw,36px);color:var(--dark);margin:2px 0 2px;}
  .range-label{font-size:12px;color:#888;margin-bottom:18px;}

  .breakdown{border-top:1px solid var(--line);padding-top:14px;margin-top:4px;}
  .bline{display:flex;justify-content:space-between;font-size:12.5px;color:#777;padding:5px 0;}
  .bline b{color:var(--dark);font-weight:500;}
  .bline.total{border-top:1px solid var(--line);margin-top:6px;padding-top:10px;color:var(--dark);font-size:14px;}
  .bline.total b{font-family:'Oswald',sans-serif;font-weight:700;color:var(--blue);}
  .bline.offer{color:#2cc36b;}
  .bline.offer b{color:#2cc36b;}

  .metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0 6px;}
  .metric{background:var(--white);border:1px solid var(--line);border-radius:3px;padding:13px 14px;}
  .metric .mval{font-family:'Oswald',sans-serif;font-weight:700;font-size:21px;color:var(--blue);}
  .metric .mlab{font-size:11px;color:#888;margin-top:3px;line-height:1.35;}

  .cta{
    display:block;text-align:center;background:var(--blue);color:#fff!important;
    font-family:'Roboto',sans-serif;font-weight:700;font-size:14px;letter-spacing:1px;
    text-transform:uppercase;text-decoration:none;border-radius:3px;padding:14px;
    margin-top:20px;box-shadow:0 1px 1px rgba(0,0,0,.2);
    transition:background .15s;
  }
  .cta:hover{background:#1a6379;}

  .disclaimer{font-size:11px;color:#999;margin-top:14px;line-height:1.5;}