@font-face{font-family:ReviewNoto;src:url('../../fonts/home/noto-400.woff2?v=20261027b') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:ReviewNoto;src:url('../../fonts/home/noto-500.woff2?v=20261027b') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:ReviewNoto;src:url('../../fonts/home/noto-700.woff2?v=20261027b') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:ReviewNoto;src:url('../../fonts/home/noto-800.woff2?v=20261027b') format('woff2');font-weight:800 900;font-display:swap}
@font-face{font-family:ReviewPen;src:url('../../fonts/home/nanum-pen.woff2?v=20261027b') format('woff2');font-weight:400 700;font-display:swap}
:root{--rv-orange:#ff7412;--rv-ink:#16181c;--rv-muted:#5f6670;--rv-ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff8f1;color:var(--rv-ink);font-family:ReviewNoto,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;line-height:1.5;word-break:keep-all;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,p,ol,figure{margin:0;padding:0}
ol{list-style:none}
img{max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}
.rv-skip{position:absolute;left:12px;top:-60px;z-index:200;padding:10px 16px;border-radius:10px;background:#fff;color:#000}
.rv-skip:focus{top:12px}
.rv-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.rv-hand{font-family:ReviewPen,cursive;font-weight:400;line-height:1.25;letter-spacing:0}
:focus-visible{outline:3px solid #b84d12;outline-offset:3px}

/* Hero */
.rv-hero{padding:16px 12px 0}
.rv-hero-card{position:relative;isolation:isolate;overflow:hidden;max-width:1180px;margin:auto;padding:30px 22px 0;border-radius:28px 28px 0 0;background:radial-gradient(circle at 85% 20%,#ffb15a 0,transparent 42%),linear-gradient(135deg,#ff8a1f,#ff6a0a 62%,#ff8f2f);color:#fff;display:grid;gap:18px}
.rv-bokeh{position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 70% 30%,#fff6 0 2px,transparent 3px),radial-gradient(circle at 92% 64%,#fff5 0 3px,transparent 4px),radial-gradient(circle at 58% 82%,#fff4 0 2px,transparent 3px),radial-gradient(circle at 80% 8%,#ffd9a8 0 26px,transparent 60px);opacity:.75;animation:rvBokeh 9s ease-in-out infinite alternate}
@keyframes rvBokeh{to{transform:translate3d(-14px,10px,0)}}
.rv-hero-copy h1{font-size:clamp(34px,9.6vw,56px);font-weight:900;line-height:1.14;letter-spacing:-.06em;text-shadow:0 3px 14px #c4480033}
.rv-hero-copy h1 em{font-style:normal;color:#ffe35a;display:inline-block;transform-origin:20% 70%;animation:rvWink 4.5s ease-in-out infinite}
.rv-hero-copy p{margin-top:14px;font-size:15px;line-height:1.6;color:#fff6ec}
@keyframes rvWink{0%,70%,100%{transform:none}78%{transform:scale(1.07) rotate(-2deg)}86%{transform:scale(.98)}}
.rv-polaroid{position:relative;justify-self:center;width:min(72%,300px);margin-bottom:-14px;padding:9px 9px 0;border-radius:16px 16px 0 0;background:#fff;box-shadow:0 18px 40px #9c3c0a40;rotate:4deg;transform-origin:50% 100%;animation:rvSway 6s ease-in-out infinite}
.rv-polaroid>img{display:block;width:100%;height:auto;aspect-ratio:4/4.4;object-fit:cover;object-position:50% 20%;border-radius:10px 10px 0 0}
@keyframes rvSway{0%,100%{rotate:4deg}50%{rotate:1.5deg}}
.rv-heart-doodle{position:absolute;left:-26px;top:22%;width:46px;height:42px;fill:none;stroke:#fff;stroke-width:4;stroke-linejoin:round;filter:drop-shadow(0 3px 6px #b4450c55);animation:rvBeat 2.4s ease-in-out infinite}
@keyframes rvBeat{0%,60%,100%{transform:scale(1)}70%{transform:scale(1.18)}80%{transform:scale(.96)}}
.rv-hero-note{position:absolute;right:12px;top:18px;font-size:19px;color:#fff;text-align:center;rotate:-8deg;text-shadow:0 2px 8px #b4450c66;display:none}
.rv-hero-note span{font-family:ReviewNoto,sans-serif;font-size:.8em}

/* Review wall */
.rv-wall{position:relative;isolation:isolate;overflow:hidden;max-width:1180px;margin:0 auto;padding:30px 12px 70px;background:linear-gradient(180deg,#ff7f1d,#ff6c0e 55%,#ff8a2c);border-radius:0 0 28px 28px;margin-inline:12px}
.rv-marquee{position:absolute;inset:0;z-index:-1;display:grid;overflow:hidden;opacity:.11;pointer-events:none}
.rv-mrow{display:flex;align-items:center;overflow:hidden;white-space:nowrap;color:#fff;font-size:46px;font-weight:900;letter-spacing:-.02em;line-height:1}
.rv-mtrack{display:inline-block;padding-right:.6em;animation:rvMarquee var(--spd,60s) linear infinite;will-change:transform}
.rv-mrow:nth-child(even) .rv-mtrack{animation-direction:reverse}
@keyframes rvMarquee{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
.rv-wall-inner{position:relative;max-width:1000px;margin:auto}
.rv-wall-title{color:#fff;font-size:34px;line-height:1.15;rotate:-4deg;margin:0 0 22px 4px;text-shadow:0 2px 10px #b4450c55}
.rv-wall-title em{font-style:normal;color:#fff3bf}
.rv-wall-title svg{width:30px;height:28px;vertical-align:-.1em;fill:none;stroke:#fff;stroke-width:2.4}
.rv-wall-title svg circle{fill:#fff;stroke:none}
.rv-list{position:relative;display:grid;gap:16px}
.rv-review{width:94%}
.rv-review.is-right{margin-left:auto}
.rv-bubble{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;align-items:center;padding:13px 14px 14px 12px;border-radius:24px;background:#fff;box-shadow:0 12px 26px #9c3c0a33}
.rv-bubble:after{content:'';position:absolute;bottom:-9px;width:22px;height:18px;background:#fff;clip-path:polygon(0 0,100% 0,30% 100%)}
.is-right .rv-bubble:after{right:34px;clip-path:polygon(0 0,100% 0,72% 100%)}
.is-left .rv-bubble:after{left:34px}
.rv-avatar{width:64px;height:64px;border-radius:50%;object-fit:cover;border:3px solid #fff;box-shadow:0 4px 12px #6b2a0530}
.rv-body header{display:flex;align-items:center;gap:7px;min-width:0}
.rv-body b{font-size:15px;font-weight:800;white-space:nowrap}
.rv-badge{font-size:13px}
.rv-body time{font-size:11px;color:#9aa0a8;padding-left:7px;border-left:1px solid #e3e5e8;white-space:nowrap}
.rv-like{margin-left:auto;display:inline-flex;align-items:center;gap:4px;min-height:32px;padding:0 6px;border-radius:16px;color:#ff4d5e;font-size:13px;white-space:nowrap;transition:background .25s}
.rv-like>span{font-size:16px;line-height:1;display:inline-block}
.rv-like i{font-style:normal;color:#6b717c}
.rv-like[aria-pressed=true]{background:#ffeef0}
.rv-like[aria-pressed=true]>span{animation:rvLike .5s cubic-bezier(.3,1.6,.5,1)}
@keyframes rvLike{0%{transform:scale(1)}40%{transform:scale(1.5)}100%{transform:scale(1)}}
.rv-more{color:#b0b5bc;font-size:16px;letter-spacing:1px}
.rv-body p{margin-top:5px;font-size:14px;line-height:1.6;color:#2b2f36;letter-spacing:-.03em}
.rv-note{display:flex;justify-content:center;pointer-events:none}
.rv-note p{color:#fff;font-size:23px;text-align:center;rotate:-5deg;text-shadow:0 2px 10px #b4450c66}
.rv-note.n2 p,.rv-note.n4 p{rotate:5deg}
.rv-note span{font-family:ReviewNoto,sans-serif;font-size:.8em}
.rv-float-heart{position:absolute;z-index:1;width:40px;height:36px;fill:none;stroke:#fff;stroke-width:4;stroke-linejoin:round;opacity:.9;pointer-events:none;animation:rvFloat 5s ease-in-out infinite}
.rv-float-heart.h1{left:-4px;top:16%}
.rv-float-heart.h2{right:-2px;top:46%;animation-delay:-1.6s;width:32px;height:30px}
.rv-float-heart.h3{right:6%;bottom:-40px;animation-delay:-3.1s}
@keyframes rvFloat{0%,100%{transform:translateY(0) rotate(-8deg)}50%{transform:translateY(-10px) rotate(6deg)}}

/* Reveal on scroll */
.rv-anim .rv-review{opacity:0;transform:translateX(34px);transition:opacity .7s var(--rv-ease),transform .8s var(--rv-ease)}
.rv-anim .rv-review.is-left{transform:translateX(-34px)}
.rv-anim .rv-review.is-in{opacity:1;transform:none}
.rv-anim .rv-review .rv-avatar{transform:scale(.6);transition:transform .7s .15s cubic-bezier(.3,1.5,.5,1)}
.rv-anim .rv-review.is-in .rv-avatar{transform:none}
.rv-anim .rv-note p{opacity:0;transition:opacity .8s .2s ease}
.rv-anim .rv-note.is-in p{opacity:1}
.rv-anim .rv-card{opacity:0;transform:translateY(24px);transition:opacity .7s var(--rv-ease),transform .8s var(--rv-ease);transition-delay:calc(var(--i)*.12s)}
.rv-anim .rv-card.is-in{opacity:1;transform:none}

/* Recommend */
.rv-recommend{position:relative;z-index:2;max-width:1120px;margin:-46px auto 0;padding:28px 16px 34px;border-radius:28px;background:#fff;box-shadow:0 -10px 30px #ff7a1a14;margin-inline:auto;width:calc(100% - 24px)}
.rv-recommend-head{text-align:center}
.rv-recommend-head h2{font-size:clamp(25px,6.8vw,40px);font-weight:900;letter-spacing:-.06em;line-height:1.25}
.rv-recommend-head h2 em{font-style:normal;color:var(--rv-orange)}
.rv-recommend-head p{margin-top:6px;font-size:13px;color:var(--rv-muted)}
.rv-recommend-head p:after{content:'';display:block;width:34px;height:3px;margin:12px auto 0;border-radius:3px;background:var(--rv-orange)}
.rv-cards{display:grid;gap:16px;margin-top:22px}
.rv-card{position:relative;padding:10px 10px 20px;border-radius:22px;text-align:center}
.rv-card.is-pink{background:linear-gradient(180deg,#ffeef0,#fff6f6)}
.rv-card.is-orange{background:linear-gradient(180deg,#fff2e3,#fff8f0)}
.rv-card.is-blue{background:linear-gradient(180deg,#eaf3ff,#f5f9ff)}
.rv-card-photo{position:relative;border-radius:16px}
.rv-card-photo>img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:16px;transition:transform .6s var(--rv-ease)}
.rv-card:hover .rv-card-photo>img{transform:scale(1.02)}
.rv-card-badge{position:absolute;top:-12px;right:14px;display:flex;align-items:center;justify-content:center;gap:4px;width:52px;height:52px;border-radius:50%;background:#ff6b7d;box-shadow:0 8px 18px #ff6b7d55;border:3px solid #fff;animation:rvBob 3.6s ease-in-out infinite}
.rv-card-badge svg{width:26px;height:24px;fill:#fff}
.rv-card-badge.is-dots{background:#ffb02e;box-shadow:0 8px 18px #ffa31a55;animation-delay:-1.2s}
.rv-card-badge.is-dots i{width:7px;height:7px;border-radius:50%;background:#fff;animation:rvDot 1.4s ease-in-out infinite}
.rv-card-badge.is-dots i:nth-child(2){animation-delay:.15s}
.rv-card-badge.is-dots i:nth-child(3){animation-delay:.3s}
.rv-card-badge.is-users{background:#e3f0ff;box-shadow:0 8px 18px #5aa7ff40;animation-delay:-2.4s}
.rv-card-badge.is-users img{width:28px;height:28px;filter:hue-rotate(185deg) saturate(1.4)}
@keyframes rvBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes rvDot{0%,70%,100%{transform:translateY(0);opacity:.6}35%{transform:translateY(-3px);opacity:1}}
.rv-card h3{margin-top:14px;font-size:19px;font-weight:900;line-height:1.35;letter-spacing:-.05em}
.rv-card p{margin:8px auto 0;max-width:260px;font-size:13px;line-height:1.65;color:var(--rv-muted)}
.rv-cta{position:relative;margin-top:26px;text-align:center}
.rv-cta-button{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:10px;width:min(620px,100%);min-height:58px;padding:0 24px;border-radius:30px;background:linear-gradient(120deg,#ff9420,#ff5f0a);color:#fff;font-size:18px;font-weight:900;letter-spacing:-.04em;box-shadow:0 12px 26px #ff6a0a44;transition:transform .2s var(--rv-ease)}
.rv-cta-button span{font-size:26px;line-height:1;transition:transform .2s}
.rv-cta-button:hover{transform:translateY(-2px)}
.rv-cta-button:hover span{transform:translateX(4px)}
.rv-cta-button:after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,#ffffff55 48%,transparent 66%);transform:translateX(-100%);animation:rvShine 4.5s ease-in-out infinite}
@keyframes rvShine{0%,60%{transform:translateX(-100%)}90%,100%{transform:translateX(100%)}}
.rv-cta p{margin-top:12px;font-size:13px;color:var(--rv-muted)}
.rv-cta-heart,.rv-cta-rays{display:none}

/* Footer */
.rv-footer{max-width:1180px;margin:34px auto 0;padding:24px 18px 30px;border-top:1px solid #f1e3d6;font-size:12px;color:#7d7268}
.rv-footer-top{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px}
.rv-footer-top img{width:52px;height:auto}
.rv-footer-top nav{display:flex;flex-wrap:wrap;gap:6px 14px;flex:1}
.rv-footer-top nav a{padding:4px 0}
.rv-footer-top nav a:hover{color:var(--rv-orange)}
.rv-motion-toggle{border:1px solid #f0e0d3;border-radius:20px;padding:7px 12px;font-size:11px;color:#a57654}
.rv-footer-info{margin-top:16px;line-height:1.8}
.rv-footer-info strong{display:block;color:var(--rv-orange);font-size:15px}
.rv-footer-info a{text-decoration:underline;text-underline-offset:3px}

/* Pause loops off-screen and on request */
[data-motion-scene]:not(.is-inview) *,.rv-paused *,.rv-page-hidden *{animation-play-state:paused!important}

@media(min-width:760px){
  .rv-hero{padding:22px 24px 0}
  .rv-hero-card{grid-template-columns:1.05fr .95fr;align-items:end;min-height:340px;padding:46px 56px 0;border-radius:36px 36px 0 0}
  .rv-hero-copy{align-self:center;padding-bottom:40px}
  .rv-hero-copy p{font-size:19px}
  .rv-polaroid{width:min(330px,82%);justify-self:start;margin:0 0 -18px 4%}
  .rv-heart-doodle{left:-40px;width:60px;height:54px}
  .rv-hero-note{display:block;right:3%;top:40px;font-size:24px}
  .rv-wall{margin-inline:24px;padding:46px 30px 120px;border-radius:0 0 36px 36px}
  .rv-wall-title{position:absolute;left:0;top:0;margin:0;font-size:44px}
  .rv-mrow{font-size:68px}
  .rv-list{gap:20px;padding-top:6px}
  .rv-review{width:62%}
  .rv-review.is-right{margin-left:32%}
  .rv-review.is-left{margin-left:10%}
  .rv-review:first-child{margin-left:36%}
  .rv-bubble{grid-template-columns:96px minmax(0,1fr);gap:18px;padding:16px 22px 18px 16px;border-radius:30px}
  .rv-avatar{width:96px;height:96px}
  .rv-body b{font-size:18px}
  .rv-body time{font-size:12px}
  .rv-body p{font-size:16px}
  .rv-note{position:absolute;width:24%}
  .rv-note p{font-size:28px}
  .rv-note.n1{left:-2%;top:33%}
  .rv-note.n2{right:-4%;top:17%;width:22%}
  .rv-note.n3{left:-1%;top:66%}
  .rv-note.n4{right:-8%;top:68%;width:16%}
  .rv-float-heart{width:54px;height:48px}
  .rv-float-heart.h1{left:2%;top:26%}
  .rv-float-heart.h2{right:2%;top:52%}
  .rv-float-heart.h3{right:6%;bottom:-70px}
  .rv-recommend{margin-top:-60px;padding:38px 34px 40px;width:calc(100% - 48px);border-radius:34px}
  .rv-recommend-head p{font-size:16px}
  .rv-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:30px}
  .rv-card h3{font-size:21px}
  .rv-card p{font-size:14px}
  .rv-cta{margin-top:32px}
  .rv-cta-button{min-height:66px;font-size:24px}
  .rv-cta p{font-size:15px}
  .rv-cta-heart{display:block;position:absolute;left:4%;top:4px;width:56px;height:50px;fill:#ff7a1a;rotate:-14deg;animation:rvFloat 5s ease-in-out infinite}
  .rv-cta-rays{display:block;position:absolute;right:5%;top:0;width:40px;height:44px;fill:none;stroke:#ff7a1a;stroke-width:4;stroke-linecap:round}
  .rv-footer{padding-inline:32px}
}
@media(min-width:1100px){
  .rv-hero-card{min-height:380px;padding:54px 80px 0}
  .rv-hero-copy h1{font-size:62px}
  .rv-hero-copy p{font-size:21px}
  .rv-polaroid{width:350px}
  .rv-wall{margin-inline:auto;width:calc(100% - 48px)}
  .rv-wall-title{font-size:50px;left:-4%}
  .rv-mrow{font-size:82px}
  .rv-note.n1{left:-8%}
  .rv-note.n3{left:-6%}
}
@media(max-width:359px){
  .rv-bubble{grid-template-columns:52px minmax(0,1fr);gap:10px}
  .rv-avatar{width:52px;height:52px}
  .rv-body b{font-size:14px}
  .rv-body p{font-size:13px}
  .rv-like{font-size:12px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation:none!important;transition:none!important}
  .rv-anim .rv-review,.rv-anim .rv-card,.rv-anim .rv-note p,.rv-anim .rv-review .rv-avatar{opacity:1;transform:none}
}
/* Phones: recommendation cards as compact rows, photo beside the text */
@media(max-width:759px){.rv-cards{gap:12px}.rv-card{display:grid;grid-template-columns:40% minmax(0,1fr);align-items:center;gap:14px;padding:10px 14px 10px 10px;text-align:left}.rv-card-photo>img{aspect-ratio:1;border-radius:14px}.rv-card-badge{width:38px;height:38px;top:-8px;right:-8px;border-width:2px}.rv-card-badge svg{width:18px;height:17px}.rv-card-badge.is-dots i{width:5px;height:5px}.rv-card-badge.is-users img{width:20px;height:20px}.rv-card h3{margin-top:0;font-size:17px}.rv-card p{margin:6px 0 0;max-width:none;font-size:12.5px}}
@media(max-width:759px){.rv-card{row-gap:0}.rv-card-photo{grid-row:span 2}.rv-card h3{align-self:end}.rv-card p{align-self:start}}

/* ===== Orange page with the ZulTalk rows behind everything ===== */
body.rv-page{background:linear-gradient(180deg,#ff7d1c 0%,#ff6c0e 55%,#ff7f22 100%) fixed;color:var(--rv-ink)}
.rv-page main{position:relative;z-index:1}
.rv-marquee{position:fixed;inset:0;z-index:0;opacity:.1}
.rv-wall{background:none;border-radius:0;overflow:visible;padding-top:26px}
.rv-footer{position:relative;z-index:1;border-top-color:#ffffff40;color:#fff3e6}
.rv-footer-info strong{color:#fff}
.rv-footer-top nav a:hover{color:#fff}
.rv-motion-toggle{border-color:#ffffff66;color:#fff}

/* ===== Hero: the photo banner with the current headline over it ===== */
.rv-hero-card{display:block;padding:0;border-radius:28px;overflow:hidden;background:#ff8a24;color:#fff}
.rv-hero-photo,.rv-hero-photo img{display:block}
.rv-hero-copy{position:relative;z-index:2}
.rv-hero-fx{position:absolute;inset:0;z-index:3;pointer-events:none;overflow:hidden}
.rv-fx-heart{position:absolute;bottom:-40px;width:var(--sz,22px);height:var(--sz,22px);opacity:0;animation:rvRise var(--dur,9s) linear infinite;animation-delay:var(--dl,0s)}
.rv-fx-heart svg{width:100%;height:100%;fill:var(--hc,#fff);filter:drop-shadow(0 2px 6px #c4480044)}
.rv-fx-heart.f1{left:6%;--sz:18px;--dur:10s;--dl:-1s;--hc:#ffd1dc}
.rv-fx-heart.f2{left:22%;--sz:26px;--dur:12s;--dl:-6s}
.rv-fx-heart.f3{left:38%;--sz:16px;--dur:9s;--dl:-3s;--hc:#ffe7a3}
.rv-fx-heart.f4{left:51%;--sz:22px;--dur:11s;--dl:-8s;--hc:#ff8fa3}
.rv-fx-heart.f5{left:64%;--sz:18px;--dur:10s;--dl:-4.5s}
.rv-fx-heart.f6{left:78%;--sz:28px;--dur:13s;--dl:-10s;--hc:#ffd1dc}
.rv-fx-heart.f7{left:88%;--sz:16px;--dur:9.5s;--dl:-2s;--hc:#ff6b81}
.rv-fx-heart.f8{left:95%;--sz:20px;--dur:12s;--dl:-7s}
@keyframes rvRise{0%{transform:translate(0,0) rotate(-10deg);opacity:0}10%{opacity:.9}50%{transform:translate(14px,-260px) rotate(8deg)}85%{opacity:.6}100%{transform:translate(-6px,-560px) rotate(-6deg);opacity:0}}
.rv-fx-smile{position:absolute;font-size:30px;line-height:1;filter:drop-shadow(0 4px 8px #b4450c44);animation:rvBob 3.4s ease-in-out infinite}
.rv-fx-smile.s2{font-size:26px;animation-delay:-1.7s}
.rv-fx-spark{position:absolute;color:#fff6c9;font-size:18px;animation:rvTwinkle 3s ease-in-out infinite}
.rv-fx-spark.k2{animation-delay:-1s;font-size:14px}
.rv-fx-spark.k3{animation-delay:-2s;font-size:22px}
@keyframes rvTwinkle{0%,100%{transform:scale(.6) rotate(0);opacity:.4}50%{transform:scale(1.15) rotate(20deg);opacity:1}}

@media(max-width:759px){
  .rv-hero-card{display:flex;flex-direction:column;padding:28px 22px 0;background:radial-gradient(circle at 85% 12%,#ffc27a 0,transparent 40%),linear-gradient(160deg,#ff9a34,#ff7414 70%)}
  .rv-hero-photo{order:2;margin:14px -22px 0}
  .rv-hero-photo img{width:100%;height:auto;aspect-ratio:900/820;object-fit:cover;-webkit-mask-image:linear-gradient(transparent 0,#000 14%);mask-image:linear-gradient(transparent 0,#000 14%)}
  .rv-fx-smile.s1{right:8%;top:16%}
  .rv-fx-smile.s2{left:6%;top:56%}
  .rv-fx-spark.k1{right:22%;top:6%}
  .rv-fx-spark.k2{left:58%;top:30%}
  .rv-fx-spark.k3{left:10%;top:44%}
  /* Notes take turns on the right and the left between the reviews */
  .rv-note{padding:0 6%}
  .rv-note.n1,.rv-note.n3{justify-content:flex-end}
  .rv-note.n2,.rv-note.n4{justify-content:flex-start}
  .rv-note.n1 p,.rv-note.n3 p{rotate:6deg;text-align:right}
  .rv-note.n2 p,.rv-note.n4 p{rotate:-6deg;text-align:left}
}
@media(min-width:760px){
  .rv-hero-card{aspect-ratio:1916/821;max-height:560px}
  .rv-hero-photo{position:absolute;inset:0}
  .rv-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:right center}
  .rv-hero-copy{position:absolute;left:6%;top:50%;width:48%;transform:translateY(-50%);padding:0}
  .rv-hero-copy h1{font-size:clamp(36px,5vw,62px)}
  .rv-fx-smile.s1{right:3%;top:44%}
  .rv-fx-smile.s2{left:44%;top:14%}
  .rv-fx-spark.k1{left:40%;top:70%}
  .rv-fx-spark.k2{right:20%;top:6%}
  .rv-fx-spark.k3{left:30%;top:18%}
}
@media(prefers-reduced-motion:reduce){.rv-fx-heart{opacity:.6;bottom:auto;top:calc(var(--sz) * 4)}}
/* Slide-in reviews and rising hearts never widen the page */
html{overflow-x:hidden}
@supports(overflow:clip){html{overflow-x:clip}}
.rv-wall,.rv-hero{overflow-x:clip}

/* ===== Hero as a full-width background, no card ===== */
.rv-hero{padding:0}
.rv-hero-card{max-width:none;margin:0;border-radius:0}
.rv-hero-card:after{content:'';position:absolute;left:0;right:0;bottom:0;z-index:2;height:70px;background:linear-gradient(transparent,#ff7a1a);pointer-events:none}
@media(max-width:759px){
  .rv-hero-card{padding:30px 22px 0;border-radius:0}
  .rv-hero-photo{margin:12px -22px 0}
}
@media(min-width:760px){
  .rv-hero-card{aspect-ratio:auto;max-height:none;height:clamp(400px,44vw,680px)}
  .rv-hero-photo img{object-position:right 30%}
  .rv-hero-copy{left:max(5%,calc((100% - 1180px) / 2 + 24px));width:min(46%,560px)}
  .rv-hero-copy h1{font-size:clamp(38px,4.6vw,70px)}
  .rv-hero-copy p{font-size:clamp(17px,1.5vw,22px)}
}
.rv-fx-spark svg{display:block;width:1em;height:1em;fill:currentColor}
