/*
Theme Name: Andrés Mariño Maza
Theme URI: https://andresmarino.com/
Author: Andrés Mariño Maza
Description: Personal artist theme for andresmarino.com.
Version: 2.0.8
Requires PHP: 7.4
Text Domain: andresmarino
*/
:root{--paper:#f3f1ec;--paper2:#ebe8e1;--ink:#151412;--graphite:#5f5b55;--rule:#d6d1c8;--ease:cubic-bezier(.22,1,.36,1);--ease2:cubic-bezier(.65,0,.35,1);--pad:5vw;--hdr:84px}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:'IBM Plex Sans',system-ui,sans-serif;font-weight:300;font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}
img{display:block;width:100%;height:100%;object-fit:cover}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}
.mono,.k{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:400}
.mono{color:var(--graphite)}
.serif{font-family:Spectral,Georgia,serif;font-weight:300}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;background:#fff;padding:8px;z-index:99}
.display{font-family:Spectral,Georgia,serif;font-weight:300;font-size:clamp(48px,8.4vw,144px);line-height:.95;letter-spacing:-.025em}
.h2{font-family:Spectral,Georgia,serif;font-weight:300;font-size:clamp(34px,4.6vw,76px);line-height:1.02;letter-spacing:-.018em}
.lede{font-family:Spectral,Georgia,serif;font-weight:300;font-size:clamp(23px,2.5vw,40px);line-height:1.28;letter-spacing:-.008em;max-width:24em}
.body p,.prose p{font-family:Spectral,Georgia,serif;font-weight:300;font-size:clamp(18px,1.45vw,22px);line-height:1.55;max-width:32em;margin-bottom:.9em}
/* ---------- header ---------- */
.site-header{position:fixed;top:0;left:0;right:0;z-index:40;height:var(--hdr);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 var(--pad);color:var(--ink);background:rgba(243,241,236,.86);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid rgba(214,209,200,.7);transition:transform .6s var(--ease),background-color .45s,color .45s,border-color .45s}
.logo{display:block;line-height:0;justify-self:start}
.logo img{width:200px;max-width:200px;height:auto;object-fit:contain;transition:filter .45s}
.nav ul{display:flex;gap:34px;list-style:none}
.nav a{font-size:12.5px;letter-spacing:.04em;padding-bottom:3px;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .5s var(--ease)}
.nav a:hover,.nav .current-menu-item>a,.nav .current-page-ancestor>a,.nav .current_page_parent>a{background-size:100% 1px}
.hdr-right{justify-self:end;color:inherit;transition:color .45s}
.mnav{display:none;justify-self:end}
html:not(.hdr-solid):not(.menu-open) body.has-hero .site-header{background:transparent;border-bottom-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;color:var(--paper)}
html:not(.hdr-solid):not(.menu-open) body.has-hero .logo img{filter:invert(1)}
html.hdr-hide:not(.menu-open) .site-header{transform:translateY(-100%)}
body:not(.has-hero) main{padding-top:var(--hdr)}
/* ---------- buttons, links ---------- */
.btn,.linkbtn,.tlink{display:inline-block;font-size:13px;letter-spacing:.02em;padding-bottom:3px;background:linear-gradient(currentColor,currentColor) 100% 100%/100% 1px no-repeat;transition:background-size .5s var(--ease)}
.btn:hover,.linkbtn:hover,.tlink:hover{background-size:0 1px}
.btns{display:flex;gap:28px;flex-wrap:wrap;margin-top:28px}
/* ---------- figures, reveal ---------- */
.fig{position:relative;overflow:hidden;background:var(--paper2)}
.fig img{transition:transform 1.4s var(--ease),opacity .6s}
a:hover .fig img,a.ix-item:hover .fig img,a.card:hover .fig img{transform:scale(1.035)}
.cap{display:flex;justify-content:space-between;gap:16px;margin-top:12px}
.rv [data-r]{opacity:0;transform:translateY(28px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease)}
.rv [data-r].in{opacity:1;transform:none}
.rv main .fig{clip-path:inset(0 0 100% 0);transition:clip-path 1.3s var(--ease2)}
.rv main .fig.in,.rv .hero .fig,.rv .split .fig{clip-path:inset(0 0 0 0)}
.rv main .fig img{transform:scale(1.12)}
.rv main .fig.in img{transform:none;transition:transform 1.8s var(--ease)}
.rv main a:hover .fig.in img{transform:scale(1.035)}
[data-r][data-d="1"]{transition-delay:.12s}[data-r][data-d="2"]{transition-delay:.24s}[data-r][data-d="3"]{transition-delay:.36s}
/* ---------- hero (full-bleed) ---------- */
.hero{position:relative;height:100vh;height:100svh;min-height:560px;overflow:hidden;color:var(--paper);background:var(--ink)}
.hero-media{position:absolute;inset:0;will-change:transform;transform:scale(1.14)}
.hero-media img{filter:brightness(.74)}
.hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.38) 0,rgba(0,0,0,0) 24%,rgba(0,0,0,0) 50%,rgba(0,0,0,.55) 100%)}
.hero-txt{position:absolute;left:var(--pad);right:var(--pad);bottom:6vw;z-index:2}
.hero-txt .k{display:block;margin-bottom:18px;opacity:.85}
.hero-txt .sub{font-family:Spectral,Georgia,serif;font-weight:300;font-size:clamp(18px,1.7vw,26px);max-width:30em;margin-top:22px;opacity:.92}
.hero .cr{position:absolute;right:1.4vw;bottom:2vw;z-index:2;font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;opacity:.75;writing-mode:vertical-rl;transform:rotate(180deg)}
.hero .scroll{position:absolute;left:50%;bottom:26px;z-index:2;width:1px;height:46px;background:rgba(243,241,236,.35);overflow:hidden}
.hero .scroll::after{content:"";position:absolute;left:0;top:-46px;width:1px;height:46px;background:var(--paper);animation:drip 2.2s var(--ease2) infinite}
@keyframes drip{to{top:46px}}
.rv .hero-txt>*{opacity:0;transform:translateY(30px);transition:opacity 1.2s var(--ease),transform 1.2s var(--ease)}
.rv.ready .hero-txt>*{opacity:1;transform:none}
.rv.ready .hero-txt>*:nth-child(2){transition-delay:.12s}.rv.ready .hero-txt>*:nth-child(3){transition-delay:.24s}
.hero-links{display:flex;gap:28px;margin-top:28px}.hero-links a{border-bottom:1px solid var(--paper);padding-bottom:2px;font-size:14px}
/* ---------- sections ---------- */
.sec{padding:10vw var(--pad)}
.sec+.sec{padding-top:0}
.intro2{display:grid;grid-template-columns:3fr 9fr;gap:5vw;padding:9vw var(--pad) 8vw}
.intro2 .mono{padding-top:.9em}
.split2{display:grid;grid-template-columns:5fr 7fr;gap:6vw;align-items:start}
.full{padding:0}
.full .fig{aspect-ratio:16/8}
.full .cap{padding:0 var(--pad)}
.inset{padding:0 var(--pad)}
.inset .fig{aspect-ratio:16/9}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:3vw;padding:0 var(--pad);align-items:start}
.pair .fig{aspect-ratio:4/5}
.pair.stagger>:nth-child(2){margin-top:14vw}
.pair.w7{grid-template-columns:7fr 5fr}.pair.w5{grid-template-columns:5fr 7fr}
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:2.4vw;padding:0 var(--pad)}
.trio .fig{aspect-ratio:3/4}
.trio.stagger>:nth-child(2){margin-top:8vw}
.gap{height:9vw}
.r11{aspect-ratio:1/1!important}.r45{aspect-ratio:4/5!important}.r34{aspect-ratio:3/4!important}.r32{aspect-ratio:3/2!important}.r169{aspect-ratio:16/9!important}.r21{aspect-ratio:2/1!important}
.txtimg{display:grid;grid-template-columns:5fr 7fr;gap:6vw;align-items:center;padding:0 var(--pad)}
.txtimg.rev{grid-template-columns:7fr 5fr}.txtimg.rev>:first-child{order:2}
.txtimg .fig{aspect-ratio:4/5}
.chapter .num{display:block;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.1em;color:var(--graphite);margin-bottom:22px}
.chapter .h2{margin-bottom:26px}
.quote{font-family:Spectral,Georgia,serif;font-style:italic;font-weight:300;font-size:clamp(28px,3.4vw,52px);line-height:1.2;max-width:18em}
/* spec */
.spec{border-top:1px solid var(--rule);margin:34px 0 0;max-width:560px}
.spec div{display:grid;grid-template-columns:130px 1fr;padding:13px 0;border-bottom:1px solid var(--rule);font-size:14px}
.spec span:first-child{font-family:'IBM Plex Mono',monospace;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--graphite);padding-top:2px}
/* ---------- index (design list) ---------- */
.ix{padding:0 var(--pad) 4vw}
.ix-item{display:grid;grid-template-columns:7fr 5fr;gap:5vw;align-items:end;padding:6vw 0;border-top:1px solid var(--rule)}
.ix-item:nth-child(even){grid-template-columns:5fr 7fr}.ix-item:nth-child(even) .fig{order:2}
.ix-item .fig{aspect-ratio:5/4}
.ix-item .t{font-family:Spectral,Georgia,serif;font-weight:300;font-size:clamp(40px,5.6vw,92px);line-height:1;letter-spacing:-.02em;margin:18px 0 20px;transition:letter-spacing .8s var(--ease)}
.ix-item:hover .t{letter-spacing:-.005em}
.ix-item .d{color:var(--graphite);max-width:26em;font-size:15px}
.ix-item .more{margin-top:26px;display:inline-block}
.rv .ix-item{opacity:0;transform:translateY(40px);transition:opacity 1.2s var(--ease),transform 1.2s var(--ease)}
.rv .ix-item.in{opacity:1;transform:none}
/* cards */
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:3vw;padding:0 var(--pad)}
a.card .fig{aspect-ratio:4/5}
a.card .t{font-family:Spectral,Georgia,serif;font-size:clamp(28px,2.6vw,40px);font-weight:300;margin-top:18px}
a.card .d{color:var(--graphite);font-size:14px;margin-top:6px}
/* ---------- next piece ---------- */
.nextp{position:relative;display:block;height:78vh;min-height:460px;overflow:hidden;color:var(--paper);background:var(--ink);margin-top:10vw}
.nextp .fig{position:absolute;inset:0;clip-path:none!important;background:var(--ink)}
.nextp img{filter:brightness(.6);transform:scale(1.04)!important;transition:transform 1.8s var(--ease),filter .8s}
.nextp:hover img{transform:scale(1.0)!important;filter:brightness(.7)}
.nextp .lab{position:absolute;left:var(--pad);bottom:6vw;z-index:2}
.nextp .k{display:block;margin-bottom:16px;opacity:.85}
.nextp .t{font-family:Spectral,Georgia,serif;font-weight:300;font-size:clamp(48px,7vw,120px);line-height:.95;letter-spacing:-.02em}
.backlink{display:flex;justify-content:space-between;padding:34px var(--pad);border-top:1px solid var(--rule)}
/* ---------- home split ---------- */
.split{display:flex;height:100vh;height:100svh;min-height:640px;background:var(--ink)}
.panel{position:relative;flex:1 1 0;min-width:0;overflow:hidden;display:block;color:var(--paper);transition:flex 1.1s var(--ease2);border-right:1px solid rgba(243,241,236,.28)}
.panel:last-child{border-right:0}
.panel img{position:absolute;inset:0;transition:transform 1.6s var(--ease),filter 1.1s;filter:brightness(.72)}
.panel::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.4) 0,rgba(0,0,0,0) 28%,rgba(0,0,0,0) 52%,rgba(0,0,0,.62) 100%)}
.lab{position:absolute;left:2.4vw;right:3.2vw;bottom:4vw;z-index:2}
.lab .k{opacity:.85}
.panel h2{font-family:Spectral,Georgia,serif;font-weight:300;font-size:clamp(34px,3.2vw,52px);line-height:1.02;margin:12px 0 0;letter-spacing:-.01em}
.panel p{max-width:24em;font-size:13.5px;line-height:1.55;opacity:0;max-height:0;overflow:hidden;transition:opacity .6s .2s,max-height .9s}
.panel .cr{position:absolute;right:1.1vw;bottom:2vw;z-index:2;font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;opacity:.75;writing-mode:vertical-rl;transform:rotate(180deg)}
.rv .split .panel{opacity:0;transform:translateY(24px);transition:flex 1.1s var(--ease2),opacity 1.1s var(--ease),transform 1.1s var(--ease)}
.rv.ready .split .panel{opacity:1;transform:none}
.rv.ready .split .panel:nth-child(2){transition-delay:0s,.1s,.1s}.rv.ready .split .panel:nth-child(3){transition-delay:0s,.2s,.2s}.rv.ready .split .panel:nth-child(4){transition-delay:0s,.3s,.3s}
@media(hover:hover) and (min-width:761px){
 .split:hover .panel{flex-grow:.78}.split .panel:hover{flex-grow:2.3}
 .split .panel:hover img{transform:scale(1.035);filter:brightness(.9)}
 .split:hover .panel:not(:hover) img{filter:brightness(.5) grayscale(.35)}
 .panel:hover p,.panel:focus-visible p{opacity:.92;max-height:140px;margin-top:14px}
}
@media(hover:none){.panel p{opacity:.92;max-height:none;margin-top:12px}}
.lede2{display:grid;grid-template-columns:3fr 9fr;gap:5vw;padding:10vw var(--pad)}
/* ---------- about ---------- */
.about{display:grid;grid-template-columns:5fr 7fr;gap:6vw;padding:4vw var(--pad) 8vw}
.about .stick{position:sticky;top:calc(var(--hdr) + 24px);align-self:start}
.about .fig{aspect-ratio:3/4}
.about h1{margin:14px 0 40px}
.cv{margin-top:64px}
.cv h3{font-family:'IBM Plex Mono',monospace;font-weight:400;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--graphite);margin:40px 0 8px}
.row{display:grid;grid-template-columns:120px 1fr;gap:12px;padding:16px 0;border-bottom:1px solid var(--rule);align-items:baseline;font-size:15px}
.cv h3+.row{border-top:1px solid var(--rule)}
/* ---------- contact ---------- */
.contact{padding:6vw var(--pad) 8vw}
.contact h1{margin:14px 0 6vw}
.contact .grid{display:grid;grid-template-columns:5fr 7fr;gap:6vw}
.contact dl div{padding:20px 0;border-bottom:1px solid var(--rule)}.contact dl div:first-child{border-top:1px solid var(--rule)}
.contact dd{font-family:Spectral,Georgia,serif;font-size:clamp(22px,2vw,30px);margin-top:6px}
.contact dd a{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .5s var(--ease)}.contact dd a:hover{background-size:100% 1px}
.wpcf7 label{display:block;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--graphite);margin-bottom:26px}
.wpcf7 input[type=text],.wpcf7 input[type=email],.wpcf7 textarea{display:block;width:100%;margin-top:8px;border:0;border-bottom:1px solid var(--ink);background:transparent;font:300 18px 'IBM Plex Sans',sans-serif;padding:10px 0;color:var(--ink);text-transform:none;letter-spacing:0;border-radius:0;transition:border-color .3s}
.wpcf7 input:focus,.wpcf7 textarea:focus{outline:0;border-color:var(--graphite)}
.wpcf7 textarea{height:150px;resize:vertical}
.wpcf7 input[type=submit]{background:var(--ink);color:var(--paper);border:0;padding:16px 34px;font:400 11px 'IBM Plex Mono',monospace;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background .3s}
.wpcf7 input[type=submit]:hover{background:#3a3733}
.wpcf7-response-output{font-size:13px;margin:20px 0 0!important;border:0!important;padding:0!important;color:var(--graphite)}
.wpcf7-not-valid-tip{font-size:12px;text-transform:none;letter-spacing:0;color:#8a3b2a}
/* ---------- text pages ---------- */
.textpage{padding:6vw var(--pad) 10vw;display:grid;grid-template-columns:3fr 9fr;gap:5vw}
.textpage h1{grid-column:1/-1;margin:10px 0 3vw}
.textpage .prose h2{font-family:'IBM Plex Mono',monospace;font-weight:400;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--graphite);margin:46px 0 14px}
.textpage .prose p,.textpage .prose li{font-family:Spectral,Georgia,serif;font-size:20px;line-height:1.55;max-width:34em}
.textpage .prose ul{list-style:none;margin-bottom:1em}.textpage .prose li{padding-left:1.1em;position:relative}.textpage .prose li::before{content:"–";position:absolute;left:0;color:var(--graphite)}
.textpage table{border-collapse:collapse;width:100%;max-width:760px;font-size:14px;margin:8px 0 18px}
.textpage td,.textpage th{text-align:left;padding:12px 12px 12px 0;border-bottom:1px solid var(--rule);vertical-align:top}
.textpage th{font-family:'IBM Plex Mono',monospace;font-weight:400;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--graphite)}
.prose a{background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat}
.generic{padding:calc(var(--hdr) + 5vw) var(--pad) 8vw;max-width:900px}
.generic h1{font-family:Spectral,Georgia,serif;font-weight:300;font-size:48px;margin-bottom:24px}
/* ---------- footer ---------- */
.site-footer{background:var(--ink);color:#ece8e1;padding:10vw var(--pad) 50px}
.site-footer .mono{color:#a39d93;display:block;margin-bottom:12px}
.f-mail{font-family:Spectral,Georgia,serif;font-weight:300;font-size:clamp(30px,5.4vw,92px);line-height:1;letter-spacing:-.02em;display:inline-block;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .7s var(--ease);padding-bottom:6px}
.f-mail:hover{background-size:100% 1px}
.f-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3vw;margin-top:9vw;padding-top:34px;border-top:1px solid rgba(236,232,225,.18);font-size:13px}
.f-grid a,.f-grid .linkbtn{display:table;margin-bottom:6px;font-size:13px;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .5s var(--ease)}
.f-grid a:hover,.f-grid .linkbtn:hover{background-size:100% 1px}
.f-name{font-family:Spectral,Georgia,serif;font-size:22px;display:block;margin-bottom:8px}
.f-grid p{color:#a39d93}
/* ---------- cookie ---------- */
.cookie{position:fixed;left:24px;bottom:24px;z-index:55;max-width:400px;background:var(--paper);color:var(--ink);border:1px solid var(--rule);padding:22px 24px 18px;box-shadow:0 18px 50px rgba(21,20,18,.14);opacity:0;transform:translateY(16px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.cookie.on{opacity:1;transform:none}
.cookie p{font-size:13.5px;line-height:1.55}
.cookie p a{background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat}
.cookie-b{display:flex;gap:10px;margin-top:16px}
.cookie-b button{flex:1;padding:12px 10px;font:400 11px 'IBM Plex Mono',monospace;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--ink);transition:background .3s,color .3s}
.cookie-b button[data-consent=granted]{background:var(--ink);color:var(--paper)}
.cookie-b button:hover{background:var(--ink);color:var(--paper)}
.cookie-b button[data-consent=granted]:hover{background:#3a3733}
/* ---------- cursor ---------- */
.cursor{position:fixed;left:0;top:0;z-index:50;pointer-events:none;display:none}
.cursor span{position:absolute;left:-43px;top:-43px;width:86px;height:86px;border-radius:50%;border:1px solid var(--paper);color:var(--paper);display:flex;align-items:center;justify-content:center;font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:rgba(21,20,18,.18);transform:scale(.2);opacity:0;transition:transform .35s var(--ease),opacity .25s}
.has-cursor .cursor{display:block}
.cursor.on span{transform:none;opacity:1}
@media(pointer:fine){.has-cursor a.panel,.has-cursor a.ix-item .fig,.has-cursor a.nextp,.has-cursor a .fig,.has-cursor a.card .fig{cursor:none}}
/* ---------- curtain ---------- */
.curtain{position:fixed;inset:0;background:var(--paper);z-index:60;transform:translateY(100%);visibility:hidden;transition:transform .5s var(--ease2),visibility 0s .5s}
.curtain.on{visibility:visible;transform:none;transition:transform .5s var(--ease2)}
.amm-t .curtain{visibility:visible;transform:none;transition:none}
.amm-t-out .curtain{transform:translateY(-100%);transition:transform .75s var(--ease2)}
/* ---------- reduced motion ---------- */
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*::before,*::after{transition-duration:0s!important;transition-delay:0s!important;animation:none!important}
 .curtain{display:none}
 .rv [data-r],.rv .ix-item,.rv .hero-txt>*,.rv .split .panel{opacity:1!important;transform:none!important}
 .rv main .fig{clip-path:none!important}.rv main .fig img,.hero-media{transform:none!important}
}
/* ---------- responsive ---------- */
@media(max-width:1100px){.logo img{width:180px}.nav ul{gap:24px}}
@media(max-width:860px){
 :root{--hdr:68px;--pad:6vw}
 .site-header{grid-template-columns:1fr auto}.nav,.hdr-right{display:none}.mnav{display:block}
 .logo img{width:150px}
 .mnav summary{list-style:none;cursor:pointer;position:relative;z-index:2;color:inherit}.mnav summary::-webkit-details-marker{display:none}
 .mnav summary .c,.mnav[open] summary .o{display:none}.mnav[open] summary .c{display:inline}
 .mnav nav{position:fixed;left:0;right:0;top:var(--hdr);height:calc(100vh - var(--hdr));height:calc(100svh - var(--hdr));background:var(--paper);color:var(--ink);padding:6vh var(--pad) 8vh;display:flex;flex-direction:column;justify-content:space-between;overflow:auto}
 .mnav ul{list-style:none}
 .mnav li a{display:block;padding:10px 0;font-family:Spectral,Georgia,serif;font-weight:300;font-size:clamp(38px,10vw,56px);line-height:1.08;letter-spacing:-.015em}
 .mnav[open] li{animation:mnav .7s var(--ease) both}.mnav[open] li:nth-child(2){animation-delay:.05s}.mnav[open] li:nth-child(3){animation-delay:.1s}.mnav[open] li:nth-child(4){animation-delay:.15s}.mnav[open] li:nth-child(5){animation-delay:.2s}.mnav[open] li:nth-child(6){animation-delay:.25s}
 .mnav-foot{margin-top:30px}
 .intro2,.lede2,.split2,.txtimg,.txtimg.rev,.about,.contact .grid,.textpage{grid-template-columns:1fr;gap:26px}
 .txtimg.rev>:first-child{order:0}
 .pair,.pair.w7,.pair.w5{grid-template-columns:1fr;gap:6vw}.pair.stagger>:nth-child(2){margin-top:0}
 .trio{grid-template-columns:1fr 1fr;gap:4vw}.trio>:nth-child(3){grid-column:1/-1}.trio.stagger>:nth-child(2){margin-top:0}
 .ix-item,.ix-item:nth-child(even){grid-template-columns:1fr;gap:20px;padding:12vw 0}.ix-item:nth-child(even) .fig{order:0}
 .cards{grid-template-columns:1fr;gap:12vw}
 .full .fig{aspect-ratio:4/3}.inset .fig{aspect-ratio:4/3}
 .f-grid{grid-template-columns:1fr 1fr;gap:34px}.f-grid>:first-child{grid-column:1/-1}
 .about .stick{position:static}
 .hero-txt{bottom:12vw}.hero .cr{right:3vw;bottom:5vw}
 .row{grid-template-columns:90px 1fr}
 .sec{padding:16vw var(--pad)}.intro2{padding:16vw var(--pad) 12vw}.gap{height:14vw}
 .nextp{height:62vh;margin-top:16vw}
 .split{flex-direction:column;height:auto;min-height:0}
 .panel{flex:none;height:56vh;height:56svh;border-right:0;border-bottom:1px solid rgba(243,241,236,.28)}
 .panel h2{font-size:38px}.lab{left:6vw;right:12vw;bottom:7vw}.panel p{opacity:.92;max-height:none;margin-top:10px}.panel .cr{right:3vw;bottom:5vw}
 .cookie{left:12px;right:12px;bottom:12px;max-width:none}
}
@keyframes mnav{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
/* ---------- technical drawings (blueprint opener) ---------- */
.bp{--bp:#101e34;--bpl:#e8eff8;position:relative;background:var(--bp);color:var(--bpl);padding:calc(var(--hdr) + 4.5vw) var(--pad) 5vw;overflow:hidden}
.bp::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:calc(100%/48) calc(100%/48);opacity:.6}
.bp>*{position:relative}
.bp-top{display:grid;grid-template-columns:4fr 8fr;gap:4vw;align-items:end}
.bp-top .k{display:block;margin-bottom:18px;color:rgba(232,239,248,.7)}
.bp-top .display{font-size:clamp(44px,6.6vw,116px)}
.bp-top .sub{font-family:Spectral,Georgia,serif;font-weight:300;font-size:clamp(17px,1.5vw,23px);max-width:24em;margin-top:22px;color:rgba(232,239,248,.82)}
.bp figure{margin:0}
.bp img{height:auto;object-fit:contain;background:var(--bp)}
.bp figcaption{display:flex;justify-content:space-between;gap:16px;margin-top:12px;padding-top:10px;border-top:1px solid rgba(232,239,248,.18);font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:rgba(232,239,248,.66)}
.bp-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2.4vw;margin-top:4.5vw;align-items:start}
.bp-row figure{transition:transform .9s var(--ease)}
.bp-row figure:hover{transform:translateY(-4px)}
.bp-foot{display:flex;justify-content:space-between;margin-top:4vw;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:rgba(232,239,248,.5)}
.bp+.hero .hero-txt .display{font-size:clamp(40px,6vw,104px)}
.rv .bp [data-r]{transition-duration:1.4s}
@media (max-width:860px){.bp{padding:calc(var(--hdr) + 40px) var(--pad) 56px}.bp-top{grid-template-columns:1fr;gap:28px}.bp-row{grid-template-columns:1fr 1fr;gap:18px;margin-top:36px}.bp-foot{flex-direction:column;gap:6px}}
.mt18{margin-top:18px}
.mt24{margin-top:24px}

/* AM monogram */
.curtain{display:flex;align-items:center;justify-content:center}
.curtain img{width:96px;height:auto;object-fit:contain;opacity:.85}
.f-mark{display:block;width:70px;height:auto;object-fit:contain;margin-bottom:22px;opacity:.92}

/* Press */
.press-top{padding:7vw var(--pad) 6vw;display:grid;grid-template-columns:3fr 9fr;gap:2vw 5vw;align-items:end}
.press-top .k{grid-column:1;align-self:start;padding-top:1.2em}
.press-top h1{grid-column:2;margin:0}
.press-top .lede{grid-column:2;color:var(--graphite)}
.press{padding:0 var(--pad) 10vw}
.py{display:grid;grid-template-columns:3fr 9fr;gap:5vw;border-top:1px solid var(--rule)}
.py-y{font-weight:400;font-size:11px;letter-spacing:.08em;padding-top:28px;position:sticky;top:90px;align-self:start}
.pl{list-style:none;margin:0;padding:0}
.pi{display:grid;grid-template-columns:3fr 6fr 110px;gap:28px;padding:26px 0;border-bottom:1px solid var(--rule);align-items:baseline}
.pi:last-child{border-bottom:0}
.pb{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.pi .ti{font-family:Spectral,Georgia,serif;font-weight:300;font-size:clamp(20px,1.7vw,26px);line-height:1.3;margin:0 0 8px;max-width:30em}
.pi .pm{font-size:11px;color:var(--graphite);margin:0}
.pi .pp{margin-top:12px;color:var(--graphite)}
.pg{justify-self:end;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;transition:opacity .3s}
.pg:hover{opacity:.55}
.pg.off{color:var(--graphite)}
@media(max-width:860px){.press-top,.py{grid-template-columns:1fr}.press-top .k,.press-top h1,.press-top .lede{grid-column:1}.py{gap:0}.py-y{position:static;padding:22px 0 0}.pi{grid-template-columns:1fr;gap:8px;padding:20px 0}.pg{justify-self:start;margin-top:4px}}

/* Drawings by piece */
.bp.bpg{padding-top:3vw;border-top:1px solid rgba(232,239,248,.12)}
.bpg-head{display:flex;justify-content:space-between;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:rgba(232,239,248,.6);padding-bottom:2vw}
.bpg-g{padding:2.6vw 0 3.2vw;border-top:1px solid rgba(232,239,248,.14)}
.bpg-gh{display:flex;align-items:baseline;gap:22px;margin-bottom:2vw}
.bpg-gh span{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10px;letter-spacing:.08em;color:rgba(232,239,248,.55)}
.bpg-gh h2{font-family:Spectral,Georgia,serif;font-weight:300;font-size:clamp(28px,3vw,48px);line-height:1;margin:0;color:var(--bpl)}
.bpg-gh .tlink{margin-left:auto;color:rgba(232,239,248,.75)}
.bpg-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2.4vw 2vw;align-items:start}
.bpg-grid figure{transition:transform .9s var(--ease)}
.bpg-grid figure:hover{transform:translateY(-4px)}
@media (max-width:1100px){.bpg-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:860px){.bp.bpg{padding-top:36px}.bpg-g{padding:26px 0 30px}.bpg-gh{gap:14px;margin-bottom:18px;flex-wrap:wrap}.bpg-grid{grid-template-columns:1fr 1fr;gap:20px 14px}}

.pthumb{display:block;width:150px;margin:0 0 14px}
.pthumb img{width:150px;height:auto;display:block}
@media(max-width:860px){.pthumb,.pthumb img{width:130px}}
