:root{--paper:#f5f2e9;--ink:#122f59;--red:#eda326}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--red);outline-offset:6px}.wrap{max-width:1440px;padding:0 5.2%;margin:auto}header{height:116px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--ink);margin-bottom:48px}.logo{text-decoration:none;font-size:clamp(30px,4vw,53px);font-weight:750;letter-spacing:-2.6px;display:flex;align-items:center;gap:12px}.logo:after{content:'';background:var(--red);width:20px;height:20px}nav a{font-size:24px;text-decoration:none}nav a:hover,nav a[aria-current]{text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:8px}.portrait{position:relative;overflow:hidden;aspect-ratio:1380/537;background:#222}.portrait img{position:absolute;width:111.304%;max-width:none;left:-5.725%;top:-28.678%}.portrait figcaption{position:absolute;bottom:14px;left:20px;color:#fff;font-size:11px;letter-spacing:1.4px;text-transform:uppercase;background:#222;padding:7px}.portrait{margin:0}h1{font-size:clamp(44px,6vw,78px);line-height:1.04;letter-spacing:-3px;font-weight:700;margin:45px 0 22px}.intro{font-size:clamp(20px,2.15vw,29px);line-height:1.48;margin:0 0 66px;max-width:1250px}.list-title{margin:50px 0 55px}.event{border-bottom:1px solid var(--ink);padding:28px 0;display:grid;grid-template-columns:31% 1fr auto;gap:34px;align-items:center}.event:first-child{padding-top:0}.event:last-child{border:0}.event-photo{aspect-ratio:316/198;position:relative;overflow:hidden;background:#222}.event-photo img{position:absolute;width:324.05%;max-width:none;left:-15.82%;top:var(--crop)}.month{font-size:14px;letter-spacing:2px;text-transform:uppercase;margin:0 0 18px}.event h2{font-size:clamp(25px,3.8vw,49px);letter-spacing:-1.7px;margin:0 0 8px;line-height:1}.genre{font-size:19px;line-height:1.4;margin:0}.more{border:1px solid var(--ink);padding:12px 17px;background:transparent;color:inherit;cursor:pointer;white-space:nowrap;font-size:18px;transition:background .18s,color .18s}.more:hover{background:var(--ink);color:var(--paper)}.more span{margin-left:16px}.note{font-size:12px;color:#666;line-height:1.6;margin:25px 0 45px}.details{grid-column:2/-1;max-width:730px;padding:0 0 8px;font-size:18px;line-height:1.6}.details[hidden]{display:none}.details p{margin:0 0 12px}.pending{font-size:14px;color:#666}footer{border-top:1px solid #c5c1ba;padding:22px 0 28px;font-size:12px;letter-spacing:.5px;color:#666;display:flex;justify-content:space-between}footer a{text-decoration:none}.skip{position:absolute;top:-100px}.skip:focus{top:10px;background:var(--paper);z-index:10;padding:10px}@media(max-width:700px){.wrap{padding:0 6%}header{height:89px;margin-bottom:28px}.logo{font-size:33px;letter-spacing:-1.8px;gap:8px}.logo:after{width:13px;height:13px}nav a{font-size:17px}.portrait{aspect-ratio:1.15}.portrait img{width:250%;left:-78%;top:-28%}.portrait figcaption{left:10px;bottom:9px;font-size:9px}h1{letter-spacing:-1.8px;margin-top:30px}.intro{margin-bottom:40px}.list-title{margin:34px 0}.event{grid-template-columns:34% 1fr;gap:18px;padding:24px 0}.event h2{font-size:28px;letter-spacing:-1px}.month{font-size:11px;letter-spacing:1.3px;margin-bottom:10px}.genre{font-size:15px}.more{grid-column:2;justify-self:start;font-size:14px;padding:8px 12px;margin-top:-4px}.details{grid-column:1/-1;font-size:17px}.event-photo{align-self:start}.note{font-size:11px}footer{font-size:11px}}

/* Saját portré: természetes színek, arcot megőrző képkivágás. */
.portrait{aspect-ratio:1.85}.portrait img{position:static;display:block;width:100%;height:100%;object-fit:cover;object-position:50% 20%;max-width:100%}
@media(max-width:700px){.portrait{aspect-ratio:1.12}.portrait img{width:100%;height:100%;object-position:43% 36%}}

/* Az eredeti EtikaLabor-logó és színpalettája. */
header{height:160px;margin-bottom:38px;border-bottom-color:rgba(18,47,89,.4)}
.logo{display:block;line-height:0;flex-shrink:0;letter-spacing:normal}
.logo:after{display:none}
.logo img{display:block;width:136px;height:136px;border-radius:50%}
.intro,.details{color:#252c35}
.event{border-bottom-color:rgba(18,47,89,.35)}
.more{border-color:var(--ink)}
.more:hover{background:var(--ink);color:var(--paper);box-shadow:inset 0 -3px 0 var(--red)}
.month{color:#60502f}
footer{border-top-color:rgba(18,47,89,.25);color:#4b596b}
::selection{background:#eda326;color:#122f59}
@media(max-width:700px){header{height:118px;margin-bottom:26px}.logo img{width:100px;height:100px}nav a{font-size:18px}}

.biography{max-width:900px;margin:42px 0 80px}.bio-section{margin:0 0 36px}.bio-section h2{font-size:clamp(24px,2.5vw,32px);line-height:1.2;letter-spacing:-.65px;margin:0 0 13px}.bio-section p{font-size:clamp(18px,1.7vw,23px);line-height:1.65;color:#252c35;margin:0}.bio-section:last-child{margin-bottom:0}@media(max-width:700px){.biography{margin:30px 0 48px}.bio-section{margin-bottom:30px}}

/* Teljes plakátok, képkivágás nélkül. */
.event-poster{aspect-ratio:auto;background:transparent;overflow:visible}.event-poster a{display:block}.event-poster img{position:static;display:block;width:100%;max-width:100%;height:auto}.event-poster a:hover{outline:2px solid var(--red);outline-offset:4px}
@media(max-width:700px){.event{grid-template-columns:1fr;gap:18px}.event-poster{width:min(100%,380px)}.event .more{grid-column:1;margin-top:0}.event .details{grid-column:1}.event h2{font-size:34px}.event .month{margin-bottom:10px}}

.event-summary{font-size:15px;line-height:1.6;margin:12px 0 0;color:#4b596b}.event-lead{font-size:1.16em;color:var(--ink)}.details h3{font-size:1.05em;margin:24px 0 10px;color:var(--ink)}.event-steps{padding-left:1.4em;margin:0 0 22px}.event-steps li{padding-left:.2em;margin-bottom:9px}.ticket-link{display:inline-block;background:var(--ink);color:var(--paper);padding:13px 19px;text-decoration:none;border-bottom:3px solid var(--red);margin:8px 0 4px}.ticket-link:hover{background:#20436f}.event-signature{font-size:14px;color:#4b596b}

.admission-note{border-left:3px solid var(--red);padding:12px 18px;background:rgba(237,163,38,.07);font-size:16px;line-height:1.65}

.contact{border-top:1px solid rgba(18,47,89,.35);padding:42px 0 56px}.contact h2{font-size:clamp(30px,3.5vw,44px);line-height:1.1;letter-spacing:-1px;margin:0 0 28px}.contact-links{display:flex;flex-wrap:wrap;gap:26px 80px}.contact-label{font-size:12px;letter-spacing:1.7px;text-transform:uppercase;color:#4b596b;margin:0 0 12px}.contact-links a{font-size:clamp(18px,2vw,24px);line-height:1.6;text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:7px;overflow-wrap:anywhere}.contact-links a:hover{text-decoration-color:var(--ink)}@media(max-width:700px){.contact{padding:30px 0 40px}.contact-links{flex-direction:column;gap:24px}.contact h2{margin-bottom:24px}}
