/* One contact composition; no inherited two-column main grid. */
body.contact-screen{display:grid;grid-template-rows:68px minmax(0,1fr) 44px;height:100svh;min-height:650px;background:#faf9f5;--contact-gap:clamp(5px,1.2vh,14px);--control-h:clamp(30px,4.3vh,44px)}
.contact-screen .header{position:relative;min-height:0;height:68px;padding:10px 5.7vw;gap:24px}.contact-screen .header .brand-name{font-size:28px}.contact-screen .header-cta{min-height:42px;padding:10px 24px}.contact-home{display:none}
.contact-page{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:42px minmax(0,1fr);min-height:0;padding:0 5.7vw 18px;background:#faf9f5}
.contact-breadcrumb{display:flex;gap:12px;align-items:center;font-size:12px;color:#858b94}.contact-breadcrumb span:last-child{color:var(--ink)}
.contact-layout{display:grid;grid-template-columns:minmax(0,.43fr) minmax(0,.57fr);min-height:0}
.contact-visual{display:flex;flex-direction:column;align-items:stretch;min-width:0;min-height:0;justify-content:center;padding:clamp(8px,1.4vh,16px) clamp(28px,3.2vw,54px) clamp(8px,1.4vh,16px) 0}
.contact-eyebrow{display:flex;align-items:center;gap:20px;letter-spacing:.15em;font-size:12px;margin:0 0 clamp(14px,2.2vh,24px);min-height:28px}.contact-eyebrow span:first-child{font-size:17px;letter-spacing:0;border-bottom:1px solid;padding-bottom:4px;min-width:32px}
.contact-visual h1{font:400 min(6.6vw,11vh)/1.04 var(--display);letter-spacing:-.04em;margin:0 0 clamp(16px,2.5vh,28px);white-space:nowrap}.contact-visual h1>span{display:block}.contact-visual h1 em{display:block;color:#233bff;font:italic 400 min(6.15vw,10.4vh)/1.03 var(--serif);letter-spacing:-.055em;white-space:nowrap}
.contact-intro{font-size:clamp(16px,1.4vw,22px);line-height:1.45;max-width:36ch;margin:0 0 clamp(16px,2.5vh,28px)}
.contact-photo{display:block;width:100%;height:0;min-height:0;max-height:min(34vh,360px);flex:1;object-fit:cover;object-position:center 54%}
.contact-caption{padding-top:clamp(12px,1.8vh,20px)}.contact-caption>span{display:block;width:44px;border-top:1px solid #889096}.contact-caption p{font-size:clamp(14px,1vw,16px);line-height:1.45;max-width:44ch;color:#525d65;margin:clamp(8px,1.2vh,14px) 0 0}
.contact-form-panel{display:grid;grid-template-rows:auto minmax(0,1fr);border-left:1px solid #d8d9d5;padding-left:clamp(24px,2.8vw,48px);min-height:0;min-width:0}
.form-heading-row{display:flex;align-items:center;gap:16px;margin-bottom:clamp(8px,1.8vh,20px);height:26px}.form-heading-row h2{font:500 12px/1.3 var(--sans);letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;margin:0}.form-heading-row>span{height:2px;flex:1;background:#5262ff}.form-heading-row small{font-size:12px;white-space:nowrap;color:#59616a}
#contact-form{display:grid;grid-template-rows:auto auto auto auto auto minmax(56px,1fr) auto auto auto auto;gap:var(--contact-gap);min-height:0;min-width:0}
.form-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(14px,1.7vw,28px);min-width:0}
.contact-form-panel label{display:flex;flex-direction:column;gap:4px;min-width:0;font-size:14px;line-height:18px;font-weight:500;margin:0}.contact-form-panel label .label-text{display:block}.contact-form-panel label .optional{font-weight:400;color:#535d68}
.contact-form-panel input:not([type=radio]):not([type=file]),.contact-form-panel select,.contact-form-panel textarea{display:block;width:100%;min-width:0;height:var(--control-h);border:1px solid #c6cbd2;border-radius:5px;padding:6px 14px;background:#ffffffa8;color:var(--ink);font:400 14px/1.3 var(--sans);margin:0}
.contact-form-panel textarea{height:100%;min-height:0;resize:none}.message-field{min-height:0;display:grid!important;grid-template-rows:18px minmax(0,1fr)}
.service-choice{border:0;padding:0;margin:0;min-width:0}.service-choice legend{font-size:14px;line-height:18px;margin-bottom:5px;padding:0}.service-choice>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.service-choice label{display:flex;flex-direction:row;align-items:center;gap:clamp(7px,1vw,20px);height:calc(var(--control-h) + 6px);border:1px solid #c6cbd2;border-radius:5px;padding:5px 12px;white-space:nowrap;font-size:14px;cursor:pointer}.service-choice label:has(:checked){color:#183bff;border-color:#3046ff;background:#ecedff}.service-choice input{appearance:none;margin:0;flex:0 0 22px;width:22px;height:22px;border:1px solid #747d8b;border-radius:50%;background:white}.service-choice input:checked{background:#203fff;border-color:#203fff;position:relative}.service-choice input:checked:after{content:'';display:block;width:9px;height:5px;border-left:2px solid white;border-bottom:2px solid white;transform:translate(5px,6px) rotate(-45deg)}
.file-pick{position:relative;display:flex!important;flex-direction:row!important;align-items:center;gap:14px!important;cursor:pointer;min-height:34px}.paperclip{width:24px;height:24px;flex-shrink:0}.file-pick strong{font-size:14px;text-decoration:underline;font-weight:500}.file-pick small{font-size:12px}.file-types{display:block;font-size:11px!important;color:#69717a;line-height:15px}.file-pick input[type=file]{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.file-pick:focus-within{outline:2px solid #3046ff;outline-offset:3px}
.privacy-note{font-size:12px;line-height:16px;margin:0;color:#69717a}.privacy-note a{text-decoration:underline}.submit-row{display:flex;align-items:center;gap:22px}.submit-row .button{min-height:38px;height:var(--control-h);padding:8px 28px;font-size:14px;gap:20px;white-space:nowrap}.submit-row small{font-size:12px;color:#69717a}.contact-form-panel .form-note{font-size:11px;line-height:14px;margin:0;color:#677079}.contact-form-panel #contact-status{font-size:12px;line-height:16px;margin:0}.contact-form-panel #contact-status:empty{display:none}
.contact-screen .contact-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;height:44px;min-height:0;padding:4px 5.7vw}.contact-footer .footer-brand{display:block;width:auto;height:auto;flex:0 0 auto;font:700 18px/1 var(--sans)!important;letter-spacing:-.04em!important}.contact-footer>div{display:flex;gap:26px;align-items:center;margin:0;flex-wrap:nowrap}.contact-footer .footer-link,.contact-footer>div>span{font-size:11px;line-height:16px;white-space:nowrap;min-height:0;width:auto;margin:0;padding:4px 0}
@media(max-height:800px) and (min-width:901px){body.contact-screen{grid-template-rows:60px minmax(0,1fr) 36px;--contact-gap:4px;--control-h:29px}.contact-screen .header{height:60px;padding-block:6px}.contact-page{grid-template-rows:30px minmax(0,1fr);padding-bottom:10px}.contact-screen .contact-footer{height:36px}.form-heading-row{margin-bottom:5px;height:22px}.contact-visual h1{font-size:min(6.3vw,10.3vh)}.contact-visual h1 em{font-size:min(5.9vw,9.6vh)}.contact-eyebrow{margin-bottom:12px}.contact-intro{font-size:16px;margin-bottom:16px}.contact-caption p{font-size:14px}.contact-form-panel label,.service-choice legend{font-size:13px;line-height:16px}.message-field{grid-template-rows:16px minmax(0,1fr)}.service-choice label{height:33px;font-size:12px}.service-choice input{width:19px;height:19px;flex-basis:19px}.submit-row .button{min-height:32px;height:32px}.file-pick{min-height:30px}.privacy-note{font-size:11px;line-height:14px}}
@media(max-width:1120px){.contact-screen .header .brand-name{font-size:24px}.contact-screen .header-cta{display:none}.contact-home{display:inline-flex;color:white;align-items:center}.form-heading-row{gap:8px}.form-heading-row h2{font-size:10px}.form-heading-row small{font-size:10px}.service-choice label{font-size:12px;padding:5px 7px;gap:5px}}
@media(max-width:900px){body.contact-screen{display:block;height:auto;min-height:100svh}.contact-screen .header{height:64px;min-height:64px;padding:10px var(--gutter)}.contact-page{display:block;padding:0 var(--gutter) 24px}.contact-breadcrumb{height:38px}.contact-layout{display:block}.contact-visual{padding:8px 0 24px}.contact-visual h1{font-size:clamp(46px,9.3vw,76px)}.contact-visual h1 em{font-size:clamp(44px,8.9vw,72px)}.contact-photo{height:clamp(180px,40vw,300px);max-height:none;flex:none;object-position:center}.contact-intro{font-size:18px}.contact-caption p{font-size:15px}.contact-form-panel{border-left:0;border-top:1px solid #d8d9d5;padding:24px 0 0}.form-heading-row{height:auto;margin-bottom:18px}.form-heading-row h2{font-size:12px}.form-heading-row small{font-size:11px}#contact-form{gap:14px;grid-template-rows:none}.contact-form-panel input:not([type=radio]):not([type=file]),.contact-form-panel select{height:42px;font-size:16px}.contact-form-panel textarea{height:100px;font-size:16px}.message-field{display:flex!important}.service-choice label{height:44px}.contact-screen .contact-footer{height:auto;min-height:44px;padding:10px var(--gutter);flex-wrap:wrap}.contact-footer>div{gap:12px;flex-wrap:wrap}.submit-row{flex-wrap:wrap;gap:10px}.submit-row .button{height:44px}}
@media(max-width:480px){.form-two{gap:10px}.contact-form-panel label,.service-choice legend{font-size:13px}.service-choice>div{gap:6px}.service-choice label{font-size:11px;gap:5px;padding:4px}.service-choice input{width:18px;height:18px;flex-basis:18px}.form-heading-row h2{font-size:10px}.form-heading-row small{font-size:10px}.contact-visual h1{font-size:12.5vw}.contact-visual h1 em{font-size:11.8vw}.contact-intro{font-size:17px}}

.contact-honeypot{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
#contact-status:not(:empty){position:fixed;z-index:100;bottom:54px;right:5.7vw;max-width:min(460px,88vw);background:#fff;padding:14px 18px;border:1px solid #ccd0d4;box-shadow:0 8px 24px #0002}
