@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&family=Karla:wght@300;400;500&display=swap");:root{--bg:#e8f0f2;--bg-secondary:#dae6e9;--surface:#d4e4e6;--border:rgba(8,70,82,.13);--text-primary:#0c1e24;--text-secondary:#2a5560;--text-muted:#6a969e;--accent:#0c7e84;--accent-warm:#10a0a8;--accent-subtle:rgba(12,126,132,.1);--ink:#102830}[data-theme=dark]{--bg:#041820;--bg-secondary:#082630;--surface:#0c3242;--border:rgba(50,175,195,.12);--text-primary:#def0f4;--text-secondary:#88bbc6;--text-muted:#3c7888;--accent:#28b2be;--accent-warm:#3cd0da;--accent-subtle:rgba(40,178,190,.08);--ink:#def0f4}*,:after,:before{box-sizing:border-box;margin:0;padding:0}a{color:inherit}html{scroll-behavior:smooth}body{font-family:Karla,sans-serif;background:var(--bg);color:var(--text-primary);min-height:100vh;transition:background .3s ease,color .3s ease;overflow-x:hidden}.topo-bg{position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='800' height='800'%3E%3Ccircle cx='400' cy='400' r='380' fill='none' stroke='%23206068' stroke-width='1.5'/%3E%3Ccircle cx='400' cy='400' r='340' fill='none' stroke='%23206068' stroke-width='1.5'/%3E%3Ccircle cx='400' cy='400' r='300' fill='none' stroke='%23206068' stroke-width='1.5'/%3E%3Ccircle cx='400' cy='400' r='260' fill='none' stroke='%23206068' stroke-width='1.5'/%3E%3Ccircle cx='400' cy='400' r='220' fill='none' stroke='%23206068' stroke-width='1.5'/%3E%3Ccircle cx='400' cy='400' r='180' fill='none' stroke='%23206068' stroke-width='1.5'/%3E%3Ccircle cx='400' cy='400' r='140' fill='none' stroke='%23206068' stroke-width='1.5'/%3E%3Ccircle cx='400' cy='400' r='100' fill='none' stroke='%23206068' stroke-width='1.5'/%3E%3Ccircle cx='400' cy='400' r='60' fill='none' stroke='%23206068' stroke-width='1.5'/%3E%3Ccircle cx='150' cy='150' r='130' fill='none' stroke='%23206068' stroke-width='1.5'/%3E%3Ccircle cx='150' cy='150' r='90' fill='none' stroke='%23206068' stroke-width='1.5'/%3E%3Ccircle cx='150' cy='150' r='50' fill='none' stroke='%23206068' stroke-width='1.5'/%3E%3Ccircle cx='650' cy='200' r='160' fill='none' stroke='%23206068' stroke-width='1.5'/%3E%3Ccircle cx='650' cy='200' r='110' fill='none' stroke='%23206068' stroke-width='1.5'/%3E%3Ccircle cx='650' cy='200' r='60' fill='none' stroke='%23206068' stroke-width='1.5'/%3E%3Ccircle cx='100' cy='600' r='120' fill='none' stroke='%23206068' stroke-width='1.5'/%3E%3Ccircle cx='100' cy='600' r='75' fill='none' stroke='%23206068' stroke-width='1.5'/%3E%3Ccircle cx='700' cy='650' r='100' fill='none' stroke='%23206068' stroke-width='1.5'/%3E%3Ccircle cx='700' cy='650' r='55' fill='none' stroke='%23206068' stroke-width='1.5'/%3E%3C/svg%3E");background-size:600px 600px}[data-theme=dark] .topo-bg{opacity:.07}.grain{position:fixed;inset:0;pointer-events:none;z-index:1;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-size:200px 200px}main{position:relative;z-index:2}nav{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 3rem;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:-webkit-sticky;position:sticky;top:0;z-index:100;background:rgba(240,246,247,.85);transition:background .3s}[data-theme=dark] nav{background:rgba(4,24,32,.85)}.logo{font-family:Cormorant Garamond,serif;font-size:1.8rem;font-weight:700;letter-spacing:.12em;color:var(--text-primary);text-decoration:none}.logo span{color:var(--accent)}.nav-right{gap:1.5rem}.nav-right,.theme-toggle{display:flex;align-items:center}.theme-toggle{gap:.5rem;cursor:pointer;background:var(--surface);border:1px solid var(--border);border-radius:100px;padding:.3rem .8rem;font-size:.75rem;font-family:Karla,sans-serif;color:var(--text-muted);letter-spacing:.05em;transition:all .2s}.theme-toggle:hover{border-color:var(--accent);color:var(--text-primary)}.toggle-track{width:28px;height:16px;background:var(--surface);border:1px solid var(--border);border-radius:100px;position:relative;transition:background .3s}.toggle-thumb{position:absolute;top:2px;left:2px;width:10px;height:10px;border-radius:50%;background:var(--accent);transition:transform .3s}[data-theme=dark] .toggle-thumb{transform:translateX(12px)}.hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3rem 2rem 2rem;position:relative}.hero-eyebrow{font-family:Karla,sans-serif;font-size:.7rem;font-weight:500;letter-spacing:.25em;text-transform:uppercase;color:var(--accent);margin-bottom:2.5rem;opacity:0;animation:fadeUp .8s ease .1s forwards}.hero-title{font-family:Cormorant Garamond,serif;font-size:clamp(4rem,10vw,9rem);font-weight:600;line-height:1.05;color:var(--text-primary);max-width:900px;margin-bottom:.15em;opacity:0;animation:fadeUp .9s ease .2s forwards;letter-spacing:.04em}.hero-dot{color:var(--accent)}.hero-tagline{font-family:Cormorant Garamond,serif;font-size:clamp(1.25rem,3vw,1.75rem);font-weight:500;color:var(--text-secondary);margin-bottom:2.5rem;opacity:0;animation:fadeUp .9s ease .3s forwards;letter-spacing:.06em}.hero-tagline em{font-style:italic;color:var(--accent)}.hero-sub{font-size:1.05rem;font-weight:300;color:var(--text-secondary);max-width:520px;line-height:1.7;margin-bottom:3.5rem;opacity:0;animation:fadeUp .9s ease .35s forwards}.waitlist-form{display:flex;gap:0;max-width:440px;width:100%;opacity:0;animation:fadeUp .9s ease .5s forwards}.waitlist-form input{flex:1 1;padding:.9rem 1.2rem;background:var(--surface);border:1px solid var(--border);border-right:none;border-radius:4px 0 0 4px;font-family:Karla,sans-serif;font-size:.9rem;color:var(--text-primary);outline:none;transition:border-color .2s}.waitlist-form input::placeholder{color:var(--text-muted)}.waitlist-form input:focus{border-color:var(--accent)}.waitlist-form button{padding:.9rem 1.6rem;background:var(--accent);border:1px solid var(--accent);border-radius:0 4px 4px 0;color:#fff;font-family:Karla,sans-serif;font-size:.85rem;font-weight:500;letter-spacing:.08em;cursor:pointer;transition:background .2s,transform .1s;white-space:nowrap}.waitlist-form button:hover{background:var(--accent-warm)}.waitlist-form button:active{transform:scale(.98)}.waitlist-form button:disabled{opacity:.6;cursor:not-allowed}.form-status{font-size:.8rem;margin-top:.8rem;color:var(--text-muted);height:1.2em}.form-status.success{color:#5a8a4a}.form-status.error{color:#b84a2a}.hero-contacts{display:flex;gap:.75rem;margin-top:2rem;opacity:0;animation:fadeUp .9s ease .65s forwards}.contact-pill{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:100px;text-decoration:none;font-size:.78rem;font-weight:400;letter-spacing:.02em;transition:all .25s ease}.contact-pill,.contact-pill:visited{color:var(--text-muted)}.contact-pill:hover{color:var(--text-primary);border-color:var(--accent);background:var(--accent-subtle)}.contact-pill svg{flex-shrink:0}.hero-attribution{margin-top:2.5rem;font-size:.72rem;font-weight:400;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;opacity:0;animation:fadeUp .9s ease .8s forwards;transition:color .2s}.hero-attribution,.hero-attribution:visited{color:var(--text-muted)}.hero-attribution:hover{color:var(--accent)}.section-divider{width:40px;height:1px;background:var(--accent);margin:0 auto 3rem;opacity:.4}.section{padding:0 2rem 6rem;max-width:1100px;margin:0 auto}.section-label{font-size:.65rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--accent);margin-bottom:1.5rem}.section-title{font-family:Cormorant Garamond,serif;font-size:clamp(2rem,4vw,3.5rem);font-weight:300;line-height:1.15;color:var(--text-primary);max-width:700px;margin-bottom:1.5rem}.section-title em{font-style:italic;color:var(--accent)}.section-body{font-size:1rem;font-weight:300;color:var(--text-secondary);line-height:1.8;max-width:580px}.cards{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1.5px;gap:1.5px;background:var(--border);border:1px solid var(--border);margin-top:5rem}.card{background:var(--bg);padding:2.5rem 2rem;transition:background .2s}.card:hover{background:var(--bg-secondary)}.card-num{font-size:3rem;font-weight:300;color:var(--accent);opacity:.3;line-height:1;margin-bottom:1.5rem}.card-num,.card-title{font-family:Cormorant Garamond,serif}.card-title{font-size:1.4rem;font-weight:500;color:var(--text-primary);margin-bottom:.75rem}.card-body{font-size:.88rem;font-weight:300;color:var(--text-secondary);line-height:1.7}.cta-section{padding:8rem 2rem;text-align:center;position:relative}.cta-section:before{content:"";position:absolute;inset:0;background:var(--accent-subtle);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.cta-inner{position:relative}.cta-title{font-family:Cormorant Garamond,serif;font-size:clamp(2.5rem,5vw,4.5rem);font-weight:300;color:var(--text-primary);margin-bottom:1rem}.cta-title em{font-style:italic;color:var(--accent)}.cta-sub{font-size:.95rem;color:var(--text-secondary);margin-bottom:2.5rem;font-weight:300}footer{padding:2rem 3rem;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.footer-text{font-size:.75rem;color:var(--text-muted);letter-spacing:.05em}.footer-link{text-decoration:none;transition:color .2s}.footer-link:hover{color:var(--text)}.pin-mark{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-right:.5rem;vertical-align:middle;position:relative;top:-1px}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.fade-in.visible{opacity:1;transform:none}@media (max-width:768px){nav{padding:1.2rem 1.5rem}.cards{grid-template-columns:1fr}.waitlist-form{flex-direction:column}.waitlist-form input{border-right:1px solid var(--border);border-bottom:none;border-radius:4px 4px 0 0}.waitlist-form button{border-radius:0 0 4px 4px}.hero-contacts{flex-direction:column;align-items:center}footer{flex-direction:column;gap:.5rem;text-align:center}}