:root{--paper:#fff;--ink:#342f33;--orange:#be365b;--line:#ecdfe3;--gold:#d79ba9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,'Noto Sans',sans-serif;line-height:1.65}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #be365b;outline-offset:5px}header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 5%;border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:14px}.brandmark{font-weight:900;font-size:40px;line-height:1;letter-spacing:-4px}.brandmark span{font-size:17px;color:var(--orange);letter-spacing:0;margin-left:5px}.brand small{font-size:9px;line-height:1.35;letter-spacing:1.5px}.desktopnav{display:flex;gap:24px;font-size:12px}.languages{display:flex;gap:2px;border:1px solid var(--line);border-radius:30px;padding:4px}.languages button{border:0;background:none;color:var(--ink);padding:7px 11px;border-radius:22px;font-size:12px;white-space:nowrap}.languages button[aria-pressed=true]{background:var(--ink);color:#fff}.hero{max-width:1400px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:6%;padding:70px 5% 55px;align-items:center}.eyebrow{font-size:11px;letter-spacing:.18em;font-weight:bold;color:var(--orange);margin:0 0 22px}h1{font-family:Georgia,'Noto Serif',serif;font-weight:400;font-size:clamp(32px,4.2vw,65px);line-height:1.22;letter-spacing:-.03em;margin:0 0 24px}.lede{font-size:15px;line-height:1.9;max-width:520px}.button{display:inline-flex;gap:30px;align-items:center;justify-content:space-between;background:var(--orange);color:#fff;padding:15px 25px;border:1px solid transparent;border-radius:3px;font-size:13px;font-weight:600;margin-top:22px}.button:hover{filter:brightness(.92)}.secondary{background:var(--ink)}.dates{font-size:11px;margin-top:24px}.dates p{margin:3px 0}.hero-art{position:relative;min-height:510px;background:#fff;border-radius:220px 220px 6px 6px;overflow:hidden;isolation:isolate}.sun{width:145px;height:145px;border-radius:50%;background:#e9b4bf;position:absolute;right:35px;top:55px}.mountain{width:550px;height:420px;background:#bda0ae;position:absolute;left:-110px;top:260px;transform:rotate(40deg);border-radius:50px;z-index:-1}.mountain.back{background:#d5bfca;left:190px;top:210px}.tree{width:140px;height:195px;background:#bc6079;border-radius:45%;position:absolute;bottom:-20px;right:0;transform:rotate(-15deg)}.tree:after{content:'';height:210px;width:3px;background:#8c5366;position:absolute;top:25px;left:50%;transform:rotate(15deg)}.t2{right:110px;width:100px;height:145px;background:#d491a5}.t3{right:200px;width:75px;height:110px;background:#e6bfcb}.art-title{position:absolute;left:40px;top:100px;font-family:Georgia,serif;font-size:49px;line-height:1.1;color:#fff;letter-spacing:-2px}.art-title em{font-size:42px;font-weight:normal}.art-stamp{position:absolute;right:25px;top:245px;writing-mode:vertical-rl;font-size:12px;letter-spacing:.4em}.photo-label{position:absolute;bottom:20px;left:20px;right:20px;background:#fff;border-radius:3px;font-size:10px;text-align:center;padding:7px}.eligibility{max-width:1260px;margin:0 auto 30px;background:#fff;padding:22px 30px;display:flex;align-items:center;gap:25px}.circle-icon{font-size:35px;color:var(--orange)}.eligibility h2{font-size:17px;margin:0}.eligibility p{font-size:12px;margin:4px 0 0}.section{max-width:1400px;margin:auto;padding:80px 5%}.section-heading{max-width:670px}h2{font-family:Georgia,'Noto Serif',serif;font-size:clamp(26px,3vw,43px);font-weight:400;line-height:1.35;margin:0 0 20px}h3{font-size:20px;line-height:1.5;margin:0 0 12px}.section-heading>p:not(.eyebrow){font-size:14px}.steps{padding:0;list-style:none;margin:40px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.steps li{border-top:1px solid var(--ink);padding:19px 0}.step-no{font:italic 40px Georgia;color:var(--orange)}.steps h3{font-size:16px;margin-top:12px}.steps p{font-size:12px;overflow-wrap:anywhere}.tags{font-size:12px;margin-top:20px;color:var(--orange)}.tags span{margin-left:16px}.draw-section{padding:70px max(5%,calc((100vw - 1260px)/2));background:#fff;display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}.map-placeholder{min-height:300px;position:relative;overflow:hidden;background:#fff;border:1px solid #e9d5dd}.map-road{position:absolute;background:#fff;width:800px;height:18px;transform:rotate(-25deg);top:100px;left:-100px}.r2{transform:rotate(55deg);top:70px;left:-50px;width:450px}.r3{transform:rotate(8deg);top:240px}.map-pin{position:absolute;top:95px;left:50%;transform:translateX(-50%);color:var(--orange);font-size:65px;text-shadow:0 3px 10px #fff}.map-label{position:absolute;bottom:15px;left:15px;right:15px;padding:9px;text-align:center;font-size:11px;background:var(--paper)}.shops{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:35px}.shop-art{height:210px;background:#fff;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.shop-art:before{content:'⌂';font:170px Georgia;color:#dcbcc7;position:absolute;bottom:-45px}.shop-art span{background:var(--paper);padding:6px 12px;z-index:1;font-size:11px}.shop:nth-child(2) .shop-art{background:#fff}.shop h3{margin-top:24px}.shop p{font-size:13px;margin:7px 0}.shop .shop-link{border:0;border-bottom:1px solid var(--ink);padding:8px 0;background:none;color:var(--ink);margin-top:8px;font-size:12px}.use{display:flex;gap:30px;border:1px solid var(--line);padding:28px;margin-top:45px}.use>span{font-size:45px;color:var(--orange)}.use p{font-size:13px;max-width:900px;margin:6px 0}.use .expiration{font-weight:bold;color:var(--orange)}.faq-section{max-width:1260px;margin:0 auto;padding:50px 0 80px;display:grid;grid-template-columns:1fr 1.2fr;gap:50px}details{border-top:1px solid var(--line);padding:18px 0}details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;font-size:14px}details p{font-size:13px;margin-bottom:0}.review{max-width:1260px;margin:auto;padding:25px;background:#fff;border-left:3px solid var(--orange)}.review h3{font-size:15px}.review p{font-size:12px;margin:0}footer{padding:65px 5% 35px;display:flex;gap:35px;align-items:center;flex-wrap:wrap;font-size:12px}footer p{width:100%;border-top:1px solid var(--line);padding-top:20px;color:#766c72;font-size:10px}.textbutton{border:0;background:none;color:var(--ink);padding:0}.mobilebar{display:none}dialog{border:0;border-radius:6px;padding:40px;max-width:480px;width:calc(100% - 40px);color:var(--ink);background:var(--paper)}dialog::backdrop{background:#2d1f27d4}dialog h2{font-size:28px}dialog p{font-size:14px}.dialog-x{position:absolute;right:15px;top:10px;background:none;border:0;font-size:28px;color:var(--ink)}@media(max-width:1000px){.desktopnav{display:none}.eligibility,.faq-section,.review{margin-left:5%;margin-right:5%}.hero-art{min-height:440px}.steps{gap:16px}.art-title{font-size:40px;left:25px}}@media(max-width:650px){html{scroll-padding-top:130px}header{padding:14px 5%;flex-wrap:wrap;gap:12px}.brandmark{font-size:32px}.brand small{font-size:8px}.languages{margin-left:auto}.languages button{font-size:11px;padding:7px 8px}.hero{display:flex;flex-direction:column;padding-top:35px;gap:30px}.hero-copy{width:100%}h1{font-size:36px}.lede{font-size:14px}.hero-art{width:100%;min-height:330px;border-radius:170px 170px 5px 5px}.art-title{top:70px;left:30px}.sun{width:110px;height:110px;top:30px}.mountain{top:210px}.mountain.back{top:160px}.art-stamp{top:160px}.eligibility{padding:20px;gap:15px;margin-bottom:0}.eligibility h2{font-size:16px}.eligibility p{font-size:12px}.section{padding:55px 5%}.eyebrow{font-size:10px;margin-bottom:16px}h2{font-size:29px}.steps{display:block;margin-top:25px}.steps li{display:grid;grid-template-columns:45px 1fr;column-gap:15px;padding:18px 0}.step-no{grid-row:1/3;font-size:32px}.steps h3{margin:0 0 8px;font-size:16px}.steps p{margin:0;font-size:13px}.draw-section{display:block;padding:50px 5%}.map-placeholder{margin-top:30px;min-height:240px}.shops{grid-template-columns:1fr;gap:35px}.shop-art{height:190px}.use{padding:20px;gap:16px}.use>span{font-size:30px}.use h3{font-size:17px}.faq-section{display:block;padding:0 0 45px}.faq-section .section-heading{margin-bottom:30px}.review{padding:20px}footer{padding:40px 5% 100px;gap:25px}.mobilebar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:11;padding-bottom:env(safe-area-inset-bottom);background:var(--ink);color:#fff;box-shadow:0 -3px 20px #0002}.mobilebar a{width:50%;text-align:center;padding:15px 5px;font-size:12px}.mobilebar a+a{border-left:1px solid #fff}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* White / deep rose brand refinement; original supplied logo is not recolored. */
.brand-logo{display:block;width:205px;height:auto;object-fit:contain}.brand{flex-shrink:0}.footer-logo{width:180px}.languages button[aria-pressed=true]{background:var(--orange)}.eligibility{border:1px solid #f2dfe6;border-radius:5px}.button{border-radius:3px}.button.secondary{background:#fff;color:var(--orange);border-color:var(--orange)}.mobilebar{background:var(--orange)}.draw-section{border-top:1px solid #f1e5e9;border-bottom:1px solid #f1e5e9}.hero-art{border:1px solid #eddee4}.photo-label{color:#65525d}.map-label{color:#65525d}@media(max-width:650px){header{gap:10px}.brand-logo{width:155px}.brand{width:100%;justify-content:center}.languages{margin:0 auto}.hero{padding-top:28px}.footer-logo{width:170px}html{scroll-padding-top:160px}}

/* Four participating shops: desktop two columns; mobile one column. */
h1{font-size:clamp(27px,3vw,46px);text-wrap:pretty}h2{font-size:clamp(24px,2.6vw,37px);text-wrap:pretty}.shops{grid-template-columns:repeat(2,minmax(0,1fr))}.shop{min-width:0}.shop h3,.shop p,.shop .shop-link{overflow-wrap:anywhere}.terms-section{padding-top:15px}.terms-section .section-heading{max-width:900px}.terms-section details p{max-width:1050px;line-height:1.9}.terms-section summary{font-weight:600}.terms-section details{padding:20px 0}.hero-copy{min-width:0}@media(max-width:650px){h1{font-size:30px}h2{font-size:26px}.shops{grid-template-columns:minmax(0,1fr);gap:28px}.shop-art{height:125px}.shop-art span{font-size:9px;padding:5px;text-align:center}.shop h3{font-size:16px;margin-top:15px}.shop p{font-size:12px}.shop .shop-link{font-size:11px;text-align:left}.terms-section{padding-top:0}.terms-section summary{font-size:13px}}

/* Terms are always visible; FAQ accordions are unchanged. */
.term-item{padding:26px 0;border-top:1px solid var(--line)}.term-item:last-child{border-bottom:1px solid var(--line)}.term-item h3{font-size:16px;font-weight:600;margin:0 0 12px}.term-item p{font-size:14px;line-height:1.95;max-width:1050px;margin:0;overflow-wrap:anywhere}.terms-section #termsList{margin-top:32px}@media(max-width:650px){.term-item{padding:23px 0}.term-item h3{font-size:15px}.term-item p{font-size:13px;line-height:1.9}}

/* Pure white UI surfaces; rose illustration and brand accents retained. */
.shop-link{display:inline-block}.hero-art{background:#fff}

.unavailable{opacity:.7;cursor:default}.button.unavailable{background:#fff;color:var(--ink);border-color:var(--line)}

/* Landscape photo uploads: 3:2 frames, cover crop, never stretch. */
.photo-frame{position:relative;overflow:hidden;background:#fff}
.campaign-photo{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;opacity:0;z-index:2}
.campaign-photo.is-loaded{opacity:1}
.hero-art.photo-frame{width:100%;height:auto;min-height:0;aspect-ratio:3/2}
.shop-art.photo-frame{height:auto;aspect-ratio:3/2;border:1px solid var(--line);border-radius:3px}
.shop-art.photo-frame:before{content:none}
.photo-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--gold);font:80px Georgia;background:#fff}
.shop-art .photo-fallback{padding:0;font-size:80px;z-index:0}
.reception-photo{width:100%;max-width:440px;aspect-ratio:3/2;margin-inline:auto;border:1px solid var(--line);border-radius:3px}
@media(max-width:650px){.reception-photo{margin-top:30px}.hero-art.photo-frame{min-height:0;aspect-ratio:3/2}.shop-art.photo-frame{height:auto}}

.hero-art.photo-frame{border-radius:32px 32px 6px 6px}
