﻿
@import url('../../fonts/fonts.css');

.iul-ag49-rate-tool-wrap{
  --accent:#1a3a5c;
  --paper:#f7f4ef;
  --gold:#b8860b;
  --ink:#0f0f0f;
  --card:#ffffff;
  --line:#e6ded2;
  --muted:#6f6657;
  --up:#1D9E75;
  --dn:#D85A30;
  font-family:'DM Sans',system-ui,sans-serif !important;background:transparent !important;color:var(--ink) !important;padding:1.5rem;max-width:1400px;margin:0 auto;-webkit-font-smoothing:antialiased
}
.iul-ag49-rate-tool-wrap,
.iul-ag49-rate-tool-wrap *{box-sizing:border-box}
.iul-ag49-rate-tool-wrap *{margin:0;padding:0}

/* masthead */
.masthead{background:var(--accent);border-radius:12px;padding:22px 26px;margin-bottom:1.5rem;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.masthead h1{font-family:'Playfair Display',serif !important;font-weight:600;font-size:25px;line-height:1.15;color:#fff !important;margin:0}
.mast-brand{font-family:'DM Mono',monospace !important;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold) !important;margin-top:7px}
.mast-actions{display:flex;gap:8px;flex-shrink:0}
.mast-btn{font-family:'DM Sans',sans-serif !important;padding:8px 16px;border-radius:8px;border:1px solid rgba(255,255,255,0.35);background:transparent;cursor:pointer;font-size:13px;color:#f3eee5 !important}
.mast-btn:hover{background:rgba(255,255,255,0.10)}

.iul-ag49-rate-tool-wrap h1{font-family:'Playfair Display',serif !important;font-weight:600;font-size:25px;color:var(--card) !important}

/* controls */
.top-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:1.25rem}
.ctrl{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px}
.ctrl-lbl{font-family:'DM Mono',monospace !important;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted) !important;margin-bottom:5px}
.ctrl-val{font-family:'Playfair Display',serif !important;font-size:24px;font-weight:600;color:var(--accent) !important;margin-bottom:6px}

.floor-row{display:flex;gap:8px;margin-bottom:1.25rem;align-items:center}
.floor-lbl{font-family:'DM Mono',monospace !important;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted) !important}
.ftog{font-family:'DM Sans',sans-serif !important;padding:6px 18px;border-radius:8px;border:1px solid var(--line);background:var(--card);cursor:pointer;font-size:13px;color:var(--muted) !important}
.ftog.on{background:var(--accent);color:#fff !important;border-color:var(--accent) !important}
.period-row{display:flex;gap:8px;margin-bottom:1.25rem}
.pbtn{font-family:'DM Sans',sans-serif !important;padding:6px 18px;border-radius:8px;border:1px solid var(--line);background:var(--card);cursor:pointer;font-size:13px;color:var(--muted) !important}
.pbtn.on{background:var(--accent);color:#fff !important;border-color:var(--accent) !important}

/* metrics */
.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:1.25rem}
.metrics-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.met{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px}
.met-lbl{font-family:'DM Mono',monospace !important;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted) !important;margin-bottom:5px}
.met-val{font-family:'Playfair Display',serif !important;font-size:22px;font-weight:600;color:var(--accent) !important}
.met-val.up{color:var(--up) !important}.met-val.dn{color:var(--dn) !important}

/* ag49 highlight */
.ag49-box{background:var(--accent);border-radius:10px;padding:16px 18px;margin-bottom:1.25rem;display:flex;align-items:center;justify-content:space-between;gap:12px}
.ag49-lbl{font-family:'DM Mono',monospace !important;font-size:11px;letter-spacing:.04em;color:rgba(255,255,255,0.92) !important;text-transform:uppercase}
.ag49-val{font-family:'Playfair Display',serif !important;font-size:30px;font-weight:600;color:var(--gold) !important}

/* section labels */
.sec{font-family:'DM Mono',monospace !important;font-size:11px;font-weight:500;color:var(--muted) !important;text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px;margin-top:1.25rem}
.section-divider{font-family:'DM Mono',monospace !important;font-size:12px;font-weight:500;color:var(--gold) !important;text-transform:uppercase;letter-spacing:.16em;padding:0.9rem 0 0.5rem;border-top:2px solid var(--gold);margin-top:1.75rem}

/* prose */
.iul-ag49-rate-tool-wrap p{font-family:'DM Sans',sans-serif !important;font-size:13px;color:var(--muted) !important;line-height:1.7}

/* tables */
.pct-tbl{width:100%;border-collapse:collapse;font-size:13px;margin-bottom:1rem}
.pct-tbl th{font-family:'DM Mono',monospace !important;font-size:10px;font-weight:500;color:var(--muted) !important;text-transform:uppercase;letter-spacing:.08em;text-align:left;padding:6px 8px;border-bottom:1px solid var(--line)}
.pct-tbl td{padding:7px 8px;border-bottom:1px solid #efe9df}
.pct-tbl tr:hover td{background:#f1ece3}
.bar-w{height:6px;background:#e7e0d4;border-radius:3px;width:80px;display:inline-block;vertical-align:middle}
.bar-f{height:100%;border-radius:3px;background:var(--accent)}

/* spread cards */
.spread-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:1rem}
.s-card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px}
.s-title{font-family:'DM Mono',monospace !important;font-size:10px;color:var(--muted) !important;margin-bottom:8px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;line-height:1.4}
.s-row{display:flex;justify-content:space-between;font-size:12px;margin-bottom:3px;color:#5a5347 !important}
.s-spread{font-size:12px;font-weight:500;margin-top:6px;padding-top:6px;border-top:1px solid var(--line);color:var(--ink) !important}

/* legend */
.legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px;font-size:12px;color:var(--muted) !important}
.li{display:flex;align-items:center;gap:4px}
.lsq{width:10px;height:10px;border-radius:2px;display:inline-block}
.lln{width:18px;height:3px;border-radius:2px;display:inline-block}
.loading{text-align:center;padding:3rem;color:var(--muted) !important;font-size:14px}

.note{font-size:11px;color:#8a8170 !important;margin-top:1rem;line-height:1.6}
#aggressive-note{background:#f6edd8;border:1px solid #e7d8b0;border-radius:10px;padding:12px 16px;margin-bottom:1.25rem;font-size:13px;color:#6b4e0e !important;line-height:1.6}
.chart-wrap{margin-bottom:4px}
.intro-block{margin-bottom:1.5rem}
.intro-block h2{font-family:'DM Sans',sans-serif !important;font-size:16px;font-weight:500;color:var(--ink) !important;margin-bottom:0.75rem}
.intro-block p{font-size:13px;color:var(--muted) !important;line-height:1.7;margin-bottom:0.75rem}
.cta-block{margin-top:2.5rem;padding-top:1.5rem;border-top:2px solid var(--gold);text-align:center}
.cta-text{font-family:'DM Sans',sans-serif !important;font-size:14px;color:var(--ink) !important;margin-bottom:0.75rem}
.cta-btn,.cta-link{display:inline-block;font-family:'DM Sans',sans-serif !important;padding:10px 24px;border-radius:8px;border:1px solid var(--accent);font-size:13px;color:#fff !important;background:var(--accent);text-decoration:none}
.cta-btn:hover,.cta-link:hover{background:#16314e}
.iul-ag49-rate-tool-wrap select{font-family:'DM Sans',sans-serif !important;width:100%;margin-top:4px;padding:6px 8px;border-radius:8px;border:1px solid var(--line);background:var(--card);font-size:13px;color:var(--ink) !important;cursor:pointer}

/* Themify override â€” input[type=range] only; --iul-range-pct = blue fill */
.iul-ag49-rate-tool-wrap input[type=range]{
  -webkit-appearance:none !important;
  appearance:none !important;
  width:100% !important;
  height:28px !important;
  margin:4px 0 0 !important;
  padding:0 !important;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  outline:none !important;
  cursor:pointer !important;
  accent-color:var(--accent) !important;
}
.iul-ag49-rate-tool-wrap input[type=range]::-webkit-slider-runnable-track{
  height:6px !important;
  border-radius:3px !important;
  background:linear-gradient(to right,var(--accent) 0%,var(--accent) var(--iul-range-pct,50%),var(--line) var(--iul-range-pct,50%),var(--line) 100%) !important;
  border:none !important;
  box-shadow:none !important;
}
.iul-ag49-rate-tool-wrap input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none !important;
  appearance:none !important;
  width:16px !important;
  height:16px !important;
  margin-top:-5px !important;
  border-radius:50% !important;
  background:var(--accent) !important;
  border:2px solid #fff !important;
  box-shadow:0 1px 3px rgba(15,15,15,0.25) !important;
  cursor:pointer !important;
}
.iul-ag49-rate-tool-wrap input[type=range]::-moz-range-track{
  height:6px !important;
  border-radius:3px !important;
  background:var(--line) !important;
  border:none !important;
}
.iul-ag49-rate-tool-wrap input[type=range]::-moz-range-progress{
  height:6px !important;
  border-radius:3px !important;
  background:var(--accent) !important;
  border:none !important;
}
.iul-ag49-rate-tool-wrap input[type=range]::-moz-range-thumb{
  width:16px !important;
  height:16px !important;
  border-radius:50% !important;
  background:var(--accent) !important;
  border:2px solid #fff !important;
  box-shadow:0 1px 3px rgba(15,15,15,0.25) !important;
  cursor:pointer !important;
}
@media print{
  .iul-ag49-rate-tool-wrap button,
  .iul-ag49-rate-tool-wrap select,
  .iul-ag49-rate-tool-wrap input[type=range]{display:none !important}
  .iul-ag49-rate-tool-wrap{max-width:100%;padding:0.5rem;background:#fff}
  .iul-ag49-rate-tool-wrap .masthead{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .iul-ag49-rate-tool-wrap canvas{max-width:100%}
}

@keyframes loadbar{0%{width:0%}70%{width:80%}100%{width:95%}}
.jump-note{font-size:13.5px;color:#6f6657 !important;margin:0.5rem 0 0;font-family:'DM Sans',sans-serif !important}
.jump-note a{color:var(--accent) !important;text-decoration:underline;font-weight:500;cursor:pointer}

.lens-controls{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-end;background:#fff;border:1px solid #e6ded2;border-radius:10px;padding:14px 16px;margin-top:1.75rem;margin-bottom:1.25rem}
.lens-hurdle-wrap{flex:1 1 300px;min-width:260px}
.lens-ybtns{display:flex;gap:8px}
.lbtn{font-family:'DM Sans',sans-serif !important;padding:7px 16px;border-radius:8px;border:1px solid #e6ded2;background:#fff;cursor:pointer;font-size:13px;color:#6f6657 !important}
.lbtn.on{background:#1a3a5c;color:#fff !important;border-color:#1a3a5c !important}
.legend .li{display:inline-flex;align-items:center;gap:5px;margin-right:14px;font-size:12px;color:#6f6657 !important}
.legend .lln{width:18px;height:3px;border-radius:2px;display:inline-block}
.legend .lbx{width:13px;height:11px;border-radius:2px;display:inline-block}
.lens-panel{display:grid;grid-template-columns:230px 1fr;gap:16px;margin-top:1.75rem;margin-bottom:1.25rem;align-items:stretch}
.lens-gauge{border-radius:10px;padding:18px;color:#fff !important;display:flex;flex-direction:column;justify-content:center;text-align:center}
.lg-cap{font-family:'DM Mono',monospace !important;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;opacity:.95}
.lg-val{font-family:'Playfair Display',serif !important;font-size:46px;font-weight:600;line-height:1.05;margin:4px 0}
.lg-cond{font-size:12px;opacity:.95}
.lens-card{background:#fff;border:1px solid #e6ded2;border-radius:10px;padding:14px 16px}
.lens-hz{display:flex;gap:10px;margin:6px 0 2px}
.lens-hz .hz{flex:1;background:#f7f4ef;border:1px solid #e6ded2;border-radius:8px;padding:10px 6px;text-align:center}
.lens-hz .hz.sel{background:#eef2f7;border-color:#c3d0df !important}
.lens-hz .hz-y{font-family:'DM Mono',monospace !important;font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:#6f6657 !important}
.lens-hz .hz-v{font-family:'Playfair Display',serif !important;font-size:23px;font-weight:600;margin-top:3px}
.lens-readout{font-size:12px;color:#6f6657 !important;margin-top:10px;text-align:right}
.lens-guidance{background:#fff;border:1px solid #e6ded2;border-left:3px solid #1a3a5c;border-radius:10px;padding:14px 18px;margin:0 0 1.25rem}
.lens-guidance h3{font-family:'Playfair Display',serif !important;font-size:15px;font-weight:600;color:#1a3a5c !important;margin:0 0 6px}
.lens-guidance p{font-size:13px;color:#3a3a3a !important;line-height:1.65;margin:0}
.iul-ag49-rate-tool-wrap .h-scroll{max-width:100%}
@media screen and (max-width:860px){
  .iul-ag49-rate-tool-wrap .spread-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media screen and (max-width:1200px){
  .iul-ag49-rate-tool-wrap .top-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
  .iul-ag49-rate-tool-wrap .top-grid .ctrl{height:100%}
}
@media screen and (max-width:760px){
  .iul-ag49-rate-tool-wrap .top-grid{grid-template-columns:1fr}
  .iul-ag49-rate-tool-wrap .metrics,
  .iul-ag49-rate-tool-wrap .metrics-3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media screen and (max-width:640px){
  .iul-ag49-rate-tool-wrap{padding:0.75rem;overflow-wrap:break-word}
  .iul-ag49-rate-tool-wrap .masthead{padding:16px;align-items:flex-start}
  .iul-ag49-rate-tool-wrap .masthead h1,
  .iul-ag49-rate-tool-wrap h1{font-size:22px}
  .iul-ag49-rate-tool-wrap .mast-actions{flex-wrap:wrap;width:100%}
  .iul-ag49-rate-tool-wrap .mast-btn,
  .iul-ag49-rate-tool-wrap .cta-btn{flex:1 1 160px;min-height:44px;text-align:center}
  .iul-ag49-rate-tool-wrap .floor-row,
  .iul-ag49-rate-tool-wrap .period-row,
  .iul-ag49-rate-tool-wrap .lens-ybtns{flex-wrap:wrap}
  .iul-ag49-rate-tool-wrap .ftog,
  .iul-ag49-rate-tool-wrap .pbtn,
  .iul-ag49-rate-tool-wrap .lbtn{min-height:44px}
  .iul-ag49-rate-tool-wrap .ag49-box{flex-direction:column;align-items:flex-start}
  .iul-ag49-rate-tool-wrap .ag49-val{font-size:28px}
  .iul-ag49-rate-tool-wrap .spread-grid{grid-template-columns:1fr}
  .iul-ag49-rate-tool-wrap select{font-size:16px !important;min-height:44px}
  .iul-ag49-rate-tool-wrap input[type=range]{height:44px !important}
  .iul-ag49-rate-tool-wrap input[type=range]::-webkit-slider-thumb{width:22px !important;height:22px !important;margin-top:-8px !important}
  .iul-ag49-rate-tool-wrap input[type=range]::-moz-range-thumb{width:22px !important;height:22px !important}
  .iul-ag49-rate-tool-wrap canvas{display:block;max-width:100% !important}
  .iul-ag49-rate-tool-wrap .lens-hurdle-wrap{min-width:0 !important;flex:1 1 100% !important}
  .iul-ag49-rate-tool-wrap .lens-panel{grid-template-columns:1fr !important}
  .iul-ag49-rate-tool-wrap .lens-hz{flex-wrap:wrap}
  .iul-ag49-rate-tool-wrap .lens-hz .hz{flex:1 1 calc(50% - 8px) !important;min-width:0}
  .iul-ag49-rate-tool-wrap .lens-readout{text-align:left !important}
  .iul-ag49-rate-tool-wrap .h-scroll{min-width:0;max-width:100%}
  .iul-ag49-rate-tool-wrap .legend .li{max-width:100%}
  .iul-ag49-rate-tool-wrap .note,
  .iul-ag49-rate-tool-wrap .sec,
  .iul-ag49-rate-tool-wrap .s-title{overflow-wrap:break-word}
}
@media screen and (max-width:480px){
  .iul-ag49-rate-tool-wrap .floor-row > span:last-child{flex-basis:100%;margin-left:0 !important}
  .iul-ag49-rate-tool-wrap .pbtn,
  .iul-ag49-rate-tool-wrap .ftog{padding:10px 12px}
  .iul-ag49-rate-tool-wrap .pct-tbl{display:block;width:100%;min-width:0}
  .iul-ag49-rate-tool-wrap .pct-tbl thead{display:none}
  .iul-ag49-rate-tool-wrap .pct-tbl tbody,
  .iul-ag49-rate-tool-wrap .pct-tbl tr,
  .iul-ag49-rate-tool-wrap .pct-tbl td{display:block;width:auto}
  .iul-ag49-rate-tool-wrap .pct-tbl tr{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-bottom:8px;background:#fff}
  .iul-ag49-rate-tool-wrap .pct-tbl td{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;align-items:center;border:none;padding:4px 0}
  .iul-ag49-rate-tool-wrap .pct-tbl td::before{font-family:'DM Mono',monospace !important;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted) !important}
  .iul-ag49-rate-tool-wrap .pct-tbl td:nth-child(1)::before{content:"Confidence level"}
  .iul-ag49-rate-tool-wrap .pct-tbl td:nth-child(2)::before{content:"Minimum CAGR"}
  .iul-ag49-rate-tool-wrap .pct-tbl td:nth-child(3)::before{content:"Frequency"}
  .iul-ag49-rate-tool-wrap .pct-tbl td:nth-child(4){display:block;padding-top:8px}
  .iul-ag49-rate-tool-wrap .pct-tbl td:nth-child(4)::before{content:none}
  .iul-ag49-rate-tool-wrap .bar-w{width:100%}
}

.iul-ag49-rate-tool-wrap,
.iul-ag49-rate-tool-wrap *{
  font-family:'DM Sans',sans-serif !important;
}
.iul-ag49-rate-tool-wrap [style*="Playfair"],
.iul-ag49-rate-tool-wrap [style*="Playfair"] *,
.iul-ag49-rate-tool-wrap .masthead h1,
.iul-ag49-rate-tool-wrap h1,
.iul-ag49-rate-tool-wrap .ctrl-val,
.iul-ag49-rate-tool-wrap .met-val,
.iul-ag49-rate-tool-wrap .ag49-val,
.iul-ag49-rate-tool-wrap .lg-val,
.iul-ag49-rate-tool-wrap .lens-hz .hz-v,
.iul-ag49-rate-tool-wrap .lens-guidance h3{
  font-family:'Playfair Display',serif !important;
}
.iul-ag49-rate-tool-wrap [style*="DM Mono"],
.iul-ag49-rate-tool-wrap [style*="DM Mono"] *,
.iul-ag49-rate-tool-wrap .mast-brand,
.iul-ag49-rate-tool-wrap .ctrl-lbl,
.iul-ag49-rate-tool-wrap .floor-lbl,
.iul-ag49-rate-tool-wrap .met-lbl,
.iul-ag49-rate-tool-wrap .ag49-lbl,
.iul-ag49-rate-tool-wrap .sec,
.iul-ag49-rate-tool-wrap .section-divider,
.iul-ag49-rate-tool-wrap .pct-tbl th,
.iul-ag49-rate-tool-wrap .s-title,
.iul-ag49-rate-tool-wrap .lg-cap,
.iul-ag49-rate-tool-wrap .lens-hz .hz-y{
  font-family:'DM Mono',monospace !important;
}

.iul-ag49-rate-tool-wrap [data-iul-load].is-loading{position:relative !important}
.iul-ag49-rate-tool-wrap .iul-load-veil{
  position:absolute !important;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,0.72);border-radius:inherit
}
.iul-ag49-rate-tool-wrap .iul-load-veil::before{
  content:'';width:22px;height:22px;border:2px solid rgba(26,58,92,0.25);border-top-color:#1a3a5c;border-radius:50%;
  animation:iul-spin .7s linear infinite
}
@keyframes iul-spin{to{transform:rotate(360deg)}}
@media print{.iul-ag49-rate-tool-wrap .iul-load-veil{display:none !important}}
