/* One homepage journey. Old scene and independent-loop styles are not loaded. */
html { scroll-behavior:auto; }
body { overflow-x:clip; }
main { overflow-x:clip; }
main a, main a:hover, main a:focus, main a:active { text-decoration:none; }
main a:link, main a:visited { color:var(--orange); }
main a:hover, main a:focus-visible { color:#b84616; }
main .nav a:link, main .nav a:visited { color:#faf8f0; }
main .nav a:hover, main .nav a:focus-visible { color:#f29561; }
main a.button:link, main a.button:visited { color:#fff; }
main .title-link:link, main .title-link:visited { color:var(--ink); }
main .title-link:hover, main .title-link:focus-visible { color:var(--orange); }
main .eyebrow { color:var(--ink);font-weight:600; }
main a { transition:color .18s ease; }
main .button { transition:background .18s ease; }
main .button:hover { background:#bc4618; }
main .tabs a, main .tabs a.active { border-color:transparent; }
.section-head>div { min-width:0;flex:1; }
.section-head h2 { white-space:nowrap;font-size:clamp(25px,3.3vw,46px);max-width:100%; }
.concept-label { display:block;margin-top:10px;color:var(--muted);font-size:12px; }
.raster-actor { transform-box:fill-box;transform-origin:50% 50%; }
.workbook-cover { transform-origin:150px 415px; }
.hero-paper-closed { opacity:0; }
.journey-enabled .hero-paper-closed { opacity:var(--closed,1); }
.journey-enabled .hero-landscape image { filter:url(#paper-waves); }
.map-stage, .folder-stage { position:relative;perspective:1100px;min-width:0; }
.map-stage { isolation:isolate; }
.map-folds { display:none;position:absolute;inset:0;perspective:1000px; }
.journey-enabled .map-source { visibility:hidden; }
.journey-enabled .map-folds { display:flex; }
.map-source-leaf { width:33.333333%;height:100%;position:relative;overflow:hidden;transform-origin:0 50%;backface-visibility:hidden; }
.map-source-leaf:nth-child(2) { transform-origin:50% 50%; }
.map-source-leaf:nth-child(3) { transform-origin:100% 50%; }
.leaf-source { position:absolute;left:calc(var(--leaf)*-100%);top:0;width:300%;max-width:none;height:100%; }
.folder-open { position:absolute;inset:0;opacity:1; }
.folder-closed { visibility:hidden; }
.journey-enabled .folder-closed { visibility:visible; }
.route { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0; }
.route:before { left:16.6667%;right:16.6667%;top:9px; }
.route li:before { transition:background .15s linear; }
.route li.is-reached:before { background:var(--orange); }
.route li[aria-current="step"] { font-weight:700; }
.route:after { content:none; }
.journey-enabled .route:before { background:linear-gradient(to right,var(--orange) 0 var(--route-progress,0%),#d5c9b8 var(--route-progress,0%) 100%); }
.map-stage,.folder-stage { transition:transform .3s ease; }
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  /* Hover movement is composed separately from entrance transforms below. */
}
.journey-hidden .journey-active *, .journey-paused .journey-active * { animation-play-state:paused!important; }
#journey-overlay { display:none;position:absolute;top:0;left:0;max-width:none;overflow:hidden;z-index:6;pointer-events:none;contain:layout style; }
body.journey-running #journey-overlay { display:block; }
.journey-trail { stroke:#ed7a33;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;opacity:.65; }
.signal-core { fill:#ffad50;stroke:#d66424;stroke-width:1.5; }
.signal-needle { fill:#e9672b;opacity:0; }
.hero-intro-ready .hero-paper-closed { display:none; }
.hero-intro-ready .hero-landscape image { filter:none!important; }
.hero-peel-stack { pointer-events:none; }
.hero-travelling-compass { display:none; }
#cases .editorial-grid h3,#articles .editorial-grid h3 { padding-top:0; }
@media(min-width:641px) {
  #cases .editorial-grid { align-items:stretch; }
  #cases .feature { display:flex;flex-direction:column;min-height:0; }
  #cases .feature>.image-link { flex:1 1 0;min-height:300px;position:relative; }
  #cases .feature>.image-link>.art { position:absolute;inset:0;width:100%;height:100%; }
  #cases .feature>.text-link { align-self:flex-start; }
  #tools .tools-grid { align-items:start;grid-template-columns:1fr 1.15fr;gap:36px; }
  #tools .tools-grid>div { display:flex;flex-direction:column;justify-content:flex-start;gap:24px; }
  #tools .tool-row { margin:0; }
  #tools .tool-row:first-child { margin-top:0; }
  #tools .tool-row:last-child { margin-bottom:0; }
  #tools .folder { display:flex;flex-direction:column;width:100%;max-width:380px;justify-self:center; }
  #tools .folder>.text-link { margin-top:auto;padding-top:10px; }
}
@media(max-width:640px) {
  #cases .wrap,#playbooks .wrap,#tools .wrap,#shop .wrap,#articles .wrap,#subscribe .wrap { width:calc(100% - 64px); }
}
@media(max-width:640px) {
  #cases .secondary,#articles .secondary { grid-template-columns:1fr; }
}
.nav .nav-cart { display:inline-flex;align-items:center;gap:7px;white-space:nowrap; }
.nav-cart svg { width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6; }
@media(max-width:640px) {
  .nav { height:112px; }
  .nav>div { width:100%;gap:10px;justify-content:space-between;font-size:11px; }
  .nav .nav-cart { gap:4px; }
  .nav-cart svg { width:16px;height:16px; }
}
.journey-static .hero-peel-stack { display:none; }
/* Readable UI always sits above the line, including focus rings. */
.nav,.hero-copy,.section-head,.category,.feature h3,.feature>.text-link,.feature>p,
.secondary h3,.playbook-top>div:not(.map-stage),.route,.book-links,.tabs,.tool-row,
.folder h3,.folder>.text-link,.products,.subscribe-copy,.footer-top,.footer-bottom { position:relative;z-index:7; }
.motion-control { position:fixed;right:16px;bottom:16px;z-index:20;padding:8px 13px;border-radius:30px;border:1px solid #d9d1c3;background:#f7f4eced;color:#08283b;font:12px/1.2 Arial,Helvetica,sans-serif;box-shadow:0 2px 8px #08283b12; }
.motion-control:hover { background:#fff; }
.motion-control:disabled { cursor:default;opacity:.7; }
.motion-control:focus-visible { outline:3px solid var(--orange);outline-offset:3px; }
.journey-static .hero-paper-closed { opacity:0!important; }
.journey-static .folder-open { opacity:1!important;transform:none!important; }
.journey-static .folder-closed { visibility:hidden; }
.journey-static .map-source { visibility:visible; }
.journey-static .map-folds { display:none; }
.journey-static .raster-actor { transform:none!important;opacity:1!important; }
@media(max-width:900px) { .playbook-top { gap:24px; } }
@media(max-width:640px) {
  .section-head h2 { font-size:clamp(18px,5.5vw,30px); }
  .hero h1 { font-size:clamp(33px,10.5vw,43px); }
  .nav>div { width:100%;gap:0;justify-content:space-between; }
  .hero { min-height:650px; }
  .map-stage { margin:0 -12px; }
  .map-source { width:100%;max-width:none; }
  .playbook-panel { padding:20px 16px; }
  .playbook-top { gap:18px; }
  .folder-stage { margin-inline:-8px; }
  .products { gap:10px; }
  .products h3 { font-size:17px; }
  .products .category { letter-spacing:.02em; }
  .motion-control { right:10px;bottom:10px; }
  .journey-trail { stroke-width:2; }
  .journey-enabled .hero-landscape image { filter:none; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .journey-active *, .journey-active { animation:none!important; }
  #journey-overlay { display:none!important; }
  main a, main .button { transition:none; }
}
.image-link { display:block;min-width:0;cursor:pointer; }
.image-link:focus-visible { outline:3px solid var(--orange);outline-offset:5px; }
.footer-legal { display:flex;gap:24px;margin-top:18px;font-size:14px; }
.footer-bottom { justify-content:center;text-align:center; }
.footer-landscape { display:block;width:100%;max-width:none;height:auto;max-height:none; }
.shop-image-stage { position:relative; }
.shop-image-links { position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr)); }
.shop-image-link { position:relative;display:block;cursor:pointer;background:transparent; }
.shop-image-link:focus-visible { outline:2px solid var(--orange);outline-offset:-4px; }
/* Transparent product hotspots change the underlying image, without UI chrome. */
.shop-image-link { -webkit-backdrop-filter:brightness(1) saturate(1);backdrop-filter:brightness(1) saturate(1);transition:backdrop-filter .28s ease,-webkit-backdrop-filter .28s ease; }
@media(hover:hover) {
  .shop-image-link:hover { -webkit-backdrop-filter:brightness(1.07) saturate(1.08);backdrop-filter:brightness(1.07) saturate(1.08); }
}
.shop-image-link:focus-visible { -webkit-backdrop-filter:brightness(1.07) saturate(1.08);backdrop-filter:brightness(1.07) saturate(1.08); }
@media(prefers-reduced-motion:reduce) { .shop-image-link { transition:none; } }
/* Individual hover properties compose with the controller's entrance transforms. */
.map-stage,.folder-stage,#newsletter-art,#cases .art,#articles .art,.shop-art .raster-actor {
  transition:translate .25s ease,scale .25s ease,rotate .25s ease;
}
#cases .image-link,#articles .image-link { overflow:hidden; }
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  main:not(.journey-static) .map-stage:hover { translate:0 -3px;rotate:-.6deg; }
  main:not(.journey-static) .folder-stage:hover { translate:0 -4px;scale:1.02; }
  main:not(.journey-static) #newsletter-art:hover { rotate:.7deg;translate:0 -3px; }
  main:not(.journey-static) #cases .image-link:hover .art,
  main:not(.journey-static) #articles .image-link:hover .art { scale:1.02; }
}
.journey-static .map-stage,.journey-static .folder-stage,.journey-static .shop-art,.journey-static #newsletter-art,.journey-static #articles .art { opacity:1!important; }
@media(prefers-reduced-motion:reduce) {
  .map-stage,.folder-stage,#newsletter-art,#cases .art,#articles .art,.shop-art .raster-actor { transition:none; }
}
