:root{--bg:#080a0d;--fg:#f5f6f8;--muted:#9298a3;--blue:rgb(54,113,198);--line:#24282f;--mono:'IBM Plex Mono',monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--bg);color:var(--fg);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid #83b4ff;outline-offset:6px}::selection{background:var(--blue);color:white}.shell{max-width:1600px;margin:auto;padding:0 64px}header{height:104px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.logo{font-family:DM Sans,Arial,sans-serif;font-weight:700;font-size:36px;letter-spacing:-2px;line-height:1;color:#fff}.logo span{color:var(--blue)}nav{display:flex;align-items:center;gap:35px;font-size:13px}.contact-nav{color:#b3b7bf}.contact-nav span{margin-left:9px}.nav-button{border:1px solid #363c47;border-radius:5px;padding:13px 19px;display:flex;gap:30px;transition:background .2s,border-color .2s}.nav-button:hover{background:#151b24;border-color:#6d839f}.hero{position:relative;min-height:680px;display:flex;align-items:center;border-bottom:1px solid var(--line);isolation:isolate}.hero-grid{position:absolute;inset:0;z-index:-2;background-image:linear-gradient(#ffffff03 1px,transparent 1px),linear-gradient(90deg,#ffffff03 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(90deg,transparent,#000)}.hero-copy{position:relative;z-index:2;padding:68px 0 95px;width:60%}.eyebrow{font:10px var(--mono);letter-spacing:1.5px;color:#a6afbe;display:flex;align-items:center;gap:10px}.hero h1{font-size:clamp(80px,8.2vw,128px);line-height:.98;letter-spacing:-7px;font-weight:500;margin:0 0 28px}.period{color:var(--blue)}.intro{font-size:19px;letter-spacing:-.3px;margin:0 0 12px}.description{font-size:15px;line-height:1.8;color:var(--muted);margin:0 0 30px}.button{font-weight:650;background:var(--blue);color:#fff;padding:16px 22px;border:1px solid #4b83d1;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;min-width:154px;font-size:14px;transition:background .2s,transform .2s,box-shadow .2s}.button:hover{background:#4380d3;transform:translateY(-2px);box-shadow:0 5px 25px #3671c625}.button span{font-size:19px;line-height:1}.visual{position:absolute;right:-12px;top:58px;bottom:74px;width:52%;z-index:-1}.visual canvas{width:100%;height:100%;display:block}.vision{display:grid;grid-template-columns:1fr 2fr;padding:72px 0;gap:24px}.section-label{font:9px var(--mono);color:#929caa;letter-spacing:1.4px;display:flex;gap:12px;align-items:center;align-self:start;padding-top:10px}.small-square{width:5px;height:5px;background:var(--blue)}h2{font-size:clamp(34px,3.6vw,53px);font-weight:450;line-height:1.15;letter-spacing:-2px;margin:0}.vision h2 span{color:#7e8794}.vision-content p{font-size:14px;line-height:1.85;color:#969eab;margin:23px 0 0}.closing{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:65px 0;position:relative}.closing .eyebrow{font-size:8px;margin-bottom:23px}.closing h2{font-size:44px}.closing-action{display:flex;flex-direction:column;gap:24px;align-items:flex-start;margin-right:6%}.email{font-size:12px;color:#aab2bf;display:flex;gap:40px}.email:hover,.contact-nav:hover{color:#fff}footer{border-top:1px solid var(--line);padding:27px 0 33px;display:flex;align-items:center;justify-content:space-between;color:#697382;font:11px "DM Sans",Arial,sans-serif;letter-spacing:0}.skip{position:absolute;left:20px;top:-70px;padding:12px;background:var(--blue);z-index:10}.skip:focus{top:10px}@media(min-width:1450px){.hero{min-height:760px}.hero-copy{padding-top:85px}}@media(max-width:1000px){.shell{padding:0 35px}.hero{min-height:650px}.hero h1{font-size:95px}.visual{width:55%;right:-10px;opacity:.8}.vision{grid-template-columns:1fr 2.5fr}.closing-action{margin-right:0}}@media(max-width:650px){.shell{padding:0 24px}header{height:83px}.logo{font-size:32px}nav{gap:0}.contact-nav{display:none}.nav-button{padding:11px 14px;font-size:11px;gap:24px}.hero{min-height:850px;align-items:flex-start}.hero-copy{padding:48px 0 0;width:100%}.eyebrow{font-size:8px;letter-spacing:1px}.hero h1{font-size:86px;letter-spacing:-5px;margin:0 0 25px}.intro{font-size:16px;max-width:270px;line-height:1.5}.description{font-size:13px;line-height:1.8;max-width:310px;margin-bottom:24px}.desktop-break{display:none}.button{padding:14px 20px;font-size:13px}.visual{top:475px;bottom:60px;left:0;right:0;width:100%;opacity:.9}.vision{padding:50px 0 37px;display:block}.section-label{padding:0;margin-bottom:27px}.vision h2{font-size:35px;letter-spacing:-1.5px}.vision-content p{font-size:12px;margin-top:20px}.closing{display:block;padding:52px 0}.closing h2{font-size:36px;letter-spacing:-1.5px}.closing .eyebrow{font-size:6px}.closing-action{margin-top:29px;gap:22px}.email{font-size:12px}footer{padding:25px 0;flex-wrap:wrap;gap:25px}footer>span:last-child{font-size:11px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}footer .logo{font-family:"DM Sans",Arial,sans-serif;font-size:36px;letter-spacing:-2px}footer>span{margin-left:auto}@media(max-width:650px){footer .logo{font-size:32px}.closing{padding:45px 0 30px}.hero{min-height:800px}.visual{top:425px}}

/* The graphic stays in view while the story unfolds with native scrolling. */
.scroll-story{position:relative}.story-stage{position:relative;isolation:isolate;border-bottom:1px solid var(--line)}.story-panels{position:relative;width:61%;padding:60px 0}.story-panel{padding:40px 0}.story-panel h1,.story-panel h2{font-size:clamp(66px,7.6vw,112px);line-height:1.03;letter-spacing:-5px;font-weight:500;margin:0 0 30px}.story-panel .description{max-width:500px}.story-panel .intro{max-width:470px}.story-progress{display:none}.scroll-ready .scroll-story{height:440svh;min-height:2640px}.scroll-ready .story-stage{position:sticky;top:0;height:100svh;min-height:560px;display:flex;align-items:center;overflow:hidden}.scroll-ready .story-panels{padding:0;height:440px}.scroll-ready .story-panel{position:absolute;inset:0;padding:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;opacity:0;visibility:hidden;transform:translateY(28px);transition:opacity .55s ease,transform .7s cubic-bezier(.2,.7,.2,1),visibility .55s}.scroll-ready .story-panel.is-active{opacity:1;visibility:visible;transform:translateY(0)}.story-stage .visual{top:8%;bottom:10%;width:52%;right:-12px}.scroll-ready .story-progress{position:absolute;left:0;right:0;bottom:30px;display:flex;gap:24px;align-items:center;font:8px var(--mono);letter-spacing:1.4px;color:#8893a3}.progress-track{height:1px;background:#232b37;width:130px;overflow:hidden}.progress-track>span{display:block;width:100%;height:100%;background:var(--blue);transform:scaleX(var(--story-progress,0));transform-origin:left}.scroll-label{margin-left:auto}.scroll-ready .closing{border-top:0}@media(max-width:1000px){.story-panel h1,.story-panel h2{font-size:74px;letter-spacing:-4px}.story-panel .intro{font-size:17px;max-width:330px}.story-panel .description{font-size:14px;max-width:320px}.story-panel .desktop-break{display:none}}@media(max-width:650px){.story-panels{width:100%;padding:20px 0}.story-panel{padding:28px 0}.story-panel h1,.story-panel h2{font-size:clamp(55px,16vw,75px);letter-spacing:-3.5px;margin-bottom:20px}.story-panel .intro{font-size:15px;line-height:1.55;max-width:310px}.story-panel .description{font-size:12px;line-height:1.8;max-width:310px;margin-bottom:20px}.scroll-ready .scroll-story{min-height:2700px;height:440svh}.scroll-ready .story-stage{min-height:620px;align-items:flex-start}.scroll-ready .story-panels{height:370px;margin-top:28px}.scroll-ready .story-panel{justify-content:flex-start}.story-stage .visual{width:100%;left:0;right:0;top:390px;bottom:55px}.scroll-ready .story-progress{bottom:20px;font-size:6px;gap:14px;letter-spacing:.8px}.progress-track{width:65px}.scroll-label{font-size:6px}.story-stage:not(:has(.story-progress)) .visual{display:none}}@media(prefers-reduced-motion:reduce){.story-stage .visual{display:none}.story-panels{width:100%;max-width:700px}.story-panel{border-bottom:1px solid var(--line)}.story-panel:last-child{border:0}.story-stage{border:0}.story-panel h1,.story-panel h2{font-size:clamp(50px,7.6vw,100px)}}

.story-panel .intro{margin-bottom:28px;line-height:1.6}.story-panel .intro:last-child{margin-bottom:0}

.story-panel h1{font-size:clamp(54px,6.5vw,96px);letter-spacing:-4px}@media(max-width:650px){.story-panel h1{font-size:clamp(38px,12vw,70px);letter-spacing:-2.5px}}

.closing{gap:48px}.closing>div:first-child{max-width:74%}.closing h2{font-size:clamp(30px,3.5vw,48px);line-height:1.2}.closing-action{flex-shrink:0;margin-right:0}.story-panel .intro{max-width:450px}@media(max-width:650px){.closing>div:first-child{max-width:100%}.closing h2{font-size:32px}.closing h2 br{display:none}.story-panel .intro{max-width:310px}}

.contact-details{padding:0 0 40px}.contact-details .email{display:inline-flex;align-items:center;gap:10px;font-size:14px;line-height:1.5;color:#9ca7b6}.contact-details svg{flex-shrink:0;color:#7f8da1}.contact-details .email:hover{color:#f5f6f8}@media(max-width:650px){.contact-details{padding-bottom:32px}.contact-details .email{font-size:13px}}

.booking-dialog{padding:0;width:min(1040px,calc(100vw - 40px));height:92svh;max-height:940px;border:1px solid #303b4d;border-radius:10px;background:#080a0d;color:var(--fg);box-shadow:0 30px 100px #0009;overflow:hidden}.booking-dialog[open]{display:flex;flex-direction:column}.booking-dialog::backdrop{background:#020408cc;backdrop-filter:blur(8px)}html.booking-open{overflow:hidden}.booking-header{padding:22px 26px;display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:1px solid var(--line);flex-shrink:0}.booking-header h2{font-size:22px;letter-spacing:-.6px;font-weight:550;line-height:1.2}.booking-header p{font-size:12px;color:#9ca7b6;margin:7px 0 0;line-height:1.5}.booking-close{width:38px;height:38px;display:grid;place-items:center;border:1px solid #303b4d;border-radius:5px;background:transparent;color:#d7e0ed;cursor:pointer}.booking-close:hover{background:#1b2431}.booking-close svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.5;fill:none}.booking-close:focus-visible{outline:2px solid #80adeb;outline-offset:3px}.booking-calendar{flex:1;min-height:0;background:#080a0d}.booking-calendar iframe{display:block;width:100%;height:100%;border:0}.booking-fallback{padding:13px 24px;margin:0;text-align:center;font-size:11px;line-height:1.5;color:#8d9caf;border-top:1px solid var(--line);flex-shrink:0}.booking-fallback a{color:#bcd5f8;text-decoration:underline;text-underline-offset:3px}@media(max-width:650px){.booking-dialog{width:calc(100vw - 16px);height:96svh;max-height:none;border-radius:7px}.booking-header{padding:17px 16px;gap:12px}.booking-header h2{font-size:20px}.booking-header p{font-size:11px;max-width:230px}.booking-fallback{font-size:10px;padding:10px}}

.story-panel h2.compact-heading{font-size:clamp(52px,6vw,88px);letter-spacing:-3.5px}@media(max-width:650px){.story-panel h2.compact-heading{font-size:clamp(38px,12vw,56px);letter-spacing:-2px}}
