/*
Theme Name: Twenty Twenty-Three
Theme URI: https://stefanowicz.pl
Author: Tomasz Stefanowicz / OpenAI
Description: Autorski motyw rodzinno-genealogiczny dla stefanowicz.pl.
Requires at least: 6.1
Requires PHP: 7.4
Version: 0.1
License: GNU General Public License v2 or later
Text Domain: stefanowicz
*/

@import url("https://fonts.googleapis.com/css2?family=Bodoni+Moda:opsz,wght@6..96,600;6..96,700;6..96,900&family=Cormorant+Garamond:wght@600;700&display=swap");

:root{
  --paper:#d9b968;
  --paper-light:#f0dda2;
  --ink:#2a2115;
  --ink-soft:#5b4b32;
  --line:rgba(62,45,22,.34);
  --cream:#f3e4b8;
  --shadow:rgba(55,38,15,.22);
}
html{scroll-behavior:smooth}
body{margin:0;background:#b99a4f;color:var(--ink);font-family:Georgia,"Times New Roman",serif}
.site-shell{min-height:100vh;background:
  radial-gradient(circle at 20% 10%,rgba(255,255,255,.25),transparent 30%),
  linear-gradient(90deg,rgba(93,67,28,.06) 1px,transparent 1px),
  linear-gradient(rgba(93,67,28,.05) 1px,transparent 1px),
  linear-gradient(180deg,var(--paper-light),var(--paper));
  background-size:auto,22px 22px,22px 22px,auto;
  position:relative;overflow:hidden}
.site-shell:before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.18;
  background-image:repeating-linear-gradient(0deg,rgba(55,40,20,.13) 0 1px,transparent 1px 4px);
  mix-blend-mode:multiply}
.archive-topbar{position:relative;z-index:2;max-width:1180px;margin:0 auto;padding:26px 32px 14px;text-align:center;letter-spacing:.22em;font-size:12px;text-transform:uppercase;border-bottom:1px solid var(--line)}
.archive-topbar .small{display:block;margin-top:8px;letter-spacing:.18em;font-size:10px;color:var(--ink-soft)}
.hero{position:relative;z-index:2;max-width:900px;margin:0 auto;padding:48px 32px 46px;display:grid;grid-template-columns:1fr;gap:0;align-items:center}
.masthead{border-top:3px double var(--ink);border-bottom:3px double var(--ink);padding:18px 0 16px;margin-bottom:24px}
.kicker{font-size:13px;letter-spacing:.24em;text-transform:uppercase;text-align:center;margin-bottom:8px}
h1.brand{font-size:clamp(58px,8vw,116px);line-height:.9;margin:0;text-align:center;font-family:"Bodoni Moda","Didot","Bodoni 72",Georgia,serif;font-weight:900;letter-spacing:.01em;color:#2a2115;text-shadow:0 1px 0 rgba(255,255,255,.26)}
.subtitle{text-align:center;font-style:italic;font-size:18px;margin-top:12px}
.intro{font-size:20px;line-height:1.55;max-width:720px;margin:26px auto 0}
.intro:first-letter{float:left;font-size:58px;line-height:.75;padding:8px 8px 0 0;font-weight:700}
.cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.archive-btn{display:inline-block;padding:12px 18px;border:1px solid var(--ink);color:var(--ink);text-decoration:none;text-transform:uppercase;letter-spacing:.14em;font-size:12px;background:rgba(244,232,196,.22)}
.archive-btn:hover{background:rgba(44,36,23,.08)}
.photo-card{position:relative;background:#d7bd78;padding:15px 15px 58px;box-shadow:0 18px 40px var(--shadow);transform:rotate(1.1deg);border:1px solid rgba(60,46,25,.28)}
.pdf-preview{height:430px;background:#efe1b6;overflow:hidden;border:1px solid rgba(55,40,18,.26)}
.pdf-preview object{width:100%;height:100%;display:block;filter:sepia(.28) saturate(.8) contrast(.96);pointer-events:none}
.paper-miniature{height:100%;box-sizing:border-box;background:#efe0ad;color:#211b12;padding:18px 16px;text-align:center;font-family:Georgia,"Times New Roman",serif}
.paper-meta{font-size:10px;border-bottom:1px solid #302719;padding-bottom:7px;margin-bottom:10px}
.paper-title{font-family:"Bodoni Moda","Didot",Georgia,serif;font-weight:900;font-size:34px;line-height:1;border-top:2px solid #302719;border-bottom:2px solid #302719;padding:8px 0 6px;letter-spacing:.02em}
.paper-subtitle{font-size:10px;font-weight:700;letter-spacing:.08em;margin-top:8px}
.paper-editor,.paper-author{font-size:9px;margin-top:7px}
.paper-author{font-weight:700;margin-top:20px}
.paper-headline{font-family:"Bodoni Moda","Didot",Georgia,serif;font-size:20px;font-weight:700;line-height:1.1;margin-top:6px}
.paper-copy{font-size:10px;line-height:1.35;text-align:left;margin-top:18px}
.photo-caption{position:absolute;left:18px;right:18px;bottom:15px;text-align:center;font-size:12px;font-style:italic;color:#403621}
.photo-caption a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.ghost-paper{position:absolute;inset:90px -8vw auto auto;width:48vw;height:62vh;opacity:.08;transform:rotate(-5deg);font-size:13px;line-height:1.3;columns:3;column-gap:20px;pointer-events:none;overflow:hidden}
.ghost-paper strong{font-family:"Bodoni Moda","Didot",Georgia,serif;font-weight:900;font-size:30px;display:block;column-span:all;text-align:center;letter-spacing:.035em;border-top:2px solid;border-bottom:2px solid;margin-bottom:8px}
.section{position:relative;z-index:2;max-width:1180px;margin:0 auto;padding:56px 32px;border-top:1px solid var(--line)}
.section-title{text-align:center;font-size:34px;margin:0 0 10px}
.section-lead{text-align:center;color:var(--ink-soft);font-style:italic;max-width:720px;margin:0 auto 36px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{border:1px solid var(--line);padding:24px;background:rgba(244,232,196,.20);min-height:150px}
.card h3{margin:0 0 10px;font-size:23px}
.card p{margin:0;line-height:1.55;color:#4c412d}
.footer-note{position:relative;z-index:2;text-align:center;padding:38px 24px 50px;border-top:3px double var(--ink);font-size:12px;letter-spacing:.15em;text-transform:uppercase}
.coming-soon-note{display:inline-block;margin-top:26px;padding:11px 15px;border:1px solid var(--line);font-size:12px;letter-spacing:.08em;text-transform:uppercase;background:rgba(244,232,196,.2)}
.niemen-band{position:relative;z-index:2;max-width:1180px;margin:0 auto 56px;padding:0 32px;display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:stretch}
.niemen-image-wrap{min-height:280px;overflow:hidden;border:1px solid var(--line);box-shadow:0 14px 32px var(--shadow)}
.niemen-image-wrap img{width:100%;height:100%;object-fit:cover;display:block;filter:sepia(.2) saturate(.75) contrast(.95)}
.niemen-copy{border:1px solid var(--line);padding:28px;background:rgba(244,232,196,.2);display:flex;flex-direction:column;justify-content:center}
.niemen-kicker{font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:700}
.niemen-copy h2{font-family:"Bodoni Moda","Didot",Georgia,serif;font-size:34px;line-height:1.05;margin:8px 0 14px}
.niemen-copy p{font-size:17px;line-height:1.55;margin:0}
.niemen-credit{margin-top:16px!important;font-size:11px!important;font-style:italic;color:var(--ink-soft)}

.reunion-poster{position:relative;z-index:3;max-width:1180px;margin:34px auto 54px;padding:0 32px;box-sizing:border-box}
.reunion-inner{position:relative;border:4px double var(--ink);background:
  linear-gradient(rgba(243,228,184,.82),rgba(217,185,104,.9)),
  repeating-linear-gradient(0deg,rgba(70,50,20,.03) 0 1px,transparent 1px 4px);
  box-shadow:0 20px 55px rgba(58,39,12,.18);padding:30px 34px 34px;overflow:hidden}
.reunion-inner:before,.reunion-inner:after{content:"";position:absolute;inset:12px;border:1px solid rgba(42,33,21,.34);pointer-events:none}
.reunion-inner:after{inset:18px;border-style:dotted;opacity:.28}
.reunion-eyebrow{position:relative;z-index:2;text-align:center;text-transform:uppercase;letter-spacing:.2em;font-size:11px;font-weight:700;margin-bottom:18px}
.reunion-date-badge{position:absolute;z-index:4;top:34px;right:44px;width:126px;height:126px;border:2px solid var(--ink);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(239,220,164,.94);transform:rotate(2deg);box-shadow:0 5px 0 rgba(60,42,18,.12)}
.reunion-day{font-family:"Bodoni Moda","Didot",Georgia,serif;font-size:46px;font-weight:900;line-height:.82}
.reunion-month{font-size:8px;letter-spacing:.1em;font-weight:700;margin-top:5px}
.reunion-year{font-size:15px;font-weight:700;margin-top:1px}
.reunion-copy{position:relative;z-index:2;max-width:900px;margin:0 auto;text-align:center}
.reunion-kicker{margin:0 155px 6px 0;font-style:italic;font-size:18px}
.reunion-title{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(46px,7vw,88px);line-height:.9;margin:8px 150px 4px 0;font-weight:700;letter-spacing:.01em}
.reunion-subtitle{margin:0 150px 24px 0;font-size:15px;letter-spacing:.09em;text-transform:uppercase}
.reunion-lecture{border-top:3px double var(--ink);border-bottom:3px double var(--ink);padding:16px 10px;margin:30px 0 12px}
.reunion-lecture span{display:block;font-size:10px;letter-spacing:.25em;font-weight:700;margin-bottom:6px}
.reunion-lecture strong{font-family:"Bodoni Moda","Didot",Georgia,serif;font-size:clamp(27px,4vw,44px);line-height:1.05}
.reunion-families{font-size:12px;font-weight:700;letter-spacing:.12em;line-height:1.7;margin:14px auto 28px}
.reunion-story{max-width:800px;margin:0 auto 30px;font-size:18px;line-height:1.6;text-align:left}
.reunion-story:first-letter{float:left;font-family:"Bodoni Moda","Didot",Georgia,serif;font-size:54px;line-height:.78;padding:8px 7px 0 0;font-weight:900}
.reunion-details{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:28px 0}
.reunion-detail{border:1px solid var(--line);padding:18px 16px;background:rgba(255,248,222,.22);display:flex;flex-direction:column;gap:4px}
.reunion-detail strong{font-size:18px}
.detail-label{font-size:10px;letter-spacing:.2em;font-weight:700;margin-bottom:4px}
.reunion-program{max-width:820px;margin:34px auto 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0}
.reunion-program h3,.reunion-rsvp h3{font-family:"Bodoni Moda","Didot",Georgia,serif;font-size:28px;margin:0 0 16px}
.program-line{display:grid;grid-template-columns:110px 1fr;gap:14px;text-align:left;padding:8px 0;border-bottom:1px dotted rgba(62,45,22,.28)}
.program-line:last-of-type{border-bottom:0}
.reunion-program p{font-style:italic;margin:14px 0 0;color:var(--ink-soft)}
.reunion-hosts{max-width:820px;margin:28px auto;text-align:left;display:grid;grid-template-columns:1fr 1fr;gap:20px}
.reunion-hosts p{margin:0;border-left:3px solid var(--ink);padding-left:14px;line-height:1.45}
.reunion-hosts span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.14em;margin-bottom:5px}
.reunion-hosts strong{font-size:17px}
.organizer-phones a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.footer-contacts{display:block;margin-top:12px;font-size:12px;letter-spacing:.06em;text-transform:none}
.footer-contacts a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.reunion-rsvp{max-width:860px;margin:30px auto 0;background:#2a2115;color:#f4e7bf;padding:26px 28px}
.reunion-rsvp h3{color:#f4e7bf;margin-bottom:8px}
.reunion-rsvp p{margin:0 auto 16px;max-width:700px;line-height:1.5}
.rsvp-actions{display:flex;justify-content:center;align-items:center;gap:16px;flex-wrap:wrap}
.rsvp-button{display:inline-block;background:#f0dda2;color:#2a2115;text-decoration:none;font-weight:700;letter-spacing:.06em;padding:12px 18px;border:1px solid #f6e9c1}
.rsvp-phone{font-size:13px;font-style:italic}

@media(max-width:850px){
  .hero{grid-template-columns:1fr;padding-top:34px}
  .photo-card{max-width:520px;margin:0 auto}
  .cards{grid-template-columns:1fr}
  .ghost-paper{width:90vw;opacity:.05}
  .reunion-poster{padding:0 14px;margin-top:20px}
  .reunion-inner{padding:22px 16px 26px}
  .reunion-date-badge{position:relative;top:auto;right:auto;margin:0 auto 18px;width:104px;height:104px;transform:none}
  .reunion-day{font-size:40px}
  .reunion-kicker,.reunion-title,.reunion-subtitle{margin-right:0}
  .reunion-title{font-size:clamp(42px,12vw,64px)}
  .reunion-details{grid-template-columns:1fr}
  .reunion-hosts{grid-template-columns:1fr}
  .program-line{grid-template-columns:88px 1fr}
  .reunion-story{font-size:17px;text-align:left}
  .niemen-band{grid-template-columns:1fr;padding:0 14px;margin-bottom:34px}
  .niemen-image-wrap{min-height:220px}
  .niemen-copy{padding:22px}
  .niemen-copy h2{font-size:29px}
}
