@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');

:root{
  --ink:#171717;
  --paper:#f4f1eb;
  --paper2:#ebe6de;
  --line:#d8d1c7;
  --muted:#77716a;
  --accent:#a54532;
  --dark:#171716;
  --white:#f8f6f1;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'Manrope',Arial,sans-serif;line-height:1.65}
a{color:inherit}
nav{height:76px;border-bottom:1px solid #3a3937;display:flex;align-items:center;justify-content:space-between;padding:0 6vw}
.logo{font-weight:800;letter-spacing:.18em;text-decoration:none;font-size:12px}
.navlinks{display:flex;gap:30px}
.navlinks a{text-decoration:none;text-transform:uppercase;letter-spacing:.11em;font-size:10px;color:#aaa}
.navlinks a:hover{color:#fff}
.hamb{display:none;background:none;color:#fff;border:0;font-size:24px}
.hero{background:var(--dark);color:var(--white);min-height:92vh}
.hero-grid{width:88vw;max-width:1260px;margin:auto;display:grid;grid-template-columns:1.1fr .9fr;min-height:calc(92vh - 76px);align-items:center;gap:7vw}
.hero-copy{padding:7vh 0}
.kicker,.label{font-size:10px;text-transform:uppercase;letter-spacing:.2em;color:#999}
.hero h1{font-weight:500;font-size:clamp(64px,9vw,132px);line-height:.86;letter-spacing:-.07em;margin:28px 0 48px}
.hero h1 em{font-style:normal;font-weight:400}
.hero blockquote{max-width:780px;margin:0;font-size:clamp(24px,2.7vw,40px);line-height:1.25;font-weight:500;letter-spacing:-.035em}
.hero cite{display:block;margin-top:16px;font-size:11px;letter-spacing:.12em;color:#aaa;font-style:normal}
.hero-desc{max-width:720px;color:#aaa;margin:38px 0 0;font-size:15px;line-height:1.8}
.source{margin-top:8px;color:#777;font-size:10px;letter-spacing:.1em}
.portrait-wrap{margin:0;aspect-ratio:4/5;max-height:650px;overflow:hidden;background:#252421}
.portrait-photo{width:100%;height:100%;display:block;object-fit:cover;object-position:center top;filter:grayscale(100%);transition:filter .4s ease}
.portrait-wrap:hover .portrait-photo{filter:grayscale(65%)}

.facts{display:grid;grid-template-columns:repeat(4,1fr);background:var(--paper2);border-bottom:1px solid var(--line)}
.facts div{padding:28px 6vw;border-right:1px solid var(--line)}
.facts b{font-size:25px;font-weight:600;display:block;letter-spacing:-.04em}
.facts span{font-size:9px;letter-spacing:.13em;color:var(--muted)}

.section{display:grid;grid-template-columns:22% 78%;padding:105px 6vw;border-bottom:1px solid var(--line)}
.section aside{font-size:10px;letter-spacing:.18em;color:var(--muted)}
.section-body{min-width:0}
.section h2{font-size:clamp(36px,5vw,64px);line-height:1.04;font-weight:500;letter-spacing:-.06em;margin:0 0 35px;max-width:980px}
.section p{max-width:820px;font-size:16px}
.arrow,.text-link{display:inline-block;text-decoration:none;font-size:11px;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid currentColor;padding-bottom:4px}
.statement{padding:90px 12vw;background:#e5dfd5}
.statement p{max-width:980px;margin:0;font-size:clamp(25px,3.5vw,48px);line-height:1.25;font-weight:500;letter-spacing:-.04em}
.statement small{display:block;margin-top:22px;color:var(--muted);font-size:11px;letter-spacing:.08em}

.book-list{display:grid;gap:42px}
.book{display:grid;grid-template-columns:1fr 210px;gap:45px;padding:0 0 42px;border-bottom:1px solid var(--line)}
.book:last-child{border-bottom:0}
.book-year{font-size:10px;color:var(--muted);letter-spacing:.15em}
.book h3{font-size:42px;font-weight:600;letter-spacing:-.05em;margin:5px 0 10px}
.authors{font-size:15px!important;font-weight:600}
.book-meta p{margin:7px 0}
.book-cover{min-height:285px;overflow:hidden;background:#e7e1d7}
.book-cover img{width:100%;height:100%;min-height:285px;display:block;object-fit:cover;object-position:center}
.text-link{margin-top:18px}

.publications{background:#faf8f4}
.publication-list{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.publication-list a{display:block;text-decoration:none;padding:21px 20px 21px 0;border-bottom:1px solid var(--line);transition:padding .2s}
.publication-list a:hover{padding-left:8px}
.publication-list strong{display:block;font-size:16px;font-weight:700}
.publication-list span{display:block;color:var(--muted);font-size:12px;margin-top:4px}
.subheading{margin-top:45px;text-transform:uppercase;font-size:10px;letter-spacing:.17em;color:var(--muted)}
.journal-inline{font-size:13px!important;color:#57524c;line-height:2}

.events{background:var(--paper2)}
.event{border-top:1px solid var(--line);padding-top:30px}
.event>span{font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:var(--muted)}
.event h3{font-size:28px;font-weight:600;letter-spacing:-.04em;margin:14px 0}
.event p{max-width:700px}

.press{background:var(--dark);color:#eee;border-bottom:0}
.press aside{color:#777}
.pressgrid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#3a3937}
.pressgrid a{background:var(--dark);padding:28px;text-decoration:none;min-height:155px;transition:background .2s}
.pressgrid a:hover{background:#242321}
.pressgrid small{display:block;color:#888;text-transform:uppercase;letter-spacing:.12em;font-size:9px}
.pressgrid strong{display:block;font-size:20px;line-height:1.3;font-weight:600;letter-spacing:-.025em;margin-top:16px}

.contact{background:var(--accent);color:#fff;padding:95px 6vw}
.contact>div{margin-left:22%;max-width:900px}
.contact .label{color:#e7b6aa}
.contact h2{font-size:clamp(35px,5vw,62px);line-height:1.08;font-weight:500;letter-spacing:-.055em;max-width:900px}
.contact p{font-size:14px;margin-bottom:6px}
.contact a{font-size:21px;text-decoration:none;border-bottom:1px solid #fff;padding-bottom:3px}
footer{background:var(--dark);color:#777;padding:24px 6vw;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.12em;text-transform:uppercase}

@media(max-width:850px){
  .navlinks{display:none}
  .navlinks.open{display:flex;position:absolute;top:76px;left:0;right:0;background:var(--dark);z-index:5;flex-direction:column;padding:22px 6vw;gap:18px}
  .hamb{display:block}
  .hero-grid,.section{grid-template-columns:1fr}
  .hero-grid{padding:48px 0;gap:40px}
  .portrait-wrap{order:-1;max-height:480px}
  .facts{grid-template-columns:1fr 1fr}
  .facts div{padding:22px}
  .section{padding:72px 7vw;gap:35px}
  .book{grid-template-columns:1fr;gap:25px}
  .book-cover{min-height:210px}.book-cover img{min-height:210px}
  .publication-list,.pressgrid{grid-template-columns:1fr}
  .contact>div{margin-left:0}
  footer{flex-direction:column;gap:10px}
}


/* Eseménygaléria */
.event-gallery{margin-top:52px}
.gallery-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:18px}
.gallery-heading span{text-transform:uppercase;letter-spacing:.16em;font-size:10px;font-weight:700}
.gallery-heading small{font-size:10px;letter-spacing:.08em;color:var(--muted)}
.poster-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.poster{position:relative;display:block;overflow:hidden;aspect-ratio:4/5;background:#d8d1c7;text-decoration:none}
.poster.landscape{grid-column:span 2;aspect-ratio:16/8.6}
.poster img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .35s ease}
.poster::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 55%,rgba(0,0,0,.34));opacity:.25;transition:opacity .3s ease;pointer-events:none}
.poster-index{position:absolute;z-index:1;left:14px;bottom:11px;color:#fff;font-size:9px;letter-spacing:.15em;opacity:.85}
.poster:hover img{transform:scale(1.035);filter:saturate(.92)}
.poster:hover::after{opacity:.55}

@media(max-width:850px){
  .poster-grid{grid-template-columns:1fr 1fr;gap:8px}
  .poster,.poster.landscape{grid-column:span 1;aspect-ratio:4/5}
  .poster.landscape:nth-child(3n){grid-column:span 2;aspect-ratio:16/9}
  .gallery-heading{margin-bottom:14px}
}
@media(max-width:520px){
  .poster-grid{grid-template-columns:1fr}
  .poster,.poster.landscape,.poster.landscape:nth-child(3n){grid-column:span 1;aspect-ratio:4/5}
}


/* Plakátgaléria – teljes plakát látható */
.event-gallery{margin-top:56px}
.poster-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.poster{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;aspect-ratio:3/4;background:#ded8cf;border:1px solid var(--line);text-decoration:none}
.poster.landscape{grid-column:span 2;aspect-ratio:16/8.4}
.poster img{width:100%;height:100%;display:block;object-fit:contain;transition:transform .45s ease,filter .3s ease}
.poster:hover img{transform:scale(1.015);filter:brightness(.96)}
.poster-index{position:absolute;z-index:2;left:12px;bottom:10px;padding:4px 7px;background:rgba(23,23,23,.72);color:#fff;font-size:9px;letter-spacing:.15em}
.gallery-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:18px}
.gallery-heading span{text-transform:uppercase;letter-spacing:.16em;font-size:10px;font-weight:700}
.gallery-heading small{font-size:10px;letter-spacing:.08em;color:var(--muted)}
@media(max-width:850px){.poster-grid{grid-template-columns:1fr 1fr;gap:10px}.poster,.poster.landscape{grid-column:span 1;aspect-ratio:3/4}.poster.landscape:nth-child(3n){grid-column:span 2;aspect-ratio:16/9}}
@media(max-width:520px){.poster-grid{grid-template-columns:1fr}.poster,.poster.landscape,.poster.landscape:nth-child(3n){grid-column:span 1;aspect-ratio:3/4}.gallery-heading{display:block}.gallery-heading small{display:block;margin-top:5px}}
