:root{
  --red:#B5122B; --red-dark:#8A0D20; --red-on-dark:#F0646F;
  --ink:#141414; --text:#1A1A1A; --body:#4A4A4A; --muted:#5C5C5C;
  --line:#E8E4E0; --tile:#F6F3F0; --soft:#F8F6F4; --white:#FFFFFF;
  --serif:'Cormorant Garamond', 'Noto Serif KR', Georgia, serif;
  --sans:Manrope, 'Noto Sans KR', system-ui, -apple-system, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--white);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
:lang(ko) body, body:lang(ko){word-break:keep-all}
img{max-width:100%;display:block}
a{color:var(--red)} a:hover{color:var(--red-dark)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.wrap{max-width:1200px;margin:0 auto;padding:0 2rem}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:12px 16px;z-index:10}
.skip:focus{left:16px;top:16px}

/* header */
.site-header{border-bottom:1px solid var(--line);background:rgba(255,255,255,.96);position:sticky;top:0;z-index:5;backdrop-filter:saturate(1.2) blur(6px)}
.site-header .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;padding-top:16px;padding-bottom:16px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.brand span{font-family:Manrope,sans-serif;font-weight:700;letter-spacing:.24em;font-size:15px}
.nav{display:flex;flex-wrap:wrap;align-items:center;gap:6px 26px;font-size:14px;letter-spacing:.03em}
.nav a{color:#3A3A3A;text-decoration:none;padding:10px 0}
.nav a:hover{color:var(--red)}
.btn{display:inline-block;text-decoration:none;font-weight:600;border-radius:2px;padding:15px 27px;border:1px solid transparent;font-size:16px;line-height:1.2;cursor:pointer;font-family:inherit}
.btn-red{background:var(--red);color:#fff;border-color:var(--red)} .btn-red:hover{background:var(--red-dark);border-color:var(--red-dark);color:#fff}
.btn-line{color:var(--ink);border-color:var(--ink);background:transparent} .btn-line:hover{background:var(--ink);color:#fff}
.nav .btn{padding:11px 18px;font-size:14px;color:#fff}
.lang{display:flex;align-items:center;gap:8px;font-size:13px;letter-spacing:.12em}
.lang .on{color:var(--ink);font-weight:700}
.lang a{color:var(--muted)}
.lang .sep{color:#B0A9A2}

/* type */
.eyebrow{margin:0;color:var(--red);font-size:13px;letter-spacing:.32em;font-weight:700;text-transform:uppercase}
h1,h2{font-family:var(--serif);font-weight:600;color:var(--ink);margin:0}
h1{font-size:clamp(44px,6vw,84px);line-height:1.04}
h2{font-size:clamp(34px,4vw,52px);line-height:1.1}
:lang(ko) h1{font-size:clamp(36px,5vw,64px);line-height:1.28}
:lang(ko) h2{font-size:clamp(28px,3.4vw,42px);line-height:1.32}
h3{margin:0;font-size:20px;font-weight:600;color:var(--ink)}
.lead{margin:0;color:var(--body);font-size:18px;max-width:540px}
p{margin:0}

/* photo tiles: drop a file into /images with the matching name and it appears */
.photo{background-color:var(--tile);background-repeat:no-repeat,no-repeat;background-position:center,center;background-size:cover,150px;border:1px solid #E3DDD7}
.photo.hero{min-height:520px}
.photo.card{height:300px}
.photo.wide{min-height:420px}

/* sections */
section{scroll-margin-top:80px}
.hero{display:flex;flex-wrap:wrap;gap:56px;align-items:center;padding:96px 0 88px}
.hero .copy{flex:1 1 460px;min-width:0;display:flex;flex-direction:column;gap:24px}
.hero .photo{flex:1 1 420px;min-width:0}
.ctas{display:flex;flex-wrap:wrap;gap:14px;padding-top:8px}
.band{background:var(--soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.band-dark{background:var(--ink);color:#fff}
.band-dark h2{color:#fff}
.band-dark .eyebrow{color:var(--red-on-dark)}
.pad{padding-top:96px;padding-bottom:96px}
.stack{display:flex;flex-direction:column;gap:14px}
.head{display:flex;flex-direction:column;gap:12px;max-width:660px;margin-bottom:44px}
.center{text-align:center;align-items:center;margin-left:auto;margin-right:auto}

.tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.tier{border:1px solid #E3DDD7;background:#fff;padding:28px;display:flex;flex-direction:column;gap:8px}
.tier small{color:var(--muted);font-size:12px;letter-spacing:.2em}
.tier strong{font-size:20px;font-weight:500;color:#3A3A3A}
.tier p{color:var(--muted);font-size:15px}
.tier.main{background:var(--red);border:2px solid var(--red)}
.tier.main small,.tier.main strong{color:#fff;font-weight:700}
.tier.main strong{font-weight:500}
.tier.main p{color:#FBE7EA}

.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:32px 28px}
.grid3 article{display:flex;flex-direction:column;gap:14px}
.grid3 article p{color:var(--body);font-size:15px}

.split{display:flex;flex-wrap:wrap;gap:56px;align-items:center}
.split > *{flex:1 1 400px;min-width:0}
.creds{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#3A3A3A;border:1px solid #3A3A3A}
.creds li{background:var(--ink);padding:28px;font-family:'Cormorant Garamond',Georgia,serif;font-size:26px;color:#fff}
.band-dark p{color:#C9C9C9;font-size:17px}

.trust{display:flex;flex-direction:column;gap:20px;align-items:center;text-align:center;padding:88px 0}
.trust-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;width:100%;margin-top:12px}
.trust-row div{border:1px solid #E3DDD7;padding:26px;display:flex;flex-direction:column;gap:6px}
.trust-row strong{font-size:18px;color:var(--ink);font-weight:600}
.trust-row span{color:var(--muted);font-size:15px}

.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:24px 20px}
.steps li{border-top:2px solid var(--red);padding-top:18px;display:flex;flex-direction:column;gap:6px}
.steps b{color:var(--red);font-size:13px}
.steps strong{font-size:19px;color:var(--ink);font-weight:600}
.steps span{color:var(--body);font-size:15px}

.chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
.chips li{border:1px solid #D6D0C9;padding:11px 22px;border-radius:999px;color:#3A3A3A;font-size:15px}
.chips li.on{background:var(--red);border-color:var(--red);color:#fff;font-weight:600}

.contact{display:flex;flex-wrap:wrap;gap:56px}
.contact .info{flex:1 1 340px;min-width:0;display:flex;flex-direction:column;gap:18px}
.contact .mail{font-size:17px;font-weight:600}
form.inquiry{flex:1 1 480px;min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
form.inquiry label{display:flex;flex-direction:column;gap:8px;font-size:13px;color:var(--body)}
form.inquiry .full{grid-column:1 / -1}
form.inquiry input[type=text],form.inquiry input[type=email],form.inquiry textarea{background:#fff;border:1px solid #D6D0C9;color:var(--text);padding:14px;font:inherit;font-size:16px;border-radius:0;width:100%}
form.inquiry textarea{resize:vertical;min-height:140px}
form.inquiry .consent{flex-direction:row;align-items:flex-start;gap:10px;font-size:14px}
form.inquiry .consent input{margin-top:4px;width:18px;height:18px;accent-color:var(--red)}
form.inquiry button{justify-self:start}
.hidden{position:absolute;left:-9999px}

.site-footer{border-top:1px solid var(--line)}
.site-footer .wrap{padding-top:32px;padding-bottom:40px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;color:var(--muted);font-size:13px}
.site-footer a{color:var(--muted)}

/* simple pages */
.page{padding:72px 0 96px;max-width:820px}
.page h1{font-size:clamp(34px,4vw,48px);margin-bottom:24px}
.page h2{font-family:var(--sans);font-size:18px;font-weight:700;margin:36px 0 10px;color:var(--ink)}
.page p,.page li{color:var(--body);font-size:16px}
.page ul{padding-left:20px;margin:8px 0}
.page table{border-collapse:collapse;width:100%;margin:10px 0;font-size:15px}
.page th,.page td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top;color:var(--body)}
.page th{background:var(--soft);color:var(--ink)}

@media (max-width:640px){
  .wrap{padding:0 20px}
  .hero{padding:56px 0 64px;gap:36px}
  .photo.hero{min-height:340px}
  .pad{padding-top:72px;padding-bottom:72px}
  form.inquiry{grid-template-columns:1fr}
  .creds{grid-template-columns:1fr}
  .nav{gap:4px 18px}
  .nav > a:not(.btn){display:none}
}

/* ---------- brand mall home ---------- */
.wide{max-width:1360px;margin:0 auto;padding-left:2rem;padding-right:2rem}
.announce{background:var(--red);color:#fff;text-align:center;font-size:13px;letter-spacing:.08em;padding:10px 16px;font-weight:600}
.announce a{color:#fff}
.mall-hero{position:relative;min-height:680px;display:flex;align-items:flex-end;background-color:#EDE7E1;background-size:cover;background-position:center}
.mall-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,0) 40%,rgba(255,255,255,.55) 100%)}
.mall-hero .inner{position:relative;z-index:1;width:100%;padding-bottom:72px;display:flex;flex-direction:column;gap:18px}
.mall-hero h1{font-size:clamp(56px,8vw,112px);line-height:.95;max-width:820px}
.mall-hero .lead{color:#3A3A3A}
.btn-white{background:#fff;color:var(--ink);border-color:#fff} .btn-white:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.cats{list-style:none;margin:0;padding:56px 0 24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px}
.cats a{display:flex;flex-direction:column;gap:10px;align-items:center;text-align:center;text-decoration:none;color:var(--ink);font-weight:700;font-size:14px}
.cats .photo{display:block;width:100%;aspect-ratio:1}
.sec-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:32px}
.sec-head h2{line-height:1}
.filters{display:flex;flex-wrap:wrap;gap:8px}
.filters button{font:inherit;font-size:14px;font-weight:700;padding:11px 18px;border-radius:999px;cursor:pointer;border:1px solid var(--ink);background:#fff;color:var(--ink)}
.filters button[aria-pressed="true"]{background:var(--ink);color:#fff}
.products{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:32px 24px}
.products article{display:flex;flex-direction:column;gap:10px}
.products article[hidden]{display:none}
.products .photo{position:relative;aspect-ratio:4/5}
.badge{position:absolute;top:12px;left:12px;color:#fff;font-size:11px;font-weight:800;letter-spacing:.12em;padding:6px 10px;background:var(--ink)}
.badge.red{background:var(--red)} .badge.gold{background:#7A5A1F}
.products h3{font-size:17px;font-weight:700}
.products .meta{color:var(--muted);font-size:14px}
.products .row{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px}
.products .row b{font-weight:700;color:var(--muted)}
.products .row a{font-weight:700}
.boxes{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.boxes div{border:1px solid #E3DDD7;padding:32px;display:flex;flex-direction:column;gap:10px;align-items:center;text-align:center}
.boxes div.main{border:2px solid var(--red)}
.boxes .photo{display:block;aspect-ratio:1}
.boxes strong{font-size:20px}
.boxes span{color:var(--muted);font-size:15px}
.band-red{background:var(--red);color:#fff}
.band-red h2{color:#fff}
.band-red .eyebrow{color:#fff}
.band-red p{color:#FBE7EA;font-size:17px}
.notify{display:flex;flex-wrap:wrap;gap:32px;align-items:center;justify-content:space-between}
.notify > div{flex:1 1 420px;min-width:0;display:flex;flex-direction:column;gap:8px}
.notify form{flex:1 1 420px;min-width:0;display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}
.notify label.mail-field{flex:1 1 240px;display:flex;flex-direction:column;gap:6px;font-size:13px}
.notify input[type=email]{padding:15px;font:inherit;font-size:16px;border:0;color:var(--ink);width:100%}
.notify button{background:var(--ink);color:#fff;border:0;padding:16px 28px;font:inherit;font-weight:800;cursor:pointer}
.notify .consent{flex:1 1 100%;display:flex;gap:10px;align-items:flex-start;font-size:13px;color:#FBE7EA}
.notify .consent a{color:#fff}
.notify .consent input{margin-top:3px;width:16px;height:16px;accent-color:#141414}
.char{display:flex;flex-wrap:wrap;gap:56px;align-items:center}
.char .photo{flex:1 1 520px;min-width:0;aspect-ratio:16/10;background-color:#1E1E1E;border-color:#3A3A3A}
.char > div{flex:1 1 380px;min-width:0;display:flex;flex-direction:column;gap:18px}
.community{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;padding:96px 0}
.hashtag{font-family:var(--serif);font-size:clamp(44px,6vw,80px);color:var(--red);line-height:1}
.forbrands{display:flex;flex-wrap:wrap;gap:32px;align-items:center;justify-content:space-between}
.forbrands > div{flex:1 1 520px;min-width:0;display:flex;flex-direction:column;gap:10px}
.btn-dark{background:var(--ink);color:#fff;border-color:var(--ink)} .btn-dark:hover{background:var(--red);border-color:var(--red);color:#fff}
.foot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:28px;padding-top:56px;padding-bottom:24px;font-size:14px}
.foot-grid div{display:flex;flex-direction:column;gap:8px}
.foot-grid a{color:var(--muted);text-decoration:none}
.foot-grid a:hover{color:var(--red)}
@media (max-width:640px){
  .wide{padding-left:20px;padding-right:20px}
  .mall-hero{min-height:560px}
  .cats{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
}
