/*
Theme Name: Gyre
Description: Website theme for Gyre Collective. Works with the Groups Calendar plugin for the schedule page.
Version: 1.0.1
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: gyre
*/

/* Brand typeface: MD Nichrome (Mass-Driver, licensed). Only Regular and Oblique are installed,
   so the Regular file also covers weights up to 700 to stop browsers faking a bold.
   To add a real bold later, put its .woff2 in fonts/ and give it its own rule with font-weight:600. */
@font-face{font-family:"Gyre Sans";src:url("fonts/MDNichrome-Regular.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:"Gyre Sans";src:url("fonts/MDNichrome-RegularOblique.woff2") format("woff2");font-weight:400 700;font-style:italic;font-display:swap}

:root{
  --gyre-black:#333132; --gyre-offwhite:#F7F5E6; --gyre-yellow:#FFCB05; --gyre-pink:#DAB5FB; --gyre-green:#006C2E; --gyre-blue:#004461;
  --gyre-pad:clamp(20px,2.8vw,40px);
  --gyre-big:clamp(24px,2.6vw,38px);
  --gyre-screen:calc(100vh - var(--wp-admin--admin-bar--height,0px));
}
@supports (height:100dvh){:root{--gyre-screen:calc(100dvh - var(--wp-admin--admin-bar--height,0px))}}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--gyre-offwhite);color:var(--gyre-black);font:400 18px/1.5 "Gyre Sans",system-ui,-apple-system,"Segoe UI",sans-serif}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration-thickness:.07em;text-underline-offset:.15em}
a:hover{text-decoration-thickness:.12em}
:focus-visible{outline:3px solid currentColor;outline-offset:4px}
h1,h2,h3{font-weight:400;line-height:1.15;margin:0}
p{margin:0 0 1em}
ul{margin:0;padding:0;list-style:none}
address{font-style:normal}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.gyre-skip{position:absolute;left:12px;top:-60px;z-index:1000;background:var(--gyre-black);color:#fff;padding:10px 16px;border-radius:6px}
.gyre-skip:focus{top:12px}

/* ---------- Split-screen pages ---------- */
.gyre-split{display:grid;grid-template-columns:1fr 1fr;min-height:var(--gyre-screen)}
.gyre-panel{padding:var(--gyre-pad);display:flex;flex-direction:column;min-width:0}
.gyre-panel--yellow{background:var(--gyre-yellow);color:var(--gyre-green)}
.gyre-panel--blue{background:var(--gyre-blue);color:#FFFFFF}
.gyre-panel--green{background:var(--gyre-green);color:#FFFFFF}
.gyre-panel--pink{background:var(--gyre-pink);color:var(--gyre-blue)}
.gyre-big{font-size:var(--gyre-big);line-height:1.2}
.gyre-title{font-size:clamp(30px,2.8vw,40px);text-transform:lowercase}

/* Logo: upload a white logo in Customize → Site Identity. Without one, the site name is shown. */
.gyre-logo{display:inline-block;text-decoration:none;color:inherit}
.gyre-logo__img{width:auto}
.gyre-logo--large .gyre-logo__img{height:clamp(52px,6vw,80px)}
.gyre-logo--medium .gyre-logo__img{height:clamp(44px,4.5vw,64px)}
.gyre-logo--small .gyre-logo__img{height:36px}
.gyre-logo--text{font-weight:600;text-transform:lowercase;letter-spacing:-.01em;line-height:1}
.gyre-logo--large.gyre-logo--text{font-size:clamp(40px,4.6vw,64px)}
.gyre-logo--medium.gyre-logo--text{font-size:clamp(32px,3.4vw,48px)}
.gyre-logo--small.gyre-logo--text{font-size:24px}

/* ---------- Home ---------- */
.gyre-home__title{font-size:inherit}
.gyre-home__intro{justify-content:space-between;gap:48px}
.gyre-home__intro .gyre-big{max-width:22em;margin:0}
.gyre-nav a{text-decoration:none;text-transform:lowercase}
.gyre-nav a:hover,.gyre-nav a:focus-visible,.gyre-nav [aria-current="page"],.gyre-nav .current-menu-item a{text-decoration:underline}

/* ---------- About ---------- */
.gyre-about .gyre-panel--green{justify-content:space-between;gap:48px}
.gyre-team{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.gyre-person__name{font-size:clamp(20px,1.7vw,24px);margin-bottom:8px}
.gyre-person__photo{aspect-ratio:4/5;background:var(--gyre-offwhite);color:var(--gyre-black);display:grid;place-items:center;overflow:hidden;font-size:15px}
.gyre-person__photo img{width:100%;height:100%;object-fit:cover}
/* First paragraph large, the rest in two columns underneath. */
.gyre-about__text{display:block;column-count:2;column-gap:28px;font-size:20px;font-weight:600;line-height:1.45}
.gyre-about__text > *{break-inside:avoid}
.gyre-about__text > :first-child{column-span:all;font-size:var(--gyre-big);font-weight:400;line-height:1.2;margin:0 0 clamp(40px,14vh,180px)}
.gyre-about__text h2,.gyre-about__text h3{column-span:all;font-size:26px;margin:.6em 0 .4em}

/* ---------- Contact ---------- */
.gyre-contact .gyre-panel--blue{justify-content:space-between;gap:48px}
.gyre-contact__details > *{margin:0 0 1.2em}
.gyre-contact__people{display:flex;flex-wrap:wrap;gap:0 1.2em}
.gyre-contact__details a{text-decoration:none;overflow-wrap:anywhere}
.gyre-contact__details a:hover,.gyre-contact__details a:focus-visible{text-decoration:underline}
.gyre-contact__extra{font-size:20px;line-height:1.5}

/* ---------- Schedule ---------- */
.gyre-schedule{background:var(--gyre-green);color:#FFFFFF;min-height:var(--gyre-screen)}
.gyre-schedule__inner{max-width:1180px;margin:0 auto;padding:clamp(28px,5vw,56px) var(--gyre-pad)}
.gyre-schedule__missing{background:var(--gyre-offwhite);color:var(--gyre-black);padding:16px 20px}

/* ---------- Everything else ---------- */
.gyre-plain{max-width:760px;margin:0 auto;padding:clamp(32px,6vw,72px) var(--gyre-pad);min-height:60vh}
.gyre-plain__article{margin-bottom:56px}
.gyre-plain .gyre-title{margin-bottom:24px}
.gyre-prose > *{margin:0 0 1em}
.gyre-prose a{color:var(--gyre-blue)}

/* ---------- Footer bar on inner pages ---------- */
.gyre-footer{background:var(--gyre-black);color:var(--gyre-offwhite);display:flex;flex-wrap:wrap;align-items:center;gap:14px 32px;padding:22px var(--gyre-pad)}
.gyre-footer nav{margin-right:auto}
.gyre-footer__nav{display:flex;flex-wrap:wrap;gap:6px 22px}
.gyre-footer__nav a{text-decoration:none;text-transform:lowercase}
.gyre-footer__nav a:hover,.gyre-footer__nav a:focus-visible,.gyre-footer__nav [aria-current="page"],.gyre-footer__nav .current-menu-item a{text-decoration:underline}
.gyre-footer__email{text-decoration:none}
.gyre-footer__email:hover{text-decoration:underline}

/* ---------- Phones and small tablets: halves stack ---------- */
@media (max-width:800px){
  .gyre-split{grid-template-columns:1fr;min-height:0}
  .gyre-home{min-height:var(--gyre-screen);grid-template-rows:auto 1fr}
  .gyre-home .gyre-panel--yellow{min-height:32vh}
  .gyre-about .gyre-panel--green,.gyre-contact .gyre-panel--blue{gap:32px}
  .gyre-about__text{column-count:1}
  .gyre-about__text > :first-child{margin-bottom:32px}
}
@media (max-width:420px){.gyre-team{grid-template-columns:1fr 1fr;gap:12px}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
