/*
Theme Name: Yoors Year 2029
Description: An exhibition-inspired, bilingual Blocksy child theme for the Yoors Foundation.
Author: Yoors Foundation
Template: blocksy
Version: 1.0.1
Requires at least: 6.5
Requires PHP: 7.4
Text Domain: yoors-year
License: GPL-2.0-or-later
*/

:root { --yy-paper:#f5f2e9; --yy-ink:#202b34; --yy-blue:#243d59; --yy-gold:#967039; --yy-line:#d7d4ca; --yy-muted:#5a6267; --yy-white:#fffdf7; --yy-width:1280px; }
html { scroll-behavior:smooth; scroll-padding-top:100px; }
body.yy-site { margin:0; color:var(--yy-ink); background:var(--yy-paper); font-family:Arial,Helvetica,sans-serif; font-size:17px; line-height:1.7; -webkit-font-smoothing:antialiased; }
.yy-site *, .yy-site *::before, .yy-site *::after { box-sizing:border-box; }
.yy-site :where(h1,h2,h3,h4,p,figure,ul,ol) { margin:0; }
.yy-site :where(h1,h2,h3,h4) { color:inherit; font-weight:400; line-height:1.08; letter-spacing:-.035em; font-family:Georgia,'Times New Roman',serif; }
.yy-site h1 { font-size:clamp(48px,6.5vw,96px); }
.yy-site h2 { font-size:clamp(35px,4vw,56px); }
.yy-site h3 { font-size:clamp(26px,2.5vw,36px); }
.yy-site a { color:inherit; text-underline-offset:5px; text-decoration-thickness:1px; }
.yy-site a:hover { color:var(--yy-gold); }
.yy-site :focus-visible { outline:3px solid #b77823; outline-offset:5px; }
.yy-site img { display:block; max-width:100%; height:auto; }
.yy-wrap { width:min(var(--yy-width),calc(100% - 96px)); margin-inline:auto; }
.yy-skip { position:fixed; z-index:100000; top:8px; left:8px; padding:12px 20px; background:var(--yy-white); transform:translateY(-180%); }
.yy-skip:focus { transform:none; }
.yy-header { border-bottom:1px solid var(--yy-line); }
.yy-header-inner { display:flex; align-items:center; justify-content:space-between; gap:28px; min-height:104px; }
.yy-brand { display:flex; align-items:center; gap:13px; text-decoration:none; flex-shrink:0; }
.yy-brand-word { font-family:Georgia,'Times New Roman',serif; font-size:36px; line-height:1; letter-spacing:-2px; }
.yy-brand-year { border-left:1px solid #a8aa9d; padding-left:13px; font-size:11px; letter-spacing:2px; line-height:1.55; }
.yy-brand-year span { display:block; }
.yy-nav { display:flex; align-items:center; gap:28px; }
.yy-nav ul { display:flex; flex-wrap:wrap; gap:26px; padding:0; list-style:none; }
.yy-nav a { font-size:13px; text-decoration:none; }
.yy-nav .current-menu-item>a { text-decoration:underline; text-decoration-color:var(--yy-gold); text-decoration-thickness:2px; }
.yy-header-actions { display:flex; align-items:center; gap:24px; }
.yy-languages { display:flex; gap:9px; font-size:11px; letter-spacing:1px; align-items:center; }
.yy-languages a { text-decoration:none; }
.yy-languages a[aria-current] { border-bottom:1px solid var(--yy-gold); }
.yy-languages .yy-lang-divider { color:#979992; }
.yy-contact-link { font-size:12px; text-decoration:none; border-bottom:1px solid var(--yy-ink); padding-bottom:4px; }
.yy-menu-toggle { display:none; }
.yy-eyebrow { font-family:Arial,Helvetica,sans-serif; font-size:11px; text-transform:uppercase; letter-spacing:2.2px; color:var(--yy-muted); line-height:1.6; }
.yy-hero { padding-block:56px 64px; display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:64px; }
.yy-hero-copy .yy-eyebrow { display:flex; align-items:center; gap:16px; margin-bottom:32px; }
.yy-hero-copy .yy-eyebrow::before { content:''; width:32px; height:1px; background:var(--yy-gold); }
.yy-hero h1 { margin-bottom:28px; font-size:clamp(60px,7vw,106px); }
.yy-hero h1 em { color:var(--yy-blue); font-weight:400; }
.yy-hero .yy-lead { max-width:450px; color:var(--yy-muted); font-size:18px; line-height:1.75; }
.yy-hero .wp-block-buttons { margin-top:32px; }
.yy-hero-art { position:relative; padding:0 0 18px 18px; margin:0; }
.yy-hero-art::before { content:''; position:absolute; z-index:0; top:20px; right:18px; bottom:0; left:0; border:1px solid #b7b09e; }
.yy-hero-art img { position:relative; width:100%; height:550px; object-fit:cover; object-position:56% 40%; background:#131811; }
.yy-hero-art figcaption { position:relative; margin-top:11px; font-size:10px; line-height:1.6; color:var(--yy-muted); }
.yy-anniversary { background:var(--yy-blue); color:var(--yy-paper); }
.yy-anniversary-inner { display:flex; gap:32px; align-items:center; justify-content:space-between; padding:27px 32px; }
.yy-anniversary p { font-size:14px; }
.yy-anniversary .yy-eyebrow { color:#d7d2bf; font-size:10px; }
.yy-anniversary strong { font-family:Georgia,'Times New Roman',serif; font-size:31px; font-weight:400; letter-spacing:-1px; }
.yy-anniversary .yy-date { font-size:12px; letter-spacing:1.3px; }
.yy-main { min-height:55vh; }
.yy-content .yy-section { padding-block:88px; margin:0; }
.yy-content .yy-section + .yy-section { border-top:1px solid var(--yy-line); }
.yy-content .yy-section > .yy-eyebrow, .yy-content .yy-section > .wp-block-group > .yy-eyebrow { margin-bottom:20px; }
.yy-content .yy-section h2 { margin-bottom:24px; }
.yy-content .yy-section p + p { margin-top:18px; }
.yy-content .yy-section .wp-block-columns { display:grid; grid-template-columns:1fr 1fr; gap:64px; margin:0; }
.yy-content .yy-section .wp-block-column { min-width:0; flex-basis:auto!important; }
.yy-content .yy-section .wp-block-column>p { color:var(--yy-muted); }
.yy-content .yy-section .wp-block-column>.yy-eyebrow { margin-bottom:20px; }
.yy-content .yy-section .wp-block-column>.wp-block-buttons { margin-top:27px; }
.yy-content .wp-block-buttons { display:flex; flex-wrap:wrap; gap:16px; }
.yy-content .wp-block-button__link { display:inline-flex; align-items:center; justify-content:center; gap:16px; border:1px solid var(--yy-blue); border-radius:0; padding:14px 22px; background:var(--yy-blue); color:var(--yy-white); font-family:Arial,Helvetica,sans-serif; font-size:12px; font-weight:400; letter-spacing:.15px; line-height:1.5; text-decoration:none; box-shadow:none; }
.yy-content .wp-block-button__link:hover { background:#314e6e; color:#fff; }
.yy-site .yy-content .wp-block-button.is-style-outline>.wp-block-button__link { background:transparent; color:var(--yy-blue); border:1px solid #aaa99e; padding:14px 22px; }
.yy-site .yy-content .wp-block-button.is-style-outline>.wp-block-button__link:hover { background:#e9e6dc; color:var(--yy-blue); }
.yy-content .yy-text-link { display:inline-block; text-decoration:none; padding-bottom:4px; border-bottom:1px solid var(--yy-gold); font-size:13px; margin-top:24px; }
.yy-content .yy-section .wp-block-columns.yy-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.yy-content .yy-card-grid .wp-block-column { padding:28px 0; border-top:1px solid var(--yy-ink); }
.yy-content .yy-card-grid .yy-eyebrow { margin-bottom:28px; }
.yy-content .yy-card-grid h3 { margin-bottom:20px; }
.yy-content .yy-card-grid p { font-size:15px; }
.yy-content .yy-book-panel { background:#e8e4d9; padding:52px; border:1px solid #d2cdbe; }
.yy-book-word { font-family:Georgia,'Times New Roman',serif; font-size:clamp(52px,6vw,84px); line-height:1.05; letter-spacing:-.05em; color:var(--yy-blue); margin-block:24px!important; }
.yy-content .yy-status { display:inline-block; margin-bottom:24px; padding:5px 10px; border:1px solid #a4a58e; color:#47533f; font-size:10px; letter-spacing:1.5px; text-transform:uppercase; line-height:1.5; }
.yy-content .yy-notice { border-left:2px solid var(--yy-gold); padding:22px 28px; background:#ece9df; margin-block:32px; }
.yy-content .yy-notice p { font-size:15px; }
.yy-page-heading { padding-top:70px; padding-bottom:45px; border-bottom:1px solid var(--yy-line); }
.yy-page-heading .yy-eyebrow { margin-bottom:20px; }
.yy-page-heading h1 { max-width:1000px; }
.yy-page-body { padding-top:40px; padding-bottom:80px; }
.yy-page-body>.yy-lead { font-size:22px; line-height:1.6; max-width:850px; color:var(--yy-muted); margin-bottom:40px; }
.yy-page-body>.wp-block-paragraph,.yy-page-body>p { max-width:850px; }
.yy-page-body>p+p { margin-top:20px; }
.yy-page-body>.yy-section { padding-block:48px; }
.yy-page-body>.yy-section:first-of-type { padding-top:12px; }
.yy-page-body ul,.yy-page-body ol { padding-left:25px; margin-block:20px; }
.yy-page-body li { margin-bottom:10px; }
.yy-artwork { margin-block:24px; }
.yy-artwork a { display:block; }
.yy-artwork img { width:100%; max-height:740px; object-fit:contain; background:#171b16; }
.yy-artwork figcaption { font-size:12px; color:var(--yy-muted); padding-top:13px; line-height:1.7; }
.yy-artwork figcaption a { display:inline; }
.yy-content .yy-timeline { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 50px; }
.yy-timeline .wp-block-group { border-top:1px solid var(--yy-line); padding:25px 0; }
.yy-timeline h3 { font-family:Arial,Helvetica,sans-serif; font-size:13px; color:var(--yy-gold); letter-spacing:1px; margin-bottom:12px; }
.yy-timeline p { font-size:15px; }
.yy-source-note { color:var(--yy-muted); font-size:12px; line-height:1.8; padding-top:24px; }
.yy-news-list { display:grid; gap:0; margin-top:35px; }
.yy-news-item { display:grid; grid-template-columns:150px 1fr 36px; gap:24px; align-items:start; padding:28px 0; border-top:1px solid var(--yy-line); }
.yy-news-item time { font-size:12px; color:var(--yy-muted); }
.yy-news-item h3 { font-size:28px; margin-bottom:10px; }
.yy-news-item h3 a { text-decoration:none; }
.yy-news-item p { color:var(--yy-muted); font-size:15px; }
.yy-news-arrow { font-size:24px; }
.yy-empty { margin-block:30px; padding:30px 0; border-block:1px solid var(--yy-line); }
.yy-empty p { max-width:800px; }
.yy-post-date { color:var(--yy-muted); font-size:12px; margin-top:24px; }
.yy-footer { background:var(--yy-ink); color:#f2efe5; padding-top:58px; }
.yy-footer-main { display:grid; grid-template-columns:2fr 1fr 1fr; gap:60px; padding-bottom:50px; }
.yy-footer .yy-brand { color:#f2efe5; margin-bottom:25px; }
.yy-footer p { font-size:13px; color:#c4c8c6; max-width:380px; }
.yy-footer h2 { font-family:Arial,Helvetica,sans-serif; font-size:10px; text-transform:uppercase; letter-spacing:2px; margin-bottom:24px; color:#c4c8c6; }
.yy-footer ul { list-style:none; padding:0; }
.yy-footer li { margin-bottom:8px; }
.yy-footer a { font-size:13px; text-decoration:none; }
.yy-footer a:hover { color:#ddbd87; }
.yy-footer .yy-brand-word { font-size:36px; }
.yy-footer .yy-email { display:inline-block; margin-top:20px; border-bottom:1px solid #9ca59d; padding-bottom:4px; }
.yy-footer-bottom { border-top:1px solid #475158; padding-block:20px; display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; font-size:11px; color:#c4c8c6; }
.yy-footer-bottom a { font-size:11px; text-decoration:underline; }
.yy-content .wp-block-image figcaption { font-size:12px; color:var(--yy-muted); }
.yy-site .yy-content .wp-block-separator { border:0; border-top:1px solid var(--yy-line); margin-block:32px; }
.yy-site .yy-content a:not(.wp-block-button__link):not(.yy-text-link):hover { text-decoration:underline; }
@media (min-width:1500px) { .yy-hero-art img { height:600px; } }
@media (max-width:1100px) {
  .yy-wrap { width:calc(100% - 64px); }
  .yy-header-inner { gap:20px; }
  .yy-nav ul { gap:17px; }
  .yy-header-actions { gap:16px; }
  .yy-contact-link { display:none; }
  .yy-hero { gap:36px; }
  .yy-hero-art img { height:500px; }
  .yy-content .yy-section .wp-block-columns { gap:40px; }
}
@media (max-width:820px) {
  .yy-wrap { width:calc(100% - 40px); }
  .yy-header-inner { min-height:82px; flex-wrap:wrap; position:relative; }
  .yy-header-actions { margin-left:auto; }
  .yy-brand-word { font-size:31px; }
  .yy-brand-year { font-size:10px; }
  .yy-menu-toggle { display:block; background:transparent; color:var(--yy-ink); border:1px solid var(--yy-line); border-radius:0; min-height:40px; min-width:54px; padding:7px 12px; font-size:12px; }
  .yy-nav { width:100%; order:3; padding-bottom:20px; }
  .yy-nav ul { flex-direction:column; gap:0; width:100%; }
  .yy-nav li { border-top:1px solid var(--yy-line); }
  .yy-nav a { display:block; padding:12px 0; font-size:16px; }
  .yy-js .yy-nav[hidden] { display:none; }
  .yy-hero { grid-template-columns:1fr; gap:38px; padding-top:40px; padding-bottom:40px; }
  .yy-hero h1 { font-size:clamp(62px,12vw,92px); }
  .yy-hero-copy .yy-eyebrow { margin-bottom:24px; }
  .yy-hero .yy-lead { max-width:650px; font-size:17px; }
  .yy-hero-art { padding-bottom:14px; }
  .yy-hero-art img { height:auto; aspect-ratio:1.28; object-fit:cover; }
  .yy-anniversary-inner { gap:20px; flex-wrap:wrap; padding-block:24px; }
  .yy-anniversary .yy-date { font-size:10px; }
  .yy-content .yy-section { padding-block:54px; }
  .yy-content .yy-section .wp-block-columns { grid-template-columns:1fr; gap:32px; }
  .yy-content .yy-section .wp-block-columns.yy-card-grid { grid-template-columns:1fr; gap:8px; }
  .yy-content .yy-card-grid .wp-block-column { padding-block:25px; }
  .yy-content .yy-book-panel { padding:32px; }
  .yy-page-heading { padding-top:45px; padding-bottom:32px; }
  .yy-page-body { padding-top:30px; padding-bottom:48px; }
  .yy-page-body>.yy-lead { font-size:20px; }
  .yy-content .yy-timeline { grid-template-columns:1fr; }
  .yy-news-item { grid-template-columns:1fr 24px; gap:12px; }
  .yy-news-item time { grid-column:1/-1; }
  .yy-footer-main { grid-template-columns:1fr 1fr; gap:35px; }
  .yy-footer-main>div:first-child { grid-column:1/-1; }
}
@media (max-width:400px) {
  .yy-wrap { width:calc(100% - 32px); }
  .yy-header-inner { gap:10px; }
  .yy-brand { gap:9px; }
  .yy-brand-year { padding-left:9px; }
  .yy-header-actions { gap:12px; }
  .yy-languages { gap:5px; }
  .yy-hero h1 { font-size:60px; }
  .yy-content .wp-block-buttons { gap:12px; }
  .yy-content .wp-block-button__link { padding:13px 17px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; } }
@media print { .yy-header,.yy-footer,.yy-skip,.yy-menu-toggle { display:none; } .yy-wrap { width:100%; } .yy-content .yy-section { padding-block:20px; } .yy-site a { color:inherit; } }
