@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@600;700&family=Source+Sans+3:wght@400;500;600;700&display=swap');
:root{--cck-bg:#531326;--cck-bg-deep:#35101b;--cck-paper:#fffaf4;--cck-paper-2:#f6efe8;--cck-ink:#23181c;--cck-muted:#6d5e63;--cck-accent:#7b1938;--cck-gold:#c89752;--cck-border:rgba(79,33,47,.13);--cck-shadow:0 22px 60px rgba(27,4,12,.26)}
html{scroll-behavior:smooth}body{font-family:"Source Sans 3","Segoe UI",sans-serif!important;background:radial-gradient(circle at 90% 8%,rgba(202,151,82,.13),transparent 28rem),linear-gradient(150deg,var(--cck-bg-deep),var(--cck-bg) 48%,#66172e) fixed!important;color:var(--cck-ink);min-height:100vh}
header{min-height:76px;padding:12px clamp(18px,3vw,44px)!important;background:rgba(44,10,20,.94)!important;border-bottom:1px solid rgba(255,255,255,.13);border-radius:0!important;box-shadow:0 8px 30px rgba(24,3,10,.28)!important;backdrop-filter:blur(14px)!important}header .logo{gap:12px!important;margin-right:24px!important;min-width:0}header .logo-img{width:46px!important;height:46px!important}header .logo h1{font-family:"Playfair Display",serif!important;font-size:clamp(16px,1.6vw,22px)!important;letter-spacing:.035em!important;line-height:1.15}header nav ul{gap:4px!important}header nav a{font-family:"Source Sans 3",sans-serif;font-size:15px;padding:8px 11px!important;font-weight:600!important}header nav a.active{background:rgba(255,255,255,.15)!important;box-shadow:none!important}
.cck-shell{width:min(1240px,calc(100% - 48px));margin:0 auto;padding:124px 0 70px}.cck-eyebrow{margin:0 0 10px;color:var(--cck-gold);font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.cck-title{font-family:"Playfair Display",serif;font-size:clamp(36px,5vw,64px);line-height:1.02;margin:0 0 18px;color:#fff}.cck-lead{max-width:760px;color:rgba(255,255,255,.84);font-size:clamp(17px,2vw,20px);line-height:1.65;margin:0}.cck-intro{margin-bottom:34px}.cck-soft-card{background:var(--cck-paper);border:1px solid rgba(255,255,255,.55);border-radius:24px;box-shadow:var(--cck-shadow)}.cck-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#25141a;color:#fff;text-decoration:none;border-radius:999px;padding:11px 18px;font-weight:700;border:1px solid rgba(255,255,255,.12);transition:.2s ease}.cck-button:hover{transform:translateY(-2px);background:#12090c}.cck-button.secondary{background:transparent;color:var(--cck-accent);border-color:rgba(123,25,56,.28)}
body.home-refresh .home-hero{width:min(1240px,calc(100% - 48px));margin:0 auto;padding:126px 0 44px;display:grid;grid-template-columns:minmax(0,1.03fr) minmax(350px,.97fr);gap:70px;align-items:center}body.home-refresh .home-copy{color:#fff}body.home-refresh .home-copy h2{font-family:"Playfair Display",serif;font-size:clamp(42px,5.8vw,72px);line-height:1.03;margin:0 0 22px;letter-spacing:-.02em}body.home-refresh .home-copy p{font-size:clamp(17px,1.8vw,20px);line-height:1.7;color:rgba(255,255,255,.84);max-width:680px}body.home-refresh .home-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}body.home-refresh .home-actions .cck-button{background:var(--cck-paper);color:#281118}body.home-refresh .home-actions .cck-button.secondary{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}body.home-refresh .home-visual{position:relative;padding:22px}body.home-refresh .home-visual:before{content:"";position:absolute;inset:2% 7% 9% 0;border-radius:36px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.13);transform:rotate(-4deg)}body.home-refresh .home-visual img{position:relative;width:100%;max-height:590px;object-fit:cover;object-position:center;border-radius:30px;box-shadow:0 34px 80px rgba(13,1,5,.45)}body.home-refresh .learning-paths{width:min(1240px,calc(100% - 48px));margin:0 auto 74px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}body.home-refresh .path-card{background:var(--cck-paper);padding:25px;border-radius:21px;text-decoration:none;color:var(--cck-ink);box-shadow:0 16px 42px rgba(20,2,8,.22);border:1px solid rgba(255,255,255,.55);transition:.2s ease}body.home-refresh .path-card:hover{transform:translateY(-4px);box-shadow:0 24px 56px rgba(20,2,8,.3)}body.home-refresh .path-card .num{font-size:12px;font-weight:800;color:var(--cck-accent);letter-spacing:.1em}body.home-refresh .path-card h3{font-family:"Playfair Display",serif;font-size:25px;margin:8px 0 8px}body.home-refresh .path-card p{color:var(--cck-muted);line-height:1.55;margin:0}
body.about-page .about-layout,body .contact-layout,body.gallery-page .gallery-layout,body.journal-page .journal-layout{width:min(1240px,calc(100% - 48px))!important;max-width:none!important;margin:0 auto!important;padding:126px 0 70px!important;display:grid!important;grid-template-columns:minmax(0,650px) minmax(350px,1fr)!important;gap:64px!important;align-items:start!important;box-sizing:border-box!important}body.about-page .about-left,body .contact-left,body.gallery-page .gallery-left,body.journal-page .journal-left{width:100%!important;max-width:none!important;min-width:0!important}body.about-page .about-images,body .contact-images,body.gallery-page .gallery-images,body.journal-page .journal-images{position:sticky!important;top:110px!important;right:auto!important;width:100%!important;height:540px!important;margin:0!important;overflow:visible!important;border-radius:0!important;pointer-events:none!important;z-index:1!important}body.about-page .about-stack,body .contact-stack,body.gallery-page .gallery-stack,body.journal-page .journal-stack{height:100%!important}body.about-page .as-img,body .cs-img,body.gallery-page .gs-img,body.journal-page .js-img{width:min(76%,390px)!important;border-radius:24px!important;box-shadow:0 28px 65px rgba(17,2,7,.4)!important;border:1px solid rgba(255,255,255,.2)}body.about-page .as-img-1,body .cs-img-1,body.gallery-page .gs-img-1,body.journal-page .js-img-1{top:10px!important;left:0!important;transform:rotate(-4deg)!important}body.about-page .as-img-2,body .cs-img-2,body.gallery-page .gs-img-2,body.journal-page .js-img-2{top:190px!important;left:22%!important;transform:rotate(4deg)!important}body.about-page .about-box,body .contact-box,body.gallery-page .gallery-box,body.journal-page .journal-box{background:var(--cck-paper)!important;border-radius:24px!important;padding:30px 32px!important;box-shadow:var(--cck-shadow)!important;border:1px solid rgba(255,255,255,.55)!important;color:var(--cck-ink)!important}body.about-page .about-box h2,body .contact-box h2,body.gallery-page .gallery-box h2,body.journal-page .journal-box h2{font-family:"Playfair Display",serif!important;color:var(--cck-accent)!important;font-size:32px!important}body.about-page .about-box p,body .contact-box p,body.gallery-page .gallery-box p,body.journal-page .journal-box p{font-size:17px!important;line-height:1.7!important}
body.gallery-page .g-card{background:var(--cck-paper)!important;border-radius:20px!important;padding:20px!important;margin-bottom:18px!important;box-shadow:0 13px 32px rgba(16,2,7,.22)!important;border:1px solid rgba(255,255,255,.45)}body.gallery-page .g-card-title{font-family:"Playfair Display",serif!important;font-size:21px!important;line-height:1.25!important}body.gallery-page .g-media img,body.gallery-page .g-media video,body.gallery-page .g-media iframe{width:100%!important;max-width:100%!important;height:auto;border-radius:14px!important;object-fit:cover}body.gallery-page .gallery-tabs{gap:10px!important}body.gallery-page .tab-btn{border-radius:999px!important;padding:10px 16px!important;font-weight:700!important}
body.journal-page .issue-card{background:var(--cck-paper)!important;border-radius:18px!important;box-shadow:0 14px 34px rgba(18,2,8,.22)!important;padding:14px!important}body.journal-page .issue-open-btn{border-radius:14px!important;background:#fff!important;border:1px solid var(--cck-border)!important}body.journal-page .issue-title{font-family:"Playfair Display",serif!important;font-size:20px!important;color:var(--cck-ink)!important}
.brochure-page{width:min(900px,calc(100% - 36px))!important;margin:0 auto!important;padding:122px 0 70px!important}.brochure-header,.brochure-content,.download-section{background:var(--cck-paper)!important;border-radius:22px!important;box-shadow:var(--cck-shadow)!important;border:1px solid rgba(255,255,255,.55);padding:28px 32px!important;margin-bottom:18px!important}.brochure-header h2{font-family:"Playfair Display",serif!important;color:var(--cck-accent)!important;font-size:36px!important}.brochure-header h3,.brochure-content h3{color:#4c2632!important}.brochure-content p,.brochure-content li,.brochure-header p{font-size:17px;line-height:1.66}.download-section .btn{display:inline-flex!important;background:#241217!important;color:#fff!important;border-radius:999px!important;padding:12px 19px!important;text-decoration:none!important}
@media(max-width:1000px){body.home-refresh .home-hero{grid-template-columns:1fr;gap:32px;padding-top:110px}body.home-refresh .home-visual{max-width:680px;margin:0 auto;width:100%;box-sizing:border-box}body.home-refresh .learning-paths{grid-template-columns:1fr}body.about-page .about-layout,body .contact-layout,body.gallery-page .gallery-layout,body.journal-page .journal-layout{grid-template-columns:1fr!important;gap:28px!important;padding-top:108px!important}body.about-page .about-images,body .contact-images,body.gallery-page .gallery-images,body.journal-page .journal-images{position:relative!important;top:0!important;height:430px!important;max-width:620px!important;margin:0 auto!important;order:2}}
@media(max-width:768px){header{min-height:70px;padding:10px 14px!important}header .logo{margin-right:58px!important;gap:8px!important}header .logo-img{width:40px!important;height:40px!important}header .logo h1{font-size:14px!important;letter-spacing:.01em!important;white-space:normal!important;max-width:240px}header .site-nav{top:70px!important;background:rgba(55,10,24,.98)!important;border-radius:16px!important}.cck-shell,body.home-refresh .home-hero,body.home-refresh .learning-paths,body.about-page .about-layout,body .contact-layout,body.gallery-page .gallery-layout,body.journal-page .journal-layout{width:min(100% - 28px,1240px)!important}body.home-refresh .home-hero{padding-top:96px!important}body.home-refresh .home-copy h2{font-size:clamp(38px,12vw,56px)}body.home-refresh .home-visual{padding:0}body.home-refresh .home-visual:before{display:none}body.home-refresh .home-visual img{border-radius:22px;max-height:none}body.about-page .about-box,body .contact-box,body.gallery-page .gallery-box,body.journal-page .journal-box{padding:23px 21px!important;border-radius:19px!important}body.about-page .about-images,body .contact-images,body.gallery-page .gallery-images,body.journal-page .journal-images{height:330px!important;max-width:430px!important}body.about-page .as-img,body .cs-img,body.gallery-page .gs-img,body.journal-page .js-img{width:72%!important;border-radius:18px!important}body.about-page .as-img-2,body .cs-img-2,body.gallery-page .gs-img-2,body.journal-page .js-img-2{top:128px!important;left:25%!important}.brochure-page{padding-top:96px!important;width:min(100% - 28px,900px)!important}.brochure-header,.brochure-content,.download-section{padding:22px 20px!important;border-radius:18px!important}.brochure-header h2{font-size:30px!important}}

/* =========================================================
   MOBILE PAGE VISUALS — FINAL FLOW FIX
   Keep page-specific imagery visible, but never let it overlap
   the text/info card. This block intentionally comes last.
   ========================================================= */
@media (max-width: 768px) {
  body.about-page main.about-layout,
  body main.page.contact-page,
  body.gallery-page main.gallery-layout,
  body.journal-page main.journal-layout {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 24px !important;
    grid-template-columns: none !important;
    width: min(calc(100% - 28px), 560px) !important;
    max-width: 560px !important;
    margin: 0 auto !important;
    padding: 96px 0 32px !important;
    box-sizing: border-box !important;
  }

  body.about-page main.about-layout > .about-left,
  body main.page.contact-page > .contact-left,
  body.gallery-page main.gallery-layout > .gallery-left,
  body.journal-page main.journal-layout > .journal-left {
    order: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.about-page main.about-layout > .about-images,
  body main.page.contact-page > .contact-images,
  body.gallery-page main.gallery-layout > .gallery-images,
  body.journal-page main.journal-layout > .journal-images {
    order: 2 !important;
    position: relative !important;
    inset: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    display: block !important;
    width: 100% !important;
    max-width: 430px !important;
    height: 285px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    overflow: visible !important;
    transform: none !important;
    pointer-events: none !important;
    z-index: 1 !important;
    clear: both !important;
  }

  body.about-page .about-stack,
  body .contact-stack,
  body.gallery-page .gallery-stack,
  body.journal-page .journal-stack {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.about-page .as-img,
  body .cs-img,
  body.gallery-page .gs-img,
  body.journal-page .js-img {
    position: absolute !important;
    display: block !important;
    width: 68% !important;
    max-width: 275px !important;
    height: auto !important;
    border-radius: 18px !important;
    box-shadow: 0 18px 42px rgba(17,2,7,.34) !important;
    object-fit: cover !important;
  }

  body.about-page .as-img-1,
  body .cs-img-1,
  body.gallery-page .gs-img-1,
  body.journal-page .js-img-1 {
    top: 4px !important;
    left: 2% !important;
    right: auto !important;
    transform: rotate(-3deg) !important;
  }

  body.about-page .as-img-2,
  body .cs-img-2,
  body.gallery-page .gs-img-2,
  body.journal-page .js-img-2 {
    top: 104px !important;
    left: auto !important;
    right: 2% !important;
    transform: rotate(3deg) !important;
  }

  body main.page.contact-page .contact-box {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 23px 21px !important;
    overflow: visible !important;
  }

  body main.page.contact-page .contact-details li {
    display: grid !important;
    grid-template-columns: minmax(92px, auto) minmax(0, 1fr) !important;
    column-gap: 10px !important;
    row-gap: 2px !important;
    align-items: start !important;
    flex-wrap: initial !important;
  }

  body main.page.contact-page .contact-details .label {
    min-width: 0 !important;
  }

  body main.page.contact-page .contact-details .value {
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }
}

@media (max-width: 420px) {
  body.about-page main.about-layout > .about-images,
  body main.page.contact-page > .contact-images,
  body.gallery-page main.gallery-layout > .gallery-images,
  body.journal-page main.journal-layout > .journal-images {
    height: 255px !important;
  }

  body main.page.contact-page .contact-details li {
    grid-template-columns: 1fr !important;
    gap: 2px !important;
    margin-bottom: 12px !important;
  }
}
