/* The contact gateway inherits the approved TOP palette and shared chrome. */
body.contact-page main p{font-size:16px;line-height:1.95;line-break:strict;text-wrap:pretty;overflow-wrap:break-word}
body.contact-page main :is(h2,h3){line-height:1.65;letter-spacing:.025em;line-break:strict;text-wrap:pretty}
body.contact-page main .eyebrow{font-size:14px;line-height:1.8;letter-spacing:.12em;margin-bottom:18px}
body.contact-page main .button{font-size:16px;line-height:1.8;min-height:56px;min-width:0;max-width:100%;padding:15px 22px;gap:18px;white-space:normal;text-align:left}
body.contact-page main .button>span{flex-shrink:0}
body.contact-page main .text-link{font-size:16px;line-height:1.8;min-height:48px;max-width:100%;gap:20px}
body.contact-page main :is(a,button):focus-visible{outline:3px solid #a76616;outline-offset:4px}
body.contact-page main [id]{scroll-margin-top:8px}

/* Breadcrumbs and short routes share the photographic opening. */
body.contact-page .page-hero.subhero{padding-block:82px 44px;min-height:0}
body.contact-page .page-hero.subhero>.breadcrumbs{position:absolute;inset-block:12px auto;inset-inline:max(var(--gutter),calc((100% - 1280px)/2)) auto;width:max-content;max-width:calc(100% - var(--gutter)*2);padding:0;margin:0}
body.contact-page .page-hero.subhero>.breadcrumbs ol{width:fit-content;max-width:100%;padding:0;margin:0;background:transparent;border-radius:0;align-items:center;gap:0 8px;flex-wrap:wrap;justify-content:flex-start}
body.contact-page .page-hero.subhero>.breadcrumbs li{line-height:1.8;gap:8px;min-width:0}
body.contact-page .page-hero.subhero>.breadcrumbs a{font-size:14px;line-height:1.8;min-height:44px;padding-block:8px}
body.contact-page .page-hero.subhero>.breadcrumbs [aria-current]{font-size:14px;line-height:1.8;overflow-wrap:break-word}
body.contact-page .subhero .hero-message{font-size:clamp(32px,3.1vw,44px);line-height:1.65;margin-bottom:22px}
body.contact-page .subhero .hero-message>.phrase{display:block}
body.contact-page main .page-lead{font-size:17px!important;line-height:1.95;max-width:35em;text-wrap:pretty}
body.contact-page .contact-lead-sentence{display:block}
body.contact-page .contact-lead-sentence+.contact-lead-sentence{margin-top:.4em}
body.contact-page .contact-lead-unit{display:inline-block;max-width:100%}
body.contact-page .subhero .hero-contact-choice{display:flex;flex-wrap:wrap;gap:0 24px;justify-content:flex-start;align-items:start;margin-top:24px;padding:16px 0 0;border-top:1px solid #bdcec4;background:transparent}
body.contact-page .subhero .hero-contact-choice>p{font-size:14px;line-height:1.8;width:100%;margin:0 0 6px}
body.contact-page .subhero .hero-contact-choice>.text-link{font-size:16px;line-height:1.8;min-height:48px;max-width:100%;width:fit-content;margin:0;padding-block:10px}
body.contact-page .subhero-scene>img{animation:none;transition:none;transform:none}

body.contact-page .page-local-nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding-block:14px}
body.contact-page .page-local-nav a{font-size:16px;line-height:1.8;min-height:50px;gap:14px;padding-block:10px;min-width:0}
body.contact-page .page-local-nav small{font-size:14px;line-height:1.8}
body.contact-page .page-local-nav a>span:not(:last-child){min-width:0;overflow-wrap:break-word}

body.contact-page .contact-doors{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;padding-block:38px 0;margin-bottom:36px}
body.contact-page .contact-doors article{min-width:0;padding:0}
body.contact-page .contact-door-photo{margin:0 0 22px}
body.contact-page .contact-door-photo>img{aspect-ratio:3/2;object-fit:cover;object-position:50% 50%;transform:none;transition:none;animation:none;border-radius:3px 28px 3px 3px}
body.contact-page .contact-door-photo figcaption{font-size:14px;line-height:1.85;padding-top:10px}
body.contact-page .contact-doors h2{font-size:30px;font-weight:500;line-height:1.7;margin:0 0 17px}
body.contact-page .contact-door-copy{min-width:0;max-width:36em;margin:0 0 24px}
body.contact-page main .contact-door-copy p{font-size:16px;line-height:1.95;margin:0}
body.contact-page main .contact-door-copy p+p{margin-top:14px}
body.contact-page .contact-doors .button{width:100%;margin-top:auto}

/* An open band gives existing BASE orders their own direct contact route. */
body.contact-page .contact-orders-band{background:#f2f6ec;padding-block:35px 38px}
body.contact-page .contact-order-support{display:grid;grid-template-columns:156px minmax(0,1fr) 260px;gap:36px;align-items:center}
body.contact-page .contact-order-support>img{width:156px;height:auto;aspect-ratio:256/200;object-fit:contain}
body.contact-page .contact-order-copy{min-width:0}
body.contact-page .contact-order-copy>.eyebrow{margin-bottom:10px}
body.contact-page .contact-order-copy h2{font-size:28px;font-weight:500;line-height:1.7;margin:0 0 16px}
body.contact-page main .contact-order-copy>p:not(.eyebrow){margin:0;font-size:16px;line-height:1.95;max-width:35em}
body.contact-page main .contact-order-copy>p+p:not(.eyebrow){margin-top:14px}
body.contact-page .contact-order-actions{display:flex;flex-direction:column;align-items:stretch;gap:12px;min-width:0;max-width:340px;width:100%}
body.contact-page .contact-order-actions .button{width:100%}
body.contact-page .contact-order-actions .text-link{width:fit-content}

body.contact-page .contact-by-phone{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:start;padding-block:35px 40px;border:0}
body.contact-page .contact-by-phone h2{font-size:28px;font-weight:500;line-height:1.75;margin:0}
body.contact-page main .contact-by-phone p{font-size:16px!important;line-height:1.95;margin-top:16px;max-width:35em}
body.contact-page .contact-phone-actions{min-width:0}
body.contact-page .contact-phone-actions>a[href^="tel:"]{display:block;width:fit-content;max-width:100%;font-family:var(--serif);font-size:36px;letter-spacing:.03em;line-height:1.6;color:var(--teal);min-height:48px}
body.contact-page .contact-phone-actions>a[href^="tel:"]>span{display:block;font-family:var(--sans);font-size:14px;line-height:1.9;letter-spacing:.025em;margin-top:2px}
body.contact-page .contact-phone-actions>.text-link{margin-top:13px}

body.contact-page .page-cta{padding-block:36px 40px}
body.contact-page .page-cta>.container{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:7%}
body.contact-page .page-cta h2{font-size:32px;font-weight:500;line-height:1.7}
body.contact-page .page-cta h2>.phrase{display:block}
body.contact-page main .page-cta p:not(.eyebrow){font-size:16px!important;line-height:1.95;margin-top:18px}
body.contact-page .page-cta .cta-actions{min-width:0;gap:12px}
body.contact-page .page-cta .button{width:100%}
body.contact-page main .button:active{transform:translateY(1px);box-shadow:none}

@media(max-width:1050px){
 body.contact-page .contact-doors{gap:32px}
 body.contact-page .contact-doors h2{font-size:28px}
 body.contact-page .contact-order-support{grid-template-columns:132px minmax(0,1fr);gap:22px 32px;align-items:start}
 body.contact-page .contact-order-support>img{width:132px}
 body.contact-page .contact-order-actions{grid-column:2}
 body.contact-page .contact-by-phone{grid-template-columns:minmax(0,1fr);gap:22px}
 body.contact-page .page-cta>.container{grid-template-columns:minmax(0,1fr);gap:24px}
 body.contact-page .page-cta .cta-actions{width:100%;max-width:430px}
}
@media(max-width:760px){
 body.contact-page .page-hero.subhero{padding-block:298px 36px}
 body.contact-page .subhero .hero-message{font-size:32px}
 body.contact-page main .page-lead{font-size:16px!important}
 body.contact-page .contact-lead-sentence,body.contact-page .contact-lead-unit{display:inline}
 body.contact-page .contact-lead-sentence+.contact-lead-sentence{margin-top:0}
 body.contact-page .subhero .hero-contact-choice{margin-top:22px;gap:3px 20px}
 body.contact-page .page-local-nav{grid-template-columns:minmax(0,1fr);gap:0;padding-block:10px}
 body.contact-page .page-local-nav a{min-height:50px}
 body.contact-page .contact-doors{padding-top:28px;margin-bottom:30px}
 body.contact-page .contact-door-photo{margin-bottom:19px}
 body.contact-page .contact-order-support{grid-template-columns:minmax(0,1fr);gap:20px}
 body.contact-page .contact-order-actions{grid-column:auto;max-width:430px}
 body.contact-page .contact-orders-band{padding-block:28px 32px}
 body.contact-page .contact-order-copy h2{font-size:27px}
 body.contact-page .contact-by-phone{padding-block:29px 34px;gap:22px}
 body.contact-page .contact-by-phone h2{font-size:26px}
 body.contact-page .contact-phone-actions>a[href^="tel:"]{font-size:32px}
 body.contact-page .page-cta{padding-block:30px 34px}
 body.contact-page .page-cta h2{font-size:28px}
}
@media(max-width:700px){
 body.contact-page .contact-doors{grid-template-columns:minmax(0,1fr);gap:32px}
 body.contact-page .contact-doors h2{font-size:27px}
}
@media(max-width:365px){body.contact-page .subhero .hero-message{font-size:30px}}
@media(prefers-reduced-motion:reduce){
 body.contact-page main :is(.button,.text-link){transition:none}
 body.contact-page main :is(.button,.text-link)>span:not(.sr-only){transition:none}
 body.contact-page main :is(.button,.text-link):hover>span:not(.sr-only){transform:none}
 body.contact-page main .button:active{transform:none}
}
