.contact-page{padding-bottom:0}.contact-opening{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,.95fr) minmax(22rem,.75fr);gap:clamp(2rem,3vw,3rem);padding:clamp(3rem,5vw,5rem) 0 clamp(2.75rem,4vw,3.75rem);display:grid}.contact-opening__main{min-width:0}.contact-opening__main>.eyebrow{margin:0 0 1rem}.contact-opening__content{max-width:48rem}.contact-opening__content h1{letter-spacing:-.04em;max-width:33rem;font-size:clamp(2.8rem,4.5vw,4.6rem);line-height:1}.contact-opening__content>p{max-width:24rem;color:var(--color-text-muted);margin-top:1.5rem;font-size:clamp(1.05rem,1.3vw,1.15rem);line-height:1.7}.contact-opening__guide{border-left:1px solid var(--color-border);align-self:stretch;min-width:0;padding:clamp(1.5rem,2.5vw,2.25rem) 0 0 clamp(2rem,4vw,4rem);position:relative}.contact-opening__guide:before{content:"";background:var(--color-primary);width:clamp(4rem,7vw,6.5rem);height:.35rem;position:absolute;top:0;left:clamp(2rem,4vw,4rem)}.contact-opening__guide-heading{max-width:26rem;margin-bottom:clamp(2rem,3vw,2.75rem)}.contact-opening__guide-heading .eyebrow{margin:0 0 .85rem}.contact-opening__guide-heading h2{letter-spacing:-.025em;font-size:clamp(1.35rem,1.8vw,1.7rem);line-height:1.18}.contact-opening__guide-list{border-top:1px solid var(--color-border);gap:0;margin:0;padding:0;list-style:none;display:grid}.contact-opening__guide-list li{border-bottom:1px solid var(--color-border);border-bottom:1px solid var(--color-border);grid-template-columns:clamp(3.5rem,5vw,5rem) minmax(0,1fr);align-items:center;gap:clamp(1rem,2vw,1.75rem);min-height:7rem;padding:clamp(1.4rem,2vw,1.8rem) 0;display:grid;position:relative}.contact-opening__guide-list li:before{content:attr(data-step);color:#176b5b2e;letter-spacing:-.06em;pointer-events:none;user-select:none;align-self:start;font-size:clamp(2.8rem,4vw,4.3rem);font-weight:800;line-height:.9}.contact-opening__guide-list strong{color:var(--color-text);margin-bottom:.45rem;font-size:clamp(1rem,1.15vw,1.1rem);line-height:1.25;display:block}.contact-opening__guide-list p{max-width:25rem;color:var(--color-text-muted);margin:0;font-size:.95rem;line-height:1.6}.contact-main{grid-template-columns:minmax(0,.95fr) minmax(22rem,.75fr);gap:clamp(2rem,3vw,3rem);padding:0 0 clamp(4.5rem,7vw,7rem);display:grid}.contact-main__channels,.contact-main__information{min-width:0}.contact-main__channels{padding:clamp(2.75rem,4vw,4rem) clamp(2.5rem,4vw,4rem) 0 0}.contact-main__channels .contact-actions{box-shadow:none;background:0 0;border:0;border-radius:0;gap:clamp(1.5rem,2.5vw,2rem);margin:0;padding:0;display:grid}.contact-main__channels .contact-actions h2{letter-spacing:-.035em;max-width:10ch;font-size:clamp(2rem,3vw,3rem);line-height:1.05}.contact-main__channels .contact-actions>p{max-width:39rem;color:var(--color-text-muted);line-height:1.75}.contact-main__channels .contact-list{border-top:1px solid var(--color-border);gap:0;max-width:42rem;display:grid}.contact-main__channels .contact-list div{border-top:0;border-bottom:1px solid var(--color-border);grid-template-columns:minmax(8rem,.45fr) minmax(0,1fr);gap:1.5rem;padding:1.35rem 0;display:grid}.contact-main__channels .contact-list dt{color:var(--color-text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.8rem;font-weight:800}.contact-main__channels .contact-list dd{overflow-wrap:anywhere;min-width:0;margin:0;font-size:clamp(1rem,1.3vw,1.1rem);font-weight:700}.contact-main__information{border-left:1px solid var(--color-border);align-content:start;gap:clamp(2.75rem,4vw,4rem);padding:clamp(2.75rem,4vw,4rem) 0 0 clamp(2rem,4vw,4rem);display:grid;position:relative}.contact-section-label{color:var(--color-primary);letter-spacing:.08em;margin:0 0 .75rem;font-size:.76rem;font-weight:800;line-height:1.2}.contact-hours{padding-top:0}.contact-hours h2{letter-spacing:-.03em;max-width:18ch;font-size:clamp(1.7rem,2.2vw,2.2rem);line-height:1.08}.contact-hours__list{border-top:1px solid var(--color-border);gap:0;margin-top:clamp(1.5rem,2.5vw,2rem);display:grid}.contact-hours__list div{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(7rem,.75fr) minmax(0,1fr);gap:1rem;padding:1rem 0;display:grid}.contact-hours__list dt{color:var(--color-text-muted);font-size:.92rem}.contact-hours__list dd{margin:0;font-weight:700}.contact-emergency .emergency-notice{box-shadow:none;margin:0}.contact-emergency .emergency-notice h2{font-size:clamp(1.5rem,2vw,1.8rem)}.contact-location{border-top:1px solid var(--color-border);padding:clamp(4.5rem,2vw,8rem) 0}.contact-location__heading{grid-template-columns:minmax(8rem,.35fr) minmax(0,1fr);gap:clamp(2rem,6vw,6rem);margin-bottom:clamp(3rem,2vw,5.5rem);display:grid}.contact-location__content{grid-template-columns:minmax(17rem,.65fr) minmax(0,1.35fr);align-items:stretch;gap:clamp(3rem,7vw,7rem);display:grid}.contact-location__address{align-self:center}.contact-location__address address{gap:.35rem;margin-top:1rem;font-size:clamp(1rem,1.4vw,1.12rem);line-height:1.6;display:grid}.contact-location__address address strong{color:var(--color-primary-strong);margin-bottom:.3rem;font-size:1.1em}.contact-location__support{max-width:28rem;color:var(--color-text-muted);margin-top:1.75rem;line-height:1.7}.contact-location__visual{background:linear-gradient(135deg, var(--color-surface-soft), #e3f0ea);align-items:flex-end;min-height:clamp(18rem,35vw,27rem);padding:clamp(2rem,5vw,4rem);display:flex;position:relative;overflow:hidden}.contact-location__visual:before{content:"";aspect-ratio:1;border:1px solid #176b5b1f;width:58%;position:absolute;top:-18%;right:-5%;transform:rotate(16deg)}.contact-location__visual:after{content:"";aspect-ratio:1;background:#ffffff6b;width:43%;position:absolute;bottom:-30%;right:13%;transform:rotate(-15deg)}.contact-location__mark{z-index:1;color:var(--color-primary);letter-spacing:-.06em;font-size:clamp(2.5rem,6vw,5.5rem);font-weight:300;line-height:.82;display:grid;position:relative}.contact-location__mark strong{font-weight:800}.contact-location__line{z-index:1;background:var(--color-primary);width:clamp(4rem,10vw,8rem);height:1px;position:absolute;bottom:clamp(2rem,5vw,4rem);right:clamp(2rem,5vw,4rem)}.contact-closing{margin-inline:calc((100vw - min(100vw - 2rem, var(--container))) / -2);padding:clamp(4rem, 7vw, 6rem) max(1rem, calc((100vw - var(--container)) / 2));background:var(--color-surface-soft);grid-template-columns:minmax(0,1fr) minmax(18rem,.65fr);gap:clamp(3rem,7vw,7rem);display:grid}.contact-closing h2{letter-spacing:-.035em;max-width:14ch;margin-top:.75rem;font-size:clamp(2rem,3.5vw,3.4rem);line-height:1.02}.contact-closing__content{align-self:end}.contact-closing__content p{max-width:34rem;color:var(--color-text-muted);line-height:1.75}.contact-closing__content .text-link{margin-top:1.5rem;display:inline-block}@media (width<=63.99rem){.contact-opening{grid-template-columns:1fr;gap:3.5rem}.contact-opening__guide{border-left:0;max-width:44rem;padding-left:0}.contact-opening__guide:before{left:0}.contact-main{grid-template-columns:1fr;padding-bottom:4rem}.contact-main__channels{padding:3rem 0}.contact-main__information{border-left:0;border-top:1px solid var(--color-border);grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;padding:3rem 0 0}.contact-location__content{grid-template-columns:minmax(15rem,.8fr) minmax(0,1.2fr)}}@media (width<=47.99rem){.contact-opening{grid-template-columns:1fr;gap:2.5rem;padding:2rem 0 3rem}.contact-opening__content h1{font-size:clamp(2.5rem,12vw,3.8rem)}.contact-opening__guide{border-left:0;padding:1.5rem 0 0}.contact-opening__guide-list li{grid-template-columns:3.5rem minmax(0,1fr);gap:1rem}.contact-main{padding:0 0 3.5rem}.contact-main__channels{padding:2.75rem 0}.contact-main__information{grid-template-columns:1fr;gap:3rem;padding:2.75rem 0 0}.contact-main__channels .contact-list div{grid-template-columns:1fr;gap:.35rem}.contact-hours__list div{grid-template-columns:1fr;gap:.3rem}.contact-location{padding:4rem 0}.contact-location__heading{margin-bottom:clamp(2rem,4vw,3rem)}.contact-location__heading h2{max-width:100%}.contact-location__content{grid-template-columns:1fr;gap:3rem}.contact-location__visual{min-height:18rem}.contact-closing{grid-template-columns:1fr;gap:2rem;padding-top:4rem;padding-bottom:4rem}.contact-closing h2{max-width:100%}}
