/*
Theme Name: Ta Sainia
Theme URI: https://argeads.com
Author: Argeads
Author URI: https://argeads.com
Description: Lightweight custom WordPress theme for ΚΔΑΠ Τα Σαΐνια, faithfully adapted from the approved v8 frontend. No page builder required.
Version: 1.5.2
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: ta-sainia
*/

:root {
  --cream: oklch(0.931 0.051 78.7);
  --cloud: oklch(0.87 0.028 199.5);
  --teal: oklch(0.716 0.063 205.2);
  --apricot: oklch(0.767 0.133 49);
  --coral: oklch(0.705 0.16 29.9);
  --ink: oklch(0.205 0 89.9);
  --paper: #fff;
  --background: oklch(0.99 0.006 85);
  --border: oklch(0.9 0.012 85);
  --font-display: "Ubuntu", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-sans: "Open Sans", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --shadow-soft: 0 18px 40px -28px color-mix(in oklab, var(--ink) 45%, transparent);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
[id] { scroll-margin-top: 96px; }
body {
  margin: 0;
  background: var(--background);
  color: var(--ink);
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.5;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
h1,h2,h3,h4,h5,h6 { margin: 0; font-family: var(--font-display); letter-spacing: -.02em; text-wrap: balance; }
p { margin: 0; text-wrap: pretty; }
ul,ol { margin: 0; padding: 0; list-style: none; }
:focus-visible { outline: 3px solid var(--teal); outline-offset: 3px; border-radius: 3px; }

.sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.container-page { width: 100%; max-width: 80rem; margin-inline: auto; padding-inline: 1.25rem; }
.section-y { padding-block: 4.5rem; }
.section-y--no-bottom { padding-bottom: 0; }
.section-y--no-top { padding-top: 0; }
.eyebrow { font-family: var(--font-display); font-weight:500; font-size:.75rem; letter-spacing:.16em; text-transform:uppercase; color:color-mix(in oklab,var(--ink) 65%,transparent); }
.eyebrow-row { display:flex; align-items:center; gap:.5rem; }
.display-1 { font-family:var(--font-display); font-weight:700; line-height:1.03; font-size:clamp(2.35rem,6.4vw,4.6rem); }
.display-2 { font-family:var(--font-display); font-weight:700; line-height:1.08; font-size:clamp(1.85rem,3.9vw,3rem); }
.display-3 { font-family:var(--font-display); font-weight:500; line-height:1.2; font-size:clamp(1.25rem,2vw,1.6rem); }
.lede { font-size:clamp(1.02rem,1.25vw,1.15rem); line-height:1.7; color:color-mix(in oklab,var(--ink) 78%,transparent); max-width:62ch; }
.rule-line { border-top:1px solid color-mix(in oklab,var(--ink) 14%,transparent); }
.surface-cream { background: color-mix(in oklab,var(--cream) 50%,transparent); }
.surface-cloud { background: color-mix(in oklab,var(--cloud) 35%,transparent); }
.text-muted { color: color-mix(in oklab,var(--ink) 70%,transparent); }

.sparkle { width:.9rem; height:.9rem; flex:0 0 auto; }
.sparkle--coral { color:var(--coral); }
.sparkle--teal { color:var(--teal); }
.sparkle--apricot { color:var(--apricot); }

.media-zoom { overflow:hidden; }
.media-zoom img { transition:transform .6s cubic-bezier(.22,1,.36,1), filter .4s ease; }
.media-zoom:hover img, .media-zoom:focus-within img { transform:scale(1.03); }
.radius-xl { border-radius:1.5rem; }
.radius-2xl { border-radius:2rem; }
.shadow-soft { box-shadow:var(--shadow-soft); }

.action { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; font-family:var(--font-display); font-weight:500; font-size:.95rem; transition:transform .2s ease,background-color .2s ease,border-color .2s ease; border:0; cursor:pointer; }
.action:hover { transform:translateY(-2px); }
.action--primary { border-radius:.5rem; background:var(--coral); color:var(--ink); padding:.78rem 1.5rem; box-shadow:var(--shadow-soft); }
.action--primary:hover { background:var(--apricot); }
.action--secondary { border:1px solid color-mix(in oklab,var(--ink) 25%,transparent); border-radius:.5rem; padding:.78rem 1.5rem; background:transparent; }
.action--secondary:hover { background:var(--cream); border-color:color-mix(in oklab,var(--ink) 60%,transparent); }
.action--sm { padding:.65rem 1.25rem; font-size:.875rem; }

/* Header */
.site-header { position:sticky; top:0; z-index:50; background:color-mix(in oklab,var(--background) 90%,transparent); backdrop-filter:blur(6px); border-bottom:1px solid transparent; transition:border-color .2s ease,box-shadow .2s ease; }
.site-header.is-scrolled { border-bottom-color:var(--border); }
.site-header__inner { height:72px; display:flex; align-items:center; justify-content:space-between; gap:1.5rem; }
.brand-logo { display:inline-flex; align-items:center; flex:0 0 auto; }
.brand-logo img { height:2.25rem; width:auto; }
.desktop-nav { display:none; align-items:center; gap:1.75rem; }
.desktop-nav__link, .desktop-nav__button { font-family:var(--font-display); font-size:.95rem; font-weight:500; color:color-mix(in oklab,var(--ink) 85%,transparent); padding:.5rem 0; background:none; border:0; cursor:pointer; }
.desktop-nav__link:hover,.desktop-nav__button:hover { color:var(--ink); }
.nav-dropdown { position:relative; }
.nav-dropdown__button { display:inline-flex; align-items:center; gap:.35rem; }
.nav-dropdown__chev { width:.8rem; height:.8rem; transition:transform .2s; }
.nav-dropdown.is-open .nav-dropdown__chev { transform:rotate(180deg); }
.nav-dropdown__panel { position:absolute; left:50%; top:100%; width:16rem; transform:translate(-50%,-4px); padding-top:.75rem; opacity:0; visibility:hidden; transition:.15s ease; z-index:70; }
.nav-dropdown.is-open .nav-dropdown__panel,.nav-dropdown:hover .nav-dropdown__panel,.nav-dropdown:focus-within .nav-dropdown__panel { opacity:1; visibility:visible; transform:translate(-50%,0); }
.nav-dropdown__panel ul { background:var(--paper); border:1px solid var(--border); border-radius:.75rem; padding:.5rem; box-shadow:var(--shadow-soft); }
.nav-dropdown__panel a { display:block; border-radius:.5rem; padding:.65rem .75rem; font-size:.875rem; color:color-mix(in oklab,var(--ink) 85%,transparent); }
.nav-dropdown__panel a:hover { background:var(--cream); color:var(--ink); }
.desktop-cta { display:none; }
.mobile-trigger { display:inline-flex; width:44px; height:44px; align-items:center; justify-content:center; border:1px solid var(--border); border-radius:.75rem; background:transparent; cursor:pointer; }
.mobile-trigger svg { width:22px; height:22px; }
.skip-link:focus { position:absolute!important; width:auto!important; height:auto!important; clip:auto!important; left:1rem; top:.75rem; z-index:200; background:var(--cream); padding:.5rem 1rem; border-radius:.4rem; }
.mobile-nav { position:fixed; inset:0; z-index:100; height:100dvh; width:100vw; background:var(--background); display:flex; flex-direction:column; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .18s ease; }
.mobile-nav.is-open { opacity:1; visibility:visible; pointer-events:auto; }
.mobile-nav__top { height:72px; flex:0 0 72px; display:flex; align-items:center; justify-content:space-between; }
.mobile-nav__scroll { min-height:0; flex:1; overflow-y:auto; overscroll-behavior:contain; padding-bottom:2.5rem; }
.mobile-nav__menu { border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.mobile-nav__menu > li { border-bottom:1px solid var(--border); }
.mobile-nav__menu > li:last-child { border-bottom:0; }
.mobile-nav__menu a,.mobile-nav__summary { display:flex; width:100%; align-items:center; justify-content:space-between; padding:1rem 0; font-family:var(--font-display); font-size:1.15rem; font-weight:500; }
.mobile-nav details summary { cursor:pointer; list-style:none; }
.mobile-nav details summary::-webkit-details-marker { display:none; }
.mobile-nav__submenu { padding:0 0 .85rem .1rem; }
.mobile-nav__submenu a { padding:.62rem 0; font-family:var(--font-sans); font-size:1rem; font-weight:400; color:color-mix(in oklab,var(--ink) 80%,transparent); }
.mobile-nav__actions { display:grid; gap:.75rem; margin-top:1.5rem; }
.mobile-nav__actions .action { width:100%; }
.mobile-nav__close { display:inline-flex; width:44px; height:44px; align-items:center; justify-content:center; border:1px solid var(--border); border-radius:.75rem; background:transparent; cursor:pointer; }

/* Shared intro */
.section-intro { display:flex; flex-direction:column; gap:1rem; }
.section-intro__head { max-width:46rem; }
.section-intro__aside { margin-top:.25rem; }

/* Homepage hero */
.hero { position:relative; overflow:hidden; }
.hero__grid { display:grid; gap:3rem; padding-top:3.5rem; padding-bottom:4rem; }
.hero__title { margin-top:1.25rem; }
.hero__highlight { position:relative; display:inline-block; }
.hero__highlight > span:first-child { position:relative; z-index:2; }
.hero__highlight::after { content:""; position:absolute; left:-.15em; right:-.15em; bottom:.08em; height:.36em; border-radius:999px; background:color-mix(in oklab,var(--apricot) 55%,transparent); z-index:1; }
.hero__lede { margin-top:1.5rem; }
.hero__actions { margin-top:2.25rem; display:flex; flex-wrap:wrap; align-items:center; gap:.75rem; }
.hero__voucher { margin-top:1.75rem; display:inline-flex; flex-wrap:wrap; align-items:center; gap:.5rem; border-radius:999px; background:color-mix(in oklab,var(--cloud) 60%,transparent); padding:.5rem 1rem; font-size:.875rem; }
.hero__voucher a { border-bottom:1px solid color-mix(in oklab,var(--ink) 30%,transparent); }
.hero__image-wrap { position:relative; }
.hero__image { border-radius:2rem; box-shadow:var(--shadow-soft); }
.hero__image img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.hero__spark { position:absolute; left:-.75rem; top:-.75rem; width:1.5rem; height:1.5rem; }
.trust-strip { border-top:1px solid color-mix(in oklab,var(--ink) 14%,transparent); }
.trust-strip__inner { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:.75rem 2rem; padding-block:1.25rem; }
.trust-word { display:inline-flex; align-items:center; gap:.5rem; font-family:var(--font-display); font-size:.875rem; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:color-mix(in oklab,var(--ink) 70%,transparent); }

/* Home programs */
.program-grid { margin-top:3rem; display:grid; gap:3rem 2rem; }
.program-card__image { border-radius:1.5rem; }
.program-card__image img { width:100%; aspect-ratio:4/5; object-fit:cover; }
.program-card__title { margin-top:1.25rem; display:flex; align-items:flex-start; justify-content:space-between; gap:.75rem; }
.program-card__desc { margin-top:.5rem; font-size:.875rem; line-height:1.6; color:color-mix(in oklab,var(--ink) 70%,transparent); }
.arrow-up { color:var(--coral); font-size:1.35rem; line-height:1; flex:0 0 auto; transition:transform .2s; }
.program-card:hover .arrow-up,.overview-card:hover .arrow-up { transform:translate(3px,-3px); }

/* Daily mosaic */
.daily-grid { margin-top:3rem; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:10rem; gap:.75rem; }
.daily-grid figure { position:relative; border-radius:1rem; overflow:hidden; margin:0; }
.daily-grid img { width:100%; height:100%; object-fit:cover; }
.daily-grid figcaption { position:absolute; left:.75rem; bottom:.75rem; border-radius:999px; background:color-mix(in oklab,var(--paper) 90%,transparent); padding:.25rem .75rem; font-family:var(--font-display); font-size:.75rem; font-weight:500; letter-spacing:.02em; }
.daily-grid figure:nth-child(1) { grid-column:span 2; grid-row:span 2; }
.daily-grid figure:nth-child(4) { grid-column:span 2; }

/* Why / benefits */
.why-grid,.benefits-layout { display:grid; gap:3rem; }
.rule-list { display:grid; }
.rule-list__item { border-top:1px solid color-mix(in oklab,var(--ink) 14%,transparent); display:flex; align-items:flex-start; gap:.75rem; padding:1rem 0; font-family:var(--font-display); font-size:1.05rem; font-weight:500; }
.benefit-list { display:grid; }
.benefit-item { border-top:1px solid color-mix(in oklab,var(--ink) 14%,transparent); padding:1.25rem 0; }
.benefit-item__title { display:flex; align-items:flex-start; gap:.75rem; font-family:var(--font-display); font-size:1.05rem; font-weight:500; }
.benefit-item__body { margin-top:.5rem; padding-left:1.625rem; font-size:.875rem; line-height:1.65; color:color-mix(in oklab,var(--ink) 70%,transparent); }

/* Steps */
.steps-grid,.process-grid { margin-top:3rem; display:grid; gap:2rem; }
.step-card { border-top:1px solid color-mix(in oklab,var(--ink) 14%,transparent); padding-top:1.25rem; }
.step-card__number { font-family:var(--font-display); font-weight:700; font-size:2.25rem; color:var(--coral); }
.step-card__title { margin-top:.75rem; }
.step-card__body { margin-top:.5rem; font-size:.875rem; line-height:1.65; color:color-mix(in oklab,var(--ink) 70%,transparent); }
.timeline { margin-top:3rem; max-width:48rem; }
.timeline__item { border-top:1px solid color-mix(in oklab,var(--ink) 14%,transparent); display:grid; gap:.5rem; padding:1.5rem 0; }
.timeline__number { font-family:var(--font-display); font-size:1.5rem; font-weight:700; color:var(--teal); }
.timeline__body { margin-top:.5rem; line-height:1.65; color:color-mix(in oklab,var(--ink) 70%,transparent); }

/* Testimonials */
.testimonial-grid { margin-top:3rem; display:grid; gap:2rem; }
.testimonial { display:flex; flex-direction:column; border-top:1px solid color-mix(in oklab,var(--ink) 14%,transparent); padding-top:1.5rem; }
.testimonial blockquote { margin:0; font-size:.98rem; line-height:1.7; color:color-mix(in oklab,var(--ink) 80%,transparent); }
.quote-more { margin-top:.75rem; align-self:flex-start; background:none; border:0; border-bottom:1px solid color-mix(in oklab,var(--ink) 30%,transparent); padding:0 0 .1rem; font-family:var(--font-display); font-size:.875rem; font-weight:500; cursor:pointer; }
.testimonial__author { margin-top:1.5rem; display:flex; align-items:center; gap:.75rem; }
.testimonial__avatar { width:2.5rem; height:2.5rem; border-radius:999px; background:color-mix(in oklab,var(--apricot) 60%,transparent); display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-size:.875rem; font-weight:500; }
.testimonial__name { font-family:var(--font-display); font-size:.875rem; font-weight:500; }

/* Closing / contextual CTA */
.closing-box,.cta-box { overflow:hidden; border-radius:2rem; }
.closing-box { background:var(--cream); }
.closing-grid,.cta-grid { display:grid; align-items:center; gap:2rem; }
.closing-copy,.cta-copy { padding:2rem; }
.closing-copy .lede,.cta-copy .lede { margin-top:1rem; }
.closing-copy__actions,.cta-copy__actions { margin-top:2rem; display:flex; flex-wrap:wrap; gap:.75rem; }
.closing-image,.cta-image { min-height:16rem; height:100%; overflow:hidden; }
.closing-image img,.cta-image img { width:100%; height:100%; object-fit:cover; }
.cta-box { background:color-mix(in oklab,var(--cloud) 60%,transparent); }

/* Inner hero / editorial */
.inner-hero__grid { display:grid; align-items:center; gap:2.5rem; }
.inner-hero__copy--narrow { max-width:48rem; }
.inner-hero__title { margin-top:1rem; }
.inner-hero__body .lede { margin-top:1.5rem; }
.inner-hero__actions { margin-top:2rem; display:flex; flex-wrap:wrap; gap:.75rem; }
.inner-hero__image { border-radius:1.75rem; }
.inner-hero__image img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.editorial-grid { display:grid; gap:2.5rem; }
.editorial-copy--narrow { max-width:48rem; }
.editorial-copy .eyebrow { margin-bottom:.75rem; }
.editorial-copy__paragraphs { margin-top:1.5rem; display:grid; gap:1rem; }
.editorial-note { border-top:1px solid color-mix(in oklab,var(--ink) 14%,transparent); margin-top:2rem; padding-top:1.25rem; font-size:.875rem; line-height:1.65; color:color-mix(in oklab,var(--ink) 65%,transparent); }
.editorial-image { border-radius:1.5rem; }
.editorial-image img { width:100%; aspect-ratio:4/3; object-fit:cover; }

/* Activity list */
.activity-grid { margin-top:3rem; display:grid; column-gap:4rem; }
.activity-item { border-top:1px solid color-mix(in oklab,var(--ink) 14%,transparent); display:grid; grid-template-columns:2.5rem 1fr; gap:.75rem; padding:1.5rem 0; }
.activity-item__number { font-family:var(--font-display); font-size:.875rem; font-weight:500; letter-spacing:.12em; color:color-mix(in oklab,var(--ink) 40%,transparent); }
.activity-item__body { margin-top:.5rem; font-size:.875rem; line-height:1.65; color:color-mix(in oklab,var(--ink) 70%,transparent); }

/* Info panel */
.info-panel { display:grid; gap:2.5rem; border-radius:2rem; padding:2rem; background:var(--cream); }
.info-panel--cloud { background:color-mix(in oklab,var(--cloud) 60%,transparent); }
.info-list { display:grid; }
.info-item { border-top:1px solid color-mix(in oklab,var(--ink) 14%,transparent); padding:1rem 0; }
.info-item dt { font-family:var(--font-display); font-size:.75rem; font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:color-mix(in oklab,var(--ink) 55%,transparent); }
.info-item dd { margin:.4rem 0 0; line-height:1.65; color:color-mix(in oklab,var(--ink) 85%,transparent); }
.info-note { margin-top:1rem; font-size:.875rem; line-height:1.65; color:color-mix(in oklab,var(--ink) 65%,transparent); }

/* FAQ */
.faq-layout { display:grid; gap:2.5rem; }
.faq-list { width:100%; }
.faq-item { border-bottom:1px solid var(--border); }
.faq-question { width:100%; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 0; border:0; background:transparent; text-align:left; font-family:var(--font-display); font-size:1.05rem; font-weight:500; cursor:pointer; }
.faq-question::after { content:"⌄"; font-size:1rem; transition:transform .2s; }
.faq-question[aria-expanded="true"]::after { transform:rotate(180deg); }
.faq-answer { display:none; max-width:42rem; padding:0 0 1rem; font-size:.97rem; line-height:1.65; color:color-mix(in oklab,var(--ink) 75%,transparent); }
.faq-answer.is-open { display:block; }

/* Media breaks */
.media-block { padding-bottom:1rem; }
.media-block figure { margin:0; border-radius:2rem; overflow:hidden; }
.media-block img { width:100%; aspect-ratio:16/9; object-fit:cover; }
.media-pair { display:grid; gap:1rem; padding-bottom:1rem; }
.media-pair__item,.media-trio__item { border-radius:1.5rem; overflow:hidden; }
.media-pair img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.media-trio { display:grid; gap:1rem; }
.media-trio__lead img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.media-trio__side { display:grid; gap:1rem; }
.media-trio__side img { width:100%; aspect-ratio:4/3; object-fit:cover; }

/* Overview grids */
.overview-grid { margin-top:3rem; display:grid; gap:3rem 2rem; }
.overview-card__image { border-radius:1.5rem; overflow:hidden; }
.overview-card__image img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.overview-card__title { margin-top:1.25rem; display:flex; align-items:flex-start; justify-content:space-between; gap:.75rem; }
.overview-card__desc { margin-top:.5rem; font-size:.875rem; line-height:1.65; color:color-mix(in oklab,var(--ink) 70%,transparent); }
.overview-actions { margin-top:4rem; display:flex; flex-wrap:wrap; gap:.75rem; }
.overview-support { border-top:1px solid color-mix(in oklab,var(--ink) 14%,transparent); margin-top:4rem; padding-top:2rem; }

/* Contact */
.contact-hero { max-width:48rem; }
.contact-grid { display:grid; gap:2.5rem; }
.contact-details { border-top:1px solid color-mix(in oklab,var(--ink) 14%,transparent); padding-top:1.5rem; display:grid; gap:1rem; font-size:.95rem; font-style:normal; color:color-mix(in oklab,var(--ink) 85%,transparent); }
.contact-label { font-family:var(--font-display); font-size:.875rem; font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:color-mix(in oklab,var(--ink) 60%,transparent); }
.contact-value { margin-top:.5rem; color:color-mix(in oklab,var(--ink) 85%,transparent); }
.contact-form-shell { border-radius:2rem; background:var(--cream); padding:2rem; }
.contact-form-grid { margin-top:2.5rem; display:grid; gap:1.5rem; }
.form-field label { display:block; font-family:var(--font-display); font-size:.875rem; font-weight:500; }
.form-control { margin-top:.5rem; width:100%; border:1px solid color-mix(in oklab,var(--ink) 20%,transparent); background:var(--paper); border-radius:.5rem; padding:.75rem 1rem; font-size:.95rem; outline:none; transition:border-color .2s,box-shadow .2s; }
.form-control:focus { border-color:var(--teal); box-shadow:0 0 0 2px color-mix(in oklab,var(--teal) 40%,transparent); }
.form-consent { display:flex; align-items:flex-start; gap:.75rem; font-size:.875rem; line-height:1.6; }
.form-consent input { width:1.2rem; height:1.2rem; margin-top:.15rem; accent-color:var(--teal); flex:0 0 auto; }
.form-notice { margin-top:1rem; font-size:.875rem; line-height:1.55; color:color-mix(in oklab,var(--ink) 80%,transparent); }
.form-error { margin-top:.35rem; font-size:.82rem; color:var(--coral); }
.honeypot { position:absolute!important; left:-9999px!important; }

/* News */
.news-filters { border-top:1px solid color-mix(in oklab,var(--ink) 14%,transparent); display:flex; flex-wrap:wrap; gap:.5rem; padding-bottom:1.5rem; }
.news-filter { border:0; border-radius:999px; padding:.5rem 1rem; background:var(--cream); font-family:var(--font-display); font-size:.875rem; font-weight:500; cursor:pointer; color:color-mix(in oklab,var(--ink) 75%,transparent); }
.news-filter.is-active { background:var(--ink); color:var(--background); }
.news-grid { margin-top:2.5rem; display:grid; gap:3rem 2rem; }
.news-card.is-hidden { display:none; }
.news-card__image { border-radius:1.5rem; overflow:hidden; }
.news-card__image img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.news-card__meta { margin-top:1.25rem; }
.news-card__title { margin-top:.5rem; }
.news-card__excerpt { margin-top:.5rem; font-size:.875rem; line-height:1.65; color:color-mix(in oklab,var(--ink) 70%,transparent); }
.news-card__more { margin-top:1rem; display:inline-block; border-bottom:1px solid color-mix(in oklab,var(--ink) 30%,transparent); padding-bottom:.1rem; font-family:var(--font-display); font-size:.875rem; font-weight:500; }
/* News detail — editorial template */
.post-hero { max-width:64rem; }
.post-back { display:inline-flex; align-items:center; gap:.4rem; margin-bottom:2rem; color:color-mix(in oklab,var(--ink) 72%,transparent); }
.post-back:hover { color:var(--ink); }
.post-hero__meta { margin-top:0; }
.post-hero__title { max-width:58rem; margin-top:1rem; }
.post-deck { max-width:46rem; margin-top:1.5rem; font-size:clamp(1.05rem,2vw,1.3rem); line-height:1.65; color:color-mix(in oklab,var(--ink) 68%,transparent); }
.post-media { max-width:72rem; margin-inline:auto; }
.post-media img { width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:2rem; box-shadow:var(--shadow-soft); }
.post-content { max-width:46rem; margin:3.5rem auto 0; font-size:1.05rem; line-height:1.82; color:color-mix(in oklab,var(--ink) 82%,transparent); }
.post-content > * + * { margin-top:1.35rem; }
.post-content h2,.post-content h3,.post-content h4 { font-family:var(--font-display); color:var(--ink); line-height:1.18; }
.post-content h2 { margin-top:3.25rem; font-size:clamp(1.8rem,4vw,2.5rem); }
.post-content h3 { margin-top:2.5rem; font-size:clamp(1.4rem,3vw,1.85rem); }
.post-content h4 { margin-top:2rem; font-size:1.2rem; }
.post-content ul,.post-content ol { padding-left:1.35rem; }
.post-content li + li { margin-top:.55rem; }
.post-content a { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px; }
.post-content blockquote { margin:2.5rem 0; border-left:4px solid var(--coral); border-radius:0 1rem 1rem 0; background:color-mix(in oklab,var(--cloud) 58%,transparent); padding:1.5rem 1.75rem; font-size:1.12rem; line-height:1.7; color:var(--ink); }
.post-content figure { margin:2.5rem 0; }
.post-content img { width:100%; height:auto; border-radius:1.25rem; }
.post-content figcaption { margin-top:.65rem; font-size:.8rem; line-height:1.5; color:color-mix(in oklab,var(--ink) 58%,transparent); text-align:center; }
.post-gallery-head { max-width:46rem; margin-inline:auto; }
.post-gallery-title { margin-top:.75rem; }
.post-after { max-width:72rem; margin:3rem auto 0; padding-top:1.5rem; border-top:1px solid color-mix(in oklab,var(--ink) 14%,transparent); display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.post-related { border-top:1px solid color-mix(in oklab,var(--ink) 14%,transparent); }
.post-related__head { max-width:48rem; }
.post-related__title { margin-top:.75rem; }

/* v1.5 — News article warmth, ratio-safe editorial gallery & lightbox */
.news-detail { background:color-mix(in oklab,var(--cream) 36%,var(--background)); }
.post-gallery-section { margin-top:6.75rem; padding-top:.5rem; }
.post-gallery { max-width:72rem; margin:2.25rem auto 0; display:grid; gap:1rem; }
.post-gallery li { min-width:0; overflow:hidden; border-radius:1.5rem; background:color-mix(in oklab,var(--cloud) 28%,var(--background)); }
.post-gallery-link { position:relative; display:block; width:100%; height:100%; overflow:hidden; border-radius:inherit; cursor:zoom-in; }
.post-gallery-link img { width:100%; height:100%; min-height:0; aspect-ratio:auto; object-fit:cover; transition:transform .35s ease,filter .35s ease; }
.post-gallery-link:hover img,.post-gallery-link:focus-visible img { transform:scale(1.025); }
.post-gallery-link:focus-visible { outline-offset:4px; }
.post-gallery--count-1 { max-width:62rem; }
.post-gallery--count-1 .post-gallery-link { aspect-ratio:16/10; }
.post-gallery--count-2 .post-gallery-link,
.post-gallery--count-3 .post-gallery-link,
.post-gallery--count-4 .post-gallery-link,
.post-gallery--many .post-gallery-link { aspect-ratio:4/3; }

.sainia-lightbox { position:fixed; inset:0; z-index:300; display:flex; align-items:center; justify-content:center; padding:1rem; background:color-mix(in oklab,var(--ink) 92%,transparent); opacity:0; visibility:hidden; pointer-events:none; transition:opacity .18s ease,visibility .18s ease; }
.sainia-lightbox.is-open { opacity:1; visibility:visible; pointer-events:auto; }
.sainia-lightbox__figure { margin:0; max-width:min(92vw,96rem); max-height:88dvh; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.75rem; }
.sainia-lightbox__image { display:block; width:auto; height:auto; max-width:92vw; max-height:82dvh; object-fit:contain; border-radius:1rem; box-shadow:0 24px 70px -25px #000; }
.sainia-lightbox__caption { max-width:70ch; color:#fff; font-size:.85rem; line-height:1.5; text-align:center; }
.sainia-lightbox__close,.sainia-lightbox__nav { position:absolute; border:1px solid color-mix(in oklab,#fff 35%,transparent); background:color-mix(in oklab,var(--ink) 72%,transparent); color:#fff; display:inline-flex; align-items:center; justify-content:center; cursor:pointer; backdrop-filter:blur(8px); }
.sainia-lightbox__close { top:1rem; right:1rem; width:3rem; height:3rem; border-radius:.8rem; font-size:2rem; line-height:1; }
.sainia-lightbox__nav { top:50%; width:3rem; height:3.5rem; border-radius:.8rem; transform:translateY(-50%); font-size:2.4rem; line-height:1; }
.sainia-lightbox__prev { left:1rem; }
.sainia-lightbox__next { right:1rem; }
.sainia-lightbox__close:hover,.sainia-lightbox__nav:hover { background:var(--ink); }
body.lightbox-open { overflow:hidden; }

/* Legal / 404 */
.simple-page { max-width:48rem; }
.simple-page__body { margin-top:2rem; font-size:1rem; line-height:1.75; color:color-mix(in oklab,var(--ink) 80%,transparent); }
.simple-page__body > * + * { margin-top:1rem; }

/* Footer */
.site-footer { background:var(--cloud); }
.site-footer__inner { padding-block:4rem; }
.footer-grid { display:grid; gap:3rem; }
.footer-brand p { margin-top:1rem; max-width:24rem; font-size:.875rem; line-height:1.65; color:color-mix(in oklab,var(--ink) 80%,transparent); }
.footer-title { font-family:var(--font-display); font-size:.875rem; font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:color-mix(in oklab,var(--ink) 60%,transparent); }
.footer-links { margin-top:1rem; display:grid; gap:.625rem; }
.footer-links a { font-size:.875rem; color:color-mix(in oklab,var(--ink) 85%,transparent); }
.footer-links a:hover { text-decoration:underline; text-underline-offset:4px; }
.footer-address { margin-top:1rem; display:grid; gap:.75rem; font-size:.875rem; font-style:normal; color:color-mix(in oklab,var(--ink) 85%,transparent); }
.footer-hours { display:grid; gap:.25rem; color:color-mix(in oklab,var(--ink) 70%,transparent); }
.footer-bottom { margin-top:3.5rem; border-top:1px solid color-mix(in oklab,var(--ink) 15%,transparent); padding-top:1.5rem; display:flex; flex-direction:column; gap:1rem; }
.footer-copy { font-size:.75rem; color:color-mix(in oklab,var(--ink) 70%,transparent); }
.footer-legal { display:flex; flex-wrap:wrap; gap:.5rem 1.25rem; }
.footer-legal a { font-size:.75rem; color:color-mix(in oklab,var(--ink) 70%,transparent); }

@media (min-width: 640px) {
  .program-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .daily-grid { grid-template-columns:repeat(4,minmax(0,1fr)); grid-auto-rows:11rem; }
  .daily-grid figure:nth-child(1){ grid-column:span 2; grid-row:span 2; }
  .daily-grid figure:nth-child(4){ grid-column:span 2; }
  .steps-grid,.process-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .benefit-list--2,.info-list,.media-pair,.news-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .post-gallery--count-2,.post-gallery--count-4,.post-gallery--many { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .post-gallery--count-3 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .post-gallery--count-3 li:first-child { grid-column:1 / -1; }
  .post-gallery--count-3 li:first-child .post-gallery-link { aspect-ratio:16/9; }
  .timeline__item { grid-template-columns:5rem 1fr; gap:2rem; }
  .media-trio__side { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .overview-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .contact-form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .form-span-2 { grid-column:span 2; }
}

@media (min-width: 768px) {
  .container-page { padding-inline:2rem; }
  .section-y { padding-block:6.5rem; }
  .section-intro { flex-direction:row; align-items:end; justify-content:space-between; gap:2rem; }
  .closing-grid,.cta-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .closing-copy,.cta-copy,.contact-form-shell { padding:3.5rem; }
  .testimonial-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .activity-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .daily-grid { grid-auto-rows:12rem; gap:1rem; }
  .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .footer-bottom { flex-direction:row; align-items:center; justify-content:space-between; }
}

@media (min-width: 1024px) {
  .desktop-nav,.desktop-cta { display:flex; }
  .mobile-trigger { display:none; }
  .brand-logo img { height:2.8rem; }
  .hero__grid { grid-template-columns:1.05fr .95fr; align-items:center; gap:4rem; padding-top:5rem; padding-bottom:6rem; }
  .program-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .why-grid,.benefits-layout { grid-template-columns:.9fr 1.1fr; gap:5rem; }
  .steps-grid,.process-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .inner-hero__grid--image { grid-template-columns:1.05fr .95fr; gap:4rem; }
  .inner-hero__image img { aspect-ratio:5/6; }
  .editorial-grid--image { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:center; gap:4rem; }
  .editorial-image--left { order:-1; }
  .info-panel { grid-template-columns:.9fr 1.1fr; gap:4rem; padding:3.5rem; }
  .faq-layout { grid-template-columns:.8fr 1.2fr; gap:5rem; }
  .cta-grid { grid-template-columns:1.1fr .9fr; gap:4rem; }
  .media-trio { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .media-trio__lead img { aspect-ratio:3/4; }
  .media-trio__side { grid-template-columns:1fr; }
  .media-trio__side img { aspect-ratio:16/10; }
  .overview-grid--3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .overview-grid--5 { grid-template-columns:repeat(6,minmax(0,1fr)); }
  .overview-grid--5 .overview-card:nth-child(-n+3) { grid-column:span 2; }
  .overview-grid--5 .overview-card:nth-child(n+4) { grid-column:span 3; }
  .overview-grid--5 .overview-card:nth-child(n+4) img { aspect-ratio:16/9; }
  .contact-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .news-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .post-gallery--count-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .post-gallery--count-2 .post-gallery-link { aspect-ratio:4/3; }
  .post-gallery--count-3 { grid-template-columns:repeat(12,minmax(0,1fr)); grid-auto-rows:13rem; }
  .post-gallery--count-3 li:first-child { grid-column:span 7; grid-row:span 2; }
  .post-gallery--count-3 li:nth-child(2),.post-gallery--count-3 li:nth-child(3) { grid-column:span 5; }
  .post-gallery--count-3 .post-gallery-link,.post-gallery--count-3 li:first-child .post-gallery-link { aspect-ratio:auto; height:100%; }
  .post-gallery--count-4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .post-gallery--count-4 .post-gallery-link { aspect-ratio:16/10; }
  .post-gallery--many { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .post-gallery--many .post-gallery-link { aspect-ratio:4/3; }
  .footer-grid { grid-template-columns:repeat(12,minmax(0,1fr)); }
  .footer-brand { grid-column:span 4; }
  .footer-col { grid-column:span 2; }
}

@media (min-width: 1280px) { .container-page { padding-inline:2.5rem; } }

@media (max-width: 359px) {
  .hero__actions { align-items:stretch; }
  .hero__actions .action { max-width:100%; }
  .hero__voucher { border-radius:1.5rem; }
}

@media (max-width: 639px) {
  .sainia-lightbox { padding:.75rem; }
  .sainia-lightbox__nav { top:auto; bottom:1rem; transform:none; width:3.5rem; }
  .sainia-lightbox__prev { left:calc(50% - 4rem); }
  .sainia-lightbox__next { right:calc(50% - 4rem); }
  .sainia-lightbox__image { max-width:96vw; max-height:78dvh; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.001ms!important; animation-iteration-count:1!important; transition-duration:.001ms!important; scroll-behavior:auto!important; }
}
