/* Keep the page background, fields and text on the same theme.
   The shared stylesheet defaults to paper, even when the header is dark. */
html body.contact-body{--contact-bg:var(--ink,#101614);--contact-panel:var(--ink-soft,#1A2723);--contact-field:var(--ink,#101614);--contact-text:var(--text-light,#F3F7F4);--contact-dim:var(--text-light-dim,#BAC8C2);--contact-line:var(--line-dark,#34453F);--contact-control-line:var(--text-faint,#74817C);--contact-focus:var(--accent,#F0B44D);background:var(--contact-bg);color:var(--contact-text)}
html[data-theme="light"] body.contact-body{--contact-bg:var(--paper,#F4F6F2);--contact-panel:var(--white,#FFFFFF);--contact-field:var(--paper,#F4F6F2);--contact-text:var(--text,#17201D);--contact-dim:var(--text-dim,#53615C);--contact-line:var(--line,#D2DAD4);--contact-focus:var(--ink,#101614)}
.contact-page{color:var(--contact-text);padding-top:64px;padding-bottom:64px;max-width:1180px}
.contact-page p,.contact-footer p{color:var(--contact-dim)}
.contact-page h3,.contact-page .contact-status,.contact-footer a{color:var(--contact-text)}
.contact-page .eyebrow{color:var(--contact-text)}
.contact-footer a{text-decoration:underline;text-underline-offset:3px}
.contact-panel #enquiry-message{scroll-margin-top:140px}
.contact-panel #meeting-hint{margin-top:8px}
.contact-panel #booking-enquiry{margin-bottom:16px}
.contact-page [hidden]{display:none!important}.contact-intro{max-width:850px;margin-bottom:48px}.contact-intro h1{font-family:"Inter Display",Inter,"Segoe UI",sans-serif;font-size:clamp(2.3rem,5.2vw,4.2rem);line-height:1.1;letter-spacing:-.035em;margin:16px 0 24px;max-width:18ch;color:var(--contact-text)}.contact-intro>p:last-child{max-width:65ch;font-size:1.15rem;line-height:1.7;color:var(--contact-dim)}.contact-layout{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:48px;align-items:start}.contact-summary{padding-top:24px;border-top:2px solid #F0B44D}.contact-summary h2{font-size:1.55rem;line-height:1.3;color:var(--contact-text)}.contact-summary p{line-height:1.65;color:var(--contact-dim);margin:20px 0}.contact-summary a,.contact-page .contact-small a,.contact-privacy a{color:var(--contact-text);text-decoration:underline;text-underline-offset:3px}.contact-details{margin-top:32px;padding-top:8px;border-top:1px solid var(--contact-line)}.contact-details strong{color:var(--contact-text)}.contact-panel{padding:32px;border:1px solid var(--contact-line);border-radius:6px;background:var(--contact-panel)}.contact-options{display:flex;gap:8px;margin:0 0 32px;padding-bottom:24px;border-bottom:1px solid var(--contact-line)}.contact-options button{flex:1;padding:13px 10px;border:1px solid var(--contact-line);border-radius:6px;font:inherit;background:transparent;color:var(--contact-text);cursor:pointer}.contact-options button.selected{background:#F0B44D;color:#17130B;border-color:#F0B44D}.contact-panel h2{font-size:1.65rem;margin:0 0 12px;color:var(--contact-text)}.contact-muted,.contact-small{color:var(--contact-dim);line-height:1.6}.contact-small{font-size:.85rem;margin-top:20px}.contact-panel label{display:block;font-size:.92rem;font-weight:600;margin:20px 0 8px}.contact-panel label span{font-weight:400;color:var(--contact-dim)}.contact-panel input,.contact-panel textarea,.contact-panel select{width:100%;box-sizing:border-box;border:1px solid var(--contact-control-line);border-radius:6px;background:var(--contact-field);color:var(--contact-text);padding:12px;font:inherit;font-size:1rem;line-height:1.4}.contact-panel textarea{resize:vertical;min-height:100px}.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-submit{margin-top:16px;padding:14px 24px;border:0;border-radius:6px;background:#F0B44D;color:#17130B;font:inherit;font-weight:600;cursor:pointer;min-height:48px}.contact-submit:disabled{opacity:.45;cursor:not-allowed}.contact-page :focus-visible{outline:3px solid var(--contact-focus);outline-offset:4px}.contact-status{line-height:1.6;min-height:1.6em;margin:16px 0;color:var(--contact-text);overflow-wrap:anywhere}.contact-status[data-error="true"]{border-left:3px solid #F0B44D;padding-left:12px}.human-check{margin-top:24px;min-height:65px}.calendar-heading{display:flex;align-items:center;justify-content:space-between;margin:28px 0 16px}.calendar-heading h3{font-size:1.1rem;margin:0;color:var(--contact-text)}.calendar-heading button{background:transparent;border:1px solid var(--contact-line);color:var(--contact-text);border-radius:6px;font-size:1.6rem;cursor:pointer;width:42px;height:42px}.calendar-heading button:disabled{opacity:.3;cursor:not-allowed}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.calendar-weekdays{font-size:.75rem;text-align:center;color:var(--contact-dim);margin-bottom:8px}.calendar-days button{border:1px solid var(--contact-line);border-radius:6px;background:var(--contact-field);color:var(--contact-text);min-height:42px;font:inherit;cursor:pointer}.calendar-days button:disabled{opacity:.25;cursor:not-allowed}.calendar-days button[aria-pressed="true"],.time-slots button[aria-pressed="true"]{background:#F0B44D;color:#17130B;border-color:#F0B44D}.time-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.time-slots button{padding:12px 4px;border:1px solid var(--contact-line);border-radius:6px;font:inherit;background:var(--contact-field);color:var(--contact-text);cursor:pointer}.selected-time{color:var(--contact-text);line-height:1.5;min-height:1.5em}.contact-privacy{max-width:78ch;margin-top:64px;padding-top:24px;border-top:1px solid var(--contact-line)}.contact-privacy h2{font-size:1.2rem;color:var(--contact-text)}.contact-privacy p{font-size:.9rem;color:var(--contact-dim);line-height:1.65}.contact-footer{padding-top:24px;padding-bottom:32px;font-size:.85rem}.contact-panel a{overflow-wrap:anywhere}
@media(max-width:850px){.contact-layout{grid-template-columns:1fr;gap:24px}.contact-summary{max-width:70ch}.contact-details{display:none}.contact-page{padding-top:32px}.contact-intro{margin-bottom:32px}.contact-panel{padding:24px}}
@media(max-width:480px){.contact-fields{grid-template-columns:1fr;gap:0}.contact-panel{padding:16px}.contact-options{gap:6px}.contact-options button{font-size:.85rem}.calendar-days,.calendar-weekdays{gap:3px}.human-check{max-width:100%}}
