/* A quiet editorial composition, with movement restricted to the photograph. */
.contact-page{--contact-accent:#925248;color:var(--ink)}
.contact-composition{position:relative;isolation:isolate;overflow:clip;background:var(--warm-white);padding:82px 60px 110px}
.contact-thread{position:absolute;inset:0;width:100%;height:100%;z-index:-1;fill:none;stroke:#cbb8a7;stroke-width:.6;opacity:.55;pointer-events:none}
.contact-layout{max-width:1240px;margin:auto;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);column-gap:110px;row-gap:32px;align-items:start}
.contact-heading{grid-column:2;grid-row:1}
.contact-eyebrow{display:block;font-size:11px;font-weight:600;letter-spacing:.17em;text-transform:uppercase;color:var(--contact-accent);margin-bottom:20px}
.contact-heading h1{font:400 clamp(58px,5.8vw,86px)/.98 'Fraunces',serif;letter-spacing:-.045em;margin:0}
.contact-heading h1 em{font-weight:400;color:#925248}
.contact-heading p{font-size:16px;line-height:1.7;max-width:430px;margin:22px 0 0;color:#69635e}
.contact-visual{grid-column:1;grid-row:1 / span 2;padding-top:26px;min-width:0}
.contact-photo-wrap{position:relative;margin:0 20px 40px 12px}
.contact-photo-wrap::before{content:'';position:absolute;inset:-14px 12px 14px -14px;border:1px solid #c6ac9c;border-radius:50% 50% 3px 3px / 42% 42% 3px 3px;pointer-events:none}
.contact-photo{height:480px;border-radius:50% 50% 3px 3px / 42% 42% 3px 3px;overflow:hidden;background:#e8dfd4}
.contact-photo img{display:block;width:100%;height:calc(100% + 36px);object-fit:cover;object-position:50% 34%;transform:translateY(var(--contact-photo-y,-18px))}
.contact-photo-note{position:absolute;right:-35px;top:90px;writing-mode:vertical-rl;font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:#76675e}
.contact-photo-seal{position:absolute;right:-26px;bottom:28px;width:125px;height:125px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#d3e3e2;outline:1px solid #839e9c;outline-offset:6px;box-shadow:0 10px 40px #43494312;font:400 22px/1.15 'Fraunces',serif;transform:rotate(-8deg)}
.contact-actions{margin-top:40px}
.contact-action{display:grid;grid-template-columns:24px 1fr auto;align-items:start;gap:16px;padding:23px 0;border-bottom:1px solid #d8cbbf;text-decoration:none;color:inherit}
.contact-action:first-child{border-top:1px solid #d8cbbf}
.contact-action-number{font:400 17px 'Fraunces',serif;color:var(--contact-accent);padding-top:4px}
.contact-action-title{display:block;font:400 27px/1.15 'Fraunces',serif}
.contact-action-detail{display:block;font-size:13px;line-height:1.7;margin-top:8px;overflow-wrap:anywhere;color:#686059}
.contact-action-arrow{font-size:25px;transition:transform .25s;color:#925248}
.contact-action:hover .contact-action-arrow{transform:translate(4px,-4px)}
a.contact-action:hover .contact-action-title{color:var(--contact-accent)}
.contact-preview-label{font-size:10px;border:1px solid #cdbeb0;padding:5px 8px;border-radius:20px;color:#73665a}
.contact-form-area{grid-column:2;grid-row:2;min-width:0}
.contact-purpose{padding:0;margin:0 0 28px;border:0;min-width:0}
.contact-purpose legend,.contact-field>span,.contact-fields label>span{font-size:13px;font-weight:600;display:block;margin-bottom:11px}
.contact-purpose-pills{display:flex;gap:4px;background:#f1e8de;padding:5px;border:1px solid #dfd0c1;border-radius:40px}
.contact-purpose-pills label{position:relative;flex:1;text-align:center;cursor:pointer;min-width:0}
.contact-purpose-pills input{position:absolute;opacity:0;width:1px;height:1px}
.contact-purpose-pills span{display:flex;justify-content:center;align-items:center;height:48px;border-radius:30px;font-size:12px;line-height:1.4;padding:6px;transition:background .25s,box-shadow .25s}
.contact-purpose-pills input:checked+span{background:var(--coral);color:#3e302b;box-shadow:0 3px 10px #90544217}
.contact-purpose-pills input:focus-visible+span{outline:3px solid #1f3448;outline-offset:2px}
.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:23px}
.contact-fields label{min-width:0}
.contact-fields small{font-weight:400;font-size:11px;color:#766a61}
.contact-field{display:block;margin-bottom:23px}
.contact-form-area input:not([type=radio]),.contact-form-area textarea{font:400 15px/1.5 'Plus Jakarta Sans',sans-serif;background:#fffdf9;color:var(--ink);border:1px solid #b9a99b;border-radius:12px;padding:16px 18px;width:100%;transition:border-color .2s,background .2s}
.contact-form-area input::placeholder,.contact-form-area textarea::placeholder{color:#82786e;opacity:1}
.contact-form-area textarea{resize:vertical;min-height:136px}
.contact-form-area input:focus,.contact-form-area textarea:focus{background:#fff;border-color:#925248}
.contact-preview-note{font-size:12px;line-height:1.7;color:#70645b;margin:0 0 23px;max-width:480px}
.contact-preview-note strong{font-weight:600}
.contact-submit{display:flex;align-items:center;justify-content:space-between;gap:28px;width:100%;padding:18px 24px;border:1px solid transparent;border-radius:36px;background:var(--coral);color:#3e302b;font:600 14px 'Plus Jakarta Sans',sans-serif;transition:background .25s}
.contact-submit:hover{background:#f1b6aa;border-color:#925248}
.contact-submit span:last-child{font-size:25px;font-weight:400}
.contact-form-status{font-size:14px;line-height:1.6;background:#f1e8de;border-radius:12px;padding:16px;margin-top:18px}
.contact-crisis{display:grid;grid-template-columns:1fr 1.5fr auto;gap:60px;align-items:center;padding:70px max(60px,calc((100vw - 1240px)/2));background:#dce7e4}
.contact-crisis .contact-eyebrow{margin-bottom:10px}
.contact-crisis h2{font:400 40px/1.1 'Fraunces',serif;margin:0}
.contact-crisis p{font-size:15px;line-height:1.7;max-width:430px;margin:0}
.contact-crisis a{display:flex;align-items:center;gap:35px;border-bottom:1px solid #79948b;text-decoration:none;color:inherit;padding:14px 0;white-space:nowrap;font-size:15px}
.contact-crisis a span{font-size:25px}
.contact-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1150px){.contact-layout{column-gap:60px}.contact-composition{padding:65px 40px 85px}.contact-photo{height:430px}.contact-purpose-pills span{font-size:11px}.contact-crisis{padding:65px 40px;gap:35px}}
@media(max-width:850px){.contact-layout{column-gap:36px}.contact-heading h1{font-size:60px}.contact-photo{height:380px}.contact-photo-seal{width:100px;height:100px;font-size:19px}.contact-purpose-pills{border-radius:22px}.contact-purpose-pills span{height:54px}.contact-fields{grid-template-columns:1fr;gap:23px}.contact-crisis{grid-template-columns:1fr 1.8fr}.contact-crisis a{grid-column:2;justify-self:start}.contact-action{gap:10px}.contact-action-title{font-size:24px}}
@media(max-width:700px){.contact-composition{padding-top:46px;padding-bottom:65px}.contact-layout{display:flex;flex-direction:column;gap:36px}.contact-heading{order:0}.contact-heading h1{font-size:clamp(58px,15vw,76px)}.contact-heading p{margin-top:18px}.contact-visual{order:2;width:100%;padding-top:12px}.contact-form-area{order:1;width:100%}.contact-fields{grid-template-columns:1fr 1fr;gap:14px}.contact-purpose-pills span{font-size:11px;height:48px}.contact-purpose-pills{border-radius:34px}.contact-photo-wrap{max-width:350px;margin:0 auto 35px;width:calc(100% - 40px)}.contact-photo{height:390px}.contact-photo-note{right:-28px;top:45px}.contact-action-title{font-size:28px}.contact-crisis{display:flex;flex-direction:column;align-items:flex-start;gap:24px;padding-top:65px;padding-bottom:45px}.contact-crisis a{align-self:stretch;justify-content:space-between}.contact-page .contact-preview-note{font-size:12px!important;line-height:1.7!important}.contact-action-detail{font-size:14px}.contact-form-area input:not([type=radio]),.contact-form-area textarea{font-size:16px;padding:15px 13px}.contact-photo-seal{right:-15px}}
@media(max-width:360px){.contact-fields{grid-template-columns:1fr;gap:23px}.contact-purpose-pills span{font-size:10px}.contact-photo{height:340px}}
@media(prefers-reduced-motion:reduce){.contact-photo img{transform:translateY(-18px)!important}}

/* Referral intake: read-only until secure submission is connected. */
.contact-form-area [hidden]{display:none!important}
.referral-intro h2{font:400 clamp(36px,4vw,48px)/1.1 'Fraunces',serif;margin:0 0 16px;letter-spacing:-.03em}
.referral-intro .contact-eyebrow{font-size:10px;margin-bottom:14px}
.referral-intro p,.referral-availability p{font-size:14px;line-height:1.75;margin:0}
.referral-availability{margin:24px 0 32px;padding:20px 22px;background:#e5ecea;border:1px solid #b8c9c4;border-radius:14px;color:#314d47}
.referral-availability strong{display:block;font-size:14px;margin-bottom:7px}
.referral-availability a{color:inherit;text-underline-offset:3px}
.referral-controls{border:0;padding:0;margin:0;min-width:0}
.referral-section{border:0;border-top:1px solid #d8cbbf;padding:24px 0 8px;margin:0 0 24px;min-width:0}
.referral-section legend{font:400 24px/1.35 'Fraunces',serif;padding:0 12px 0 0;max-width:100%}
.referral-section legend>span{font:500 11px 'Plus Jakarta Sans',sans-serif;letter-spacing:.1em;color:#925248;margin-right:10px}
.referral-section small{font:400 11px 'Plus Jakarta Sans',sans-serif;color:#69635e}
.referral-section legend>small{display:inline-block;margin-left:7px}
.referral-help{font-size:12px;line-height:1.75;color:#69635e;margin:0 0 20px}
.contact-form-area .referral-unknown{display:flex;align-items:center;gap:10px;font-size:13px;margin:0 0 10px}
.contact-form-area .referral-unknown input{width:18px;height:18px;flex:0 0 18px;padding:0;accent-color:#925248}
.referral-date{margin-bottom:12px}
.referral-documents{margin:0 0 22px;padding-left:20px;display:grid;gap:9px;font-size:13px;line-height:1.6;color:#574f49}
.referral-upload{display:block;padding:20px;border:1px dashed #ac9989;background:#faf6ef;border-radius:14px;margin-bottom:14px}
.referral-upload>span:first-child{display:block;font-size:13px;font-weight:600;margin-bottom:14px}
.contact-form-area .referral-upload input{padding:10px;font-size:12px;max-width:100%;background:#fffdf9}
.referral-upload input::file-selector-button{border:0;border-radius:6px;background:#e5ecea;color:#314d47;padding:9px 10px;margin-right:8px;font:inherit}
.referral-upload .referral-help{display:block;margin:12px 0 0}
.referral-controls input:disabled{color:#69635e;background:#f4f0ea;opacity:1;cursor:not-allowed}
.referral-controls .contact-submit:disabled{background:#e6ded4;color:#655b51;border-color:#cfc2b5;cursor:not-allowed}
@media(max-width:700px){.referral-section .contact-fields{grid-template-columns:1fr}.referral-section legend{font-size:23px}.referral-availability{padding:18px}.referral-upload{padding:16px}}
