/* Full-bleed arrival, centered scrapbook story, and progressive motion. */
.hero{height:100svh;min-height:760px;max-height:1150px;background:#173b6b;isolation:isolate}.hero-photo{inset:-5% 0;padding:0;border:0;border-radius:0;rotate:0deg;box-shadow:none;z-index:-2;overflow:hidden}.hero-photo picture{display:block;width:100%;height:100%}.hero-photo img{width:100%;height:100%;border-radius:0;object-position:center 64%;animation:photo-arrive 2.3s cubic-bezier(.2,.6,.2,1) both}.hero-shade{z-index:-1;background:linear-gradient(180deg,#081b37bd 0%,#0c203e5c 38%,#0c203e00 61%,#081e3adb 100%)}.hero-shade:before{display:none}.hero-content{top:22%;left:6.2%;right:6.2%;z-index:2;pointer-events:none}.hero .eyebrow{font-size:9px;letter-spacing:1.7px;margin-bottom:20px}.hero h1{font-size:clamp(64px,7.6vw,118px);letter-spacing:-.066em;font-weight:800;line-height:1.03}.type-line{display:block;white-space:nowrap}.type-word{display:inline-block;vertical-align:top;position:relative;overflow:hidden;padding-bottom:.2em;margin-bottom:-.2em}.type-word>span{display:inline-block;animation:type-rise 1.15s cubic-bezier(.17,.78,.2,1) both;animation-delay:calc(.25s + var(--word)*.13s)}.adventure-word{overflow:visible}.adventure-word>span{clip-path:inset(-10% -2% -25% -2%)}.drawn-underline{position:absolute;bottom:-.03em;left:0;width:100%;height:.22em;fill:none;stroke:var(--yellow);stroke-width:3;stroke-linecap:round;overflow:visible}.drawn-underline path{stroke-dasharray:1100;stroke-dashoffset:1100;animation:draw-line 1.2s 1.3s cubic-bezier(.2,.6,.2,1) forwards}.hero-bottom{position:absolute;left:6.2%;right:6.2%;bottom:112px;margin:0;display:flex;align-items:center;gap:45px;z-index:3}.hero-bottom p{font-size:14px;line-height:1.7;color:var(--paper)}.hero-bottom .button{margin-top:0;padding:17px 23px;font-size:12px}.motto-patch{left:auto;right:6.5%;top:25%;bottom:auto;width:112px;height:112px;rotate:12deg;animation:patch-arrive 1.1s .8s cubic-bezier(.2,.8,.25,1) both;box-shadow:0 0 0 5px var(--yellow),0 6px 16px #07152b33}.motto-patch strong{font-size:29px}.hero-foot{bottom:33px}.field-strip{overflow:hidden}.field-strip .spark{transition:rotate .8s}.field-strip:hover .spark{rotate:90deg}.intro{position:relative;overflow:hidden;padding-top:90px;padding-bottom:90px;max-width:none}.intro .section-label{justify-content:center;margin-bottom:23px}.intro>.welcome-note{font-size:32px;text-align:center;margin-bottom:20px;rotate:-3deg;color:#9c4d27}.intro h2{font-size:clamp(40px,4.75vw,74px);line-height:1.1;letter-spacing:-.06em;text-align:center;max-width:1200px;margin:0 auto;font-weight:800}.intro-composition{display:grid;grid-template-columns:1fr 1.35fr 1fr;align-items:center;gap:6%;max-width:1390px;margin:64px auto 0;position:relative}.intro-copy{text-align:center;order:initial;align-self:start;padding-top:30px}.intro-copy p{font-size:17px;line-height:1.8}.intro-copy .text-link{margin-top:19px;gap:22px}.memory-photo{margin:0;padding:9px 9px 0;background:var(--paper);border:1px solid #173b6b14;box-shadow:0 10px 25px #173b6b14;position:relative;translate:0 var(--float-y,0px);will-change:translate;transform-origin:50% 85%}.memory-photo img{width:100%;height:100%;object-fit:cover}.memory-photo figcaption{font:700 28px Caveat,cursive;text-align:center;line-height:1.25;padding:12px 2px;color:var(--ink)}.memory-left{rotate:-8deg;margin-top:62px;aspect-ratio:auto}.memory-left img{aspect-ratio:1.1;object-position:51% center}.memory-right{rotate:7deg;align-self:start;margin-top:0}.memory-right img{aspect-ratio:.9;object-position:center 40%}.memory-photo .photo-tape{width:82px;left:calc(50% - 41px);height:22px;top:-12px}.memory-right .photo-tape{background:#a8c8d9d9;rotate:-5deg}.intro-doodle{display:block;width:155px;height:82px;margin:23px auto -5px;fill:none;stroke:#a3522b;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.trail-draw{stroke-dasharray:310;stroke-dashoffset:calc(310 * (1 - var(--intro-progress,1)))}.doodle-star{stroke:var(--ink)}.intro-promise{display:flex;gap:24px;align-items:center;justify-content:center;margin:60px auto 0;font-size:9px;letter-spacing:1.4px;font-weight:600}.intro-promise span:nth-child(even){font-size:24px;color:#b7652b;line-height:1}.pack-life{padding-top:15px}.rank-trail:before{transform:scaleX(var(--trail-progress,1));transform-origin:left;will-change:transform}.rank.reveal{transition-delay:calc(var(--stagger,0)*70ms)}.rank-badge{transition:transform .45s cubic-bezier(.2,.8,.25,1),filter .4s}.rank:hover .rank-badge{transform:translateY(-10px) rotate(-8deg);filter:drop-shadow(4px 10px 0 #173b6b12)}.button{position:relative;overflow:hidden;translate:var(--magnetic-x,0px) var(--magnetic-y,0px);transition:background .25s,transform .3s,translate .25s cubic-bezier(.2,.8,.2,1),box-shadow .3s}.button:after{content:'';position:absolute;inset:-100% -150%;background:linear-gradient(110deg,transparent 43%,#ffffff25 50%,transparent 57%);transform:translateX(-40%);pointer-events:none}.button:hover:after{animation:button-glint .8s ease-out both}.yellow-button:hover{box-shadow:0 6px 25px #081c3520}.motion-paused .memory-photo{translate:none!important}.motion-paused .rank-trail:before{transform:none!important}.motion-paused .drawn-underline path,.motion-paused .trail-draw{stroke-dashoffset:0!important}.motion-paused .button{translate:none!important}.motion-paused .type-word>span{transform:none!important;opacity:1!important;filter:none!important}.motion-paused .hero-photo img{transform:none!important}
@keyframes photo-arrive{from{transform:scale(1.075)}to{transform:scale(1)}}@keyframes type-rise{from{opacity:0;transform:translateY(108%) rotate(2deg);filter:blur(5px)}to{opacity:1;transform:translateY(0) rotate(0);filter:blur(0)}}@keyframes draw-line{to{stroke-dashoffset:0}}@keyframes patch-arrive{from{opacity:0;scale:.65;rotate:-12deg}to{opacity:1;scale:1;rotate:12deg}}@keyframes button-glint{to{transform:translateX(40%)}}
@media(min-width:1600px){.hero-content{top:23%}.hero-photo{inset:-5% 0}.hero-bottom{bottom:125px}.motto-patch{width:135px;height:135px;top:27%;left:auto;bottom:auto;right:7%}.motto-patch strong{font-size:35px}.intro-composition{gap:7%}.memory-photo figcaption{font-size:33px}}
@media(max-width:1050px){.hero{min-height:760px}.hero-content{top:23%;left:6%;right:6%}.hero h1{font-size:7.9vw}.hero-photo{inset:-5% 0}.hero-bottom{left:6%;right:6%;bottom:106px;gap:30px}.hero-bottom p{font-size:13px}.motto-patch{left:auto;right:6%;top:25%;bottom:auto;width:90px;height:90px}.motto-patch>span,.motto-patch small{font-size:6px}.motto-patch strong{font-size:24px;margin:7px 0}.intro-composition{grid-template-columns:1fr 1.6fr 1fr;gap:4%;margin-top:50px}.intro-copy{padding-top:8px}.intro-copy p{font-size:15px;line-height:1.7}.memory-photo figcaption{font-size:24px}.memory-left{margin-top:70px}.memory-right img{aspect-ratio:.76}.intro h2{font-size:5.3vw}.intro-promise{margin-top:38px}.intro-doodle{width:125px;height:66px}.intro>.welcome-note{font-size:29px}}
@media(max-width:760px){.hero{height:100svh;min-height:790px;max-height:1000px}.hero-photo{inset:-3% 0;padding:0;rotate:0deg;border-radius:0;box-shadow:none}.hero-photo img{object-position:54% 37%;border-radius:0}.hero-shade{background:linear-gradient(180deg,#091f438c 0%,#091f4310 30%,#091f4310 42%,#091f437a 56%,#091f43e3 100%)}.hero-content{top:auto;bottom:250px;left:6%;right:6%}.hero .eyebrow{font-size:7px;letter-spacing:.9px;margin-bottom:18px}.hero h1{font-size:clamp(42px,10.4vw,70px);letter-spacing:-.07em;line-height:1.08}.hero-bottom{bottom:82px;display:block;left:6%;right:6%}.hero-bottom p{font-size:12px;line-height:1.6}.hero-bottom .button{margin-top:18px;font-size:11px;padding:14px 19px}.hero-foot{bottom:24px;left:6%;right:6%}.hero-foot>span:first-child{font-size:6px}.hero-foot a{font-size:6px}.motto-patch{top:118px;right:7%;bottom:auto;left:auto;width:80px;height:80px;box-shadow:0 0 0 4px var(--yellow),0 3px 8px #07152b33}.motto-patch strong{font-size:22px;margin:7px 0 4px}.motto-patch>span{font-size:5px;letter-spacing:.5px}.motto-patch small{font-size:5px}.drawn-underline{height:.22em;bottom:-.07em}.intro{padding-top:65px;padding-bottom:55px;overflow:hidden}.intro .section-label{font-size:8px;margin-bottom:22px}.intro>.welcome-note{font-size:28px;margin-bottom:19px}.intro h2{font-size:clamp(30px,7.1vw,47px);line-height:1.15;letter-spacing:-.057em}.intro h2 br{display:none}.intro-composition{grid-template-columns:1fr 1fr;gap:25px 20px;margin-top:25px;align-items:start}.intro-copy{grid-column:1/-1;grid-row:1;padding-top:0;max-width:510px;margin:0 auto}.intro-copy p{font-size:15px;line-height:1.8}.intro-copy .text-link{margin-top:17px}.intro-doodle{height:60px;width:114px;margin-top:20px;margin-bottom:4px;rotate:-8deg}.memory-photo{grid-row:2;padding:6px 6px 0}.memory-left{grid-column:1;margin:19px 0 0;rotate:-7deg}.memory-right{grid-column:2;margin:0;rotate:7deg}.memory-left img{aspect-ratio:.92;object-position:50% center}.memory-right img{aspect-ratio:.79}.memory-photo figcaption{font-size:21px;padding:10px 0;line-height:1.1}.memory-photo .photo-tape{width:64px;height:18px;left:calc(50% - 32px);top:-10px}.intro-promise{gap:13px;margin-top:48px;font-size:7px;letter-spacing:.8px}.intro-promise span:nth-child(even){font-size:19px}.rank.reveal{transition-delay:calc(var(--stagger,0)*45ms)}}
@media(max-width:370px){.hero h1{font-size:39px}.hero .eyebrow{font-size:6.5px}.hero-content{bottom:250px}.intro h2{font-size:29px}.memory-photo figcaption{font-size:19px}.intro-promise{gap:10px;font-size:6px}}
@media(prefers-reduced-motion:reduce){.memory-photo{translate:none!important}.rank-trail:before{transform:none!important}.drawn-underline path,.trail-draw{stroke-dashoffset:0!important}.type-word>span{transform:none!important;opacity:1!important;filter:none!important}.button{translate:none!important}.hero-photo img{transform:none!important}}
.motion-paused *, .motion-paused *::before, .motion-paused *::after{transition:none!important}.motion-paused .field-strip .spark{rotate:0deg!important}.motion-paused .rank:hover .rank-badge,.motion-paused .rank:focus-visible .rank-badge,.motion-paused .button:hover,.motion-paused .button:hover span{transform:none!important}
@media(prefers-reduced-motion:reduce){.field-strip .spark{rotate:0deg!important}.rank:hover .rank-badge,.rank:focus-visible .rank-badge,.button:hover,.button:hover span{transform:none!important}}

/* Keep glyph overhangs and descenders clear of animation and color masks. */
.type-word{overflow:visible;padding:0;margin:0}
.adventure-word>span{clip-path:none}
.hero h1{line-height:1.14}

.intro h2{line-height:1.2}
.photo-caption h2,.ranks h2,.join-content h2{line-height:1.18}
.life-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}
.life-visual,.life-features,.ranks-heading h2,.ranks-heading p,.join-content{min-width:0}
.ranks-heading{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:end;gap:clamp(24px,4vw,64px)}
.ranks-heading p br{display:none}
.join-section{grid-template-columns:repeat(2,minmax(0,1fr))}
.join-content h2{font-size:clamp(32px,4.05vw,69px)}
@media(max-width:760px){
  .life-grid,.ranks-heading{grid-template-columns:minmax(0,1fr)}
  .ranks-heading{gap:22px}
  .ranks-heading p{margin-top:0}
  .ranks h2{font-size:clamp(31px,8.5vw,40px)}
  .join-content h2{font-size:clamp(32px,9.3vw,42px)}
  .intro h2{line-height:1.23}
}

/* Match the hero's rising words only when each section title enters view. */
.type-title .type-word{vertical-align:baseline}
.type-title .type-word>span{animation:none}
.js-motion .type-title:not(.is-visible) .type-word>span{opacity:0;transform:translateY(108%) rotate(2deg);filter:blur(5px)}
.js-motion .type-title.is-visible .type-word>span{animation:type-rise 1.15s cubic-bezier(.17,.78,.2,1) both;animation-delay:calc(.15s + var(--word)*.13s)}

/* Read the shared badge in the same order as the pack name. */
.brand-badge{font-size:22px}
.brand-badge>span{margin-top:0;margin-bottom:3px;line-height:1;letter-spacing:1.8px}

@media(max-width:760px){.brand-badge{font-size:19px}}
