@charset "UTF-8";

:root{color-scheme:light;--brand:#FB7687;--brand-deep:#C84760;--brand-soft:#FCE5E9;--background:#FFFFFF;--background-soft:#FFF5F7;--text:#292D35;--muted:#68717D;--border:#EDE5E8;--glow:rgb(251 118 135 / .1)}
*{box-sizing:border-box}
html{min-width:320px;background:var(--background)}
body{margin:0;color:var(--text);font-family:"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased;background:radial-gradient(ellipse at 80% 43%,var(--background-soft) 0,transparent 48%),var(--background)}
.page-shell{position:relative;width:min(1440px,100%);min-height:100vh;min-height:100svh;margin:auto;padding:44px 6%;display:flex;flex-direction:column}
.header,.footer{display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{position:relative;display:block;flex-shrink:0;width:250px;height:58px;overflow:hidden;text-decoration:none}
.brand-logo{position:absolute;display:block;left:0;top:50%;width:100%;height:auto;transform:translateY(-50%)}
.brand:focus-visible{outline:2px solid var(--brand);outline-offset:8px;border-radius:2px}
.header-note{color:var(--muted);font-size:12px;letter-spacing:1px}
.hero{flex:1;display:grid;grid-template-columns:1.08fr 1fr;align-items:center;gap:12px;padding:76px 0 85px}
.hero-copy{position:relative;z-index:1;animation-delay:.12s}
.eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 28px;color:var(--brand-deep);font-size:11px;font-weight:600;letter-spacing:3px;text-transform:uppercase}
.status-dot{width:6px;height:6px;border-radius:50%;background:var(--brand);box-shadow:0 0 14px var(--glow)}
h1{max-width:650px;margin:0;font-size:clamp(38px,4.25vw,65px);line-height:1.12;letter-spacing:-2.4px;font-weight:450;text-wrap:balance}
h1 span{color:var(--brand-deep)}
.description{max-width:470px;margin:29px 0 0;font-size:15px;line-height:1.9;color:var(--muted);text-wrap:pretty}
.progress-note{display:flex;align-items:center;gap:16px;margin-top:43px}
.progress-note p{margin:0;font-size:12px;color:var(--muted);letter-spacing:.2px}
.progress-line{position:relative;width:42px;height:2px;background:var(--brand-soft);overflow:hidden}
.progress-line::after{content:"";position:absolute;inset:0;background:var(--brand);transform-origin:left;animation:progress 3.5s ease-in-out infinite}
.visual{position:relative;min-width:0;animation-delay:.25s}
.architecture{display:block;width:100%;max-width:650px;margin:0 auto;overflow:visible}
.visual-glow{position:absolute;inset:23%;background:var(--glow);filter:blur(60px);border-radius:50%}
.visual-caption{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:-9px;font-size:9px;letter-spacing:1.8px;text-transform:uppercase;color:var(--muted)}
.visual-caption span{width:16px;height:1px;background:var(--brand)}
.assembly{transform-box:fill-box;transform-origin:center;animation:assemble 9s ease-in-out infinite}
.assembly-upper{animation-delay:-1s}
.assembly-lower{animation-name:assemble-lower}
.float-shape{transform-box:fill-box;transform-origin:center;animation:float 7s ease-in-out infinite}
.float-two{animation-delay:-2s;animation-duration:8s}
.float-three{animation-delay:-4s;animation-duration:9s}
.footer{padding-top:24px;border-top:1px solid var(--border);color:var(--muted);font-size:10px;letter-spacing:.3px;animation-delay:.35s}
.footer p{margin:0;line-height:1.7}
.location{display:flex;align-items:center;gap:18px;white-space:nowrap}
.location span{color:var(--brand);font-size:16px}
.entrance{animation:enter 1.1s ease both}
@keyframes enter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@keyframes assemble{0%,100%{transform:translateY(-12px);opacity:.6}40%,70%{transform:translateY(0);opacity:1}}
@keyframes assemble-lower{0%,100%{transform:translateY(5px);opacity:.75}40%,70%{transform:translateY(0);opacity:1}}
@keyframes progress{0%,100%{transform:translateX(-100%)}50%{transform:translateX(0)}90%{transform:translateX(100%)}}
@media(min-width:1600px){.page-shell{padding-top:55px;padding-bottom:40px}}
@media(max-width:900px){.page-shell{padding:32px 6%}.hero{grid-template-columns:1.1fr 1fr;padding:65px 0}h1{font-size:44px;letter-spacing:-1.8px}.description{font-size:14px}.architecture{width:100%;margin:0}.visual-caption{font-size:8px;letter-spacing:1px}}
@media(max-width:650px){.page-shell{padding:26px 7% 23px}.brand{width:180px;height:42px}.header{gap:16px}.header-note{font-size:10px;letter-spacing:.4px}.hero{grid-template-columns:1fr;gap:12px;padding:58px 0 35px}.eyebrow{margin-bottom:22px;font-size:10px}h1{font-size:clamp(36px,8.9vw,52px);max-width:500px;letter-spacing:-1.6px}.description{max-width:470px;margin-top:24px;font-size:14px;line-height:1.85}.progress-note{margin-top:28px}.visual{width:min(100%,370px);margin:0 auto}.architecture{width:100%;margin:0}.visual-caption{margin-top:-15px;font-size:8px}.footer{font-size:9px;gap:18px;padding-top:20px}.location{gap:10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.progress-line::after{transform:scaleX(.6)}}
@media print{body{background:white;color:var(--text)}.visual,body::before{display:none}.hero{display:block}h1 span,.brand,.description,.footer,.eyebrow,.progress-note p{color:var(--text)}.page-shell{min-height:auto}}
