:root{--navy:#00167a;--ivory:#f8f4ec;--gold:#b8913f;--f-display:'Fraunces', 'Playfair Display', Georgia, serif;--f-body:'Manrope', 'Jost', system-ui, -apple-system, 'Segoe UI', sans-serif;--ease:cubic-bezier(.22, 1, .36, 1);--ease-in:cubic-bezier(.64, 0, .78, 0);--r:28px;--gutter:clamp(16px, 4vw, 56px);--maxw:1360px;--header-h:76px}
[data-u],:root{--bg:var(--ivory);--ink:var(--navy);--accent:var(--gold);--accent-2:#e2d3b3;--soft:#efe6d4;--decor:rgba(0, 22, 122, .16);--u-dot:var(--gold)}
[data-u=mer]{--u-dot:#36b5b0;--bg:#06324f;--ink:#eaf6f4;--accent:#ff7a59;--accent-2:#36b5b0;--soft:#0b4468;--decor:rgba(234, 246, 244, .34)}
[data-u=terre]{--u-dot:#e07a4a;--bg:#6e2a1c;--ink:#fbeedc;--accent:#e8a33d;--accent-2:#b5502f;--soft:#823624;--decor:rgba(251, 238, 220, .3)}
[data-u=vege]{--u-dot:#8cc26b;--bg:#234d33;--ink:#f2f6e4;--accent:#f4d35e;--accent-2:#e4573d;--soft:#2e5f40;--decor:rgba(242, 246, 228, .3)}
[data-u=panisse]{--u-dot:#f2c14e;--bg:#f2c14e;--ink:#2a1d0b;--accent:#00167a;--accent-2:#c8452b;--soft:#f6d27a;--decor:rgba(42, 29, 11, .3)}
*,::before,::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:var(--f-body);font-size:17px;line-height:1.65;color:var(--ink);background:var(--bg);transition:background-color .9s var(--ease),color .9s var(--ease);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
h1,h2,h3,h4{font-family:var(--f-display);font-weight:400;line-height:1.04;margin:0;letter-spacing:-.01em;font-variation-settings:'opsz'144,'SOFT'50}
p{margin:0 0 1em}
::selection{background:var(--accent);color:var(--bg)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link{position:absolute;left:16px;top:-60px;z-index:999;background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:99px}
.skip-link:focus{top:16px}
.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}
.eyebrow{display:inline-flex;align-items:center;gap:.6em;font-size:.78rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--accent)}
.eyebrow::before{content:'';width:28px;height:1.5px;background:currentColor}
.display,.h-xl,.h-l,.h-m,.next-u__t,.fact__k{font-family:var(--f-display);font-weight:400;line-height:1.04;letter-spacing:-.01em;font-variation-settings:'opsz'144,'SOFT'50}
.display{font-size:clamp(2.8rem,8.4vw,8.2rem)}
.h-xl{font-size:clamp(2.3rem,5.6vw,5rem)}
.h-l{font-size:clamp(1.9rem,3.8vw,3.3rem)}
.h-m{font-size:clamp(1.4rem,2.2vw,1.9rem)}
.italic{font-style:italic;font-variation-settings:'opsz'144,'SOFT'100,'WONK'1}
.lead{font-size:clamp(1.05rem,1.4vw,1.28rem);line-height:1.6;max-width:46ch;opacity:.9}
.u-bg{background:var(--bg);color:var(--ink)}
main{display:block}
.btn{--b-bg:var(--ink);--b-fg:var(--bg);position:relative;display:inline-flex;align-items:center;gap:.7em;padding:1em 1.6em;border-radius:999px;border:1.5px solid var(--b-bg);background:var(--b-bg);color:var(--b-fg);font-weight:700;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;overflow:hidden;isolation:isolate;transition:color .45s var(--ease),border-color .45s var(--ease),transform .45s var(--ease)}
.btn::before{content:'';position:absolute;inset:0;z-index:-1;background:var(--accent);transform:translateY(101%);border-radius:inherit;transition:transform .5s var(--ease)}
.btn:hover::before{transform:translateY(0)}
.btn:hover{border-color:var(--accent);color:var(--bg)}
.btn--ghost{--b-bg:transparent;--b-fg:var(--ink);border-color:currentColor}
.btn--accent{--b-bg:var(--accent);--b-fg:var(--bg);border-color:var(--accent)}
.btn--accent::before{background:var(--ink)}
.btn--accent:hover{border-color:var(--ink)}
.btn .arrow{transition:transform .45s var(--ease)}
.btn:hover .arrow{transform:translateX(4px)}
.link-u{background:linear-gradient(currentColor,currentColor)0 100%/0 1.5px no-repeat;transition:background-size .5s var(--ease)}
.link-u:hover{background-size:100% 1.5px}
.lmg-decor{position:absolute;inset:0;pointer-events:none;color:var(--decor);overflow:hidden;z-index:0}
.lmg-decor__svg{width:100%;height:100%}
.lmg-decor .fill{fill:currentColor;stroke:none}
.js .draw-on [pathLength]{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 2.4s var(--ease)}
.js .draw-on.is-in [pathLength]{stroke-dashoffset:0}
.lmg-decor g[class]{transform-box:fill-box;transform-origin:center}
.swell{animation:swell 14s linear infinite;transform-box:view-box!important}
.swell.s2{animation-duration:18s;animation-direction:reverse}
.swell.s3{animation-duration:11s}
.swell.s4{animation-duration:22s;animation-direction:reverse}
@keyframes swell{to{transform:translateX(-360px)}}
.swim{animation:swim 9s ease-in-out infinite}
.swim.f2{animation-duration:12s;animation-delay:-3s}
.swim.f3{animation-duration:7s;animation-delay:-5s}
@keyframes swim{0%,to{transform:translate(0,0) rotate(0)}25%{transform:translate(26px,-10px) rotate(-3deg)}50%{transform:translate(52px,0) rotate(0)}75%{transform:translate(26px,10px) rotate(3deg)}}
.float{animation:float 7s ease-in-out infinite}
.float.d2{animation-delay:-2.4s;animation-duration:8s}
.float.d3{animation-delay:-4.6s;animation-duration:9s}
@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-18px) rotate(4deg)}}
.bob{animation:bob 5s ease-in-out infinite}
@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(12px)}}
.sway{animation:sway 6s ease-in-out infinite;transform-origin:bottom center!important}
.sway.d2{animation-delay:-2s}
.sway.d3{animation-delay:-4s}
@keyframes sway{0%,to{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}
.spin-slow{animation:spin 60s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.rise{animation:rise 6s ease-in infinite}
.rise.d2{animation-delay:-2s}
.rise.d3{animation-delay:-4s}
@keyframes rise{0%{transform:translateY(40px);opacity:0}20%{opacity:1}to{transform:translateY(-160px);opacity:0}}
.twinkle{animation:twinkle 4s ease-in-out infinite}
@keyframes twinkle{0%,to{opacity:.2}50%{opacity:1}}
.hill{animation:none}
.lmg-icon{width:100%;height:100%;display:block}
.lmg-intro{position:fixed;inset:0;z-index:1000;background:var(--navy);color:var(--ivory);display:grid;place-items:center;clip-path:inset(0 0 0 0)}
.lmg-intro__inner{text-align:center;padding:24px}
.lmg-intro__mark{width:min(190px,40vw);margin:0 auto 26px;color:var(--gold)}
.lmg-intro__mark path,.lmg-intro__mark circle{stroke-dasharray:1;stroke-dashoffset:1;animation:draw 1.6s var(--ease) forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.lmg-intro__name{font-family:var(--f-display);font-size:clamp(2rem,6vw,4.4rem);line-height:1;overflow:hidden}
.lmg-intro__name span{display:inline-block;transform:translateY(110%);animation:up .9s var(--ease) forwards}
.lmg-intro__tag{margin-top:18px;font-size:.78rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);opacity:0;animation:fade .8s .9s forwards}
.lmg-intro.is-out{animation:curtainUp 1s var(--ease-in) forwards}
@keyframes curtainUp{to{clip-path:inset(0 0 100% 0)}}
@keyframes up{to{transform:translateY(0)}}
@keyframes fade{to{opacity:1}}
html.no-intro .lmg-intro{display:none}
.lmg-curtain{position:fixed;inset:0;z-index:990;pointer-events:none;background:var(--curtain, var(--navy));clip-path:circle(0 at var(--cx, 50%) var(--cy, 50%))}
.lmg-curtain.is-closing{transition:clip-path .7s var(--ease-in);clip-path:circle(150vmax at var(--cx, 50%) var(--cy, 50%))}
html.is-arriving .lmg-curtain{clip-path:circle(150vmax at 50% 50%)}
.lmg-curtain.is-opening{transition:clip-path .9s var(--ease);clip-path:circle(0 at 50% 50%)!important}
.lmg-curtain__label{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--f-display);font-size:clamp(2.4rem,7vw,6rem);color:var(--curtain-ink, var(--ivory));opacity:0;transition:opacity .3s}
.lmg-curtain.is-closing .lmg-curtain__label,html.is-arriving .lmg-curtain__label{opacity:1}
.lmg-curtain.is-opening .lmg-curtain__label{opacity:0;transition-delay:0s}
.lmg-header{position:fixed;inset:0 0 auto;z-index:100;height:var(--header-h);color:var(--h-ink, var(--ink));transition:transform .5s var(--ease),background-color .5s,color .6s}
.lmg-header::before{content:'';position:absolute;inset:0;background:var(--bg);opacity:0;transition:opacity .5s;box-shadow:0 1px 0 color-mix(in srgb,var(--ink) 10%,transparent)}
.lmg-header.is-solid::before{opacity:.94}
@supports (backdrop-filter:blur(10px)){.lmg-header.is-solid::before{opacity:.78;backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3)}.lmg-header.is-solid{backdrop-filter:none}}
.lmg-header.is-hidden{transform:translateY(-100%)}
.lmg-header__in{position:relative;height:100%;display:flex;align-items:center;gap:24px}
.lmg-logo{display:flex;align-items:center;gap:12px;flex-shrink:0}
.lmg-logo img{height:46px;width:auto}
.lmg-logo__mark{width:40px;height:40px;color:var(--accent);transition:transform .8s var(--ease)}
.lmg-logo:hover .lmg-logo__mark{transform:rotate(90deg)}
.lmg-logo__txt{font-family:var(--f-display);font-size:1.22rem;line-height:1}
.lmg-logo__txt small{display:block;font-family:var(--f-body);font-size:.62rem;letter-spacing:.26em;text-transform:uppercase;opacity:.7;margin-top:5px}
.lmg-nav{margin-left:auto}
.lmg-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:6px}
.lmg-nav>ul>li{position:relative}
.lmg-nav a{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:99px;font-size:.9rem;font-weight:600;transition:background-color .3s,color .3s}
.lmg-nav a:hover,.lmg-nav a[aria-current=page]{background:color-mix(in srgb,var(--ink) 9%,transparent)}
.lmg-dot{width:9px;height:9px;border-radius:50%;background:var(--u-dot);box-shadow:0 0 0 3px color-mix(in srgb,var(--u-dot) 28%,transparent);transition:transform .4s var(--ease)}
.lmg-nav a:hover .lmg-dot{transform:scale(1.5)}
.lmg-nav .sub{position:absolute;top:100%;left:0;min-width:220px;padding:10px;background:var(--bg);border-radius:18px;box-shadow:0 20px 50px rgba(0,0,0,.18);flex-direction:column;opacity:0;visibility:hidden;transform:translateY(8px);transition:all .35s var(--ease)}
.lmg-nav li:hover>.sub,.lmg-nav li:focus-within>.sub{opacity:1;visibility:visible;transform:none}
.lmg-header__cta{flex-shrink:0}
.lmg-burger{display:none;margin-left:auto;width:48px;height:48px;border-radius:50%;border:1.5px solid currentColor;background:0 0;position:relative}
.lmg-burger span{position:absolute;left:13px;right:13px;height:1.5px;background:currentColor;transition:transform .4s var(--ease),top .4s var(--ease)}
.lmg-burger span:nth-child(1){top:19px}
.lmg-burger span:nth-child(2){top:27px}
.menu-open .lmg-burger span:nth-child(1){top:23px;transform:rotate(45deg)}
.menu-open .lmg-burger span:nth-child(2){top:23px;transform:rotate(-45deg)}
.lmg-menu{position:fixed;inset:0;z-index:90;background:var(--navy);color:var(--ivory);padding:calc(var(--header-h) + 20px) var(--gutter) 40px;display:flex;flex-direction:column;clip-path:circle(0 at calc(100% - 40px) 38px);transition:clip-path .8s var(--ease);overflow-y:auto}
.menu-open .lmg-menu{clip-path:circle(160vmax at calc(100% - 40px) 38px)}
.lmg-menu ul{list-style:none;margin:0;padding:0}
.lmg-menu__u a{display:flex;align-items:center;gap:16px;padding:12px 0;font-family:var(--f-display);font-size:clamp(2.2rem,10vw,3.6rem);line-height:1.05;border-bottom:1px solid rgba(255,255,255,.12)}
.lmg-menu__u a .lmg-dot{width:14px;height:14px}
.lmg-menu__sub a{font-family:var(--f-body);font-size:1rem;padding:6px 0 6px 32px;border:0;opacity:.75}
.lmg-menu .btn{margin-top:30px;align-self:flex-start;--b-bg:var(--gold);--b-fg:var(--navy);border-color:var(--gold)}
.lmg-menu .btn::before{background:var(--ivory)}
.menu-open .lmg-header{color:var(--ivory)}
.menu-open .lmg-header::before{opacity:0!important}
@media (max-width:1080px){.lmg-nav,.lmg-header__cta{display:none}.lmg-burger{display:block}}
.hero{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;padding:calc(var(--header-h) + 40px) 0 120px}
.hero .lmg-decor{color:var(--decor)}
.hero__in{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center}
.hero__title{margin:22px 0 28px}
.hero__title .line{display:block;overflow:hidden;padding-bottom:.06em}
.hero__title .line>span{display:inline-block;transform:translateY(105%);transition:transform 1.1s var(--ease)}
.is-ready .hero__title .line>span{transform:none}
.hero__title .line:nth-child(2)>span{transition-delay:.12s}
.hero__title .line:nth-child(3)>span{transition-delay:.24s}
.hero__title em{color:var(--accent)}
.hero__ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.hero__lead,.hero__ctas,.hero .eyebrow{opacity:0;transform:translateY(20px);transition:opacity 1s .5s var(--ease),transform 1s .5s var(--ease)}
.is-ready .hero__lead,.is-ready .hero__ctas,.is-ready .hero .eyebrow{opacity:1;transform:none}
.hero__stage{position:relative;aspect-ratio:1;width:100%;max-width:560px;justify-self:end}
.orbit{position:absolute;inset:0;border-radius:50%;border:1.5px dashed color-mix(in srgb,var(--ink) 22%,transparent);animation:spin 80s linear infinite}
.orbit--2{inset:14%;animation-duration:50s;animation-direction:reverse;border-style:solid;border-color:color-mix(in srgb,var(--accent) 40%,transparent)}
.hero__core{position:absolute;inset:24%;border-radius:50%;background:var(--navy);color:var(--gold);display:grid;place-items:center;box-shadow:0 40px 80px -30px rgba(0,22,122,.55)}
.hero__core>svg{width:58%;height:58%}
.hero__ring{position:absolute;inset:-2%;width:104%!important;height:104%!important;color:var(--gold);animation:spin 40s linear infinite}
.hero__ring text{font-family:var(--f-body);font-size:7.4px;letter-spacing:2.6px;text-transform:uppercase;font-weight:700;fill:currentColor}
.hero__core img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.planet{position:absolute;width:21%;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:var(--bg);color:var(--ink);box-shadow:0 18px 40px -16px rgba(0,0,0,.45);transition:transform .6s var(--ease);font-size:2.1rem}
.planet:hover{transform:scale(1.12)}
.planet .lmg-icon{width:58%;height:58%}