:root{--paper:#f6f2e9;--surface:#fffcf6;--ink:#17241c;--muted:#566058;--line:#d5d4c8;--accent:#6b3046;--green:#123326;--gold:#efd79f;--serif:"Noto Serif SC","Songti SC","STSong","SimSun",serif;--sans:"Microsoft YaHei","PingFang SC",system-ui,sans-serif}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans)}
img{display:block;max-width:100%}
figure,p,h1,h2,h3,h4{margin:0}
a{color:inherit;text-underline-offset:.24em}
button,input,textarea,select{font:inherit;color:inherit}
button,summary{cursor:pointer}
:focus-visible{outline:3px solid #ad623a;outline-offset:4px}
[hidden]{display:none!important}
::selection{background:#e5c4d0;color:#321626}
.wrap{width:min(1264px,calc(100% - 84px));margin:auto}
header{background:var(--surface);border-bottom:1px solid var(--line)}
.mast{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:76px}
.brand{display:block;flex:none}
.brand img{object-fit:contain}
.mast nav{display:flex;flex-wrap:wrap;gap:3px}
.mast nav a,.editor-link{text-decoration:none;padding:7px 13px;font-size:14px;border-radius:6px;white-space:nowrap}
.mast nav a:hover,.mast nav a[aria-current]{background:#e9e3d8}
.editor-link{border:1px solid var(--line)}
.skip{position:absolute;top:8px;left:8px;z-index:5;background:white;color:#17241c;padding:8px;transform:translateY(-160%)}
.skip:focus{transform:none}
.issue{padding:42px 0 30px}
.issue h1{font:600 clamp(42px,6.6vw,91px)/1.12 var(--serif);letter-spacing:-.045em;text-wrap:balance}
.issue p:last-child{margin-top:13px;color:var(--muted)}
.edition-date,.meta,.note,.source,.section-title span{font-size:13px;color:var(--muted)}
.edition-date{margin-bottom:10px;font-variant-numeric:tabular-nums}
h2{font:600 clamp(22px,2.6vw,33px)/1.35 var(--serif)}
h3{font:600 24px/1.36 var(--serif);text-wrap:pretty}
h4{font-size:15px;margin-top:17px}
.section-title{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 18px}
.section-title a,.column-link{font-size:14px;color:var(--accent)}
.story{min-width:0;border-top:1px solid var(--line)}
.story summary{display:block;list-style:none}
.story summary::-webkit-details-marker{display:none}
.story-head{position:relative;padding:18px 42px 16px 0}
.story-head:after{content:"";position:absolute;right:7px;top:29px;width:8px;height:8px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}
.story[open] .story-head:after{transform:rotate(225deg);top:33px}
.story summary:hover h3{color:var(--accent)}
.meta{margin-bottom:5px}
.story-head p{margin-top:6px;color:var(--muted);font-size:15px}
.expand{display:block;width:max-content;margin-top:9px;font-size:13px;color:var(--accent);text-decoration:underline;text-underline-offset:4px}
.story[open] .expand{visibility:hidden;height:0;margin:0}
.story-body{padding:0 0 20px;max-width:66ch;font-size:16px}
.story-body p+p,.story-body table{margin-top:10px}
.story-body .source{margin-top:14px}
.photo{position:relative;overflow:hidden;background:#1f2a22}
.photo img{width:100%;height:100%;object-fit:cover}
.photo figcaption{position:absolute;right:12px;bottom:10px;background:#17241ce8;color:#fffaf0;padding:2px 7px;font-size:11px}
.monthly{margin-top:46px;padding:26px 0 12px;border-top:2px solid var(--ink)}
.monthly .note{margin:6px 0 19px}
.monthly-grid{display:grid;grid-template-columns:minmax(230px, .85fr) minmax(0,1.35fr);gap:32px}
.data-panel{padding:12px 18px;background:var(--surface);border:1px solid var(--line);align-self:start}
table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:14px}
caption{text-align:left;color:var(--muted);font-size:13px;padding:4px 0 9px}
th,td{padding:8px 4px;border-bottom:1px solid var(--line);text-align:right}
th:first-child{text-align:left}
tr:last-child td,tr:last-child th{border-bottom:0}
thead th{border-bottom:1px solid var(--line)!important}
.up{color:#8b3645}.down{color:#24614c}
.method h3{font-size:20px}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}
.filters button{background:transparent;border:1px solid var(--line);border-radius:18px;padding:6px 13px;font-size:14px;min-height:38px}
.filters button[aria-pressed=true]{background:var(--green);color:#fffaf0;border-color:var(--green)}
footer{margin-top:48px;border-top:1px solid var(--line)}
.footer-row{padding:20px 0;display:flex;flex-wrap:wrap;gap:10px 25px;font-size:14px;color:var(--muted)}
.frontpage .issue{text-align:center;border-bottom:3px double var(--accent);margin-bottom:24px}
.frontpage .issue h1{color:var(--accent)}
.front-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:30px}
.lead>.photo{height:clamp(220px,26vw,370px)}
.lead .story:first-of-type h3{font-size:clamp(26px,3.4vw,47px)}
.front-rail{border-left:1px solid var(--line);padding-left:27px}
.front-rail h2{margin-bottom:12px}
.market{--paper:#edf0eb;--surface:#f8faf6;--line:#cdd7cf;--accent:#365c47}
.market .issue h1,.desk .issue h1{font-size:clamp(40px,5.7vw,74px)}
.quote-board{background:#0b1e16;color:#fffaf0;padding:24px 27px;border-radius:19px}
.quote-board .section-title span,.quote-note{color:#c3d2c7}
.quote-note{font-size:13px;margin-top:5px}
.quote-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin-top:18px;border-top:1px solid #4a6053}
.quote-grid>div{padding:14px 15px 2px;border-right:1px solid #4a6053}
.quote-grid>div:last-child{border-right:0}
.quote-grid strong{display:block;color:var(--gold);font:400 clamp(26px,4.2vw,57px)/1.2 Georgia,serif;margin:5px 0}
.quote-grid small{display:block;font-size:13px}
.quote-grid .up{color:#f2bcae}.quote-grid .down{color:#a8d9be}
.market-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:28px}
.market-grid h2,.desk-grid h2{margin-bottom:14px}
.journal{--paper:#191e1b;--surface:#262c27;--ink:#fff8e9;--muted:#c1c9be;--line:#5c655a;--accent:#f0c780;--green:#4d5e4c}
.journal .mast .brand img{filter:invert(1)}
.journal .mast nav a:hover,.journal .mast nav a[aria-current]{background:#414b41}
.cover{margin:26px 0 32px;position:relative;min-height:405px;border-radius:24px;overflow:hidden;display:grid;align-items:end;background:#1f2820}
.cover>.photo{position:absolute;inset:0}
.cover>.photo img{object-position:right top}
.cover>.photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#121914 0%,#121914d9 30%,transparent 84%);pointer-events:none}
.cover>.photo figcaption{z-index:1}
.cover .issue{position:relative;padding:26px 38px 37px;pointer-events:none}
.cover h1{font-size:clamp(42px,7vw,91px)}
.picture-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px;align-items:start}
.pictured{grid-column:span 2;background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.pictured:nth-child(-n+2){grid-column:span 3}
.pictured .photo{height:150px}
.pictured:nth-child(-n+2) .photo{height:204px}
.pictured .story-head,.pictured .story-body{padding-left:17px;padding-right:31px}
.pictured .story-head:after{right:15px}
.journal .up{color:#f2bcae}.journal .down{color:#a8d9be}
.brief{--paper:#f8f7f3;--surface:#fffefa;--accent:#663c47}
.brief main.wrap{max-width:820px}
.brief .issue{border-bottom:1px solid var(--line);margin-bottom:24px}
.brief .issue h1{font-size:clamp(40px,7vw,76px)}
.timeline-row{display:grid;grid-template-columns:74px minmax(0,1fr);align-items:start}
.time{font:400 18px/1.5 Georgia,var(--sans);color:var(--accent);padding-top:19px}
.brief .monthly-grid{grid-template-columns:1fr}
.desk{--paper:#f2eee4;--surface:#fbf8ef;--accent:#6b432a}
.desk .issue{border-bottom:1px solid var(--line);margin-bottom:21px}
.desk-grid{display:grid;grid-template-columns:1.14fr 1fr 1fr;gap:14px;align-items:start}
.desk-grid>section{min-width:0;background:var(--surface);border:1px solid var(--line);padding:20px}
.desk-grid>section:first-child{background:#e7ece3}
.desk-grid>section:nth-child(3){background:#ede5d9}
.desk-grid h3{font-size:21px}
.desk-grid .story-head{padding-right:21px}
.column-link{display:inline-block;margin-top:9px}
.gallery{--paper:#f3eee4;--surface:#fffbf2}
.gallery-intro h1{font-size:clamp(41px,6.7vw,89px)}
.gallery-intro h1 span{display:block;font:500 clamp(18px,2.3vw,27px)/1.3 var(--sans);letter-spacing:0;margin-top:9px;color:var(--accent)}
.gallery-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:19px}
.design-tile{grid-column:span 2;display:block;text-decoration:none;border:1px solid var(--line);background:var(--surface);border-radius:15px;overflow:hidden}
.design-tile:hover{border-color:var(--accent)}
.design-tile:nth-child(-n+2){grid-column:span 3}
.tile-caption{padding:13px 17px 16px}
.tile-caption span{font-size:12px;color:var(--muted)}
.tile-caption h2{font-size:26px}
.tile-caption p,.gallery-note{font-size:14px;color:var(--muted);margin-top:5px}
.gallery-note{margin-top:20px}
.mini{height:168px;padding:20px 13%;background:#e7ddd1;border-bottom:1px solid var(--line)}
.mini-head{display:grid;gap:5px;margin-bottom:12px}
.mini i{display:block;border-radius:2px;background:#b2a99f;height:7px}
.mini-head i:nth-child(1){width:30%;height:4px}.mini-head i:nth-child(2){width:57%;height:13px;background:#6b3046}.mini-head i:nth-child(3){width:38%;height:4px}
.mini-body{display:grid;grid-template-columns:1.5fr 1fr;grid-template-rows:repeat(3,18px);gap:6px}
.mini-body i{height:100%}
.mini.frontpage .mini-body i:first-child{grid-row:span 3;background:center 56%/cover url(assets/original-bbq.webp)}
.mini.market{background:#dce5de}
.mini.market .mini-body{grid-template-columns:repeat(5,1fr)}
.mini.market .mini-body i{background:#17392b;height:44px}
.mini.market .mini-head i:nth-child(2){background:#17392b}
.mini.journal{background:#202923}
.mini.journal .mini-head i:nth-child(2){background:#efd79f}
.mini.journal .mini-body{grid-template-columns:repeat(3,1fr)}
.mini.journal .mini-body i:first-child{grid-column:span 3;grid-row:span 2;background:center 38%/cover url(assets/studio-facade.webp)}
.mini.brief .mini-body{grid-template-columns:1fr;grid-template-rows:repeat(5,7px);gap:6px}
.mini.brief .mini-body i:nth-child(even){width:81%}
.mini.desk .mini-body{grid-template-columns:repeat(3,1fr)}
.mini.desk .mini-body i{grid-row:span 3;background:#b3a992}
.mini.desk .mini-body i:nth-child(1){background:#9cafa0}
.mini.desk .mini-body i:nth-child(n+4){display:none}
.editor-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:start}
.editor-grid form,.editor-grid section{background:var(--surface);border:1px solid var(--line);padding:21px;border-radius:15px}
.editor-grid form label{display:grid;gap:4px;margin-bottom:13px;font-size:14px}
.editor-grid input,.editor-grid textarea,.editor-grid select{min-width:0;width:100%;padding:8px;border:1px solid #a9ab9f;border-radius:6px;background:white;font-size:16px;caret-color:var(--accent)}
.editor-grid button{margin-top:13px;border:0;border-radius:7px;background:var(--green);color:#fffaf0;padding:9px 14px}
.editor-grid h2{margin-bottom:14px}
.story :where(h3,p,a){overflow-wrap:anywhere}
@media(max-width:850px){
  .wrap{width:calc(100% - 44px)}
  .mast{gap:8px 14px;flex-wrap:wrap;padding:12px 0}
  .mast nav{order:3;flex:1 0 100%;border-top:1px solid var(--line);padding-top:6px}
  .mast nav a{padding:6px 8px}
  .desk-grid{grid-template-columns:1fr 1fr}
  .desk-grid>section:last-child{grid-column:span 2}
}
@media(max-width:600px){
  .wrap{width:calc(100% - 32px)}
  .issue{padding:28px 0 22px}
  .issue h1{letter-spacing:-.034em}
  .front-grid,.market-grid,.monthly-grid,.desk-grid,.editor-grid{grid-template-columns:minmax(0,1fr);gap:21px}
  .front-rail{padding-left:0;border-left:0}
  .lead>.photo{height:200px}
  .quote-board{padding:17px 14px;border-radius:12px}
  .quote-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .quote-grid>div{padding:10px 7px;border-right:0;border-bottom:1px solid #4a6053}
  .cover{min-height:315px;margin-top:16px}
  .cover .issue{padding:18px 18px 30px}
  .picture-grid{grid-template-columns:1fr}
  .pictured,.pictured:nth-child(-n+2){grid-column:auto}
  .pictured .photo,.pictured:nth-child(-n+2) .photo{height:155px}
  .desk-grid>section:last-child{grid-column:auto}
  .timeline-row{grid-template-columns:51px minmax(0,1fr)}
  .time{font-size:15px}
  .timeline-row h3{font-size:21px}
  .gallery-grid{grid-template-columns:1fr}
  .design-tile,.design-tile:nth-child(-n+2){grid-column:auto}
  .mini{height:140px;padding-top:14px}
  .monthly{margin-top:29px}
  .story-head{padding-right:25px}
}
