/* Once Upon a Source v4.1 — Gutenberg + Color System */
:root{--ink:#100906;--espresso:#180d08;--walnut:#2b190f;--tobacco:#563823;--leather:#704428;--parch:#e4cea3;--cream:#f0dfbd;--gold:#d8ad63;--gold2:#efcc82;--forest:#294237;--forest2:#1d3129;--oxblood:#6a3028;--midnight:#25384a;--line:rgba(216,173,99,.28);--shadow:0 22px 64px rgba(0,0,0,.34);--display:'Cormorant Garamond',Georgia,serif;--body:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
html,body,.site,.site-main,.ous-content{background:var(--espresso)!important;color:var(--cream)!important}body{font-family:var(--body);background-image:radial-gradient(circle at 15% 8%,rgba(106,48,40,.18),transparent 28%),radial-gradient(circle at 85% 35%,rgba(41,66,55,.17),transparent 30%),linear-gradient(180deg,#160c08,#21130d 52%,#130a07)!important;background-attachment:fixed!important}.ous-content{overflow:hidden}
.site-header{position:sticky;top:0;z-index:1000;background:rgba(15,8,5,.92)!important;border-bottom:1px solid var(--line);box-shadow:0 12px 38px rgba(0,0,0,.35);backdrop-filter:blur(14px)}.nav-wrap{max-width:1260px;margin:auto;padding:15px 26px;display:flex;justify-content:space-between;align-items:center;gap:25px}.logo,.logo a{font-family:var(--display)!important;font-size:1.62rem!important;font-weight:700;color:#f2dfba!important}.logo span{color:var(--gold2)!important}.primary-nav ul{display:flex;align-items:center;gap:20px;list-style:none;margin:0;padding:0;flex-wrap:wrap}.primary-nav a{color:#dfcbaa!important;text-decoration:none;font-size:.79rem;font-weight:700;letter-spacing:.02em}.primary-nav a:hover{color:var(--gold2)!important}.primary-nav .nav-cta{background:linear-gradient(135deg,var(--gold2),#b6792d)!important;color:#1a0f09!important;border-radius:999px;padding:9px 16px;box-shadow:0 7px 23px rgba(216,173,99,.25)}
/* Gutenberg block surfaces */
.ous-content>.wp-block-group.alignfull,.ous-content>section,.ous-content>article,.ous-content>div{width:100%;max-width:none!important;margin-left:0!important;margin-right:0!important;box-sizing:border-box}.wp-block-group{box-sizing:border-box}.ous-content>.wp-block-group:not(.hero):not(.page-hero):not(.divider){padding:78px 24px!important}.ous-content>.wp-block-group>.wp-block-group,.ous-content section>.wp-block-group{max-width:1180px;margin-left:auto;margin-right:auto}.ous-content>.wp-block-group:nth-of-type(4n+1):not(.hero):not(.page-hero):not(.divider){background:linear-gradient(135deg,#2d1b12,#1b0f0a)!important}.ous-content>.wp-block-group:nth-of-type(4n+2):not(.hero):not(.page-hero):not(.divider){background:linear-gradient(135deg,var(--forest2),#18251f)!important}.ous-content>.wp-block-group:nth-of-type(4n+3):not(.hero):not(.page-hero):not(.divider){background:linear-gradient(135deg,#4a241f,#27120f)!important}.ous-content>.wp-block-group:nth-of-type(4n):not(.hero):not(.page-hero):not(.divider){background:linear-gradient(135deg,#213243,#151f2a)!important}
/* Explicit legacy color classes: no white */
.section-cream{background:linear-gradient(135deg,#dec69a 0,#c8a976 100%)!important;color:#28180f!important}.section-cream .section-heading,.section-cream h1,.section-cream h2,.section-cream h3{color:#2a190f!important}.section-cream p,.section-cream li,.section-cream .section-intro{color:#49331f!important}.section-cream .section-kicker{color:#774a28!important}.section-cream a:not(.wp-element-button){color:#6b3027!important}.section-dark{background:linear-gradient(135deg,#150b07,#2b190f)!important;color:var(--cream)!important}.section-alt{background:linear-gradient(135deg,#294237,#1b2d25)!important;color:#eadbbd!important}.final-signup{background:linear-gradient(135deg,#6a3028,#361713)!important;color:#f3dfbc!important}.posts,.gallery,.chapters,.intro-copy{background:linear-gradient(135deg,#25384a,#182633)!important;color:#ecd9b7!important}
/* Page and interior heroes */
.hero,.page-hero{position:relative!important;min-height:380px!important;padding:110px 24px 70px!important;background-color:#1b100a!important;background-size:cover!important;background-position:center!important;color:#fff0d0!important;text-align:center!important;display:flex!important;align-items:center!important;justify-content:center!important}.hero:after,.page-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,5,3,.1),rgba(10,5,3,.58));pointer-events:none}.hero>.wp-block-group,.hero-inner,.page-hero>*{position:relative;z-index:2}.hero h1,.page-hero h1{font-family:var(--display)!important;font-size:clamp(2.7rem,6vw,5.4rem)!important;line-height:.95!important;color:#fff0d1!important;text-shadow:0 5px 24px rgba(0,0,0,.55)}.hero-sub,.page-hero p{color:#ecd9b8!important;font-size:1.08rem!important}.hero-eyebrow,.section-kicker{font-size:.72rem!important;letter-spacing:.2em!important;text-transform:uppercase!important;color:var(--gold2)!important;font-weight:800!important}
/* Homepage header image is the hero, so don't cover it with pale panels */
body.home .hero{min-height:clamp(650px,83vh,900px)!important;background-size:cover!important;background-position:center!important;justify-content:flex-start!important;text-align:left!important}.home .hero-inner{width:min(1240px,100%);margin:auto}.home .hero-eyebrow,.home .hero h1,.home .hero-sub{display:none!important}.signup-card{position:relative;z-index:3;width:min(500px,90%);margin:350px 0 0 4%!important;padding:25px!important;background:linear-gradient(145deg,rgba(42,25,15,.92),rgba(17,9,6,.94))!important;border:1px solid rgba(239,204,130,.48)!important;border-radius:18px!important;box-shadow:var(--shadow)!important;backdrop-filter:blur(12px)}.signup-line{color:#f1dfbd!important}.signup-form input[type=email]{background:#f1dfbd!important;color:#21130c!important;border:1px solid #d8ad63!important}
/* Cards */
.product-card,.quote-card,.voice-card,.post-card,.step-card,.film-card,.price-card,.license-card,.faq-item,.contact-form,.info-card,.chapter-entry,.channel-card,.founding-item,.stat-item,.fact-item,.sitemap-group,.teaser-card,.submit-card,.qbox,.book-cta,.post-cta,.placeholder{background:linear-gradient(145deg,rgba(45,27,18,.96),rgba(24,13,9,.98))!important;color:#e7d4b2!important;border:1px solid var(--line)!important;border-radius:18px!important;box-shadow:0 18px 52px rgba(0,0,0,.26)!important;overflow:hidden}.product-card:nth-child(3n+1),.voice-card:nth-child(3n+1),.post-card:nth-child(3n+1){border-top:4px solid var(--gold)!important}.product-card:nth-child(3n+2),.voice-card:nth-child(3n+2),.post-card:nth-child(3n+2){border-top:4px solid #5c8872!important}.product-card:nth-child(3n),.voice-card:nth-child(3n),.post-card:nth-child(3n){border-top:4px solid #9f5447!important}.product-card:hover,.voice-card:hover,.post-card:hover,.film-card:hover{transform:translateY(-5px);box-shadow:0 28px 70px rgba(0,0,0,.38)!important}.product-card h3,.quote-card h3,.voice-card h3,.post-card h3,.film-card h3,.price-card h3{color:#f3dfbc!important}.product-card p,.quote-card p,.voice-card p,.post-card p,.film-card p{color:#cdbb9c!important}.card-photo img,.source-gallery-mosaic img,.reserve-art img,.wp-block-image img{border-radius:12px;box-shadow:0 13px 35px rgba(0,0,0,.28)}
/* Editorial image grids from original archive */
.source-gallery-section{background:linear-gradient(135deg,#6a3028,#351713)!important}.source-gallery-wrap{display:grid!important;grid-template-columns:.78fr 1.4fr!important;gap:48px!important;align-items:center!important}.source-gallery-copy p{color:#e8cfaa!important}.source-gallery-mosaic{display:grid!important;grid-template-columns:1.25fr .75fr!important;grid-template-rows:220px 220px!important;gap:15px!important}.source-gallery-mosaic figure{margin:0!important;height:100%!important}.source-gallery-mosaic .mosaic-main{grid-row:1/3!important}.source-gallery-mosaic img{width:100%!important;height:100%!important;object-fit:cover!important}.reserve-section{background:linear-gradient(135deg,#25384a,#14202a)!important}.reserve-panel{max-width:1100px!important;margin:auto!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:38px!important;align-items:center!important}.reserve-copy h2{color:#f2dfbd!important}
/* Buttons/forms */
.wp-element-button,.button,.btn-gold,.btn,.btn-primary{background:linear-gradient(135deg,var(--gold2),#b77b32)!important;color:#1b100a!important;border:0!important;border-radius:999px!important;font-weight:800!important;text-decoration:none!important;box-shadow:0 8px 24px rgba(216,173,99,.22)!important}.wp-element-button:hover,.button:hover,.btn-gold:hover,.btn:hover{transform:translateY(-2px);filter:brightness(1.04)}input,textarea,select{background:#20130d!important;color:#f0dfbd!important;border:1px solid rgba(216,173,99,.4)!important;border-radius:10px!important}input::placeholder,textarea::placeholder{color:#aa987c!important}.section-cream input,.section-cream textarea,.section-cream select{background:#f0dfbd!important;color:#2a180f!important}
/* Typography */
h1,h2,h3,h4,h5,h6,.section-heading{font-family:var(--display)!important}.section-heading{font-size:clamp(2.2rem,4vw,3.7rem)!important;line-height:1!important}.ous-content p,.ous-content li{line-height:1.72}.ous-content a:not(.wp-element-button){color:var(--gold2)}blockquote,.wp-block-quote{border-left:4px solid var(--gold)!important;background:rgba(216,173,99,.09)!important;padding:22px 26px!important;color:#ecd9b8!important}.wp-block-separator,.divider{border-color:var(--line)!important;background:#160d08!important}
/* Footer */
.site-footer{background:linear-gradient(180deg,#110905,#070403)!important;color:#bca98b!important;border-top:1px solid var(--line)!important;padding:58px 24px 34px!important;text-align:center}.footer-logo{font-family:var(--display)!important;color:#f0d5a3!important;font-size:2.1rem!important}.site-footer nav ul{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;list-style:none;padding:0}.site-footer a{color:#cdbb9c!important;text-decoration:none}.site-footer a:hover{color:var(--gold2)!important}.copyright{color:#81705c!important}
/* Gutenberg editor-friendly top-level spacing */
.alignwide{max-width:1240px!important;margin-left:auto!important;margin-right:auto!important}.alignfull{width:100%!important}.wp-block-buttons{margin-top:1.2rem}.wp-block-group__inner-container{max-width:1180px;margin:auto}
@media(max-width:980px){.nav-wrap{flex-direction:column;align-items:flex-start}.primary-nav ul{gap:12px}.source-gallery-wrap,.reserve-panel{grid-template-columns:1fr!important}.source-gallery-mosaic{grid-template-rows:250px 190px!important}.home .signup-card{margin:390px auto 0!important}.ous-content>.wp-block-group:not(.hero):not(.page-hero):not(.divider){padding:64px 20px!important}}
@media(max-width:680px){.primary-nav ul{display:grid;grid-template-columns:repeat(2,auto)}body.home .hero{min-height:720px!important;background-position:59% center!important}.source-gallery-mosaic{grid-template-columns:1fr!important;grid-template-rows:260px 180px 180px!important}.source-gallery-mosaic .mosaic-main{grid-row:auto!important}.hero,.page-hero{padding:88px 18px 55px!important}.ous-content>.wp-block-group:not(.hero):not(.page-hero):not(.divider){padding:52px 16px!important}}

/* v5.0 — real Gutenberg Cover hero: visible in editor AND on the live site */
body.home .hero-cover{min-height:clamp(620px,78vw,900px)!important;padding:0!important;background:none!important;display:flex!important;align-items:flex-end!important;justify-content:flex-start!important;text-align:left!important;overflow:hidden!important}
body.home .hero-cover:after{display:none!important}
body.home .hero-cover .wp-block-cover__image-background{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center center!important;border-radius:0!important;box-shadow:none!important}
body.home .hero-cover .wp-block-cover__inner-container{width:min(1240px,100%)!important;margin:0 auto!important;padding:0 24px 42px!important;box-sizing:border-box!important;position:relative!important;z-index:2!important}
body.home .hero-cover .signup-card{width:min(520px,calc(100% - 24px))!important;margin:0!important;padding:24px 26px!important}
body.home .hero-cover .signup-form{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important;align-items:center!important}
body.home .hero-cover .signup-form input{min-height:48px!important;padding:0 15px!important;box-sizing:border-box!important}
body.home .hero-cover .signup-form button{min-height:48px!important;padding:0 20px!important;white-space:nowrap!important}
/* Site Editor header/navigation */
.site-header .wp-block-site-title{margin:0!important}.site-header .wp-block-site-title a{font-family:var(--display)!important;font-size:1.62rem!important;font-weight:700!important;color:#f2dfba!important;text-decoration:none!important}.site-header .wp-block-navigation-item__content{color:#dfcbaa!important;text-decoration:none!important;font-size:.79rem!important;font-weight:700!important}.site-header .nav-cta>.wp-block-navigation-item__content{background:linear-gradient(135deg,var(--gold2),#b6792d)!important;color:#1a0f09!important;border-radius:999px!important;padding:9px 16px!important}
@media(max-width:680px){body.home .hero-cover{min-height:650px!important}body.home .hero-cover .wp-block-cover__image-background{object-position:58% center!important}body.home .hero-cover .wp-block-cover__inner-container{padding:0 16px 24px!important}body.home .hero-cover .signup-form{grid-template-columns:1fr!important}}

/* ===== v5.1 refinements ===== */
/* More compact desktop header: keeps the brand and navigation visually connected. */
.site-header .nav-wrap{max-width:1400px!important;padding:18px 34px!important;display:grid!important;grid-template-columns:auto 1fr!important;column-gap:54px!important;row-gap:0!important;align-items:center!important}
.site-header .logo,.site-header .logo a{font-size:2rem!important;line-height:1.05!important;white-space:nowrap!important}
.site-header .primary-nav{justify-self:end!important}
.site-header .primary-nav ul{gap:28px!important;flex-wrap:nowrap!important}
.site-header .primary-nav a{font-size:.9rem!important}
.site-header .primary-nav .nav-cta{padding:12px 22px!important}

/* Homepage hero: preserve the complete artwork while reducing excess vertical travel. */
body.home .hero{min-height:clamp(590px,74vh,790px)!important;background-position:center center!important}
.home .signup-card{width:min(470px,88%)!important;margin:315px 0 0 4.5%!important;padding:22px 24px!important}
.home .signup-card p{margin-top:0!important}
.home .signup-form{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:12px!important;align-items:center!important}
.home .signup-form input[type=email]{box-sizing:border-box!important;width:100%!important;min-width:0!important;padding:13px 16px!important;font-size:1rem!important}
.home .signup-form .wp-element-button,.home .signup-form button,.home .signup-form input[type=submit]{white-space:nowrap!important;padding:13px 20px!important}

@media(max-width:1100px){
 .site-header .nav-wrap{grid-template-columns:1fr!important;gap:16px!important;padding:16px 24px!important}
 .site-header .primary-nav{justify-self:start!important}
 .site-header .primary-nav ul{gap:16px!important;flex-wrap:wrap!important}
 body.home .hero{min-height:680px!important}
 .home .signup-card{margin:350px auto 0!important}
}
@media(max-width:680px){
 .site-header .logo,.site-header .logo a{font-size:1.7rem!important}
 .site-header .primary-nav ul{display:grid!important;grid-template-columns:repeat(2,minmax(0,auto))!important}
 body.home .hero{min-height:720px!important;background-position:59% center!important}
 .home .signup-card{width:auto!important;margin:365px 16px 0!important;padding:20px!important}
 .home .signup-form{grid-template-columns:1fr!important}
 .home .signup-form .wp-element-button,.home .signup-form button,.home .signup-form input[type=submit]{width:100%!important}
}

/* v5.1 — Homepage Three Ways card alignment fix */
.home .section-dark .card-grid:has(.product-card) {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:28px !important;
  align-items:stretch !important;
}
.home .section-dark .card-grid > .product-card {
  margin-block-start:0 !important;
  align-self:stretch !important;
  display:flex !important;
  flex-direction:column !important;
  height:100% !important;
  transform:none;
}
.home .section-dark .card-grid > .product-card > .card-photo {
  margin-block-start:0 !important;
  width:100% !important;
  height:340px !important;
  min-height:340px !important;
  overflow:hidden !important;
  display:block !important;
}
.home .section-dark .card-grid > .product-card > .card-photo > figure {
  margin:0 !important;
  width:100% !important;
  height:100% !important;
}
.home .section-dark .card-grid > .product-card > .card-photo img {
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  border-radius:0 !important;
}
.home .section-dark .card-grid > .product-card > .product-card-body {
  margin-block-start:0 !important;
  padding:30px 28px 32px !important;
  display:flex !important;
  flex:1 1 auto !important;
  flex-direction:column !important;
}
.home .section-dark .card-grid > .product-card > .product-card-body > h3 {
  margin-top:0 !important;
}
.home .section-dark .card-grid > .product-card > .product-card-body > p {
  flex:1 1 auto !important;
}
.home .section-dark .card-grid > .product-card > .product-card-body > .wp-block-buttons {
  margin-top:auto !important;
}
@media (max-width:900px){
 .home .section-dark .card-grid:has(.product-card){grid-template-columns:1fr !important;max-width:620px !important;margin-inline:auto !important}
 .home .section-dark .card-grid > .product-card > .card-photo{height:320px !important;min-height:320px !important}
}
@media (max-width:600px){
 .home .section-dark .card-grid > .product-card > .card-photo{height:260px !important;min-height:260px !important}
}

/* v5.4 — The educator card now uses a native portrait Teacher's Notes artwork.
   It intentionally shares the exact same cover rules as the other two cards. */

/* v5.6 — Hero signup placement: protect the lettering embedded in the artwork. */
@media (min-width:981px){
 body.home .hero-cover .wp-block-cover__inner-container{
   padding:0 24px 14px!important;
 }
 body.home .hero-cover .signup-card{
   width:min(500px,calc(100% - 24px))!important;
   padding:20px 24px!important;
   margin-left:0!important;
 }
 body.home .hero-cover .signup-card p{
   margin-top:0!important;
   margin-bottom:12px!important;
   line-height:1.5!important;
 }
 body.home .hero-cover .signup-card .signup-note{
   margin-top:8px!important;
   margin-bottom:0!important;
 }
}

/* v5.7 — Desktop hero signup: keep the panel at the bottom of the hero but
   make it more compact so its TOP edge clears the subtitle embedded in the artwork. */
@media (min-width:981px){
 body.home .hero-cover .wp-block-cover__inner-container{padding-bottom:8px!important}
 body.home .hero-cover .signup-card{
   width:min(500px,calc(100% - 24px))!important;
   padding:15px 22px!important;
 }
 body.home .hero-cover .signup-card .signup-line{
   font-size:.94rem!important;
   line-height:1.38!important;
   margin:0 0 9px!important;
 }
 body.home .hero-cover .signup-form{gap:10px!important}
 body.home .hero-cover .signup-form input[type=email],
 body.home .hero-cover .signup-form button{
   min-height:44px!important;
 }
 body.home .hero-cover .fine-print{
   font-size:.78rem!important;
   line-height:1.35!important;
   margin:7px 0 0!important;
 }
}

/* v5.9 — Desktop hero signup: move the panel 48px farther down than v5.8
   (60px total translate from the v5.7 baseline) so all embedded subtitle text stays clear. */
@media (min-width:981px){
 body.home .hero-cover .signup-card{transform:translateY(60px)!important}
}


/* v6.2 — Preserve the approved v5.9 hero/panel geometry exactly.
   Fix only the desktop form row: reserve enough width for the complete
   email placeholder and slightly compact the button instead of enlarging
   the signup card. */
@media (min-width:981px){
  body.home .hero-cover .signup-form{
    display:grid!important;
    grid-template-columns:minmax(218px,1fr) auto!important;
    gap:10px!important;
    align-items:center!important;
    width:100%!important;
  }
  body.home .hero-cover .signup-form input[type="email"]{
    width:100%!important;
    min-width:218px!important;
    max-width:none!important;
    box-sizing:border-box!important;
    padding-left:14px!important;
    padding-right:14px!important;
    font-size:15px!important;
  }
  body.home .hero-cover .signup-form button{
    width:auto!important;
    min-width:0!important;
    padding-left:13px!important;
    padding-right:13px!important;
    font-size:15px!important;
    white-space:nowrap!important;
  }
}


/* v6.3 — Final hero signup containment fix.
   Keep the approved v5.9/v6.2 signup position exactly where it is.
   The panel was being clipped by the Cover block's overflow boundary.
   Allow the panel to extend below the image and reserve matching space
   before the divider, so the fine print remains fully visible. */
@media (min-width:981px){
  body.home .hero-cover{
    overflow:visible!important;
    margin-bottom:60px!important;
  }
}
