/* Contact study02: original doorway photo, shared painterly seam, native form. */
.contact-page-v2 .adult-shell:before,.contact-page-v2 .adult-shell:after{content:none}
.contact-page-v2 .adult-header{height:10.6cqw;min-height:116px;padding:6px 0;gap:4cqw}
.contact-page-v2 .adult-header .brand{width:22.8cqw;max-width:30%;position:relative;left:calc(4.7cqw - (100cqw - min(1280px,90cqw))/2)}
.contact-spread{position:relative;isolation:isolate;min-height:71.8cqw;padding:5cqw 4.7cqw 13cqw 53.5cqw}
.contact-paint{position:absolute;inset:-10.6cqw 0 0;z-index:-2;pointer-events:none;background:url(contact-paint-v2.webp) center top/100% auto no-repeat}
.contact-door{position:absolute;z-index:-1;left:0;top:0;width:45.5cqw;height:60.667cqw;pointer-events:none;margin:0;overflow:hidden;mask-image:url(contact-photo-mask-shore-v4.svg);mask-size:100% 100%;mask-repeat:no-repeat}
.contact-door img{position:relative;left:-4cqw;top:-3.8cqw;width:113%;height:auto;max-width:none}
.contact-write{position:relative;min-width:0}
.contact-write h1{font-size:clamp(36px,4.5cqw,68px);line-height:1.15;letter-spacing:-.04em;margin:0 0 20px;white-space:nowrap}
.contact-write>p{font-size:16px;line-height:1.65;margin:0 0 34px}
.contact-page-v2 .contact-form{border:0;padding:0;margin:0;min-width:0}
.contact-form h3{font-size:clamp(28px,3cqw,43px);line-height:1.2;letter-spacing:-.035em;font-weight:400;margin:0 0 11px}
.contact-page-v2 .form-intro{font-size:14px;line-height:1.65;margin:0 0 22px}
.contact-page-v2 .form-row{display:grid;grid-template-columns:1fr;gap:0}
.contact-page-v2 .field{position:relative;margin:0 0 15px;font-size:13px;line-height:1.4;gap:0}
.contact-page-v2 .field>span{position:absolute;z-index:1;left:13px;top:13px;pointer-events:none;color:#63716a;font-size:13px;line-height:1.5}
.contact-page-v2 .field:focus-within>span,.contact-page-v2 .field.has-value>span{top:-9px;font-size:11px;background:var(--cream);padding:0 4px;left:9px;color:var(--ink)}
.contact-page-v2 .field input,.contact-page-v2 .field textarea{background:#fff9ee99;border-color:#bea98988;border-radius:4px;font-size:16px;padding:10px 13px;min-height:44px}
.contact-page-v2 .field textarea{min-height:92px}
.contact-page-v2 .form-hint{font-size:11px;line-height:1.6;margin:7px 0 15px}
.contact-page-v2 .form-hint a{text-decoration:underline;text-underline-offset:3px}
.contact-page-v2 .contact-form button{display:inline-flex;align-items:center;gap:40px;min-height:54px;color:#fff3df;border:0;border-radius:0;padding:12px 33px;background:transparent url(button-brush-a-v2.png) center/100% 170% no-repeat;cursor:pointer}
.contact-page-v2 .form-status{font-size:13px;line-height:1.7;margin-top:12px}
.contact-page-v2 .form-status:empty{margin:0}
.contact-page-v2 .form-status:not(:empty){background:var(--cream);padding:8px}
.contact-direct{position:absolute;top:53.5cqw;left:4.7cqw;width:35.8cqw;color:#fff3df;padding:0 0 4cqw}
.contact-direct address{display:grid;gap:10px;font-style:normal;font-size:17px;line-height:1.6;overflow-wrap:anywhere}
.contact-direct a{display:block;position:relative;padding-left:31px}
.contact-direct a:before{position:absolute;left:0;top:0;color:#edc58b;font-size:21px;font-family:Arial,sans-serif}
.contact-direct .contact-route{font-size:14px;line-height:1.5;margin-top:8px;text-decoration:underline;text-underline-offset:4px}
.contact-direct .contact-route:before{content:none}
.contact-direct a[href^="tel:"]{font-size:clamp(25px,2.6cqw,38px);line-height:1.4}
.contact-direct a[href^="tel:"]:before{content:'☎'}
.contact-direct a[href^="mailto:"]:before{content:'✉'}
.contact-direct a[target]:not(.contact-route):before{content:'⌖'}
.contact-direct .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.contact-notes{width:90.6%;margin:0 auto 25px;display:grid;grid-template-columns:1fr 1fr;gap:5%;font-size:13px;line-height:1.75}
.contact-notes p{margin:0}
.contact-notes .contact-registration{align-self:end;font-size:11px}
.contact-page-v2 .privacy-section{width:90.6%;max-width:none;margin:0 auto 30px;font-size:14px;line-height:1.75}
.privacy-section details{border-top:1px solid #bca58480;border-bottom:1px solid #bca58480}
.privacy-section summary{cursor:pointer;min-height:54px;padding:14px 0;font-size:13px}
.privacy-copy{max-width:100ch;padding:15px 0 25px}
.privacy-copy h3{font-size:20px;font-weight:400;margin:24px 0 10px}
.privacy-copy h3:first-child{margin-top:0}
.privacy-copy p+p{margin-top:15px}
.privacy-copy a{text-decoration:underline;text-underline-offset:4px}
@media(max-width:1240px){
 .contact-page-v2 .adult-header{width:88%;height:auto;padding:18px 0 12px;min-height:0}
 .contact-page-v2 .adult-header .brand{left:0;width:310px;max-width:calc(100% - 64px)}
 .contact-spread{padding-top:4cqw;min-height:78cqw}
 .contact-write h1{font-size:clamp(32px,4.4cqw,48px);white-space:normal}
 .contact-write>p{font-size:15px;margin-bottom:26px}
 .contact-direct address{font-size:15px;gap:12px}
 .contact-direct{top:56cqw}
 .contact-paint{top:-14cqw}
}
@media(max-width:1240px){
 .contact-page-v2 .adult-header{width:87%;padding-top:14px}
 .contact-spread{display:flex;flex-direction:column;padding:0;min-height:0}
 .contact-paint{display:none}
 .contact-write{width:87%;max-width:630px;margin:0 auto;padding:18px 0 30px}
 .contact-write h1{font-size:clamp(32px,5.8vw,43px);white-space:normal}
 .contact-write>p{font-size:16px;margin-bottom:25px}
 .contact-form h3{font-size:30px}
 .contact-page-v2 .form-intro{font-size:14px;margin-bottom:19px}
 .contact-door{position:relative;left:auto;top:auto;z-index:0;width:100%;max-width:630px;align-self:center;order:-1;height:57cqw;max-height:390px;overflow:hidden;mask-image:linear-gradient(transparent,#000 4%,#000 96%,transparent)}
 .contact-door img{position:absolute;left:0;top:0;width:100%;height:100%;object-fit:cover;object-position:center 55%;mask-image:none}
 .contact-direct{position:relative;left:auto;top:auto;width:100%;padding:calc(8cqw + 30px) 6.5% calc(8cqw + 32px);background:#06383e url(about-jamie-petrol-v1.png) center/850px auto repeat;isolation:isolate}
 .contact-direct:before,.contact-direct:after{content:'';position:absolute;left:0;right:0;height:14cqw;z-index:-1;pointer-events:none;background:url(costs-rhythm-paint-v1.webp) top center/100% auto no-repeat}
 .contact-direct:before{top:0}
 .contact-direct:after{bottom:0;background-position:center bottom}
 .contact-direct address{max-width:580px;margin:0 auto;font-size:16px}
 .contact-direct .contact-route{max-width:580px;margin:10px auto 0}
 .contact-direct a[href^="tel:"]{font-size:29px}
 .contact-notes{width:87%;max-width:630px;display:block;margin-top:26px}
 .contact-notes p+p{margin-top:15px}
 .contact-page-v2 .privacy-section{width:87%;max-width:630px}
}
@media(max-width:420px){.contact-page-v2 .adult-header .brand{max-width:calc(100% - 42px)}.contact-door{height:66cqw}.contact-page-v2 .contact-form button{font-size:15px;gap:30px}.contact-direct a{padding-left:27px}}

/* Etappe 4: semantic H2 headings retain the approved contact-page appearance. */
body#start.contact-page-v2.practice-consistency[data-ui-system="2"] main .contact-form>h2{font-size:var(--practice-h2);line-height:1.25;letter-spacing:-.035em;margin:0 0 12px}
body#start.contact-page-v2.practice-consistency[data-ui-system="2"] main .privacy-copy h2{font-size:var(--practice-subtitle);line-height:1.35;letter-spacing:normal;margin:24px 0 10px}
body#start.contact-page-v2.practice-consistency[data-ui-system="2"] main .privacy-copy h2:first-child{margin-top:0}
