/* Built on Intent, Studio Wall v3. Journal, articles and location pages.
   Loaded after site.css on generated pages only. Reuses its tokens: wall, paper, ink, one vermilion,
   crop-marked frames, taped notes, the 30 degree stair. Square things are pinned; pills are pressed. */

/* ---------- shared ---------- */
.crumbs ol{display:flex;flex-wrap:wrap;gap:4px 0;font:400 12px/1.5 var(--fm);color:var(--muted)}
.crumbs li{display:inline-flex;align-items:center}
.crumbs li+li::before{content:"/";color:var(--dash);margin:0 10px}
.crumbs a{text-decoration:none;color:var(--muted);transition:color .3s var(--ease-out)}
.crumbs a:hover,.crumbs a:focus-visible{color:var(--ink)}
.jbar .chip,.chip{text-decoration:none;color:var(--ink)}
.chip[aria-pressed="true"]{color:var(--paper)}
.j-note{margin:2.2em 0;max-width:44ch;padding:clamp(20px,2vw,28px) clamp(20px,2vw,28px) clamp(18px,1.8vw,24px)}
.j-note .j-note-l{font:400 12px/1.4 var(--fm);color:var(--accent-deep);margin-bottom:10px;display:flex;align-items:center;gap:10px}
.j-note .j-note-l::before{content:"";width:12px;height:2px;background:var(--accent-deep);rotate:-30deg}
.j-note p{font-size:16px;line-height:1.55;color:var(--ink)}
.j-note p+p{margin-top:.7em}
.j-hr{display:flex;align-items:center;gap:18px;margin:3em 0!important;max-width:66ch}
.j-hr::before,.j-hr::after{content:"";flex:1;border-top:1px dashed var(--dash)}
.j-hr .stair{--sw:44px}
.j-table{overflow-x:auto;max-width:100%;border-top:1px solid var(--ink)}
.j-table table{width:100%;border-collapse:collapse;font-size:15.5px;line-height:1.45}
.j-table th{font:400 12px/1.4 var(--fm);color:var(--muted);text-align:left;padding:12px 16px 10px 0;border-bottom:1px dashed var(--dash)}
.j-table td{padding:12px 16px 12px 0;border-bottom:1px dashed var(--dash);color:var(--ink-2);vertical-align:top}
.j-pre{background:var(--ink);color:var(--paper);padding:18px 20px;overflow-x:auto;font:400 13px/1.6 var(--fm)}
.art-body code{font:400 .86em/1 var(--fm);background:var(--wall-2);padding:2px 5px}
.j-progress{position:fixed;left:0;right:0;top:0;height:3px;z-index:70;pointer-events:none}
.j-progress span{display:block;height:100%;background:var(--accent);transform-origin:0 50%;transform:scaleX(0)}

/* ---------- diagrams: a pinned sheet with a striped tab, drawn in on scroll ---------- */
.dg{position:relative;margin:2.8em 0!important;padding:clamp(16px,2vw,30px);background:var(--paper);border:1px dashed var(--dash);clear:right;--tick:var(--ink)}
.dg::before{content:"";position:absolute;inset:-7px;pointer-events:none;
  background:
    linear-gradient(var(--tick),var(--tick)) 0 0/10px 1px no-repeat,
    linear-gradient(var(--tick),var(--tick)) 0 0/1px 10px no-repeat,
    linear-gradient(var(--tick),var(--tick)) 100% 0/10px 1px no-repeat,
    linear-gradient(var(--tick),var(--tick)) 100% 0/1px 10px no-repeat,
    linear-gradient(var(--tick),var(--tick)) 0 100%/10px 1px no-repeat,
    linear-gradient(var(--tick),var(--tick)) 0 100%/1px 10px no-repeat,
    linear-gradient(var(--tick),var(--tick)) 100% 100%/10px 1px no-repeat,
    linear-gradient(var(--tick),var(--tick)) 100% 100%/1px 10px no-repeat}
.dg-head{display:flex;align-items:center;gap:12px;font:400 12px/1 var(--fm);color:var(--muted)}
.dg-head::before{content:"";width:38px;height:10px;background:repeating-linear-gradient(to bottom,var(--accent) 0 2.2px,transparent 2.2px 4.6px)}
.dg-fig{color:var(--ink)}
.dg-type::before{content:"/";color:var(--dash);margin-right:12px}
.dg-title{margin-top:14px!important;font:500 clamp(21px,1.75vw,27px)/1.15 var(--f);letter-spacing:-.025em;color:var(--ink);max-width:34ch}
.dg-art{margin-top:clamp(18px,2.2vw,30px);container-type:inline-size}
.dg-svg{display:block;width:100%;height:auto;overflow:visible}
.dg-tall{display:none}
@container (max-width:760px){
  .dg-wide{display:none}
  .dg-tall{display:block;max-width:460px;margin:0 auto}
}
@supports not (container-type:inline-size){
  @media (max-width:900px){.dg-wide{display:none}.dg-tall{display:block;max-width:460px;margin:0 auto}}
}
.dg-cap{margin-top:18px;padding-top:12px;border-top:1px dashed var(--dash);font-size:14.5px;line-height:1.5;color:var(--muted)}
.dg-svg text{font-family:var(--f)}
.dg-l{font-weight:500;fill:var(--ink);letter-spacing:-.01em}
.dg-on{fill:var(--paper)}
.dg-n,.dg-k{font-family:var(--fm)!important;fill:var(--muted);letter-spacing:0}
.dg-on2{fill:#B9BBC0}
.dg-h{font-weight:500;fill:var(--ink);letter-spacing:-.02em}
.dg-i{font-weight:400;fill:var(--ink-2)}
/* draw-in: only when journal.js is alive and motion is allowed */
.dg-anim .dg .dg-draw{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.3s var(--ease-out) calc(var(--i,0) * 120ms + 160ms)}
.dg-anim .dg.is-in .dg-draw{stroke-dashoffset:0}
.dg-anim .dg .dg-pop{opacity:0;transform:translateY(9px);transition:opacity .7s var(--ease-out) calc(var(--i,0) * 120ms),transform 1s var(--ease-pin) calc(var(--i,0) * 120ms)}
.dg-anim .dg.is-in .dg-pop{opacity:1;transform:none}
.dg-anim .dg .dg-ah{opacity:0;transition:opacity .45s var(--ease-out) calc(var(--i,0) * 120ms + 650ms)}
.dg-anim .dg.is-in .dg-ah{opacity:1}

/* ---------- cards ---------- */
.jc{position:relative;min-width:0}
.jc-a{display:block;text-decoration:none;color:inherit}
.jc-crop{background:var(--paper);transition:rotate .9s var(--ease-pin)}
.jc-a:hover .jc-crop,.jc-a:focus-visible .jc-crop{rotate:-.6deg}
.jc .media>svg,.jc .media>img,.jfeat .media>svg,.jfeat .media>img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:50% 0;transition:scale 1.1s var(--ease-out)}
.jc-a:hover .media>*,.jc-a:focus-visible .media>*,.jfeat-a:hover .media>*{scale:1.035}
.jc-fig{display:block;margin-top:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jc-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;font:400 12px/1.3 var(--fm);color:var(--muted)}
.jc-v{display:inline-flex;align-items:center;gap:9px;color:var(--ink)}
.jc-v::before{content:"";width:11px;height:2px;background:var(--accent-deep);rotate:-30deg;flex:none}
.jc-rt{white-space:nowrap}
.jc-t{margin-top:10px;font:500 clamp(21px,1.65vw,26px)/1.14 var(--f);letter-spacing:-.025em;transition:color .45s var(--ease-out);text-wrap:balance}
.jc-a:hover .jc-t,.jc-a:focus-visible .jc-t{color:var(--accent-deep)}
.jc-d{margin-top:10px;font-size:15.5px;line-height:1.5;color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.j-regions{margin-top:14px}
.jc.is-hidden{display:none}
.jgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(56px,6vw,96px) clamp(24px,2.6vw,40px);padding:clamp(40px,4.4vw,64px) var(--pad) 0;align-items:start}
.jgrid-3{padding:0;margin-top:clamp(40px,5vw,80px)}

/* ---------- journal index ---------- */
.jh{padding-bottom:clamp(40px,5vw,80px)}
.jh .sw-text{font-size:clamp(84px,17.5vw,330px)}
.jh-side{margin:clamp(24px,3vw,44px) 0 0 auto;max-width:540px}
.jh-side .lead{margin-top:16px}
.jh-meta{margin-top:22px}
.jfeat{padding:0 var(--pad) clamp(72px,8vw,130px)}
.jfeat-a{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:center;text-decoration:none;color:inherit}
.jfeat-art{grid-column:1/8;rotate:-.8deg}
.jfeat-art .crop{background:var(--paper);box-shadow:var(--lift)}
.jfeat-art>.ann{display:block;margin-top:10px}
.jfeat-copy{grid-column:8/13;padding-left:clamp(0px,1.5vw,24px)}
.jfeat-k{color:var(--accent-deep)}
.jfeat-t{margin-top:16px;font:500 clamp(30px,3.1vw,52px)/1.04 var(--f);letter-spacing:-.04em;text-wrap:balance;transition:color .45s var(--ease-out)}
.jfeat-a:hover .jfeat-t{color:var(--accent-deep)}
.jfeat-d{margin-top:20px;font-size:clamp(16.5px,1.2vw,18.5px);line-height:1.55;color:var(--ink-2);max-width:46ch}
.jfeat-copy .jc-meta{justify-content:flex-start;gap:22px;margin-top:22px}
.jfeat-go{display:inline-flex;align-items:center;gap:10px;margin-top:28px;font-weight:500;padding-bottom:4px;background:linear-gradient(var(--ink),var(--ink)) 0 100%/100% 1px no-repeat;transition:background-size .6s var(--ease-out)}
.jfeat-go svg{width:11px;height:auto;color:var(--accent-deep);transition:transform .6s var(--ease-pin)}
.jfeat-a:hover .jfeat-go svg{transform:rotate(-30deg)}
.jlist{padding-bottom:clamp(100px,11vw,180px);scroll-margin-top:24px}
.jbar{margin:0 var(--pad);padding-top:22px;border-top:1px dashed var(--dash);display:grid;gap:12px}
.jbar-row{display:grid;grid-template-columns:70px minmax(0,1fr);gap:12px;align-items:center}
.jbar-l{padding-top:2px}
.wcount{margin-top:6px}
.jlist .empty{padding:60px var(--pad) 0}
.jindex{border-top:1px dashed var(--dash)}
.jindex-head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:end}
.jindex-head h2{grid-column:1/8}
.jindex-head .lead{grid-column:8/13}
.jindex-band{margin-top:clamp(48px,6vw,96px)}
.jindex-band>.ann{margin-bottom:10px}
.jindex-groups{columns:3 300px;column-gap:clamp(32px,4vw,64px)}
.jix{display:block;break-inside:avoid;padding:22px 0 26px;border-top:1px solid var(--ink);scroll-margin-top:30px}
.jix summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;cursor:pointer}
.jix summary::-webkit-details-marker{display:none}
.jix summary .dock-plus{flex:none;width:13px;height:13px}
.jix summary .dock-plus::before,.jix summary .dock-plus::after{top:6px}
.jix[open] summary .dock-plus{rotate:135deg}
.jix h3{font:500 clamp(22px,1.9vw,30px)/1.1 var(--f);letter-spacing:-.03em;transition:color .45s var(--ease-out)}
.jix:target h3{color:var(--accent-deep)}
.jix ul{margin-top:14px}
.jix li{padding:8px 0;border-top:1px dashed var(--dash);font-size:15px;line-height:1.4}
.jix li a{text-decoration:none;transition:color .3s var(--ease-out)}
.jix li a:hover,.jix li a:focus-visible{color:var(--accent-deep)}
.jix-loc{margin-top:14px;font-weight:500}

/* ---------- article ---------- */
.art-head{padding:clamp(118px,12vw,176px) var(--pad) clamp(36px,4vw,64px)}
.art-h1{margin-top:22px;font:500 clamp(36px,4.3vw,74px)/1.02 var(--f);letter-spacing:-.042em;max-width:21ch;text-wrap:balance}
.art-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;padding:0 var(--pad);align-items:stretch}
.art-side{grid-column:1/4;padding-right:clamp(0px,2vw,32px)}
.art-main{grid-column:4/10;min-width:0}
.art-meta{border-top:1px solid var(--ink)}
.art-meta div{padding:11px 0 12px;border-bottom:1px dashed var(--dash)}
.art-meta dt{font:400 12px/1.4 var(--fm);color:var(--muted);margin-bottom:3px}
.art-meta dd{font-size:15px;line-height:1.45;color:var(--ink)}
.art-meta dd a{text-decoration:none}
.toc{position:sticky;top:28px;margin-top:44px;max-height:calc(100vh - 140px);max-height:calc(100svh - 140px);overflow:auto;scrollbar-width:none;padding-bottom:10px}
.toc ol{margin-top:12px;border-left:1px dashed var(--dash)}
.toc a{position:relative;display:grid;grid-template-columns:26px minmax(0,1fr);gap:2px;padding:7px 0 7px 14px;font-size:14.5px;line-height:1.35;color:var(--muted);text-decoration:none;transition:color .35s var(--ease-out)}
.toc a::before{content:"";position:absolute;left:-1px;top:4px;bottom:4px;width:2px;background:var(--accent);transform:scaleY(0);transition:transform .5s var(--ease-out)}
.toc a:hover,.toc a:focus-visible{color:var(--ink)}
.toc a.is-on{color:var(--ink)}
.toc a.is-on::before{transform:scaleY(1)}
.toc-n{font:400 12px/1.6 var(--fm);color:var(--dash)}
.toc a.is-on .toc-n{color:var(--accent-deep)}
.toc-m{display:none}
.art-short{position:relative;background:var(--paper);padding:clamp(24px,2.6vw,40px) clamp(24px,2.6vw,40px) clamp(24px,2.6vw,40px) calc(clamp(24px,2.6vw,40px) + 14px);box-shadow:var(--lift)}
.art-short::before{content:"";position:absolute;left:0;top:0;bottom:0;width:12px;background:repeating-linear-gradient(to bottom,var(--accent) 0 3px,transparent 3px 6.5px)}
.art-short-l{font:400 12px/1.3 var(--fm);color:var(--accent-deep);margin-bottom:14px}
.art-short p{font:500 clamp(19px,1.55vw,24px)/1.42 var(--f);letter-spacing:-.016em;color:var(--ink);max-width:52ch}
.art-body{margin-top:clamp(48px,5vw,72px);font-size:18px;line-height:1.7;color:var(--ink-2)}
.art-body::after{content:"";display:block;clear:both}
.art-body>*+*{margin-top:1.15em}
.art-body>p,.art-body>ul,.art-body>ol{max-width:66ch}
.art-body strong{font-weight:700;color:var(--ink)}
.art-body em{font-style:italic}
.art-body a.u{color:var(--ink)}
.j-h2{display:flex;gap:16px;align-items:baseline;margin-top:2.5em!important;padding-top:26px;border-top:1px dashed var(--dash);font:500 clamp(27px,2.4vw,40px)/1.1 var(--f);letter-spacing:-.035em;color:var(--ink);scroll-margin-top:28px;text-wrap:balance}
.art-body>.j-h2:first-child{margin-top:0!important}
.j-hn{flex:none;font:400 12px/1 var(--fm);color:var(--accent-deep);letter-spacing:0;position:relative;top:-.55em}
.j-h3{margin-top:2em!important;font:500 clamp(20px,1.6vw,24px)/1.25 var(--f);letter-spacing:-.022em;color:var(--ink);scroll-margin-top:28px}
.j-h4{margin-top:1.6em!important;font:500 18px/1.3 var(--f);color:var(--ink)}
.j-ul>li,.j-ol>li{position:relative}
.j-ul>li{padding-left:28px}
.j-ul>li::before{content:"";position:absolute;left:2px;top:.82em;width:12px;height:2px;background:var(--accent-deep);rotate:-30deg}
.j-ol{counter-reset:jo}
.j-ol>li{counter-increment:jo;padding-left:42px}
.j-ol>li::before{content:counter(jo,decimal-leading-zero);position:absolute;left:0;top:.42em;font:400 12px/1 var(--fm);color:var(--accent-deep)}
.j-ul>li+li,.j-ol>li+li{margin-top:.55em}
.j-ul ul,.j-ul ol,.j-ol ul,.j-ol ol{margin-top:.55em}
.art-take{clear:both;margin-top:clamp(56px,6vw,88px);background:var(--ink);color:var(--paper);padding:clamp(26px,3vw,46px);position:relative}
.art-take::after{content:"";position:absolute;right:clamp(20px,2.6vw,40px);top:clamp(26px,3vw,46px);width:clamp(44px,4vw,64px);aspect-ratio:2;background:repeating-linear-gradient(to bottom,var(--accent) 0 3px,transparent 3px 6.5px)}
.art-take-h{font:500 clamp(26px,2.4vw,38px)/1.05 var(--f);letter-spacing:-.035em;padding-right:80px}
.art-take ol{margin-top:22px;counter-reset:tk}
.art-take li{counter-increment:tk;position:relative;padding:14px 0 14px 46px;border-top:1px dashed #44474D;font-size:clamp(17px,1.3vw,19.5px);line-height:1.45;color:#E4E5E8}
.art-take li::before{content:counter(tk,decimal-leading-zero);position:absolute;left:0;top:19px;font:400 12px/1 var(--fm);color:var(--accent)}
.art-take a{color:var(--paper)}
.art-about{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 18px;align-items:start;margin-top:40px;padding:22px 0;border-top:1px dashed var(--dash);border-bottom:1px dashed var(--dash)}
.art-about-mark svg{display:block;width:22px;height:auto;color:var(--accent-deep);margin-top:3px}
.art-about p{font-size:15px;line-height:1.55;color:var(--muted);max-width:62ch}
.art-about p b{color:var(--ink);font-weight:500}
.art-about .roll{grid-column:2;font-weight:500;font-size:15px}
.j-faq{border-top:1px dashed var(--dash);margin-top:clamp(80px,9vw,150px)}
.j-faq .ans a{color:var(--ink)}
@media (min-width:1280px){
  .art-body .dg{width:calc(150% + 12px);max-width:none}
  .art-body .j-note{float:right;clear:right;width:calc(50% - 12px);margin:.4em calc(-50% - 12px) 28px 0!important;max-width:none}
  .art-body .j-note+.j-note{margin-top:28px!important}
}

/* ---------- built with intent, keep reading ---------- */
.jw{border-top:1px dashed var(--dash)}
.jw-head,.jmore-head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:end}
.jw-head h2,.jmore-head h2{grid-column:1/8}
.jw-head .lead{grid-column:8/13}
.jmore-head .btn{grid-column:10/13;justify-self:end}
.jw-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:40px 24px;margin-top:clamp(48px,6vw,96px);align-items:start}
.jw-p1{grid-column:1/7}
.jw-p2{grid-column:8/12;margin-top:clamp(40px,7vw,120px)}
.jw-grid-2 .jw-p2{grid-column:8/13}
.jw-svc{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin-top:clamp(16px,2vw,32px)}
.j-svc{display:flex;flex-direction:column;gap:8px;height:100%;padding:18px 20px 20px;background:var(--paper);text-decoration:none;color:var(--ink);transition:background-color .45s var(--ease-out),color .45s var(--ease-out)}
.j-svc b{font:500 clamp(19px,1.5vw,23px)/1.15 var(--f);letter-spacing:-.025em}
.j-svc:hover,.j-svc:focus-visible{background:var(--ink);color:var(--paper)}
.j-svc:hover .ann,.j-svc:focus-visible .ann{color:#B9BBC0}
.jmore{border-top:1px dashed var(--dash)}

/* ---------- locations ---------- */
.lh{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:end}
.lh .crumbs{grid-column:1/-1;margin-bottom:clamp(8px,1.4vw,22px)}
.lh h1{grid-column:1/9}
.lh-side{grid-column:9/13}
.lh-clock{margin-top:26px;font:500 clamp(19px,1.5vw,24px)/1.35 var(--f);letter-spacing:-.02em;color:var(--ink)}
.lh-clock time{color:var(--accent-deep);font-variant-numeric:tabular-nums}
.lgrid .art-main{grid-column:4/10}
.lgrid .art-body{margin-top:0}
.lgrid .art-body>.j-h2:first-child{padding-top:0;border-top:0}
.lserv{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;border-top:1px dashed var(--dash);margin-top:clamp(80px,9vw,150px)}
.lserv h2{grid-column:1/5}
.lsvc-list{grid-column:6/13}
.lsvc a{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:8px 24px;padding:24px 0 26px;border-top:1px dashed var(--dash);text-decoration:none;color:inherit}
.lsvc:last-child a{border-bottom:1px dashed var(--dash)}
.lsvc .ann{grid-column:1/-1}
.lsvc b{font:500 clamp(26px,2.4vw,38px)/1.04 var(--f);letter-spacing:-.035em;transition:color .45s var(--ease-out),translate .6s var(--ease-out)}
.lsvc a:hover b,.lsvc a:focus-visible b{color:var(--accent-deep);translate:8px 0}
.lsvc-why{font-size:16px;line-height:1.55;color:var(--ink-2);padding-top:.35em}
.lother{display:flex;flex-wrap:wrap;align-items:baseline;gap:14px 28px;border-top:1px dashed var(--dash);padding-top:clamp(56px,6vw,96px)!important;padding-bottom:clamp(56px,6vw,96px)!important}
.lother .ann{width:100%}
.lother ul{display:flex;flex-wrap:wrap;gap:8px clamp(20px,2.4vw,40px)}
.lother a{font:500 clamp(26px,2.6vw,42px)/1.15 var(--f);letter-spacing:-.035em}
.lhub-list{padding-top:clamp(24px,3vw,48px)}
.lhub .lh-side{align-self:end}
.lhub-list .jd .ann{display:block;margin-top:8px}
.lhub-note{margin-top:clamp(56px,6vw,96px);max-width:460px}

/* ---------- prose links stay inline on touch screens (inline links in sentences are exempt from target size) ---------- */
@media (max-width:1023px),(pointer:coarse){
  .art-body a.u,.art-short a.u,.art-take a.u,.j-faq .ans a.u,.jfeat-d a.u,.j-note a.u,.lh .lead a.u,.lsvc-why a.u,.jh-meta a.u,.jlist .empty a.u,.art-meta a.u,.dg-cap a.u{display:inline;min-height:0;min-width:0}
  .art-body a.u::after,.art-short a.u::after,.art-take a.u::after,.j-faq .ans a.u::after,.j-note a.u::after,.lh .lead a.u::after{bottom:-2px}
}

/* ---------- responsive ---------- */
@media (max-width:1279px){
  .art-main,.lgrid .art-main{grid-column:4/13}
}
@media (max-width:1023px){
  .jgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .jfeat-art,.jfeat-copy{grid-column:1/-1}
  .jfeat-copy{padding-left:0;margin-top:28px}
  .art-grid{display:block}
  .art-side{padding-right:0}
  .art-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;margin-bottom:36px}
  .toc{display:none}
  .toc-m{display:block;margin-top:28px;border-top:1px solid var(--ink);border-bottom:1px dashed var(--dash)}
  .toc-m summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:52px;font:500 17px/1.3 var(--f)}
  .toc-m summary::-webkit-details-marker{display:none}
  .toc-m[open] summary .dock-plus{rotate:135deg}
  .toc-m ol{padding:0 0 16px}
  .toc-m a{display:grid;grid-template-columns:30px minmax(0,1fr);gap:2px;align-items:baseline;min-height:44px;padding:10px 0;border-top:1px dashed var(--dash);font-size:16px;line-height:1.35;color:var(--ink-2);text-decoration:none}
  .toc-m .toc-n{font:400 12px/1 var(--fm);color:var(--accent-deep)}
  .lh h1,.lh-side{grid-column:1/-1}
  .lserv h2,.lsvc-list{grid-column:1/-1}
  .lsvc-list{margin-top:24px}
  .jw-p1{grid-column:1/8}
  .jw-p2,.jw-grid-2 .jw-p2{grid-column:8/13}
}
@media (max-width:767px){
  .jh .sw-text{font-size:25vw}
  .jh-side{margin-left:0}
  .jbar-row{grid-template-columns:1fr;gap:8px}
  .jbar .filters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 calc(-1 * var(--pad));padding:2px var(--pad) 6px;-webkit-overflow-scrolling:touch}
  .jbar .filters::-webkit-scrollbar{display:none}
  .jbar .chip{flex:none}
  .jgrid{grid-template-columns:1fr;gap:56px}
  .jindex-head,.jw-head,.jmore-head{display:block}
  .jindex-head .lead,.jw-head .lead{margin-top:20px}
  .jmore-head .btn{margin-top:24px}
  .jindex-groups{columns:1}
  .jlist .jgrid{gap:0;padding-top:20px}
  .jlist .jc{padding:18px 0 20px;border-top:1px dashed var(--dash)}
  .jlist .jc:first-child{border-top:0}
  .jlist .jc-a{display:grid;grid-template-columns:104px minmax(0,1fr);column-gap:16px;align-items:start}
  .jlist .jc-crop{grid-column:1;grid-row:1/3;padding:5px}
  .jlist .jc-crop::before{inset:-5px}
  .jlist .jc .media>svg,.jlist .jc .media>img{aspect-ratio:1/1}
  .jlist .jc-fig,.jlist .jc-d{display:none}
  .jlist .jc-meta{grid-column:2;margin-top:0;flex-wrap:wrap;justify-content:flex-start;gap:4px 12px}
  .jlist .jc-t{grid-column:2;margin-top:8px;font-size:18.5px;line-height:1.18}
  .jlist .j-regions{margin:12px 0 0 120px}
  .art-head{padding-top:104px}
  .art-h1{font-size:clamp(32px,8.6vw,42px)}
  .art-meta{grid-template-columns:1fr 1fr}
  .art-body{font-size:17px;line-height:1.66}
  .j-h2{font-size:clamp(25px,6.6vw,30px);gap:12px}
  .j-note{margin-left:4px;margin-right:4px}
  .dg{margin-left:-6px!important;margin-right:-6px!important;padding:16px 14px}
  .art-take{margin-left:calc(-1 * var(--pad));margin-right:calc(-1 * var(--pad))}
  .art-take-h{padding-right:60px}
  .jw-grid{display:flex;flex-direction:column;gap:48px}
  .jw-p2{width:84%;align-self:flex-end;margin-top:0}
  .jw-svc{grid-template-columns:1fr}
  .lh{display:block}
  .lh .crumbs{margin-bottom:24px}
  .lh-side{margin-top:28px}
  .lserv{display:block}
  .lsvc a{grid-template-columns:1fr}
  .lother a{font-size:clamp(24px,7vw,30px);min-height:44px;display:inline-flex;align-items:center}
  .crumbs a{display:inline-flex;align-items:center;min-height:44px}
}
@media (prefers-reduced-motion:reduce){
  .jc-crop,.jc .media>*{transition:none}
}

/* og:start */
body.og{margin:0;width:1200px;height:630px;overflow:hidden;position:relative;background:#ECEDEF;color:#121315;font-family:Satoshi,Arial,sans-serif}
.og-c{position:absolute;width:26px;height:26px;border:0 solid #121315}
.og-c.tl{left:36px;top:36px;border-left-width:1px;border-top-width:1px}.og-c.tr{right:36px;top:36px;border-right-width:1px;border-top-width:1px}
.og-c.bl{left:36px;bottom:36px;border-left-width:1px;border-bottom-width:1px}.og-c.br{right:36px;bottom:36px;border-right-width:1px;border-bottom-width:1px}
.og-k{position:absolute;left:76px;top:74px;margin:0;font:400 17px/1.3 "IBM Plex Mono",monospace;color:#696C72}
.og-t{position:absolute;left:76px;top:128px;width:610px;margin:0;font:500 50px/1.04 Satoshi,Arial,sans-serif;letter-spacing:-.04em;text-wrap:balance}
.og-m{position:absolute;left:76px;bottom:76px;margin:0;font:400 17px/1.3 "IBM Plex Mono",monospace;color:#696C72}
.og-art{position:absolute;right:76px;top:120px;width:400px;padding:12px;border:1px dashed #A7AAB0;background:#F8F8F6;rotate:1.5deg}
.og-art svg{display:block;width:100%;height:auto}
.og-mark{position:absolute;right:80px;bottom:70px;width:34px;height:auto}
/* og:end */

/* v3.4 fixes: touch targets and a 12px floor for labels on phones and tablets */
@media (max-width:1023px),(pointer:coarse){
  .jix>summary{min-height:44px;display:flex;align-items:center}
  .crumbs a{display:inline-flex;align-items:center;min-height:44px;min-width:44px}
}
