:root{--traditional:#002117;--modern:#85F9B4;--sky:#B9D9FF;--beige:#FFFAF4;--black:#1D1D1B;--white:#FFFFFF;--max:1240px;--gutter:clamp(1.25rem,4vw,3rem);--radius:1.5rem;--font:"TT Norms Pro Expanded",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--beige);color:var(--black);font-family:var(--font);font-size:1rem;line-height:1.6}img{display:block;max-width:100%;height:auto}a{color:inherit;text-underline-offset:.2em}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}.container{width:min(100% - 2*var(--gutter),var(--max));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:1000;top:.75rem;left:.75rem;padding:.8rem 1rem;background:var(--modern);color:var(--traditional);font-weight:700;transform:translateY(-150%)}.skip-link:focus{transform:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--modern);outline-offset:4px}.icon{width:1.25rem;height:1.25rem;flex:none}
.site-header{position:relative;z-index:50;background:var(--traditional);color:var(--white);border-bottom:1px solid color-mix(in srgb,var(--white) 18%,transparent)}.header-inner{min-height:5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.wordmark{font-weight:900;font-size:1.55rem;letter-spacing:-.05em;text-decoration:none;line-height:1}.desktop-nav{display:none;align-items:center;gap:clamp(.85rem,1.5vw,1.6rem)}.desktop-nav a,.mobile-nav a{font-size:.88rem;font-weight:700;text-decoration:none}.desktop-nav a{padding:.8rem 0;border-bottom:2px solid transparent}.desktop-nav a:hover,.desktop-nav a[aria-current=page]{border-color:var(--modern)}.header-actions{display:flex;align-items:center;gap:.6rem}.header-actions>.button{display:none}.menu-toggle,.icon-button{display:grid;place-items:center;width:3rem;height:3rem;padding:0;border:1px solid currentColor;border-radius:50%;background:transparent;color:inherit;cursor:pointer}.menu-toggle .menu-close{display:none}.menu-toggle[aria-expanded=true] .menu-close{display:block}.menu-toggle[aria-expanded=true] .menu-open{display:none}.mobile-nav{padding:1rem var(--gutter) 2rem;background:var(--traditional);display:grid;gap:.25rem}.mobile-nav[hidden]{display:none}.mobile-nav>a:not(.button){padding:.85rem 0;border-bottom:1px solid color-mix(in srgb,var(--white) 18%,transparent);font-size:1.1rem}.mobile-nav .button{margin-top:1rem}
.breadcrumbs{padding-block:.8rem;background:var(--beige)}.breadcrumbs ol{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.45rem;font-size:.78rem}.breadcrumbs li{display:flex;gap:.45rem}.breadcrumbs a{font-weight:700}
.page-hero{overflow:hidden;background:var(--traditional);color:var(--white);padding:clamp(3.5rem,8vw,7rem) 0}.hero-grid{display:grid;gap:2.5rem}.hero-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.eyebrow{display:inline-flex;align-items:center;min-height:2rem;padding:.25rem .8rem;border:1px solid currentColor;border-radius:999px;font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.page-hero h1{max-width:14ch;margin:1.35rem 0;font-size:clamp(3.25rem,11vw,7.4rem);font-weight:900;letter-spacing:-.075em;line-height:.88;text-wrap:balance}.lead{max-width:42rem;margin:0;font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.55}.button-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}.hero-media,.hero-placeholder{aspect-ratio:4/5;border-radius:var(--radius);overflow:hidden;min-height:22rem}.hero-media img{width:100%;height:100%;object-fit:cover}.hero-placeholder{display:grid;place-items:end start;padding:1.5rem;color:var(--traditional);background:var(--sky);border:1px dashed var(--traditional)}.hero-placeholder span{max-width:24ch;font-weight:700}.button{min-height:3.25rem;display:inline-flex;align-items:center;justify-content:center;gap:.75rem;padding:.75rem 1.25rem;border:1px solid transparent;border-radius:999px;font-weight:800;text-decoration:none;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}.button--primary{background:var(--modern);color:var(--traditional)}.button--primary:hover{background:var(--white)}.button--light{background:var(--white);color:var(--traditional)}.button--light:hover{background:var(--modern)}.button--outline{border-color:var(--traditional);background:transparent;color:var(--traditional)}.button--outline:hover{background:var(--traditional);color:var(--white)}.button--outline-light{border-color:var(--white);background:transparent;color:var(--white)}.button--outline-light:hover{background:var(--white);color:var(--traditional)}.button--small{min-height:2.8rem;padding:.55rem 1rem;font-size:.8rem}
.section{padding:clamp(4.5rem,10vw,9rem) 0}.section--compact{padding:clamp(2.5rem,6vw,5rem) 0}.section-head{max-width:52rem;margin-bottom:clamp(2.5rem,5vw,4.5rem)}.section-head h2,.contact-grid h2,.cta-inner h2{margin:1rem 0 0;font-size:clamp(2.6rem,7vw,5.5rem);letter-spacing:-.065em;line-height:.95;text-wrap:balance}.section-head>p{max-width:42rem;font-size:1.1rem}.statement{min-height:70vh;display:flex;align-items:center}.statement .section-head{margin-bottom:2rem}.statement-text{max-width:28ch;margin:0;font-size:clamp(1.4rem,3.2vw,2.3rem);line-height:1.35}.theme-beige{background:var(--beige)}.theme-blue{background:var(--sky);color:var(--traditional)}.theme-green{background:var(--modern);color:var(--traditional)}.theme-dark{background:var(--traditional);color:var(--white)}
.card-grid,.value-grid,.pricing-grid,.article-grid,.event-grid{display:grid;gap:1rem}.feature-card,.value-card,.price-card,.event-card{border:1px solid color-mix(in srgb,var(--black) 22%,transparent);border-radius:var(--radius);padding:clamp(1.5rem,3vw,2.5rem);background:var(--white)}.feature-card{min-height:23rem;display:flex;flex-direction:column}.card-mark{width:2.75rem;height:2.75rem;margin-bottom:auto;border-radius:50%;background:var(--modern);box-shadow:inset 0 0 0 .6rem var(--white);border:1px solid var(--traditional)}.feature-card h3,.value-card h3,.price-card h3,.event-card h3{margin:2rem 0 .75rem;font-size:clamp(1.75rem,3vw,2.5rem);line-height:1}.feature-card p,.value-card p,.price-card p{margin:0}.text-link{display:inline-flex;align-items:center;gap:.65rem;margin-top:1.5rem;font-weight:800}.text-link:hover .icon{transform:translateX(.2rem)}.text-link .icon{transition:transform .2s}.value-card{background:transparent}.value-card>span{font-weight:800}.value-card h3{margin-top:4rem}.split-grid{display:grid;gap:3rem;align-items:center}.split-grid .section-head{margin-bottom:2rem}.large-copy{max-width:38rem;font-size:clamp(1.15rem,2vw,1.5rem)}.split-image{border-radius:var(--radius);overflow:hidden;aspect-ratio:4/3}.split-image img{width:100%;height:100%;object-fit:cover}.step-grid{list-style:none;margin:0;padding:0;display:grid;gap:0}.step-grid li{padding:2rem 0;border-top:1px solid color-mix(in srgb,var(--white) 30%,transparent)}.step-grid li>span{font-size:.75rem;font-weight:800}.step-grid h3{margin:2rem 0 .75rem;font-size:1.8rem}.step-grid p{max-width:24rem;margin:0;color:color-mix(in srgb,var(--white) 78%,transparent)}.faq-grid{display:grid;gap:2rem}.accordion details{border-top:1px solid var(--black)}.accordion details:last-child{border-bottom:1px solid var(--black)}.accordion summary{min-height:4.5rem;padding:1.25rem 0;display:flex;align-items:center;justify-content:space-between;gap:1rem;font-weight:800;cursor:pointer;list-style:none}.accordion summary::-webkit-details-marker{display:none}.accordion summary span{font-size:1.5rem;transition:transform .2s}.accordion details[open] summary span{transform:rotate(45deg)}.accordion details p{max-width:42rem;margin:0;padding:0 2rem 1.5rem 0}.placeholder-note{padding:clamp(1.5rem,4vw,3rem);border:1px solid var(--traditional);border-radius:var(--radius);background:var(--white)}.placeholder-note h2{margin:1rem 0;font-size:clamp(2rem,5vw,3.5rem);line-height:1}.placeholder-note p{max-width:55rem}.pricing-grid{align-items:stretch}.price-card{display:flex;flex-direction:column}.price-card h3{font-size:1.6rem}.price-card ul{list-style:none;padding:1.5rem 0;margin:1rem 0;display:grid;gap:.75rem;border-top:1px solid color-mix(in srgb,var(--black) 18%,transparent)}.price-card li{display:flex;gap:.6rem}.price-card .button{margin-top:auto}.event-preview{padding:2rem;border:1px solid var(--traditional);border-radius:var(--radius)}.event-date{font-size:clamp(2rem,5vw,4.5rem);font-weight:900;letter-spacing:-.06em;line-height:1}.event-card{display:flex;flex-direction:column;align-items:flex-start}.event-card>p:first-of-type{margin:.5rem 0 0;font-weight:800}.event-card .button{margin-top:auto}.gallery-section{background:var(--white)}.photo-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-auto-rows:11rem;gap:.75rem}.photo-grid__item{overflow:hidden;border-radius:1.25rem}.photo-grid__item img{width:100%;height:100%;object-fit:cover}.photo-grid__item--1,.photo-grid__item--6{grid-column:span 2;grid-row:span 2}
.article-card{overflow:hidden;border:1px solid color-mix(in srgb,var(--black) 20%,transparent);border-radius:var(--radius);background:var(--white)}.article-image{aspect-ratio:16/10;overflow:hidden}.article-image img{width:100%;height:100%;object-fit:cover}.article-body{padding:clamp(1.5rem,3vw,2.5rem)}.article-meta{display:flex;justify-content:space-between;gap:1rem;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.article-card h2{font-size:clamp(1.8rem,4vw,3rem);line-height:1.05}.article-card h2 a{text-decoration:none}.article-narrow{width:min(100% - 2*var(--gutter),760px);margin-inline:auto}.article-content{background:var(--white)}.article-intro{font-size:clamp(1.35rem,3vw,2rem);line-height:1.4}.article-content section,.legal-content section{margin-top:4rem}.article-content h2,.legal-content h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1.05;letter-spacing:-.045em}.article-content p,.legal-content p{font-size:1.08rem}
.contact-grid{display:grid;gap:3rem}.contact-grid h2{margin:0 0 2rem}.contact-form{display:grid;gap:1.25rem}.field-row{display:grid;gap:1.25rem}.field{display:grid;gap:.45rem}.field label{font-weight:800}.field input,.field select,.field textarea{width:100%;border:1px solid var(--black);border-radius:.75rem;background:var(--white);color:var(--black);padding:.85rem 1rem}.field input,.field select{min-height:3.25rem}.field textarea{resize:vertical}.field [aria-invalid=true]{border:2px solid var(--traditional);box-shadow:0 0 0 3px var(--modern)}.field-error{min-height:1.2em;font-size:.8rem;font-weight:700}.check-field{display:flex;align-items:flex-start;gap:.75rem}.check-field input{width:1.25rem;height:1.25rem;margin-top:.2rem;accent-color:var(--traditional)}.contact-form .button{justify-self:start}.form-status{font-weight:800}.contact-details{padding:clamp(1.5rem,4vw,3rem);border-radius:var(--radius);background:var(--sky);align-self:start}.contact-item{display:flex;gap:1rem;padding:1.5rem 0;border-bottom:1px solid var(--traditional)}.contact-item:first-of-type{margin-top:1rem;border-top:1px solid var(--traditional)}.contact-item h3,.contact-item p{margin:0}.contact-item .icon{margin-top:.2rem}
.cta-band{background:var(--modern);color:var(--traditional);padding:clamp(4rem,8vw,7rem) 0}.cta-inner{display:flex;flex-direction:column;align-items:flex-start;gap:2rem}.cta-inner h2{max-width:14ch}.site-footer{padding:clamp(4rem,8vw,7rem) 0 2rem;background:var(--traditional);color:var(--white)}.footer-grid{display:grid;gap:3rem}.footer-grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:.55rem}.wordmark--footer{font-size:clamp(2.5rem,6vw,5rem)}.footer-grid h2{margin:0 0 .8rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em}.footer-grid a,.footer-link{background:none;border:0;color:inherit;padding:.2rem 0;text-align:left;font-size:.9rem}.footer-link{text-decoration:underline;cursor:pointer}.footer-grid p{max-width:25rem;margin:.25rem 0}.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:4rem;padding-top:1.5rem;border-top:1px solid color-mix(in srgb,var(--white) 25%,transparent);font-size:.8rem}
.cookie-banner{position:fixed;z-index:100;right:1rem;bottom:1rem;left:1rem;max-height:calc(100vh - 2rem);overflow:auto;padding:1.5rem;border-radius:var(--radius);background:var(--white);color:var(--black);border:1px solid var(--traditional);box-shadow:0 1rem 4rem color-mix(in srgb,var(--traditional) 30%,transparent)}.cookie-banner[hidden]{display:none}.cookie-banner h2{margin:0;font-size:1.5rem}.cookie-banner p{max-width:50rem}.cookie-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.25rem}.cookie-dialog{width:min(calc(100% - 2rem),40rem);max-height:calc(100vh - 2rem);padding:0;border:1px solid var(--traditional);border-radius:var(--radius);background:var(--white);color:var(--black)}.cookie-dialog::backdrop{background:color-mix(in srgb,var(--traditional) 75%,transparent)}.cookie-dialog form{padding:1.5rem}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.dialog-head h2{margin:0}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 0;border-top:1px solid color-mix(in srgb,var(--black) 20%,transparent)}.toggle-row span{display:grid}.toggle-row small{margin-top:.2rem}.toggle-row input{width:1.5rem;height:1.5rem;accent-color:var(--traditional)}.dialog-actions{display:flex;justify-content:flex-end;margin-top:1.5rem}
@media (min-width:48rem){.hero-grid{grid-template-columns:minmax(0,1.12fr) minmax(18rem,.88fr)}.page-hero--home .hero-grid{min-height:38rem}.card-grid,.event-grid{grid-template-columns:repeat(3,1fr)}.value-grid{grid-template-columns:repeat(2,1fr)}.split-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(3rem,8vw,7rem)}.step-grid{grid-template-columns:repeat(3,1fr)}.step-grid li{padding:2rem;border-top:1px solid color-mix(in srgb,var(--white) 30%,transparent);border-left:1px solid color-mix(in srgb,var(--white) 30%,transparent)}.step-grid li:first-child{border-left:0}.faq-grid{grid-template-columns:minmax(15rem,.75fr) minmax(0,1.25fr);gap:clamp(3rem,8vw,8rem)}.pricing-grid{grid-template-columns:repeat(3,1fr)}.contact-grid{grid-template-columns:minmax(0,1.4fr) minmax(19rem,.6fr)}.field-row{grid-template-columns:repeat(2,1fr)}.cta-inner{flex-direction:row;align-items:end;justify-content:space-between}.footer-grid{grid-template-columns:1.5fr repeat(3,1fr)}.cookie-banner{left:auto;width:min(44rem,calc(100% - 2rem))}.article-grid{grid-template-columns:repeat(2,1fr)}.photo-grid{grid-template-columns:repeat(4,1fr);grid-auto-rows:12rem}.photo-grid__item--1{grid-column:span 2;grid-row:span 2}.photo-grid__item--6{grid-column:span 2;grid-row:span 1}}
@media (min-width:68rem){.desktop-nav{display:flex}.menu-toggle{display:none}.header-actions>.button{display:inline-flex}.mobile-nav{display:none!important}.value-grid{grid-template-columns:repeat(4,1fr)}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
.callout-note{padding:clamp(1.5rem,4vw,3rem);border:1px solid var(--traditional);border-radius:var(--radius);background:var(--white)}.callout-note h2{margin:1rem 0;font-size:clamp(2rem,5vw,3.5rem);line-height:1}.callout-note p{max-width:55rem}
