/* Hallmark · macrostructure: bespoke hospitality-led service composition · tone: assured · anchor hue: NEC blue
 * pre-emit critique: P4 H4 E4 S4 R4 V4 · motion: press feedback and state indication */
.header{padding-block:var(--space-sm)}.selected-brand>img{width:400px}.showcase{max-width:1480px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);background:var(--color-night);color:var(--color-paper);border-radius:var(--radius-panel);overflow:clip}.showcase-copy{padding:var(--space-xl) var(--space-xl) var(--space-2xl);align-self:center}.audience{font-size:14px;color:var(--color-night-muted);margin-bottom:var(--space-lg)}.showcase h1{font-size:clamp(42px,4.7vw,66px);line-height:1.04;letter-spacing:-.045em;max-width:10ch;text-wrap:initial}.showcase-copy>p:not(.audience):not(.hero-note){font-size:18px;color:var(--color-night-muted);margin-block:var(--space-lg);max-width:48ch}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-md)}.showcase .button{background:var(--color-paper);color:var(--color-ink)}.hero-secondary{font-size:14px;white-space:nowrap}.hero-secondary span{margin-left:var(--space-2xs)}.showcase .hero-note{font-size:12px;color:var(--color-night-muted);margin-top:var(--space-md)}.showcase-photo{position:relative;min-height:530px}.showcase-photo img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;object-position:54% center}.showcase-baseline{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) var(--space-xl);border-top:1px solid var(--color-hero-rule);font-size:12px;color:var(--color-night-muted)}.quote-band{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1.1fr) minmax(0,.8fr);gap:var(--space-xl);align-items:center;padding-block:var(--space-2xl);border-bottom:1px solid var(--color-rule)}.quote-band h2{font-size:38px}.quote-band>div>p{font-size:15px;color:var(--color-muted);margin-top:var(--space-sm)}.quote-inputs{list-style:none;padding:0;margin:0}.quote-inputs li{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding-block:var(--space-sm);border-bottom:1px solid var(--color-rule);font-size:14px}.quote-inputs li:first-child{border-top:1px solid var(--color-rule)}.quote-inputs li>span:last-child{color:var(--color-accent)}.quote-action{padding-left:var(--space-md)}.quote-action .plain-link{font-size:18px}.quote-action p.small-copy{font-size:12px;max-width:25ch}.payment-options{padding-block:var(--space-3xl)}.options-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-xl);margin-bottom:var(--space-xl)}.options-heading h2{font-size:clamp(38px,4vw,56px)}.options-heading>p{max-width:46ch;color:var(--color-muted);font-size:17px}.option-counter{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);background:var(--color-panel);border-radius:var(--radius-panel);overflow:clip;align-items:center}.terminal-art{padding:var(--space-lg) var(--space-xl)}.terminal-art svg{display:block;width:100%;max-height:300px}.option-content{padding:var(--space-xl);max-width:65ch}.option-content h3{font:600 30px/1.2 var(--font-display);letter-spacing:-.035em}.option-content>p{font-size:17px;color:var(--color-muted);margin-top:var(--space-sm)}.option-content p.option-detail{border-top:1px solid var(--color-rule);padding-top:var(--space-md);margin-top:var(--space-lg);font-size:13px;color:var(--color-accent)}.option-portable{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:center;max-width:960px;margin:var(--space-md) 0 0 auto;background:var(--color-warm);border-radius:var(--radius-panel);overflow:clip}.portable-art{padding:var(--space-md) var(--space-xl)}.portable-art svg{display:block;width:100%;max-height:300px}.options-close{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);margin-top:var(--space-lg);font-size:15px;color:var(--color-muted)}.options-close .plain-link{color:var(--color-ink)}.cost-section{background:var(--color-night);color:var(--color-paper);padding-block:var(--space-3xl)}.cost-layout h2{font-size:clamp(40px,4vw,56px)}.cost-layout>div{border-left:1px solid var(--color-hero-rule);padding-left:var(--space-xl);color:var(--color-night-muted)}.questions{max-width:1200px;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:var(--space-2xl)}.questions h2{max-width:10ch;font-size:46px}.answers{margin:0}.answers details:first-child{border-top:1px solid var(--color-rule)}summary span{transition:transform 180ms var(--ease-out)}summary:focus-visible span{transition:none}.contact-shell{background:var(--color-panel)}.contact{border:none;padding-block:var(--space-2xl);align-items:center}.contact h2{font-size:clamp(40px,4vw,56px)}.contact .phone{font-size:clamp(32px,3vw,44px);color:var(--color-accent)}.contact-details{padding-left:var(--space-lg)}footer{border-top:0;padding-top:var(--space-xl)}.button>span{display:inline-block;transition:transform 180ms var(--ease-out)}.showcase a:focus-visible{outline-color:var(--color-sky)}
@media(hover:hover) and (pointer:fine){.button:hover{opacity:1}.button:hover>span{transform:translate(2px,-2px)}.hero-secondary:hover{color:var(--color-sky)}}
@media(min-width:1480px){.showcase{margin-inline:auto}}
@media(max-width:1480px) and (min-width:701px){.showcase{margin-inline:var(--space-md)}}
@media(max-width:1050px){.showcase-copy{padding:var(--space-lg) var(--space-lg) var(--space-xl)}.showcase h1{font-size:48px}.showcase-photo{min-height:500px}.showcase-copy>p:not(.audience):not(.hero-note){font-size:16px}.showcase .button{font-size:13px;padding-inline:var(--space-sm);gap:var(--space-md)}.hero-actions{gap:var(--space-sm)}.quote-band{gap:var(--space-lg);grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.quote-action{grid-column:2;padding-left:0}.quote-action p.small-copy{max-width:none}.quote-band h2{font-size:34px}.options-heading{align-items:flex-start}.options-heading>p{max-width:38ch;font-size:16px}.option-content{padding:var(--space-lg)}.terminal-art,.portable-art{padding:var(--space-md)}.questions{gap:var(--space-xl)}.questions h2{font-size:38px}}
@media(max-width:700px){.showcase{border-radius:0;grid-template-columns:minmax(0,1fr)}.showcase-copy{padding:var(--space-lg) var(--space-md) var(--space-xl)}.showcase h1{font-size:52px;max-width:12ch}.audience{margin-bottom:var(--space-md)}.showcase-copy>p:not(.audience):not(.hero-note){font-size:17px;margin-block:var(--space-md)}.hero-actions{gap:var(--space-md)}.showcase .button{font-size:14px}.showcase-photo{min-height:0;height:320px}.showcase-photo img{object-position:center 58%}.showcase-baseline{padding:var(--space-sm) var(--space-md);font-size:11px;gap:var(--space-sm)}.showcase-baseline span:first-child{display:none}.quote-band{grid-template-columns:minmax(0,1fr);gap:var(--space-md);padding-block:var(--space-xl)}.quote-band h2{font-size:36px}.quote-band h2 br{display:none}.quote-action{grid-column:auto;display:flex;flex-direction:column;gap:var(--space-2xs);align-items:flex-start}.quote-action p.small-copy{margin-top:0}.quote-action p br{display:none}.payment-options{padding-block:var(--space-xl)}.options-heading{display:block;margin-bottom:var(--space-lg)}.options-heading h2{font-size:40px}.options-heading>p{margin-top:var(--space-md);max-width:65ch}.option-counter,.option-portable{grid-template-columns:minmax(0,1fr)}.terminal-art{padding:var(--space-md) var(--space-lg) 0}.terminal-art svg{height:210px}.option-content{padding:var(--space-lg)}.option-content h3{font-size:28px}.option-content>p{font-size:16px}.option-content p.option-detail{margin-top:var(--space-md);padding-top:var(--space-sm)}.option-portable .portable-art{grid-row:1;padding:var(--space-md) var(--space-lg) 0}.portable-art svg{height:220px}.options-close{align-items:flex-start;flex-direction:column;gap:var(--space-2xs)}.cost-section{padding-block:var(--space-xl)}.cost-layout>div{padding-left:0;border-left:0}.cost-layout h2{font-size:40px}.questions{display:block;padding-block:var(--space-xl)}.questions h2{font-size:38px;max-width:15ch}.answers{margin-top:var(--space-lg)}.contact{padding-block:var(--space-xl)}.contact-details{padding-left:0}.contact h2{font-size:40px}.header-contact{align-self:flex-end}}
@media(max-width:370px){.showcase h1{font-size:46px}.hero-actions{align-items:flex-start;flex-direction:column}.showcase-photo{height:260px}.showcase-baseline{font-size:10px}}
@media(prefers-reduced-motion:reduce){summary span,.button>span{transition:none}.button:hover>span{transform:none}}

.showcase h1{max-width:none}.header-contact{flex-direction:column;align-items:flex-end;gap:var(--space-sm)}.header-contact nav{display:flex;align-items:center;gap:var(--space-md)}.header-contact nav a{font-size:13px;font-weight:400;text-decoration:underline;text-underline-offset:4px}
@media(min-width:701px) and (max-width:850px){.showcase h1{font-size:40px}.showcase-copy{padding-inline:var(--space-md)}}
@media(max-width:700px){.showcase h1{font-size:clamp(40px,10vw,52px)}}
@media(max-width:600px){.header-contact{width:100%;flex-direction:row;justify-content:space-between;align-items:center}.header-contact nav{gap:var(--space-sm)}.header-contact nav a{font-size:12px}.header-contact>a{font-size:12px}}
@media(max-width:400px){.header-contact{flex-direction:column;align-items:flex-end;gap:var(--space-xs)}.showcase h1{font-size:40px}}

/* Conversion refinement: explicit offer, company context and direct enquiry. */
.showcase h1{font-size:clamp(38px,4.1vw,58px);line-height:1.08;max-width:16ch;text-wrap:balance}.showcase .hero-note{font-size:13px}.team-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:var(--space-2xl);padding-block:var(--space-2xl);border-bottom:1px solid var(--color-rule)}.team-section h2{font-size:38px}.team-copy p{color:var(--color-muted);margin-bottom:var(--space-md)}.team-copy .plain-link{white-space:normal}.contact{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:start}.contact-direct{display:flex;flex-direction:column;gap:var(--space-sm);margin-block:var(--space-lg);overflow-wrap:anywhere}.contact-direct>a:last-child{font-size:16px}.enquiry-form{min-width:0}.enquiry-form label{display:block;font-size:14px;font-weight:600;margin-bottom:var(--space-2xs)}.enquiry-form label span{font-weight:400;color:var(--color-muted)}.enquiry-form input,.enquiry-form textarea{display:block;width:100%;padding:var(--space-xs);border:1px solid var(--color-muted);border-radius:var(--radius-button);background:var(--color-paper);color:var(--color-ink);font:400 16px/1.5 var(--font-body);margin-bottom:var(--space-sm)}.enquiry-form textarea{resize:vertical;min-height:110px}.enquiry-form input:focus-visible,.enquiry-form textarea:focus-visible,.enquiry-form button:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.form-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-sm)}.enquiry-form .small-copy{font-size:13px;margin:0 0 var(--space-md)}.enquiry-form button{font-family:var(--font-body);border:0;cursor:pointer}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:clip}.enquiry-form #form-status{font-size:16px;min-height:1.5em}.enquiry-form #form-status:empty{margin:0;min-height:0}.enquiry-form #form-status:focus{outline:2px solid var(--color-focus);outline-offset:4px}
@media(max-width:850px){.showcase h1{font-size:40px}.team-section,.contact{gap:var(--space-lg)}.form-pair{grid-template-columns:minmax(0,1fr);gap:0}}
@media(max-width:700px){.showcase h1{font-size:clamp(36px,9vw,48px);max-width:17ch}.team-section,.contact{grid-template-columns:minmax(0,1fr)}.team-section{padding-block:var(--space-xl);gap:var(--space-md)}.team-section h2{font-size:34px}.contact-direct .phone{font-size:30px}}

/* Paired service panels: equal widths, opposite offsets. */
.option-counter{max-width:960px;margin-right:auto}
/* Final craft pass: mirrored proportions, clear control targets and readable details. */
.option-counter{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}
.header-contact nav a{display:inline-flex;align-items:center;min-height:44px;font-size:14px}
.header-contact>a{display:inline-flex;align-items:center;min-height:44px}
.hero-secondary{display:inline-flex;align-items:center;min-height:44px}
.quote-action p.small-copy,.showcase-baseline{font-size:13px}
.option-content p.option-detail{font-size:14px}
.questions h2{max-width:13ch}
@media(max-width:700px){.option-counter{grid-template-columns:minmax(0,1fr)}.showcase-photo{height:260px}.showcase-baseline{font-size:12px}.showcase-copy{padding-bottom:var(--space-lg)}.header-contact{gap:var(--space-2xs)}}
@media(max-width:400px){.header-contact{flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:center}.header-contact nav{gap:var(--space-xs)}.header-contact nav a{font-size:13px}}

/* Secondary provider quotation, alongside cost information. */
.provider-quotation { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding-block: 2.5rem; }
.provider-quotation h2 { font-family: inherit; font-size: 1.25rem; margin-bottom: .6rem; }
.provider-quotation p { max-width: 65ch; margin: 0; }
.provider-quotation > a { flex-shrink: 0; }
@media (max-width: 700px) { .provider-quotation { align-items: flex-start; flex-direction: column; gap: 1rem; } }

/* Nationwide's estimate is the main pricing journey. */
.nationwide-quote { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:3rem; padding-block:4rem; border-bottom:1px solid var(--color-rule); }
.nationwide-quote h2 { margin-bottom:1rem; }
.nationwide-quote .button { margin-top:1.25rem; }
.quote-rates { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; margin:0; }
.quote-rates div { border-top:1px solid var(--color-rule); padding-top:.8rem; }
.quote-rates dt { color:var(--color-muted); font-size:15px; }
.quote-rates dd { margin:0; font-size:2rem; font-variant-numeric:tabular-nums; }
.quote-rates dd small { font-size:14px; }
.calculator-page { padding-block:2rem 4rem; }
.calculator-heading { padding-block:2.5rem; max-width:850px; }
.calculator-heading h1 { font-size:clamp(38px,5vw,64px); margin-block:.5rem 1rem; }
.calculator-eyebrow { font-size:13px; text-transform:uppercase; letter-spacing:.08em; color:var(--color-muted); }
.calculator-layout { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); align-items:start; gap:3rem; }
.calculator-inputs { display:flex; flex-direction:column; gap:.7rem; padding-block:1.5rem; }
.calculator-inputs label { font-weight:600; margin-top:.5rem; }
.calculator-inputs input,.calculator-inputs select { width:100%; min-width:0; font:inherit; font-size:18px; color:var(--color-ink); background:var(--color-paper); border:1px solid var(--color-muted); border-radius:4px; min-height:50px; padding:.65rem .8rem; }
.calculator-inputs :is(input,select,button):focus-visible,.calculator-result:focus-visible { outline:3px solid var(--color-focus); outline-offset:4px; }
.calculator-inputs .button { margin-top:.8rem; cursor:pointer; }
.example-button { background:none; border:0; text-decoration:underline; text-underline-offset:4px; color:var(--color-accent); font:inherit; font-size:14px; cursor:pointer; min-height:44px; }
.calculator-result { background:var(--color-warm); padding:2rem; border-radius:var(--radius-panel); min-width:0; font-variant-numeric:tabular-nums; }
.estimate-total { font-family:var(--font-heading); font-size:clamp(38px,5vw,64px); margin-top:1rem; line-height:1.15; }
.estimate-total span { display:block; font:400 16px/1.5 var(--font-body); margin-top:.6rem; }
.estimate-assumption { font-size:15px; margin-block:1rem; }
.estimate-table { width:100%; border-collapse:collapse; font-size:15px; margin-block:1.5rem; }
.estimate-table caption { text-align:left; font-size:13px; color:var(--color-muted); margin-bottom:.6rem; }
.estimate-table :is(td,th) { text-align:right; padding:.85rem 0 .85rem .65rem; border-bottom:1px solid var(--color-rule); vertical-align:top; }
.estimate-table th:first-child { text-align:left; padding-left:0; }
.estimate-table small { display:block; font-size:12px; font-weight:400; line-height:1.5; margin-top:.3rem; }
.estimate-rate { display:block; margin-top:.35rem; color:var(--color-accent); font-size:15px; font-weight:600; line-height:1.5; }
.estimate-table thead th { font-size:12px; font-weight:400; }
.estimate-table tfoot { font-weight:600; }
.calculator-result > .button { margin-top:1.5rem; }
.estimate-terms { border-top:1px solid var(--color-rule); margin-top:2rem; padding-top:1.25rem; font-size:13px; }
.estimate-terms p { margin-top:.7rem; }
.estimate-empty { padding-block:2rem; }
.estimate-empty h2 { font-size:clamp(32px,4vw,44px); margin-bottom:1rem; }
.estimate-empty p + p { margin-top:1rem; font-size:14px; }
.calculator-provider { margin-top:2.5rem; padding-top:1.5rem; border-top:1px solid var(--color-rule); font-size:14px; }
@media(max-width:850px) { .calculator-layout { grid-template-columns:1fr; gap:1rem; } }
@media(max-width:700px) { .nationwide-quote { grid-template-columns:1fr; gap:2rem; padding-block:2.5rem; } .calculator-result { padding:1.25rem; } .calculator-heading { padding-block:2rem; } }
@media(max-width:380px) { .estimate-table { font-size:12px; } .estimate-table small { font-size:11px; } .estimate-table :is(th,td) { padding-inline-start:.3rem; } .calculator-result { padding:1rem; } }

.estimate-table-scroll { max-width:100%; overflow-x:auto; }
.estimate-table-scroll:focus-visible { outline:3px solid var(--color-focus); outline-offset:3px; }
.quote-rates dd { line-height:1.35; }
.quote-rates dd small { display:block; margin-top:.2rem; }
.quote-rates + .small-copy { margin-top:1.25rem; }
.nationwide-quote .button + .small-copy { margin-top:.75rem; }
.estimate-table td { white-space:nowrap; }

/* Accessible branded calculator controls; native radio keyboard behaviour. */
.calculator-inputs { gap:.85rem; padding-top:0; }
.calculator-inputs > .calculator-eyebrow { margin-bottom:.4rem; }
.business-choices { border:0; padding:0; margin:0 0 .6rem; min-width:0; }
.business-choices legend { font-weight:600; margin-bottom:.8rem; }
.business-choice-grid { display:grid; grid-template-columns:1fr 1fr; gap:.65rem; }
.calculator-inputs .business-choice { position:relative; display:flex; align-items:center; gap:.65rem; margin:0; padding:1rem .85rem; min-height:70px; border:1px solid var(--color-rule); border-radius:8px; background:white; cursor:pointer; font-size:14px; font-weight:400; line-height:1.4; transition:border-color 140ms,background-color 140ms; }
.calculator-inputs .business-choice input { position:absolute; opacity:0; width:1px; height:1px; min-height:0; padding:0; margin:0; }
.choice-indicator { display:block; flex:0 0 18px; width:18px; height:18px; border:1.5px solid var(--color-muted); border-radius:50%; background:var(--color-paper); }
.business-choice:has(input:checked) { border-color:var(--color-accent); background:var(--color-panel); box-shadow:inset 0 0 0 1px var(--color-accent); }
.business-choice input:checked + .choice-indicator { border:5px solid var(--color-accent); background:white; }
.business-choice:has(input:focus-visible) { outline:3px solid var(--color-focus); outline-offset:3px; }
.currency-field { display:flex; align-items:center; background:white; border:1px solid var(--color-rule); border-radius:8px; overflow:hidden; transition:border-color 140ms,box-shadow 140ms; }
.currency-field > span { padding-left:1rem; color:var(--color-muted); font-size:20px; }
.calculator-inputs .currency-field input { appearance:textfield; -moz-appearance:textfield; border:0; border-radius:0; background:transparent; padding:.9rem 1rem .9rem .65rem; min-height:58px; font-size:22px; font-variant-numeric:tabular-nums; box-shadow:none; }
.currency-field input::-webkit-inner-spin-button,.currency-field input::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
.calculator-inputs .currency-field input:focus-visible { outline:none; }
.currency-field:focus-within { border-color:var(--color-accent); box-shadow:0 0 0 3px var(--color-panel); outline:2px solid var(--color-focus); outline-offset:2px; }
.calculator-inputs input::placeholder { color:var(--color-muted); opacity:.75; }
.calculator-assumptions { padding-top:.6rem; }
.calculator-inputs > .button { border:0; border-radius:8px; min-height:56px; padding:1rem 1.15rem; }
@media(hover:hover) { .business-choice:hover { border-color:var(--color-accent); } }
@media(max-width:380px) { .calculator-inputs .business-choice { padding:.85rem .65rem; gap:.5rem; font-size:13px; } }
@media(forced-colors:active) { .business-choice:has(input:checked) { outline:2px solid Highlight; } .business-choice input:checked + .choice-indicator { background:Highlight; } }
/* The small unit label must not inherit display-heading tracking. */
.estimate-total span { letter-spacing:normal; word-spacing:normal; text-wrap:initial; }
.calculator-form-heading { margin-bottom:.5rem; }
.calculator-form-heading > p:last-child { font-size:22px; margin-top:.4rem; letter-spacing:-.02em; }
.result-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.5rem; }
.live-estimate-label { font-size:12px; color:var(--color-muted); }
.quote-error:empty { display:none; }
.quote-error { font-size:14px; border-left:3px solid var(--color-accent); padding-left:.75rem; }
.calculator-result { scroll-margin-top:1.5rem; }
@media(min-width:851px) { .calculator-result { min-height:640px; } }
@media(hover:hover) { .calculator-inputs > .button:hover { filter:brightness(1.08); } }
