/* Homepage presentation only. Keep every rule within the existing desktop boundary. */
@media (min-width: 1024px) {
  .home-desktop { background: #fff; }
  .home-desktop #mainNav { background: rgba(255,255,255,.98); box-shadow: 0 1px 12px #00113d0d; }
  .home-desktop #mainNav > div { max-width: 1440px; margin:auto; min-height:74px; }
  .home-desktop #mainNav a:first-child { letter-spacing:-1px; }
  .home-desktop #hero-section {
    padding: 100px 32px 28px;
    background: linear-gradient(90deg,#ddecf545,#cce2ff25), url('/images/home-london.webp') center / cover;
  }
  .home-desktop #hero-section > div {
    max-width:1376px; padding:0; display:grid;
    grid-template-columns:minmax(0,1.12fr) minmax(0,1fr); gap:0 24px; align-items:stretch;
  }
  .home-desktop #hero-section > div > div:first-child {
    grid-column:1; margin:0; max-width:none; text-align:left; padding:24px 26px 18px;
    background:#f8fcfff5; border-radius:16px 16px 0 0;
  }
  .home-desktop #hero-section > div > div:first-child > div { justify-content:flex-start; margin-bottom:12px; }
  .home-desktop #hero-section h1 { font-size:clamp(28px,2.5vw,38px); line-height:1.14; margin-bottom:12px; letter-spacing:-1.2px; }
  .home-desktop #hero-section h1 + p { font-size:16px; line-height:1.5; margin:0; color:#45607d; }
  .home-desktop .home-calculator-grid { display:contents; }
  .home-desktop .home-inputs { grid-column:1; grid-row:2; background:#f8fcfff5; padding:0 26px 22px; border-radius:0 0 16px 16px; min-width:0; }
  .home-desktop .home-inputs > .bg-white { padding:16px; border:1px solid #e1eaf4; border-radius:12px; box-shadow:0 4px 16px #05234206; }
  .home-desktop .mode-switcher { margin-bottom:12px; }
  .home-desktop .mode-pill { padding:7px 14px; }
  .home-desktop .mode-pill.active { background:#0879f9; border-color:#0879f9; }
  .home-desktop .home-inputs input,.home-desktop .home-inputs select { min-height:43px; border-radius:7px; background-color:#fbfdff; font-size:14px; }
  .home-desktop .home-inputs label { color:#10284c; letter-spacing:0; text-transform:none; font-size:12px; }
  .home-desktop #hero-calc-go { background:#0879f9; min-height:49px; border-radius:8px; font-size:15px; }
  .home-desktop #hero-calc-go:hover { background:#0065db; }
  .home-desktop .home-inputs > div:last-child { font-size:11px; line-height:1.65; margin-top:12px; }
  .home-desktop .home-results { grid-column:2; grid-row:1 / span 2; min-width:0; }
  .home-desktop #tsc-results { height:100%; max-width:none; border-radius:16px; border:1px solid #ffffff20; padding:26px; background:linear-gradient(125deg,#031c34,#0b385e); color:white; box-shadow:0 12px 30px #001c3b26; display:grid; grid-template-columns:minmax(0,1fr) 160px; gap:0 20px; align-content:start; }
  .home-desktop #tsc-results > * { grid-column:1 / -1; }
  .home-desktop #tsc-results .tsc-results-header { margin-bottom:16px; padding-bottom:14px; border-color:#ffffff25; }
  .home-desktop #tsc-results .tsc-salary { color:white; }
  .home-desktop #tsc-results .tsc-salary-label,
  .home-desktop #tsc-results .tsc-hero-label,
  .home-desktop #tsc-results .tsc-annual-result,
  .home-desktop #tsc-results .tsc-card-label,
  .home-desktop #tsc-results .tsc-card-annual,
  .home-desktop #tsc-results .tsc-methodology-text,
  .home-desktop #tsc-results .tsc-legend-item { color:#c5d8eb; }
  .home-desktop #tsc-results .tsc-tax-year { background:#ffffff0d; color:#cde4fa; border-color:#ffffff25; }
  .home-desktop #tsc-results .tsc-freq-bar { background:#ffffff10; margin-bottom:18px; }
  .home-desktop #tsc-results .tsc-freq-pill { color:#c5d8eb; }
  .home-desktop #tsc-results .tsc-freq-pill.active { background:#1d70b2; color:white; }
  .home-desktop #tsc-results .tsc-hero { text-align:left; margin-bottom:20px; }
  .home-desktop #tsc-results .tsc-monthly-result { justify-content:flex-start; }
  .home-desktop #tsc-monthly { color:white; font-size:clamp(40px,4vw,58px); letter-spacing:-2px; }
  .home-desktop #tsc-freq-label { color:#c5d8eb; }
  .home-desktop #tsc-results .tsc-annual-result strong { color:white; }
  .home-desktop #tsc-results .tsc-breakdown-heading h3 { color:white; }
  .home-desktop #tsc-results .tsc-bar { height:8px; margin-bottom:12px; }
  .home-desktop #tsc-results .tsc-legend { margin-bottom:16px; gap:8px 12px; }
  .home-desktop #tsc-results .tsc-deduction-grid { grid-column:1; grid-row:7; display:block; }
  .home-desktop #tsc-results .tsc-deduction-card { background:transparent; border:0; border-bottom:1px solid #ffffff1c; border-radius:0; padding:9px 0 9px 12px; }
  .home-desktop #tsc-results .tsc-deduction-card::before { top:13px; bottom:auto; width:5px; height:5px; border-radius:50%; }
  .home-desktop #tsc-results .tsc-card-monthly { color:white; font-size:17px; }
  .home-desktop #tsc-results .tsc-card-label { margin-bottom:5px; }
  .home-desktop #tsc-results .desktop-donut { display:grid; grid-column:2; grid-row:7; align-self:center; width:160px; height:160px; border-radius:50%; place-items:center; }
  .home-desktop .desktop-donut > div { width:112px; height:112px; border-radius:50%; background:#082c4c; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; }
  .home-desktop .desktop-donut strong { font-size:19px; color:white; }
  .home-desktop .desktop-donut span { font-size:11px; color:#c5d8eb; }
  .home-desktop #tsc-results .tsc-methodology { border-color:#ffffff25; margin-top:18px; padding-top:15px; flex-wrap:wrap; }
  .home-desktop #tsc-results .tsc-methodology-link { color:#9bd3ff; }
  .home-desktop #hero-section > div > div:last-child { grid-column:1 / -1; width:100%; max-width:none!important; margin-top:20px!important; }
  .home-desktop main { max-width:1440px; padding:28px 32px 48px; display:flex; flex-direction:column; gap:28px; }
  .home-desktop main > * { margin-top:0!important; margin-bottom:0!important; }
  .home-desktop main > section:nth-of-type(2) { order:-1; background:#eef7ff; border:1px solid #dcecff; padding:18px 20px; border-radius:12px; }
  .home-desktop .section-header { border:0; padding-bottom:0; margin-bottom:14px; }
  .home-desktop .section-header h2 { font-size:22px; color:#092b55; }
  .home-desktop .section-header .overline { font-size:10px; }
  .home-desktop .gateway-pill { flex:1; min-width:88px; padding:12px; color:#0075ed; border-color:#d9e8fa; border-radius:7px; }
  .home-desktop .gateway-pill:hover { background:#0879f9; color:white; }
  .home-desktop .pillar-grid { gap:16px; }
  .home-desktop .pillar-card { padding:20px; background:#eef7ff; border-color:#dcecff; border-radius:12px; }
  .home-desktop .pillar-card:nth-child(2) { background:#effaf5; border-color:#d9f0e5; }
  .home-desktop .pillar-card:nth-child(3) { background:#f6f2ff; border-color:#e9e0ff; }
  .home-desktop .pillar-link-list a { padding:9px 8px; color:#173654; }
  .home-desktop .pillar-link-list a:hover { background:#ffffffb0; }
  .home-desktop .guide-card { border-color:#dce7f2; border-radius:10px; }
  .home-desktop :is(a,button,input,select):focus-visible { outline:3px solid #4ca7ff; outline-offset:3px; }
}
@media (min-width: 1024px) {
  .home-desktop #tsc-results .tsc-annual-result { background:#ffffff0d; }
  .home-desktop #tsc-results .tsc-breakdown-heading span { color:#c5d8eb; }
  .home-desktop #tsc-results .tsc-deduction-card { display:grid; grid-template-columns:1fr auto; gap:3px 8px; }
  .home-desktop #tsc-results .tsc-card-label { align-self:center; margin:0; }
  .home-desktop #tsc-results .tsc-card-monthly { font-size:15px; }
  .home-desktop #tsc-results .tsc-card-annual { grid-column:1 / -1; margin:0; }
}
/* Compact desktop composition following the approved reference. */
@media (min-width:1024px) {
  .home-desktop #mainNav > div { max-width:1400px; min-height:72px; }
  .home-desktop #mainNav > div > a { font-size:30px; color:#087aff; letter-spacing:-1.4px; }
  .home-desktop #hero-section { padding:92px 5.4% 18px; }
  .home-desktop #hero-section > div { grid-template-columns:minmax(0,1.22fr) minmax(0,1fr); gap:0 14px; max-width:1400px; }
  .home-desktop #hero-section > div > .home-intro { padding:20px 24px 8px; border-radius:12px 12px 0 0; }
  .home-desktop .home-intro > div:first-child { display:none; }
  .home-desktop #hero-section h1 { font-size:clamp(27px,2.65vw,42px); letter-spacing:-1.2px; margin-bottom:9px; }
  .home-desktop #hero-section h1 + p { font-size:17px; line-height:1.35; }
  .home-desktop .home-inputs { padding:0 22px 16px; border-radius:0 0 12px 12px; }
  .home-desktop .mode-switcher { margin:0 0 8px; gap:5px; }
  .home-desktop .mode-pill { padding:4px 12px; font-size:11px; }
  .home-desktop .home-inputs > .bg-white { display:grid; grid-template-columns:1fr 1fr; gap:12px 20px; padding:14px; margin:0; }
  .home-desktop .home-inputs > .bg-white > * { margin:0; min-width:0; }
  .home-desktop .home-inputs > .bg-white > .grid { display:contents; }
  .home-desktop .home-inputs > .bg-white > .grid > div:first-child { grid-column:2; grid-row:1; }
  .home-desktop .home-inputs > .bg-white > .grid > div:last-child { grid-column:1; grid-row:3; }
  .home-desktop .home-inputs .advanced-body, .home-desktop .home-inputs .advanced-body > .grid { display:contents; }
  .home-desktop .home-inputs .advanced-body > .grid > div:first-child { grid-column:1; grid-row:2; }
  .home-desktop .home-inputs .advanced-body > .grid > div:last-child { grid-column:2; grid-row:2; }
  .home-desktop .home-inputs .advanced-toggle { grid-column:2; grid-row:3; align-self:center; font-size:10px; pointer-events:none; }
  .home-desktop .home-inputs .advanced-toggle .chevron { display:none; }
  .home-desktop .home-inputs label { font-size:13px; margin-bottom:5px; }
  .home-desktop .home-inputs input,.home-desktop .home-inputs select { min-height:38px; font-size:13px; }
  .home-desktop #hero-calc-go { grid-column:1 / -1; min-height:48px; font-size:17px; }
  .home-desktop #tsc-results { padding:22px 25px 18px; border-radius:12px; grid-template-columns:minmax(0,1fr) 154px; gap:0 18px; }
  .home-desktop #tsc-results .tsc-results-header { padding:0; margin-bottom:9px; border:0; }
  .home-desktop #tsc-results .tsc-results-header > div:first-child { display:none; }
  .home-desktop #tsc-results .tsc-results-header { justify-content:flex-end; }
  .home-desktop #tsc-results .tsc-tax-year { border:0; background:none; padding:0; font-size:12px; }
  .home-desktop #tsc-results .tsc-hero { grid-row:1 / span 2; padding:0 0 15px; margin:0 0 12px; border-bottom:1px solid #ffffff30; display:grid; grid-template-columns:1fr 1fr; gap:8px 16px; }
  .home-desktop #tsc-results .tsc-hero-label { grid-column:1 / -1; text-align:left; font-size:15px; margin:0 0 4px; color:white; }
  .home-desktop #tsc-results .tsc-monthly-result { font-size:48px; line-height:1; }
  .home-desktop #tsc-monthly { font-size:clamp(36px,3.6vw,55px); }
  .home-desktop #tsc-freq-label { display:block; font-size:16px; margin-top:8px; font-weight:400; }
  .home-desktop #tsc-results .tsc-annual-result { background:none; border-radius:0; border-left:1px solid #ffffff25; padding:0 0 0 18px; margin:0; display:flex; flex-direction:column; justify-content:center; font-size:11px; line-height:1.5; }
  .home-desktop #tsc-results .tsc-annual-result strong { font-size:clamp(25px,2.5vw,38px); margin:0; line-height:1.3; }
  .home-desktop #tsc-results .tsc-freq-bar { grid-row:3; margin-bottom:12px; padding:2px; }
  .home-desktop #tsc-results .tsc-freq-pill { font-size:10px; padding:4px 9px; }
  .home-desktop #tsc-results .tsc-breakdown-heading { grid-row:4; margin-bottom:6px; }
  .home-desktop #tsc-results .tsc-breakdown-heading h3 { font-size:12px; }
  .home-desktop #tsc-results .tsc-breakdown-heading > span { display:none; }
  .home-desktop #tsc-results .tsc-bar,.home-desktop #tsc-results .tsc-legend { display:none; }
  .home-desktop #tsc-results .tsc-deduction-grid { grid-row:5; }
  .home-desktop #tsc-results .tsc-deduction-card { padding:9px 0 9px 12px; grid-template-columns:1fr auto; gap:3px 6px; }
  .home-desktop #tsc-results .tsc-card-label { color:white; font-size:11px; }
  .home-desktop #tsc-results .tsc-card-monthly { font-size:12px; }
  .home-desktop #tsc-results .tsc-card-annual { font-size:10px; }
  .home-desktop #tsc-results .desktop-donut { grid-row:5; width:154px; height:154px; }
  .home-desktop #tsc-results .desktop-donut > div { width:106px; height:106px; }
  .home-desktop #tsc-results .tsc-methodology { grid-row:6; margin-top:12px; padding-top:10px; }
  .home-desktop #tsc-results .tsc-methodology-text { font-size:9px; }
  .home-desktop #tsc-results .tsc-methodology-link { display:block; width:100%; text-align:center; padding:10px; background:#1c69b2; color:white; border-radius:7px; font-size:13px; }
  .home-desktop main { max-width:1440px; padding:14px 4.5% 40px; gap:18px; }
  .home-desktop main > section:nth-of-type(2) { display:grid; grid-template-columns:220px minmax(0,1fr); gap:16px; align-items:center; padding:14px 16px; border-radius:8px; }
  .home-desktop main > section:nth-of-type(2) .section-header { margin:0; gap:5px!important; }
  .home-desktop main > section:nth-of-type(2) h2 { font-size:18px; line-height:1.15; }
  .home-desktop main > section:nth-of-type(2) .overline { display:none; }
  .home-desktop main > section:nth-of-type(2) .section-header > a { font-size:10px!important; }
  .home-desktop main > section:nth-of-type(2) > .flex { display:grid; grid-template-columns:repeat(10,minmax(0,1fr)); gap:8px; }
  .home-desktop .gateway-pill { min-width:0; min-height:49px; padding:7px 3px; text-align:center; font-size:11px; line-height:1.2; }
  .home-desktop main > section:nth-of-type(3) { order:-1; }
  .home-desktop .section-header { margin-bottom:10px; }
  .home-desktop .section-header h2 { font-size:21px; }
  .home-desktop .section-header .overline { display:none; }
  .home-desktop .pillar-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:8px 12px; }
  .home-desktop .pillar-card,.home-desktop .pillar-link-list { display:contents; }
  .home-desktop .pillar-card-header { grid-row:2; grid-column:span 2; margin:10px 0 0; padding:12px; border:1px solid #e0eaf5; border-radius:8px; }
  .home-desktop .pillar-card:nth-child(1) .pillar-card-header { grid-column:1 / span 2; }
  .home-desktop .pillar-card:nth-child(2) .pillar-card-header { grid-column:3 / span 2; }
  .home-desktop .pillar-card:nth-child(3) .pillar-card-header { grid-column:5 / span 2; }
  .home-desktop .pillar-card-header h3 { font-size:13px; }
  .home-desktop .pillar-link-list li { list-style:none; min-width:0; }
  .home-desktop .pillar-card:first-child li:nth-child(-n+6) { grid-row:1; }
  .home-desktop .pillar-card:first-child li:nth-child(-n+6) a { height:110px; display:flex; align-items:flex-start; flex-direction:column; justify-content:center; padding:14px; border-radius:8px; border:1px solid #d7eaff; background:#e8f5ff; color:#072952; font-size:13px; font-weight:750; gap:8px; }
  .home-desktop .pillar-card:first-child li:nth-child(-n+6) a .material-symbols-outlined { font-size:28px; color:#087aff; }
  .home-desktop .pillar-card:first-child li:nth-child(2) a { background:#e6f9ef; border-color:#d4f0e0; }
  .home-desktop .pillar-card:first-child li:nth-child(3) a { background:#f0ebff; border-color:#e6ddff; }
  .home-desktop .pillar-card:first-child li:nth-child(4) a { background:#fff6df; border-color:#fbeec8; }
  .home-desktop .pillar-card:first-child li:nth-child(5) a { background:#ffeaf2; border-color:#ffdae8; }
  .home-desktop .pillar-card:first-child li:nth-child(6) a { background:#e6f6f8; border-color:#d2edef; }
  .home-desktop .pillar-card:first-child li:nth-child(7) { grid-column:1 / span 2; grid-row:3; }
  .home-desktop .pillar-card:nth-child(2) li { grid-column:3 / span 2; }
  .home-desktop .pillar-card:nth-child(3) li { grid-column:5 / span 2; }
  .home-desktop .pillar-card:nth-child(n+2) li:nth-child(1) { grid-row:3; }
  .home-desktop .pillar-card:nth-child(n+2) li:nth-child(2) { grid-row:4; }
  .home-desktop .pillar-card:nth-child(n+2) li:nth-child(3) { grid-row:5; }
  .home-desktop .pillar-card:nth-child(n+2) li:nth-child(4) { grid-row:6; }
  .home-desktop .pillar-card:nth-child(n+2) li:nth-child(5) { grid-row:7; }
  .home-desktop .pillar-card:nth-child(n+2) li:nth-child(6) { grid-row:8; }
  .home-desktop .pillar-card:nth-child(n+2) li:nth-child(7) { grid-row:9; }
  .home-desktop .pillar-link-list a { font-size:11px; padding:3px 10px; }
  .home-desktop .home-benchmarks { order:2; width:100%; max-width:none!important; margin:0!important; }
  .home-desktop main > .home-trust { order:3; color:#52667b; font-size:12px; }
}

@media (min-width:1024px) {
  .home-desktop #hero-section > div { grid-template-rows:min-content 1fr; }
  .home-desktop #tsc-results { position:relative; }
  .home-desktop #tsc-results .tsc-results-header { position:absolute; top:22px; right:25px; }
  .home-desktop #tsc-results .tsc-deduction-card { padding:12px 0 12px 12px; align-items:center; }
  .home-desktop #tsc-results .tsc-card-monthly { display:none; }
  .home-desktop #tsc-results .tsc-card-annual { grid-column:2; font-size:11px; color:white; }
  .home-desktop .home-inputs .advanced-toggle { display:none; }
  .home-desktop #hero-calc-go { grid-row:4; }
  .home-desktop #tsc-results .tsc-methodology-text { display:none; }
  .home-desktop #tsc-results .tsc-methodology { padding-top:10px; }
  .home-desktop .pillar-card:first-child li:nth-child(-n+6) { grid-row:auto; }
  .home-desktop .pillar-card:first-child li:nth-child(-n+6) a { height:auto; background:none; border:0; padding:3px 10px; font-size:11px; font-weight:500; display:flex; flex-direction:row; align-items:center; justify-content:flex-start; gap:8px; }
  .home-desktop .pillar-card:first-child li:nth-child(-n+6) a .material-symbols-outlined { font-size:18px; color:#94a3b8; }
  .home-desktop .pillar-card:nth-child(1) li { grid-column:1 / span 2; }
  .home-desktop .pillar-card:nth-child(2) li { grid-column:3 / span 2; }
  .home-desktop .pillar-card:nth-child(3) li { grid-column:5 / span 2; }
  .home-desktop .pillar-card:nth-child(n) li:nth-child(3) { grid-row:3; }
  .home-desktop .pillar-card:nth-child(n) li:nth-child(4) { grid-row:4; }
  .home-desktop .pillar-card:nth-child(n) li:nth-child(5) { grid-row:5; }
  .home-desktop .pillar-card:nth-child(n) li:nth-child(6) { grid-row:6; }
  .home-desktop .pillar-card:nth-child(n) li:nth-child(7) { grid-row:7; }
  .home-desktop .pillar-card:nth-child(n) li:nth-child(-n+2) { grid-row:1; }
  .home-desktop .pillar-card:nth-child(1) li:nth-child(1) { grid-column:1; }
  .home-desktop .pillar-card:nth-child(1) li:nth-child(2) { grid-column:2; }
  .home-desktop .pillar-card:nth-child(2) li:nth-child(1) { grid-column:3; }
  .home-desktop .pillar-card:nth-child(2) li:nth-child(2) { grid-column:4; }
  .home-desktop .pillar-card:nth-child(3) li:nth-child(1) { grid-column:5; }
  .home-desktop .pillar-card:nth-child(3) li:nth-child(2) { grid-column:6; }
  .home-desktop .pillar-card:nth-child(n) li:nth-child(-n+2) a { height:112px; display:flex; align-items:flex-start; flex-direction:column; justify-content:center; padding:14px; border:1px solid #d7eaff; border-radius:8px; background:#e8f5ff; color:#072952; font-size:13px; font-weight:750; gap:8px; }
  .home-desktop .pillar-card:nth-child(n) li:nth-child(-n+2) a .material-symbols-outlined { font-size:28px; color:#087aff; }
  .home-desktop .pillar-card:nth-child(1) li:nth-child(2) a { background:#e6f9ef; border-color:#d4f0e0; }
  .home-desktop .pillar-card:nth-child(2) li:nth-child(1) a { background:#f0ebff; border-color:#e6ddff; }
  .home-desktop .pillar-card:nth-child(2) li:nth-child(2) a { background:#fff6df; border-color:#fbeec8; }
  .home-desktop .pillar-card:nth-child(3) li:nth-child(1) a { background:#ffeaf2; border-color:#ffdae8; }
  .home-desktop .pillar-card:nth-child(3) li:nth-child(2) a { background:#e6f6f8; border-color:#d2edef; }
}

/* Reserved ad inventory: local layout preview only, no ad requests. */
@media (min-width:1024px) {
  .home-desktop main > .home-ad {
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:8px;
    padding:14px 0 18px;
    border-top:1px solid #edf1f6;
    border-bottom:1px solid #edf1f6;
    width:100%;
    flex-shrink:0;
  }
  .home-desktop .home-ad-top,
  .home-desktop .home-ad-middle { order:-1; }
  .home-desktop .home-ad-bottom { order:1; }
  .home-desktop .home-ad-label {
    color:#64748b;
    font:500 10px/1.4 Inter,sans-serif;
    letter-spacing:.12em;
    text-transform:uppercase;
  }
  .home-desktop .home-ad-space {
    width:min(970px,100%);
    height:90px;
    flex-shrink:0;
    border:1px dashed #dbe3ed;
    border-radius:4px;
    background:#f8fafc;
  }
}
