:root { --ink:#183f3a; --paper:#f7f2e8; --cream:#fffaf0; --coral:#ef785d; --yellow:#f2c958; --mint:#b9ddd0; --font-display:"Fraunces",serif; --font-sans:"Manrope",sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--font-sans),sans-serif; }
a { color:inherit; text-decoration:none; }
.shell { width:min(1180px,calc(100% - 48px)); margin-inline:auto; }
.nav { height:92px; display:flex; align-items:center; justify-content:space-between; }
.brand { display:flex; align-items:center; gap:12px; font-size:.76rem; font-weight:800; letter-spacing:.18em; }
.brand-mark { width:36px;height:36px;border:2px solid var(--ink);display:grid;place-items:center;border-radius:50% 50% 46% 54%;font-family:var(--font-display);font-size:1.2rem;transform:rotate(-4deg); }
.nav-links { display:flex; gap:35px; font-size:.86rem; font-weight:700; }
.nav-links a:hover,.footer a:hover { color:var(--coral); }
.button { display:inline-flex; align-items:center; justify-content:center; gap:18px; border-radius:3px; padding:17px 22px; background:var(--coral); color:#fff; font-weight:800; font-size:.83rem; letter-spacing:.01em; box-shadow:4px 4px 0 var(--ink); transition:.2s ease; }
.button:hover { transform:translate(-2px,-2px); box-shadow:6px 6px 0 var(--ink); }
.button-small { padding:12px 17px; box-shadow:3px 3px 0 var(--ink); }
.hero { min-height:635px; display:grid; grid-template-columns:1.02fr .98fr; align-items:center; gap:70px; padding-block:58px 78px; }
.eyebrow { display:flex; align-items:center; gap:10px; text-transform:uppercase; letter-spacing:.17em; font-size:.67rem; font-weight:900; }
.eyebrow span { width:26px; height:2px; background:var(--coral); }
h1,h2,h3,p { margin-top:0; }
h1,h2 { font-family:var(--font-display),serif; font-weight:600; letter-spacing:-.045em; }
h1 { font-size:clamp(4rem,7.2vw,6.6rem); line-height:.92; margin:30px 0 25px; max-width:660px; }
h1 em { color:var(--coral); font-weight:600; }
.hero-intro { max-width:545px; font-size:1.05rem; line-height:1.75; color:#476761; }
.hero-actions { display:flex; align-items:center; gap:31px; margin-top:33px; }
.text-link { font-size:.82rem; font-weight:800; border-bottom:1px solid var(--ink); padding-bottom:5px; }
.trust-row { display:flex; align-items:center; gap:15px; margin-top:50px; }
.avatars { display:flex; }
.avatars span { width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--yellow);border:2px solid var(--paper);font-size:.58rem;font-weight:900;margin-left:-8px; }
.avatars span:first-child { margin-left:0;background:var(--mint); }.avatars span:last-child{background:var(--coral);color:#fff}
.trust-row strong,.trust-row small { display:block; }.trust-row strong{font-size:.76rem}.trust-row small{font-size:.68rem;color:#6a817d;margin-top:4px}
.hero-art { height:470px; position:relative; border-radius:50% 46% 48% 52%; background:var(--mint); overflow:hidden; box-shadow:16px 16px 0 #e5b748; transform:rotate(1deg); }
.sun { position:absolute; width:180px;height:180px;border-radius:50%;background:var(--yellow);right:-28px;top:-35px; }
.note-card { position:absolute; width:310px; height:230px; left:83px; top:95px; background:#fffaf0; padding:36px; transform:rotate(-4deg); box-shadow:9px 11px 0 rgba(24,63,58,.18); }
.note-card:before { content:""; position:absolute; width:80px;height:23px;background:rgba(239,120,93,.72);top:-11px;left:113px;transform:rotate(2deg); }
.note-label { display:block;font-size:.57rem;letter-spacing:.16em;font-weight:900;color:var(--coral);margin-bottom:18px}
.note-card strong{font-family:var(--font-display);font-size:1.65rem;display:block;margin-bottom:25px}.note-line{font-size:.72rem;font-weight:700;margin:12px 0}.note-line i{display:inline-block;width:9px;height:9px;background:var(--yellow);border-radius:50%;margin-right:10px}
.pencil{position:absolute;bottom:23px;right:95px;font-size:6rem;color:var(--coral);transform:rotate(-25deg)}.coffee{position:absolute;width:110px;height:88px;border-radius:10px 10px 45px 45px;background:var(--cream);left:40px;bottom:-10px;display:grid;place-items:center;font-size:2rem}.coffee:after{content:"";position:absolute;width:28px;height:35px;border:8px solid var(--cream);border-left:0;border-radius:0 24px 24px 0;right:-26px}.scribble{position:absolute;right:42px;top:55px;font-size:2rem;transform:rotate(20deg)}.spark{position:absolute;color:var(--cream);font-size:1.8rem}.spark-one{left:30px;top:45px}.spark-two{right:25px;bottom:105px}
.ticker { min-height:65px;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;gap:36px;overflow:hidden;white-space:nowrap;font-size:.66rem;font-weight:900;letter-spacing:.17em}.ticker b{color:var(--yellow);font-size:1rem}
.how { padding-block:112px 120px; }
.section-heading { max-width:580px; margin-bottom:58px; }.section-heading h2{font-size:clamp(2.8rem,5vw,4.3rem);line-height:1.05;margin:18px 0}.section-heading>p:last-child{color:#65807a;line-height:1.7}
.steps { display:grid;grid-template-columns:repeat(3,1fr);gap:22px }.steps article{position:relative;background:var(--cream);padding:38px 34px 35px;border:1px solid rgba(24,63,58,.14);min-height:255px}.steps article:nth-child(2){transform:translateY(18px);background:#f0c85c}.steps article:nth-child(3){background:#c6e3d9}.steps article>b{position:absolute;right:22px;top:18px;font-family:var(--font-display);font-size:1.3rem;color:rgba(24,63,58,.3)}.step-icon{font-size:2.3rem;margin-bottom:28px}.steps h3{font-family:var(--font-display);font-size:1.45rem;margin-bottom:12px}.steps p{font-size:.82rem;line-height:1.65;color:#526e68}
.split-cta { background:var(--ink);color:#fff;padding:70px;display:flex;align-items:end;justify-content:space-between;margin-bottom:85px;position:relative;overflow:hidden}.split-cta:after{content:"✦";position:absolute;right:43%;top:25px;color:var(--yellow);font-size:2.3rem}.eyebrow.light span{background:var(--yellow)}.split-cta h2{font-size:3.5rem;line-height:1.06;margin:22px 0 0}.button-light{background:var(--yellow);color:var(--ink);white-space:nowrap}
.footer { min-height:125px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(24,63,58,.16);font-size:.75rem}.footer p{margin:0;color:#6b817d}.footer>a:last-child{font-weight:800}

.page-hero { padding:85px 0 55px;text-align:center}.page-hero h1{margin:18px auto 24px;font-size:clamp(3.5rem,6vw,5.5rem);max-width:820px}.page-hero p:not(.eyebrow){color:#5d7872;line-height:1.7;max-width:610px;margin-inline:auto}.page-hero .eyebrow{justify-content:center}
.booking-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:25px;padding-bottom:110px}.booking-card{background:var(--cream);border:1px solid rgba(24,63,58,.15);padding:42px;position:relative;min-height:390px}.booking-card.featured{background:var(--yellow)}.booking-card.social{background:var(--mint);grid-column:1/-1;max-width:690px;margin:auto}.duration{font-size:.65rem;letter-spacing:.16em;font-weight:900;color:var(--coral)}.booking-card h2{font-size:2.5rem;margin:20px 0 14px}.booking-card p{font-size:.88rem;line-height:1.7;color:#4f6b65}.price{font-family:var(--font-display);font-size:2rem;margin:28px 0}.price small{font-family:var(--font-sans);font-size:.7rem}.checks{list-style:none;padding:0;margin:22px 0 30px}.checks li{font-size:.78rem;margin:12px 0}.checks li:before{content:"✓";margin-right:10px;color:var(--coral);font-weight:900}.booking-card .button{width:100%}.privacy-note{text-align:center;color:#6a817c;font-size:.72rem;margin:-70px 0 80px}.back-link{font-size:.78rem;font-weight:800}.friends-theme{background:#f2d9d0}.friends-theme .hero-art{background:#f3b5a5;box-shadow:16px 16px 0 var(--ink)}
.booking-head{padding-bottom:35px}.form-wrap{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:25px;padding-bottom:100px;align-items:start}.booking-form{background:var(--cream);padding:42px;border:1px solid rgba(24,63,58,.15)}.booking-form label{display:block;font-size:.74rem;font-weight:800;margin-bottom:22px}.booking-form label small{font-weight:400;color:#6a817c}.booking-form input,.booking-form select,.booking-form textarea{display:block;width:100%;margin-top:9px;border:1px solid rgba(24,63,58,.28);background:#fff;padding:14px 15px;font:inherit;color:var(--ink);border-radius:2px}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{outline:3px solid rgba(239,120,93,.3);border-color:var(--coral)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.consent{display:flex!important;align-items:flex-start;gap:10px;line-height:1.5;font-weight:600!important}.consent input{width:auto;margin:3px 0 0}.submit-button{border:0;cursor:pointer;width:100%;font:inherit}.form-footnote{font-size:.68rem;color:#6a817c;line-height:1.6;margin:20px 0 0}.form-message{color:#a83d2e;font-size:.78rem;font-weight:800;line-height:1.5;margin-bottom:16px}.honeypot{position:absolute;left:-9999px}.booking-summary{background:var(--mint);padding:36px;box-shadow:7px 7px 0 var(--ink)}.booking-summary h2{font-size:2rem;margin:17px 0 12px}.booking-summary p{font-size:.8rem;line-height:1.65}
.embed-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:28px;align-items:start;padding-bottom:110px}.zcal-shell{position:relative;background:var(--cream);border:1px solid rgba(24,63,58,.14);padding:30px;min-height:610px;box-shadow:9px 9px 0 rgba(24,63,58,.16)}.zcal-shell.warm{background:#fff5d9}.tape{position:absolute;width:92px;height:24px;background:rgba(239,120,93,.7);top:-12px;left:calc(50% - 46px);z-index:2;transform:rotate(-2deg)}.embed-layout .booking-summary{position:sticky;top:24px;min-height:320px}.yellow-summary{background:var(--yellow)}.coral-summary{background:#f2aa98}.summary-doodle{font-family:var(--font-display);font-size:3.3rem;color:rgba(24,63,58,.25);margin-top:30px;text-align:right;transform:rotate(-5deg)}
@media(max-width:800px){.shell{width:min(100% - 28px,1180px)}.nav-links{display:none}.hero{grid-template-columns:1fr;padding-top:35px;gap:45px}.hero-art{height:390px}.note-card{left:50%;transform:translateX(-50%) rotate(-4deg);top:80px}.ticker{justify-content:flex-start;padding-inline:20px}.steps,.booking-grid{grid-template-columns:1fr}.steps article:nth-child(2){transform:none}.split-cta{padding:45px 28px;display:block}.split-cta h2{font-size:2.6rem;margin-bottom:35px}.footer{flex-direction:column;justify-content:center;gap:18px;text-align:center}.booking-card.social{grid-column:auto}.page-hero{padding-top:55px}}
@media(max-width:800px){.form-wrap{grid-template-columns:1fr}.booking-summary{grid-row:1}.form-row{grid-template-columns:1fr}}
@media(max-width:800px){.embed-layout{grid-template-columns:1fr}.embed-layout .booking-summary{grid-row:1;position:static}.zcal-shell{padding:14px;min-height:560px}}
@media(max-width:480px){.nav{height:76px}.button-small{font-size:0;padding:11px}.button-small span{font-size:1rem}.hero{padding-bottom:55px}.hero-art{height:330px}.note-card{width:250px;height:200px;padding:28px;top:65px}.pencil{font-size:4rem}.booking-card{padding:28px}.hero-actions{align-items:flex-start;flex-direction:column}.trust-row{margin-top:35px}}
