/* Contact has its own compositions within the shared site identity. */
#page-shell[data-page-kind=contact] .header-inner{height:106px}
.scrolled #page-shell[data-page-kind=contact] .header-inner{height:90px}
body:not(.scrolled):not(.menu-open) #page-shell[data-page-kind=contact] .site-header{background:transparent;border-color:transparent;box-shadow:none}
.contact-page-hero{padding:150px 0 0;overflow:hidden;background:radial-gradient(ellipse at 70% 30%,#eee5db80,transparent 60%),var(--paper)}
.contact-hero-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(45px,6vw,100px);align-items:center}
.contact-hero-text{padding-bottom:20px;position:relative;z-index:2}
.contact-hero-text>.eyebrow{font-size:.69rem;font-weight:600;letter-spacing:.21em}
.contact-hero-text h1{font-size:clamp(4.4rem,6.7vw,6.7rem);line-height:1.02;letter-spacing:-.045em;margin:25px 0 27px}
.contact-hero-lead{font-family:var(--serif);font-size:2rem;line-height:1.25;color:var(--wine);letter-spacing:-.02em}
.contact-hero-description{max-width:39ch;font-size:.94rem;line-height:1.85;margin-top:18px}
.contact-hero-actions{display:flex;flex-direction:column;align-items:flex-start;gap:21px;margin-top:29px}
.contact-hero-actions .button{justify-content:center;gap:13px;border-radius:14px;font-size:.86rem;padding:18px 26px;min-height:60px}
.contact-hero-actions .button .icon{width:23px;height:23px;flex-shrink:0}
.contact-hero-actions .text-link{font-size:.77rem;gap:15px;min-height:32px}
.contact-hero-actions .text-link .icon{width:20px;height:20px}
.contact-hero-areas{font-size:.57rem;letter-spacing:.12em;line-height:1.8;color:var(--wine);margin-top:34px;display:flex;align-items:center;gap:11px}
.contact-hero-visual{position:relative;min-width:0;max-width:470px;width:100%;justify-self:end;padding:16px 0 0}
.contact-portrait{position:relative;isolation:isolate;margin:0;width:100%;aspect-ratio:4/5;overflow:hidden;border-radius:0 0 22px 22px}
.contact-portrait::before{content:"";position:absolute;inset:20px 0 0;border-radius:230px 230px 22px 22px;background:linear-gradient(135deg,#7a354e,#481b2e);z-index:-1}
.contact-portrait>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center bottom;z-index:1}
.contact-portrait::after{content:"";position:absolute;inset:58% 0 0;background:linear-gradient(180deg,transparent,#481b2e 96%);border-radius:0 0 22px 22px;z-index:2;pointer-events:none}
.contact-portrait figcaption{position:absolute;left:20px;right:20px;bottom:29px;color:var(--paper);text-align:center;z-index:3}
.contact-portrait figcaption>span{display:block;font-size:.75rem;font-weight:500;letter-spacing:.18em}
.contact-portrait figcaption small{display:block;font-size:.58rem;letter-spacing:.1em;color:#e6c89f;margin-top:6px}
.contact-portrait-orbit{position:absolute;left:-9%;top:8%;width:118%;aspect-ratio:1;border:1px solid #b7996b70;border-radius:50%;pointer-events:none}
.contact-portrait-orbit>span{position:absolute;inset:-1px;border-radius:50%;animation:contact-orbit 32s linear infinite}
.contact-portrait-orbit>span::before{content:"";position:absolute;left:-4px;top:50%;width:8px;height:8px;background:var(--gold);border-radius:50%;box-shadow:0 0 0 7px #ad8b5412}
.contact-portrait-signature{position:absolute;left:-38px;bottom:24%;z-index:4;display:flex;align-items:center;gap:14px;padding:16px 20px;background:var(--paper);border:1px solid #ded4c9;border-radius:14px;box-shadow:0 15px 35px #3e18270c}
.contact-portrait-signature>span:last-child{font-family:var(--serif);font-size:1.3rem;line-height:1.2;color:var(--ink)}
.contact-portrait-signature .contact-line-icon{color:var(--gold)}
.contact-channel-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:28px;margin-top:63px;padding:28px 0 31px;border-top:1px solid var(--line)}
.contact-channel{display:flex;gap:16px;align-items:center;justify-content:center;min-width:0;color:var(--wine)}
.contact-channel+.contact-channel{border-left:1px solid var(--line);padding-left:28px}
.contact-channel-icon{display:grid;place-items:center;flex-shrink:0;width:46px;height:46px;border:1px solid var(--line);border-radius:50%;transition:background .25s,color .25s}
.contact-channel-icon .icon,.contact-channel-icon .contact-line-icon{width:20px;height:20px}
.contact-channel>span:not(.contact-channel-icon){min-width:0}
.contact-channel small{display:block;font-size:.52rem;letter-spacing:.13em;font-weight:500;color:var(--muted);margin-bottom:4px}
.contact-channel strong{display:block;font-size:.8rem;font-weight:500;overflow-wrap:anywhere}
.contact-channel>.icon{width:18px;height:18px;flex-shrink:0;margin-left:8px}
.contact-channel:hover .contact-channel-icon{background:var(--wine);color:var(--paper)}
.contact-address{display:block;font-size:.73rem;line-height:1.7;overflow-wrap:anywhere}
#page-shell[data-page-kind=contact] .site-footer{border-top:1px solid #e6c89f26}
.contact-line-icon{display:inline-block;flex-shrink:0;width:25px;height:25px;background:currentColor;mask:var(--contact-icon) center/contain no-repeat;-webkit-mask:var(--contact-icon) center/contain no-repeat}
.contact-icon-chat{--contact-icon:url("../vendor/bootstrap-icons/icons/chat-heart.479571f96b45.svg")}
.contact-icon-location{--contact-icon:url("../vendor/bootstrap-icons/icons/geo-alt.00b6dff6edb0.svg")}
@keyframes contact-orbit{to{transform:rotate(360deg)}}
@media(min-width:1600px){.contact-page-hero{padding-top:165px}.contact-hero-layout{gap:100px}.contact-hero-visual{max-width:495px}.contact-hero-text h1{font-size:6.9rem}.contact-channel-strip{margin-top:65px}}
@media(min-width:700px) and (max-width:1099px){
 #page-shell[data-page-kind=contact] .header-inner{height:90px}.scrolled #page-shell[data-page-kind=contact] .header-inner{height:80px}
 .contact-page-hero{padding-top:130px}.contact-hero-layout{gap:35px;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
 .contact-hero-text h1{font-size:clamp(3.4rem,6.2vw,4.7rem)}.contact-hero-lead{font-size:1.75rem}.contact-hero-description{font-size:.84rem}
 .contact-hero-actions .button{font-size:.73rem;padding:15px 17px;gap:10px;min-height:54px}.contact-hero-actions .text-link{font-size:.7rem;gap:12px}
 .contact-hero-actions .button .icon{width:20px;height:20px}.contact-hero-areas{font-size:.49rem;letter-spacing:.03em;gap:8px}
 .contact-portrait-signature{left:-22px;bottom:22%;padding:12px 14px;gap:11px}.contact-portrait-signature>span:last-child{font-size:1.05rem}.contact-portrait-signature .contact-line-icon{width:19px;height:19px}
 .contact-portrait figcaption{bottom:21px}.contact-portrait figcaption>span{font-size:.61rem}.contact-portrait figcaption small{font-size:.49rem}
 .contact-channel-strip{gap:18px;margin-top:45px;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr))}.contact-channel{gap:11px}.contact-channel+.contact-channel{padding-left:18px}.contact-channel-icon{width:38px;height:38px}.contact-channel small{font-size:.46rem}.contact-channel strong{font-size:.7rem}.contact-channel>.icon{display:none}
}
@media(max-width:699px){
 #page-shell[data-page-kind=contact] .header-inner{height:78px}.scrolled #page-shell[data-page-kind=contact] .header-inner{height:70px}
 .contact-page-hero{padding-top:114px}.contact-hero-layout{display:flex;flex-direction:column;gap:37px}
 .contact-hero-text{text-align:center;padding:0;width:100%}.contact-hero-text>.eyebrow{justify-content:center;font-size:.6rem;letter-spacing:.17em}
 .contact-hero-text h1{font-size:clamp(3.45rem,14vw,4.7rem);line-height:1.02;margin:23px 0}.contact-hero-lead{font-size:1.83rem}
 .contact-hero-description{font-size:.88rem;line-height:1.85;max-width:32ch;margin:18px auto 0}
 .contact-hero-actions{align-items:center;gap:16px;margin-top:27px}.contact-hero-actions .button{font-size:.79rem;padding:17px 23px;min-height:56px;gap:12px;margin:0}.contact-hero-actions .text-link{font-size:.73rem;gap:12px}
 .contact-hero-areas{justify-content:center;font-size:.51rem;letter-spacing:.04em;gap:8px;margin-top:25px;flex-wrap:wrap}
 .contact-hero-visual{width:min(88%,360px);padding:6px 0 0;margin-inline:auto}.contact-portrait::before{inset:15px 0 0}
 .contact-portrait-signature{left:-14px;bottom:24%;gap:10px;padding:11px 14px;border-radius:11px}.contact-portrait-signature>span:last-child{font-size:1.02rem}.contact-portrait-signature .contact-line-icon{width:19px;height:19px}
 .contact-portrait figcaption{bottom:22px}.contact-portrait figcaption>span{font-size:.65rem;letter-spacing:.15em}.contact-portrait figcaption small{font-size:.53rem}
 .contact-channel-strip{grid-template-columns:1fr;gap:0;margin-top:39px;padding:0;border:0}
 .contact-channel{justify-content:flex-start;gap:15px;border-top:1px solid var(--line);padding:20px 0}.contact-channel+.contact-channel{border-left:0;padding-left:0}
 .contact-channel-icon{width:40px;height:40px}.contact-channel small{font-size:.51rem}.contact-channel strong{font-size:.78rem}.contact-channel>.icon{margin-left:auto;width:19px;height:19px}
}
@media(max-width:359px){.contact-hero-text h1{font-size:3.3rem}.contact-hero-actions .button{font-size:.73rem;padding-inline:18px}.contact-hero-areas{font-size:.46rem}}
@media(prefers-reduced-motion:reduce){.contact-portrait-orbit>span{animation:none}.contact-channel-icon{transition:none}}
