/* Shared approved contact design; homepage and all inner pages. */
/* 18 — Contacts: an orange closing poster, clear invitation and calm details. */
:is(.homepage,.inner-page) .contact-final{padding-block:42px 34px;border-radius:30px 30px 72px 30px}
:is(.homepage,.inner-page) .contact-final>.shell{max-width:1320px}
:is(.homepage,.inner-page) .contact-heading{grid-template-columns:1.3fr 1fr;gap:60px;padding-bottom:34px}
:is(.homepage,.inner-page) .contact-final .eyebrow{margin-bottom:22px}
:is(.homepage,.inner-page) .contact-final h2{margin:0;font-size:clamp(110px,11vw,158px);line-height:.94}
:is(.homepage,.inner-page) .contact-invitation{display:flex;align-items:center;justify-content:flex-end;gap:28px}
:is(.homepage,.inner-page) .contact-final .contact-invitation p{text-align:left;font:300 19px/1.35 TT,Arial,sans-serif;letter-spacing:-.025em}
:is(.homepage,.inner-page) .contact-book{width:154px;height:154px;flex:0 0 auto;transform:none;border:1px solid #100704;transition:transform 220ms ease,background 220ms ease}
:is(.homepage,.inner-page) .contact-book>span{font-weight:300;font-size:19px}
:is(.homepage,.inner-page) .contact-book>small{font-size:12px}
:is(.homepage,.inner-page) .contact-information{grid-template-columns:1.4fr 1.15fr .85fr;gap:40px;padding-top:28px}
:is(.homepage,.inner-page) .contact-label{margin-bottom:15px;font:300 11px/1.3 TT,Arial,sans-serif;letter-spacing:.015em}
:is(.homepage,.inner-page) .contact-final .contact-phone{font-size:clamp(27px,2.5vw,35px);margin-bottom:10px;letter-spacing:-.035em}
:is(.homepage,.inner-page) .contact-final .contact-email{display:block;font-size:16px;margin-bottom:14px}
:is(.homepage,.inner-page) .contact-final .contact-address-link{font-size:20px;line-height:1.35;margin-bottom:14px;letter-spacing:-.025em}
:is(.homepage,.inner-page) .contact-street{display:inline}
:is(.homepage,.inner-page) .contact-hours{grid-column:auto}
:is(.homepage,.inner-page) .contact-hours dl{font-size:16px;font-variant-numeric:tabular-nums}
:is(.homepage,.inner-page) .contact-hours dl>div{gap:22px;margin-bottom:10px}
:is(.homepage,.inner-page) .contact-information .text-link{display:inline-flex;align-items:center;min-height:32px;font-size:13px}
@media(hover:hover) and (pointer:fine){:is(.homepage,.inner-page) .contact-book:hover{transform:translateY(-4px);background:#2e1506}}
:is(.homepage,.inner-page) .contact-book:active{transform:scale(.97)}
@media(max-width:1000px){:is(.homepage,.inner-page) .contact-heading{gap:28px}:is(.homepage,.inner-page) .contact-invitation{gap:18px}:is(.homepage,.inner-page) .contact-final .contact-invitation p{font-size:16px}:is(.homepage,.inner-page) .contact-book{width:126px;height:126px}:is(.homepage,.inner-page) .contact-information{gap:26px;grid-template-columns:1.3fr 1fr}:is(.homepage,.inner-page) .contact-hours{grid-column:2}:is(.homepage,.inner-page) .contact-final .contact-address-link{font-size:18px}}
@media(max-width:650px){:is(.homepage,.inner-page) .contact-final{padding-block:28px 26px;border-radius:24px 24px 44px 24px}:is(.homepage,.inner-page) .contact-heading{grid-template-columns:1fr;gap:24px;padding-bottom:24px}:is(.homepage,.inner-page) .contact-final h2{font-size:clamp(100px,28vw,118px)}:is(.homepage,.inner-page) .contact-final .eyebrow{margin-bottom:18px}:is(.homepage,.inner-page) .contact-invitation{justify-content:space-between;gap:16px}:is(.homepage,.inner-page) .contact-final .contact-invitation p{font-size:17px}:is(.homepage,.inner-page) .contact-book{width:116px;height:116px}:is(.homepage,.inner-page) .contact-book>span{font-size:16px}:is(.homepage,.inner-page) .contact-book>small{font-size:10px}:is(.homepage,.inner-page) .contact-information{padding-top:23px;gap:24px 18px;grid-template-columns:1fr 1fr}:is(.homepage,.inner-page) .contact-channel{grid-column:1/-1}:is(.homepage,.inner-page) .contact-final .contact-phone{font-size:31px}:is(.homepage,.inner-page) .contact-final .contact-email{font-size:16px;margin-bottom:7px}:is(.homepage,.inner-page) .contact-label{margin-bottom:11px;font-size:10px}:is(.homepage,.inner-page) .contact-final .contact-address-link{font-size:16px}:is(.homepage,.inner-page) .contact-hours{grid-column:2}:is(.homepage,.inner-page) .contact-hours dl{font-size:13px}:is(.homepage,.inner-page) .contact-hours dl>div{gap:10px}:is(.homepage,.inner-page) .contact-information .text-link{font-size:12px}}
@media(max-width:370px){:is(.homepage,.inner-page) .contact-final .contact-phone{font-size:27px}:is(.homepage,.inner-page) .contact-final .contact-address-link{font-size:14px}:is(.homepage,.inner-page) .contact-final .contact-invitation p{font-size:15px}:is(.homepage,.inner-page) .contact-book{width:104px;height:104px}:is(.homepage,.inner-page) .contact-hours dl{font-size:12px}}
@media(prefers-reduced-motion:reduce){:is(.homepage,.inner-page) .contact-book{transition:none}:is(.homepage,.inner-page) .contact-book:hover,:is(.homepage,.inner-page) .contact-book:active{transform:none}}
:is(.homepage,.inner-page) .contact-invitation{flex-direction:row}

/* Contact alternative B — warm porcelain, orange invitation, no black disc. */
:is(.homepage,.inner-page) #contact{background:#f2f1ec;color:#34332f;position:relative;isolation:isolate}
:is(.homepage,.inner-page) #contact:before{width:480px;height:480px;right:8%;top:-210px;border:0;background:radial-gradient(ellipse,#ff8a3a40 0%,#ff9c451a 40%,transparent 70%);pointer-events:none;z-index:-1}
:is(.homepage,.inner-page) #contact .eyebrow{color:#746d65}
:is(.homepage,.inner-page) #contact .contact-your{color:#e85b13}
:is(.homepage,.inner-page) #contact .contact-bold{color:#34332f}
:is(.homepage,.inner-page) #contact .contact-invitation{flex-direction:column;align-items:flex-start;justify-self:end;gap:24px;width:320px}
:is(.homepage,.inner-page) #contact .contact-invitation p{font-size:23px;line-height:1.25;letter-spacing:-.035em;color:#34332f}
:is(.homepage,.inner-page) #contact .contact-book{width:100%;height:76px;border-radius:48px 48px 48px 10px;background:#ed641b;color:#fff;border:1px solid #ed641b;box-shadow:0 12px 35px #e96c2420;flex-direction:row;gap:6px;padding:0 24px}
:is(.homepage,.inner-page) #contact .contact-book>span,:is(.homepage,.inner-page) #contact .contact-book>small{font:300 18px/1.2 TT,Arial,sans-serif;margin:0;white-space:nowrap}
:is(.homepage,.inner-page) #contact .contact-information{border-color:#34332f26}
:is(.homepage,.inner-page) #contact .contact-label{color:#777169}
:is(.homepage,.inner-page) #contact .contact-phone,:is(.homepage,.inner-page) #contact .contact-email,:is(.homepage,.inner-page) #contact .contact-address-link,:is(.homepage,.inner-page) #contact .text-link,:is(.homepage,.inner-page) #contact .contact-hours{color:#34332f}
:is(.homepage,.inner-page) #contact .contact-book:focus-visible{outline-color:#b3450d}
@media(hover:hover) and (pointer:fine){:is(.homepage,.inner-page) #contact .contact-book:hover{background:#d9530e;border-color:#d9530e;transform:translateY(-3px);box-shadow:0 16px 38px #e96c2430}}
@media(max-width:1000px){:is(.homepage,.inner-page) #contact .contact-invitation{width:260px}:is(.homepage,.inner-page) #contact .contact-invitation p{font-size:21px}:is(.homepage,.inner-page) #contact .contact-book{padding-inline:16px}:is(.homepage,.inner-page) #contact .contact-book>span,:is(.homepage,.inner-page) #contact .contact-book>small{font-size:16px}}
@media(max-width:650px){:is(.homepage,.inner-page) #contact .contact-heading{gap:28px}:is(.homepage,.inner-page) #contact .contact-invitation{width:100%;justify-self:stretch;gap:19px}:is(.homepage,.inner-page) #contact .contact-invitation p{font-size:21px}:is(.homepage,.inner-page) #contact .contact-book{width:100%;height:66px;border-radius:36px 36px 36px 9px}:is(.homepage,.inner-page) #contact .contact-book>span,:is(.homepage,.inner-page) #contact .contact-book>small{font-size:17px}:is(.homepage,.inner-page) #contact:before{right:-180px;top:-230px}}
@media(prefers-reduced-motion:reduce){:is(.homepage,.inner-page) #contact .contact-book:hover{transform:none}}
:is(.homepage,.inner-page) #contact .contact-book{color:#351909}
@media(max-width:370px){:is(.homepage,.inner-page) #contact .contact-book{min-width:0;padding-inline:12px;gap:4px}:is(.homepage,.inner-page) #contact .contact-book>span,:is(.homepage,.inner-page) #contact .contact-book>small{font-size:15px}}

/* Approved contact B: stationary CTA with a stronger white label. */
:is(.homepage,.inner-page) #contact .contact-book{color:#fff;transition:background 180ms ease,border-color 180ms ease,box-shadow 180ms ease}
:is(.homepage,.inner-page) #contact .contact-book>span,:is(.homepage,.inner-page) #contact .contact-book>small{font-weight:600}
:is(.homepage,.inner-page) #contact .contact-book:hover,:is(.homepage,.inner-page) #contact .contact-book:active{transform:none}
:is(.homepage,.inner-page) .hero .hero-book,:is(.homepage,.inner-page) .hero .hero-book:hover{color:#fff}
#mobile-menu .menu-contact .button{transition:background 180ms ease,color 180ms ease,border-color 180ms ease;transform:none}
@media(hover:hover) and (pointer:fine){#mobile-menu .menu-contact .button:hover{background:#e65e12;border-color:#e65e12;color:#fff;transform:none}}
#mobile-menu .menu-contact .button:focus-visible{background:#e65e12;color:#fff}
:is(.homepage,.inner-page) #contact .contact-heading{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}
:is(.homepage,.inner-page) #contact .contact-invitation{min-width:0}
@media(max-width:650px){:is(.homepage,.inner-page) #contact .contact-heading{grid-template-columns:minmax(0,1fr)}}
@media(max-width:370px){:is(.homepage,.inner-page) #contact .contact-book{gap:3px}:is(.homepage,.inner-page) #contact .contact-book>span,:is(.homepage,.inner-page) #contact .contact-book>small{font-size:14px}}
@media(hover:hover) and (pointer:fine){#mobile-menu .menu-contact .button:hover{background:#fff;color:#a23d08;border-color:#fff;transform:none}}
#mobile-menu .menu-contact .button:focus-visible{background:#fff;color:#a23d08;border-color:#fff}
/* The display question must fit the contact card even at 320px. */
@media(max-width:370px){:is(.homepage,.inner-page) .contact-final h2{font-size:86px}}
/* A more generous consultation CTA, with an intentional two-line label at320px. */
:is(.homepage,.inner-page) #contact .contact-invitation{width:min(100%,400px)}
:is(.homepage,.inner-page) #contact .contact-book{height:84px;padding:20px 32px;min-width:0}
.inner-page .inner-actions .button[data-open-request]{padding:15px 30px;min-height:52px}
#mobile-menu .menu-contact .button[data-open-request]{padding:15px 30px;min-height:52px}
@media(max-width:1000px){:is(.homepage,.inner-page) #contact .contact-book{padding-inline:24px}}
@media(max-width:650px){:is(.homepage,.inner-page) #contact .contact-book{height:76px;padding:18px 24px;gap:5px}:is(.homepage,.inner-page) #contact .contact-book>span,:is(.homepage,.inner-page) #contact .contact-book>small{font-size:16px}}
@media(max-width:370px){:is(.homepage,.inner-page) #contact .contact-book{height:84px;flex-direction:column;gap:3px}:is(.homepage,.inner-page) #contact .contact-book>span{font-size:18px}:is(.homepage,.inner-page) #contact .contact-book>small{font-size:15px}.inner-page .inner-actions .button[data-open-request],#mobile-menu .menu-contact .button[data-open-request]{padding-inline:23px}}
@media(min-width:651px) and (max-width:1000px){:is(.homepage,.inner-page) #contact .contact-book{flex-direction:column;height:88px;gap:3px}:is(.homepage,.inner-page) #contact .contact-book>span{font-size:17px}:is(.homepage,.inner-page) #contact .contact-book>small{font-size:15px}}
@media(max-width:650px){:is(.homepage,.inner-page) #contact .contact-invitation{gap:28px}:is(.homepage,.inner-page) #contact .contact-invitation>p{margin-bottom:0}.contact-final .contact-invitation>.contact-book{margin-top:0}}
