﻿/* ==========================================================================
   AUS UGG · 2026 冬季选品册
   palette: ink / cream / chestnut / caramel / moss
   ========================================================================== */

:root{
  --ink:#14110f;
  --ink-2:#241d18;
  --cream:#f4ede3;
  --cream-2:#ebe0d0;
  --paper:#fffdf9;
  --chestnut:#8a4526;
  --caramel:#b8794a;
  --moss:#6b7155;
  --line:rgba(20,17,15,.14);
  --line-strong:rgba(20,17,15,.35);
  --muted:rgba(20,17,15,.55);

  --serif:"Playfair Display","Noto Serif SC","Songti SC","SimSun",serif;
  --sans:"Inter","Noto Serif SC","PingFang SC","Microsoft YaHei",sans-serif;
  --mono:"JetBrains Mono",ui-monospace,"Cascadia Mono",monospace;

  --pad:clamp(20px,4.2vw,72px);
  --maxw:1560px;
  --ease:cubic-bezier(.22,.68,.16,1);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--cream);color:var(--ink);
  font-family:var(--sans);font-size:16px;line-height:1.6;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
body.is-locked{overflow:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
::selection{background:var(--chestnut);color:var(--cream)}

.grain{
  position:fixed;inset:0;z-index:9;pointer-events:none;opacity:.05;
  mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/></filter><rect width='160' height='160' filter='url(%23n)'/></svg>");
}

/* ------------------------------------------------------------------ head */
.site-head{
  position:fixed;top:0;left:0;right:0;z-index:40;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:18px var(--pad);
  color:var(--cream);
  transition:background .5s var(--ease),color .4s var(--ease),padding .4s var(--ease),
             box-shadow .4s var(--ease),border-color .4s;
  border-bottom:1px solid transparent;
}
.site-head.is-solid{
  background:rgba(244,237,227,.86);
  -webkit-backdrop-filter:blur(14px) saturate(1.2);
  backdrop-filter:blur(14px) saturate(1.2);
  color:var(--ink);
  padding:12px var(--pad);
  border-bottom:1px solid var(--line);
}
.brand{display:flex;align-items:baseline;gap:10px}
.brand-latin{
  font-family:var(--serif);font-size:20px;letter-spacing:.16em;line-height:1;
}
.brand-latin b{font-weight:500;color:var(--chestnut)}
.site-head:not(.is-solid) .brand-latin b{color:var(--caramel)}
.brand-cn{
  font-family:var(--serif);font-size:11px;letter-spacing:.42em;
  opacity:.62;padding-left:10px;border-left:1px solid currentColor;
}
.head-nav{display:flex;gap:clamp(18px,2.6vw,44px);font-size:12px;letter-spacing:.14em}
.head-nav a{position:relative;padding:4px 0;opacity:.82}
.head-nav a::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:1px;
  background:currentColor;transform:scaleX(0);transform-origin:left;
  transition:transform .45s var(--ease);
}
.head-nav a:hover{opacity:1}
.head-nav a:hover::after{transform:scaleX(1)}
.bag-btn{
  display:flex;align-items:center;gap:8px;
  font-size:12px;letter-spacing:.14em;
  border:1px solid currentColor;border-radius:999px;
  padding:9px 16px;transition:background .35s var(--ease),color .35s var(--ease);
}
.bag-btn:hover{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.site-head:not(.is-solid) .bag-btn:hover{background:var(--cream);color:var(--ink);border-color:var(--cream)}
.bag-count{
  font-family:var(--mono);font-size:11px;min-width:18px;height:18px;
  display:grid;place-items:center;border-radius:999px;
  background:var(--chestnut);color:var(--cream);
}
.bag-count.is-zero{background:transparent;color:inherit;opacity:.4}

/* ------------------------------------------------------------------ hero */
.hero{
  position:relative;min-height:100svh;background:var(--ink);color:var(--cream);
  display:flex;flex-direction:column;justify-content:space-between;
  padding:calc(var(--pad) + 54px) var(--pad) 26px;overflow:hidden;
  isolation:isolate;
}
.hero-glow{
  position:absolute;inset:-20% -10% auto auto;width:80vw;height:80vw;z-index:-1;
  background:
    radial-gradient(circle at 58% 42%, rgba(184,121,74,.42), transparent 58%),
    radial-gradient(circle at 78% 68%, rgba(138,69,38,.34), transparent 60%);
  filter:blur(20px);opacity:.85;
  animation:breathe 14s ease-in-out infinite alternate;
}
@keyframes breathe{from{transform:scale(.94) translateY(-1%)}to{transform:scale(1.06) translateY(2%)}}
.hero::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:38%;
  background:linear-gradient(to top,rgba(10,8,7,.55),transparent);
  z-index:-1;
}
.hero-inner{
  flex:1;display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(16px,3vw,56px);
  align-items:center;max-width:var(--maxw);width:100%;margin:0 auto;
}
.eyebrow{
  display:flex;align-items:center;gap:14px;margin:0 0 clamp(20px,3vw,38px);
  font-size:11px;letter-spacing:.34em;text-transform:uppercase;opacity:.72;
}
.eyebrow i{width:clamp(28px,5vw,64px);height:1px;background:currentColor;opacity:.5}
.hero-title{
  margin:0;font-family:var(--serif);font-weight:400;
  font-size:clamp(62px,min(15vw,21svh),206px);line-height:.84;letter-spacing:-.045em;
}
.hero-title .line{display:block}
.line-1{
  color:var(--cream);
  animation:riseIn 1.1s var(--ease) both;
}
.line-2{
  color:transparent;-webkit-text-stroke:1.4px rgba(244,237,227,.62);
  padding-left:.12em;
  animation:riseIn 1.1s .12s var(--ease) both;
}
@keyframes riseIn{
  from{opacity:0;transform:translateY(.34em)}
  to{opacity:1;transform:none}
}
.hero-sub{
  margin:clamp(22px,3vw,40px) 0 0;max-width:34ch;
  font-size:clamp(13px,1.1vw,15px);line-height:1.95;opacity:.74;
  animation:riseIn 1.1s .24s var(--ease) both;
}
.hero-sub .dot{opacity:.4;margin:0 .5em}
.hero-cta{
  display:flex;flex-wrap:wrap;gap:14px;margin-top:clamp(26px,3vw,44px);
  animation:riseIn 1.1s .34s var(--ease) both;
}
.btn-solid,.btn-ghost{
  display:inline-flex;align-items:center;justify-content:center;
  padding:15px 30px;border-radius:999px;
  font-size:12px;letter-spacing:.16em;white-space:nowrap;
  transition:transform .4s var(--ease),background .35s var(--ease),color .35s var(--ease),border-color .35s;
}
.btn-solid{background:var(--cream);color:var(--ink);border:1px solid var(--cream)}
.btn-solid:hover{background:var(--chestnut);border-color:var(--chestnut);color:var(--cream);transform:translateY(-2px)}
.btn-ghost{border:1px solid rgba(244,237,227,.34);color:var(--cream)}
.btn-ghost:hover{border-color:var(--cream);background:rgba(244,237,227,.08);transform:translateY(-2px)}
.hero .btn-solid{background:var(--chestnut);border-color:var(--chestnut);color:var(--cream)}
.hero .btn-solid:hover{background:var(--cream);color:var(--ink);border-color:var(--cream)}

/* floating product tiles */
.hero-stage{position:relative;aspect-ratio:1/1.06;min-height:min(46vh,430px);max-height:56svh}
.hero-tile{
  position:absolute;background:var(--paper);padding:8px;
  box-shadow:0 30px 60px -30px rgba(0,0,0,.75);
  transition:transform .9s var(--ease);
  will-change:transform;
}
.hero-tile img{width:100%;height:100%;object-fit:cover;background:#fff}
.hero-tile span{
  position:absolute;bottom:10px;left:12px;
  font-family:var(--mono);font-size:9px;letter-spacing:.16em;color:rgba(20,17,15,.55);
}
.tile-a{
  width:52%;top:2%;left:0;transform:rotate(-6deg);
  animation:floatA 9s ease-in-out infinite alternate;
}
.tile-b{
  width:44%;top:30%;right:2%;transform:rotate(5deg);
  animation:floatB 11s ease-in-out infinite alternate;
}
.tile-c{
  width:38%;bottom:2%;left:14%;transform:rotate(-2deg);
  animation:floatC 10s ease-in-out infinite alternate;
}
@keyframes floatA{from{transform:rotate(-6deg) translateY(0)}to{transform:rotate(-4deg) translateY(-16px)}}
@keyframes floatB{from{transform:rotate(5deg) translateY(0)}to{transform:rotate(7deg) translateY(14px)}}
@keyframes floatC{from{transform:rotate(-2deg) translateY(0)}to{transform:rotate(-3.5deg) translateY(-10px)}}

.hero-foot{
  display:flex;align-items:flex-end;gap:clamp(22px,5vw,72px);
  max-width:var(--maxw);width:100%;margin:clamp(28px,5vw,56px) auto 0;
  padding-top:22px;border-top:1px solid rgba(244,237,227,.16);
}
.hf-item{display:flex;flex-direction:column;gap:2px}
.hf-num{font-family:var(--serif);font-size:clamp(22px,2.2vw,30px);line-height:1}
.hf-label{font-size:10px;letter-spacing:.22em;opacity:.55;text-transform:uppercase}
.hf-scroll{margin-left:auto;flex-direction:row;align-items:center;gap:12px}
.scroll-line{display:block;width:64px;height:1px;background:rgba(244,237,227,.4);position:relative;overflow:hidden}
.scroll-line::after{
  content:"";position:absolute;inset:0;background:var(--cream);
  transform:translateX(-100%);animation:sweep 2.4s var(--ease) infinite;
}
@keyframes sweep{to{transform:translateX(100%)}}

/* ------------------------------------------------------------------ ticker */
.ticker{
  background:var(--ink);color:var(--cream);overflow:hidden;
  border-top:1px solid rgba(244,237,227,.12);
  border-bottom:1px solid rgba(244,237,227,.12);
  padding:14px 0;
}
.ticker-track{
  display:flex;gap:0;white-space:nowrap;width:max-content;
  animation:marquee 46s linear infinite;
  font-family:var(--mono);font-size:11px;letter-spacing:.28em;text-transform:uppercase;
}
.ticker-track span{padding:0 26px;opacity:.62}
.ticker-track span:nth-child(4n+1){opacity:.95}
.hero:hover ~ .ticker .ticker-track{animation-play-state:paused}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ------------------------------------------------------------------ sections */
.sec-head{
  display:flex;align-items:flex-end;justify-content:space-between;gap:24px;
  flex-wrap:wrap;max-width:var(--maxw);margin:0 auto clamp(26px,3.4vw,46px);
}
.sec-kicker{
  margin:0 0 12px;font-family:var(--mono);font-size:10.5px;
  letter-spacing:.3em;text-transform:uppercase;color:var(--chestnut);
}
.sec-title{
  margin:0;font-family:var(--serif);font-weight:400;
  font-size:clamp(34px,4.6vw,64px);line-height:1.06;letter-spacing:-.02em;
}
.sec-note{margin:0;font-size:12.5px;color:var(--muted);max-width:32ch;text-align:right}
.sec-side{display:flex;flex-direction:column;align-items:flex-end;gap:12px;text-align:right}
.btn-ghost.small{padding:10px 18px;font-size:11px;letter-spacing:.12em;border-color:var(--line-strong);color:var(--ink)}
.btn-ghost.small:hover{background:var(--ink);color:var(--cream);border-color:var(--ink)}

/* ------------------------------------------------------------------ sale rail */
.sale-band{
  background:linear-gradient(180deg,#efe4d4,#e8dcc9);padding:clamp(56px,7vw,96px) 0 clamp(56px,7vw,90px);
  border-bottom:1px solid var(--line);
}
.sale-band .sec-head{padding:0 var(--pad)}
.rail{
  display:flex;gap:clamp(14px,1.6vw,22px);overflow-x:auto;
  padding:0 var(--pad) 18px;scroll-snap-type:x mandatory;
  scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;
}
.rail::-webkit-scrollbar{height:5px}
.rail::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:99px}
.rail-card{
  flex:0 0 clamp(230px,23vw,320px);scroll-snap-align:start;
  background:var(--paper);border:1px solid var(--line);
  display:flex;flex-direction:column;
  transition:transform .5s var(--ease),box-shadow .5s var(--ease);
}
.rail-card:hover{transform:translateY(-6px);box-shadow:0 26px 50px -34px rgba(20,17,15,.65)}
.rail-media{position:relative;aspect-ratio:1/1.12;overflow:hidden;background:#fff}
.rail-media img{width:100%;height:100%;object-fit:contain;transition:transform 1s var(--ease)}
.rail-card:hover .rail-media img{transform:scale(1.05)}
.badge-sale{
  position:absolute;top:12px;left:12px;z-index:2;
  font-family:var(--mono);font-size:10px;letter-spacing:.1em;
  background:var(--chestnut);color:var(--cream);padding:5px 9px;
}
.rail-meta{padding:14px 16px 18px;display:flex;flex-direction:column;gap:6px}
.rail-code{font-family:var(--mono);font-size:10px;letter-spacing:.18em;color:var(--muted)}
.rail-name{font-family:var(--serif);font-size:16px;line-height:1.34}
.rail-price{display:flex;align-items:baseline;gap:9px;margin-top:2px}
.price-now{font-family:var(--serif);font-size:19px;color:var(--chestnut)}
.price-was{font-size:11.5px;color:var(--muted);text-decoration:line-through}

/* ------------------------------------------------------------------ catalog */
.catalog{padding:clamp(56px,7vw,100px) var(--pad) clamp(50px,6vw,90px)}
.catalog-head{max-width:var(--maxw)}
.filter-bar{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  flex-wrap:wrap;max-width:var(--maxw);margin:0 auto clamp(22px,2.6vw,34px);
  padding-bottom:16px;border-bottom:1px solid var(--line);
  position:sticky;top:56px;z-index:12;
  background:linear-gradient(var(--cream) 72%,rgba(244,237,227,0));
}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{
  border:1px solid var(--line-strong);border-radius:999px;
  padding:8px 16px;font-size:12px;letter-spacing:.06em;color:var(--ink);
  transition:background .3s var(--ease),color .3s var(--ease),border-color .3s;
}
.chip:hover{background:rgba(20,17,15,.05)}
.chip.is-active{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.chip small{font-family:var(--mono);font-size:9.5px;opacity:.5;margin-left:6px}
.chip-sale{border-color:var(--chestnut);color:var(--chestnut);font-weight:500}
.chip-sale:hover{background:rgba(138,69,38,.08)}
.chip-sale.is-active{background:var(--chestnut);border-color:var(--chestnut);color:var(--cream)}
.chip-sale.is-active small{opacity:.7}
.filter-right{display:flex;align-items:center;gap:16px}
.sort-wrap{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--muted)}
.sort-wrap select{
  font:inherit;color:var(--ink);background:transparent;
  border:1px solid var(--line-strong);border-radius:999px;padding:7px 12px;
  cursor:pointer;
}

.grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(14px,1.8vw,26px);max-width:var(--maxw);margin:0 auto;
}
.pcard{
  background:var(--paper);border:1px solid var(--line);
  display:flex;flex-direction:column;position:relative;
  transition:transform .55s var(--ease),box-shadow .55s var(--ease),border-color .4s;
  animation:cardIn .7s var(--ease) both;
}
@keyframes cardIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.pcard:hover{
  transform:translateY(-5px);border-color:rgba(20,17,15,.22);
  box-shadow:0 30px 54px -40px rgba(20,17,15,.7);z-index:2;
}
.pcard-media{
  position:relative;aspect-ratio:1/1.18;overflow:hidden;background:#fff;cursor:pointer;
}
.pcard-media img{
  width:100%;height:100%;object-fit:contain;
  transition:transform 1.1s var(--ease),opacity .5s var(--ease);
}
.pcard:hover .pcard-media img{transform:scale(1.045)}
.pcard-tag{
  position:absolute;top:11px;left:11px;z-index:2;
  font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;
  background:var(--chestnut);color:var(--cream);padding:4px 8px;
}
.pcard-tag.tag-sale{background:#a8321f;font-weight:500}
.sale-flag{
  display:inline-block;font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;
  background:#a8321f;color:var(--cream);padding:3px 7px;vertical-align:2px;
  font-weight:500;
}
.size-note{
  margin:0;font-size:12px;line-height:1.9;color:var(--muted);
  border:1px dashed var(--line-strong);padding:12px 14px;
  grid-column:1 / -1;
}
.pcard-quick{
  position:absolute;right:10px;bottom:10px;z-index:3;
  width:38px;height:38px;border-radius:50%;
  display:grid;place-items:center;font-size:18px;line-height:1;
  background:var(--ink);color:var(--cream);
  opacity:0;transform:translateY(8px) scale(.9);
  transition:opacity .4s var(--ease),transform .4s var(--ease),background .3s;
}
.pcard:hover .pcard-quick{opacity:1;transform:none}
.pcard-quick:hover{background:var(--chestnut)}
.pcard-meta{padding:13px 14px 16px;display:flex;flex-direction:column;gap:5px}
.pcard-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.pcard-code{font-family:var(--mono);font-size:10px;letter-spacing:.18em;color:var(--muted)}
.pcard-cat{font-size:10px;letter-spacing:.1em;color:var(--muted);opacity:.8}
.pcard-name{
  font-family:var(--serif);font-size:15.5px;line-height:1.36;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  min-height:2.7em;
}
.pcard-foot{display:flex;align-items:center;justify-content:space-between;margin-top:3px}
.pcard-price{display:flex;align-items:baseline;gap:7px}
.pcard-price .now{font-family:var(--serif);font-size:17px;color:var(--chestnut)}
.pcard-price .was{font-size:11px;color:var(--muted);text-decoration:line-through}
.swatches{display:flex;gap:5px}
.swatch{
  width:12px;height:12px;border-radius:50%;
  border:1px solid rgba(20,17,15,.18);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.5);
}
.swatch.more{width:auto;height:auto;border:0;font-family:var(--mono);font-size:9.5px;color:var(--muted)}
.empty{text-align:center;color:var(--muted);font-size:13px;padding:60px 0}

/* ------------------------------------------------------------------ palette */
.palette-band{
  padding:clamp(48px,6vw,86px) var(--pad) clamp(20px,3vw,34px);
  border-top:1px solid var(--line);background:var(--cream);
}
.palette{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));
  gap:8px;max-width:var(--maxw);margin:0 auto;
}
.pdot{
  display:flex;align-items:center;gap:10px;
  border:1px solid var(--line);background:var(--paper);
  padding:10px 12px;text-align:left;
  transition:border-color .3s,background .3s,color .3s,transform .3s var(--ease);
}
.pdot:hover{border-color:var(--line-strong);transform:translateY(-2px)}
.pdot i{
  width:24px;height:24px;border-radius:50%;flex:0 0 auto;
  box-shadow:inset 0 0 0 1px rgba(20,17,15,.16);
}
.pdot span{font-size:12px;line-height:1.2}
.pdot small{font-family:var(--mono);font-size:9.5px;color:var(--muted);margin-left:auto}
.pdot.is-active{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.pdot.is-active small{color:rgba(244,237,227,.6)}
.palette-band + .catalog{padding-top:clamp(34px,4vw,58px)}

/* ------------------------------------------------------------------ editorial */
.editorial{
  display:grid;grid-template-columns:1.02fr .98fr;
  background:linear-gradient(118deg,#9b5330 0%,#8a4526 52%,#7a3a1f 100%);
  color:var(--cream);overflow:hidden;
}
.ed-copy{padding:clamp(44px,6vw,104px) var(--pad)}
.ed-copy .sec-kicker{color:rgba(244,237,227,.62)}
.ed-title{
  margin:0 0 clamp(20px,2.6vw,34px);font-family:var(--serif);font-weight:400;
  font-size:clamp(42px,6.2vw,92px);line-height:1.02;letter-spacing:-.02em;
}
.ed-text{margin:0;max-width:40ch;font-size:13.5px;line-height:2.05;opacity:.78}
.ed-meta{
  display:flex;align-items:center;gap:12px;margin:clamp(24px,3vw,38px) 0 30px;
  font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;opacity:.66;
}
.ed-meta i{width:20px;height:1px;background:currentColor;opacity:.45}
.ed-cta{border-color:rgba(244,237,227,.38);color:var(--cream)}
.ed-cta:hover{background:var(--cream);color:var(--chestnut);border-color:var(--cream)}
.ed-media{
  position:relative;display:grid;place-items:center;
  padding:clamp(26px,4vw,58px);min-height:clamp(360px,52vw,620px);
}
.ed-media::after{
  content:"";position:absolute;inset:8% 12%;
  border:1px solid rgba(244,237,227,.18);pointer-events:none;
}
.ed-frame{
  position:relative;margin:0;background:var(--paper);
  padding:12px 12px 48px;max-width:min(88%,470px);
  transform:rotate(-3.2deg);
  box-shadow:0 70px 100px -60px rgba(0,0,0,.95);
  transition:transform .7s var(--ease);
}
.editorial:hover .ed-frame{transform:rotate(-1.4deg) translateY(-8px)}
.ed-frame img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}
.ed-frame figcaption{
  position:absolute;left:18px;bottom:17px;
  font-family:var(--mono);font-size:9.5px;letter-spacing:.2em;color:rgba(20,17,15,.5);
}

/* ------------------------------------------------------------------ about */
.about{background:var(--ink);color:var(--cream);padding:clamp(64px,8vw,120px) var(--pad)}
.about-inner{max-width:var(--maxw);margin:0 auto}
.about .sec-kicker{color:var(--caramel)}
.about-title{
  margin:0 0 clamp(30px,4vw,56px);font-family:var(--serif);font-weight:400;
  font-size:clamp(30px,4.2vw,58px);line-height:1.16;letter-spacing:-.015em;
}
.about-cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,72px)}
.about-cols p{margin:0;font-size:13.5px;line-height:2.05;opacity:.72;max-width:46ch}
.about-cols b{font-weight:500;opacity:1;color:var(--cream)}

/* ------------------------------------------------------------------ footer */
.site-foot{background:var(--ink);color:var(--cream);padding:0 var(--pad) 28px;border-top:1px solid rgba(244,237,227,.12)}
.foot-top{
  display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;
  padding:30px 0 22px;border-bottom:1px solid rgba(244,237,227,.12);
  max-width:var(--maxw);margin:0 auto;
}
.foot-top .brand-latin{font-size:26px;letter-spacing:.14em}
.foot-top .brand-latin b{color:var(--caramel)}
.foot-top p{margin:0;font-size:12px;opacity:.6}
.foot-bottom{
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
  padding-top:16px;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;
  opacity:.45;max-width:var(--maxw);margin:0 auto;
}

/* ------------------------------------------------------------------ sheet */
.sheet{
  position:fixed;top:0;right:0;bottom:0;z-index:60;
  width:min(560px,100%);
  background:var(--cream);border-left:1px solid var(--line);
  transform:translateX(101%);transition:transform .62s var(--ease);
  display:flex;flex-direction:column;overflow:hidden;
  box-shadow:-30px 0 70px -50px rgba(20,17,15,.8);
}
.sheet.is-open{transform:none}
.sheet-close{
  position:absolute;top:16px;right:16px;z-index:5;
  width:38px;height:38px;border-radius:50%;
  display:grid;place-items:center;font-size:22px;line-height:1;
  background:rgba(244,237,227,.9);border:1px solid var(--line);
  transition:background .3s,transform .3s;
}
.sheet-close:hover{background:var(--ink);color:var(--cream);transform:rotate(90deg)}
.sheet-body{overflow-y:auto;flex:1;padding-bottom:110px}
.sheet-media{position:relative;background:#fff;height:min(42svh,420px);border-bottom:1px solid var(--line);perspective:1100px}
.sheet-media img{
  width:100%;height:100%;object-fit:contain;
  transition:transform .45s var(--ease);
  transform-origin:50% 52%;
  will-change:transform;
  cursor:zoom-in;
}
.sheet-media.is-zoomed img{cursor:zoom-out;transition:transform .3s var(--ease)}
.sheet-info{padding:22px 26px 0}
.sheet-cat{font-family:var(--mono);font-size:10px;letter-spacing:.24em;color:var(--chestnut)}
.sheet-name{font-family:var(--serif);font-size:clamp(24px,3vw,32px);line-height:1.2;margin:8px 0 4px}
.sheet-code{font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--muted)}
.sheet-price{display:flex;align-items:baseline;gap:12px;margin:16px 0 0}
.sheet-price .now{font-family:var(--serif);font-size:28px;color:var(--chestnut)}
.sheet-price .was{font-size:13px;color:var(--muted);text-decoration:line-through}
.sheet-block{margin-top:26px}
.sheet-label{
  display:flex;align-items:center;justify-content:space-between;
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);
  margin-bottom:11px;
}
.sheet-label b{font-weight:500;color:var(--ink);letter-spacing:.06em;text-transform:none;font-size:12px}
.color-row{display:flex;flex-wrap:wrap;gap:9px}
.color-opt{
  display:flex;align-items:center;gap:8px;
  border:1px solid var(--line-strong);border-radius:999px;
  padding:6px 13px 6px 7px;font-size:12px;
  transition:border-color .3s,background .3s;
}
.color-opt i{width:17px;height:17px;border-radius:50%;border:1px solid rgba(20,17,15,.16)}
.color-opt:hover{background:rgba(20,17,15,.04)}
.color-opt.is-active{border-color:var(--ink);background:var(--ink);color:var(--cream)}
.size-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:8px}
.size-opt{
  border:1px solid var(--line-strong);padding:11px 6px 9px;text-align:center;
  display:flex;flex-direction:column;gap:3px;
  transition:border-color .3s,background .3s,color .3s;
}
.size-opt b{font-family:var(--mono);font-size:13px;font-weight:500}
.size-opt small{font-size:9px;letter-spacing:.04em;color:var(--muted)}
.size-opt[data-state="充足"] small{color:var(--moss)}
.size-opt[data-state="紧张"] small{color:var(--caramel)}
.size-opt[data-state="预售"] small{color:#8a7a6a}
.size-opt:hover:not(:disabled){background:rgba(20,17,15,.04)}
.size-opt.is-active{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.size-opt.is-active small{color:rgba(244,237,227,.7)}
.size-opt:disabled{opacity:.35;cursor:not-allowed;text-decoration:line-through}
.qty-row{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:22px}
.stepper{display:flex;align-items:center;border:1px solid var(--line-strong)}
.stepper button{width:40px;height:40px;font-size:17px;display:grid;place-items:center;transition:background .25s}
.stepper button:hover{background:rgba(20,17,15,.06)}
.stepper span{width:44px;text-align:center;font-family:var(--mono);font-size:13px}
.sheet-add{
  position:absolute;left:0;right:0;bottom:0;
  display:flex;gap:10px;padding:16px 26px;
  background:rgba(244,237,227,.92);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  border-top:1px solid var(--line);
}
.sheet-add .btn-solid{flex:1;background:var(--ink);border-color:var(--ink);color:var(--cream)}
.sheet-add .btn-solid:hover{background:var(--chestnut);border-color:var(--chestnut)}

/* ------------------------------------------------------------------ drawer */
.drawer{
  position:fixed;top:0;right:0;bottom:0;z-index:62;
  width:min(460px,100%);
  background:var(--paper);display:flex;flex-direction:column;
  transform:translateX(101%);transition:transform .62s var(--ease);
  box-shadow:-30px 0 70px -50px rgba(20,17,15,.8);
}
.drawer.is-open{transform:none}
.drawer-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:22px 24px;border-bottom:1px solid var(--line);
}
.drawer-head h3{margin:0;font-family:var(--serif);font-size:24px;font-weight:400}
.drawer-head .sheet-close{position:static}
.drawer-list{flex:1;overflow-y:auto;padding:8px 24px}
.dl-item{display:grid;grid-template-columns:72px 1fr auto;gap:14px;padding:18px 0;border-bottom:1px solid var(--line)}
.dl-thumb{background:#fff;border:1px solid var(--line);aspect-ratio:1/1;overflow:hidden}
.dl-thumb img{width:100%;height:100%;object-fit:contain}
.dl-main{display:flex;flex-direction:column;gap:4px;min-width:0}
.dl-name{font-family:var(--serif);font-size:15px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dl-spec{font-size:11.5px;color:var(--muted);display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.dl-spec i{width:10px;height:10px;border-radius:50%;border:1px solid rgba(20,17,15,.2);display:inline-block}
.dl-price{font-family:var(--mono);font-size:12px}
.dl-side{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:8px}
.dl-stepper{display:flex;align-items:center;border:1px solid var(--line)}
.dl-stepper button{width:26px;height:26px;display:grid;place-items:center;font-size:13px}
.dl-stepper button:hover{background:rgba(20,17,15,.06)}
.dl-stepper span{width:26px;text-align:center;font-family:var(--mono);font-size:11px}
.dl-remove{font-size:10.5px;letter-spacing:.1em;color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.dl-remove:hover{color:var(--chestnut)}
.drawer-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;height:100%;min-height:240px;color:var(--muted);text-align:center}
.drawer-empty strong{font-family:var(--serif);font-size:20px;font-weight:400;color:var(--ink)}
.drawer-empty p{margin:0;font-size:12.5px;max-width:24ch;line-height:1.8}
.drawer-foot{border-top:1px solid var(--line);padding:18px 24px 22px;background:var(--cream)}
.note-wrap{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.note-wrap span{font-size:10.5px;letter-spacing:.14em;color:var(--muted);text-transform:uppercase}
.note-wrap textarea{
  font:inherit;font-size:13px;background:var(--paper);
  border:1px solid var(--line-strong);padding:10px 12px;resize:vertical;
  color:var(--ink);
}
.note-wrap textarea:focus{outline:2px solid var(--chestnut);outline-offset:1px}
.drawer-sum{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:14px}
.drawer-sum b{font-family:var(--serif);font-size:26px;font-weight:400;color:var(--chestnut);margin-left:6px}
.drawer-count{font-family:var(--mono);font-size:11px;color:var(--muted)}
.drawer-actions{display:flex;align-items:center;gap:14px}
.btn-solid.wide{flex:1;background:var(--ink);border-color:var(--ink);color:var(--cream)}
.btn-solid.wide:hover{background:var(--chestnut);border-color:var(--chestnut);transform:none}
.btn-solid.wide:disabled{opacity:.4;cursor:not-allowed}
.btn-text{font-size:12px;letter-spacing:.08em;color:var(--muted);text-decoration:underline;text-underline-offset:4px}
.btn-text:hover{color:var(--ink)}

/* ------------------------------------------------------------------ modal */
.modal{
  position:fixed;inset:0;z-index:70;display:grid;place-items:center;
  padding:24px;opacity:0;pointer-events:none;transition:opacity .4s var(--ease);
}
.modal.is-open{opacity:1;pointer-events:auto}
.modal-card{
  width:min(660px,100%);max-height:88svh;overflow:auto;
  background:var(--paper);border:1px solid var(--line);
  padding:clamp(22px,3vw,36px);
  transform:translateY(20px) scale(.985);transition:transform .5s var(--ease);
  box-shadow:0 50px 90px -60px rgba(20,17,15,.9);
}
.modal.is-open .modal-card{transform:none}
.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}
.modal-head h3{margin:0;font-family:var(--serif);font-size:clamp(26px,3.4vw,34px);font-weight:400;line-height:1.1}
.modal-head .sheet-close{position:static}
.modal-hint{margin:0 0 18px;font-size:12.5px;color:var(--muted);line-height:1.8;max-width:52ch}
.modal-textwrap{
  border:1px solid var(--line-strong);background:var(--cream);
  max-height:34svh;overflow:auto;
}
.modal-textwrap pre{
  margin:0;padding:16px 18px;font-family:var(--mono);font-size:11.5px;line-height:1.9;
  white-space:pre-wrap;word-break:break-word;color:var(--ink);
}
.modal-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.modal-actions .btn-solid{background:var(--ink);border-color:var(--ink);color:var(--cream);padding:12px 22px}
.modal-actions .btn-solid:hover{background:var(--chestnut);border-color:var(--chestnut)}
.modal-actions .btn-ghost{border-color:var(--line-strong);color:var(--ink);padding:12px 22px}
.modal-actions .btn-ghost:hover{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.toast{margin:12px 0 0;font-size:11.5px;letter-spacing:.06em;color:var(--moss);min-height:1.4em}

/* 清单图片 */
.poster-card{width:min(560px,100%)}
.poster-wrap{
  border:1px solid var(--line);background:var(--cream);padding:10px;
  max-height:58svh;overflow:auto;display:grid;place-items:center;
}
.poster-wrap img{width:100%;height:auto;display:block}
.modal-actions a.btn-solid{text-align:center}

/* 尺码建议 */
.size-table{width:100%;border-collapse:collapse;font-size:13px;margin:4px 0 16px}
.size-table th,.size-table td{border-bottom:1px solid var(--line);padding:9px 6px;text-align:left}
.size-table th{
  font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;
  color:var(--muted);font-weight:400;text-transform:uppercase;
}
.size-table td:first-child{font-family:var(--mono);font-size:13px}
.size-table td:nth-child(2){font-family:var(--mono);font-size:12px;color:var(--muted)}
.size-tips{margin:0;padding-left:18px;font-size:12.5px;line-height:2;color:var(--muted)}
.size-tips b{color:var(--ink);font-weight:500}
.size-link{
  font-size:11px;letter-spacing:.02em;color:var(--chestnut);
  text-decoration:underline;text-underline-offset:3px;text-transform:none;
}
.size-link:hover{color:var(--ink)}
.sheet-real{
  margin:18px 0 4px;font-size:11.5px;color:var(--muted);letter-spacing:.02em;
}
.sheet-real button{
  color:var(--chestnut);text-decoration:underline;text-underline-offset:3px;
  font-size:11.5px;padding:0;
}
.sheet-real button:hover{color:var(--ink)}

.scrim{
  position:fixed;inset:0;z-index:50;background:rgba(20,17,15,.42);
  -webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);
  opacity:0;pointer-events:none;transition:opacity .45s var(--ease);
}
.scrim.is-on{opacity:1;pointer-events:auto}

/* ------------------------------------------------------------------ responsive */
section{scroll-margin-top:96px}
@media (max-width:1180px){
  .grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .hero-inner{grid-template-columns:1fr .82fr}
  .palette{grid-template-columns:repeat(auto-fill,minmax(108px,1fr))}
}
@media (max-width:900px){
  .hero-inner{grid-template-columns:1fr;gap:26px}
  .hero-stage{min-height:auto;aspect-ratio:1/.92;order:2;margin-top:8px;width:min(460px,100%);max-height:none}
  .hero{padding-top:calc(var(--pad) + 72px)}
  .hero-sub{max-width:44ch}
  .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .about-cols{grid-template-columns:1fr}
  .editorial{grid-template-columns:1fr}
  .ed-media{order:-1;min-height:clamp(280px,52vw,380px)}
  .filter-bar{top:50px}
  .head-nav{display:none}
  section{scroll-margin-top:80px}
}
@media (max-width:620px){
  .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .pcard-meta{padding:10px 10px 12px}
  .pcard-name{font-size:13.5px}
  .pcard-price .now{font-size:15px}
  .rail-card{flex-basis:74vw}
  .hero-foot{gap:18px;flex-wrap:wrap}
  .hf-scroll{display:none}
  .sec-note{text-align:left}
  .sec-side{align-items:flex-start;text-align:left}
  .drawer{width:100%}
  .sheet{width:100%}
  .modal-actions .btn-solid,.modal-actions .btn-ghost{flex:1 1 100%}
  .filter-right{width:100%}
  .chips{flex-wrap:nowrap;overflow-x:auto;width:100%;padding-bottom:6px;scrollbar-width:none}
  .chips::-webkit-scrollbar{display:none}
  .chip{flex:0 0 auto}
  .filter-bar{gap:10px;padding-bottom:12px}
  .palette{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:6px}
  .pdot{padding:8px 9px;gap:8px}
  .pdot i{width:20px;height:20px}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important}
  html{scroll-behavior:auto}
}

:focus-visible{outline:2px solid var(--chestnut);outline-offset:3px}
