/* PATCH12 — visual alignment. Typography applies ONLY to pages explicitly marked with
   data-patch12-design="true" (the pages redesigned under PATCH12: home, start-here,
   manifestos, about, tam, hamishkan, observation, inner-home and other interior pages).
   FIX 2026-08-17 (font-lock fix): the previous rule used a bare `body` selector plus an
   explicit body[data-oshra-design="HOME-001"] target, which silently overrode LOCKED
   typography on pages without data-patch12-design="true". Scoped strictly below so any
   page NOT carrying the attribute is untouched.
   FONT SWAP 2026-08-17 (per Oshra): replaced the Noto Serif/Sans Hebrew candidate — she
   asked to try the original locked pairing site-wide instead: OshraSerif = Frank Ruhl
   Libre Hebrew, OshraSans = Assistant Hebrew. Loaded locally below (no Google Fonts
   network dependency), same @font-face names/files already used by home-locked.css,
   locked-site-language.css and manifestos.css.
   TYPOGRAPHY SYSTEM LOCKED 2026-08-17 (per Oshra, final decision A): Frank Ruhl Libre
   is used ONLY for headlines, openers, manifesto body copy, quotes, and ceremonial/
   statement moments. Assistant is the base for everything else — running text, nav,
   forms, buttons, micro-copy. Base body font flipped from serif to sans accordingly
   (previously ALL body text defaulted to serif, which was wrong per her spec). Georgia
   has also been removed sitewide (was still present as a fallback/legacy value inside
   several pages' own inline <style> blocks — about/accessibility/contact/faq/privacy/
   terms/share-testimonial/404/hamishkan/observation/resilience/inner-home-inline-preview
   plus locked-site-language.css and three-doors.css); those were mostly already beaten
   in the cascade by this file's !important rules, but the literal Georgia references
   were cleaned up so no legacy font name remains anywhere in the codebase, per her
   explicit "no Georgia" instruction. */
@font-face{font-family:OshraSerif;src:url('design-v11/fonts/frank-ruhl-libre-hebrew-400-normal.woff2') format('woff2');font-display:swap;font-weight:400}
@font-face{font-family:OshraSerif;src:url('design-v11/fonts/frank-ruhl-libre-hebrew-300-normal.woff2') format('woff2');font-display:swap;font-weight:300}
@font-face{font-family:OshraSerif;src:url('design-v11/fonts/frank-ruhl-libre-hebrew-500-normal.woff2') format('woff2');font-display:swap;font-weight:500}
@font-face{font-family:OshraSans;src:url('design-v11/fonts/assistant-hebrew-400-normal.woff2') format('woff2');font-display:swap;font-weight:400}
@font-face{font-family:OshraSans;src:url('design-v11/fonts/assistant-hebrew-300-normal.woff2') format('woff2');font-display:swap;font-weight:300}
@font-face{font-family:OshraSans;src:url('design-v11/fonts/assistant-hebrew-600-normal.woff2') format('woff2');font-display:swap;font-weight:600}
:root{
  --p12-ink:#07110f;
  --p12-ink-soft:#101a17;
  --p12-cream:#eee5d6;
  --p12-copy:#d8d0c3;
  --p12-muted:#aba397;
  --p12-copper:#b77735;
  --p12-warm:#e0a358;
  --p12-line:rgba(238,229,214,.14);
  --p12-paper:#eee8dc;
  --p12-paper-ink:#16251f;
}
html{font-synthesis:none}
body[data-patch12-design="true"]{
  font-family:OshraSans,Arial,sans-serif!important;
  font-weight:300;
  letter-spacing:0;
}
/* Explicit UI/running-text elements — redundant with the sans base above, kept for
   clarity and to guarantee specificity wins even if a page's own inline styles target
   these directly. */
body[data-patch12-design="true"] button,body[data-patch12-design="true"] input,body[data-patch12-design="true"] textarea,body[data-patch12-design="true"] select,body[data-patch12-design="true"] nav,body[data-patch12-design="true"] .eyebrow,body[data-patch12-design="true"] .pill,body[data-patch12-design="true"] .updated,body[data-patch12-design="true"] small,body[data-patch12-design="true"] label,body[data-patch12-design="true"] .three-doors,body[data-patch12-design="true"] .route-context,body[data-patch12-design="true"] .route-proof__title{
  font-family:OshraSans,Arial,sans-serif!important;
}
/* Serif = headlines, openers (manifesto .lead lines), manifesto body copy
   (article.reading, inherited by its child <p> tags), quotes, and ceremonial/
   statement moments (.about-cinema__principle). */
body[data-patch12-design="true"] h1,body[data-patch12-design="true"] h2,body[data-patch12-design="true"] h3,body[data-patch12-design="true"] h4,body[data-patch12-design="true"] .serif,body[data-patch12-design="true"] .display,body[data-patch12-design="true"] .quote,body[data-patch12-design="true"] blockquote,body[data-patch12-design="true"] .lead,body[data-patch12-design="true"] article.reading,body[data-patch12-design="true"] .about-cinema__principle{
  font-family:OshraSerif,"Times New Roman",serif!important;
  font-weight:400!important;
  letter-spacing:-.018em!important;
}

/* Global documentary/editorial rules for pages still under review. */
body[data-patch12-design="true"]{background:var(--p12-ink)!important;color:var(--p12-cream)!important}
body[data-patch12-design="true"] .wrap{width:min(1180px,calc(100% - 44px))!important}
body[data-patch12-design="true"] p{max-width:68ch}
body[data-patch12-design="true"] img{border-radius:0!important;box-shadow:none!important}
body[data-patch12-design="true"] .card,
body[data-patch12-design="true"] .door,
body[data-patch12-design="true"] .route-quote,
body[data-patch12-design="true"] .contact-form,
body[data-patch12-design="true"] .pro-card,
body[data-patch12-design="true"] .book{
  border-radius:2px!important;
  box-shadow:none!important;
}
body[data-patch12-design="true"] .section{padding-block:clamp(90px,10vw,150px)!important}
body[data-patch12-design="true"] .section h2{line-height:1.02!important}
body[data-patch12-design="true"] .eyebrow{
  text-transform:none!important;letter-spacing:.08em!important;font-size:.72rem!important;
  font-weight:500!important;color:var(--p12-warm)!important
}
body[data-patch12-design="true"] .primary,
body[data-patch12-design="true"] .pill,
body[data-patch12-design="true"] .route-primary-link{
  border-radius:2px!important;box-shadow:none!important;font-weight:500!important;
}

/* Three doors are cinematic frames, not product cards. */
body[data-patch12-design="true"] .three-doors{
  background:#08120f!important;border-block:1px solid var(--p12-line)!important;
}
body[data-patch12-design="true"] .three-doors__inner{
  width:min(1360px,100%)!important;padding:0!important;gap:0!important;
  grid-template-columns:180px repeat(3,minmax(0,1fr))!important;
}
body[data-patch12-design="true"] .three-doors__label{
  padding:0 24px!important;min-height:100px!important;align-items:center!important;
  color:rgba(238,229,214,.55)!important;border-inline-end:1px solid var(--p12-line);
  font-size:.68rem!important;line-height:1.5;white-space:normal!important
}
body[data-patch12-design="true"] .three-door{
  position:relative!important;overflow:hidden!important;isolation:isolate!important;
  border:0!important;border-inline-end:1px solid var(--p12-line)!important;border-radius:0!important;
  min-height:100px!important;padding:20px 24px!important;background:#0a1511!important;
  display:flex!important;align-items:flex-end!important;gap:14px!important;transform:none!important;
}
body[data-patch12-design="true"] .three-door:before{
  content:"";position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center;
  opacity:.13;filter:grayscale(.25) saturate(.55) contrast(1.05);transition:opacity .35s ease,transform 5s ease;
}
body[data-patch12-design="true"] .three-door:after{
  content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,17,15,.96),rgba(7,17,15,.58));
  border-bottom:2px solid transparent;transition:border-color .25s ease
}
body[data-patch12-design="true"] .three-door:nth-of-type(1):before{background-image:url('design-v11/moment-hands.svg')}
body[data-patch12-design="true"] .three-door:nth-of-type(2):before{background-image:url('design-v11/moment-paper.svg')}
body[data-patch12-design="true"] .three-door:nth-of-type(3):before{background-image:url('design-v11/hero-observer.svg')}
body[data-patch12-design="true"] .three-door:hover:before{opacity:.24;transform:scale(1.035)}
body[data-patch12-design="true"] .three-door:hover:after,
body[data-patch12-design="true"] .three-door.is-active:after{border-bottom-color:var(--p12-copper)}
body[data-patch12-design="true"] .three-door.is-active{background:#0a1511!important}
body[data-patch12-design="true"] .three-door__num{font-family:OshraSerif,serif!important;font-size:1.6rem!important;color:var(--p12-copper)!important}
body[data-patch12-design="true"] .three-door strong{font-size:1rem!important;font-weight:500!important}
body[data-patch12-design="true"] .three-door small{font-size:.74rem!important;color:rgba(238,229,214,.68)!important}

/* About: image first, then language. No portrait of Oshra is implied. */
.about-cinema{background:#07110f;color:var(--p12-cream);border-bottom:1px solid var(--p12-line)}
.about-cinema__grid{width:min(1180px,calc(100% - 44px));margin:auto;display:grid;grid-template-columns:1.02fr .98fr;min-height:760px;align-items:stretch}
.about-cinema__image{position:relative;overflow:hidden;min-height:680px;border-inline-start:1px solid var(--p12-line)}
.about-cinema__image img{width:100%;height:100%;object-fit:cover;filter:grayscale(.08) saturate(.65) contrast(1.05);opacity:.86}
.about-cinema__image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,17,15,.1),rgba(7,17,15,.5))}
.about-cinema__copy{display:flex;flex-direction:column;justify-content:center;padding:80px clamp(28px,5vw,72px) 80px 0}
.about-cinema__meta{font-family:OshraSans,sans-serif;color:var(--p12-muted);font-size:.75rem;letter-spacing:.06em;margin-bottom:28px}
.about-cinema h1{font-size:clamp(68px,8vw,118px)!important;line-height:.88!important;margin:0 0 38px!important;color:var(--p12-cream)!important}
.about-cinema__copy p{font-size:clamp(18px,1.55vw,22px);line-height:1.95;color:var(--p12-copy);margin:0 0 20px}
.about-cinema__principle{margin:30px 0 28px;padding:28px 0;border-block:1px solid rgba(183,119,53,.38);font-size:clamp(30px,3.8vw,52px);line-height:1.15;color:var(--p12-cream)}
.about-cinema__principle small{display:block;margin-top:12px;color:var(--p12-muted);font-size:.75rem;letter-spacing:.08em}
.about-cinema .route-proof{margin:34px 0 0!important;padding:24px 0 0!important;border-top:1px solid var(--p12-line)!important;border-bottom:0!important}
.about-cinema .route-proof__links{gap:12px 22px!important}
.about-cinema .route-proof__links a{color:var(--p12-copy)!important;border-bottom-color:rgba(183,119,53,.45)!important}
.about-cinema .route-primary-link{background:var(--p12-cream)!important;color:var(--p12-ink)!important;margin-top:28px!important;padding:14px 18px!important}

/* New hub pages: replace generic landing-page/card language with editorial rhythm. */
body[data-patch12-design="true"] main>.hero{min-height:74vh!important;padding-block:clamp(76px,9vw,130px)!important}
body[data-patch12-design="true"] main>.hero h1{font-size:clamp(58px,7.2vw,104px)!important;line-height:.95!important;margin-block:16px 30px!important}
body[data-patch12-design="true"] main>.hero p{font-size:clamp(18px,1.5vw,22px)!important;line-height:1.85!important}
body[data-patch12-design="true"] main>.hero img{aspect-ratio:4/5!important;object-fit:cover!important;filter:saturate(.58) contrast(1.04)!important;border-inline-start:1px solid var(--p12-line)!important}
body[data-patch12-design="true"] .grid{gap:28px!important}
body[data-patch12-design="true"] .grid>.card{background:transparent!important;border:0!important;border-top:1px solid var(--p12-line)!important;padding:28px 0!important}
body[data-patch12-design="true"] .grid>.card img{aspect-ratio:16/9!important;margin-bottom:22px!important;opacity:.8}
body[data-patch12-design="true"] .grid>.card>div{padding:0!important}
body[data-patch12-design="true"] .grid>.card h3{font-size:clamp(28px,2.5vw,38px)!important;margin-bottom:10px!important}
body[data-patch12-design="true"] .grid>.card p{color:var(--p12-muted)!important}
body[data-patch12-design="true"] .grid>.card a{color:inherit!important;text-underline-offset:5px!important}
body[data-patch12-design="true"] .quote-grid{gap:0!important;border-block:1px solid var(--p12-line)!important}
body[data-patch12-design="true"] .quote{background:transparent!important;border:0!important;border-inline-start:1px solid var(--p12-line)!important;padding:36px!important}
body[data-patch12-design="true"] .quote:first-child{border-inline-start:0!important}
body[data-patch12-design="true"] .quote blockquote{font-size:clamp(21px,2.2vw,31px)!important;line-height:1.65!important}
body[data-patch12-design="true"] .proof-links{gap:22px!important}
body[data-patch12-design="true"] .proof-links a{color:inherit!important;text-underline-offset:5px}
body[data-patch12-design="true"] .final{border-top:1px solid var(--p12-line)!important;background:var(--p12-paper)!important;color:var(--p12-paper-ink)!important}
body[data-patch12-design="true"] .final .eyebrow{color:#8a684b!important}
body[data-patch12-design="true"] .final .primary{background:var(--p12-paper-ink)!important;color:var(--p12-paper)!important}

/* CONTRAST FIX 2026-08-19: hamishkan.html and observation.html are the only two
   patch12-design pages that never received the older data-oshra-design="HOME-001"
   unifier, so a few of their own hardcoded text colors (authored for a light page,
   e.g. #46544d/#58625d/#65706a) were left sitting directly on the dark body this file
   forces — measured contrast as low as 2.4:1, well under WCAG AA. Scoped by the
   presence of data-patch12-design without data-oshra-design, so it only touches those
   two pages and is harmless if applied elsewhere. */
body[data-patch12-design="true"]:not([data-oshra-design]) .hero p,
body[data-patch12-design="true"]:not([data-oshra-design]) footer,
body[data-patch12-design="true"]:not([data-oshra-design]) .quote cite{
  color:var(--p12-copy)!important;
}

/* UNIFY 2026-08-19: the lead-gen landing-page family (personal-journey, tam, booklet,
   nlp-track, soul-journey-program, resilience, betikshoret, teudot, shitufey-peula)
   shares one template with its own heavily-rounded, drop-shadowed "soft card" language
   (.problem-card/.hand-card/.tool-card/.journey-card/.testimonial-card/.course-unit/
   .map-figure/.final-card) and a translucent WHITE fill (rgba(255,255,255,.3-.6)) meant
   for their original light background. On this file's forced dark body that reads as a
   washed-out grey haze, and the heavy rounding/shadow clashes with the flat, 2px,
   shadow-free card language used everywhere else on the site. Re-tinted to a translucent
   cream (still gives the card a faint fill/edge) and flattened to match. Structure/copy
   untouched — visual only. */
body[data-patch12-design="true"] .problem-card,
body[data-patch12-design="true"] .hand-card,
body[data-patch12-design="true"] .tool-card,
body[data-patch12-design="true"] .journey-card,
body[data-patch12-design="true"] .testimonial-card,
body[data-patch12-design="true"] .course-unit,
body[data-patch12-design="true"] .map-figure{
  border-radius:2px!important;
  box-shadow:none!important;
  background:rgba(238,229,214,.05)!important;
  border-color:var(--p12-line)!important;
}
body[data-patch12-design="true"] .final-card{
  border-radius:2px!important;
  box-shadow:none!important;
}
/* The sticky mobile CTA pill on the same template family — align with the sitewide
   flat/no-shadow button language instead of its own fully-rounded, drop-shadowed skin. */
body[data-patch12-design="true"] .mobile-cta{
  border-radius:2px!important;
  box-shadow:none!important;
}
/* Pull-quote accent color was a page-local near-copper (#a96f49) instead of the shared
   --p12-copper token — close enough to look like a mistake side by side with pages that
   use the real token. */
body[data-patch12-design="true"] .manifesto{
  border-right-color:var(--p12-copper)!important;
  border-inline-end-color:var(--p12-copper)!important;
}
/* Home hero button used its own near-token color (#e7ae64) instead of --p12-warm. */
body[data-patch12-design="true"] .hero .button{
  color:var(--p12-warm)!important;
  border-color:var(--p12-warm)!important;
}

@media(max-width:900px){
  body[data-patch12-design="true"] .three-doors__inner{grid-template-columns:repeat(3,1fr)!important}
  body[data-patch12-design="true"] .three-doors__label{display:none!important}
  body[data-patch12-design="true"] .three-door{min-height:88px!important;padding:16px!important}
  body[data-patch12-design="true"] .three-door__num{display:none!important}
  .about-cinema__grid{grid-template-columns:1fr;min-height:auto}
  .about-cinema__image{min-height:48vh;order:2;border-inline-start:0;border-top:1px solid var(--p12-line)}
  .about-cinema__copy{padding:64px 0}
  body[data-patch12-design="true"] .quote-grid{grid-template-columns:1fr!important}
  body[data-patch12-design="true"] .quote{border-inline-start:0!important;border-top:1px solid var(--p12-line)!important}
  body[data-patch12-design="true"] .quote:first-child{border-top:0!important}
}
@media(max-width:620px){
  body[data-patch12-design="true"] .wrap,.about-cinema__grid{width:min(100% - 28px,1180px)!important}
  body[data-patch12-design="true"] .three-door{padding:12px 10px!important;min-height:72px!important;align-items:center!important}
  body[data-patch12-design="true"] .three-door small{display:none!important}
  body[data-patch12-design="true"] .three-door strong{font-size:.88rem!important}
  .about-cinema__copy{padding:50px 0}
  .about-cinema h1{font-size:clamp(54px,17vw,82px)!important}
  .about-cinema__image{min-height:380px}
}
