/* Joeyjack.org — v1.0. A small, self-contained editorial site. */
:root{color-scheme:light;--paper:#f8f8f6;--white:#fff;--ink:#171717;--muted:#777670;--line:#dcdcd8;--soft:#ededeb;--charcoal:#222;--max:1450px;--ease:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}img,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid var(--ink);outline-offset:5px}::selection{background:#222;color:white}.container{max-width:var(--max);margin:0 auto;padding:0 clamp(24px,5vw,88px)}.screen-reader-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:15px;top:-100px;background:#111;color:#fff;padding:10px 16px;z-index:999}.skip-link:focus{top:12px}
/* Header */
.site-header{position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(40,40,40,.12);background:rgba(248,248,246,.96);backdrop-filter:blur(16px)}.header-inner{height:88px;display:flex;align-items:center;justify-content:space-between;gap:36px}.brand{font-weight:900;font-size:25px;letter-spacing:-.085em;line-height:1;white-space:nowrap}.brand span{font-weight:400}.desktop-nav{display:flex;align-items:center;gap:clamp(12px,2.0vw,32px)}.nav-link{font-size:12px;font-weight:700;letter-spacing:.035em;text-transform:uppercase;position:relative;white-space:nowrap}.nav-link::after{content:"";position:absolute;bottom:-8px;left:0;width:100%;height:1.5px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .2s}.nav-link:hover::after,.nav-link[aria-current="page"]::after{transform:scaleX(1)}.header-end{display:flex;align-items:center;gap:17px}.header-index{font-size:10px;letter-spacing:.16em;color:var(--muted);font-weight:700;white-space:nowrap}.mobile-menu-button{display:none;background:none;border:1px solid var(--line);padding:9px;width:43px;height:43px;align-items:center;justify-content:center}.mobile-menu-button svg{width:23px}.mobile-nav{display:none}
/* Type & recurring sections */
.kicker{font-size:11px;letter-spacing:.21em;text-transform:uppercase;font-weight:700}.text-muted{color:var(--muted)}.eyebrow{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#55534e;font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.eyebrow-line{height:1px;background:var(--line);flex:1}.hero-title{font-size:clamp(5.1rem,12.3vw,12.5rem);line-height:.82;letter-spacing:-.095em;font-weight:800;margin:0}.page-title{font-size:clamp(4.4rem,11.5vw,10.5rem);font-weight:800;line-height:.92;letter-spacing:-.086em;margin:0}.section-heading{font-size:clamp(2.65rem,6.5vw,6.8rem);line-height:.94;letter-spacing:-.075em;margin:0;font-weight:800}.serif{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-style:italic;letter-spacing:-.035em}.separator{border:0;border-top:1px solid var(--line);margin:0}.arrow{width:15px;height:15px;display:inline-block;vertical-align:middle}.section-tag{display:inline-flex;border:1px solid #999992;border-radius:99px;padding:8px 13px;font-size:10px;text-transform:uppercase;letter-spacing:.14em;font-weight:700}.section-topline{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--ink);padding-top:16px;margin-bottom:54px}.section-topline p{font-size:11px;letter-spacing:.16em;text-transform:uppercase;margin:0;font-weight:700}.section-no{font-size:11px;letter-spacing:.1em;font-variant-numeric:tabular-nums}.link-inline{display:inline-flex;gap:10px;align-items:center;font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:4px}.link-inline:hover{opacity:.6}.button-outline{display:inline-flex;align-items:center;gap:25px;border:1px solid var(--ink);padding:15px 18px;font-weight:700;font-size:11px;letter-spacing:.11em;text-transform:uppercase;transition:background .2s,color .2s}.button-outline:hover{background:var(--ink);color:var(--paper)}.button-outline img{height:13px;width:13px}
/* Homepage */
.home-hero{padding-top:clamp(70px,10vw,145px)}.hero-meta{display:flex;align-items:center;justify-content:space-between;font-size:11px;text-transform:uppercase;letter-spacing:.18em;font-weight:700;color:#6f6d69;margin-bottom:37px}.hero-title .solid-dot{color:#777}.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;padding:35px 0 85px}.hero-subtitle{max-width:570px;font-size:clamp(18px,2.0vw,27px);line-height:1.35;letter-spacing:-.025em;margin:0}.hero-corner{font-size:11px;line-height:1.7;letter-spacing:.08em;text-transform:uppercase;text-align:right;flex-shrink:0}.hero-visual{position:relative;background:#191919;min-height:clamp(290px,46vw,620px);color:#fff;overflow:hidden;display:flex;align-items:center;justify-content:center}.hero-visual::before{content:'';position:absolute;inset:6%;border:1px solid rgba(255,255,255,.14)}.hero-visual::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 56%,transparent 0%,rgba(0,0,0,.28) 76%);pointer-events:none}.hero-monogram{font-size:clamp(10rem,34vw,35rem);line-height:.7;letter-spacing:-.19em;font-weight:900;margin-right:.23em;transform:translateY(-2%);color:#f8f8f5;user-select:none}.hero-visual-top,.hero-visual-bottom{position:absolute;z-index:2;left:clamp(20px,3vw,48px);right:clamp(20px,3vw,48px);display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:700}.hero-visual-top{top:26px}.hero-visual-bottom{bottom:25px}.marquee-strip{border-bottom:1px solid var(--line);padding:19px 0;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;color:#66645f;font-size:11px;font-weight:700;letter-spacing:.17em;text-transform:uppercase}
.who-section{padding-top:clamp(90px,12vw,175px);padding-bottom:clamp(100px,12vw,170px)}.who-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(40px,9vw,150px)}.who-question{font-size:clamp(3.75rem,7.1vw,8rem);margin:30px 0 0;line-height:.97;font-weight:800;letter-spacing:-.085em}.who-answer{max-width:600px;padding-top:22px}.who-answer p{font-size:clamp(20px,2.2vw,31px);line-height:1.38;letter-spacing:-.04em;margin:0 0 25px}.who-answer .aside{font-size:14px;line-height:1.65;letter-spacing:0;color:#76736e;margin-bottom:33px}
.best-section{padding-bottom:clamp(105px,13vw,185px)}.best-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:60px}.best-intro p{max-width:260px;color:#64625f;line-height:1.6;font-size:13px}.featured-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(22px,3vw,45px)}.feature-card{display:block;min-width:0}.feature-image{aspect-ratio:900/690;overflow:hidden;background:#ddd;position:relative}.feature-image img{width:100%;height:100%;object-fit:cover;transition:transform .65s var(--ease)}.feature-card:hover .feature-image img{transform:scale(1.035)}.feature-overline{display:flex;justify-content:space-between;padding:17px 0 12px;border-bottom:1px solid var(--line);font-size:11px;letter-spacing:.15em;text-transform:uppercase;font-weight:700;color:#6f6b66}.feature-name{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:17px 0 30px}.feature-name h3{font-size:clamp(1.3rem,2.15vw,2rem);font-weight:700;letter-spacing:-.05em;margin:0}.feature-name .circle-arrow{border:1px solid #b4b3ac;border-radius:100%;height:34px;width:34px;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s}.feature-card:hover .circle-arrow{background:var(--ink);color:white}
/* Interior */
.interior-intro{padding-top:clamp(85px,10vw,150px);padding-bottom:clamp(80px,10vw,135px)}.interior-topline{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--ink);padding-top:15px;margin-bottom:52px}.interior-description{display:flex;justify-content:flex-end;margin-top:46px}.interior-description p{max-width:520px;font-size:clamp(18px,2vw,26px);line-height:1.4;letter-spacing:-.02em;margin:0}.content-section{padding-bottom:clamp(100px,12vw,165px)}.three-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.tile{display:flex;flex-direction:column;gap:15px}.tile-top{border-top:1px solid var(--ink);padding-top:20px;display:flex;justify-content:space-between;gap:16px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:#777}.tile h2{font-size:clamp(1.6rem,2.45vw,2.6rem);letter-spacing:-.06em;line-height:1.08;margin:30px 0 0}.tile p{line-height:1.6;color:#777;max-width:300px;margin:0 0 23px;font-size:14px}.tile .link-inline{margin-top:auto;align-self:flex-start}.tile-art{width:100%;aspect-ratio:1.16;background:#171717;overflow:hidden}.tile-art img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.tile:hover .tile-art img{transform:scale(1.04)}.story-list{border-top:1px solid var(--ink)}.story-row{display:grid;grid-template-columns:70px 1fr auto;gap:30px;align-items:center;min-height:120px;border-bottom:1px solid var(--line);transition:padding .2s}.story-row:hover{padding-left:8px}.story-row small{font-size:11px;color:#777;letter-spacing:.1em}.story-row strong{font-size:clamp(22px,3vw,41px);font-weight:700;letter-spacing:-.06em}.story-row .type{font-size:11px;color:#555;letter-spacing:.12em;text-transform:uppercase}.story-row .arrow-right{margin-left:14px}.split-content{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,9vw,140px)}.split-content h2{font-size:clamp(32px,4.8vw,62px);line-height:1.05;letter-spacing:-.06em;margin:0}.body-copy{font-size:18px;line-height:1.75;color:#4b4945}.body-copy p{margin:0 0 25px}.placeholder-note{border-left:2px solid #171717;padding:8px 0 8px 22px;color:#74716a;font-size:14px;line-height:1.7}.meta-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:65px;border-top:1px solid var(--ink);padding-top:22px}.meta-grid dt{font-size:10px;font-weight:700;color:#797671;letter-spacing:.17em;text-transform:uppercase;margin-bottom:13px}.meta-grid dd{margin:0;font-size:14px;line-height:1.55}.category-section{padding-bottom:100px}.category-head{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-bottom:20px}.category-head h2{font-size:clamp(31px,4vw,54px);letter-spacing:-.06em;margin:0}.category-head span{font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:#777}.work-detail-wrap{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:clamp(40px,7vw,100px);align-items:start}.work-poster{background:#eee;aspect-ratio:900/690;width:100%;object-fit:cover}.work-sidebar{border-top:1px solid var(--ink);padding-top:22px}.work-sidebar h2{font-size:clamp(34px,4.5vw,60px);letter-spacing:-.065em;line-height:1.02;margin:28px 0 25px}.work-sidebar p{color:#6a6861;line-height:1.7;font-size:16px}.work-sidebar .link-inline{margin-top:22px}.locked-card{background:#1b1b1b;color:#f5f4f0;padding:clamp(35px,7vw,100px);min-height:450px;display:flex;flex-direction:column;justify-content:space-between}.locked-card .lock-symbol{display:inline-grid;place-items:center;width:68px;height:68px;border:1px solid #777;border-radius:100%;font-size:26px}.locked-card h2{font-size:clamp(50px,8vw,118px);line-height:.95;letter-spacing:-.08em;max-width:880px;margin:60px 0 30px}.locked-card p{color:#c1bfba;max-width:530px;line-height:1.7;font-size:15px}.locked-card .fine{font-size:10px;color:#b2b0ac;letter-spacing:.12em;text-transform:uppercase}.video-poster{position:relative}.video-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:62px;height:62px;border:1px solid #f7f7f5;color:#f7f7f5;border-radius:100%;pointer-events:none}.video-play svg{width:21px;height:21px;margin-left:3px}.socials-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border-top:1px solid var(--ink);padding-top:25px}.social-tile{padding:22px 19px;border:1px solid var(--line);display:flex;align-items:center;gap:15px;transition:background .2s,color .2s}.social-tile:hover{background:#171717;color:#fff}.social-tile .brand-icon{height:23px;width:23px}.social-tile .social-arrow{margin-left:auto;font-size:19px}.social-tile strong{font-size:15px;letter-spacing:-.025em}.social-tile small{color:#83817b;display:block;font-size:11px;padding-top:5px;overflow-wrap:anywhere}.simple-page-copy{max-width:790px}.simple-page-copy h2{font-size:24px;letter-spacing:-.04em;margin:38px 0 15px}.simple-page-copy p,.simple-page-copy li{font-size:15px;line-height:1.8;color:#55514d}.simple-page-copy ul{padding-left:20px}.simple-page-copy a{text-decoration:underline;text-underline-offset:3px}
/* Footer, all pages */
.site-footer{border-top:1px solid var(--ink);background:#f0f0ed}.footer-main{padding-top:72px;padding-bottom:90px}.footer-mark{font-size:clamp(50px,7vw,102px);letter-spacing:-.11em;font-weight:800;line-height:.85;margin-bottom:74px}.footer-columns{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:40px}.footer-column h3{font-size:10px;text-transform:uppercase;letter-spacing:.19em;color:#827e78;margin:0 0 22px}.footer-column a,.footer-column p{display:block;font-size:14px;font-weight:700;margin:0 0 15px;line-height:1.3}.footer-column a:hover{text-decoration:underline;text-underline-offset:5px}.footer-column p{font-weight:400;line-height:1.65;color:#7c7974;max-width:215px}.footer-legal{border-top:1px solid #d2d1cc;min-height:87px;display:flex;align-items:center;justify-content:space-between;gap:28px;padding-top:25px;padding-bottom:25px}.policy-links,.footer-socials{display:flex;align-items:center;flex-wrap:wrap;gap:clamp(15px,2vw,33px)}.policy-links a{font-size:11px;font-weight:700;color:#4e4d49}.policy-links a:hover{text-decoration:underline}.footer-socials .label{font-size:10px;text-transform:uppercase;letter-spacing:.18em;font-weight:700;color:#686662;margin-right:7px}.social-icon-link{display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px;transition:transform .2s}.social-icon-link:hover{transform:translateY(-2px)}.social-icon-link img{height:22px;width:22px}.foot-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #d2d1cc;padding-top:22px;padding-bottom:24px;color:#77746f;font-size:10px;text-transform:uppercase;letter-spacing:.14em}
@media(max-width:1000px){.desktop-nav{gap:15px}.nav-link{font-size:10px}.header-index{display:none}.header-inner{height:75px}.three-grid{gap:18px}.footer-columns{gap:20px}}
@media(max-width:780px){.desktop-nav{display:none}.mobile-menu-button{display:flex}.header-inner{height:67px}.mobile-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:18px 24px 28px;box-shadow:0 20px 30px rgba(0,0,0,.05)}.mobile-nav.is-open{display:grid;grid-template-columns:repeat(2,1fr);gap:0 24px}.mobile-nav a{display:block;border-bottom:1px solid var(--line);padding:17px 0;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.hero-bottom{padding-bottom:55px}.hero-corner{display:none}.who-grid,.split-content,.work-detail-wrap{grid-template-columns:1fr}.who-answer{padding-top:0}.three-grid{grid-template-columns:repeat(2,1fr)}.footer-columns{grid-template-columns:repeat(2,1fr);gap:30px}.footer-legal{align-items:flex-start;flex-direction:column}.featured-grid{gap:20px}.best-intro{margin-bottom:40px}.meta-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:540px){.container{padding-left:21px;padding-right:21px}.home-hero{padding-top:67px}.hero-meta{font-size:9px;margin-bottom:30px}.hero-title{font-size:clamp(4.65rem,18vw,7.2rem)}.hero-bottom{padding:32px 0 54px}.hero-subtitle{font-size:20px}.hero-visual{min-height:320px}.hero-monogram{font-size:65vw}.hero-visual-top,.hero-visual-bottom{font-size:8px}.marquee-strip{font-size:9px;gap:8px}.who-section{padding-top:92px;padding-bottom:95px}.who-question{font-size:65px}.who-answer p{font-size:23px}.best-intro{display:block}.best-intro p{margin-top:24px}.featured-grid,.three-grid,.socials-panel{grid-template-columns:1fr}.feature-name{padding-bottom:18px}.interior-intro{padding-top:85px;padding-bottom:75px}.interior-topline{margin-bottom:40px}.page-title{font-size:clamp(4.4rem,17vw,7rem)}.interior-description{margin-top:35px}.story-row{grid-template-columns:30px 1fr auto;gap:13px;min-height:100px}.story-row strong{font-size:22px}.story-row .type{display:none}.section-topline{margin-bottom:40px}.footer-main{padding-top:55px;padding-bottom:60px}.footer-mark{font-size:65px;margin-bottom:45px}.footer-columns{gap:24px}.footer-column a{font-size:13px}.footer-socials .label{display:none}.foot-bottom{display:block;line-height:2}.meta-grid{grid-template-columns:1fr}.locked-card{min-height:430px}.locked-card h2{font-size:59px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* v2.3: clean image frame, compact artwork shelf, portrait, and search */
.hero-visual.has-custom-image::before,.hero-visual.has-custom-image::after,.hero-visual.has-custom-image .hero-visual-top,.hero-visual.has-custom-image .hero-visual-bottom{display:none!important}
.artwork-compact-grid{grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:25px 20px;align-items:start}
.artwork-compact-grid .tile{max-width:205px}
.artwork-compact-grid .tile-art{aspect-ratio:1/1}
.artwork-compact-grid .tile h2{font-size:clamp(17px,1.7vw,23px);margin-top:13px;line-height:1.12}
.artwork-compact-grid .tile p{font-size:12px;line-height:1.5;margin-top:10px}
.artwork-compact-grid .tile .link-inline{font-size:10px}
.about-heading-column{min-width:0}
.about-portrait{display:block;width:min(72%,280px);max-width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;margin:32px 0 0}
.about-portrait[hidden]{display:none}
.cms-about-markdown p{white-space:pre-wrap}
.cms-about-markdown img{display:block;max-width:100%;max-height:580px;object-fit:contain;margin:15px 0 30px}
.cms-about-markdown a{text-decoration:underline;text-underline-offset:3px}
.contact-extras{display:contents}
.extra-contact-icon{font-weight:700;font-size:25px;width:38px;text-align:center}
.public-search-form{border-top:1px solid #191919;padding-top:25px}
.public-search-form>label{display:block;font-size:11px;font-weight:700;letter-spacing:.18em;margin-bottom:15px}
.public-search-controls{display:flex;gap:10px}
.public-search-controls input{flex:1;min-width:0;padding:16px;background:transparent;border:1px solid #b7b7b4;font:inherit}
.public-search-controls select{width:min(210px,28vw);padding:12px;border:1px solid #b7b7b4;background:transparent}
.public-search-controls button{padding:12px 23px;border:0;background:#171717;color:white;cursor:pointer;font-weight:700}
#public-search-status{color:#666;margin:32px 0;font-size:14px}
.public-search-results{display:grid;gap:0;margin-bottom:90px}
.search-result{display:flex;gap:25px;align-items:center;border-top:1px solid #bbb;padding:23px 0;text-decoration:none;color:inherit}
.search-result img{width:92px;height:92px;object-fit:cover;background:#eee}
.search-result div{flex:1;min-width:0}
.search-result-type{font-size:10px;letter-spacing:.15em;font-weight:700;text-transform:uppercase}
.search-result h2{font-size:clamp(23px,3vw,38px);letter-spacing:-.05em;margin:8px 0}
.search-result p{margin:0;color:#6a6864;line-height:1.5}
.search-result-arrow{font-size:25px}
@media(max-width:700px){.artwork-compact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 12px}.about-portrait{width:min(60%,220px)}.public-search-controls{flex-wrap:wrap}.public-search-controls input{flex-basis:100%}.public-search-controls select{width:auto;flex:1}}

/* v2.4: tighter Best Of previews, editorial About, compact search, deliberate footer */
.best-section .featured-grid{grid-template-columns:repeat(auto-fill,minmax(205px,268px));gap:28px 25px;justify-content:start;align-items:start}
.best-section .feature-image{aspect-ratio:1.16;max-height:232px}
.best-section .feature-overline{padding:11px 0 9px;font-size:9px}
.best-section .feature-name{padding:12px 0 15px}
.best-section .feature-name h3{font-size:clamp(1.15rem,1.7vw,1.6rem)}
.best-section .best-intro{margin-bottom:34px}
.about-content{padding-top:32px;padding-bottom:74px}
.about-content .section-topline{margin-bottom:32px}
.about-content .split-content{grid-template-columns:minmax(230px,.8fr) minmax(0,1.5fr);gap:clamp(28px,4vw,65px)}
.about-content .body-copy{font-size:clamp(17px,1.35vw,19px);line-height:1.78}
.about-content .about-heading-column{text-align:center}
.about-content .about-heading-column h2{text-align:center;font-size:clamp(37px,4vw,58px)}
.about-content .about-portrait{margin:24px auto 0;width:min(82%,295px);max-height:440px;object-fit:cover}
.about-content .meta-grid{margin-top:48px}
.about-meta-link{display:block;height:100%;transition:transform .15s}
.about-meta-link:hover{text-decoration:underline;text-underline-offset:4px;transform:translateY(-2px)}
.site-footer .footer-main{padding-top:37px;padding-bottom:40px}
.site-footer .footer-mark{font-size:clamp(46px,6.4vw,85px);margin-bottom:29px}
.site-footer .footer-columns{gap:clamp(14px,3vw,40px);grid-template-columns:1.25fr .85fr 1fr .85fr}
.site-footer .footer-column h3{margin-bottom:13px}
.site-footer .footer-column a,.site-footer .footer-column p{margin-bottom:9px;font-size:13px}
.site-footer .footer-legal{min-height:68px;padding-top:16px;padding-bottom:16px}
.site-footer .foot-bottom{padding-top:14px;padding-bottom:15px}
.search-intro{padding-top:32px;padding-bottom:22px}
.search-intro .interior-topline{padding-top:11px;margin-bottom:20px}
.search-intro .page-title{font-size:clamp(3.2rem,7.4vw,6.5rem);line-height:1}
.search-intro .search-help{margin:12px 0 4px;font-size:clamp(15px,1.4vw,18px);line-height:1.6;max-width:770px;color:#555}
.search-intro .search-help p{margin:0 0 9px}
.search-section{padding-top:0;padding-bottom:85px;min-height:220px}
.search-section .public-search-form{padding-top:13px}
.search-section #public-search-status{margin:20px 0}
.cms-inline-font.cms-font-serif{font-family:Georgia,'Times New Roman',serif}
.cms-inline-font.cms-font-mono{font-family:'Courier New',monospace}
.cms-inline-font.cms-font-sans{font-family:Arial,Helvetica,sans-serif}
.cms-embedded-link{display:inline-flex;border:1px solid currentColor;padding:12px 18px;margin:18px 0;text-decoration:none;font-size:14px;font-weight:700;overflow-wrap:anywhere}
.cms-embedded-link:hover{background:#171717;color:#fff}
.cms-editable-block>p:first-child{margin-top:0}
.cms-editable-block>p:last-child{margin-bottom:0}
.hero-subtitle p{font-size:inherit;line-height:inherit;margin:0}
.who-answer .cms-editable-block{font-size:clamp(20px,2.2vw,31px);line-height:1.38;letter-spacing:-.04em;margin-bottom:25px}
.who-answer .cms-editable-block>p{margin:0 0 20px}
.interior-description .cms-editable-block{max-width:520px;font-size:clamp(18px,2vw,26px);line-height:1.4;letter-spacing:-.02em;margin:0}
.interior-description .cms-editable-block p{margin:0 0 14px}
.meta-grid dd p{margin:0 0 8px}
.cms-editable-block img{max-width:100%;max-height:490px;object-fit:contain}
.cms-editable-block a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:850px){.about-content .split-content{grid-template-columns:minmax(190px,.7fr) minmax(0,1.3fr);gap:30px}.site-footer .footer-columns{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:28px}}
@media(max-width:700px){.about-content .split-content{grid-template-columns:1fr}.about-content .about-portrait{width:min(63%,240px)}.about-content .body-copy{max-width:none}.best-section .featured-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px}.best-section .feature-image{max-height:none}.site-footer .footer-main{padding-top:33px;padding-bottom:32px}.site-footer .footer-mark{margin-bottom:28px}.search-intro{padding-top:22px;padding-bottom:16px}}
@media(max-width:430px){.best-section .featured-grid{grid-template-columns:1fr;max-width:285px}.site-footer .footer-columns{gap:20px}.site-footer .footer-column a,.site-footer .footer-column p{font-size:12px}}


/* v3.0 — tighter editorial rhythm across the site, without compressing About or Search */
/* Home: preserve the signature big display lettering, but center it and keep sections moving. */
.home-hero{padding-top:clamp(30px,4.2vw,60px)}
.home-hero .hero-meta{margin-bottom:clamp(16px,2.3vw,30px)}
.home-hero .hero-title{text-align:center;font-size:clamp(5.1rem,11vw,11.7rem);line-height:.86;letter-spacing:-.095em}
.home-hero .hero-bottom{padding:clamp(19px,2.7vw,39px) 0 clamp(29px,4.5vw,62px);gap:24px}
.home-hero .hero-subtitle{max-width:600px}
.home-hero .hero-visual{min-height:clamp(280px,37vw,510px)}
.home-hero .marquee-strip{padding:13px 0}
.who-section{padding-top:clamp(30px,4.1vw,58px);padding-bottom:clamp(42px,5.7vw,78px)}
.who-section .section-topline{margin-bottom:clamp(22px,3vw,38px)}
.who-section .who-grid{gap:clamp(30px,5vw,76px)}
.who-section .who-question{margin-top:10px}
.who-section .who-answer{padding-top:0}
.who-section .who-answer .cms-editable-block{margin-bottom:13px}
.who-section .who-answer .aside{margin-bottom:20px}
.best-section{padding-bottom:clamp(38px,5.5vw,80px)}
.best-section .section-topline{margin-bottom:clamp(20px,3vw,38px)}
.best-section .best-intro{margin-bottom:23px}
/* Interior collections: more artwork and usable content, less empty lead-in. */
.interior-intro{padding-top:clamp(28px,4.2vw,57px);padding-bottom:clamp(27px,3.7vw,53px)}
.interior-intro .interior-topline{padding-top:12px;margin-bottom:clamp(17px,2.5vw,34px)}
.interior-intro .page-title{font-size:clamp(4rem,8vw,8.4rem);line-height:.94}
.interior-intro .interior-description{margin-top:clamp(17px,2vw,30px)}
.interior-intro .interior-description .cms-editable-block{font-size:clamp(17px,1.6vw,22px);max-width:520px;line-height:1.4}
.content-section{padding-bottom:clamp(40px,6vw,80px)}
.content-section .section-topline{margin-bottom:clamp(22px,3vw,42px)}
.content-section .three-grid{gap:clamp(16px,2.1vw,27px)}
.content-section .tile{gap:12px}
.content-section .tile h2{margin-top:10px}
.content-section .tile p{margin-bottom:8px}
/* About and Search were deliberately tuned in v2.4: retain those layouts. */
.about-content{padding-top:32px;padding-bottom:74px}
.search-intro{padding-top:32px;padding-bottom:22px}
/* Video previews should be thumbnails, not two oversized feature posters. */
.videos-collection .video-compact-grid,
.video-compact-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(172px,232px));gap:22px 18px;justify-content:start;align-items:start}
.video-compact-grid .feature-image{aspect-ratio:16/10;max-height:150px}
.video-compact-grid .feature-overline{font-size:9px;padding:10px 0 9px}
.video-compact-grid .feature-name{padding:11px 0 9px;align-items:start}
.video-compact-grid .feature-name h3{font-size:clamp(16px,1.3vw,20px);line-height:1.2}
.video-compact-grid .circle-arrow{height:27px;width:27px;flex:none}
/* Footer as a compact navigation shelf, not an additional full page. */
.site-footer .footer-main{padding-top:25px;padding-bottom:26px}
.site-footer .footer-mark{font-size:clamp(42px,5.5vw,66px);line-height:.9;margin-bottom:17px}
.site-footer .footer-columns{grid-template-columns:1.2fr .75fr 1.1fr .75fr;gap:clamp(14px,2.2vw,28px)}
.site-footer .footer-column h3{margin-bottom:10px;font-size:9px}
.site-footer .footer-column a,.site-footer .footer-column p{font-size:12px;margin-bottom:7px;line-height:1.3}
.site-footer .footer-column p{line-height:1.45}
.site-footer .footer-legal{min-height:51px;padding-top:9px;padding-bottom:9px}
.site-footer .foot-bottom{padding-top:10px;padding-bottom:10px}
.site-footer .footer-socials{gap:clamp(8px,1.2vw,14px)}
.site-footer .social-icon-link{height:29px;width:29px;min-width:29px;border:1px solid #cececa;border-radius:7px;display:inline-flex;align-items:center;justify-content:center}
.site-footer .social-icon-link:hover{background:#171717;border-color:#171717}
.site-footer .social-icon-link img{height:17px;width:17px;object-fit:contain}
.site-footer .social-icon-link:hover img{filter:invert(1)}
/* The Contact-page cards use the same refreshed brand glyphs, with consistent proportions. */
.socials-panel .social-tile .brand-icon{width:24px;height:24px;min-width:24px;object-fit:contain}
@media(max-width:900px){
 .site-footer .footer-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
 .home-hero .hero-title{font-size:clamp(5rem,12vw,9rem)}
}
@media(max-width:700px){
 .home-hero{padding-top:30px}
 .home-hero .hero-meta{font-size:9px;letter-spacing:.11em;gap:12px}
 .home-hero .hero-title{font-size:clamp(4rem,15vw,7rem)}
 .home-hero .hero-bottom{padding:20px 0 28px}
 .home-hero .hero-visual{min-height:285px}
 .who-section{padding-top:35px;padding-bottom:45px}
 .interior-intro{padding-top:29px;padding-bottom:30px}
 .interior-intro .page-title{font-size:clamp(3.4rem,13vw,6rem)}
 .interior-intro .interior-topline{margin-bottom:21px}
 .interior-intro .interior-description{margin-top:22px}
 .content-section{padding-bottom:45px}
 .content-section .section-topline{margin-bottom:24px}
 .video-compact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}
 .video-compact-grid .feature-image{max-height:none}
 .site-footer .footer-main{padding-top:23px;padding-bottom:25px}
 .site-footer .footer-mark{margin-bottom:17px}
 .site-footer .footer-legal{gap:15px}
 .about-content{padding-top:32px;padding-bottom:65px}
 .search-intro{padding-top:22px;padding-bottom:16px}
}
@media(max-width:400px){
 .home-hero .hero-title{font-size:clamp(3.65rem,16vw,5.5rem)}
 .video-compact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .video-compact-grid .feature-name h3{font-size:15px}
 .site-footer .footer-columns{gap:16px}
}
/* Keep the compact copyright-free identity line readable on narrow screens. */
@media(max-width:700px){
 .site-footer .foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:3px 14px;line-height:1.5}
 .site-footer .foot-bottom span{white-space:normal}
}

/* v3.0: A tighter publishing hierarchy and room for four writing shelves. */
.home-hero{position:relative}
.home-hero .hero-title{text-align:center}
.home-hero .hero-bottom{display:flex;justify-content:center;align-items:center;position:relative;padding:18px 0 42px;margin:0}
.home-hero .hero-subtitle{max-width:650px;text-align:center;margin:0 auto;font-size:clamp(18px,1.85vw,25px);line-height:1.42}
.home-hero .hero-corner{position:absolute;right:0;bottom:40px}
.best-section .section-heading{font-size:clamp(2.9rem,5.5vw,5.9rem)}
.best-section .feature-name h3{font-size:clamp(17px,1.45vw,24px)}
.writings-shelves{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,2.1vw,26px)}
.writings-shelves .tile h2{font-size:clamp(22px,2.15vw,31px);margin:10px 0 0}
.writings-shelves .tile-art{aspect-ratio:1.16}
.writings-shelves .tile p{font-size:14px;line-height:1.5}
.page-title{font-size:clamp(4rem,7.6vw,8rem)}
.collection-genres{margin:0 0 clamp(28px,4vw,52px)}
.collection-genres .section-topline{margin-bottom:20px}
.genre-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,30px)}
.two-genre-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:830px}
.genre-tile{display:flex;flex-direction:column;min-width:0;gap:9px}
.genre-image{aspect-ratio:8/5;overflow:hidden;background:#e8e8e5}
.genre-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.genre-tile:hover .genre-image img{transform:scale(1.03)}
.genre-name{display:flex;justify-content:space-between;border-top:1px solid var(--ink);padding-top:11px;font-size:clamp(17px,1.5vw,24px);font-weight:750;letter-spacing:-.04em}
.genre-name span{font-size:15px}
.genre-tile p,.genre-tile p p{margin:0;color:#6d6b67;font-size:13px;line-height:1.45}
.listing-back{margin-top:26px}
.story-row.cms-writing-row{grid-template-columns:108px minmax(0,1fr) 92px;gap:24px;min-height:116px;padding:12px 0}
.story-row.cms-writing-row:hover{padding-left:6px}
.cms-writing-row .writing-list-thumb{width:108px;height:87px;overflow:hidden;background:#e5e4df}
.cms-writing-row .writing-list-thumb img{width:100%;height:100%;object-fit:cover}
.cms-writing-row .writing-row-body{min-width:0}
.cms-writing-row .writing-row-title{font-size:clamp(20px,2.15vw,31px);line-height:1.15;letter-spacing:-.047em;display:block;margin-bottom:6px}
.cms-writing-row .writing-row-excerpt{font-size:14px;color:#6a6864;line-height:1.5;margin:0;max-width:750px}
.cms-writing-row .writing-row-meta{text-align:right;align-self:stretch;display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between}
.cms-writing-row .writing-row-meta small{font-size:10px;line-height:1.5;letter-spacing:.09em;text-transform:uppercase}
.cms-writing-row .writing-row-arrow{font-size:18px}
.collection-empty{padding:26px 8px;color:#666;margin:0}
@media(max-width:1100px){.writings-shelves{grid-template-columns:repeat(2,minmax(0,1fr))}.home-hero .hero-corner{position:static;align-self:flex-end;margin-top:12px}.home-hero .hero-bottom{flex-direction:column;align-items:center;gap:8px}}
@media(max-width:700px){.writings-shelves{gap:22px}.genre-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.story-row.cms-writing-row{grid-template-columns:75px minmax(0,1fr);gap:12px;padding:10px 0;min-height:95px}.cms-writing-row .writing-list-thumb{width:75px;height:72px}.cms-writing-row .writing-row-title{font-size:20px}.cms-writing-row .writing-row-excerpt{font-size:12px;line-height:1.4}.cms-writing-row .writing-row-meta{grid-column:2;display:flex;flex-direction:row;align-items:center}.page-title{font-size:clamp(3rem,11vw,5rem)}.home-hero .hero-subtitle{font-size:17px}.home-hero .hero-bottom{padding:12px 0 28px}}
@media(max-width:460px){.writings-shelves,.genre-grid{grid-template-columns:1fr 1fr;gap:14px}.writings-shelves .tile h2{font-size:20px}.writings-shelves .tile p{font-size:12px}.genre-name{font-size:16px}.genre-tile p{font-size:12px}}

/* v3: bold collection labels on About page. */
.about-meta-link dt{color:var(--ink);font-weight:800;font-size:13px;letter-spacing:.09em}
.story-row.cms-writing-row{grid-template-columns:128px minmax(0,1fr) 92px}
.cms-writing-row .writing-list-thumb{width:128px;height:99px}
@media(max-width:700px){.story-row.cms-writing-row{grid-template-columns:75px minmax(0,1fr)}.cms-writing-row .writing-list-thumb{width:75px;height:72px}}

.writings-shelves .tile .tile-description{font-size:14px;line-height:1.55;color:#777;max-width:300px;margin:0 0 14px}
.writings-shelves .tile .tile-description p{margin:0}
.genre-tile .genre-description,.genre-tile .genre-description p{font-size:13px;line-height:1.45;color:#6d6b67;margin:0}
@media(max-width:460px){.writings-shelves .tile .tile-description,.writings-shelves .tile .tile-description p{font-size:12px}.genre-tile .genre-description,.genre-tile .genre-description p{font-size:12px}}
