
/* Layout: эскиз Ильи (ночь + бумага) — главная ось «Строим на века»: гравюра с лупой → разрез → 3D «50 лет за минуту» → реестр работ → сборка МАФ → терминал участка. Одна сознательная тема. */
:root{
  --night:#1B221F; --night-2:#222A26; --chalk:#ECEEE8; --chalk-2:#A9B0A8; --rule-d:#39423D;
  --paper:#F0EDE6; --ink:#1A1D1A; --ink-2:#5B605A; --rule:#CFCBC1;
  --water:#6E93AE; --mist:#E7EBEE; --term:#121815; --term-g:#9FD3A8; --term-b:#8DB7D4;
  --f:"Inter Tight","Helvetica Neue",Arial,"DejaVu Sans",sans-serif;
  --m:"JetBrains Mono",Menlo,"DejaVu Sans Mono",monospace;
  --gl:max(16px, env(safe-area-inset-left, 0px)); --gr:max(16px, env(safe-area-inset-right, 0px));
  --max:1400px; color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0; background:var(--night); color:var(--chalk); font-family:var(--f); font-size:16px; line-height:1.5; overflow-x:hidden; -webkit-font-smoothing:antialiased}
body::before{content:""; position:fixed; inset:0 0 auto; height:env(safe-area-inset-top,0px); z-index:60; background:var(--night)}
a{color:inherit}
:focus-visible{outline:2px solid var(--water); outline-offset:3px}
.wrap{max-width:var(--max); margin-inline:auto; padding-left:max(var(--gl),40px); padding-right:max(var(--gr),40px)}
.mono{font-family:var(--m); font-size:11.5px; letter-spacing:.07em; text-transform:uppercase}
.night{background:var(--night); color:var(--chalk)} .paper{background:var(--paper); color:var(--ink)}
.w{display:inline-block; overflow:hidden; vertical-align:top; padding-bottom:.1em; margin-bottom:-.1em}
.w>i{display:inline-block; font-style:normal; will-change:transform}

/* header */
.hdr{position:fixed; top:env(safe-area-inset-top,0px); left:0; right:0; z-index:50; transition:transform .6s cubic-bezier(.2,.8,.2,1), background .4s, color .4s}
.hdr.hide{transform:translateY(-110%)}
.hdr__in{display:flex; align-items:center; gap:32px; height:80px; border-bottom:1px solid color-mix(in srgb,currentColor 22%,transparent)}
.hdr.sn{background:color-mix(in srgb,var(--night) 86%,transparent); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px)}
.hdr.sp{background:color-mix(in srgb,var(--paper) 88%,transparent); color:var(--ink); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px)}
.logo{font-size:25px; letter-spacing:-.015em; text-decoration:none}
.nav{display:flex; gap:38px; margin-inline:auto; font-size:14.5px}
.nav a{text-decoration:none; opacity:.85}
.r{display:flex; align-items:center; gap:24px}
.tel{font-family:var(--m); font-size:14px; letter-spacing:.02em; text-decoration:none; white-space:nowrap; font-variant-numeric:tabular-nums}
.ob{position:relative; z-index:0; display:inline-flex; align-items:center; gap:16px; height:46px; padding:0 22px; border:1px solid currentColor; text-decoration:none; font:inherit; font-size:15px; white-space:nowrap; background:none; color:inherit; cursor:pointer; overflow:hidden; transition:color .5s}
.ob::before{content:""; position:absolute; inset:0; z-index:-1; background:var(--chalk); transform:translateY(101%); transition:transform .55s cubic-bezier(.2,.8,.2,1)}
.ob:hover{color:var(--night)} .ob:hover::before{transform:none}
.paper .ob::before,.hdr.sp .ob::before,.light .ob::before{background:var(--ink)} .paper .ob:hover,.hdr.sp .ob:hover,.light .ob:hover{color:var(--paper)}
.ob .ar{transition:transform .5s cubic-bezier(.2,.8,.2,1)} .ob:hover .ar{transform:translate(3px,-3px)}
.ob--lg{height:56px; padding:0 30px; font-size:16.5px}
.ul{position:relative; text-decoration:none}
.ul::after{content:""; position:absolute; left:0; right:0; bottom:-3px; height:1px; background:currentColor; transform:scaleX(0); transform-origin:left; transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.ul:hover::after{transform:scaleX(1)}
.sh{display:flex; align-items:center; gap:32px}
.sh h2{margin:0; font-weight:300; font-size:clamp(32px,3.4vw,54px); letter-spacing:-.024em; line-height:1.06}
.sh .rl{flex:1; height:1px; background:currentColor; opacity:.3; transform-origin:left}
.cross{position:relative; width:34px; height:34px; flex:none}
.cross::before,.cross::after{content:""; position:absolute; background:currentColor; opacity:.6}
.cross::before{left:0; right:0; top:50%; height:1px} .cross::after{top:0; bottom:0; left:50%; width:1px}

/* hero */
.hero{position:relative; height:max(720px, min(100svh, 1040px)); overflow:hidden}
#heroGL{position:absolute; inset:0; width:100%; height:100%; display:block; cursor:none}
.hero__in{position:relative; z-index:2; height:100%; display:flex; flex-direction:column; justify-content:center; padding-top:80px; pointer-events:none}
.hero__in a{pointer-events:auto; cursor:pointer}
.eb{display:flex; align-items:center; gap:28px; font-size:15px; margin-bottom:28px; max-width:520px}
.eb .ln{flex:1; height:1px; background:color-mix(in srgb,var(--chalk) 45%,transparent); transform-origin:left}
.h1{font-weight:300; font-size:clamp(46px, 6.2vw, 96px); line-height:1.02; letter-spacing:-.03em; margin:0 0 22px; max-width:8.6em}
.sub{font-size:clamp(17px,1.5vw,21px); opacity:.88; margin:0 0 36px; font-weight:300; max-width:26em}
.cta-row{display:flex; align-items:center; gap:28px; flex-wrap:wrap}
.lens-lbl{position:absolute; z-index:3; left:0; top:0; pointer-events:none; font-family:var(--m); font-size:11px; letter-spacing:.06em; color:var(--chalk); background:rgba(18,24,21,.72); border:1px solid rgba(236,238,232,.25); padding:4px 7px; white-space:nowrap; font-variant-numeric:tabular-nums; opacity:0; transition:opacity .3s}
.hero__hint{position:absolute; z-index:2; right:max(var(--gr),40px); bottom:30px; color:var(--chalk-2); pointer-events:none}

/* s2 */
.s2__grid{display:grid; grid-template-columns:minmax(0,4.2fr) minmax(0,7.8fr); align-items:center; gap:24px; padding-block:110px 90px}
.s2 h2{margin:0; font-weight:300; font-size:clamp(36px,4vw,64px); line-height:1.06; letter-spacing:-.026em}
.s2 .sep{width:156px; height:1px; background:var(--ink); opacity:.35; margin:34px 0 28px; transform-origin:left}
.s2 p{margin:0; color:var(--ink-2); font-size:18px; max-width:20em; font-weight:300}
.s2__art{position:relative; aspect-ratio:909/412; max-width:100%}
.s2__art img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover}
.s2__art svg{position:absolute; inset:0; width:100%; height:100%; overflow:visible; pointer-events:none}
.rv{-webkit-mask-image:linear-gradient(90deg,#000 calc(var(--rv,1)*120% - 20%),transparent calc(var(--rv,1)*120%)); mask-image:linear-gradient(90deg,#000 calc(var(--rv,1)*120% - 20%),transparent calc(var(--rv,1)*120%))}

/* 3D stages */
.stage{position:relative; background:var(--mist); color:var(--ink)}
.stage__stick{position:sticky; top:0; height:100svh; overflow:hidden}
.stage canvas.gl{position:absolute; inset:0; width:100%; height:100%; display:block}
.load{position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); color:var(--ink-2); display:flex; flex-direction:column; align-items:center; gap:12px; transition:opacity .6s}
.load i{display:block; width:180px; height:1px; background:var(--rule); position:relative; overflow:hidden}
.load i::after{content:""; position:absolute; inset:0; background:var(--ink); transform:scaleX(var(--lp,0)); transform-origin:left}
.ui{position:absolute; inset:0; pointer-events:none}
.ui .head{position:absolute; left:0; right:0; top:100px}
.ui .head .mono{color:var(--ink-2)} .ui .head b{color:var(--ink); font-weight:500}
.lbl{position:absolute; inset:0; width:100%; height:100%; overflow:visible}
.lbl text{font-family:var(--m); font-size:11.5px; letter-spacing:.07em; fill:var(--ink); paint-order:stroke; stroke:var(--mist); stroke-width:4px; stroke-linejoin:round}
.chap{position:absolute; left:max(var(--gl),40px); bottom:11vh; width:min(520px, calc(100% - 32px)); z-index:0}
.chap::before{content:""; position:absolute; inset:-60px -90px -50px -60px; z-index:-1; background:radial-gradient(closest-side,rgba(231,235,238,.94),rgba(231,235,238,.6) 60%,rgba(231,235,238,0))}
.chap h2{margin:0 0 14px; font-weight:300; font-size:clamp(32px,3.4vw,56px); line-height:1.04; letter-spacing:-.026em}
.chap p{margin:0; color:var(--ink-2); font-size:17px; max-width:25em}
.chap .n{display:block; margin-bottom:14px; color:var(--ink-2)}
.year{position:absolute; right:max(var(--gr),40px); top:92px; text-align:right; pointer-events:none; transition:opacity .5s}
.year .num{display:flex; justify-content:flex-end; font-weight:300; font-size:clamp(70px,11vw,180px); line-height:.9; letter-spacing:-.04em; font-variant-numeric:tabular-nums}
.year .dg{display:inline-block; height:.92em; overflow:hidden; position:relative}
.year .dg span{display:block; will-change:transform}
.year .cap{color:var(--ink-2); margin-top:10px}
.tgl{position:absolute; right:max(var(--gr),40px); bottom:11vh; pointer-events:auto; display:flex; align-items:center; gap:12px; background:rgba(255,255,255,.55); border:1px solid var(--rule); padding:10px 14px 10px 12px; font-family:var(--m); font-size:11.5px; letter-spacing:.07em; text-transform:uppercase; color:var(--ink); cursor:pointer; backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px)}
.tgl i{position:relative; width:34px; height:18px; border-radius:9px; background:var(--rule); transition:background .3s}
.tgl i::after{content:""; position:absolute; left:2px; top:2px; width:14px; height:14px; border-radius:50%; background:#fff; transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.tgl[aria-pressed="true"] i{background:#7FA67A} .tgl[aria-pressed="true"] i::after{transform:translateX(16px)}
.prog{position:absolute; right:max(var(--gr),40px); top:50%; transform:translateY(-50%); display:flex; flex-direction:column; gap:10px}
.prog i{display:block; width:2px; height:34px; background:color-mix(in srgb,var(--ink) 18%,transparent); position:relative; overflow:hidden}
.prog i b{position:absolute; inset:0; background:var(--ink); transform-origin:top; transform:scaleY(0)}

/* directions registry */
.dirs{padding-block:110px 100px; position:relative}
.dlist{list-style:none; margin:44px 0 0; padding:0; border-top:1px solid var(--rule)}
.dlist li{border-bottom:1px solid var(--rule)}
.dlist a{display:grid; grid-template-columns:64px minmax(0,4fr) minmax(0,6fr) 40px; gap:20px; align-items:baseline; padding:20px 0; text-decoration:none; position:relative}
.dlist .n{font-family:var(--m); font-size:12px; color:var(--ink-2)}
.dlist h3{margin:0; font-weight:300; font-size:clamp(22px,2.2vw,34px); letter-spacing:-.018em; line-height:1.1; transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.dlist p{margin:0; color:var(--ink-2); font-size:15px}
.dlist .ar{justify-self:end; transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.dlist a:hover h3{transform:translateX(14px)} .dlist a:hover .ar{transform:translate(4px,-4px)}
.dlist a::before{content:""; position:absolute; left:0; right:0; bottom:-1px; height:1px; background:var(--ink); transform:scaleX(0); transform-origin:left; transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.dlist a:hover::before{transform:none}
.dlist .tag{display:inline-block; margin-left:10px; font-family:var(--m); font-size:10px; letter-spacing:.07em; padding:2px 6px; border:1px solid var(--rule); color:var(--ink-2); vertical-align:middle}
.peek{position:fixed; z-index:40; left:0; top:0; width:340px; aspect-ratio:16/10; pointer-events:none; overflow:hidden; opacity:0; border:1px solid var(--ink); background:var(--paper); box-shadow:0 30px 60px -30px rgba(0,0,0,.45)}
.peek img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:opacity .35s}
.peek .cap{position:absolute; left:8px; bottom:8px; background:rgba(240,237,230,.9); padding:3px 7px; font-family:var(--m); font-size:10.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink)}

/* terminal */
.term{padding-block:110px 100px}
.term__grid{display:grid; grid-template-columns:minmax(0,4fr) minmax(0,8fr); gap:48px; align-items:start; margin-top:44px}
.term__lead p{color:var(--chalk-2); margin:0 0 18px; font-size:16.5px}
.term__lead .mono{color:var(--chalk-2)}
.tbox{background:var(--term); border:1px solid #2E3833; box-shadow:0 40px 80px -40px rgba(0,0,0,.7), inset 0 0 0 1px rgba(255,255,255,.03); font-family:var(--m); font-size:13.5px; line-height:1.6; color:#CFD8D0; min-width:0}
.tbar{display:flex; align-items:center; gap:8px; padding:10px 14px; border-bottom:1px solid #2E3833; color:#7E8A82; font-size:11.5px; letter-spacing:.06em}
.tbar i{width:10px; height:10px; border-radius:50%; background:#3A4540} .tbar span{margin-left:8px}
.tout{height:420px; overflow:auto; padding:16px 18px; white-space:pre-wrap; word-break:break-word}
.tout .g{color:var(--term-g)} .tout .b{color:var(--term-b)} .tout .d{color:#7E8A82} .tout .w{color:#E8D6A8} .tout .h{color:#fff}
.tchips{display:flex; flex-wrap:wrap; gap:6px; padding:12px 14px 4px; border-top:1px solid #2E3833}
.tchips .grp{display:flex; flex-wrap:wrap; gap:6px; align-items:center; margin-right:10px}
.tchips .grp > span{color:#7E8A82; font-size:11px; letter-spacing:.06em; text-transform:uppercase; margin-right:2px}
.chip{font:inherit; font-size:12px; color:#CFD8D0; background:#1B2420; border:1px solid #2E3833; padding:5px 9px; cursor:pointer; transition:background .25s,border-color .25s,color .25s}
.chip:hover{border-color:#56655C}
.chip[aria-pressed="true"]{background:#2C3D33; border-color:var(--term-g); color:#fff}
.tin{display:flex; align-items:center; gap:10px; padding:10px 14px 14px}
.tin label{color:var(--term-g); white-space:nowrap}
.tin input{flex:1; min-width:0; background:transparent; border:0; outline:0; color:#fff; font:inherit; caret-color:var(--term-g)}
.tin button{font:inherit; font-size:12px; color:var(--term); background:var(--term-g); border:0; padding:7px 12px; cursor:pointer}

/* how / album / anesti / cta */
.how{padding-block:100px 70px}
.how__grid{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin-top:44px}
.hc{padding:0 22px; border-left:1px solid var(--rule-d); display:flex; flex-direction:column; gap:14px; min-width:0}
.hc:first-child{padding-left:0; border-left:0}
.hc .top{display:flex; align-items:center; gap:14px} .hc .n{font-family:var(--m); font-size:14px; color:var(--chalk-2)}
.hc h3{margin:0; font-weight:400; font-size:22px} .hc .top .rl{flex:1; height:1px; background:var(--rule-d)}
.hc p{margin:0; color:var(--chalk-2); font-size:15px; min-height:6em}
.hc .art{position:relative; aspect-ratio:330/109; max-width:100%; margin-top:auto}
.hc .art img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover}
.album{padding-block:100px}
.sheet{margin-top:44px; background:#F6F4EE; border:1px solid var(--ink); outline:1px solid var(--ink); outline-offset:-14px; padding:30px 30px 30px 66px; display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:28px; box-shadow:0 40px 70px -50px #0000005c}
.ph{position:relative; margin:0; min-height:420px; border:1px solid var(--ink-2); overflow:hidden; background:#2a2f33}
.ph img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover}
.ph figcaption{position:absolute; left:10px; bottom:10px; right:10px; color:#F6F4EE; background:rgba(20,22,24,.55); padding:6px 9px}
.sheet__r{display:grid; grid-template-rows:auto 1fr auto; gap:16px; min-width:0}
.sheet__r h3{margin:0; font-weight:300; font-size:clamp(26px,2.4vw,38px); letter-spacing:-.015em; line-height:1.05}
.sheet__r .mono{color:var(--ink-2)}
.sheet__art{position:relative; align-self:center} .sheet__art img{width:100%; height:auto; display:block}
.stamp{display:grid; grid-template-columns:minmax(90px,1fr) minmax(0,2.6fr) minmax(54px,.7fr) minmax(54px,.7fr); border:1.5px solid var(--ink); font-family:var(--m); font-size:12.5px}
.stamp > div{padding:9px 10px; border-right:1px solid var(--ink); border-bottom:1px solid var(--ink); min-width:0}
.stamp .k{color:var(--ink-2); font-size:10.5px; letter-spacing:.07em; text-transform:uppercase}
.stamp .x{border-right:0} .stamp .last{border-bottom:0}
.works{position:relative}
.works__stick{position:sticky; top:0; height:100svh; overflow:hidden; display:flex; flex-direction:column; padding-top:96px}
.works__head{width:100%}
.works__track{flex:1; display:flex; gap:4vw; align-items:center; padding-inline:max(var(--gl),40px); will-change:transform}
.ws{flex:none; width:min(1120px,86vw); height:min(66svh,620px); display:grid; grid-template-columns:minmax(0,6fr) minmax(0,5fr); gap:32px; background:#F6F4EE; border:1px solid var(--ink); outline:1px solid var(--ink); outline-offset:-12px; padding:26px; box-shadow:0 40px 70px -50px #0000005c; position:relative}
.ws--list{grid-template-columns:minmax(0,5fr) minmax(0,6fr)}
.ws__ph{position:relative; overflow:hidden; border:1px solid var(--ink-2); min-height:0}
.ws__ph img{position:absolute; inset:-6% -6%; width:112%; height:112%; object-fit:cover; will-change:transform}
.ws__ph .ws__ph2{inset:auto 14px 14px auto; width:42%; height:40%; border:3px solid #F6F4EE; box-shadow:0 20px 40px -20px rgba(0,0,0,.5); object-fit:cover}
.ws__r{display:flex; flex-direction:column; gap:12px; min-width:0; overflow:hidden}
.ws__k{color:var(--ink-2)} .ws h3{margin:0; font-weight:300; font-size:clamp(26px,2.5vw,40px); line-height:1.04; letter-spacing:-.02em} .ws p{margin:0; color:var(--ink-2); font-size:15.5px}
.ws__sec{border:1px solid var(--rule); background:#fff} .ws__sec img{display:block; width:100%; height:auto}
.ws__st{display:grid; grid-template-columns:90px minmax(0,1fr); margin:auto 0 0; border:1.5px solid var(--ink); font-family:var(--m); font-size:12px}
.ws__st dt,.ws__st dd{margin:0; padding:7px 9px; border-bottom:1px solid var(--ink)} .ws__st dt{color:var(--ink-2); font-size:10.5px; letter-spacing:.07em; text-transform:uppercase; border-right:1px solid var(--ink)}
.ws__st dt:nth-last-of-type(1),.ws__st dd:last-of-type{border-bottom:0}
.ws__more{list-style:none; margin:6px 0 10px; padding:0; display:grid; gap:12px} .ws__more li{display:grid; gap:2px; padding-bottom:10px; border-bottom:1px solid var(--rule)} .ws__more b{font-weight:500} .ws__more span{color:var(--ink-2); font-size:15px}
.works__bar{height:2px; margin:0 max(var(--gl),40px) 28px; background:var(--rule)} .works__bar i{display:block; height:100%; background:var(--ink); transform-origin:left; transform:scaleX(0)}
.mafreal{padding-block:100px}
.mr{display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:18px; margin-top:44px}
.mr__i{margin:0; position:relative; overflow:hidden; grid-column:span 4; aspect-ratio:4/3; border:1px solid var(--rule); background:#ddd}
.mr__i--tall{grid-row:span 2; aspect-ratio:auto}
.mr__i:nth-child(1){grid-column:1 / span 4} .mr__i:nth-child(2){grid-column:5 / span 4} .mr__i:nth-child(3){grid-column:9 / span 4; grid-row:1 / span 2} .mr__i:nth-child(4){grid-column:1 / span 4} .mr__i:nth-child(5){grid-column:5 / span 4}
.mr__i img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform 1.2s cubic-bezier(.2,.8,.2,1), filter .8s; filter:saturate(.85)}
.mr__i:hover img{transform:scale(1.05); filter:saturate(1)}
.mr__i figcaption{position:absolute; left:0; right:0; bottom:0; padding:12px 14px; background:linear-gradient(0deg,rgba(20,24,22,.78),rgba(20,24,22,0)); color:#F2F1EC; font-size:14px; display:flex; flex-direction:column; gap:2px; transform:translateY(30%); opacity:.0; transition:transform .6s cubic-bezier(.2,.8,.2,1), opacity .5s}
.mr__i figcaption .mono{color:#C9CEC7; font-size:10.5px}
.mr__i:hover figcaption,.mr__i.on figcaption{transform:none; opacity:1}
.gph{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:34px}
.gph figure{margin:0} .gph img{display:block; width:100%; aspect-ratio:4/3; object-fit:cover; border:1px solid var(--rule-d)} .gph figcaption{color:var(--chalk-2); margin-top:8px}
.author{padding-block:110px 100px}
.author__grid{display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:56px; align-items:start}
.author__ph{margin:0; position:sticky; top:110px; overflow:hidden; border:1px solid var(--rule-d)}
.author__ph img{display:block; width:100%; aspect-ratio:4/5; object-fit:cover; object-position:42% 50%; clip-path:inset(var(--cp,0%) 0 0 0); transform:scale(var(--sc,1)); transition:none}
.author__ph figcaption{position:absolute; left:12px; bottom:12px; color:#F2F1EC; background:rgba(20,24,22,.6); padding:4px 8px}
.author h2{margin:14px 0 18px; font-weight:300; font-size:clamp(36px,4.2vw,66px); line-height:1.04; letter-spacing:-.026em}
.author__lead{margin:0 0 34px; font-size:clamp(17px,1.4vw,20px); font-weight:300; max-width:32em}
.tl{list-style:none; margin:0 0 40px; padding:0 0 0 22px; position:relative; display:grid; gap:16px}
.tl::before{content:""; position:absolute; left:4px; top:6px; bottom:6px; width:1px; background:var(--rule-d)}
.tl::after{content:""; position:absolute; left:4px; top:6px; width:1px; height:calc((100% - 12px) * var(--tlp,0)); background:var(--chalk)}
.tl li{display:grid; grid-template-columns:86px minmax(0,1fr); gap:14px; position:relative; opacity:calc(.35 + .65 * var(--on,0))}
.tl li::before{content:""; position:absolute; left:-22px; top:7px; width:9px; height:9px; border-radius:50%; background:var(--night); border:1px solid var(--chalk-2)}
.tl li.on::before{background:var(--chalk)}
.tl b{font-family:var(--m); font-weight:400; font-size:14px} .tl span{color:var(--chalk-2); font-size:15px}
.rev{display:grid; grid-template-columns:1fr 1fr; gap:18px}
.rev blockquote{margin:0; border:1px solid var(--rule-d); padding:18px; font-size:16px; font-weight:300; display:flex; flex-direction:column; gap:12px}
.rev cite{font-style:normal; color:var(--chalk-2); font-size:10.5px}
.own{padding-block:34px; background:var(--mist); color:var(--ink); border-top:1px solid var(--rule)}
.own__in{display:flex; align-items:baseline; gap:28px; flex-wrap:wrap} .own__in .mono{color:var(--ink-2)} .own__in p{margin:0; font-size:17px}
.spec{position:absolute; right:max(var(--gr),40px); top:150px; width:auto; max-width:420px; background:rgba(255,255,255,.62); border:1px solid var(--rule); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); font-size:11px; color:var(--ink); line-height:1.75; padding:12px 14px; white-space:pre; overflow:hidden}
.spec b{font-weight:500}
.green{padding-block:110px 100px; position:relative}
.green__grid{display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:56px; margin-top:44px; align-items:start}
.green__lead{margin:0 0 36px; font-size:clamp(18px,1.5vw,22px); font-weight:300; max-width:30em}
.stats{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--rule-d); border-bottom:1px solid var(--rule-d); margin-bottom:40px}
.stat{padding:22px 18px 20px 0; display:flex; flex-direction:column; gap:8px} .stat + .stat{padding-left:18px; border-left:1px solid var(--rule-d)}
.stat b{font-weight:300; font-size:clamp(44px,4.6vw,72px); line-height:1; letter-spacing:-.03em; font-variant-numeric:tabular-nums}
.stat span{color:var(--chalk-2); font-size:14px}
.steps{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 32px}
.steps li{display:flex; gap:16px} .steps .mono{color:var(--chalk-2); padding-top:5px}
.steps h3{margin:0 0 6px; font-weight:400; font-size:20px} .steps p{margin:0; color:var(--chalk-2); font-size:15px}
.tax{margin:0; position:sticky; top:110px}
.tax__img{position:relative; aspect-ratio:380/640; max-width:100%; border:1px solid var(--rule-d); overflow:hidden}
.tax__img img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover}
.tax__img svg{position:absolute; inset:0; width:100%; height:100%}
.tax__img svg text{font-family:var(--m); font-size:11px; letter-spacing:.06em; fill:#ECEEE8}
.tax__card{display:block; margin-top:14px; border:1px solid var(--rule-d); padding:14px 16px; font-size:12px; line-height:1.8; color:var(--chalk); white-space:pre-wrap; min-height:220px}
.tax__card .k{color:var(--chalk-2)}
.own__grid{display:grid; grid-template-columns:minmax(0,6fr) minmax(0,6fr); gap:40px; margin-top:44px; align-items:stretch}
.card{position:relative; border:1px solid var(--rule); background:rgba(255,255,255,.5); padding:28px; display:flex; flex-direction:column; gap:14px; min-width:0}
.card .img{position:relative; aspect-ratio:16/9; overflow:hidden; border:1px solid var(--rule); background:#dfe4e8}
.card .img img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform 1.4s cubic-bezier(.2,.8,.2,1)}
.card:hover .img img{transform:scale(1.04)}
.card h3{margin:0; font-weight:300; font-size:clamp(24px,2.2vw,34px); letter-spacing:-.016em}
.card p{margin:0; color:var(--ink-2)}
.card .row{display:flex; gap:12px; flex-wrap:wrap; margin-top:auto}
.cta{padding-block:110px 36px}
.cta h2{margin:0; font-weight:300; font-size:clamp(38px,4.8vw,78px); line-height:1.02; letter-spacing:-.028em; max-width:12.5em}
.cta__row{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:56px; border-top:1px solid var(--rule-d)}
.cc{padding:28px 24px 8px 0; display:flex; flex-direction:column; gap:12px; min-width:0}
.cc + .cc{padding-left:24px; border-left:1px solid var(--rule-d)}
.cc .mono{color:var(--chalk-2)}
.cc .big{font-family:var(--m); font-size:clamp(20px,2vw,28px); text-decoration:none; font-variant-numeric:tabular-nums}
.cc p{margin:0; color:var(--chalk-2); font-size:15px}
.copy{align-self:flex-start; font-family:var(--m); font-size:11px; letter-spacing:.07em; text-transform:uppercase; background:none; color:var(--chalk-2); border:1px solid var(--rule-d); padding:6px 10px; cursor:pointer}
.ftr{display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; color:var(--chalk-2); padding-block:26px; margin-top:70px; border-top:1px solid var(--rule-d)}

@media (max-width:1100px){
  .nav{display:none} .r{margin-left:auto}
  .s2__grid,.term__grid,.own__grid{grid-template-columns:1fr}
  .dlist a{grid-template-columns:48px minmax(0,1fr) 30px} .dlist p{grid-column:2 / 3}
  .how__grid{grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px 0} .hc:nth-child(3){padding-left:0; border-left:0}
  .sheet{grid-template-columns:1fr; padding-left:30px} .ph{min-height:260px}
  .peek{display:none}
  .green__grid{grid-template-columns:1fr} .tax{position:relative; top:0; max-width:420px}
  .spec{display:none}
  .author__grid{grid-template-columns:1fr} .author__ph{position:relative; top:0; max-width:460px}
  .ws{grid-template-columns:1fr; height:auto; max-height:76svh; overflow:hidden} .ws__ph{height:30svh} .ws__sec{display:none}
  .mr{grid-template-columns:repeat(2,minmax(0,1fr))} .mr__i,.mr__i:nth-child(n){grid-column:auto; grid-row:auto; aspect-ratio:4/3}
}
@media (max-width:720px){
  .wrap{padding-left:var(--gl); padding-right:var(--gr)}
  .hdr__in{height:62px; gap:12px} .logo{font-size:21px} .r .ob{display:none} .tel{font-size:13px}
  .hero{height:max(720px,100svh)} #heroGL{height:56%}
  .hero__in{justify-content:flex-end; padding-bottom:34px}
  .eb{margin-bottom:16px; font-size:13.5px} .h1{font-size:clamp(38px,10.8vw,52px); margin-bottom:12px} .sub{font-size:16px; margin-bottom:22px}
  .hero__hint{display:none}
  .s2__grid{padding-block:70px 50px}
  .sh{flex-direction:column; align-items:flex-start; gap:12px} .sh .rl{display:none}
  .ui .head{top:76px} .chap{bottom:7vh; left:var(--gl); right:var(--gr); width:auto} .chap h2{font-size:clamp(28px,8vw,36px)} .chap p{font-size:15px}
  .year{top:110px} .year .num{font-size:64px}
  .tgl{bottom:auto; top:178px} .prog{display:none}
  .lbl text{font-size:10px}
  .dlist a{grid-template-columns:36px minmax(0,1fr) 22px; gap:10px; padding:16px 0}
  .tout{height:360px; font-size:12.5px}
  .how__grid{grid-template-columns:1fr; gap:36px} .hc{padding:0; border-left:0} .hc p{min-height:0}
  .sheet{padding:20px; outline-offset:-8px}
  .stamp{grid-template-columns:minmax(80px,1fr) minmax(0,2.4fr)} .stamp .hm{display:none} .stamp > div:nth-child(2n){border-right:0}
  .cta__row{grid-template-columns:1fr} .cc + .cc{padding-left:0; border-left:0; border-top:1px solid var(--rule-d)}
  .stats{grid-template-columns:1fr} .stat + .stat{padding-left:0; border-left:0; border-top:1px solid var(--rule-d)}
  .steps{grid-template-columns:1fr}
  .rev{grid-template-columns:1fr} .gph{grid-template-columns:1fr}
  .works__stick{padding-top:74px} .ws{width:88vw; padding:16px; outline-offset:-8px; gap:14px} .ws p{font-size:14px} .ws h3{font-size:24px} .ws__ph .ws__ph2{display:none} .ws__st{font-size:11px}
  .mr{grid-template-columns:1fr} .mr__i figcaption{opacity:1; transform:none}
}

/* ===== v7: единая система ===== */
:root{--h2:clamp(34px,4vw,62px); --sp:clamp(76px,9vw,124px); --ease:cubic-bezier(.2,.8,.2,1)}
.dirs,.green,.term,.author,.mafreal{padding-block:var(--sp) calc(var(--sp)*.85)} .how{padding-block:calc(var(--sp)*.85) var(--sp)}
.sh{display:block}
.sh h2,.s2 h2,.author h2{font-size:var(--h2); font-weight:300; letter-spacing:-.026em; line-height:1.05; margin:0}
.sh__top{display:flex; align-items:center; gap:14px; margin-bottom:26px; color:var(--ink-2); min-height:14px}
.night .sh__top,.author .sh__top{color:var(--chalk-2)}
.sh__top .rl{flex:1; height:1px; background:currentColor; opacity:.35; transform-origin:left; transform:scaleX(0)}
.sh__top .no{white-space:nowrap} .sh__top .aside{white-space:nowrap}
.x{position:relative; flex:none; width:13px; height:13px; transform:rotate(calc(var(--xr,0) * 1deg)) scale(var(--xs,1))}
.x::before,.x::after{content:""; position:absolute; background:currentColor}
.x::before{left:0; right:0; top:6px; height:1px} .x::after{top:0; bottom:0; left:6px; width:1px}
.ui .head .mono{display:flex; align-items:center; gap:12px}
/* header: section indicator + progress */
.hdr__sec{position:relative; overflow:hidden; height:16px; min-width:150px; color:currentColor; opacity:.75}
.hdr__sec span{display:block; white-space:nowrap; animation:secin .7s var(--ease)}
@keyframes secin{from{transform:translateY(110%)} to{transform:none}}
.hdr__pg{position:absolute; left:0; right:0; bottom:-1px; height:1px; background:currentColor; transform-origin:left; transform:scaleX(0); opacity:.85}
.hdr__in{position:relative}
.nav a{position:relative} .nav a sup{font-family:var(--m); font-size:9.5px; letter-spacing:.04em; opacity:.6; margin-right:5px; vertical-align:top; position:relative; top:-1px}
.nav a.on{opacity:1} .nav a.on::after{transform:scaleX(1)}
/* custom cursor (fine pointer) */
.cur{position:fixed; left:0; top:0; z-index:120; pointer-events:none; mix-blend-mode:difference; color:#fff; opacity:0; transition:opacity .3s}
.cur__d{position:absolute; left:-2.5px; top:-2.5px; width:5px; height:5px; border-radius:50%; background:#fff}
.cur__r{position:absolute; left:-19px; top:-19px; width:38px; height:38px; border:1px solid #fff; border-radius:50%; transform:scale(var(--cs,1)); transition:transform .45s var(--ease), border-color .3s}
.cur__r::before,.cur__r::after{content:""; position:absolute; background:#fff}
.cur__r::before{left:50%; top:-5px; width:1px; height:5px; box-shadow:0 46px 0 #fff} .cur__r::after{top:50%; left:-5px; height:1px; width:5px; box-shadow:46px 0 0 #fff}
.cur__l{position:absolute; left:26px; top:-7px; font-family:var(--m); font-size:10.5px; letter-spacing:.08em; text-transform:uppercase; white-space:nowrap; opacity:0; transform:translateX(-6px); transition:opacity .3s, transform .45s var(--ease)}
.cur.lb .cur__l{opacity:1; transform:none}
.cur.hide .cur__r{transform:scale(0)} .cur.hide .cur__d{opacity:0}
@media (pointer:fine){ html.hascur, html.hascur a, html.hascur button, html.hascur .mr__i, html.hascur .gph figure{cursor:none} html.hascur input{cursor:text} }
/* image reveal + parallax */
.mr__i img,.gph img,.ws__ph img{transform:translate3d(0,var(--py,0px),0) scale(calc(var(--rs,1) * var(--hs,1)))}
.mr__i img{top:-7%; height:114%; transition:filter .8s, transform .9s var(--ease)} .mr__i:hover img{--hs:1.05; transform:translate3d(0,var(--py,0px),0) scale(calc(var(--rs,1) * 1.05))}
.gph figure{position:relative; overflow:hidden} .gph .gph__f{overflow:hidden; border:1px solid var(--rule-d)} .gph img{border:0; cursor:zoom-in}
.mr__i,.gph__f,.tax__img{clip-path:inset(var(--ci,0%) 0 0 0)}
/* lightbox */
.lb{position:fixed; inset:0; z-index:110; background:rgba(14,18,16,0); pointer-events:none; transition:background .6s var(--ease)}
.lb.on{background:rgba(14,18,16,.92); pointer-events:auto}
.lb img{position:fixed; object-fit:cover; transition:left .7s var(--ease), top .7s var(--ease), width .7s var(--ease), height .7s var(--ease); box-shadow:0 40px 90px -30px rgba(0,0,0,.6)}
.lb p{position:fixed; left:max(var(--gl),40px); bottom:24px; margin:0; color:var(--chalk-2); opacity:0; transition:opacity .4s .3s} .lb.on p{opacity:1}
.lb__x{position:fixed; right:max(var(--gr),40px); top:22px; background:none; border:1px solid var(--rule-d); color:var(--chalk); padding:8px 12px; opacity:0; transition:opacity .4s .3s} .lb.on .lb__x{opacity:1}
/* magnetic */
.ob{transition:color .5s, transform .5s var(--ease)}
/* dirs: thumbs on touch */
.dlist .th{display:none}
/* own band → in the night system */
.own{background:var(--night-2); color:var(--chalk); border-top:1px solid var(--rule-d); border-bottom:1px solid var(--rule-d)} .own__in .mono{color:var(--chalk-2)}
/* finale */
.fin{margin-top:80px; font-weight:300; font-size:clamp(52px,12.4vw,210px); line-height:.9; letter-spacing:-.045em; white-space:nowrap; color:var(--chalk); opacity:.95}
.fin .w{padding-bottom:.06em}
.nav{gap:30px; font-size:14px; white-space:nowrap} .hdr .r .tel{display:none}
@media (min-width:1560px){ .hdr .r .tel{display:inline} }
@media (max-width:1240px){ .hdr__sec{display:none} }
.author h2{margin:0 0 20px} .fin{font-size:clamp(40px,11vw,190px)}
#worksNo{margin-left:auto}
.ui .head .dsc{opacity:1}
@media (max-width:720px){ .hdr__sec{display:block} .ui .head .dsc{display:none} .fin{white-space:normal; font-size:17vw; line-height:.92} }
/* mobile CTA bar */
.mbar{display:none}
@media (max-width:1100px){ .dlist a{grid-template-columns:48px minmax(0,1fr) 64px} .dlist .ar{display:none} .dlist .th{display:block; grid-row:1 / span 2; grid-column:3; justify-self:end; align-self:start; width:64px; height:64px; object-fit:cover; border:1px solid var(--rule)} }
@media (max-width:720px){
  :root{--sp:76px; --h2:clamp(32px,9vw,42px)}
  .sh__top{margin-bottom:18px} .sh__top .aside{display:none}
  .hdr .r{display:none} .hdr__sec{min-width:0; margin-left:auto; font-size:10.5px}
  .dlist a{grid-template-columns:30px minmax(0,1fr) 56px} .dlist .th{width:56px; height:56px}
  .mbar{display:grid; grid-template-columns:1fr 1fr; position:fixed; left:0; right:0; bottom:0; z-index:55; padding:10px var(--gr) calc(10px + env(safe-area-inset-bottom,0px)) var(--gl); gap:8px; background:color-mix(in srgb,var(--night) 92%,transparent); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); border-top:1px solid var(--rule-d); transform:translateY(110%); transition:transform .6s var(--ease)}
  .mbar.on{transform:none}
  .mbar a{display:flex; align-items:center; justify-content:center; gap:8px; height:46px; border:1px solid var(--chalk); color:var(--chalk); text-decoration:none; font-size:15px}
  .mbar a:first-child{background:var(--chalk); color:var(--night)}
  .fin{margin-top:56px} .ftr{padding-bottom:90px}
  .lb p{left:var(--gl); right:var(--gr)} .lb__x{right:var(--gr)}
}
@media (prefers-reduced-motion:reduce){ .cur{display:none} .mbar{transition:none} }

/* GEO: disclosure controls inherit v7 typography and colours. No motion/layout rules changed. */
.geo-short{font-size:18px;line-height:1.5;font-weight:300;max-width:20em;color:var(--ink-2);margin:0}.geo-short summary{display:block}.geo-short summary::-webkit-details-marker{display:none}.geo-short summary,.geo-faq summary{cursor:pointer;text-decoration:underline;text-underline-offset:4px}.geo-short p{margin:16px 0}.geo-faq{font-size:14px;color:var(--chalk-2)}.geo-faq summary{line-height:18px}.geo-faq h3{font-size:16px;font-weight:400}.geo-faq p{font-size:15px}.geo-commands>p{margin-bottom:0}.geo-faq[open]{margin-bottom:18px}.gph figcaption{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(min-width:701px){.dlist li:first-child>a{padding-block:8.921875px}}

/* Quiet editorial extension of the accepted v7 design. */
.article-page{--max:1400px;overflow-x:clip}.article-page .hdr{background:var(--night);color:var(--chalk)}.article-page .hdr__sec{display:none}.article-page .hdr__in{gap:22px}.article-page .nav{gap:21px;font-size:13px}.article-page .nav a{opacity:1}.article-page .hdr .tel{display:inline}.article-page .hdr .r .ob{display:none}.article-page .hdr__pg{transform:scaleX(var(--read,0))}.skip{position:fixed;top:-100px;left:16px;z-index:100;background:var(--paper);color:var(--ink);padding:16px}.skip:focus{top:8px}.article-top{padding-top:118px;padding-bottom:64px}.breadcrumbs{display:flex;gap:14px;flex-wrap:wrap;color:var(--chalk-2);font-size:10px;letter-spacing:.025em}.breadcrumbs a{text-decoration:none}.article-kicker{margin-top:48px;color:var(--chalk-2);font-size:11px}.article-top h1{max-width:1130px;font-size:clamp(40px,4.65vw,67px);line-height:1.04;font-weight:300;letter-spacing:-.035em;margin:24px 0 22px;text-wrap:balance}.article-byline{display:flex;flex-wrap:wrap;gap:8px 26px;font-family:var(--m);font-size:11px;color:var(--chalk-2);margin:0 0 26px}.article-top>p:not(.article-byline){font-size:20px;line-height:1.5;max-width:820px;color:var(--chalk-2);margin-bottom:24px}.article-top .geo-short{max-width:1000px;display:grid;grid-template-columns:112px minmax(0,1fr);gap:20px;border-top:1px solid var(--rule-d);padding-top:24px}.geo-short h2{font:11px var(--m);text-transform:uppercase;letter-spacing:.06em;margin:5px 0}.article-top .geo-short{color:var(--chalk)}.article-top .geo-short h2{color:var(--chalk-2)}.geo-short p{font-size:18px;font-weight:400;line-height:1.55;max-width:830px;margin:0}.article-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.article-actions .ob{height:43px;font-size:14px}.article-layout{background:var(--paper);color:var(--ink);display:grid;grid-template-columns:minmax(0,850px) minmax(200px,270px);gap:clamp(40px,6vw,100px);padding-top:64px;padding-bottom:88px}.article-flow{min-width:0}.art-photo{margin:52px 0}.hero-photo{margin-top:0;margin-bottom:70px}.art-photo img{display:block;width:100%;height:auto;background:var(--paper);object-fit:contain}.hero-photo img{max-height:610px;object-fit:contain}.art-photo figcaption{font:11px/1.6 var(--m);color:var(--ink-2);margin-top:12px;border-top:1px solid var(--rule);padding-top:10px}.article-section{margin:0 0 42px}.article-section h2,.article-contact h2,.related h2{font-size:clamp(29px,3vw,42px);font-weight:300;letter-spacing:-.025em;line-height:1.12;margin:0 0 24px;text-wrap:balance;scroll-margin-top:112px}.article-section p,.article-section li,.faq-item p{font-size:18px;line-height:1.65}.article-section p{margin:0 0 20px}.article-section ul,.article-section ol{padding-left:23px}.article-section li{margin-bottom:10px}.article-section a{overflow-wrap:anywhere;text-underline-offset:4px}.article-section:has(a[rel*="nofollow"]){font-size:14px}.article-section:has(a[rel*="nofollow"]) li{font-size:14px}.table-scroll{max-width:100%;overflow:auto;margin:28px 0 34px;border-block:1px solid var(--rule)}.table-scroll table{border-collapse:collapse;width:100%;font-size:15px;text-align:left;min-width:540px}.table-scroll th,.table-scroll td{border-bottom:1px solid var(--rule);padding:17px 16px;vertical-align:top}.table-scroll th{font-weight:500;background:#e5e2d9}.table-scroll td:first-child{font-weight:500}.table-scroll tr:last-child td{border-bottom:0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.article-aside{align-self:start;position:sticky;top:118px;color:var(--ink-2)}.article-aside>nav{display:grid;margin-top:20px}.article-aside>nav a{font-size:13px;line-height:1.45;text-decoration:none;border-top:1px solid var(--rule);padding:12px 0}.article-aside>nav a:hover{color:var(--ink)}.aside-contact{margin-top:40px;padding-top:22px;border-top:1px solid var(--rule)}.aside-contact p{font-size:16px}.aside-contact .article-actions{display:grid}.aside-contact .ob{width:max-content}.aside-contact .ob:hover{color:var(--paper)}.aside-contact .ob::before{background:var(--ink)}.faq-item{border-top:1px solid var(--rule);padding:24px 0 4px}.faq-item h3{font-size:23px;font-weight:400;line-height:1.3;margin:0 0 14px;letter-spacing:-.015em}.related{padding-block:80px}.related>.mono{color:var(--chalk-2);margin-bottom:24px}.related nav{display:grid;grid-template-columns:1fr 1fr;gap:0 50px}.related nav a{display:flex;justify-content:space-between;gap:16px;padding:22px 0;border-bottom:1px solid var(--rule-d);font-size:21px;text-decoration:none}.related nav a:hover{color:var(--water)}.article-contact{padding:62px 0;border-top:1px solid var(--rule-d)}.article-contact>.mono{color:var(--chalk-2);margin-bottom:24px}.article-page .ftr{margin-top:0}.article-page .mbar{display:none}.article-section>p:last-child{margin-bottom:0}.article-page #source-article>.faq-item{padding-block:28px}.article-page #source-article:has(>.faq-item){max-width:850px}.article-page .article-layout:has(#source-article>.faq-item){display:block}.motion-ready .article-section,.motion-ready .art-photo{transition:opacity .8s var(--ease),transform .8s var(--ease)}.motion-ready .pending{opacity:0;transform:translateY(20px)}
@media(max-width:1100px){.article-layout{grid-template-columns:minmax(0,1fr)}.article-aside{display:none}.article-top h1{max-width:900px}.article-page .nav{display:none}.article-page .r{margin-left:auto}}
@media(max-width:720px){.article-top{padding-top:86px;padding-bottom:34px}.article-kicker{margin-top:28px;font-size:10px}.article-top h1{font-size:39px;line-height:1.06;margin:20px 0}.article-byline{font-size:10px;gap:8px 18px;margin-bottom:20px}.article-top>p:not(.article-byline){font-size:17px}.article-top .geo-short{display:block;padding-top:18px}.geo-short h2{margin:0 0 10px}.geo-short p{font-size:16px;line-height:1.5}.article-layout{padding-top:32px;padding-bottom:38px}.hero-photo{margin-bottom:40px}.art-photo{margin-block:32px}.hero-photo{margin-top:0}.art-photo figcaption{font-size:10px}.article-section h2,.related h2,.article-contact h2{font-size:30px}.article-section p,.article-section li,.faq-item p{font-size:17px;line-height:1.62}.article-section{margin-bottom:34px}.faq-item h3{font-size:22px}.related{padding-block:46px}.related nav{grid-template-columns:1fr}.related nav a{font-size:19px;padding-block:18px}.article-contact{padding-block:38px}.article-page .mbar{display:flex}.article-page .ftr{padding-bottom:94px}.article-page .hdr .tel{font-size:12px}.breadcrumbs{font-size:9px;gap:9px}.article-top .article-actions{margin-top:20px}}
@media(prefers-reduced-motion:reduce){.motion-ready .pending{opacity:1;transform:none}.motion-ready .article-section,.motion-ready .art-photo{transition:none}.ob::before,.ob{transition:none}}

.article-flow .geo-faq{color:var(--ink)}.faq-item .faq-question{font-size:23px;font-weight:400;line-height:1.3;margin:0 0 14px;letter-spacing:-.015em}
@media(max-width:720px){.article-page .hdr .r{display:flex}.article-page .hdr .r .tel{display:inline}.article-page .mbar a{flex:1}.article-page .mbar.on{transform:none}}

/* v8c: one mobile CTA set, explicit paper/night joint, AA labels. */
.article-page{--chalk-2:#BEC5BD}
.article-page .article-layout{margin-bottom:0}
.article-page .article-layout + .wrap{background:var(--night);position:relative}
.article-page .ftr,.article-page .ftr a{color:#BEC5BD;opacity:1}
.article-page .breadcrumbs,.article-page .article-kicker,.article-page .article-byline{color:#BEC5BD;opacity:1}
.article-page .related{border-top:1px solid var(--rule-d)}
@media(max-width:720px){
 .article-page{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}
 .article-page .article-contact .article-actions{display:none}
 .article-page .ftr{padding-bottom:30px}
 .article-page .table-scroll{overflow:visible;border:0}
 .article-page .table-scroll table{display:block;min-width:0;width:100%;font-size:15px}
 .article-page .table-scroll thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .article-page .table-scroll tbody{display:grid;gap:16px}
 .article-page .table-scroll tr{display:block;border:1px solid var(--rule);padding:6px 16px;background:#e9e6df}
 .article-page .table-scroll td{display:grid;grid-template-columns:1fr;gap:6px;padding:14px 0;border-bottom:1px solid var(--rule);overflow-wrap:anywhere}
 .article-page .table-scroll td::before{content:attr(data-label);font:10px/1.5 var(--m);letter-spacing:.035em;text-transform:uppercase;color:#50574F}
 .article-page .table-scroll td:first-child{font-size:17px}
}
