:root{
    --navy-deep:#0D1B2A;
    --navy:#1A1A2E;
    --gold:#D4AF37;
    --gold-antique:#6B4F0E;
    --cream:#FAF6EE;
    --cream-soft:#F3EEE1;
    --line-gray:#C9C2B2;
    --ink:#0D1B2A;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth; scroll-padding-top:90px;}
  body{
    margin:0;
    background:var(--cream);
    color:var(--ink);
    font-family:'Cormorant Garamond', serif;
    -webkit-font-smoothing:antialiased;
  }
  ::selection{background:var(--gold); color:var(--navy-deep);}

  h1,h2,h3,.display{
    font-family:'Cinzel', serif;
    font-weight:500;
    letter-spacing:0.02em;
    color:var(--navy-deep);
    margin:0;
  }
  .eyebrow{
    font-family:'Cinzel', serif;
    font-size:0.72rem;
    letter-spacing:0.28em;
    text-transform:uppercase;
    color:var(--gold-antique);
  }
  a{color:inherit;}

  /* ===== HEADER ===== */
  header.site{
    position:sticky; top:0; z-index:50;
    background:var(--cream);
    border-bottom:1px solid var(--line-gray);
  }
  .header-inner{
    max-width:1100px; margin:0 auto;
    display:flex; align-items:center; justify-content:space-between;
    padding:18px 28px;
  }
  .wordmark{
    font-family:'Cinzel', serif;
    font-size:0.95rem;
    letter-spacing:0.22em;
    text-decoration:none;
    color:var(--navy-deep);
    padding-bottom:2px;
    border-bottom:1px solid transparent;
    transition:border-color .2s ease, color .2s ease;
  }
  .wordmark:hover{border-color:var(--gold); color:var(--gold-antique);}
  .wordmark sup{font-size:0.55em;}

  /* Desktop nav */
  nav.main-nav{
    display:flex; align-items:center; gap:32px;
  }
  nav.main-nav a{
    font-family:'Cinzel', serif; font-size:0.66rem; letter-spacing:0.14em;
    text-transform:uppercase; color:var(--navy-deep); text-decoration:none;
    padding-bottom:4px; border-bottom:1px solid transparent;
  }
  nav.main-nav a:hover{border-color:var(--gold); color:var(--gold-antique);}

  /* Mobile menu button (hidden on desktop) */
  .menu-toggle{
    display:none;
    width:38px; height:38px;
    border:1px solid var(--gold-antique);
    background:transparent;
    align-items:center; justify-content:center;
    cursor:pointer;
  }
  .menu-toggle span{
    display:block; width:18px; height:1px; background:var(--navy-deep);
    position:relative;
  }
  .menu-toggle span::before,.menu-toggle span::after{
    content:''; position:absolute; left:0; width:18px; height:1px; background:var(--navy-deep);
  }
  .menu-toggle span::before{top:-6px;}
  .menu-toggle span::after{top:6px;}

  /* Mobile nav panel */
  .mobile-nav{
    display:none;
    flex-direction:column;
    background:var(--cream);
    border-bottom:1px solid var(--line-gray);
  }
  .mobile-nav.open{display:flex;}
  .mobile-nav a{
    padding:16px 28px;
    font-family:'Cinzel', serif; font-size:0.7rem; letter-spacing:0.12em;
    text-transform:uppercase; color:var(--navy-deep); text-decoration:none;
    border-top:1px solid var(--line-gray);
  }

  @media(max-width:560px){
    nav.main-nav{display:none;}
    .menu-toggle{display:flex;}
  }

  /* ===== HERO ===== */
  .hero-wrap{
    max-width:1180px; margin:0 auto;
    padding:72px 28px 60px;
  }
  .hero-grid{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:56px;
  }
  .hero-copy{
    flex:1 1 420px;
  }
  .hero-copy h1{
    font-size:2.6rem;
    line-height:1.24;
    margin-top:16px;
  }
  .hero-copy .lede{
    font-style:italic;
    font-weight:500;
    font-size:1.15rem;
    color:rgba(13,27,42,0.85);
    max-width:480px;
    margin:22px 0 0;
    line-height:1.65;
  }
  .hero-cta-row{
    display:flex; gap:16px; margin-top:36px; flex-wrap:wrap;
  }

  /* Buttons — same construction as the LLE "Begin Reading" button */
  .btn-solid{
    display:inline-block;
    padding:15px 36px;
    background:var(--navy-deep);
    color:var(--cream);
    font-family:'Cinzel', serif; font-size:0.72rem; letter-spacing:0.14em;
    text-transform:uppercase; text-decoration:none;
    border:1px solid var(--navy-deep);
  }
  .btn-solid:hover{background:transparent; color:var(--navy-deep);}
  .btn-outline{
    display:inline-block;
    padding:15px 36px;
    background:transparent;
    color:var(--navy-deep);
    font-family:'Cinzel', serif; font-size:0.72rem; letter-spacing:0.14em;
    text-transform:uppercase; text-decoration:none;
    border:1px solid var(--gold-antique);
  }
  .btn-outline:hover{background:var(--navy-deep); color:var(--cream); border-color:var(--navy-deep);}

  /* Hero image area — simple fixed-height placeholder box, same construction as
     the LLE welcome-video placeholder frame */
  .hero-visual{
    flex:1 1 380px;
  }
  .image-frame{
    height:380px;
    background:var(--navy-deep);
    border:1px solid var(--gold);
    display:flex; align-items:center; justify-content:center;
    overflow:hidden;
  }
  .image-frame img{
    width:100%; height:100%;
    object-fit:cover;
    display:block;
  }
  .image-placeholder{
    display:flex; flex-direction:column; align-items:center; gap:14px;
    color:var(--cream); text-align:center; padding:20px;
  }
  .image-placeholder .ip-mark{
    width:52px; height:52px; border:1px solid var(--gold); border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    font-family:'Cinzel', serif; color:var(--gold); font-size:1.1rem;
  }
  .image-placeholder .ip-text{
    font-family:'Cinzel', serif; font-size:0.62rem; letter-spacing:0.16em;
    text-transform:uppercase; color:#B9BDC9;
  }

  @media(max-width:760px){
    .hero-wrap{padding:48px 20px 40px;}
    .hero-copy{text-align:center; flex:1 1 100%;}
    .hero-copy .lede{margin:22px auto 0;}
    .hero-cta-row{justify-content:center;}
    .hero-visual{flex:1 1 100%;}
    .image-frame{height:300px;}
    .hero-copy h1{font-size:2rem;}
  }

  /* ===== MISSION STRIP ===== */
  section.mission{
    max-width:700px; margin:0 auto;
    padding:56px 28px;
    text-align:center;
    border-top:1px solid var(--line-gray);
  }
  section.mission p{
    font-size:1.18rem; line-height:1.75; font-style:italic; font-weight:500;
    color:rgba(13,27,42,0.85); margin:20px 0 0;
  }

  /* ===== ORIGIN STORY ===== */
  section.origin{
    max-width:1100px; margin:0 auto;
    padding:64px 28px 76px;
    border-top:1px solid var(--line-gray);
  }
  .origin-grid{
    display:flex; flex-wrap:wrap-reverse;
    align-items:center; gap:56px;
  }
  .origin-visual{flex:1 1 340px;}
  .origin-visual .image-frame{height:320px;}
  .origin-copy{flex:1 1 420px;}
  section.origin .body-copy{margin-top:26px;}
  section.origin .body-copy p{
    font-size:1.1rem; line-height:1.85; margin:0 0 20px; color:var(--ink);
  }

  @media(max-width:760px){
    section.mission{padding:40px 20px;}
    section.origin{padding:48px 20px 56px;}
    .origin-copy{text-align:center;}
    .origin-visual .image-frame{height:260px;}
  }

  /* ===== FOUNDER NOTE ===== */
  section.founder{
    max-width:1080px; margin:0 auto;
    padding:72px 28px 80px;
    border-top:1px solid var(--line-gray);
  }
  .founder-grid{
    display:flex; flex-wrap:wrap;
    align-items:center; gap:56px;
  }
  .founder-visual{flex:1 1 320px;}
  .founder-visual .image-frame{height:380px;}
  .founder-copy{flex:1 1 460px;}
  section.founder p{
    font-size:1.1rem; line-height:1.8; color:var(--ink); margin:16px 0 0;
  }
  .signature-block{margin-top:26px;}
  .signature-block .with{font-style:italic; color:#4B4B5C;}
  .signature-block .name{
    font-family:'Cinzel', serif; letter-spacing:0.08em; margin-top:6px; color:var(--navy-deep);
  }

  @media(max-width:760px){
    section.founder{padding:48px 20px 56px; text-align:center;}
    .founder-visual .image-frame{height:280px;}
  }

  /* ===== PRODUCTS SHELF ===== */
  section.products{
    background:var(--navy-deep);
    padding:80px 28px;
    border-top:1px solid var(--gold-antique);
  }
  .products-inner{
    max-width:1180px; margin:0 auto;
  }
  .products-header{
    text-align:center; margin-bottom:56px;
  }
  .products-header .eyebrow{
    color:var(--gold); display:block;
  }
  .products-header h2{
    color:var(--cream); font-size:2.2rem; margin-top:12px;
  }
  .products-header .lead-in{
    font-style:italic; color:#D8D8E4; font-size:1.05rem;
    max-width:620px; margin:18px auto 0; line-height:1.7;
  }

  .products-grid{
    display:grid; grid-template-columns:repeat(3,1fr); gap:36px;
  }
  .product-card{
    background:#152436;
    border:1px solid var(--gold-antique);
    overflow:hidden;
    transition:box-shadow .25s ease, border-color .25s ease;
  }
  .product-card:hover{
    box-shadow:0 8px 24px rgba(0,0,0,0.3);
    border-color:var(--gold);
  }
  .product-image{
    height:240px;
    background:var(--navy-deep);
    border-bottom:1px solid var(--gold-antique);
    display:flex; align-items:center; justify-content:center;
    overflow:hidden;
  }
  .edition-photo{
    width:100%; height:100%;
    object-fit:cover;
    display:block;
  }

  /* ===== DIMENSIONAL BOOK MOCKUPS ===== */
  .book-stage{
    perspective:900px;
    width:100%; height:100%;
    display:flex; align-items:center; justify-content:center;
  }
  .book{
    position:relative;
    width:126px; height:180px;
    transform-style:preserve-3d;
    transform:rotateY(-16deg);
  }
  .book-spine{
    position:absolute; left:-13px; top:2px;
    width:13px; height:176px;
    background:linear-gradient(90deg, #0A1420 0%, #142238 60%, #0A1420 100%);
    border-radius:2px 0 0 2px;
    box-shadow:inset -2px 0 4px rgba(0,0,0,0.5);
    transform:rotateY(90deg);
    transform-origin:right center;
  }
  .book-pages{
    position:absolute; right:-5px; top:3px;
    width:5px; height:174px;
    background:repeating-linear-gradient(to bottom, #F3EEE1 0px, #F3EEE1 1px, #E4DCC8 2px);
    border-radius:0 1px 1px 0;
    transform:rotateY(-90deg);
    transform-origin:left center;
  }
  .book-cover{
    position:absolute; inset:0;
    border-radius:1px 5px 5px 1px;
    box-shadow:
      6px 14px 26px rgba(0,0,0,0.5),
      inset 1px 1px 0 rgba(255,255,255,0.06);
    overflow:hidden;
  }
  .book-cover-inner{
    position:absolute; inset:0;
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    gap:10px;
    padding:14px;
    border:1px solid rgba(212,175,55,0.55);
    margin:6px;
  }
  .book-eyebrow{
    font-family:'Cinzel', serif; font-size:0.5rem; letter-spacing:0.22em;
    color:var(--cream); text-transform:uppercase; opacity:0.85;
  }
  .book-title{
    font-family:'Cinzel', serif; font-size:1.05rem; letter-spacing:0.08em;
    color:var(--gold); text-align:center; line-height:1.5;
    text-shadow:0 1px 2px rgba(0,0,0,0.4);
  }
  .book-rule{
    width:34px; height:1px; background:var(--gold-antique);
  }
  .book-star{
    font-size:1rem; color:var(--gold);
  }

  /* Family Edition — deep navy foil cover */
  .book-family .book-cover{
    background:
      linear-gradient(135deg, rgba(255,255,255,0.10) 0%, rgba(255,255,255,0) 35%),
      linear-gradient(160deg, #16263D 0%, #0D1B2A 55%, #0A1420 100%);
  }

  /* Kids Edition — warm navy + gold + coral accent star, still on-brand */
  .book-kids .book-cover{
    background:
      linear-gradient(135deg, rgba(255,255,255,0.10) 0%, rgba(255,255,255,0) 35%),
      linear-gradient(160deg, #1B2E48 0%, #101F33 55%, #0A1420 100%);
  }
  .book-title-kids{ font-size:0.98rem; }
  .book-kids .book-star{ color:#E7B65C; }

  /* Future Editions — layered untitled navy/gold spines suggesting a growing set */
  .book-stage-future{ position:relative; }
  .book-future{
    position:absolute;
    width:98px; height:150px;
    border-radius:1px 5px 5px 1px;
    background:
      linear-gradient(135deg, rgba(255,255,255,0.08) 0%, rgba(255,255,255,0) 35%),
      linear-gradient(160deg, #16263D 0%, #0D1B2A 55%, #0A1420 100%);
    box-shadow:6px 12px 22px rgba(0,0,0,0.45);
    border-left:2px solid var(--gold-antique);
    transform-style:preserve-3d;
  }
  .book-future::after{
    content:'';
    position:absolute; top:14px; bottom:14px; left:10px; right:10px;
    border:1px solid rgba(212,175,55,0.4);
  }
  .book-future-1{ transform:translateX(-38px) rotateZ(-7deg) rotateY(-10deg); z-index:1; }
  .book-future-2{ transform:translateX(0) rotateZ(0deg) rotateY(-14deg); z-index:2; }
  .book-future-3{ transform:translateX(38px) rotateZ(7deg) rotateY(-18deg); z-index:1; }

  @media(max-width:1000px){
    .book{ width:112px; height:160px; }
    .book-future{ width:88px; height:134px; }
  }
  .product-copy{
    padding:32px 24px;
  }
  .product-copy h3{
    color:var(--cream); font-size:1.35rem; margin:0 0 14px;
  }
  .product-copy p{
    font-size:0.98rem; line-height:1.7; color:#D8D8E4; margin:0 0 24px;
  }
  .btn-product{
    display:inline-block;
    padding:12px 24px;
    background:transparent;
    color:var(--gold);
    font-family:'Cinzel', serif; font-size:0.66rem; letter-spacing:0.12em;
    text-transform:uppercase; text-decoration:none;
    border:1px solid var(--gold-antique);
    transition:background .25s ease, color .25s ease;
  }
  .btn-product:hover{
    background:var(--gold); color:var(--navy-deep);
  }
  .btn-product.coming-soon{
    opacity:0.6; cursor:not-allowed;
  }
  .btn-product.coming-soon:hover{
    background:transparent; color:var(--gold);
  }

  @media(max-width:1000px){
    .products-grid{grid-template-columns:repeat(2,1fr); gap:28px;}
  }
  @media(max-width:600px){
    section.products{padding:56px 20px;}
    .products-grid{grid-template-columns:1fr;}
    .product-image{height:200px;}
  }


  /* ===== FOUNDER CIRCLE TESTIMONIALS ===== */
  section.testimonials{
    background:var(--cream);
    padding:80px 28px;
    border-top:1px solid var(--line-gray);
  }
  .testimonials-inner{
    max-width:1180px; margin:0 auto;
  }
  .testimonials-header{
    text-align:center; margin-bottom:56px;
  }
  .testimonials-header .eyebrow{
    color:var(--gold-antique); display:block;
  }
  .testimonials-header h2{
    color:var(--navy-deep); font-size:2.2rem; margin-top:12px;
  }
  .testimonials-header .lead-in{
    font-style:italic; color:#4B4B5C; font-size:1.05rem;
    max-width:560px; margin:16px auto 0; line-height:1.7;
  }
  /* Carousel structure */
  .carousel{
    display:flex; align-items:center; gap:18px;
  }
  .carousel-viewport{
    flex:1 1 auto; overflow:hidden;
  }
  .carousel-track{
    --per-view:3;
    display:flex;
    transition:transform .45s ease;
  }
  .carousel-slide{
    flex:0 0 calc(100% / var(--per-view));
    box-sizing:border-box;
    padding:0 14px;
  }
  @media(max-width:760px){
    .carousel-track{--per-view:1;}
  }
  .carousel-arrow{
    flex:0 0 auto;
    width:46px; height:46px; border-radius:50%;
    border:1px solid var(--gold-antique);
    background:var(--cream-soft);
    display:flex; align-items:center; justify-content:center;
    cursor:pointer;
    transition:background .25s ease, border-color .25s ease;
  }
  .carousel-arrow:hover{background:var(--navy-deep); border-color:var(--gold);}
  .carousel-arrow svg{
    width:18px; height:18px;
    fill:none; stroke:var(--navy-deep); stroke-width:2;
    stroke-linecap:round; stroke-linejoin:round;
  }
  .carousel-arrow:hover svg{stroke:var(--gold);}
  .carousel-dots{
    display:flex; justify-content:center; gap:10px;
    margin-top:32px;
  }
  .carousel-dot{
    width:10px; height:10px; border-radius:50%;
    border:1px solid var(--gold-antique);
    background:transparent; padding:0;
    cursor:pointer;
    transition:background .25s ease, border-color .25s ease;
  }
  .carousel-dot.active{
    background:var(--gold); border-color:var(--gold);
  }
  @media(max-width:600px){
    .carousel{gap:10px;}
    .carousel-arrow{width:40px; height:40px;}
    .carousel-slide{padding:0 6px;}
  }

  .testimonial-card{
    background:var(--cream-soft);
    border:1px solid var(--line-gray);
    border-top:3px solid var(--gold);
    padding:36px 30px;
    display:flex; flex-direction:column;
  }
  .testimonial-mark{
    font-family:'Cinzel', serif;
    font-size:2.6rem;
    line-height:1;
    color:var(--gold);
    margin-bottom:8px;
  }
  .testimonial-quote{
    font-style:italic;
    font-size:1.05rem;
    line-height:1.75;
    color:var(--ink);
    flex:1;
  }
  .testimonial-attrib{
    margin-top:22px;
    padding-top:16px;
    border-top:1px solid var(--line-gray);
  }
  .testimonial-name{
    font-family:'Cinzel', serif;
    font-size:0.8rem;
    letter-spacing:0.06em;
    color:var(--navy-deep);
    text-transform:uppercase;
  }
  .testimonial-role{
    font-size:0.92rem;
    font-style:italic;
    color:#7A7A88;
    margin-top:4px;
  }

  @media(max-width:600px){
    section.testimonials{padding:56px 20px;}
  }


  /* ===== CONTACT CTA ===== */
  section.contact-cta{
    background:var(--cream);
    padding:48px 28px 80px;
    border-top:1px solid var(--line-gray);
  }
  .contact-inner{
    max-width:760px; margin:0 auto;
    text-align:center;
  }
  .cta-header .eyebrow{
    display:block; color:var(--gold-antique);
  }
  .cta-header h2{
    color:var(--navy-deep); font-size:2.1rem; margin-top:12px;
  }
  .cta-lede{
    font-style:italic; font-weight:500; color:rgba(13,27,42,0.83); font-size:1.1rem;
    max-width:620px; margin:18px auto 0; line-height:1.75;
  }
  .cta-button-wrap{
    margin-top:42px;
  }
  .btn-cta-primary{
    display:inline-block;
    padding:16px 42px;
    background:var(--gold);
    color:var(--navy-deep);
    font-family:'Cinzel', serif; font-size:0.75rem; letter-spacing:0.14em;
    text-transform:uppercase; text-decoration:none;
    border:1px solid var(--gold);
    transition:background .25s ease, color .25s ease;
  }
  .btn-cta-primary:hover{
    background:transparent; color:var(--gold-antique); border-color:var(--gold-antique);
  }
  .cta-footnote{
    font-size:0.9rem; font-weight:500; color:rgba(13,27,42,0.68); margin-top:18px; font-style:italic;
  }

  @media(max-width:760px){
    section.contact-cta{padding:32px 20px 56px;}
    .cta-header h2{font-size:1.7rem;}
    .cta-lede{font-size:1rem;}
  }


  /* ===== FOOTER ===== */
  footer.site-footer{
    background:var(--navy-deep);
    border-top:1px solid var(--gold-antique);
    padding:36px 28px 28px;
  }
  .footer-inner{
    max-width:1100px; margin:0 auto;
  }
  .footer-content{
    text-align:center;
  }
  .footer-logo{
    width:140px; height:auto; display:block; margin:0 auto 26px;
  }
  .footer-nav{
    margin-bottom:16px;
    font-family:'Cinzel', serif; font-size:0.66rem; letter-spacing:0.1em;
    text-transform:uppercase;
  }
  .footer-nav a{
    color:#D8D8E4; text-decoration:none; transition:color .2s ease;
  }
  .footer-nav a:hover{color:var(--gold);}
  .footer-nav-sep{color:#5A5A6E; margin:0 10px;}
  .footer-tagline{
    font-style:italic; font-size:0.95rem; color:#D8D8E4;
    margin:0 0 20px; line-height:1.6;
  }
  .footer-socials{
    display:flex; justify-content:center; gap:18px; margin-bottom:20px;
  }
  .social-icon{
    display:inline-flex; align-items:center; justify-content:center;
    width:32px; height:32px;
    border:1px solid var(--gold-antique);
    border-radius:50%;
    color:var(--gold-antique);
    text-decoration:none;
    transition:background .25s ease, color .25s ease, border-color .25s ease;
  }
  .social-icon:hover{
    background:var(--gold-antique); color:var(--cream); border-color:var(--gold-antique);
  }
  .footer-legal{
    margin-bottom:18px;
    font-family:'Cinzel', serif; font-size:0.75rem; letter-spacing:0.08em;
  }
  .legal-link{
    color:var(--gold); text-decoration:none;
    transition:color .25s ease;
  }
  .legal-link:hover{color:var(--cream);}
  .legal-sep{
    color:#9A9AA6; margin:0 12px;
  }
  .footer-copyright{
    font-size:0.85rem; color:#C9C2B2;
    border-top:1px solid rgba(212,175,55,0.2); padding-top:16px;
    margin-top:16px;
  }
  .footer-copyright p{margin:0;}

  @media(max-width:600px){
    footer.site-footer{padding:28px 20px 22px;}
    .footer-logo{width:110px; margin-bottom:20px;}
    .footer-socials{gap:14px;}
    .social-icon{width:30px; height:30px;}
    .footer-tagline{font-size:0.9rem;}
    .footer-nav{font-size:0.6rem;}
    .footer-nav-sep{margin:0 6px;}
  }
