/* =========================================================
   LUXURYN INTERIOR — 사용자웹 공통 스타일 v1.0
   구조: 1.Base 2.Layout 3.Typography 4.Buttons 5.Header/GNB
         6.Footer 7.Page hero 8.Components 9.Forms 10.Utilities
   네이밍: 블록 .c-*, 레이아웃 .l-*, 상태 .is-*, 유틸 .u-*
   ========================================================= */

/* 1. Base ------------------------------------------------ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{overflow-x:clip;scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 16px)}
body{font-family:var(--sans);font-size:var(--fs-body);line-height:1.7;color:var(--ink);background:var(--ivory);word-break:keep-all;overflow-wrap:break-word;-webkit-font-smoothing:antialiased}
img,svg,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
button,input,select,textarea{font:inherit;color:inherit;background:none;border:0}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
::selection{background:var(--gold-pale)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}

/* 2. Layout ---------------------------------------------- */
.l-wrap{max-width:calc(var(--max) + var(--gutter)*2);margin:0 auto;padding:0 var(--gutter)}
.l-wrap.is-wide{max-width:calc(var(--max-wide) + var(--gutter)*2)}
.l-sec{padding:var(--sec) 0}
.l-sec.is-tight{padding:calc(var(--sec)*.6) 0}
.l-sec.is-parchment{background:var(--parchment)}
.l-sec.is-ink{background:var(--ink);color:var(--ivory)}
.l-sec.is-white{background:var(--white)}
.l-grid{display:grid;gap:24px}
.l-grid.c2{grid-template-columns:repeat(2,1fr)}
.l-grid.c3{grid-template-columns:repeat(3,1fr)}
.l-grid.c4{grid-template-columns:repeat(4,1fr)}
@media (max-width:1024px){.l-grid.c4{grid-template-columns:repeat(2,1fr)}.l-grid.c3{grid-template-columns:repeat(2,1fr)}}
@media (max-width:768px){.l-grid.c2,.l-grid.c3,.l-grid.c4{grid-template-columns:1fr}}
main{padding-top:0}

/* 3. Typography ------------------------------------------ */
h1,h2,h3,h4{font-weight:700;letter-spacing:-.025em;line-height:1.3}
.t-display{font-size:var(--fs-display);line-height:1.18;letter-spacing:-.035em;font-weight:700}
.t-h1{font-size:var(--fs-h1)}
.t-h2{font-size:var(--fs-h2)}
.t-h3{font-size:var(--fs-h3);line-height:1.45}
.t-lead{font-size:calc(var(--fs-body) + 2px);color:var(--ink-soft);line-height:1.8}
.t-small{font-size:var(--fs-small);color:var(--ink-soft)}
.t-caption{font-size:var(--fs-caption);color:var(--ink-faint)}
.t-num{font-family:var(--num);font-weight:500;letter-spacing:-.01em}
.t-serif{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:0}
.l-sec.is-ink .t-lead,.l-sec.is-ink .t-small{color:rgba(248,246,242,.68)}
.c-eyebrow{display:inline-flex;align-items:center;gap:12px;font-family:var(--en);font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:20px}
.c-eyebrow::before{content:"";width:28px;height:1px;background:currentColor}
.l-sec.is-ink .c-eyebrow{color:var(--gold)}
.c-sechead{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:64px}
.c-sechead .t-lead{max-width:520px;margin-top:16px}
.c-sechead.is-center{flex-direction:column;align-items:center;text-align:center}
@media (max-width:768px){.c-sechead{flex-direction:column;align-items:flex-start;gap:20px;margin-bottom:40px}}

/* 4. Buttons --------------------------------------------- */
.c-btn{--h:52px;display:inline-flex;align-items:center;justify-content:center;gap:10px;height:var(--h);padding:0 28px;border-radius:var(--r-sm);font-size:15px;font-weight:600;letter-spacing:-.01em;transition:background .25s var(--ease),color .25s,border-color .25s,transform .25s;white-space:nowrap}
.c-btn svg{width:18px;height:18px;flex:none}
.c-btn.is-primary{background:var(--ink);color:var(--ivory)}
.c-btn.is-primary:hover{background:var(--gold-deep)}
.c-btn.is-gold{background:var(--gold-deep);color:var(--white)}
.c-btn.is-gold:hover{background:var(--ink)}
.c-btn.is-line{border:1px solid var(--ink);color:var(--ink)}
.c-btn.is-line:hover{background:var(--ink);color:var(--ivory)}
.c-btn.is-line-light{border:1px solid rgba(248,246,242,.5);color:var(--ivory)}
.c-btn.is-line-light:hover{background:var(--ivory);color:var(--ink)}
.c-btn.is-kakao{background:var(--kakao);color:#191600}
.c-btn.is-sm{--h:40px;padding:0 18px;font-size:14px}
.c-btn.is-block{width:100%}
@media (max-width:768px){.c-btn{--h:48px;padding:0 22px}}
.c-link{position:relative;display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:15px}
.c-link::after{content:"";position:absolute;left:0;bottom:-4px;width:100%;height:1px;background:currentColor;transform-origin:right;transition:transform .35s var(--ease)}
.c-link:hover::after{transform:scaleX(0)}
.c-link svg{width:16px;height:16px;transition:transform .3s var(--ease)}
.c-link:hover svg{transform:translateX(4px)}

/* 5. Header / GNB ---------------------------------------- */
.c-header{position:fixed;inset:0 0 auto 0;z-index:100;height:var(--header-h);transition:background .35s,box-shadow .35s,color .35s}
.c-header .l-wrap{height:100%;display:flex;align-items:center;justify-content:space-between;gap:32px}
.c-header__logo img{height:26px;width:auto}
.c-header__logo .logo-w{display:none}
.c-header.is-over{color:var(--ivory)}
.c-header.is-over .logo-d{display:none}.c-header.is-over .logo-w{display:block}
.c-header.is-solid{background:rgba(248,246,242,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--linen);color:var(--ink)}
.c-header.is-solid .logo-d{display:block}.c-header.is-solid .logo-w{display:none}
.c-gnb{display:flex;align-items:center;gap:6px;height:100%}
.c-gnb>li{position:relative;height:100%;display:flex;align-items:center}
.c-gnb>li>a{padding:8px 16px;font-size:15px;font-weight:600;letter-spacing:-.01em;position:relative}
.c-gnb>li>a small{display:block;font-family:var(--en);font-size:10px;letter-spacing:.2em;font-weight:400;opacity:.55;text-align:center;margin-top:-2px}
.c-gnb>li>a.is-active::after{content:"";position:absolute;left:16px;right:16px;bottom:-2px;height:1px;background:var(--gold)}
.c-gnb__sub{position:absolute;top:100%;left:50%;transform:translate(-50%,8px);min-width:180px;background:var(--white);color:var(--ink);border:var(--line);border-radius:var(--r-sm);padding:10px;opacity:0;visibility:hidden;transition:.25s var(--ease);box-shadow:var(--shadow)}
.c-gnb>li:hover .c-gnb__sub,.c-gnb>li:focus-within .c-gnb__sub{opacity:1;visibility:visible;transform:translate(-50%,0)}
.c-gnb__sub a{display:block;padding:9px 14px;font-size:14px;border-radius:3px;color:var(--ink-2)}
.c-gnb__sub a:hover{background:var(--parchment);color:var(--ink)}
.c-header__util{display:flex;align-items:center;gap:14px}
.c-header__tel{font-family:var(--num);font-size:15px;font-weight:500;letter-spacing:.02em}
.c-header__my{font-size:14px;font-weight:600;opacity:.8}
.c-burger{display:none;width:40px;height:40px;position:relative}
.c-burger span{position:absolute;left:9px;right:9px;height:1.5px;background:currentColor;transition:.3s var(--ease)}
.c-burger span:nth-child(1){top:14px}.c-burger span:nth-child(2){top:20px}.c-burger span:nth-child(3){top:26px}
@media (max-width:1180px){.c-header__tel{display:none}}
@media (max-width:1024px){.c-gnb,.c-header__util .c-btn,.c-header__my{display:none}.c-burger{display:block}.c-header__logo img{height:22px}}

/* mobile menu */
.c-mnav{visibility:hidden;position:fixed;inset:0;z-index:120;background:var(--ink);color:var(--ivory);display:flex;flex-direction:column;padding:0 var(--gutter) 32px;transform:translateX(100%);transition:transform .45s var(--ease);overflow-y:auto}
.c-mnav.is-open{transform:none;visibility:visible}
.c-mnav__top{height:var(--header-h);display:flex;align-items:center;justify-content:space-between;flex:none}
.c-mnav__top img{height:22px}
.c-mnav__close{width:40px;height:40px;font-size:28px;line-height:1;color:var(--ivory)}
.c-mnav__list{margin-top:16px;flex:1}
.c-mnav__list>li{border-bottom:1px solid rgba(248,246,242,.12)}
.c-mnav__list>li>a{display:flex;justify-content:space-between;align-items:baseline;padding:20px 0;font-size:22px;font-weight:700}
.c-mnav__list>li>a small{font-family:var(--en);font-size:11px;letter-spacing:.2em;opacity:.5;font-weight:400}
.c-mnav__list .sub{display:flex;flex-wrap:wrap;gap:6px 16px;padding:0 0 18px}
.c-mnav__list .sub a{font-size:14px;opacity:.7}
.c-mnav__cta{display:grid;gap:10px;margin-top:28px}

/* 6. Footer ---------------------------------------------- */
.c-footer{background:var(--ink);color:rgba(248,246,242,.62);padding:88px 0 40px;font-size:14px}
.c-footer__top{display:grid;grid-template-columns:1.3fr 2fr;gap:64px;padding-bottom:56px;border-bottom:1px solid rgba(248,246,242,.12)}
.c-footer__brand img{height:26px;margin-bottom:24px}
.c-footer__brand p{max-width:340px;line-height:1.8}
.c-footer__cols{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.c-footer__cols h4{font-family:var(--en);font-size:11px;letter-spacing:.22em;font-weight:400;color:var(--gold);margin-bottom:18px;text-transform:uppercase}
.c-footer__cols li{margin-bottom:10px}
.c-footer__cols a:hover{color:var(--ivory)}
.c-footer__bottom{display:flex;justify-content:space-between;gap:24px;padding-top:32px;font-size:13px;line-height:1.9;flex-wrap:wrap}
.c-footer__bottom b{color:var(--ivory);font-weight:600}
.c-footer__tel{font-family:var(--num);font-size:28px;color:var(--ivory);letter-spacing:.02em;display:block;margin:6px 0 4px}
.c-footer__legal a{margin-right:18px}
.c-footer__legal a:first-child{color:var(--ivory);font-weight:600}
.c-footer__legal a:last-child{margin-right:0}
@media (max-width:1024px){.c-footer__top{grid-template-columns:1fr;gap:40px}}
@media (max-width:768px){.c-footer{padding:64px 0 120px}.c-footer__cols{grid-template-columns:repeat(2,1fr);gap:32px 16px}}

/* floating CTA */
.c-float{position:fixed;right:24px;bottom:24px;z-index:90;display:flex;flex-direction:column;gap:10px}
.c-float a{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;box-shadow:var(--shadow-lg);transition:transform .25s var(--ease)}
.c-float a:hover{transform:translateY(-3px)}
.c-float .is-kakao{background:var(--kakao);color:#191600}
.c-float .is-ai{background:var(--gold-deep);color:#fff;font-size:11px;font-weight:700;line-height:1.2;text-align:center}
.c-float .is-consult{background:var(--ink);color:var(--ivory);font-size:11px;font-weight:700;line-height:1.2;text-align:center}
.c-float svg{width:24px;height:24px}
.c-mbar{display:none}
@media (max-width:768px){
  .c-float{display:none}
  .c-mbar{display:grid;grid-template-columns:1fr 1fr 1.4fr;position:fixed;left:0;right:0;bottom:0;z-index:90;background:var(--white);border-top:var(--line);padding:8px 12px calc(8px + env(safe-area-inset-bottom));gap:8px}
  .c-mbar a{height:48px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;gap:6px;font-size:14px;font-weight:600}
  .c-mbar svg{width:18px;height:18px}
  .c-mbar .tel{border:var(--line)} .c-mbar .kakao{background:var(--kakao);color:#191600} .c-mbar .ai{background:var(--gold-deep);color:#fff} .c-mbar .go{background:var(--ink);color:var(--ivory)}
}

/* 7. Page hero (서브) ------------------------------------ */
.c-phero{position:relative;padding:calc(var(--header-h) + 96px) 0 72px;background:var(--parchment);overflow:hidden}
.c-phero.is-image{color:var(--ivory);background:var(--ink);min-height:520px;display:flex;align-items:flex-end}
.c-phero.is-image .bg{position:absolute;inset:0;object-fit:cover;width:100%;height:100%;opacity:.62}
.c-phero.is-image::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(43,40,37,.35) 0%,rgba(43,40,37,.1) 40%,rgba(43,40,37,.7) 100%)}
.c-phero .l-wrap{position:relative;z-index:1;width:100%}
.c-phero .t-lead{margin-top:18px;max-width:600px}
.c-phero.is-image .t-lead{color:rgba(248,246,242,.78)}
.c-crumb{display:flex;gap:8px;font-size:13px;color:var(--ink-faint);margin-bottom:28px}
.c-crumb a:hover{color:var(--ink)}
.c-crumb span::before{content:"/";margin-right:8px;opacity:.5}
.c-phero.is-image .c-crumb{color:rgba(248,246,242,.6)}
@media (max-width:768px){.c-phero{padding:calc(var(--header-h) + 56px) 0 48px}.c-phero.is-image{min-height:420px}}

/* sub nav (탭형 2depth) */
.c-subnav{position:sticky;top:var(--header-h);z-index:50;background:rgba(248,246,242,.96);backdrop-filter:blur(10px);border-bottom:var(--line)}
.c-subnav ul{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.c-subnav ul::-webkit-scrollbar{display:none}
.c-subnav a{display:block;padding:18px 18px;font-size:15px;font-weight:600;color:var(--ink-faint);white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-1px}
.c-subnav a.is-active,.c-subnav a:hover{color:var(--ink);border-color:var(--ink)}

/* 8. Components ------------------------------------------ */
/* photo card */
.c-pcard{display:block;position:relative}
.c-pcard__img{position:relative;overflow:hidden;border-radius:var(--r-sm);aspect-ratio:4/5;background:var(--linen)}
.c-pcard__img.is-land{aspect-ratio:16/10}
.c-pcard__img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.c-pcard:hover .c-pcard__img img{transform:scale(1.045)}
.c-pcard__tag{position:absolute;left:14px;top:14px;background:rgba(248,246,242,.92);font-size:12px;font-weight:600;padding:5px 10px;border-radius:2px}
.c-pcard__meta{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:18px}
.c-pcard__meta h3{font-size:19px}
.c-pcard__meta .t-num{font-size:14px;color:var(--ink-faint)}
.c-pcard__desc{font-size:14px;color:var(--ink-soft);margin-top:6px}

/* chip / filter */
.c-chips{display:flex;flex-wrap:wrap;gap:8px}
.c-chip{height:38px;padding:0 16px;border:var(--line);border-radius:40px;font-size:14px;font-weight:500;background:var(--white);transition:.2s;display:inline-flex;align-items:center;gap:6px}
.c-chip:hover{border-color:var(--ink)}
.c-chip.is-on{background:var(--ink);color:var(--ivory);border-color:var(--ink)}
.c-chip .n{font-family:var(--num);font-size:12px;opacity:.6}

/* badge */
.c-badge{display:inline-flex;align-items:center;height:24px;padding:0 9px;border-radius:3px;font-size:12px;font-weight:600;background:var(--parchment);color:var(--ink-2)}
.c-badge.is-gold{background:var(--gold-pale);color:var(--gold-deep)}
.c-badge.is-success{background:var(--success-bg);color:var(--success)}
.c-badge.is-warning{background:var(--warning-bg);color:var(--warning)}
.c-badge.is-info{background:var(--info-bg);color:var(--info)}
.c-badge.is-danger{background:var(--danger-bg);color:var(--danger)}

/* stat */
.c-stat .t-num{font-size:56px;line-height:1;font-weight:500;letter-spacing:-.03em}
.c-stat .t-num sup{font-size:.4em;margin-left:4px;color:var(--gold-deep);vertical-align:top;position:relative;top:.4em}
.c-stat p{margin-top:14px;font-size:14px;color:var(--ink-soft)}
.l-sec.is-ink .c-stat p{color:rgba(248,246,242,.6)}
@media (max-width:768px){.c-stat .t-num{font-size:40px}}

/* card (text) */
.c-card{background:var(--white);border:var(--line);border-radius:var(--r);padding:36px}
.c-card.is-flat{background:transparent}
@media (max-width:768px){.c-card{padding:26px}}

/* accordion */
.c-acc>li{border-top:var(--line)}
.c-acc>li:last-child{border-bottom:var(--line)}
.c-acc button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:26px 0;font-size:18px;font-weight:600;text-align:left}
.c-acc button::after{content:"+";font-family:var(--num);font-size:26px;font-weight:400;transition:transform .3s}
.c-acc li.is-open button::after{transform:rotate(45deg)}
.c-acc .panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s var(--ease)}
.c-acc li.is-open .panel{grid-template-rows:1fr}
.c-acc .panel>div{overflow:hidden;color:var(--ink-soft)}
.c-acc .panel>div>p{padding-bottom:26px}

/* before/after slider */
.c-ba{position:relative;overflow:hidden;border-radius:var(--r-sm);aspect-ratio:16/10;background:var(--linen);user-select:none;touch-action:pan-y}
.c-ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.c-ba .before{clip-path:inset(0 calc(100% - var(--pos,50%)) 0 0)}
.c-ba .handle{position:absolute;top:0;bottom:0;left:var(--pos,50%);width:2px;background:var(--ivory);transform:translateX(-1px);cursor:ew-resize}
.c-ba .handle::after{content:"‹ ›";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:52px;height:52px;border-radius:50%;background:var(--ivory);color:var(--ink);display:grid;place-items:center;font-family:var(--num);font-size:18px;box-shadow:var(--shadow-lg)}
.c-ba .lb{position:absolute;top:16px;font-family:var(--en);font-size:11px;letter-spacing:.2em;background:rgba(43,40,37,.7);color:var(--ivory);padding:6px 10px;border-radius:2px}
.c-ba .lb.l{left:16px}.c-ba .lb.r{right:16px}

/* tabs */
.c-tabs{display:flex;gap:28px;border-bottom:var(--line);margin-bottom:40px;overflow-x:auto;scrollbar-width:none}
.c-tabs button{padding:0 0 16px;font-size:16px;font-weight:600;color:var(--ink-faint);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}
.c-tabs button.is-on{color:var(--ink);border-color:var(--ink)}

/* table */
.c-table{width:100%;border-collapse:collapse;font-size:15px}
.c-table th{font-weight:600;text-align:left;font-size:13px;color:var(--ink-faint);padding:14px 16px;border-bottom:1px solid var(--ink)}
.c-table td{padding:18px 16px;border-bottom:var(--line);vertical-align:middle}
.c-table tr:hover td{background:rgba(233,220,196,.18)}
@media (max-width:768px){.c-table.is-stack thead{display:none}.c-table.is-stack tr{display:block;padding:16px 0;border-bottom:var(--line)}.c-table.is-stack td{display:flex;justify-content:space-between;padding:4px 0;border:0}.c-table.is-stack td::before{content:attr(data-th);color:var(--ink-faint);font-size:13px}}

/* CTA band */
.c-ctaband{position:relative;overflow:hidden;background:var(--ink);color:var(--ivory);border-radius:var(--r-lg);padding:80px 72px;display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:center}
.c-ctaband .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.28}
.c-ctaband>*{position:relative}
.c-ctaband .acts{display:flex;flex-direction:column;gap:12px;align-items:stretch}
@media (max-width:1024px){.c-ctaband{grid-template-columns:1fr;padding:56px 32px}}

/* 9. Forms ----------------------------------------------- */
.c-field{display:flex;flex-direction:column;gap:8px}
.c-field>label,.c-field>.lbl{font-size:14px;font-weight:600}
.c-field>label em,.c-field>.lbl em{color:var(--gold-deep);font-style:normal;margin-left:2px}
.c-input,.c-select,.c-textarea{width:100%;height:52px;padding:0 16px;background:var(--white);border:1px solid var(--linen);border-radius:var(--r-sm);font-size:15px;transition:border-color .2s,box-shadow .2s}
.c-textarea{height:auto;min-height:130px;padding:14px 16px;resize:vertical}
.c-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%236E6963' stroke-width='1.5'%3E%3Cpath d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}
.c-input:focus,.c-select:focus,.c-textarea:focus{outline:0;border-color:var(--ink);box-shadow:0 0 0 3px rgba(184,147,90,.18)}
.c-input.is-error{border-color:var(--danger)}
.c-help{font-size:13px;color:var(--ink-faint)}
.c-help.is-error{color:var(--danger)}
.c-seg{display:flex;flex-wrap:wrap;gap:8px}
.c-seg label{position:relative}
.c-seg input{position:absolute;opacity:0;pointer-events:none}
.c-seg span{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 18px;border:1px solid var(--linen);border-radius:var(--r-sm);background:var(--white);font-size:15px;cursor:pointer;transition:.2s}
.c-seg input:checked+span{border-color:var(--ink);background:var(--ink);color:var(--ivory)}
.c-seg input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}
.c-check{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--ink-soft);cursor:pointer}
.c-check input{width:20px;height:20px;accent-color:var(--ink);flex:none;margin-top:2px}
.c-range{width:100%;accent-color:var(--gold-deep)}

/* 10. Reveal & utilities --------------------------------- */
.u-reveal{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.u-reveal.is-in{opacity:1;transform:none}
.u-center{text-align:center}
.u-mt8{margin-top:8px}.u-mt16{margin-top:16px}.u-mt24{margin-top:24px}.u-mt40{margin-top:40px}.u-mt64{margin-top:64px}
.u-gold{color:var(--gold-deep)}
.u-soft{color:var(--ink-soft)}
.u-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.u-hide-m{}
@media (max-width:768px){.u-hide-m{display:none!important}}
.u-only-m{display:none}
@media (max-width:768px){.u-only-m{display:initial}}

/* toast — 하단 푸터와 겹치지 않도록 상단 고정, 경고는 고대비 */
.c-toast{
  position:fixed;left:50%;top:max(72px,env(safe-area-inset-top,0px) + 56px);bottom:auto;
  transform:translate(-50%,-12px);max-width:min(520px,calc(100vw - 32px));
  padding:16px 22px;border-radius:12px;font-size:15px;font-weight:500;line-height:1.45;text-align:center;
  opacity:0;transition:opacity .3s var(--ease),transform .3s var(--ease);
  z-index:10000;pointer-events:none;box-shadow:0 12px 40px rgba(43,40,37,.22)
}
.c-toast.is-show{opacity:1;transform:translate(-50%,0)}
.c-toast.is-error,.c-toast.is-warn{
  background:#fff;color:var(--ink);border:2px solid var(--gold-deep);
  box-shadow:0 16px 48px rgba(43,40,37,.28)
}
.c-toast.is-success{background:var(--ink);color:var(--ivory);border:2px solid transparent}
@media (max-width:768px){.c-toast{top:max(64px,env(safe-area-inset-top,0px) + 48px);font-size:14px;padding:14px 18px}}

/* prototype badge (설계 확인용 화면ID 표기 — 개발 시 제거) */
.proto-id{position:fixed;left:12px;bottom:12px;z-index:300;font-family:var(--num);font-size:11px;background:rgba(43,40,37,.82);color:#fff;padding:5px 9px;border-radius:3px;letter-spacing:.04em;pointer-events:none}
@media (max-width:768px){.proto-id{bottom:84px}}
