@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css');
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@500;600;700;800;900&display=swap');
/* Layout: candy-pink storefront — full-bleed video hero, then alternating ivory/white bands; one column on phones */
:root{
  --pink:#f59fbb; --pink-deep:#d9567f; --pink-soft:#ffe3ec; --pink-wash:#fff3f7;
  --ivory:#fbf5e9; --paper:#ffffff; --ink:#2b2326; --muted:#76686d; --line:#f0d9e1;
  --sky:#cfe1f2; --kakao:#fee500;
  --f-display:'Jua','Apple SD Gothic Neo','Malgun Gothic',sans-serif;
  --f-body:'Gowun Dodum','Apple SD Gothic Neo','Malgun Gothic',sans-serif;
  --f-latin:'Fredoka','Gowun Dodum',system-ui,sans-serif;
  --r:18px; --wrap:1120px;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:72px}
body{margin:0;background:var(--ivory);color:var(--ink);font:16px/1.7 var(--f-body);-webkit-font-smoothing:antialiased}
img,video{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--f-display);font-weight:400;line-height:1.25;text-wrap:balance;margin:0}
p{margin:0}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:20px}
.eyebrow{font-family:var(--f-latin);font-weight:600;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--pink-deep)}
.sec{padding-block:80px}
.sec-head{display:grid;gap:10px;margin-bottom:36px;max-width:640px}
.sec-head h2{font-size:clamp(28px,4.4vw,40px)}
.sec-head p{color:var(--muted)}
.band-white{background:var(--paper)}
:focus-visible{outline:3px solid var(--pink-deep);outline-offset:2px;border-radius:6px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 22px;border-radius:999px;font-family:var(--f-display);font-size:17px;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:transform .15s,background .15s;line-height:1.2}
.btn:hover{transform:translateY(-2px)}
.btn-kakao{background:var(--kakao);color:#191600}
.btn-pink{background:var(--pink-deep);color:#fff}
.btn-ink{background:var(--ink);color:#fff}
.btn-ghost{background:transparent;border-color:var(--ink);color:var(--ink)}
.btn-sm{padding:8px 16px;font-size:15px}
.btn[disabled]{opacity:.45;cursor:not-allowed;transform:none}

/* header */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:color-mix(in srgb,var(--ivory) 90%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:20px;height:64px;max-width:1360px}
.brand{display:flex;align-items:center;gap:8px;text-decoration:none;font-family:var(--f-latin);font-weight:600;font-size:20px;letter-spacing:.02em;white-space:nowrap}
.brand img{width:34px;height:34px;object-fit:contain}
.nav{display:flex;gap:22px;margin-left:auto;font-size:15px}
.nav a{text-decoration:none;color:var(--muted);white-space:nowrap}
.nav a:hover,.nav a[aria-current]{color:var(--ink)}
.nav .shop{font-family:var(--f-latin);font-weight:600;color:var(--pink-deep)}
.top-cta{display:flex;gap:8px;align-items:center;flex-shrink:0}
.top-cta .btn{white-space:nowrap}
.lang{display:inline-flex;border:1.5px solid var(--line);border-radius:999px;padding:2px;background:var(--paper)}
.lang button{font:600 12px var(--f-latin);letter-spacing:.06em;border:0;background:transparent;color:var(--muted);padding:5px 9px;border-radius:999px;cursor:pointer}
.lang button[aria-pressed="true"]{background:var(--pink-deep);color:#fff}
@media (max-width:1400px){.nav{gap:16px;font-size:14px}}
@media (max-width:1260px){.nav{display:none}.top-cta{margin-left:auto}}
@media (max-width:420px){.top .wrap{gap:10px}.top-cta{gap:6px}.top-cta .btn-sm{padding:7px 11px;font-size:14px}}
@media (max-width:400px){.brand span{display:none}}

/* video hero (adidas-style: full-bleed loop, boxed labels bottom-left) */
.vhero{position:relative;height:clamp(440px,74vh,780px);overflow:hidden;background:var(--pink)}
.vhero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.12);transform-origin:40% 30%}
.vhero::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(43,35,38,.38),transparent 45%);pointer-events:none}
.vhero-copy{position:absolute;left:0;right:0;bottom:44px;z-index:2}
.vhero-copy .wrap{display:grid;gap:10px;justify-items:start}
.label{display:inline-block;background:var(--paper);color:var(--ink);font-family:var(--f-latin);font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:clamp(18px,2.6vw,28px);padding:4px 12px;line-height:1.25}
.label-ko{display:inline-block;background:var(--paper);color:var(--ink);font-family:var(--f-display);font-size:clamp(26px,4.6vw,48px);padding:2px 14px;line-height:1.3}
.label-ko em{font-style:normal;color:var(--pink-deep)}
.label-sm{display:inline-block;background:var(--ink);color:#fff;font-size:15px;padding:4px 12px}
.vhero .cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}
.box-btn{position:relative;display:inline-flex;align-items:center;gap:14px;background:var(--paper);color:var(--ink);font-family:var(--f-display);font-size:18px;padding:12px 18px;text-decoration:none;border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink);transition:transform .12s,box-shadow .12s}
.box-btn::after{content:'→';font-family:var(--f-latin);font-size:20px}
.box-btn:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink)}
.box-btn.pink{background:var(--pink-deep);color:#fff}
.vpause{position:absolute;top:18px;right:18px;z-index:3;width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.85);color:var(--ink);cursor:pointer;display:grid;place-items:center;font:600 15px var(--f-latin)}
@media (max-width:600px){.vhero{height:clamp(480px,80vh,640px)}.vhero video{transform-origin:50% 30%}.vhero-copy{bottom:28px}}

.strip{background:var(--paper);border-bottom:1px solid var(--line)}
.strip .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:20px 40px;padding-block:22px}
.strip .badge{font-size:15px}
.strip .badge b{color:var(--pink-deep);font-weight:400;font-family:var(--f-display)}
.facts{display:flex;flex-wrap:wrap;gap:32px;margin-left:auto}
.facts div{display:flex;align-items:baseline;gap:8px}
.facts strong{font-family:var(--f-latin);font-weight:600;font-size:26px;line-height:1.1;font-variant-numeric:tabular-nums}
.facts span{font-size:14px;color:var(--muted)}
@media (max-width:700px){.facts{margin-left:0;gap:20px}}

/* story */
.story .wrap{display:grid;grid-template-columns:220px 1fr;gap:48px;align-items:center}
.story img{width:220px;justify-self:center}
.story-text{display:grid;gap:16px;max-width:620px}
.story-text h2{font-size:clamp(26px,4vw,36px)}
.story-text p{font-size:17px}
@media (max-width:700px){.story .wrap{grid-template-columns:1fr;gap:20px}.story img{width:150px}}

/* services */
.svc{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.svc article{background:var(--paper);border-radius:var(--r);padding:26px 22px;display:grid;gap:10px;align-content:start;border:1px solid var(--line)}
.svc .tag{font-family:var(--f-latin);font-weight:600;font-size:12px;letter-spacing:.12em;color:var(--pink-deep)}
.svc h3{font-size:22px}
.svc p{font-size:15px;color:var(--muted)}
@media (max-width:960px){.svc{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.svc{grid-template-columns:1fr}}

/* menu */
.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.tab{font-family:var(--f-display);font-size:17px;padding:10px 20px;border-radius:999px;border:2px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer}
.tab[aria-selected="true"]{background:var(--ink);color:var(--paper)}
.menu-note{display:flex;flex-wrap:wrap;gap:8px 20px;margin-bottom:22px;font-size:15px}
.menu-note b{font-family:var(--f-display);font-weight:400;color:var(--pink-deep)}
.drink-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.drink-grid h3{font-family:var(--f-latin);font-weight:600;font-size:20px;letter-spacing:.06em;border-bottom:3px solid var(--ink);padding-bottom:6px;margin-bottom:8px}
.drink-grid ul{list-style:none;margin:0;padding:0}
.drink-grid li{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px dashed var(--line)}
.drink-grid li span:last-child{font-family:var(--f-latin);font-size:13px;color:var(--muted);text-align:right}
@media (max-width:960px){.drink-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.drink-grid{grid-template-columns:1fr}}
.table-scroll{overflow-x:auto}
table.price{width:100%;border-collapse:collapse;background:var(--paper);border-radius:var(--r);overflow:hidden;min-width:420px}
table.price th,table.price td{padding:13px 18px;text-align:left;border-bottom:1px solid var(--line)}
table.price th{font-weight:400;font-size:13px;color:var(--muted);background:var(--pink-wash)}
table.price td.num{text-align:right;font-family:var(--f-latin);font-variant-numeric:tabular-nums}
table.price td small{display:block;font-family:var(--f-latin);font-size:12px;color:var(--muted)}
.heat{font-size:12px;padding:2px 8px;border-radius:999px;margin-left:6px;white-space:nowrap;font-family:var(--f-body)}
.heat.gas{background:#ffe0cc;color:#8a3a00}
.heat.any{background:var(--sky);color:#1f4466}
.fineprint{font-size:14px;color:var(--muted);margin-top:14px}

/* print sizes tab */
.print-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:28px;align-items:start}
.print-grid > img{width:100%;height:auto;border-radius:var(--r);border:1px solid var(--line)}
.print-info{min-width:0}
table.print{min-width:0}
table.print .no{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--pink-deep);color:#fff;font:600 13px var(--f-latin);margin-right:10px}
table.print td.num small{display:block}
.print-rules{margin:18px 0 0;padding-left:18px;display:grid;gap:6px;font-size:15px}
.print-rules b{font-family:var(--f-latin);font-weight:600;color:var(--pink-deep)}
@media (max-width:860px){.print-grid{grid-template-columns:1fr}}

/* two doors: self estimate / inquiry */
.doors{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.door{position:relative;display:grid;grid-template-columns:1fr auto;gap:10px 20px;align-items:end;padding:32px;border-radius:24px;text-decoration:none;min-height:240px;overflow:hidden;transition:transform .15s}
.door:hover{transform:translateY(-4px)}
.door .eyebrow{grid-column:1/-1;align-self:start}
.door h3{font-size:clamp(28px,3.6vw,38px)}
.door p{font-size:15px;max-width:22em}
.door img{width:120px;grid-row:2/4;grid-column:2}
.door .go{grid-column:1;font-family:var(--f-display);font-size:17px;margin-top:6px}
.door.self{background:var(--pink);color:var(--ink)}
.door.self .eyebrow{color:var(--ink)}
.door.ask{background:var(--ink);color:#fff}
.door.ask .eyebrow{color:var(--pink)}
.door.ask p{color:#e5d9dd}
@media (max-width:760px){.doors{grid-template-columns:1fr}.door img{width:90px}}

/* steps */
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;counter-reset:s}
.steps li{counter-increment:s;background:var(--paper);border-radius:var(--r);padding:24px 22px;border:1px solid var(--line);display:grid;gap:8px;align-content:start}
.steps li::before{content:counter(s);font-family:var(--f-latin);font-weight:600;font-size:15px;width:34px;height:34px;border-radius:50%;background:var(--pink);color:#fff;display:grid;place-items:center}
.steps h3{font-size:20px}
.steps p{font-size:15px;color:var(--muted)}
@media (max-width:860px){.steps{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}

.panel{background:var(--paper);border-radius:var(--r);padding:26px;border:1px solid var(--line);min-width:0}
.policy-wrap{margin-top:28px}
.policy-wrap h3{font-size:22px;margin-bottom:12px}
.policy{margin:0;padding-left:18px;display:grid;grid-template-columns:1fr 1fr;gap:8px 32px;font-size:15px}
.policy b{color:var(--pink-deep);font-weight:400;font-family:var(--f-display)}
@media (max-width:760px){.policy{grid-template-columns:1fr}}

/* gallery + portfolio */
.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px}
.gallery img{width:100%;height:100%;object-fit:cover;border-radius:var(--r);aspect-ratio:4/3}
.gallery img:first-child{grid-row:span 2;aspect-ratio:auto}
@media (max-width:700px){.gallery{grid-template-columns:1fr 1fr}.gallery img:first-child{grid-column:span 2;grid-row:auto;aspect-ratio:4/3}}
/* support photo gallery */
.wfilter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.wfilter button{font-family:var(--f-display);font-size:15px;padding:8px 16px;border-radius:999px;border:1.5px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer}
.wfilter button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.works{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-flow:dense;gap:10px}
.wk{position:relative;display:block;padding:0;border:0;border-radius:14px;overflow:hidden;cursor:zoom-in;background:var(--pink-soft);aspect-ratio:1/1}
.wk.big{grid-column:span 2;grid-row:span 2}
.wk img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.wk:hover img{transform:scale(1.04)}
.wk span{position:absolute;left:0;right:0;bottom:0;padding:22px 12px 10px;font-size:13px;line-height:1.4;text-align:left;color:#fff;background:linear-gradient(to top,rgba(20,14,18,.72),transparent);opacity:0;transition:opacity .2s}
.wk:hover span,.wk:focus-visible span,.wk.big span{opacity:1}
.wk.night::after{content:'NIGHT';position:absolute;top:10px;left:10px;font:600 11px var(--f-latin);letter-spacing:.14em;color:#fff;background:var(--pink-deep);border-radius:999px;padding:3px 9px;box-shadow:0 0 12px var(--pink)}
@media (max-width:860px){.works{grid-template-columns:repeat(3,1fr)}}
@media (max-width:560px){.works{grid-template-columns:repeat(2,1fr);gap:8px}.wk span{opacity:1;font-size:12px}}
.lb{position:fixed;inset:0;z-index:60;background:rgba(20,14,18,.92);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:calc(56px + env(safe-area-inset-top,0px)) 12px calc(20px + env(safe-area-inset-bottom,0px))}
.lb[hidden]{display:none}
.lb figure{margin:0;display:grid;gap:10px;justify-items:center;min-width:0;max-height:100%}
.lb img{max-width:100%;max-height:calc(100vh - 140px);object-fit:contain;border-radius:10px}
.lb figcaption{color:#f3e6ea;font-size:14px;text-align:center}
.lb-nav,.lb-x{border:0;background:rgba(255,255,255,.14);color:#fff;border-radius:50%;width:46px;height:46px;font:600 24px var(--f-latin);cursor:pointer}
.lb-x{position:absolute;top:calc(10px + env(safe-area-inset-top,0px));right:12px;font-size:18px}
@media (max-width:560px){.lb-nav{width:36px;height:36px;font-size:20px}}
@media (prefers-reduced-motion:reduce){.wk img{transition:none}.wk:hover img{transform:none}}

.names{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.names span{background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:15px}
.names span.hl{background:var(--pink-soft);border-color:var(--pink)}
.ig-row{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:22px;color:var(--muted);font-size:15px}

/* global */
.global{background:var(--ink);color:#fff}
.global .wrap{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center}
.global h2{font-family:var(--f-latin);font-weight:600;font-size:clamp(30px,4.6vw,46px)}
.global p,.global li{font-family:var(--f-latin);font-weight:500;color:#e8dde1}
.global ul{padding-left:18px;display:grid;gap:6px;margin:18px 0 24px}
.global .eyebrow{color:var(--pink)}
.global .cta{display:flex;flex-wrap:wrap;gap:10px}
.global img{width:min(320px,100%);justify-self:center}
@media (max-width:760px){.global .wrap{grid-template-columns:1fr}.global img{width:180px;order:-1}}

/* shop teaser */
.shop{display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center;background:var(--pink-soft);border-radius:28px;padding:32px}
.shop img{width:120px}
.shop h2{font-size:28px;margin-bottom:6px}
.shop p{color:var(--muted)}
.soon{font-family:var(--f-latin);font-weight:600;letter-spacing:.12em;font-size:13px;background:var(--paper);border-radius:999px;padding:8px 16px;color:var(--pink-deep)}
@media (max-width:700px){.shop{grid-template-columns:1fr;text-align:center;justify-items:center}}

/* faq */
.faq{display:grid;gap:10px;max-width:820px}
.faq details{background:var(--paper);border-radius:14px;border:1px solid var(--line);padding:4px 20px}
.faq summary{font-family:var(--f-display);font-size:18px;padding:14px 0;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';font-family:var(--f-latin);color:var(--pink-deep)}
.faq details[open] summary::after{content:'–'}
.faq details p{padding-bottom:16px;color:var(--muted);font-size:15px}

/* sub-page hero (estimate / quote) */
.phero{background:var(--pink-wash);border-bottom:1px solid var(--line);padding-block:48px 40px;text-align:center}
.phero .wrap{display:grid;justify-items:center;gap:12px}
.phero img{width:96px}
.phero .pill{font-family:var(--f-latin);font-weight:600;font-size:12px;letter-spacing:.18em;border:1.5px solid var(--ink);border-radius:999px;padding:5px 16px}
.phero h1{font-size:clamp(30px,5vw,44px)}
.phero p{color:var(--muted);max-width:32em}
.switch{display:inline-flex;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:4px;margin-top:8px}
.switch a{padding:8px 18px;border-radius:999px;text-decoration:none;font-family:var(--f-display);font-size:15px;color:var(--muted)}
.switch a[aria-current]{background:var(--ink);color:#fff}

/* estimate builder */
.est{padding-block:36px 200px}
.est .tabs{position:sticky;top:calc(64px + env(safe-area-inset-top,0px));z-index:20;background:var(--ivory);padding-block:12px;margin-bottom:12px}
.est-note{font-size:14px;color:var(--muted);margin-bottom:18px}
.items{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.item{background:var(--paper);border:1.5px solid var(--line);border-radius:var(--r);padding:20px;display:grid;gap:10px;align-content:start;min-width:0}
.item.on{border-color:var(--pink-deep);box-shadow:0 0 0 3px var(--pink-soft)}
.item-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.item h3{font-size:20px}
.item .en{font-family:var(--f-latin);font-size:12px;color:var(--muted)}
.item .price{font-family:var(--f-latin);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.item .min{font-size:13px;color:var(--muted)}
.item .list{font-size:13px;color:var(--muted);line-height:1.6}
.item.wide{grid-column:1/-1}
.stepper{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.stepper button{font:600 13px var(--f-latin);min-width:38px;height:34px;border-radius:10px;border:1.5px solid var(--line);background:var(--ivory);color:var(--ink);cursor:pointer;padding:0 6px}
.stepper button:hover{border-color:var(--pink)}
.stepper input{width:70px;height:34px;text-align:center;font:600 16px var(--f-latin);border:1.5px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);font-variant-numeric:tabular-nums}
.stepper .x{margin-left:auto;border-color:transparent;background:transparent;color:var(--muted)}
.opts{display:grid;gap:10px}
.opt{display:flex;align-items:center;gap:10px;background:var(--paper);border:1.5px solid var(--line);border-radius:14px;padding:14px 16px;font-size:15px;cursor:pointer}
.opt input{width:18px;height:18px;accent-color:var(--pink-deep)}
.opt span:last-child{margin-left:auto;font-family:var(--f-latin);font-variant-numeric:tabular-nums}

.bar{position:fixed;left:0;right:0;bottom:0;z-index:35;background:var(--paper);border-top:1px solid var(--line);box-shadow:0 -10px 30px -18px rgba(43,35,38,.35);padding-bottom:env(safe-area-inset-bottom,0px)}
.bar .wrap{display:grid;grid-template-columns:1fr auto;gap:10px 20px;align-items:center;padding-block:14px}
.bar small{font-size:12px;color:var(--muted)}
.bar .sum{font-family:var(--f-latin);font-weight:600;font-size:30px;font-variant-numeric:tabular-nums;line-height:1.1}
.bar .sum span{font-size:16px}
.bar .detail{font-size:13px;color:var(--muted)}
.bar .warn{font-size:13px;color:var(--pink-deep)}
.bar-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
@media (max-width:640px){.bar .wrap{grid-template-columns:1fr}.bar-actions .btn{flex:1}}
.breakdown{display:none;font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}

/* quote form */
.q{padding-block:40px 80px}
.q .wrap{max-width:820px}
.prefill{background:var(--pink-soft);border-radius:14px;padding:14px 18px;font-size:15px;margin-bottom:18px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.prefill b{font-family:var(--f-display);font-weight:400}
.form-card h2{font-size:24px;margin-bottom:4px}
.form-card .req-note{font-size:13px;color:var(--muted);margin-bottom:22px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
@media (max-width:600px){.grid2{grid-template-columns:1fr}}
.field{display:grid;gap:6px;margin-bottom:18px;min-width:0}
.field label,.field .lbl{font-family:var(--f-display);font-size:16px}
.field .req{color:var(--pink-deep)}
.field small{color:var(--muted);font-size:13px}
.field input[type=text],.field input[type=tel],.field input[type=date],.field input[type=time],.field select,.field textarea{font:inherit;font-size:16px;padding:11px 13px;border:1.5px solid var(--line);border-radius:12px;background:var(--ivory);color:var(--ink);width:100%}
.field textarea{min-height:110px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--pink-deep);background:var(--paper)}
.field.bad input,.field.bad select,.field.bad textarea{border-color:#c0392b}
.field .err{color:#c0392b;font-size:13px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips label{font-family:var(--f-body);font-size:15px;display:inline-flex;align-items:center;gap:6px;border:1.5px solid var(--line);border-radius:999px;padding:8px 14px;cursor:pointer;background:var(--ivory)}
.chips label:has(input:checked){border-color:var(--pink-deep);background:var(--pink-soft)}
.chips input{accent-color:var(--pink-deep)}
.notice{background:var(--ivory);border-radius:14px;padding:16px 18px;font-size:14px;color:var(--muted);margin:8px 0 20px}
.notice b{color:var(--ink);font-weight:400;font-family:var(--f-display)}
.out{margin-top:24px;border:2px dashed var(--pink);border-radius:var(--r);padding:22px;background:var(--paper)}
.out h3{font-size:22px;margin-bottom:6px}
.out p{font-size:14px;color:var(--muted);margin-bottom:12px}
.out pre{white-space:pre-wrap;font:15px/1.8 var(--f-body);background:var(--ivory);border-radius:12px;padding:16px;margin:0 0 14px;max-height:420px;overflow:auto}
.out .row{display:flex;gap:10px;flex-wrap:wrap}
.copied{font-size:13px;color:var(--pink-deep);margin-top:8px;min-height:1.2em}

/* footer */
footer{background:var(--paper);border-top:1px solid var(--line);padding-block:48px 100px}
footer .wrap{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:32px}
footer h3{font-size:18px;margin-bottom:10px}
footer p,footer li{font-size:15px;color:var(--muted)}
footer ul{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.copy-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.copy-line button{font:13px var(--f-body);border:1px solid var(--line);background:var(--ivory);border-radius:8px;padding:3px 8px;cursor:pointer;color:var(--ink)}
@media (max-width:760px){footer .wrap{grid-template-columns:1fr}}

.float{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:30;box-shadow:0 10px 24px -8px rgba(0,0,0,.35);display:none}
@media (max-width:1000px){.float{display:inline-flex}}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.box-btn,.door{transition:none}.btn:hover,.door:hover{transform:none}}

/* blog — list + article pages (blog/), one column, 68ch reading width */
.blog-langs{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:8px}
.blog-langs a,.blog-langs button{font:15px/1 var(--f-display);padding:9px 16px;border-radius:999px;border:1px solid var(--line);background:var(--paper);color:var(--muted);text-decoration:none;cursor:pointer}
.blog-langs [aria-pressed="true"],.blog-langs [aria-current]{background:var(--ink);border-color:var(--ink);color:#fff}
.posts{display:grid;grid-template-columns:repeat(2,1fr);max-width:920px;margin:0 auto;gap:20px;padding-block:48px 80px}
.post-card{display:grid;grid-template-rows:auto 1fr;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;text-decoration:none;color:inherit;transition:transform .15s}
.post-card:hover{transform:translateY(-3px)}
.post-card img{width:100%;aspect-ratio:16/10;object-fit:cover}
.post-card div{display:grid;gap:8px;padding:18px 20px 22px;align-content:start}
.post-card .meta{font-family:var(--f-latin);font-size:12px;font-weight:600;letter-spacing:.12em;color:var(--pink-deep)}
.post-card h2{font-size:21px}
.post-card p{font-size:15px;color:var(--muted)}
.article{max-width:720px;margin:0 auto;padding:40px 20px 80px;display:grid;gap:22px}
.article .crumb{font-size:14px;color:var(--muted)}
.article .crumb a{color:var(--muted)}
.article h1{font-size:clamp(28px,4.6vw,40px)}
.article .lead{font-size:18px;color:var(--muted)}
.article h2{font-size:26px;margin-top:20px}
.article h3{font-size:20px;margin-top:6px}
.article ul,.article ol{margin:0;padding-left:1.3em;display:grid;gap:4px}
.article figure{margin:0}
.article figure img{width:100%;border-radius:var(--r)}
.article figcaption{font-size:14px;color:var(--muted);margin-top:8px}
.article .tbl{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:var(--paper)}
.article table{border-collapse:collapse;width:100%;font-size:15px;font-variant-numeric:tabular-nums}
.article th,.article td{padding:10px 14px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}
.article th{background:var(--pink-wash);font-weight:400;font-family:var(--f-display)}
.article tr:last-child td{border-bottom:0}
.article .total td{font-family:var(--f-display);font-size:17px;color:var(--pink-deep)}
.article .callout{background:var(--pink-wash);border:1px solid var(--line);border-radius:14px;padding:16px 18px}
.article .faq{display:grid;gap:14px}
.article .faq b{font-family:var(--f-display);font-weight:400;font-size:18px;display:block}
.article .cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.article .other-langs{font-size:14px;color:var(--muted);border-top:1px solid var(--line);padding-top:18px}
.article .other-langs a{margin-right:12px}
@media (max-width:640px){.posts{grid-template-columns:1fr}}

/* ===== Design draft: JINRO-style theme — black / hot pink / lemon, Poppins + Pretendard ===== */
:root{
  --pink:#ff5fa2; --pink-deep:#e8237a; --pink-soft:#ffe1ee; --pink-wash:#fff0f6;
  --ivory:#f4f4f4; --paper:#ffffff; --ink:#121212; --muted:#5f5f5f; --line:#e0e0e0;
  --lemon:#f6ff00;
  --f-display:'Pretendard','Apple SD Gothic Neo','Malgun Gothic',sans-serif;
  --f-body:'Pretendard','Apple SD Gothic Neo','Malgun Gothic',sans-serif;
  --f-latin:'Poppins','Pretendard',system-ui,sans-serif;
  --r:16px;
}
body{background:var(--paper);letter-spacing:-.01em}
h1,h2,h3{font-weight:800;letter-spacing:-.03em;line-height:1.15}
.eyebrow{font-weight:800;letter-spacing:.04em;color:var(--pink-deep)}
.sec-head h2{font-size:clamp(34px,5.6vw,64px)}
.band-white{background:var(--ivory)}
.strip .badge b,.menu-note b,.policy b,.prefill b,.notice b,.article .faq b,.article th,.faq summary,.tab,.wfilter button,.switch a,.field label,.field .lbl{font-weight:700}

/* buttons: pill, bold */
.btn{font-weight:700;font-size:16px;letter-spacing:-.01em}
.btn-pink{background:var(--pink);color:var(--ink)}
.btn-ghost{border-width:1.5px}

/* header: black bar */
.top{background:color-mix(in srgb,var(--ink) 94%,transparent);border-bottom:0;color:#fff}
.brand{font-weight:800;color:#fff;text-transform:uppercase;letter-spacing:-.01em}
.nav a{color:#bdbdbd;font-weight:600}
.nav a:hover,.nav a[aria-current]{color:#fff}
.nav .shop{color:var(--lemon)}
.top .btn-ghost{border-color:#fff;color:#fff}
.top .btn-ink{background:var(--lemon);color:var(--ink)}
.lang{background:transparent;border-color:#444}
.lang button{color:#bdbdbd}
.lang button[aria-pressed="true"]{background:var(--pink);color:var(--ink)}

/* hero labels */
.vhero{background:var(--ink)}
.label{background:var(--lemon);font-weight:900;letter-spacing:-.01em}
.label-ko{font-weight:800;letter-spacing:-.03em}
.label-ko em{color:var(--pink-deep)}
.box-btn{border-radius:999px;border:0;box-shadow:none;background:var(--lemon);font-weight:800;padding:14px 24px}
.box-btn:hover{transform:translateY(-2px);box-shadow:none}
.box-btn.pink{background:var(--pink);color:var(--ink)}

/* number strip: black with lemon figures */
.strip{background:var(--ink);border-bottom:0;color:#fff}
.strip .badge b{color:var(--pink)}
.facts strong{font-weight:900;color:var(--lemon);font-size:30px}
.facts span{color:#bdbdbd}

/* cards: crisp ink outlines */
.svc article,.steps li,.panel,.faq details,.item,.post-card,.names span{border:1.5px solid var(--ink)}
.svc .tag{font-weight:800}
.steps li::before{background:var(--lemon);color:var(--ink);font-weight:800}
.drink-grid h3{font-weight:800}
table.price th{background:var(--ink);color:#fff;font-weight:600}
.wk.night::after{background:var(--pink);color:var(--ink);font-weight:800;box-shadow:none}
.names span.hl{background:var(--lemon);border-color:var(--ink)}

/* big colour blocks */
.door{border-radius:28px}
.door.self{background:var(--pink)}
.door.ask .eyebrow,.global .eyebrow{color:var(--lemon)}
.global h2{font-weight:900;letter-spacing:-.03em;text-transform:uppercase}
.shop{background:var(--lemon)}
.soon{color:var(--ink);background:var(--paper)}

/* sub-page hero: black */
.phero{background:var(--ink);color:#fff;border-bottom:0}
.phero .pill{border-color:var(--lemon);color:var(--lemon);font-weight:800}
.phero p{color:#bdbdbd}
.switch a[aria-current]{background:var(--lemon);color:var(--ink)}
.bar .sum{font-weight:900}
.item.on{border-color:var(--pink-deep);box-shadow:0 0 0 3px var(--pink-soft)}

/* footer: black */
footer{background:var(--ink);color:#fff;border-top:0}
footer p,footer li{color:#bdbdbd}
footer a{color:#fff}
footer .brand{color:#fff}
.copy-line button{background:#222;border-color:#444;color:#fff}

/* blog */
.blog-langs [aria-pressed="true"],.blog-langs [aria-current]{background:var(--ink);color:var(--lemon)}
.post-card .meta{font-weight:800}
.article .total td{font-weight:800}
.article .callout{background:var(--lemon);border-color:var(--ink)}
.label-ko.label-en{font-family:var(--f-latin);font-weight:900;text-transform:uppercase;letter-spacing:-.02em}
.vhero .label{font-size:clamp(30px,6.4vw,76px);line-height:1.05;padding:6px 16px}
.label-ko.label-en{font-size:15px;line-height:1.5;padding:4px 12px}
.vhero .label{display:inline;-webkit-box-decoration-break:clone;box-decoration-break:clone;max-width:14ch}
.vhero-copy .wrap > .label{margin-bottom:6px}
.vhero .label{background:transparent;color:var(--lemon);padding:0;text-shadow:0 2px 14px rgba(0,0,0,.45),0 1px 2px rgba(0,0,0,.35)}
.vhero .label{-webkit-text-stroke:2px var(--ink);paint-order:stroke fill;text-shadow:0 4px 0 var(--ink)}
@media (max-width:520px){.brand{font-size:16px}.brand img{width:28px;height:28px}.top .wrap{gap:8px}}
/* narrow phones: keep the brand name, stacked as PICKY / RABBIT, and slim the header controls so everything fits */
@media (max-width:440px){
  .top .wrap{gap:6px;padding-inline:14px}
  .brand{gap:5px}
  .brand span{display:block;width:min-content;font-size:12.5px;line-height:1.05}
  .lang button{padding:4px 7px;font-size:11px}
  .top-cta{gap:5px}
  .top-cta .btn-sm{padding:6px 10px;font-size:13px}
}
@media (max-width:350px){.brand span{display:none}}
/* Fix: goods-section .shop styles were leaking onto the header SHOP link */
.nav a.shop{display:inline;background:none;padding:0;border-radius:0;grid-template-columns:none;color:var(--lemon);font-weight:800;letter-spacing:.04em;-webkit-text-stroke:0}
/* Hero copy sits further left on wide screens */
.vhero-copy .wrap{max-width:none;padding-inline:clamp(20px,5vw,80px)}
/* Quote form: email guide shown when the customer sends their own design files */
.mail-box{margin-top:10px;padding:14px 16px;border:1.5px solid var(--ink);border-radius:12px;background:var(--lemon);display:grid;gap:6px}
.mail-box[hidden]{display:none}
.mail-box p{font-weight:700;font-size:14px}
.mail-box strong{font-family:var(--f-latin);font-size:17px;word-break:break-all}
.mail-box small{color:var(--ink);opacity:.8}
.mail-box .copy-line button{background:var(--ink);border-color:var(--ink);color:#fff}
/* Quote form: design request panel */
.design-box{border:1.5px solid var(--ink);border-radius:var(--r);padding:18px 18px 6px;margin:0 0 18px;background:var(--pink-wash);min-width:0}
.design-box[hidden]{display:none}
.design-box legend{font-weight:800;padding:2px 12px;background:var(--ink);color:var(--lemon);border-radius:999px;font-size:14px}
.design-intro{font-size:14px;color:var(--muted);margin:4px 0 14px}
.photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.photo-slot{position:relative;aspect-ratio:1;border:1.5px dashed var(--muted);border-radius:12px;background:#fff center/cover no-repeat;display:grid;place-items:center;cursor:pointer;font-size:13px;font-weight:700;color:var(--muted);overflow:hidden}
.photo-slot input{position:absolute;inset:0;opacity:0;cursor:pointer}
.photo-slot.has{border-style:solid;border-color:var(--ink)}
.photo-slot.has span{display:none}
@media (max-width:520px){.photo-grid{grid-template-columns:repeat(2,1fr)}}
.design-status{padding:12px 14px;border-radius:12px;background:var(--ivory);border:1.5px solid var(--line);font-size:14px;font-weight:600;margin-bottom:12px}
.design-status.ok{background:var(--lemon);border-color:var(--ink)}
.design-status.bad{background:#ffe3e0;border-color:#c0392b}
/* Design request: per-print tabs */
.dtabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;margin-bottom:12px;scrollbar-width:thin}
.dtab{flex:0 0 auto;display:grid;gap:2px;text-align:left;padding:9px 14px;border:1.5px solid var(--ink);border-radius:12px;background:#fff;color:var(--ink);cursor:pointer;font:inherit}
.dtab b{font-size:14px}
.dtab small{font-size:12px;color:var(--muted);font-family:var(--f-latin)}
.dtab[aria-selected="true"]{background:var(--ink);color:#fff}
.dtab[aria-selected="true"] small{color:var(--lemon)}
.dtab.filled b::after{content:" ✓";color:var(--pink-deep)}
.dtab[aria-selected="true"].filled b::after{color:var(--lemon)}
.dpanel{background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:14px;margin-bottom:16px}
.dpanel-head{font-size:13px;color:var(--muted);margin-bottom:10px;font-family:var(--f-latin)}
.dpanel-head b{color:var(--ink);font-size:15px;font-family:var(--f-body);margin-right:4px}
.dpanel-body{display:grid;grid-template-columns:minmax(90px,150px) 1fr;gap:14px;align-items:start}
.dpanel.text-only .dpanel-body{grid-template-columns:1fr}
.dpanel .photo-slot{width:100%;max-height:260px}
.dpanel .field{margin:0}
.dpanel textarea{min-height:120px}
@media (max-width:520px){.dpanel-body{grid-template-columns:1fr}.dpanel .photo-slot{max-width:160px;margin:0 auto}}
/* Design request: color picker */
.cp{border:1.5px solid var(--line);border-radius:12px;background:#fff;padding:12px;margin-bottom:10px}
.cp-slots{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.cp-slot{display:flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border:1.5px solid var(--line);border-radius:999px;background:var(--ivory);cursor:pointer;font:inherit;font-size:14px;color:var(--ink)}
.cp-slot i{width:24px;height:24px;border-radius:50%;border:1px solid rgba(0,0,0,.2);background:repeating-linear-gradient(45deg,#eee 0 4px,#fff 4px 8px)}
.cp-slot code{font-size:12px;color:var(--muted)}
.cp-slot[aria-pressed="true"]{border-color:var(--ink);background:#fff;box-shadow:0 0 0 2px var(--lemon)}
.cp-picker{display:grid;grid-template-columns:1fr 22px minmax(120px,170px);gap:12px;align-items:start}
.cp-sv{width:100%;height:180px;border-radius:8px;cursor:crosshair;touch-action:none}
.cp-hue{width:22px;height:180px;border-radius:6px;cursor:ns-resize;touch-action:none}
.cp-read{display:grid;gap:6px;font-size:13px;font-family:var(--f-latin)}
.cp-now{height:44px;border-radius:8px;border:1px solid rgba(0,0,0,.15)}
.cp-read label{display:flex;align-items:center;gap:6px;font-weight:700}
.cp-read .cp-hex{width:100%;font:600 14px var(--f-latin);padding:6px 8px;border:1.5px solid var(--line);border-radius:8px;text-transform:uppercase}
.cp-read p{color:var(--muted)}
.cp-clear{justify-self:start;font:12px var(--f-body);border:1px solid var(--line);background:var(--ivory);border-radius:8px;padding:4px 8px;cursor:pointer}
@media (max-width:520px){.cp-picker{grid-template-columns:1fr 22px}.cp-read{grid-column:1/-1;grid-template-columns:44px 1fr;align-items:center}.cp-now{grid-row:span 3;height:100%}}
.dtabs{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));overflow:visible;padding-bottom:0}
@media (max-width:520px){.cp-clear{grid-column:1/-1}}
/* Main banner is a capsule: R225 semicircles top and bottom (225/1135 = 19.8%), straight section 685mm between the dotted lines */
.photo-slot.capsule{border-radius:999px}
.photo-slot.capsule::before,.photo-slot.capsule::after{content:"";position:absolute;left:0;right:0;border-top:1.5px dashed var(--pink-deep);pointer-events:none}
.photo-slot.capsule::before{top:19.8%}
.photo-slot.capsule::after{bottom:19.8%}
.capsule-note{margin-top:10px;font-size:13px;line-height:1.55;padding:10px 12px;border-radius:10px;background:var(--pink-soft);border-left:4px solid var(--pink-deep)}
.dpanel .photo-slot{max-height:none}
/* Self estimate: all sections on one page instead of tabs */
.est-sec{padding-top:8px;margin-bottom:40px}
.est-sec + .est-sec{border-top:1.5px solid var(--line);padding-top:32px}
.est-h{font-size:24px;margin-bottom:8px;display:flex;align-items:center;gap:10px}
.est-h::before{content:"";width:10px;height:24px;border-radius:4px;background:var(--pink)}
/* Self estimate: compact cards so more items fit on one screen */
.est .items{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}
.est .item{padding:12px 14px;gap:6px;grid-template-columns:auto 1fr;align-items:center}
.est .item-head,.est .item .list{grid-column:1/-1}
.est .item h3{font-size:16px}
.est .item .en{font-size:11px}
.est .item .min{font-size:12px;white-space:nowrap}
.est .item .stepper{justify-content:flex-end;flex-wrap:nowrap;gap:3px}
.est .stepper button{min-width:32px;height:30px;border-radius:8px}
.est .stepper input{width:52px;height:30px;font-size:15px}
.est .stepper .x{margin-left:0;min-width:24px}
.est .item.wide .stepper{grid-column:1/-1;justify-content:flex-start;flex-wrap:wrap}
.est-sec{margin-bottom:24px}
.est-sec + .est-sec{padding-top:20px}
.est-h{font-size:20px}
.est-note{margin-bottom:10px;font-size:13px}
@media (max-width:520px){
  .est .stepper button:first-child,.est .stepper input + button + button + button{display:none}
}
.min-rule{display:inline-block;margin:0 0 12px;padding:8px 14px;border-radius:999px;background:var(--lemon);border:1.5px solid var(--ink);font-weight:700;font-size:14px;line-height:1.5}
.min-rule b{color:var(--pink-deep);font-size:16px;font-family:var(--f-latin)}
.design-carry{font-size:13px;color:var(--muted);margin:-6px 0 0}
.est .design-box{margin-top:14px}
/* Photo frame tab: 4 frames */
.dpanel .frame-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}
@media (max-width:520px){.dpanel .frame-grid{max-width:260px;margin:0 auto}.dpanel .frame-grid .photo-slot{max-width:none}}
#dp-frame .dpanel-body{grid-template-columns:minmax(200px,280px) 1fr}@media (max-width:520px){#dp-frame .dpanel-body{grid-template-columns:1fr}}
/* Fix: stepper row overflowed narrow cards on desktop. Stack min under the name; buttons share the full card width. */
.est .item{grid-template-columns:minmax(0,1fr)}
.est .item .min{margin-top:-4px}
.est .item .stepper{justify-content:stretch;flex-wrap:nowrap;min-width:0}
.est .item .stepper button,.est .item .stepper input{flex:1 1 0;min-width:0;padding:0 2px}
.est .item .stepper input{flex:1.6 1 0}
.est .item .stepper .x{flex:0 0 26px}
.est .item.wide .stepper{max-width:520px}
/* Design request v3: print shape guide + up to 4 neutral photo thumbnails per print */
.attach-note{font-size:13px;line-height:1.6;padding:12px 14px;border-radius:12px;background:#fff;border:1.5px dashed var(--ink);margin:0 0 14px}
.attach-note u{text-decoration-color:var(--pink-deep);text-decoration-thickness:2px}
.dpanel-body{grid-template-columns:minmax(70px,110px) 1fr}
#dp-frame .dpanel-body{grid-template-columns:minmax(70px,110px) 1fr}
.print-shape{position:relative;width:100%;max-height:220px;margin:0 auto;border:1.5px solid var(--ink);border-radius:6px;background:repeating-linear-gradient(45deg,var(--pink-wash) 0 6px,#fff 6px 12px);display:grid;place-items:center}
.print-shape span{font:600 10px var(--f-latin);background:#fff;padding:1px 4px;border-radius:4px;color:var(--muted);white-space:nowrap}
.print-shape.round{border-radius:50%}
.print-shape.capsule{border-radius:999px}
.print-shape.capsule::before,.print-shape.capsule::after{content:"";position:absolute;left:0;right:0;border-top:1.5px dashed var(--pink-deep)}
.print-shape.capsule::before{top:19.8%}
.print-shape.capsule::after{bottom:19.8%}
#dp-xbanner .print-shape,#dp-main .print-shape{width:auto;height:200px}
#dp-plate .print-shape{max-width:280px;margin:0}
.dpanel.text-only .dpanel-body{grid-template-columns:1fr}
.ph-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.ph-item{position:relative;display:grid;gap:4px;min-width:0}
.ph-item .photo-slot{aspect-ratio:1;border-radius:10px;background-size:contain;background-color:#f4f4f4;max-height:none;width:100%}
.ph-item .photo-slot.has{background-color:#e9e9e9}
.ph-x{position:absolute;top:4px;right:4px;width:24px;height:24px;border-radius:50%;border:0;background:var(--ink);color:#fff;font-size:12px;cursor:pointer;z-index:2}
.ph-info{font-style:normal;font-size:11px;line-height:1.35;color:var(--muted);font-family:var(--f-latin);word-break:keep-all}
.ph-info.good{color:#1a7f37}
.ph-info.ok{color:#9a6700}
.ph-info.low{color:#c0392b}
.ph-info::before{font-weight:700}
@media (max-width:520px){.ph-grid{grid-template-columns:repeat(2,1fr)}.dpanel-body{grid-template-columns:70px 1fr}#dp-frame .dpanel-body{grid-template-columns:70px 1fr}#dp-xbanner .print-shape,#dp-main .print-shape{height:150px}}
@media (max-width:520px){.ph-item .photo-slot{max-width:none;margin:0}}
.dtab[hidden]{display:none}
.dtab[data-extra]{border-style:dashed;background:var(--lemon)}
.dtab[data-extra][aria-selected="true"]{background:var(--ink);border-style:solid}
.extra-note{font-size:13px;line-height:1.55;padding:10px 12px;border-radius:10px;background:var(--lemon);border:1.5px solid var(--ink);margin:10px 0 0}
.opt-count select{font:600 14px var(--f-body);padding:6px 10px;border:1.5px solid var(--ink);border-radius:10px;background:var(--lemon);color:var(--ink);cursor:pointer}

/* reviews — pink "review talk" chat window; bubbles pop in from the bottom, ids blurred after the first letter */
.rv{background:var(--pink-wash)}
.rv .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);gap:48px;align-items:center}
.rv-copy{display:grid;gap:14px;justify-items:start}
.rv-copy h2{font-size:clamp(28px,4.4vw,40px)}
.rv-copy p{color:var(--muted)}
.rv-copy .bunny{width:150px;margin-top:6px}
.rv-stats{display:flex;gap:28px;margin-top:4px}
.rv-stats b{display:block;font-family:var(--f-display);font-weight:400;font-size:28px;color:var(--pink-deep);line-height:1.2}
.rv-stats span{font-size:14px;color:var(--muted)}
.talk{background:var(--paper);border:2px solid var(--ink);border-radius:26px;box-shadow:6px 6px 0 var(--ink);overflow:hidden}
.talk-top{display:flex;align-items:center;gap:10px;background:var(--pink-deep);color:#fff;padding:12px 16px}
.talk-top img{width:36px;height:36px;border-radius:12px;background:#fff;padding:3px;object-fit:contain}
.talk-top b{font-family:var(--f-display);font-weight:400;font-size:18px;line-height:1.2;display:block}
.talk-top small{font-size:12px;opacity:.85}
.talk-top .live{margin-left:auto;display:flex;align-items:center;gap:6px;font:600 11px var(--f-latin);letter-spacing:.1em}
.talk-top .live i{width:8px;height:8px;border-radius:50%;background:var(--kakao);animation:rv-blink 1.6s infinite}
.talk-body{height:440px;background:var(--pink-soft);padding:16px 14px;display:flex;flex-direction:column;justify-content:flex-end;gap:12px;overflow:hidden;position:relative}
.talk-body::before{content:'';position:absolute;left:0;right:0;top:0;height:70px;background:linear-gradient(var(--pink-soft),transparent);z-index:2;pointer-events:none}
.msg{display:flex;gap:8px;align-items:flex-start;animation:rv-pop .45s cubic-bezier(.2,1.4,.4,1) both;transform-origin:left bottom}
.msg.out{animation:rv-out .5s ease forwards}
.msg .av{flex:none;width:34px;height:34px;border-radius:12px;background:var(--paper);display:grid;place-items:center;font-family:var(--f-display);color:var(--pink-deep);font-size:15px;border:1.5px solid var(--line)}
.msg .who{font-size:12px;color:var(--ink);margin-bottom:3px;display:flex;gap:6px;align-items:center}
.msg .who .bl{filter:blur(4px);user-select:none}
.msg .who .from{color:var(--muted)}
.msg .bubble{background:var(--paper);border-radius:4px 16px 16px 16px;padding:9px 12px;font-size:14.5px;line-height:1.55;max-width:300px;color:var(--ink)}
.msg .bubble .tr{display:block;margin-top:5px;padding-top:5px;border-top:1px dashed var(--line);font-size:12.5px;color:var(--muted)}
.msg .tag{font-size:11.5px;color:var(--muted);margin-top:4px}
.msg.me{flex-direction:row-reverse;transform-origin:right bottom}
.msg.me .bubble{background:var(--pink-deep);color:#fff;border-radius:16px 4px 16px 16px}
.msg.me .sticker{width:70px}
.msg.typing .bubble{display:flex;gap:4px;padding:12px 14px}
.msg.typing .bubble i{width:7px;height:7px;border-radius:50%;background:var(--pink);animation:rv-dot 1s infinite}
.msg.typing .bubble i:nth-child(2){animation-delay:.15s}
.msg.typing .bubble i:nth-child(3){animation-delay:.3s}
.talk-foot{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;font-size:12.5px;color:var(--muted);border-top:1px solid var(--line)}
.talk-foot button{font:inherit;color:var(--pink-deep);background:none;border:0;cursor:pointer;padding:4px}
@keyframes rv-pop{from{opacity:0;transform:translateY(18px) scale(.9)}to{opacity:1;transform:none}}
@keyframes rv-out{to{opacity:0;transform:translateY(-14px);height:0;margin-top:-12px}}
@keyframes rv-dot{0%,100%{transform:translateY(0);opacity:.5}50%{transform:translateY(-4px);opacity:1}}
@keyframes rv-blink{50%{opacity:.3}}
@media (max-width:860px){.rv .wrap{grid-template-columns:1fr;gap:32px}.rv-copy .bunny{display:none}.talk-body{height:400px}}
@media (prefers-reduced-motion:reduce){.msg,.msg.typing .bubble i,.talk-top .live i{animation:none}}

/* hide the iframe Netlify injects on free-plan sites (Powered by Netlify badge) */
#nl-badge-frame{display:none!important}

/* 협업 파트너 럽마이데이즈 (luvmydays.html) — lilac/pink balloon tones, floating balloon shapes in the hero */
.luv-hero{--lilac:#c9b8f0;position:relative;overflow:hidden;text-align:center;padding-block:72px 64px;background:radial-gradient(circle at 15% 20%,#fff 0,transparent 40%),linear-gradient(160deg,var(--pink-wash),#efe8ff 60%,#e6f0fb);border-bottom:1px solid var(--line)}
.luv-hero .wrap{position:relative;z-index:1;display:grid;justify-items:center;gap:14px}
.luv-hero .pill{font-family:var(--f-latin);font-weight:600;font-size:12px;letter-spacing:.18em;border:1.5px solid var(--ink);border-radius:999px;padding:5px 16px;background:var(--paper)}
.luv-logo{font-family:var(--f-latin);font-weight:600;font-size:clamp(34px,7vw,64px);letter-spacing:.16em;color:var(--pink-deep);line-height:1.1}
.luv-hero h1{font-size:clamp(28px,4.6vw,42px)}
.luv-lead{color:var(--muted);font-size:17px}
.luv-cta{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:8px}
.luv-note{font-size:14px;color:var(--muted);max-width:30em}
.luv-b{position:absolute;border-radius:50% 50% 48% 52%/55% 55% 45% 45%;opacity:.55;animation:luvfloat 7s ease-in-out infinite}
.luv-b::after{content:'';position:absolute;left:50%;top:100%;width:1px;height:90px;background:rgba(43,35,38,.18)}
.luv-b.b1{width:120px;height:140px;left:6%;top:16%;background:radial-gradient(circle at 35% 30%,#fff 0 8%,var(--pink) 30%)}
.luv-b.b2{width:90px;height:105px;right:8%;top:10%;background:radial-gradient(circle at 35% 30%,#fff 0 8%,#c9b8f0 30%);animation-delay:-2s}
.luv-b.b3{width:70px;height:82px;right:18%;bottom:12%;background:radial-gradient(circle at 35% 30%,#fff 0 8%,var(--sky) 30%);animation-delay:-4s}
@keyframes luvfloat{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-14px) rotate(3deg)}}
@media (max-width:700px){.luv-b.b1{width:70px;height:82px;left:-12px}.luv-b.b2{width:56px;height:66px;right:-6px}.luv-b.b3{display:none}}
.luv-points{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.luv-points b{font-family:var(--f-latin);font-weight:600;color:var(--pink-deep);font-size:14px;letter-spacing:.1em}
.luv-points h3{font-size:21px;margin:6px 0 8px}
.luv-points p{color:var(--muted);font-size:15px}
@media (max-width:860px){.luv-points{grid-template-columns:1fr}}
.luv-empty{cursor:default;display:grid;place-items:center;background:repeating-linear-gradient(45deg,var(--pink-wash) 0 14px,#f3eefe 14px 28px);border:2px dashed var(--line)}
.luv-empty span{position:static;opacity:1;background:none;color:var(--muted);padding:0;text-align:center;font-family:var(--f-display);font-size:15px}
.luv-tags{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px}
.luv-tags li{font-family:var(--f-display);font-size:17px;background:var(--pink-wash);border:1.5px solid var(--line);border-radius:999px;padding:9px 18px}
.luv-end .wrap{display:grid;justify-items:center;text-align:center;gap:12px}
.luv-end img{width:110px}
.luv-end h2{font-size:clamp(26px,4vw,36px)}
.luv-end p{color:var(--muted)}
.luv-tel{justify-content:center;font-size:15px;color:var(--muted);margin-top:6px}
@media (prefers-reduced-motion:reduce){.luv-b{animation:none}}
