: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:1.2rem !important;
    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:5.5rem !important;
    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 */
.prototype-rail {
    position:fixed;
    z-index:1010;
    right:18px;
    bottom:17px;
    background:#F7EACB;
    color:var(--ink);
    border:1px solid #D6BD7C;
    box-shadow:0 8px 20px #07252D38;
    padding:10px 13px;
    display:flex;
    gap:11px;
    align-items:center;
    border-radius:12px;
    font-size:.65rem;
    letter-spacing:.08em
}
.prototype-rail>span:first-child {
    color:#A16835;
    font-size:1.25rem
}
.prototype-rail button {
    border:1px solid #A69C83;
    background:transparent;
    border-radius:7px;
    cursor:pointer;
    color:var(--ink);
    font-size:.69rem;
    padding:5px 8px;
    font-weight:700;
    letter-spacing:0
}
.prototype-rail button:hover {
    background:#F5D990
}
.proto-version {
    font-size:.62rem;
    color:#607174
}
.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
}
.gw-fg02 {
  --fg-ink:#18313b;
  --fg-teal:#007579;
  --fg-cream:#fff9ee;
  --fg-coral:#ff795b;
  --fg-gold:#ffe078;
  --fg-lilac:#ae92ee;
  --fg-mint:#d7f0ec;
  font-family:'Atkinson Hyperlegible Next',Arial,sans-serif;
  color:var(--fg-ink);
  width:100%;
  line-height:1.6;
  overflow:hidden
}
.gw-fg02,.gw-fg02 *,.gw-fg02 *::before,.gw-fg02 *::after {
  box-sizing:border-box
}
.gw-fg02 .gw-fg02-shell {
  width:calc(100% - 48px);
  max-width:1200px;
  margin:0 auto
}
.gw-fg02 h2,.gw-fg02 h3,.gw-fg02 p,.gw-fg02 figure,.gw-fg02 blockquote {
  margin-top:0
}
.gw-fg02 h2,.gw-fg02 h3 {
  font-family:'Bricolage Grotesque',Arial,sans-serif;
  font-weight:800;
  letter-spacing:-.045em;
  color:inherit
}
.gw-fg02 h2 {
  font-size:clamp(2.25rem,4.3vw,4.3rem);
  line-height:1.1;
  margin-bottom:20px
}
.gw-fg02 h3 {
  font-size:clamp(1.18rem,1.55vw,1.5rem);
  line-height:1.18
}
.gw-fg02 h2 em {
  font-style:normal;
  color:var(--fg-teal)
}
.gw-fg02 p {
  font-size:1.025rem;
  line-height:1.7;
  margin:0 0 15px
}
.gw-fg02 a {
  text-decoration:none
}
.gw-fg02 a:focus-visible,.gw-fg02 summary:focus-visible {
  outline:3px solid var(--fg-coral);
  outline-offset:4px
}
.gw-fg02 .gw-fg02-eyebrow {
  font-size:.77rem!important;
  letter-spacing:.18em;
  font-weight:800;
  text-transform:uppercase;
  line-height:1.5;
  margin:0 0 20px!important;
  color:var(--fg-teal)
}
.gw-fg02 .gw-fg02-eyebrow span {
  color:var(--fg-coral);
  font-size:1.35rem;
  letter-spacing:0;
  margin-right:10px;
  vertical-align:-.05em
}
.gw-fg02-opening {
  background:var(--fg-cream);
  padding:82px 0 98px
}
.gw-fg02-opening-grid {
  display:grid;
  grid-template-columns:minmax(0,1.13fr) minmax(0,.87fr);
  gap:clamp(34px,6vw,105px);
  align-items:center
}
.gw-fg02-opening-copy,.gw-fg02-cover-area {
  min-width:0
}
.gw-fg02-opening-copy h2 {
  font-size:clamp(2.65rem,4.7vw,5.15rem);
  max-width:710px
}
.gw-fg02-opening-copy>.gw-fg02-lead {
  font-size:clamp(1.12rem,1.5vw,1.26rem);
  font-weight:650;
  line-height:1.62;
  margin-bottom:20px
}
.gw-fg02-opening-copy>p:not(.gw-fg02-eyebrow) {
  max-width:620px
}
.gw-fg02-download-group {
  display:flex;
  align-items:flex-start;
  flex-direction:column;
  gap:13px;
  margin:28px 0 24px
}
.gw-fg02-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  min-height:54px;
  padding:14px 23px;
  border-radius:999px;
  font-size:1rem;
  font-weight:800;
  line-height:1.3;
  text-align:center;
  transition:background .2s ease,transform .2s ease,box-shadow .2s ease;
  box-shadow:0 7px 17px rgba(0,66,66,.10)
}
.gw-fg02-button:hover {
  transform:translateY(-2px);
  box-shadow:0 13px 24px rgba(0,66,66,.15)
}
.gw-fg02 .gw-fg02-button-primary {
  background:var(--fg-teal)!important;
  color:white!important
}
.gw-fg02 .gw-fg02-button-primary:hover {
  background:#005c61!important
}
.gw-fg02-download-note {
  font-size:.85rem;
  line-height:1.45;
  color:#576c70;
  font-weight:700
}
.gw-fg02 .gw-fg02-opening-note {
  display:flex;
  gap:12px;
  align-items:center;
  font-size:.93rem;
  background:#e8f1ea;
  border-left:4px solid var(--fg-teal);
  border-radius:0 12px 12px 0;
  padding:13px 17px;
  margin:0;
  max-width:560px
}
.gw-fg02-opening-note span {
  font-size:1.4rem;
  color:var(--fg-teal)
}
.gw-fg02-cover-area {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:18px
}
.gw-fg02-cover-backdrop {
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  max-width:440px;
  min-height:600px;
  padding:35px;
  background:radial-gradient(circle at 80% 17%,rgba(255,224,120,.48),transparent 38%),linear-gradient(155deg,#e4eeea 5%,#e8dffa 60%,#fce6d7);
  border-radius:47% 45% 39% 44%
}
.gw-fg02 .gw-fg02-cover-paper {
  position:static!important;
  display:block!important;
  width:min(325px,100%)!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  border:7px solid white;
  border-radius:7px;
  overflow:hidden;
  background:#fff;
  transform:rotate(-2deg)!important;
  box-shadow:14px 17px 0 rgba(24,49,59,.12),0 20px 55px rgba(24,49,59,.19)
}
.gw-fg02 .gw-fg02-cover-paper img {
  display:block!important;
  position:static!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  transform:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important
}
.gw-fg02-cover-caption {
  color:#4c6465;
  font-weight:800;
  font-size:.72rem;
  letter-spacing:.1em;
  text-align:center
}
.gw-fg02-promise {
  background:#f1efe6;
  padding:96px 0 108px
}
.gw-fg02-section-lead {
  max-width:820px;
  margin-bottom:40px
}
.gw-fg02-section-lead>p:last-child {
  max-width:655px;
  color:#415c60;
  font-size:1.1rem
}
.gw-fg02-promise-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px
}
.gw-fg02-promise-card {
  min-width:0;
  padding:29px 28px 33px;
  background:white;
  border:1px solid #dce3dc;
  border-radius:17px;
  box-shadow:0 13px 28px rgba(24,49,59,.04);
  border-top:5px solid var(--fg-teal)
}
.gw-fg02-promise-card:nth-child(2) {
  border-top-color:var(--fg-coral)
}
.gw-fg02-promise-card:nth-child(3) {
  border-top-color:var(--fg-lilac)
}
.gw-fg02-promise-number {
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.13em;
  color:var(--fg-teal)
}
.gw-fg02-promise-card:nth-child(2) .gw-fg02-promise-number {
  color:#b45d43
}
.gw-fg02-promise-card:nth-child(3) .gw-fg02-promise-number {
  color:#755bb0
}
.gw-fg02-promise-card h3 {
  margin:18px 0 9px
}
.gw-fg02-promise-card p {
  margin:0;
  color:#455f63;
  font-size:.99rem
}
.gw-fg02-stops-section {
  background:var(--fg-cream);
  padding:102px 0 100px
}
.gw-fg02-stops-heading {
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:45px;
  align-items:end;
  margin-bottom:38px
}
.gw-fg02-stops-heading h2 {
  margin:0
}
.gw-fg02-stops-heading>p {
  max-width:380px;
  color:#3d5c61;
  margin-bottom:7px;
  font-size:1.12rem
}
.gw-fg02-stops-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:17px
}
.gw-fg02-stop {
  display:flex;
  gap:17px;
  min-width:0;
  align-items:flex-start;
  background:white;
  border:1px solid #e0e2d8;
  border-radius:16px;
  padding:24px 19px 26px;
  box-shadow:0 8px 22px rgba(24,49,59,.035)
}
.gw-fg02-stop-number {
  display:flex;
  flex:0 0 43px;
  align-items:center;
  justify-content:center;
  width:43px;
  height:43px;
  border-radius:13px;
  background:var(--fg-coral);
  color:var(--fg-ink);
  font-weight:900;
  font-size:1.05rem
}
.gw-fg02-stop-gold .gw-fg02-stop-number {
  background:var(--fg-gold)
}
.gw-fg02-stop-lilac .gw-fg02-stop-number {
  background:#e1d7fa
}
.gw-fg02-stop-mint .gw-fg02-stop-number {
  background:var(--fg-mint)
}
.gw-fg02-stop-copy {
  min-width:0;
  flex:1 1 auto
}
.gw-fg02-stop-category {
  display:block;
  color:var(--fg-teal);
  font-size:.72rem;
  letter-spacing:.13em;
  font-weight:800;
  margin:0 0 8px
}
.gw-fg02-stop h3 {
  font-size:1.2rem;
  margin:0 0 9px
}
.gw-fg02-stop p {
  font-size:.91rem;
  color:#466166;
  line-height:1.56;
  margin:0
}
.gw-fg02 .gw-fg02-stops-aside {
  margin:23px 0 0;
  padding:15px 19px;
  background:#e8f1eb;
  border:1px solid #cde3d8;
  border-radius:12px;
  font-size:.94rem;
  color:#315b5d
}
.gw-fg02-stops-aside span {
  color:var(--fg-coral);
  margin-right:7px;
  font-size:1.15rem
}
.gw-fg02-inside {
  background:#18313b;
  color:#fff9ee;
  padding:107px 0 111px
}
.gw-fg02-inside-grid {
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
  align-items:center;
  gap:clamp(32px,6vw,82px)
}
.gw-fg02-inside-copy,.gw-fg02-previews {
  min-width:0
}
.gw-fg02-inside .gw-fg02-eyebrow {
  color:var(--fg-gold)
}
.gw-fg02-inside h2 {
  color:white;
  font-size:clamp(2.3rem,4.1vw,4.1rem)
}
.gw-fg02-inside h2 em {
  color:var(--fg-gold)
}
.gw-fg02-inside-copy>p:not(.gw-fg02-eyebrow) {
  max-width:540px;
  color:#d3e7e5
}
.gw-fg02-feature-list {
  display:flex;
  flex-direction:column;
  gap:9px;
  margin:27px 0 27px
}
.gw-fg02-feature {
  display:flex!important;
  align-items:flex-start;
  gap:15px;
  min-width:0;
  padding:15px 17px;
  border:1px solid rgba(215,240,236,.2);
  background:rgba(255,255,255,.065);
  border-radius:13px
}
.gw-fg02-feature>div {
  min-width:0;
  flex:1
}
.gw-fg02-feature-icon {
  display:flex;
  flex:0 0 35px;
  align-items:center;
  justify-content:center;
  height:35px;
  border-radius:10px;
  background:rgba(255,224,120,.12);
  color:var(--fg-gold);
  font-size:1.35rem
}
.gw-fg02-feature h3 {
  color:#fff9ee;
  font-size:1.09rem;
  margin:0 0 4px
}
.gw-fg02-feature p {
  color:#c6dcda;
  font-size:.92rem;
  line-height:1.53;
  margin:0
}
.gw-fg02 .gw-fg02-text-link {
  color:var(--fg-gold)!important;
  display:inline-flex;
  align-items:center;
  gap:10px;
  border-bottom:2px solid currentColor;
  padding-bottom:3px;
  font-weight:800
}
.gw-fg02-previews {
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:13px;
  align-items:center;
  width:100%!important;
  max-width:none!important;
  padding:18px;
  background:rgba(215,240,236,.10);
  border:1px solid rgba(215,240,236,.18);
  border-radius:19px
}
.gw-fg02 .gw-fg02-preview-page {
  position:static!important;
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:7px 7px 12px!important;
  transform:none!important;
  background:#fffaf0;
  border:1px solid #d3e0d9;
  border-radius:8px;
  box-shadow:0 10px 24px rgba(0,0,0,.17)
}
.gw-fg02 .gw-fg02-preview-page:nth-child(2) {
  margin-top:42px!important
}
.gw-fg02-preview-page img {
  display:block!important;
  position:static!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  transform:none!important
}
.gw-fg02-preview-page figcaption {
  color:#38565b;
  font-size:.62rem;
  font-weight:800;
  letter-spacing:.06em;
  line-height:1.4;
  text-align:center;
  margin:9px 0 0!important
}
.gw-fg02-example {
  background:#e6f0ec;
  padding:96px 0
}
.gw-fg02-example-grid {
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  gap:clamp(34px,6vw,90px);
  align-items:center
}
.gw-fg02-example-grid>div {
  min-width:0
}
.gw-fg02-example-grid>div:first-child>p:last-child {
  max-width:550px;
  color:#3a5b61
}
.gw-fg02-example-card {
  padding:33px 36px;
  border-radius:18px;
  background:var(--fg-cream);
  border:1px solid #cadfd8;
  box-shadow:0 17px 32px rgba(24,49,59,.07)
}
.gw-fg02 .gw-fg02-example-label {
  font-size:.75rem;
  letter-spacing:.12em;
  color:var(--fg-teal);
  font-weight:900;
  margin-bottom:20px
}
.gw-fg02 .gw-fg02-example-card blockquote {
  font-family:Georgia,serif;
  font-size:clamp(1.35rem,2.05vw,2rem);
  line-height:1.4;
  font-style:italic;
  color:var(--fg-ink);
  padding:0 0 0 19px;
  margin:0 0 22px!important;
  border-left:4px solid var(--fg-coral)
}
.gw-fg02 .gw-fg02-example-card>p:last-child {
  margin-bottom:0;
  color:#426067;
  font-size:.96rem
}
.gw-fg02-faq {
  background:var(--fg-cream);
  padding:103px 0
}
.gw-fg02-faq-grid {
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:clamp(32px,6vw,82px)
}
.gw-fg02-faq-grid>div {
  min-width:0
}
.gw-fg02-faq-list {
  display:flex;
  flex-direction:column;
  gap:10px
}
.gw-fg02-faq-list details {
  display:block;
  border:1px solid #deded3;
  background:white;
  border-radius:13px;
  padding:19px 21px
}
.gw-fg02-faq-list summary {
  cursor:pointer;
  color:var(--fg-ink);
  font-weight:800;
  font-size:1.06rem;
  line-height:1.5
}
.gw-fg02-faq-list details p {
  margin:14px 0 0;
  font-size:.96rem;
  color:#3a5c62
}
.gw-fg02-final {
  background:var(--fg-teal);
  color:white;
  text-align:center;
  padding:105px 0 102px
}
.gw-fg02-final-inner {
  max-width:880px!important;
  display:flex;
  flex-direction:column;
  align-items:center
}
.gw-fg02-final-star {
  color:var(--fg-gold);
  font-size:2.35rem;
  line-height:1;
  margin-bottom:18px
}
.gw-fg02-final .gw-fg02-eyebrow {
  color:var(--fg-gold)
}
.gw-fg02-final h2 {
  max-width:850px;
  color:white
}
.gw-fg02-final h2 em {
  color:var(--fg-gold)
}
.gw-fg02-final-inner>p:not(.gw-fg02-eyebrow) {
  max-width:700px;
  color:#d6f0eb
}
.gw-fg02 .gw-fg02-button-gold {
  background:var(--fg-gold)!important;
  color:var(--fg-ink)!important;
  margin-top:14px
}
.gw-fg02 .gw-fg02-button-gold:hover {
  background:#ffed9e!important
}
.gw-fg02 .gw-fg02-final-fine {
  font-size:.78rem;
  margin:25px 0 0;
  opacity:.82;
  letter-spacing:.03em
}
.gw-fg02-more {
  background:#f0ece3;
  padding:27px 0
}
.gw-fg02-more-inner {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:16px 28px
}
.gw-fg02-more-inner span {
  font-size:.92rem;
  color:#3b5a5e
}
.gw-fg02 .gw-fg02-more a {
  color:var(--fg-teal)!important;
  font-size:.91rem;
  font-weight:800
}
@media(max-width:1080px) {
  .gw-fg02-stops-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .gw-fg02-opening-grid {
    gap:34px
  }
  .gw-fg02-cover-backdrop {
    min-height:510px;
    padding:24px
  }
  .gw-fg02 .gw-fg02-cover-paper {
    width:min(280px,100%)!important
  }
}
@media(max-width:900px) {
  .gw-fg02-opening-grid,.gw-fg02-inside-grid,.gw-fg02-example-grid,.gw-fg02-faq-grid {
    grid-template-columns:1fr
  }
  .gw-fg02-opening,.gw-fg02-promise,.gw-fg02-stops-section,.gw-fg02-inside,.gw-fg02-example,.gw-fg02-faq,.gw-fg02-final {
    padding:78px 0
  }
  .gw-fg02-cover-backdrop {
    min-height:500px;
    max-width:440px
  }
  .gw-fg02-cover-area {
    justify-self:center;
    width:100%
  }
  .gw-fg02-inside-grid {
    gap:32px
  }
  .gw-fg02-previews {
    max-width:690px;
    margin:0 auto
  }
  .gw-fg02-faq-grid {
    gap:28px
  }
  .gw-fg02-stops-heading {
    grid-template-columns:1fr;
    gap:18px
  }
  .gw-fg02-stops-heading>p {
    max-width:650px
  }
  .gw-fg02-promise-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .gw-fg02-promise-card:last-child {
    grid-column:1/-1
  }
}
@media(max-width:600px) {
  .gw-fg02 .gw-fg02-shell {
    width:calc(100% - 32px)
  }
  .gw-fg02-opening,.gw-fg02-promise,.gw-fg02-stops-section,.gw-fg02-inside,.gw-fg02-example,.gw-fg02-faq,.gw-fg02-final {
    padding:60px 0
  }
  .gw-fg02 h2 {
    font-size:clamp(2.08rem,9.1vw,2.9rem)
  }
  .gw-fg02-opening-copy h2 {
    font-size:clamp(2.45rem,10vw,3.25rem)
  }
  .gw-fg02-promise-grid,.gw-fg02-stops-grid {
    grid-template-columns:1fr
  }
  .gw-fg02-promise-card:last-child {
    grid-column:auto
  }
  .gw-fg02-cover-backdrop {
    min-height:420px;
    padding:28px
  }
  .gw-fg02 .gw-fg02-cover-paper {
    width:min(245px,90%)!important
  }
  .gw-fg02-stop {
    padding:18px 16px
  }
  .gw-fg02-stop h3 {
    font-size:1.16rem
  }
  .gw-fg02-previews {
    padding:11px;
    gap:9px
  }
  .gw-fg02 .gw-fg02-preview-page {
    padding:5px 5px 9px!important
  }
  .gw-fg02 .gw-fg02-preview-page:nth-child(2) {
    margin-top:20px!important
  }
  .gw-fg02-preview-page figcaption {
    font-size:.55rem
  }
  .gw-fg02-example-card {
    padding:24px
  }
  .gw-fg02-button {
    width:100%
  }
  .gw-fg02-download-group {
    width:100%
  }
  .gw-fg02-more-inner {
    flex-direction:column;
    text-align:center
  }
}
@media(max-width:360px) {
  .gw-fg02-cover-backdrop {
    min-height:375px
  }
  .gw-fg02 .gw-fg02-cover-paper {
    width:min(215px,88%)!important
  }
  .gw-fg02-promise-card {
    padding:23px
  }
  .gw-fg02-cover-caption {
    font-size:.64rem
  }
}
@media(prefers-reduced-motion:reduce) {
  .gw-fg02-button {
    transition:none
  }
  .gw-fg02-button:hover {
    transform:none
  }
}

