:root {
  --ink: #eef2f3;
  --muted: #a8b3ba;
  --navy-950: #071018;
  --navy-900: #0d1822;
  --navy-850: #12212d;
  --navy-800: #172a38;
  --line: rgba(255,255,255,.12);
  --sand: #d7ae72;
  --sand-light: #f0d5aa;
  --paper: #e8e2d8;
  --shadow: 0 30px 80px rgba(0,0,0,.35);
  --radius: 4px;
  --shell: min(1220px, calc(100% - 40px));
  --font-sans: "Segoe UI", Arial, Helvetica, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--navy-950); font-family:var(--font-sans); line-height: 1.6; }
body::before { content:""; position: fixed; inset:0; pointer-events:none; opacity:.045; z-index:999; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E"); }
img { display:block; max-width:100%; }
a { color:inherit; }
button, input, textarea, select { font: inherit; }
button { color:inherit; }
.shell { width: var(--shell); margin-inline:auto; }
.section { padding: 112px 0; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link { position:fixed; z-index:1000; left:16px; top:-60px; background:var(--sand); color:#071018; padding:12px 18px; text-decoration:none; font-weight:700; transition:.2s; }
.skip-link:focus { top:16px; }
.eyebrow { margin:0 0 18px; color:var(--sand); font-size:.72rem; letter-spacing:.22em; font-weight:800; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { font-family:var(--font-sans); font-weight:600; line-height:1.08; }
h1 { max-width:850px; font-size:clamp(3.4rem, 8vw, 7.6rem); letter-spacing:-.035em; margin-bottom:30px; }
h2 { font-size:clamp(2.4rem, 5vw, 4.6rem); letter-spacing:-.025em; margin-bottom:24px; }
h3 { font-size:1.8rem; }
.site-header { position:fixed; inset:0 0 auto; z-index:100; border-bottom:1px solid transparent; transition:.3s; }
.site-header.scrolled { background:rgba(7,16,24,.9); backdrop-filter:blur(18px); border-color:var(--line); }
.header-inner { height:88px; display:flex; align-items:center; justify-content:space-between; }
.brand { display:flex; align-items:center; gap:14px; text-decoration:none; }
.brand-mark { width:48px; aspect-ratio:1; display:grid; place-items:center; color:var(--navy-950); background:var(--sand); font-family:var(--font-sans); font-size:1.14rem; font-weight:700; }
.brand-copy { display:flex; flex-direction:column; line-height:1.15; }
.brand-copy strong { letter-spacing:.12em; font-size:.92rem; }
.brand-copy small { color:var(--muted); letter-spacing:.12em; font-size:.55rem; margin-top:5px; }
.main-nav { display:flex; gap:29px; align-items:center; }
.main-nav a { text-decoration:none; color:#dce2e5; font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; position:relative; }
.main-nav a::after { content:""; position:absolute; left:0; right:100%; bottom:-8px; height:1px; background:var(--sand); transition:.25s; }
.main-nav a:hover::after, .main-nav a:focus-visible::after { right:0; }
.lang-switch { border:1px solid var(--line); background:transparent; padding:7px 10px; font-size:.72rem; cursor:pointer; }
.nav-toggle { display:none; background:none; border:0; padding:8px; }
.nav-toggle > span:not(.sr-only) { display:block; width:26px; height:1px; background:white; margin:6px; }
.hero { position:relative; min-height:900px; height:100svh; display:grid; align-items:center; overflow:hidden; }
.hero-art { position:absolute; inset:0; }
.hero-art img { width:100%; height:100%; object-fit:cover; object-position:center; }
.hero-overlay { position:absolute; inset:0; background:linear-gradient(90deg, rgba(4,10,15,.98) 0%, rgba(4,10,15,.84) 36%, rgba(4,10,15,.22) 72%, rgba(4,10,15,.35) 100%), linear-gradient(0deg, #071018 0%, transparent 25%); }
.hero-content { position:relative; z-index:2; padding-top:100px; }
.hero-lead { max-width:690px; color:#cbd4d8; font-size:clamp(1.05rem, 1.8vw, 1.35rem); line-height:1.7; }
.hero-actions { display:flex; gap:14px; margin-top:38px; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:0 23px; border:1px solid transparent; text-decoration:none; text-transform:uppercase; letter-spacing:.1em; font-size:.72rem; font-weight:800; cursor:pointer; }
.button-primary { color:#09131b; background:var(--sand); }
.button-primary:hover { background:var(--sand-light); }
.button-ghost { border-color:rgba(255,255,255,.32); background:rgba(255,255,255,.025); }
.button-ghost:hover { border-color:var(--sand); }
.hero-stats { display:flex; gap:58px; margin:76px 0 0; }
.hero-stats div { min-width:130px; border-top:1px solid var(--line); padding-top:16px; }
.hero-stats dt { font-family:var(--font-sans); color:var(--sand-light); font-size:1.55rem; }
.hero-stats dd { margin:3px 0 0; color:var(--muted); font-size:.78rem; }
.scroll-cue { position:absolute; z-index:3; bottom:34px; right:calc((100vw - min(1220px, calc(100vw - 40px)))/2); text-decoration:none; color:var(--sand); font-size:1.5rem; animation:bob 2s infinite; }
@keyframes bob { 50% { transform:translateY(8px); } }
.intro { display:grid; grid-template-columns:1.1fr .9fr; gap:80px; align-items:end; }
.intro h2 { max-width:720px; }
.intro-copy { color:var(--muted); font-size:1.08rem; line-height:1.9; margin-bottom:8px; }
.portfolio { background:var(--navy-900); }
.section-heading { display:grid; grid-template-columns:1fr minmax(300px, 500px); gap:50px; align-items:end; margin-bottom:45px; }
.section-heading p:last-child { color:var(--muted); }
.section-heading.compact { margin-bottom:60px; }
.filter-bar { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:26px; }
.filter { border:1px solid var(--line); background:transparent; padding:10px 14px; font-size:.7rem; letter-spacing:.06em; cursor:pointer; }
.filter.active, .filter:hover { background:var(--sand); color:var(--navy-950); border-color:var(--sand); }
.gallery-grid { display:grid; grid-template-columns:repeat(12,1fr); grid-auto-rows:250px; gap:14px; }
.gallery-card { grid-column:span 4; position:relative; min-height:250px; overflow:hidden; background:var(--navy-800); cursor:pointer; box-shadow:0 0 0 1px var(--line); }
.gallery-card.featured { grid-column:span 8; grid-row:span 2; }
.gallery-card.tall { grid-row:span 2; }
.gallery-card.wide { grid-column:span 8; }
.gallery-card img { width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.2,.7,.2,1), filter .5s; }
.gallery-card:hover img, .gallery-card:focus img { transform:scale(1.035); filter:saturate(1.15); }
.card-shade { position:absolute; inset:0; background:linear-gradient(180deg, transparent 35%, rgba(2,7,10,.92) 100%); }
.card-copy { position:absolute; inset:auto 24px 18px; }
.card-copy span { color:var(--sand); font-size:.62rem; letter-spacing:.17em; font-weight:800; }
.card-copy h3 { margin:8px 0 4px; font-size:clamp(1.4rem, 2.4vw, 2.25rem); }
.card-copy p { margin:0; font-size:.75rem; color:#c6d0d4; opacity:0; transform:translateY(5px); transition:.25s; }
.gallery-card:hover .card-copy p, .gallery-card:focus .card-copy p { opacity:1; transform:none; }
.gallery-card.hidden { display:none; }
/* Version 10 — clean artwork thumbnails: labels are shown only on detail pages */
.portfolio .gallery-card .card-shade,
.portfolio .gallery-card .card-copy { display:none; }

.services { background:#0a141d; }
.service-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.service-grid article { min-height:320px; padding:38px 29px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); transition:.3s; }
.service-grid article:hover { background:var(--navy-850); transform:translateY(-5px); }
.service-no { color:var(--sand); font-family:var(--font-sans); font-style:italic; }
.service-grid h3 { margin-top:70px; font-size:1.7rem; }
.service-grid p { color:var(--muted); font-size:.92rem; }
.publications { background:var(--paper); color:#14212a; }
.publication-layout { display:grid; grid-template-columns:.9fr 1.1fr; gap:100px; align-items:center; }
.publication-visual { min-height:540px; position:relative; perspective:1000px; }
.book { position:absolute; width:330px; height:450px; box-shadow:0 30px 45px rgba(20,15,10,.25); padding:35px; display:flex; flex-direction:column; }
.book-front { left:18%; top:5%; color:#f5efe5; background:linear-gradient(145deg,#162b39,#09131b); transform:rotate(-5deg); border-left:10px solid #c99d5e; }
.book-front small { letter-spacing:.18em; }
.book-front strong { font-family:var(--font-sans); margin:auto 0; font-size:2.3rem; font-weight:500; line-height:1.15; }
.book-front span, .book-back span { letter-spacing:.12em; font-size:.65rem; }
.book-back { left:35%; top:12%; justify-content:flex-end; color:#172630; background:#b68a50; transform:rotate(8deg); }
.publication-copy .eyebrow { color:#8a5d25; }
.publication-copy p { color:#53616a; }
.partner-list { display:flex; flex-wrap:wrap; gap:8px; margin:30px 0; }
.partner-list span { border:1px solid rgba(20,33,42,.17); padding:8px 11px; font-size:.72rem; }
.text-link { color:inherit; text-decoration:none; font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; border-bottom:1px solid currentColor; padding-bottom:5px; }
.about { background:var(--navy-900); }
.about-layout { display:grid; grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr); gap:95px; align-items:center; }
.portrait-frame { width:min(100%,390px); margin:0; justify-self:center; }
.portrait-image-wrap { position:relative; padding:24px; background:linear-gradient(145deg,#1b2d39,#0b151d); border:1px solid var(--line); box-shadow:0 30px 70px rgba(2,8,12,.28); overflow:hidden; }
.portrait-image-wrap::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 50% 26%,rgba(214,186,137,.18),transparent 48%); pointer-events:none; }
.portrait-image-wrap img { position:relative; z-index:1; display:block; width:100%; height:auto; aspect-ratio:196 / 301; object-fit:cover; object-position:center top; }
.portrait-frame figcaption { margin-top:14px; color:var(--muted); font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; text-align:center; }
.about-copy > p:not(.eyebrow):not(.about-lead) { color:var(--muted); max-width:760px; }
.about-facts { list-style:none; padding:0; margin:35px 0 32px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.about-facts li { min-height:112px; padding:22px 24px; display:flex; flex-direction:column; justify-content:center; gap:7px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.about-facts strong { color:var(--paper); font-family:var(--font-sans); font-weight:400; font-size:1.06rem; }
.about-facts span { color:var(--muted); font-size:.82rem; line-height:1.45; }
.about-lead { font-family:var(--font-sans); font-size:1.5rem; line-height:1.55; color:#e8ded0; }
.about-copy > p:not(.eyebrow):not(.about-lead) { color:var(--muted); }
.contact { background:#071018; }
.contact-layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:95px; }
.contact-layout > div > p { color:var(--muted); max-width:560px; }
.contact-direct { display:flex; flex-direction:column; margin-top:30px; gap:8px; }
.contact-direct a { color:var(--sand-light); text-decoration:none; font-family:var(--font-sans); font-size:1.3rem; }
.contact-form { display:grid; grid-template-columns:1fr 1fr; gap:20px; padding:34px; background:var(--navy-850); border:1px solid var(--line); }
.contact-form label { display:flex; flex-direction:column; gap:7px; font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:#c8d1d5; }
.contact-form label:nth-of-type(3), .contact-form label:nth-of-type(4), .contact-form small { grid-column:1/-1; }
input, textarea, select { width:100%; color:var(--ink); background:#0b1720; border:1px solid var(--line); padding:13px; outline:none; border-radius:0; }
input:focus, textarea:focus, select:focus { border-color:var(--sand); }
textarea { resize:vertical; }
.contact-form small { color:var(--muted); }
.site-footer { border-top:1px solid var(--line); background:#050b10; }
.footer-inner { min-height:140px; display:flex; justify-content:space-between; align-items:center; gap:30px; }
.footer-inner p, .footer-inner > a { color:var(--muted); font-size:.75rem; text-decoration:none; }
.art-dialog { width:min(960px,calc(100% - 32px)); color:var(--ink); background:var(--navy-900); border:1px solid var(--line); padding:0; box-shadow:var(--shadow); }
.art-dialog::backdrop { background:rgba(0,0,0,.78); backdrop-filter:blur(5px); }
.art-dialog[open] { display:grid; grid-template-columns:1.15fr .85fr; }
.art-dialog > img { width:100%; height:100%; min-height:490px; object-fit:cover; }
.art-dialog > div { padding:55px 42px; align-self:center; }
.art-dialog > div > p:not(.eyebrow) { color:var(--muted); }
.dialog-close { position:absolute; right:12px; top:10px; z-index:2; border:0; background:rgba(0,0,0,.45); width:38px; height:38px; cursor:pointer; font-size:1.6rem; }
@media (max-width: 980px) {
  .main-nav { position:fixed; inset:88px 0 auto; display:none; flex-direction:column; align-items:flex-start; gap:22px; padding:30px 20px; background:#071018; border-bottom:1px solid var(--line); }
  .main-nav.open { display:flex; }
  .nav-toggle { display:block; }
  .intro, .section-heading, .publication-layout, .about-layout, .contact-layout { grid-template-columns:1fr; gap:45px; }
  .service-grid { grid-template-columns:1fr 1fr; }
  .publication-visual { min-height:520px; }
  .gallery-card, .gallery-card.featured, .gallery-card.wide { grid-column:span 6; }
  .gallery-card.featured { grid-row:span 1; }
  .gallery-card.tall { grid-row:span 1; }
}
@media (max-width: 640px) {
  :root { --shell: min(100% - 26px, 1220px); }
  .section { padding:78px 0; }
  .header-inner { height:72px; }
  .main-nav { inset:72px 0 auto; }
  .brand-mark { width:40px; }
  .brand-copy small { display:none; }
  .hero { min-height:760px; }
  .hero-content { padding-top:80px; }
  h1 { font-size:clamp(3.2rem,16vw,5rem); }
  .hero-actions, .hero-stats { flex-direction:column; align-items:stretch; }
  .hero-stats { gap:17px; margin-top:48px; }
  .hero-stats div { min-width:0; }
  .gallery-grid { grid-template-columns:1fr; grid-auto-rows:300px; }
  .gallery-card, .gallery-card.featured, .gallery-card.wide { grid-column:1; }
  .service-grid { grid-template-columns:1fr; }
  .publication-visual { min-height:420px; overflow:hidden; }
  .book { width:240px; height:340px; padding:24px; }
  .book-front strong { font-size:1.7rem; }
  .book-front { left:5%; }
  .book-back { left:30%; }
  .portrait-frame { max-width:340px; }
  .contact-form { grid-template-columns:1fr; padding:22px; }
  .contact-form label { grid-column:1!important; }
  .footer-inner { padding:32px 0; flex-direction:column; align-items:flex-start; }
  .art-dialog[open] { grid-template-columns:1fr; }
  .art-dialog > img { min-height:260px; max-height:330px; }
  .art-dialog > div { padding:35px 25px; }
}
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation:none!important; transition:none!important; } }

/* Version 2: real portfolio artwork */
.hero-art img { object-position:center 58%; }
.gallery-card.profile, .gallery-card.poster { background:#e9e4db; }
.gallery-card.profile img, .gallery-card.poster img { object-fit:contain; padding:18px; }
.gallery-card.poster img { padding:10px; }
.gallery-card.profile .card-shade, .gallery-card.poster .card-shade { background:linear-gradient(180deg, transparent 42%, rgba(3,8,11,.18) 60%, rgba(2,7,10,.96) 100%); }
.gallery-card.scene img { object-position:center; }
.publication-showcase { margin:0; position:relative; min-height:560px; display:flex; flex-direction:column; justify-content:center; align-items:center; }
.publication-showcase img { width:min(92%,620px); max-height:520px; object-fit:contain; box-shadow:0 35px 70px rgba(20,15,10,.28); border:1px solid rgba(20,33,42,.12); background:white; }
.publication-showcase figcaption { margin-top:18px; color:#6b7478; font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; }
.art-dialog > img.contain { object-fit:contain; background:#e9e4db; padding:24px; }
@media (max-width: 640px) { .gallery-card.profile img, .gallery-card.poster img { padding:10px; } .publication-showcase { min-height:420px; } .publication-showcase img { max-height:390px; } }

@media (max-width:640px) { .portrait-image-wrap { padding:16px; } .about-facts { grid-template-columns:1fr; } .about-facts li { min-height:96px; } }


/* Version 4 — dedicated gallery and work detail pages */
.main-nav a.active::after { right:0; }
.gallery-card { text-decoration:none; color:var(--ink); }
.gallery-card:focus-visible { outline:2px solid var(--sand); outline-offset:3px; }
.portfolio-actions { display:flex; justify-content:center; margin-top:38px; }
.page-hero { min-height:470px; padding:160px 0 80px; display:flex; align-items:flex-end; position:relative; overflow:hidden; background:linear-gradient(135deg,#101e29,#071018 72%); }
.page-hero::after { content:""; position:absolute; inset:0; opacity:.14; background:radial-gradient(circle at 75% 20%,#d7ae72,transparent 34%); }
.page-hero .shell { position:relative; z-index:1; }
.page-hero h1 { max-width:900px; font-size:clamp(3.3rem,7vw,6.8rem); margin-bottom:22px; }
.page-hero p:not(.eyebrow) { max-width:720px; color:#c5d0d5; font-size:1.12rem; }
.gallery-tools { display:grid; grid-template-columns:1fr minmax(250px,360px); gap:24px; align-items:end; margin-bottom:32px; }
.gallery-tools .filter-bar { margin-bottom:0; }
.gallery-search { position:relative; }
.gallery-search label { display:block; color:var(--muted); font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; margin-bottom:7px; }
.gallery-search input { background:#0a151e; }
.gallery-result-line { display:flex; justify-content:space-between; align-items:center; gap:20px; margin:0 0 20px; color:var(--muted); font-size:.8rem; }
.gallery-page-grid { grid-auto-rows:300px; }
.gallery-page-grid .gallery-card { grid-column:span 4; }
.gallery-page-grid .gallery-card.wide { grid-column:span 8; }
.empty-state { display:none; padding:70px 25px; border:1px solid var(--line); text-align:center; color:var(--muted); }
.empty-state.visible { display:block; }
.work-page { padding-top:88px; }
.work-breadcrumb { padding:34px 0 24px; color:var(--muted); font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; }
.work-breadcrumb a { text-decoration:none; }
.work-layout { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(320px,.7fr); gap:70px; align-items:start; padding-bottom:105px; }
.work-visual { margin:0; position:sticky; top:118px; }
.work-image-frame { min-height:580px; display:grid; place-items:center; overflow:hidden; border:1px solid var(--line); box-shadow:var(--shadow); background:#e9e4db; }
.work-image-frame.cover { background:#0c1720; }
.work-image-frame img { width:100%; max-height:78vh; min-height:520px; object-fit:contain; }
.work-image-frame.cover img { height:78vh; object-fit:cover; }
.work-visual figcaption { color:var(--muted); font-size:.72rem; margin-top:12px; }
.work-copy { padding-top:25px; }
.work-copy h1 { font-size:clamp(2.8rem,5.3vw,5.6rem); margin-bottom:28px; }
.work-lead { color:#d0d9dd; font-size:1.15rem; line-height:1.85; }
.work-meta { margin:38px 0; border-top:1px solid var(--line); }
.work-meta div { display:grid; grid-template-columns:120px 1fr; gap:18px; padding:16px 0; border-bottom:1px solid var(--line); }
.work-meta dt { color:var(--muted); font-size:.69rem; letter-spacing:.1em; text-transform:uppercase; }
.work-meta dd { margin:0; color:#e2e8ea; }
.work-note { color:var(--muted); font-size:.82rem; border-left:2px solid var(--sand); padding-left:17px; }
.work-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:34px; }
.work-pager { border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:#09141d; }
.work-pager-inner { min-height:130px; display:grid; grid-template-columns:1fr 1fr; }
.work-pager a { padding:28px; text-decoration:none; display:flex; flex-direction:column; justify-content:center; }
.work-pager a + a { text-align:right; border-left:1px solid var(--line); }
.work-pager small { color:var(--muted); letter-spacing:.1em; text-transform:uppercase; }
.work-pager strong { font-family:var(--font-sans); font-size:1.2rem; margin-top:6px; }
.related { background:var(--navy-900); }
.related-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }
.related .gallery-card { min-height:330px; }
.detail-contact { background:var(--paper); color:#17242c; }
.detail-contact .cta-row { display:flex; justify-content:space-between; align-items:center; gap:40px; }
.detail-contact p { color:#58666e; max-width:700px; }
.detail-contact .button { flex:0 0 auto; }
@media (max-width:980px) {
  .gallery-tools { grid-template-columns:1fr; }
  .gallery-page-grid .gallery-card, .gallery-page-grid .gallery-card.wide { grid-column:span 6; }
  .work-layout { grid-template-columns:1fr; gap:45px; }
  .work-visual { position:static; }
  .work-image-frame { min-height:420px; }
  .work-image-frame img { min-height:360px; }
  .related-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:640px) {
  .page-hero { min-height:400px; padding-top:125px; }
  .gallery-page-grid .gallery-card, .gallery-page-grid .gallery-card.wide { grid-column:1; }
  .gallery-result-line { align-items:flex-start; flex-direction:column; gap:5px; }
  .work-page { padding-top:72px; }
  .work-layout { padding-bottom:75px; }
  .work-image-frame { min-height:300px; }
  .work-image-frame img, .work-image-frame.cover img { min-height:280px; height:auto; max-height:68vh; object-fit:contain; }
  .work-copy h1 { font-size:clamp(2.45rem,13vw,4rem); }
  .work-meta div { grid-template-columns:1fr; gap:4px; }
  .work-pager-inner { grid-template-columns:1fr; }
  .work-pager a + a { border-left:0; border-top:1px solid var(--line); text-align:left; }
  .related-grid { grid-template-columns:1fr; }
  .detail-contact .cta-row { align-items:flex-start; flex-direction:column; }
}


/* Version 5 — publications and editorial collaboration */
.publications-hero { min-height:580px; }
.publication-hero-art { position:absolute; inset:0; pointer-events:none; overflow:hidden; }
.publication-hero-art::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#071018 0%,rgba(7,16,24,.92) 45%,rgba(7,16,24,.54) 75%,rgba(7,16,24,.85) 100%); }
.publication-hero-art img { position:absolute; object-fit:contain; filter:saturate(.82) contrast(.96); box-shadow:0 35px 70px rgba(0,0,0,.48); border:1px solid rgba(255,255,255,.12); }
.pub-hero-cover { width:min(31vw,420px); height:73%; right:9%; top:17%; transform:rotate(4deg); background:#fff; }
.pub-hero-poster { width:min(21vw,285px); height:61%; right:31%; top:27%; transform:rotate(-7deg); opacity:.58; }
.publication-feature { background:var(--paper); color:#16232b; }
.publication-feature-grid { display:grid; grid-template-columns:minmax(330px,.78fr) minmax(0,1.22fr); gap:90px; align-items:center; }
.featured-publication-cover { margin:0; display:flex; flex-direction:column; align-items:center; }
.featured-publication-cover a { display:block; width:min(100%,570px); }
.featured-publication-cover img { display:block; width:100%; box-shadow:0 32px 70px rgba(22,27,30,.24); border:1px solid rgba(22,35,43,.12); }
.featured-publication-cover figcaption { margin-top:16px; color:#69757b; font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; }
.featured-publication-copy h2 { font-size:clamp(3.2rem,6vw,6.5rem); margin-bottom:6px; }
.publication-subtitle { color:#9a6d34; font-family:var(--font-sans); font-size:1.18rem; margin-bottom:26px; }
.featured-publication-copy > p:not(.eyebrow):not(.publication-subtitle) { color:#53636b; font-size:1.03rem; line-height:1.85; max-width:700px; }
.publication-meta { margin:34px 0; border-top:1px solid rgba(22,35,43,.16); }
.publication-meta div { display:grid; grid-template-columns:105px 1fr; gap:18px; padding:13px 0; border-bottom:1px solid rgba(22,35,43,.16); }
.publication-meta dt { color:#78858b; text-transform:uppercase; letter-spacing:.1em; font-size:.67rem; }
.publication-meta dd { margin:0; color:#26363e; }
.dark-ghost { border-color:rgba(22,35,43,.25); color:#1b2b34; }
.dark-ghost:hover { border-color:#b5864d; color:#6f4e28; }
.publishing-formats { background:#071018; }
.publishing-format-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.publishing-format-card { border:1px solid var(--line); background:#0b1720; overflow:hidden; padding-bottom:30px; }
.format-image { height:240px; overflow:hidden; background:#16232b; }
.format-image img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.format-image.contain { background:#e9e4db; padding:16px; }
.format-image.contain img { object-fit:contain; }
.format-image.poster-crop img { object-position:center 30%; }
.publishing-format-card:hover .format-image img { transform:scale(1.025); }
.publishing-format-card > span { display:block; color:var(--sand); letter-spacing:.14em; font-size:.68rem; padding:25px 28px 6px; }
.publishing-format-card h3 { font-size:1.55rem; margin:0 28px 13px; }
.publishing-format-card p { color:var(--muted); margin:0 28px; font-size:.9rem; }
.editorial-collaboration { background:var(--paper); color:#18262e; }
.editorial-grid { display:grid; grid-template-columns:1.1fr .7fr; gap:100px; align-items:center; }
.editorial-grid > div > p:not(.eyebrow) { color:#58676e; max-width:750px; font-size:1.02rem; }
.partner-list.large { margin-top:36px; }
.partner-list.large span { border-color:rgba(22,35,43,.18); color:#374952; background:rgba(255,255,255,.42); }
.editorial-grid blockquote { margin:0; padding:55px 45px; border-left:3px solid var(--sand); background:#e6ddd0; }
.editorial-grid blockquote p { margin:0 0 20px; font-style:italic; font-family:var(--font-sans); font-size:clamp(1.65rem,3vw,2.6rem); line-height:1.35; color:#23343c; }
.editorial-grid cite { color:#877054; font-style:normal; letter-spacing:.1em; text-transform:uppercase; font-size:.72rem; }
.publication-process { background:#0b1720; }
.publication-steps { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.publication-steps li { min-height:280px; padding:30px 27px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.publication-steps li > span { color:var(--sand); font-size:.72rem; letter-spacing:.14em; }
.publication-steps h3 { margin-top:36px; font-size:1.45rem; }
.publication-steps p { color:var(--muted); font-size:.88rem; }
.bibliography-section { background:#071018; }
.bibliography-grid { display:grid; grid-template-columns:.65fr 1.35fr; gap:85px; align-items:start; }
.bibliography-grid > div:first-child p:not(.eyebrow) { color:var(--muted); }
.bibliography-table { border-top:1px solid var(--line); }
.bibliography-row { display:grid; grid-template-columns:80px minmax(230px,1.2fr) minmax(120px,.65fr) minmax(190px,.8fr); gap:20px; align-items:center; min-height:78px; padding:0 20px; border-bottom:1px solid var(--line); color:#d8e0e3; text-decoration:none; transition:background .2s ease; }
.bibliography-row:not(.bibliography-head):hover { background:#0d1d27; }
.bibliography-head { min-height:48px; color:var(--muted); font-size:.66rem; letter-spacing:.1em; text-transform:uppercase; }
.bibliography-row strong { font-family:var(--font-sans); font-size:1.1rem; }
.publication-contact { background:#e8e0d5; }
@media (max-width:980px) {
  .publications-hero { min-height:520px; }
  .pub-hero-cover { width:350px; right:-30px; opacity:.48; }
  .pub-hero-poster { display:none; }
  .publication-feature-grid, .editorial-grid, .bibliography-grid { grid-template-columns:1fr; gap:50px; }
  .featured-publication-cover { max-width:650px; margin-inline:auto; }
  .publishing-format-grid { grid-template-columns:1fr 1fr; }
  .publication-steps { grid-template-columns:1fr 1fr; }
}
@media (max-width:640px) {
  .publications-hero { min-height:440px; }
  .pub-hero-cover { width:260px; right:-80px; top:25%; opacity:.34; }
  .publication-feature-grid { grid-template-columns:1fr; }
  .publication-meta div { grid-template-columns:1fr; gap:3px; }
  .featured-publication-copy .work-actions { flex-direction:column; }
  .publishing-format-grid, .publication-steps { grid-template-columns:1fr; }
  .format-image { height:220px; }
  .editorial-grid blockquote { padding:38px 28px; }
  .bibliography-row { grid-template-columns:58px 1fr; gap:8px 15px; padding:16px 12px; }
  .bibliography-row span:nth-child(3), .bibliography-row span:nth-child(4) { grid-column:2; }
  .bibliography-head span:nth-child(3), .bibliography-head span:nth-child(4) { display:none; }
}


/* Version 6 — commissioned work and structured enquiry */
.main-nav a.active { color:var(--sand-light); }
.main-nav a.active::after { right:0; }
.service-more { margin:32px 0 0; text-align:right; }
.contact-home { align-items:stretch; }
.contact-home-card { border:1px solid rgba(255,255,255,.14); background:#0b1720; padding:40px; display:flex; flex-direction:column; justify-content:center; }
.contact-home-card > span { color:var(--sand); font-size:.67rem; letter-spacing:.16em; font-weight:800; }
.contact-home-card h3 { margin:18px 0 16px; font-size:2rem; }
.contact-home-card p { color:var(--muted); }
.contact-home-card .button { align-self:flex-start; margin-top:15px; }
.commission-hero { min-height:760px; }
.commission-hero-art { position:absolute; inset:0; overflow:hidden; }
.commission-hero-art::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(4,10,15,.98) 0%,rgba(4,10,15,.9) 42%,rgba(4,10,15,.34) 77%,rgba(4,10,15,.7) 100%),linear-gradient(0deg,#071018 0%,transparent 30%); }
.commission-scene { width:100%; height:100%; object-fit:cover; object-position:center; filter:saturate(.78) contrast(1.05); }
.commission-profile { position:absolute; z-index:1; right:4%; width:37%; object-fit:contain; padding:14px; background:rgba(232,226,216,.92); border:1px solid rgba(255,255,255,.28); box-shadow:0 25px 70px rgba(0,0,0,.45); }
.profile-a { bottom:8%; transform:rotate(-2deg); }
.profile-b { top:16%; right:9%; transform:rotate(3deg); opacity:.82; }
.commission-hero .shell { position:relative; z-index:3; padding-top:160px; }
.commission-hero h1 { max-width:760px; }
.commission-hero p:not(.eyebrow) { max-width:710px; color:#cbd4d8; font-size:1.15rem; }
.commission-services { background:var(--paper); color:#17242c; }
.commission-services .section-heading p:last-child { color:#57676f; }
.commission-card-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.commission-card { background:#f3eee6; border:1px solid rgba(23,36,44,.15); padding-bottom:30px; overflow:hidden; }
.commission-card > img { width:100%; height:245px; object-fit:cover; background:#e5dfd5; }
.commission-card:nth-child(1) > img, .commission-card:nth-child(4) > img, .commission-card:nth-child(6) > img { object-fit:contain; padding:14px; }
.commission-card > span { display:block; padding:26px 28px 4px; color:#a4763e; font-size:.7rem; letter-spacing:.16em; font-weight:800; }
.commission-card h3 { margin:7px 28px 13px; font-size:1.65rem; }
.commission-card p { margin:0 28px; color:#596970; font-size:.91rem; }
.commission-process { background:#071018; }
.commission-steps { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(5,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.commission-steps li { min-height:300px; padding:30px 25px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.commission-steps li > span { color:var(--sand); font-size:.72rem; letter-spacing:.14em; }
.commission-steps h3 { margin-top:48px; font-size:1.5rem; }
.commission-steps p { color:var(--muted); font-size:.88rem; }
.commission-brief { background:#0b1720; }
.brief-grid { display:grid; grid-template-columns:.75fr 1.25fr; gap:90px; align-items:start; }
.brief-grid > div > p:not(.eyebrow) { color:var(--muted); max-width:560px; }
.brief-grid .button { margin-top:25px; }
.brief-checklist { margin:0; padding:0; list-style:none; border-top:1px solid var(--line); }
.brief-checklist li { display:grid; grid-template-columns:minmax(190px,.7fr) 1.3fr; gap:30px; padding:24px 0; border-bottom:1px solid var(--line); }
.brief-checklist strong { font-family:var(--font-sans); font-size:1.15rem; }
.brief-checklist span { color:var(--muted); }
.delivery-section { background:var(--paper); color:#17242c; }
.delivery-section .section-heading p:last-child { color:#58676e; }
.delivery-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(23,36,44,.18); border-left:1px solid rgba(23,36,44,.18); }
.delivery-grid article { min-height:240px; padding:30px; border-right:1px solid rgba(23,36,44,.18); border-bottom:1px solid rgba(23,36,44,.18); }
.delivery-grid h3 { font-size:1.45rem; margin-top:25px; }
.delivery-grid p { color:#5d6b72; font-size:.9rem; }
.commission-contact { background:#e8e0d5; }
.contact-page-hero { min-height:660px; }
.contact-hero-art { position:absolute; inset:0; overflow:hidden; }
.contact-hero-art::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(4,10,15,.98) 0%,rgba(4,10,15,.88) 52%,rgba(4,10,15,.26) 100%); }
.contact-hero-art > img { position:absolute; height:100%; width:50%; right:4%; object-fit:cover; object-position:center 18%; filter:saturate(.8); }
.contact-hero-strip { position:absolute; z-index:1; right:0; bottom:0; width:47%; height:165px; display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:#08131c; }
.contact-hero-strip img { width:100%; height:100%; object-fit:contain; padding:12px; background:rgba(232,226,216,.94); }
.contact-page-hero .shell { position:relative; z-index:3; }
.contact-page-hero h1 { max-width:760px; }
.contact-page-hero p:not(.eyebrow) { max-width:690px; color:#cbd4d8; font-size:1.12rem; }
.enquiry-section { background:var(--paper); color:#17242c; }
.enquiry-layout { display:grid; grid-template-columns:minmax(280px,.58fr) minmax(0,1.42fr); gap:80px; align-items:start; }
.enquiry-aside { position:sticky; top:125px; }
.enquiry-aside h2 { font-size:3.3rem; margin-bottom:12px; }
.contact-email-large { display:inline-block; color:#845f32; font-family:var(--font-sans); font-size:1.35rem; margin-bottom:30px; }
.enquiry-aside > p:not(.eyebrow) { color:#5a6870; }
.response-note { margin:34px 0; padding:25px 0; border-top:1px solid rgba(23,36,44,.17); border-bottom:1px solid rgba(23,36,44,.17); display:flex; flex-direction:column; gap:8px; }
.response-note strong { font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:#8b6638; }
.response-note span { color:#5a6870; font-size:.88rem; }
.enquiry-form { background:#f4efe7; border:1px solid rgba(23,36,44,.16); padding:46px; box-shadow:0 25px 60px rgba(35,31,27,.09); }
.form-intro { margin-bottom:34px; padding-bottom:28px; border-bottom:1px solid rgba(23,36,44,.16); }
.form-intro > span { color:#9b713e; font-size:.66rem; letter-spacing:.13em; font-weight:800; }
.form-intro h2 { font-size:2.6rem; margin:12px 0 0; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.form-grid label, .consent-line { display:flex; flex-direction:column; gap:8px; }
.form-grid label > span { color:#3e4c53; font-size:.72rem; letter-spacing:.06em; font-weight:750; text-transform:uppercase; }
.form-grid .full { grid-column:1/-1; }
.enquiry-form input, .enquiry-form select, .enquiry-form textarea { width:100%; border:1px solid rgba(23,36,44,.2); background:#fffdf9; color:#17242c; padding:13px 14px; outline:none; border-radius:0; }
.enquiry-form input:focus, .enquiry-form select:focus, .enquiry-form textarea:focus { border-color:#a6773f; box-shadow:0 0 0 3px rgba(166,119,63,.12); }
.enquiry-form input:invalid:not(:placeholder-shown), .enquiry-form textarea:invalid:not(:placeholder-shown) { border-color:#985a50; }
.consent-line { flex-direction:row; align-items:flex-start; gap:12px; margin:26px 0; color:#5c696f; font-size:.82rem; }
.consent-line input { width:auto; margin-top:4px; }
.form-submit-row { display:flex; align-items:center; gap:22px; }
.form-status { margin:0; color:#8b6638; font-size:.84rem; }
.privacy-note { display:block; margin-top:24px; color:#728087; line-height:1.6; }
@media (max-width:1050px) {
  .commission-card-grid { grid-template-columns:1fr 1fr; }
  .commission-steps { grid-template-columns:repeat(3,1fr); }
  .delivery-grid { grid-template-columns:1fr 1fr; }
  .brief-grid, .enquiry-layout { grid-template-columns:1fr; gap:50px; }
  .enquiry-aside { position:static; }
}
@media (max-width:760px) {
  .commission-hero { min-height:650px; }
  .commission-profile { display:none; }
  .commission-card-grid, .commission-steps, .delivery-grid { grid-template-columns:1fr; }
  .brief-checklist li { grid-template-columns:1fr; gap:5px; }
  .contact-hero-art > img { width:72%; right:-22%; opacity:.6; }
  .contact-hero-strip { display:none; }
  .enquiry-form { padding:28px 20px; }
  .form-grid { grid-template-columns:1fr; }
  .form-grid .full { grid-column:auto; }
  .form-submit-row { align-items:flex-start; flex-direction:column; }
  .contact-home-card { padding:28px; }
}


/* Version 7 — production readiness, privacy, 404 and preview attribution */
.gallery-card,.work-image-frame,.publication-visual,.commission-card{position:relative}
.gallery-card::after,.work-image-frame::after,.publication-visual::after{content:"© Jan Máče";position:absolute;right:12px;bottom:10px;z-index:4;padding:4px 7px;background:rgba(5,13,19,.62);color:rgba(255,255,255,.78);font-size:.58rem;letter-spacing:.08em;pointer-events:none}
.gallery-card img,.work-image-frame img,.publication-visual img{-webkit-user-drag:none;user-select:none}
.footer-inner{gap:22px;flex-wrap:wrap}.footer-privacy{margin-left:auto}.footer-privacy+ a[href="#top"]{margin-left:0}
.legal-hero{padding:190px 0 95px;background:linear-gradient(135deg,#071018,#142634);border-bottom:1px solid var(--line)}
.legal-hero h1{font-size:clamp(3.2rem,7vw,6rem);margin:10px 0 18px}.legal-hero p:not(.eyebrow){max-width:660px;color:var(--muted);font-size:1.12rem}
.legal-section{background:var(--paper);color:#17242c}.legal-layout{display:grid;grid-template-columns:.52fr 1.48fr;gap:90px;align-items:start}.legal-layout aside{position:sticky;top:125px}.legal-layout aside>p:not(.eyebrow){color:#5b6970}.legal-copy{max-width:780px}.legal-copy h2{font-size:2rem;margin:0 0 13px;padding-top:28px;border-top:1px solid rgba(23,36,44,.16)}.legal-copy h2:first-child{padding-top:0;border-top:0}.legal-copy p{color:#55656d;margin-bottom:38px}
.error-page{background:#071018}.error-main{min-height:100vh;display:flex;align-items:center;position:relative;overflow:hidden}.error-art{position:absolute;inset:0}.error-art img{width:100%;height:100%;object-fit:cover;filter:saturate(.62) contrast(1.08)}.error-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,10,15,.98),rgba(4,10,15,.86) 54%,rgba(4,10,15,.43)),linear-gradient(0deg,rgba(4,10,15,.88),transparent 55%)}.error-content{position:relative;z-index:2;padding-top:60px;padding-bottom:60px}.error-content .brand{display:inline-flex;margin-bottom:70px}.error-code{font-family:var(--font-sans);font-size:clamp(5rem,16vw,11rem);line-height:.75;color:rgba(209,164,105,.28);margin:0 0 20px}.error-content h1{font-size:clamp(2.8rem,6vw,5.8rem);max-width:800px;margin:0 0 22px}.error-content>p:not(.error-code){max-width:650px;color:#c6d0d4;font-size:1.08rem}.error-lang{margin-top:38px}
@media(max-width:900px){.legal-layout{grid-template-columns:1fr;gap:50px}.legal-layout aside{position:static}.footer-privacy{margin-left:0}}
@media(max-width:620px){.legal-hero{padding:145px 0 70px}.error-content .brand{margin-bottom:45px}.error-main{align-items:flex-start}.error-content{padding-top:35px}.gallery-card::after,.work-image-frame::after{font-size:.52rem}}


/* Version 9 — expanded publications catalogue */
.publications-hero-v9{min-height:720px;display:flex;align-items:center;overflow:hidden}.publications-hero-v9>.shell{position:relative;z-index:3;padding-top:80px}.publications-hero-v9 h1{font-size:clamp(4.4rem,10vw,9.2rem);margin:4px 0 22px}.publications-hero-v9 p:not(.eyebrow){max-width:710px;color:#ced7db;font-size:1.14rem}.publication-hero-art-v9{position:absolute;inset:0;overflow:hidden}.publication-hero-art-v9:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,12,18,.99) 0%,rgba(5,12,18,.92) 49%,rgba(5,12,18,.45) 73%,rgba(5,12,18,.82) 100%),linear-gradient(0deg,rgba(5,12,18,.84),transparent 55%)}.pub-stack{position:absolute;right:3%;top:9%;height:78%;width:auto;object-fit:contain;box-shadow:0 35px 80px rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.18);background:white}.pub-stack-a{right:29%;transform:rotate(-7deg);z-index:2}.pub-stack-b{right:14%;transform:rotate(2deg);z-index:3}.pub-stack-c{right:-1%;transform:rotate(8deg);z-index:1}.publication-hero-stats{display:flex;gap:38px;margin-top:38px;padding-top:28px;border-top:1px solid rgba(255,255,255,.16);max-width:760px}.publication-hero-stats span{display:flex;flex-direction:column;gap:3px}.publication-hero-stats strong{font-family:var(--font-sans);color:var(--sand);font-size:1.9rem}.publication-hero-stats small{color:#b8c3c8;font-size:.68rem;text-transform:uppercase;letter-spacing:.09em}
.current-publications{background:#08131c}.current-publication-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.publication-cover-button{appearance:none;border:0;text-align:left;padding:0;cursor:pointer;background:transparent;color:inherit;font:inherit;min-width:0}.publication-cover-button:focus-visible{outline:2px solid var(--sand);outline-offset:6px}.current-publication-card{display:grid;grid-template-columns:minmax(160px,.78fr) minmax(0,1.22fr);gap:22px;align-items:center;padding:24px;border:1px solid var(--line);background:#0d1c26;transition:transform .2s ease,border-color .2s ease,background .2s ease}.current-publication-card:hover{transform:translateY(-5px);border-color:rgba(209,164,105,.55);background:#11232f}.publication-cover-frame{display:grid;place-items:center;background:#e9e4dc;overflow:hidden;box-shadow:0 20px 45px rgba(0,0,0,.28)}.publication-cover-frame img{display:block;width:100%;height:auto;max-height:100%;object-fit:contain;-webkit-user-drag:none}.current-publication-card .publication-cover-frame{aspect-ratio:3/4.25}.publication-card-copy{display:flex;flex-direction:column;min-width:0}.publication-card-copy small{color:var(--sand);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;font-style:normal}.publication-card-copy strong{font-family:var(--font-sans);font-size:1.5rem;line-height:1.12;margin:11px 0}.publication-card-copy span{color:#c3cdd1;font-size:.86rem;line-height:1.5}.publication-card-copy em{color:var(--muted);font-size:.73rem;font-style:normal;margin-top:15px}
.publication-books{background:var(--paper);color:#17242c}.publication-books .section-heading p:last-child{color:#5a6870}.book-publication-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}.book-publication-card{height:100%;display:flex;flex-direction:column;background:#f4efe7;border:1px solid rgba(23,36,44,.15);transition:transform .2s ease,box-shadow .2s ease}.book-publication-card:hover{transform:translateY(-5px);box-shadow:0 22px 45px rgba(35,31,27,.13)}.book-publication-card .publication-cover-frame{aspect-ratio:3/4.2;background:#e4ded4;padding:10px}.book-publication-card .publication-card-copy{padding:20px 19px 22px;flex:1}.book-publication-card .publication-card-copy small{color:#9b713e}.book-publication-card .publication-card-copy strong{font-size:1.12rem}.book-publication-card .publication-card-copy span{color:#4d5c64}.book-publication-card .publication-card-copy em{color:#6d797f}
.publication-catalog-section{background:#071018}.publication-tools{display:grid;grid-template-columns:1fr minmax(260px,390px);gap:25px;align-items:center;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.publication-filters{display:flex;flex-wrap:wrap;gap:8px}.publication-filter{appearance:none;border:1px solid var(--line);background:transparent;color:#b8c3c8;padding:10px 14px;cursor:pointer;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.publication-filter:hover,.publication-filter.active{background:var(--sand);border-color:var(--sand);color:#17242c}.publication-search input{width:100%;background:#0c1a24;border:1px solid var(--line);color:#e8edef;padding:12px 14px;outline:none}.publication-search input:focus{border-color:var(--sand);box-shadow:0 0 0 3px rgba(209,164,105,.12)}.publication-result-line{display:flex;justify-content:space-between;gap:30px;align-items:center;margin:22px 0 28px}.publication-result-line strong{color:var(--sand);font-size:.78rem;letter-spacing:.09em;text-transform:uppercase}.publication-result-line span{color:var(--muted);font-size:.78rem}.publication-catalog-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}.publication-catalog-item{min-width:0}.publication-catalog-item.hidden{display:none}.catalog-publication-card{height:100%;display:flex;flex-direction:column;background:#0d1b25;border:1px solid var(--line);transition:transform .18s ease,border-color .18s ease}.catalog-publication-card:hover{transform:translateY(-4px);border-color:rgba(209,164,105,.55)}.catalog-publication-card .publication-cover-frame{aspect-ratio:3/4.25;background:#e8e3dc;padding:7px}.catalog-publication-card .publication-card-copy{padding:15px 14px 17px;flex:1}.catalog-publication-card .publication-card-copy strong{font-size:.98rem;margin:8px 0}.catalog-publication-card .publication-card-copy span{color:#aebbc0;font-size:.72rem}.catalog-publication-card .publication-card-copy em{font-size:.65rem;margin-top:10px}.publication-empty{display:none;padding:65px 25px;border:1px solid var(--line);color:var(--muted);text-align:center}.publication-empty.visible{display:block}
.publication-dialog{width:min(1100px,94vw);max-height:92vh;padding:0;border:1px solid rgba(255,255,255,.18);background:#071018;color:#eaf0f2;box-shadow:0 35px 100px rgba(0,0,0,.75)}.publication-dialog::backdrop{background:rgba(0,0,0,.82);backdrop-filter:blur(5px)}.publication-dialog-close{position:absolute;right:15px;top:13px;z-index:3;width:42px;height:42px;border:1px solid rgba(255,255,255,.24);background:rgba(6,15,22,.78);color:white;font-size:1.8rem;line-height:1;cursor:pointer}.publication-dialog-layout{display:grid;grid-template-columns:minmax(320px,.82fr) minmax(0,1.18fr);min-height:620px}.publication-dialog figure{margin:0;display:grid;place-items:center;padding:35px;background:#e8e3dc;overflow:auto}.publication-dialog figure img{display:block;max-width:100%;max-height:80vh;width:auto;height:auto;box-shadow:0 25px 60px rgba(0,0,0,.25)}.publication-dialog-copy{padding:75px 55px;align-self:center}.publication-dialog-copy h2{font-size:clamp(2.2rem,4.7vw,4.8rem);margin:10px 0 15px}.publication-dialog-subtitle{font-family:var(--font-sans);color:#d6a66c;font-size:1.12rem}.publication-dialog-meta{color:#9aabb2;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;margin:25px 0}.publication-dialog-copy>p:last-child{color:var(--muted)}
@media(max-width:1200px){.book-publication-grid{grid-template-columns:repeat(4,1fr)}.publication-catalog-grid{grid-template-columns:repeat(5,1fr)}.current-publication-card{grid-template-columns:1fr}.current-publication-card .publication-cover-frame{max-height:440px}}
@media(max-width:980px){.pub-stack-a{right:32%}.pub-stack-b{right:8%}.pub-stack-c{display:none}.publications-hero-v9:after{content:"";position:absolute;inset:0;background:rgba(5,12,18,.22)}.current-publication-grid{grid-template-columns:1fr 1fr}.book-publication-grid{grid-template-columns:repeat(3,1fr)}.publication-catalog-grid{grid-template-columns:repeat(4,1fr)}.publication-dialog-layout{grid-template-columns:1fr;max-height:92vh;overflow:auto}.publication-dialog figure{min-height:400px}.publication-dialog-copy{padding:42px 35px}.publication-tools{grid-template-columns:1fr}}
@media(max-width:720px){.publications-hero-v9{min-height:650px}.pub-stack{height:58%;top:18%;opacity:.48}.pub-stack-a{right:16%}.pub-stack-b{right:-18%}.publication-hero-stats{gap:20px;flex-wrap:wrap}.current-publication-grid{grid-template-columns:1fr}.current-publication-card{grid-template-columns:minmax(130px,.72fr) minmax(0,1.28fr)}.book-publication-grid{grid-template-columns:repeat(2,1fr)}.publication-catalog-grid{grid-template-columns:repeat(3,1fr)}.publication-result-line{align-items:flex-start;flex-direction:column;gap:7px}.publication-dialog figure{padding:24px;min-height:340px}.publication-dialog-copy{padding:35px 24px}.publication-dialog-close{position:fixed;right:5vw;top:5vh}}
@media(max-width:500px){.publications-hero-v9 h1{font-size:3.8rem}.current-publication-card{grid-template-columns:1fr}.book-publication-grid{grid-template-columns:1fr 1fr;gap:10px}.book-publication-card .publication-card-copy{padding:14px 12px}.book-publication-card .publication-card-copy strong{font-size:.94rem}.book-publication-card .publication-card-copy span,.book-publication-card .publication-card-copy em{font-size:.65rem}.publication-catalog-grid{grid-template-columns:1fr 1fr;gap:10px}.catalog-publication-card .publication-card-copy{padding:12px 10px}.catalog-publication-card .publication-card-copy strong{font-size:.84rem}.catalog-publication-card .publication-card-copy span{font-size:.64rem}.publication-filters{gap:5px}.publication-filter{padding:9px 10px;font-size:.64rem}}
