:root{
  --ink:#10253d;
  --muted:#5f7084;
  --blue:#144f8f;
  --blue-deep:#0d3562;
  --blue-soft:#eaf3f8;
  --aqua:#62a6bd;
  --gold:#f3c532;
  --gold-deep:#c79b00;
  --cream:#fbf8ef;
  --line:#dce6ee;
  --white:#fff;
  --shadow:0 20px 60px rgba(16,37,61,.12);
  --radius:28px;
  --container:min(1180px, calc(100% - 40px));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
.container{width:var(--container);margin-inline:auto}
.skip-link{position:absolute;left:-9999px;top:10px;z-index:999;padding:10px 14px;background:#fff;border-radius:8px;box-shadow:var(--shadow)}
.skip-link:focus{left:10px}
.topbar{background:var(--blue-deep);color:#dcecff;font-size:.88rem}
.topbar-inner{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.topbar a{color:#fff;font-weight:700}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(220,230,238,.85)}
.nav-wrap{height:86px;display:flex;align-items:center;justify-content:space-between;gap:34px}
.brand{width:min(390px,44vw);flex:0 1 auto}
.site-nav{display:flex;align-items:center;gap:27px;font-size:.95rem;font-weight:700}
.site-nav>a:not(.nav-cta){position:relative}
.site-nav>a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:2px;background:var(--gold);transition:right .22s ease}
.site-nav>a:not(.nav-cta):hover::after{right:0}
.nav-cta{padding:12px 18px;background:var(--ink);color:#fff;border-radius:999px}
.menu-toggle{display:none;border:0;background:transparent;padding:8px;cursor:pointer}
.menu-toggle span{display:block;width:26px;height:2px;background:var(--ink);margin:5px 0;border-radius:2px}
.eyebrow{margin:0 0 12px;color:var(--blue);font-size:.78rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#f8fcff 0%,#eef6fa 56%,#fbf8ef 100%);padding:86px 0 74px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(350px,.7fr);gap:74px;align-items:center;position:relative;z-index:2}
.hero h1,.section h2,.location-section h2,.final-cta h2{font-family:Georgia,"Times New Roman",serif;letter-spacing:-.035em;line-height:1.03}
.hero h1{font-size:clamp(3.25rem,7vw,6.2rem);margin:0 0 24px;max-width:850px}
.hero h1 span{color:var(--blue)}
.hero-lede{font-size:1.17rem;max-width:660px;color:var(--muted);margin:0 0 30px}
.hero-actions,.location-actions,.final-actions{display:flex;flex-wrap:wrap;gap:12px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border-radius:999px;font-weight:850;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.button:hover{transform:translateY(-2px)}
.button-primary{background:var(--blue);color:#fff;box-shadow:0 10px 24px rgba(20,79,143,.22)}
.button-primary:hover{background:var(--blue-deep)}
.button-secondary{border:1px solid #a6bdce;background:rgba(255,255,255,.55);color:var(--ink)}
.quick-info{display:grid;grid-template-columns:repeat(3,1fr);margin-top:46px;border-top:1px solid #cadbe6;padding-top:24px;gap:20px}
.quick-info div{display:grid;gap:2px}
.quick-info strong{font-size:.93rem}
.quick-info span{color:var(--muted);font-size:.9rem}
.hero-card{background:#fff;border:1px solid #d8e7ef;border-radius:34px;padding:34px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.hero-card::before{content:"";position:absolute;inset:auto -50px -80px auto;width:190px;height:190px;border-radius:50%;background:var(--gold);opacity:.12}
.hero-mark-wrap{width:92px;height:92px;border-radius:26px;box-shadow:0 10px 30px rgba(16,37,61,.10);margin-bottom:24px;overflow:hidden}
.hero-mark{width:100%;height:100%}
.status{display:flex;align-items:center;gap:9px;margin:0 0 18px;color:var(--muted);font-weight:750;font-size:.88rem}
.status-dot{width:10px;height:10px;border-radius:50%;background:#96a6b3;box-shadow:0 0 0 4px rgba(150,166,179,.12)}
.status.open .status-dot{background:#2f9e62;box-shadow:0 0 0 4px rgba(47,158,98,.12)}
.status.closed .status-dot{background:#d07158;box-shadow:0 0 0 4px rgba(208,113,88,.12)}
.hero-card h2{font-family:Georgia,"Times New Roman",serif;font-size:2rem;line-height:1.08;margin:0 0 12px}
.hero-card p{color:var(--muted)}
.mini-rule{height:1px;background:var(--line);margin:26px 0 22px}
.small-label{font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.15em;color:var(--blue)!important;margin:0 0 6px!important}
.compact{font-size:.92rem;line-height:1.55}
.text-link{display:inline-flex;gap:8px;align-items:center;color:var(--blue);font-weight:850;margin-top:8px}
.hero-orb{position:absolute;border-radius:50%;filter:blur(1px);opacity:.35}
.orb-one{width:330px;height:330px;right:-80px;top:-120px;background:radial-gradient(circle,var(--gold),transparent 68%)}
.orb-two{width:410px;height:410px;left:-190px;bottom:-230px;background:radial-gradient(circle,var(--aqua),transparent 70%)}
.trust-strip{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.trust-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.trust-grid>div{display:flex;align-items:center;gap:18px;padding:27px 30px;border-right:1px solid var(--line)}
.trust-grid>div:first-child{padding-left:0}
.trust-grid>div:last-child{border-right:0;padding-right:0}
.trust-icon{width:46px;height:46px;border-radius:50%;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;font-weight:900;font-size:.8rem;flex:none}
.trust-grid p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.45}
.trust-grid strong{color:var(--ink);font-size:1rem}
.section{padding:98px 0}
.section-soft{background:var(--cream)}
.section-heading{margin-bottom:48px}
.split-heading{display:grid;grid-template-columns:1.1fr .8fr;gap:80px;align-items:end}
.section-heading h2,.section h2{font-size:clamp(2.45rem,5vw,4.4rem);margin:0}
.split-heading>p,.section-lede{color:var(--muted);font-size:1.05rem;margin:0}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.service-card{border:1px solid var(--line);border-radius:var(--radius);padding:32px;background:#fff;min-height:315px;display:flex;flex-direction:column;align-items:flex-start}
.service-card h3{font-family:Georgia,"Times New Roman",serif;font-size:1.7rem;margin:26px 0 10px}
.service-card p{color:var(--muted);margin:0}
.featured-card{background:var(--blue);color:#fff;border-color:var(--blue)}
.featured-card p{color:#dcecff}
.service-icon{width:62px;height:62px;border-radius:20px;background:var(--blue-soft);display:grid;place-items:center}
.featured-card .service-icon{background:rgba(255,255,255,.13)}
.service-icon svg{width:33px;height:33px;fill:none;stroke:var(--blue);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.featured-card .service-icon svg{stroke:#fff}
.visit-grid{display:grid;grid-template-columns:1fr .8fr;gap:70px;align-items:start}
.hours-panel{margin-top:34px;border-top:1px solid #d9d3c5}
.hours-row{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid #e4ded1;color:#776f61}
.hours-row strong{color:var(--ink)}
.hours-row.highlight span,.hours-row.highlight strong{color:var(--blue)}
.bring-card{background:var(--ink);color:#fff;border-radius:32px;padding:38px;box-shadow:0 26px 58px rgba(16,37,61,.18)}
.bring-card .small-label{color:var(--gold)!important}
.bring-card h3{font-family:Georgia,"Times New Roman",serif;font-size:2.3rem;margin:5px 0 24px}
.check-list{list-style:none;padding:0;margin:0;display:grid;gap:15px}
.check-list li{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start;color:#e4edf5}
.check-list li span{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:rgba(243,197,50,.16);color:var(--gold);font-weight:900;font-size:.8rem}
.note{margin:28px 0;color:#b8c8d8;font-size:.9rem;border-top:1px solid rgba(255,255,255,.12);padding-top:22px}
.button-dark{background:#fff;color:var(--ink)}
.story-grid{display:grid;grid-template-columns:.85fr 1.1fr;gap:86px;align-items:center}
.story-visual{min-height:520px;position:relative}
.story-frame{position:absolute;border-radius:34px;box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:flex-end;padding:34px}
.frame-one{inset:0 25% 23% 0;background:linear-gradient(135deg,var(--blue),var(--blue-deep));color:#fff}
.frame-two{inset:31% 0 0 42%;background:var(--gold);color:var(--ink)}
.story-number{font-family:Georgia,"Times New Roman",serif;font-size:8rem;line-height:.8}
.frame-one>span:last-child{font-size:1.08rem;font-weight:800;margin-top:16px}
.frame-two svg{width:120px;height:120px;fill:none;stroke:var(--ink);stroke-width:3;margin-bottom:auto}
.frame-two span{font-weight:900;font-size:1.08rem}
.story-copy>p:not(.eyebrow){color:var(--muted);font-size:1.04rem}
.values-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:34px;padding-top:25px;border-top:1px solid var(--line)}
.values-row div{display:grid;gap:4px}
.values-row strong{font-family:Georgia,"Times New Roman",serif;font-size:1.2rem}
.values-row span{color:var(--muted);font-size:.83rem}
.location-section{padding:95px 0;background:var(--blue-deep);color:#fff}
.location-grid{display:grid;grid-template-columns:.8fr 1.15fr;gap:55px;align-items:center}
.light-eyebrow{color:var(--gold)}
.location-section h2{font-size:clamp(2.6rem,5vw,4.4rem);margin:0 0 26px}
.location-section address{font-style:normal;color:#d8e5f1;font-size:1.05rem;margin-bottom:26px}
.location-section address strong{color:#fff}
.contact-links{display:grid;gap:12px;margin-bottom:30px}
.contact-links a{display:grid;gap:1px}
.contact-links span{font-size:.76rem;text-transform:uppercase;letter-spacing:.14em;color:#91abc4;font-weight:800}
.contact-links strong{overflow-wrap:anywhere}
.button-gold{background:var(--gold);color:var(--ink)}
.button-ghost{border:1px solid rgba(255,255,255,.35);color:#fff}
.map-card{border-radius:32px;overflow:hidden;min-height:470px;border:7px solid rgba(255,255,255,.1);box-shadow:0 25px 55px rgba(0,0,0,.18)}
.map-card iframe{border:0;width:100%;height:470px;display:block;filter:saturate(.8) contrast(.96)}
.centered{text-align:center;max-width:760px;margin:0 auto 48px}
.faq-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.faq-grid details{border:1px solid var(--line);border-radius:20px;padding:22px 24px;background:#fff}
.faq-grid summary{cursor:pointer;font-weight:850;list-style:none;display:flex;justify-content:space-between;gap:14px}
.faq-grid summary::-webkit-details-marker{display:none}
.faq-grid summary::after{content:"+";color:var(--blue);font-size:1.3rem;line-height:1}
.faq-grid details[open] summary::after{content:"–"}
.faq-grid p{color:var(--muted);margin:14px 0 0}
.final-cta{background:linear-gradient(115deg,#e9f3f8,#f8f5e8);padding:65px 0}
.final-cta-inner{display:flex;justify-content:space-between;gap:40px;align-items:center}
.final-cta h2{font-size:clamp(2.5rem,5vw,4.3rem);margin:0}
.white-secondary{background:#fff}
.site-footer{background:#0a1d31;color:#b9cad8;padding:62px 0 22px}
.footer-grid{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:42px;padding-bottom:48px}
.footer-brand img{filter:brightness(0) invert(1);opacity:.94;margin-bottom:18px}
.footer-brand p{max-width:360px}
.site-footer h3{color:#fff;font-size:.86rem;text-transform:uppercase;letter-spacing:.13em;margin:0 0 13px}
.site-footer p{margin:0;font-size:.9rem}
.site-footer a:hover{color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:.82rem}
@media (max-width:980px){
  .brand{width:min(330px,60vw)}
  .menu-toggle{display:block}
  .site-nav{position:absolute;left:20px;right:20px;top:76px;display:none;flex-direction:column;align-items:stretch;gap:4px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}
  .site-nav.open{display:flex}
  .site-nav a{padding:12px 14px}
  .site-nav>a:not(.nav-cta)::after{display:none}
  .nav-cta{text-align:center}
  .hero-grid,.visit-grid,.story-grid,.location-grid{grid-template-columns:1fr}
  .hero-grid{gap:46px}
  .hero-card{max-width:650px}
  .quick-info{grid-template-columns:repeat(3,1fr)}
  .split-heading{grid-template-columns:1fr;gap:18px}
  .service-grid{grid-template-columns:1fr 1fr}.service-card:last-child{grid-column:1/-1}
  .story-visual{max-width:640px;width:100%;min-height:460px}
  .location-grid{gap:45px}
  .footer-grid{grid-template-columns:1.4fr 1fr 1fr}.footer-grid>div:last-child{grid-column:2/-1}
}
@media (max-width:700px){
  :root{--container:min(100% - 26px,1180px)}
  .topbar-inner{justify-content:center;text-align:center;min-height:42px}.topbar-inner span{display:none}
  .nav-wrap{height:74px}.brand{width:min(295px,72vw)}
  .hero{padding:58px 0 54px}.hero h1{font-size:clamp(3rem,15vw,4.7rem)}
  .hero-lede{font-size:1.04rem}
  .quick-info{grid-template-columns:1fr;gap:10px}.quick-info div{grid-template-columns:100px 1fr;gap:10px}
  .hero-card{padding:28px}
  .trust-grid{grid-template-columns:1fr}.trust-grid>div{border-right:0;border-bottom:1px solid var(--line);padding:18px 0}.trust-grid>div:last-child{border-bottom:0}
  .section{padding:72px 0}
  .service-grid{grid-template-columns:1fr}.service-card:last-child{grid-column:auto}
  .hours-row{align-items:flex-start;flex-direction:column;gap:2px}
  .bring-card{padding:28px}
  .story-visual{min-height:420px}.frame-one{inset:0 18% 27% 0}.frame-two{inset:38% 0 0 34%}.story-number{font-size:6rem}
  .values-row{grid-template-columns:1fr;gap:16px}
  .map-card,.map-card iframe{min-height:360px;height:360px}
  .faq-grid{grid-template-columns:1fr}
  .final-cta-inner{align-items:flex-start;flex-direction:column}
  .footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-grid>div:last-child{grid-column:auto}
  .footer-bottom{flex-direction:column}
}
@media (max-width:460px){
  .hero-actions,.location-actions,.final-actions{display:grid;grid-template-columns:1fr;width:100%}.button{width:100%}
  .frame-one{inset:0 8% 33% 0}.frame-two{inset:46% 0 0 25%;padding:24px}.frame-two svg{width:90px;height:90px}
  .footer-grid{grid-template-columns:1fr}.footer-brand,.footer-grid>div:last-child{grid-column:auto}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
