:root{font-family:Inter,Arial,sans-serif;color:#13213b;background:#fff;font-synthesis:none;scroll-behavior:smooth;--navy:#091832;--blue:#b3d5ff;--ink:#112647;--muted:#52627a}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}img{max-width:100%;display:block}::selection{background:#b3d5ff;color:#091832}.wrap{width:min(1240px,calc(100% - 80px));margin:auto}section{scroll-margin-top:100px}a:focus-visible{outline:3px solid #4c92ef;outline-offset:6px}.skip-link{position:fixed;top:12px;left:12px;padding:14px;background:white;z-index:100;transform:translateY(-160%);border-radius:8px}.skip-link:focus{transform:none}.nav{position:fixed;top:0;left:0;width:100%;z-index:20;color:white;transition:background .3s,box-shadow .3s;isolation:isolate}.nav.scrolled{background:#091832f5;box-shadow:0 1px 0 #ffffff15}.nav-inner{min-height:96px;display:flex;justify-content:space-between;align-items:center;gap:24px}.brand{display:flex;gap:12px;align-items:center;font-weight:900;letter-spacing:-.05em;font-size:1.15rem;white-space:nowrap}.brand small{display:block;font-size:.7rem;font-weight:600;letter-spacing:.28em;margin-top:4px}.brand-symbol{font-size:2rem;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid #ffffff55;border-radius:12px;font-weight:500;line-height:1}.navlinks{display:flex;align-items:center;gap:34px;font-size:.9rem;font-weight:600}.nav-text{position:relative;padding:12px 0}.nav-text:after{content:'';height:1px;background:var(--blue);position:absolute;left:0;bottom:5px;width:100%;transform:scaleX(0);transform-origin:left;transition:transform .25s}.nav-text:hover:after{transform:scaleX(1)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:58px;padding:18px 28px;border-radius:12px;font-weight:750;font-size:1rem;line-height:1.3;transition:transform .25s,background .25s,box-shadow .25s}.button:hover{transform:translateY(-3px)}.button-light{background:#f2f7ff;color:#0d2344}.button-light:hover{background:#c5ddff;box-shadow:0 12px 30px #0002}.button-dark{background:#102849;color:#fff}.button-dark:hover{background:#224b7e;box-shadow:0 12px 24px #15355b25}.button-small{min-height:46px;padding:13px 19px;font-size:.875rem}.scroll-progress{position:absolute;bottom:0;left:0;width:100%;height:2px;border:0;appearance:none;background:transparent}.scroll-progress::-webkit-progress-bar{background:transparent}.scroll-progress::-webkit-progress-value{background:#a7cfff}.scroll-progress::-moz-progress-bar{background:#a7cfff}.hero{background:var(--navy);color:white;position:relative;isolation:isolate;overflow:hidden;min-height:850px;min-height:max(850px,100svh);padding-top:96px}.hero:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 80% 52%,#24486d 0%,#0d203d 44%,#091832 76%)}.hero-grid{display:grid;grid-template-columns:1.18fr .82fr;align-items:center;gap:32px;min-height:690px;position:relative}.hero-copy{position:relative;z-index:2;padding:64px 0 80px}.eyebrow,.kicker{font-size:.8rem;text-transform:uppercase;letter-spacing:.18em;font-weight:750;margin:0 0 28px;color:#91bced}.hero h1{font-size:clamp(4rem,6.9vw,6.75rem);font-weight:650;line-height:1.02;letter-spacing:-.075em;margin:0 0 28px;white-space:nowrap}.hero h1 span{color:var(--blue)}.hero-description{color:#c1cfe3;line-height:1.7;font-size:1.15rem;max-width:460px;margin:0 0 35px}.hero-actions{display:flex;gap:28px;align-items:center;flex-wrap:wrap}.textlink{display:flex;gap:20px;align-items:center;font-size:.95rem;font-weight:650;padding:16px 0;border-bottom:1px solid #ffffff4a}.textlink span{font-size:1.4rem;font-weight:400;transition:transform .3s}.textlink:hover span{transform:rotate(90deg)}.portrait-stage{position:relative;min-height:635px;height:100%;display:flex;align-items:flex-end;justify-content:center;padding-top:24px}.portrait-stage img{width:auto;height:620px;max-height:100%;object-fit:contain;position:relative;z-index:1;filter:drop-shadow(0 20px 30px #0003)}.portrait-ring{position:absolute;width:108%;aspect-ratio:1;border:1px solid #b3d5ff30;border-radius:50%;top:15%;left:-4%;box-shadow:0 0 0 44px #b3d5ff07,0 0 0 88px #b3d5ff04}.portrait-caption{position:absolute;z-index:3;left:4%;bottom:15px;display:flex;align-items:center;gap:14px;padding:18px 22px;background:#112849ed;border:1px solid #ffffff25;border-radius:14px}.caption-line{width:24px;height:2px;background:var(--blue)}.portrait-caption p{margin:0;font-size:1rem;font-weight:700}.portrait-caption p span{display:block;font-size:.875rem;font-weight:400;color:#b6cae4;margin-top:5px}.hero-bottom{padding:32px 0 38px;border-top:1px solid #ffffff20;display:flex;align-items:center;justify-content:space-between;font-size:.875rem;line-height:1.6;color:#a9bdd6}.hero-bottom a{display:flex;align-items:center;gap:22px}.hero-bottom a span{font-size:1.7rem;color:var(--blue);transition:transform .3s}.hero-bottom a:hover span{transform:translateY(5px)}.section{padding:120px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:64px}.kicker{color:#386fa8;margin-bottom:24px}.section h2{font-size:clamp(2.8rem,4.6vw,4.65rem);font-weight:600;line-height:1.06;letter-spacing:-.065em;margin:0}.word-accent{color:#3e6ea7;position:relative}.section-description{font-size:1.1rem;line-height:1.8;color:var(--muted);max-width:370px;margin:0}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.step{padding:30px;border:1px solid #dfe7f1;border-radius:18px;background:#f6f8fc;position:relative;overflow:hidden;transition:background .3s,box-shadow .3s,transform .3s}.step:hover{background:#edf3fb;box-shadow:0 18px 30px #1028490b;transform:translateY(-6px)}.step-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:62px}.number{font-size:1.15rem;font-weight:600;color:#5d7da3;letter-spacing:-.04em}.step-mark{font-size:1.6rem;color:#6083ad;font-weight:300;transition:transform .4s}.step:hover .step-mark{transform:rotate(90deg)}.step h3{font-size:1.8rem;font-weight:600;letter-spacing:-.04em;line-height:1.2;margin:0 0 16px}.step p{color:#52627a;font-size:1rem;line-height:1.7;margin:0 0 34px;max-width:285px}.step-label{display:block;padding-top:20px;border-top:1px solid #d6e1ee;font-size:.875rem;font-weight:600;color:#36547a}.statement{background:#0b1d39;color:#fff;overflow:hidden}.about-grid{display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:95px}.about-art{height:440px;position:relative;display:flex;align-items:center;justify-content:center}.about-orbit{position:absolute;border:1px solid #b3d5ff25;inset:15px;aspect-ratio:1;border-radius:50%;box-shadow:0 0 0 32px #b3d5ff05}.big-cross{font-size:21rem;line-height:1;font-weight:300;color:#79a9e4;transform:rotate(-12deg);text-shadow:15px 18px 0 #b3d5ff0d}.art-label{position:absolute;bottom:0;font-size:.8rem;letter-spacing:.18em;color:#85a7d2}.kicker-light{color:#90b9eb}.about-copy h2 span{color:var(--blue)}.about-copy>p:not(.kicker){font-size:1.1rem;line-height:1.8;color:#b7c8df;max-width:480px;margin:26px 0 0}.about-copy .button{margin-top:34px}.booking{background:#edf3fb}.booking-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:90px}.booking-copy>.section-description{margin-top:30px;max-width:340px}.booking-card{background:#fff;border:1px solid #dbe5f2;border-radius:24px;padding:42px;box-shadow:0 28px 60px #142b4b0d}.calendar-icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border:1px solid #c7d8ed;border-radius:12px;background:#f1f6fd;position:relative;margin-bottom:34px}.calendar-icon:before{content:'';position:absolute;top:13px;left:14px;width:22px;height:22px;border:1.5px solid #315c90;border-radius:3px}.calendar-icon:after{content:'';position:absolute;top:19px;left:15px;width:20px;height:1px;background:#315c90}.calendar-icon span{width:3px;height:3px;background:#315c90;margin-top:12px;box-shadow:6px 0 #315c90,-6px 0 #315c90}.booking-eyebrow{font-size:.875rem;font-weight:600;color:#54749b;margin:0 0 13px}.booking-card h3{font-size:3rem;font-weight:600;letter-spacing:-.06em;line-height:1.04;margin:0 0 24px}.booking-card>p:not(.booking-eyebrow){font-size:1rem;line-height:1.7;color:#536781;margin:0 0 25px;max-width:365px}.booking-button{display:flex;width:100%;margin-bottom:17px}.booking-card>.fine{font-size:.875rem!important;color:#526781!important;line-height:1.6!important;margin-bottom:0!important}.privacy-note{display:flex;gap:15px;align-items:start;border-top:1px solid #e0e8f2;padding-top:22px;margin-top:28px}.privacy-note>span{font-size:1.5rem;color:#7293bb}.privacy-note p{font-size:.875rem;line-height:1.65;color:#62748b;margin:0}.footer{background:#07162d;color:#eaf1fc;padding:50px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.footer-inner>p{color:#abc0da;font-size:.95rem;line-height:1.65;margin:0}.footer-inner>small{font-size:.875rem;line-height:1.7;color:#95acc9}.reveal{transition:opacity .8s ease,transform .9s cubic-bezier(.2,.65,.2,1);will-change:auto}.motion-ready .reveal:not(.visible){opacity:0;transform:translateY(38px)}.motion-ready .reveal-side:not(.visible){transform:translateX(36px)}.motion-ready .reveal-scale:not(.visible){transform:translateY(20px) scale(.95)}.delay-1{transition-delay:.1s}.delay-2{transition-delay:.2s}.delay-3{transition-delay:.3s}
@supports(animation-timeline:view()){.about-orbit{animation:orbit-turn linear both;animation-timeline:view();animation-range:entry 0% exit 100%}@keyframes orbit-turn{from{transform:scale(.88) rotate(-25deg)}to{transform:scale(1.06) rotate(25deg)}}}
@media(min-width:1500px){.hero-grid{min-height:750px}.portrait-stage img{height:680px}}
@media(max-width:1050px){.wrap{width:calc(100% - 56px)}.navlinks{gap:22px}.hero-grid{grid-template-columns:1.1fr .9fr;gap:14px;min-height:650px}.hero h1{font-size:clamp(3.5rem,7vw,5.5rem)}.portrait-stage{min-height:580px}.portrait-stage img{height:540px}.portrait-caption{left:0;bottom:24px;padding:16px}.about-grid{gap:45px}.about-art{height:360px}.big-cross{font-size:18rem}.booking-grid{gap:40px}.booking-card{padding:32px}.step{padding:25px}.section-description{max-width:300px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px);max-width:600px}.nav-inner{min-height:78px;gap:12px}.brand{font-size:.95rem;gap:8px}.brand-symbol{width:32px;height:32px;font-size:1.7rem;border-radius:9px}.brand small{font-size:.6rem}.nav-text{display:none}.button-small{font-size:.8rem;padding:12px;min-height:42px;border-radius:9px}.hero{padding-top:78px;min-height:0}.hero-grid{display:flex;flex-direction:column;gap:0;min-height:0}.hero-copy{width:100%;padding:58px 0 35px}.eyebrow{font-size:.75rem;margin-bottom:23px}.hero h1{font-size:clamp(3.3rem,10.5vw,5.8rem);white-space:normal}.hero-description{font-size:1.05rem;max-width:440px}.hero-actions{gap:22px}.hero-actions .button{padding:16px 20px;font-size:.95rem}.textlink{font-size:.875rem;gap:14px}.portrait-stage{width:100%;height:480px;min-height:0;padding:10px 0 0;align-self:center;overflow:hidden}.portrait-stage img{height:470px}.portrait-ring{width:83%;left:8.5%;top:8%}.portrait-caption{left:5%;bottom:25px}.hero-bottom{padding:25px 0;font-size:.8rem;gap:15px}.hero-bottom a{gap:12px}.section{padding:80px 0}.section-head{display:block;margin-bottom:38px}.section h2{font-size:clamp(2.7rem,8vw,3.75rem)}.section-head .section-description{margin-top:25px;max-width:450px}.steps{grid-template-columns:1fr;gap:16px}.step{padding:28px}.step-top{margin-bottom:35px}.step p{max-width:400px}.about-grid{display:flex;flex-direction:column;gap:45px;align-items:stretch}.about-art{height:270px;width:270px;align-self:center}.big-cross{font-size:15rem}.about-orbit{inset:5px}.about-copy>p:not(.kicker){font-size:1.05rem}.booking-grid{display:block}.booking-copy>.section-description{max-width:400px}.booking-card{margin-top:38px;padding:30px}.booking-card h3{font-size:2.8rem}.calendar-icon{margin-bottom:25px}.footer-inner{flex-wrap:wrap;gap:30px}.footer-inner>p{display:none}.footer-inner>small{font-size:.8rem}.motion-ready .reveal-side:not(.visible){transform:translateY(30px)}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready .reveal:not(.visible){opacity:1;transform:none}.button:hover,.step:hover{transform:none}}
