/* Keiracom cost check (quiz + calculator in one). Mobile first. */
.cc{--cc-line:#17141026;color:var(--ink,#171410);font-family:var(--body,"Familjen Grotesk",system-ui,sans-serif);text-align:left;max-width:40rem}
.cc *{box-sizing:border-box}
.cc .vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.cc .cc-top{display:flex;align-items:center;gap:.8rem;margin:0 0 1rem}
.cc .cc-progress{margin:0;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.cc .cc-bar{flex:1;height:6px;background:#1714101f;border-radius:3px;overflow:hidden}
.cc .cc-bar span{display:block;height:100%;width:0;background:var(--mustard,#e2a12b);transition:width .3s}
.cc fieldset{border:0;margin:0;padding:0;min-width:0}
.cc .cc-q{display:block;font-family:var(--display,Fraunces,serif);font-size:clamp(1.45rem,5.6vw,2rem);line-height:1.12;font-weight:600;letter-spacing:-.01em;margin:0 0 .5rem;padding:0;outline:none;color:var(--navy,#101c2c)}
.cc .cc-hint{margin:0 0 .9rem;font-size:.95rem;opacity:.8}
.cc .cc-opts{display:grid;gap:.55rem;margin-top:.9rem}
.cc .cc-opts.cc-two{grid-template-columns:1fr 1fr}
.cc .cc-opt{position:relative;display:block;cursor:pointer}
.cc .cc-opt input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.cc .cc-opt span{display:flex;align-items:center;gap:.5rem;min-height:3.25rem;padding:.75rem 1rem;border:1.5px solid var(--cc-line);background:#fffdf8;font-weight:600;line-height:1.25;transition:background .15s,border-color .15s}
.cc .cc-opt span small{font-weight:500;opacity:.7}
.cc .cc-opt input[type=checkbox]+span:before,.cc .cc-opt input[type=radio]+span:before{content:"";flex:none;width:1.1rem;height:1.1rem;border:1.5px solid currentColor;border-radius:50%;opacity:.6}
.cc .cc-opt input[type=checkbox]+span:before{border-radius:3px}
.cc .cc-opt input:checked+span{background:var(--navy,#101c2c);color:var(--paper,#f4efe6);border-color:var(--navy,#101c2c)}
.cc .cc-opt input:checked+span:before{background:var(--mustard,#e2a12b);border-color:var(--mustard,#e2a12b);opacity:1;box-shadow:inset 0 0 0 3px var(--navy,#101c2c)}
.cc .cc-opt input:focus-visible+span,.cc .cc-check input:focus-visible+span:before{outline:3px solid var(--mustard,#e2a12b);outline-offset:2px}
.cc .cc-opt:hover span{border-color:var(--navy,#101c2c)}
.cc .cc-sub{margin-top:1.1rem}
.cc .cc-lab{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;font-weight:700;margin-bottom:.4rem}
.cc .cc-lab small{display:block;font-weight:500;opacity:.7;font-size:.85rem}
.cc .cc-out{font-family:var(--display,Fraunces,serif);font-size:1.35rem;font-weight:600;white-space:nowrap;color:var(--navy,#101c2c)}
.cc .cc-range{-webkit-appearance:none;appearance:none;width:100%;height:44px;background:transparent;margin:0;--p:50%}
.cc .cc-range::-webkit-slider-runnable-track{height:8px;border-radius:4px;background:linear-gradient(90deg,var(--navy,#101c2c) var(--p),#17141026 var(--p))}
.cc .cc-range::-moz-range-track{height:8px;border-radius:4px;background:linear-gradient(90deg,var(--navy,#101c2c) var(--p),#17141026 var(--p))}
.cc .cc-range::-webkit-slider-thumb{-webkit-appearance:none;width:30px;height:30px;border-radius:50%;background:var(--mustard,#e2a12b);border:3px solid var(--navy,#101c2c);margin-top:-11px}
.cc .cc-range::-moz-range-thumb{width:26px;height:26px;border-radius:50%;background:var(--mustard,#e2a12b);border:3px solid var(--navy,#101c2c)}
.cc .cc-range:focus-visible{outline:3px solid var(--mustard,#e2a12b);outline-offset:2px}
.cc .cc-scale{display:flex;justify-content:space-between;font-size:.8rem;opacity:.65}
.cc .cc-pair{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.cc .cc-num{display:block;font-weight:700;font-size:.95rem}
.cc .cc-num small{display:block;font-weight:500;opacity:.7}
.cc .cc-box{display:flex;align-items:center;gap:.3rem;margin-top:.35rem;border:1.5px solid var(--cc-line);background:#fffdf8;padding:0 .7rem;min-height:3rem}
.cc .cc-box input{border:0;background:transparent;font:inherit;font-size:1.1rem;width:100%;min-width:0;padding:.6rem 0;color:inherit}
.cc .cc-box:focus-within{outline:3px solid var(--mustard,#e2a12b)}
.cc .cc-check{display:flex;gap:.65rem;align-items:flex-start;margin-top:1rem;cursor:pointer;line-height:1.35}
.cc .cc-check input{position:absolute;opacity:0;width:1px;height:1px}
.cc .cc-check span:before{content:"";flex:none;display:inline-block;width:1.4rem;height:1.4rem;border:1.5px solid currentColor;background:#fffdf8;vertical-align:-.3rem;margin-right:.6rem}
.cc .cc-check input:checked+span:before{background:var(--navy,#101c2c) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3 3 7-7' fill='none' stroke='%23e2a12b' stroke-width='2.4'/%3E%3C/svg%3E") center/80% no-repeat}
.cc .cc-check span{display:block;font-weight:600;padding-left:2rem;text-indent:-2rem}
.cc .cc-check small{display:block;font-weight:500;opacity:.75;text-indent:0;font-size:.85rem}
.cc .cc-derived{margin:.9rem 0 0;font-size:.95rem;opacity:.85}
.cc .cc-err{margin:.8rem 0 0;padding:.6rem .8rem;background:#fde8c8;border-left:4px solid var(--mustard,#e2a12b);font-weight:600;font-size:.95rem}
.cc .cc-nav{display:flex;justify-content:space-between;gap:.7rem;margin-top:1.3rem}
.cc .cc-nav .cc-next{margin-left:auto;min-width:8rem}
.cc .cc-nav.is-result{margin-top:.6rem}
.cc .cc-rk,.cc .cc-plan-h,.cc .cc-gate-h{margin:0 0 .3rem;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.cc .cc-hrs{font-size:clamp(1.7rem,7vw,2.4rem)}
.cc .cc-hb{margin:.6rem 0 1.1rem}
.cc .cc-hb .hb{display:grid;grid-template-columns:4.6rem 1fr 3.4rem;align-items:center;gap:.5rem;margin:.35rem 0;font-size:.9rem}
.cc .cc-hb .hb-t{height:12px;background:#1714101a;border-radius:6px;overflow:hidden}
.cc .cc-hb .hb-f{display:block;height:100%;background:var(--navy,#101c2c);border-radius:6px;transition:width .3s}
.cc .cc-hb .hb-zero{width:0}
.cc .cc-hb .hb-v{font-weight:700;text-align:right}
.cc .cc-plan{background:var(--navy,#101c2c);color:var(--paper,#f4efe6);padding:1rem 1.1rem;margin:0 0 1rem}
.cc .cc-plan-n{margin:0;font-family:var(--display,Fraunces,serif);font-size:1.35rem;font-weight:600}
.cc .cc-plan-p{margin:.3rem 0 0}
.cc .cc-plan-p b{color:var(--mustard,#e2a12b);font-size:1.15rem}
.cc .cc-plan-w{margin:.45rem 0 0;font-size:.88rem;opacity:.8}
.cc .cc-gate{border:1.5px dashed var(--navy,#101c2c);padding:1rem 1.1rem;background:#fffdf8}
.cc .cc-gate-s{margin:.2rem 0 .8rem;font-size:.95rem}
.cc .cc-field{display:block;font-weight:700;margin-top:.75rem}
.cc .cc-field input{display:block;width:100%;margin-top:.35rem;min-height:3rem;padding:.6rem .75rem;font:inherit;font-size:1.05rem;border:1.5px solid var(--cc-line);background:#fff;color:inherit}
.cc .cc-field input:focus{outline:3px solid var(--mustard,#e2a12b);outline-offset:0}
.cc .cc-field input[aria-invalid=true]{border-color:#a3360f}
.cc .cc-opt-l{font-weight:500;opacity:.75}
.cc .cc-consent span{font-weight:500;font-size:.9rem}
.cc .cc-show{width:100%;margin-top:1rem}
.cc .cc-skip,.cc .cc-restart{display:block;margin:.7rem auto 0;background:none;border:0;padding:.6rem;font:inherit;font-size:.92rem;text-decoration:underline;text-underline-offset:.2em;color:inherit;cursor:pointer;min-height:44px}
.cc .cc-money{outline:none}
.cc .cc-head{margin:0;font-family:var(--display,Fraunces,serif);font-size:1.25rem;line-height:1.15}
.cc .cc-amt{font-size:clamp(2.3rem,10vw,3.2rem);font-weight:600;color:#1f6b3a;display:inline-block}
.cc .cc-head.neg .cc-amt{color:#a3360f}
.cc .cc-intro{margin:.4rem 0 1rem}
.cc .cc-ba{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:end;max-width:20rem}
.cc .cc-col{text-align:center}
.cc .cc-stack{display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch;height:240px}
.cc .cc-val{font-weight:700;font-size:.92rem;margin-bottom:.3rem}
.cc .cc-val.dn{color:#a3360f}
.cc .cc-extra{display:block;background:var(--mustard,#e2a12b);height:0;transition:height .3s}
.cc .cc-base{position:relative;display:flex;align-items:center;justify-content:center;height:110px;background:var(--sky,#c9e4f4);font-size:.78rem;padding:.3rem}
.cc .cc-base em{font-style:normal;opacity:.75}
.cc .cc-cut{position:absolute;left:0;right:0;top:0;height:0;background:repeating-linear-gradient(45deg,#a3360f55 0 6px,transparent 6px 12px)}
.cc .cc-lab{margin:.4rem 0 0}
.cc .cc-col .cc-lab{display:block;font-weight:700;font-size:.85rem}
.cc .cc-cap{font-size:.9rem;margin:.8rem 0 .3rem}
.cc .cc-small{font-size:.85rem;opacity:.8;margin:0 0 1rem}
.cc .cc-book .btn{width:100%}
.cc .cc-done{margin:.6rem 0 0;padding:.8rem 1rem;background:var(--sky,#c9e4f4);font-weight:600;outline:none}
.cc .cc-sums{margin-top:1.2rem;border-top:1px solid var(--cc-line)}
.cc .cc-sums summary{cursor:pointer;padding:.9rem 0;font-weight:700;min-height:44px;list-style-position:inside}
.cc .cc-sums summary span{font-weight:500;opacity:.75}
.cc .cc-lines{margin:0 0 1rem}
.cc .cc-lines div{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px solid var(--cc-line)}
.cc .cc-lines dt{font-weight:600}
.cc .cc-lines dt small{display:block;font-weight:400;font-size:.8rem;opacity:.75}
.cc .cc-lines dd{margin:0;font-weight:700;white-space:nowrap}
.cc .cc-lines .tot{border-bottom:2px solid currentColor}
.cc .cc-rf{margin-top:1rem}
.cc .cc-fs{margin-top:1rem!important}
.cc .cc-fs legend{font-weight:700;margin-bottom:.4rem}
.cc .cc-seg{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem}
.cc .cc-seg .cc-opt span{justify-content:center;min-height:3rem;padding:.5rem;font-size:.92rem}
.cc .cc-seg .cc-opt span:before{display:none}
.cc .cc-fn{font-size:.82rem;opacity:.8;margin:1rem 0 0}
/* Dialog */
.cc-dialog{border:0;padding:0;margin:0;width:100%;max-width:100%;height:100%;max-height:100%;background:var(--paper,#f4efe6);color:var(--ink,#171410)}
.cc-dialog::backdrop{background:#101c2cd9}
.cc-dlg-in{position:relative;padding:1rem 1.1rem calc(2rem + env(safe-area-inset-bottom));max-width:40rem;margin:0 auto}
.cc-dlg-k{margin:.35rem 4.5rem 1rem 0;font-family:var(--display,Fraunces,serif);font-size:1.05rem;font-weight:600;color:var(--navy,#101c2c)}
.cc-dlg-intro{margin:-.5rem 0 1rem;font-size:.95rem}
.cc-close{position:absolute;top:.8rem;right:.9rem;min-height:44px;min-width:44px;padding:.5rem .8rem;background:none;border:1.5px solid currentColor;font:inherit;font-weight:700;cursor:pointer;color:var(--navy,#101c2c)}
.cc-close:focus-visible{outline:3px solid var(--mustard,#e2a12b)}
html.cc-lock{overflow:hidden}
@media (min-width:960px){
  .cc-dialog{width:min(44rem,92vw);height:fit-content;max-height:92vh;margin:auto;box-shadow:0 30px 80px #0006}
  .cc-dlg-in{padding:1.6rem 2rem 2rem}
  .cc .cc-opts{grid-template-columns:1fr 1fr}
  .cc .cc-step[data-step="2"] .cc-opts{grid-template-columns:1fr 1fr}
}
@media (prefers-reduced-motion:reduce){.cc *{transition:none!important}}
/* Launchers */
.cc-launch{max-width:44rem}
.cc-launch .cc-opts{display:grid;gap:.55rem;margin-top:.9rem;grid-template-columns:1fr}
@media (min-width:640px){.cc-launch .cc-opts{grid-template-columns:1fr 1fr}}
.cc-launch .cc-opt button{all:unset;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;width:100%;min-height:3.25rem;padding:.75rem 1rem;border:1.5px solid var(--cc-line,#17141026);background:#fffdf8;color:var(--ink,#171410);font-weight:600;cursor:pointer}
.cc-launch .cc-opt button:after{content:"→";font-weight:700}
.cc-launch .cc-opt button:hover{border-color:var(--navy,#101c2c)}
.cc-launch .cc-opt button:focus-visible{outline:3px solid var(--mustard,#e2a12b);outline-offset:2px}
.cc-launch-note{font-size:.9rem;opacity:.8;margin:.9rem 0 0}
.exit-nudge{position:fixed;right:1.5rem;bottom:1.5rem;z-index:40;max-width:22rem;background:var(--navy,#101c2c);color:var(--paper,#f4efe6);padding:1.1rem 1.2rem;box-shadow:0 20px 50px #0005}
.exit-nudge p{margin:0 0 .7rem}
.exit-nudge .x{position:absolute;top:.3rem;right:.3rem;background:none;border:0;color:inherit;font:inherit;font-size:1.3rem;min-width:44px;min-height:44px;cursor:pointer}
.dock-split{display:grid;grid-template-columns:1fr 1.3fr;padding:0!important;gap:0}
.dock-split a,.dock-split button{all:unset;display:flex;align-items:center;justify-content:center;min-height:3.5rem;padding:.6rem .8rem calc(.6rem + env(safe-area-inset-bottom));font-weight:700;text-align:center;cursor:pointer;line-height:1.15}
.dock-split button{background:var(--navy,#101c2c);color:var(--paper,#f4efe6)}
.dock-split a{background:var(--mustard,#e2a12b);color:var(--navy,#101c2c)}
.dock-split a:focus-visible,.dock-split button:focus-visible{outline:3px solid #fff;outline-offset:-4px}
.cc [hidden],.cc-dialog [hidden],.exit-nudge[hidden]{display:none!important}
.cc .cc-stack{height:200px}
.cc .cc-base{height:84px}
.cc .cc-ba{margin-bottom:.2rem}
.cc .cc-stack{height:auto}
.cc .cc-rf .cc-lab{display:grid;grid-template-columns:1fr auto;column-gap:1rem;align-items:baseline}
.cc .cc-rf .cc-lab small{grid-column:1;grid-row:2}
.cc .cc-rf .cc-lab .cc-out{grid-column:2;grid-row:1/span 2;align-self:center}
.cc .cc-q:focus,.cc .cc-q:focus-visible,.cc .cc-money:focus-visible{outline:none!important}
