.contact-section { background: var(--night-strong, var(--forest)); color: var(--night-on-strong, var(--paper-light)); }
.contact-section .contact-grid { grid-template-columns: .9fr 1.1fr; align-items: start; gap: 75px; }
.contact-section .contact-copy .eyebrow { color: var(--night-text, #d3dfbc); }
.contact-section .small-square { background: var(--lime); }
.contact-section .contact-copy h2 { font-size: clamp(42px, 4.3vw, 62px); }
.contact-section h2 em { color: var(--lime); }
.contact-section .contact-intro { max-width: 390px; margin-top: 28px; color: var(--night-text, #d3dbca); font-size: 14px; line-height: 1.8; }
.contact-section .contact-email { color: var(--lime); margin-top: 24px; font-size: 13px; overflow-wrap: anywhere; }
.contact-section .contact-fallback-copy { margin-top: 10px; color: var(--night-muted, #becab4); font-size: 12px; line-height: 1.7; }
.enquiry-form { padding: 30px; border-radius: 15px; background: var(--paper-light); color: var(--ink); }
.enquiry-form[hidden], .enquiry-form [hidden], .enquiry-status[hidden], .enquiry-brief-note[hidden] { display: none; }
.enquiry-form fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.enquiry-form legend { padding: 0; margin-bottom: 23px; font: 600 23px/1.2 var(--heading); letter-spacing: -.035em; }
.enquiry-field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.enquiry-field { min-width: 0; }
.enquiry-field-wide { grid-column: 1 / -1; }
.enquiry-field label { display: block; margin-bottom: 8px; font-size: 12px; font-weight: 600; }
.enquiry-field label > span { color: var(--muted); font-weight: 400; }
.enquiry-field input, .enquiry-field select, .enquiry-field textarea { width: 100%; min-height: 46px; padding: 12px; border: 1px solid var(--night-border, #b9c1ab); border-radius: 6px; background: var(--night-surface, #fffefb); color: var(--ink); font: 13px/1.5 var(--sans); }
.enquiry-field textarea { min-height: 170px; resize: vertical; }
.enquiry-field input:focus, .enquiry-field select:focus, .enquiry-field textarea:focus { outline: 2px solid var(--moss); outline-offset: 2px; }
.enquiry-field [aria-invalid="true"] { border-color: var(--night-border, #a33b2e); }
.enquiry-field [aria-invalid="true"]:focus { outline-color: var(--night-border, #a33b2e); }
.enquiry-hint { display: block; margin-top: 7px; color: var(--muted); font-size: 10px; line-height: 1.6; }
.enquiry-error { display: block; margin-top: 7px; color: var(--night-error, #963529); font-size: 11px; line-height: 1.6; }
.enquiry-privacy { margin-top: 22px; color: var(--muted); font-size: 11px; line-height: 1.75; }
.enquiry-submit { margin-top: 21px; cursor: pointer; font-family: var(--sans); min-height: 48px; }
.enquiry-submit:disabled { opacity: .65; cursor: wait; }
.enquiry-status, .enquiry-brief-note { margin-top: 18px; padding: 13px 15px; border: 1px solid var(--night-border, #bdc9a9); border-radius: 6px; color: var(--night-muted, #354b2d); background: var(--night-soft, #eaf0df); font-size: 12px; line-height: 1.7; }
.enquiry-status[data-state="error"] { color: var(--night-error, #7e2f25); border-color: var(--night-border, #dcb3a8); background: var(--night-surface, #fcf0eb); }
.enquiry-status[data-state="pending"] { color: var(--night-muted, #4c5841); background: var(--night-surface, #f0f2e9); }
.enquiry-brief-note { margin-top: 0; margin-bottom: 22px; }
.enquiry-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.enquiry-nojs { color: var(--night-text, #d3dbca); font-size: 14px; line-height: 1.8; }
@media (max-width: 1000px) {
  .contact-section .contact-grid { gap: 40px; grid-template-columns: .8fr 1.2fr; }
  .enquiry-form { padding: 25px; }
  .enquiry-field-grid { grid-template-columns: 1fr; gap: 18px; }
}
@media (max-width: 700px) {
  .contact-section .contact-grid { grid-template-columns: 1fr; gap: 32px; }
  .contact-section .contact-copy h2 { font-size: clamp(39px, 10vw, 54px); }
  .contact-section .contact-intro { margin-top: 22px; }
  .enquiry-form { padding: 24px 20px; border-radius: 12px; }
  .enquiry-field input, .enquiry-field select, .enquiry-field textarea { font-size: 16px; }
  .enquiry-submit { width: 100%; justify-content: center; }
}
/* Optional guided brief. */
.brief-mode { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:24px 0; }
.brief-mode button { padding:14px 12px; border:1px solid var(--night-border, #bdc7ae); border-radius:8px; color:var(--forest); background:var(--night-soft, #eef1e3); text-align:left; font:600 12px/1.5 var(--sans); cursor:pointer; }
.brief-mode button span { display:block; font-size:10px; font-weight:400; margin-top:4px; }
.brief-mode button[aria-pressed="true"] { color:var(--night-on-strong, var(--paper)); background:var(--night-strong, var(--forest)); border-color:var(--forest); }
.guided-brief { margin:22px -8px; padding:24px 18px; border:1px solid var(--night-border, #c8d2b8); border-radius:10px; background:var(--night-surface, #f0f3e8); }
.guided-heading h3 { font-size:23px; letter-spacing:-.6px; margin:8px 0; }
.guided-heading p,.brief-measure > p { color:var(--muted); font-size:12px; line-height:1.7; margin-bottom:20px; }
.enquiry-form .guided-brief legend { font:600 12px/1.6 var(--sans); letter-spacing:0; margin-bottom:12px; }
.brief-goal-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.brief-goal-grid button { display:flex; align-items:center; gap:9px; padding:11px; background:var(--night-surface, #fffef8); border:1px solid var(--night-border, #c4cfb2); border-radius:7px; text-align:left; font:500 11px/1.5 var(--sans); color:var(--forest); cursor:pointer; min-height:53px; }
.brief-goal-grid svg { width:22px; height:22px; flex-shrink:0; fill:none; stroke:currentColor; stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; }
.brief-goal-grid button[aria-pressed="true"] { background:var(--night-strong, var(--forest)); color:var(--lime); border-color:var(--forest); }
.opportunity-visual { margin:20px 0 25px; }
.opportunity-visual svg { width:100%; height:auto; fill:var(--night-surface, #fffef8); stroke:var(--night-stroke, #738462); stroke-width:1.4; }
.opportunity-visual text { fill:var(--night-accent, #52613e); stroke:none; font:11px Arial,sans-serif; text-anchor:middle; }
.opportunity-path { fill:none; stroke-dasharray:4 5; }
.opportunity-core { fill:var(--forest); stroke:var(--forest); }
.opportunity-core-mark { fill:var(--lime); stroke:none; }
.opportunity-result { fill:var(--lime); }
.opportunity-check { fill:none; stroke:var(--forest); stroke-width:2.5; }
.opportunity-visual figcaption { color:var(--forest); border-left:3px solid var(--lime); padding-left:12px; font-size:12px; line-height:1.75; }
.enquiry-form .brief-tools { margin:22px 0; }
.brief-check-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.brief-check-grid label,.enquiry-copy { display:flex; align-items:flex-start; gap:8px; color:var(--forest); font-size:11px; line-height:1.6; cursor:pointer; }
.brief-check-grid input,.enquiry-copy input { width:17px; height:17px; flex-shrink:0; accent-color:var(--forest); margin-top:1px; }
#brief-other-wrap { margin-top:16px; }
.brief-measure { border-top:1px solid var(--night-border, #cad3bd); border-bottom:1px solid var(--night-border, #cad3bd); padding:16px 0; margin:22px 0; }
.brief-measure summary { cursor:pointer; font-size:12px; font-weight:600; line-height:1.7; }
.brief-measure summary span { font-size:10px; color:var(--muted); font-weight:400; margin-left:5px; }
.brief-measure > p { margin:14px 0; }
.enquiry-field input[type="range"] { padding:0; border:0; background:transparent; accent-color:var(--forest); }
.workload-result { margin-top:17px; }
.workload-result svg { width:100%; height:24px; fill:var(--night-surface, #dce4cc); }
#workload-fill { fill:var(--night-accent, #6d864e); }
.workload-result p { color:var(--forest); font-size:13px; font-weight:600; line-height:1.7; }
.workload-result small { display:block; margin-top:7px; color:var(--muted); font-size:10px; line-height:1.7; }
.enquiry-copy { margin-top:22px; font-size:12px; }
.brief-last-fields { margin-top:22px; margin-bottom:12px; }
@media(max-width:700px) { .brief-mode button { font-size:12px; } .guided-brief { padding:22px 14px; } .brief-check-grid { grid-template-columns:1fr; gap:12px; } .brief-check-grid label { font-size:13px; } .brief-goal-grid button { font-size:11px; padding:10px; } }

@media(min-width:701px) { .contact-section .contact-copy { position:sticky; top:130px; } }
/* Visitor-controlled AI drafting; no contact fields are sent to models. */
.enquiry-ai{border:1px solid var(--night-border, #bdc9aa);border-radius:9px;background:var(--night-soft, #edf1e4);margin-top:23px;overflow:hidden}.enquiry-ai summary{display:flex;align-items:center;gap:11px;padding:16px;cursor:pointer;list-style:none;font:600 12px/1.6 var(--sans)}.enquiry-ai summary::-webkit-details-marker{display:none}.enquiry-ai summary>svg{width:24px;height:24px;fill:none;stroke:var(--night-stroke, #52613e);stroke-width:1.5;flex-shrink:0}.enquiry-ai summary small{display:block;font:10px var(--sans);color:var(--muted);margin-top:2px}.enquiry-ai summary>span:last-child{margin-left:auto;font-size:22px;font-weight:400}.enquiry-ai[open] summary>span:last-child{transform:rotate(45deg)}.enquiry-ai-body{padding:0 16px 20px}.enquiry-ai-body>p{font-size:12px;line-height:1.8;color:var(--muted);margin:0 0 14px}.enquiry-ai-body .enquiry-ai-privacy{font-size:10px;line-height:1.8}.enquiry-ai-consent{display:flex;align-items:flex-start;gap:9px;font-size:11px;line-height:1.7;cursor:pointer}.enquiry-ai-consent input{width:17px;height:17px;accent-color:var(--forest);margin-top:3px;flex-shrink:0}.enquiry-ai-consent small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.enquiry-ai-generate,.enquiry-ai-apply{border:1px solid var(--night-border, #536944);border-radius:5px;background:var(--night-surface, #fdfcf5);color:var(--forest);font:600 11px/1.6 var(--sans);padding:12px 14px;cursor:pointer;min-height:44px;margin-top:19px}.enquiry-ai-generate:disabled{opacity:.65;cursor:wait}.enquiry-ai-body .enquiry-ai-status{margin:15px 0 0;font-size:11px;color:var(--forest)}.enquiry-ai-result{border-top:1px solid var(--night-border, #bdc9aa);margin-top:23px;padding-top:23px}.enquiry-ai-result h3{font:600 18px/1.5 var(--heading);letter-spacing:-.03em;margin:10px 0 20px}.enquiry-ai-result h4,.enquiry-ai-result label{font:600 11px/1.6 var(--sans);display:block;margin:17px 0 8px}.enquiry-ai-result ul{padding-left:18px;font-size:11px;line-height:1.8;color:var(--muted)}.enquiry-ai-result li+li{margin-top:6px}.enquiry-ai-result textarea{width:100%;padding:11px;border:1px solid var(--night-border, #bdc9aa);border-radius:5px;font:11px/1.8 var(--sans);background:var(--night-surface, #fffef8);color:var(--forest);resize:vertical}.enquiry-ai-result>p:not(.eyebrow),.enquiry-ai-result>small{font-size:10px;line-height:1.8;color:var(--muted);display:block;margin-top:10px}.enquiry-ai-apply{background:var(--night-strong, var(--forest));color:var(--night-on-strong, var(--paper))}
@media(max-width:700px){.enquiry-ai summary{padding:15px 13px}.enquiry-ai-body{padding:0 13px 18px}.enquiry-ai-consent{font-size:12px}.enquiry-ai-result textarea{font-size:16px}.enquiry-ai-generate,.enquiry-ai-apply{width:100%;font-size:12px}}
/* Laya reports discrete processing stages; no model confidence score is displayed. */
.enquiry-ai .ai-processing{margin:20px 0 0;border-top:1px solid var(--night-border, #cbd4bd);padding-top:4px}.enquiry-ai .ai-processing>summary{display:grid;grid-template-columns:17px minmax(0,1fr) 14px;gap:1px 9px;padding:12px 0;list-style:none;font:500 11px/1.6 var(--sans);color:var(--night-muted, #53624a)}.enquiry-ai .ai-processing>summary>span:last-child{font-size:15px;margin:0;grid-column:3;grid-row:1/span 2;transform:none}.enquiry-ai .ai-processing[open]>summary>span:last-child{transform:rotate(180deg)}.enquiry-ai .ai-processing>summary>small{font:10px/1.7 var(--sans);color:var(--night-muted, #6b7561);grid-column:2}.ai-process-mark{grid-row:1/span 2;display:flex;gap:2px;align-items:center;height:22px}.ai-process-mark i{width:3px;height:6px;border-radius:2px;background:var(--night-soft, #b3bea5)}.ai-process-mark i:nth-child(2){height:13px}.ai-process-mark i:nth-child(3){height:9px}.ai-processing[data-state=complete] .ai-process-mark i{background:var(--night-raised, #627d44)}.ai-processing[data-state=running] .ai-process-mark i{background:var(--night-warning, #a4792d)}.ai-processing[data-state=held] .ai-process-mark i{background:var(--night-error, #a15743)}.ai-processing-body>p{font-size:10px;line-height:1.8;color:var(--muted);margin:8px 0 17px}.ai-processing-steps{list-style:none;margin:0;padding:0;display:grid;gap:18px}.ai-processing-steps li>div{display:flex;gap:12px;justify-content:space-between;align-items:start;font-size:10px;line-height:1.7}.ai-processing-steps strong{font-weight:600;color:var(--night-muted, #43583a)}.ai-processing-steps [data-process-label]{color:var(--night-muted, #69745e);text-align:right;max-width:48%}.ai-process-bar{display:block;height:4px;background:var(--night-soft, #d8dfcf);border-radius:5px;margin:8px 0;overflow:hidden}.ai-process-bar i{display:block;width:0;height:100%;background:var(--night-raised, #879473);transition:width .15s}.ai-processing-steps li[data-state=complete] .ai-process-bar i{width:100%;background:var(--night-raised, #658545)}.ai-processing-steps li[data-state=running] .ai-process-bar i,.ai-processing-steps li[data-state=ready] .ai-process-bar i{width:50%;background:var(--night-warning, #a87929)}.ai-processing-steps li[data-state=held] .ai-process-bar i{width:100%;background:var(--night-error, #a65e49)}.ai-processing-steps small{display:block;color:var(--night-muted, #727a66);font-size:10px;line-height:1.8}.ai-process-key{display:flex;flex-wrap:wrap;gap:7px 15px;font-size:9px;color:var(--night-muted, #6a735f);margin:22px 0 13px}.ai-process-key span{display:flex;align-items:center;gap:5px}.ai-process-key i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--night-soft, #aab69b)}.ai-process-key i[data-key=complete]{background:var(--night-raised, #658545)}.ai-process-key i[data-key=running]{background:var(--night-warning, #a87929)}.ai-process-key i[data-key=held]{background:var(--night-error, #a65e49)}.ai-processing-body .ai-process-limit{font-size:9px;line-height:1.9;margin-bottom:0;padding-top:10px;border-top:1px solid var(--night-border, #d5ddcb)}
@media(prefers-reduced-motion:reduce){.ai-process-bar i{transition:none}}

.enquiry-field .enquiry-auto-message{display:flex;align-items:flex-start;gap:9px;font:500 11px/1.7 var(--sans);color:var(--forest);cursor:pointer;margin:16px 0 6px}.enquiry-field .enquiry-auto-message input{width:17px;height:17px;min-height:17px;padding:0;margin:2px 0 0;flex-shrink:0;accent-color:var(--forest)}.enquiry-draft-hint{display:block;color:var(--muted);font-size:10px;line-height:1.8;margin:0 0 5px}@media(max-width:700px){.enquiry-field .enquiry-auto-message{font-size:12px}.enquiry-draft-hint{font-size:11px}}
