.contact-page{color:var(--color-anthracite);background:#f5f5f2;overflow:hidden}.contact-kicker{color:#858681;letter-spacing:.24em;text-transform:uppercase;margin:0;font-size:.64rem;font-weight:600;line-height:1.5}.contact-intro{background:#f5f5f2;align-items:center;display:flex}.contact-intro__content{padding-top:calc(var(--header-height) + clamp(2.8rem, 4vw, 4rem));text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;padding-bottom:clamp(2.8rem,4vw,4rem);display:flex}.contact-intro__lead{color:#6f706c;max-width:38rem;margin:0;font-size:.95rem;line-height:1.8}.contact-intro__content h1{font-family:var(--font-display), Georgia, serif;letter-spacing:-.045em;margin:0;font-size:clamp(4.6rem,6vw,6.8rem);font-weight:400;line-height:.9}.contact-details{background:#fff;padding-block:clamp(3.5rem,5vw,5rem)}.contact-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));margin-top:0;display:grid}.contact-list__item{grid-template-columns:1.5rem minmax(0,1fr);align-items:center;gap:1rem;padding-inline:clamp(1.1rem,3vw,3rem);display:grid}.contact-list__item:first-child{padding-left:0}.contact-list__item+.contact-list__item{border-left:1px solid #27282a1f}.contact-list__icon{color:#5f605d;width:.98rem;height:.98rem;transition:transform .32s cubic-bezier(.22,1,.36,1)}.contact-list__copy{gap:.12rem;min-width:0;display:grid}.contact-list__copy small{color:#999a95;letter-spacing:.18em;text-transform:uppercase;font-size:.56rem;font-weight:600}.contact-list__copy strong{letter-spacing:.01em;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(.82rem,1vw,.94rem);font-weight:400;overflow:hidden}.contact-list__item:hover .contact-list__icon,.contact-list__item:focus-visible .contact-list__icon{transform:translateY(-2px)}.contact-location{background:#f5f5f2;padding-block:clamp(5rem,8vw,7.5rem) 0}.contact-location__meta{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:3rem;padding-bottom:clamp(2rem,3.5vw,3.2rem);display:grid}.contact-location__meta address{color:#37383a;margin-top:.9rem;font-size:clamp(.9rem,1.2vw,1.02rem);font-style:normal;line-height:1.7}.contact-location__directions{letter-spacing:.2em;text-transform:uppercase;border-bottom:1px solid #27282a40;align-items:center;gap:2.5rem;min-width:14rem;padding-block:.85rem;font-size:.6rem;font-weight:600;display:flex}.contact-location__directions .icon{width:.9rem;height:.9rem;margin-left:auto;transition:transform .28s}.contact-location__directions:hover .icon,.contact-location__directions:focus-visible .icon{transform:translate(.3rem)}.contact-location__shell{background:#dedbd4;border-block:1px solid #27282a1f;width:100%;height:clamp(620px,72vh,780px);padding-inline:0;overflow:hidden;box-shadow:0 24px 70px #201f1c14}.contact-location__map{width:100%;height:100%;position:relative;overflow:hidden}.map-embed{isolation:isolate;width:100%;height:100%;position:relative}.map-consent{text-align:center;background:radial-gradient(#f5f4ef,#dedbd4);flex-direction:column;justify-content:center;align-items:center;gap:1.25rem;min-height:100%;padding:16rem 1.5rem 3rem;display:flex}.map-consent>.icon{width:1.75rem;height:1.75rem}.map-consent p{color:#5f605d;max-width:33rem;margin:0;font-size:.88rem;line-height:1.8}.map-consent button{color:#fff;cursor:pointer;letter-spacing:.14em;background:#27282a;border:1px solid #27282a;min-height:48px;padding:.9rem 1.5rem;font-size:.65rem}.map-consent button:focus-visible{outline-offset:4px;outline:2px solid #27282a}.contact-location__map iframe{filter:grayscale()sepia(.08)contrast(.9)brightness(1.04);border:0;width:calc(100% + 240px);height:calc(100% + 240px);margin:0;transition:filter .65s,transform .9s cubic-bezier(.22,1,.36,1);position:absolute;top:-120px;left:-120px}.contact-location__map:hover iframe,.contact-location__map:focus-within iframe{filter:grayscale(.32)sepia(.04)contrast(.95)brightness(1.02);transform:scale(1.006)}.map-hotel-marker{z-index:2;color:#fff;pointer-events:none;place-items:center;width:3.2rem;height:3.2rem;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-100%)}.map-hotel-marker:before{content:"";background:#27282a;border:4px solid #ffffffeb;border-radius:50% 50% 50% 8%;position:absolute;inset:0;transform:rotate(-45deg);box-shadow:0 14px 34px #18191a52}.map-hotel-marker:after{z-index:-1;content:"";filter:blur(2px);background:#27282a4d;border-radius:50%;width:1.05rem;height:.38rem;position:absolute;top:calc(100% + .35rem);left:50%;transform:translate(-50%)}.map-hotel-marker>span{letter-spacing:.06em;place-items:center;gap:.03rem;font-size:.58rem;font-weight:600;line-height:.95;display:grid;position:relative}.map-hotel-marker>span small{letter-spacing:.08em;font-size:.34rem;font-weight:600}.map-hotel-card{z-index:3;color:#27282a;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f8f7f3eb;border:1px solid #ffffffad;grid-template-columns:auto minmax(0,1fr);gap:1rem;width:min(23rem,100% - 2rem);padding:clamp(1.15rem,2vw,1.45rem);transition:background-color .28s,box-shadow .28s,transform .28s cubic-bezier(.22,1,.36,1);display:grid;position:absolute;top:clamp(1rem,2.2vw,2rem);left:clamp(1rem,2.2vw,2rem);box-shadow:0 24px 60px #191a1c2e}.map-hotel-card:hover,.map-hotel-card:focus-visible{background:#fffffcf7;transform:translateY(-3px);box-shadow:0 28px 70px #191a1c3d}.map-hotel-card__index{color:#fff;letter-spacing:.12em;background:#27282a;border-radius:50%;place-items:center;width:2.4rem;height:2.4rem;font-size:.57rem;font-weight:600;display:grid}.map-hotel-card__copy{min-width:0;display:grid}.map-hotel-card__copy small{color:#858681;letter-spacing:.18em;margin-bottom:.3rem;font-size:.54rem;font-weight:600}.map-hotel-card__copy strong{font-family:var(--font-display), Georgia, serif;letter-spacing:-.035em;font-size:clamp(1.45rem,2.1vw,1.8rem);font-weight:500;line-height:1.05}.map-hotel-card__address{color:#6f706c;max-width:16rem;margin-top:.65rem;font-size:.72rem;line-height:1.55}.map-hotel-card__action{letter-spacing:.14em;border-top:1px solid #27282a24;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;padding-top:.85rem;font-size:.54rem;font-weight:600;display:flex}.map-hotel-card__action .icon{width:.8rem;height:.8rem;transition:transform .28s}.map-hotel-card:hover .map-hotel-card__action .icon,.map-hotel-card:focus-visible .map-hotel-card__action .icon{transform:translate(.25rem)}.contact-closing{color:#fff;background:#27282a;position:relative;overflow:hidden}.contact-closing:before{content:"";background:#ffffff47;width:min(26vw,25rem);height:1px;position:absolute;top:0;right:6vw}.contact-closing__inner{grid-template-columns:minmax(0,.9fr) minmax(22rem,1.1fr);align-items:end;gap:clamp(3rem,8vw,9rem);padding-block:clamp(4rem,6.5vw,6.5rem);display:grid}.contact-closing__heading{gap:1.1rem;display:grid}.contact-closing__eyebrow{color:#ffffff80;letter-spacing:.22em;margin:0;font-size:.58rem;font-weight:600;line-height:1.5}.contact-closing__heading h2{max-width:36rem;font-family:var(--font-display), Georgia, serif;letter-spacing:-.045em;white-space:pre-line;margin:0;font-size:clamp(2.8rem,4.6vw,5rem);font-weight:400;line-height:.92}.contact-closing__heading h2.signature-title{white-space:normal;line-height:.98}.contact-closing__heading h2.signature-title span{display:block}.contact-closing__heading h2.signature-title span:last-child{margin-top:.04em}.contact-closing__body{gap:clamp(1.8rem,3vw,2.6rem);display:grid}.contact-closing__body>p{color:#ffffffa3;max-width:34rem;margin:0;font-size:clamp(.84rem,1.1vw,.96rem);line-height:1.8}.contact-closing__actions{border-top:1px solid #fff3;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.contact-closing__actions a{letter-spacing:.18em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:1.5rem;min-height:4.2rem;padding-inline:1.2rem;font-size:.58rem;font-weight:600;transition:background-color .28s,color .28s;display:flex}.contact-closing__actions a:first-child{border-right:1px solid #fff3}.contact-closing__actions a:hover,.contact-closing__actions a:focus-visible{color:#27282a;background:#fff}.contact-closing__actions .icon{flex:none;width:.9rem;height:.9rem;transition:transform .28s}.contact-closing__actions a:hover .icon--arrow-right,.contact-closing__actions a:focus-visible .icon--arrow-right{transform:translate(.3rem)}@media (max-width:1023px){.contact-location__shell{height:680px}}@media (max-width:767px){.contact-intro__content{padding-top:calc(var(--header-height) + 2.7rem);padding-bottom:2.45rem}.contact-intro__content h1{font-size:clamp(3.9rem,19vw,5rem)}.contact-details{padding-block:3rem}.contact-list{grid-template-columns:1fr;margin-top:0;padding-top:0}.contact-list__item,.contact-list__item:first-child{padding:1.1rem 0}.contact-list__item+.contact-list__item{border-top:1px solid #27282a1c;border-left:0}.contact-location{padding-block:4.5rem 0}.contact-location__meta{grid-template-columns:1fr;gap:1.6rem}.contact-location__directions{width:100%}.contact-location__shell{width:100%;height:580px}.map-hotel-marker{width:2.8rem;height:2.8rem}.map-hotel-card{width:100%;padding:1rem;top:0;left:0}.map-hotel-card__copy strong{font-size:1.45rem}.contact-closing__inner{grid-template-columns:1fr;gap:2.4rem;padding-block:4rem}.contact-closing__heading h2{font-size:clamp(2.8rem,14vw,4rem)}.contact-closing__actions{grid-template-columns:1fr}.contact-closing__actions a{padding-inline:0}.contact-closing__actions a:first-child{border-bottom:1px solid #fff3;border-right:0}}@media (prefers-reduced-motion:reduce){.contact-list__icon,.contact-location__directions .icon,.contact-location__map iframe,.map-hotel-card,.map-hotel-card__action .icon,.contact-closing__actions a,.contact-closing__actions .icon{transition:none}}
