/* Winden Jangen ADLaM — same design tokens as the previous React site (src/styles/tokens.ts). */
:root{
  --snow:#F8FAFC;--alice:#E2E8F0;--sapphire:#174CBC;--navy:#041949;--charcoal:#121212;--gray:#8A8A8A;--bright-gray:#e7eaef;
  --sapphire-900:#041949;--snow-rgb:248,250,252;--navy-rgb:4,25,73;--alice-rgb:226,232,240;
  --serif:'Source Serif 4','Source Serif Pro',Georgia,serif;
  --sans:'Helvetica Neue',Helvetica,Arial,sans-serif;
  --adlam:'Noto Sans Adlam',sans-serif;
  --r-sm:8px;--r-md:12px;--r-lg:15px;--r-xl:20px;
  --max:1440px;--pad:136px;--pad-m:30px;--header:70px;--header-m:60px;
}
/* ADLaM Pular: Noto Sans Adlam for text, Glossa Serif for titles (Latin letters fall back to the normal fonts). */
.lang-ff{--serif:'ADLaM Glossa Serif','Noto Sans Adlam','Source Serif 4',Georgia,serif;--sans:'Noto Sans Adlam','Helvetica Neue',Helvetica,Arial,sans-serif}
.is-rtl p,.is-rtl h1,.is-rtl h2,.is-rtl h3,.is-rtl li{unicode-bidi:plaintext}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:120px}
body{font-family:var(--sans);background:var(--snow);color:var(--charcoal);-webkit-font-smoothing:antialiased}
img{max-width:100%}
a{color:inherit}
button,input,textarea{font:inherit}
:focus-visible{outline:2px solid var(--sapphire);outline-offset:3px}

/* ---------- Typography (src/styles/typography.ts) ---------- */
.eyebrow{font-family:var(--sans);font-size:13px;font-weight:300;line-height:1.2;color:var(--charcoal)}
.page-title,.section-title{font-family:var(--serif);font-size:64px;font-weight:400;line-height:1.253;color:var(--charcoal)}
.is-dark .eyebrow{color:rgba(var(--snow-rgb),.7)}
.is-dark .page-title,.is-dark .section-title{color:var(--snow)}
.lead-text{font-family:var(--sans);font-size:20px;line-height:1.5;color:var(--charcoal)}
.body-text{font-family:var(--sans);font-size:16px;line-height:1.6;color:var(--charcoal)}
.body-text.is-dark{color:rgba(var(--snow-rgb),.82)}
.body-text p+p{margin-top:1em}
.caption{font-family:var(--sans);font-size:13px;font-weight:300;line-height:1.5;color:var(--charcoal)}
.caption.is-dark{color:rgba(var(--alice-rgb),.6)}
.section-header{display:flex;flex-direction:column}
.divider{border:none;border-top:1px solid var(--alice);width:100%}
.divider--thick{border-top-width:2px}
.divider--dark{border-top-color:rgba(var(--alice-rgb),.2)}
@media (max-width:900px){
  .page-title{font-size:40px;line-height:1.15}
  .section-title{font-size:32px;line-height:1.2}
  .lead-text{font-size:17px}
  .body-text{font-size:14px}
}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:18px 30px;border-radius:var(--r-lg);border:none;cursor:pointer;font-family:var(--sans);font-size:17px;font-weight:400;line-height:1.15;text-decoration:none;white-space:nowrap;transition:background .2s ease,opacity .2s ease;background:var(--charcoal);color:var(--snow)}
.btn--compact{padding:14px 24px;font-size:15px}
.btn--sapphire{background:var(--sapphire-900)}
.btn--sapphire:hover{background:var(--sapphire)}
.btn--dark{background:var(--navy)}
.btn--dark:hover{background:var(--sapphire)}
.btn--outline{background:transparent;color:var(--charcoal);border:1px solid var(--navy)}
.btn--outline:hover{background:var(--alice)}
.btn__price .amount,.btn__price bdi{color:inherit}
.is-rtl .arrow,.is-rtl .arrow-back,.is-rtl .course-btn__arrow{display:inline-block;transform:scaleX(-1)}

/* ---------- Header ---------- */
.site-header{position:fixed;top:0;left:0;width:100%;z-index:100;background:rgba(var(--snow-rgb),.95);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.admin-bar .site-header{top:32px}
.site-header__bar{max-width:var(--max);margin:0 auto;height:var(--header);padding-inline:147px 80px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.site-header__logo{display:flex;align-items:center;flex-shrink:0}
.site-header__logo img{width:44px;height:48px;object-fit:contain}
.site-nav{display:flex;align-items:center;gap:8px;height:100%;margin-inline-start:auto}
.site-nav__item{position:relative;height:100%;display:inline-flex;align-items:center}
.site-nav__link{min-width:140px;height:100%;display:flex;align-items:center;justify-content:center;font-family:var(--sans);font-size:15px;color:var(--charcoal);text-decoration:none;white-space:nowrap;transition:color .2s}
.site-nav__link:hover{color:var(--sapphire)}
.site-nav__link.is-active{font-weight:700;color:var(--sapphire)}
.site-nav__sub{position:absolute;top:100%;left:50%;min-width:140px;background:var(--sapphire);box-shadow:0 6px 18px rgba(16,24,40,.08);border-radius:0 0 var(--r-sm) var(--r-sm);list-style:none;display:flex;flex-direction:column;align-items:center;transform:translate(-50%,1px);visibility:hidden;opacity:0;transition:opacity .15s ease,transform .15s ease;z-index:10}
.site-nav__item:hover .site-nav__sub,.site-nav__item:focus-within .site-nav__sub{visibility:visible;opacity:1}
.site-nav__sub li{width:90%}
.site-nav__sub li+li{border-top:1px solid rgba(var(--snow-rgb),.12)}
.site-nav__sub a{display:block;padding:20px 4px;color:var(--snow);text-decoration:none;font-size:14px;font-weight:200;text-align:center;white-space:nowrap}
.site-nav__sub a:hover{font-weight:400}
.site-header__donate{min-width:102px;height:38px;border-radius:var(--r-lg);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:0 16px;background:var(--sapphire);color:var(--snow);font-size:15px;font-weight:500;line-height:1;text-decoration:none;transition:background .16s ease,transform .16s ease}
.site-header__donate:hover{background:var(--sapphire-900);transform:translateY(-1px)}
.site-header__menu{display:none;flex-shrink:0;width:40px;height:40px;border:0;background:transparent;cursor:pointer;align-items:center;justify-content:center}
.site-header__menu span,.site-header__menu span::before,.site-header__menu span::after{display:block;width:24px;height:2px;background:var(--charcoal);position:relative;transition:transform .16s ease,top .16s ease,background .12s}
.site-header__menu span::before,.site-header__menu span::after{content:'';position:absolute;left:0}
.site-header__menu span::before{top:-8px}
.site-header__menu span::after{top:8px}
.site-header__menu[aria-expanded="true"] span{background:transparent}
.site-header__menu[aria-expanded="true"] span::before{top:0;transform:rotate(45deg)}
.site-header__menu[aria-expanded="true"] span::after{top:0;transform:rotate(-45deg)}

/* Language switcher (EN · FR · Pular) */
.lang-switch{display:flex;align-items:center;gap:2px;flex-shrink:0}
.lang-switch a{padding:6px 8px;border-radius:var(--r-sm);font-size:13px;line-height:1;color:var(--charcoal);text-decoration:none;opacity:.65;transition:opacity .16s,background .16s}
.lang-switch a[dir="rtl"]{font-family:var(--adlam);font-size:14px}
.lang-switch a:hover{opacity:1;background:rgba(var(--navy-rgb),.06)}
.lang-switch a.is-current{opacity:1;font-weight:700;color:var(--sapphire)}
.lang-switch--footer a{color:rgba(var(--snow-rgb),.75);opacity:1;padding:4px 6px}
.lang-switch--footer a:hover{background:rgba(var(--snow-rgb),.1);color:var(--snow)}
.lang-switch--footer a.is-current{color:var(--snow)}
.lang-switch--mobile{padding:16px var(--pad-m) 0;gap:8px}
.lang-switch--mobile a{font-size:15px;padding:10px 14px;border:1px solid rgba(var(--navy-rgb),.12)}

.mobile-panel{display:none}
@media (max-width:1240px){.site-header__bar{padding-inline:40px}.site-nav__link{min-width:110px}}
@media (max-width:900px){
  .site-header__bar{height:var(--header-m);padding:0 var(--pad-m)}
  .site-header__logo img{width:36px;height:39px}
  .site-nav,.site-header__donate,.lang-switch--header{display:none}
  .site-header__menu{display:inline-flex}
  .mobile-panel{display:block;position:fixed;top:var(--header-m);left:0;right:0;max-height:0;overflow-y:auto;background:var(--snow);transition:max-height .2s ease;z-index:90}
  .admin-bar .mobile-panel{top:calc(var(--header-m) + 46px)}
  .mobile-panel.is-open{max-height:calc(100vh - var(--header-m));box-shadow:0 12px 24px rgba(4,25,73,.08);border-top:1px solid rgba(var(--navy-rgb),.08)}
  .mobile-panel__list{list-style:none;padding:8px 0 16px}
  .mobile-panel__group{border-bottom:1px solid rgba(var(--navy-rgb),.06)}
  .mobile-panel__head{display:block;padding:18px var(--pad-m);font-size:18px;font-weight:500;color:var(--charcoal);text-decoration:none}
  .mobile-panel__sub{list-style:none;padding:0 var(--pad-m) 16px;display:flex;flex-direction:column;gap:12px}
  .mobile-panel__sub a{font-size:14px;font-weight:300;color:rgba(var(--navy-rgb),.65);text-decoration:none}
  .mobile-panel__head:hover,.mobile-panel__sub a:hover{color:var(--sapphire)}
  .mobile-panel__donate{display:block;margin:16px var(--pad-m) 24px;padding:14px 20px;border-radius:var(--r-lg);background:var(--sapphire);color:var(--snow);font-size:15px;font-weight:500;text-align:center;text-decoration:none}
}
@media (max-width:782px){.admin-bar .site-header{top:46px}}

/* ---------- Footer ---------- */
.site-footer{background:var(--navy);width:100%;color:var(--snow)}
.site-footer__inner{max-width:var(--max);margin:0 auto;padding:60px var(--pad) 36px}
.site-footer__top{display:flex;justify-content:space-between;align-items:flex-start;gap:40px;padding-bottom:48px;border-bottom:1px solid rgba(var(--snow-rgb),.15);margin-bottom:40px}
.site-footer__newsletter{max-width:420px;flex:1 1 300px}
.site-footer__nl-title{font-size:16px;font-weight:500;text-transform:uppercase;margin-bottom:12px;letter-spacing:.05em}
.site-footer__nl-text{font-size:16px;font-weight:300;line-height:1.5;margin-bottom:24px}
.site-footer__email{display:flex;align-items:center;gap:8px;border-bottom:1px solid rgba(var(--snow-rgb),.5);padding-bottom:8px;width:280px;position:relative}
.site-footer__email input{background:none;border:none;outline:none;font-size:15px;color:var(--snow);flex:1;min-width:0}
.is-rtl .site-footer__email input{text-align:right}
.site-footer__email input::placeholder{color:rgba(var(--snow-rgb),.5)}
.site-footer__email button{background:none;border:none;color:var(--snow);font-size:18px;cursor:pointer}
.site-footer__links{display:flex;flex-shrink:0}
.site-footer__group{width:160px;padding:0 12px}
.site-footer__group-title{font-size:14px;font-weight:500;text-transform:uppercase;margin-bottom:20px;letter-spacing:.05em}
.site-footer__list{display:flex;flex-direction:column;gap:10px}
.site-footer__list a{font-size:14px;font-weight:300;color:rgba(var(--snow-rgb),.75);text-decoration:none;line-height:1.4;transition:color .2s}
.site-footer__list a:hover{color:var(--snow)}
.site-footer__bottom{display:flex;align-items:center;justify-content:flex-end}
.site-footer__lang{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.site-footer__lang-label{font-size:13px;font-weight:300;color:rgba(var(--snow-rgb),.5)}
.site-footer__brand{display:flex;justify-content:center;align-items:center;gap:4px}
.site-footer__brand img{width:40px;height:43px;object-fit:contain;filter:brightness(0) invert(1)}
.site-footer__copy{font-size:14px;font-weight:200}
@media (max-width:1240px){.site-footer__inner{padding-inline:48px}.site-footer__group{width:140px}}
@media (max-width:900px){
  .site-footer__inner{padding:48px var(--pad-m) 32px}
  .site-footer__top{flex-direction:column;gap:32px;padding-bottom:32px;margin-bottom:28px}
  .site-footer__newsletter{width:100%;max-width:100%;flex:none}
  .site-footer__email{width:100%}
  .site-footer__links{width:100%;flex-wrap:wrap;gap:24px 0}
  .site-footer__group{width:50%;padding:0;padding-inline-end:12px}
  .site-footer__bottom{justify-content:flex-start}
  .site-footer__lang{align-items:flex-start}
  .site-footer__brand{flex-direction:column;align-items:flex-start;gap:8px;margin-top:20px}
}

/* ---------- Back to top & toast ---------- */
.back-to-top{position:fixed;right:24px;bottom:32px;width:86px;height:56.5px;background:none;border:none;cursor:pointer;color:var(--gray);transition:color .16s ease,transform .16s ease,opacity .2s;z-index:50;opacity:0;pointer-events:none}
.back-to-top.is-visible{opacity:1;pointer-events:auto}
.back-to-top:hover{color:var(--charcoal);transform:translateY(-2px)}
.back-to-top.is-dark:hover{color:var(--snow)}
.back-to-top svg{position:absolute;top:0;left:50%;width:33px;height:16px;transform:translateX(-50%)}
.back-to-top span{position:absolute;bottom:0;left:0;width:100%;text-align:center;font-size:15px;font-weight:300;line-height:17px;text-transform:uppercase}
@media (max-width:900px){.back-to-top{right:16px;bottom:20px;width:64px;height:44px}.back-to-top span{font-size:12px;line-height:13px}}
.toast{position:fixed;right:28px;bottom:28px;z-index:1000;max-width:min(360px,calc(100vw - 32px));padding:14px 18px;border-radius:var(--r-sm);background:var(--sapphire-900);color:var(--snow);box-shadow:0 18px 48px rgba(2,14,49,.28);font-size:14px;line-height:1.45;opacity:0;pointer-events:none;transform:translateY(12px);transition:opacity .2s ease,transform .2s ease}
.toast.is-visible{opacity:1;transform:none}
@media (max-width:640px){.toast{right:16px;bottom:16px}}

/* ---------- Signup card ---------- */
.signup-card{flex:1;min-width:320px;max-width:543px;background:var(--navy);border-radius:var(--r-lg);padding:49px 43px;display:flex;flex-direction:column;gap:20px}
.signup-card__heading{font-family:var(--serif);font-size:30px;font-weight:400;color:var(--snow)}
.signup-card__desc{font-family:var(--serif);font-size:15px;font-weight:200;color:var(--snow);padding-bottom:20px}
.signup-card__fields{display:flex;flex-direction:column;gap:16px}
.signup-card__input{width:100%;padding:14px 20px;border-radius:var(--r-md);border:1px solid rgba(var(--alice-rgb),.4);background:rgba(var(--snow-rgb),.08);font-size:16px;color:var(--snow);outline:none;transition:border-color .2s}
.is-rtl .signup-card__input{text-align:right}
.signup-card__input::placeholder{color:rgba(var(--snow-rgb),.45)}
.signup-card__input:focus{border-color:var(--sapphire)}
.signup-card__submit{padding:16px 28px;border-radius:var(--r-md);border:none;background:rgba(var(--snow-rgb),.15);font-size:16px;color:var(--snow);cursor:pointer;transition:background .2s;align-self:flex-start}
.signup-card__submit:hover{background:rgba(var(--snow-rgb),.25)}
@media (max-width:900px){
  .signup-card{min-width:0;max-width:100%;width:100%;padding:34px 25px}
  .signup-card__heading{font-size:24px}
  .signup-card__desc{font-size:14px;padding-bottom:10px}
  .signup-card__input{padding:14px 28px;font-size:15px}
  .signup-card__submit{height:52px;padding:0 30px;font-size:14px}
}

/* ---------- Home ---------- */
.page--home{background:var(--snow)}
.home-hero{width:100%;height:821px;margin-top:var(--header);display:flex;align-items:center;justify-content:center;background:linear-gradient(rgba(23,76,188,.1),rgba(4,25,73,.15)),var(--hero) center/cover no-repeat}
.home-hero__content{display:flex;flex-direction:column;align-items:center;gap:21px;max-width:400px;text-align:center;padding:0 24px}
.home-hero__logo{width:167px;height:181px;object-fit:contain;filter:brightness(0) invert(1)}
.home-hero__title{font-family:var(--serif);font-size:32px;font-weight:600;line-height:1.253;color:var(--snow)}
.home-hero__subtitle{font-size:20px;line-height:1.5;color:var(--snow)}
.home-content{max-width:var(--max);margin:0 auto;padding:100px var(--pad);display:flex;flex-direction:column;gap:80px}
.two-col{display:flex;align-items:center;gap:82px;flex-wrap:wrap}
.two-col__left,.support-row__left{flex:1;min-width:320px;max-width:543px;display:flex;flex-direction:column;gap:32px}
.two-col__right{flex:1;min-width:320px;max-width:543px;height:480px;position:relative}
.icon-grid{position:relative;width:100%;height:100%}
.icon-box{position:absolute;width:160px;height:160px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:600;font-size:40px;color:var(--snow);text-decoration:none;transition:color .12s ease;cursor:pointer}
.icon-box img{position:absolute;transition:opacity .12s ease}
.icon-box:hover,.icon-box:focus-visible{color:var(--sapphire)}
.icon-box:hover img,.icon-box:focus-visible img{opacity:0}
.icon-box--1{top:70px;inset-inline-start:30px}.icon-box--2{top:70px;inset-inline-start:230px}
.icon-box--3{top:270px;inset-inline-start:30px}.icon-box--4{top:270px;inset-inline-start:230px}
.support-row{display:flex;gap:79px;flex-wrap:wrap;align-items:flex-start}
.support-row__img{width:100%;height:271px;border-radius:var(--r-lg);background:center/cover no-repeat}
@media (max-width:900px){
  .home-hero{margin-top:var(--header-m);height:690px}
  .home-hero__content{padding:0 var(--pad-m)}
  .home-hero__logo{width:106px;height:115px}
  .home-hero__title{font-size:20px}
  .home-hero__subtitle{font-size:16px}
  .home-content{padding:56px var(--pad-m);gap:55px}
  .two-col{flex-direction:column;gap:52px}
  .two-col__left,.support-row__left{flex:none;min-width:0;width:330px;max-width:100%;gap:37px}
  .two-col__right{flex:none;min-width:0;width:330px;max-width:100%;height:231px}
  .icon-box{font-size:0}
  .icon-box img{inset:0;width:100%;height:100% !important;object-fit:contain}
  .icon-box--1{top:6px;inset-inline-start:22px;width:83px;height:84px}
  .icon-box--2{top:0;inset-inline-start:165px;width:89px;height:90px}
  .icon-box--3{top:120px;inset-inline-start:93px;width:84px;height:85px}
  .icon-box--4{top:120px;inset-inline-start:229px;width:84px;height:85px}
  .support-row{flex-direction:column;align-items:center;gap:79px}
  .support-row__img{height:165px}
}

/* ---------- About ---------- */
.page--about{background:var(--navy)}
.about-hero{width:100%;min-height:800px;margin-top:var(--header);display:flex;align-items:flex-end;position:relative;overflow:hidden;background:linear-gradient(to bottom,rgba(23,76,188,.18) 0%,rgba(4,25,73,.85) 100%),var(--hero) center/cover no-repeat}
.about-hero__fade{position:absolute;bottom:0;left:0;width:100%;height:40%;background:linear-gradient(to bottom,transparent,var(--navy));pointer-events:none}
.about-hero__content{position:relative;z-index:1;width:100%;max-width:680px;padding:0 var(--pad) 100px;display:flex;flex-direction:column;gap:8px}
.about-hero__subtitle{font-size:20px;line-height:1.5;color:rgba(var(--snow-rgb),.85);margin-bottom:16px}
.about-content__inner{max-width:var(--max);margin:0 auto;padding:80px var(--pad) 120px;display:flex;flex-direction:column;gap:100px}
.about-section{display:flex;justify-content:space-between;align-items:center;gap:60px;flex-wrap:wrap}
.adlam-decor{flex:1;min-width:280px;max-width:500px;height:360px;position:relative;overflow:hidden}
.adlam-decor img{position:absolute;filter:drop-shadow(0 4px 12px rgba(0,0,0,.3));opacity:.9}
.adlam-decor__c1{width:100px;top:0;inset-inline-start:20px}.adlam-decor__c2{width:60px;top:0;inset-inline-start:270px}
.adlam-decor__c3{width:60px;top:240px;inset-inline-start:0}.adlam-decor__c4{width:120px;top:160px;inset-inline-start:150px}
.adlam-decor__c5{width:120px;top:100px;inset-inline-start:330px}
.about-text{flex:1;min-width:280px;max-width:543px;display:flex;flex-direction:column;gap:24px}
.about-text .body-text{white-space:pre-line}
.fulani-section{display:flex;justify-content:space-between;align-items:flex-start;gap:60px;flex-wrap:wrap}
.fulani-photo{flex:1;min-width:280px;max-width:500px;display:flex;flex-direction:column;gap:12px}
.fulani-photo__img{width:100%;height:374px;border-radius:var(--r-lg);background:center/cover no-repeat}
@media (max-width:900px){
  .about-hero{min-height:688px;margin-top:var(--header-m)}
  .about-hero__content{padding:0 var(--pad-m) 56px;gap:31px}
  .about-hero__subtitle{font-size:16px;margin-bottom:0}
  .about-content__inner{padding:56px var(--pad-m) 72px;gap:83px}
  .about-section{flex-direction:column;gap:40px}
  .adlam-decor{min-width:0;width:100%;max-width:316px;height:366px}
  .adlam-decor__c1{width:48px;top:254px;inset-inline-start:83px}.adlam-decor__c2{width:29px;top:254px;inset-inline-start:243px}
  .adlam-decor__c3{width:39px;top:171px;inset-inline-start:188px}.adlam-decor__c4{width:120px;top:37px;inset-inline-start:27px}
  .adlam-decor__c5{width:77px;top:-16px;inset-inline-start:227px}
  .about-text{min-width:0;width:100%;gap:31px}
  .fulani-section{flex-direction:column;align-items:stretch;gap:41px}
  .fulani-photo{min-width:0;width:100%;gap:23px}
  .fulani-photo__img{height:219px}
  .fulani-photo .caption{text-align:center}
}

/* ---------- Resources (sub-nav + Learn) ---------- */
.page--resources{background:var(--snow);overflow-x:clip;margin-top:var(--header)}
.res-subnav{width:100%;height:55px;background:var(--sapphire);display:flex;justify-content:center;position:sticky;top:var(--header);z-index:80}
.admin-bar .res-subnav{top:calc(var(--header) + 32px)}
.res-subnav__inner{max-width:var(--max);width:100%;display:flex;justify-content:flex-end;padding-inline:var(--pad) 155px}
.res-subnav a{min-width:105px;height:100%;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;font-size:14px;line-height:1;color:var(--snow);text-decoration:none;white-space:nowrap;position:relative}
.res-subnav a:not(:first-child)::before{content:'';position:absolute;inset-inline-start:0;top:50%;width:1px;height:22px;background:rgba(var(--snow-rgb),.6);transform:translateY(-50%)}
.res-subnav a:hover,.res-subnav a.is-active{font-weight:700}
.res-content{max-width:var(--max);min-height:755px;margin:0 auto;padding:169px var(--pad) 80px}
.learn-grid{display:grid;grid-template-columns:minmax(0,543px) minmax(0,519px);justify-content:space-between;align-items:start;gap:80px}
.learn-copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:24px}
.learn-visual{width:100%;max-width:519px;min-width:0;justify-self:end;display:flex;flex-direction:column;gap:19px}
.learn-pair{width:100%;height:290px;display:grid;grid-template-columns:290px 206px;gap:23px}
.learn-frame{height:100%;border-radius:var(--r-lg);overflow:hidden}
.learn-cover{display:block;width:209.5%;height:149%;object-fit:cover;max-width:none;transform:translateX(-52.2%)}
.learn-cover--wide{width:208.5%;height:209%;transform:none}
.learn-actions{width:100%;display:flex;flex-direction:column;align-items:flex-end;gap:28px}
.course-btn{min-height:56px;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding-block:18px;padding-inline:30px 23px;border-radius:var(--r-lg);border:1px solid var(--navy);background:var(--alice);font-size:17px;line-height:1;color:var(--navy);text-decoration:none;white-space:nowrap;transition:background .16s,color .16s,border-color .16s}
.course-btn--primary{background:var(--navy);color:var(--snow)}
.course-btn:hover{background:var(--sapphire);border-color:var(--sapphire);color:var(--snow)}
.course-btn__arrow{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;font-size:22px;line-height:1}
@media (max-width:1413px){.learn-grid{grid-template-columns:1fr;gap:48px}.learn-visual{justify-self:start}}
@media (max-width:900px){
  .page--resources{margin-top:var(--header-m)}
  .res-subnav{top:var(--header-m);height:48px}
  .admin-bar .res-subnav{top:calc(var(--header-m) + 46px)}
  .res-subnav__inner{justify-content:center;padding:0 var(--pad-m);overflow-x:auto;scrollbar-width:none}
  .res-subnav a{min-width:max-content;padding:0 14px}
  .res-subnav a:first-child{padding-inline-start:0}
  .res-content{min-height:auto;padding:56px var(--pad-m) 64px}
  .learn-grid{gap:40px}
  .learn-copy{width:100%;gap:31px}
  .learn-pair{height:auto;grid-template-columns:minmax(0,1fr) minmax(0,.71fr);gap:14px}
  .learn-frame{aspect-ratio:1}.learn-frame:last-child{aspect-ratio:206/290}
  .learn-actions{align-items:stretch;gap:21px}
}

/* ---------- Keyboard ---------- */
.kb-content{width:824px;max-width:calc(100% - 48px);min-height:938px;margin:0 auto;padding:105px 0 106px}
.kb-title{font-family:var(--serif);font-size:40px;font-weight:400;line-height:1.25;margin-bottom:17px}
.kb-lead{width:636px;max-width:100%;font-size:20px;line-height:1.2;margin-bottom:59px}
.font-list{display:flex;flex-direction:column;gap:9px;margin-bottom:31px}
.font-card{height:94px;border-radius:var(--r-xl);background:#ececec;position:relative;overflow:hidden}
.font-card__meta{position:absolute;top:18px;left:28px;display:flex;align-items:center;gap:9px;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:14px;line-height:1}
.font-card__name{font-weight:700}
.font-card__weight{color:var(--gray)}
.font-card__sample{position:absolute;left:28px;top:34px;width:530px;max-width:calc(100% - 290px);font-size:40px;line-height:1.2;direction:rtl;unicode-bidi:plaintext;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.font-card__actions{position:absolute;right:9px;bottom:15px;display:flex;gap:11px}
.font-btn{height:28px;border:0;border-radius:var(--r-md);padding:0 17px;min-width:131px;display:inline-flex;align-items:center;justify-content:center;background:var(--gray);color:var(--snow);font-size:15px;line-height:1;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background .16s}
.font-btn--dark{min-width:100px;background:var(--navy)}
.font-btn:hover{background:var(--sapphire)}
.kb-wrap{width:824px;max-width:100%;overflow-x:auto;scrollbar-width:none}
.kb-wrap::-webkit-scrollbar{display:none}
.kb-rows{width:824px;height:263px;display:flex;flex-direction:column;justify-content:space-between}
.kb-row{display:flex;align-items:center;justify-content:space-between;width:100%}
.kb-key{height:50px;border:0;border-radius:5px;background:#ececec;position:relative;flex:0 0 auto;cursor:pointer;transition:background .12s,transform .12s;font-family:Inter,'Helvetica Neue',Helvetica,Arial,sans-serif}
.kb-key:hover,.kb-key.is-pressed{background:#e0e0e0}
.kb-key:active{transform:translateY(1px)}
.kb-key:disabled{cursor:default}
.kb-key--shift.is-active{background:var(--sapphire)}
.kb-key--shift.is-active .kb-key__c{color:var(--snow)}
.kb-key__dead{position:absolute;top:3px;right:3px;width:17px;height:21px;border-radius:5px;background:rgba(0,0,0,.07)}
.kb-key__c{position:absolute;font-size:16px;font-weight:500;line-height:1;color:#686868;white-space:nowrap}
.kb-key__c.is-adlam{font-family:var(--adlam)}
.kb-key__tl{top:9px;left:9px}.kb-key__tr{top:9px;right:9px}.kb-key__bl{bottom:9px;left:9px}.kb-key__br{bottom:9px;right:9px;color:var(--sapphire)}
.modal{position:fixed;inset:0;z-index:200;padding:24px;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.35)}
.modal[hidden]{display:none}
.modal__dialog{width:100%;max-width:420px;border-radius:var(--r-lg);background:var(--snow);padding:28px;box-shadow:0 18px 48px rgba(0,0,0,.18)}
.modal__title{font-family:var(--serif);font-size:28px;font-weight:400;line-height:1.2;margin-bottom:12px}
.modal__body{font-size:15px;line-height:1.45;margin-bottom:24px}
.modal__actions{display:flex;justify-content:flex-end;gap:12px}
.modal__btn,.modal__link{min-height:38px;border:0;border-radius:var(--r-md);padding:0 18px;display:inline-flex;align-items:center;justify-content:center;font-size:15px;cursor:pointer;text-decoration:none;transition:background .16s,color .16s}
.modal__btn{background:var(--alice);color:var(--navy)}
.modal__link{background:var(--navy);color:var(--snow)}
.modal__btn:hover,.modal__link:hover{background:var(--sapphire);color:var(--snow)}
@media (max-width:900px){
  .kb-content{max-width:none;width:100%;padding:72px 24px 96px;min-height:0}
  .kb-title{font-size:32px}
  .font-card__sample{max-width:calc(100% - 56px);top:42px}
}

/* ---------- Books & Apps ---------- */
.books-content{width:calc(100% - 48px);max-width:1250px;margin:0 auto;padding:124px 0 151px}
.books-heading{padding-top:50px;padding-inline-start:40px;max-width:1168px;display:flex;flex-direction:column;gap:6px}
.books-intro{margin-top:18px;max-width:640px}
.shelves{width:100%;margin:40px 0 83px;display:flex;flex-direction:column;gap:56px}
.shelf{position:relative;max-width:1060px;margin:0 auto;width:100%}
.shelf__books{display:grid;grid-template-columns:repeat(3,1fr);gap:4.5%;padding:0 13%;align-items:end;position:relative;z-index:1}
.shelf__book{position:relative;display:block;aspect-ratio:241/341;transition:transform .18s ease;transform-origin:bottom center}
.shelf__book:hover,.shelf__book:focus-visible{transform:scale(1.04)}
.book-cover{display:block;width:100%;height:100%;object-fit:cover;border-radius:2px 4px 4px 2px;box-shadow:inset 4px 0 6px -3px rgba(0,0,0,.35),6px 6px 14px rgba(0,0,0,.18),1px 1px 2px rgba(0,0,0,.2)}
.book-cover--blank{display:flex;align-items:center;justify-content:center;padding:16px;text-align:center;background:linear-gradient(135deg,var(--sapphire),var(--navy));color:var(--snow);font-family:var(--serif);font-size:20px;line-height:1.25}
.shelf__badge{position:absolute;bottom:10px;inset-inline-start:50%;transform:translateX(-50%);background:var(--navy);color:var(--snow);font-size:11px;padding:5px 9px;border-radius:20px;white-space:nowrap}
.is-rtl .shelf__badge{transform:translateX(50%)}
.shelf__plank{position:relative;height:28px;margin-top:-2px;background:linear-gradient(#fff,#f3f4f6 55%,#e5e7eb);box-shadow:0 22px 30px -10px rgba(0,0,0,.18),0 2px 3px rgba(0,0,0,.08);clip-path:polygon(2.5% 0,97.5% 0,100% 40%,100% 100%,0 100%,0 40%)}
.shelf__plank::before{content:'';position:absolute;left:2.5%;right:2.5%;top:0;height:11px;background:linear-gradient(#f9fafb,#eceef1)}
.shelf__titles{display:grid;grid-template-columns:repeat(3,1fr);gap:4.5%;padding:14px 13% 0}
.shelf__titles a{font-size:14px;line-height:1.35;color:var(--charcoal);text-decoration:none;text-align:center}
.shelf__titles a:hover{color:var(--sapphire)}
.books-divider{width:100%;max-width:1168px;border:0;border-top:1px solid var(--bright-gray);margin:0 auto 164px}
.apps{max-width:1168px;margin:0 auto}
.apps-heading{margin-bottom:83px}
.apps-grid{display:flex;justify-content:center;gap:57px}
.app-card{width:352px;min-height:469px;border:1px solid var(--alice);border-radius:19px;background:var(--snow);padding:35px 62px;display:flex;flex-direction:column;align-items:center;gap:28px}
.app-card__icon{width:164px;height:164px;object-fit:cover;border-radius:var(--r-lg);display:block}
.app-card__text{width:100%;display:flex;flex-direction:column;gap:8px}
.app-card__title{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:17px;font-weight:500;line-height:1.2}
.app-card__meta{font-size:13px;color:var(--gray)}
.app-card__desc{width:100%;font-size:15px;line-height:1.25}
.app-card__btn{margin-top:auto;padding:18px 30px;border-radius:var(--r-lg);background:var(--navy);font-size:17px;line-height:1;color:var(--snow);text-decoration:none;white-space:nowrap;transition:background .16s}
.app-card__btn:hover{background:var(--sapphire)}
@media (max-width:1240px){.books-content{padding:96px 0 120px}}
@media (max-width:1100px){.apps-grid{gap:24px}}
@media (max-width:900px){
  .books-content{width:calc(100% - 60px);padding:56px 0 72px}
  .books-heading{padding-top:24px;padding-inline-start:0}
  .shelves{margin-bottom:48px;gap:36px}
  .shelf__books,.shelf__titles{padding-inline:6%}
  .shelf__plank{height:16px}
  .shelf__titles a{font-size:12px}
  .shelf__badge{font-size:9px;padding:3px 6px;bottom:6px}
  .books-divider{margin-bottom:88px}
  .apps-heading{margin-bottom:36px}
}
@media (max-width:820px){.apps-grid{flex-direction:column;align-items:center}}
@media (max-width:420px){.app-card{width:100%;padding:32px 28px}}

/* ---------- Single book ---------- */
.book-detail{max-width:var(--max);margin:0 auto;padding:72px var(--pad) 120px}
.book-detail__back{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--gray);text-decoration:none;margin-bottom:40px}
.book-detail__back:hover{color:var(--sapphire)}
.book-detail__grid{display:grid;grid-template-columns:minmax(220px,340px) minmax(0,1fr);gap:72px;align-items:start;margin-bottom:72px}
.book-detail__cover .book-cover{aspect-ratio:241/341;height:auto}
.book-detail__info{display:flex;flex-direction:column;gap:20px}
.book-detail__title{font-size:56px}
.book-detail__meta{display:flex;flex-wrap:wrap;gap:12px 40px}
.book-detail__meta dt{font-size:13px;font-weight:300;color:var(--gray)}
.book-detail__meta dd{font-size:16px}
.book-detail__desc{max-width:640px}
.book-detail__actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:12px}
.page--book{min-height:60vh}
@media (max-width:900px){
  .book-detail{padding:40px var(--pad-m) 72px}
  .book-detail__back{margin-bottom:24px}
  .book-detail__grid{grid-template-columns:1fr;gap:32px;margin-bottom:40px}
  .book-detail__cover{max-width:220px}
  .book-detail__title{font-size:36px}
  .book-detail__actions .btn{width:100%}
}

/* ---------- Glossa ---------- */
.page--glossa{margin-top:var(--header)}
.glossa-top{background:var(--alice)}
.glossa-bottom{background:#fff}
.container{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.glossa-hero{padding:200px 0 180px;display:flex;justify-content:space-between;align-items:flex-end;gap:48px;flex-wrap:wrap}
.glossa-hero__left{flex:1;min-width:320px;max-width:543px;display:flex;flex-direction:column;gap:31px}
.glossa-card{width:366px;max-width:100%;background:var(--snow);border:1px solid var(--alice);border-radius:var(--r-lg);padding:38px 33px;display:flex;flex-direction:column;gap:39px}
.glossa-card__row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.glossa-card__label{font-size:13px;line-height:1.4}
.glossa-card__label span{display:block;font-weight:300;color:var(--gray)}
.glossa-card__price{font-size:13px;font-weight:500}
.glossa-card__btn{display:inline-flex;align-items:center;justify-content:center;height:56px;border-radius:var(--r-lg);background:var(--navy);color:var(--snow);font-size:15px;font-weight:500;line-height:1;text-decoration:none;transition:background .16s}
.glossa-card__btn:hover{background:var(--sapphire)}
.glossa-pairs{padding-bottom:180px;display:flex;flex-direction:column;gap:40px}
.glossa-pairs__title{font-family:var(--serif);font-size:40px;font-weight:400;line-height:1.25}
.glossa-pairs__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.pair-card{background:var(--snow);border:1px solid var(--alice);border-radius:19px;padding:35px;display:flex;flex-direction:column;gap:28px}
.pair-card__label{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:13px;font-weight:500;text-align:center}
.pair-card__text{display:flex;flex-direction:column;gap:13px;text-align:right}
.pair-card__h{font-size:32px;line-height:1.3}
.pair-card__b{font-size:17px;line-height:1.6}
.glossa-desc{padding-bottom:180px;display:flex;justify-content:space-between;align-items:flex-start;gap:64px;flex-wrap:wrap}
.glossa-desc__left{flex:1;min-width:320px;max-width:543px;display:flex;flex-direction:column;gap:31px}
.glossa-desc__hook{font-size:20px;font-weight:500;line-height:1.4}
.glossa-meta{flex:1;min-width:320px;max-width:494px;display:flex;flex-direction:column;gap:16px}
.glossa-meta__h{font-size:24px;font-weight:400;line-height:1.4;color:var(--gray);margin-top:16px}
.glossa-meta__h:first-child{margin-top:0}
.glossa-meta__line{font-size:16px;line-height:1.6}
.glossa-meta__line strong{font-weight:500;color:var(--gray)}
.glossa-meta__list{padding-inline-start:18px;display:flex;flex-direction:column;gap:10px}
.glossa-meta__list li{font-size:16px;line-height:1.5}
.charset{padding:160px 0;display:flex;flex-direction:column;gap:64px}
.charset__groups{display:flex;flex-direction:column;gap:80px}
.charset__group{display:flex;flex-direction:column;gap:26px}
.charset__label{font-family:var(--serif);font-size:28px;font-weight:400;line-height:1.2}
.charset__group img{width:100%;height:auto;display:block}
@media (max-width:1100px){.glossa-pairs__grid{grid-template-columns:1fr}}
@media (max-width:900px){
  .page--glossa{margin-top:var(--header-m)}
  .container{padding:0 var(--pad-m)}
  .glossa-hero{padding:120px 0 80px;gap:36px}
  .glossa-hero__left,.glossa-desc__left,.glossa-meta{min-width:0;width:100%;gap:22px}
  .glossa-card{padding:28px 24px;gap:28px}
  .glossa-pairs{padding-bottom:80px;gap:24px}
  .glossa-pairs__title{font-size:28px}
  .pair-card{padding:24px;gap:20px}
  .pair-card__h{font-size:26px}.pair-card__b{font-size:15px}
  .glossa-desc{padding-bottom:80px;gap:40px}
  .charset{padding:72px 0;gap:40px}
  .charset__groups{gap:48px}
}

/* ---------- Video heroes (Community, Support) ---------- */
.video-hero{width:100%;position:relative;display:flex;align-items:center;margin-top:var(--header);overflow:hidden}
.video-hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.video-hero__overlay{position:absolute;inset:0;z-index:1}
@media (prefers-reduced-motion:reduce){.video-hero__video{display:none}.video-hero{background:var(--navy)}}

/* ---------- Community ---------- */
.page--community{background:var(--snow)}
.community-hero{min-height:800px}
.community-hero__overlay{background:linear-gradient(to bottom,rgba(4,25,73,.4) 0%,rgba(4,25,73,.3) 100%)}
.community-hero__content{position:relative;z-index:2;width:50%;max-width:680px;padding-inline-start:var(--pad);display:flex;flex-direction:column;gap:16px}
.community-hero__body{font-size:17px;font-weight:300;color:rgba(var(--snow-rgb),.8)}
.community-hero__news{position:relative;z-index:2;width:50%;display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.community-hero__news a{color:var(--snow);font-size:20px;font-weight:300;padding-inline-end:var(--pad)}
.community-hero__news a:hover{opacity:.7}
.community-content{max-width:var(--max);margin:0 auto;padding:80px var(--pad) 120px;display:flex;flex-direction:column;gap:80px}
.announcements{display:flex;flex-direction:column;gap:24px}
.announcements__grid{display:grid;gap:20px;grid-template-columns:repeat(3,1fr)}
.ann-card{position:relative;width:300px;height:400px;border-radius:var(--r-lg);border:1px solid var(--bright-gray);background:var(--snow);display:flex;flex-direction:column;align-items:flex-start;padding:30px 24px 50px;text-decoration:none;color:inherit;cursor:pointer;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}
.ann-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(23,76,188,.25)}
.ann-card__label{font-size:17px;font-weight:500}
.ann-card__date{font-size:12px;color:var(--gray);margin:8px 0 16px}
.ann-card__desc{font-size:13px;line-height:1.5;white-space:pre-wrap;overflow:hidden}
.ann-card__arrow{position:absolute;right:24px;bottom:22px;width:18px;height:18px;opacity:.7}
.is-rtl .ann-card__arrow{right:auto;left:24px;transform:scaleX(-1)}
.gallery{display:flex;flex-direction:column;gap:40px}
.gallery__heading{display:flex;flex-direction:column;justify-content:center;gap:12px;width:47%}
.photo-strip{position:relative;width:100%;overflow-x:auto;overflow-y:hidden;padding:6px 0 80px;cursor:grab;scroll-snap-type:x proximity;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.photo-strip::-webkit-scrollbar{display:none}
.photo-strip.is-dragging{cursor:grabbing;scroll-snap-type:none}
.photo-strip__track{display:flex;width:max-content;gap:12px;padding:0 24px}
.photo-strip__cell{width:clamp(260px,30vw,350px);aspect-ratio:1.3;flex-shrink:0;scroll-snap-align:start;border-radius:var(--r-lg);background:center/cover no-repeat}
.gallery__main{display:flex;gap:50px;flex-wrap:wrap}
.gallery__featured{flex:2;min-width:300px;display:flex;justify-content:space-between}
.gallery__featured-img{width:47%;aspect-ratio:1.3;border-radius:var(--r-lg);background:center/cover no-repeat}
.gallery__side{width:100%;display:flex;justify-content:space-between}
.gallery__side-item{display:flex;flex-direction:column;width:47%;aspect-ratio:1.3;align-items:center;gap:15px}
.gallery__side-img{width:100%;height:100%;border-radius:var(--r-lg);background:center/cover no-repeat}
.gallery__caption{font-size:10px;font-weight:300;line-height:1.5}
@media (max-width:900px){
  .community-hero{min-height:688px;margin-top:var(--header-m);flex-direction:column;align-items:stretch;justify-content:flex-start;padding:160px 0 0;gap:80px}
  .community-hero__content{width:100%;max-width:none;padding:0 var(--pad-m);gap:31px}
  .community-hero__news{width:100%;padding:0 var(--pad-m);gap:37px}
  .community-hero__news a{font-size:16px;padding:0;text-decoration:underline}
  .community-content{padding:64px var(--pad-m) 72px}
  .announcements{gap:55px}
  .announcements__grid{grid-template-columns:1fr;gap:16px}
  .ann-card{width:100%;height:auto;padding:35px 35px 56px}
  .ann-card__label{font-size:16px}
  .ann-card__date{font-size:10px;margin:8px 0 28px}
  .gallery__heading{width:100%}
  .photo-strip__cell{width:250px;aspect-ratio:250/188}
  .gallery__main{gap:32px}
  .gallery__featured{flex-direction:column;min-width:0;width:100%;gap:24px}
  .gallery__featured-img{width:100%;aspect-ratio:330/248}
  .gallery__side{flex-direction:column;gap:30px}
  .gallery__side-item{width:100%;aspect-ratio:auto}
  .gallery__side-img{height:248px}
  .gallery__caption{text-align:center}
}
@media (min-width:901px) and (max-width:1240px){.ann-card{width:100%}}

/* ---------- Support ---------- */
.page--support{background:var(--snow)}
.support-hero{min-height:860px}
.support-hero__overlay{background:linear-gradient(rgba(4,25,73,.5),rgba(4,25,73,.3))}
.support-hero__content{position:relative;z-index:2;max-width:var(--max);width:100%;margin:0 auto;padding:120px var(--pad) 100px;display:flex;gap:80px;flex-wrap:wrap;align-items:flex-start}
.contact-block{flex:1;min-width:280px;max-width:543px;display:flex;flex-direction:column;gap:40px}
.contact-block__info{display:flex;flex-direction:column;gap:25px}
.contact-block__desc{font-size:17px;line-height:1.6;color:rgba(var(--snow-rgb),.82);padding-bottom:40px}
.contact-block__text{font-size:13px;line-height:1.3;color:rgba(var(--snow-rgb),.82);text-align:start}
.is-rtl .contact-block__text{text-align:right}
.contact-block__btn{margin-top:12px}
.donation{max-width:var(--max);margin:0 auto;padding:200px var(--pad) 100px;display:flex;gap:80px;flex-wrap:wrap;align-items:flex-start}
.donation__content{flex:1;min-width:280px;max-width:543px;display:flex;flex-direction:column;gap:32px}
.donation__subtitle{font-size:clamp(12px,1.5vw,17px);font-weight:500;line-height:1.3}
.donation__body{font-size:14px;line-height:1.5}
.donation__btn{margin-top:12px}
.donation__btn .btn{min-width:140px}
.donation__card{flex:1;margin-top:100px;aspect-ratio:723/463;border-radius:var(--r-lg);background:center/contain no-repeat;box-shadow:0 8px 32px rgba(23,76,188,.2)}
@media (max-width:900px){
  .support-hero{min-height:auto;margin-top:var(--header-m)}
  .support-hero__content{padding:151px var(--pad-m) 64px}
  .contact-block{min-width:0;width:100%;gap:21px}
  .contact-block__info{gap:45px}
  .donation{flex-direction:column;align-items:center;padding:83px var(--pad-m) 64px;gap:51px}
  .donation__content{min-width:0;width:100%;gap:31px}
  .donation__card{flex:none;width:100%;aspect-ratio:330/211;margin-top:0}
}

/* ---------- Generic pages & shop ---------- */
.page--generic,.page--shop{margin-top:var(--header);min-height:60vh}
.generic-content{max-width:1000px;margin:0 auto;padding:100px var(--pad-m) 120px}
.generic-title{margin-bottom:32px;font-size:48px}
.entry-content>*+*{margin-top:1em}
.shop-content{max-width:1168px}
.woocommerce .button,.woocommerce button.button,.woocommerce a.button,.woocommerce input.button,.woocommerce #respond input#submit,.woocommerce a.button.alt,.woocommerce button.button.alt{background:var(--navy)!important;color:var(--snow)!important;border-radius:var(--r-lg)!important;padding:14px 24px!important;font-weight:400!important}
.woocommerce .button:hover,.woocommerce button.button:hover,.woocommerce a.button:hover{background:var(--sapphire)!important}
.woocommerce .product_title,.woocommerce-products-header__title,.woocommerce h1,.woocommerce h2{font-family:var(--serif);font-weight:400}
.woocommerce input.input-text,.woocommerce textarea,.woocommerce select{border:1px solid var(--alice);border-radius:var(--r-md);padding:12px 14px;background:#fff}
.wj-product-book a{color:var(--sapphire)}
@media (max-width:900px){.page--generic,.page--shop{margin-top:var(--header-m)}.generic-content{padding:56px var(--pad-m) 72px}.generic-title{font-size:36px}}

/* ---------- Library (v1.1) ---------- */
.page--library{background:var(--snow);margin-top:var(--header)}
.library-content{padding-top:72px}
.library-content #magazine .shelves{margin-bottom:0}
.apps-page{min-height:60vh}
.apps-page .apps-heading{margin-bottom:60px}
@media (max-width:900px){.page--library{margin-top:var(--header-m)}.library-content{padding-top:40px}}
