/* Krynvo — Bauhaus geometric
 * 跟其他 10 站错开: 没人用过原色几何
 * palette: 纯白底 + Bauhaus 三原色 (红蓝黄) + 哑光黑
 * typo: Futura 几何无衬线 + Space Grotesk 兜底
 */
@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&family=Archivo:wght@400;500;600;700;800;900&family=Space+Grotesk:wght@400;500;600;700&display=swap');

:root{
  --bg: #fcfcf7;          /* 米纯白 (Bauhaus 纸感) */
  --ink: #0a0a0a;         /* 墨黑 */
  --ink-mute: #4a4a4a;
  --ink-dim: #888;
  --paper: #ffffff;
  --line: #0a0a0a;        /* Bauhaus 粗线用全黑 */
  --red: #e52521;         /* Bauhaus 原红 */
  --red-dark: #b31a17;
  --blue: #1849a9;        /* Bauhaus 原蓝 */
  --blue-dark: #0f3480;
  --yellow: #f7c200;      /* Bauhaus 原黄 */
  --yellow-dark: #d9a800;
  --gray-bg: #ebe7df;     /* 米灰 block */
  --cream: #f3eedf;       /* 奶油 */
}

*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--bg)}
body{
  font-family:'Archivo','Futura',system-ui,sans-serif;
  color:var(--ink);
  background:var(--bg);
  line-height:1.45;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
}
.display,h1,h2,h3,.brand{font-family:'Archivo Black','Futura',sans-serif;letter-spacing:-0.02em;line-height:0.95}
.alt{font-family:'Space Grotesk',sans-serif}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

/* ========== nav 粗 Bauhaus 边 ========== */
nav{
  background:var(--bg);
  border-bottom:3px solid var(--line);
  padding:0;
  display:grid;grid-template-columns:auto 1fr auto;align-items:stretch;
  position:sticky;top:0;z-index:100;
}
nav .brand{
  font-family:'Archivo Black',sans-serif;
  font-weight:900;font-size:22px;letter-spacing:-0.02em;
  color:var(--ink);
  padding:20px 28px;
  border-right:3px solid var(--line);
  display:flex;align-items:center;gap:10px;
  text-transform:uppercase;
}
nav .brand::before{
  content:"";
  display:inline-block;width:18px;height:18px;background:var(--red);
  border-radius:50%;flex-shrink:0;
}
nav .center-rail{
  display:flex;align-items:stretch;
  border-right:3px solid var(--line);
}
nav .center-rail::before{
  content:"";flex:1;background:
    linear-gradient(to right,
      var(--yellow) 0 25%,
      var(--red) 25% 50%,
      var(--blue) 50% 75%,
      var(--ink) 75% 100%);
}
nav .links{
  display:flex;align-items:center;
  font-family:'Archivo',sans-serif;font-size:13px;font-weight:700;
  letter-spacing:0.05em;text-transform:uppercase;
}
nav .links a{
  padding:0 22px;height:100%;
  display:flex;align-items:center;
  color:var(--ink);transition:background .15s;position:relative;
}
nav .links a + a{border-left:1px solid var(--ink)}
nav .links a:hover{background:var(--yellow)}
nav .cart-link{position:relative;background:var(--ink);color:#fff !important;padding:0 22px}
nav .cart-link:hover{background:var(--red) !important}
nav .cart-count{display:inline-block;background:var(--red);color:#fff;font-size:11px;padding:2px 7px;margin-left:8px;min-width:22px;text-align:center;font-weight:900;font-family:'Archivo Black',sans-serif}

/* ========== hero 几何构成 ========== */
.hero{
  max-width:1400px;margin:0 auto;padding:0;
  display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:auto;
  border-bottom:3px solid var(--line);min-height:560px;
  position:relative;
}
.hero .block-main{
  grid-column:1/8;grid-row:1;
  padding:60px 48px 56px;
  border-right:3px solid var(--line);
  background:var(--bg);
  display:flex;flex-direction:column;justify-content:center;
}
.hero .block-yellow{
  grid-column:8/11;grid-row:1;
  background:var(--yellow);
  border-right:3px solid var(--line);
  position:relative;overflow:hidden;
}
.hero .block-yellow::before{
  content:"";position:absolute;left:50%;top:50%;
  width:180px;height:180px;background:var(--ink);border-radius:50%;
  transform:translate(-50%,-50%);
}
.hero .block-yellow::after{
  content:"";position:absolute;left:50%;top:50%;
  width:90px;height:90px;background:var(--yellow);border-radius:50%;
  transform:translate(-50%,-50%);
}
.hero .block-right{
  grid-column:11/13;grid-row:1;
  display:grid;grid-template-rows:1fr 1fr;
}
.hero .block-red{background:var(--red);border-bottom:3px solid var(--line);position:relative;overflow:hidden}
.hero .block-red::before{
  content:"";position:absolute;left:0;bottom:0;right:0;top:50%;background:var(--ink);
}
.hero .block-blue{background:var(--blue);position:relative;overflow:hidden}
.hero .block-blue::before{
  content:"";position:absolute;left:-20px;top:-20px;width:120px;height:120px;background:var(--yellow);
}

.hero .tag{
  font-family:'Archivo Black',sans-serif;font-size:12px;
  letter-spacing:0.3em;text-transform:uppercase;
  background:var(--ink);color:#fff;
  padding:7px 14px 6px;display:inline-block;align-self:flex-start;margin-bottom:28px;
}
.hero h1{
  font-family:'Archivo Black',sans-serif;
  font-size:112px;line-height:0.88;letter-spacing:-0.045em;
  margin-bottom:28px;color:var(--ink);
}
.hero h1 .red{color:var(--red)}
.hero h1 .blue{color:var(--blue)}
.hero h1 .underline{
  display:inline-block;position:relative;
}
.hero h1 .underline::after{
  content:"";position:absolute;left:-4px;right:-4px;bottom:4px;height:14px;
  background:var(--yellow);z-index:-1;
}
.hero p.lead{
  font-family:'Archivo',sans-serif;
  font-size:19px;color:var(--ink-mute);max-width:560px;margin-bottom:36px;line-height:1.55;font-weight:400;
}
.hero .cta-row{display:flex;gap:0;align-items:stretch;flex-wrap:wrap;align-self:flex-start}
.hero a.cta{
  display:inline-flex;align-items:center;gap:10px;
  background:var(--ink);color:#fff;
  padding:18px 32px;font-family:'Archivo',sans-serif;
  font-size:13px;letter-spacing:0.2em;text-transform:uppercase;
  font-weight:800;transition:background .2s;
  border:3px solid var(--ink);
}
.hero a.cta:hover{background:var(--red);border-color:var(--red)}
.hero a.cta-ghost{
  background:transparent;color:var(--ink);border:3px solid var(--ink);border-left:0;
  padding:18px 28px;font-size:13px;letter-spacing:0.2em;font-family:'Archivo',sans-serif;text-transform:uppercase;font-weight:800;
}
.hero a.cta-ghost:hover{background:var(--yellow)}

/* ========== section head 几何编号 ========== */
.section-head{
  max-width:1400px;margin:72px auto 0;padding:0 32px 28px;
  display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:end;
  border-bottom:3px solid var(--line);
}
.section-head .num{
  font-family:'Archivo Black',sans-serif;font-size:72px;line-height:0.9;color:var(--red);
  letter-spacing:-0.04em;
}
.section-head .title{
  font-family:'Archivo Black',sans-serif;font-size:56px;font-weight:900;
  color:var(--ink);letter-spacing:-0.03em;line-height:0.95;
}
.section-head .title .yellow-hl{background:var(--yellow);padding:0 10px;display:inline-block}
.section-head .meta{font-family:'Archivo',sans-serif;font-size:12px;letter-spacing:0.2em;text-transform:uppercase;color:var(--ink);text-align:right;font-weight:700;line-height:1.6}
.section-head .meta .dot{display:inline-block;width:8px;height:8px;background:var(--blue);border-radius:50%;margin-right:6px}

/* ========== 7 件 Bauhaus 色块布局 ========== */
.spec-grid{
  max-width:1400px;margin:0 auto;padding:0 32px 40px;
  display:grid;grid-template-columns:repeat(12,1fr);gap:0;
  border-left:3px solid var(--line);border-right:3px solid var(--line);
  margin-top:0;
}
.spec-grid .card{
  background:var(--paper);border:3px solid var(--line);
  overflow:hidden;transition:all .15s;position:relative;
  display:flex;flex-direction:column;grid-column:span 3;
  margin:-1.5px;
}
.spec-grid .card:hover{z-index:2;transform:translate(-3px,-3px);box-shadow:6px 6px 0 var(--ink)}
.spec-grid .card img{width:100%;aspect-ratio:1;object-fit:cover;background:var(--gray-bg);border-bottom:3px solid var(--line)}
.spec-grid .card .corner{
  position:absolute;top:0;right:0;z-index:3;
  width:52px;height:52px;background:var(--yellow);
  border-left:3px solid var(--line);border-bottom:3px solid var(--line);
  display:flex;align-items:center;justify-content:center;
  font-family:'Archivo Black',sans-serif;font-size:16px;font-weight:900;color:var(--ink);
}
.spec-grid .card .corner.red{background:var(--red);color:#fff}
.spec-grid .card .corner.blue{background:var(--blue);color:#fff}
.spec-grid .card .info{padding:18px 18px 22px}
.spec-grid .card .code{
  font-family:'Archivo',sans-serif;font-size:11px;color:var(--ink-mute);
  letter-spacing:0.2em;text-transform:uppercase;font-weight:700;margin-bottom:10px;
  display:inline-block;background:var(--gray-bg);padding:3px 8px;
}
.spec-grid .card .name{
  font-family:'Archivo Black',sans-serif;font-size:18px;font-weight:900;
  color:var(--ink);line-height:1;margin-bottom:4px;letter-spacing:-0.02em;text-transform:uppercase;
}
.spec-grid .card .color{font-family:'Archivo',sans-serif;font-size:12px;color:var(--ink-mute);letter-spacing:0.05em;margin-bottom:14px;font-weight:500}
.spec-grid .card .price-row{display:flex;justify-content:space-between;align-items:baseline;padding-top:12px;border-top:3px solid var(--ink)}
.spec-grid .card .price{font-family:'Archivo Black',sans-serif;font-size:22px;font-weight:900;color:var(--ink);letter-spacing:-0.02em}
.spec-grid .card .add{font-family:'Archivo',sans-serif;font-size:11px;color:var(--ink);letter-spacing:0.15em;text-transform:uppercase;font-weight:800;background:var(--yellow);padding:4px 10px;align-self:center}

/* 第 1 件 full-width hero spec card */
.spec-grid .card:nth-child(1){
  grid-column:span 12;display:grid;grid-template-columns:1fr 1.1fr;align-items:stretch;
  border:3px solid var(--line);
}
.spec-grid .card:nth-child(1) img{aspect-ratio:auto;height:100%;min-height:460px;border-right:3px solid var(--line);border-bottom:0}
.spec-grid .card:nth-child(1) .info{
  padding:52px 56px;
  display:flex;flex-direction:column;justify-content:center;position:relative;background:var(--cream);
}
.spec-grid .card:nth-child(1) .info::before{
  content:"";position:absolute;top:40px;right:40px;
  width:60px;height:60px;background:var(--red);
}
.spec-grid .card:nth-child(1) .info::after{
  content:"";position:absolute;top:130px;right:70px;
  width:40px;height:40px;background:var(--blue);border-radius:50%;
}
.spec-grid .card:nth-child(1) .code{font-size:12px;margin-bottom:20px;background:var(--ink);color:var(--yellow);padding:4px 10px}
.spec-grid .card:nth-child(1) .name{font-size:52px;margin-bottom:12px;line-height:0.95}
.spec-grid .card:nth-child(1) .color{font-size:14px;margin-bottom:28px}
.spec-grid .card:nth-child(1) .price{font-size:36px}
.spec-grid .card:nth-child(1) .add{font-size:12px;padding:8px 16px}
.spec-grid .card:nth-child(1) .pitch{
  font-family:'Archivo',sans-serif;font-size:16px;color:var(--ink-mute);line-height:1.55;margin:0 0 28px;max-width:460px;
}

/* 第 2-3 件 (6 列 big) */
.spec-grid .card:nth-child(2),.spec-grid .card:nth-child(3){grid-column:span 6}
.spec-grid .card:nth-child(2) img,.spec-grid .card:nth-child(3) img{aspect-ratio:16/10}
.spec-grid .card:nth-child(2) .name,.spec-grid .card:nth-child(3) .name{font-size:28px}

/* 第 4-7 件 (3 列 small) */
.spec-grid .card:nth-child(n+4){grid-column:span 3}

/* ========== bottom shelf (geometric cta row) ========== */
.bottom-shelf{
  max-width:1400px;margin:0 auto 72px;padding:0;
  display:grid;grid-template-columns:1fr 1fr 1fr;
  border:3px solid var(--line);border-top:0;
}
.bottom-shelf .cell{
  padding:40px 36px;border-right:3px solid var(--line);
  display:flex;flex-direction:column;justify-content:center;
}
.bottom-shelf .cell:last-child{border-right:0}
.bottom-shelf .cell-yellow{background:var(--yellow)}
.bottom-shelf .cell-red{background:var(--red);color:#fff}
.bottom-shelf .cell-ink{background:var(--ink);color:#fff}
.bottom-shelf .cell .count{font-family:'Archivo Black',sans-serif;font-size:68px;line-height:0.9;letter-spacing:-0.04em;margin-bottom:12px}
.bottom-shelf .cell .label{font-family:'Archivo',sans-serif;font-size:12px;letter-spacing:0.2em;text-transform:uppercase;font-weight:700;line-height:1.5}
.bottom-shelf .cell a{
  display:inline-flex;align-items:center;align-self:flex-start;
  background:var(--ink);color:#fff;
  padding:13px 24px;margin-top:16px;
  font-family:'Archivo',sans-serif;font-size:12px;letter-spacing:0.2em;text-transform:uppercase;font-weight:800;
  transition:background .15s;
}
.bottom-shelf .cell-ink a{background:#fff;color:var(--ink)}
.bottom-shelf .cell-ink a:hover{background:var(--yellow)}
.bottom-shelf .cell a:hover{background:var(--red)}
.bottom-shelf .cell-red a:hover{background:var(--ink)}

/* ========== shop/grid 一般列表 ========== */
.grid{max-width:1400px;margin:0 auto;padding:40px 32px;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:0;border-left:3px solid var(--line);border-right:3px solid var(--line)}
.grid > .card{background:var(--paper);border:3px solid var(--line);overflow:hidden;transition:all .15s;margin:-1.5px}
.grid > .card:hover{z-index:2;transform:translate(-3px,-3px);box-shadow:6px 6px 0 var(--ink)}
.grid > .card img{width:100%;aspect-ratio:1;object-fit:cover;background:var(--gray-bg);border-bottom:3px solid var(--line)}
.grid > .card .info{padding:14px 16px 18px}
.grid > .card .name{font-family:'Archivo Black',sans-serif;font-size:16px;font-weight:900;margin-bottom:4px;color:var(--ink);text-transform:uppercase;line-height:1}
.grid > .card .color{font-family:'Archivo',sans-serif;font-size:11px;color:var(--ink-mute);margin-bottom:10px;font-weight:500}
.grid > .card .price{font-family:'Archivo Black',sans-serif;font-weight:900;font-size:17px;color:var(--ink);padding-top:10px;border-top:3px solid var(--ink)}

/* ========== product page ========== */
.pd{max-width:1400px;margin:0 auto;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0;border-bottom:3px solid var(--line)}
.pd .pd-img{border-right:3px solid var(--line);background:var(--gray-bg)}
.pd img{width:100%;height:100%;object-fit:cover;min-height:560px;background:var(--gray-bg)}
.pd .pd-info{padding:60px 48px;background:var(--bg);display:flex;flex-direction:column;justify-content:center;position:relative}
.pd .pd-info::before{content:"";position:absolute;top:48px;right:48px;width:50px;height:50px;background:var(--red)}
.pd .pd-sku{font-family:'Archivo',sans-serif;font-size:12px;letter-spacing:0.2em;color:var(--ink);text-transform:uppercase;margin-bottom:18px;background:var(--yellow);display:inline-block;padding:4px 10px;align-self:flex-start;font-weight:700}
.pd .name{font-family:'Archivo Black',sans-serif;font-size:64px;font-weight:900;line-height:0.95;margin-bottom:18px;color:var(--ink);letter-spacing:-0.03em;text-transform:uppercase}
.pd .price{font-family:'Archivo Black',sans-serif;font-size:40px;font-weight:900;color:var(--ink);margin-bottom:28px;letter-spacing:-0.03em}
.pd .desc{color:var(--ink-mute);margin-bottom:32px;line-height:1.6;font-size:16px;font-family:'Archivo',sans-serif}
.pd label{display:block;font-family:'Archivo',sans-serif;font-size:11px;color:var(--ink);margin-bottom:6px;text-transform:uppercase;letter-spacing:0.2em;font-weight:800}
.pd select,.pd input[type=number]{width:100%;padding:14px 12px;border:3px solid var(--ink);border-radius:0;font-size:14px;background:#fff;color:var(--ink);font-family:'Archivo',sans-serif;font-weight:600}
.pd select:focus,.pd input:focus{outline:none;border-color:var(--red)}
.pd .row{display:flex;gap:14px;margin-bottom:22px}
.pd .row > *{flex:1}
.pd button{width:100%;background:var(--ink);color:#fff;padding:18px;font-family:'Archivo',sans-serif;font-size:13px;letter-spacing:0.2em;text-transform:uppercase;border:3px solid var(--ink);border-radius:0;cursor:pointer;margin-top:14px;font-weight:800;transition:background .2s}
.pd button:hover{background:var(--red);border-color:var(--red)}

/* ========== cart / checkout / thankyou ========== */
.page{max-width:900px;margin:0 auto;padding:52px 32px}
.page h2{font-family:'Archivo Black',sans-serif;font-size:52px;margin-bottom:28px;font-weight:900;letter-spacing:-0.03em;text-transform:uppercase}
.cart-item{display:flex;gap:18px;padding:18px 0;border-bottom:3px solid var(--line);align-items:center}
.cart-item img{width:84px;height:84px;object-fit:cover;border:3px solid var(--ink);background:var(--gray-bg)}
.cart-item .info{flex:1}
.cart-item .name{font-family:'Archivo Black',sans-serif;font-size:17px;font-weight:900;margin-bottom:4px;color:var(--ink);text-transform:uppercase}
.cart-item .model{font-family:'Archivo',sans-serif;font-size:11px;color:var(--ink-mute);letter-spacing:0.1em;text-transform:uppercase;font-weight:600}
.cart-item .qty{font-family:'Archivo Black',sans-serif;font-size:15px;color:var(--ink)}
.cart-item .price{font-family:'Archivo Black',sans-serif;font-weight:900;color:var(--ink);font-size:17px}
.cart-item .rm{font-family:'Archivo',sans-serif;color:var(--red);font-size:11px;cursor:pointer;margin-left:12px;letter-spacing:0.15em;text-transform:uppercase;font-weight:800}
.cart-summary{margin-top:28px;padding:24px;background:var(--yellow);border:3px solid var(--line)}
.cart-summary .line{display:flex;justify-content:space-between;padding:7px 0;color:var(--ink);font-family:'Archivo',sans-serif;font-size:14px;font-weight:600}
.cart-summary .total{font-family:'Archivo Black',sans-serif;font-weight:900;font-size:22px;padding-top:14px;border-top:3px solid var(--ink);margin-top:10px;color:var(--ink);text-transform:uppercase}
.cart-summary button{width:100%;background:var(--ink);color:#fff;padding:16px;margin-top:20px;font-family:'Archivo',sans-serif;font-size:13px;text-transform:uppercase;letter-spacing:0.2em;border:3px solid var(--ink);border-radius:0;cursor:pointer;font-weight:800}
.cart-summary button:hover{background:var(--red);border-color:var(--red)}

/* checkout */
.co-grid{display:grid;grid-template-columns:2fr 1fr;gap:24px;margin-top:24px}
.co-form{background:var(--paper);padding:28px;border:3px solid var(--line)}
.co-form h3{font-family:'Archivo Black',sans-serif;font-size:22px;margin-bottom:12px;font-weight:900;letter-spacing:-0.02em;text-transform:uppercase}
.co-form label{display:block;font-family:'Archivo',sans-serif;font-size:11px;color:var(--ink);margin-bottom:5px;margin-top:14px;text-transform:uppercase;letter-spacing:0.2em;font-weight:800}
.co-form input,.co-form select{width:100%;padding:12px;border:3px solid var(--ink);border-radius:0;font-size:14px;background:#fff;color:var(--ink);font-family:'Archivo',sans-serif;font-weight:600}
.co-form input:focus,.co-form select:focus{outline:none;border-color:var(--red)}
.co-form .row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.co-tabs{display:flex;gap:0;margin:20px 0 14px;border-bottom:3px solid var(--line)}
.co-tab{padding:12px 20px;cursor:pointer;border-bottom:4px solid transparent;font-family:'Archivo',sans-serif;font-size:12px;color:var(--ink-mute);letter-spacing:0.2em;text-transform:uppercase;font-weight:700;margin-bottom:-3px}
.co-tab.active{border-color:var(--red);color:var(--ink);font-weight:800}
.co-side{background:var(--yellow);padding:24px;border:3px solid var(--line);position:sticky;top:84px;align-self:start;height:fit-content}
.co-side .line{display:flex;justify-content:space-between;padding:7px 0;font-family:'Archivo',sans-serif;font-size:14px;color:var(--ink);font-weight:600}
.co-side .total{font-family:'Archivo Black',sans-serif;font-weight:900;font-size:22px;padding-top:14px;border-top:3px solid var(--ink);margin-top:10px;color:var(--ink);text-transform:uppercase}
.co-side .li{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--ink)}
.co-side .li img{width:52px;height:52px;object-fit:cover;border:3px solid var(--ink)}
.co-side .li .n{font-size:14px;color:var(--ink);font-weight:700;font-family:'Archivo',sans-serif}
button.pay-btn{width:100%;background:var(--ink);color:#fff;padding:16px;margin-top:20px;font-family:'Archivo',sans-serif;font-size:13px;text-transform:uppercase;letter-spacing:0.2em;border:3px solid var(--ink);border-radius:0;cursor:pointer;font-weight:800}
button.pay-btn:hover{background:var(--red);border-color:var(--red)}

/* thankyou */
.ty{max-width:720px;margin:60px auto;padding:52px;background:var(--yellow);border:3px solid var(--line);text-align:left;position:relative}
.ty::before{content:"";position:absolute;top:40px;right:40px;width:70px;height:70px;background:var(--red);border:3px solid var(--line)}
.ty::after{content:"";position:absolute;top:60px;right:140px;width:40px;height:40px;background:var(--blue);border-radius:50%;border:3px solid var(--line)}
.ty h1{font-family:'Archivo Black',sans-serif;font-size:72px;font-weight:900;margin-bottom:12px;letter-spacing:-0.04em;text-transform:uppercase;line-height:0.9;max-width:420px}
.ty .oid{font-family:'Archivo',sans-serif;font-size:12px;color:var(--ink);margin-bottom:24px;letter-spacing:0.2em;text-transform:uppercase;font-weight:800;background:var(--ink);color:var(--yellow);display:inline-block;padding:4px 10px}
.ty .box{text-align:left;background:#fff;padding:24px;border:3px solid var(--line);margin-top:24px}
.ty .box h3{font-family:'Archivo Black',sans-serif;font-size:14px;font-weight:900;margin-bottom:14px;color:var(--ink);letter-spacing:0.1em;text-transform:uppercase}

/* policy */
.policy{max-width:860px;margin:0 auto;padding:52px 32px;line-height:1.75}
.policy h1{font-family:'Archivo Black',sans-serif;font-size:64px;margin-bottom:24px;font-weight:900;letter-spacing:-0.04em;text-transform:uppercase;line-height:0.95}
.policy h2{font-family:'Archivo Black',sans-serif;font-size:20px;margin-top:36px;margin-bottom:14px;font-weight:900;color:var(--ink);letter-spacing:-0.02em;text-transform:uppercase;background:var(--yellow);padding:6px 12px;display:inline-block}
.policy p{margin-bottom:14px;color:var(--ink-mute);font-size:16px;font-family:'Archivo',sans-serif}

/* footer */
footer{border-top:3px solid var(--line);background:var(--ink);color:#fff;margin-top:0;padding:56px 32px 30px}
footer .cols{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:36px}
footer .col h4{font-family:'Archivo Black',sans-serif;font-size:14px;margin-bottom:18px;font-weight:900;color:var(--yellow);letter-spacing:-0.01em;text-transform:uppercase}
footer .col a{display:block;font-family:'Archivo',sans-serif;font-size:13px;color:#aaa;padding:5px 0;transition:color .15s;font-weight:500}
footer .col a:hover{color:var(--yellow)}
footer .copy{max-width:1400px;margin:0 auto;padding-top:24px;border-top:1px solid #333;font-family:'Archivo',sans-serif;font-size:11px;color:#666;text-align:left;letter-spacing:0.05em;line-height:1.8;font-weight:500}

/* popup */
.popup-overlay{position:fixed;inset:0;background:rgba(10,10,10,0.5);display:none;align-items:center;justify-content:center;z-index:999;padding:16px}
.popup-box{background:var(--yellow);color:var(--ink);padding:32px 36px;border:3px solid var(--line);box-shadow:8px 8px 0 var(--ink);text-align:left;max-width:400px;width:100%;position:relative}
.popup-box::before{content:"";position:absolute;top:-3px;left:30px;right:30px;height:8px;background:var(--red);border-left:3px solid var(--line);border-right:3px solid var(--line)}
.popup-box .popup-title{font-family:'Archivo Black',sans-serif;font-size:28px;font-weight:900;margin-bottom:8px;color:var(--ink);letter-spacing:-0.02em;text-transform:uppercase;line-height:0.95}
.popup-box .popup-sub{font-family:'Archivo',sans-serif;font-size:14px;color:var(--ink-mute);margin-bottom:20px;line-height:1.55;font-weight:500}
.popup-actions{display:flex;gap:10px;justify-content:flex-start}
.popup-btn{padding:12px 20px;font-family:'Archivo',sans-serif;font-size:12px;border:3px solid var(--ink);cursor:pointer;font-weight:800;letter-spacing:0.15em;text-transform:uppercase;transition:background .2s}
.popup-btn.primary{background:var(--ink);color:#fff}
.popup-btn.primary:hover{background:var(--red);border-color:var(--red)}
.popup-btn.ghost{background:transparent;color:var(--ink)}
.popup-btn.ghost:hover{background:var(--ink);color:var(--yellow)}
.pv-modal .popup-overlay{animation:pvFade .2s ease}
.pv-modal .popup-box{animation:pvPop .25s ease}
.pv-toast_top .popup-overlay{align-items:flex-start;background:transparent}
.pv-toast_top .popup-box{animation:pvDown .25s ease}
.pv-toast_bottom .popup-overlay{align-items:flex-end;background:transparent}
.pv-toast_bottom .popup-box{animation:pvUp .25s ease}
.pv-slide_right .popup-overlay{align-items:flex-end;justify-content:flex-end;background:transparent}
.pv-slide_right .popup-box{animation:pvRight .25s ease;max-width:360px}
.pv-slide_right .popup-actions{justify-content:flex-start}
@keyframes pvFade{from{opacity:0}to{opacity:1}}
@keyframes pvPop{from{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}
@keyframes pvDown{from{transform:translateY(-30px);opacity:0}to{transform:translateY(0);opacity:1}}
@keyframes pvUp{from{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}
@keyframes pvRight{from{transform:translateX(80px);opacity:0}to{transform:translateX(0);opacity:1}}

@media (max-width:900px){
  nav{grid-template-columns:1fr}
  nav .center-rail{display:none}
  nav .brand{border-right:0;border-bottom:3px solid var(--line);padding:16px 20px}
  nav .links{border-top:3px solid var(--line);overflow-x:auto}
  nav .links a{padding:0 16px;height:48px;font-size:11px}
  .hero{grid-template-columns:1fr;min-height:auto}
  .hero .block-main{grid-column:1;grid-row:1;padding:40px 20px;border-right:0;border-bottom:3px solid var(--line)}
  .hero .block-yellow{grid-column:1;grid-row:2;height:200px;border-right:0;border-bottom:3px solid var(--line)}
  .hero .block-right{grid-column:1;grid-row:3;grid-template-rows:auto;grid-template-columns:1fr 1fr;height:120px}
  .hero .block-red{border-bottom:0;border-right:3px solid var(--line)}
  .hero h1{font-size:62px}
  .section-head{grid-template-columns:1fr;gap:12px;text-align:left}
  .section-head .num{font-size:48px}
  .section-head .title{font-size:36px}
  .section-head .meta{text-align:left}
  .spec-grid{padding:0 20px 40px;border-left:0;border-right:0}
  .spec-grid .card:nth-child(1){grid-template-columns:1fr;grid-column:span 12}
  .spec-grid .card:nth-child(1) img{min-height:300px;border-right:0;border-bottom:3px solid var(--line)}
  .spec-grid .card:nth-child(1) .info{padding:32px 24px}
  .spec-grid .card:nth-child(1) .name{font-size:34px}
  .spec-grid .card:nth-child(2),
  .spec-grid .card:nth-child(3){grid-column:span 12}
  .spec-grid .card:nth-child(n+4){grid-column:span 6}
  .bottom-shelf{grid-template-columns:1fr}
  .bottom-shelf .cell{border-right:0;border-bottom:3px solid var(--line)}
  .bottom-shelf .cell:last-child{border-bottom:0}
  .pd{grid-template-columns:1fr}
  .pd .pd-img{border-right:0;border-bottom:3px solid var(--line)}
  .pd img{min-height:360px}
  .pd .pd-info{padding:32px 24px}
  .pd .name{font-size:40px}
  .co-grid{grid-template-columns:1fr;gap:16px}
  footer .cols{grid-template-columns:1fr 1fr;gap:28px}
  .policy h1{font-size:44px}
  .policy h2{font-size:16px}
  .ty h1{font-size:48px}
}
