@font-face {
  font-family: 'Amatic SC';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/AmaticSC-700-hebrew.woff2") format("woff2");
  unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}
@font-face {
  font-family: 'Amatic SC';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/AmaticSC-700-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Fredoka';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("/fonts/Fredoka-500-hebrew.woff2") format("woff2");
  unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}
@font-face {
  font-family: 'Fredoka';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("/fonts/Fredoka-500-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Fredoka';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("/fonts/Fredoka-600-hebrew.woff2") format("woff2");
  unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}
@font-face {
  font-family: 'Fredoka';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("/fonts/Fredoka-600-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Fredoka';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("/fonts/Fredoka-700-hebrew.woff2") format("woff2");
  unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}
@font-face {
  font-family: 'Fredoka';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("/fonts/Fredoka-700-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Rubik';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/Rubik-400-hebrew.woff2") format("woff2");
  unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}
@font-face {
  font-family: 'Rubik';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/Rubik-400-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Rubik';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/Rubik-500-hebrew.woff2") format("woff2");
  unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}
@font-face {
  font-family: 'Rubik';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/Rubik-500-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Rubik';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/Rubik-700-hebrew.woff2") format("woff2");
  unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}
@font-face {
  font-family: 'Rubik';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/Rubik-700-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


:root{--ink:#2B0B3F;--ink2:#5A4468;--cream:#FFF6EC;--sun:#FFD23F;--pink:#D6186F;--pink2:#FF4FA3;--sky:#4CC9F0;--card:#fff}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font:400 18px/1.7 Rubik,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:Fredoka,Rubik,sans-serif;margin:0;line-height:1.1}
a{color:var(--pink)}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
section{padding:96px 0}
.eyebrow{display:inline-block;font:600 15px/1 Fredoka,Rubik,sans-serif;letter-spacing:.04em;color:var(--ink);background:var(--sun);border:2px solid var(--ink);border-radius:999px;padding:8px 16px}
.btn{display:inline-flex;align-items:center;gap:10px;min-height:56px;padding:14px 30px;border:2px solid var(--ink);border-radius:12px;background:var(--pink);color:#fff;text-decoration:none;font:700 20px/1 Fredoka,Rubik,sans-serif;box-shadow:4px 4px 0 var(--ink);transition:transform .15s,box-shadow .15s;cursor:pointer}
.btn:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ink);color:#fff}
.btn:active{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--ink)}
.btn.alt{background:#fff;color:var(--ink)}
.btn.alt:hover{color:var(--ink)}

/* nav */
.nav{position:sticky;top:0;z-index:20;background:rgba(255,246,236,.92);backdrop-filter:blur(8px);border-bottom:2px solid var(--ink)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:68px}
.brand{font:700 24px/1 Fredoka,Rubik,sans-serif;color:var(--ink);text-decoration:none}
.brand b{color:var(--pink)}
.nav nav{display:flex;gap:28px;align-items:center}
.nav nav a:not(.btn){color:var(--ink);text-decoration:none;font-weight:500;font-size:16px}
.nav nav a:not(.btn):hover{color:var(--pink)}
.nav .btn{min-height:44px;padding:10px 20px;font-size:16px;box-shadow:3px 3px 0 var(--ink)}

/* hero */
.hero{background:var(--sun);border-bottom:2px solid var(--ink);padding:88px 0 96px;position:relative;overflow:hidden}
.hero:before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(43,11,63,.13) 1.6px,transparent 1.6px);background-size:26px 26px;pointer-events:none}
.hero .wrap{position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
.hero h1{font-size:104px;font-weight:700;letter-spacing:-1px;margin:22px 0 18px}
.hero h1 span{display:block}
.hero h1 .hl{color:var(--pink2);-webkit-text-stroke:4px var(--ink);paint-order:stroke fill;text-shadow:5px 5px 0 var(--ink)}
.hero .lead{font:700 28px/1.3 Fredoka,Rubik,sans-serif;margin:0 0 10px}
.hero p.sub{margin:0 0 30px;font-size:20px;max-width:34em}
.cta-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.stats{display:flex;gap:14px;margin-top:44px}
.stat{background:#fff;border:2px solid var(--ink);border-radius:14px;padding:14px 20px;box-shadow:4px 4px 0 var(--ink);text-align:center;min-width:112px}
.stat b{display:block;font:700 40px/1 Fredoka,sans-serif;color:var(--pink)}
.stat span{font-size:14px;color:var(--ink2);font-weight:500}
.collage{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.collage img{width:100%;aspect-ratio:1;object-fit:cover;border:2px solid var(--ink);border-radius:16px;box-shadow:5px 5px 0 var(--ink);display:block;background:#fff}
.collage img:nth-child(2){margin-top:30px}
.collage img:nth-child(3){margin-top:-30px}

/* intro */
.intro{background:var(--cream)}
.intro .wrap{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.intro h2{font-size:52px;margin-bottom:22px}
.intro h2 em{font-style:normal;background:var(--ink);color:var(--sun);padding:0 14px;border-radius:10px;white-space:nowrap}
.intro p{margin:0 0 16px;color:var(--ink)}
.intro .big{font:700 26px/1.35 Fredoka,Rubik,sans-serif}
.perfect{background:#fff;border:2px solid var(--ink);border-radius:20px;padding:36px;box-shadow:6px 6px 0 var(--ink)}
.perfect .kick{font:600 15px/1 Fredoka,sans-serif;color:var(--pink);letter-spacing:.04em;margin-bottom:14px;display:block}
.perfect h3{font-size:34px;margin-bottom:16px}
.perfect h3 span{color:var(--pink)}
.perfect p{font-size:19px}

/* rooms */
.rooms{background:#fff;border-block:2px solid var(--ink)}
.head{text-align:center;max-width:640px;margin:0 auto 52px}
.head h2{font-size:56px;margin:18px 0 12px}
.head p{margin:0;color:var(--ink2);font-size:19px}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.room{background:var(--cream);border:2px solid var(--ink);border-radius:16px;overflow:hidden;box-shadow:4px 4px 0 var(--ink);display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.room:hover{transform:translate(-2px,-3px);box-shadow:6px 7px 0 var(--ink)}
.room .ph{position:relative;aspect-ratio:4/3;border-bottom:2px solid var(--ink);overflow:hidden;background:#ddd}
.room .ph img{width:100%;height:100%;object-fit:cover;display:block}
.room .no{position:absolute;top:10px;right:10px;background:var(--sun);border:2px solid var(--ink);border-radius:999px;padding:5px 12px;font:700 14px/1 Fredoka,sans-serif}
.room details{padding:16px 18px 18px;flex:1}
.room summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:10px}
.room summary::-webkit-details-marker{display:none}
.room h3{font-size:22px}
.room .min{display:block;font-size:14px;color:var(--ink2);margin-top:4px}
.plus{flex:none;width:34px;height:34px;border:2px solid var(--ink);border-radius:50%;background:var(--pink);color:#fff;display:grid;place-items:center;font:700 22px/1 Fredoka,sans-serif;transition:transform .2s}
details[open] .plus{transform:rotate(45deg);background:var(--ink)}
.room details p{margin:14px 0 0;font-size:16px;line-height:1.65}

/* after */
.after{background:var(--cream)}
.after .wrap{max-width:820px;text-align:center}
.after p{font-size:22px;line-height:1.7;margin:0 0 20px}
.zzz{display:inline-flex;align-items:baseline;gap:14px;background:var(--ink);color:var(--sun);border-radius:16px;padding:14px 28px;margin-top:8px}
.zzz b{font:700 40px/1 Fredoka,sans-serif;letter-spacing:.08em}
.zzz span{font:600 20px/1 Fredoka,Rubik,sans-serif;color:#fff}

/* where */
.where{background:var(--ink);color:#fff;border-block:2px solid var(--ink);padding:80px 0 72px;overflow:hidden}
.where h2{font-size:48px;text-align:center;margin-bottom:38px;padding:0 20px}
.where h2 span{color:var(--sun)}
.rows{display:grid;gap:16px;direction:ltr}
.row{overflow:hidden;padding:4px 0 8px}
.track{display:flex;gap:14px;width:max-content;direction:rtl}
.row.l .track{animation:mq-l 90s linear infinite}
.row.r .track{animation:mq-r 100s linear infinite}
.row:hover .track{animation-play-state:paused}
@keyframes mq-l{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes mq-r{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.pill{flex:none;white-space:nowrap;display:inline-flex;align-items:center;gap:12px;background:var(--cream);color:var(--ink);border:3px solid var(--ink);border-radius:999px 999px 999px 8px;padding:12px 24px 12px 20px;font:600 21px/1 Fredoka,Rubik,sans-serif;box-shadow:4px 4px 0 var(--pink2)}
.pill i{width:14px;height:14px;border-radius:50%;border:2px solid var(--ink);background:var(--c)}
.pill small{font:400 17px/1 Rubik,sans-serif;color:var(--ink2)}
@media (prefers-reduced-motion:reduce){.track{animation:none!important}.row{overflow-x:auto}}

/* testimonials */
.voices{background:#DDF4FF;border-bottom:2px solid var(--ink)}
.voices .head h2{font-size:56px}
.voices .head h2 span{color:var(--pink)}
.tgrid{columns:2 320px;column-gap:28px}
.t{break-inside:avoid;margin:0 0 28px;border:3px solid var(--ink);border-radius:6px 6px 26px 6px;padding:28px 26px 22px;box-shadow:6px 7px 0 var(--ink);position:relative;display:block}
.t:nth-child(1){background:#FFE36E;rotate:-1.2deg}
.t:nth-child(2){background:#fff;rotate:1deg}
.t:nth-child(3){background:#FFB3D6;rotate:-.8deg}
.t:nth-child(4){background:#C6F26B;rotate:1.3deg}
.t .q-mark{display:block;height:44px;font:700 84px/1 'Amatic SC',Fredoka,sans-serif;color:var(--ink)}
.t:nth-child(2) .q-mark{color:var(--pink)}
.t p{margin:0;font:500 21px/1.55 Fredoka,Rubik,sans-serif}
.t cite{display:block;margin-top:12px;font-style:normal;font-weight:700;font-size:16px;color:#5B1F57}

/* faq */
.faq{background:#fff;border-block:2px solid var(--ink)}
.faq .list{max-width:780px;margin:0 auto;display:grid;gap:14px}
.q{border:2px solid var(--ink);border-radius:14px;background:var(--cream);box-shadow:3px 3px 0 var(--ink)}
.q summary{list-style:none;cursor:pointer;padding:18px 22px;display:flex;justify-content:space-between;align-items:center;gap:16px;font:600 20px/1.3 Fredoka,Rubik,sans-serif}
.q summary::-webkit-details-marker{display:none}
.q .a{padding:0 22px 20px;font-size:17px;color:var(--ink)}
.q .a a{font-weight:700}

/* contact */
.contact{background:var(--sun);padding:96px 0}
.contact .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center}
.contact h2{font-size:60px;margin:18px 0 18px}
.contact p{font-size:20px;margin:0}
form{background:#fff;border:2px solid var(--ink);border-radius:20px;padding:32px;box-shadow:6px 6px 0 var(--ink);display:grid;gap:14px}
label{display:grid;gap:6px;font-weight:700;font-size:15px}
input,textarea{font:400 17px/1.4 Rubik,sans-serif;color:var(--ink);padding:13px 14px;border:2px solid var(--ink);border-radius:10px;background:var(--cream);width:100%}
input:focus,textarea:focus{outline:3px solid var(--pink2);outline-offset:1px}
textarea{min-height:96px;resize:vertical}
form .btn{justify-content:center;width:100%;margin-top:6px}
.thanks{text-align:center;padding:30px 0}
.thanks h3{font-size:40px;margin-bottom:10px;color:var(--pink)}
.thanks p{font-size:20px}
[hidden]{display:none!important}

footer.site{background:var(--ink);color:#fff;padding:34px 0;text-align:center;font-size:15px}
footer.site b{font-family:Fredoka,sans-serif;font-size:20px;color:var(--sun)}

.sticky{display:none}

/* ===== unified system ===== */
:root{--shape:8px 8px 28px 8px;--shape-s:8px 8px 18px 8px;--b:3px solid var(--ink);--sh:6px 7px 0 var(--ink);--sh-s:4px 5px 0 var(--ink)}
section{border-bottom:var(--b)}
.nav{border-bottom:var(--b)}
.hero,.intro,.rooms,.after,.where,.voices,.faq,.contact{border-block:0;border-bottom:var(--b)}
.eyebrow{border:var(--b);border-radius:999px}
.head h2,.intro h2,.contact h2,.where h2{font-size:54px;text-wrap:balance}
.head h2 span,.intro h2 span,.contact h2 span{color:var(--pink)}
.contact h2 span{color:#A30F55}
.btn{border:var(--b);border-radius:12px 12px 20px 12px;box-shadow:var(--sh-s)}
.btn:hover{box-shadow:6px 8px 0 var(--ink)}
.stat,.room,.perfect,.t,form,.q,.thanks{border:var(--b)}
.room{border-radius:var(--shape);box-shadow:var(--sh)}
.perfect{border-radius:var(--shape);box-shadow:var(--sh);background:#fff;rotate:-1deg}
.stat{border-radius:var(--shape-s);box-shadow:var(--sh-s)}
form,.thanks{border-radius:var(--shape);box-shadow:var(--sh)}
.q{border-radius:var(--shape-s);box-shadow:var(--sh-s)}
.q[open]{background:#fff}
.room:nth-child(odd){rotate:-.6deg}.room:nth-child(even){rotate:.6deg}
.room:hover{rotate:0deg}
.room .ph{border-bottom:var(--b)}
.room .no,.plus{border:var(--b)}
.plus{border-width:2px}
.faq{background:var(--cream)}
.after{background:#fff}
input,textarea{border:var(--b);border-radius:8px 8px 14px 8px}
.chips{display:none}
.pill{border-width:3px}

/* hero */
.hero{padding:76px 0 130px;border-bottom:0}
.hero .wrap{grid-template-columns:1.1fr .9fr;gap:20px 56px;align-items:center}
.hero .deco{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.hero .deco .d1,.hero .deco .d2,.hero .deco .d3{transform-box:fill-box;transform-origin:center;animation:bob 6s ease-in-out infinite}
.hero .deco .d2{animation-duration:8s;animation-direction:reverse}
.hero .deco .d3{animation-duration:10s}
@keyframes bob{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-16px) rotate(8deg)}}
.hero .wave{position:absolute;left:0;bottom:-1px;width:100%;height:70px;display:block}
.hero:before{display:none}
.hero h1{font-size:120px;margin:24px 0 20px}
.hero h1 .hl{-webkit-text-stroke:5px var(--ink);text-shadow:6px 7px 0 var(--ink)}
.hero .lead{font-size:30px}
.hero-text{position:relative}
.collage{position:relative;gap:18px;padding:10px}
.collage img{border:5px solid #fff;outline:3px solid var(--ink);border-radius:var(--shape-s);box-shadow:var(--sh)}
.collage img:nth-child(1){rotate:-4deg}
.collage img:nth-child(2){rotate:3deg;margin-top:34px}
.collage img:nth-child(3){rotate:3deg;margin-top:-10px}
.collage img:nth-child(4){rotate:-3deg;margin-top:24px}
.badge{position:absolute;top:50%;left:50%;translate:-50% -50%;width:104px;height:104px;border-radius:50%;background:var(--pink);color:#fff;border:var(--b);box-shadow:var(--sh-s);display:grid;place-content:center;text-align:center;font:700 17px/1 Fredoka,sans-serif;rotate:-8deg;animation:wob 3.2s ease-in-out infinite}
.badge b{display:block;font-size:42px;line-height:1}
@keyframes wob{0%,100%{rotate:-8deg}50%{rotate:6deg}}
.stats{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:34px;position:relative}
.stat{background:var(--ink);color:#fff;text-align:center;padding:18px 16px;box-shadow:var(--sh-s)}
.stat b{color:var(--sun);font-size:48px}
.stat span{color:#F3E6FA;font-size:16px}
@media (prefers-reduced-motion:reduce){.hero .deco *,.badge{animation:none!important}}

.ph-empty{display:grid;place-items:center;background:repeating-linear-gradient(135deg,#FFE36E 0 18px,#FFD23F 18px 36px)}
.ph-empty .emo{font-size:84px;line-height:1;filter:drop-shadow(4px 5px 0 var(--ink))}
.paid{position:absolute;bottom:10px;right:10px;background:var(--pink);color:#fff;border:var(--b);border-radius:999px;padding:5px 12px;font:600 14px/1 Fredoka,Rubik,sans-serif}
/* ===== motion ===== */
@keyframes rise{from{opacity:0;translate:0 40px}to{opacity:1;translate:0 0}}
@keyframes pop{from{opacity:0;scale:.6}60%{scale:1.06}to{opacity:1;scale:1}}
@keyframes floaty{0%,100%{translate:0 0}50%{translate:0 -10px}}
@keyframes ring{0%{box-shadow:var(--sh-s),0 0 0 0 rgba(214,24,111,.5)}70%,100%{box-shadow:var(--sh-s),0 0 0 18px rgba(214,24,111,0)}}
@keyframes drop{from{opacity:0;translate:0 -8px}to{opacity:1;translate:0 0}}
@keyframes zz{0%,100%{translate:0 0;rotate:0deg}50%{translate:0 -8px;rotate:-4deg}}
@keyframes shine{0%,100%{background-position:0 0}50%{background-position:100% 0}}
.hero .eyebrow{animation:pop .6s both}
.hero h1 span:nth-child(1){animation:rise .7s .1s both}
.hero h1 span:nth-child(2){animation:rise .7s .25s both}
.hero .lead{animation:rise .7s .4s both}
.hero .sub{animation:rise .7s .5s both}
.hero .cta-row{animation:rise .7s .6s both}
.hero .cta-row .btn:first-child{animation:ring 2.4s 1.6s infinite}
.hero .cta-row .btn:first-child:hover{animation:none}
.collage img{animation:pop .7s both,floaty 6s 1s ease-in-out infinite}
.collage img:nth-child(1){animation-delay:.3s,1s}
.collage img:nth-child(2){animation-delay:.45s,2.2s}
.collage img:nth-child(3){animation-delay:.6s,1.6s}
.collage img:nth-child(4){animation-delay:.75s,2.8s}
.badge{animation:pop .6s .9s both,wob 3.2s 1.5s ease-in-out infinite}
.stat{animation:rise .6s both}
.stat:nth-child(1){animation-delay:.8s}.stat:nth-child(2){animation-delay:.95s}.stat:nth-child(3){animation-delay:1.1s}
.intro h2{line-height:1.35}
.intro h2 em{display:inline-block;font-size:1.3em;line-height:1.15;margin-top:12px;padding:0 18px;animation:wig 2.6s ease-in-out infinite}
@keyframes wig{0%,100%{rotate:0deg}50%{rotate:-2.5deg}}
.zzz b{display:inline-block;animation:zz 2s ease-in-out infinite}
.room details[open] p,.q[open] .a{animation:drop .35s both}
.room .ph img{transition:transform .5s}
.room:hover .ph img{transform:scale(1.07)}
.pill i{transition:transform .2s}
.pill:hover i{transform:scale(1.5)}
.t{transition:translate .5s,opacity .5s,transform .25s}
.t:hover{transform:rotate(1deg) translateY(-4px)}
/* scroll reveal: starts partly visible, never hidden */
.rv{opacity:.35;translate:0 34px;transition:opacity .6s ease,translate .6s cubic-bezier(.2,.8,.2,1);transition-delay:var(--d,0s)}
.rv.in{opacity:1;translate:0 0}
@media (prefers-reduced-motion:reduce){
 *,*:before,*:after{animation:none!important;transition:none!important}
 .rv{opacity:1;translate:none}
}

@media (max-width:900px){
 section{padding:64px 0}
 .nav nav a:not(.btn){display:none}
 .hero{padding:56px 0 64px}
 .hero .wrap,.intro .wrap,.contact .wrap{grid-template-columns:1fr;gap:40px}
 .hero{padding:56px 0 110px}
 .hero h1{font-size:80px}
 .collage{max-width:440px;margin:0 auto}
 .head h2,.intro h2,.contact h2,.where h2{font-size:40px}
 .hero .lead{font-size:24px}
 .collage{max-width:420px}
 .stats{flex-wrap:wrap}
 .intro h2,.head h2{font-size:40px}
 .grid{grid-template-columns:repeat(2,1fr)}
 .tgrid{grid-template-columns:1fr}
 .contact h2{font-size:44px}
 .sticky{display:block;position:fixed;inset:auto 0 0 0;z-index:30;padding:10px 16px;background:rgba(255,246,236,.96);border-top:2px solid var(--ink)}
 .sticky .btn{width:100%;justify-content:center;min-height:50px}
 body{padding-bottom:72px}
}
@media (max-width:560px){
 .wrap{padding:0 18px}
 .hero h1{font-size:64px}
 .stat b{font-size:34px}
 .badge{width:84px;height:84px;font-size:14px}
 .badge b{font-size:32px}
 .stats{gap:10px}
 .grid{grid-template-columns:1fr}
 .stat{min-width:0;flex:1;padding:12px 10px}
 .stat b{font-size:32px}
 .perfect{padding:26px}
 .q summary{font-size:18px}
 form{padding:22px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.hp{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}
#contact-status{margin:0;min-height:1.4em;font-weight:700;text-align:center}
#contact-status.ok{color:#1b7a3a}
#contact-status.err{color:#B00020}

.privacy-note { margin: 0; font-size: 14px; line-height: 1.5; opacity: .8; }
.privacy-note a { color: inherit; }
