@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(fonts/dm-sans.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(fonts/space-grotesk.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  color-scheme: light;
  --ink: #233b4d;
  --muted: #516a7c;
  --paper: #dce4e9;
  --light: #eaf0f4;
  --blue: #6e93ad;
  --heading: 'Space Grotesk', sans-serif;
  --body: 'DM Sans', sans-serif;
  --grain: radial-gradient(ellipse 0.93px 0.96px at 13.6px 28.4px, #ecf5fb65 42%, transparent 100%), radial-gradient(ellipse 1.00px 0.70px at 20.8px 16.0px, #0f2c4345 42%, transparent 100%), radial-gradient(ellipse 0.35px 0.98px at 28.8px 15.3px, #0f2c4345 42%, transparent 100%), radial-gradient(ellipse 0.82px 0.54px at 38.7px 19.6px, #ecf5fb65 42%, transparent 100%), radial-gradient(ellipse 0.90px 0.35px at 8.5px 25.0px, #0f2c4345 42%, transparent 100%), radial-gradient(ellipse 0.42px 0.68px at 38.8px 13.9px, #0f2c4345 42%, transparent 100%), radial-gradient(ellipse 0.63px 0.35px at 12.9px 12.4px, #ecf5fb65 42%, transparent 100%), radial-gradient(ellipse 0.41px 0.51px at 25.0px 19.7px, #0f2c4345 42%, transparent 100%), radial-gradient(ellipse 1.00px 0.70px at 27.6px 9.7px, #0f2c4345 42%, transparent 100%), radial-gradient(ellipse 0.87px 0.58px at 21.5px 38.5px, #ecf5fb65 42%, transparent 100%), radial-gradient(ellipse 0.87px 0.77px at 12.3px 31.9px, #0f2c4345 42%, transparent 100%), radial-gradient(ellipse 0.61px 0.95px at 19.4px 5.2px, #0f2c4345 42%, transparent 100%), radial-gradient(ellipse 1.07px 1.02px at 5.6px 34.8px, #ecf5fb65 42%, transparent 100%), radial-gradient(ellipse 1.02px 0.57px at 19.5px 38.2px, #0f2c4345 42%, transparent 100%), radial-gradient(ellipse 0.68px 0.81px at 23.6px 41.3px, #0f2c4345 42%, transparent 100%), radial-gradient(ellipse 1.07px 1.15px at 3.9px 12.8px, #ecf5fb65 42%, transparent 100%), radial-gradient(ellipse 0.77px 0.78px at 12.6px 25.9px, #0f2c4345 42%, transparent 100%), radial-gradient(ellipse 0.48px 0.99px at 39.0px 27.8px, #0f2c4345 42%, transparent 100%), radial-gradient(ellipse 0.44px 1.14px at 1.2px 28.9px, #ecf5fb65 42%, transparent 100%), radial-gradient(ellipse 0.85px 0.75px at 29.3px 26.0px, #0f2c4345 42%, transparent 100%), radial-gradient(ellipse 0.41px 0.63px at 15.5px 23.9px, #0f2c4345 42%, transparent 100%), radial-gradient(ellipse 0.97px 0.95px at 6.3px 28.2px, #ecf5fb65 42%, transparent 100%), radial-gradient(ellipse 0.57px 0.60px at 9.1px 8.9px, #0f2c4345 42%, transparent 100%), radial-gradient(ellipse 1.10px 0.72px at 29.7px 39.4px, #0f2c4345 42%, transparent 100%), radial-gradient(ellipse 0.94px 1.04px at 29.4px 7.3px, #ecf5fb65 42%, transparent 100%), radial-gradient(ellipse 0.52px 0.60px at 22.9px 25.6px, #0f2c4345 42%, transparent 100%), radial-gradient(ellipse 0.88px 0.49px at 16.5px 20.1px, #0f2c4345 42%, transparent 100%), radial-gradient(ellipse 0.96px 0.53px at 36.7px 37.2px, #ecf5fb65 42%, transparent 100%), radial-gradient(ellipse 0.42px 0.71px at 39.2px 31.7px, #0f2c4345 42%, transparent 100%), radial-gradient(ellipse 0.54px 0.81px at 19.8px 25.1px, #0f2c4345 42%, transparent 100%), radial-gradient(ellipse 1.01px 0.52px at 11.2px 11.4px, #ecf5fb65 42%, transparent 100%), radial-gradient(ellipse 0.95px 0.65px at 18.2px 31.0px, #0f2c4345 42%, transparent 100%), radial-gradient(ellipse 0.96px 0.97px at 36.2px 20.9px, #0f2c4345 42%, transparent 100%), radial-gradient(ellipse 0.67px 0.93px at 20.0px 36.8px, #ecf5fb65 42%, transparent 100%), radial-gradient(ellipse 0.69px 1.10px at 3.0px 18.9px, #0f2c4345 42%, transparent 100%), radial-gradient(ellipse 0.79px 0.51px at 4.8px 37.2px, #0f2c4345 42%, transparent 100%);
  --fibres: repeating-linear-gradient(3deg, #162c4005 0px, #162c4005 .4px, transparent .8px, transparent 9px), radial-gradient(ellipse at 22% 38%, #ffffff19, transparent 58%);
  --edge: polygon(.2% .4%, 13% 0, 29% .4%, 42% 0, 64% .3%, 80% 0, 99.5% .5%, 100% 16%, 99.6% 35%, 100% 61%, 99.5% 81%, 99.8% 99.5%, 86% 99.8%, 69% 99.4%, 51% 100%, 32% 99.5%, 13% 100%, .3% 99.6%, 0 78%, .4% 57%, 0 32%);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 35px; }
body { margin: 0; font: 400 16px/1.75 var(--body); color: var(--ink); background-color: var(--paper); background-image: var(--fibres); -webkit-font-smoothing: antialiased; }
body::before { content: ''; position: absolute; inset: 0; pointer-events: none; background-image: var(--grain); background-size: 41px 43px; opacity: .35; mix-blend-mode: multiply; z-index: 15; }
body { position: relative; }
a { color: inherit; text-decoration: none; }
label { cursor: pointer; }
a, label { -webkit-tap-highlight-color: transparent; }
h1,h2,h3,p { margin: 0; }
h1,h2,h3 { font-family: var(--heading); font-weight: 500; }
a:focus-visible { outline: 2px solid currentColor; outline-offset: 7px; }
::selection { background: #426b8b; color: #eff6fa; }
.skip { position: fixed; top: 12px; left: 12px; padding: 12px 20px; background: var(--light); color: var(--ink); transform: translateY(-170%); z-index: 30; }
.skip:focus { transform: none; }
.surface { isolation: isolate; }
.surface::after { content: ''; position: absolute; inset: 0; z-index: 5; pointer-events: none; background-image: var(--grain); background-size: 41px 43px; opacity: .65; mix-blend-mode: soft-light; }
.header { position: absolute; top: 0; left: 0; right: 0; z-index: 10; display: flex; justify-content: space-between; align-items: center; gap: 30px; padding: 32px 5.5%; color: #d7e4ed; }
.signature { font: 600 35px/.95 var(--heading); letter-spacing: -1.9px; }
.signature small { display: block; margin-top: 11px; font: 500 9px/1 var(--body); letter-spacing: 3px; }
.header nav { display: flex; gap: 38px; font-size: 14px; }
.header nav a { padding: 10px 0; text-underline-offset: 6px; }
.header nav a:hover { text-decoration: underline; }
.motion-control { display: flex; gap: 9px; align-items: center; position: relative; min-height: 44px; font-size: 11px; letter-spacing: .3px; }
.motion-control input { position: absolute; width: 1px; height: 1px; margin: -1px; clip-path: inset(50%); overflow: hidden; }
.motion-control:has(input:focus-visible) { outline: 2px solid currentColor; outline-offset: 6px; }
.motion-mark { height: 8px; width: 8px; border: 1px solid #b7cdda; border-radius: 50%; }
.motion-control:has(input:checked) .motion-mark { background: #b7cdda; }

.hero { position: relative; overflow: hidden; min-height: 905px; padding: 156px 8% 158px; color: var(--light); background-color: #294457; background-image: radial-gradient(ellipse at 86% 77%, #afc7d944, transparent 55%), radial-gradient(ellipse at 4% 0%, #111f2ce6, transparent 67%), var(--fibres); }
.hero::before { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; background-image: repeating-linear-gradient(102deg, transparent 0 41px, #d9e8f308 42px, transparent 44px 93px), radial-gradient(ellipse at 25% 50%, #c0d6e515, transparent 70%); }
.hero-content { max-width: 1420px; margin-inline: auto; position: relative; z-index: 2; }
.hero-note { display: flex; gap: 16px; align-items: center; font-size: 11px; line-height: 1.6; letter-spacing: 1.8px; color: #adc3d3; }
.cross { font: 400 31px/1 var(--heading); }
.hero h1 { font-size: clamp(150px, 26vw, 390px); font-weight: 600; letter-spacing: -.077em; line-height: 1.02; margin: 4px 0 0 -.05em; padding: 0 .04em .05em 0; color: #d8e5ef; text-shadow: 1px 2px 0 #10233355, -.5px -.5px 0 #ffffff1f; }
@supports(background-clip:text) {
  .hero h1 { background-color: #dce7ef; background-image: var(--grain); background-size: 41px 43px; background-clip: text; -webkit-background-clip: text; color: transparent; }
}
.brand-baseline { display: flex; justify-content: space-between; align-items: center; gap: 25px; margin-top: 9px; padding: 0 0 30px 4px; border-bottom: 1px solid #b1c9db43; font-size: 10px; letter-spacing: 2px; color: #b8cbd8; }
.brand-baseline>span:first-child { font-size: 13px; letter-spacing: 9px; color: #d9e6ef; }
.hero-bottom { margin-top: 38px; display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; }
.hero-statement { font: 400 clamp(27px, 3.2vw, 46px)/1.18 var(--heading); letter-spacing: -1.4px; }
.hero-statement>span { color: #acbfcd; }
.paper-link { position: relative; display: flex; align-items: center; gap: 30px; flex-shrink: 0; padding: 18px 24px; color: #233b4d; background-color: #d0dfe8; background-image: var(--fibres), var(--grain); background-size: 41px 43px; font-size: 14px; font-weight: 500; transform: rotate(-1.4deg); clip-path: var(--edge); transition: transform .3s; box-shadow: 0 6px 15px #10213255; }
.paper-link>span:last-child { font-size: 25px; line-height: 1; }
.paper-link:hover { transform: rotate(0deg) translateY(-3px); }
.weather { position: absolute; inset: 0; pointer-events: none; z-index: 1; overflow: hidden; }
.snow { position: absolute; opacity: .55; }
.snow-far { inset: -220px -30px 0; background-image: radial-gradient(circle at 26px 29px, #d5e4efc4 .8px, transparent 1.3px), radial-gradient(circle at 153px 132px, #d5e4ef90 .7px, transparent 1.2px); background-size: 237px 220px; animation: snowfall 42s linear infinite; --fall: 220px; }
.snow-near { inset: -380px -30px 0; background-image: radial-gradient(circle at 103px 199px, #eaf3fac2 1.4px, transparent 2px), radial-gradient(circle at 281px 31px, #eaf3fa8c 1.1px, transparent 1.8px); background-size: 367px 380px; animation: snowfall 30s linear infinite; --fall: 380px; }
.snowbank { position: absolute; pointer-events: none; left: -1%; right: -1%; bottom: -1px; height: 100px; display: block; }
.snowbank-back { background: #afc5d4; bottom: 0; height: 123px; opacity: .6; clip-path: polygon(0 52%, 8% 60%, 20% 48%, 32% 56%, 45% 31%, 58% 38%, 73% 19%, 87% 37%, 100% 28%, 100% 100%, 0 100%); }
.snowbank-front { background-color: var(--paper); background-image: var(--fibres); clip-path: polygon(0 40%, 5% 37%, 13% 54%, 22% 47%, 30% 54%, 41% 48%, 51% 63%, 63% 52%, 73% 60%, 82% 39%, 92% 45%, 100% 27%, 100% 100%, 0 100%); z-index: 3; }

.work { padding: 75px 8% 95px; max-width: 1700px; margin-inline: auto; }
.eyebrow { font-size: 11px; letter-spacing: 1.8px; font-weight: 500; }
h2 { font-size: clamp(39px, 4.5vw, 65px); line-height: 1.12; letter-spacing: -2.8px; }
h2>span { color: #617c8f; }
.work-heading { display: flex; justify-content: space-between; gap: 50px; align-items: flex-end; }
.work-heading .eyebrow { margin-bottom: 22px; }
.work-heading>p { font-size: 16px; line-height: 1.8; color: var(--muted); margin-bottom: 3px; padding-right: 30px; }
.work-table { display: grid; grid-template-columns: 1.12fr 1fr; gap: 45px; margin: 65px -8px 0; align-items: start; }
.sheet { position: relative; padding: 38px; scroll-margin-top: 40px; background-image: none; filter: drop-shadow(2px 7px 5px #162b4324); transition: transform .5s; }
.sheet::before { content: ''; position: absolute; inset: -1px; z-index: -1; background-color: var(--sheet-color); background-image: var(--fibres); pointer-events: none; clip-path: var(--edge); }
.sheet::after { clip-path: var(--edge); }
.game-sheet { --sheet-color: #e7edf1; background-color: transparent; transform: rotate(-1.1deg); border-radius: 1px 1px 10px 2px / 2px 1px 2px 4px; }
.asset-sheet { --sheet-color: #8daabc; background-color: transparent; color: #203b4d; margin-top: 62px; transform: rotate(1.3deg); border-radius: 3px 1px 8px 2px / 1px 2px 3px 1px; }
.sheet:hover { transform: rotate(0deg) translateY(-4px); }
.sheet-top { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.status { border: 1px solid currentColor; border-radius: 42% 3px 38% 2px / 2px 4px 2px 3px; padding: 3px 10px; font-size: 12px; line-height: 1.5; opacity: .9; white-space: nowrap; }
.tape { position: absolute; top: -14px; left: 40%; width: 96px; height: 29px; z-index: 6; transform: rotate(-7deg); background-color: #b2c8d9a8; background-image: var(--fibres); box-shadow: inset 0 0 1px #f5faff70; clip-path: polygon(0 4%, 98% 0, 100% 12%, 98% 23%, 100% 37%, 97% 49%, 100% 61%, 98% 77%, 100% 98%, 1% 100%, 2% 78%, 0 66%, 2% 54%, 0 41%, 2% 26%); }
.asset-sheet .tape { transform: rotate(5deg); background-color: #d6e2eac2; left: 35%; }
.game-print { height: 240px; position: relative; margin: 30px 0 27px; overflow: hidden; border-bottom: 1px solid #38546c66; }
.print-number { position: absolute; left: -7px; top: -12px; font: 500 216px/1 var(--heading); letter-spacing: -22px; color: #466982; mix-blend-mode: multiply; }
.print-orbit { position: absolute; width: 255px; height: 190px; border: 1px solid #45647ac2; border-radius: 50%; transform: rotate(-31deg); right: -30px; top: 1px; }
.print-orbit::before { content: ''; position: absolute; inset: 20px -15px; border: 1px solid #45647a6b; border-radius: 50%; transform: rotate(-22deg); }
.print-note { position: absolute; right: 0; bottom: 25px; font-size: 10px; letter-spacing: 1.5px; line-height: 1.6; color: #365269; }
.registration { position: absolute; right: 6px; top: 11px; font: 300 30px/1 var(--heading); }
.asset-print { position: relative; height: 231px; margin: 30px 0 30px; border-bottom: 1px solid #28485e50; }
.asset-print i { width: 71px; height: 71px; background: #385d79; position: absolute; left: 3px; top: 8px; mix-blend-mode: multiply; transform: rotate(-3deg); }
.asset-print i:nth-child(2) { left: 91px; top: 14px; background: #6c8799; transform: rotate(5deg); border-radius: 50%; }
.asset-print i:nth-child(3) { top: 100px; left: 8px; background: transparent; border: 2px solid #385d79; transform: rotate(6deg); }
.asset-print i:nth-child(4) { top: 104px; left: 98px; width: 66px; height: 66px; clip-path: polygon(50% 0, 100% 100%, 0 100%); transform: rotate(-5deg); }
.asset-print>span { position: absolute; right: 0; bottom: 33px; font: 500 19px/1.1 var(--heading); letter-spacing: -.5px; }
h3 { font-size: clamp(32px, 3.3vw, 47px); line-height: 1.13; letter-spacing: -1.9px; }
.sheet>p { font-size: 16px; line-height: 1.85; margin-top: 21px; color: #4b6578; }
.asset-sheet>p { color: #2d4b60; }
.sheet-footer { border-top: 1px solid #29475e40; margin-top: 29px; padding-top: 17px; display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; font-size: 11px; color: #3d5b70; }
.work-footnote { font-size: 12px; line-height: 1.7; max-width: 620px; color: var(--muted); margin-top: 39px; }

.studio { max-width: 1550px; margin: 0 auto; padding: 30px 8% 125px; display: grid; grid-template-columns: .95fr 1fr; gap: 12%; align-items: center; }
.studio-poster { position: relative; min-height: 570px; padding: 39px; display: flex; flex-direction: column; background-color: #395e79; background-image: var(--fibres), linear-gradient(135deg, #24435e59, transparent 70%); color: #dce8f0; transform: rotate(-2deg); box-shadow: 3px 13px 21px -10px #233b4d61; clip-path: var(--edge); }
.studio-poster::after { opacity: .65; }
.poster-pin { position: absolute; left: 53%; top: 13px; height: 6px; width: 6px; border-radius: 50%; background: #172d3e; box-shadow: 0 1px 0 #cedce888; }
.poster-label { font-size: 11px; letter-spacing: 1.6px; }
.poster-words { font: 500 clamp(52px, 5.7vw, 81px)/.99 var(--heading); letter-spacing: -.065em; margin: auto 0; text-shadow: .8px .8px 0 #12334e55; }
.poster-words>span { color: #a4c1d5; }
.poster-small { font-size: 10px; line-height: 1.5; letter-spacing: 1.7px; }
.poster-cross { position: absolute; right: 38px; bottom: 28px; font: 400 39px/1 var(--heading); }
.studio-copy .eyebrow { margin-bottom: 24px; }
.studio-copy h2 { font-size: clamp(38px, 4vw, 56px); margin-bottom: 29px; }
.studio-copy>p:not(.eyebrow) { color: #4e687b; font-size: 16px; line-height: 1.8; margin-bottom: 18px; }
.studio-copy .studio-lead { color: #29485e!important; font-size: 20px!important; }
.hand-rule { display: block; width: 99px; height: 3px; background: #506e86; transform: rotate(-3deg); clip-path: polygon(0 10%, 35% 0, 100% 31%, 95% 60%, 48% 82%, 1% 100%); margin: 31px 0 20px; }
.studio-signoff { font-size: 10px; letter-spacing: 1.7px; color: #4e687b; }
.contact { position: relative; background-color: #becfdb; background-image: var(--fibres); padding: 72px 8%; display: flex; justify-content: space-between; align-items: flex-end; gap: 55px; clip-path: polygon(0 1%, 12% 0, 30% 1%, 53% 0, 70% .8%, 92% 0, 100% 1%, 100% 100%, 0 100%); }
.contact .eyebrow { margin-bottom: 24px; }
.contact h2 { font-size: clamp(34px, 4vw, 56px); }
.contact-copy { max-width: 345px; }
.contact-copy>p { color: #405e75; font-size: 16px; line-height: 1.8; }
.contact-copy .contact-pending { font-size: 13px; border-top: 1px solid #38557050; margin-top: 22px; padding-top: 17px; }
footer { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 37px 5.5%; }
footer .signature { font-size: 28px; }
footer .signature small { font-size: 8px; letter-spacing: 2.3px; }
footer p, .back-link { font-size: 12px; color: #4e687b; }
.back-link { padding: 10px 0; }
.back-link>span { margin-left: 20px; font-size: 19px; }
@keyframes snowfall { from { transform: translateY(0); } to { transform: translateY(var(--fall)); } }
body:has(#motion:not(:checked)) *, body:has(#motion:not(:checked)) *::before, body:has(#motion:not(:checked)) *::after { animation-play-state: paused!important; transition: none!important; }
html:has(#motion:not(:checked)) { scroll-behavior: auto; }
@media(min-width:1650px) { .hero { padding-inline: max(8%,calc((100vw - 1400px)/2)); } .hero h1 { font-size: 400px; } }
@media(max-width:1100px) {
  .hero { min-height: 800px; padding: 151px 6% 145px; }
  .hero h1 { font-size: 27vw; }
  .hero-bottom { gap: 25px; }
  .hero-statement { font-size: 34px; }
  .paper-link { font-size: 13px; padding: 16px 19px; gap: 17px; }
  .work { padding-inline: 6%; }
  .work-heading>p { padding-right: 0; }
  .work-table { gap: 28px; margin-inline: 0; }
  .sheet { padding: 28px; }
  .sheet-top { flex-wrap: wrap; gap: 9px; }
  .game-print { height: 230px; }
  .print-number { font-size: 190px; }
  .print-orbit { width: 180px; height: 140px; right: -15px; }
  .asset-print>span { font-size: 16px; }
  .asset-print i { width: 61px; height: 61px; }
  .asset-print i:nth-child(2) { left: 76px; }
  .asset-print i:nth-child(4) { left: 82px; width: 58px; height: 58px; }
  .asset-print { height: 230px; }
  .studio { padding-inline: 6%; gap: 8%; }
  .studio-poster { padding: 30px; min-height: 480px; }
  .poster-words { font-size: 6.2vw; }
  .contact { padding-inline: 6%; }
}
@media(max-width:700px) {
  html { scroll-padding-top: 24px; }
  .header { padding: 23px 6%; gap: 15px; }
  .signature { font-size: 30px; }
  .signature small { font-size: 8px; letter-spacing: 2.6px; }
  .header nav { display: none; }
  .motion-control { font-size: 10px; gap: 8px; }
  .hero { min-height: 704px; padding: 137px 7% 145px; }
  .hero-note { font-size: 9px; letter-spacing: 1.3px; gap: 10px; }
  .cross { font-size: 25px; }
  .hero h1 { font-size: 27.5vw; margin-top: 23px; margin-left: -.045em; }
  .brand-baseline { align-items: flex-start; gap: 20px; margin-top: 18px; padding: 0 0 23px; font-size: 8px; letter-spacing: 1px; }
  .brand-baseline>span:first-child { font-size: 9px; letter-spacing: 4px; white-space: nowrap; }
  .brand-baseline>span:last-child { max-width: 120px; text-align: right; }
  .hero-bottom { margin-top: 28px; display: block; }
  .hero-statement { font-size: 29px; letter-spacing: -1px; line-height: 1.21; }
  .paper-link { width: fit-content; margin-top: 33px; padding: 15px 21px; font-size: 13px; gap: 23px; }
  .snowbank { height: 80px; }
  .snowbank-back { height: 100px; }
  .work { padding: 42px 7% 65px; }
  .work-heading { flex-direction: column; align-items: flex-start; gap: 22px; }
  .eyebrow { font-size: 10px; letter-spacing: 1.5px; }
  .work-heading .eyebrow { margin-bottom: 20px; }
  h2 { font-size: 36px; letter-spacing: -1.8px; }
  .work-heading>p { font-size: 15px; line-height: 1.75; }
  .work-heading>p br { display: none; }
  .work-table { grid-template-columns: 1fr; gap: 43px; margin-top: 44px; }
  .sheet { padding: 27px 25px; scroll-margin-top: 38px; }
  .game-sheet { transform: rotate(-.8deg); }
  .asset-sheet { margin-top: 0; transform: rotate(.9deg); }
  .sheet-top { justify-content: space-between; }
  .status { font-size: 11px; padding: 3px 7px; }
  .sheet .eyebrow { font-size: 9px; letter-spacing: 1px; }
  .game-print { height: 215px; }
  .print-number { font-size: 195px; }
  .print-note { font-size: 9px; letter-spacing: 1px; }
  .print-orbit { right: -15px; top: 17px; width: 170px; }
  .asset-print { height: 210px; }
  .asset-print>span { font-size: 16px; }
  h3 { font-size: 35px; letter-spacing: -1.5px; }
  .sheet>p { font-size: 16px; line-height: 1.8; margin-top: 19px; }
  .sheet-footer { font-size: 10px; margin-top: 25px; padding-top: 15px; }
  .work-footnote { font-size: 11px; margin-top: 26px; }
  .studio { grid-template-columns: 1fr; gap: 46px; padding: 10px 8% 65px; }
  .studio-poster { min-height: 420px; padding: 29px; transform: rotate(-1.5deg); margin: 0 3px; }
  .poster-label { font-size: 10px; }
  .poster-words { font-size: 15.8vw; }
  .poster-small { font-size: 9px; letter-spacing: 1.3px; }
  .studio-copy h2 { font-size: 36px; letter-spacing: -1.8px; }
  .studio-copy .studio-lead { font-size: 19px!important; }
  .studio-copy>p:not(.eyebrow) { font-size: 16px; }
  .contact { flex-direction: column; align-items: flex-start; gap: 28px; padding: 53px 7%; }
  .contact h2 { font-size: 33px; letter-spacing: -1.5px; }
  .contact-copy>p br { display: none; }
  .contact-copy .contact-pending { font-size: 13px; }
  footer { padding: 30px 7%; flex-wrap: wrap; gap: 29px 20px; }
  footer .signature { font-size: 27px; }
  footer p { order: 3; width: 100%; font-size: 11px; }
  .back-link { margin-left: auto; font-size: 11px; }
}
@media(max-width:360px) {
  .hero-statement { font-size: 25px; }
  .brand-baseline>span:first-child { font-size: 8px; letter-spacing: 3px; }
  .brand-baseline>span:last-child { font-size: 7px; max-width: 100px; }
  .sheet { padding-inline: 21px; }
  h2 { font-size: 31px; }
  h3 { font-size: 32px; }
  .asset-print>span { font-size: 13px; }
  .asset-print i { width: 53px; height: 53px; }
  .asset-print i:nth-child(2) { left: 69px; }
  .asset-print i:nth-child(4) { left: 74px; width: 49px; height: 49px; }
  .contact h2 { font-size: 29px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto; }
  *,*::before,*::after { animation: none!important; transition: none!important; }
  .motion-control { display: none; }
}

/* Website application of the approved Materia y ambiente identity. */
.wrap{width:min(1200px,84%);margin-inline:auto}
.header{gap:24px}
.header nav{gap:27px}
.header nav a[aria-current="page"]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:8px}
.menu-toggle{display:none}
.motion-control{font-size:12px;white-space:nowrap}
.eyebrow,.poster-label,.poster-small,.studio-signoff,.sheet-footer,.work-footnote{font-size:12px}
.status{font-size:14px;opacity:1}
.text-link{display:flex;justify-content:space-between;align-items:center;gap:25px;width:fit-content;max-width:100%;font-size:16px;font-weight:500;border-bottom:1px solid #48677d88;margin-top:26px;padding:9px 0;transition:color .2s}
.text-link:hover{color:#0c304b;border-color:currentColor}
.text-link span{font-size:23px}
.sheet:focus-within{transform:rotate(0)}
.home-studio{display:grid;grid-template-columns:1.1fr 1fr;gap:28px 12%;padding-block:20px 95px}
.home-studio>.eyebrow{grid-column:1/-1}
.home-studio h2{font-size:clamp(32px,3.8vw,54px)}
.home-studio>div>p{color:var(--muted);max-width:440px}
.site-footer{background:#cbd9e2;flex-wrap:wrap;padding:40px 5.5% 25px;border-top:1px solid #57768a33}
.site-footer nav{display:flex;flex-wrap:wrap;gap:14px 27px;font-size:14px}
.site-footer nav a:hover{text-decoration:underline;text-underline-offset:5px}
.footer-bottom{width:100%;display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid #57768a33;padding-top:18px;margin-top:8px}
.footer-bottom p{font-size:12px}
.inner-page .header{position:relative;color:var(--ink);border-bottom:1px solid #57768a30}
.inner-page .motion-mark{border-color:var(--ink)}
.inner-page .motion-control:has(input:checked) .motion-mark{background:var(--ink)}
.page-intro{padding-block:65px 55px;position:relative}
.breadcrumb{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--muted);margin-bottom:32px}
.breadcrumb a{text-decoration:underline;text-underline-offset:4px}
.page-intro h1{font-size:clamp(44px,6.5vw,88px);line-height:1.06;letter-spacing:-.055em;max-width:950px}
.page-intro h1 span{color:#617c8f}
.page-intro>.intro-copy{font-size:18px;line-height:1.75;color:var(--muted);max-width:620px;margin-top:26px}
.project-layout{display:grid;grid-template-columns:1fr 1.05fr;gap:9%;align-items:center;padding-block:35px 85px}
.project-art{margin:0;min-width:0}
.project-art .sheet{padding:35px;transform:rotate(-1.2deg)}
.project-art .game-print{height:300px;margin:30px 0 0}
.project-art .print-number{font-size:270px;top:-10px}
.project-art .print-orbit{top:45px}
.project-art figcaption{font-size:12px;line-height:1.7;color:var(--muted);margin:24px 8px 0}
.project-copy .eyebrow{margin-bottom:20px}
.project-copy h2{font-size:clamp(36px,4vw,57px)}
.project-copy>p:not(.eyebrow){color:var(--muted);margin-top:24px;line-height:1.85}
.facts{margin:28px 0 0;border-top:1px solid #607d9038}
.facts>div{display:grid;grid-template-columns:1fr 1.2fr;gap:18px;padding:11px 0;border-bottom:1px solid #607d9038;font-size:14px}
.facts dt{color:var(--muted)}
.facts dd{margin:0}
.page-next{padding:33px 0 55px;border-top:1px solid #607d9040;display:flex;justify-content:space-between;gap:30px;align-items:center}
.page-next .text-link{margin:0}
.page-next>p{color:var(--muted);font-size:15px}
.assets-page .project-layout{grid-template-columns:1.05fr 1fr}
.assets-page .asset-sheet{margin:0;transform:rotate(1.3deg)}
.assets-page .asset-print{height:290px}
.assets-page .asset-print i{width:90px;height:90px}
.assets-page .asset-print i:nth-child(2){left:117px}
.assets-page .asset-print i:nth-child(3){top:130px}
.assets-page .asset-print i:nth-child(4){left:125px;top:133px}
.assets-page .asset-print>span{bottom:25px;font-size:25px}
.availability-note{margin-top:28px;padding:23px 0;border-top:1px solid #607d9040;border-bottom:1px solid #607d9040}
.availability-note>p{font-size:14px;line-height:1.8;margin-top:12px;color:var(--muted)}
.studio-page-body{padding-top:10px;padding-bottom:90px}
.studio-page-body .studio-poster{min-height:580px}
.studio-page-body .studio-copy h2{font-size:36px}
.studio-location{display:flex;gap:20px;justify-content:space-between;border-top:1px solid #607d9040;padding-top:21px;margin-top:30px;font-size:13px;color:var(--muted)}
.contact-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:12%;padding-block:15px 90px;align-items:center}
.contact-letter{--sheet-color:#e7edf1;transform:rotate(-.7deg);padding:45px}
.contact-letter .eyebrow{margin-bottom:28px}
.contact-letter h2{font-size:clamp(31px,3vw,44px)}
.contact-letter>p{margin-top:23px}
.contact-letter .pending-message{font-size:17px;font-weight:500;color:var(--ink);border-top:1px solid #607d9040;padding-top:24px}
.contact-signature{margin-top:35px;font:500 30px/1 var(--heading);letter-spacing:-1px}
.contact-aside h2{font-size:29px;letter-spacing:-1px;margin-bottom:19px}
.contact-aside>p{color:var(--muted)}
.contact-aside .text-link{width:100%}
button:focus-visible{outline:2px solid currentColor;outline-offset:5px}
@media(min-width:851px) and (max-width:1050px){.header{padding-inline:4%}.header nav{gap:17px}.motion-control{font-size:12px}.signature{font-size:31px}}
@media(max-width:850px){
.header{flex-wrap:wrap;align-items:center;padding:24px 6%;gap:20px}.header nav{display:flex;order:4;flex-basis:100%;flex-wrap:wrap;gap:10px 23px;font-size:16px}.header nav a{padding:8px 0}.motion-control{margin-left:auto}.menu-toggle{display:none}
body.js .menu-toggle{display:flex;align-items:center;gap:17px;font:500 14px var(--body);border:1px solid #90a7b970;background:transparent;color:inherit;padding:11px 14px;min-height:44px;margin-left:auto}.menu-toggle span{font-size:21px;line-height:1}.header .motion-control{margin-left:0}
body.js .header nav{display:none}body.js .header nav.is-open{display:flex}.home-page .header:has(nav.is-open){background:#233b4df5}.inner-page .header:has(nav.is-open){background:#dce4ef}
.project-layout,.assets-page .project-layout{gap:6%}.project-art .sheet{padding:25px}.project-art .game-print{height:240px}.project-art .print-number{font-size:220px}.project-art .print-orbit{width:160px}.assets-page .asset-print i{width:63px;height:63px}.assets-page .asset-print i:nth-child(2){left:80px}.assets-page .asset-print i:nth-child(4){left:85px}.assets-page .asset-print>span{font-size:19px}.project-art .sheet-top{flex-wrap:wrap}.studio-page-body{gap:7%}.studio-page-body .studio-poster{min-height:490px}
}
@media(max-width:700px){
.wrap{width:86%}.header{gap:12px}.header .motion-control{font-size:12px}.motion-control>span:last-child{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.motion-control{width:30px;justify-content:center}.motion-mark{width:11px;height:11px}.header .signature{font-size:30px}
.home-page .hero{min-height:675px}.hero-note{font-size:12px;letter-spacing:1px}.brand-baseline>span:last-child{font-size:12px;letter-spacing:.5px;max-width:155px}.brand-baseline>span:first-child{font-size:12px;letter-spacing:2px}.paper-link{font-size:14px}.sheet .eyebrow{font-size:12px;letter-spacing:1px}.sheet-top{flex-wrap:wrap}.status{font-size:14px}.eyebrow{font-size:12px}.work-footnote{font-size:12px}.home-studio{grid-template-columns:1fr;gap:22px;padding-bottom:55px}.home-studio h2{font-size:35px}.site-footer{gap:27px}.site-footer nav{width:100%;gap:12px 24px}.footer-bottom{align-items:flex-start;flex-direction:column;gap:12px}.footer-bottom p{width:auto;order:0;font-size:12px}.footer-bottom .back-link{margin:0;font-size:14px}
.page-intro{padding-block:35px 28px}.breadcrumb{font-size:13px;margin-bottom:26px}.page-intro h1{font-size:44px}.page-intro>.intro-copy{font-size:17px;margin-top:22px}.project-layout,.assets-page .project-layout{grid-template-columns:1fr;gap:44px;padding-block:24px 55px}.project-art{max-width:520px;width:100%;margin:auto}.project-copy h2{font-size:38px}.project-art .game-print{height:265px}.project-art .print-number{font-size:240px}.assets-page .project-copy{order:2}.assets-page .asset-print{height:250px}.assets-page .asset-print>span{font-size:23px}.assets-page .asset-print i{width:75px;height:75px}.assets-page .asset-print i:nth-child(2){left:97px}.assets-page .asset-print i:nth-child(4){left:105px}.page-next{align-items:flex-start;flex-direction:column;gap:15px;padding-bottom:40px}.page-next>p{font-size:16px}.studio-page-body{padding-top:26px;padding-bottom:50px}.studio-page-body .studio-poster{min-height:425px}.studio-location{flex-wrap:wrap;gap:10px}.poster-label,.poster-small,.studio-signoff{font-size:12px}.contact-layout{grid-template-columns:1fr;gap:55px;padding-block:25px 55px}.contact-letter{padding:31px 25px}.contact-aside{max-width:460px}.contact-letter h2{font-size:31px}
}
@media(prefers-reduced-motion:reduce){.motion-control{display:none}.header{column-gap:16px}}

.paper-link:focus-visible{outline:3px solid var(--ink);outline-offset:-6px}
/* Keep the motion setting labelled and inside the mobile menu. */
@media(max-width:850px){
 body.js .header .motion-control{display:none}
 body.js .header:has(nav.is-open) .motion-control{display:flex;order:5;width:100%;justify-content:flex-start;margin:0;font-size:14px}
 .motion-control>span:last-child{position:static;width:auto;height:auto;overflow:visible;clip-path:none}
 .header .motion-control{width:auto;justify-content:flex-start}
}
@media(prefers-reduced-motion:reduce){body.js .header:has(nav.is-open) .motion-control{display:none}}
.studio-poster,.studio-copy{min-width:0}
@media(max-width:700px){.studio{grid-template-columns:minmax(0,1fr)}.poster-words{font-size:clamp(34px,14vw,70px)}}

/* EXPEDITION — a playable layer of paper, stamps and field notes. */
[hidden]{display:none!important}
button{font-family:var(--body)}
.has-expedition{padding-bottom:83px}
.field-notes{padding-block:70px 85px;border-top:1px solid #607d9038}
.notes-heading{display:grid;grid-template-columns:1.15fr 1fr;gap:28px 10%;align-items:end}
.notes-heading>.eyebrow{grid-column:1/-1}
.notes-heading h2{font-size:clamp(34px,3.8vw,54px)}
.notes-heading>p:last-child{color:var(--muted);max-width:490px;font-size:17px;line-height:1.85}
.notes-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:35px;margin-top:60px}
.notes-grid.three{grid-template-columns:repeat(3,minmax(0,1fr));gap:50px}
.note-number{display:block;font:500 55px/1 var(--heading);letter-spacing:-3px;color:#7893a6;margin-bottom:30px}
.notes-grid h3{font-size:24px;letter-spacing:-.8px;line-height:1.25;margin-bottom:18px}
.notes-grid p{font-size:16px;line-height:1.85;color:var(--muted)}
.questions{padding-block:10px 75px}
.questions h2{font-size:40px;margin:19px 0 32px}
.questions details{border-top:1px solid #607d9045;padding:21px 0}
.questions details:last-child{border-bottom:1px solid #607d9045}
.questions summary{font-size:18px;font-weight:500;cursor:pointer;list-style:none;position:relative;padding-right:30px}
.questions summary::after{content:'+';position:absolute;right:0;font-size:24px;top:-4px}
.questions details[open] summary::after{content:'−'}
.questions details>p{max-width:800px;color:var(--muted);line-height:1.85;margin-top:17px}
.questions summary::-webkit-details-marker{display:none}
summary:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.editorial-note{padding-block:25px 90px;max-width:850px}
.editorial-note h2{font-size:42px;margin:25px 0}
.editorial-note>p:last-child{color:var(--muted);font-size:18px;line-height:1.85;max-width:630px}
.contact-note{font-size:14px;color:var(--muted);border-top:1px solid #607d9038;padding-top:25px;margin-top:40px}
.expedition-challenge{padding-block:85px 95px;display:grid;grid-template-columns:.8fr 1.2fr;gap:9%;align-items:start;scroll-margin-top:30px}
.challenge-story>.eyebrow{margin-bottom:24px;color:var(--muted)}
.challenge-story h2{font-size:clamp(38px,4.7vw,63px);letter-spacing:-2.8px;max-width:440px}
.challenge-story>p:not(.eyebrow){margin-top:24px;max-width:310px;color:var(--muted);font-size:18px;line-height:1.6}
.chapter-number{font:500 clamp(100px,14vw,180px)/1 var(--heading);letter-spacing:-12px;color:#7994a660;display:block;margin:26px 0 15px}
.challenge-story>.challenge-caption{font-size:13px!important;max-width:285px!important}
.challenge-paper{--sheet-color:#eaf0f4;transform:rotate(.6deg);padding:35px;transition:none}
.challenge-paper:hover{transform:rotate(.6deg)}
.challenge-head{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:37px;margin-bottom:20px}
.challenge-head>.eyebrow{font-size:12px;letter-spacing:1.4px}
.challenge-seal{border:3px double #466b83;padding:5px 10px;transform:rotate(-7deg);font-size:11px;letter-spacing:1px;font-weight:700;color:#385d79}
.puzzle-instruction{font-size:16px;line-height:1.75;color:#466074;margin-bottom:25px}
.challenge-paper button{cursor:pointer;color:var(--ink)}
.challenge-paper button:disabled{cursor:default}
.route-slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:23px}
.route-slots>span{min-height:70px;display:grid;place-items:center;border:1px dashed #6c8a9e85;color:#6a8394;font:500 22px var(--heading);background:#d7e2e95c}
.route-slots>span.filled{font:500 13px var(--body);color:var(--ink);background:#b5cbd9;border:1px solid #6d8b9e}
.route-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.route-choices button,.supply-grid button{min-height:51px;background:#dde7ed;border:1px solid #57768b70;font-size:15px;font-weight:500;padding:13px;transition:background .18s}
.route-choices button:hover,.supply-grid button:hover{background:#cbdce6}
.route-choices button:disabled{opacity:.45}
.quiet-button{display:block;border:0;border-bottom:1px solid #617e914f;background:transparent;padding:9px 0;font-size:14px;margin-top:20px;width:fit-content}
.game-button{display:flex;align-items:center;justify-content:space-between;gap:25px;background:#2f5068;border:1px solid #2f5068;color:#edf5fa!important;font-size:15px;font-weight:500;padding:15px 21px;min-height:50px;width:fit-content;max-width:100%;margin-top:24px;cursor:pointer;text-align:left;line-height:1.4;transition:background .2s}
.game-button:hover{background:#193b53}
.game-button>span{font-size:22px;line-height:1}
.puzzle-feedback{font-size:14px;line-height:1.7;color:#2c5069;margin-top:22px;min-height:0}
.puzzle-feedback:empty{display:none}
.puzzle-feedback.is-error{color:#733e44;border-left:2px solid #985864;padding-left:12px}
.puzzle-hint{border-top:1px solid #607d9038;margin-top:24px;padding-top:17px;color:var(--muted);font-size:14px}
.puzzle-hint summary{cursor:pointer;width:fit-content}
.puzzle-hint>p{margin-top:12px;line-height:1.75}
.challenge-success{padding:20px 0 8px}
.challenge-success>p{font:500 25px/1.4 var(--heading);letter-spacing:-.7px;max-width:380px}
.challenge-success .quiet-button{margin-top:19px}
.is-complete .challenge-paper{--sheet-color:#d0dfe8}
.bag-meter{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;font-size:14px;margin-bottom:23px}
.bag-meter progress{width:100%;height:6px;border:0;border-radius:0;appearance:none}
.bag-meter progress::-webkit-progress-bar{background:#b9cedc}
.bag-meter progress::-webkit-progress-value{background:#426b85;transition:width .2s}
.bag-meter progress::-moz-progress-bar{background:#426b85}
.bag-meter.overweight{color:#733e44}
.bag-meter.overweight progress::-webkit-progress-value{background:#985864}
.supply-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.supply-grid button{font-size:14px;text-align:left;padding:14px 10px;position:relative}
.supply-grid button small{display:block;font-size:12px;font-weight:400;color:#526b7e;margin-top:7px}
.supply-grid button[aria-pressed=true]{background:#2f5068;color:#f1f6f9}
.supply-grid button[aria-pressed=true] small{color:#c6d9e6}
.shape{display:inline-block;width:32px;height:32px;background:#385d79}
.shape.circle{border-radius:50%}
.shape.triangle{clip-path:polygon(50% 0,100% 100%,0 100%)}
.shape.diamond{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
.shape-reference{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #57768b50;padding-bottom:21px;margin-bottom:22px;font-size:14px;color:var(--muted)}
.shape-reference>div{display:flex;gap:16px}
.shape-reference .shape{width:22px;height:22px}
.shape-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.shape-controls button{min-height:116px;background:#d8e5ec;border:1px solid #57768b70;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:19px;padding:14px 4px}
.shape-controls button:hover{background:#bfd3e0}
.shape-controls small{font-size:12px}
.shape-controls .shape{height:40px;width:40px}
.memory-meta{display:flex;justify-content:space-between;gap:16px;font-size:14px;color:var(--muted);margin-bottom:19px}
.memory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.memory-card{position:relative;min-height:116px;border:1px solid #375a7480;background:#34556e;color:#dce8f0!important;perspective:500px;padding:10px;transition:background .2s}
.memory-card:hover{background:#446a86}
.card-back{display:flex;flex-direction:column;align-items:center;font:500 43px/1 var(--heading);gap:10px;letter-spacing:-2px}
.card-back small{font:400 12px var(--body);letter-spacing:1px}
.card-word{display:none;font:500 15px var(--heading)}
.memory-card.is-open{background:#c3d6e2;color:#233b4d!important}
.memory-card.is-open .card-back{display:none}
.memory-card.is-open .card-word{display:block}
.memory-card.is-matched{background:#e5edf2;border:2px solid #4f748d}
.radio-display{background:#213f53;color:#d5e5ef;padding:24px;display:flex;align-items:baseline;justify-content:center;gap:12px;flex-wrap:wrap;border:6px double #536f83}
.radio-display>span:first-child{width:100%;font-size:11px;letter-spacing:2px;text-align:center}
.radio-display output{font:500 76px/1.2 var(--heading);letter-spacing:-5px}
.radio-bars{height:65px;display:flex;align-items:center;justify-content:center;gap:7px;flex-basis:100%;margin-top:10px}
.radio-bars i{width:5px;height:8px;background:#91afc3;display:block;transition:background .2s}
.radio-display.has-signal .radio-bars i{background:#d6eaf7}
.dial-label{display:block;font-size:14px;margin-top:22px}
.dial-controls{display:flex;align-items:center;gap:17px;margin:12px 0}
.dial-controls button{width:44px;height:44px;font-size:22px;background:transparent;border:1px solid #638297;flex-shrink:0}
.dial-controls input{width:100%;min-width:0;accent-color:#385d79;cursor:pointer;height:44px}
.signal-status{font-size:14px;color:#486980}
.game-disclaimer{font-size:12px;line-height:1.7;color:var(--muted);margin-top:17px}
.journey-hud{position:fixed;bottom:0;left:0;right:0;z-index:40;background:#203a4df5;color:#e5eff6;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 5.5%;border-top:1px solid #7795a966;box-shadow:0 -5px 22px #10253314;backdrop-filter:blur(14px)}
.journal-trigger{display:flex;align-items:center;gap:18px;border:0;background:transparent;color:inherit;cursor:pointer;text-align:left;padding:5px 0;font-size:14px}
.journal-trigger small{display:block;font-size:12px;color:#b5cad9;margin-top:2px}
.hud-cross{font-size:31px;line-height:1;color:#a8c3d6}
.hud-meter{display:flex;gap:7px;margin-left:10px}
.hud-meter i{width:15px;height:20px;border:1px solid #96b3c87a;transform:rotate(-4deg)}
.hud-meter i.filled{background:#a6c3d7;border-color:#adc9dc;box-shadow:inset 0 0 0 3px #2c4b61}
.sound-toggle{border:1px solid #94aebf66;min-height:42px;padding:9px 14px;color:#d5e5ef;background:transparent;font-size:13px;cursor:pointer}
.sound-toggle:hover{background:#38576c}
.expedition-toast{position:fixed;bottom:104px;left:50%;transform:translate(-50%,10px);z-index:45;width:max-content;max-width:calc(100% - 36px);background:#e5eef4;color:#294b63;border:1px solid #63839977;padding:16px 23px;box-shadow:1px 7px 20px #132e4420;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;font-size:14px;text-align:center}
.expedition-toast.is-visible{opacity:1;transform:translate(-50%,0)}
.journal-open{overflow:hidden}
.journal-dialog{width:min(720px,calc(100% - 32px));max-height:calc(100dvh - 40px);margin:auto;border:1px solid #526e8340;box-shadow:0 25px 80px #05121e55;padding:35px 42px;background:var(--paper);background-image:var(--fibres),var(--grain);background-size:auto,41px 43px;color:var(--ink);overflow:auto}
.journal-dialog::backdrop{background:#142b3eaa;backdrop-filter:blur(6px)}
.journal-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:17px}
.dialog-close{min-width:44px;min-height:44px;border:1px solid #64809455;background:transparent;font-size:27px;cursor:pointer;color:var(--ink)}
.journal-dialog h2{font-size:42px;letter-spacing:-1.8px;line-height:1.1}
.journal-intro{margin:20px 0 27px;color:var(--muted);font-size:16px;line-height:1.75;max-width:540px}
.journal-route{list-style:none;padding:0;margin:0;border-top:1px solid #607d9040}
.journal-route li{display:flex;align-items:center;gap:17px;padding:17px 0;border-bottom:1px solid #607d9040}
.journal-stamp{display:grid;place-items:center;flex:0 0 43px;height:43px;font:500 22px var(--heading);border:1px dashed #5c7b9180;color:#6e899c;transform:rotate(-4deg)}
.journal-route a{font-size:17px;font-weight:500;flex:1;line-height:1.4;padding-block:4px}
.journal-route a:hover{text-decoration:underline;text-underline-offset:4px}
.journal-route a small{display:block;font-weight:400;font-size:12px;color:var(--muted);margin-top:4px}
.chapter-state{font-size:12px;color:var(--muted)}
.journal-route li.is-current a{color:#214e70}
.journal-route li.is-complete .journal-stamp{background:#345a75;color:#deedf7;border:3px double #9fbacb}
.journal-route li.is-complete .chapter-state{font-weight:600;color:#2c536f}
.journal-ending{padding:30px 0 18px;border-bottom:1px solid #607d9040}
.journal-ending>p{margin-bottom:17px;line-height:1.7}
.journal-ending .ending-line{font:500 46px/1 var(--heading);letter-spacing:-2px;margin:24px 0;color:#2f526c}
.storage-note{font-size:12px;color:var(--muted);line-height:1.7;margin-top:24px}
.reset-progress{margin-top:20px;font-size:13px;color:var(--muted)}
.reset-progress summary{cursor:pointer;width:fit-content}
.reset-progress p{margin-block:13px}
.reset-progress button{font-size:14px;border:1px solid #68879a;background:transparent;color:var(--ink);padding:10px 14px;cursor:pointer;min-height:44px}
.page-curtain{position:fixed;inset:0;z-index:100;background-color:#29495f;background-image:var(--fibres);transform:scaleY(0);transform-origin:bottom;pointer-events:none}
.reading-line{height:3px;position:fixed;left:0;top:0;right:0;background:#83a8c0;transform:scaleX(0);transform-origin:left;z-index:50;pointer-events:none}
@media(max-width:1050px){.expedition-challenge{gap:5%;grid-template-columns:.8fr 1.2fr}.challenge-paper{padding:27px}.notes-grid{gap:24px}.notes-grid.three{gap:32px}.challenge-story h2{font-size:44px}.shape-controls{gap:6px}.route-slots>span.filled{font-size:11px}}
@media(max-width:850px){.notes-heading{grid-template-columns:1fr;gap:24px}.notes-heading h2{font-size:40px}.notes-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.notes-grid.three{grid-template-columns:1fr;gap:32px}.notes-grid.three article{display:grid;grid-template-columns:65px 1fr;gap:10px 20px}.notes-grid.three article>.note-number{grid-row:1/3;margin:0}.notes-grid.three h3{margin-bottom:0}.notes-grid.three p{grid-column:2}.expedition-challenge{grid-template-columns:1fr;gap:35px;padding-block:60px}.challenge-story{position:relative;padding-right:90px}.challenge-story h2{font-size:42px;max-width:400px;letter-spacing:-2px}.challenge-story>p:not(.eyebrow){max-width:450px;font-size:17px}.chapter-number{position:absolute;right:0;top:35px;font-size:90px;letter-spacing:-7px}.challenge-story>.challenge-caption{max-width:440px!important;font-size:13px!important}.challenge-paper{width:100%;max-width:640px;margin-inline:auto}.route-slots>span.filled{font-size:14px}.field-notes{padding-block:55px}.journal-dialog{padding:28px 30px}}
@media(max-width:520px){.has-expedition{padding-bottom:82px}.field-notes{padding-block:45px 55px}.notes-heading h2{font-size:34px;letter-spacing:-1.6px}.notes-heading>p:last-child{font-size:16px}.notes-grid{grid-template-columns:1fr;gap:32px;margin-top:35px}.notes-grid article{display:grid;grid-template-columns:49px 1fr;gap:9px 16px}.notes-grid .note-number{grid-row:1/3;font-size:37px;letter-spacing:-2px;margin:0}.notes-grid h3{font-size:22px;letter-spacing:-.6px;margin:0}.notes-grid p{grid-column:2}.notes-grid.three article{grid-template-columns:49px 1fr;gap:9px 16px}.questions{padding-bottom:45px}.questions h2,.editorial-note h2{font-size:32px;letter-spacing:-1.5px}.questions summary{font-size:16px}.questions details>p{font-size:16px}.editorial-note{padding-bottom:50px}.editorial-note>p:last-child{font-size:16px}.expedition-challenge{gap:33px;padding-block:46px 60px}.challenge-story{padding-right:0}.challenge-story>.eyebrow{font-size:11px;letter-spacing:1px;padding-right:35px}.challenge-story h2{font-size:36px;padding-right:45px}.challenge-story>p:not(.eyebrow){font-size:16px;max-width:280px}.chapter-number{font-size:70px;right:0;top:16px;letter-spacing:-5px;opacity:.75;z-index:-1}.challenge-story{isolation:isolate}.challenge-story>.challenge-caption{max-width:260px!important;margin-top:17px}.challenge-paper{padding:27px 19px;transform:none}.challenge-paper:hover{transform:none}.challenge-head{gap:10px;flex-wrap:wrap}.challenge-head>.eyebrow{font-size:11px}.puzzle-instruction{font-size:15px}.route-slots{gap:4px}.route-slots>span{min-height:56px;font-size:20px}.route-slots>span.filled{font-size:10px}.route-choices button{font-size:14px}.supply-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.supply-grid button{font-size:14px;min-height:74px}.shape-reference>div{gap:12px}.shape-controls button{min-height:92px}.shape-controls .shape{width:30px;height:30px}.shape-controls small{font-size:10px}.memory-grid{gap:7px}.memory-card{min-height:98px;padding:7px}.card-word{font-size:12px}.card-back{font-size:34px}.radio-display{padding:18px 14px}.radio-display output{font-size:62px}.radio-bars{gap:5px}.journey-hud{padding:10px 18px;gap:10px}.journal-trigger{gap:10px;font-size:12px;min-height:47px}.journal-trigger small{font-size:11px}.hud-cross{font-size:24px}.hud-meter{gap:4px;margin-left:0}.hud-meter i{width:8px;height:14px}.journal-trigger>span:last-child{display:none}.sound-toggle{font-size:11px;padding:8px;min-height:39px}.game-button{font-size:14px;padding:14px 17px;gap:15px}.expedition-toast{font-size:13px;padding:14px 17px;bottom:93px}.journal-dialog{padding:24px 20px;width:calc(100% - 24px);max-height:calc(100dvh - 24px)}.journal-dialog h2{font-size:32px;letter-spacing:-1.3px}.journal-intro{font-size:15px}.journal-heading .eyebrow{font-size:11px}.journal-route li{gap:11px;flex-wrap:wrap;padding:14px 0}.journal-stamp{flex-basis:35px;height:39px;font-size:20px}.journal-route a{font-size:15px}.journal-route a small{font-size:11px}.chapter-state{font-size:10px}.journal-ending .ending-line{font-size:36px}.challenge-success>p{font-size:23px}.reset-progress{font-size:13px}}
@media(max-width:360px){.hud-meter{display:none}.journal-trigger{font-size:12px}.chapter-state{width:100%;padding-left:46px;margin-top:-10px}.journal-route a small{font-size:11px}.route-slots>span.filled{font-size:9px}.shape-reference .shape{height:19px;width:19px}.shape-reference>div{gap:10px}.memory-meta{font-size:12px}.card-word{font-size:11px}}
@media(prefers-reduced-motion:reduce){.reading-line,.page-curtain{display:none}.expedition-toast,.bag-meter progress::-webkit-progress-value{transition:none}}
