/* Scoped to the calculator: no global heading, button or Elementor overrides. */
.if-calculator-page .if-calculator-page-hero{padding:clamp(11rem,15vw,14rem) 1.5rem 4rem;background:radial-gradient(ellipse at 80% 15%,#6c3a7766,transparent 65%),linear-gradient(120deg,#160f24,#312852);color:#fff}
.if-calculator-page .if-calculator-page-inner{width:min(100%,1200px);max-width:1200px;margin-inline:auto;display:flex;flex-direction:column;gap:1rem}
.if-calculator-page .if-calculator-page-hero h1{font-size:clamp(2.5rem,5.5vw,5rem);color:#fff!important;line-height:1.06;letter-spacing:-.05em;max-width:19ch;margin:0 0 1rem}
.if-calculator-page .if-calculator-page-hero .if-eyebrow p{color:#dfb6e7;font-size:1rem;letter-spacing:.08em}
.if-calculator-page .if-calculator-page-hero .elementor-widget-text-editor p{font-size:1.125rem;color:#e6dbea;max-width:65ch}
.if-calculator-page .if-calculator-page-body{padding:3rem 1.5rem 5rem}
.if-calculator-page .if-calculator-switch{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:1rem;padding:0 0 1rem;border-bottom:1px solid #ded5e5;margin-bottom:1rem}
.if-calculator-switch>span{font-weight:650;color:#251c38}.if-calculator-switch a,.if-calculator-service-link a{font-size:1rem;color:#743781;text-decoration:underline;text-underline-offset:.25em}
.if-calculator-service-link{font-size:1rem;color:#605769;margin-top:1.5rem}
.ifrdc-app{--rd-ink:#171021;--rd-purple:#30274f;--rd-accent:#8d419b;--rd-tint:#f7f2f9;--rd-line:#ded5e5;--rd-muted:#605769;background:#fff;color:var(--rd-ink);font-family:inherit;font-size:1rem;line-height:1.65;border:1px solid var(--rd-line);border-radius:1.25rem;overflow:clip;isolation:isolate;max-width:100%;text-align:left}
.ifrdc-app,.ifrdc-app *{box-sizing:border-box}
.ifrdc-app [hidden]{display:none!important}
.ifrdc-app h2,.ifrdc-app h3,.ifrdc-app p,.ifrdc-app ul,.ifrdc-app ol{margin:0;padding:0}
.ifrdc-app h2,.ifrdc-app h3,.ifrdc-app legend{font-family:inherit;font-weight:600;letter-spacing:-.035em;line-height:1.15;color:var(--rd-ink)}
.ifrdc-app h2{font-size:clamp(2rem,3.7vw,3.25rem);max-width:23ch}
.ifrdc-app h3{font-size:clamp(1.5rem,2.5vw,2rem);margin-bottom:1rem}
.ifrdc-app p,.ifrdc-app label,.ifrdc-app input,.ifrdc-app select,.ifrdc-app textarea,.ifrdc-app button,.ifrdc-app summary,.ifrdc-app td,.ifrdc-app th,.ifrdc-app li{font-size:1rem}
.ifrdc-app p+p{margin-top:1rem}
.ifrdc-app a{color:#753483;text-decoration:underline;text-underline-offset:.2em}
.ifrdc-app a:hover{color:#30274f}
.ifrdc-app :focus-visible{outline:3px solid #9453a4;outline-offset:4px}
.ifrdc-header{padding:clamp(1.5rem,4vw,3rem);background:radial-gradient(ellipse at 95% 0%,#63396f88,transparent 65%),linear-gradient(120deg,#160f24,#312852);color:#fff}
.ifrdc-app .ifrdc-header h2{color:#fff!important;margin:.8rem 0 1.25rem}
.ifrdc-header>p:not(.ifrdc-eyebrow){max-width:66ch;color:#e9deef}
.ifrdc-app .ifrdc-eyebrow{font-size:1rem;font-weight:700;letter-spacing:.08em;line-height:1.4;color:#773984}
.ifrdc-header .ifrdc-eyebrow,.ifrdc-result-top .ifrdc-eyebrow{color:#dfb6e7}
.ifrdc-app .ifrdc-benefits{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin:1.5rem 0 0;color:#e9deef}
.ifrdc-benefits span{color:#dfb6e7;margin-right:.25rem}
.ifrdc-workspace{padding:clamp(1.25rem,4vw,3rem)}
.ifrdc-booking{margin-top:2rem;scroll-margin-top:8rem}
.ifrdc-booking[hidden]{display:none!important}
.ifrdc-progress{border-bottom:1px solid var(--rd-line);padding-bottom:1.5rem;margin-bottom:2rem}
.ifrdc-app .ifrdc-progress ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;gap:1rem}
.ifrdc-progress li{color:var(--rd-muted);font-weight:500}
.ifrdc-progress li span{display:block;color:#80758c;margin-bottom:.3rem}
.ifrdc-progress li[aria-current]{color:var(--rd-ink);font-weight:700}
.ifrdc-progress li[aria-current] span{color:#873d97}
.ifrdc-app fieldset{border:0;padding:0;margin:0;min-width:0}
.ifrdc-app fieldset[data-step]{scroll-margin-top:8rem}
.ifrdc-app legend{font-size:clamp(1.65rem,2.7vw,2.25rem);padding:0;margin-bottom:1rem;float:none;width:100%}
.ifrdc-app .ifrdc-intro{color:var(--rd-muted);margin-bottom:1.5rem;max-width:75ch}
.ifrdc-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.5rem}
.ifrdc-field{min-width:0;margin-bottom:1.25rem}
.ifrdc-field label,.ifrdc-lookup>label{display:block;font-weight:600;color:#30274f;margin-bottom:.5rem;line-height:1.5}
.ifrdc-app input:not([type=checkbox]):not([type=hidden]),.ifrdc-app select,.ifrdc-app textarea{display:block;width:100%;min-width:0;min-height:3.25rem;background:#fff;border:1px solid #a59aaf;border-radius:.45rem;color:#251c38;padding:.75rem .85rem;font:inherit;font-size:1rem;box-shadow:none;line-height:1.5}
.ifrdc-app select{padding-right:2rem}
.ifrdc-app textarea{resize:vertical;min-height:7rem}
.ifrdc-app input::placeholder,.ifrdc-app textarea::placeholder{color:#756b80;opacity:1}
.ifrdc-app .ifrdc-help{color:var(--rd-muted);font-size:1rem;font-weight:400;line-height:1.55;margin-top:.5rem}
.ifrdc-app .ifrdc-check{display:flex;gap:.75rem;align-items:flex-start;cursor:pointer;font-size:1rem;line-height:1.55;margin:1rem 0 1.5rem;color:#332b42}
.ifrdc-check input{flex:0 0 1.25rem;width:1.25rem;height:1.25rem;min-height:1.25rem;margin:.2rem 0 0;accent-color:#713581;cursor:pointer}
.ifrdc-app .ifrdc-disclosure{border:0;border-top:1px solid var(--rd-line);border-bottom:1px solid var(--rd-line);padding:1rem 0;margin:1.5rem 0;background:transparent;border-radius:0}
.ifrdc-disclosure summary{font-weight:600;cursor:pointer;color:#30274f;min-height:2rem}
.ifrdc-disclosure[open] summary{margin-bottom:1rem}
.ifrdc-disclosure .ifrdc-fields{margin-top:1rem}
.ifrdc-company,.ifrdc-tax{border-top:1px solid var(--rd-line);padding-top:1.75rem;margin-top:1.5rem}
.ifrdc-app .ifrdc-section-heading{margin-top:2rem}
.ifrdc-contact{border-top:1px solid var(--rd-line);margin-top:2rem;padding-top:1.75rem}
.ifrdc-contact>.ifrdc-fields{margin-top:1.5rem}
.ifrdc-enquiry-choice{border-top:1px solid var(--rd-line);margin-top:1.5rem;padding-top:1rem}
.ifrdc-enquiry-choice .ifrdc-check{margin-bottom:.5rem}
.ifrdc-cost-row>.ifrdc-fields{margin-top:1rem}
.ifrdc-next-steps{margin:2rem 0}
.ifrdc-app .ifrdc-next-steps ol{padding-left:1.4rem;display:grid;gap:.75rem}
.ifrdc-next-steps li::marker{color:var(--rd-accent);font-weight:650}
.ifrdc-search-row{display:flex;gap:.75rem;align-items:stretch}
.ifrdc-search-row input{flex:1;min-width:0}
.ifrdc-lookup{margin-bottom:1.5rem}
.ifrdc-app .ifrdc-search-results ul{list-style:none;margin:1rem 0}
.ifrdc-app .ifrdc-search-results button{width:100%;padding:1rem;text-align:left;background:#fff;color:#30274f;border:1px solid var(--rd-line);border-radius:.35rem;cursor:pointer;margin:.25rem 0;line-height:1.5;white-space:normal;text-transform:none;font-weight:400}
.ifrdc-search-results button span{display:block;color:var(--rd-muted)}
.ifrdc-search-results button:hover,.ifrdc-search-results button:focus-visible{background:var(--rd-tint)}
.ifrdc-app .ifrdc-actions,.ifrdc-result-actions{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin:1.75rem 0 1rem}
.ifrdc-app .ifrdc-btn{display:inline-flex;align-items:center;justify-content:center;gap:.7rem;min-height:3.25rem;padding:.85rem 1.5rem;border:1px solid #30274f;border-radius:2rem;background:#30274f;color:#fff!important;font:inherit;font-size:1rem;font-weight:650;line-height:1.35;text-decoration:none;text-align:center;white-space:normal;letter-spacing:0;text-transform:none;cursor:pointer;box-shadow:none;transition:background .15s,color .15s,border-color .15s}
.ifrdc-app .ifrdc-btn:hover,.ifrdc-app .ifrdc-btn:focus-visible{background:#743781;border-color:#743781;color:#fff!important}
.ifrdc-app .ifrdc-btn-secondary{background:transparent;color:#30274f!important;border-color:#85758f}
.ifrdc-app .ifrdc-btn-secondary:hover,.ifrdc-app .ifrdc-btn-secondary:focus-visible{background:#30274f;border-color:#30274f;color:#fff!important}
.ifrdc-app .ifrdc-btn-light{background:#fff;border-color:#fff;color:#251c38!important}
.ifrdc-app .ifrdc-btn-light:hover,.ifrdc-app .ifrdc-btn-light:focus-visible{background:#ebdcef;color:#251c38!important;border-color:#ebdcef}
.ifrdc-app button:disabled{opacity:.65;cursor:wait}
.ifrdc-app .ifrdc-cost-row{border-top:1px solid var(--rd-line);padding:1.3rem 0 .5rem;margin-top:1.25rem}
.ifrdc-cost-row legend{font-size:1.125rem;font-weight:650;letter-spacing:0;padding-top:1rem}
.ifrdc-cost-row .ifrdc-fields{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr))}
.ifrdc-callout{border-left:3px solid #9351a1;background:var(--rd-tint);padding:1.25rem 1.5rem;margin:1.5rem 0}
.ifrdc-callout ul,.ifrdc-disclosure ul{padding-left:1.25rem}
.ifrdc-callout li,.ifrdc-disclosure li{margin:.5rem 0}
.ifrdc-app .ifrdc-alert{border-left:4px solid #a3283d;background:#fff1f3;padding:1rem 1.25rem;color:#681b2a;margin-bottom:1.5rem}
.ifrdc-status:not(:empty){margin-top:1rem;color:#4d405d}
.ifrdc-results{scroll-margin-top:8rem;outline:none}
.ifrdc-result-top{border-radius:.75rem;padding:clamp(1.5rem,3vw,2.5rem);color:white;background:radial-gradient(ellipse at 95% 0%,#6c3a7788,transparent 80%),#211932}
.ifrdc-app .ifrdc-result-top h3{font-size:clamp(1.4rem,2.4vw,1.9rem);color:white!important;margin:1rem 0 .75rem;letter-spacing:-.025em}
.ifrdc-app .ifrdc-amount{display:block;font-size:clamp(2.6rem,5vw,4.5rem);line-height:1.2;font-weight:600;letter-spacing:-.05em;overflow-wrap:anywhere;margin:.7rem 0 1rem}
.ifrdc-result-top>p:not(.ifrdc-eyebrow){color:#e0d3e9}
.ifrdc-app .ifrdc-result-note{margin:1rem 0 1.5rem}
.ifrdc-total{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--rd-line);padding:1rem 0;flex-wrap:wrap}
.ifrdc-table-scroll{overflow-x:auto;max-width:100%;margin:1.5rem 0}
.ifrdc-app table{border-collapse:collapse;width:100%;margin:0;color:#30274f;border:0;background:none}
.ifrdc-app caption{text-align:left;font-size:1.125rem;font-weight:650;color:var(--rd-ink);padding:0 0 .75rem}
.ifrdc-app th,.ifrdc-app td{padding:.9rem .5rem;border:0;border-bottom:1px solid var(--rd-line);text-align:left;vertical-align:top;line-height:1.55;background:none;font-weight:400}
.ifrdc-app td:last-child{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:600}
.ifrdc-app thead th{font-weight:650}
.ifrdc-app th p{font-size:1rem;color:var(--rd-muted);margin-top:.5rem;max-width:50ch}
.ifrdc-instalments{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;margin:2rem 0 .5rem}
.ifrdc-instalments>div{border-top:2px solid #c5a2d0;padding-top:1rem}
.ifrdc-instalments span{display:block;color:var(--rd-muted)}
.ifrdc-instalments strong{font-size:clamp(1.3rem,2vw,1.8rem);font-weight:600;color:#30274f;font-variant-numeric:tabular-nums}
.ifrdc-enquiry{border-top:1px solid var(--rd-line);margin-top:2.5rem;padding-top:2rem}
.ifrdc-enquiry h3{margin-top:.7rem}
.ifrdc-app .ifrdc-enquiry>.ifrdc-btn{margin:1.25rem 0 1rem}
.ifrdc-app .ifrdc-advice-notice{margin:1.5rem 0;padding:1.25rem 1.5rem;background:#f7f2f9;border-left:3px solid #8b419b;color:#30274f}
.ifrdc-app .ifrdc-advice-notice h3{margin:0 0 .65rem;color:#21192e;font-size:1.15rem}
.ifrdc-app .ifrdc-advice-notice p{margin:0;font-size:1rem;line-height:1.65}
.ifrdc-lead-form{margin-top:1.5rem}
.ifrdc-honeypot{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;pointer-events:none}
.ifrdc-thanks{padding:1.5rem 0}
.ifrdc-thanks .ifrdc-btn{margin-top:1rem}
@media(max-width:767px){.ifrdc-app{border-radius:.8rem}.ifrdc-app .ifrdc-progress ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.ifrdc-progress li span{display:inline;margin-right:.3rem}.ifrdc-fields{grid-template-columns:1fr;gap:0}.ifrdc-search-row{flex-direction:column}.ifrdc-instalments{grid-template-columns:1fr;gap:1rem}.ifrdc-instalments>div{display:flex;justify-content:space-between;gap:1rem}.ifrdc-cost-row .ifrdc-fields{grid-template-columns:1fr}.ifrdc-app .ifrdc-benefits{display:grid;gap:.5rem}.ifrdc-app th,.ifrdc-app td{padding:.75rem .3rem}.ifrdc-app .ifrdc-callout{padding:1rem}.ifrdc-app .ifrdc-btn{max-width:100%}.ifrdc-app .ifrdc-actions>.ifrdc-btn,.ifrdc-result-actions>.ifrdc-btn{flex:1 1 100%}.ifrdc-app .ifrdc-table-scroll table:has(thead){min-width:600px}}
@media(prefers-reduced-motion:reduce){.ifrdc-app *{transition:none!important;scroll-behavior:auto!important}}
