/* A light, editorial calculator within the existing Jenny Korotkyi identity. */
.calculator-reviewed-page .page-head{padding:54px 0 28px}
.calculator-reviewed-page .page-head h1{font-size:clamp(40px,4.2vw,56px);letter-spacing:-.025em}
.calculator-reviewed-page .page-head .eyebrow{margin:0 0 14px}
.calculator-reviewed-page .page-head p:not(.eyebrow){margin-top:14px;max-width:60ch}
.cc-section{padding:4px 0 68px}
.cc-region-photo{margin:20px 0 24px}
.cc-region-photo img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;border-radius:3px}
.cc-region-photo figcaption{font-size:12px;line-height:1.6;color:var(--navy-soft);margin-top:8px;min-height:2lh}
.cc-photo-frame{position:relative;overflow:hidden}
/* One proportional frame keeps complete panoramas visible without region-switch jumps. */
.cc-photo-frame{aspect-ratio:1600/666;background:var(--offwhite)}
.cc-photo-frame .cc-photo-outgoing{position:absolute;inset:0;pointer-events:none}
.cc-location{border:0;min-width:0;padding:0;margin:0 0 14px}
.cc-location legend{font:500 13px/1.5 Inter,sans-serif;color:var(--navy);padding:0;margin-bottom:12px}
.cc-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;max-width:552px;background:var(--offwhite);border:1px solid var(--line);border-radius:4px}
.cc-switch label{position:relative;min-width:0;cursor:pointer}
.cc-switch input{position:absolute;width:1px;height:1px;opacity:0;left:50%;top:50%}
.cc-switch span{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:58px;padding:8px 14px;border:1px solid transparent;border-radius:2px;color:var(--navy-soft);font:500 14px/1.5 Inter,sans-serif;transition:background-color .18s,color .18s}
.cc-switch small{font:400 10px/1.5 Inter,sans-serif}
.cc-switch input:checked+span{background:var(--navy);color:#fff}
/* One moving navy selection surface, with native radios and focus rings intact. */
.cc-switch[data-region]{position:relative;isolation:isolate}
.cc-switch[data-region]::before{content:"";position:absolute;z-index:-1;top:4px;bottom:4px;left:4px;width:calc((100% - 16px)/3);border-radius:2px;background:var(--navy)}
.cc-switch[data-region="ontario"]::before{transform:translateX(calc(100% + 4px))}
.cc-switch[data-region="toronto"]::before{transform:translateX(calc(200% + 8px))}
.cc-switch.cc-motion-ready::before{transition:transform .6s cubic-bezier(0.22,0.61,0.36,1)}
.cc-switch[data-region] input:checked+span{background:transparent}
.cc-switch input:focus-visible+span{outline:3px solid #a57636;outline-offset:2px}
.cc-switch label:hover span{border-color:#9caaa9}
.cc-location-note{min-height:48px;font-size:13px;line-height:1.65;max-width:77ch;margin-bottom:24px;color:var(--navy-soft)}
.cc-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,5vw,64px);align-items:start}
.cc-inputs{padding-top:8px;min-width:0}
.cc-field{margin:0 0 22px}
.cc-field>label{display:block;color:var(--navy);font-size:14px;line-height:1.5;margin-bottom:9px}
.cc-field input{display:block;width:100%;min-width:0;min-height:52px;padding:12px 14px;border:1px solid #9ca9ae;border-radius:3px;background:#fff;color:var(--navy);font:400 18px/1.5 Inter,sans-serif;font-variant-numeric:tabular-nums}
.cc-field input:focus-visible{outline:2px solid #a57636;outline-offset:3px}
.cc-field .cc-hint,.cc-hint{font-size:12px;line-height:1.65;color:var(--navy-soft);margin-top:8px}
.cc-error{font-size:12px;line-height:1.6;color:#913c2b;margin-top:8px}
.cc-check{display:flex;gap:11px;align-items:flex-start;font-size:14px;line-height:1.65;color:var(--navy);cursor:pointer;min-height:44px;padding:8px 0}
.cc-check input{width:18px;height:18px;flex:none;margin:3px 0 0;accent-color:var(--navy)}
.cc-check-wrap{margin-bottom:18px}
.cc-check-wrap>.cc-hint{margin:0 0 0 29px}
.cc-check-wrap a,.cc-notes a,.cc-sources a{color:var(--blue-deep);text-underline-offset:3px}
.cc-allowances{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:24px}
.cc-allowances summary{cursor:pointer;min-height:52px;padding:16px 26px 16px 0;color:var(--navy);font-size:14px;font-weight:500}
.cc-allowances summary:focus-visible{outline:2px solid #a57636;outline-offset:3px}
.cc-allowances>p{font-size:12px;line-height:1.7;margin:0 0 20px;color:var(--navy-soft)}
.cc-allowance-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.cc-allowance-grid label{font-size:12px;min-height:36px;line-height:1.5}
.cc-allowance-grid input{font-size:16px;min-height:48px}
.cc-summary{padding:30px 30px 24px;background:var(--offwhite);border:1px solid var(--line);border-top:1px solid #897044;border-radius:3px;min-width:0}
.cc-summary .cc-area{font-size:12px;line-height:1.5;color:var(--navy-soft);margin-bottom:16px}
.cc-summary h2{font:500 26px/1.2 'Cormorant Garamond',Georgia,serif;margin:0 0 8px;color:var(--navy)}
.cc-total{font:500 clamp(38px,4vw,48px)/1.15 'Cormorant Garamond',Georgia,serif;letter-spacing:-.02em;color:var(--navy);font-variant-numeric:lining-nums tabular-nums;overflow-wrap:anywhere}
.cc-status{font-size:12px;line-height:1.7;margin:12px 0 24px;color:var(--navy-soft)}
.cc-breakdown{border-top:1px solid #cdd5d3}
.cc-breakdown>div,.cc-allowance-line{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid #dce2df;font-size:12px;line-height:1.7}
.cc-breakdown dt{max-width:27ch}
.cc-breakdown dd,.cc-allowance-line strong{white-space:nowrap;font-weight:500;color:var(--navy);font-variant-numeric:tabular-nums}
.cc-breakdown .cc-refund dt,.cc-breakdown .cc-refund dd{color:#2c6157}
.cc-allowance-line{padding-top:16px;border:0}
.cc-summary-foot{font-size:12px;line-height:1.7;margin-top:18px;padding-top:18px;border-top:1px solid #cdd5d3;color:var(--navy-soft)}
.cc-notes{font-size:12px;line-height:1.8;color:var(--navy-soft);margin-top:26px;max-width:90ch}
.cc-sources{margin-top:8px;font-size:12px;line-height:1.8;color:var(--navy-soft)}
@media(max-width:760px){
 .cc-grid,.payment-layout{grid-template-columns:minmax(0,1fr);gap:28px}
 .cc-location-note{min-height:0}
 .cc-section{padding-bottom:42px}
 .cc-summary{padding:24px}
 .calculator-reviewed-page .calculator{padding:40px 0}
 .payment-intro p{max-width:52ch}
}
@media(max-width:480px){
 .calculator-reviewed-page .page-head{padding:32px 0 24px}
 .calculator-reviewed-page .page-head h1{font-size:40px;max-width:15ch;line-height:1.08}
 .cc-switch span{font-size:13px;padding:10px 8px}
 .cc-location-note{font-size:12px;margin-bottom:20px}
 .cc-summary{padding:24px 20px}
 .cc-breakdown>div,.cc-allowance-line{gap:14px}
 .cc-allowance-grid{gap:0 14px}
 .calculator-reviewed-page .calc-box{padding:22px 20px}
 .calculator-reviewed-page .calc-row{grid-template-columns:minmax(0,1fr);gap:0}
}
@media(prefers-reduced-motion:reduce){.cc-switch span,.cc-switch.cc-motion-ready::before{transition:none}}
@media(forced-colors:active){.cc-switch input:checked+span{border:2px solid Highlight}.cc-summary{border:1px solid CanvasText}}

/* One set of purchase inputs drives the complete estimate. */
.calculator-reviewed-page .page-head{padding:32px 0 24px}
.calculator-reviewed-page .page-head h1{font-size:clamp(36px,4vw,48px);line-height:1.1}
.calculator-reviewed-page .page-head p:not(.eyebrow){font-size:16px;margin-top:10px}
.cc-location-note{min-height:0;margin-bottom:24px}
.cc-switch{max-width:552px}
.cc-switch small{font-size:12px}
.cc-purchase-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 18px}
.cc-purchase-grid .cc-field:last-child{grid-column:1/-1}
.cc-field select{display:block;width:100%;min-width:0;min-height:52px;padding:12px 14px;border:1px solid #9ca9ae;border-radius:3px;background:#fff;color:var(--navy);font:400 16px/1.5 Inter,sans-serif}
.cc-field input:disabled,.cc-field select:disabled{background:var(--offwhite);color:#526473}
.cc-input-note{font-size:12px;line-height:1.7;margin-top:18px;color:var(--navy-soft)}
.cc-financing>div{display:flex;justify-content:space-between;gap:20px;font-size:13px;line-height:1.6;margin:0 0 10px}
.cc-financing dd{font-weight:500;color:var(--navy);white-space:nowrap;font-variant-numeric:tabular-nums}
.cc-summary .cc-status{margin-bottom:0}
.cc-cost-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:22px 0 16px;margin-top:20px;border-top:1px solid #cdd5d3}
.cc-cost-heading h3{font:500 24px/1.2 'Cormorant Garamond',Georgia,serif;margin:0}
.cc-cost-heading strong{font:500 26px/1.2 'Cormorant Garamond',Georgia,serif;color:var(--navy);font-variant-numeric:lining-nums tabular-nums;white-space:nowrap}
.cc-breakdown{border-top:0}
.cc-breakdown>div{font-size:13px;padding:10px 0}
.cc-budget{padding-top:20px;margin-top:20px;border-top:1px solid #cdd5d3;color:var(--navy)}
.cc-budget span{display:block;font-size:16px;font-weight:500;line-height:1.5}
.cc-budget strong{display:block;margin-top:6px;font:500 34px/1.2 'Cormorant Garamond',Georgia,serif;font-variant-numeric:lining-nums tabular-nums;overflow-wrap:anywhere}
.cc-summary-foot{border:0;margin:10px 0 12px;padding-top:0;font-size:14px;line-height:1.6}
.cc-summary-note{font-size:14px;line-height:1.6;color:var(--navy-soft);margin:12px 0 24px}
@media(max-width:480px){
 .calculator-reviewed-page .page-head{padding:28px 0 22px}
 .calculator-reviewed-page .page-head h1{font-size:37px;max-width:none}
 .cc-switch span{padding:8px 4px}
 .cc-switch small{white-space:nowrap}
 .cc-purchase-grid{gap:0 14px}
 .cc-purchase-grid .cc-field>label{min-height:0;font-size:13px}
 .cc-purchase-grid input{font-size:16px}
 .cc-cost-heading{flex-wrap:wrap;gap:8px}
 .cc-cost-heading h3{font-size:24px}
 .cc-breakdown>div{font-size:12px}
}

.cc-live{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.cc-quick-links{display:none}
@media(max-width:760px){
 .cc-quick-links{display:block;margin:0 0 20px}
 .cc-quick-links a{display:inline-flex;align-items:center;min-height:44px;font-size:14px}
}
