/* Keep the reading width and background position stable when menus or forms open. */
html,body{max-width:100%;overflow-x:clip}
html{scrollbar-gutter:stable;-webkit-text-size-adjust:100%;text-size-adjust:100%}
button,a,input,textarea,summary{touch-action:manipulation}
.consult-shell,.consult-body,.form-step,.field{min-width:0;max-width:100%}
.field input,.email-preview textarea{font-size:16px;line-height:1.4;width:100%;max-width:100%;min-width:0}
.field input::placeholder{font-size:13px}
.field input{border-radius:0}
.goal-options{min-width:0}
.goal-options label{min-height:49px}
.goal-options label>span:first-of-type{min-width:0}
dialog{overscroll-behavior:contain;scroll-behavior:auto;scrollbar-gutter:stable;max-height:calc(var(--visual-height,100dvh) - 32px)}
.ui-locked .mobile-consult{visibility:hidden;pointer-events:none}
.form-error{min-height:18px;line-height:18px;margin-top:8px}
.dialog-close{min-width:36px;min-height:36px}
.consent{cursor:pointer}
.consent input{flex-shrink:0}
.form-step h2:focus{outline:none}
@media(max-width:640px){
 dialog{position:fixed;top:calc(var(--visual-top,0px) + 12px);bottom:auto;left:0;right:0;margin:0 auto;transform:none;width:calc(100% - 24px);max-width:calc(100% - 24px);max-height:calc(var(--visual-height,100dvh) - 24px);overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}
 .consult-body{padding:34px 24px 27px}
 .field input,.email-preview textarea{font-size:16px}
 .field input{padding:10px 0 12px;min-height:43px}
 .field{margin-bottom:17px}
 .field label{font-size:12px}
 .consent{font-size:11px;line-height:1.65;gap:11px}
 .consent input{width:17px;height:17px}
 .consult-body .button{min-height:50px;white-space:normal;text-wrap:balance}
 .consult-body .form-note{font-size:10px;line-height:1.7}
 .consult-body h2{overflow-wrap:normal}
 .dialog-close{top:7px;right:9px}
 .form-back,.copy-mail,.form-reset{min-height:34px}
 .email-preview textarea{min-height:180px;resize:vertical}
 .p-hero-studio,.p-portrait,.p-cover h1,.p-lounge-gallery{backface-visibility:hidden}
 .mobile-menu{overscroll-behavior:contain;overflow-y:auto;max-height:calc(var(--visual-height,100dvh) - 65px)}
 .mobile-menu>.p-button{flex-shrink:0}
 .mobile-consult{padding-bottom:max(9px,env(safe-area-inset-bottom))}
}
@media(max-width:359px){.consult-body{padding-inline:20px}.goal-options label{font-size:11px}.consent{font-size:10px}}
