.touch-premium{color-scheme:dark;--bg:#041723;--panel:#082331;--gold:#edc789;--cream:#fbefd9;--muted:#a6b6c0;--line:#204152;--radius:20px;font-family:"Pretendard","Noto Sans KR",-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;font-synthesis:none}
.touch-premium *{box-sizing:border-box}
.touch-premium{margin:0;background:radial-gradient(ellipse at 50% 0,#092b3e 0,transparent 55%),var(--bg);color:#f5f6f7;font-size:15px;line-height:1.6}
.touch-premium button,.touch-premium a{-webkit-tap-highlight-color:transparent}
.touch-premium button,.touch-premium input{font:inherit}
.touch-premium button{cursor:pointer;color:inherit}
.touch-premium button{border:0}
.touch-premium button:focus-visible,.touch-premium a:focus-visible,.touch-premium input:focus-visible{outline:3px solid #f6d59e;outline-offset:5px}
.touch-premium a{color:inherit;text-decoration:none}
.touch-premium button{transition:background .2s,transform .2s,box-shadow .2s}
.touch-premium button:active{transform:translateY(1px)}
.touch-premium img{display:block;max-width:100%;object-fit:contain}
.touch-premium h1,.touch-premium h2,.touch-premium p{margin:0}
.touch-premium h1,.touch-premium h2,.touch-premium strong{word-break:keep-all}
.touch-premium button{text-align:left}
.touch-premium .site-shell{max-width:1184px;padding:0 32px;margin:auto}
.touch-premium .header{height:113px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.touch-premium .brand{display:flex;align-items:center;gap:12px}
.touch-premium .brand>img{width:54px;height:auto;flex-shrink:0}
.touch-premium .brand-name{font-family:Georgia,"Noto Serif KR","AppleMyungjo",serif;font-size:24px;letter-spacing:-1px;display:flex;align-items:center;gap:10px}
.touch-premium .brand-name i{font:15px sans-serif;color:var(--gold)}
.touch-premium .brand-tagline{display:block;color:var(--gold);font-size:8px;font-weight:700;letter-spacing:3.1px;margin-top:2px}
.touch-premium .header-actions{display:flex;align-items:center;gap:14px}
.touch-premium .header-caption{font-size:12px;color:var(--muted);margin-right:14px}
.touch-premium .icon-button{width:46px;height:46px;display:grid;place-items:center;position:relative;background:transparent;border-radius:50%}
.touch-premium .profile{border:1px solid #2b5164;background:#0b2c40}
.touch-premium .profile img{width:35px;height:35px}
.touch-premium .notification-symbol{font-size:30px;transform:rotate(180deg);line-height:1}
.touch-premium .notification-dot{position:absolute;top:8px;right:9px;width:7px;height:7px;background:var(--gold);border-radius:50%;border:2px solid var(--bg)}
/* 페이지별 main padding과 분리하여 메뉴·돌출 QR·안전 영역 아래까지 스크롤한다. */
.touch-premium{--touch-nav-clearance:calc(132px + env(safe-area-inset-bottom,0px))}
.touch-premium .site-shell.touch-nav-shell{padding-bottom:var(--touch-nav-clearance)}
.touch-premium .hero{position:relative;isolation:isolate;overflow:hidden;border:1px solid #b18b50;border-radius:var(--radius);background:#031722 url('assets/hero-touch.png') right center/auto 100% no-repeat;padding:36px 42px;box-shadow:0 12px 50px #0002}
.touch-premium .hero-content{position:relative;z-index:1}
.touch-premium .eyebrow{color:var(--gold);font-size:10px;letter-spacing:2.8px;font-weight:600;display:flex;align-items:center;gap:8px}
.touch-premium .eyebrow>span{width:5px;height:5px;background:var(--gold);border-radius:50%}
.touch-premium .hero h1{font-size:37px;line-height:1.38;letter-spacing:-1.5px;font-weight:700;margin:13px 0 12px}
.touch-premium .hero h1 em{font-style:normal;color:var(--gold)}
.touch-premium .hero-description{font-size:15px;color:#c9d2d8;margin-bottom:22px}
.touch-premium .mobile-break{display:none}
.touch-premium .button{border-radius:11px;min-height:49px;display:flex;align-items:center;justify-content:center;gap:20px;padding:12px 22px;font-size:15px;font-weight:700;line-height:1.5}
.touch-premium .button-gold{background:linear-gradient(115deg,#fff0c7,#e5b777);color:#1f211c;box-shadow:inset 0 1px #fff9}
.touch-premium .button-gold:hover{box-shadow:0 4px 20px #e4b36b30,inset 0 1px #fff9}
.touch-premium .activate{min-width:275px;justify-content:space-between}
.touch-premium .activate>span{font-size:22px;font-weight:400;line-height:1}
.touch-premium .hero-footnote{font-size:10px;color:#a6aaab;margin-top:11px;letter-spacing:.3px}
.touch-premium .hero-seal{position:absolute;bottom:29px;right:46px;font-size:9px;letter-spacing:2.4px;color:#dcbe8c}
.touch-premium .balance-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}
.touch-premium .premium-card,.touch-premium .touch-card{border:1px solid var(--line);border-radius:var(--radius);padding:24px 28px;overflow:hidden;min-width:0}
.touch-premium .premium-card{background:linear-gradient(112deg,#aa77382b,transparent 58%,#aa773834),#162126;border-color:#a58551;position:relative}
.touch-premium .premium-card:before{content:"";position:absolute;inset:0;background:url('assets/hero.webp') left bottom/auto 220% no-repeat;opacity:.13;pointer-events:none}
.touch-premium .premium-card>*{position:relative}
.touch-premium .balance-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:6px}
.touch-premium .overline{font-size:9px;letter-spacing:2px;color:#b9b5a7}
.touch-premium .pill{font-size:8px;letter-spacing:1.4px;color:var(--gold);border:1px solid #b0905766;padding:2px 9px;border-radius:20px}
.touch-premium .balance-main{display:flex;align-items:center;gap:19px}
.touch-premium .balance-title{display:flex;align-items:center;gap:8px}
.touch-premium .balance-main h2{font-size:15px;font-weight:500;color:#dedfd9}
.touch-premium .premium-amount,.touch-premium .touch-amount{font-size:44px;line-height:1.25;font-weight:750;letter-spacing:-1.8px;color:var(--gold);font-variant-numeric:tabular-nums;white-space:nowrap}
.touch-premium .premium-amount span,.touch-premium .touch-amount span{font-size: 32px;letter-spacing:0;font-weight:600}
.touch-premium .diamond{width:73px;height:73px}
.touch-premium .balance-bottom{border-top:1px solid #9d89502e;margin-top:20px;padding-top:11px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:#c6c4b7;font-size: 15px;}
.touch-premium .text-button{background:transparent;color:var(--gold);padding:8px 0;min-height:44px;font-size: 15px;display:flex;gap:10px;align-items:center}
.touch-premium .touch-card{background:linear-gradient(115deg,#0c2a3c,#071d2b)}
.touch-premium .available{font-size:10px;color:#b9c5c9;display:flex;align-items:center;gap:5px}
.touch-premium .available>span{width:4px;height:4px;background:#94b3a7;border-radius:50%}
.touch-premium .coin{width:59px;height:59px}
.touch-premium .touch-amount{font-size:38px}
.touch-premium .point-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:19px}
.touch-premium .point-actions .button{min-height:46px;padding:9px 14px;font-size: 15px;justify-content:space-between}
.touch-premium .button-outline{background:#051a27;border:1px solid #b69155;color:var(--gold)}
.touch-premium .button-outline:hover{background:#18313d}
.touch-premium .quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}
.touch-premium .quick-card{display:flex;align-items:center;gap:15px;padding:23px;background:linear-gradient(120deg,#0b2a3d,#061c29);border:1px solid var(--line);border-radius:16px;min-width:0}
.touch-premium .quick-card:hover{border-color:#b09157;background:#0e2c3b}
.touch-premium .quick-icon{display:grid;place-items:center;width:57px;height:57px;flex-shrink:0}
.touch-premium .quick-icon img{width:56px;height:56px}
.touch-premium .quick-copy{display:flex;flex-direction:column;gap:4px}
.touch-premium .quick-copy strong{font-size:17px;font-weight:600;letter-spacing:-.4px}
.touch-premium .quick-copy>span{font-size:12px;color:var(--muted);word-break:keep-all}
.touch-premium .circle-arrow{display:grid;place-items:center;width:31px;height:31px;border:1px solid #ad8b4b;border-radius:50%;font-size:17px;color:var(--gold);margin-left:auto;flex-shrink:0}
.touch-premium .stories{margin-top:36px}
.touch-premium .section-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:18px}
.touch-premium .section-heading .eyebrow{font-size:8px;letter-spacing:2px;margin-bottom:5px}
.touch-premium .section-heading h2{font-size:25px;font-weight:650;letter-spacing:-1px}
.touch-premium .gold-dot{color:var(--gold);margin-left:3px}
.touch-premium .section-aside{font-size:11px;color:var(--muted);padding-bottom:5px}
.touch-premium .swipe-hint{display:none}
.touch-premium .story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:19px}
.touch-premium .story-card{display:block;padding:0;border-radius:16px;overflow:hidden;background:#f5eee2;min-width:0;box-shadow:0 4px 15px #0002}
.touch-premium .story-image{display:block;position:relative;aspect-ratio:1.8;overflow:hidden}
.touch-premium .story-image>img{width:100%;height:100%;object-fit:cover;transition:transform .45s}
.touch-premium .story-card:hover .story-image>img{transform:scale(1.04)}
.touch-premium .story-tag{position:absolute;left:15px;top:14px;font-size:7px;letter-spacing:1.6px;background:#05172599;color:#fff;padding:4px 8px;border:1px solid #ffffff3b;border-radius:3px}
.touch-premium .play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:45px;height:45px;background:#061724ae;border:1px solid #d9bc83;border-radius:50%;color:#f4dfb1;font-size:17px;padding-left:3px;backdrop-filter:blur(4px)}
.touch-premium .story-copy{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:18px 19px;color:#152a33}
.touch-premium .story-text{display:flex;flex-direction:column;gap:4px}
.touch-premium .story-text strong{font-size:20px;letter-spacing:-.6px}
.touch-premium .story-text>span{font-size:11px;color:#49606a;letter-spacing:-.25px;word-break:keep-all}
.touch-premium .story-arrow{display:grid;place-items:center;flex-shrink:0;width:30px;height:30px;background:#082331;border-radius:50%;color:#f3d398;font-size:17px}
.touch-premium .care-banner{display:flex;position:relative;align-items:center;gap:20px;width:100%;margin-top:24px;padding:29px 35px;border-radius:18px;color:#243036;background:#f3ecdf url('assets/doctor.webp') center/cover no-repeat;overflow:hidden;min-height:180px}
.touch-premium .care-banner>span:first-child{position:relative;z-index:1}
.touch-premium .care-eyebrow{display:block;font-size:8px;letter-spacing:2px;color:#856b47;margin-bottom:8px}
.touch-premium .care-banner strong{display:block;font-size:23px;line-height:1.45;letter-spacing:-.7px}
.touch-premium .care-description{display:block;font-size:12px;margin-top:8px;color:#53616a}
.touch-premium .footer{display:flex;justify-content:space-between;color:#7c949f;font-size:9px;margin-top:24px;letter-spacing:.4px}
.touch-premium .footer>span:first-child{letter-spacing:2px}
.touch-premium .bottom-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;bottom:16px;left:50%;transform:translateX(-50%);width:min(560px,calc(100% - 32px));padding:7px 13px;border:1px solid #244759;border-radius:22px;background:transparent;box-shadow:0 3px 35px #0005;overflow:visible;isolation:isolate;z-index:10}
/* 배경 흐림을 분리해 메뉴 위로 돌출된 QR 버튼이 잘리지 않도록 한다. */
.touch-premium .bottom-nav:before{content:"";position:absolute;inset:0;border-radius:inherit;background:#041722ef;backdrop-filter:blur(18px);pointer-events:none;z-index:-1}
.touch-premium .nav-item{display:flex;position:relative;flex-direction:column;align-items:center;justify-content:center;gap:0;background:transparent;border-radius:12px;padding:3px 2px 6px;min-width:0;min-height:63px;color:#bbc4d1;font-size:11px}
.touch-premium .nav-item img{width:35px;height:35px}
/* 포인트 아이콘의 가는 윤곽에 맞춰 예약관리 선을 최소한으로 보강한다. */
.touch-premium .nav-booking img{filter:drop-shadow(0 0 .1px #bbc4d126)}
.touch-premium .nav-booking.is-active img{filter:drop-shadow(0 0 .1px #edc78926)}
.touch-premium .nav-hospital:not(.is-active) img{filter:grayscale(1);opacity:.65}
.touch-premium .nav-item.is-active{color:var(--gold);background:linear-gradient(#e8bd7210,#e8bd7200)}
.touch-premium .nav-item.is-active:after{content:"";position:absolute;bottom:1px;width:13px;height:2px;background:var(--gold);border-radius:2px}
.touch-premium .nav-item:hover{background:#ffffff08}
.touch-premium .skip-link{position:fixed;z-index:40;top:-100px;left:20px;padding:12px 20px;background:var(--cream);color:#041723}
.touch-premium .skip-link:focus{top:10px}
.touch-premium dialog{color:inherit;width:min(520px,calc(100% - 32px));max-height:85dvh;background:#0a2535;border:1px solid #44606a;border-radius:24px;padding:27px;box-shadow:0 25px 100px #0008;overscroll-behavior:contain}
.touch-premium dialog::backdrop{background:#0009;backdrop-filter:blur(7px)}
.touch-premium #touch-dialog.is-video{width:min(960px,calc(100% - 32px))}
.touch-premium .touch-video-player{display:block;width:100%;aspect-ratio:16/9;border:0;background:#000;border-radius:12px}
.touch-premium .dialog-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.touch-premium .dialog-top .eyebrow{font-size:8px;letter-spacing:2px}
.touch-premium .close-button{width:44px;height:44px;border-radius:50%;background:#ffffff08;font-size:27px;display:grid;place-items:center}
.touch-premium .dialog-title{font-size:25px;letter-spacing:-.8px;margin:0 0 12px}
.touch-premium .dialog-description{font-size:14px;color:#bdcbd3;word-break:keep-all;margin:0 0 20px}
.touch-premium .dialog-panel{padding:18px;border:1px solid #35515f;border-radius:13px;margin:14px 0;background:#051b2855}
.touch-premium .dialog-panel h3{margin:0 0 7px;font-size:16px;color:var(--gold)}
.touch-premium .dialog-panel p{font-size:13px;color:#c1cdd3}
.touch-premium .dialog-note{font-size:12px;color:#b7c5cd;line-height:1.7;margin-top:18px}
.touch-premium .dialog-button{width:100%;margin-top:20px}
.touch-premium .dialog-amount{color:var(--gold);font-size:32px;font-weight:700;letter-spacing:-1px}
.touch-premium .dialog-list{display:grid;gap:9px}
.touch-premium .dialog-list button{padding:14px 17px;min-height:52px;border:1px solid #365361;border-radius:11px;background:#102e3d;display:flex;align-items:center;justify-content:space-between}
.touch-premium .dialog-photo{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:13px;margin:10px 0 20px}
.touch-premium .dialog-posters{display:grid;gap:16px}
.touch-premium .dialog-posters img{display:block;width:100%;height:auto}
.touch-premium #touch-dialog.is-posters[open]{display:flex;flex-direction:column;overflow:hidden}
.touch-premium #touch-dialog.is-posters .dialog-top{flex-shrink:0}
.touch-premium #touch-dialog.is-posters #touch-dialog-body{display:flex;flex-direction:column;min-height:0}
.touch-premium .poster-zoom-controls{display:flex;align-items:center;gap:8px;flex-shrink:0;margin-bottom:12px}
.touch-premium .poster-zoom-controls button{min-width:44px;min-height:44px;padding:8px 12px;border:1px solid #48616d;border-radius:10px;background:#102e3d;color:inherit;cursor:pointer}
.touch-premium .poster-zoom-controls button:disabled{opacity:.4;cursor:default}
.touch-premium .poster-zoom-controls output{min-width:4ch;text-align:center;font-size:14px}
.touch-premium .poster-viewport{min-height:0;overflow:auto;overscroll-behavior:contain;touch-action:none;user-select:none;cursor:grab}
.touch-premium .poster-viewport.is-dragging{cursor:grabbing}
.touch-premium .poster-viewport .dialog-posters{max-width:none}
.touch-premium .poster-viewport .dialog-posters img{max-width:none}
.touch-premium :is(.poster-zoom-controls button,.poster-viewport):focus-visible{outline:2px solid var(--gold);outline-offset:-2px}
.touch-premium .gift-form label{display:block;font-size:13px;margin-top:16px}
.touch-premium .gift-form input{display:block;width:100%;margin-top:8px;border:1px solid #48616d;border-radius:10px;padding:13px;background:#041c2a;color:white;min-height:48px;font-size:16px}
.touch-premium .form-error{color:#ffc9b7;font-size:13px;margin-top:12px}
.touch-premium .toast{position:fixed;left:50%;bottom:115px;transform:translate(-50%,20px);background:#f3e6ce;color:#1f2c31;padding:12px 20px;border-radius:12px;width:max-content;max-width:calc(100% - 40px);font-size:13px;z-index:100;box-shadow:0 5px 30px #0006;opacity:0;pointer-events:none;transition:.2s}
.touch-premium .toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:1400px){.touch-premium .site-shell{max-width:1240px}
.touch-premium .header{height:124px}
.touch-premium .hero{padding:40px 46px}
.touch-premium .hero h1{font-size:41px}
}
@media(max-width:900px){.touch-premium .header-caption{display:none}
.touch-premium .hero{padding:30px;background-position:right center}
.touch-premium .hero h1{font-size:32px}
.touch-premium .premium-card,.touch-premium .touch-card{padding:20px}
.touch-premium .premium-amount{font-size:35px}
.touch-premium .touch-amount{font-size:32px}
.touch-premium .balance-main{gap:8px}
.touch-premium .diamond{width:56px;height:56px}
.touch-premium .coin{width:49px;height:49px}
.touch-premium .quick-card{padding:19px 16px;gap:10px}
.touch-premium .quick-icon,.touch-premium .quick-icon img{width:43px;height:43px}
.touch-premium .quick-copy strong{font-size:15px}
.touch-premium .quick-copy>span{font-size:11px}
.touch-premium .circle-arrow{width:27px;height:27px}
.touch-premium .story-copy{padding:14px}
.touch-premium .story-text strong{font-size:18px}
.touch-premium .story-text>span{font-size:10px}
.touch-premium .care-banner strong{font-size:21px}
}
@media(max-width:600px){.touch-premium .site-shell{padding:0 20px}
.touch-premium .header{height:91px;gap:8px}
.touch-premium .brand{gap:7px}
.touch-premium .brand>img{width:40px}
.touch-premium .brand-name{font-size:18px;gap:5px;letter-spacing:-.8px}
.touch-premium .brand-tagline{font-size:6px;letter-spacing:1.7px;margin-top:3px}
.touch-premium .header-actions{gap:1px}
.touch-premium .icon-button{width:40px;height:44px}
.touch-premium .profile{width:37px;height:37px}
.touch-premium .profile img{width:30px;height:30px}
.touch-premium .notification-symbol{font-size:27px}
.touch-premium .notification-dot{right:7px}
.touch-premium .hero{border-radius:18px;padding:24px 21px;background-size:auto 100%;background-position:65% center}
.touch-premium .hero:after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,#031723e0,#03172399 55%,#03172312)}
.touch-premium .hero .eyebrow{font-size:8px;letter-spacing:2px}
.touch-premium .hero h1{font-size:clamp(24px,6.1vw,34px);letter-spacing:-1.15px;margin:14px 0 12px;line-height:1.42}
.touch-premium .hero-description{font-size:12px;line-height:1.7;margin-bottom:21px;color:#d0d6da}
.touch-premium .mobile-break{display:block}
.touch-premium .activate{min-width:0;width:100%;min-height:50px;padding:12px 19px;font-size:15px;border-radius:11px}
.touch-premium .hero-footnote{text-align:center;font-size:9px;margin-top:10px}
.touch-premium .hero-seal{display:none}
.touch-premium .balance-grid{grid-template-columns:1fr;gap:14px;margin-top:16px}
.touch-premium .premium-card,.touch-premium .touch-card{padding:19px 21px;border-radius:16px}
.touch-premium .balance-top{margin-bottom:12px}
.touch-premium .overline{font-size:8px;letter-spacing:1.7px}
.touch-premium .premium-card .balance-main{gap:16px}
.touch-premium .diamond{width:62px;height:62px}
.touch-premium .balance-main h2{font-size:14px}
.touch-premium .premium-amount{font-size:40px;letter-spacing:-1.5px}
.touch-premium .premium-amount span{font-size:32px}
.touch-premium .balance-bottom{margin-top:13px;padding-top:3px;font-size:15px}
.touch-premium .balance-bottom .text-button{font-size:15px;min-height:36px}
.touch-premium .touch-card .balance-main{gap:14px}
.touch-premium .coin{width:52px;height:52px}
.touch-premium .touch-amount{font-size:36px}
.touch-premium .touch-amount span{font-size:32px}
.touch-premium .point-actions{margin-top:17px;gap:10px}
.touch-premium .point-actions .button{min-height:48px;padding:11px 15px;font-size:15px}
.touch-premium .quick-grid{gap:11px;margin-top:14px}
.touch-premium .quick-card{padding:17px 14px;display:grid;grid-template-columns:1fr 24px;gap:10px 4px;align-content:start;position:relative}
.touch-premium .quick-icon,.touch-premium .quick-icon img{width:41px;height:41px}
.touch-premium .quick-icon{grid-column:1}
.touch-premium .quick-copy{grid-column:1/3;grid-row:2;gap:6px}
.touch-premium .quick-copy strong{font-size:14px;letter-spacing:-.65px;line-height:1.5}
.touch-premium .quick-copy>span{font-size:11px;line-height:1.65;max-width:128px}
.touch-premium .circle-arrow{grid-column:2;grid-row:1;width:24px;height:24px;font-size:14px;align-self:center}
.touch-premium .stories{margin-top:29px}
.touch-premium .section-heading{margin-bottom:14px;gap:7px}
.touch-premium .section-heading h2{font-size:21px;letter-spacing:-.8px}
.touch-premium .section-heading .eyebrow{font-size:7px;letter-spacing:1.5px;margin-bottom:6px}
.touch-premium .section-aside{display:none}
.touch-premium .swipe-hint{display:block;font-size:9px;color:var(--muted);white-space:nowrap;padding-bottom:4px}
.touch-premium .story-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:13px;margin:0 -20px;padding:0 20px 7px;scroll-padding-inline:20px}
.touch-premium .story-grid::-webkit-scrollbar{display:none}
.touch-premium .story-card{flex:0 0 78%;scroll-snap-align:start;border-radius:14px}
.touch-premium .story-image{aspect-ratio:1.8}
.touch-premium .story-copy{padding:15px 17px}
.touch-premium .story-text strong{font-size:20px}
.touch-premium .story-text>span{font-size:11px}
.touch-premium .story-tag{font-size:7px;top:12px;left:13px}
.touch-premium .care-banner{margin-top:18px;min-height:184px;padding:23px 20px;border-radius:16px;background-position:63% center;gap:8px}
.touch-premium .care-banner:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#f5eddf,#f5eddfda 55%,#f5eddf22)}
.touch-premium .care-eyebrow{font-size:7px;letter-spacing:1.6px;margin-bottom:9px}
.touch-premium .care-banner strong{font-size:18px;line-height:1.6;letter-spacing:-.6px}
.touch-premium .care-description{font-size:10px;max-width:205px;word-break:keep-all;line-height:1.7;margin-top:9px}
.touch-premium .footer{margin-top:20px;display:block;text-align:center;font-size:9px}
.touch-premium .footer span{display:block}
.touch-premium .footer span+span{margin-top:4px}
.touch-premium .bottom-nav{width:100%;bottom:0;border-radius:20px 20px 0 0;border-bottom:0;padding:8px 12px calc(10px + env(safe-area-inset-bottom,0px))}
.touch-premium .bottom-nav:before{background:#031622f5}
.touch-premium .nav-item{font-size:11px;min-height:59px}
.touch-premium .nav-item img{width:34px;height:34px}
.touch-premium{--touch-nav-clearance:calc(116px + env(safe-area-inset-bottom,0px))}
.touch-premium .toast{bottom:calc(95px + env(safe-area-inset-bottom,0px))}
.touch-premium dialog{padding:21px;border-radius:21px;max-height:85dvh}
.touch-premium .dialog-title{font-size:23px}
}
@media(max-width:360px){.touch-premium .site-shell{padding:0 16px}
.touch-premium .header{height:82px}
.touch-premium .brand-name{font-size:16px}
.touch-premium .brand>img{width:32px}
.touch-premium .brand-tagline{font-size:5px;letter-spacing:1.5px}
.touch-premium .header-actions{gap:0}
.touch-premium .notification{width:34px}
.touch-premium .profile{width:33px;height:33px}
.touch-premium .hero{padding:21px 17px}
.touch-premium .hero h1{font-size:23px}
.touch-premium .premium-amount{font-size:35px}
.touch-premium .touch-amount{font-size:32px}
.touch-premium .premium-card,.touch-premium .touch-card{padding:18px}
.touch-premium .quick-card{padding:15px 11px}
.touch-premium .quick-copy strong{font-size:12px}
.touch-premium .quick-copy>span{font-size:10px}
.touch-premium .section-heading h2{font-size:18px}
.touch-premium .swipe-hint{font-size:8px}
.touch-premium .story-grid{margin:0 -16px;padding-left:16px;padding-right:16px}
.touch-premium .care-banner{padding:20px 16px}
.touch-premium .care-banner strong{font-size:15px}
.touch-premium .care-description{font-size:10px}
}
@media(prefers-reduced-motion:reduce){.touch-premium *,.touch-premium *:before,.touch-premium *:after{transition:none!important;scroll-behavior:auto!important}
}
@media(max-width:600px){.touch-premium .header-actions{gap:0}
.touch-premium .icon-button,.touch-premium .profile{width:44px;height:44px;flex-shrink:0}
.touch-premium .profile{border:0;background:transparent}
.touch-premium .profile:before{content:"";position:absolute;inset:4px;border:1px solid #2b5164;border-radius:50%;background:#0b2c40;z-index:-1}
.touch-premium .profile img{width:29px;height:29px}
.touch-premium .balance-bottom .text-button{min-height:44px}
.touch-premium .hero{background-position:calc(100% + 60px) center}
}
@media(max-width:360px){.touch-premium .brand-name{font-size:14.5px;gap:4px}
.touch-premium .brand>img{width:29px}
.touch-premium .brand{gap:5px}
.touch-premium .brand-tagline{font-size:5px;letter-spacing:1.2px}
.touch-premium .header{gap:4px}
}
.touch-premium{scroll-padding-block:24px 110px}
.touch-premium .profile img{position:relative;z-index:1}
.touch-premium .dialog-list a{padding:14px 17px;min-height:52px;border:1px solid #365361;border-radius:11px;background:#102e3d;display:flex;align-items:center;justify-content:space-between}
.touch-premium .dialog-list a:hover{border-color:#b69155;background:#173543}
.touch-premium .auth-dialog-links a:first-child{background:linear-gradient(115deg,#fff0c7,#e5b777);color:#1f211c;border-color:#e5b777;font-weight:700}

/* 가운데 QR스캔: 다른 메뉴의 크기와 위치를 유지하는 돌출형 버튼 */
.touch-premium .nav-item.nav-qr{z-index:1;overflow:visible;justify-content:flex-end;color:var(--gold);background:transparent;isolation:isolate}
/* 참조 시안의 QR 버튼 영역을 원본에서 추출한 소형 자산으로 표시합니다. */
.touch-premium .nav-qr-orb{position:absolute;bottom:17px;width:70px;height:70px;display:grid;place-items:center;border:0;border-radius:0;background:transparent;box-shadow:none;transition:none;pointer-events:none}
.touch-premium .nav-qr-orb img{visibility:hidden}
.touch-premium .nav-qr-orb .nav-reservation-count{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#edc789;color:#102e3d;font-size:13px;font-weight:700;line-height:1;letter-spacing:-.5px;font-variant-numeric:tabular-nums;box-shadow:0 0 0 2px #102e3d}
.touch-premium .nav-qr-orb:before{content:"";position:absolute;inset:0;padding:0;border-radius:0;pointer-events:none;background:url('assets/nav-qr-reference.webp') center/70px 70px no-repeat;mask:radial-gradient(circle at center,#000 0 25px,#000d 26px,transparent 29px);mask-composite:add;filter:none}
.touch-premium .nav-qr:hover .nav-qr-orb,.touch-premium .nav-qr.is-active .nav-qr-orb{border:0;box-shadow:none}
.touch-premium .nav-qr.is-active .nav-qr-orb:before{filter:brightness(1.1)}
.touch-premium .nav-item.nav-qr>span:last-child{color:#edc789;font-weight:500}
.touch-premium .nav-qr.is-active:after{display:none}
.touch-premium .nav-qr:focus-visible{outline:2px solid #ffe0a5;outline-offset:4px}

/* 회원 홈: 기존 네이비·골드 테마 안에서 신원과 구독 정보를 묶는다. */
.touch-premium .hero-member{background-color:#010812}
.touch-premium .hero-member h1{font-size:42px;letter-spacing:-1.8px;font-weight:650;overflow-wrap:anywhere;word-break:normal}
.touch-premium .hero-identity{display:flex;flex-wrap:wrap;gap:6px 8px;color:#9aa9b5;font-size:12px;margin-bottom:22px}
.touch-premium .hero-identity strong{color:inherit;font-weight:400;overflow-wrap:anywhere;word-break:normal;min-width:0}
.touch-premium .hero-membership{display:flex;align-items:center;flex-wrap:wrap;gap:10px 13px;margin-bottom:22px}
.touch-premium .hero-member-badge{display:inline-flex;align-items:center;gap:7px;flex-shrink:0;border:1px solid #506675;border-radius:30px;padding:6px 11px;font-size:11px;font-weight:500;color:#c9d2d8}
.touch-premium .hero-member-badge.is-full{border-color:#84704c;background:#d7b16e0d;color:var(--gold)}
.touch-premium .hero-member-badge.is-full:before{content:"";width:12px;height:12px;background:currentColor;clip-path:polygon(50% 0,65% 35%,100% 50%,65% 65%,50% 100%,35% 65%,0 50%,35% 35%)}
.touch-premium .hero-expiration{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;color:var(--muted);font-size:12px}
.touch-premium .hero-expiration time{color:var(--cream);font-size:14px;font-weight:500;font-variant-numeric:tabular-nums}
.touch-premium .hero-member-note{color:var(--muted);font-size:13px;word-break:keep-all}
.touch-premium .hero-member .activate{width:100%;max-width:440px}
.touch-premium .hero-member .hero-footnote{text-align:left;font-size:12px;max-width:75%}
@media(max-width:600px){
.touch-premium .hero-member h1{font-size:32px}
.touch-premium .hero-identity{font-size:11px;margin-bottom:20px}
.touch-premium .hero-membership{gap:8px 10px;margin-bottom:18px}
.touch-premium .hero-expiration{font-size:11px;gap:5px 8px}
.touch-premium .hero-expiration time{font-size:13px}
.touch-premium .hero-member-note{font-size:12px;flex-basis:100%}
.touch-premium .hero-member .activate{max-width:none}
.touch-premium .hero-member .hero-footnote{max-width:none;font-size:10px}
}
