.contact-page{background:#f1f4ef}
.contact-hero{position:relative;overflow:hidden;min-height:650px;padding:175px 0 105px;background:radial-gradient(circle at 82% 20%,rgba(63,187,163,.18),transparent 35%),linear-gradient(135deg,#0b1712,#060c09);color:#fff}
.contact-hero:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(63,187,163,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(63,187,163,.05) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to bottom,#000,transparent)}
.contact-hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:clamp(50px,7vw,110px);align-items:center}
.contact-hero h1,.contact-section-head h2,.consultation-intro h2,.contact-close h2{font-family:var(--display);font-size:clamp(52px,6.6vw,88px);font-weight:600;line-height:.96;letter-spacing:-.06em;margin:0}
.contact-hero h1 em,.contact-close h2 em{color:var(--green);font-style:normal}
.contact-lede{max-width:650px;color:#c7d8d0;font-size:18px;line-height:1.7;margin:30px 0 36px}
.contact-hero-actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap}
.contact-text-link{font-size:14px;font-weight:700;border-bottom:1px solid var(--green);padding-bottom:5px}
.contact-text-link span{margin-left:10px;color:var(--green)}
.contact-direct{padding:clamp(28px,4vw,48px);border:1px solid rgba(63,187,163,.42);background:rgba(10,29,22,.76);box-shadow:0 28px 90px rgba(0,0,0,.22)}
.contact-direct-label,.contact-option>span{color:var(--green);font-size:10px;font-weight:700;letter-spacing:.17em}
.contact-direct h2{font:600 clamp(27px,3vw,38px)/1.1 var(--display);letter-spacing:-.04em;margin:36px 0 23px}
.contact-direct-actions{display:grid;gap:10px;margin-bottom:28px}
.contact-direct-actions a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;border:1px solid rgba(63,187,163,.6);color:#fff;font-size:14px;font-weight:700;transition:background .2s,border-color .2s}
.contact-direct-actions a:first-child{background:#176e60;border-color:#46c6aa}
.contact-direct-actions a:hover,.contact-direct-actions a:focus-visible{background:#23816f;border-color:#73e1c5}
.contact-direct-actions a span{color:#9af3d8}
.contact-direct-subhead{display:block;margin-bottom:12px;color:var(--green);font-size:10px;font-weight:700;letter-spacing:.17em}
.contact-direct-email{display:flex;align-items:center;justify-content:space-between;gap:12px;width:max-content;max-width:100%;color:#fff;font:600 clamp(17px,2vw,24px)/1.2 var(--display);overflow-wrap:anywhere;border-bottom:1px solid var(--green);padding-bottom:8px}
.contact-direct-email span{color:var(--green)}
.copy-email{font:700 12px var(--body);border:0;background:none;padding:0;color:var(--green);cursor:pointer;text-decoration:underline;text-underline-offset:5px}
.copy-email{margin-top:20px}
.contact-direct>p:not(.contact-copy-status){color:#b1c6bc;font-size:13px;line-height:1.6;margin:30px 0 0}
.contact-copy-status,.form-status{min-height:1.5em;font-size:13px;margin:12px 0 0;color:#d4f8e9}
.contact-options{background:#f1f4ef;color:var(--ink);padding-top:90px}
.contact-options .section-index,.contact-consultation .section-index{color:var(--green-dark)}
.contact-section-head{display:flex;justify-content:space-between;align-items:end;gap:55px;margin-bottom:58px}
.contact-section-head h2,.consultation-intro h2,.contact-close h2{font-size:clamp(43px,5vw,67px)}
.contact-section-head h2 em,.consultation-intro h2 em{font-style:normal;color:var(--green-dark)}
.contact-section-head>p{max-width:390px;color:#505d56;line-height:1.7;margin:0}
.contact-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #b9c6bd;border-left:1px solid #b9c6bd}
.contact-option{display:flex;flex-direction:column;min-height:355px;padding:30px;border-right:1px solid #b9c6bd;border-bottom:1px solid #b9c6bd}
.contact-option>span{color:var(--green-dark)}
.contact-option h3{font:600 clamp(25px,2.5vw,32px)/1.12 var(--display);letter-spacing:-.04em;margin:55px 0 14px}
.contact-option p{font-size:14px;line-height:1.7;color:#505d56;margin:0 0 25px}
.contact-option>a,.contact-option li a{display:flex;align-items:center;justify-content:space-between;gap:12px;width:max-content;max-width:100%;margin-top:auto;color:var(--green-dark);font-size:13px;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:5px}
.contact-option a:hover,.contact-option a:focus-visible{color:#073f35}
.contact-option-services{background:#e5ebe5;grid-column:1/-1;min-height:260px}
.contact-option-services ul{list-style:none;padding:0;margin:auto 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.contact-option-services li+li{margin-top:0}
.contact-option-services li a{width:100%;padding:7px 0;border-bottom:1px solid #b9c6bd}
.contact-consultation{background:#e6ede7;color:var(--ink)}
.consultation-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(48px,8vw,120px);align-items:start}
.consultation-intro{position:sticky;top:34px}
.consultation-intro>p:not(.section-index){color:#505d56;line-height:1.75;max-width:480px;margin:30px 0 44px}
.consultation-steps{border-top:1px solid #b5c4ba}
.consultation-steps div{display:flex;gap:24px;padding:18px 0;border-bottom:1px solid #b5c4ba}
.consultation-steps b{font:700 12px var(--display);color:var(--green-dark)}
.consultation-steps span{font-size:14px;color:#35433b}
.consultation-form{padding:clamp(28px,4vw,52px);background:#fff;border:1px solid #ced8cf;box-shadow:0 25px 70px rgba(12,37,24,.08)}
.form-honey{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.consultation-form h3{font:600 clamp(26px,2.7vw,34px)/1.1 var(--display);letter-spacing:-.04em;margin:0 0 8px}
.form-intro,.form-note{font-size:13px;color:#505d56;line-height:1.65}
.form-intro{margin:0 0 30px}
.consultation-form label{display:flex;flex-direction:column;gap:9px;margin-bottom:22px;color:#1b2c22;font-size:13px;font-weight:700}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.consultation-form input,.consultation-form select,.consultation-form textarea{width:100%;min-height:48px;padding:12px 13px;border:1px solid #9fab9f;border-radius:0;background:#fff;color:#14241b;font:400 14px var(--body)}
.consultation-form textarea{min-height:125px;resize:vertical;line-height:1.55}
.consultation-form input::placeholder,.consultation-form textarea::placeholder{color:#66756a}
.consultation-form :is(input,select,textarea):focus-visible{outline:2px solid var(--green-dark);outline-offset:2px;border-color:var(--green-dark)}
.form-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.form-actions .btn{cursor:pointer}
.form-actions .btn:disabled{opacity:.6;cursor:wait}
.form-note{margin:25px 0 0}
.form-status{color:#0b6b5b;font-weight:600}
.form-status[data-state="error"]{color:#a62b20}
.contact-close{background:#0a120e;color:#fff}
.contact-close-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(50px,8vw,120px);align-items:end}
.contact-close-inner>div:last-child>p{color:#c2d2c9;line-height:1.75;margin:0 0 30px}
.contact-close-email{display:inline-flex;gap:20px;padding-bottom:8px;border-bottom:1px solid var(--green);font:600 clamp(18px,2vw,24px) var(--display)}
.contact-close-email span{color:var(--green)}
@media(max-width:950px){.contact-hero-grid,.consultation-layout,.contact-close-inner{grid-template-columns:1fr}.contact-direct{max-width:560px}.consultation-intro{position:static}.contact-option-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.contact-hero{padding:145px 0 85px}.contact-hero-grid{gap:55px}.contact-hero h1{font-size:clamp(49px,12vw,64px)}.contact-lede{font-size:16px}.contact-option-grid{grid-template-columns:1fr}.contact-option{min-height:290px}.contact-option-services{grid-column:auto}.contact-option-services ul{grid-template-columns:1fr;gap:10px}.contact-section-head{display:block}.contact-section-head>p{margin-top:24px}.contact-direct h2{margin-top:35px}.contact-direct>p:not(.contact-copy-status){margin-top:35px}.form-row{grid-template-columns:1fr;gap:0}.consultation-form{padding:26px}.form-actions .btn{width:100%}}

/* Match the calmer hero scale used across the site. */
.contact-hero{padding:145px 0 82px}
.contact-hero h1{font-size:clamp(49px,5.8vw,76px);line-height:1}
@media(max-width:950px){.contact-hero{padding-top:135px}}
@media(max-width:650px){.contact-hero{padding:120px 0 70px}.contact-hero h1{font-size:clamp(44px,10.5vw,58px)}}

/* Readable details and controls throughout the contact journey. */
.contact-section-head>p,.contact-option p,.consultation-intro>p:not(.section-index),.form-intro,.form-note{color:var(--text-on-light)}
.contact-option-grid,.contact-option,.contact-option-services li a,.consultation-steps,.consultation-steps div,.consultation-form{border-color:var(--border-on-light)}
.contact-option>a,.contact-option li a,.contact-option>span{color:var(--link-on-light)}
.consultation-form input,.consultation-form select,.consultation-form textarea{border-color:var(--border-on-light)}
.contact-direct>p:not(.contact-copy-status),.contact-close-inner>div:last-child>p{color:#c5d9cb}
.contact-direct-label,.contact-direct-subhead,.contact-option>span{font-size:11px}
