@font-face{font-family:"Tutu Sans";src:url("assets/tutu_sans_medium.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Tutu Sans";src:url("assets/tutu_sans_extrabold_italic.woff2") format("woff2");font-weight:800;font-style:italic;font-display:swap}
@font-face{font-family:"Tutu Sans";src:url("assets/tutu_sans_black_italic.woff2") format("woff2");font-weight:900;font-style:italic;font-display:swap}
:root{--screen-height:100svh;color-scheme:dark;font-family:"Tutu Sans",Arial,sans-serif;background:#242428;color:#fff}
*{box-sizing:border-box}
/* Keep native scrolling as the state trigger, without a visible scrollbar. */
html,body{overscroll-behavior:none;scrollbar-width:none}
html::-webkit-scrollbar,body::-webkit-scrollbar{display:none;width:0;height:0}
body{margin:0;-webkit-text-size-adjust:100%;text-size-adjust:100%}
#mr-prototype{--header-height:clamp(56px,14.925374vw,76px);padding-top:var(--header-height)}
.header.site-header{position:fixed;top:0;left:0;width:100%;height:var(--header-height);z-index:10}
.header.site-header{transition:transform 220ms ease;will-change:transform}
.header.site-header[data-scroll-hidden="true"]{transform:translateY(-100%)}
.header.site-header:has(:focus-visible){transform:translateY(0)}
#mr-prototype[data-header-hidden="true"] .sea-stage,#mr-prototype[data-header-hidden="true"] .overview-copy{top:0}
button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
button:focus-visible{outline:2px solid #fff;outline-offset:5px}
.mobile-page{--header-height:clamp(56px,14.925374cqw,76px);--stage-height:100svh;--scroll-distance:clamp(140px,24svh,240px);--offer-size:clamp(112px,35.16858cqw,176px);width:100%;container-type:inline-size;background:#7d71ff}
.scroll-stage{position:fixed;top:0;left:0;width:100%;height:var(--stage-height)}
.scroll-runway{height:calc(var(--stage-height) + var(--scroll-distance))}
/* Integrated flow: hold the hero through its reveal, then continue normally. */
.mobile-page[data-integrated="true"]{--stage-height:calc(100svh - var(--header-height));--scroll-distance:calc(350svh - var(--stage-height));position:relative}
.mobile-page[data-integrated="true"] .scroll-stage{position:sticky;top:var(--header-height)}
.mobile-page[data-integrated="true"] .hero{height:var(--stage-height)}
.mobile-page[data-integrated="true"] .scroll-runway{height:var(--scroll-distance)}
.header{height:var(--header-height);position:relative;background:#7d71ff;z-index:5}
.logo-button{position:absolute;left:clamp(8px,2.593842cqw,28px);top:calc(50% + .008158px);transform:translateY(-50%);width:87px;height:44px;border:0;padding:0;background:none;display:flex;align-items:center;justify-content:center}
.logo-button img{display:block;width:67px;height:18px}
.header-services{position:absolute;right:calc(clamp(16px,5.232843cqw,40px) + 56px);top:calc(50% + 1.58px);transform:translateY(-50%);width:113px;height:44px;display:block;border:0;padding:0;background:none;-webkit-tap-highlight-color:transparent}
.header-services img{display:block}
.header-services:focus-visible{outline:2px solid #fff;outline-offset:3px;border-radius:4px}
.menu-placeholder{position:absolute;right:clamp(16px,5.232843cqw,40px);top:calc(50% + .008158px);transform:translateY(-50%);width:44px;height:44px;background:none;border:0;padding:0;display:flex;align-items:center;justify-content:center;cursor:default}
/* The shared burger never changes with scroll; dimensions from Figma 39:17. */
.hamburger{width:clamp(28px,7.942274cqw,36px);height:22.947952px;display:flex;flex-direction:column;gap:4.51769px;align-items:flex-start}
.hamburger span{flex:none;width:100%;height:2.348721px;background:#d9d9d9}
.hero{position:relative;height:calc(var(--stage-height) - var(--header-height));border-radius:0;overflow:hidden;isolation:isolate;background:#086f7b}
.hero-image{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-video{pointer-events:none}
.menu-shade{position:absolute;inset:0;background:rgb(3,3,8);opacity:.55;transition:opacity 400ms ease}
.mobile-page[data-screen="menu"] .menu-shade{opacity:.65}
.intro-panel{position:absolute;inset:0;opacity:1;visibility:visible;transform:translateY(0);transition:opacity 360ms ease,transform 420ms cubic-bezier(.22,.61,.36,1),visibility 420ms}
h1{position:absolute;top:clamp(32px,10.076217cqw,68px);left:4.597348%;width:88.783433%;margin:0;font-weight:800;font-style:italic;font-size:clamp(30px,10.40796cqw,64px);line-height:.9;text-align:center}
.intro-copy{position:absolute;top:68.001732%;left:9.191214%;width:86.696401%;margin:0;padding:0;text-align:left;text-transform:uppercase;font-weight:500;font-size:clamp(30px,10.291791cqw,56px);line-height:1.005;cursor:default}
.region-menu{position:absolute;top:11.25%;left:11.18407%;width:83.58209%;height:min(61.41805%,calc(100% - 11.25% - var(--offer-size) - 5.07861% - clamp(20px,9.45cqw,44px)));display:flex;flex-direction:column;justify-content:space-between;pointer-events:none;visibility:hidden;transition:visibility 750ms}
.entry{display:block;position:relative;margin:0;padding:0;background:none;border:0;text-align:left;white-space:nowrap;text-transform:uppercase;font-weight:500;font-size:clamp(22px,7.428109cqw,44px);line-height:1.005;opacity:0;transform:translateY(56px);transition:opacity 300ms ease,transform 460ms cubic-bezier(.16,1,.3,1)}
.entry::before{content:"";position:absolute;left:-8px;right:-8px;top:50%;height:max(100%,44px);transform:translateY(-50%)}
.entry[aria-pressed="true"]{text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px}
.offer-slot{--offer-inset:clamp(20px,6.734328cqw,52px);position:absolute;right:var(--offer-inset);bottom:5.07861%;width:var(--offer-size);height:var(--offer-size);pointer-events:none;visibility:hidden;transform:translateX(calc(100% + var(--offer-inset) + 2px));transition:transform 500ms cubic-bezier(.16,1,.3,1),visibility 500ms}
.offer-scale{width:141.378px;height:141.378px;transform:scale(var(--asset-scale,1));transform-origin:top left}
.offer{position:relative;display:block;width:141.378px;height:141.378px;margin:0;padding:0;border:0;border-radius:50%;background:#e05324}
.offer img{display:block;width:141.378px;height:141.378px}
.offer-copy{position:absolute;left:18.53321px;top:47.85595px;width:112.09448px;display:block;text-align:left;font-size:21.705px;font-weight:900;font-style:italic;line-height:1.005;text-transform:uppercase}
.offer-copy span{display:block;text-align:right;padding-right:12px}
.offer[aria-pressed="true"]{outline:2px solid white;outline-offset:3px}
.mobile-page[data-screen="menu"] .intro-panel{opacity:0;visibility:hidden;transform:translateY(-48px);pointer-events:none}
.mobile-page[data-screen="menu"] .region-menu{pointer-events:auto;visibility:visible;transition:none}
.mobile-page[data-screen="menu"] .entry{opacity:1;transform:translateY(0);transition-delay:calc(420ms + var(--order) * 55ms)}
.mobile-page[data-screen="menu"] .offer-slot{visibility:visible;pointer-events:auto;transform:translateX(0);transition:transform 500ms cubic-bezier(.16,1,.3,1);transition-delay:820ms}
/* These exits follow scroll distance, not a timer; the sticky runway then holds bare video. */
.mobile-page[data-screen="clearing"] .intro-panel,.mobile-page[data-screen="video"] .intro-panel{opacity:0;visibility:hidden;transform:translateY(-48px);pointer-events:none}
.mobile-page[data-screen="clearing"] .region-menu{visibility:visible;pointer-events:none;transition:none}
.mobile-page[data-screen="clearing"] .entry{opacity:calc(1 - var(--menu-exit-progress));transform:translateY(calc(-24px * var(--menu-exit-progress)));transition:none}
.mobile-page[data-screen="clearing"] .offer-slot{visibility:visible;pointer-events:none;transform:translateX(calc(var(--menu-exit-progress) * (100% + var(--offer-inset) + 2px)));transition:none}
.mobile-page[data-screen="clearing"] .menu-shade{opacity:calc(.65 * (1 - var(--menu-exit-progress)));transition:none}
.mobile-page[data-screen="video"] .menu-shade{opacity:0;transition:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.fallback{margin:12px;padding:12px}
/* Short viewports fit the same two states, rather than sliding the whole stage. */
@media(max-height:650px){
  #mr-prototype{--header-height:min(clamp(56px,14.925374vw,76px),14svh)}
  .mobile-page{--header-height:min(clamp(56px,14.925374cqw,76px),14svh);--offer-size:min(clamp(112px,35.16858cqw,176px),22svh)}
  h1{top:min(clamp(32px,10.076217cqw,68px),7svh);font-size:min(clamp(30px,10.40796cqw,64px),10svh)}
  .intro-copy{font-size:min(clamp(30px,10.291791cqw,56px),6.5svh)}
  .entry{font-size:min(clamp(22px,7.428109cqw,44px),5svh)}
}
@media(max-height:650px) and (min-width:600px){
  .region-menu{top:8%;height:80%}
  .entry{width:calc(100% - var(--offer-size) - 32px)}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}.intro-panel,.entry,.offer-slot{transform:none!important}}
.mobile-page[data-reduced-motion="true"] *{transition:none!important;animation:none!important}
.mobile-page[data-reduced-motion="true"] .intro-panel,.mobile-page[data-reduced-motion="true"] .entry,.mobile-page[data-reduced-motion="true"] .offer-slot{transform:none!important}

/* Full-screen sections follow the viewport, independently of the hiding header. */
@supports(height:100dvh){:root{--screen-height:100dvh}}
