:root{--ink:#172523;--green:#0f5b4d;--mint:#dff3e8;--lime:#d9f36b;--coral:#ff6b4a;--cream:#fffaf0;--white:#fff;--muted:#66716e;--line:#dfe7e2;--shadow:0 18px 45px rgba(19,55,47,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--cream)}a{color:inherit;text-decoration:none}.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,24px);background:rgba(255,250,240,.94);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(23,37,35,.07);backdrop-filter:blur(12px)}.brand{font:700 27px 'Fredoka';display:flex;align-items:center;gap:9px;color:var(--green)}.brand-dot{width:36px;height:36px;border-radius:50%;background:var(--coral);color:white;display:grid;place-items:center;transform:rotate(-8deg)}nav{display:flex;gap:32px;font-size:14px;font-weight:600}nav a:hover{color:var(--coral)}.button{border:0;background:var(--coral);color:white;border-radius:12px;padding:15px 22px;font:700 14px 'DM Sans';display:inline-flex;align-items:center;justify-content:center;gap:20px;cursor:pointer;box-shadow:0 8px 20px rgba(255,107,74,.22);transition:.2s}.button:hover{transform:translateY(-2px);filter:brightness(.98)}.button-small{padding:11px 18px}.hero{min-height:650px;display:grid;grid-template-columns:1.05fr .95fr;background:var(--mint);overflow:hidden}.hero-copy{padding:105px 7vw 80px}.eyebrow{font-size:12px;letter-spacing:1.8px;font-weight:700;color:var(--green)}h1,h2{font-family:'Fredoka';margin:15px 0;line-height:1.02}h1{font-size:clamp(50px,6vw,82px);letter-spacing:-2px}h1 em{font-style:normal;color:var(--coral)}.hero-copy>p{font-size:18px;line-height:1.7;max-width:560px;color:#52625e}.hero-actions{display:flex;align-items:center;gap:28px;margin:30px 0}.text-link{font-weight:700;font-size:14px}.trust{display:flex;gap:19px;font-size:12px;font-weight:600;color:var(--green)}.hero-art{position:relative;background:#b9e4d2;clip-path:ellipse(85% 78% at 61% 44%)}.sun{position:absolute;width:110px;height:110px;background:var(--lime);border-radius:50%;top:70px;right:14%}.cloud{position:absolute;color:white;font-size:72px;opacity:.9}.cloud-a{top:125px;left:8%}.cloud-b{top:240px;right:5%;font-size:52px}.castle{position:absolute;left:17%;bottom:83px;width:70%;height:390px;filter:drop-shadow(0 25px 12px rgba(21,76,64,.17))}.tower{position:absolute;width:27%;height:67%;bottom:0;background:#f9cf4a;border-radius:25px 25px 6px 6px;border:7px solid #f5b834}.tower:before{content:"";position:absolute;width:120%;height:50px;background:var(--coral);left:-10%;top:-20px;clip-path:polygon(50% 0,100% 100%,0 100%)}.tower.left{left:0}.tower.right{right:0}.castle-main{position:absolute;width:58%;height:70%;bottom:0;left:21%;background:#ef5b43;border:7px solid #dc4934;border-radius:15px 15px 7px 7px;text-align:center}.castle-main>span{font-size:70px;color:var(--lime)}.door{position:absolute;width:47%;height:42%;bottom:0;left:26%;background:#164d44;border-radius:100px 100px 0 0}.flag{position:absolute;z-index:2;top:0;left:48%;color:var(--coral);font-size:42px}.shape{position:absolute;border:6px solid white;opacity:.7}.shape-one{width:30px;height:30px;transform:rotate(20deg);left:10%;bottom:70px}.shape-two{width:22px;height:22px;border-radius:50%;right:8%;bottom:120px}.section{padding:90px 7vw}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:38px}.section-heading h2,.steps h2,.booking-intro h2{font-size:43px}.section-heading>p{max-width:390px;color:var(--muted);line-height:1.6}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.product-card{background:white;border-radius:18px;overflow:hidden;box-shadow:0 6px 22px rgba(31,56,49,.06);transition:.25s}.product-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.product-image{height:220px;display:grid;place-items:center;position:relative;font-size:92px}.product-image small{position:absolute;top:15px;left:15px;background:white;border-radius:30px;padding:6px 10px;font-size:10px;font-weight:700;letter-spacing:1px}.product-info{padding:22px}.product-info h3{font:700 23px 'Fredoka';margin:0}.meta{display:flex;gap:14px;font-size:12px;color:var(--muted);margin:9px 0 20px}.product-foot{border-top:1px solid var(--line);padding-top:16px;display:flex;align-items:center;justify-content:space-between}.price b{font:700 23px 'Fredoka';color:var(--green)}.price small{color:var(--muted)}.choose{border:0;background:none;color:var(--coral);font-weight:700;cursor:pointer}.steps{text-align:center;padding:85px 7vw;background:white}.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;max-width:1050px;margin:50px auto 0}.step-grid article{position:relative}.step-grid article>b{position:absolute;top:-20px;left:26%;font:700 58px 'Fredoka';color:#eef3ef}.step-grid article>span{display:block;position:relative;font-size:45px}.step-grid h3{font:700 20px 'Fredoka';margin-bottom:8px}.step-grid p{color:var(--muted);font-size:14px;line-height:1.6}.booking-section{background:var(--green);padding:95px 7vw;display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:start}.booking-intro{color:white;padding-top:35px}.eyebrow.light{color:var(--lime)}.booking-intro h2{font-size:52px}.booking-intro>p{line-height:1.7;color:#c9ded8}.help-card{margin-top:40px;display:flex;align-items:center;gap:15px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.13);padding:17px;border-radius:13px;max-width:320px}.help-card>span{font-size:28px}.help-card small{display:block;color:#c9ded8;margin-top:4px}.booking-card{background:white;border-radius:20px;padding:30px;box-shadow:0 30px 60px rgba(0,0,0,.2);min-height:520px}.progress{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.progress span{height:4px;background:#e5ebe8;border-radius:10px}.progress span.active{background:var(--coral)}.form-title span{font-size:10px;color:var(--coral);font-weight:700;letter-spacing:1.4px}.form-title h3{font:700 28px 'Fredoka';margin:7px 0 24px}.form-step{display:none}.form-step.active{display:block;animation:fade .25s}@keyframes fade{from{opacity:0;transform:translateX(8px)}}label,legend{font-size:12px;font-weight:700;color:#35433f}label{display:block;margin-bottom:17px}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:9px;padding:12px;margin-top:7px;font:500 14px 'DM Sans';color:var(--ink);background:#fbfdfc;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(15,91,77,.1)}textarea{height:76px;resize:vertical}fieldset{border:0;padding:0;margin:0}legend{margin-bottom:10px}.time-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.time-btn{border:1px solid var(--line);background:white;border-radius:8px;padding:11px 7px;font-weight:700;color:var(--ink);cursor:pointer}.time-btn:hover,.time-btn.selected{border-color:var(--coral);background:#fff1ed;color:#d9482b}.empty-state{grid-column:1/-1;color:var(--muted);font-size:13px;background:#f5f8f6;padding:18px;border-radius:8px}.availability-note{display:block;color:#36a36f;margin-top:10px;font-weight:600}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-actions{display:flex;justify-content:space-between;align-items:center;margin-top:25px}.back{border:0;background:none;font-weight:700;color:var(--muted);cursor:pointer;visibility:hidden}.next{min-width:155px}.payment-options{display:grid;gap:8px}.payment{display:flex;align-items:center;gap:11px;border:1px solid var(--line);padding:10px;border-radius:10px;margin:0;cursor:pointer}.payment:has(input:checked){border-color:var(--green);background:#f1f8f5}.payment input{width:auto;margin:0}.payment>span:last-child{display:flex;flex-direction:column}.payment small{color:var(--muted);font-weight:400;margin-top:2px}.pay-icon{width:33px;height:33px;border-radius:8px;display:grid;place-items:center;color:white;font-weight:800}.mb{background:#00a89d}.pp{background:#1675bd}.cash{background:#e7a92b}.summary{margin-top:16px;background:var(--cream);padding:14px;border-radius:10px;font-size:13px}.summary-row{display:flex;justify-content:space-between;margin:5px 0}.summary-row.total{border-top:1px solid #e5dfd4;padding-top:9px;margin-top:9px;font-weight:700;font-size:16px}footer{background:#122d28;color:#d4e4df;padding:38px 7vw;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:25px}.footer-brand{color:white}footer p{color:#9ab6af}footer div{display:flex;flex-direction:column;gap:4px}footer small{grid-column:1/-1;border-top:1px solid #29453f;padding-top:20px;color:#78968e}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,120px);background:#222;color:white;padding:12px 18px;border-radius:9px;z-index:80;transition:.3s;font-size:13px}.toast.show{transform:translate(-50%,0)}.modal{position:fixed;inset:0;background:rgba(12,31,27,.74);display:none;place-items:center;z-index:100;padding:20px}.modal.open{display:grid}.modal-card{background:white;text-align:center;border-radius:22px;padding:38px;max-width:460px;box-shadow:var(--shadow)}.success-icon{width:62px;height:62px;background:var(--mint);color:var(--green);border-radius:50%;display:grid;place-items:center;margin:0 auto 18px;font-size:30px;font-weight:700}.modal-card h2{font-size:35px}.modal-card p{color:var(--muted);line-height:1.6}.reference{background:var(--cream);padding:12px;border-radius:8px;margin:18px 0;font-weight:700;color:var(--green)}@media(max-width:850px){nav{display:none}.hero{grid-template-columns:1fr}.hero-copy{padding:70px 7vw}.hero-art{height:480px;clip-path:none}.product-grid{grid-template-columns:1fr 1fr}.booking-section{grid-template-columns:1fr;gap:30px}.section-heading{display:block}.step-grid{gap:20px}footer{grid-template-columns:1fr 1fr}}@media(max-width:560px){.topbar .button{display:none}.hero-art{height:370px}.castle{height:290px;bottom:45px}.trust{flex-direction:column;gap:7px}.hero-actions{align-items:flex-start;flex-direction:column}.product-grid,.step-grid{grid-template-columns:1fr}.section,.steps,.booking-section{padding:65px 22px}.booking-card{padding:23px 18px}.two-cols{grid-template-columns:1fr}.time-grid{grid-template-columns:1fr 1fr}.booking-intro h2{font-size:43px}footer{grid-template-columns:1fr}.footer-brand{margin-bottom:5px}}
