
  :root{
    --purple:#432B6C;
    --purple-dark:#2B1B46;
    --gold:#B8863B;
    --gold-light:#DFC8A6;
    --cream:#FBF8F1;
    --cream2:#F4ECDE;
    --ink:#4A4256;
    --ink-soft:#6B6277;
    --white:#FFFFFF;
    --radius:14px;
    --maxw:1180px;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
    color:var(--ink);
    background:var(--cream);
    line-height:1.65;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,h4{
    font-family:'Playfair Display',Georgia,serif;
    color:var(--purple);
    margin:0 0 .5em 0;
    line-height:1.15;
    font-weight:600;
  }
  p{margin:0 0 1em 0;}
  a{color:inherit;}
  img{max-width:100%;display:block;}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;}
  .eyebrow{
    text-transform:uppercase;
    letter-spacing:.14em;
    font-size:.76rem;
    font-weight:700;
    color:var(--gold);
  }
  .btn{
    display:inline-block;
    padding:14px 30px;
    border-radius:999px;
    font-weight:600;
    font-size:.95rem;
    text-decoration:none;
    cursor:pointer;
    border:2px solid transparent;
    transition:transform .15s ease, box-shadow .15s ease, background .2s ease;
    letter-spacing:.01em;
  }
  .btn:hover{transform:translateY(-2px);}
  .btn-gold{background:var(--gold);color:#fff;box-shadow:0 6px 18px rgba(192,146,63,.35);}
  .btn-gold:hover{background:#AD7F32;}
  .btn-outline{background:transparent;border-color:rgba(255,255,255,.75);color:#fff;}
  .btn-outline:hover{background:rgba(255,255,255,.12);}
  .btn-purple{background:var(--purple-dark);color:#FFFFFF;font-weight:700;box-shadow:0 6px 18px rgba(43,27,70,.35);}
  .btn-purple:hover{background:var(--purple-dark);}

  /* ---------- NAV ---------- */
  header.site-nav{
    position:sticky;top:0;z-index:50;
    background:rgba(251,246,236,.92);
    backdrop-filter:blur(8px);
    border-bottom:1px solid rgba(59,39,105,.08);
  }
  .nav-inner{
    max-width:var(--maxw);margin:0 auto;padding:14px 28px;
    display:flex;align-items:center;justify-content:space-between;gap:20px;
  }
  .logo{display:flex;align-items:center;gap:10px;text-decoration:none;}
  .logo-icon{width:24px;height:auto;flex:none;color:var(--purple);}
  .logo-word{font-family:'Playfair Display',serif;font-weight:700;font-size:1.35rem;color:var(--purple);letter-spacing:.01em;}
  .logo-sub{display:block;font-size:.55rem;letter-spacing:.16em;color:var(--gold);font-weight:700;margin-top:-2px;}
  nav.links{display:flex;gap:26px;align-items:center;}
  nav.links a:not(.btn){
    text-decoration:none;color:var(--ink);font-size:.9rem;font-weight:600;
    padding:6px 2px;border-bottom:2px solid transparent;transition:border-color .2s, color .2s;
  }
  nav.links a:not(.btn):hover{color:var(--purple);border-color:var(--gold);}
  nav.links a.btn-purple{color:#FFFFFF;}
  nav.links a.btn-purple:hover{color:#FFFFFF;}
  .nav-cta{display:none;}
  
  .burger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:6px;}
  .burger span{width:24px;height:2px;background:var(--purple);display:block;}

  /* ---------- HERO ---------- */
  .hero{
    position:relative;display:flex;align-items:center;
    background-image:linear-gradient(100deg, rgba(30,19,51,.95) 0%, rgba(43,27,70,.88) 36%, rgba(43,27,70,.58) 60%, rgba(43,27,70,.28) 80%, rgba(43,27,70,.16) 100%), url(images/hero.jpg);
    background-size:cover;
    background-position:center 42%;
    overflow:hidden;padding:120px 0 100px;min-height:560px;
  }
  .hero-content{position:relative;z-index:2;color:#fff;max-width:var(--maxw);margin:0 auto;padding:0 28px;width:100%;}
  .hero-content .eyebrow{color:var(--gold-light);font-size:.95rem;letter-spacing:.16em;}
  .hero h1{color:#fff;font-size:clamp(2.1rem,4.6vw,3.6rem);max-width:780px;margin-top:.4em;}
  .hero-ctas{display:flex;gap:16px;flex-wrap:wrap;margin-top:1.8em;}

  /* ---------- SECTIONS ---------- */
  section{padding:88px 0;}
  .section-head{max-width:680px;margin:0 auto 48px;text-align:center;}
  .section-head h2{font-size:clamp(1.7rem,3vw,2.3rem);}
  .section-head p{color:var(--ink-soft);font-size:1.05rem;}
  .center{text-align:center;}

  /* intro */
  .intro{background:var(--white);}
  .intro-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:56px;align-items:center;}
  .intro-grid blockquote{
    margin:0;padding:0 0 0 22px;border-left:3px solid var(--gold);
    font-family:'Playfair Display',serif;font-style:italic;color:var(--purple);
    font-size:1.25rem;line-height:1.5;
  }

  /* includes band */
  .includes{background:var(--purple);color:#fff;}
  .includes .section-head h2{color:#fff;}
  .includes .section-head p{color:rgba(255,255,255,.75);}
  .includes-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
  .includes-item{text-align:center;padding:18px 10px;}
  .includes-icon{
    width:56px;height:56px;border-radius:50%;background:rgba(255,255,255,.1);
    border:1px solid rgba(231,214,172,.5);
    display:flex;align-items:center;justify-content:center;margin:0 auto 14px;
    font-size:1.5rem;color:var(--gold-light);
  }
  .includes-item h4{color:#fff;font-family:'Inter',sans-serif;font-weight:600;font-size:.95rem;margin:0;}

  /* workshops */
  .workshops{background:var(--cream);}
  .w-row{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;margin-bottom:96px;}
  .w-row:last-child{margin-bottom:0;}
  .w-row.reverse .w-media{order:2;}
  .w-row.reverse .w-text{order:1;}
  .w-media{position:relative;}
  .w-media-main{border-radius:var(--radius);overflow:hidden;box-shadow:0 18px 40px rgba(43,38,32,.18);aspect-ratio:4/3.1;}
  .w-media-main img{width:100%;height:100%;object-fit:cover;}
  .w-media-strip{display:flex;gap:10px;margin-top:10px;}
  .w-media-strip img{
    width:calc(33.33% - 7px);aspect-ratio:1/1;object-fit:cover;border-radius:10px;
    box-shadow:0 6px 16px rgba(43,38,32,.15);
  }
  .w-media-strip.two img{width:calc(50% - 5px);}
  .w-media-strip.one img{width:100%;aspect-ratio:2.6/1;}
  .w-text .eyebrow{margin-bottom:6px;}
  .w-text h3{font-size:1.9rem;margin-bottom:14px;}
  .w-text p{color:var(--ink-soft);}
  .w-meta{
    display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;
  }
  .pill{
    background:var(--cream2);border:1px solid var(--gold-light);color:var(--purple);
    font-size:.78rem;font-weight:700;letter-spacing:.03em;padding:7px 14px;border-radius:999px;
  }

  /* schools band */
  .schools{
    background:linear-gradient(135deg,var(--purple-dark),var(--purple));
    color:#fff;position:relative;overflow:hidden;
  }
  .schools::before{
    content:'';position:absolute;inset:0;opacity:.10;
    background-image:radial-gradient(circle at 20% 30%, #fff 0, transparent 2px), radial-gradient(circle at 60% 70%, #fff 0, transparent 2px), radial-gradient(circle at 85% 20%, #fff 0, transparent 2px);
    background-size:120px 120px;
  }
  .schools-inner{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;}
  .schools h2{color:#fff;font-size:clamp(1.7rem,3vw,2.3rem);}
  .schools p{color:rgba(255,255,255,.85);}
  .schools-card{
    background:rgba(255,255,255,.06);border:1px solid rgba(231,214,172,.35);
    border-radius:var(--radius);padding:32px;backdrop-filter:blur(4px);
  }
  .schools-card ul{margin:0 0 22px;padding-left:20px;color:rgba(255,255,255,.9);}
  .schools-card li{margin-bottom:10px;}
  .schools-card .note{font-size:.85rem;color:rgba(255,255,255,.65);margin-top:18px;}

  /* CPE section */
  .cpe{background:var(--white);}
  .cpe-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:flex-start;}
  .cpe-card{
    background:var(--cream2);border-radius:var(--radius);padding:30px;border:1px solid var(--gold-light);
  }
  .cpe-card h4{font-size:1.05rem;margin-bottom:10px;}
  .status-note{
    display:flex;gap:12px;background:#FBF3E0;border:1px solid var(--gold);border-radius:10px;
    padding:16px 18px;font-size:.92rem;color:#6b5323;margin-top:20px;align-items:flex-start;
  }
  .status-note .dot{width:9px;height:9px;border-radius:50%;background:var(--gold);margin-top:6px;flex:none;}
  .cpe ul.checklist{list-style:none;padding:0;margin:0 0 20px;}
  .cpe ul.checklist li{padding-left:28px;position:relative;margin-bottom:12px;color:var(--ink-soft);}
  .cpe ul.checklist li::before{
    content:'✓';position:absolute;left:0;top:0;color:var(--gold);font-weight:700;
    background:var(--cream2);width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;
  }

  /* Artisan Immersion sections */
  .immersion{background:var(--cream);}
  .immersion-details{background:var(--white);}
  .immersion ul.checklist,.immersion-details ul.checklist{list-style:none;padding:0;margin:0 0 20px;}
  .immersion ul.checklist li,.immersion-details ul.checklist li{padding-left:28px;position:relative;margin-bottom:12px;color:var(--ink-soft);}
  .immersion ul.checklist li::before,.immersion-details ul.checklist li::before{
    content:'✓';position:absolute;left:0;top:0;color:var(--gold);font-weight:700;
    background:var(--cream2);width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;
  }

  /* about */
  .about{background:var(--cream2);}
  .about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center;}
  .about-quote{
    font-family:'Playfair Display',serif;font-style:italic;color:var(--purple);
    font-size:1.5rem;line-height:1.45;border-left:3px solid var(--gold);padding-left:22px;
  }
  .about-cred{margin-top:22px;font-size:.9rem;color:var(--ink-soft);}
  .about-cred strong{color:var(--purple);display:block;font-family:'Playfair Display',serif;font-size:1.1rem;margin-bottom:4px;}

  /* gallery */
  .gallery{background:var(--white);}
  .gallery-grid{
    display:grid;grid-template-columns:repeat(4,1fr);gap:14px;
  }
  .gallery-grid img{width:100%;height:260px;object-fit:cover;border-radius:10px;box-shadow:0 8px 20px rgba(43,38,32,.15);}

  /* contact */
  .contact{background:var(--purple);color:#fff;}
  .contact .section-head h2{color:#fff;}
  .contact .section-head p{color:rgba(255,255,255,.75);}
  .contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;}
  .contact-info h4{color:#fff;font-family:'Inter',sans-serif;font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;color:var(--gold-light);margin-bottom:10px;}
  .contact-info p{color:rgba(255,255,255,.85);}
  .contact-email{
    display:inline-block;font-size:1.3rem;font-family:'Playfair Display',serif;color:#fff;text-decoration:none;
    border-bottom:2px solid var(--gold);padding-bottom:2px;margin-bottom:26px;
  }
  form.inquiry{background:#fff;border-radius:var(--radius);padding:32px;color:var(--ink);}
  form.inquiry .row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;}
  form.inquiry label{display:block;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--purple);margin-bottom:6px;}
  form.inquiry input, form.inquiry select, form.inquiry textarea{
    width:100%;padding:11px 13px;border:1px solid #ddd3bf;border-radius:8px;font-family:inherit;font-size:.95rem;background:#FBF6EC;
  }
  form.inquiry textarea{min-height:110px;resize:vertical;}
  form.inquiry .full{margin-bottom:16px;}
  #formStatus{font-size:.85rem;margin-top:12px;color:var(--purple);display:none;}

  /* footer */
  footer{background:var(--purple-dark);color:rgba(255,255,255,.7);padding:44px 0 28px;}
  .footer-inner{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:24px;}
  footer .logo-word{color:#fff;}
  footer .logo-icon{color:var(--gold-light);}
  footer nav{display:flex;gap:18px;flex-wrap:wrap;}
  footer nav a{color:rgba(255,255,255,.75);text-decoration:none;font-size:.85rem;}
  footer nav a:hover{color:var(--gold-light);}
  .footer-bottom{margin-top:30px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);font-size:.78rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;}

  @media (max-width: 900px){
    nav.links{display:none;}
    .burger{display:flex;}
    .intro-grid,.schools-inner,.cpe-grid,.about-grid,.contact-grid{grid-template-columns:1fr;}
    .includes-grid{grid-template-columns:repeat(2,1fr);}
    .w-row, .w-row.reverse{grid-template-columns:1fr;}
    .w-row.reverse .w-media, .w-row.reverse .w-text{order:initial;}
    .gallery-grid{grid-template-columns:repeat(2,1fr);}
    form.inquiry .row{grid-template-columns:1fr;}
    section{padding:60px 0;}
    .hero{min-height:78vh;}
  }
  @media (max-width:560px){
    .includes-grid{grid-template-columns:repeat(2,1fr);}
    .gallery-grid img{height:180px;}
  }

/* ---------- MULTI-PAGE ADDITIONS ---------- */
nav.links a.active:not(.btn){color:var(--purple);border-color:var(--gold);}
.page-hero{background:linear-gradient(135deg,var(--purple-dark),var(--purple));color:#fff;padding:84px 0 72px;text-align:center;}
.page-hero h1{color:#fff;font-size:clamp(2rem,4vw,3rem);max-width:820px;margin:.3em auto .4em;}
.page-hero p{max-width:680px;margin:0 auto;color:rgba(255,255,255,.82);font-size:1.08rem;}
.page-hero .eyebrow{color:var(--gold-light);}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.card-grid.five{grid-template-columns:repeat(5,1fr);gap:18px;}
.card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:0 10px 28px rgba(43,38,32,.10);text-decoration:none;color:inherit;display:flex;flex-direction:column;transition:transform .18s ease, box-shadow .18s ease;}
.card:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(43,38,32,.16);}
.card img{width:100%;aspect-ratio:4/3;object-fit:cover;}
.card-body{padding:20px 22px 24px;display:flex;flex-direction:column;flex:1;}
.card-body h3{font-size:1.25rem;margin-bottom:8px;}
.card-body p{color:var(--ink-soft);font-size:.94rem;margin-bottom:14px;}
.card-link{margin-top:auto;color:var(--gold);font-weight:700;font-size:.88rem;letter-spacing:.02em;}
.card-grid.five .card-body{padding:14px 16px 18px;}
.card-grid.five .card-body h3{font-size:1.02rem;margin-bottom:0;}
.card-grid.five .card img{aspect-ratio:1/1;}
.paths{background:var(--white);}
.path-card{background:var(--cream2);border:1px solid var(--gold-light);border-radius:var(--radius);padding:32px 28px;text-decoration:none;color:inherit;display:flex;flex-direction:column;transition:transform .18s ease;}
.path-card:hover{transform:translateY(-4px);}
.path-card h3{font-size:1.35rem;}
.path-card p{color:var(--ink-soft);font-size:.95rem;}
.path-card.featured{background:var(--purple);border-color:var(--purple);}
.path-card.featured h3{color:#fff;}
.path-card.featured p{color:rgba(255,255,255,.8);}
.path-card.featured .card-link{color:var(--gold-light);}
.more-link{text-align:center;margin-top:40px;}
.cta-band{background:var(--purple);color:#fff;text-align:center;padding:72px 0;}
.cta-band h2{color:#fff;font-size:clamp(1.6rem,3vw,2.1rem);}
.cta-band p{color:rgba(255,255,255,.8);max-width:560px;margin:0 auto 1.6em;}
.cpe-badge{display:flex;gap:12px;align-items:flex-start;background:#F1F6EC;border:1px solid #9DB58A;border-radius:10px;padding:16px 18px;font-size:.92rem;color:#3F5A2E;margin-top:20px;}
.cpe-badge .tick{flex:none;width:22px;height:22px;border-radius:50%;background:#5E8A45;color:#fff;font-size:.75rem;display:flex;align-items:center;justify-content:center;font-weight:700;margin-top:1px;}
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.product{background:var(--white);}
.product-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:start;}
.product-info h2{font-size:clamp(1.8rem,3vw,2.4rem);margin-bottom:.2em;}
.product-tag{font-family:'Playfair Display',serif;font-style:italic;color:var(--gold);font-size:1.15rem;margin-bottom:16px;}
.box-list{list-style:none;padding:0;margin:0 0 22px;}
.box-list li{padding:11px 0 11px 30px;border-bottom:1px solid var(--cream2);position:relative;color:var(--ink-soft);}
.box-list li::before{content:'✓';position:absolute;left:0;top:11px;color:var(--gold);font-weight:700;}
.buy-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:24px;}
.contact-page{background:var(--purple);}
@media (max-width:1100px){.card-grid.five{grid-template-columns:repeat(3,1fr);}}
@media (max-width:900px){
  .card-grid{grid-template-columns:1fr;}
  .card-grid.five{grid-template-columns:repeat(2,1fr);}
  .split,.product-grid{grid-template-columns:1fr;gap:32px;}
  nav.links.open{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:flex-start;gap:14px;background:var(--cream);padding:18px 28px 24px;border-bottom:1px solid rgba(59,39,105,.12);}
}
.hero-sub{font-family:'Inter',sans-serif;font-weight:600;text-shadow:0 1px 12px rgba(20,10,40,.55);font-size:clamp(1.1rem,2.2vw,1.55rem);color:rgba(255,255,255,.92);margin:.9em 0 0;letter-spacing:.01em;}
.hero h1{font-size:clamp(2.4rem,5.4vw,4.2rem);}
.hero h1{max-width:none;}

.hero h1 em{font-style:italic;color:#E3C692;font-weight:600;}

/* ---------- EDITORIAL HOME ---------- */
.hero{min-height:640px;padding:120px 0;}
.hero h1{font-weight:500;font-size:clamp(2.8rem,6.4vw,5.4rem);line-height:1.05;letter-spacing:-.01em;}
.hero h1 em{font-weight:500;}
.hero .rule{width:56px;height:1px;background:#E3C692;margin-bottom:2.2em;}
.hero .hero-sub{font-size:.8rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:rgba(255,255,255,.88);margin:2em 0 0;text-shadow:none;}
.hero .hero-ctas{gap:14px;margin-top:2.6em;}
.btn-ed{background:transparent;border:1px solid rgba(255,255,255,.85);border-radius:0;color:#fff;padding:15px 30px;font-size:.74rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;box-shadow:none;}
.btn-ed:hover{background:#fff;color:#2B1B46;transform:none;}
.btn-ed-gold{border-color:#E3C692;color:#E3C692;}
.btn-ed-gold:hover{background:#E3C692;color:#2B1B46;}
.offer{background:var(--cream);padding:110px 0 120px;}
.offer-head{text-align:center;margin-bottom:56px;}
.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:44px;}
.offer-card{text-decoration:none;color:inherit;display:block;}
.offer-img{position:relative;aspect-ratio:4/5;overflow:hidden;margin-bottom:22px;}
.offer-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.offer-card:hover .offer-img img{transform:scale(1.04);}
.offer-tag{position:absolute;top:14px;left:14px;background:var(--cream);color:var(--purple);font-size:.68rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;padding:6px 12px;}
.offer-num{font-size:.72rem;font-weight:700;letter-spacing:.2em;color:var(--gold);margin-bottom:8px;border-top:1px solid var(--gold-light);padding-top:14px;}
.offer-card h3{font-size:1.7rem;font-weight:500;margin-bottom:10px;}
.offer-card p{color:var(--ink-soft);font-size:.96rem;margin-bottom:16px;}
.offer-link{font-size:.74rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--purple);border-bottom:1px solid var(--gold);padding-bottom:4px;}
@media (max-width:900px){.offer-grid{grid-template-columns:1fr;gap:56px;}.hero{min-height:560px;padding:90px 0;}}
.offer-img{aspect-ratio:4/3;}
.w-media-strip.wide img{aspect-ratio:4/3;}
.footer-slim{background:var(--purple-dark);color:rgba(255,255,255,.7);padding:24px 0;font-size:.8rem;}
.footer-slim-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;}
.fs-links{display:flex;gap:22px;}
.fs-links a{color:rgba(255,255,255,.75);text-decoration:none;}
.fs-links a:hover{color:var(--gold-light);}
.waitlist{margin-top:26px;}
.waitlist label{display:block;font-family:'Playfair Display',serif;font-size:1.15rem;color:var(--purple);margin-bottom:12px;}
.wl-row{display:flex;gap:10px;flex-wrap:wrap;}
.wl-row input{flex:1;min-width:220px;padding:14px 18px;border:1px solid var(--gold-light);border-radius:999px;font-family:inherit;font-size:.95rem;background:#FBF6EC;}
.wl-row input:focus{outline:2px solid var(--gold);outline-offset:1px;}
.wl-row .btn{border:none;cursor:pointer;}

/* quote band */
.quote-band{background:var(--white);padding:84px 0;}
.quote-band blockquote{margin:0 auto;max-width:820px;text-align:center;font-family:'Playfair Display',serif;font-style:italic;font-weight:500;color:var(--purple);font-size:clamp(1.5rem,3vw,2.25rem);line-height:1.4;text-wrap:balance;}
.quote-band blockquote::before{content:"";display:block;width:56px;height:2px;background:var(--gold);margin:0 auto 30px;}

/* light includes band (workshops page) */
.includes.light{background:var(--cream2);color:var(--ink);padding:56px 0 48px;}
.includes.light .section-head{margin-bottom:18px;}
.includes.light .section-head h2{color:var(--purple);font-size:1.6rem;}
.includes.light .includes-icon{background:var(--white);border-color:var(--gold-light);color:var(--gold);}
.includes.light .includes-item h4{color:var(--purple);}
.w-media-main{aspect-ratio:3/2;}
.w-row{margin-bottom:80px;}
@media(max-width:800px){.includes-grid{grid-template-columns:repeat(2,1fr);}}
.workshops .wrap > div[id]{margin-bottom:88px;}
.workshops .wrap > div[id]:last-child{margin-bottom:0;}

/* schools page (short) */
.sch-cards{padding:72px 0 40px;}
.sch-cards .path-card p{color:var(--ink-soft);margin-bottom:14px;}
.sch-cards .path-card .sch-sub{font-size:.92rem;padding-top:14px;border-top:1px solid var(--gold-light);}
.sch-cards .path-card .card-link{margin-top:auto;padding-top:6px;}
.sch-strip{padding:26px 0;border-top:1px solid var(--gold-light);border-bottom:1px solid var(--gold-light);background:var(--cream);}
.sch-strip .wrap{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 40px;font-size:.78rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--purple);}
.sch-trip{padding:34px 0 46px;text-align:center;color:var(--ink-soft);}
.sch-trip a{color:var(--purple);font-weight:600;}
@media(max-width:800px){.sch-cards .card-grid{grid-template-columns:1fr !important;}}
.fmt-list{list-style:none;margin:4px 0 16px;padding:0;color:var(--ink-soft);}
.fmt-list li{padding:8px 0;border-bottom:1px solid var(--gold-light);font-size:.95rem;}
.fmt-list li:first-child{border-top:1px solid var(--gold-light);}
.fmt-list strong{display:inline-block;min-width:78px;color:var(--purple);}
.fmt-list li:last-child{border-bottom:0;}
.sch-cards .path-card .aud{font-size:.8rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--gold);margin:0 0 6px;}
.agenda{margin:0 0 16px;border-bottom:1px solid var(--gold-light);padding-bottom:10px;}
.agenda summary{cursor:pointer;font-weight:600;font-size:.95rem;color:var(--purple);padding:6px 0;}
.agenda ul{list-style:none;margin:8px 0 4px;padding:0;color:var(--ink-soft);font-size:.92rem;}
.agenda li{padding:5px 0;}
.agenda strong{display:inline-block;min-width:96px;color:var(--purple);}
.agenda strong{display:block;min-width:0;}
.agenda li{padding:7px 0;line-height:1.45;}
.agenda{border-bottom:0;margin-bottom:0;}

/* immersion page */
.imm-hero{background-image:linear-gradient(180deg,rgba(30,19,51,.24) 0%,rgba(30,19,51,.44) 45%,rgba(30,19,51,.6) 100%),url(images/13-ornate-carved-archway-and-tiled-courtyar.jpg);background-size:cover;background-position:center;color:#fff;text-align:center;padding:120px 0 110px;}
.imm-hero .eyebrow{color:var(--gold-light);margin-bottom:14px;}
.imm-hero h1{color:#fff;font-weight:500;font-size:clamp(2.4rem,5vw,4rem);line-height:1.1;margin-bottom:18px;}
.imm-hero h1 em{color:#E3C692;}
.imm-hero p{max-width:620px;margin:0 auto 28px;color:rgba(255,255,255,.88);font-size:1.1rem;}
.imm-highlights{padding:80px 0 40px;}
.imm-highlights .card p{color:var(--ink-soft);margin:8px 0 0;font-size:.95rem;}
.imm-highlights .card img{aspect-ratio:4/3;object-fit:cover;width:100%;}
.imm-who{padding:20px 0 70px;}
.imm-who p{max-width:760px;margin:0 auto;text-align:center;color:var(--ink-soft);font-size:1.05rem;}
.imm-who strong{color:var(--purple);}
@media(max-width:800px){.imm-highlights .card-grid{grid-template-columns:1fr !important;}.imm-hero{padding:80px 0 70px;}}

.imm-hero h1,.imm-hero p,.imm-hero .eyebrow{text-shadow:0 2px 18px rgba(20,12,35,.55);}
.imm-hero .eyebrow{color:#fff;}

.imm-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.imm-tile{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:3/4;box-shadow:0 18px 40px rgba(43,38,32,.18);}
.imm-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.imm-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(30,19,51,0) 45%,rgba(30,19,51,.86) 100%);}
.imm-cap{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:22px 22px 24px;color:#fff;}
.imm-cap h3{color:#fff;font-size:1.3rem;margin:0 0 6px;}
.imm-cap p{color:rgba(255,255,255,.88);font-size:.92rem;margin:0;line-height:1.45;}
@media(max-width:800px){.imm-tiles{grid-template-columns:1fr;}.imm-tile{aspect-ratio:4/3;}}

.imm-photos{padding:72px 0 80px;}
.imm-row{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.imm-row img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);box-shadow:0 18px 40px rgba(43,38,32,.16);}
.imm-para{max-width:760px;margin:44px auto 0;text-align:center;color:var(--ink-soft);font-size:1.08rem;line-height:1.75;}
@media(max-width:800px){.imm-row{grid-template-columns:1fr;}}

.imm-details{max-width:900px;margin:56px auto 0;}
.imm-details h2{text-align:center;font-size:1.5rem;color:var(--purple);margin-bottom:26px;}
.imm-details dl{display:grid;grid-template-columns:1fr 1fr;gap:0 44px;margin:0;}
.imm-details dl > div{padding:18px 0;border-top:1px solid var(--gold-light);}
.imm-details dt{font-family:'Inter',sans-serif;font-size:.78rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--gold);margin-bottom:6px;}
.imm-details dd{margin:0;color:var(--ink-soft);font-size:.98rem;line-height:1.6;}
@media(max-width:800px){.imm-details dl{grid-template-columns:1fr;}}

.sch-cred{padding:34px 0 6px;}
.sch-cred p{max-width:760px;margin:0 auto;text-align:center;font-family:'Playfair Display',serif;font-style:italic;font-size:1.15rem;line-height:1.6;color:var(--purple);}

/* unified footer */
.site-foot{background:var(--purple-dark);color:rgba(255,255,255,.72);padding:48px 0 26px;font-size:.85rem;}
.sf-top{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:24px;padding-bottom:28px;border-bottom:1px solid rgba(255,255,255,.14);}
.sf-brand .logo-word{color:#fff;}
.sf-brand p{margin:8px 0 0;font-family:'Playfair Display',serif;font-style:italic;color:var(--gold-light);font-size:1rem;}
.sf-links{display:flex;flex-wrap:wrap;gap:8px 26px;}
.sf-links a,.sf-legal a{color:rgba(255,255,255,.8);text-decoration:none;}
.sf-links a:hover,.sf-legal a:hover{color:#fff;}
.sf-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;padding-top:20px;font-size:.78rem;}
.sf-legal{display:flex;gap:22px;}
.policy{padding:70px 0 90px;}
.policy .narrow{max-width:720px;}
.policy h2{font-size:1.25rem;margin:30px 0 8px;color:var(--purple);}
.policy h2:first-child{margin-top:0;}
.policy p{color:var(--ink-soft);}
.policy a{color:var(--purple);font-weight:600;}
.imm-hero .eyebrow{font-size:1.05rem;letter-spacing:.2em;font-weight:700;}
@media(max-width:600px){.imm-hero .eyebrow{font-size:.82rem;letter-spacing:.16em;}}
.ws-row{padding:64px 0 24px;}
.includes-grid.three{grid-template-columns:repeat(3,1fr);max-width:980px;margin:0 auto;gap:36px;}
.includes.light .includes-item{padding:14px 8px;}
.includes.light .includes-item h4{font-size:1.02rem;margin:0 0 8px;}
.includes.light .includes-item p{margin:0;color:var(--ink-soft);font-size:.93rem;line-height:1.55;}
@media(max-width:800px){.includes-grid.three{grid-template-columns:1fr;gap:22px;}}
.includes.light .section-head{margin-bottom:30px;}
.workshops .wrap > div[id]{scroll-margin-top:100px;}
.includes-grid.four{grid-template-columns:repeat(4,1fr);max-width:1120px;margin:0 auto;gap:28px;}
@media(max-width:1000px){.includes-grid.four{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.includes-grid.four{grid-template-columns:1fr;}}


/* css-only mobile menu */
.nav-toggle{display:none;}
@media (max-width:900px){
  .burger{cursor:pointer;-webkit-tap-highlight-color:transparent;}
  .nav-toggle:checked ~ nav.links{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:flex-start;gap:14px;background:var(--cream);padding:18px 28px 24px;border-bottom:1px solid rgba(59,39,105,.12);}
}

/* tap target: transparent checkbox sits directly over the burger */
@media (max-width:900px){
  .nav-inner{position:relative;}
  .nav-toggle{display:block;position:absolute;right:18px;top:50%;transform:translateY(-50%);width:52px;height:48px;margin:0;opacity:0;z-index:60;cursor:pointer;-webkit-appearance:none;appearance:none;}
}

/* ---------- EDITORIAL HOME v2 ---------- */
.ed-feature{background:var(--cream);padding:120px 0 40px;}
.ed-feature.ed-last{padding-bottom:130px;}
.ed-grid{display:grid;grid-template-columns:7fr 5fr;gap:80px;align-items:center;}
.ed-rev .ed-grid{grid-template-columns:5fr 7fr;}
.ed-fig{margin:0;}
.ed-fig img{width:100%;aspect-ratio:5/4;object-fit:cover;display:block;}
.ed-fig figcaption{margin-top:12px;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);}
.ed-label{font-size:.72rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:18px;}
.ed-text h2{font-size:clamp(2.6rem,5vw,4.2rem);font-weight:500;line-height:1.02;letter-spacing:-.01em;margin-bottom:28px;}
.ed-text h2 em{color:var(--gold);font-weight:500;}
.ed-text p{color:var(--ink);font-size:1.05rem;line-height:1.75;max-width:420px;margin-bottom:30px;}
.dropcap::first-letter{font-family:'Playfair Display',serif;float:left;font-size:4.1em;line-height:.8;padding:.06em .05em 0 0;color:var(--purple);font-weight:500;}
.ed-link{font-size:.74rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--purple);text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:6px;}
.ed-link::after{content:"  \2192";}
.ed-link:hover{color:var(--gold);}
.ed-duo{position:relative;padding-bottom:60px;}
.ed-inset{position:absolute;right:-24px;bottom:0;width:38%;border:10px solid var(--cream);}
.ed-inset img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;}
.ed-quote{position:relative;margin-top:120px;padding:190px 28px;background:linear-gradient(rgba(30,19,51,.68),rgba(30,19,51,.74)),url(images/03-hands-assembling-a-moroccan-zellige-mosa.jpg) center/cover;}
.ed-quote-inner{max-width:900px;margin:0 auto;text-align:center;}
.ed-quote blockquote{margin:0;font-family:'Playfair Display',serif;font-style:italic;font-weight:500;color:#fff;font-size:clamp(1.7rem,3.6vw,2.9rem);line-height:1.35;text-wrap:balance;}
.ed-quote blockquote::before{content:"";display:block;width:56px;height:1px;background:#E3C692;margin:0 auto 34px;}
@media (max-width:900px){
  .ed-feature{padding:80px 0 20px;}
  .ed-grid,.ed-rev .ed-grid{grid-template-columns:1fr;gap:36px;}
  .ed-rev .ed-text{order:-1;}
  .ed-inset{right:12px;}
  .ed-quote{padding:120px 24px;margin-top:80px;}
}
.ed-duo .ed-fig figcaption{max-width:56%;}
.ed-duo{padding-bottom:80px;}
.ed-inset{width:30%;bottom:0;right:-28px;}

/* ---------- EDITORIAL KITS ---------- */
.kit-ed{padding-top:100px;}
.ed-fig-wide img{aspect-ratio:21/9;}
.ed-finished{padding-top:60px;}
.ed-box .box-list{list-style:none;padding:0;margin:0;max-width:440px;}
.ed-box .box-list li{padding:15px 0;border-top:1px solid var(--gold-light);color:var(--ink);font-size:1rem;line-height:1.55;}
.ed-box .box-list li:last-child{border-bottom:1px solid var(--gold-light);}
.kit-ed .waitlist{margin-top:34px;max-width:440px;}
.kit-ed .waitlist label{font-size:1.05rem;}
.kit-ed .wl-row input{border-radius:0;background:transparent;border:1px solid var(--gold-light);}
.kit-ed .wl-row .btn{border-radius:0;background:transparent;border:1px solid var(--gold);color:var(--purple);box-shadow:none;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;padding:14px 26px;}
.kit-ed .wl-row .btn:hover{background:var(--gold);color:#fff;transform:none;}
@media (max-width:900px){.ed-fig-wide img{aspect-ratio:4/3;}.kit-ed{padding-top:70px;}}
.ed-box .box-list li::before{display:none !important;content:none !important;}
.ed-box .box-list li{padding-left:0 !important;}
.ed-finished .ed-fig-wide{max-width:620px;margin:0 auto;}
.ed-finished .ed-fig-wide img{aspect-ratio:1/1;}
.ed-finished .ed-fig-wide figcaption{text-align:center;}
@media (max-width:900px){.ed-finished .ed-fig-wide img{aspect-ratio:1/1;}}

/* ---------- KITS: original layout, editorial polish ---------- */
.kit-orig .product-info h2{font-size:clamp(2.2rem,3.6vw,3.1rem);font-weight:500;line-height:1.05;margin-bottom:20px;}
.kit-orig .product-info h2 em{color:var(--gold);font-weight:500;}
.kit-orig .product-info p{line-height:1.75;}
.kit-orig .ed-fig{margin:0;}
.kit-orig .ed-fig figcaption{margin-top:10px;font-size:.68rem;}
.kit-orig .kit-main .w-media-main img{width:100%;display:block;}
.kit-orig .w-media-strip{gap:16px;margin-top:22px;}
.kit-orig .w-media-strip .ed-fig img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;}
.kit-orig .ed-list{list-style:none;padding:0;margin:0 0 6px;}
.kit-orig .ed-list li{padding:11px 0;border-top:1px solid var(--gold-light);font-size:.96rem;line-height:1.5;color:var(--ink);}
.kit-orig .ed-list li:last-child{border-bottom:1px solid var(--gold-light);}
.kit-orig .ed-list li::before{display:none !important;content:none !important;}
.kit-orig .waitlist{margin-top:28px;}
.kit-orig .wl-row input{border-radius:0;background:transparent;border:1px solid var(--gold-light);}
.kit-orig .wl-row .btn{border-radius:0;background:transparent;border:1px solid var(--gold);color:var(--purple);box-shadow:none;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;padding:14px 26px;}
.kit-orig .wl-row .btn:hover{background:var(--gold);color:#fff;transform:none;}
.kit-orig .w-media-strip.two{display:grid;grid-template-columns:1fr 1fr;align-items:start;}
.kit-orig .w-media-strip .ed-fig{min-width:0;}

/* ---------- EDITORIAL WORKSHOPS ---------- */
.ws-row{padding:70px 0 20px;}
.ws-row .card{background:transparent;border-radius:0;box-shadow:none;}
.ws-row .card:hover{transform:none;box-shadow:none;}
.ws-row .card img{border-radius:0;transition:transform .5s ease;}
.ws-row .card{overflow:hidden;}
.ws-row .card:hover img{transform:scale(1.04);}
.ws-row .card-body{padding:14px 0 0;}
.ws-row .card-body h3{font-size:.7rem;font-family:'Inter',sans-serif;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--purple);line-height:1.5;margin:0;}
.workshops:not(.ws-row){padding-top:40px;}
.workshops:not(.ws-row) .w-row{margin-bottom:120px;gap:90px;}
.workshops:not(.ws-row) .w-media-main{border-radius:0;box-shadow:none;aspect-ratio:4/3;}
.workshops:not(.ws-row) .w-media-strip img{border-radius:0;box-shadow:none;}
.workshops .w-cap{margin-top:10px;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);}
.workshops .w-media-strip{margin-top:14px;gap:14px;}
.workshops .w-media-strip.two img{width:calc(50% - 7px);}
.workshops .w-text .eyebrow{font-size:.72rem;letter-spacing:.24em;margin-bottom:16px;}
.workshops .w-text h3{font-size:clamp(2.1rem,3.6vw,3rem);font-weight:500;line-height:1.05;margin-bottom:24px;}
.workshops .w-text h3 em{color:var(--gold);font-weight:500;}
.workshops .w-text p{color:var(--ink);font-size:1.03rem;line-height:1.75;}
.workshops .w-text > p:first-of-type::first-letter{font-family:'Playfair Display',serif;float:left;font-size:4.1em;line-height:.8;padding:.06em .05em 0 0;color:var(--purple);font-weight:500;}
.workshops .w-meta{margin:22px 0 0;display:flex;flex-wrap:wrap;gap:0;font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--purple);}
.workshops .w-meta .pill{background:none;border:none;border-radius:0;padding:0;font:inherit;letter-spacing:inherit;color:inherit;box-shadow:none;}
.workshops .w-meta .pill + .pill::before{content:"\00B7";color:var(--gold);margin:0 .9em;}
@media (max-width:900px){.workshops:not(.ws-row) .w-row{margin-bottom:80px;gap:36px;}}

/* ---------- EDITORIAL SCHOOLS ---------- */
.sch-ed .ed-text p{max-width:470px;}
.sch-ed .ed-text h2{font-size:clamp(2.3rem,4.2vw,3.5rem);}
.sch-ed .sch-sub{font-size:.95rem;color:var(--ink-soft);border-top:1px solid var(--gold-light);padding-top:16px;margin-top:6px;}
.sch-ed .ed-badge{display:inline-block;margin:0 0 22px;border-radius:0;}
.sch-ed .fmt-list{max-width:470px;margin:6px 0 20px;}
.sch-ed .agenda{max-width:470px;margin:0 0 28px;}
.sch-ed .ed-fig img{aspect-ratio:4/5;}
@media (max-width:900px){.sch-ed .ed-fig img{aspect-ratio:4/3;}}

.ed-solo{padding-bottom:0;}

#educator-pd{scroll-margin-top:60px;}

/* ---------- EDITORIAL IMMERSION ---------- */
.imm-hero .btn-ed{margin-top:6px;}
.imm-photos{padding:100px 0 110px;}
.imm-ed{gap:26px;align-items:start;}
.imm-ed figure{margin:0;}
.imm-ed img{border-radius:0;box-shadow:none;aspect-ratio:3/4;}
.imm-ed .imm-mid{margin-top:56px;}
.imm-ed figcaption{margin-top:12px;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);}
.imm-details{max-width:960px;margin:110px auto 0;text-align:left;}
.imm-details .ed-label{margin-bottom:14px;}
.imm-details h2{text-align:left;font-size:clamp(2.1rem,3.8vw,3rem);font-weight:500;line-height:1.05;margin-bottom:34px;}
.imm-details h2 em{color:var(--gold);font-weight:500;}
.imm-details dl{gap:0 64px;}
.imm-details dl > div{padding:22px 0;}
.imm-details dt{font-size:.72rem;letter-spacing:.2em;font-weight:700;margin-bottom:10px;}
.imm-details dd{color:var(--ink);font-size:1rem;line-height:1.7;}
@media (max-width:800px){.imm-ed .imm-mid{margin-top:0;}.imm-ed img{aspect-ratio:4/3;}.imm-details{margin-top:70px;}.imm-photos{padding:70px 0 80px;}}

/* ---------- EDITORIAL CONTACT ---------- */
.contact{background:var(--cream);color:var(--ink);padding:110px 0 120px;}
.contact-grid{grid-template-columns:.8fr 1.2fr;gap:100px;align-items:start;}
.contact-info h4{color:var(--gold);font-size:.72rem;letter-spacing:.24em;font-weight:700;margin:0 0 14px;}
.contact-info h4 + .contact-email,.contact-info h4 + p{margin-bottom:44px;}
.contact-info p{color:var(--ink);line-height:1.7;}
.contact-email{color:var(--purple);font-size:1.5rem;border-bottom:1px solid var(--gold);padding-bottom:6px;}
.ed-inline{color:var(--purple);font-weight:600;border-bottom:1px solid var(--gold);text-decoration:none;}
form.inquiry{background:transparent;border-radius:0;padding:0;}
form.inquiry .row{gap:36px;margin-bottom:30px;}
form.inquiry .full{margin-bottom:34px;}
form.inquiry label{font-size:.68rem;letter-spacing:.2em;margin-bottom:4px;color:var(--purple);}
form.inquiry input,form.inquiry select,form.inquiry textarea{background:transparent;border:0;border-bottom:1px solid var(--gold-light);border-radius:0;padding:12px 0;font-size:1rem;color:var(--ink);}
form.inquiry textarea{min-height:130px;border:1px solid var(--gold-light);padding:14px 16px;}
form.inquiry input:focus,form.inquiry select:focus,form.inquiry textarea:focus{outline:none;border-color:var(--gold);}
.ed-submit{background:transparent;border:1px solid var(--purple);border-radius:0;color:var(--purple);font-size:.74rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;padding:16px 38px;cursor:pointer;box-shadow:none;}
.ed-submit:hover{background:var(--purple);color:#fff;transform:none;}
#formStatus{color:var(--purple);}
@media (max-width:900px){.contact{padding:70px 0 80px;}.contact-grid{gap:50px;}form.inquiry .row{gap:26px;}}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr;}form.inquiry .row{grid-template-columns:1fr;}}

.sch-ed .sch-land img{aspect-ratio:3/2;object-position:20% 75%;}
/* weaving + calligraphy: align text with the top of the main photo */
#weaving .w-row,#calligraphy .w-row{align-items:start;}
#weaving .w-text,#calligraphy .w-text{padding-top:48px;}
@media (max-width:900px){#weaving .w-text,#calligraphy .w-text{padding-top:0;}}

/* ---------- MOBILE MENU: native <details>, no script needed ---------- */
.mnav{display:none;}
.mnav summary{list-style:none;}
.mnav summary::-webkit-details-marker{display:none;}
@media (max-width:900px){
  .nav-inner{position:relative;}
  .mnav{display:block;}
  .mnav summary.burger{display:flex;flex-direction:column;gap:5px;cursor:pointer;padding:12px 6px;-webkit-tap-highlight-color:transparent;}
  .mnav-panel{position:absolute;top:100%;left:0;right:0;display:flex;flex-direction:column;align-items:flex-start;gap:14px;background:var(--cream);padding:18px 28px 26px;border-bottom:1px solid rgba(59,39,105,.12);z-index:70;}
  .mnav-panel a:not(.btn){text-decoration:none;color:var(--ink);font-size:1rem;font-weight:600;padding:6px 2px;border-bottom:2px solid transparent;}
  .mnav-panel a.active{color:var(--purple);border-bottom-color:var(--gold);}
  .mnav-panel a.btn-purple{color:#fff;}
}
