@font-face{font-family:Bebas;src:url('../fonts/bebas-neue-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url('../fonts/inter-var.woff2') format('woff2');font-weight:400 700;font-display:swap}
:root{--paper:#f6f4ee;--ink:#191917;--muted:#595953;--red:#b32924;--gold:#d4b675;--line:#d9d6cd;--gutter:clamp(20px,4vw,64px);--display:Bebas,Impact,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,'Segoe UI',sans-serif;font-size:16px;line-height:1.7}html{scroll-behavior:smooth;scroll-padding-top:108px}::selection{background:#e9c8a5;color:var(--ink)}[hidden]{display:none!important}img{display:block;max-width:100%;height:auto}a{color:inherit;text-underline-offset:5px}button{font:inherit}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400;line-height:1.05}h1,h2{font-family:var(--display);letter-spacing:.01em}h2{font-size:clamp(2.8rem,4.9vw,4.7rem)}h3{font-size:1.4rem;font-weight:600;line-height:1.25}p+p{margin-top:20px}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #246bc1;outline-offset:5px}main:focus{outline:none}.container{width:100%;max-width:1400px;margin-inline:auto;padding-inline:var(--gutter)}.section{padding-block:100px}section[id],#fees{scroll-margin-top:24px}.eyebrow{font-size:.73rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;line-height:1.6;margin-bottom:24px}.serif{font-family:Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.045em;text-transform:none;font-size:.9em}.muted,.small{color:var(--muted)}.small{font-size:.8rem}.skip{position:fixed;top:10px;left:20px;background:white;padding:12px 20px;z-index:100;transform:translateY(-150%)}.skip:focus{transform:none}.announcement{text-align:center;background:var(--ink);color:#eee9de;padding:9px 20px;font-size:.73rem;letter-spacing:.02em}.announcement>span{padding-inline:12px;color:var(--gold)}.announcement a{margin-left:12px;color:#f2dcae;font-weight:600}.announcement a span{margin-left:6px}header{position:sticky;top:0;z-index:20;background:var(--paper);border-bottom:1px solid var(--line)}.navigation{display:flex;align-items:center;gap:28px;min-height:88px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0}.brand img{width:48px;height:48px}.brand>span{font-family:var(--display);font-size:1.55rem;letter-spacing:.05em;line-height:1.15}.brand small{display:block;font-family:Inter,sans-serif;font-size:.54rem;letter-spacing:.12em;font-weight:600;margin-top:5px}.nav-links{display:flex;gap:24px;margin-left:auto}.nav-links a{font-size:.79rem;text-decoration:none;font-weight:600;padding-block:14px}.nav-links a:hover{color:var(--red)}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:52px;padding:14px 23px;background:var(--red);color:white;font-size:.82rem;font-weight:600;text-decoration:none;border:1px solid transparent;transition:background .18s}.button:hover{background:#8c211d}.button span{font-size:1.15rem;line-height:1}.nav-trial{min-height:44px;padding:10px 18px;gap:16px}.menu-toggle{display:none;border:1px solid var(--line);background:transparent;padding:10px 14px;min-height:44px;margin-left:auto;font-size:.85rem}.menu-toggle span{margin-left:8px}.mobile-menu{padding-block:12px 24px;max-height:calc(100dvh - 88px);overflow-y:auto}.mobile-menu a{display:block;padding:12px 0;border-bottom:1px solid var(--line);text-decoration:none}.hero{display:grid;grid-template-columns:.88fr 1.12fr;align-items:center;gap:50px;padding-block:64px 76px}.hero h1{font-size:clamp(4.7rem,7.4vw,7.5rem);line-height:.91;letter-spacing:-.015em;margin-bottom:28px}.hero h1>span{color:var(--red)}.hero .eyebrow{display:flex;align-items:center;gap:12px}.red-line{width:27px;height:2px;background:var(--red);flex-shrink:0}.hero-intro{font-size:1.08rem;line-height:1.6;margin-bottom:16px}.hero .muted{font-size:.9rem;max-width:370px}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin-top:28px}.text-link{font-size:.82rem;font-weight:600;display:inline-flex;align-items:center;gap:14px;padding-block:10px}.text-link:hover{color:var(--red)}.hero-note{margin-top:14px}.hero-figure{position:relative;padding-block:32px}.photo-frame{background:#dedacf;border:10px solid #e8e4da;transform:rotate(-2deg);padding-block:50px}.photo-frame img{width:100%;aspect-ratio:1200/583;object-fit:contain}.hero-figure figcaption{display:flex;justify-content:space-between;gap:16px;margin-top:26px;font-size:.63rem;letter-spacing:.06em;color:var(--muted)}.hero-figure figcaption span:first-child{font-weight:700}.heritage-mark{position:absolute;right:20px;top:0;background:var(--red);color:white;width:90px;height:106px;text-align:center;font:2.7rem/1 var(--display);padding-top:16px;transform:rotate(5deg);box-shadow:0 8px 20px #19191715}.heritage-mark span{display:block;font:600 .65rem/1.7 Inter,sans-serif;letter-spacing:.12em;margin-bottom:6px}.fact-strip{border-block:1px solid var(--line)}.facts{display:grid;grid-template-columns:repeat(3,1fr)}.facts p{padding:24px 32px;border-right:1px solid var(--line);margin:0}.facts p:first-child{padding-left:0}.facts p:last-child{border:0}.facts strong{display:block;font-size:.96rem;font-weight:600}.facts span{display:block;font-size:.75rem;color:var(--muted);margin-top:4px}.section-heading{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:44px}.section-intro{max-width:420px;color:var(--muted);font-size:.92rem}.class-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}.class-card{padding:38px 32px;border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start}.class-card:last-child{border:0}.card-number{font:3.4rem/1 var(--display);color:var(--red);margin-bottom:48px}.class-card .eyebrow{margin-bottom:12px;font-size:.63rem}.class-card h3{margin-bottom:18px}.class-card>p:not(.eyebrow){font-size:.88rem;color:var(--muted);margin-bottom:26px}.class-card a{margin-top:auto}.class-footnote{font-size:.8rem;color:var(--muted);margin-top:22px}.history{background:#eae6db}.history-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px;align-items:center}.history-visual{align-self:center}.history-visual img{width:100%;filter:grayscale(1);border:12px solid #f6f4ee;transform:rotate(-3deg)}.history-visual p{font-size:.63rem;letter-spacing:.1em;margin-top:30px}.history h2{margin-bottom:28px}.history p:not(.eyebrow){font-size:.9rem}.history blockquote{margin:28px 0;border-left:2px solid var(--red);padding-left:24px;font-family:Georgia,serif;font-size:1.12rem;line-height:1.65}.history cite{display:block;font:600 .7rem/1.6 Inter,sans-serif;margin-top:14px;font-style:normal}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px 44px}.values-grid article{border-top:1px solid var(--line);padding-top:22px}.values-grid h3{font-size:1.12rem;margin-bottom:12px}.values-grid p{font-size:.86rem;color:var(--muted)}.team{background:var(--ink);color:var(--paper)}.team .eyebrow{color:var(--gold)}.team .section-intro{color:#c0bfb5}.team-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #49483f;border-bottom:1px solid #49483f}.team-card{padding:32px 24px;border-right:1px solid #49483f}.team-card:first-child{padding-left:0}.team-card:last-child{border:0}.initials{display:block;font:2.6rem/1 var(--display);margin-bottom:30px;color:#b6b2a6}.team-card .eyebrow{font-size:.6rem;min-height:2.5em;margin-bottom:12px}.team-card h3{font-size:1.15rem;line-height:1.4}.team-card>p:not(.eyebrow){font-size:.77rem;color:#c0bfb5;margin-top:18px}.archive-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:48px}.archive-grid img{width:100%;height:280px;object-fit:contain;background:#22221f;filter:grayscale(1)}.archive-grid figcaption{color:#c0bfb5;font-size:.7rem;margin-top:12px}.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.visit-grid h2{margin-bottom:28px}.visit-grid>div>p:not(.eyebrow){font-size:.9rem;max-width:450px}.visit-grid .text-link{margin-top:22px}.visit-steps{list-style:none;padding:0;margin:0}.visit-steps li{display:flex;gap:26px;padding-block:26px;border-bottom:1px solid var(--line)}.visit-steps li:first-child{padding-top:0}.visit-steps li>span{font:1.9rem/1.3 var(--display);color:var(--red)}.visit-steps h3{font-size:1.1rem;margin-bottom:12px}.visit-steps p{font-size:.86rem;color:var(--muted)}.fees-panel{display:flex;gap:50px;justify-content:space-between;align-items:center;background:#eae6db;padding:34px 40px;margin-top:64px}.fees-panel .eyebrow{margin-bottom:12px}.fees-panel h3{font-size:1.35rem;margin-bottom:12px}.fees-panel p:not(.eyebrow){max-width:650px;font-size:.86rem;color:var(--muted)}.fees-panel .button{flex-shrink:0}.button-dark{background:var(--ink)}.button-dark:hover{background:#383830}.faq{border-top:1px solid var(--line)}.faq-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:80px}.faq-grid h2{margin-bottom:28px}.faq-grid>div>p:not(.eyebrow){font-size:.86rem;color:var(--muted)}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;padding:22px 36px 22px 0;position:relative;list-style:none;font-size:.95rem;font-weight:600;line-height:1.5}summary::-webkit-details-marker{display:none}summary::after{content:'+';position:absolute;right:4px;top:20px;font-size:1.3rem;color:var(--red)}details[open] summary::after{content:'âˆ’'}details p{font-size:.87rem;color:var(--muted);padding:0 32px 24px 0}.contact{background:var(--red);color:white}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.contact h2{margin-bottom:28px}.contact-grid>div>p:not(.eyebrow){font-size:.9rem;max-width:420px}.contact .eyebrow{color:#ffe5ca}.contact-details{border-left:1px solid #ffffff55;padding-left:48px}.phone{display:block;text-decoration:none;font:clamp(2.3rem,4.2vw,4.4rem)/1.1 var(--display);letter-spacing:.01em}.button-light{background:var(--paper);color:var(--ink)}.button-light:hover{background:#e8dfcd}.button-outline{background:transparent;border-color:#fff9;color:white}.button-outline:hover{background:#8c211d}.contact .small{color:#ffe5ca;margin-top:24px}.contact .actions{gap:12px}footer{background:var(--ink);color:var(--paper);padding-block:48px 20px}.footer-top{display:flex;justify-content:space-between;align-items:start;gap:40px}.footer-top>p{font-size:.78rem;color:#c0bfb5}.footer-top>div{display:grid;grid-template-columns:1fr 1fr;gap:8px 30px;font-size:.78rem}.footer-top>div a{padding:4px 0}.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:40px;padding-top:20px;font-size:.68rem;color:#c0bfb5}.footer-bottom a{padding-block:6px}.footer-bottom p{padding-block:6px}
@media(min-width:1800px){.hero{padding-block:80px 96px}}
@media(max-width:1100px){.nav-links{gap:16px}.navigation{gap:18px}.brand>span{font-size:1.3rem}.brand small{font-size:.47rem}.nav-links a{font-size:.72rem}.nav-trial{gap:12px;padding-inline:14px}.hero{gap:32px}.hero h1{font-size:6rem}.hero .actions{gap:10px}.history-grid,.visit-grid{gap:60px}.team-card{padding-inline:18px}.contact-grid{gap:40px}.contact-details{padding-left:32px}}
@media(max-width:900px){html{scroll-padding-top:90px}.navigation{min-height:76px;flex-wrap:wrap;padding-block:12px}.nav-links{gap:12px;flex-wrap:wrap}.js .nav-links,.js .nav-trial{display:none}.js .menu-toggle{display:block}.hero{grid-template-columns:1fr;padding-block:44px;gap:26px}.hero-copy{max-width:650px}.hero h1{font-size:clamp(4.8rem,12vw,7rem)}.hero h1 br:last-of-type{display:none}.hero-figure{max-width:740px;width:100%;padding-top:20px}.photo-frame{padding-block:20px;transform:none}.hero-figure figcaption{margin-top:16px}.heritage-mark{top:-15px;right:20px}.hero .muted{max-width:480px}.section{padding-block:70px}.section-heading{gap:32px}.class-card{padding:28px 22px}.class-card h3{font-size:1.25rem}.class-card a{font-size:.74rem;gap:6px}.history-grid{gap:38px}.history-visual img{transform:none}.team-grid{grid-template-columns:1fr 1fr}.team-card{padding:28px!important;border-bottom:1px solid #49483f}.team-card:nth-child(2n){border-right:0}.team-card:nth-child(n+3){border-bottom:0}.team-card .eyebrow{min-height:0}.visit-grid{gap:40px}.faq-grid{gap:40px;grid-template-columns:.8fr 1.2fr}.contact-grid{grid-template-columns:1fr;gap:40px}.contact-details{border-left:0;border-top:1px solid #ffffff55;padding:32px 0 0}.contact .phone{font-size:3.5rem}.footer-top{flex-wrap:wrap}}
@media(max-width:600px){.announcement{font-size:.65rem;padding:8px 20px}.announcement>span{padding-inline:4px}.announcement a{display:block;margin-left:0;margin-top:3px}.brand>span{font-size:1.35rem}.brand small{font-size:.46rem}.brand img{width:40px;height:40px}.brand{gap:8px}.menu-toggle{font-size:.72rem;padding:9px 10px}.navigation{gap:12px}.hero{padding-top:36px}.hero .eyebrow{font-size:.62rem;margin-bottom:26px}.hero h1{font-size:clamp(4.2rem,15vw,6rem)}.hero-intro{font-size:.98rem}.hero .muted{font-size:.85rem}.hero .actions{align-items:start;flex-direction:column;gap:4px}.button{min-height:50px;padding:13px 20px}.hero-note{font-size:.72rem}.hero-figure{padding-bottom:0;margin-top:22px}.heritage-mark{width:65px;height:79px;font-size:2rem;padding-top:10px;right:14px}.heritage-mark span{font-size:.55rem;margin-bottom:3px}.photo-frame{border-width:6px;padding-block:24px}.hero-figure figcaption{font-size:.55rem;letter-spacing:0;gap:8px}.facts{grid-template-columns:1fr}.facts p,.facts p:first-child{padding:16px 0;border-right:0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px}.facts strong{font-size:.8rem}.facts span{font-size:.65rem;margin:0;text-align:right}.section{padding-block:56px}h2{font-size:2.9rem}.eyebrow{font-size:.64rem;margin-bottom:20px}.section-heading{display:block;margin-bottom:30px}.section-intro{margin-top:24px;font-size:.86rem}.class-grid{grid-template-columns:1fr}.class-card{border-right:0;border-bottom:1px solid var(--line);padding:28px}.card-number{margin-bottom:28px;font-size:2.8rem}.class-card h3{font-size:1.4rem}.class-card a{font-size:.8rem}.class-card>p:not(.eyebrow){margin-bottom:18px}.class-footnote{font-size:.75rem}.history-grid{grid-template-columns:1fr;gap:32px}.history-visual{order:2}.history-visual p{margin-top:16px}.history blockquote{font-size:1.02rem}.values-grid{grid-template-columns:1fr 1fr;gap:24px}.values-grid h3{font-size:1rem}.values-grid p{font-size:.79rem}.team-card{padding:24px 18px!important}.team-card h3{font-size:1rem}.team-card .eyebrow{font-size:.55rem;min-height:2.8em}.team-card>p:not(.eyebrow){font-size:.73rem}.initials{font-size:2.1rem;margin-bottom:20px}.archive-grid{grid-template-columns:1fr;gap:26px;margin-top:32px}.archive-grid img{height:auto;max-height:360px}.visit-grid{grid-template-columns:1fr;gap:36px}.fees-panel{display:block;padding:28px 24px;margin-top:40px}.fees-panel .button{margin-top:24px}.faq-grid{grid-template-columns:1fr;gap:28px}summary{font-size:.85rem;padding-block:20px}.contact .phone{font-size:clamp(2.6rem,12vw,3.6rem)}.contact .actions{align-items:stretch}.contact .button{padding-inline:17px;gap:14px}.footer-top{flex-direction:column;gap:28px}.footer-top>div{width:100%}.footer-bottom{font-size:.6rem;gap:12px;margin-top:28px}.footer-bottom p{max-width:190px}}
/* Grid children must shrink when users enlarge text. */
.hero>*,.class-grid>*,.history-grid>*,.team-grid>*,.visit-grid>*,.faq-grid>*,.contact-grid>*{min-width:0}
h1,h2,h3,p,a,summary{overflow-wrap:break-word}
.heritage-mark{width:2.1em;height:2.5em;padding-top:.36em}
address{font-style:normal;font-size:.9rem;margin-block:20px;color:var(--muted)}
.schedule{border:1px solid var(--line);padding:32px}.schedule .eyebrow{color:var(--red);margin-bottom:14px}.schedule h3{font-size:1.5rem}.schedule dl{margin:26px 0}.schedule dl>div{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-block:20px}.schedule dt{font-size:.86rem;font-weight:600}.schedule dt span{display:block;font-size:.72rem;font-weight:400;color:var(--muted)}.schedule dd{margin:0;font-size:.95rem;font-weight:600;white-space:nowrap}.schedule>p:last-child{font-size:.8rem;color:var(--muted)}
@media(max-width:600px){.schedule{padding:24px}.schedule dl>div{flex-wrap:wrap;gap:8px}.schedule dd{white-space:normal}.hero h1{font-size:clamp(4rem,14vw,6rem)}}
@media(max-width:600px){.hero h1 br:last-of-type{display:block}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Contact icons remain decorative: the visible text names each action. */
.contact-icon{flex:0 0 20px;width:20px;height:20px;vertical-align:-.2em}.contact-link{display:inline-flex;align-items:center;gap:10px}.contact-link.button{gap:12px}.contact-link.phone .contact-icon{width:24px;height:24px;flex-basis:24px}footer .contact-link{max-width:100%;overflow-wrap:anywhere}
