.navbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.35rem 0 1.25rem}.brand{display:inline-flex;align-items:center;gap:.55rem;flex-shrink:0}.brand-icon{display:grid;place-items:center;filter:drop-shadow(0 4px 8px rgba(47,158,154,.25))}.brand-name{font-weight:800;font-size:1.35rem;letter-spacing:-.02em;color:#243356}.nav-links{display:flex;align-items:center;gap:1.35rem;flex-wrap:wrap;justify-content:center}.nav-link{font-size:.95rem;font-weight:600;color:var(--muted);position:relative;transition:color .2s ease}.nav-link:hover{color:var(--ink)}.nav-link.active{color:var(--ink);font-weight:700}.nav-link.active:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:3px;border-radius:999px;background:var(--teal)}.nav-pill{border:none;background:var(--teal-pill);color:#1f5f5c;font-weight:700;font-size:.9rem;padding:.65rem 1.1rem;border-radius:999px;display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap;transition:transform .2s ease,box-shadow .2s ease}.nav-pill:hover{transform:translateY(-1px);box-shadow:0 8px 18px #2f9e9a33}@media(max-width:960px){.navbar{flex-wrap:wrap}.nav-links{order:3;width:100%;gap:.85rem 1.1rem;justify-content:flex-start;padding-top:.35rem}.nav-link.active:after{bottom:-4px}}.hero-art{position:relative;width:100%;max-width:560px;margin-inline:auto}.scene{width:100%;height:auto;overflow:visible}.rays{transform-origin:420px 105px;animation:sun-spin 18s linear infinite}.char-left{animation:float-y 3.6s ease-in-out infinite}.char-right{animation:float-y 4.1s ease-in-out infinite .4s}.bubble-left{animation:float-y 3.2s ease-in-out infinite .2s}.bubble-right{animation:float-y 3.5s ease-in-out infinite .55s}.float-heart{position:absolute;color:#e89bb0;font-size:1.25rem;pointer-events:none;filter:drop-shadow(0 4px 6px rgba(232,155,176,.35))}.float-heart.h1{top:18%;left:8%}.float-heart.h2{top:28%;right:10%;color:#f2a3b8;font-size:1rem}@keyframes float-y{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes sun-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.rays,.char-left,.char-right,.bubble-left,.bubble-right{animation:none}}.hero{display:grid;grid-template-columns:1fr 1.05fr;gap:2rem;align-items:center;padding:.5rem 0 .75rem}.hero-copy{display:flex;flex-direction:column;align-items:flex-start;gap:1.15rem;max-width:34rem}.hero-badge{display:inline-flex;align-items:center;gap:.4rem;background:var(--yellow-soft);color:#7a5a12;font-weight:700;font-size:.92rem;padding:.45rem .95rem;border-radius:999px}.hero-title{margin:0;font-size:clamp(2.4rem,4.4vw,3.55rem);line-height:1.12;letter-spacing:-.03em;font-weight:800;color:#243356}.hero-title .accent{color:var(--teal);position:relative;display:inline-block}.sparkles{position:absolute;width:2.4rem;height:1.2rem;right:-1.6rem;top:-.35rem}.hero-desc{margin:0;color:var(--muted);font-size:1.05rem;line-height:1.65;font-weight:600;max-width:28rem}.cta{border:none;background:linear-gradient(180deg,#8a79c4 0%,var(--purple) 100%);color:#fff;font-weight:800;font-size:1.05rem;padding:.95rem 1.45rem;border-radius:999px;display:inline-flex;align-items:center;gap:.65rem;margin-top:.25rem}.cta-heart{display:grid;place-items:center;width:1.55rem;height:1.55rem;border-radius:50%;background:#fff3;font-size:.75rem}.cta-arrow{transition:transform .25s ease}.cta:hover .cta-arrow{transform:translate(4px)}.trust-list{list-style:none;margin:.35rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.85rem 1.35rem;color:var(--muted);font-weight:700;font-size:.92rem}.trust-list .check{color:var(--teal);margin-right:.35rem;font-weight:800}.hero-visual{position:relative;min-height:340px}@media(max-width:900px){.hero{grid-template-columns:1fr;gap:1.5rem}.hero-visual{order:-1;min-height:280px}}.features{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;background:var(--white);border-radius:var(--radius-xl);padding:1.6rem 1.4rem;box-shadow:var(--shadow)}.feature{text-align:center;padding:.5rem .65rem}.feature-icon{width:3.4rem;height:3.4rem;border-radius:50%;display:grid;place-items:center;margin:0 auto .85rem}.feature h3{margin:0 0 .4rem;font-size:1.05rem;font-weight:800;color:#243356}.feature p{margin:0;color:var(--muted);font-size:.92rem;line-height:1.5;font-weight:600}@media(max-width:900px){.features{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.features{grid-template-columns:1fr}}.info-section{background:#ffffffb8;border-radius:var(--radius-xl);padding:1.75rem 1.5rem;box-shadow:var(--shadow)}.info-header{text-align:center;margin-bottom:1.35rem}.info-header h2{margin:0 0 .35rem;font-size:1.55rem;font-weight:800;color:#243356}.info-header p{margin:0;color:var(--muted);font-weight:600}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.step{text-align:center;padding:.75rem}.step-num{display:inline-grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:50%;background:var(--teal-soft);color:var(--teal);font-weight:800;font-size:.85rem;margin-bottom:.65rem}.step h3{margin:0 0 .35rem;font-size:1.05rem;font-weight:800}.step p{margin:0;color:var(--muted);font-weight:600;font-size:.92rem;line-height:1.5}.guideline-list{list-style:none;margin:0 auto;padding:0;max-width:34rem;display:flex;flex-direction:column;gap:.75rem}.guideline-list li{display:flex;align-items:flex-start;gap:.7rem;font-weight:600;color:var(--muted);line-height:1.45}.guideline-list .dot{width:.65rem;height:.65rem;border-radius:50%;background:var(--purple);margin-top:.4rem;flex-shrink:0}@media(max-width:720px){.steps{grid-template-columns:1fr}}.banner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;background:linear-gradient(135deg,#ebe6f7,#e4dff5 55%,#f0ecfa);border-radius:var(--radius-xl);padding:1.5rem 1.75rem;box-shadow:var(--shadow)}.banner-copy{text-align:center}.banner-copy h2{margin:0 0 .35rem;font-size:clamp(1.25rem,2.4vw,1.65rem);font-weight:800;color:#243356}.banner-copy p{margin:0;color:var(--muted);font-weight:700;font-size:1rem}.banner-deco{display:grid;place-items:center}@media(max-width:640px){.banner{grid-template-columns:1fr;text-align:center;gap:.75rem}.banner-deco{order:2}.banner-deco.plant{display:none}}.modal-backdrop{position:fixed;inset:0;z-index:50;background:#24335673;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;padding:1.25rem}.modal{position:relative;width:min(560px,100%);max-height:min(90vh,760px);overflow:auto;background:var(--white);border-radius:28px;padding:1.75rem 1.6rem 1.5rem;box-shadow:0 24px 60px #24335638}.modal-close{position:absolute;top:.85rem;right:.95rem;width:2.2rem;height:2.2rem;border:none;border-radius:50%;background:var(--bg);color:var(--muted);font-size:1.4rem;line-height:1;display:grid;place-items:center;transition:background .2s ease,color .2s ease}.modal-close:hover{background:var(--purple-soft);color:var(--ink)}.modal-header{margin-bottom:1.25rem;padding-right:1.5rem}.modal-eyebrow{display:inline-block;font-size:.8rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--teal);margin-bottom:.35rem}.modal-header h2,.modal-success h2{margin:0 0 .45rem;font-size:1.7rem;font-weight:800;color:#243356}.modal-header p,.modal-success p{margin:0;color:var(--muted);font-weight:600;line-height:1.55}.booking-form{display:flex;flex-direction:column;gap:1rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}.booking-form label,.booking-form fieldset{display:flex;flex-direction:column;gap:.4rem;font-weight:700;font-size:.9rem;color:#243356;border:none;margin:0;padding:0}.optional{font-weight:600;color:var(--muted);font-size:.8rem}.booking-form input,.booking-form select,.booking-form textarea{border:2px solid #e8e2d8;border-radius:14px;padding:.7rem .85rem;background:var(--bg-soft);color:var(--ink);outline:none;transition:border-color .2s ease,box-shadow .2s ease}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{border-color:var(--purple);box-shadow:0 0 0 3px #7b6bb82e}.booking-form legend{margin-bottom:.45rem;font-weight:700;font-size:.9rem}.slot-grid{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}.slot{border:2px solid #e8e2d8;background:var(--bg-soft);border-radius:12px;padding:.65rem .5rem;font-size:.82rem;font-weight:700;color:var(--muted);transition:border-color .2s ease,background .2s ease,color .2s ease}.slot:hover{border-color:var(--teal);color:var(--ink)}.slot.selected{border-color:var(--purple);background:var(--purple-soft);color:var(--purple-deep)}.form-error{margin:0;color:#c45b6e;font-weight:700;font-size:.9rem}.modal-primary{border:none;margin-top:.25rem;background:linear-gradient(180deg,#8a79c4 0%,var(--purple) 100%);color:#fff;font-weight:800;font-size:1rem;padding:.9rem 1.2rem;border-radius:999px;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 10px 24px #7b6bb847}.modal-primary:hover{transform:translateY(-1px);box-shadow:0 14px 28px #7b6bb859}.modal-success{text-align:center;padding:1.5rem .5rem .5rem;display:flex;flex-direction:column;align-items:center;gap:.85rem}.success-icon{width:3.4rem;height:3.4rem;border-radius:50%;background:var(--teal-soft);color:var(--teal);display:grid;place-items:center;font-size:1.5rem;font-weight:800}@media(max-width:560px){.form-row,.slot-grid{grid-template-columns:1fr}}.app{min-height:100vh;padding:1.25rem 1.5rem 2.5rem;max-width:1200px;margin:0 auto}main{display:flex;flex-direction:column;gap:1.75rem}@media(max-width:768px){.app{padding:1rem 1rem 2rem}}:root{--bg: #f7f4ef;--bg-soft: #fbf9f6;--ink: #1f2a44;--muted: #5b6478;--teal: #2f9e9a;--teal-soft: #d7efed;--teal-pill: #c8ebe8;--purple: #7b6bb8;--purple-deep: #6a5aa8;--purple-soft: #ebe6f7;--yellow: #f6c94d;--yellow-soft: #ffe9a8;--pink: #e89bb0;--pink-soft: #f8dce4;--white: #ffffff;--shadow: 0 18px 40px rgba(60, 70, 100, .08);--radius-lg: 28px;--radius-xl: 36px;--font: "Nunito", system-ui, sans-serif}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;font-family:var(--font);color:var(--ink);background:radial-gradient(ellipse 80% 50% at 10% 0%,rgba(200,235,232,.55),transparent 55%),radial-gradient(ellipse 70% 45% at 90% 10%,rgba(235,230,247,.6),transparent 50%),radial-gradient(ellipse 60% 40% at 50% 100%,rgba(255,233,168,.35),transparent 55%),var(--bg);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}#root{min-height:100vh}
