.contact{--ct-canvas:#f7f4ef;--ct-card:#fff;--ct-navy:#0b253a;--ct-gold:#c5a070;--ct-teal:#0f766e;--ct-ink:#10212b;--ct-muted:#3a4650;--ct-border:#0b253a1f;--ct-radius:12px;--ct-shadow:0 16px 48px #0b253a1f;background:var(--ct-canvas);color:var(--ct-ink);padding-top:calc(80px + clamp(2rem,5vh,3.5rem));padding-bottom:clamp(4rem,8vh,6rem)}.contact h1,.contact h2{color:var(--ct-navy);letter-spacing:-.02em;margin:0;font-family:Cormorant Garamond,serif;font-weight:500;line-height:1.12}.contact h1{font-size:clamp(2rem,3.8vw,3rem)}.contact h2{color:#fff;font-size:clamp(1.75rem,3vw,2.35rem)}.contact a,.contact button:not(.btn),.contact input,.contact label,.contact p,.contact select,.contact textarea{font-family:Raleway,sans-serif}.contact a{color:inherit;text-decoration:none}.contact a:hover{color:var(--ct-navy)}.contact a:focus-visible,.contact button:not(.btn):focus-visible,.contact input:focus-visible,.contact select:focus-visible,.contact textarea:focus-visible{outline:2px solid var(--ct-gold);outline-offset:3px}.contact-stage{width:min(1440px,100% - clamp(2rem,5vw,4rem));min-height:clamp(36rem,72vh,44rem);margin:0 auto;position:relative}.contact-stage-loading{min-height:50vh}.contact-split{border-radius:0;grid-template-columns:minmax(0,1fr) minmax(0,.55fr);min-height:clamp(36rem,72vh,44rem);display:grid;overflow:hidden}.contact-left,.contact-right{flex-direction:column;gap:clamp(1.75rem,3vw,2.5rem);padding:clamp(2rem,4vw,3.5rem);display:flex}.contact-left{background:var(--ct-canvas);z-index:1;padding-right:clamp(1.5rem,3vw,2rem)}.contact-right{background:var(--ct-navy);color:#ffffffe0;padding-left:clamp(1.5rem,3vw,2rem);position:relative;overflow:hidden}.contact-right:before{content:"";opacity:.35;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400' viewBox='0 0 400 400'%3E%3Cg fill='none' stroke='%23c5a070' stroke-width='0.75' opacity='0.22'%3E%3Cpath d='M0 80 C80 40 160 120 240 80 S400 40 400 80'/%3E%3Cpath d='M0 140 C90 100 180 180 270 140 S400 100 400 140'/%3E%3Cpath d='M0 200 C70 160 170 240 260 200 S400 160 400 200'/%3E%3Cpath d='M0 260 C100 220 200 300 300 260 S400 220 400 260'/%3E%3Cpath d='M0 320 C80 280 180 360 280 320 S400 280 400 320'/%3E%3C/g%3E%3C/svg%3E");background-size:420px 420px;position:absolute;inset:0}.contact-right>*{z-index:1;position:relative}.contact-left-heading,.contact-right-heading{flex-direction:column;gap:.65rem;max-width:28rem;display:flex}.contact-eyebrow{letter-spacing:.28em;text-transform:uppercase;color:var(--ct-gold);margin:0;font-size:.7rem;font-weight:600}.contact-eyebrow-light{color:#c5a070f2}.contact-rule{background:var(--ct-gold);width:48px;height:1px;margin-top:.2rem;display:block}.contact-intro{color:var(--ct-muted);max-width:34rem;margin:0;font-size:.875rem;line-height:1.7}.contact-intro-light{color:#ffffffb8}.contact-info-list{flex-direction:column;gap:1.35rem;max-width:26rem;display:flex}.contact-info-row{align-items:flex-start;gap:1rem;display:flex}.ct-icon-ring{border:1.25px solid var(--ct-gold);width:2.5rem;height:2.5rem;color:var(--ct-gold);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.ct-icon-ring svg{width:1rem;height:1rem}.contact-info-copy{flex-direction:column;gap:.2rem;padding-top:.15rem;display:flex}.contact-info-label{letter-spacing:.22em;text-transform:uppercase;color:var(--ct-gold);margin:0;font-size:.78rem;font-weight:600}.contact-info-value{color:var(--ct-navy);font-family:Cormorant Garamond,serif;font-size:1.14rem;font-weight:600;line-height:1.45}.contact-info-value a{font-family:inherit;font-size:inherit;font-weight:inherit;color:var(--ct-navy)}.contact-info-value a:hover{color:var(--ct-teal)}.contact-info-note{color:var(--ct-muted);font-size:.85rem;font-weight:500}.contact-info-note a{color:var(--ct-teal)}.contact-map-card{flex-direction:column;gap:.85rem;margin-top:auto;display:flex}.contact-map-frame{border-radius:var(--ct-radius);aspect-ratio:4/3;background:#00000040;border:1px solid #c5a07040;min-height:12rem;position:relative;overflow:hidden}.contact-map-frame iframe{filter:grayscale(20%)contrast(1.05)brightness(.82);border:0;width:100%;height:100%;display:block}.contact-map-pin{background:var(--ct-gold);width:2.75rem;height:2.75rem;color:var(--ct-navy);pointer-events:none;border-radius:50% 50% 50% 0;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-100%)rotate(-45deg);box-shadow:0 8px 20px #00000059}.contact-map-pin svg{width:1.1rem;height:1.1rem;transform:rotate(45deg)}.contact-directions{letter-spacing:.16em;text-transform:uppercase;color:var(--ct-gold);align-self:flex-start;align-items:center;gap:.55rem;padding:.35rem 0;font-size:.72rem;font-weight:600;display:inline-flex}.contact a.contact-directions:hover,.contact a.contact-directions:hover svg,.contact-directions:hover,.contact-directions:hover svg{color:#fff}.contact-directions svg:last-child{width:.95rem;height:.95rem}.contact-form-card{background:var(--ct-card);border-radius:var(--ct-radius);width:min(34rem,100% - 2rem);box-shadow:var(--ct-shadow);z-index:5;border:1px solid #0b253a0f;flex-direction:column;padding:clamp(1.35rem,2.5vw,1.85rem);display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.contact-form-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.contact-field{flex-direction:column;gap:.45rem;display:flex}.contact-field-full{grid-column:1/-1}.contact-field label{letter-spacing:.04em;color:var(--ct-muted);font-size:.72rem;font-weight:600}.contact-input-wrap{position:relative}.contact-input-wrap svg{color:#3a465073;pointer-events:none;width:1rem;height:1rem;position:absolute;top:50%;right:.85rem;transform:translateY(-50%)}.contact-field textarea,.contact-input-wrap input,.contact-input-wrap select{width:100%;color:var(--ct-ink);border:1px solid var(--ct-border);background:#fff;border-radius:8px;padding:.78rem 2.35rem .78rem .85rem;font-size:.875rem;transition:border-color .2s,box-shadow .2s}.contact-field textarea{resize:vertical;min-height:7.5rem;padding:.85rem;line-height:1.55}.contact-field textarea:focus,.contact-input-wrap input:focus,.contact-input-wrap select:focus{border-color:#0f766e73;outline:none;box-shadow:0 0 0 3px #0f766e14}.contact-input-wrap-select select{appearance:none;cursor:pointer}.contact-input-wrap-select select:invalid{color:#3a4650a6}.contact-hero-cta{align-self:center;margin-top:1rem}.contact-privacy{color:#3a4650bf;align-items:flex-start;gap:.45rem;margin:.85rem 0 0;font-size:.72rem;line-height:1.5;display:flex}.contact-privacy svg{flex-shrink:0;width:.85rem;height:.85rem;margin-top:.1rem}.contact-feedback{border-radius:8px;margin:.75rem 0 0;padding:.65rem .75rem;font-size:.82rem;line-height:1.5}.contact-feedback-success{color:#0f5132;background:#0f766e1a;border:1px solid #0f766e33}.contact-feedback-error{color:#842029;background:#c2410c14;border:1px solid #c2410c2e}@media (width>=1920px) and (width<=2559px){.contact-form-card{top:calc(50% + 100px);transform:translate(-50%,-50%)scale(.9)}}@media (width>=2560px){.contact-form-card{top:calc(42% - 20px);left:46%}}@media (width<=1099px){.contact-split,.contact-stage{min-height:auto}.contact-split{grid-template-columns:1fr}.contact-left,.contact-right{padding:clamp(1.75rem,4vw,2.5rem)}.contact-right{padding-top:clamp(2rem,5vw,3rem);padding-bottom:clamp(2.5rem,6vw,3.5rem)}.contact-form-card{width:min(34rem,100%);margin:-2rem auto 0;position:static;transform:none}.contact-info-list,.contact-left-heading,.contact-right-heading{max-width:none}}@media (width<=699px){.contact{padding-top:calc(70px + 1.5rem)}.contact-form-grid{grid-template-columns:1fr}.contact-form-card{width:100%;margin-top:-1.25rem}.contact-map-frame{min-height:14rem}}@media (prefers-reduced-motion:reduce){.contact-form-card,.contact-info-row,.contact-left-heading>*,.contact-right-heading>*{transition:none!important;animation:none!important}}@keyframes ctRise{0%{opacity:0;translate:0 24px}to{opacity:1;translate:0}}@keyframes ctRiseCard{0%{opacity:0;translate:0 32px}to{opacity:1;translate:0}}.contact-left-heading>*,.contact-right-heading>*,.contact-info-row,.contact-map-card{animation:.8s cubic-bezier(.215,.61,.355,1) both ctRise}.contact-form-card{animation:.9s cubic-bezier(.215,.61,.355,1) .15s both ctRiseCard}.contact-left-heading>:first-child{animation-delay:.25s}.contact-left-heading>:nth-child(2){animation-delay:.33s}.contact-left-heading>:nth-child(3){animation-delay:.41s}.contact-left-heading>:nth-child(4){animation-delay:.49s}.contact-info-row:first-child{animation-delay:.35s}.contact-info-row:nth-child(2){animation-delay:.45s}.contact-info-row:nth-child(3){animation-delay:.55s}.contact-info-row:nth-child(4){animation-delay:.65s}.contact-right-heading>:first-child{animation-delay:.3s}.contact-right-heading>:nth-child(2){animation-delay:.4s}.contact-right-heading>:nth-child(3){animation-delay:.5s}.contact-right-heading>:nth-child(4){animation-delay:.6s}.contact-map-card{animation-delay:.7s}@media (prefers-reduced-motion:reduce){.contact-left-heading>*,.contact-right-heading>*,.contact-info-row,.contact-map-card,.contact-form-card{animation:none}}.contact-form-card .form-error{color:#b42318;margin:.75rem 0 0;font-family:Raleway,sans-serif;font-size:.85rem}.contact-form-card .recaptcha-notice{margin-top:.75rem}.contact-field label span[aria-hidden]{color:#0f766e}.contact-info-value a{user-select:text}@media (width>=1200px){.contact-stage{background:linear-gradient(90deg, var(--ct-canvas) 50%, var(--ct-navy) 50%);grid-template-columns:minmax(0,1fr) min(34rem,38%) minmax(0,1fr);align-items:stretch;display:grid}.contact-split{display:contents}.contact-left{grid-area:1/1;padding:0 clamp(1.5rem,2.5vw,2.75rem) 2rem 0}.contact-right{grid-area:1/3;padding:clamp(1.75rem,3vw,2.5rem) clamp(1.5rem,2.5vw,2.5rem) 2rem clamp(1.5rem,2.5vw,2.75rem)}.contact-form-card{grid-area:1/2;align-self:center;width:100%;margin:2rem 0;position:relative;top:auto;left:auto;transform:none!important}.contact-info-list,.contact-left-heading,.contact-right-heading{max-width:none}}@media (width>=1100px) and (width<=1199px){.contact-split,.contact-stage{min-height:auto}.contact-split{grid-template-columns:1fr}.contact-left,.contact-right{padding:clamp(1.75rem,4vw,2.5rem)}.contact-form-card{width:min(34rem,100%);margin:-2rem auto 0;position:static;transform:none}.contact-info-list,.contact-left-heading,.contact-right-heading{max-width:none}}.contact-info-value a,.contact-info-value span{overflow-wrap:anywhere}@media (width<=1199px){.contact-form-card{margin:1.5rem auto 0!important}}
