@font-face{font-family:Inter;src:url("inter.woff2") format("woff2");font-style:normal;font-weight:100 900;font-display:swap;}
@font-face{font-family:"Bricolage Grotesque";src:url("bricolage-grotesque.woff2") format("woff2");font-style:normal;font-weight:200 800;font-display:swap;}

:root{
  --page:#fff9f2;
  --surface:#fffdf8;
  --ink:#17211d;
  --muted:#53615b;
  --line:#33433c;
  --ember:#ad4518;
  --leaf:#245941;
  --blue:#315c91;
  --violet:#654c83;
  --soft-ember:#f7e2d7;
  --soft-leaf:#e0ece3;
  --soft-blue:#e2eaf3;
  --soft-violet:#ebe4f0;
  --on-accent:#fffaf2;
  --active-accent:var(--ember);
  --header-height:76px;
  --content-width:1180px;
}

html[data-theme="dark"]{
  --page:#121814;
  --surface:#1c2520;
  --ink:#f4efe7;
  --muted:#bbc4bd;
  --line:#8d9991;
  --ember:#ff8a4c;
  --leaf:#7fc59d;
  --blue:#8eb7ed;
  --violet:#c7a6e8;
  --soft-ember:#271d18;
  --soft-leaf:#18261f;
  --soft-blue:#19232d;
  --soft-violet:#251f2b;
  --on-accent:#121814;
}

*{box-sizing:border-box;letter-spacing:0;}
html{scroll-behavior:smooth;scroll-snap-type:y proximity;background:var(--page);}
body{margin:0;background:var(--page);color:var(--ink);font-family:Inter,Arial,sans-serif;overflow-x:hidden;transition:background-color .45s ease,color .45s ease;}
h1,h2,h3,.brand,.chapter-number{font-family:"Bricolage Grotesque",Inter,Arial,sans-serif;}
body.pp-interactive-home .pp-theme-toggle{display:none!important;}
body.pp-interactive-home h1,
body.pp-interactive-home h2,
body.pp-interactive-home h3,
body.pp-interactive-home .trail-facts dd,
body.pp-interactive-home .trail-entry,
body.pp-interactive-home .experience-footer{color:var(--ink)!important;}
button,a{font:inherit;}
button{border-radius:0;}
a{color:inherit;}
img{display:block;max-width:100%;}
button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--active-accent);outline-offset:4px;}
.skip-link{position:fixed;left:14px;top:12px;z-index:500;padding:12px 16px;background:var(--ink);color:var(--page);transform:translateY(-160%);transition:transform .2s ease;}
.skip-link:focus{transform:none;}

.site-header{position:fixed;inset:0 0 auto;height:var(--header-height);z-index:100;border-bottom:1px solid color-mix(in srgb,var(--line),transparent 76%);background:color-mix(in srgb,var(--page),transparent 3%);transition:background-color .35s ease,color .35s ease;}
body.pp-interactive-home header.site-header{position:fixed!important;inset:0 0 auto!important;display:block!important;width:auto!important;max-width:none!important;margin:0!important;padding:0!important;background:color-mix(in srgb,var(--page),transparent 3%)!important;color:var(--ink)!important;}
body.admin-bar.pp-interactive-home header.site-header{top:32px!important;}
.site-header__inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:0;width:min(100%,1440px);height:100%;margin:0 auto;padding:0 30px;}
body.pp-interactive-home header.site-header .site-header__inner{display:grid!important;grid-template-columns:1fr auto 1fr!important;align-items:center!important;gap:0!important;width:min(100%,1440px)!important;height:100%!important;max-width:1440px!important;margin:0 auto!important;padding:0 30px!important;}
.brand{display:inline-flex;align-items:center;gap:10px;width:max-content;text-decoration:none;font-weight:720;}
body.pp-interactive-home header.site-header .site-header__inner>.brand{grid-column:1!important;grid-row:1!important;justify-self:start!important;order:0!important;margin:0!important;}
.brand-mark{display:grid;place-items:center;width:30px;height:30px;background:var(--active-accent);color:var(--on-accent);font-size:14px;transition:transform .35s cubic-bezier(.2,.8,.2,1),background-color .4s ease;}
.brand:hover .brand-mark{transform:rotate(-8deg) scale(1.06);}
.primary-nav{display:flex;align-items:center;gap:30px;}
body.pp-interactive-home header.site-header .site-header__inner>.primary-nav{grid-column:2!important;grid-row:1!important;order:0!important;margin:0!important;}
.primary-nav a{position:relative;padding:8px 0;color:var(--muted);font-size:13px;font-weight:750;text-decoration:none;}
body.pp-interactive-home header.site-header .primary-nav a{color:var(--muted)!important;}
.primary-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:2px;background:var(--active-accent);transition:right .25s ease;}
.primary-nav a:hover,.primary-nav a[aria-current="true"]{color:var(--ink);}
body.pp-interactive-home header.site-header .primary-nav a:hover,
body.pp-interactive-home header.site-header .primary-nav a[aria-current="true"]{color:var(--ink)!important;}
.primary-nav a:hover::after,.primary-nav a[aria-current="true"]::after{right:0;}
.header-actions{justify-self:end;display:flex;align-items:center;gap:10px;}
body.pp-interactive-home header.site-header .site-header__inner>.header-actions{grid-column:3!important;grid-row:1!important;justify-self:end!important;order:0!important;margin:0!important;}
.saved-shortcut,.resume-shortcut{display:flex;align-items:center;gap:7px;max-width:170px;padding:9px 11px;border:1px solid color-mix(in srgb,var(--line),transparent 55%);color:var(--muted);font-size:11px;font-weight:800;text-decoration:none;white-space:nowrap;overflow:hidden;}
body.pp-interactive-home header.site-header :is(.saved-shortcut,.resume-shortcut){background:transparent!important;color:var(--muted)!important;}
:is(.saved-shortcut,.resume-shortcut) span:last-child{overflow:hidden;text-overflow:ellipsis;}
:is(.saved-shortcut,.resume-shortcut) span:first-child{color:var(--active-accent);}
.theme-toggle{display:grid;grid-template-columns:17px 34px 17px;align-items:center;gap:5px;height:40px;padding:0 7px;border:1px solid color-mix(in srgb,var(--line),transparent 50%);background:var(--surface);color:var(--ink);cursor:pointer;transition:transform .2s ease,background-color .3s ease;}
body.pp-interactive-home header.site-header .theme-toggle{border-color:color-mix(in srgb,var(--line),transparent 50%)!important;background:var(--surface)!important;color:var(--ink)!important;}
.theme-toggle:active{transform:scale(.95);}
.theme-icon{font-size:14px;line-height:1;text-align:center;}
.theme-track{position:relative;width:34px;height:18px;border:1px solid var(--line);background:var(--page);}
.theme-knob{position:absolute;left:2px;top:2px;width:12px;height:12px;background:var(--ember);transition:transform .34s cubic-bezier(.2,.8,.2,1),background-color .3s ease;}
html[data-theme="dark"] .theme-knob{transform:translateX(16px);background:var(--violet);}
.menu-toggle{display:none;width:42px;height:42px;padding:9px;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer;}
.menu-toggle span{display:block;height:2px;margin:4px 0;background:currentColor;transition:transform .25s ease,opacity .25s ease;}

.stage-rail{position:fixed;left:26px;top:50%;z-index:80;width:128px;transform:translateY(-43%);}
.stage-readout{display:flex;gap:5px;margin:0 0 14px;color:var(--ink)!important;font-size:10px;font-weight:850;}
.stage-readout span:nth-child(2){color:var(--muted);}
.stage-track{position:absolute;left:-8px;top:38px;width:1px;height:138px;background:color-mix(in srgb,var(--line),transparent 54%);}
.stage-track span{display:block;width:3px;height:25%;background:var(--active-accent);transform:translateX(-1px);transform-origin:top;transition:height .55s cubic-bezier(.2,.8,.2,1),background-color .4s ease;}
.stage-rail ol{position:relative;z-index:1;display:grid;gap:14px;margin:0;padding:0;list-style:none;}
.stage-rail a{display:flex;align-items:center;gap:9px;color:var(--muted)!important;font-size:10px;text-decoration:none;}
.stage-rail a span:first-child{display:grid;place-items:center;width:34px;height:24px;border:1px solid color-mix(in srgb,var(--line),transparent 48%);background:var(--page)!important;color:var(--muted)!important;font-weight:850;transition:color .25s ease,transform .25s ease,background-color .3s ease;}
.stage-rail a span:last-child{opacity:0;transform:translateX(-5px);transition:opacity .2s ease,transform .2s ease;white-space:nowrap;}
.stage-rail:hover a span:last-child,.stage-rail a[aria-current="true"] span:last-child{opacity:1;transform:none;}
.stage-rail a[aria-current="true"]{color:var(--ink)!important;}
.stage-rail a[aria-current="true"] span:first-child{border-color:var(--active-accent);background:var(--active-accent)!important;color:var(--on-accent)!important;transform:translateX(3px);}

.chapter{position:relative;min-height:calc(100svh - 14px);padding:calc(var(--header-height) + 52px) max(8vw,142px) 68px;scroll-snap-align:start;isolation:isolate;overflow:hidden;transition:background-color .45s ease,color .45s ease;}
.chapter:not(.hero-chapter){content-visibility:auto;contain-intrinsic-size:1000px;}
.chapter-number{position:absolute;right:4vw;top:calc(var(--header-height) + 18px);z-index:-1;color:color-mix(in srgb,var(--ink),transparent 95%);font-size:128px;font-weight:760;line-height:1;}
.eyebrow{margin:0 0 20px;color:var(--active-accent);font-size:11px;font-weight:900;text-transform:uppercase;}
.reveal{opacity:0;transform:translateY(34px);transition:opacity .78s ease,transform .78s cubic-bezier(.2,.8,.2,1);}
.reveal.is-visible{opacity:1;transform:none;}
.trails-chapter .reveal{transform:translateX(-42px);}
.trails-chapter .reveal.is-visible{transform:none;}
.stories-chapter .reveal{transform:translateY(48px) rotate(.4deg);}
.stories-chapter .reveal.is-visible{transform:none;}
.about-chapter .about-copy.reveal{transform:translateX(-42px);}
.about-chapter .about-portrait.reveal{transform:translateX(42px);}
.about-chapter .reveal.is-visible{transform:none;}
.section-heading{max-width:var(--content-width);}
.section-heading h2,.about-copy h2{max-width:760px;margin:0;font-size:58px;font-weight:700;line-height:1.01;}
.primary-action{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:52px;padding:0 20px;border:1px solid var(--ink);background:var(--ink);color:var(--page);font-weight:850;text-decoration:none;cursor:pointer;transition:transform .24s ease,box-shadow .24s ease,background-color .3s ease,color .3s ease;}
.primary-action:hover{transform:translate(-3px,-3px);box-shadow:6px 6px 0 var(--active-accent);}
.primary-action:active{transform:translate(1px,1px);box-shadow:2px 2px 0 var(--active-accent);}
.text-action{display:inline-flex;align-items:center;gap:10px;padding:7px 0;border:0;border-bottom:2px solid color-mix(in srgb,var(--active-accent),transparent 62%);background:transparent;color:var(--ink);font-weight:800;text-decoration:none;cursor:pointer;transition:border-color .2s ease,color .2s ease,transform .2s ease;}
.text-action:hover{border-bottom-color:var(--active-accent);transform:translateY(-2px);}
.button-link{text-align:left;}
body.pp-interactive-home .text-action.button-link{padding:7px 0!important;border:0!important;border-bottom:2px solid color-mix(in srgb,var(--active-accent),transparent 62%)!important;border-radius:0!important;background:transparent!important;color:var(--ink)!important;box-shadow:none!important;}
body.pp-interactive-home .text-action.button-link:hover{border-bottom-color:var(--active-accent)!important;background:transparent!important;color:var(--ink)!important;}

.hero-chapter{display:grid;grid-template-columns:minmax(430px,.9fr) minmax(480px,1.1fr);align-items:center;gap:34px;background:var(--page);}
.hero-copy{position:relative;z-index:6;max-width:650px;opacity:1;transform:none;animation:hero-copy-in .85s .12s cubic-bezier(.2,.8,.2,1) both;}
.hero-copy h1{margin:0;font-size:88px;font-weight:740;line-height:.9;}
.hero-intro{max-width:620px;margin:30px 0 34px;color:var(--muted);font-size:20px;line-height:1.65;}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:26px;}
.hero-scene{position:relative;align-self:stretch;min-height:640px;z-index:3;cursor:default;touch-action:pan-y;}
.mascot-stage{position:absolute;left:50%;bottom:56px;width:min(620px,100%);aspect-ratio:1;contain:layout paint;transform:translateX(-50%);transform-style:preserve-3d;will-change:transform;}
.mascot-shadow{position:absolute;left:23%;right:18%;bottom:8%;height:8%;border:1px solid color-mix(in srgb,var(--line),transparent 72%);background:color-mix(in srgb,var(--line),transparent 90%);transform:skewX(-15deg);animation:shadow-breathe 4.8s ease-in-out infinite;}
.hero-mascot-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transform:scale(.96) translateY(8px);transition:opacity .32s ease,transform .48s cubic-bezier(.2,.8,.2,1);will-change:opacity,transform;}
.hero-mascot-image.is-active{opacity:1;transform:none;}
.hero-scene.is-surprised .hero-mascot-image.is-active{animation:mascot-pop .65s cubic-bezier(.2,.9,.25,1);}
.mascot-caption{position:absolute;right:2%;bottom:78px;z-index:5;margin:0;padding:9px 12px;border-left:3px solid var(--active-accent);background:var(--surface)!important;color:var(--ink)!important;font-size:11px;font-weight:800;transition:background-color .3s ease;}
.scene-marker{position:absolute;z-index:2;display:flex;align-items:center;gap:7px;color:var(--muted)!important;font-size:10px;animation:marker-float 4.2s ease-in-out infinite;}
.scene-marker span{display:grid;place-items:center;width:35px;height:35px;border:1px solid var(--line);background:var(--surface)!important;color:var(--active-accent)!important;font-weight:900;}
.scene-marker b{font-weight:800;}
.scene-marker-one{left:4%;top:19%;}.scene-marker-two{right:2%;top:28%;animation-delay:-1s}.scene-marker-three{left:2%;bottom:19%;animation-delay:-2s}.scene-marker-four{right:0;bottom:27%;animation-delay:-3s}
.hero-paths{position:absolute;inset:0;z-index:-1;pointer-events:none;}
.hero-path{position:absolute;height:1px;background:color-mix(in srgb,var(--active-accent),transparent 50%);transform-origin:left;animation:path-pulse 5s ease-in-out infinite;}
.hero-path::after{content:"";position:absolute;right:-4px;top:-4px;width:9px;height:9px;border:1px solid var(--active-accent);background:var(--page);}
.hero-path-one{left:52%;top:42%;width:32%;transform:rotate(-23deg)}
.hero-path-two{left:56%;top:48%;width:35%;transform:rotate(9deg);animation-delay:-1s}
.hero-path-three{left:51%;top:54%;width:33%;transform:rotate(29deg);animation-delay:-2s}
.hero-path-four{left:48%;top:57%;width:27%;transform:rotate(52deg);animation-delay:-3s}
.next-chapter{position:absolute;left:max(8vw,142px);bottom:24px;display:flex;align-items:center;gap:16px;color:var(--muted);font-size:11px;font-weight:800;text-decoration:none;}
.next-chapter span:last-child{animation:nudge 1.8s ease-in-out infinite;}

.trails-chapter{background:var(--soft-leaf);}
.trail-heading{display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:60px;margin-bottom:46px;}
.trail-heading>p{max-width:480px;margin:0 0 5px;color:var(--muted);font-size:17px;line-height:1.65;}
.trail-explorer{display:grid;grid-template-columns:minmax(420px,.9fr) minmax(470px,1.1fr);gap:42px;max-width:var(--content-width);touch-action:pan-y;}
.trail-map{position:relative;min-height:520px;contain:layout paint;border-top:1px solid color-mix(in srgb,var(--line),transparent 55%);border-bottom:1px solid color-mix(in srgb,var(--line),transparent 55%);}
.trail-route{position:absolute;inset:24px 20px 34px;width:calc(100% - 40px);height:calc(100% - 58px);overflow:visible;}
.trail-route path{fill:none;stroke-width:2;vector-effect:non-scaling-stroke;}
.route-base{stroke:color-mix(in srgb,var(--line),transparent 66%);stroke-dasharray:3 7;}
.route-progress{stroke:var(--active-accent);stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .7s cubic-bezier(.2,.8,.2,1),stroke .3s ease;}
.trail-node{position:absolute;display:flex;align-items:center;gap:10px;padding:0;border:0;background:transparent;color:var(--muted);cursor:pointer;text-align:left;transition:transform .28s ease,color .28s ease;}
.trail-node:hover,.trail-node[aria-selected="true"]{color:var(--ink);transform:translateX(5px);}
.node-dot{display:grid;place-items:center;width:52px;height:52px;border:1px solid var(--line);background:var(--surface);transition:background-color .3s ease,box-shadow .3s ease,transform .3s ease;}
.node-dot span{font-size:10px;font-weight:900;}
.trail-node:hover .node-dot,.trail-node[aria-selected="true"] .node-dot{background:var(--active-accent);color:var(--on-accent);box-shadow:5px 5px 0 color-mix(in srgb,var(--active-accent),transparent 72%);transform:rotate(-3deg);}
.node-label{max-width:150px;font-size:13px;font-weight:780;}
.trail-node-one{left:5%;bottom:4%;}.trail-node-two{left:20%;top:60%;}.trail-node-three{left:44%;top:34%;}.trail-node-four{left:52%;top:8%;}
.map-instruction{position:absolute;left:4px;top:18px;margin:0;color:var(--muted);font-size:10px;font-weight:700;}
.trail-panel{position:relative;align-self:stretch;min-height:520px;padding:40px;border:1px solid var(--line);background:var(--surface);overflow:hidden;transition:background-color .35s ease,color .35s ease;}
.trail-panel::before{content:"";position:absolute;left:0;top:0;width:7px;height:100%;background:var(--active-accent);transition:background-color .3s ease;}
.trail-panel-topline{display:flex;justify-content:space-between;gap:20px;}
.trail-status,.trail-count{margin:0 0 28px;color:var(--active-accent);font-size:10px;font-weight:900;text-transform:uppercase;}
.trail-count{color:var(--muted);}
.trail-panel h3{max-width:610px;margin:0;font-size:42px;font-weight:680;line-height:1.05;}
.trail-copy{max-width:620px;margin:20px 0 26px;color:var(--muted);font-size:17px;line-height:1.65;}
.trail-facts{display:grid;grid-template-columns:1fr 1fr;margin:0 0 30px;border-top:1px solid color-mix(in srgb,var(--line),transparent 68%);border-bottom:1px solid color-mix(in srgb,var(--line),transparent 68%);}
.trail-facts div{padding:15px 14px 15px 0;}
.trail-facts div+div{padding-left:18px;border-left:1px solid color-mix(in srgb,var(--line),transparent 68%);}
.trail-facts dt{margin-bottom:5px;color:var(--muted);font-size:9px;font-weight:850;text-transform:uppercase;}
.trail-facts dd{margin:0;font-size:12px;font-weight:800;}
.trail-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px;}
.preview-action{font-size:13px;}
.save-trail,.share-trail{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 14px;border:1px solid color-mix(in srgb,var(--line),transparent 42%);background:transparent;color:var(--ink);font-size:12px;font-weight:800;cursor:pointer;transition:background-color .2s ease,transform .2s ease;}
.save-trail:hover,.save-trail[aria-pressed="true"],.share-trail:hover{background:var(--soft-ember);}
.save-trail:active,.share-trail:active{transform:scale(.96);}
.save-trail span:first-child{color:var(--active-accent);font-size:18px;}
.trail-entry{display:inline-flex;gap:10px;margin-top:22px;border-bottom:1px solid var(--active-accent);font-size:12px;font-weight:850;text-decoration:none;}
.trail-mobile-controls{display:none;align-items:center;justify-content:space-between;margin-top:28px;padding-top:16px;border-top:1px solid color-mix(in srgb,var(--line),transparent 68%);}
.trail-mobile-controls button{width:42px;height:42px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;}
.trail-mobile-controls span{color:var(--muted);font-size:10px;font-weight:700;}

.stories-chapter{background:var(--soft-blue);}
.stories-heading{margin-bottom:44px;}
.featured-story{display:grid;grid-template-columns:minmax(440px,1.05fr) minmax(350px,.95fr);gap:54px;align-items:center;max-width:var(--content-width);}
.featured-image{position:relative;contain:paint;padding:0;border:1px solid var(--line);background:var(--surface);overflow:hidden;cursor:pointer;text-align:left;}
.featured-image img{width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform .7s cubic-bezier(.2,.8,.2,1);}
.featured-image:hover img{transform:scale(1.045);}
.image-index{position:absolute;right:12px;bottom:12px;padding:8px 10px;background:var(--surface);color:var(--ink);font-size:10px;font-weight:900;}
.story-meta{display:flex;justify-content:space-between;gap:16px;margin:0 0 19px;color:var(--active-accent);font-size:10px;font-weight:900;text-transform:uppercase;}
.story-meta span{color:var(--muted);}
.featured-copy h3{margin:0;font-size:40px;font-weight:680;line-height:1.06;}
.featured-copy>p:not(.story-meta){margin:22px 0 26px;color:var(--muted);font-size:17px;line-height:1.65;}
.story-actions{display:flex;flex-wrap:wrap;gap:24px;}

.about-chapter{display:grid;grid-template-rows:1fr auto;background:var(--soft-violet);}
.about-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);gap:56px;align-items:center;width:100%;max-width:var(--content-width);}
.about-copy>p:not(.eyebrow){max-width:600px;margin:28px 0 34px;color:var(--muted);font-size:18px;line-height:1.7;}
.about-portrait{position:relative;width:100%;max-width:460px;margin:0;justify-self:end;contain:layout paint;}
.about-portrait::before{content:"";position:absolute;left:16%;right:11%;bottom:8%;height:1px;background:color-mix(in srgb,var(--active-accent),transparent 22%);box-shadow:0 18px 0 color-mix(in srgb,var(--line),transparent 78%);}
.about-portrait img{position:relative;z-index:1;width:100%;height:auto;transform-origin:center bottom;animation:portrait-think 5s ease-in-out infinite;}
.about-portrait figcaption{position:relative;z-index:2;margin:-24px 0 0 8%;width:max-content;max-width:80%;padding:11px 14px;border-left:3px solid var(--active-accent);background:var(--surface)!important;color:var(--ink)!important;font-size:11px;font-weight:800;}
.about-more{max-width:600px;margin:24px 0 0;padding:4px 0 4px 20px;border-left:3px solid var(--active-accent);}
.about-more[hidden]{display:none;}
.about-more p{margin:0;color:var(--muted);font-size:15px;line-height:1.65;}
.about-more p+p{margin-top:12px;}
.experience-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:30px;padding-top:28px;border-top:1px solid color-mix(in srgb,var(--line),transparent 65%);font-size:11px;font-weight:800;}
.experience-footer p{margin:0;}
.experience-footer div{display:flex;gap:24px;}
.experience-footer>a{justify-self:end;}

.chapter-controls{position:fixed;right:24px;bottom:24px;z-index:70;display:grid;grid-template-columns:42px 42px;gap:6px;}
body.pp-interactive-home .pp-back-top{display:none!important;}
.chapter-controls button{display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid var(--line);border-radius:0;background:var(--surface);color:var(--ink);font-size:18px;line-height:1;box-shadow:none;cursor:pointer;transition:transform .2s ease,background-color .2s ease;}
body.pp-interactive-home .chapter-controls button{display:grid!important;place-items:center!important;width:42px!important;height:42px!important;padding:0!important;border:1px solid var(--line)!important;border-radius:0!important;background:var(--surface)!important;color:var(--ink)!important;font-size:18px!important;line-height:1!important;box-shadow:none!important;}
.chapter-controls button:hover:not(:disabled){background:var(--active-accent);color:var(--on-accent);transform:translateY(-3px);}
body.pp-interactive-home .chapter-controls button:hover:not(:disabled){background:var(--active-accent)!important;color:var(--on-accent)!important;}
.chapter-controls button:active:not(:disabled){transform:translateY(1px);}
.chapter-controls button:disabled{opacity:.35;cursor:not-allowed;}
.page-wipe{position:fixed;inset:0;z-index:200;pointer-events:none;background:var(--active-accent);transform:scaleY(0);transform-origin:bottom;}
.page-wipe.is-active{animation:wipe .52s cubic-bezier(.7,0,.2,1) both;}

.story-preview{width:min(920px,calc(100% - 36px));max-height:calc(100svh - 36px);padding:0;border:1px solid var(--line);background:var(--surface);color:var(--ink);overflow:auto;}
.story-preview::backdrop{background:rgba(12,18,15,.72);}
.story-preview[open]{animation:dialog-in .36s cubic-bezier(.2,.8,.2,1);}
.preview-layout{display:grid;grid-template-columns:190px 1fr;min-height:520px;}
.preview-accent{display:flex;flex-direction:column;justify-content:space-between;padding:30px;background:var(--active-accent);color:var(--on-accent);}
.preview-accent span:first-child{font-size:86px;font-weight:900;line-height:1;}
.preview-accent span:last-child{font-size:10px;font-weight:900;text-transform:uppercase;writing-mode:vertical-rl;}
.preview-layout article{padding:38px 44px 44px;}
.preview-topline{display:flex;align-items:center;justify-content:space-between;gap:20px;}
.preview-topline p,.preview-time{margin:0;color:var(--active-accent);font-size:10px;font-weight:900;text-transform:uppercase;}
.preview-topline button{width:42px;height:42px;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer;transition:transform .2s ease,background-color .2s ease;}
.preview-topline button:hover{background:var(--ink);color:var(--page);transform:rotate(5deg);}
.preview-time{margin-top:50px;color:var(--muted);}
.preview-layout h2{max-width:640px;margin:12px 0 25px;font-size:48px;line-height:1.04;}
.preview-excerpt{max-width:650px;margin:0;color:var(--muted);font-family:Georgia,serif;font-size:20px;line-height:1.7;}
.preview-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:36px;}
.toast{position:fixed;left:50%;bottom:24px;z-index:300;max-width:calc(100% - 36px);padding:12px 16px;background:var(--ink);color:var(--page);font-size:11px;font-weight:800;opacity:0;pointer-events:none;transform:translate(-50%,20px);transition:opacity .25s ease,transform .25s ease;}
.toast.is-visible{opacity:1;transform:translate(-50%,0);}
.pp-consent{position:fixed;left:18px;bottom:18px;z-index:410;display:grid;grid-template-columns:minmax(220px,390px) auto;align-items:center;gap:18px;max-width:calc(100% - 36px);padding:15px 16px;border:1px solid var(--line);background:var(--surface);color:var(--ink);box-shadow:7px 7px 0 color-mix(in srgb,var(--line),transparent 75%);}
.pp-consent[hidden]{display:none;}
.pp-consent p{margin:0;color:var(--muted);font-size:12px;line-height:1.45;}
.pp-consent strong{color:var(--ink);}
.pp-consent div{display:flex;gap:8px;}
body.pp-interactive-home .pp-consent button{min-height:42px;padding:0 12px;border:1px solid var(--line)!important;background:var(--surface)!important;color:var(--ink)!important;font-size:11px;font-weight:800;cursor:pointer;}
body.pp-interactive-home .pp-consent button:last-child{background:var(--ink)!important;color:var(--page)!important;}

@keyframes wipe{0%{transform:scaleY(0);transform-origin:bottom}45%{transform:scaleY(1);transform-origin:bottom}55%{transform:scaleY(1);transform-origin:top}100%{transform:scaleY(0);transform-origin:top}}
@keyframes nudge{0%,100%{transform:translateY(0)}50%{transform:translateY(7px)}}
@keyframes marker-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes path-pulse{0%,100%{opacity:.35}50%{opacity:1}}
@keyframes shadow-breathe{0%,100%{transform:skewX(-15deg) scaleX(.94);opacity:.6}50%{transform:skewX(-15deg) scaleX(1.04);opacity:1}}
@keyframes mascot-pop{0%{transform:translateY(12px) scale(.94)}45%{transform:translateY(-18px) scale(1.03)}100%{transform:none}}
@keyframes portrait-think{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-7px) rotate(.7deg)}}
@keyframes dialog-in{from{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:none}}
@keyframes hero-copy-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}

.chapter:not(.is-current) .scene-marker,
.chapter:not(.is-current) .hero-path,
.chapter:not(.is-current) .mascot-shadow,
.chapter:not(.is-current) .about-portrait img{animation-play-state:paused;}

@media (max-width:1180px){
  :root{--header-height:70px;}
  .chapter{padding-left:112px;padding-right:54px;}
  .hero-chapter{grid-template-columns:.9fr 1.1fr;}
  .hero-copy h1{font-size:74px;}
  .hero-scene{min-height:570px;}
  .section-heading h2,.about-copy h2{font-size:50px;}
  .trail-explorer{grid-template-columns:minmax(360px,.85fr) minmax(420px,1.15fr);gap:28px;}
  .trail-panel{padding:34px;}
  .trail-panel h3{font-size:38px;}
  .about-layout{grid-template-columns:minmax(0,1fr) 340px;gap:36px;}
  .about-portrait{max-width:340px;}
  .next-chapter{left:112px;}
}

@media (max-width:900px){
  html{scroll-snap-type:none;}
  .site-header__inner{grid-template-columns:1fr auto;padding:0 18px;}
  body.pp-interactive-home header.site-header .site-header__inner{grid-template-columns:1fr auto!important;padding:0 18px!important;}
  .primary-nav{position:fixed;left:0;right:0;top:var(--header-height);display:grid;gap:0;padding:10px 18px 18px;border-bottom:1px solid var(--line);background:var(--surface);transform:translateY(-140%);visibility:hidden;transition:transform .3s ease,visibility .3s ease;}
  body.admin-bar.pp-interactive-home .primary-nav{top:calc(var(--header-height) + 46px);}
  body.pp-interactive-home header.site-header .site-header__inner>.primary-nav{grid-column:1/-1!important;}
  body.pp-interactive-home header.site-header .site-header__inner>.header-actions{grid-column:2!important;}
  .primary-nav.is-open{transform:none;visibility:visible;}
  .primary-nav a{padding:14px 4px;border-bottom:1px solid color-mix(in srgb,var(--line),transparent 72%);}
  .menu-toggle{display:block;}
  .menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg);}
  .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
  .menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
  .stage-rail{display:none;}
  .chapter{padding:calc(var(--header-height) + 42px) 28px 64px;}
  .chapter-number{right:22px;font-size:100px;}
  .hero-chapter{display:grid;grid-template-columns:1fr;align-content:start;gap:0;min-height:auto;padding-bottom:90px;}
  .hero-copy{max-width:690px;}
  .hero-copy h1{font-size:68px;line-height:.92;}
  .hero-intro{max-width:650px;font-size:18px;}
  .hero-scene{min-height:560px;margin-top:-20px;}
  .mascot-stage{width:min(600px,88vw);bottom:12px;}
  .scene-marker-one{left:4%;top:25%}.scene-marker-two{right:4%;top:28%}.scene-marker-three{left:2%;bottom:14%}.scene-marker-four{right:2%;bottom:18%}
  .mascot-caption{bottom:42px;}
  .hero-path-one{left:12%;top:61%;width:26%}.hero-path-two{left:65%;top:56%;width:27%}.hero-path-three{left:9%;top:78%;width:25%}.hero-path-four{left:67%;top:73%;width:24%}
  .next-chapter{left:28px;}
  .trail-heading{grid-template-columns:1fr;gap:22px;}
  .trail-explorer{grid-template-columns:1fr;gap:26px;}
  .trail-map{min-height:420px;}
  .trail-panel{min-height:auto;}
  .trail-mobile-controls{display:flex;}
  .featured-story,.about-layout{grid-template-columns:1fr;gap:38px;}
  .featured-image{max-width:760px;}
  .about-portrait{justify-self:center;max-width:380px;}
  .experience-footer{grid-template-columns:1fr auto;}
  .experience-footer div{display:none;}
}

@media (max-width:600px){
  :root{--header-height:64px;}
  .site-header__inner{padding:0 12px;}
  body.pp-interactive-home header.site-header .site-header__inner{padding:0 12px!important;}
  .brand{font-size:14px;}
  .brand-mark{width:28px;height:28px;}
  .saved-shortcut,.resume-shortcut{display:none!important;}
  .theme-toggle{grid-template-columns:32px;height:44px;padding:0 5px;}
  .theme-icon{display:none;}
  .theme-track{width:32px;}
  html[data-theme="dark"] .theme-knob{transform:translateX(14px);}
  .chapter{padding:calc(var(--header-height) + 32px) 18px 58px;}
  .chapter-number{top:calc(var(--header-height) + 18px);right:12px;font-size:72px;}
  .eyebrow{margin-bottom:15px;font-size:10px;}
  .hero-copy h1{font-size:50px;line-height:.94;}
  .hero-intro{margin:22px 0 26px;font-size:16px;line-height:1.6;}
  .hero-actions{gap:16px;}
  .primary-action{min-height:48px;padding:0 16px;font-size:13px;}
  .hero-scene{min-height:420px;margin-top:0;}
  .mascot-stage{width:390px;max-width:105vw;bottom:4px;}
  .mascot-caption{right:0;bottom:22px;}
  .scene-marker{font-size:9px;}
  .scene-marker b{display:none;}
  .scene-marker span{width:32px;height:32px;}
  .next-chapter{left:18px;bottom:18px;}
  .section-heading h2,.about-copy h2{font-size:39px;line-height:1.04;}
  .trail-heading{margin-bottom:30px;}
  .trail-heading>p{font-size:15px;}
  .trail-map{display:flex;align-items:center;gap:10px;min-height:106px;padding:20px 4px;overflow-x:auto;scroll-snap-type:x mandatory;border-top:1px solid var(--line);border-bottom:1px solid var(--line);scrollbar-width:none;}
  .trail-map::-webkit-scrollbar{display:none;}
  .trail-route,.map-instruction{display:none;}
  .trail-node{position:static;flex:0 0 142px;scroll-snap-align:center;}
  .trail-node:hover,.trail-node[aria-selected="true"]{transform:none;}
  .trail-node[aria-selected="true"] .node-dot{transform:rotate(-2deg) scale(1.03);}
  .node-dot{width:44px;height:44px;flex:0 0 44px;}
  .node-label{font-size:11px;}
  .trail-panel{padding:28px 22px 24px;}
  .trail-status,.trail-count{margin-bottom:20px;}
  .trail-panel h3{font-size:32px;}
  .trail-copy{font-size:15px;}
  .trail-facts{grid-template-columns:1fr;}
  .trail-facts div+div{padding-left:0;border-left:0;border-top:1px solid color-mix(in srgb,var(--line),transparent 68%);}
  .trail-actions{align-items:stretch;}
  .preview-action,.save-trail,.share-trail{width:100%;justify-content:center;}
  .trail-mobile-controls span{max-width:110px;text-align:center;}
  .stories-heading{margin-bottom:30px;}
  .featured-story{gap:26px;}
  .featured-copy h3{font-size:32px;}
  .featured-copy>p:not(.story-meta){font-size:15px;}
  .about-copy>p:not(.eyebrow){font-size:16px;}
  .about-portrait{max-width:min(330px,86vw);}
  .experience-footer{font-size:10px;}
  .chapter-controls{right:12px;bottom:12px;grid-template-columns:40px 40px;}
  .chapter-controls button{width:40px;height:40px;}
  body.pp-interactive-home .chapter-controls button{width:40px!important;height:40px!important;}
  .preview-layout{grid-template-columns:1fr;}
  .preview-accent{display:none;}
  .preview-layout article{padding:24px 22px 30px;}
  .preview-time{margin-top:34px;}
  .preview-layout h2{font-size:36px;}
  .preview-excerpt{font-size:18px;}
  .preview-actions{align-items:stretch;}
  .preview-actions>*{width:100%;justify-content:center;}
  .pp-consent{left:12px;right:12px;bottom:12px;grid-template-columns:1fr;max-width:none;gap:12px;}
  .pp-consent div{display:grid;grid-template-columns:1fr 1fr;}
}

@media (max-width:782px){
  body.admin-bar.pp-interactive-home header.site-header{top:46px!important;}
}

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