:root{color-scheme:light;--cream:#fbf6eb;--navy:#17264b;--violet:#8153aa;--ocean:#438fb2;--muted:#5f6573}
*{box-sizing:border-box}
html{min-width:320px;background:var(--cream)}
body{margin:0;color:var(--navy);background:var(--cream);font-family:"DM Sans",Arial,sans-serif;-webkit-font-smoothing:antialiased;min-height:100svh;display:flex;flex-direction:column}
.masthead{width:min(1320px,100%);margin:0 auto;padding:29px 60px;display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid rgba(23,38,75,.12)}
.brand-name{font-family:Fraunces,Georgia,serif;font-size:23px;letter-spacing:-.7px;font-weight:600;white-space:nowrap}
.brand-name>span{font:500 10px "DM Sans",Arial,sans-serif;letter-spacing:2.1px;text-transform:uppercase;margin-left:10px}
.status{display:flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.3px;color:#5e626d}
.status>span{height:7px;width:7px;background:var(--violet);border-radius:50%;box-shadow:0 0 0 4px #8153aa12;flex:none}
main{flex:1;display:flex;flex-direction:column}
.hero{width:min(1320px,100%);margin:auto;display:grid;grid-template-columns:1.03fr 1fr;align-items:center;gap:22px;padding:60px 60px 25px;min-height:600px}
.hero-copy{position:relative;z-index:1;padding-bottom:20px}
.eyebrow{margin:0 0 28px;display:inline-block;border:1px solid #8153aa50;border-radius:30px;padding:9px 17px;color:#704793;font-weight:700;font-size:10px;letter-spacing:2.3px;background:#efe6f3}
h1{font:500 clamp(56px,6.65vw,91px)/1.06 Fraunces,Georgia,serif;letter-spacing:-4px;margin:0 0 25px;max-width:670px}
h1 em{font-weight:500;color:var(--violet)}
.intro{max-width:370px;margin:0;font-size:16px;line-height:1.8;color:#515a6d}
.opening{margin:28px 0 0;display:flex;gap:13px;align-items:center;font-size:12px;font-weight:500;letter-spacing:.15px;color:var(--navy)}
.opening>span{width:25px;height:2px;background:var(--ocean);flex:none}
.visit-details{margin:16px 0 0;padding-left:38px;font-size:13px;line-height:1.65;font-style:normal;color:var(--muted)}
.visit-details p{margin:0 0 7px}
.visit-details a{color:var(--navy);font-weight:500;text-decoration:underline;text-underline-offset:4px;text-decoration-color:#8153aa80}
.visit-details a:hover{color:var(--violet)}
.visit-details a:focus-visible{outline:2px solid var(--violet);outline-offset:5px;border-radius:2px}
.logo-stage{position:relative;min-width:0;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:24px 5px 0;isolation:isolate}
.halo{position:absolute;z-index:-1;left:5%;right:5%;top:0;bottom:30px;border-radius:49% 49% 43% 43%;background:radial-gradient(ellipse at 50% 46%,#f7edf6 3%,#eee2f2 63%,#e9dcef 100%);transform:rotate(5deg)}
.halo:after{content:"";position:absolute;inset:-13px 9px 9px -12px;border:1px solid #8153aa26;border-radius:49% 49% 43% 43%;transform:rotate(-11deg)}
.logo{width:100%;max-width:470px;display:block;height:auto;object-fit:contain;filter:drop-shadow(0 14px 16px rgba(35,26,60,.08))}
.logo-caption{margin:24px 0 0;font-size:9px;letter-spacing:3.2px;font-weight:600;color:#79658b}
.shoreline{height:100px;flex:none;overflow:hidden;margin-top:22px}
.shoreline svg{display:block;width:100%;height:100%}
footer{background:var(--navy);color:var(--cream);padding:11px max(60px,calc((100vw - 1200px)/2)) 30px;display:flex;justify-content:space-between;align-items:center;gap:22px}
footer p{font:500 25px Fraunces,Georgia,serif;letter-spacing:-.6px;margin:0}
footer em{color:#d9c1ec;font-weight:500}
.domain{font-size:11px;letter-spacing:.8px;color:#e0e2eb;overflow-wrap:anywhere}
.footer-details{display:flex;flex-direction:column;gap:6px;text-align:right;min-width:0}
.contact-email{color:var(--cream);font-size:12px;line-height:1.7;text-decoration:underline;text-underline-offset:4px;text-decoration-color:#bb94d2;overflow-wrap:anywhere}
.contact-email:hover{color:#e5c8f5}
.contact-email:focus-visible{outline:2px solid #e5c8f5;outline-offset:5px;border-radius:2px}
@media(max-width:700px){.footer-details{text-align:center}.contact-email{font-size:11px}.visit-details{padding-left:0;font-size:12px;margin-top:14px}}
@media(min-width:1450px){.hero{min-height:660px}}
@media(max-width:1000px){.masthead{padding:23px 36px}.hero{padding:50px 36px 20px;gap:20px;min-height:560px}h1{letter-spacing:-3px}.logo-caption{letter-spacing:2.2px}.intro{font-size:15px}.status{font-size:10px}footer{padding-left:36px;padding-right:36px}}
@media(max-width:700px){.masthead{padding:20px 24px;justify-content:center}.brand-name{font-size:22px}.status{display:none}.brand-name>span{font-size:9px}.hero{grid-template-columns:1fr;min-height:0;gap:32px;padding:35px 25px 9px;text-align:center}.logo-stage{grid-row:1;width:min(310px,84vw);justify-self:center;padding-top:8px}.logo{max-width:285px}.halo{bottom:27px}.logo-caption{font-size:8px;margin-top:13px;letter-spacing:2.5px}.hero-copy{padding:0;display:flex;flex-direction:column;align-items:center}.eyebrow{font-size:9px;padding:8px 14px;margin-bottom:17px}h1{font-size:clamp(44px,10.7vw,65px);line-height:1.08;letter-spacing:-2.1px;margin-bottom:18px;max-width:460px}.intro{font-size:14px;line-height:1.75;max-width:330px}.opening{font-size:11px;margin-top:22px;gap:10px}.shoreline{height:66px;margin-top:30px}footer{flex-direction:column;text-align:center;gap:13px;padding:9px 24px 25px}footer p{font-size:22px}.domain{font-size:10px;letter-spacing:.6px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}