:root{--cream: #E8E6E1;--teal: #2B5F5C;--teal-dark: #1F4744;--teal-light: rgba(43, 95, 92, .1);--text: #1a1a1a;--text-light: #555;--white: #ffffff;--overlay: rgba(0, 0, 0, .5)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--cream);color:var(--text);overflow-x:hidden;line-height:1.6}.font-serif{font-family:Playfair Display,Georgia,Times New Roman,serif}html{scroll-behavior:auto}.header-main{position:fixed;top:0;left:0;right:0;z-index:50;background:#e8e6e1f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:box-shadow .3s ease}.header-main.scrolled{box-shadow:0 2px 20px #00000014}.header-main>div{height:80px;display:flex;align-items:center}.header-main>div>div{width:100%;display:flex;align-items:center}.header-logo{height:52px;width:auto;-o-object-fit:contain;object-fit:contain;display:block}.nav-links,.nav-link{color:var(--teal)}.hero-section{min-height:85vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:6rem 2rem 2rem}.headline-giant{font-size:clamp(2.5rem,7vw,5.5rem);line-height:1.05;font-weight:400;color:var(--teal)}.headline-large{font-size:clamp(2.5rem,6vw,5.5rem);line-height:1.1;font-weight:400}.headline-spacing{margin-top:1rem}.hero-subtitle{margin-top:2rem;font-size:clamp(1rem,2vw,1.25rem);color:var(--text-light);max-width:600px;margin-left:auto;margin-right:auto}.hero-ctas{margin-top:2.5rem;display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;align-items:center}.btn-primary{background:var(--teal);color:var(--white);padding:1rem 2.5rem;border-radius:50px;font-family:Playfair Display,serif;font-size:1rem;transition:all .3s ease;display:inline-block;text-decoration:none;border:none;cursor:pointer}.btn-primary:hover{background:var(--teal-dark);transform:translateY(-2px);box-shadow:0 8px 20px #2b5f5c40}.btn-primary:focus-visible{outline:3px solid rgba(43,95,92,.35);outline-offset:4px}.btn-secondary{background:var(--white);color:var(--teal);padding:1rem 2.5rem;border-radius:50px;font-family:Playfair Display,serif;font-size:1rem;transition:all .3s ease;display:inline-block;text-decoration:none;border:2px solid var(--teal);cursor:pointer}.btn-secondary:hover{background:var(--teal-light);transform:translateY(-2px)}.btn-secondary:focus-visible{outline:3px solid rgba(43,95,92,.35);outline-offset:4px}.section-spacious{padding:3rem 2rem}@media(min-width:768px){.section-spacious{padding:4rem 2rem}}.section-teal{background:var(--teal);color:var(--teal)}.wave-divider{position:relative;height:60px;overflow:hidden;line-height:0;display:block}.wave-divider svg{position:relative;display:block;width:calc(100% + 1.3px);height:60px}.wave-cream-to-teal{background:var(--cream)}.wave-teal-to-cream{background:var(--teal)}.content-with-image{display:grid;gap:4rem;align-items:center}@media(min-width:768px){.content-with-image{grid-template-columns:1fr 1fr;gap:6rem}}.content-image{border-radius:20px;overflow:hidden;box-shadow:0 20px 60px #0000001a;height:500px}.content-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.eyebrow{font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:var(--teal);font-weight:500;margin-bottom:1.5rem;display:block}.eyebrow-light{color:#ffffffb3}.section-title{margin-bottom:1.5rem}.section-title-main{margin-bottom:1rem;color:var(--teal)}.section-title-light{color:var(--teal)}.section-description{font-size:1.125rem;line-height:1.8;margin-bottom:2rem;opacity:.9}.cta-description{font-size:1.25rem;margin-bottom:2rem;color:var(--text-light)}.step-card{background:var(--white);border-radius:20px;padding:2.5rem;box-shadow:0 10px 30px #0000000f;transition:transform .3s ease,box-shadow .3s ease}.step-card:hover{transform:translateY(-4px);box-shadow:0 15px 40px #0000001a}.step-number{font-size:3rem;margin-bottom:1rem;color:var(--teal);text-align:center}.step-title{font-size:1.5rem;margin-bottom:.75rem;color:var(--teal)}.step-description{line-height:1.7;color:var(--text-light)}.event-image{aspect-ratio:3/4;border-radius:15px;overflow:hidden;margin-bottom:1.5rem;box-shadow:0 15px 40px #00000014}.event-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .3s ease;display:block;will-change:transform}.event-image:hover img{transform:scale(1.05)}.event-title{font-size:1.5rem;margin-bottom:.5rem;color:var(--teal)}.event-description{color:#fffc}.mobile-menu{position:fixed;top:0;right:0;bottom:0;width:100%;max-width:400px;background:var(--cream);transform:translate(100%);transition:transform .4s ease;z-index:100;padding:2rem;overflow-y:auto}.mobile-menu.open{transform:translate(0)}.mobile-menu-divider{border-top:1px solid var(--teal);opacity:.2}.mobile-overlay{position:fixed;inset:0;background:var(--overlay);opacity:0;pointer-events:none;transition:opacity .4s ease;z-index:99}.mobile-overlay.open{opacity:1;pointer-events:auto}.footer-main{padding:3rem 0;background:var(--teal);color:var(--teal)}.footer-text{opacity:.8;font-size:.875rem;line-height:1.6}.footer-title{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:1rem;opacity:.7}.footer-nav{display:flex;flex-direction:column;gap:.5rem;font-size:.875rem;opacity:.9}.footer-bottom{padding-top:2rem;border-top:1px solid rgba(255,255,255,.2);text-align:center;font-size:.75rem;opacity:.7}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}html{scroll-behavior:auto!important}.step-card,.event-image img,.btn-primary,.btn-secondary,.mobile-menu,.mobile-overlay{transition:none!important}}*:focus-visible{outline:3px solid rgba(43,95,92,.5);outline-offset:2px}a:focus-visible{outline-color:var(--teal)}.skip-to-main{position:absolute;left:-9999px;z-index:999;padding:1rem;background:var(--teal);color:var(--teal);text-decoration:none}.skip-to-main:focus{left:50%;transform:translate(-50%);top:1rem}@media(max-width:768px){.hero-section{padding:6rem 1.5rem 4rem}.section-spacious{padding:4rem 1.5rem}.content-image{height:400px}}@media(max-width:480px){.header-main>div{height:72px}.header-logo{height:44px}.btn-primary,.btn-secondary{padding:.875rem 2rem;font-size:.9375rem}.step-card{padding:2rem}}@media print{.header-main,.mobile-menu,.mobile-overlay,.footer-main,.btn-primary,.btn-secondary{display:none}body{background:#fff;color:#000}}
