/* Keep full people in view. The photo and message occupy separate planes. */
.profile-ui img,.website-ui>img{object-fit:contain!important;object-position:center!important;background:#fff7ef}
.owner-scene{height:auto;display:grid;grid-template-columns:1.1fr 1fr;grid-template-rows:1fr auto;gap:0;background:#222;overflow:hidden}
.owner-scene>img{grid-column:1;grid-row:1/3;width:100%;height:auto;align-self:center;object-fit:contain;object-position:center}
.owner-scene:after{display:none}.owner-scene .scene-caption{position:relative;left:auto;right:auto;bottom:auto;grid-column:2;padding:38px 36px 15px;max-width:none}.owner-scene .scene-tags{position:relative;left:auto;right:auto;bottom:auto;grid-column:2;padding:12px 36px 32px}.scene-caption strong{font-size:clamp(32px,3.7vw,52px)}
/* Individual graphics scrub with scrolling; headings and CTAs retain a stable baseline. */
.graphic-scroll{translate:var(--graphic-x,0px) var(--graphic-y,0px);rotate:0deg;scale:var(--graphic-scale,1);transform-origin:50% 65%}
.graphic-scroll.graphic-in-view{will-change:translate,scale}
.process-art>span,.map-node{translate:var(--join-x,0px) var(--join-y,0px)}
.scroll-progress{display:none!important}
.contact-options{grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr)!important;gap:6%!important;align-items:start}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 20px;margin:28px 0}.form-grid label{display:flex;flex-direction:column;gap:9px;color:#222;font-size:17px;font-weight:500;min-width:0}.form-grid .wide{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{width:100%;min-width:0;min-height:50px;padding:13px 14px;border:1px solid #9f8069;border-radius:9px;background:#fff;color:#222;font:400 17px/1.45 Roboto,Arial,sans-serif}.form-grid input::placeholder,.form-grid textarea::placeholder{color:#655e56;opacity:1}.form-grid :is(input,select,textarea):focus-visible{outline:3px solid #ad4700;outline-offset:3px}.form-grid input:disabled{opacity:.55}.form-grid .check-field{display:flex;flex-direction:row;align-items:center;font-weight:400}.check-field input{min-height:22px;height:22px;width:22px;accent-color:#a54509;flex-shrink:0}.field-help{font-size:15px;font-weight:400;color:#51483f}.contact-review .form-note{font-size:16px;line-height:1.55;margin:18px 0}.schedule-panel{background:#222;color:#fff;padding:36px;border-radius:20px}.contact-review .schedule-panel p{color:#f2e6dc;font-size:18px}.contact-review .schedule-panel .eyebrow{color:#ffb57e;font-size:14px}.schedule-panel h2{color:#fff}.schedule-panel h2 em{color:#ffb57e}.schedule-pending{padding:22px 0;border-block:1px solid #ffffff50;margin:26px 0}.schedule-pending strong{font-size:19px}.schedule-pending p{margin-bottom:0}.schedule-panel .button{white-space:normal}.schedule-phone{display:block;color:#fff;margin:24px 0;font-size:18px}.contact-review .contact-location{font-size:16px}.inquiry-panel{min-width:0}button.button{border:0;cursor:pointer;font-family:inherit}.contact-options h2{font-size:clamp(40px,4.2vw,60px)}
@media(max-width:850px){.contact-options{grid-template-columns:1fr!important;gap:40px!important}.schedule-panel{max-width:none}}
@media(max-width:700px){.owner-scene{grid-template-columns:1fr}.owner-scene>img{grid-column:1;grid-row:1;max-height:none}.owner-scene .scene-caption,.owner-scene .scene-tags{grid-column:1;padding-left:24px;padding-right:24px}.owner-scene .scene-caption{grid-row:2;padding-top:26px}.owner-scene .scene-tags{grid-row:3}.scene-caption strong{font-size:38px}.form-grid{grid-template-columns:1fr;gap:22px}.form-grid .wide{grid-column:1}.schedule-panel{padding:28px}.service-task p{font-size:17px}.service-task li{font-size:14px}.service-graphic{max-width:420px}.graphic-caption{font-size:14px}.contact-options h2{font-size:46px}}
@media(prefers-reduced-motion:reduce){.graphic-scroll,.process-art>span,.map-node{translate:none!important;rotate:none!important;scale:1!important;will-change:auto!important}}
/* Contact composition adapted from Catalis Contact v2: introduction beside an action panel. */
.contact-tab-section{padding:65px 0 90px;background:#fffaf5;position:relative;isolation:isolate}
.contact-template-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:7%;align-items:start}
.contact-introduction{padding:25px 0}.contact-introduction h1{font:400 clamp(50px,5.3vw,76px)/1.03 var(--serif);letter-spacing:-1.4px;margin:24px 0}.contact-introduction h1 em{color:#a9470b}.contact-introduction .inner-lead{font-size:20px;line-height:1.65;color:#51483f;max-width:430px}.contact-introduction .contact-location{font-size:16px;color:#655e56;margin-top:32px}.contact-direct{display:grid;gap:24px;margin-top:40px}.contact-direct a{color:#222;text-decoration:none}.contact-direct span{display:block;font-size:16px;color:#655e56;margin-bottom:7px}.contact-direct strong{font-size:22px;font-weight:500;overflow-wrap:anywhere}.contact-direct a:hover strong{text-decoration:underline;text-underline-offset:5px}
.contact-choice{min-width:0;background:#fff;padding:28px;border:1px solid #e2c7b1;border-radius:22px;box-shadow:0 18px 48px #6c361012}.contact-tabs{display:grid;grid-template-columns:1fr 1fr;padding:5px;gap:5px;background:#f4e9df;border-radius:100px;margin-bottom:30px}.contact-tabs button{font:500 17px/1.35 Roboto,Arial,sans-serif;border:0;border-radius:100px;padding:15px 10px;background:transparent;color:#51483f;cursor:pointer;min-height:52px;transition:background .2s,color .2s,box-shadow .2s}.contact-tabs button[aria-selected=true]{background:#222;color:#fff;box-shadow:0 4px 10px #2222}.contact-tabs button:focus-visible{outline:3px solid #a9470b;outline-offset:4px}.contact-tabs button:hover:not([aria-selected=true]){background:#fff8f0}.contact-tab-panel[hidden]{display:none!important}.contact-tab-panel:focus-visible{outline:2px solid #a9470b;outline-offset:7px;border-radius:10px}.contact-panel-title{font:400 35px/1.12 var(--serif);letter-spacing:-.4px;margin:0 0 25px}.calendly-placeholder{min-height:570px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;background:#faf8f5;border:1px dashed #c5b4a5;border-radius:12px;color:#51483f;text-align:center;padding:20px}.calendly-placeholder span:first-child{font-size:20px;font-weight:500}.calendly-placeholder span:last-child{font-size:16px}.contact-choice .form-note{font-size:16px;line-height:1.5;color:#655e56;margin:18px 0 0}.contact-choice .form-grid{gap:22px 16px}.contact-choice .button{font-size:17px}.contact-choice #form-status:focus{outline:2px solid #a9470b;outline-offset:5px}
@media(max-width:900px){.contact-template-grid{grid-template-columns:1fr;gap:28px}.contact-introduction .inner-lead{max-width:650px}.contact-direct{grid-template-columns:1fr 1fr;gap:25px}.contact-introduction h1{font-size:64px}.contact-choice{max-width:760px;width:100%}.contact-tab-section{padding:35px 0 65px}}
@media(max-width:700px){.contact-introduction h1{font-size:54px}.contact-introduction .inner-lead{font-size:18px}.contact-direct{grid-template-columns:1fr;margin-top:27px}.contact-choice{padding:20px}.contact-tabs{margin-bottom:25px}.contact-tabs button{font-size:15px;padding:13px 8px}.calendly-placeholder{min-height:470px}.contact-panel-title{font-size:32px}}
@media(prefers-reduced-motion:reduce){.contact-tabs button{transition:none}}
