@font-face{font-family:Manrope;src:url(manrope-regular.ttf) format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url(manrope-bold.ttf) format('truetype');font-weight:600 700;font-display:swap}
:root{--stone:#f3efe7;--paper:#e9e1d3;--ink:#30262a;--wine:#6a1634;--muted:#6b565a;--white:#fffaf2;--ease:cubic-bezier(.22,1,.36,1);--space:32px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--stone);color:var(--ink);font:400 16px/1.6 Manrope,sans-serif}
::selection{background:var(--wine);color:var(--white)}a{color:inherit;text-underline-offset:6px}button,summary{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}
:focus-visible{outline:3px solid var(--wine);outline-offset:6px}.interest :focus-visible{outline-color:var(--white)}img{display:block;max-width:100%;height:auto}
h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:700;text-wrap:balance}p{text-wrap:pretty}h1{font-size:72px;line-height:1;letter-spacing:-.04em;color:var(--wine)}h2{font-size:48px;line-height:1;letter-spacing:-.04em}h3{font-size:30px;line-height:1.2;letter-spacing:-.02em}
p+p{margin-top:16px}.wrap{max-width:1440px;margin-inline:auto;padding-inline:64px}section{scroll-margin-top:32px}.small-note{font-size:14px;line-height:1.5;color:var(--muted)}
.skip{position:fixed;top:8px;left:16px;padding:12px;background:var(--wine);color:var(--white);z-index:10;transform:translateY(-150%)}.skip:focus{transform:translateY(0)}
.header{min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:block;width:256px;height:80px;position:relative;flex-shrink:0}
.brand img{width:100%;height:100%;object-fit:contain}.header nav{display:flex;gap:32px}.header nav a,.header-link{text-decoration:none;font-size:14px}.header-link{font-weight:700;color:var(--wine)}
.header a:hover,.text-link:hover,.footer a:hover{text-decoration:underline}.hero{position:relative;min-height:740px;display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:24px;padding-top:32px;padding-bottom:96px}
.hero-copy{position:relative;z-index:2}.hero-copy>p{max-width:460px;margin-top:24px;font-size:18px;line-height:1.6}.hero-copy .small-note{font-size:14px;margin-top:24px}
.button{display:inline-flex;align-items:center;gap:32px;margin-top:32px;padding:16px 24px;background:var(--wine);color:var(--white);text-decoration:none;font-weight:700;border-radius:4px;transition:transform .5s var(--ease),background-color .3s var(--ease)}
.button:hover{background:#491026;transform:translateY(-3px)}.button:active,button:active{transform:scale(.98)}.button span{font-size:24px;line-height:1}.hero-scene{position:relative;min-height:590px;isolation:isolate;overflow:hidden}
.map-art{position:absolute;width:100%;top:0;left:0;opacity:.55}.gargo-figure{position:relative;aspect-ratio:1312/1199}
.gargo-figure img{width:100%;height:100%;object-fit:contain}.hello{width:90%;margin-top:64px;left:0}.scene-note{position:absolute;right:0;bottom:16px;font-size:14px;color:var(--wine);transform:rotate(-5deg)}
.scroll-cue{position:absolute;bottom:24px;left:64px;display:flex;gap:24px;align-items:center;text-decoration:none;font-size:14px}.scroll-cue span{font-size:24px}.adventure{background:var(--paper);padding-block:96px}
.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:96px}.sticky-copy{align-self:start;position:sticky;top:64px}.sticky-copy p{max-width:450px;margin-top:24px}.story-steps{list-style:none;padding:0;margin:0}
.story-steps>li{padding-bottom:80px}.story-steps>li:last-child{padding-bottom:0}.step-word{display:block;color:var(--wine);margin-bottom:16px;font-size:16px;font-weight:700}.story-steps h3{margin-bottom:24px}.story-steps p{max-width:480px}
.kit-art{position:relative;height:320px;margin-top:32px;overflow:hidden}.envelope{position:absolute;left:8%;top:24px;background:var(--wine);width:70%;height:240px;transform:rotate(-8deg);padding:32px;color:var(--white);display:flex;flex-direction:column;justify-content:space-between}
.envelope span:first-child{font-size:30px;font-weight:700}.envelope span:last-child{font-size:14px}.clue-paper{position:absolute;right:2%;top:80px;width:42%;padding:24px;background:var(--stone);color:var(--wine);font-size:24px;line-height:1.3;transform:rotate(9deg)}
.step-map{height:300px;width:100%;object-fit:contain;object-position:center;margin-top:24px}.text-link{display:inline-block;margin-top:24px;color:var(--wine);font-weight:700}.tagline{padding-block:96px}
.tagline p{font-size:48px;line-height:1.3;letter-spacing:-.04em;font-weight:700;max-width:900px}.tagline span{transition:opacity .7s var(--ease)}.motion-ready .tagline span{opacity:.3}.motion-ready .tagline span.lit{opacity:1}
.gargo-section{padding-block:64px;background:#e4dfd5}.gargo-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.gargo-grid p{margin-top:24px;max-width:500px}.thinking{width:100%;justify-self:center}
.sample{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;padding-block:96px;align-items:center}.sample h2{margin-bottom:24px}.sample .small-note{margin-top:16px}
.clue{margin-top:32px;padding:24px;background:var(--paper);border-radius:4px}.clue p{margin-top:16px}.clue details{margin-top:24px}summary{cursor:pointer;font-weight:600;padding-block:8px}summary:hover{color:var(--wine)}
.interactive-map{position:relative;min-width:0;padding-bottom:64px}.interactive-map>img{width:100%;background:var(--paper)}.map-pin{position:absolute;border:0;padding:8px 12px;background:var(--white);color:var(--wine);font-size:14px;font-weight:700;border-radius:4px;min-height:44px;transition:background .3s var(--ease),transform .5s var(--ease)}
.map-pin[aria-pressed=true]{background:var(--wine);color:var(--white)}.map-pin:hover{transform:translateY(-4px)}.cathedral{left:8%;top:45%}.theatre{left:35%;top:65%}.fortress{right:6%;top:22%}.place-caption{position:absolute;bottom:0;left:0;right:0;font-size:14px;padding:16px;background:var(--paper);min-height:64px}
.faq-section{padding-block:96px;background:var(--paper)}.faq-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:80px}.faqs details{padding:16px 24px;margin-bottom:8px;background:var(--stone)}.faqs p{margin-top:16px;padding-bottom:8px}.faqs summary{font-size:18px}
.interest{background:var(--wine);color:var(--white);padding-block:96px}.interest-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:center}.interest-grid>div>p{margin-top:24px;max-width:600px}.interest .small-note{color:var(--white)}
.interest-options{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.interest-options button{border:2px solid var(--white);padding:12px 16px;background:transparent;color:var(--white);border-radius:4px;font-weight:700;transition:background .3s var(--ease),color .3s var(--ease),transform .5s var(--ease)}
.interest-options button[aria-pressed=true],.interest-options button:hover{background:var(--white);color:var(--wine)}.interest-message{margin-top:32px;max-width:600px}.interest-message h3{font-size:24px}.interest-message p{margin-top:16px}.interest-message a{display:inline-block;margin-top:16px;font-weight:700}
.success{width:100%;padding:16px;aspect-ratio:1199/1312}.footer{display:grid;grid-template-columns:1fr 1fr auto;gap:48px;align-items:center;padding-block:64px}.footer-wordmark{font-size:48px;line-height:1;font-weight:700;letter-spacing:-.04em;text-decoration:none;color:var(--wine)}
.footer-wordmark span{display:block;font-size:16px;font-weight:400;letter-spacing:0;margin-top:8px}.footer p,.footer>a:last-of-type{font-size:14px}.footer-note{grid-column:1/-1;color:var(--muted)}
.reveal{transition:opacity .8s var(--ease),transform .8s var(--ease)}.motion-ready .reveal:not(.visible){opacity:0;transform:translateY(32px)}.hero-copy{animation:arrive 1s var(--ease) both}.hero-scene{animation:arrive 1.2s var(--ease) both}.hello{animation:float 7s var(--ease) infinite}
@keyframes arrive{from{opacity:.3;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-12px) rotate(1deg)}}
@media(min-width:1600px){.hero{min-height:800px}h1{font-size:96px}.hero-scene{min-height:660px}}
@media(max-width:1100px){.wrap{padding-inline:32px}.header{gap:24px}.header nav{gap:24px}.hero{min-height:640px}h1{font-size:60px}h2{font-size:36px}.hero-scene{min-height:480px}.hello{margin-top:64px}.scene-note{bottom:0}.scroll-cue{left:32px}.story-grid{gap:48px}.gargo-grid,.faq-grid{gap:40px}.sample{gap:32px}.footer{gap:32px}.tagline p{font-size:36px}}
@media(max-width:760px){.wrap{padding-inline:24px}.header{min-height:88px;gap:16px}.brand{width:184px;height:64px}.header nav{display:none}.header-link{font-size:14px}.hero{grid-template-columns:1fr;gap:0;padding-top:40px;padding-bottom:80px;min-height:auto}.hero-copy>p{max-width:520px}.hero-scene{min-height:460px;margin-top:24px;max-width:540px;width:100%;justify-self:center}.hero-copy h1{font-size:60px}.map-art{width:100%;left:0;top:0}.hello{width:86%;margin-top:32px;left:4%}.scene-note{right:0;bottom:0}.scroll-cue{left:24px;bottom:24px}
.story-grid,.gargo-grid,.sample,.faq-grid,.interest-grid{grid-template-columns:1fr}.adventure,.faq-section,.interest{padding-block:64px}.story-grid{gap:64px}.sticky-copy{position:static}.story-steps>li{padding-bottom:64px}.story-steps h3{font-size:30px}.kit-art{max-width:480px}.tagline{padding-block:80px}.tagline p{font-size:36px}.gargo-grid{gap:24px}.thinking{max-width:450px;justify-self:center}.gargo-grid>div:last-child{padding-bottom:16px}.sample{padding-block:64px;gap:40px}.interactive-map{max-width:600px;width:100%;justify-self:center}.faq-grid{gap:32px}.interest-grid{gap:40px}.success{width:280px;justify-self:center}.footer{grid-template-columns:1fr 1fr;gap:32px}.footer>a:last-of-type{grid-column:1/-1}.footer-wordmark{font-size:36px}}
@media(max-width:420px){.hero-copy h1{font-size:48px}.hero-scene{min-height:370px}.scene-note{font-size:14px;max-width:170px}.hero-copy>p{font-size:16px}.tagline p{font-size:30px}h2{font-size:30px}.map-pin{font-size:12px;padding:8px}.place-caption{font-size:14px;min-height:80px}.interactive-map{padding-bottom:80px}.faqs details{padding-inline:16px}.faqs summary{font-size:16px}.footer{grid-template-columns:1fr}.footer-wordmark{font-size:48px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.motion-ready .reveal:not(.visible){opacity:1;transform:none}.motion-ready .tagline span{opacity:1}}
