:root{color-scheme:light;font-family:Segoe UI,system-ui,sans-serif;background:#f7f4ef;color:#17302a}*{box-sizing:border-box}body{margin:0}.public-site{min-height:100vh}.container{width:min(1120px,calc(100% - 32px));margin:0 auto}.container.narrow{width:min(760px,calc(100% - 32px))}.loading-shell{min-height:100vh;display:grid;place-items:center;color:#3d4f4a}.referral-banner{background:#eef5f2;color:#2f6f62;text-align:center;padding:10px 16px;font-size:.95rem}.site-header{position:sticky;top:0;z-index:10;background:#ffffffeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(23,48,42,.08)}.header-inner,.footer-inner,.hero-grid,.contact-grid{display:flex;justify-content:space-between;gap:24px;align-items:center}.header-inner,.footer-inner{padding:18px 0}.brand-block{display:flex;align-items:center;gap:14px}.brand-mark,.brand-logo{width:48px;height:48px;border-radius:14px}.brand-mark{display:grid;place-items:center;background:#2f6f62;color:#fff;font-weight:700}.brand-logo{object-fit:cover}.brand-eyebrow,.eyebrow{margin:0 0 4px;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;color:#2f6f62}.brand-name{font-size:1.1rem}.header-nav{display:flex;gap:18px}.header-nav a,.text-link,.social-links a{color:#17302a;text-decoration:none}.hero-section{padding:56px 0}.hero-grid{align-items:stretch}.hero-copy{flex:1.1}.hero-copy h1{margin:0 0 12px;font-size:clamp(2rem,5vw,3.5rem);line-height:1.05}.lead,.body-copy{line-height:1.7;color:#3d4f4a}.hero-visual{flex:1;min-height:280px}.hero-image,.hero-fallback{width:100%;height:100%;min-height:280px;border-radius:24px}.hero-image{object-fit:cover}.hero-fallback{display:grid;place-items:center;background:linear-gradient(135deg,#d8ebe4,#f0e4cf);color:#2f6f62;font-size:1.4rem;font-weight:600}.button-primary,.button-secondary{display:inline-flex;margin-top:18px;padding:12px 18px;border-radius:999px;text-decoration:none;font-weight:600}.button-primary{background:#2f6f62;color:#fff}.button-secondary{background:#fff;color:#17302a;border:1px solid #c9ddd6}.section{padding:56px 0}.highlight-section{background:#eef5f2}.packages-section{background:#fff}.packages-header{max-width:720px;margin-bottom:32px}.packages-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}.package-card{display:flex;flex-direction:column;border:1px solid #d7e5e1;border-radius:20px;overflow:hidden;background:#f8fbfa}.package-media{aspect-ratio:4 / 3}.package-image,.package-fallback{width:100%;height:100%;object-fit:cover}.package-fallback{display:grid;place-items:center;background:linear-gradient(135deg,#d8ebe4,#f0e4cf);color:#2f6f62;font-weight:600}.package-body{display:grid;gap:8px;padding:20px}.package-duration{margin:0;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:#2f6f62}.package-body h3{margin:0;font-size:1.15rem;line-height:1.3}.package-includes,.package-price{margin:0;color:#3d4f4a}.package-price{font-size:1.1rem;font-weight:700;color:#17302a}.package-cta{margin-top:8px;border:none;cursor:pointer;justify-self:start}.package-modal-backdrop{position:fixed;inset:0;background:#17302a8c;display:grid;place-items:center;padding:24px;z-index:20}.package-modal{width:min(560px,100%);max-height:calc(100vh - 48px);overflow:auto;background:#fff;border-radius:24px;position:relative}.package-modal-close{position:absolute;top:12px;right:12px;width:36px;height:36px;border:none;border-radius:999px;background:#17302a14;font-size:1.4rem;line-height:1;cursor:pointer}.package-modal-image{width:100%;max-height:240px;object-fit:cover}.package-modal-content{padding:24px;display:grid;gap:12px}.package-modal-note{margin:0;color:#5a6678;font-size:.95rem}.field{display:grid;gap:6px}.field input{width:100%;border:1px solid #d7e5e1;border-radius:10px;padding:10px 12px;font:inherit}.contact-section{background:#fff}.contact-grid{align-items:flex-start}.contact-card{min-width:min(360px,100%);padding:24px;border-radius:20px;background:#f8fbfa;border:1px solid #d7e5e1;display:grid;gap:12px}.social-links{display:flex;gap:16px}.site-footer{background:#17302a;color:#e8f2ef}.footer-inner{padding:28px 0;flex-direction:column;align-items:flex-start}.footer-inner p{margin:0;color:#c4d5cf}@media(max-width:800px){.header-inner,.hero-grid,.contact-grid{flex-direction:column;align-items:flex-start}.header-nav{flex-wrap:wrap}}
