/* Aloha Studio — theme styles.
   Values mirror "Aloha Studio Strona.dc.html" and the Aloha Studio design system tokens.
   Headings are upright Playfair Display (no italics, per the client). */

/* ---------- Fonts (self-hosted, latin + latin-ext for Polish) ---------- */
@font-face{font-family:"Playfair Display";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/playfair-display-latin-400-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Playfair Display";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/playfair-display-latin-ext-400-normal.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Poppins";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/poppins-latin-400-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Poppins";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/poppins-latin-ext-400-normal.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Poppins";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/poppins-latin-600-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Poppins";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/poppins-latin-ext-600-normal.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
/* Open Sauce "latin" already includes Polish diacritics. The 400 weight ships as .woff
   because the Fontsource .woff2 of that weight is not a valid webfont. */
@font-face{font-family:"Open Sauce";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/open-sauce-sans-latin-400-normal.woff") format("woff")}
@font-face{font-family:"Open Sauce";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/open-sauce-sans-latin-700-normal.woff2") format("woff2")}

/* ---------- Tokens ---------- */
:root{
  --white:#FFFFFF;
  --paper:#FFFCF5;
  --cream:#F8F2EC;
  --sand:#F1EEE8;
  --peach:#F1E4D8;
  --taupe:#D1C9C2;
  --stone-200:#E5E1E1;
  --stone-300:#E3DDDD;
  --blush-100:#E5DEDE;
  --blush-200:#D9CECE;
  --mauve-400:#B6A6AC;
  --mauve-500:#9E8E96;
  --cocoa-500:#836857;
  --umber-600:#8A7D72;
  --umber-800:#4A423C;
  --ink-900:#141310;
  --ink-700:#332F29;
  --ink-500:#6D6960;
  --ink-300:#A7A7A7;

  --font-display:"Playfair Display",Georgia,serif;
  --font-caps:"Poppins",system-ui,sans-serif;
  --font-body:"Open Sauce",Arial,sans-serif;

  --hover-tint:rgba(158,142,150,.10);
  --shadow-soft:0 2px 24px rgba(110,105,96,.07);
  --shadow-lift:0 10px 40px rgba(110,105,96,.12);
  --ease-soft:cubic-bezier(.22,.61,.36,1);
  --dur-fast:160ms;
  --dur:280ms;

  --radius:8px;        /* przyciski, pola formularza */
  --radius-card:14px;  /* karty, ramki, zdjęcia w ramkach */

  --gutter:clamp(20px,6vw,64px);
  --gutter-split:clamp(20px,6vw,88px);
  --section-y:clamp(72px,9vw,120px);
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--white);color:var(--ink-700);font-family:var(--font-body);font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased;text-wrap:pretty}
h1,h2,h3,h4,h5,h6{margin:0;font-family:var(--font-display);font-weight:400;font-style:normal;color:var(--ink-900);line-height:1.18}
p{margin:0}
strong{font-weight:700}
img{display:block;max-width:100%;height:auto}
a{color:var(--ink-700);text-decoration:none;transition:color var(--dur-fast) var(--ease-soft)}
a:hover{color:var(--ink-900)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:1px solid var(--mauve-500);outline-offset:3px}
::selection{background:var(--blush-200);color:var(--ink-900)}
[hidden]{display:none!important}

.skip-link{position:absolute;left:12px;top:-100px;z-index:100;border-radius:var(--radius);background:var(--ink-900);color:var(--paper);padding:10px 16px;font-family:var(--font-caps);font-weight:600;font-size:11px;letter-spacing:.16em;text-transform:uppercase}
.skip-link:focus{top:12px;color:var(--paper)}

.site{min-height:100vh;display:flex;flex-direction:column}
.site-main{flex:1}

/* ---------- Layout helpers ---------- */
.wrap{max-width:1160px;margin:0 auto}
.section{padding:var(--section-y) var(--gutter)}
.section--white{background:var(--white)}
.section--cream{background:var(--cream)}
.section--peach{background:var(--peach)}
.stack-8,.stack-18,.stack-20,.stack-24,.stack-28,.stack-32,.stack-48,.stack-56{display:flex;flex-direction:column}
.stack-8{gap:8px}.stack-18{gap:18px}.stack-20{gap:20px}.stack-24{gap:24px}.stack-28{gap:28px}.stack-32{gap:32px}.stack-48{gap:48px}.stack-56{gap:56px}
.measure{max-width:34em}
.measure-wide{max-width:36em}
.btn-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center}

/* ---------- Type ---------- */
.eyebrow{font-family:var(--font-caps);font-weight:600;font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--mauve-500)}
.eyebrow--umber{color:var(--umber-600)}
.eyebrow--inherit{color:inherit}
.tag{font-family:var(--font-caps);font-weight:600;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--mauve-500)}
.tag--umber{color:var(--umber-600)}

.h-hero{font-size:clamp(40px,5.4vw,72px);line-height:1.06;text-wrap:balance}
.h-page{font-size:clamp(40px,5vw,64px);line-height:1.08}
.h-xl{font-size:clamp(32px,4vw,52px);line-height:1.1}
.h-intro{font-size:clamp(30px,3.6vw,46px);line-height:1.15;text-wrap:balance}
.h-lg{font-size:clamp(30px,3.4vw,44px);line-height:1.15}
.h-md{font-size:clamp(28px,3.2vw,40px);line-height:1.15}
.h-form{font-size:clamp(32px,4vw,48px);line-height:1.1}

.t-lead{font-size:18px;line-height:1.7}
.t-body{font-size:17px;line-height:1.75}

.link-caps{font-family:var(--font-caps);font-weight:600;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-900);border-bottom:1px solid var(--mauve-400);padding-bottom:4px}
.back-link{font-family:var(--font-caps);font-weight:600;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-500)}

/* ---------- Buttons (design-system Button) ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--font-caps);font-weight:600;letter-spacing:.16em;text-transform:uppercase;line-height:1.75;border:1px solid transparent;border-radius:var(--radius);cursor:pointer;text-decoration:none;transition:background var(--dur) var(--ease-soft),color var(--dur) var(--ease-soft),border-color var(--dur) var(--ease-soft),transform var(--dur-fast) var(--ease-soft)}
.btn:active{transform:scale(.985)}
.btn--sm{font-size:10px;padding:10px 20px}
.btn--md{font-size:11px;padding:14px 28px}
.btn--lg{font-size:12px;padding:18px 38px}
.btn--primary{background:var(--ink-900);color:var(--paper)}
.btn--primary:hover{background:var(--ink-700);color:var(--paper)}
.btn--secondary{background:var(--blush-100);color:var(--ink-900)}
.btn--secondary:hover{background:var(--blush-200);color:var(--ink-900)}
.btn--outline{background:transparent;color:var(--ink-900);border-color:var(--mauve-400)}
.btn--outline:hover{background:var(--hover-tint);color:var(--ink-900)}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.97);border-bottom:1px solid var(--stone-200)}
.admin-bar .site-header{top:32px}
@media (max-width:782px){.admin-bar .site-header{top:46px}}
@media (max-width:600px){.admin-bar .site-header{top:0}}
.site-header__inner{max-width:1240px;margin:0 auto;padding:14px clamp(20px,4vw,48px);display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.site-header__spacer{flex:1}
.brand{display:flex;align-items:center;gap:12px}
.brand__crest{height:44px;width:auto}
.brand__name{font-family:var(--font-display);font-size:22px;color:var(--ink-900);letter-spacing:.01em}
.site-nav__list{display:flex;gap:clamp(16px,2.4vw,32px);flex-wrap:wrap;margin:0;padding:0;list-style:none;font-family:var(--font-caps);font-weight:600;font-size:11px;letter-spacing:.2em;text-transform:uppercase}
.site-nav__list a:hover{color:var(--mauve-500)}

/* ---------- Split: text + full-height photo ---------- */
.split{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr))}
.split__text{display:flex;flex-direction:column;justify-content:center}
.split__media{position:relative;overflow:hidden}
.split__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.split__media--peach{background:var(--peach)}
.split__media--taupe{background:var(--taupe)}
.split__cta{margin-top:8px}

.split--hero{background:var(--white)}
.split--hero .split__text{padding:clamp(56px,8vw,120px) var(--gutter-split);gap:28px}
.split--hero .split__media{min-height:520px}
.hero__intake{font-size:14px;color:var(--ink-500)}
.hero__intake strong{color:var(--ink-700)}

.split--about{background:var(--sand)}
.split--about .split__text{padding:clamp(56px,8vw,112px) var(--gutter-split);gap:24px}
.split--about .split__media{min-height:560px}

.split--training{background:var(--cream)}
.split--training .split__text{padding:clamp(48px,7vw,104px) var(--gutter-split);gap:22px}
.split--training .split__media{min-height:480px}

.split--founders{background:var(--sand)}
.split--founders .split__text{padding:clamp(56px,8vw,120px) var(--gutter-split);gap:24px}
.split--founders .split__media{min-height:620px}

/* ---------- Home: Kim jesteśmy ---------- */
.section--about-intro{padding:clamp(72px,9vw,128px) var(--gutter);background:var(--white)}
.about-intro{max-width:760px;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:22px}
.about-intro__crest{height:72px;width:auto;opacity:.8}
.about-intro__text{font-size:18px;line-height:1.75;color:var(--ink-700)}

/* ---------- Section heading with action on the right ---------- */
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.section-head__text{display:flex;flex-direction:column;gap:14px;max-width:620px}
.section--cream .section-head__text{max-width:640px}
.section-head__lead{font-size:17px;line-height:1.7;color:var(--umber-800)}

/* ---------- Academy stages as cards (home) ---------- */
.stage-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:24px}
.stage-card{background:var(--white);border-radius:var(--radius-card);padding:36px 32px 40px;display:flex;flex-direction:column;gap:14px}
.stage-card__num{font-family:var(--font-display);font-size:72px;line-height:1;color:var(--taupe)}
.stage-card__title{font-size:26px;line-height:1.2}
.stage-card__text{font-size:16px;line-height:1.7;color:var(--ink-700)}

/* ---------- Perks (4 circles) ---------- */
.perks{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:48px 40px}
.perk{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px}
.perk__num{width:64px;height:64px;border-radius:50%;background:var(--peach);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:22px;color:var(--cocoa-500)}
.perk__title{font-family:var(--font-caps);font-weight:600;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-900)}
.perk__text{font-size:15px;line-height:1.7;color:var(--ink-500)}

/* ---------- Training cards ---------- */
.training-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:28px}
.training-card{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--stone-200);border-radius:var(--radius-card);overflow:hidden;transition:box-shadow var(--dur) var(--ease-soft)}
.training-card:hover{box-shadow:var(--shadow-lift)}
.training-card__media{position:relative;aspect-ratio:4/5;background:var(--peach);overflow:hidden}
.training-card__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.training-card__body{padding:28px 28px 32px;display:flex;flex-direction:column;gap:12px}
.training-card__title{font-size:28px;line-height:1.15}
.training-card__text{font-size:16px;line-height:1.65;color:var(--ink-500)}
.training-card__more{margin-top:6px;align-self:flex-start}

/* ---------- Quotes ---------- */
.section--quotes{padding:clamp(80px,10vw,140px) var(--gutter);background:var(--white);position:relative;overflow:hidden}
.quotes__mark{position:absolute;left:50%;top:48px;transform:translateX(-50%);width:180px;opacity:.9}
.quotes__inner{position:relative;max-width:820px;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:28px}
.quotes__item{margin:0;display:flex;flex-direction:column;align-items:center;gap:28px}
.quotes__text{margin:0}
.quotes__text p{font-family:var(--font-display);font-size:clamp(24px,2.8vw,34px);line-height:1.4;color:var(--ink-900);text-wrap:balance}
.quotes__who{font-size:15px;color:var(--ink-500)}
.quotes__controls{display:flex;align-items:center;gap:20px}
.quotes__btn{width:44px;height:44px;border:1px solid var(--mauve-400);border-radius:var(--radius);background:transparent;cursor:pointer;font-size:18px;color:var(--ink-700);transition:background var(--dur-fast) var(--ease-soft)}
.quotes__btn:hover{background:var(--hover-tint)}
.quotes__count{font-family:var(--font-caps);font-weight:600;font-size:11px;letter-spacing:.2em;color:var(--ink-500)}

/* ---------- Akademia: photo hero ---------- */
.photo-hero{position:relative;min-height:520px;display:flex;align-items:flex-end;background:var(--taupe);overflow:hidden}
.photo-hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.photo-hero__wash{position:absolute;inset:0;background:linear-gradient(to top,rgba(20,19,16,.42),rgba(20,19,16,0) 70%)}
.photo-hero__inner{position:relative;max-width:1160px;width:100%;margin:0 auto;padding:clamp(40px,6vw,72px) var(--gutter);display:flex;flex-direction:column;gap:18px;color:var(--white)}
.photo-hero__title{line-height:1.05;max-width:12em;color:var(--white)}

/* ---------- Akademia: program ---------- */
.program{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:56px}
.program__aside{display:flex;flex-direction:column;gap:22px;position:sticky;top:120px;align-self:start}
.program__stages{display:flex;flex-direction:column}
.stage-row{display:grid;grid-template-columns:96px minmax(0,1fr);gap:24px;padding:36px 0;border-top:1px solid var(--stone-200)}
.stage-row__num{font-family:var(--font-display);font-size:64px;line-height:.9;color:var(--taupe)}
.stage-row__body{display:flex;flex-direction:column;gap:12px}
.stage-row__title{font-size:28px;line-height:1.2}
.stage-row__text{font-size:16px;line-height:1.7}

.dash-list{margin:6px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}
.dash-list li{display:flex;gap:12px;font-size:16px;line-height:1.5;color:var(--ink-700)}
.dash-list li::before{content:"—";color:var(--mauve-500)}
.dash-list--ruled{margin:0;gap:0}
.dash-list--ruled li{gap:14px;padding:14px 0;border-bottom:1px solid var(--stone-200);font-size:17px}

/* ---------- Akademia: alternating features ---------- */
.features{padding:clamp(40px,6vw,80px) 0 var(--section-y);background:var(--white);display:flex;flex-direction:column;gap:clamp(48px,7vw,96px)}
.feature{display:flex;flex-wrap:wrap;align-items:center}
.feature--reverse{flex-direction:row-reverse}
.feature__media{flex:1 1 440px;background:var(--peach);padding:clamp(32px,5vw,72px);display:flex;justify-content:center}
.feature__frame{position:relative;width:100%;max-width:520px;aspect-ratio:4/3;background:var(--cream);box-shadow:var(--shadow-soft);border-radius:var(--radius-card);overflow:hidden}
.feature__frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.feature__text{flex:1 1 400px;padding:40px clamp(20px,6vw,96px);display:flex;flex-direction:column;gap:20px;max-width:640px}
.feature__copy{font-size:17px;line-height:1.75;color:var(--ink-500)}

/* ---------- Page intros (Szkolenia, Kontakt, generic) ---------- */
.page-intro{padding:var(--section-y) var(--gutter) clamp(48px,6vw,72px);background:var(--cream)}
.page-intro--list{padding-bottom:48px}
.page-intro--contact{padding-bottom:0}
.section--list{padding-top:48px}

/* ---------- Single training ---------- */
.entry-lead p + p{margin-top:1em}
.training-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:56px}
.included{background:var(--peach);border-radius:var(--radius-card);padding:36px;display:flex;flex-direction:column;gap:18px}
.included__item{display:flex;flex-direction:column;gap:6px}
.included__title{font-family:var(--font-caps);font-weight:600;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-900)}
.included__text{font-size:15px;line-height:1.65;color:var(--umber-800)}
.training-details__note{font-size:15px;line-height:1.7;color:var(--ink-500)}

/* ---------- O nas: gallery ---------- */
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:28px}
.gallery__item{position:relative;aspect-ratio:4/5;background:var(--peach);border-radius:var(--radius-card);overflow:hidden}
.gallery__item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* ---------- Instagram ---------- */
.section--instagram{padding:clamp(64px,8vw,104px) var(--gutter);background:var(--white)}
.instagram__head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}
.instagram__head .h-md{line-height:1.18}
.instagram__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:12px}
.instagram__tile{position:relative;display:block;aspect-ratio:1;background:var(--peach);border-radius:var(--radius-card);overflow:hidden;transition:opacity var(--dur-fast)}
.instagram__tile:hover{opacity:.85}
.instagram__tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* ---------- Signup form (#zapis) ---------- */
#zapis{scroll-margin-top:70px}
.signup__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:clamp(40px,6vw,88px)}
.signup__thanks{background:var(--white);border:1px solid var(--stone-200);border-radius:var(--radius-card);padding:40px;display:flex;flex-direction:column;gap:12px}
.signup__thanks-title{font-size:28px}
.signup__thanks p{font-size:16px;line-height:1.7}
.signup__form{display:flex;flex-direction:column;gap:20px}
.signup__error{background:var(--white);border:1px solid var(--mauve-400);border-radius:var(--radius);border-left-width:3px;padding:14px 18px;font-size:15px;line-height:1.6}
.signup__row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:20px}
.signup__hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}

.field{display:flex;flex-direction:column;gap:8px}
.field__label{font-family:var(--font-caps);font-weight:600;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-500)}
.field__label--sm{font-size:10px;letter-spacing:.24em}
.field__input,.field__select,.field__textarea{font-family:var(--font-body);font-size:16px;line-height:1.75;color:var(--ink-700);background:var(--paper);border:1px solid var(--stone-200);padding:12px 14px;border-radius:var(--radius);transition:border-color var(--dur) var(--ease-soft)}
.field__input:focus{outline:none;border-color:var(--mauve-500)}
.field__select,.field__textarea{outline-color:var(--mauve-500)}
.field__textarea{resize:vertical}
.field__input::placeholder,.field__textarea::placeholder{color:var(--ink-300)}

.signup__consent{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.55;color:var(--ink-500)}
.signup__consent input{margin:3px 0 0;flex:none;accent-color:var(--ink-700);width:16px;height:16px}
.signup__consent a{color:inherit;border-bottom:1px solid var(--mauve-400)}
.signup__consent a:hover{color:var(--ink-900)}

.signup__map{position:relative;aspect-ratio:4/3;background:var(--sand);border:1px solid var(--stone-200);border-radius:var(--radius-card);overflow:hidden;display:flex;align-items:center;justify-content:center;font-family:var(--font-caps);font-weight:600;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-300);text-align:center;padding:0 16px}
.signup__map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.signup__details{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:24px}
.signup__detail{font-size:16px;line-height:1.6}

/* ---------- Generic content ---------- */
.entry-content{max-width:760px;font-size:17px;line-height:1.75}
.entry-content > * + *{margin-top:1em}
.entry-content h2{font-size:32px;line-height:1.15;margin-top:1.6em}
.entry-content h3{font-size:24px;margin-top:1.4em}
.entry-content a{border-bottom:1px solid var(--mauve-400)}
.entry-content ul,.entry-content ol{padding-left:1.2em}

/* ---------- Footer ---------- */
.site-footer{background:var(--sand);border-top:1px solid var(--stone-300)}
.site-footer__grid{max-width:1160px;margin:0 auto;padding:clamp(56px,7vw,88px) var(--gutter) 32px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:40px}
.site-footer__brand{display:flex;flex-direction:column;gap:20px}
.site-footer__crest{height:96px;width:auto;align-self:flex-start}
.site-footer__contact{display:flex;flex-direction:column;gap:6px;font-size:15px;line-height:1.6;color:var(--ink-500)}
.site-footer__contact a{color:inherit}
.site-footer__contact a:hover{color:var(--ink-900)}
.site-footer__col{display:flex;flex-direction:column;gap:14px}
.site-footer__title{font-family:var(--font-display);font-size:22px;color:var(--ink-900)}
.site-footer__col a{font-size:15px;color:var(--ink-500)}
.site-footer__col a:hover{color:var(--ink-900)}
.site-footer__legal{max-width:1160px;margin:0 auto;padding:20px var(--gutter) 32px;border-top:1px solid var(--stone-300);font-family:var(--font-caps);font-size:11px;letter-spacing:.12em;color:var(--ink-300)}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important}
}
