:root{--background:#fbfaf5;--surface:#fff;--surface-warm:#f1eadb;--text:#22251f;--muted:#5e6259;--border:#ded8c9;--accent:#b79a5b;--accent-dark:#7b6534;--error:#9f2d2d;--success:#2d6b45;--shadow:0 24px 70px #22251f14}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--background);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:3px;outline:2px solid #7b6534b8}main{width:100%;min-height:100vh}.site-header{z-index:10;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fbfaf5eb;justify-content:space-between;align-items:center;gap:24px;padding:18px clamp(20px,5vw,72px);display:flex;position:sticky;top:0}.brand{letter-spacing:0;font-size:20px;font-weight:700}nav{color:var(--muted);align-items:center;gap:20px;font-size:14px;display:flex}nav a{padding:6px 0}.section{width:min(1120px,100% - 40px);margin:0 auto;padding:72px 0;scroll-margin-top:96px}.hero{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);align-items:center;gap:clamp(36px,5vw,58px);min-height:auto;padding-top:clamp(44px,6vw,68px);padding-bottom:clamp(38px,5vw,58px);display:grid}.hero h1,.section-heading h2,.about-band h2,.contact-copy h2{letter-spacing:0;margin:0;font-size:clamp(38px,6vw,74px);line-height:1.02}.hero p,.contact-copy p,.about-copy p,.service-card p{color:var(--muted);line-height:1.65}.hero p{max-width:650px;font-size:18px}.hero-copy,.hero-panel,.about-band,.about-copy,.credentials-band,.service-grid,.service-card,.contact-copy,.contact-section,.enquiry-form{min-width:0}.hero p,.about-copy p,.service-card p,.contact-copy p{overflow-wrap:break-word}.hero-actions,.direct-links,.form-actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.button,button{border:1px solid var(--text);min-height:46px;font:inherit;cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:0 18px;font-weight:700;transition:background .16s,border-color .16s,color .16s,transform .16s;display:inline-flex}.button-primary,button[type=submit]{background:var(--text);color:#fff}.button-primary:hover,button[type=submit]:hover:not(:disabled){background:#11140f;transform:translateY(-1px)}.button-secondary{color:var(--text);background:0 0}.button-secondary:hover{background:#ffffffb3;border-color:#7b653494}button:disabled{cursor:not-allowed;opacity:.55}.hero-panel{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px;gap:20px;padding:16px;display:grid}.hero-panel img{aspect-ratio:16/10;object-fit:cover;border:1px solid var(--border);border-radius:10px;width:100%}.mission-statement{border-left:3px solid var(--accent);color:var(--text);margin:0;padding:4px 4px 2px 18px;font-weight:700;line-height:1.6}.credentials-band{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:min(1120px,100% - 40px);margin:18px auto 0;padding:26px 30px;box-shadow:0 16px 44px #22251f0a}.service-card,.about-band{background:var(--surface);border:1px solid var(--border);border-radius:12px}.credentials-band p:last-child{margin:0;font-size:clamp(21px,3vw,32px);font-weight:800;line-height:1.28}.section-label{color:var(--accent-dark);text-transform:uppercase;letter-spacing:.08em;margin:0 0 12px;font-size:13px;font-weight:800}.section-heading{grid-template-columns:.9fr 1.1fr;align-items:end;gap:28px;margin-bottom:28px;display:grid}.section-heading h2,.about-band h2,.contact-copy h2{font-size:clamp(30px,4vw,48px)}.service-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.service-card{min-height:190px;padding:20px;transition:border-color .16s,transform .16s}.service-card:hover{border-color:#b79a5b8f;transform:translateY(-2px)}.service-card h3{margin:0 0 14px;font-size:20px}.about-band{grid-template-columns:.7fr 1.3fr;gap:32px;padding:clamp(28px,4vw,40px);display:grid}.about-copy{grid-template-columns:1fr 1fr;gap:24px;display:grid}.contact-section{background:linear-gradient(135deg,#f1eadbad,#ffffffc7);border:1px solid #ded8c9d1;border-radius:14px;grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr);align-items:start;gap:clamp(36px,6vw,72px);padding:clamp(34px,5vw,56px);display:grid;position:relative;box-shadow:0 18px 56px #22251f0d}.contact-section:before{content:none}.contact-copy{padding-top:8px}.contact-copy h2{margin-bottom:22px}.contact-copy p:not(.section-label){max-width:420px}.direct-links{place-items:start;gap:14px;margin-top:36px;display:grid}.direct-links a{border:1px solid var(--border);min-height:44px;color:var(--text);background:#fbfaf5b8;border-radius:6px;align-items:center;padding:0 16px;font-weight:800;transition:border-color .16s,background .16s;display:inline-flex}.direct-links a:hover{background:#ffffffd1;border-color:#b79a5ba3}.enquiry-form{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:0;padding:0}.form-intro{border-bottom:1px solid var(--border);gap:8px;margin-bottom:20px;padding-bottom:18px;display:grid}.form-intro p{margin:0}.form-intro p:last-child{max-width:520px;color:var(--muted);text-align:left;line-height:1.55}.form-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.field,.checkbox-group{gap:8px;display:grid}.checkbox-group{border:0;margin:0;padding:0}.field-full,.checkbox-group,.form-status{grid-column:1/-1}label,legend{color:var(--text);font-size:13px;font-weight:800}legend{margin-bottom:10px}input,select,textarea{width:100%;min-height:46px;color:var(--text);font:inherit;background:#ffffffbd;border:1px solid #ded8c9e6;border-radius:8px;padding:11px 13px}input:focus,select:focus,textarea:focus{outline-offset:0;border-color:var(--accent);background:#fff;outline:2px solid #b79a5b4d}textarea{resize:vertical;min-height:130px}.service-options{grid-template-columns:1fr 1fr;gap:10px;display:grid}.check-row{color:var(--muted);align-items:flex-start;gap:10px;line-height:1.45;display:flex}.check-row input{width:18px;min-height:18px;accent-color:var(--text);margin-top:2px}.service-options .check-row{min-height:44px;color:var(--text);background:#fbfaf5b8;border:1px solid #ded8c9c2;border-radius:8px;align-items:center;padding:10px 12px;font-weight:700;transition:border-color .16s,background .16s}.service-options .check-row:hover{background:#fffc;border-color:#b79a5b85}.hidden-field{display:none}.form-status{border-radius:8px;padding:12px}.form-status.error{color:var(--error);background:#f8e8e8}.form-status.success{color:var(--success);background:#e8f4ed}.site-footer{width:min(1120px,100% - 40px);color:var(--muted);border-top:1px solid var(--border);justify-content:space-between;gap:16px;margin:0 auto;padding:28px 0 46px;display:flex}@media (max-width:900px){.site-header,nav{align-items:flex-start}.site-header{flex-direction:column}nav{flex-wrap:wrap}.hero,.section-heading,.about-band,.contact-section{grid-template-columns:1fr}.contact-section:before{content:none}.service-grid,.form-grid,.about-copy{grid-template-columns:1fr 1fr}}@media (max-width:620px){.section{width:calc(100% - 28px);max-width:calc(100vw - 28px);padding:52px 0}.hero.section{width:100%;max-width:100%;padding:52px 14px 38px}.hero{min-height:auto;display:block}.hero-copy{max-width:340px}.hero-copy h1,.hero-copy p{white-space:normal;max-width:calc(100vw - 28px)}.hero-panel{max-width:360px;margin-top:34px}.hero h1{font-size:32px;line-height:1.08}.hero p{font-size:16px}.service-grid,.form-grid,.about-copy,.service-options{grid-template-columns:1fr}.about-band,.enquiry-form{padding:20px}.about-band{margin-left:auto;margin-right:auto;display:block;overflow:hidden}.about-copy{width:100%;max-width:100%;display:block}.about-copy p{width:100%;max-width:calc(100vw - 68px);margin:18px 0 0}.credentials-band{margin-top:14px;padding:22px 20px}.credentials-band p:last-child{font-size:22px}.contact-section{padding:28px 20px}.enquiry-form{padding:0}.form-intro{gap:8px;display:grid}.form-intro p:last-child{text-align:left}.direct-links a{width:100%}.site-footer{flex-direction:column}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
