:root {
  --ink: #202433;
  --paper: #fffaf1;
  --turquoise: #2bcac5;
  --pink: #f6b6cb;
  --lilac: #c6eaf2;
  --apple: #afd94e;
  --sun: #ffd45b;
  --line: rgba(32, 36, 51, .16);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { background: var(--paper); color: var(--ink); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.5; margin: 0; }
a { color: inherit; }
.site-header { align-items: center; background: var(--paper); border-bottom: 1px solid var(--line); display: flex; height: 76px; justify-content: space-between; padding: 0 clamp(1.1rem, 5vw, 5.8rem); position: relative; z-index: 3; }
.brand { font-family: Georgia, serif; font-size: 2rem; font-weight: 700; letter-spacing: -.08em; text-decoration: none; }
.brand span { color: var(--pink); }
nav { display: flex; gap: clamp(.9rem, 2.8vw, 2.4rem); margin-left: auto; margin-right: clamp(1rem, 3vw, 3rem); }
nav a { font-family: Georgia, "Times New Roman", serif; font-size: 1.05rem; font-weight: 700; letter-spacing: -.035em; text-decoration: none; }
nav a:hover, .text-link:hover { color: #ae4e73; }
.header-sticker { background: var(--sun); border: 2px solid var(--ink); border-radius: 999px; font-size: .69rem; font-weight: 800; padding: .48rem .75rem; transform: rotate(3deg); }

.hero { background: var(--turquoise); display: grid; gap: 4vw; grid-template-columns: 1fr minmax(300px, .86fr); min-height: 540px; overflow: hidden; padding: clamp(2.5rem, 6vw, 5.5rem) clamp(1.2rem, 9vw, 9rem); position: relative; }
.hero-copy { align-self: center; max-width: 650px; position: relative; z-index: 1; }
.eyebrow { font-size: .71rem; font-weight: 900; letter-spacing: .13em; margin: 0 0 1rem; text-transform: uppercase; }
h1, h2, h3 { font-family: Georgia, "Times New Roman", serif; font-weight: 500; letter-spacing: -.065em; line-height: .93; }
h1 { font-size: clamp(4.4rem, 10vw, 9.5rem); margin: 0; }
h2 { font-size: clamp(3rem, 6vw, 6rem); margin: 0; }
h3 { font-size: clamp(2.25rem, 4vw, 4.25rem); margin: .5rem 0 1.4rem; }
.hero-lead { font-family: Georgia, serif; font-size: clamp(1.2rem, 2.1vw, 1.65rem); line-height: 1.25; max-width: 470px; }
.button { align-items: center; border: 2px solid var(--ink); display: inline-flex; font-size: .83rem; font-weight: 900; gap: .8rem; margin-top: 1.2rem; padding: .8rem 1rem; text-decoration: none; text-transform: uppercase; }
.button span, .text-link span { font-size: 1.2rem; line-height: .7; }
.button-dark { background: var(--ink); color: var(--paper); }
.button-dark:hover { background: var(--lilac); color: var(--ink); }
.button-light { background: var(--paper); }
.button-apple { background: var(--apple); }
.button:hover { transform: translate(-2px, -2px); box-shadow: 4px 4px 0 var(--ink); }
.hero-picture { align-self: center; position: relative; text-decoration:none; transform: rotate(3deg); z-index: 1; }.hero-picture:hover { transform:rotate(3deg) translate(-3px,-3px); }
.picture-frame { background: var(--paper); border: 3px solid var(--ink); box-shadow: 11px 13px 0 var(--pink); padding: 12px 12px 38px; }
.picture-frame img { display: block; height: min(42vw, 440px); object-fit: cover; width: 100%; }
.photo-note { background:var(--paper); bottom:10px; display:flex; flex-direction:column; font-family:Georgia,serif; font-size:1rem; left:12px; line-height:1.15; padding:.32rem .45rem; position:absolute; z-index:1; }.photo-note small { font-family:Inter,ui-sans-serif,sans-serif; font-size:.58rem; font-weight:900; letter-spacing:.1em; margin-bottom:.25rem; text-transform:uppercase; }
.star { font-size: clamp(4rem, 8vw, 9rem); position: absolute; z-index: 0; }
.star-one { color: var(--sun); right: 4%; top: 9%; transform: rotate(17deg); }.star-two { bottom: -3%; color: var(--lilac); left: 6%; transform: rotate(-17deg); }

.intro-strip { align-items: center; background: var(--pink); display: flex; font-family: Georgia, serif; font-size: clamp(1.55rem, 3.4vw, 3.2rem); gap: 1rem; justify-content: space-between; padding: clamp(1.6rem, 4vw, 3.3rem) clamp(1.2rem, 9vw, 9rem); }.intro-strip p { margin: 0; }.intro-strip em { color: #80455f; }.squiggle { color: var(--paper); font-size: 4rem; }
.section { padding: clamp(4.6rem, 10vw, 9rem) clamp(1.2rem, 9vw, 9rem); }.section-heading { max-width: 760px; }.section-heading .eyebrow { color: #278f9e; }

.fresh { background: var(--paper); }.feature-card { background: var(--lilac); border: 3px solid var(--ink); display: grid; grid-template-columns: 1.2fr .8fr; margin-top: clamp(2rem, 5vw, 4.5rem); min-height: 440px; overflow: hidden; }.feature-copy { padding: clamp(2rem, 5vw, 5rem); }.feature-copy > p:not(.date) { font-size: 1.05rem; max-width: 580px; }.tag { border: 2px solid var(--ink); display: inline-block; font-size: .7rem; font-weight:900; letter-spacing: .08em; padding: .34rem .52rem; text-transform: uppercase; }.tag-pink { background: var(--pink); }.tag-green { background: var(--apple); }.date { font-size: .76rem; font-weight: 800; letter-spacing: .09em; margin: 1.6rem 0 0; text-transform: uppercase; }.text-link { border-bottom: 2px solid currentColor; font-size: .86rem; font-weight: 900; padding-bottom: .2rem; text-decoration: none; text-transform: uppercase; }.concert-poster { background:var(--ink); min-height:250px; overflow:hidden; position:relative; }.concert-poster img { display:block; height:100%; object-fit:cover; object-position:35% center; position:absolute; width:100%; }.concert-poster::after { background:linear-gradient(transparent 38%,rgba(32,36,51,.75)); bottom:0; content:""; inset:0; position:absolute; }.concert-poster span { background:var(--sun); border:2px solid var(--ink); bottom:1.5rem; color:var(--ink); font-family:Inter,ui-sans-serif,sans-serif; font-size:.68rem; font-weight:900; letter-spacing:.1em; padding:.55rem .7rem; position:absolute; right:1.1rem; text-transform:uppercase; transform:rotate(-3deg); z-index:1; }

.sections { background: #edf0ff; }.section-heading--split { align-items: end; display: flex; gap: 3rem; justify-content: space-between; max-width: none; }.section-heading--split > p { font-family: Georgia, serif; font-size: 1.3rem; line-height: 1.3; max-width: 340px; }.topic-grid { display: grid; gap: 13px; grid-template-columns: repeat(6, 1fr); margin-top: clamp(2.5rem, 6vw, 5rem); }.topic { border: 2px solid var(--ink); display: flex; flex-direction: column; min-height: 275px; padding: 1.2rem; position: relative; text-decoration: none; transition: transform .18s ease; }.topic:hover { transform: rotate(-1deg) translateY(-5px); }.topic:nth-child(1), .topic:nth-child(2) { grid-column: span 3; }.topic:nth-child(n+3) { grid-column: span 2; }.topic:nth-child(6) { grid-column: span 6; min-height:215px; }.topic small { font-size: .68rem; font-weight: 900; letter-spacing: .08em; margin-top: 1rem; text-transform: uppercase; }.topic strong { font-family: Georgia, serif; font-size: clamp(1.75rem, 3vw, 3.2rem); font-weight: 500; letter-spacing: -.06em; line-height: .94; margin-top: auto; }.topic i { font-size: 1.45rem; font-style: normal; position: absolute; right: 1rem; top: 1rem; }.topic-icon { align-items: center; background: var(--paper); border: 2px solid var(--ink); border-radius: 50%; display: flex; font-family: Georgia, serif; font-size: 1.6rem; height: 42px; justify-content: center; transform: rotate(-7deg); width: 42px; }.topic-icon svg { fill: var(--ink); height: 66%; width: 66%; }.topic-music { background: var(--pink); }.topic-motor { background: var(--turquoise); }.topic-ev { background: var(--apple); }.topic-bake { background: var(--sun); }.topic-home { background: var(--lilac); }.topic-ai { background:#cbd3ff; }

.georgia-band { background: #f1f1ee; color: var(--ink); display: grid; gap: clamp(3rem, 8vw, 9rem); grid-template-columns: 1fr 1fr; padding: clamp(4.5rem, 10vw, 9rem); }.georgia-copy { align-self: center; max-width: 570px; }.georgia-copy .eyebrow { color: #278f9e; margin-top: 1.4rem; }.georgia-copy p:not(.eyebrow) { color: #45495d; font-size: 1.1rem; max-width: 500px; }.georgia-collage { min-height: 460px; position: relative; }.georgia-collage figure { background: var(--paper); border: 2px solid var(--ink); box-shadow: 7px 8px 0 var(--turquoise); margin: 0; padding: 8px; position: absolute; }.georgia-collage img { display: block; height: 100%; object-fit: cover; width: 100%; }.collage-a { height: 74%; left: 3%; top: 0; transform: rotate(-4deg); width: 65%; }.collage-b { bottom: 0; height: 54%; right: 0; transform: rotate(5deg); width: 52%; }.route-doodle { align-items: center; background: var(--turquoise); border: 2px solid var(--ink); color: var(--ink); display: flex; flex-direction: column; left: 40%; padding: .65rem .8rem; position: absolute; text-align: center; top: 53%; transform: rotate(-9deg); }.route-flags { font-family: "Segoe UI Emoji", "Apple Color Emoji", sans-serif; font-size: 1.45rem; letter-spacing: .04em; line-height: 1.15; white-space: nowrap; }.route-doodle small { font-size: .58rem; font-weight: 900; letter-spacing: .1em; margin-top: .35rem; text-transform: uppercase; }

.archive { align-items: end; background: var(--paper); display: grid; gap: 3rem; grid-template-columns: 1fr .72fr; }.archive-copy { font-family: Georgia, serif; font-size: 1.35rem; line-height: 1.3; max-width: 500px; }.archive-copy p { margin-top: 0; }footer { align-items: center; background: var(--pink); display: flex; gap: 1.2rem; justify-content: space-between; padding: 2rem clamp(1.2rem, 9vw, 9rem); }footer .brand { font-size: 1.8rem; }footer p, footer span { font-size: .8rem; font-weight: 800; margin: 0; }

@media (max-width: 760px) { .site-header { height: 65px; }.header-sticker { display: none; }nav { margin-right: 0; }.hero, .feature-card, .georgia-band, .archive { grid-template-columns: 1fr; }.hero { min-height: 0; padding-bottom: 5rem; }.hero-picture { margin: 1rem 5vw 0; }.picture-frame img { height: 380px; }.intro-strip { align-items: flex-start; }.squiggle { display: none; }.section-heading--split { align-items: start; flex-direction: column; gap: 1rem; }.section-heading--split > p { margin: 0; }.topic-grid { grid-template-columns: 1fr 1fr; }.topic:nth-child(n) { grid-column: span 1; min-height: 220px; }.topic:nth-child(1) { grid-column: span 2; }.topic strong { font-size: 1.8rem; }.georgia-collage { min-height: 380px; }.archive { align-items: start; }footer { align-items: flex-start; flex-direction: column; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; } }

.topic-icon--line svg { fill: none; stroke: var(--ink); stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.5; }
.topic-icon--house svg { stroke-width: 6; }
.topic-icon--croissant svg { height: 76%; width: 76%; }

/* Hat irány: azonos súlyú, 3 × 2-es rács. */
.topic-grid { grid-template-columns:repeat(3, minmax(0, 1fr)); }
.topic:nth-child(n), .topic:nth-child(6) { grid-column:span 1; min-height:275px; }
@media (max-width:760px) { .topic-grid { grid-template-columns:1fr; }.topic:nth-child(n) { grid-column:span 1; min-height:220px; } }
