/*
 * GRAILWOOD GAMES | MASTER SITE STYLESHEET
 * Website theme: Grailwood Connected 1.1 / editor-first architecture
 * Consolidated: 2026-10-28
 * Replace wp-content/themes/grailwood-connected/assets/site.css with this file.
 * Keep the root style.css theme-information header intact.
 * Sources: original theme, Maker's Satchel V2, Resources V2, shop, Epic Again, image/layout fixes.
 */

/* 01. SHARED THEME: navigation, heroes, page sections, WordPress layouts, footer */
:root {
    --ink:#18313B;
    --deep:#0C2935;
    --deeper:#08202C;
    --teal:#007579;
    --mint:#D7F0EC;
    --cream:#FFF9EE;
    --paper:#F7F1E4;
    --gold:#FFE078;
    --coral:#FF795B;
    --lilac:#AE92EE;
    --text:#3B565B;
    --display:'Bricolage Grotesque',Georgia,serif;
    --body:'Atkinson Hyperlegible Next','Segoe UI',sans-serif;
    --stroke:rgba(24,49,59,.14)
}

* {
    box-sizing:border-box
}
html {
    scroll-behavior:smooth
}
body {
    margin:0;
    background:var(--cream);
    font-family:var(--body);
    color:var(--ink);
    font-size:16px;
    line-height:1.65;
    overflow-x:hidden
}
a {
    color:inherit;
    text-decoration:none
}
button {
    font:inherit
}
button,a {
    -webkit-tap-highlight-color:transparent
}
button:focus-visible,a:focus-visible {
    outline:3px solid var(--coral);
    outline-offset:4px
}
img {
    max-width:100%;
    display:block
}
h1,h2,h3,h4,p,figure,blockquote {
    margin:0
}
h1,h2,h3 {
    font-family:var(--display);
    font-weight:800;
    letter-spacing:-.035em;
    line-height:1.1
}
h1 em,h2 em,h3 em {
    font-style:normal;
    color:var(--teal)
}
p {
    margin-bottom:1.15rem
}
h2 {
    font-size:clamp(2.4rem,4.6vw,4.9rem)
}
h3 {
    font-size:1.5rem
}
section {
    min-width:0
}
.wrap {
    width:min(100% - 80px,1296px);
    margin-inline:auto
}
.chapter {
    padding:clamp(75px,9vw,134px) 0;
    position:relative
}
.chapter p {
    color:var(--text);
    font-size:1.065rem;
    line-height:1.83
}
.chapter h2 {
    margin:0 0 27px
}
.chapter h2 + p {
    margin-top:0
}
.chapter .eyebrow {
    margin-bottom:22px
}
.chapter h2 em {
    color:var(--teal)
}
.eyebrow {
    font-family:var(--body);
    font-size:.76rem!important;
    font-weight:800;
    letter-spacing:.185em;
    text-transform:uppercase;
    color:var(--teal)!important;
    margin:0 0 18px!important;
    line-height:1.5!important
}
.eyebrow-symbol {
    margin-right:10px;
    color:var(--coral);
    font-size:.95rem
}
.eyebrow.centered {
    text-align:center
}
.micro-label {
    font-weight:800;
    letter-spacing:.14em;
    font-size:.69rem;
    color:var(--gold);
    text-transform:uppercase
}
.big-body {
    font-size:clamp(1.12rem,1.6vw,1.36rem)!important;
    font-weight:600;
    color:#274951!important;
    line-height:1.7!important
}
.lead-light {
    font-weight:650!important;
    font-size:clamp(1.2rem,1.8vw,1.45rem)!important;
    color:var(--cream)!important;
    line-height:1.63!important
}
.fine-print {
    font-size:.88rem!important;
    line-height:1.6!important;
    color:#B8D5D6!important
}
.action-row {
    display:flex;
    align-items:center;
    gap:16px 24px;
    flex-wrap:wrap;
    margin-top:31px
}
.btn {
    border:1px solid transparent;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    border-radius:100px;
    min-height:51px;
    padding:12px 25px;
    white-space:nowrap;
    font-size:.89rem;
    font-weight:800;
    letter-spacing:.012em;
    cursor:pointer;
    transition:transform .2s,background .2s,border .2s,color .2s
}
.btn:hover {
    transform:translateY(-2px)
}
.btn-gold {
    background:var(--gold);
    color:var(--ink)
}
.btn-gold:hover {
    background:#FFF0B0
}
.btn-teal {
    background:var(--teal);
    color:white
}
.btn-teal:hover {
    background:#07585E
}
.btn-ghost-light {
    border-color:rgba(255,255,255,.42);
    color:white;
    background:rgba(255,255,255,.045)
}
.btn-ghost-light:hover {
    background:rgba(255,255,255,.1)
}
.btn-outline-teal {
    border-color:var(--teal);
    color:var(--teal);
    background:transparent
}
.btn-outline-teal:hover {
    background:var(--teal);
    color:white
}
.btn-outline-light {
    border-color:rgba(255,255,255,.55);
    color:#FFF9EE;
    background:transparent
}
.btn-outline-light:hover {
    background:#FFF9EE;
    color:var(--ink)
}
.text-arrow {
    display:inline-flex;
    align-items:center;
    gap:6px;
    border:0;
    padding:0;
    background:none;
    color:var(--teal);
    font-size:.91rem;
    font-weight:800;
    cursor:pointer;
    line-height:1.5
}
.text-arrow:hover {
    text-decoration:underline;
    text-underline-offset:5px
}
.light-link {
    color:var(--gold)
}
.skip-link {
    position:fixed;
    top:-90px;
    left:20px;
    z-index:9000;
    background:var(--gold);
    padding:12px 16px;
    border-radius:7px
}
.skip-link:focus {
    top:12px
}

/* Header and navigation */
.site-header {
    position:fixed;
    z-index:1000;
    top:0;
    left:0;
    right:0;
    transition:background .28s,box-shadow .28s;
    background:linear-gradient(180deg,rgba(7,27,41,.70),rgba(7,27,41,0))
}
.site-header.is-scrolled,.nav-open .site-header {
    background:rgba(9,37,48,.97);
    box-shadow:0 8px 32px rgba(0,0,0,.14);
    backdrop-filter:blur(13px)
}
.nav-shell {
    height:87px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:28px
}
.logo {
    display:block;
    flex:0 0 auto;
    width:244px
}
.logo img {
    width:100%;
    height:auto
}
.main-nav {
    display:flex;
    gap:clamp(10px,1.3vw,22px);
    align-items:center;
    white-space:nowrap
}
.main-nav a {
    color:#F3F4EC;
    font-weight:750;
    font-size:.76rem;
    letter-spacing:.015em;
    position:relative;
    padding:13px 0
}
.main-nav a:hover,.main-nav a.active {
    color:var(--gold)
}
.main-nav a.active:after {
    position:absolute;
    content:'';
    height:2px;
    width:100%;
    background:var(--gold);
    bottom:4px;
    left:0
}
.menu-toggle {
    display:none;
    width:45px;
    height:45px;
    background:transparent;
    border:1px solid rgba(255,255,255,.45);
    border-radius:11px;
    cursor:pointer;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:5px
}
.menu-toggle span {
    width:20px;
    height:2px;
    background:white
}
.mobile-nav {
    position:absolute;
    left:0;
    right:0;
    top:87px;
    background:var(--deep);
    padding:20px 6vw 26px;
    box-shadow:0 16px 25px #0003
}
.mobile-nav[hidden] {
    display:none!important
}
.mobile-nav a {
    display:flex;
    justify-content:space-between;
    color:white;
    padding:13px 8px;
    border-bottom:1px solid #ffffff22;
    font-weight:700
}
.mobile-nav a span {
    color:var(--gold)
}
.mobile-nav a[aria-current] {
    color:var(--gold)
}

/* Home hero */
.home-hero {
    min-height:min(900px,100svh);
    height:790px;
    position:relative;
    background:#0A2B3C;
    color:white;
    display:flex;
    align-items:center;
    isolation:isolate;
    overflow:hidden
}
.home-hero-scene {
    position:absolute;
    inset:0;
    z-index:-3;
    background-image:url('grailwood-hero-fullbleed.webp');
    background-size:cover;
    background-position:center center;
    transform:scale(1.01)
}
.home-hero-glow {
    position:absolute;
    inset:0;
    z-index:-2;
    background:linear-gradient(90deg,rgba(5,30,46,.94) 0%,rgba(7,35,52,.90) 22%,rgba(7,35,52,.63) 42%,rgba(7,35,52,.16) 71%,rgba(7,35,52,.08) 100%),linear-gradient(0deg,rgba(4,26,39,.38),transparent 25%)
}
.home-hero-inner {
    padding-top:95px;
    padding-bottom:40px;
    position:relative
}
.hero-overline {
    font-weight:850;
    color:var(--gold);
    font-size:.72rem;
    letter-spacing:.24em;
    margin-bottom:25px
}
.hero-overline span {
    margin-left:12px
}
.home-hero h1 {
    font-size:clamp(3.7rem,6.7vw,7.65rem);
    line-height:1.02;
    max-width:740px;
    letter-spacing:-.055em;
    text-shadow:0 3px 9px #0001
}
.home-hero h1 em {
    color:var(--gold)
}
.home-hero-lead {
    font-size:clamp(1.11rem,1.6vw,1.4rem);
    color:#E8F1F0;
    max-width:600px;
    line-height:1.75;
    margin-top:27px
}
.home-hero .action-row {
    margin-top:31px
}
.hero-bottom-note {
    color:#CBDFE2;
    font-size:.83rem;
    letter-spacing:.07em;
    margin:32px 0 0
}
.hero-side-note {
    position:absolute;
    right:26px;
    bottom:54px;
    writing-mode:vertical-rl;
    letter-spacing:.25em;
    font-size:.68rem;
    font-weight:800;
    color:#F4F3D7A8
}

/* Interior page hero */
.page-hero {
    min-height:565px;
    position:relative;
    color:white;
    display:flex;
    align-items:flex-end;
    isolation:isolate;
    overflow:hidden;
    background:#173846
}
.page-hero:before {
    position:absolute;
    inset:0;
    content:'';
    background-image:var(--hero);
    background-size:cover;
    background-position:center 47%;
    z-index:-2
}
.page-hero .hero-shade {
    position:absolute;
    inset:0;
    z-index:-1;
    background:linear-gradient(90deg,rgba(7,31,44,.96),rgba(7,31,44,.77) 43%,rgba(7,31,44,.26) 100%),linear-gradient(0deg,rgba(8,30,40,.45),transparent 40%)
}
.page-hero-inner {
    padding-top:167px;
    padding-bottom:70px
}
.page-hero h1 {
    font-size:clamp(3.25rem,5.6vw,6rem);
    max-width:840px;
    line-height:1.04;
    margin-top:18px
}
.page-hero h1 em {
    color:var(--gold)
}
.page-hero p:not(.eyebrow) {
    max-width:650px;
    color:#DBE8E7;
    font-size:1.22rem;
    line-height:1.72;
    margin-top:24px
}
.page-hero .eyebrow {
    color:var(--gold)!important
}
.breadcrumb {
    font-size:.78rem;
    display:flex;
    gap:11px;
    color:#CAD7D6;
    align-items:center
}
.breadcrumb a:hover {
    color:var(--gold)
}
.breadcrumb span:nth-child(2) {
    opacity:.6
}
.hero-trail {
    position:absolute;
    right:0;
    bottom:50px;
    font-size:.66rem;
    letter-spacing:.2em;
    color:#D8E4E4;
    text-transform:uppercase
}
.hero-resources:before {
    background-position:center 65%
}
.hero-epic:before {
    background-position:center 35%
}
.hero-worlds:before {
    background-position:center 60%
}

/* Layouts */
.light-chapter {
    background:var(--cream)
}
.cream-chapter {
    background:var(--cream)
}
.paper-chapter {
    background:#F4EEE2
}
.warm-chapter {
    background:#F1E8D9
}
.mint-chapter {
    background:var(--mint)
}
.dark-chapter {
    background:var(--ink);
    color:var(--cream)
}
.dark-chapter p {
    color:#D9E6E4
}
.dark-chapter h2 em,.epic-chapter h2 em {
    color:var(--gold)
}
.dark-chapter .eyebrow,.epic-chapter .eyebrow {
    color:var(--gold)!important
}
.dark-chapter .eyebrow-symbol,.epic-chapter .eyebrow-symbol {
    color:var(--coral)
}
.split-layout {
    display:grid;
    grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
    align-items:center;
    gap:clamp(32px,7vw,110px)
}
.split-layout > * {
    min-width:0
}
.split-layout h2 {
    max-width:760px
}
.center-narrow {
    max-width:850px;
    margin:0 auto;
    text-align:center
}
.section-heading {
    margin:0 0 48px;
    max-width:850px
}
.section-heading p {
    max-width:650px
}
.section-heading.center {
    text-align:center;
    margin-inline:auto
}
.section-heading.center p {
    margin-inline:auto
}
.section-heading.light-heading h2,.section-heading.light-heading p {
    color:var(--cream)
}
.section-heading.light-heading .eyebrow {
    color:var(--gold)!important
}
.center-intro {
    font-size:1.17rem;
    max-width:700px;
    margin:18px auto 48px;
    text-align:center;
    color:var(--text)
}
.giant-center {
    text-align:center;
    font-size:clamp(3.3rem,5vw,5.6rem)
}
.giant-center em {
    color:var(--teal)
}
.headline-row {
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:30px;
    margin-bottom:43px
}
.headline-row>div {
    max-width:860px
}
.headline-row h2 {
    margin-bottom:16px
}
.headline-row p {
    margin:0;
    max-width:660px
}

/* Image slots and illustrations */
.art-frame {
    position:relative;
    overflow:hidden;
    min-height:400px;
    aspect-ratio:1.1;
    border-radius:22px;
    border:1px solid rgba(24,49,59,.15);
    box-shadow:0 20px 48px rgba(14,45,54,.10);
    isolation:isolate;
    background:#143B45
}
.art-frame>img {
    width:100%;
    height:100%;
    position:absolute;
    inset:0;
    object-fit:cover;
    transition:transform .7s
}
.art-frame:hover>img {
    transform:scale(1.04)
}
.art-frame:after {
    content:'';
    position:absolute;
    inset:0;
    pointer-events:none;
    background:linear-gradient(0deg,rgba(4,32,43,.22),transparent 35%)
}
.art-note {
    position:absolute;
    bottom:14px;
    left:14px;
    right:14px;
    padding:12px 15px;
    border:1px solid rgba(255,224,120,.4);
    border-radius:11px;
    background:rgba(7,36,44,.93);
    font-size:.73rem;
    line-height:1.5;
    color:white;
    display:none;
    z-index:3
}
.art-note span {
    display:block;
    color:var(--gold);
    font-size:.65rem;
    letter-spacing:.11em;
    font-weight:900
}
.show-art-notes .art-note {
    display:block
}
.art-placeholder {
    aspect-ratio:1.05;
    position:relative;
    min-height:390px;
    overflow:hidden;
    border-radius:24px;
    display:flex;
    align-items:flex-end;
    justify-content:center;
    text-align:center;
    padding:28px;
    border:1px solid rgba(255,224,120,.28);
    isolation:isolate;
    background:#0B4250;
    color:var(--cream)
}
.art-placeholder:before {
    content:'';
    position:absolute;
    inset:0;
    z-index:-2;
    background:radial-gradient(circle at 55% 34%,rgba(255,224,120,.26),transparent 26%),linear-gradient(145deg,#092936,#09666C 70%,#082B38)
}
.art-placeholder:after {
    content:'';
    position:absolute;
    inset:16px;
    border-radius:17px;
    border:1px solid rgba(255,224,120,.27);
    pointer-events:none
}
.placeholder-ring {
    position:absolute;
    top:12%;
    left:20%;
    width:60%;
    aspect-ratio:1;
    border:2px solid #F5CE6D66;
    border-radius:50%;
    box-shadow:0 0 0 17px rgba(255,224,120,.04);
    transform:rotate(-30deg)
}
.placeholder-ring:after {
    content:'✦';
    color:#F8D879;
    position:absolute;
    inset:0;
    display:grid;
    place-items:center;
    font-size:clamp(4rem,9vw,8rem);
    text-shadow:0 0 35px #FFE0786A
}
.placeholder-constellation {
    position:absolute;
    top:12%;
    right:10%;
    color:var(--gold);
    letter-spacing:10px;
    font-size:1rem
}
.placeholder-copy {
    width:100%;
    position:relative;
    z-index:1;
    background:rgba(9,39,49,.89);
    padding:21px 14px 15px;
    border-radius:13px;
    max-width:420px;
    display:flex;
    flex-direction:column;
    gap:8px
}
.placeholder-copy small {
    font-size:.66rem;
    color:var(--gold);
    font-weight:900;
    letter-spacing:.16em
}
.placeholder-copy strong {
    font-family:var(--display);
    font-size:1.6rem
}
.placeholder-copy span {
    font-size:.78rem;
    color:#D4E7E6;
    line-height:1.45;
    display:none
}
.show-art-notes .placeholder-copy span {
    display:block
}
.tall-art,.play-feature-art {
    aspect-ratio:.9;
    min-height:465px
}
.workshop-art:before {
    background:radial-gradient(circle at 55% 35%,#FFE0783D,transparent 26%),linear-gradient(145deg,#493B57,#122D38 60%,#05777A)
}
.satchel-art:before {
    background:linear-gradient(145deg,#244454,#AB7DBB 70%,#EDBEA5)
}
.folklore-art:before {
    background:linear-gradient(150deg,#082F39,#466A4A 60%,#BD9862)
}
.campfire-art:before {
    background:radial-gradient(circle at 45% 30%,#EEA3446A,transparent 36%),linear-gradient(145deg,#14283C,#2F4C52 55%,#98593E)
}
.merch-art:before {
    background:linear-gradient(160deg,#123C4B,#5B8890 58%,#E7B282)
}
.stream-art:before {
    background:linear-gradient(160deg,#12303F,#6A4971 55%,#C97857)
}
.book-art:before {
    background:linear-gradient(160deg,#162F3B,#6C4F7D 60%,#CFA76B)
}
.journal-art:before {
    background:linear-gradient(150deg,#194A55,#8D6F64 65%,#D7B594)
}
.travelers-art:before {
    background:linear-gradient(135deg,#06313A,#007579 60%,#C18D60)
}
.play-art:before {
    background:linear-gradient(135deg,#0A2F47,#66547B 65%,#EF8D64)
}
.fulfillment-art:before {
    background:linear-gradient(150deg,#2C5664,#866F61 55%,#E7C69B)
}

/* Home crossroads */
.route-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:17px
}
.route-tile {
    position:relative;
    overflow:hidden;
    height:420px;
    border-radius:16px;
    color:var(--cream);
    box-shadow:0 13px 25px #09334016;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    padding:23px;
    background:#153C48;
    isolation:isolate;
    transition:transform .3s,box-shadow .3s
}
.route-tile:before {
    content:'';
    position:absolute;
    inset:0;
    z-index:-2;
    background-image:var(--tile-image);
    background-size:cover;
    background-position:center;
    filter:saturate(.85);
    transition:transform .65s
}
.route-tile:after {
    content:'';
    position:absolute;
    inset:0;
    z-index:-1;
    background:linear-gradient(180deg,rgba(6,31,41,.3) 0%,rgba(6,31,41,.05) 42%,rgba(6,31,41,.98) 100%)
}
.route-tile:hover {
    transform:translateY(-7px);
    box-shadow:0 22px 40px #0933402d
}
.route-tile:hover:before {
    transform:scale(1.08)
}
.tile-top {
    font-size:.7rem;
    letter-spacing:.18em;
    font-weight:900;
    color:var(--gold)
}
.tile-bottom {
    display:flex;
    flex-direction:column;
    gap:10px
}
.tile-bottom strong {
    font-family:var(--display);
    font-size:2.1rem;
    letter-spacing:-.035em;
    line-height:1
}
.tile-bottom>span:nth-child(2) {
    color:#E9EFEB;
    font-size:.9rem;
    line-height:1.55
}
.tile-arrow {
    font-size:.79rem;
    color:var(--gold);
    font-weight:850;
    margin-top:7px
}
.routes-quiet {
    text-align:center;
    margin-top:30px;
    display:flex;
    gap:13px 22px;
    justify-content:center;
    align-items:center;
    flex-wrap:wrap;
    font-size:.89rem;
    color:var(--text)
}
.routes-quiet .text-arrow {
    font-size:.85rem
}
.belief-chapter {
    background:var(--mint)
}
.belief-grid {
    display:grid;
    grid-template-columns:1fr .91fr;
    align-items:center;
    gap:75px
}
.belief-card {
    background:var(--ink);
    color:var(--cream);
    padding:40px;
    border-radius:24px;
    position:relative;
    transform:rotate(1deg)
}
.story-quote {
    padding:10px 0 15px;
    font-family:var(--display);
    font-size:clamp(1.45rem,2.65vw,2.5rem);
    line-height:1.35;
    font-weight:800;
    letter-spacing:-.02em
}
.story-quote p {
    font-family:inherit;
    color:inherit!important;
    font-size:inherit;
    line-height:inherit;
    margin-bottom:24px
}
.quote-spark {
    font-size:2.5rem;
    color:var(--gold)
}
.story-quote cite {
    font:800 .67rem var(--body);
    letter-spacing:.16em;
    font-style:normal;
    color:var(--gold)
}
.small-line {
    border-top:1px solid #ffffff3a;
    padding-top:15px;
    margin-top:25px;
    color:#C5DFDB;
    letter-spacing:.21em;
    font-size:.63rem;
    font-weight:800
}

.spotlight-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:7%;
    align-items:center
}
.spotlight h2 {
    font-size:clamp(3.3rem,5.7vw,6rem);
    margin:24px 0
}
.spotlight h2 em {
    color:var(--gold)
}
.spotlight-copy>p {
    max-width:620px
}
.spotlight .art-frame {
    aspect-ratio:4/4.3;
    min-height:530px
}
.inline-state {
    display:flex;
    gap:17px;
    align-items:center
}
.status-tag {
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:7px 12px;
    border-radius:100px;
    background:#EBE2CC;
    color:#314B50;
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.04em;
    white-space:nowrap
}
.status-tag.developing {
    background:rgba(255,224,120,.13);
    color:var(--gold);
    border:1px solid rgba(255,224,120,.3)
}
.status-tag.future {
    background:#E7E3F1;
    color:#594F70
}
.status-dot {
    width:6px;
    height:6px;
    background:currentColor;
    border-radius:100%
}
.metadata {
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin:22px 0
}
.metadata span {
    border:1px solid rgba(101,140,143,.55);
    border-radius:50px;
    padding:7px 13px;
    font-size:.75rem;
    font-weight:750;
    color:inherit
}
.dark-chapter .metadata span {
    color:#DCEAE4;
    border-color:#5E7E85
}
.spotlight-footnote {
    display:block;
    color:#ADCBD0;
    font-size:.77rem;
    line-height:1.5;
    margin-top:26px
}

.two-resource-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:22px
}
.resource-showcase {
    display:grid;
    grid-template-columns:42% 1fr;
    gap:18px;
    position:relative;
    min-height:300px;
    border:1px solid var(--stroke);
    border-radius:20px;
    padding:40px 23px 28px;
    overflow:hidden;
    align-items:center;
    transition:transform .2s,box-shadow .2s
}
.resource-showcase:hover {
    transform:translateY(-3px);
    box-shadow:0 15px 30px #12414918
}
.resource-showcase.coral-card {
    background:#FFE6DD
}
.resource-showcase.lilac-card {
    background:#EEE5FA
}
.resource-illustration {
    height:205px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:17px;
    transform:rotate(-6deg);
    background:#FFF8F0;
    border:9px solid #F7F0E7;
    box-shadow:8px 10px 0 #1D3C4440;
    border-radius:8px;
    text-align:center
}
.resource-illustration>span:last-child {
    font-family:var(--display);
    font-weight:850;
    line-height:1.11;
    font-size:1.3rem
}
.resource-rune {
    font-size:3.3rem;
    color:var(--teal);
    line-height:1
}
.lilac-card .resource-illustration {
    transform:rotate(5deg)
}
.lilac-card .resource-rune {
    color:#78589E
}
.resource-showcase h3 {
    font-size:1.56rem;
    margin:20px 0 10px
}
.resource-showcase p {
    font-size:.9rem;
    line-height:1.65;
    margin-bottom:10px
}
.showcase-tag {
    position:absolute;
    top:18px;
    left:24px;
    letter-spacing:.11em;
    font-weight:900;
    font-size:.65rem;
    color:#32656C
}
.card-link {
    font-weight:850;
    font-size:.81rem;
    color:var(--teal)
}
.section-exit {
    text-align:center;
    margin-top:40px;
    font-size:.91rem;
    color:var(--text)
}
.section-exit .text-arrow {
    margin-left:10px
}

.lore-chapter {
    background:#F1E6D4
}
.lore-feature-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:7%;
    align-items:center
}
.map-visual {
    min-height:520px;
    aspect-ratio:1.1;
    border-radius:20px;
    position:relative;
    overflow:hidden;
    padding:26px;
    color:#A36B3E;
    background:radial-gradient(circle at 50% 50%,#E6D7B9,#D1BB96);
    box-shadow:0 24px 45px #22474b21;
    outline:7px solid #EFDEC4;
    outline-offset:-16px
}
.map-visual:before {
    content:'';
    position:absolute;
    inset:35px;
    opacity:.27;
    background:repeating-radial-gradient(ellipse at 53% 40%,transparent 0,transparent 28px,#946C4530 29px,#946C4530 31px);
    border:1px solid #A88960
}
.map-stars {
    position:absolute;
    top:45px;
    right:40px;
    letter-spacing:12px;
    font-size:1.15rem;
    color:#9B7753
}
.map-label {
    position:absolute;
    left:50px;
    top:54px;
    color:#6B563F;
    font-weight:900;
    letter-spacing:.18em;
    font-size:.62rem
}
.map-path {
    position:absolute;
    inset:15%;
    border-radius:52% 45% 60% 36%;
    border:5px dashed #9F8056;
    transform:rotate(-25deg);
    opacity:.7
}
.map-point {
    position:absolute;
    font-family:var(--display);
    font-weight:850;
    color:#59492F;
    font-size:1.15rem
}
.map-point span {
    display:block;
    font:900 .59rem var(--body);
    letter-spacing:.11em
}
.map-point.one {
    top:28%;
    left:29%
}
.map-point.two {
    top:56%;
    right:16%
}
.map-point.three {
    bottom:18%;
    left:20%
}
.map-stamp {
    position:absolute;
    bottom:23px;
    right:25px;
    border:3px double #AA715C;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    width:135px;
    height:135px;
    transform:rotate(-13deg);
    text-align:center;
    font-weight:900;
    letter-spacing:.1em;
    line-height:1.5;
    color:#9F7159;
    font-size:.65rem
}
.map-caption {
    position:absolute;
    bottom:12px;
    left:26px;
    font-size:.6rem;
    color:#776349;
    font-style:italic
}
.mini-process {
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
    margin:23px 0 28px;
    font-size:.73rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.04em;
    color:#3C6467
}
.mini-process b {
    color:var(--coral)
}

.journal-chapter {
    background:var(--cream)
}
.journal-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px
}
.journal-card {
    display:block;
    border:1px solid var(--stroke);
    border-radius:16px;
    overflow:hidden;
    background:#FFFDF8;
    transition:transform .22s,box-shadow .22s
}
.journal-card:hover {
    transform:translateY(-4px);
    box-shadow:0 14px 24px #0c2b381f
}
.journal-photo {
    height:222px;
    position:relative;
    overflow:hidden;
    background:var(--deep)
}
.journal-photo img {
    width:100%;
    height:100%;
    object-fit:cover;
    filter:saturate(.8)
}
.journal-state {
    position:absolute;
    left:15px;
    top:14px;
    background:rgba(7,34,42,.91);
    color:var(--gold);
    font-size:.61rem;
    letter-spacing:.11em;
    font-weight:900;
    border-radius:6px;
    padding:7px 10px
}
.journal-text {
    padding:25px
}
.journal-text>span {
    font-size:.7rem;
    letter-spacing:.1em;
    text-transform:uppercase;
    color:var(--teal);
    font-weight:900
}
.journal-text h3 {
    font-size:1.39rem;
    margin:10px 0
}
.journal-text p {
    font-size:.9rem;
    line-height:1.65;
    margin-bottom:22px
}
.journal-text b {
    font-size:.78rem;
    color:var(--teal)
}
.journal-full {
    grid-template-columns:repeat(4,1fr)
}
.journal-full .journal-photo {
    height:185px
}
.journal-full .journal-text h3 {
    font-size:1.27rem
}

.epic-chapter {
    background:linear-gradient(115deg,#0E303C,#133D49 55%,#006569);
    color:white
}
.epic-chapter p {
    color:#D6E6E6
}
.epic-grid {
    display:grid;
    grid-template-columns:1fr .86fr;
    gap:9%;
    align-items:center
}
.epic-grid h2 em {
    color:var(--gold)
}
.epic-photo-stack {
    position:relative;
    padding:10px 12px 36px
}
.epic-photo .art-frame {
    aspect-ratio:.98;
    min-height:425px
}
.epic-mini {
    position:absolute;
    bottom:0;
    right:-7px;
    background:var(--gold);
    padding:24px 28px;
    transform:rotate(3deg);
    border-radius:12px;
    box-shadow:0 18px 25px #0004;
    color:var(--ink)
}
.epic-mini span {
    display:block;
    font-weight:900;
    letter-spacing:.16em;
    font-size:.65rem;
    margin-bottom:10px
}
.epic-mini strong {
    font-family:var(--display);
    font-size:2.0rem;
    line-height:1.06;
    display:block
}
.gather-chapter {
    background:#D7F0EC
}
.gather-grid {
    display:grid;
    grid-template-columns:.95fr 1fr;
    gap:8%;
    align-items:center
}
.gather-photo {
    aspect-ratio:1.04
}
.makers-chapter {
    background:#F7F1E5
}
.makers-grid {
    display:grid;
    grid-template-columns:1fr .8fr;
    gap:11%;
    align-items:center
}
.makers-photo {
    min-height:390px;
    aspect-ratio:1.1
}
.makers-photo .placeholder-ring {
    transform:rotate(30deg)
}
.letter-chapter {
    background:var(--deep);
    color:var(--cream);
    padding:85px 0
}
.letter-grid {
    display:grid;
    grid-template-columns:1fr .76fr;
    gap:12%;
    align-items:center
}
.letter-chapter .eyebrow {
    color:var(--gold)!important
}
.letter-chapter h2 {
    font-size:clamp(2.6rem,5vw,4.8rem);
    margin:0 0 24px
}
.letter-chapter h2 em {
    color:var(--gold)
}
.letter-chapter p {
    color:#CAE0E1;
    max-width:620px
}
.letter-panel {
    border:1px solid #4D777B;
    background:linear-gradient(135deg,#174958,#09303B);
    padding:40px;
    border-radius:20px;
    transform:rotate(1deg)
}
.letter-panel>span {
    font-size:.75rem;
    letter-spacing:.17em;
    color:var(--gold);
    font-weight:800
}
.letter-panel h3 {
    font-size:clamp(2rem,3.3vw,3.4rem);
    margin:30px 0;
    color:var(--cream)
}

/* Page-specific repeated modules */
.oversized-heading {
    font-size:clamp(3.5rem,6vw,6.2rem);
    margin-top:21px!important
}
.step-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px
}
.step {
    padding:34px;
    border-radius:17px;
    background:#F0E8D9;
    border:1px solid #D7CFBD
}
.step b {
    display:inline-grid;
    place-items:center;
    background:#D7F0EC;
    color:var(--teal);
    border-radius:15px;
    font-family:var(--display);
    font-size:1.85rem;
    width:72px;
    height:72px;
    margin-bottom:30px
}
.step h3 {
    margin:0 0 17px
}
.step p {
    font-size:.98rem;
    line-height:1.7
}
.filter-bar {
    display:flex;
    gap:9px;
    align-items:center;
    flex-wrap:wrap;
    margin:20px 0 27px
}
.filter-btn {
    border:1px solid #B5C8C4;
    background:#FFF9EE;
    color:var(--ink);
    border-radius:100px;
    padding:10px 18px;
    cursor:pointer;
    font-weight:800;
    font-size:.8rem
}
.filter-btn.active {
    background:var(--ink);
    color:white;
    border-color:var(--ink)
}
.filter-btn:hover:not(.active) {
    background:var(--mint)
}
.adventure-cards {
    display:grid;
    gap:15px
}
.adventure-list-card {
    display:grid;
    grid-template-columns:110px 1fr auto;
    gap:25px;
    align-items:center;
    padding:18px;
    background:#FFFCF5;
    border:1px solid #D5D6C8;
    border-radius:16px
}
.adventure-list-card h3 {
    margin:10px 0;
    font-size:1.4rem
}
.adventure-list-card p {
    font-size:.89rem;
    margin:0
}
.adventure-list-card .text-arrow {
    margin-right:12px
}
.adventure-list-card[hidden],.journal-card[hidden] {
    display:none!important
}
.small-cover {
    height:108px;
    width:110px;
    border-radius:10px;
    overflow:hidden
}
.small-cover img {
    width:100%;
    height:100%;
    object-fit:cover
}
.symbolic-cover {
    display:grid;
    place-items:center;
    background:linear-gradient(130deg,#C5ABD7,#007579);
    font-size:3.5rem;
    color:var(--gold)
}
.quiet-caption {
    font-size:.76rem;
    color:#587276;
    margin-top:20px
}
.inline-action {
    margin-top:12px
}
.tag-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:15px
}
.topic-tile {
    background:#FFFEF7;
    border:1px solid #ADCECA;
    border-radius:16px;
    display:flex;
    flex-direction:column;
    gap:12px;
    padding:25px;
    min-height:200px;
    transition:transform .2s
}
.topic-tile:hover {
    transform:translateY(-3px)
}
.topic-tile>span {
    color:var(--coral);
    font-size:2.2rem
}
.topic-tile strong {
    font-family:var(--display);
    font-size:1.35rem
}
.topic-tile small {
    color:#4D686A;
    font-size:.88rem
}
.three-values {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px
}
.value-card {
    padding:30px;
    background:#FFFCF6;
    border:1px solid var(--stroke);
    border-radius:18px
}
.value-card>span {
    display:inline-grid;
    place-items:center;
    width:62px;
    height:62px;
    border-radius:18px;
    background:var(--mint);
    font-weight:850;
    font-size:1.8rem;
    color:var(--teal);
    font-family:var(--display);
    margin-bottom:29px
}
.value-card:nth-child(2)>span {
    background:#EFE1FB;
    color:#785C98
}
.value-card:nth-child(3)>span {
    background:#FFF0C1;
    color:#9A6726
}
.value-card h3 {
    font-size:1.9rem;
    margin-bottom:13px
}
.value-card p {
    font-size:.94rem;
    line-height:1.7
}
.value-card a {
    margin-top:14px
}
.phase-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:13px
}
.phase-card {
    border:1px solid #5D787E;
    background:#204651;
    padding:24px;
    text-align:left;
    color:white;
    cursor:pointer;
    border-radius:15px;
    transition:background .2s,transform .2s
}
.phase-card:hover {
    background:#285863;
    transform:translateY(-2px)
}
.phase-card.selected {
    background:#FFE078;
    color:#18313B;
    border-color:#FFE078
}
.phase-card span {
    font-size:1.2rem;
    font-weight:900;
    color:var(--gold)
}
.phase-card.selected span {
    color:var(--teal)
}
.phase-card h3 {
    font-size:1.55rem;
    margin:23px 0 12px
}
.phase-card p {
    font-size:.88rem!important;
    line-height:1.5;
    margin:0;
    color:#D5E2E1
}
.phase-card.selected p {
    color:#344A4C
}
.phase-detail {
    padding:34px 38px;
    margin-top:18px;
    border:1px solid #54747B;
    border-radius:15px;
    background:#102F3B
}
.phase-detail span {
    color:var(--gold);
    font-size:.68rem;
    letter-spacing:.16em;
    font-weight:900
}
.phase-detail h3 {
    font-size:1.68rem;
    margin:13px 0
}
.phase-detail p {
    max-width:850px;
    margin:0
}
.idea-prompt {
    border:1px solid #D3C8AE;
    border-radius:20px;
    background:#FFFDF5;
    padding:32px;
    box-shadow:0 13px 26px #102c330e
}
.prompt-top {
    font-size:.67rem;
    font-weight:900;
    color:var(--teal);
    letter-spacing:.14em
}
.idea-prompt h3 {
    font-size:2.15rem;
    margin:18px 0
}
.idea-buttons {
    display:flex;
    gap:9px;
    flex-wrap:wrap;
    margin-top:22px
}
.idea-option {
    padding:9px 15px;
    border:1px solid var(--teal);
    border-radius:100px;
    color:var(--teal);
    background:white;
    font-weight:800;
    cursor:pointer;
    font-size:.8rem
}
.idea-option.selected {
    background:var(--teal);
    color:white
}
.idea-feedback {
    margin:17px 0 0!important;
    font-size:.77rem!important;
    color:#647B7B!important
}
.episode-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px
}
.episode-card {
    background:#204651;
    padding:30px;
    border:1px solid #54737A;
    border-radius:17px;
    transition:background .2s,transform .2s
}
.episode-card:hover {
    transform:translateY(-4px);
    background:#2A5961
}
.episode-type {
    font-size:.65rem;
    letter-spacing:.15em;
    color:var(--gold);
    font-weight:900
}
.episode-card h3 {
    font-size:1.45rem;
    margin:26px 0 15px;
    color:var(--cream)
}
.episode-card p {
    font-size:.92rem;
    line-height:1.69
}
.episode-card .card-link {
    color:var(--gold)
}
.future-product-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px
}
.future-product {
    background:#FFFEFA;
    border:1px solid #D7D2C5;
    border-radius:16px;
    padding:16px 16px 26px
}
.future-product h3 {
    font-size:1.32rem;
    margin:14px 0 10px
}
.future-product p {
    font-size:.86rem;
    line-height:1.6
}
.future-product small {
    font-weight:750;
    color:#587378
}
.future-product .status-tag {
    margin-top:21px
}
.future-product-art {
    aspect-ratio:1/1;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:16px;
    border-radius:9px;
    color:white;
    text-align:center;
    padding:18px;
    box-shadow:inset 0 0 0 6px #FFFFFF25
}
.future-product-art span {
    font-size:3.2rem;
    color:var(--gold)
}
.future-product-art b {
    font-family:var(--display);
    font-size:1.15rem;
    line-height:1.2;
    letter-spacing:.03em
}
.purple-book {
    background:linear-gradient(145deg,#8E70B5,#4B4565)
}
.teal-book {
    background:linear-gradient(145deg,#007579,#173642)
}
.coral-book {
    background:linear-gradient(145deg,#D76551,#803E4E)
}
.gold-book {
    background:linear-gradient(145deg,#AD8246,#164D55)
}

/* Footer */
.end-chapter {
    background:linear-gradient(120deg,#007579,#17434E 62%,#12323E);
    padding:110px 0;
    text-align:center;
    color:white
}
.end-chapter h2 {
    font-size:clamp(2.7rem,4.9vw,4.8rem);
    margin:18px 0 19px
}
.end-chapter h2 em {
    color:var(--gold)
}
.end-chapter p {
    max-width:720px;
    color:#D7E9E9;
    margin:0 auto;
    font-size:1.14rem
}
.end-chapter .eyebrow {
    color:var(--gold)!important
}
.end-chapter .action-row {
    justify-content:center
}
.footer {
    background:#0B2732;
    color:#E7F1EF;
    padding-top:75px
}
.footer-top {
    display:grid;
    grid-template-columns:1.8fr .7fr .7fr 1fr;
    gap:45px;
    padding-bottom:55px
}
.footer-brand>img {
    max-width:240px;
    margin-left:-12px;
    margin-bottom:14px
}
.footer-brand p {
    color:#C2D4D6;
    max-width:280px;
    font-size:.9rem
}
.footer-links {
    display:flex;
    flex-direction:column;
    gap:12px
}
.footer-links h3 {
    font-family:var(--body);
    font-size:.75rem;
    letter-spacing:.16em;
    color:var(--gold);
    margin-bottom:10px
}
.footer-links a {
    color:#CBDEE0;
    font-size:.87rem
}
.footer-links a:hover,.footer-note a:hover {
    color:var(--gold)
}
.footer-note {
    border-left:1px solid #4C666E;
    padding-left:30px
}
.footer-note span {
    color:var(--gold);
    font-size:.7rem;
    letter-spacing:.15em;
    font-weight:800
}
.footer-note p {
    font-family:var(--display);
    font-size:1.55rem;
    line-height:1.24;
    margin:16px 0 28px
}
.footer-note a {
    color:#BCD2D4;
    font-size:.83rem;
    font-weight:800
}
.footer-bottom {
    display:flex;
    justify-content:space-between;
    gap:20px;
    border-top:1px solid #36535D;
    padding:24px 0 70px;
    color:#9CB7BE;
    font-size:.77rem
}
.footer-bottom a {
    text-decoration:underline;
    text-underline-offset:3px
}

/* Prototype review utility and modal */
.modal-backdrop {
    position:fixed;
    z-index:1200;
    inset:0;
    background:#061F2FCC;
    display:grid;
    place-items:center;
    padding:20px
}
.modal-backdrop[hidden] {
    display:none!important
}
.modal-box {
    width:min(100%,570px);
    background:#FFF9EE;
    border-radius:22px;
    padding:45px;
    position:relative;
    box-shadow:0 25px 100px #0006
}
.modal-close {
    position:absolute;
    top:15px;
    right:17px;
    width:36px;
    height:36px;
    border-radius:50%;
    border:1px solid #C5D3CF;
    background:#fff;
    cursor:pointer;
    font-size:1.5rem
}
.modal-box .micro-label {
    color:var(--teal)
}
.modal-box h2 {
    font-size:2.6rem;
    margin:20px 0
}
.modal-box p {
    color:var(--text)
}
.modal-open {
    overflow:hidden
}

/* Responsive */
@media(max-width:1200px) {
    .logo {
        width:220px
    }
    .main-nav {
        gap:12px
    }
    .main-nav a {
        font-size:.72rem
    }
    .wrap {
        width:min(100% - 64px,1296px)
    }
    .route-grid {
        grid-template-columns:repeat(2,1fr)
    }
    .route-tile {
        height:350px
    }
    .journal-full {
        grid-template-columns:repeat(2,1fr)
    }
    .future-product-grid {
        grid-template-columns:repeat(2,1fr)
    }
    .footer-top {
        grid-template-columns:1.4fr .7fr .7fr 1fr;
        gap:23px
    }
}

@media(max-width:990px) {
    .main-nav {
        display:none
    }
    .menu-toggle {
        display:flex
    }
    .page-hero-inner {
        padding-top:150px
    }
    .split-layout,.spotlight-grid,.belief-grid,.lore-feature-grid,.epic-grid,.gather-grid,.makers-grid,.letter-grid {
        grid-template-columns:1fr;
        gap:36px
    }
    .split-layout .art-frame,.split-layout .art-placeholder {
        max-width:690px
    }
    .reverse-mobile>:first-child {
        order:2
    }
    .reverse-mobile>:last-child {
        order:1
    }
    .spotlight .art-frame {
        min-height:420px;
        aspect-ratio:1.5
    }
    .three-values,.step-grid,.episode-grid {
        grid-template-columns:repeat(2,1fr)
    }
    .phase-grid {
        grid-template-columns:repeat(2,1fr)
    }
    .footer-top {
        grid-template-columns:repeat(2,1fr);
        row-gap:37px
    }
    .hero-trail {
        display:none
    }
    .home-hero {
        height:740px
    }
    .home-hero-glow {
        background:linear-gradient(90deg,rgba(5,30,46,.98) 0%,rgba(7,35,52,.73) 55%,rgba(7,35,52,.22) 100%)
    }
    .map-visual {
        max-width:620px
    }
    .route-tile {
        height:340px
    }
}

@media(max-width:680px) {
    .wrap {
        width:min(100% - 36px,1296px)
    }
    .chapter {
        padding:74px 0
    }
    .nav-shell {
        height:72px
    }
    .logo {
        width:187px
    }
    .mobile-nav {
        top:72px
    }
    .home-hero {
        min-height:760px;
        height:100svh;
        max-height:900px
    }
    .home-hero-inner {
        padding-top:90px;
        padding-bottom:20px
    }
    .home-hero h1 {
        font-size:clamp(3.45rem,13vw,5.6rem)
    }
    .home-hero-lead {
        font-size:1.1rem
    }
    .home-hero-glow {
        background:linear-gradient(90deg,rgba(5,30,46,.92),rgba(5,30,46,.45)),linear-gradient(0deg,rgba(5,30,46,.67),transparent 45%)
    }
    .home-hero-scene {
        background-position:62% center
    }
    .hero-side-note {
        display:none
    }
    .hero-bottom-note {
        max-width:270px
    }
    .hero-overline {
        font-size:.62rem;
        letter-spacing:.13em
    }
    .page-hero {
        min-height:550px
    }
    .page-hero-inner {
        padding-top:133px;
        padding-bottom:65px
    }
    .page-hero h1 {
        font-size:clamp(2.85rem,11vw,4.7rem)
    }
    .page-hero p:not(.eyebrow) {
        font-size:1.05rem
    }
    .chapter h2 {
        font-size:clamp(2.35rem,11vw,3.45rem)
    }
    .giant-center {
        font-size:clamp(2.8rem,11vw,4.1rem)
    }
    .route-grid,.two-resource-grid,.journal-grid,.journal-full,.three-values,.step-grid,.episode-grid,.tag-grid,.future-product-grid {
        grid-template-columns:1fr
    }
    .route-tile {
        height:350px
    }
    .belief-card {
        transform:none;
        padding:26px
    }
    .resource-showcase {
        grid-template-columns:1fr;
        padding:48px 25px 27px
    }
    .resource-illustration {
        width:210px;
        height:180px;
        margin:0 auto
    }
    .showcase-tag {
        left:20px;
        top:14px
    }
    .section-exit {
        line-height:1.8
    }
    .headline-row {
        display:block
    }
    .headline-row .text-arrow {
        margin-top:17px
    }
    .map-visual {
        min-height:400px
    }
    .map-stamp {
        transform:rotate(-12deg) scale(.75);
        transform-origin:bottom right
    }
    .map-label {
        left:33px
    }
    .phase-grid {
        grid-template-columns:1fr 1fr
    }
    .phase-card {
        padding:18px
    }
    .phase-card h3 {
        font-size:1.2rem
    }
    .phase-card p {
        font-size:.8rem!important
    }
    .phase-detail {
        padding:25px
    }
    .adventure-list-card {
        grid-template-columns:80px minmax(0,1fr);
        gap:17px
    }
    .adventure-list-card .small-cover {
        width:80px;
        height:93px
    }
    .adventure-list-card .text-arrow {
        grid-column:2
    }
    .art-frame,.art-placeholder {
        min-height:310px
    }
    .tall-art {
        min-height:390px
    }
    .epic-photo .art-frame {
        min-height:320px
    }
    .epic-mini {
        padding:18px;
        right:0
    }
    .epic-mini strong {
        font-size:1.6rem
    }
    .footer-top {
        grid-template-columns:1fr 1fr
    }
    .footer-brand,.footer-note {
        grid-column:1/-1
    }
    .footer-note {
        border-left:0;
        border-top:1px solid #4C666E;
        padding:25px 0 0
    }
    .footer-bottom {
        display:block;
        padding-bottom:110px
    }
    .footer-bottom>span {
        display:block;
        margin-bottom:9px
    }
    .prototype-rail {
        left:10px;
        right:10px;
        justify-content:center;
        bottom:7px
    }
    .prototype-rail .proto-version {
        display:none
    }
    .modal-box {
        padding:34px 24px
    }
    .modal-box h2 {
        font-size:2rem
    }
    .end-chapter {
        padding:80px 0
    }
}

@media(max-width:390px) {
    .home-hero h1 {
        font-size:3.1rem
    }
    .hero-overline {
        font-size:.58rem
    }
    .btn {
        white-space:normal;
        text-align:center
    }
    .page-hero h1 {
        font-size:2.7rem
    }
    .prototype-rail {
        gap:7px;
        font-size:.57rem
    }
    .route-tile {
        height:310px
    }
}

@media(prefers-reduced-motion:reduce) {
    html {
        scroll-behavior:auto
    }
    *,*:before,*:after {
        transition-duration:.01ms!important;
        animation-duration:.01ms!important
    }
}

@media(max-width:680px) {
    .spotlight-grid>* ,.lore-feature-grid>* {
        min-width:0
    }
    .spotlight .art-frame {
        width:100%;
        aspect-ratio:4/3;
        min-height:0
    }
    .map-visual {
        width:100%;
        max-width:100%;
        min-height:380px;
        aspect-ratio:auto
    }
    .map-stamp {
        width:110px;
        height:110px
    }
    .footer-brand img {
        max-width:190px
    }
}

/* WordPress production integration: reset native menu list markup. */
.main-nav-list,.mobile-nav-list {
    list-style:none;
    padding:0;
    margin:0;
    display:flex;
    align-items:center;
    gap:clamp(10px,1.3vw,22px)
}

.main-nav-list li,.mobile-nav-list li {
    list-style:none;
    margin:0;
    padding:0
}

.main-nav-list a[aria-current="page"],.main-nav-list .current-menu-item>a {
    color:var(--gold)
}

.mobile-nav-list {
    display:block;
    max-width:1296px;
    margin:0 auto
}

.mobile-nav-list a {
    display:block;
    padding:13px 8px;
    border-bottom:1px solid #ffffff22
}

.mobile-nav-list .current-menu-item>a {
    color:var(--gold)
}

.gw-readable {
    max-width:850px;
    line-height:1.85;
    font-size:1.08rem
}

.gw-readable h2,.gw-readable h3 {
    margin:30px 0 15px
}
.gw-readable p,.gw-readable ul {
    margin:0 0 20px
}

.gw-readable a:not(.btn),.gw-article-footer a {
    color:var(--teal);
    text-decoration:underline;
    text-underline-offset:3px
}

.gw-article-image {
    margin-bottom:35px;
    border-radius:18px;
    overflow:hidden
}

.gw-article-image img {
    width:100%;
    height:auto
}

.gw-article-footer {
    border-top:1px solid #D1CAC0;
    margin-top:55px;
    padding-top:25px
}

.gw-dynamic-section {
    margin-top:55px
}
.gw-dynamic-section h3 {
    margin-bottom:22px
}

.gw-resource-list,.gw-core-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:20px
}

.gw-core-card {
    display:flex;
    flex-direction:column;
    background:#fffef9;
    border:1px solid #D7D2C5;
    border-radius:16px;
    overflow:hidden;
    min-width:0;
    box-shadow:0 12px 35px #12313b12
}

.gw-core-thumb {
    height:180px;
    overflow:hidden;
    background:#DFEDE8
}
.gw-core-thumb img {
    width:100%;
    height:100%;
    object-fit:cover
}

.gw-core-body {
    padding:25px
}
.gw-core-body h3 {
    font-size:1.48rem;
    margin:10px 0 15px
}
.gw-core-body p {
    font-size:.94rem;
    line-height:1.62;
    margin:10px 0
}
.gw-core-card .text-arrow {
    color:var(--teal)
}

.gw-core-facts {
    display:flex;
    gap:7px;
    flex-wrap:wrap;
    margin:10px 0
}
.gw-core-facts span {
    font-size:.7rem;
    padding:5px 9px;
    border-radius:50px;
    background:#D7F0EC;
    color:#19454B;
    font-weight:800
}

.gw-core-card .small-cover {
    height:105px;
    width:92px;
    margin:10px
}
.adventure-list-card .gw-core-body {
    flex:1
}
.adventure-list-card .gw-core-body h3 {
    margin:5px 0
}

.gw-core-empty {
    padding:28px;
    border:1px dashed #83AFAA;
    border-radius:14px;
    background:#fffef999
}

.gw-woo-products ul.products {
    margin:30px 0
}
.woocommerce div.product {
    max-width:1296px;
    margin:auto
}

.gw-editor-extra {
    border-top:2px solid #D3E8E3
}

.gw-community-action {
    margin-top:25px
}
.gw-community-action a {
    margin-right:12px
}

.gw-live-card a {
    display:block;
    height:100%
}

.gw-live-card .journal-photo img {
    width:100%;
    height:100%;
    object-fit:cover
}

.gw-hidden-visually {
    position:absolute!important;
    width:1px;
    height:1px;
    overflow:hidden;
    clip-path:inset(50%);
    white-space:nowrap
}

@media(max-width:990px) {
    .main-nav-list {
        display:none
    }
    .gw-resource-list,.gw-core-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
}

@media(max-width:680px) {
    .gw-resource-list,.gw-core-grid {
        grid-template-columns:1fr
    }
    .footer-bottom {
        padding-bottom:35px
    }
}

.adventure-cards>.gw-core-grid {
    display:grid;
    grid-template-columns:1fr;
    gap:14px
}
.gw-core-card .gw-core-symbol {
    height:180px;
    display:grid;
    place-items:center;
    font-size:3rem;
    color:var(--teal)
}
.gw-core-card>.text-arrow {
    margin:auto 25px 25px
}
.adventure-list-card>.text-arrow {
    margin:15px
}
.gw-woo-products .products {
    list-style:none
}

.status-tag.available {
    background:#E2F4E8;
    color:#14533F;
    border-color:#A5D3B8
}

.gw-core-adventure>.text-arrow {
    align-self:center
}

@media(max-width:680px) {
    .gw-core-adventure>.text-arrow {
        justify-self:start;
        align-self:start;
        margin:0 0 18px 95px
    }
}

/* V1.1: Page-first editor architecture. Page sections now render from post_content. */
.gw-page-editor-body {
    width:100%;
    min-width:0
}

.gw-page-editor-body > section {
    display:block
}

.gw-page-editor-body .gw-shop-catalog-shortcode:empty {
    display:none
}

.gw-page-editor-body .gw-catalog-note {
    font-size:1.1rem;
    color:var(--text);
    background:#fffdf5;
    padding:25px;
    border:1px dashed #9AB1AA;
    border-radius:14px
}

.gw-newsletter-slot {
    margin-top:20px
}

.gw-newsletter-slot form {
    max-width:540px
}

.gw-page-editor-body section[id] {
    scroll-margin-top:90px
}


/* 02. FINISHED ARTWORK AND LEGACY ARTWORK SLOTS */
/* Finished illustrations used in new and legacy page sections */
.gw-story-image {
  display: block;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(24,49,59,.14);
  border-radius: 20px;
  background: transparent;
  box-shadow: 0 16px 36px rgba(14,45,54,.09);
}
.gw-story-image img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  max-height: none;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  object-fit: contain;
  float: none;
}
/* Legacy art slot compatibility: only applies when a real image exists. */
.gw-page-editor-body .art-placeholder:has(img) {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  aspect-ratio: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 1px solid rgba(24,49,59,.14) !important;
  border-radius: 20px !important;
  box-shadow: 0 16px 36px rgba(14,45,54,.09) !important;
  overflow: hidden !important;
  text-align: left !important;
}
.gw-page-editor-body .art-placeholder:has(img)::before,
.gw-page-editor-body .art-placeholder:has(img)::after {
  display: none !important;
  content: none !important;
}
.gw-page-editor-body .art-placeholder:has(img) .placeholder-ring,
.gw-page-editor-body .art-placeholder:has(img) .placeholder-constellation,
.gw-page-editor-body .art-placeholder:has(img) .placeholder-copy > small,
.gw-page-editor-body .art-placeholder:has(img) .placeholder-copy > strong,
.gw-page-editor-body .art-placeholder:has(img) .placeholder-copy > span:not(:has(img)) {
  display: none !important;
}
.gw-page-editor-body .art-placeholder:has(img) .placeholder-copy,
.gw-page-editor-body .art-placeholder:has(img) .placeholder-copy:has(img),
.gw-page-editor-body .art-placeholder:has(img) p:has(img),
.gw-page-editor-body .art-placeholder:has(img) figure:has(img),
.gw-page-editor-body .art-placeholder:has(img) .wp-caption:has(img),
.gw-page-editor-body .art-placeholder:has(img) .wp-block-image:has(img) {
  position: static !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  float: none !important;
  gap: 0 !important;
}
.gw-page-editor-body .art-placeholder:has(img) img {
  position: static !important;
  display: block !important;
  float: none !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  object-position: center !important;
  transform: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
}


/* 03. MAKER'S SATCHEL: HOMEPAGE AND RESOURCES FEATURE */
.resources-chapter.gw-satchel-v2 {
  padding: clamp(78px, 7.6vw, 114px) 0;
  background: #FFF9EE;
}
.gw-satchel-v2 *, .gw-satchel-v2 *::before, .gw-satchel-v2 *::after { box-sizing: border-box; }
.gw-satchel-v2 .gw-satchel-v2__heading {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, .7fr);
  align-items: end;
  gap: clamp(20px, 5vw, 70px);
  margin-bottom: 38px;
}
.gw-satchel-v2 .gw-satchel-v2__heading h2 {
  font-size: clamp(2.75rem, 4.55vw, 4.65rem);
  line-height: 1.04;
  margin: 0;
  letter-spacing: -.055em;
}
.gw-satchel-v2 .gw-satchel-v2__heading .eyebrow { margin-bottom: 18px !important; }
.gw-satchel-v2 .gw-satchel-v2__intro {
  font-size: clamp(1.02rem, 1.35vw, 1.18rem);
  line-height: 1.7;
  margin: 0 0 5px;
  max-width: 425px;
  color: #4A6265;
}
.gw-satchel-v2 .gw-satchel-v2__layout {
  display: grid;
  grid-template-columns: minmax(0, .79fr) minmax(0, 1.64fr);
  gap: 20px;
  align-items: stretch;
}
.gw-satchel-v2 .gw-satchel-v2__layout > * { min-width: 0; }

.gw-satchel-v2 .gw-satchel-v2__invitation {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 436px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 22px;
  background: #18313B;
  color: #FFF9EE;
  border: 1px solid #244650;
  border-radius: 20px;
  padding: clamp(25px, 3.1vw, 40px);
}
.gw-satchel-v2 .gw-satchel-v2__invitation::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 94% 7%, rgba(255,224,120,.18), transparent 35%),
    repeating-radial-gradient(circle at 125% -8%, transparent 0 40px, rgba(255,255,255,.035) 41px 42px);
  z-index: -1;
  pointer-events: none;
}
.gw-satchel-v2 .gw-satchel-v2__corner {
  position: absolute;
  right: 29px;
  top: 4px;
  line-height: 1;
  font-family: Georgia,serif;
  font-size: 7.3rem;
  color: #FFE078;
  opacity: .20;
  transform: rotate(-12deg);
  pointer-events: none;
}
.gw-satchel-v2 .gw-satchel-v2__small-label {
  margin: 0 0 30px !important;
  font-size: .68rem !important;
  line-height: 1.45 !important;
  letter-spacing: .17em;
  font-weight: 850;
  color: #FFE078 !important;
}
.gw-satchel-v2 .gw-satchel-v2__invitation h3 {
  font-family: var(--display,'Bricolage Grotesque',sans-serif);
  max-width: 310px;
  font-size: clamp(1.85rem, 2.7vw, 2.6rem);
  line-height: 1.1;
  margin: 0 0 17px;
  color: #FFF9EE;
  letter-spacing: -.045em;
}
.gw-satchel-v2 .gw-satchel-v2__invitation-content > p:not(.gw-satchel-v2__small-label) {
  font-size: .97rem;
  line-height: 1.6;
  color: #D7F0EC;
  margin: 0;
}
.gw-satchel-v2 .gw-satchel-v2__rule {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: .9rem;
  color: #FFE078;
  margin: 23px 0 15px;
}
.gw-satchel-v2 .gw-satchel-v2__rule::after { content: ""; height: 1px; flex: 1; background: rgba(215,240,236,.20); }
.gw-satchel-v2 .gw-satchel-v2__invitation-content > p.gw-satchel-v2__invitation-foot {
  font-size: .85rem;
  font-style: italic;
  line-height: 1.6;
  color: #C6D9D6;
}
.gw-satchel-v2 .gw-satchel-v2__all-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  gap: 15px;
  font-size: .91rem;
  font-weight: 850;
  line-height: 1.5;
  color: #FFE078;
  border-top: 1px solid rgba(215,240,236,.22);
  padding-top: 19px;
  text-decoration: none;
}
.gw-satchel-v2 .gw-satchel-v2__all-link:hover { color: #fff; }
.gw-satchel-v2 .gw-satchel-v2__all-link span { font-size: 1.35rem; }

.gw-satchel-v2 .gw-satchel-v2__items { display: grid; grid-template-columns: minmax(0,1fr); gap: 18px; }
.gw-satchel-v2 .gw-satchel-v2__item {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(170px, .7fr) minmax(0, 1.35fr);
  align-items: stretch;
  overflow: hidden;
  background: #FFFEFC;
  border: 1px solid #DEDACE;
  border-radius: 19px;
  transition: transform .2s ease, box-shadow .2s ease;
}
.gw-satchel-v2 .gw-satchel-v2__item:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(24,49,59,.09);
}
.gw-satchel-v2 .gw-satchel-v2__item--coral .gw-satchel-v2__art { background: #FCE3D9; }
.gw-satchel-v2 .gw-satchel-v2__item--lilac .gw-satchel-v2__art { background: #EDE4F8; }
.gw-satchel-v2 .gw-satchel-v2__art {
  min-height: 222px;
  display: grid;
  place-items: center;
  overflow: hidden;
  position: relative;
  padding: 25px 16px;
}
.gw-satchel-v2 .gw-satchel-v2__art::before {
  content:"";
  position:absolute;
  inset:13px;
  border:1px dashed rgba(24,49,59,.12);
  border-radius:9px;
}
.gw-satchel-v2 .gw-satchel-v2__paper {
  width: min(100%, 180px);
  min-height: 173px;
  position: relative;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:center;
  text-align:left;
  border: 1px solid #E7DDD2;
  border-radius: 5px;
  box-shadow: 6px 7px 0 rgba(24,49,59,.16), 0 9px 24px rgba(24,49,59,.08);
  padding: 15px 17px;
  background: #FFF9EE;
  transform: rotate(-4deg);
}
.gw-satchel-v2 .gw-satchel-v2__paper--challenge { transform: rotate(4deg); }
.gw-satchel-v2 .gw-satchel-v2__paper-kicker {
  font-family: var(--body,'Atkinson Hyperlegible Next',sans-serif);
  color:#657A7C;
  font-size: .52rem;
  letter-spacing: .11em;
  font-weight:850;
  line-height:1.3;
}
.gw-satchel-v2 .gw-satchel-v2__paper strong {
  font-family: var(--display,'Bricolage Grotesque',sans-serif);
  color:#18313B;
  font-size: .98rem;
  letter-spacing: -.025em;
  line-height:1.04;
  margin-bottom: 15px;
  font-weight:850;
}
.gw-satchel-v2 .gw-satchel-v2__paper-mark, .gw-satchel-v2 .gw-satchel-v2__sun {
  position:absolute;
  top:7px;
  right:15px;
  font-size:1.8rem;
  line-height:1;
  color:#007579;
}
.gw-satchel-v2 .gw-satchel-v2__sun { color:#8A6BB4; }
.gw-satchel-v2 .gw-satchel-v2__paper-line {
  font-family:var(--body,'Atkinson Hyperlegible Next',sans-serif);
  font-size:.56rem;
  color:#425D63;
  letter-spacing:.03em;
  line-height:1.45;
  font-weight:750;
  display:flex;
  gap:6px;
  align-items:center;
  margin-bottom:4px;
}
.gw-satchel-v2 .gw-satchel-v2__paper-line i { border-bottom:1px solid #C8C8BA; flex:1; }
.gw-satchel-v2 .gw-satchel-v2__day-dots { display:grid;grid-template-columns:repeat(7,1fr);gap:2px; }
.gw-satchel-v2 .gw-satchel-v2__day-dots i {
  display:grid;
  place-items:center;
  font-family:var(--body,'Atkinson Hyperlegible Next',sans-serif);
  font-size:.48rem;
  line-height:1;
  font-style:normal;
  width:100%;
  aspect-ratio:1;
  background:#EADFF8;
  color:#6E5197;
  border-radius:50%;
}
.gw-satchel-v2 .gw-satchel-v2__item-content {
  min-width:0;
  padding: clamp(19px, 2.15vw, 29px) clamp(20px, 2.3vw, 33px);
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
}
.gw-satchel-v2 .gw-satchel-v2__item-meta {
  width:100%;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px 15px;
  margin-bottom:13px;
  font-size:.62rem;
  line-height:1.4;
  font-weight:850;
  letter-spacing:.12em;
  color:#42616A;
}
.gw-satchel-v2 .gw-satchel-v2__free-pill {
  margin-left:auto;
  color:#006A70;
  border:1px solid #B9D6D1;
  border-radius:50px;
  padding:5px 9px;
  letter-spacing:.05em;
  background:#F0FAF6;
  font-size:.61rem;
  white-space:nowrap;
}
.gw-satchel-v2 .gw-satchel-v2__item h3 {
  font-size:clamp(1.42rem,1.95vw,1.9rem);
  line-height:1.13;
  margin:0 0 8px;
  letter-spacing:-.045em;
  max-width:400px;
  color:#18313B;
}
.gw-satchel-v2 .gw-satchel-v2__item p {
  margin:0 0 12px;
  font-size:.9rem;
  line-height:1.52;
  color:#48636A;
  max-width:450px;
}
.gw-satchel-v2 .gw-satchel-v2__item-link {
  display:inline-flex;
  gap:15px;
  align-items:center;
  color:#007579;
  font-size:.85rem;
  font-weight:850;
  line-height:1.4;
  text-decoration:none;
  margin-top: auto;
  padding-top:4px;
}
.gw-satchel-v2 .gw-satchel-v2__item-link span { font-size:1.25rem; }
.gw-satchel-v2 .gw-satchel-v2__item-link:hover { color:#18313B; text-decoration:underline; }
@media (max-width: 990px) {
  .gw-satchel-v2 .gw-satchel-v2__layout { grid-template-columns:minmax(0,1fr); }
  .gw-satchel-v2 .gw-satchel-v2__invitation { min-height:0; }
  .gw-satchel-v2 .gw-satchel-v2__invitation h3 { max-width:550px; }
  .gw-satchel-v2 .gw-satchel-v2__item { grid-template-columns:minmax(190px,.65fr) minmax(0,1.35fr); }
}
@media (max-width: 680px) {
  .resources-chapter.gw-satchel-v2 { padding:66px 0 78px; }
  .gw-satchel-v2 .gw-satchel-v2__heading { grid-template-columns:1fr; gap:16px; margin-bottom:27px; }
  .gw-satchel-v2 .gw-satchel-v2__heading h2 { font-size:clamp(2.55rem,10vw,3.5rem); }
  .gw-satchel-v2 .gw-satchel-v2__invitation { padding:29px; }
  .gw-satchel-v2 .gw-satchel-v2__invitation h3 { font-size:2rem; }
  .gw-satchel-v2 .gw-satchel-v2__item-content { padding:22px 25px 27px; }
  .gw-satchel-v2 .gw-satchel-v2__free-pill { margin-left:0; }
}
@media (max-width: 580px) {
  .gw-satchel-v2 .gw-satchel-v2__item { grid-template-columns: 1fr; }
  .gw-satchel-v2 .gw-satchel-v2__art { min-height: 190px; padding: 20px; }
  .gw-satchel-v2 .gw-satchel-v2__paper { width: 175px; min-height: 150px; }
}
@media (prefers-reduced-motion: reduce) {
  .gw-satchel-v2 .gw-satchel-v2__item { transition:none; }
}


/* 04. RESOURCES PAGE: FULL-WIDTH EMPTY LIBRARY AND LIVE LISTING */
.gw-page-editor-body .gw-resource-page-v2,
.gw-resource-page-v2 { background:#F5F0E6; }
.gw-resource-page-v2 .gw-satchel-v2__item-link {
  appearance:none;
  background:none;
  border:0;
  padding:4px 0 0;
  margin-top:auto;
  font-family:inherit;
  cursor:pointer;
  text-align:left;
}
.gw-resource-page-v2 .gw-satchel-v2__item-link:focus-visible,
.gw-resource-page-v2 .gw-rv2__journal-link:focus-visible {
  outline:3px solid #007579;
  outline-offset:5px;
  border-radius:3px;
}
.gw-resource-page-v2 .gw-rv2__library {
  box-sizing:border-box;
  display:block !important;
  grid-column:1 / -1 !important;
  width:100% !important;
  max-width:none !important;
  min-width:0;
  margin:64px 0 0;
  padding:34px clamp(22px,3.5vw,45px) 38px;
  border:1px solid #D8DDD3;
  border-radius:22px;
  background:#FBF8F0;
}
.gw-resource-page-v2 .gw-rv2__library-heading {
  display:flex;
  flex-wrap:wrap;
  align-items:end;
  justify-content:space-between;
  gap:17px 26px;
  margin:0 0 25px;
}
.gw-resource-page-v2 .gw-rv2__library-heading > div { flex:1 1 500px; min-width:0; }
.gw-resource-page-v2 .gw-rv2__library-eyebrow {
  margin:0 0 12px !important;
  color:#007579;
  font-size:.7rem;
  font-weight:850;
  line-height:1.5;
  letter-spacing:.14em;
}
.gw-resource-page-v2 .gw-rv2__library-heading h3 {
  margin:0 0 9px;
  color:#18313B;
  font-family:var(--display,'Bricolage Grotesque',sans-serif);
  font-size:clamp(1.6rem,2.4vw,2.15rem);
  line-height:1.15;
  letter-spacing:-.04em;
}
.gw-resource-page-v2 .gw-rv2__library-heading p:not(.gw-rv2__library-eyebrow) {
  max-width:670px;
  margin:0;
  font-size:.95rem;
  line-height:1.6;
  color:#4A6265;
}
.gw-resource-page-v2 .gw-rv2__journal-link {
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-weight:850;
  font-size:.89rem;
  line-height:1.4;
  color:#007579;
  text-decoration:none;
  padding-bottom:5px;
}
.gw-resource-page-v2 .gw-rv2__journal-link:hover { text-decoration:underline; }

.gw-resource-page-v2 .gw-rv2__feed {
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  grid-column:1 / -1 !important;
  padding:0 !important;
  margin:0 !important;
}
.gw-resource-page-v2 .gw-rv2__feed > .gw-core-empty,
.gw-resource-page-v2 .gw-rv2__feed .gw-core-empty {
  box-sizing:border-box;
  display:flex !important;
  align-items:center;
  justify-content:center;
  gap:18px;
  width:100% !important;
  max-width:none !important;
  min-width:0;
  grid-column:1 / -1 !important;
  min-height:125px;
  margin:0 !important;
  padding:25px 30px;
  text-align:center;
  font-size:1rem;
  line-height:1.55;
  color:#3B6062;
  border:1px dashed #9DBCB7;
  border-radius:15px;
  background:linear-gradient(110deg,#F0F8F4,#FDF9EF);
}
.gw-resource-page-v2 .gw-rv2__feed .gw-core-empty::before {
  content:'✦';
  flex:none;
  font-size:1.7rem;
  color:#007579;
  line-height:1;
}

.gw-resource-page-v2 .gw-rv2__feed > .gw-core-grid {
  width:100%;
  max-width:none;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}
@media(max-width:990px) {
  .gw-resource-page-v2 .gw-rv2__feed > .gw-core-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:680px) {
  .gw-resource-page-v2 .gw-rv2__library {margin-top:42px;padding:25px 18px 26px;}
  .gw-resource-page-v2 .gw-rv2__feed .gw-core-empty {flex-direction:column;gap:8px;padding:25px 18px;}
  .gw-resource-page-v2 .gw-rv2__feed > .gw-core-grid {grid-template-columns:1fr;}
}


/* 05. EPIC AGAIN: ARTICLE CONNECTION CARDS */
/* Epic Again: From the Stream to the Story. Uses native .episode-grid/.episode-card. */
.gw-epic-connections .gw-epic-connections-intro {
  max-width: 850px;
  margin-bottom: clamp(30px,4vw,48px);
}
.gw-epic-connections .gw-epic-connections-intro h2 {
  margin-bottom: 20px;
}
.gw-epic-connections .gw-epic-connections-intro > p:last-child {
  max-width: 710px;
  color: #D7F0EC;
}
.gw-epic-connections .episode-grid {
  grid-template-columns: repeat(3,minmax(0,1fr));
  align-items: stretch;
  gap: 20px;
}
.gw-epic-connections .episode-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100%;
}
.gw-epic-connections .episode-card .episode-description {
  flex: 1;
  margin-bottom: 18px;
}
.gw-epic-connections .episode-card .card-link {
  display: block;
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px solid rgba(215,240,236,.18);
}
.gw-epic-connections .episode-card .card-link a { color: var(--gold); }
.gw-epic-connections .episode-card h3 a:hover,
.gw-epic-connections .episode-card .card-link a:hover {
  color: var(--gold);
  text-decoration: underline;
}
@media (max-width: 960px) {
  .gw-epic-connections .episode-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .gw-epic-connections .episode-card:last-child:nth-child(odd) { grid-column: 1 / -1; }
}
@media (max-width: 620px) {
  .gw-epic-connections .episode-grid { grid-template-columns: minmax(0,1fr); }
  .gw-epic-connections .episode-card:last-child:nth-child(odd) { grid-column: auto; }
}


/* 06. WORLDS AND LORE / DYNAMIC EMPTY-STATE COMPATIBILITY */
/* Responsive atlas map in editable WordPress page HTML */
.gw-page-editor-body .lore-chapter .lore-feature-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: clamp(26px,7vw,110px);
  align-items: center;
}
.gw-page-editor-body .lore-chapter .map-visual,
.gw-page-editor-body .lore-chapter .lore-map {
  min-width: 0;
  max-width: 100%;
}
/* Full-row default for unpopulated dynamic resource listings */
.gw-resource-list > .gw-core-empty,
.gw-core-grid > .gw-core-empty {
  grid-column: 1 / -1;
  width: 100%;
}
@media (max-width: 990px) {
  .gw-page-editor-body .lore-chapter .lore-feature-grid { grid-template-columns: minmax(0,1fr); }
}


/* 07. MAKER'S STALL: WOOCOMMERCE SHOP */
.gw-shop-v2 {
  overflow: clip;
}
.gw-shop-v2 .wrap {
  min-width: 0;
}
.gw-shop-v2 a {
  transition: transform .2s ease,color .2s ease,background .2s ease,box-shadow .2s ease;
}
.gw-shop-v2 .btn {
  white-space: normal;
  text-align: center;
}
.gw-shop-intro {
  background: #FFF9EE;
  padding-block: clamp(66px,8vw,112px);
}
.gw-shop-intro-grid {
  display: grid;
  grid-template-columns: minmax(0,1.07fr) minmax(0,.93fr);
  gap: clamp(38px,6vw,105px);
  align-items: center;
}
.gw-shop-intro-copy {
  max-width: 660px;
}
.gw-shop-intro-copy h2 {
  font-size: clamp(2.9rem,5vw,5.3rem);
}
.gw-shop-intro-copy p.big-body {
  color: #1B3B43;
  font-weight: 700;
  font-size: clamp(1.16rem,1.8vw,1.46rem);
  line-height: 1.5;
}
.gw-shop-intro-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 23px;
  margin-top: 28px;
}
.gw-shop-text-link {
  color: var(--teal,#007579);
  font-weight: 800;
  border-bottom: 1px solid rgba(0,117,121,.35);
  padding-bottom: 4px;
}
.gw-shop-text-link:hover {
  color: var(--ink,#18313B);
}
.gw-shop-visual {
  position: relative;
  isolation: isolate;
  background: radial-gradient(circle at 81% 16%,rgba(255,224,120,.25),transparent 37%),linear-gradient(145deg,#1B4048,#0F313C 70%);
  border: 1px solid #42656A;
  border-radius: 28px;
  min-height: 455px;
  padding: 30px;
  box-shadow: 0 22px 52px rgba(16,48,58,.15);
  overflow: hidden;
}
.gw-shop-visual::before {
  content: "";
  position: absolute;
  inset: 17px;
  border: 1px solid rgba(255,249,238,.17);
  border-radius: 18px;
  pointer-events: none;
}
.gw-shop-visual-kicker {
  color: var(--gold,#FFE078);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .17em;
  position: relative;
  z-index: 3;
}
.gw-shop-maker-paper {
  position: absolute;
  width: 48%;
  height: 240px;
  border-radius: 10px;
  padding: 22px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-shadow: 8px 12px 0 rgba(0,0,0,.19);
  border: 8px solid rgba(255,255,255,.35);
  font-family: var(--display);
  line-height: 1.08;
  letter-spacing: -.04em;
}
.gw-shop-maker-paper span {
  font-size: 2.1rem;
}
.gw-shop-maker-paper strong {
  font-size: clamp(1.4rem,2.15vw,2.4rem);
}
.gw-shop-maker-paper-back {
  top: 94px;
  left: 13%;
  transform: rotate(-12deg);
  background: #EBDFF7;
  color: #422E65;
}
.gw-shop-maker-paper-front {
  top: 111px;
  right: 12%;
  transform: rotate(9deg);
  background: #FFE6C7;
  color: #18313B;
}
.gw-shop-maker-seal {
  width: 82px;
  height: 82px;
  border-radius: 50%;
  background: var(--gold,#FFE078);
  color: var(--ink,#18313B);
  font: 800 1.65rem var(--display);
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  left: 44%;
  top: 47%;
  z-index: 3;
  box-shadow: 0 7px 16px rgba(0,0,0,.22);
  transform: rotate(-9deg);
}
.gw-shop-maker-seal span {
  color: var(--teal,#007579);
  font-size: .9rem;
  margin: 0 3px;
}
.gw-shop-visual .gw-shop-visual-note {
  position: absolute;
  bottom: 24px;
  left: 30px;
  right: 30px;
  z-index: 3;
  font-size: .86rem;
  line-height: 1.45;
  color: #E5F2EF;
  margin: 0;
  max-width: 350px;
}
.gw-shop-departments {
  background: #F6F0E4;
  padding-block: clamp(78px,7vw,105px);
}
.gw-shop-heading-row {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 38px;
  margin-bottom: 38px;
}
.gw-shop-heading-row>div {
  min-width: 0;
}
.gw-shop-heading-row h2 {
  margin: 0;
}
.gw-shop-heading-row>p {
  margin: 0 0 7px;
  max-width: 380px;
  font-size: 1.02rem;
}
.gw-shop-department-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 18px;
}
.gw-shop-department {
  overflow: hidden;
  min-width: 0;
  background: var(--cream,#FFF9EE);
  border: 1px solid rgba(24,49,59,.13);
  border-radius: 20px;
  display: flex;
  flex-direction: column;
  box-shadow: 0 8px 24px rgba(24,49,59,.035);
}
.gw-shop-department-art {
  position: relative;
  height: 194px;
  overflow: hidden;
  padding: 21px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.gw-shop-department-art::after {
  content: "";
  width: 186px;
  height: 186px;
  position: absolute;
  border: 1px solid currentColor;
  opacity: .15;
  border-radius: 50%;
  top: -64px;
  right: -58px;
  box-shadow: 0 0 0 23px rgba(255,255,255,.07),0 0 0 46px rgba(255,255,255,.04);
}
.gw-shop-department-wear .gw-shop-department-art {
  background: #E6DDF5;
  color: #493675;
}
.gw-shop-department-stickers .gw-shop-department-art {
  background: #FFE1D5;
  color: #9C3D32;
}
.gw-shop-department-digital .gw-shop-department-art {
  background: #D7F0EC;
  color: #00686A;
}
.gw-shop-department-guides .gw-shop-department-art {
  background: #F5E4A3;
  color: #745719;
}
.gw-shop-art-mark {
  font-size: 2rem;
  line-height: 1;
}
.gw-shop-art-big {
  font: 800 clamp(2.4rem,3.3vw,3.8rem)/1 var(--display,"Bricolage Grotesque",sans-serif);
  letter-spacing: -.06em;
}
.gw-shop-art-small {
  font-size: .64rem;
  font-weight: 800;
  letter-spacing: .18em;
}
.gw-shop-department-content {
  display: flex;
  flex-direction: column;
  flex: 1;
  align-items: flex-start;
  padding: 25px 22px 26px;
}
.gw-shop-mini-label {
  font-size: .64rem;
  font-weight: 800;
  color: #487177;
  letter-spacing: .15em;
  margin-bottom: 10px;
}
.gw-shop-department-content h3 {
  font-size: clamp(1.25rem,1.5vw,1.6rem);
  margin: 0 0 12px;
}
.gw-shop-department-content p {
  font-size: .95rem;
  line-height: 1.55;
  margin: 0 0 22px;
}
.gw-shop-department-content a {
  margin-top: auto;
  color: var(--teal,#007579);
  font-size: .89rem;
  font-weight: 800;
  display: inline-block;
}
.gw-shop-department-content a:hover {
  text-decoration: underline;
}
.gw-shop-department:hover {
  box-shadow: 0 15px 30px rgba(24,49,59,.12);
  transform: translateY(-2px);
}
.gw-shop-collection {
  background: #FFF9EE;
  padding-block: clamp(76px,8vw,112px);
}
.gw-shop-collection-heading {
  margin-bottom: 28px;
}
.gw-shop-dynamic {
  width: 100%;
  min-width: 0;
}
.gw-shop-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 9px;
  margin-bottom: 30px;
}
.gw-shop-filter {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border: 1px solid rgba(0,117,121,.23);
  padding: 10px 18px;
  border-radius: 100px;
  color: #1B5055;
  font-size: .9rem;
  font-weight: 700;
  background: #fffdf8;
}
.gw-shop-filter:hover {
  border-color: var(--teal,#007579);
  background: #EAF5F2;
}
.gw-shop-filter.is-active {
  background: #18313B;
  color: #FFF9EE;
  border-color: #18313B;
}
.gw-shop-empty {
  width: 100%;
  padding: clamp(37px,5vw,75px) 24px;
  background: #F2F7F2;
  border: 1px dashed #94B6AC;
  border-radius: 24px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  min-height: 300px;
  justify-content: center;
}
.gw-shop-empty-spark {
  display: block;
  color: var(--teal,#007579);
  font-size: 2.2rem;
  line-height: 1;
  margin-bottom: 14px;
}
.gw-shop-empty h3 {
  font-size: clamp(1.65rem,3vw,2.55rem);
  margin-bottom: 11px;
}
.gw-shop-empty p {
  font-size: 1rem;
  max-width: 620px;
  margin: 0 auto 21px;
  line-height: 1.7;
}
.gw-shop-empty-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
}
.gw-shop-empty-link {
  display: inline-block;
  color: var(--teal,#007579);
  font-weight: 800;
  border-bottom: 1px solid #A2CBC2;
  padding-bottom: 3px;
}
.gw-shop-empty-link:hover {
  color: var(--ink,#18313B);
}
.gw-shop-collection .gw-shop-products ul.products {
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 22px;
  list-style: none !important;
  margin: 10px 0 20px !important;
  padding: 0 !important;
}
.gw-shop-collection .gw-shop-products ul.products::before,.gw-shop-collection .gw-shop-products ul.products::after {
  display: none !important;
  content: none !important;
}
.gw-shop-collection .gw-shop-products ul.products li.product {
  display: flex !important;
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  min-width: 0;
  flex-direction: column;
  padding: 0 0 22px !important;
  border: 1px solid #E0E2D5;
  background: #FFFDF7;
  border-radius: 17px;
  overflow: hidden;
  box-shadow: 0 9px 23px rgba(24,49,59,.045);
}
.gw-shop-collection .gw-shop-products ul.products li.product a.woocommerce-LoopProduct-link {
  text-decoration: none;
  display: block;
  flex: 1;
}
.gw-shop-collection .gw-shop-products ul.products li.product img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 4/3 !important;
  object-fit: cover !important;
  margin: 0 0 18px !important;
  background: #E9EEEB;
}
.gw-shop-collection .gw-shop-products ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--display);
  font-size: 1.42rem !important;
  line-height: 1.22;
  color: #18313B;
  margin: 0 20px 10px;
  padding: 0 !important;
  letter-spacing: -.03em;
}
.gw-shop-collection .gw-shop-products ul.products li.product .price {
  font-weight: 800 !important;
  color: #007579 !important;
  font-size: 1.08rem !important;
  margin: 0 20px 15px;
}
.gw-shop-collection .gw-shop-products ul.products li.product .button {
  display: inline-flex !important;
  width: calc(100% - 40px);
  justify-content: center;
  text-align: center;
  align-items: center;
  margin: 10px 20px 0 !important;
  padding: 12px !important;
  background: #FFE078 !important;
  color: #18313B !important;
  border-radius: 60px;
  font-size: .9rem;
  font-weight: 800;
  white-space: normal;
}
.gw-shop-collection .gw-shop-products ul.products li.product .button:hover {
  background: #FBD357 !important;
}
.gw-shop-collection .gw-shop-products ul.products li.product .onsale {
  right: 12px !important;
  left: auto !important;
  top: 12px !important;
  margin: 0 !important;
  background: #007579 !important;
  color: white !important;
  line-height: 1.2 !important;
  min-height: 0 !important;
  padding: 9px 13px !important;
  border-radius: 40px;
}
.gw-shop-collection .gw-shop-products .woocommerce-pagination ul.page-numbers {
  border: 0;
}
.gw-shop-collection .gw-shop-products .woocommerce-pagination li {
  border: 0;
  margin: 3px;
}
.gw-shop-collection .gw-shop-products .woocommerce-pagination a,.gw-shop-collection .gw-shop-products .woocommerce-pagination span {
  border-radius: 8px;
}
.gw-shop-on-the-bench {
  background: #E3F2EE;
  padding-block: clamp(76px,7vw,105px);
}
.gw-shop-bench-grid {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,.93fr);
  gap: clamp(25px,7vw,112px);
  align-items: center;
}
.gw-shop-bench-grid h2 {
  font-size: clamp(2.6rem,4.25vw,4.65rem);
}
.gw-shop-bench-grid p:not(.eyebrow) {
  max-width: 590px;
}
.gw-shop-bench-notes {
  background: rgba(255,255,255,.76);
  border: 1px solid #AFCFC6;
  border-radius: 20px;
  padding: 14px 28px;
  box-shadow: 0 12px 25px rgba(24,49,59,.05);
}
.gw-shop-bench-notes>div {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 22px 0;
}
.gw-shop-bench-notes>div+div {
  border-top: 1px solid rgba(24,49,59,.13);
}
.gw-shop-note-icon {
  font-size: 1.6rem;
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  background: #D7F0EC;
  color: #007579;
}
.gw-shop-bench-notes strong {
  display: block;
  font-family: var(--display);
  font-size: 1.15rem;
  line-height: 1.25;
}
.gw-shop-bench-notes small {
  display: block;
  font-size: .85rem;
  color: #48686C;
  padding-top: 3px;
}
.gw-shop-support {
  background: #18313B;
  padding-block: clamp(76px,7vw,105px);
}
.gw-shop-support-grid {
  display: grid;
  grid-template-columns: minmax(0,1.2fr) minmax(0,.8fr);
  gap: 35px;
  align-items: center;
}
.gw-shop-support .eyebrow {
  color: #FFE078 !important;
}
.gw-shop-support h2 {
  color: #FFF9EE;
  font-size: clamp(2.6rem,4.8vw,5.1rem);
}
.gw-shop-support h2 em {
  color: #FFE078;
}
.gw-shop-support p:not(.eyebrow) {
  color: #D1E5E2;
  max-width: 640px;
}
.gw-shop-support-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 13px;
}
@media(max-width:1120px) {
  .gw-shop-department-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .gw-shop-department-art {
    height: 150px;
  }
  .gw-shop-intro-grid {
    gap: 38px;
  }
  .gw-shop-maker-paper {
    width: 49%;
  }
}
@media(max-width:850px) {
  .gw-shop-intro-grid,.gw-shop-bench-grid,.gw-shop-support-grid {
    grid-template-columns: minmax(0,1fr);
  }
  .gw-shop-intro-copy {
    max-width: 100%;
  }
  .gw-shop-visual {
    min-height: 360px;
  }
  .gw-shop-maker-paper {
    height: 200px;
    top: 82px;
  }
  .gw-shop-maker-paper-front {
    top: 94px;
  }
  .gw-shop-heading-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
  .gw-shop-heading-row>p {
    max-width: 590px;
  }
  .gw-shop-support-actions {
    justify-content: flex-start;
  }
  .gw-shop-collection .gw-shop-products ul.products {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}
@media(max-width:580px) {
  .gw-shop-v2 .wrap {
    width: min(100% - 34px,1296px);
  }
  .gw-shop-v2 h2 {
    font-size: clamp(2.35rem,11vw,3.6rem);
  }
  .gw-shop-department-grid {
    grid-template-columns: minmax(0,1fr);
    gap: 15px;
  }
  .gw-shop-department {
    display: grid;
    grid-template-columns: 34% minmax(0,1fr);
  }
  .gw-shop-department-art {
    height: auto;
    min-height: 195px;
    padding: 16px 10px;
    justify-content: space-around;
  }
  .gw-shop-art-big {
    font-size: clamp(1.55rem,6vw,2.4rem);
    overflow-wrap: anywhere;
  }
  .gw-shop-art-small {
    font-size: .55rem;
  }
  .gw-shop-department-content {
    padding: 17px 17px 18px;
  }
  .gw-shop-department-content h3 {
    font-size: 1.22rem;
  }
  .gw-shop-department-content p {
    font-size: .85rem;
    margin-bottom: 13px;
  }
  .gw-shop-department-content a {
    font-size: .81rem;
  }
  .gw-shop-visual {
    min-height: 330px;
    padding: 23px;
  }
  .gw-shop-maker-paper {
    height: 177px;
    padding: 10px;
    width: 49%;
  }
  .gw-shop-maker-paper-back {
    left: 8%;
    top: 83px;
  }
  .gw-shop-maker-paper-front {
    right: 9%;
    top: 93px;
  }
  .gw-shop-maker-paper strong {
    font-size: 1.28rem;
  }
  .gw-shop-maker-seal {
    width: 58px;
    height: 58px;
    font-size: 1.15rem;
    top: 50%;
  }
  .gw-shop-maker-seal span {
    font-size: .7rem;
  }
  .gw-shop-visual .gw-shop-visual-note {
    font-size: .74rem;
    bottom: 17px;
    left: 23px;
    right: 23px;
  }
  .gw-shop-filters {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 9px;
    scroll-snap-type: x proximity;
  }
  .gw-shop-filter {
    flex-shrink: 0;
    scroll-snap-align: start;
  }
  .gw-shop-collection .gw-shop-products ul.products {
    grid-template-columns: minmax(0,1fr);
  }
  .gw-shop-bench-notes {
    padding: 7px 16px;
  }
  .gw-shop-empty {
    min-height: 260px;
  }
  .gw-shop-support-actions {
    flex-direction: column;
    align-items: stretch;
  }
}
@media(prefers-reduced-motion:reduce) {
  .gw-shop-v2 a,.gw-shop-v2 .gw-shop-department {
    transition: none !important;
  }
}
.gw-shop-v2 .gw-shop-maker-seal {
  top: 31px;
  left: auto;
  right: 29px;
  transform: rotate(-8deg);
  width: 67px;
  height: 67px;
  font-size: 1.25rem;
}
@media(max-width:580px) {
  .gw-shop-v2 .gw-shop-maker-seal {
    top: 31px;
    right: 21px;
    width: 49px;
    height: 49px;
    font-size: .95rem;
  }
}
.gw-shop-checkout-links {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  align-items: center;
  margin-top: 22px;
}
.gw-shop-checkout-links a {
  color: #007579;
  font-size: .87rem;
  font-weight: 800;
}
.gw-shop-checkout-links a:hover {
  text-decoration: underline;
}
.gw-shop-cart-count {
  background: #18313B;
  color: #FFF9EE;
  border-radius: 15px;
  padding: 2px 7px;
  margin-left: 2px;
  font-size: .7rem;
}
/* Grailwood Games | Find Your Creative Time landing page
   Scoped to .gw-ct-page so other site pages and WooCommerce are unaffected. */
.gw-ct-page{--ct-ink:#18313b;--ct-teal:#007579;--ct-cream:#fff9ee;--ct-white:#fff;--ct-coral:#ff795b;--ct-lilac:#ae92ee;--ct-gold:#ffe078;--ct-mint:#d7f0ec;font-family:'Atkinson Hyperlegible Next',Arial,sans-serif;color:var(--ct-ink);width:100%;overflow:hidden;line-height:1.55}
.gw-ct-page,.gw-ct-page *,.gw-ct-page *::before,.gw-ct-page *::after{box-sizing:border-box}
.gw-ct-page h2,.gw-ct-page h3,.gw-ct-page p,.gw-ct-page ul,.gw-ct-page figure{margin-top:0}
.gw-ct-page h2,.gw-ct-page h3{font-family:'Bricolage Grotesque',Arial,sans-serif;font-weight:800;letter-spacing:-.045em;line-height:1.06}
.gw-ct-page h2{font-size:clamp(2.35rem,4.4vw,4.9rem);margin-bottom:22px}
.gw-ct-page h2 em{font-style:normal;color:var(--ct-teal)}
.gw-ct-page h3{font-size:clamp(1.14rem,1.75vw,1.48rem);letter-spacing:-.035em}
.gw-ct-page p{font-size:1.025rem;line-height:1.75;margin-bottom:16px}
.gw-ct-page a{text-decoration:none}
.gw-ct-page a:focus-visible,.gw-ct-page summary:focus-visible{outline:3px solid var(--ct-coral);outline-offset:4px}
.gw-ct-container{width:calc(100% - 48px);max-width:1180px;margin:0 auto}
.gw-ct-kicker{font-size:.78rem!important;text-transform:uppercase;letter-spacing:.17em;font-weight:800;color:var(--ct-teal);margin-bottom:22px!important}
.gw-ct-kicker>span{font-size:1.15rem;letter-spacing:0;color:var(--ct-coral);margin-right:10px}
.gw-ct-section-intro{max-width:850px;margin-bottom:44px}
.gw-ct-section-intro>p:last-child{max-width:680px;font-size:1.11rem}
.gw-ct-opening{background:var(--ct-cream);padding:78px 0 100px}
.gw-ct-opening-grid{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);align-items:center;column-gap:clamp(48px,6.5vw,108px)}
.gw-ct-opening-copy{position:relative;z-index:1}
.gw-ct-opening-copy h2{max-width:750px;font-size:clamp(2.75rem,4.55vw,5.15rem)}
.gw-ct-opening-copy .gw-ct-lead{font-size:clamp(1.12rem,1.4vw,1.27rem);font-weight:650;line-height:1.67}
.gw-ct-opening-copy>p:not(.gw-ct-kicker){max-width:600px}
.gw-ct-action{display:flex;flex-direction:column;align-items:flex-start;gap:13px;margin:30px 0 27px}
.gw-ct-button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:56px;padding:14px 24px!important;border-radius:999px;font-size:1rem;font-weight:800;line-height:1.25;text-align:center;box-shadow:0 8px 17px rgba(0,80,82,.13);transition:transform .2s ease,background .2s ease,box-shadow .2s ease}
.gw-ct-button:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(0,80,82,.18)}
.gw-ct-button--primary{background:var(--ct-teal)!important;color:white!important}
.gw-ct-button--primary:hover{background:#005c61!important}
.gw-ct-button--gold{background:var(--ct-gold)!important;color:var(--ct-ink)!important}
.gw-ct-button--gold:hover{background:#fff0a2!important}
.gw-ct-action-note{color:#586c70;font-size:.81rem;font-weight:700;letter-spacing:.015em;line-height:1.5}
.gw-ct-gentle-reminder{border-left:3px solid var(--ct-coral);display:flex;gap:12px;align-items:center;color:#325159;font-size:.92rem;line-height:1.5;max-width:520px;padding:11px 17px;background:#f6e9df;border-radius:0 10px 10px 0}
.gw-ct-reminder-symbol{font-size:1.7rem;color:var(--ct-coral);line-height:1}
.gw-ct-cover-area{position:relative;display:flex;justify-content:center;align-items:center;min-width:0;min-height:600px;padding:40px 18px}
.gw-ct-cover-halo{position:absolute;inset:15px 1% 15px 8%;border-radius:48% 52% 46% 54%;background:radial-gradient(circle at 65% 20%,rgba(255,224,120,.54),transparent 48%),linear-gradient(142deg,#d7f0ec 4%,#e7dbf6 48%,#ffe6d3);transform:rotate(8deg)}
.gw-ct-cover-halo::after{content:'✦';position:absolute;right:7%;top:5%;font-size:3rem;color:var(--ct-coral)}
.gw-ct-cover-frame{position:relative;z-index:1;width:min(370px,92%);aspect-ratio:612/792;transform:rotate(-3.5deg);box-shadow:14px 20px 0 rgba(24,49,59,.12),0 24px 54px rgba(24,49,59,.2);background:white;border:8px solid white;border-radius:8px;overflow:hidden}
.gw-ct-cover-frame img{display:block;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:center;transform:none!important}
.gw-ct-cover-label{position:absolute;z-index:2;bottom:25px;right:0;color:var(--ct-ink);font-size:.64rem;font-weight:800;letter-spacing:.1em;background:var(--ct-gold);padding:13px 17px;border-radius:4px;box-shadow:0 4px 12px rgba(24,49,59,.1);transform:rotate(3deg)}
.gw-ct-cover-label span{color:var(--ct-coral);margin-left:9px}
.gw-ct-outcomes{background:#f3f0e8;padding:94px 0 102px}
.gw-ct-outcome-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.gw-ct-outcome{background:white;border:1px solid #dfe6df;border-radius:18px;min-width:0;padding:26px 23px 28px;position:relative;box-shadow:0 12px 26px rgba(24,49,59,.035)}
.gw-ct-outcome::before{content:'';position:absolute;top:-1px;left:22px;right:22px;height:4px;border-radius:0 0 5px 5px;background:var(--ct-teal)}
.gw-ct-outcome:nth-child(2)::before{background:var(--ct-coral)}
.gw-ct-outcome:nth-child(3)::before{background:var(--ct-lilac)}
.gw-ct-outcome:nth-child(4)::before{background:#e8b83c}
.gw-ct-outcome-number{color:var(--ct-teal);font-size:.76rem;letter-spacing:.13em;font-weight:800}
.gw-ct-outcome h3{font-size:1.18rem;margin:19px 0 10px}
.gw-ct-outcome p{font-size:.93rem;margin:0;line-height:1.63}
.gw-ct-trail{background:var(--ct-cream);padding:100px 0 105px}
.gw-ct-trail-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:end;margin-bottom:35px}
.gw-ct-trail-heading h2{margin-bottom:0}
.gw-ct-trail-heading>p{margin:0 0 7px;max-width:390px;color:#31535c;font-size:1.11rem}
.gw-ct-day-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.gw-ct-day{min-width:0;background:#fff;border:1px solid #e3e4da;border-radius:16px;padding:24px 25px 27px;transition:box-shadow .2s ease}
.gw-ct-day:hover{box-shadow:0 12px 30px rgba(24,49,59,.08)}
.gw-ct-day-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.gw-ct-day-number{display:flex;align-items:center;justify-content:center;width:37px;height:37px;border-radius:50%;background:var(--ct-coral);color:var(--ct-ink);font-weight:900}
.gw-ct-day--gold .gw-ct-day-number{background:var(--ct-gold)}
.gw-ct-day--lilac .gw-ct-day-number{background:#e3d9ff}
.gw-ct-day--mint .gw-ct-day-number{background:var(--ct-mint)}
.gw-ct-duration{font-size:.72rem;letter-spacing:.11em;color:#5e6966;font-weight:800}
.gw-ct-day h3{margin:0 0 6px;font-size:1.32rem}
.gw-ct-day p{margin:0;font-size:.97rem;color:#415961;line-height:1.6;max-width:470px}
.gw-ct-day--last{grid-column:1/-1;background:var(--ct-ink);color:white;display:grid;grid-template-columns:55px 1fr;gap:0 18px;align-items:center}
.gw-ct-day--last .gw-ct-day-head{grid-row:1 / span 2;display:block;margin:0}
.gw-ct-day--last .gw-ct-day-number{background:var(--ct-lilac);width:44px;height:44px}
.gw-ct-day--last .gw-ct-duration{display:none}
.gw-ct-day--last h3{color:white;margin-bottom:6px}
.gw-ct-day--last p{color:#cce4e1;max-width:none}
.gw-ct-inside{background:#e4f0ec;padding:105px 0 115px}
.gw-ct-inside-grid{display:grid;grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);gap:60px;align-items:center}
.gw-ct-inside-copy>p:not(.gw-ct-kicker){max-width:550px}
.gw-ct-includes{list-style:none;margin:29px 0 28px;padding:0;display:grid;gap:16px}
.gw-ct-includes li{display:grid;grid-template-columns:29px 1fr;gap:14px;padding:0}
.gw-ct-includes li>span{font-size:1.5rem;color:var(--ct-coral);line-height:1}
.gw-ct-includes strong,.gw-ct-includes small{display:block}
.gw-ct-includes strong{font-family:'Bricolage Grotesque',Arial,sans-serif;font-weight:800;font-size:1.08rem;margin-bottom:4px}
.gw-ct-includes small{font-size:.93rem;line-height:1.6;color:#32545a}
.gw-ct-text-link{color:var(--ct-teal)!important;font-weight:800;border-bottom:2px solid currentColor;padding-bottom:3px;font-size:1.04rem}
.gw-ct-text-link:hover{color:#004e53!important}
.gw-ct-preview-papers{min-width:0;min-height:620px;position:relative}
.gw-ct-preview{position:absolute;width:min(64%,330px);margin:0!important;padding:9px 9px 14px;border-radius:8px;background:#fffaf0;box-shadow:0 20px 40px rgba(24,49,59,.16);border:1px solid #dde1d6}
.gw-ct-preview img{display:block;width:100%!important;height:auto!important;max-width:100%!important;object-fit:contain!important;margin:0!important;border:1px solid #e5e6df}
.gw-ct-preview figcaption{text-align:center;font-size:.74rem;color:#516b67;font-weight:700;line-height:1.35;margin-top:9px}
.gw-ct-preview--front{left:2%;top:8%;transform:rotate(-8deg);z-index:2}
.gw-ct-preview--back{right:2%;bottom:3%;transform:rotate(7deg);z-index:1}
.gw-ct-for-you{background:#f3ece0;padding:88px 0}
.gw-ct-for-you-grid{display:grid;grid-template-columns:1fr .93fr;gap:75px;align-items:center}
.gw-ct-for-you-copy{max-width:520px}
.gw-ct-affirmation{font-family:'Bricolage Grotesque',Arial,sans-serif;font-weight:800;font-size:1.29rem!important;line-height:1.4!important;color:var(--ct-teal);margin-top:23px}
.gw-ct-faq{background:var(--ct-cream);padding:94px 0}
.gw-ct-faq-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:65px;align-items:start}
.gw-ct-questions{border-top:1px solid #d6dcd3}
.gw-ct-questions details{border-bottom:1px solid #d6dcd3;padding:18px 0}
.gw-ct-questions summary{cursor:pointer;list-style:none;font-family:'Bricolage Grotesque',Arial,sans-serif;font-weight:750;font-size:1.09rem;position:relative;padding:3px 30px 3px 0}
.gw-ct-questions summary::-webkit-details-marker{display:none}
.gw-ct-questions summary::after{content:'+';position:absolute;right:4px;top:2px;font-family:Arial,sans-serif;color:var(--ct-teal);font-size:1.45rem;font-weight:400}
.gw-ct-questions details[open] summary::after{content:'−'}
.gw-ct-questions details p{font-size:.97rem;max-width:530px;margin:14px 28px 4px 0;color:#41575e}
.gw-ct-closing{background:var(--ct-ink);color:var(--ct-white);padding:90px 0 93px;text-align:center;position:relative}
.gw-ct-closing::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 0,rgba(0,117,121,.38),transparent 57%);pointer-events:none}
.gw-ct-closing-inner{position:relative;z-index:1}
.gw-ct-closing-symbol{color:var(--ct-coral);font-size:2.1rem}
.gw-ct-closing .gw-ct-kicker{color:var(--ct-gold);margin-top:8px}
.gw-ct-closing h2{color:white;margin:0 auto 19px;font-size:clamp(2.55rem,4.5vw,4.7rem);max-width:960px}
.gw-ct-closing h2 em{color:var(--ct-gold)}
.gw-ct-closing-inner>p:not(.gw-ct-kicker){color:#d4e6df}
.gw-ct-closing .gw-ct-button{margin:18px auto 12px}
.gw-ct-closing .gw-ct-closing-note{font-size:.79rem!important;letter-spacing:.055em;margin-top:20px}
.gw-ct-more{background:#f3f0e8;padding:25px 0}
.gw-ct-more .gw-ct-container{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.gw-ct-more span{font-weight:700;font-size:.88rem}
.gw-ct-more a{font-size:.87rem;color:var(--ct-teal)!important;font-weight:800}
.gw-ct-more a:hover{text-decoration:underline}
@media(max-width:1020px){.gw-ct-opening-grid{gap:35px}.gw-ct-cover-area{min-height:520px}.gw-ct-cover-frame{width:min(335px,90%)}.gw-ct-outcome-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gw-ct-inside-grid{gap:32px}.gw-ct-preview-papers{min-height:500px}.gw-ct-preview{width:min(69%,300px)}.gw-ct-for-you-grid{gap:40px}}
@media(max-width:760px){.gw-ct-container{width:calc(100% - 36px)}.gw-ct-opening{padding:57px 0 70px}.gw-ct-opening-grid,.gw-ct-trail-heading,.gw-ct-inside-grid,.gw-ct-for-you-grid,.gw-ct-faq-grid{grid-template-columns:1fr;gap:24px}.gw-ct-opening-copy h2{font-size:clamp(2.55rem,8vw,3.9rem)}.gw-ct-cover-area{min-height:515px;max-width:450px;width:100%;margin:0 auto;padding:32px 10px 42px}.gw-ct-cover-frame{width:min(290px,84%)}.gw-ct-cover-label{bottom:20px;right:10px}.gw-ct-outcomes,.gw-ct-trail,.gw-ct-inside,.gw-ct-faq{padding:70px 0}.gw-ct-for-you{padding:66px 0}.gw-ct-section-intro{margin-bottom:30px}.gw-ct-trail-heading{margin-bottom:30px}.gw-ct-trail-heading>p{max-width:580px}.gw-ct-inside-grid{gap:12px}.gw-ct-preview-papers{min-height:540px;width:100%;max-width:580px;margin:0 auto}.gw-ct-preview--front{left:8%}.gw-ct-preview--back{right:8%}.gw-ct-closing{padding:75px 0}.gw-ct-more .gw-ct-container{gap:14px 22px}}
@media(max-width:510px){.gw-ct-page h2{font-size:clamp(2.2rem,10.5vw,3.25rem)}.gw-ct-kicker{font-size:.66rem!important;letter-spacing:.12em}.gw-ct-opening-copy h2{font-size:clamp(2.35rem,10.9vw,3.55rem)}.gw-ct-page p{font-size:.96rem}.gw-ct-opening{padding:46px 0 57px}.gw-ct-action{align-items:stretch}.gw-ct-button{width:100%;gap:10px;min-height:56px}.gw-ct-action-note{text-align:center}.gw-ct-cover-area{min-height:435px}.gw-ct-cover-frame{width:min(250px,77%)}.gw-ct-cover-label{bottom:17px;font-size:.55rem;padding:11px 9px}.gw-ct-outcome-grid,.gw-ct-day-grid{grid-template-columns:1fr}.gw-ct-outcome{padding:21px 22px}.gw-ct-day{padding:21px 21px 23px}.gw-ct-day--last{grid-column:auto;grid-template-columns:45px 1fr;gap:0 14px}.gw-ct-day--last .gw-ct-day-number{width:39px;height:39px}.gw-ct-preview-papers{min-height:420px}.gw-ct-preview{width:min(67%,240px)}.gw-ct-preview--front{left:2%;top:5%}.gw-ct-preview--back{right:3%;bottom:3%}.gw-ct-preview figcaption{font-size:.62rem}.gw-ct-more .gw-ct-container{align-items:flex-start;flex-direction:column;gap:12px}.gw-ct-more span{margin-bottom:3px}}
@media(max-width:360px){.gw-ct-container{width:calc(100% - 28px)}.gw-ct-cover-area{min-height:390px}.gw-ct-cover-frame{width:min(228px,81%)}.gw-ct-preview-papers{min-height:360px}.gw-ct-preview{width:min(69%,205px)}.gw-ct-page h2{font-size:2.2rem}}
@media(prefers-reduced-motion:reduce){.gw-ct-button,.gw-ct-day{transition:none}.gw-ct-button:hover{transform:none}}

.gw-ct-page .gw-ct-guide-v2{background:#e4f0ec;padding:88px 0 96px;color:#18313b;isolation:isolate}
.gw-ct-page .gw-ct-guide-v2 *{box-sizing:border-box}
.gw-ct-page .gw-ct-guide-v2__inner{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:center;gap:clamp(32px,5vw,82px);width:calc(100% - 48px);max-width:1180px;margin:0 auto}
.gw-ct-page .gw-ct-guide-v2__content,.gw-ct-page .gw-ct-guide-v2__previews{min-width:0;width:100%}
.gw-ct-page .gw-ct-guide-v2__eyebrow{margin:0 0 20px!important;color:#007579;font-size:.75rem!important;font-weight:800;letter-spacing:.16em;line-height:1.5;text-transform:uppercase}
.gw-ct-page .gw-ct-guide-v2__eyebrow span{color:#ff795b;font-size:1.25rem;margin-right:12px;letter-spacing:0}
.gw-ct-page .gw-ct-guide-v2 h2{max-width:640px;margin:0 0 20px!important;font-family:'Bricolage Grotesque',Arial,sans-serif;font-size:clamp(2.35rem,3.7vw,3.6rem)!important;line-height:1.11!important;letter-spacing:-.045em;font-weight:800;color:#18313b;overflow-wrap:normal;word-break:normal}
.gw-ct-page .gw-ct-guide-v2 h2 em{display:inline;color:#007579;font-style:normal}
.gw-ct-page .gw-ct-guide-v2__lead{max-width:570px;margin:0 0 26px!important;color:#31565e;font-size:1rem!important;line-height:1.7!important}
.gw-ct-page .gw-ct-guide-v2__features{display:flex;flex-direction:column;gap:10px;min-width:0;margin:0 0 27px}
.gw-ct-page .gw-ct-guide-v2__feature{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:15px;width:100%;min-width:0;margin:0;padding:16px 17px;background:rgba(255,255,255,.78);border:1px solid #c9dcd6;border-radius:14px;box-shadow:none}
.gw-ct-page .gw-ct-guide-v2__symbol{display:flex;align-items:center;justify-content:center;flex:0 0 37px;width:37px;height:37px;border-radius:10px;background:#d7f0ec;color:#007579;font-size:1.32rem;line-height:1}
.gw-ct-page .gw-ct-guide-v2__feature:nth-child(2) .gw-ct-guide-v2__symbol{background:#fce5dc;color:#af513d}
.gw-ct-page .gw-ct-guide-v2__feature:nth-child(3) .gw-ct-guide-v2__symbol{background:#eae2ff;color:#7759b9}
.gw-ct-page .gw-ct-guide-v2__feature-copy{display:block!important;flex:1 1 auto!important;width:auto!important;min-width:0!important;max-width:none!important;overflow-wrap:normal!important;word-break:normal!important}
.gw-ct-page .gw-ct-guide-v2__feature-copy h3{display:block;margin:0 0 4px!important;font-family:'Bricolage Grotesque',Arial,sans-serif;font-size:1.13rem!important;line-height:1.26!important;letter-spacing:-.025em;color:#18313b}
.gw-ct-page .gw-ct-guide-v2__feature-copy p{display:block;margin:0!important;color:#416069;font-size:.93rem!important;line-height:1.52!important;max-width:none!important;white-space:normal!important}
.gw-ct-page .gw-ct-guide-v2__link{display:inline-flex;align-items:center;gap:12px;color:#007579!important;text-decoration:none;font-weight:800;font-size:.99rem;border-bottom:2px solid currentColor;padding-bottom:4px}
.gw-ct-page .gw-ct-guide-v2__link:hover{color:#00575b!important}
.gw-ct-page .gw-ct-guide-v2__previews{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;align-items:start;background:#d2e5df;border:1px solid #c3d9d3;border-radius:22px;padding:20px}
.gw-ct-page .gw-ct-guide-v2__page{position:static!important;display:block;width:100%!important;max-width:none!important;min-width:0;margin:0!important;padding:8px 8px 12px!important;background:#fffaf0;border:1px solid #e3e0d5;border-radius:9px;box-shadow:0 8px 24px rgba(24,49,59,.10);transform:none!important}
.gw-ct-page .gw-ct-guide-v2__page:nth-child(2){margin-top:35px!important}
.gw-ct-page .gw-ct-guide-v2__page img{display:block;position:static!important;width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;border:1px solid #e1e4dd;margin:0!important;padding:0!important;transform:none!important}
.gw-ct-page .gw-ct-guide-v2__page figcaption{margin:10px 0 0!important;font-size:.79rem;line-height:1.4;color:#3c6265;font-weight:750;text-align:center}
@media(max-width:900px){.gw-ct-page .gw-ct-guide-v2{padding:74px 0}.gw-ct-page .gw-ct-guide-v2__inner{grid-template-columns:1fr;gap:32px}.gw-ct-page .gw-ct-guide-v2 h2{max-width:760px}.gw-ct-page .gw-ct-guide-v2__previews{max-width:670px;margin:0 auto}}
@media(max-width:480px){.gw-ct-page .gw-ct-guide-v2{padding:58px 0 65px}.gw-ct-page .gw-ct-guide-v2__inner{width:calc(100% - 32px)}.gw-ct-page .gw-ct-guide-v2 h2{font-size:clamp(2rem,9.6vw,2.6rem)!important}.gw-ct-page .gw-ct-guide-v2__feature{padding:13px;gap:11px}.gw-ct-page .gw-ct-guide-v2__symbol{flex-basis:32px;width:32px;height:32px}.gw-ct-page .gw-ct-guide-v2__previews{padding:12px;gap:9px}.gw-ct-page .gw-ct-guide-v2__page{padding:5px 5px 9px!important}.gw-ct-page .gw-ct-guide-v2__page:nth-child(2){margin-top:19px!important}.gw-ct-page .gw-ct-guide-v2__page figcaption{font-size:.68rem}}

