:root {
  color-scheme: light;
  --paper: #f6f8f7;
  --ink: #173643;
  --ink-dark: #102c3a;
  --muted: #71858e;
  --muted-strong: #566b75;
  --accent: #7ca7bc;
  --line: rgba(32, 68, 82, 0.13);
  --sans: "DM Sans", "Manrope", Arial, sans-serif;
  --serif: "Playfair Display", Georgia, serif;
}
* {box-sizing: border-box;}
html {scroll-behavior: smooth;}
body {margin:0; min-width:320px; background:var(--paper); font-family:var(--sans); color:var(--ink); -webkit-font-smoothing: antialiased;}
a {color:inherit; text-decoration:none;}
button,a {-webkit-tap-highlight-color: transparent;}
a:focus-visible {outline:3px solid #75aec9; outline-offset:5px;}
::selection {background:#bad3da; color:#142e3a;}
.page {position:relative; isolation:isolate; min-height:100svh; overflow:hidden; background:linear-gradient(122deg, #f9faf8 0%,#f6f9f8 58%,#e7eff0 100%);}
.page-grain {position:absolute; inset:0; z-index:-1; pointer-events:none; opacity:.13; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.68' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='.25'/%3E%3C/svg%3E");}
.glow {position:absolute; z-index:-1; filter:blur(3px); border-radius:50%; pointer-events:none;}
.glow-one {width:720px; height:720px; right:-360px; top:-360px; background:radial-gradient(circle,rgba(182,211,220,.39),transparent 70%);}
.glow-two {width:740px; height:740px; left:-480px; bottom:-480px; background:radial-gradient(circle,rgba(228,216,200,.33),transparent 69%);}
.site-shell {position:relative; max-width:1480px; padding:0 clamp(24px,5.3vw,88px); margin:0 auto;}
.site-header {height:112px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); position:relative; z-index:5;}
.brand {display:inline-flex; align-items:center; gap:13px; color:#244d65;}
.brand-mark {display:block; flex:none;}
.brand-name {display:flex; flex-direction:column; gap:1px; line-height:1;}
.brand-name strong {font-family:Georgia,serif; font-weight:500; letter-spacing:.18em; font-size:clamp(18px,1.65vw,24px);}
.brand-name small {font-size:8.5px; letter-spacing:.49em; padding-left:3px; margin-top:6px; font-weight:600;}
.header-link {display:inline-flex; align-items:center; gap:12px; font-size:12px; font-weight:600; letter-spacing:.015em; color:#34515d; transition:color .25s ease;}
.header-link:hover {color:#76a5bd;}
.header-link svg:first-child {width:19px; height:19px;}
.header-arrow {width:14px; height:14px; margin-left:4px;}
.hero {display:grid; grid-template-columns:minmax(0, 1.04fr) minmax(0,1fr); align-items:center; gap:clamp(30px,4vw,66px); min-height:calc(100svh - 178px); padding:26px 0 38px;}
.hero-content {position:relative; z-index:2; padding:25px 0 20px; min-width:0;}
.eyebrow {display:flex; align-items:center; gap:13px; color:#55717f; font-size:10px; font-weight:700; letter-spacing:.23em; white-space:nowrap;}
.live-dot {width:7px; height:7px; flex:none; border-radius:50%; background:#83aaa7; box-shadow:0 0 0 5px rgba(131,170,167,.14);}
.eyebrow-rule {display:block; width:38px; height:1px; background:#b4c8d0;}
.hero-title {font-family:var(--serif); font-weight:400; font-size:clamp(61px,6vw,96px); line-height:1.145; letter-spacing:-.065em; margin:26px 0 25px; color:var(--ink-dark);}
.title-line {display:block; white-space:nowrap;}
.title-em {font-style:italic; color:#789cac; font-weight:400; padding-left:30px;}
.title-period {color:#82b1c5;}
.coming-line {display:flex; align-items:center; gap:15px; font-size:11px; letter-spacing:.24em; font-weight:700; color:#466c7d;}
.coming-line__bar {height:2px; width:42px; background:#82afbc;}
.hero-description {max-width:460px; margin:23px 0 29px; color:var(--muted-strong); font-size:14px; line-height:1.95; letter-spacing:.007em;}
.hero-actions {display:flex; align-items:center; gap:24px; flex-wrap:wrap;}
.button-primary {background:#214658; border:1px solid #214658; border-radius:4px; color:white; font-size:12px; letter-spacing:.015em; font-weight:600; min-height:52px; padding:0 21px; display:inline-flex; align-items:center; gap:26px; justify-content:space-between; box-shadow:0 11px 25px rgba(20,67,90,.11); transition:background .25s ease, transform .25s ease,box-shadow .25s ease;}
.button-primary:hover {background:#33667b; box-shadow:0 13px 26px rgba(20,67,90,.16); transform:translateY(-2px);}
.button-primary svg {transition:transform .25s;}
.button-primary:hover svg {transform:translate(2px,-2px);}
.cta-note {color:#93a3a8; font-size:11px; font-style:italic;}
.launch-progress {width:min(100%, 405px); margin-top:68px;}
.progress-caption {display:flex; justify-content:space-between; gap:10px; font-size:9px; letter-spacing:.1em; color:#84999d; text-transform:uppercase;}
.progress-caption span:last-child {color:#607e8a;}
.progress-track {height:2px; width:100%; overflow:hidden; margin-top:13px; background:#d7e2e3;}
.progress-track span {display:block; height:100%; width:32%; background:linear-gradient(90deg,#94bcc8,#476d80); animation:loadingSlide 4.6s cubic-bezier(.55,0,.24,1) infinite; transform:translateX(-110%);}
@keyframes loadingSlide {0% {transform:translateX(-110%);} 65% {transform:translateX(315%);} 100% {transform:translateX(315%);}}
.hero-visual {position:relative; min-width:0; margin:0; padding:32px 0 22px;}
.visual-watermark {position:absolute; right:-10px; top:0; font-family:Georgia,serif; font-size:clamp(44px,6vw,88px); letter-spacing:.09em; font-weight:400; color:rgba(76,118,133,.07); white-space:nowrap; line-height:1; pointer-events:none;}
.visual-watermark span {color:rgba(76,118,133,.11);}
.visual-stage {position:relative; width:min(100%,565px); height:clamp(525px,46vw,660px); margin:0 auto; --parallax-x:0px; --parallax-y:0px;}
.stage-outline {position:absolute; inset:18px -18px 21px 34px; border:1px solid rgba(111,159,176,.35); border-radius:48% 48% 10px 10px; z-index:0;}
.stage-arch {position:absolute; inset:0 17px 13px 0; overflow:hidden; border-radius:47% 47% 13px 13px; background:linear-gradient(150deg,#d9e8e8,#eae5db 60%); box-shadow:0 34px 65px rgba(58,91,99,.09); z-index:1;}
.stage-tint {position:absolute; inset:0; z-index:2; background:linear-gradient(90deg,rgba(222,235,237,.04),rgba(222,235,237,.06) 60%,rgba(226,236,236,.22)); pointer-events:none;}
.lifestyle-image {display:block; width:100%; height:100%; object-fit:cover; object-position:center 43%; filter:saturate(.87) contrast(.99); transform:scale(1.027) translate3d(calc(var(--parallax-x) * -0.18), calc(var(--parallax-y) * -0.18), 0); transition:transform .6s cubic-bezier(.2,.75,.2,1);}
.side-label {position:absolute; right:-19px; top:116px; z-index:3; writing-mode:vertical-rl; color:#7898a1; font-size:9px; letter-spacing:.26em; font-weight:700;}
.circle-stamp {position:absolute; top:25px; right:-31px; z-index:4; height:120px; width:120px; border-radius:50%; display:grid; place-items:center; color:#426c7c; background:rgba(246,249,247,.89); backdrop-filter:blur(5px); border:1px solid rgba(95,142,161,.13); box-shadow:0 10px 30px rgba(71,116,128,.07); animation:stampSpin 34s linear infinite;}
.circle-stamp text {fill:#406675; font-family:var(--sans); font-size:9px; letter-spacing:2.1px; font-weight:700;}
@keyframes stampSpin {from {transform:rotate(0);} to {transform:rotate(360deg);}}
.product-card {position:absolute; left:-58px; bottom:-4px; z-index:4; width:192px; background:rgba(255,255,255,.96); box-shadow:0 25px 48px rgba(38,73,83,.14); padding:7px; border-radius:3px; transform:translate3d(calc(var(--parallax-x) * 0.3), calc(var(--parallax-y) * 0.3), 0); transition:transform .5s ease;}
.product-card__image {height:174px; overflow:hidden; background:#dee6e8;}
.product-card__image img {display:block; width:100%;height:100%;object-fit:cover;object-position:center 44%;}
.product-card__bottom {display:flex; justify-content:space-between; align-items:center; gap:5px; min-height:60px; padding:7px 8px 5px;}
.product-card__bottom>div {display:flex; flex-direction:column; gap:6px;}
.product-card__bottom span:not(.product-card__plus) {font-size:8px; color:#8097a2; font-weight:700; letter-spacing:.14em;}
.product-card__bottom strong {font-family:var(--serif);font-size:13px;font-weight:500;color:#24475c;}
.product-card__plus {font-size:25px; font-weight:300; color:#9ab7c4; line-height:1; align-self:center; padding-right:3px;}
.visual-caption {display:flex; align-items:center; justify-content:flex-end; gap:10px; padding:0 24px 0 0; margin:20px 0 0; color:#839ba4; font-size:9px; font-weight:700; letter-spacing:.18em;}
.caption-dot {display:inline-block;width:4px;height:4px;border-radius:50%;background:#789aaa;}
.site-footer {display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:66px; border-top:1px solid var(--line); color:#8a9ba1; font-size:10px; letter-spacing:.025em;}
.footer-right {display:inline-flex;align-items:center;gap:11px;font-size:9px;font-weight:700;letter-spacing:.15em;white-space:nowrap;color:#76909c;}
.footer-line {width:27px;height:1px;background:#9bb4be;display:block;}
.reveal {animation:slideUp .85s both cubic-bezier(.24,.7,.2,1);}
.eyebrow.reveal {animation-delay:.08s;} .hero-title.reveal {animation-delay:.2s;} .coming-line.reveal {animation-delay:.35s;} .hero-description.reveal {animation-delay:.48s;} .hero-actions.reveal {animation-delay:.58s;} .launch-progress.reveal {animation-delay:.7s;}
@keyframes slideUp {from {opacity:0; transform:translateY(20px);} to {opacity:1;transform:translateY(0);}}
@media (max-width:1200px) {
  .site-shell {padding:0 4.5vw;}
  .hero {gap:34px;}
  .hero-title {font-size:clamp(60px,6.5vw,82px);}
  .visual-stage {height:clamp(495px,50vw,620px);}
  .product-card {left:-36px; width:173px;}
  .product-card__image {height:156px;}
  .circle-stamp {right:-17px; width:102px;height:102px;}
  .circle-stamp svg {width:102px;height:102px;}
}
@media (max-width:900px) {
  .site-shell {padding:0 32px;}
  .site-header {height:90px;}
  .hero {grid-template-columns:1fr; gap:2px; padding:48px 0 32px; min-height:auto;}
  .hero-content {max-width:620px; margin:0 auto; width:100%; padding:0;}
  .hero-title {font-size:clamp(65px,9.2vw,92px);}
  .hero-description {max-width:540px;}
  .launch-progress {margin-top:45px;}
  .hero-visual {width:min(100%,610px); justify-self:center; margin-top:12px; padding-top:25px;}
  .visual-stage {height:640px;width:min(100%,515px);}
  .product-card {left:-40px;}
  .visual-caption {margin-top:22px;}
}
@media (max-width:600px) {
  .site-shell {padding:0 22px;}
  .site-header {height:82px;}
  .brand {gap:8px;}
  .brand-mark {width:28px;height:31px;}
  .brand-name strong {font-size:18px;letter-spacing:.13em;}
  .brand-name small {font-size:7.2px;letter-spacing:.38em;margin-top:5px;}
  .header-link {font-size:11px; gap:7px;}
  .header-link svg:first-child {height:18px;width:18px;}
  .header-link .header-arrow {display:none;}
  .header-link span {display:none;}
  .hero {padding:49px 0 24px;}
  .eyebrow {font-size:9px;letter-spacing:.15em;gap:10px;}
  .eyebrow-rule {width:23px;}
  .hero-title {font-size:clamp(51px,12vw,76px); margin:26px 0 25px; letter-spacing:-.07em;}
  .title-em {padding-left:16px;}
  .coming-line {font-size:9.5px;letter-spacing:.21em;}
  .coming-line__bar {width:28px;}
  .hero-description {font-size:13.5px;line-height:1.85; margin:19px 0 27px;}
  .button-primary {min-height:52px; font-size:12px; width:auto;}
  .cta-note {font-size:10px;}
  .launch-progress {margin-top:39px;}
  .hero-visual {width:100%;margin-top:25px;padding:24px 0 12px;}
  .visual-stage {height:min(119vw,540px); width:calc(100% - 26px); margin:0 0 0 17px;}
  .stage-arch {right:10px;bottom:10px;}
  .stage-outline {right:-9px;left:22px;bottom:17px;}
  .circle-stamp {width:91px;height:91px;right:-16px;top:15px;}
  .circle-stamp svg {height:91px;width:91px;}
  .side-label {right:-12px;top:105px;font-size:7px;}
  .product-card {width:141px;left:-27px;bottom:-10px;padding:5px;}
  .product-card__image {height:128px;}
  .product-card__bottom {min-height:54px; padding:5px 6px;}
  .product-card__bottom span:not(.product-card__plus) {font-size:7px;}
  .product-card__bottom strong {font-size:11.4px;}
  .product-card__plus {font-size:18px;}
  .visual-watermark {font-size:10vw;}
  .visual-caption {padding-right:10px;font-size:7.5px;letter-spacing:.12em;}
  .site-footer {flex-wrap:wrap; justify-content:center;gap:9px; padding:17px 0 22px;text-align:center;font-size:9px;}
  .footer-right {font-size:8px;}
}
@media (max-width:385px) {
  .hero-title {font-size:clamp(48px,11.6vw,54px);}
  .eyebrow {font-size:8px;letter-spacing:.13em;}
  .cta-note {display:block;width:100%;margin-top:-10px;}
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after {scroll-behavior:auto !important;animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;}
}
