:root{--parchment:#F6EFDF;--parchment-deep:#EFE4CD;--cream:#FCF8EF;--royal:#2A3B86;--royal-soft:#3E51A8;--gold:#E3A62A;--gold-soft:#F1C662;--brick:#B23A20;--sage:#5F7E56;--ink:#221F2E;--ink-soft:#4A4658;--line:#E2D6BD;--shadow:rgba(42,59,134,.10);--radius:18px}*{box-sizing:border-box}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}body{margin:0;font-family:nunito,system-ui,sans-serif;color:var(--ink);background:var(--parchment);line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:fraunces,Georgia,serif;font-weight:600;line-height:1.08;color:var(--royal);margin:0}a{color:inherit}img{max-width:100%;display:block}.wrap{max-width:1120px;margin:0 auto;padding:0 24px}.eyebrow{font-family:nunito;font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-size:.72rem;color:var(--brick);display:inline-flex;align-items:center;gap:.5em;margin:0 0 .8rem}.eyebrow::before{content:"";width:26px;height:2px;background:var(--gold);display:inline-block}.ph{background:repeating-linear-gradient(45deg,#efe4cd 0 12px,#f3ebd8 12px 24px);border:1px dashed #cdbc96;border-radius:14px;display:grid;place-items:center;text-align:center;color:#8a7a55;font-weight:700;font-size:.82rem;padding:16px;min-height:150px}.ph small{display:block;font-weight:600;color:#a2946f;margin-top:4px;font-size:.72rem}.topbar{position:sticky;top:0;z-index:50;background:var(--royal);color:#fff;border-bottom:3px solid var(--gold)}.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 24px}.brand{display:flex;align-items:center;gap:12px;font-family:fraunces;font-weight:600;font-size:1.28rem;color:#fff;text-decoration:none}.brand .crest{height:52px;width:auto;flex:none}nav.main{display:flex;gap:24px;align-items:center}nav.main a{color:#f3edd9;text-decoration:none;font-weight:700;font-size:.95rem;position:relative}nav.main a:hover{color:#fff}nav.main a::after{content:"";position:absolute;left:0;bottom:-4px;height:2px;width:0;background:var(--gold);transition:width .2s}nav.main a:hover::after{width:100%}.cta{display:inline-block;background:var(--gold);color:var(--ink);text-decoration:none;font-weight:800;padding:10px 20px;border-radius:999px;font-size:.92rem;box-shadow:0 3px #b8831b;transition:transform .12s;white-space:nowrap}.cta:hover{transform:translateY(-1px)}.cta.brick{background:var(--brick);color:#fff;box-shadow:0 3px #7f2814}.menu-btn{display:none;background:0 0;border:0;color:#fff;cursor:pointer;padding:6px}.menu-btn svg{width:28px;height:28px}.mobile-nav{display:none;flex-direction:column;background:var(--royal-soft)}.mobile-nav a{color:#fff;text-decoration:none;font-weight:700;padding:14px 24px;border-bottom:1px solid rgba(255,255,255,.1)}.mobile-nav.open{display:flex}.bunting{height:26px;overflow:hidden}.bunting svg{width:100%;height:26px;display:block}.hero{position:relative;background:radial-gradient(circle at 12% 18%,#fff7e6 0,transparent 42%),radial-gradient(circle at 88% 8%,#fdeecf 0,transparent 40%),var(--parchment);overflow:hidden}.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;padding:64px 24px 72px}.hero-copy h1{font-size:clamp(2.7rem,6vw,4.4rem);letter-spacing:-.015em}.hero-copy h1 .grow{color:var(--brick)}.tagline{font-family:fraunces;font-style:italic;font-weight:500;font-size:1.35rem;color:var(--gold);margin:.4rem 0 1.3rem}.lead{font-size:1.13rem;color:var(--ink-soft);max-width:36ch;margin:0 0 1.9rem}.hero-cta{display:flex;gap:14px;flex-wrap:wrap;align-items:center}.phone-inline{font-weight:800;color:var(--royal);text-decoration:none;font-size:1.02rem;display:inline-flex;align-items:center;gap:8px}.phone-inline svg{width:18px;height:18px;fill:var(--brick)}.hero-art{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}.hero-art .logo-plate{background:#fff;border-radius:28px;padding:28px;box-shadow:0 20px 40px var(--shadow);border:1px solid var(--line)}.hero-art img.logo-big{width:100%;max-width:300px;filter:drop-shadow(0 10px 18px rgba(0,0,0,8%))}.hero-art .recognize{font-size:.86rem;color:var(--ink-soft);text-align:center;max-width:260px;font-weight:700}.float{animation:bob 6s ease-in-out infinite}@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}.facts{background:var(--royal);color:#fff}.facts .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:26px 24px;text-align:center}.fact b{font-family:fraunces;font-size:1.5rem;color:var(--gold-soft);font-weight:600;display:block}.fact span{font-size:.9rem;color:#e7e1cf;font-weight:600}.fact+.fact{border-left:1px solid rgba(255,255,255,.16)}section.block{padding:80px 0}section.block.tint{background:var(--cream);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section-head{max-width:660px;margin-bottom:44px}.section-head h2{font-size:clamp(2rem,4vw,2.7rem)}.section-head p{font-size:1.08rem;color:var(--ink-soft);margin:.9rem 0 0}.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.pillar{background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:0 6px 18px var(--shadow)}section.tint .pillar{background:#fff}.pillar .ic{width:46px;height:46px;border-radius:12px;background:var(--parchment-deep);display:grid;place-items:center;margin-bottom:16px}.pillar .ic svg{width:26px;height:26px;stroke:var(--royal);fill:none;stroke-width:1.8}.pillar h3{font-size:1.28rem;margin-bottom:6px}.pillar p{margin:0;color:var(--ink-soft);font-size:.98rem}.shields{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.shield{text-align:center;background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);padding:20px 18px 24px;box-shadow:0 6px 18px var(--shadow)}.shield .roomphoto{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;margin-bottom:14px;box-shadow:0 6px 14px var(--shadow)}.shield .badge{width:64px;margin:-40px auto 10px;position:relative}.shield .badge svg{width:100%;filter:drop-shadow(0 6px 10px var(--shadow))}.shield h3{font-size:1.2rem}.shield .age{font-weight:800;color:var(--brick);font-size:.78rem;letter-spacing:.03em;text-transform:uppercase;margin:2px 0 0}.shield p{font-size:.94rem;color:var(--ink-soft);margin:.5rem 0 0}.shield .status{display:inline-block;margin-top:10px;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:3px 10px;border-radius:99px;background:#fbe9e4;color:var(--brick)}.badge .initial{font-family:fraunces;font-weight:700;font-size:1.6rem;fill:#fff}.staff-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.person{background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 6px 18px var(--shadow)}.person .photo{aspect-ratio:1/1;display:grid;place-items:center;background:radial-gradient(circle at 50% 35%,var(--gold-soft),var(--gold));position:relative;overflow:hidden}.person .photo img{width:100%;height:100%;object-fit:cover}.person .photo .mono{font-family:fraunces;font-weight:700;font-size:3rem;color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.18)}.person .body{padding:16px 16px 20px}.person h3{font-size:1.16rem}.person .role{color:var(--brick);font-weight:800;font-size:.76rem;text-transform:uppercase;letter-spacing:.04em;margin:2px 0 8px}.person p{margin:0;font-size:.9rem;color:var(--ink-soft)}.cms-note{margin-top:26px;background:#fff;border:1px dashed var(--royal-soft);border-radius:14px;padding:16px 20px;font-size:.92rem;color:var(--ink-soft);display:flex;gap:12px;align-items:flex-start}.cms-note svg{width:22px;height:22px;flex:none;stroke:var(--royal);fill:none;stroke-width:1.8;margin-top:2px}.media-row{display:grid;grid-template-columns:1.2fr 1fr;gap:30px;align-items:center}.faq{max-width:820px}details{background:var(--cream);border:1px solid var(--line);border-radius:14px;margin-bottom:12px;overflow:hidden;box-shadow:0 4px 12px var(--shadow)}section.tint details{background:#fff}details summary{cursor:pointer;list-style:none;padding:18px 22px;font-family:fraunces;font-weight:600;font-size:1.1rem;color:var(--royal);display:flex;justify-content:space-between;align-items:center;gap:14px}details summary::-webkit-details-marker{display:none}details summary .plus{width:22px;height:22px;flex:none;position:relative}details summary .plus::before,details summary .plus::after{content:"";position:absolute;background:var(--brick);border-radius:2px}details summary .plus::before{top:10px;left:2px;width:18px;height:2px}details summary .plus::after{top:2px;left:10px;width:2px;height:18px;transition:transform .2s}details[open] summary .plus::after{transform:rotate(90deg);opacity:0}details .answer{padding:0 22px 20px;color:var(--ink-soft);font-size:.98rem}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}.contact-card{background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);padding:30px;box-shadow:0 6px 18px var(--shadow)}.contact-card h3{font-size:1.5rem;margin-bottom:14px}.info-row{display:flex;gap:12px;align-items:flex-start;padding:11px 0;border-bottom:1px solid var(--line)}.info-row:last-child{border-bottom:0}.info-row svg{width:20px;height:20px;flex:none;stroke:var(--brick);fill:none;stroke-width:1.8;margin-top:3px}.info-row a{color:var(--royal);font-weight:700;text-decoration:none}.info-row .lbl{font-weight:800;color:var(--ink);display:block}.map-embed{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);box-shadow:0 6px 18px var(--shadow);min-height:360px}.map-embed iframe{width:100%;height:100%;min-height:360px;border:0;display:block}.serving{margin-top:34px;text-align:center;font-size:.98rem;color:var(--ink-soft)}.serving b{color:var(--royal)}footer{background:var(--royal);color:#efe9d7;padding:44px 0 30px;border-top:4px solid var(--gold)}footer .wrap{display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;align-items:center}footer .brand{color:#fff}footer .foot-links{display:flex;gap:22px;flex-wrap:wrap}footer .foot-links a{color:#efe9d7;text-decoration:none;font-weight:600;font-size:.94rem}footer .copy{width:100%;border-top:1px solid rgba(255,255,255,.15);margin-top:8px;padding-top:18px;font-size:.84rem;color:#c9c2ad}.banner-note{background:var(--gold-soft);color:#4a3a0d;text-align:center;font-weight:800;font-size:.86rem;padding:10px 16px}@media(max-width:900px){nav.main{display:none}.menu-btn{display:block}.topbar .cta{display:none}.hero .wrap{grid-template-columns:1fr;gap:32px;text-align:center;padding:44px 24px 52px}.lead{margin-left:auto;margin-right:auto}.hero-cta{justify-content:center}.hero-art{order:-1}.pillars{grid-template-columns:1fr}.shields{grid-template-columns:repeat(2,1fr)}.staff-grid{grid-template-columns:repeat(2,1fr)}.facts .wrap{grid-template-columns:1fr;gap:14px}.fact+.fact{border-left:0;border-top:1px solid rgba(255,255,255,.16);padding-top:12px}.contact-grid,.media-row{grid-template-columns:1fr}}@media(max-width:520px){.shields{grid-template-columns:1fr}.staff-grid{grid-template-columns:1fr}}.tour-form-wrap{margin-top:2.2rem;background:var(--paper,#fffdf6);border:1px solid #e6dcc2;border-radius:16px;padding:1.6rem 1.5rem 1.8rem}.tour-form-wrap h3{font-family:fraunces,serif;font-size:1.4rem;color:var(--navy,#2A3B86);margin:0 0 .3rem}.tour-form-note{color:var(--ink-soft,#5c5647);font-size:.92rem;margin:0 0 1.2rem}.tour-form{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem 1.1rem}.tour-form .field{display:flex;flex-direction:column;gap:.35rem}.tour-form .field-wide{grid-column:1/-1}.tour-form label{font-weight:700;font-size:.86rem;color:var(--navy,#2A3B86);letter-spacing:.01em}.tour-form label span{color:var(--brick,#B23A20)}.tour-form input,.tour-form textarea{font:inherit;font-size:.98rem;padding:.62rem .7rem;border:1px solid #d9cdae;border-radius:9px;background:#fff;color:inherit}.tour-form input:focus-visible,.tour-form textarea:focus-visible{outline:3px solid rgba(42,59,134,.35);outline-offset:1px;border-color:var(--navy,#2A3B86)}.tour-form textarea{resize:vertical}.form-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.tour-form button[type=submit]{border:0;cursor:pointer}.tour-form button[disabled]{opacity:.6;cursor:progress}.form-status{margin:0;font-size:.92rem;font-weight:600}.form-status.ok{color:#3f6b34}.form-status.err{color:var(--brick,#B23A20)}.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}@media(max-width:640px){.tour-form{grid-template-columns:1fr}}img{height:auto}.map-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;text-align:center;padding:2rem 1.5rem;text-decoration:none;background:linear-gradient(160deg,#fffdf6,#f3ecdb);transition:box-shadow .18s ease,transform .18s ease}.map-card:hover,.map-card:focus-visible{box-shadow:0 12px 26px var(--shadow);transform:translateY(-2px)}.map-card svg{width:44px;height:44px;fill:none;stroke:var(--brick,#B23A20);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;margin-bottom:.3rem}.map-card-title{font-family:fraunces,serif;font-size:1.25rem;color:var(--navy,#2A3B86);font-weight:600}.map-card-address{color:var(--ink-soft,#5c5647);font-size:1rem}.map-card-cta{margin-top:.6rem;font-weight:800;color:var(--brick,#B23A20);font-size:.95rem;letter-spacing:.01em}.id-request{border:2px dashed #c9b98f;border-radius:var(--radius,16px);padding:2rem 1.8rem;background:#fffdf6}.id-request h2{margin:.2rem 0 0}.id-request-lead{color:var(--ink-soft,#5c5647);max-width:62ch;margin:.9rem 0 0}.id-grid{list-style:none;margin:1.8rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1.2rem}.id-card{position:relative;display:flex;flex-direction:column}.id-card img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:12px;border:1px solid var(--line,#e6dcc2);box-shadow:0 6px 14px var(--shadow,rgba(0,0,0,8%))}.id-number{position:absolute;top:-10px;left:-10px;z-index:1;width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--brick,#B23A20);color:#fff;font-family:fraunces,serif;font-size:1.15rem;font-weight:700;box-shadow:0 3px 8px rgba(0,0,0,.25)}.id-caption{margin-top:.5rem;font-weight:700;color:var(--navy,#2A3B86);font-size:.92rem;display:flex;flex-direction:column;gap:.1rem}.id-caption small{font-weight:500;color:var(--ink-soft,#5c5647);font-size:.78rem}