@font-face {font-family:"Plus Jakarta Sans";src:url("/fonts/PlusJakartaSans.woff2") format("woff2");font-weight:200 800;font-style:normal;font-display:swap;}@font-face {font-family:"Inter";src:url("/fonts/Inter.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap;}@font-face {font-family:"Inter Fallback";src:local("Arial");size-adjust:107%;ascent-override:90%;descent-override:22%;line-gap-override:0%;}@font-face {font-family:"Jakarta Fallback";src:local("Arial");size-adjust:105%;ascent-override:96%;descent-override:24%;line-gap-override:0%;}:root {--white:#ffffff;--off:#faf8f5;--graphite:#2d3540;--graphite-deep:#232a33;--graphite-soft:#3b4552;--coral:#f1949d;--coral-strong:#e9727e;--gray:#f3f5f7;--line:#e4e8ec;--red:#e62545;--red-btn:#da2143;--green:#0b7a3b;--wa:#25d366;--text:#2d3540;--muted:#566170;--font-head:"Plus Jakarta Sans", "Jakarta Fallback", system-ui, sans-serif;--font-body:"Inter", "Inter Fallback", system-ui, sans-serif;--radius:16px;--radius-lg:26px;--shadow-sm:0 1px 2px rgba(35, 42, 51, 0.06), 0 4px 14px rgba(35, 42, 51, 0.06);--shadow-md:0 10px 30px rgba(35, 42, 51, 0.12);--header-h:72px;--container:1180px;--ease:cubic-bezier(0.22, 0.61, 0.36, 1);}*, *::before, *::after { box-sizing:border-box; }html { -webkit-text-size-adjust:100%; scroll-behavior:smooth; scroll-padding-top:calc(var(--header-h) + 12px); }body {margin:0;font-family:var(--font-body);font-size:1.0625rem;line-height:1.65;color:var(--text);background:var(--white);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}img { max-width:100%; height:auto; display:block; }a { color:inherit; }button, input, select, textarea { font:inherit; color:inherit; }button { cursor:pointer; }h1, h2, h3, h4 { font-family:var(--font-head); line-height:1.12; margin:0 0 0.5em; color:var(--graphite); letter-spacing:-0.02em; }h1 { font-size:clamp(2.25rem, 5.6vw, 4rem); font-weight:800; }h2 { font-size:clamp(1.85rem, 3.8vw, 2.85rem); font-weight:800; }h3 { font-size:1.25rem; font-weight:700; letter-spacing:-0.01em; }p { margin:0 0 1em; }ul, ol { margin:0; padding:0; list-style:none; }:focus-visible { outline:3px solid var(--coral-strong); outline-offset:3px; border-radius:6px; }.skip { position:absolute; left:12px; top:-60px; background:var(--graphite); color:#fff; padding:10px 16px; border-radius:10px; z-index:200; }.skip:focus { top:12px; }.container { width:min(100% - 40px, var(--container)); margin-inline:auto; }.container--narrow { width:min(100% - 40px, 820px); }[hidden] { display:none !important; }.js .reveal { opacity:0; transform:translateY(22px); transition:opacity 0.7s var(--ease), transform 0.7s var(--ease); }.js .reveal.is-in { opacity:1; transform:none; }.js .reveal:nth-child(2) { transition-delay:0.06s; }.js .reveal:nth-child(3) { transition-delay:0.12s; }.js .reveal:nth-child(4) { transition-delay:0.18s; }.js .reveal:nth-child(5) { transition-delay:0.24s; }.js .reveal:nth-child(6) { transition-delay:0.3s; }@media (prefers-reduced-motion:reduce) {html { scroll-behavior:auto; }*, *::before, *::after { animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; transition-delay:0s !important; }.js .reveal { opacity:1; transform:none; }}.btn {display:inline-flex; align-items:center; justify-content:center; gap:8px;min-height:50px; padding:0 26px; border-radius:999px; border:2px solid transparent;font-family:var(--font-body); font-weight:700; font-size:1rem; line-height:1.1; text-decoration:none; text-align:center;transition:transform 0.25s var(--ease), box-shadow 0.25s var(--ease), background-color 0.2s, color 0.2s, border-color 0.2s;will-change:transform;}.btn:hover { transform:translateY(-2px); }.btn:active { transform:translateY(0) scale(0.98); }.btn--primary { background:var(--coral); color:var(--graphite-deep); box-shadow:0 6px 18px rgba(241, 148, 157, 0.38); }.btn--primary:hover { background:#f4a5ac; box-shadow:0 10px 24px rgba(241, 148, 157, 0.5); }.btn--ghost { background:transparent; color:var(--graphite); border-color:rgba(45, 53, 64, 0.32); }.btn--ghost:hover { border-color:var(--graphite); background:rgba(45, 53, 64, 0.05); }.btn--dark { background:var(--graphite); color:#fff; box-shadow:0 8px 22px rgba(45, 53, 64, 0.28); }.btn--dark:hover { background:var(--graphite-soft); }.btn--wa { background:var(--green); color:#fff; }.btn--wa:hover { background:#0e8f46; }.btn--sm { min-height:42px; padding:0 18px; font-size:0.9375rem; }.btn--lg { min-height:58px; padding:0 32px; font-size:1.0625rem; }.btn--block { width:100%; }.lead-card { background:var(--white); border-radius:var(--radius-lg); padding:28px; box-shadow:var(--shadow-md); color:var(--text); }.lead-card--lg { padding:clamp(24px, 4vw, 40px); border:1px solid var(--line); }.lead-card__title { font-size:1.375rem; margin-bottom:14px; }.lead-card__title + .lead-card__sub { margin-top:-10px; }.form-success { text-align:center; padding:12px 0; }.form-success h3 { font-size:1.5rem; }.form-success p { color:var(--muted); }.lead-card__sub { color:var(--muted); font-size:0.9375rem; margin-bottom:18px; }.lead-card .btn { margin-top:6px; }.field { display:block; margin-bottom:14px; position:relative; }.field > span { display:block; font-size:0.875rem; font-weight:600; margin-bottom:6px; color:var(--graphite); }.field input, .field select {width:100%; min-height:52px; padding:0 16px; border-radius:12px; border:1.5px solid #c5ccd5; background:#fff;font-size:1rem; transition:border-color 0.2s, box-shadow 0.2s;}.field input::placeholder { color:#7b8794; }.field input:focus, .field select:focus { outline:none; border-color:var(--graphite); box-shadow:0 0 0 4px rgba(241, 148, 157, 0.35); }.field.has-error input, .field.has-error select { border-color:#c4122f; }.field__error { display:block; color:#b0102a; font-size:0.875rem; margin-top:5px; }.check { display:flex; gap:10px; align-items:flex-start; font-size:0.875rem; line-height:1.5; color:var(--muted); margin:4px 0 12px; }.check input { width:22px; height:22px; margin:1px 0 0; flex:none; accent-color:var(--graphite); }.check a { color:var(--graphite); font-weight:600; }.check.has-error { color:#b0102a; }.hp { position:absolute !important; left:-9999px; width:1px; height:1px; overflow:hidden; }.form-status { min-height:1.4em; margin:12px 0 0; font-size:0.9375rem; font-weight:600; }.form-status.is-ok { color:var(--green); }.form-status.is-err { color:#b0102a; }.form-status.is-info { color:var(--graphite); }.form-fallback { margin-top:10px; }button[disabled] { opacity:0.65; cursor:progress; }.eyebrow { font-family:var(--font-head); font-weight:700; font-size:0.9375rem; color:var(--graphite); margin:0 0 12px; display:inline-flex; align-items:center; gap:10px; }.eyebrow::before { content:""; width:26px; height:3px; border-radius:3px; background:var(--coral); }.eyebrow--coral { color:var(--coral); }.note { font-size:0.875rem; color:var(--muted); line-height:1.55; }.note--center { text-align:center; margin-top:28px; }.caption { font-size:0.8125rem; color:var(--muted); margin:10px 0 0; }.callout { background:var(--off); border-left:4px solid var(--coral); border-radius:0 12px 12px 0; padding:14px 18px; font-size:0.9375rem; line-height:1.55; color:var(--graphite); }.callout--soft { background:#fff; border:1px solid var(--line); border-left:4px solid var(--coral); margin:22px 0; }.callout p { margin:6px 0 0; }.legal-note { font-size:0.8125rem; line-height:1.55; color:#aeb8c4; margin:22px 0 0; max-width:78ch; }.legal-note--light { color:var(--muted); }.chips { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 18px; }.chips li { background:var(--gray); border-radius:999px; padding:6px 14px; font-weight:700; font-size:0.9375rem; color:var(--graphite); }.ticks li { position:relative; padding:6px 0 6px 32px; font-size:1rem; }.ticks li::before { content:""; position:absolute; left:0; top:9px; width:20px; height:20px; border-radius:50%; background:var(--coral) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m5.5 10.5 3 3 6-6.5' fill='none' stroke='%232d3540' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat; }.zoom-hint { position:absolute; right:14px; bottom:14px; background:rgba(45, 53, 64, 0.9); color:#fff; font-size:0.8125rem; font-weight:600; padding:7px 14px; border-radius:999px; }.site-header { position:fixed; inset:0 0 auto 0; z-index:100; transition:background-color 0.3s, box-shadow 0.3s; }.site-header__bar { display:flex; align-items:center; justify-content:space-between; height:var(--header-h); gap:20px; }.brand { display:block; line-height:0; }.brand__logo { height:40px; width:auto; }.site-header.is-solid, .site-header.is-scrolled { background:rgba(250, 248, 245, 0.94); box-shadow:0 1px 0 var(--line); backdrop-filter:saturate(1.4) blur(10px); }.nav { display:flex; align-items:center; gap:26px; }.nav a:not(.btn) { text-decoration:none; font-weight:600; font-size:0.9375rem; color:var(--graphite); padding:6px 2px; position:relative; }.nav a:not(.btn)::after { content:""; position:absolute; left:0; right:0; bottom:0; height:2px; background:var(--coral); transform:scaleX(0); transform-origin:left; transition:transform 0.3s var(--ease); }.nav a:not(.btn):hover::after { transform:scaleX(1); }.burger { display:none; width:46px; height:46px; border:0; background:transparent; border-radius:12px; padding:0; position:relative; }.burger span { position:absolute; left:11px; right:11px; height:2.5px; border-radius:2px; background:var(--graphite); transition:transform 0.3s var(--ease), opacity 0.2s, top 0.3s var(--ease); }.burger span:nth-child(1) { top:15px; } .burger span:nth-child(2) { top:22px; } .burger span:nth-child(3) { top:29px; }.burger[aria-expanded="true"] span:nth-child(1) { top:22px; transform:rotate(45deg); }.burger[aria-expanded="true"] span:nth-child(2) { opacity:0; }.burger[aria-expanded="true"] span:nth-child(3) { top:22px; transform:rotate(-45deg); }.filters { display:flex; flex-wrap:wrap; gap:10px; margin:0 0 28px; }.filter { border:1.5px solid rgba(255, 255, 255, 0.28); background:transparent; color:#fff; border-radius:999px; padding:10px 20px; font-weight:600; font-size:0.9375rem; transition:background-color 0.2s, color 0.2s, border-color 0.2s; }.filter:hover { border-color:#fff; }.filter.is-active { background:var(--coral); border-color:var(--coral); color:var(--graphite-deep); }.lightbox { border:0; padding:0; width:100vw; max-width:100vw; height:100dvh; max-height:100dvh; background:rgba(20, 25, 31, 0.95); color:#fff; }.lightbox::backdrop { background:rgba(20, 25, 31, 0.8); }.lightbox[open] { display:grid; place-items:center; animation:lbIn 0.3s var(--ease); }@keyframes lbIn { from { opacity:0; } to { opacity:1; } }.lightbox__fig { margin:0; max-width:min(94vw, 1400px); text-align:center; }.lightbox__img { max-width:100%; max-height:78dvh; width:auto; height:auto; margin:0 auto; border-radius:10px; background:#fff0; object-fit:contain; }.lightbox__cap { font-size:0.9375rem; line-height:1.5; margin:14px auto 0; max-width:70ch; color:#e6ebf0; }.lightbox__close, .lightbox__nav { position:absolute; border:0; background:rgba(255, 255, 255, 0.14); color:#fff; border-radius:50%; width:52px; height:52px; font-size:2rem; line-height:1; display:grid; place-items:center; transition:background-color 0.2s; }.lightbox__close:hover, .lightbox__nav:hover { background:rgba(255, 255, 255, 0.28); }.lightbox__close { top:16px; right:16px; }.lightbox__nav { top:50%; transform:translateY(-50%); }.lightbox__nav--prev { left:16px; } .lightbox__nav--next { right:16px; }.wa-float { position:fixed; right:20px; bottom:20px; z-index:90; width:62px; height:62px; border-radius:50%; background:var(--wa); color:#fff; display:grid; place-items:center; box-shadow:0 8px 24px rgba(0, 0, 0, 0.25); transition:transform 0.25s var(--ease); }.wa-float svg { width:34px; height:34px; }.wa-float:hover { transform:scale(1.08); }.sticky-cta { display:none; }.consent { position:fixed; left:16px; right:16px; bottom:16px; z-index:120; max-width:560px; background:#fff; border:1px solid var(--line); border-radius:18px; box-shadow:var(--shadow-md); padding:18px 20px; font-size:0.875rem; line-height:1.5; }.consent p { margin:0 0 12px; }.consent__actions { display:flex; gap:10px; justify-content:flex-end; }.section { padding:clamp(72px, 10vw, 150px) 0; position:relative; }.section h2 { font-size:clamp(2rem, 4.6vw, 4rem); font-weight:800; letter-spacing:-0.035em; line-height:1.04; }.ring-crescent, .hero__crescent, .lens__crescent, .stage__crescent, .ring-photo__crescent { position:absolute; z-index:0; aspect-ratio:1; border-radius:50%; background:var(--coral); clip-path:inset(50% 0 0 0); }.hero { background:var(--off); padding:calc(var(--header-h) + 40px) 0 72px; overflow:hidden; }.hero__grid { display:grid; grid-template-columns:minmax(0, 1.1fr) minmax(0, 0.9fr); gap:clamp(24px, 4vw, 64px); align-items:center; min-height:min(64svh, 640px); }.hero__kicker { display:flex; align-items:center; gap:10px; font-weight:700; font-size:0.9375rem; letter-spacing:0.04em; margin:0 0 22px; }.dot { width:10px; height:10px; border-radius:50%; background:var(--coral); flex:none; }.hero h1 { font-size:clamp(2.6rem, 5.8vw, 5.4rem); font-weight:800; letter-spacing:-0.045em; line-height:1; margin:0 0 24px; text-wrap:balance; }.hero__sub { font-size:clamp(1.0625rem, 1.5vw, 1.3125rem); color:var(--muted); max-width:27em; margin-bottom:30px; }.hero__cta { display:flex; flex-wrap:wrap; gap:14px; }.hero__ring { position:relative; width:min(100%, 560px, 62svh); aspect-ratio:1; justify-self:end; margin-bottom:30px; }.hero__photo { position:relative; z-index:1; width:100%; height:100%; border-radius:50%; overflow:hidden; box-shadow:0 40px 90px rgba(45, 53, 64, 0.24); animation:ringIn 1.2s var(--ease) both; }.hero__photo img { width:100%; height:100%; object-fit:cover; object-position:50% 50%; }.hero__crescent { width:66%; left:-8%; bottom:-14%; animation:crescentIn 1.4s 0.2s var(--ease) both; }.hero__legal { position:absolute; right:4%; bottom:-30px; margin:0; font-size:0.8125rem; color:var(--muted); }.hero__marks { display:flex; flex-wrap:wrap; margin:56px 0 28px; padding:22px 0 0; border-top:1px solid var(--line); }.hero__marks li { font-family:var(--font-head); font-weight:700; font-size:1.0625rem; padding-right:32px; margin-right:32px; border-right:1px solid var(--line); }.hero__marks li:last-child { border-right:0; margin-right:0; padding-right:0; }.hero__form { background:#fff; border:1px solid var(--line); border-radius:26px; padding:24px 28px 20px; box-shadow:var(--shadow-md); }.hero__form-title { font-size:1.125rem; margin:0 0 14px; letter-spacing:-0.01em; }.hero__form-row { display:grid; grid-template-columns:1fr 1fr auto; gap:14px; align-items:end; }.hero__form .field { margin:0; }.hero__form .check { margin:14px 0 0; }.hero__form .form-status { margin-top:8px; min-height:0; }.hero__form .btn { margin:0; }@keyframes ringIn { from { transform:scale(0.84) rotate(-6deg); } to { transform:none; } }@keyframes crescentIn { from { transform:translate(40px, -30px) rotate(40deg) scale(0.7); opacity:0; } to { transform:none; opacity:1; } }@keyframes rise { from { opacity:0; transform:translateY(28px); } to { opacity:1; transform:none; } }.rise { animation:rise 0.9s var(--ease) both; }.hero__kicker.rise { animation-delay:0s; }.hero h1.rise { animation-delay:0.08s; }.hero__sub.rise { animation-delay:0.2s; }.hero__cta.rise { animation-delay:0.3s; }.hero__marks.rise { animation-delay:0.45s; }.hero__form.rise { animation-delay:0.55s; }.portal { position:relative; background:var(--graphite); color:#fff; }.portal__pin { position:relative; min-height:100svh; padding:14vh 0 10vh; overflow:hidden; display:grid; align-content:end; gap:40px; }.portal__window { position:absolute; inset:0; }.portal__window img { width:100%; height:100%; object-fit:cover; }.portal__window::after { content:""; position:absolute; inset:0; background:rgba(35, 42, 51, calc(0.3 + var(--p, 0.4) * 0.4)); }.portal__title { position:relative; z-index:2; margin:0; padding-inline:max(20px, calc((100vw - var(--container)) / 2)); font-size:clamp(2.4rem, 6.6vw, 6.4rem); font-weight:800; letter-spacing:-0.045em; line-height:0.98; color:#fff; max-width:min(100%, 12.5em); text-wrap:balance; }.portal__body { position:relative; z-index:2; padding-inline:max(20px, calc((100vw - var(--container)) / 2)); max-width:640px; }.portal__body p { font-size:1.125rem; line-height:1.6; color:#eef1f5; }.portal__note { font-size:0.8125rem !important; color:#cdd5de !important; margin:14px 0 0; }.facts { display:grid; grid-template-columns:repeat(4, auto); gap:22px 34px; margin:26px 0 0; justify-content:start; }.facts dt { font-family:var(--font-head); font-weight:800; font-size:clamp(1.9rem, 3vw, 2.8rem); line-height:1; letter-spacing:-0.03em; }.facts dd { margin:6px 0 0; font-size:0.875rem; color:#cdd5de; line-height:1.3; }.portal.is-live { height:100svh; min-height:560px; cursor:pointer; }.portal.is-live.is-open { cursor:auto; }.portal.is-live .portal__pin { position:relative; height:100%; min-height:0; display:block; padding:0; }.portal.is-live .portal__window { clip-path:circle(var(--r, 22vmin) at var(--cx, 64%) var(--cy, 46%)); will-change:clip-path; }.portal.is-live .portal__title { position:absolute; left:0; bottom:12vh; width:min(100%, 56vw); padding-right:0; }.portal.is-live .portal__body { position:absolute; right:0; bottom:12vh; width:min(480px, 36vw); padding-inline:0 max(20px, calc((100vw - var(--container)) / 2)); opacity:clamp(0, calc((var(--p, 0) - 0.6) * 5), 1); transform:translateY(calc((1 - clamp(0, (var(--p, 0) - 0.6) * 5, 1)) * 24px)); pointer-events:none; }.portal.is-live.is-open .portal__body { pointer-events:auto; }.diff__grid { display:grid; grid-template-columns:minmax(0, 0.8fr) minmax(0, 1.4fr); gap:clamp(32px, 6vw, 110px); align-items:start; }.diff__head { position:sticky; top:calc(var(--header-h) + 36px); }.diff__head p { color:var(--muted); font-size:1.1875rem; max-width:30em; }.rows { border-bottom:1px solid var(--line); }.row { display:grid; grid-template-columns:minmax(0, 1.1fr) minmax(0, 0.9fr); gap:28px; align-items:center; padding:34px 0; border-top:1px solid var(--line); position:relative; }.row::before { content:""; position:absolute; left:0; top:-1px; height:3px; width:0; background:var(--coral); transition:width 0.6s var(--ease); }.row:hover::before { width:100%; }.row h3 { margin:0; font-size:clamp(1.7rem, 3.1vw, 2.7rem); font-weight:800; letter-spacing:-0.035em; line-height:1.05; }.row p { margin:0; color:var(--muted); }.plan { background:var(--off); }.plan__head { display:grid; grid-template-columns:minmax(0, 1.1fr) minmax(0, 0.9fr); gap:40px; align-items:end; margin-bottom:44px; }.plan__head p { color:var(--muted); font-size:1.1875rem; margin:0; }.plan__toggle { display:inline-flex; gap:4px; padding:6px; background:#fff; border:1px solid var(--line); border-radius:999px; margin-bottom:36px; }.plan__tab { border:0; background:transparent; border-radius:999px; padding:12px 28px; text-align:left; display:flex; flex-direction:column; gap:2px; transition:background-color 0.3s, color 0.3s; }.plan__tab strong { font-family:var(--font-head); font-size:1.0625rem; }.plan__tab span { font-size:0.875rem; color:var(--muted); }.plan__tab[aria-selected="true"] { background:var(--graphite); color:#fff; }.plan__tab[aria-selected="true"] span { color:#d3dae2; }.plan__grid { display:grid; grid-template-columns:minmax(0, 1.15fr) minmax(0, 0.85fr); gap:clamp(32px, 5vw, 88px); align-items:start; }.plan__panel { background:#fff; border-radius:30px; padding:clamp(16px, 2.6vw, 30px); box-shadow:var(--shadow-sm); animation:panelIn 0.5s var(--ease); }@keyframes panelIn { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:none; } }.plan__canvas { position:relative; }.plan__canvas img { width:100%; height:auto; display:block; }.plan__zoom { display:inline-block; margin-top:16px; font-weight:700; font-size:0.9375rem; text-underline-offset:4px; }.hot { position:absolute; transform:translate(-50%, -50%); width:19%; height:9%; min-width:64px; min-height:28px; border-radius:999px; border:2px solid var(--coral-strong); background:rgba(241, 148, 157, 0.16); padding:0; transition:background-color 0.25s, border-color 0.25s, transform 0.25s var(--ease); animation:pulse 2.2s 0.8s 3; }.hot:hover { background:rgba(241, 148, 157, 0.5); }.hot.is-active { background:rgba(241, 148, 157, 0.55); border-color:var(--graphite); }@keyframes pulse { 0% { box-shadow:0 0 0 0 rgba(233, 114, 126, 0.55); } 70%, 100% { box-shadow:0 0 0 16px rgba(233, 114, 126, 0); } }.lens { position:sticky; top:calc(var(--header-h) + 24px); }.lens__ring { position:relative; width:min(100%, 400px); aspect-ratio:1; margin:0 0 32px; }.lens__photo { position:relative; z-index:1; width:100%; height:100%; border-radius:50%; overflow:hidden; background:var(--gray); }.lens__img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transform:scale(1.08); transition:opacity 0.7s var(--ease), transform 1.1s var(--ease); }.lens__img.is-on { opacity:1; transform:none; }.lens__crescent { width:62%; left:-10%; bottom:-9%; }.lens__title { font-size:clamp(1.7rem, 2.8vw, 2.4rem); letter-spacing:-0.03em; margin-bottom:8px; }.lens__text { color:var(--muted); font-size:1.0625rem; min-height:3.2em; }.lazer { background:var(--graphite); color:#e9edf2; }.lazer h2 { color:#fff; }.lazer__head { margin-bottom:clamp(32px, 5vw, 64px); }.lazer__head > * { max-width:760px; }.lazer__lead { font-size:1.1875rem; color:#cdd5de; margin:0; }.lazer__grid { display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); gap:clamp(32px, 6vw, 100px); align-items:start; }.lazer__stage { position:sticky; top:calc(var(--header-h) + 28px); margin:0; }.stage__ring { position:relative; display:block; width:min(100%, 600px); aspect-ratio:1; margin-left:auto; padding:0; border:0; background:none; cursor:zoom-in; }.stage__photo { position:relative; z-index:1; display:block; width:100%; height:100%; border-radius:50%; overflow:hidden; background:var(--graphite-soft); }.stage__img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transform:scale(1.07); transition:opacity 0.7s var(--ease), transform 1.2s var(--ease); }.stage__img.is-on { opacity:1; transform:none; }.stage__crescent { width:66%; right:-9%; bottom:-9%; }.lazer__stage figcaption { margin:26px 0 0 auto; max-width:46ch; width:min(100%, 600px); font-size:0.9375rem; line-height:1.55; color:#cdd5de; min-height:4.6em; }.agroup h3 { font-family:var(--font-body); font-size:0.9375rem; font-weight:600; letter-spacing:0; color:#aab4c0; margin:34px 0 10px; }.agroup:first-of-type h3 { margin-top:0; }.amenity { display:block; position:relative; width:100%; text-align:left; background:none; border:0; border-top:1px solid rgba(255, 255, 255, 0.16); padding:14px 0; font-family:var(--font-head); font-weight:700; font-size:clamp(1.45rem, 2.6vw, 2.3rem); letter-spacing:-0.03em; line-height:1.1; color:rgba(255, 255, 255, 0.5); transition:color 0.3s, padding-left 0.4s var(--ease); }.amenity::before { content:""; position:absolute; left:0; top:50%; width:14px; height:14px; border-radius:50%; background:var(--coral); transform:translateY(-50%) scale(0); transition:transform 0.35s var(--ease); }.amenity:hover, .amenity.is-active { color:#fff; padding-left:30px; }.amenity.is-active::before { transform:translateY(-50%) scale(1); }.agroup ul { border-bottom:1px solid rgba(255, 255, 255, 0.16); }.lazer .legal-note { margin-top:36px; }.plan-site { display:grid; grid-template-columns:minmax(0, 1.1fr) minmax(0, 0.9fr); gap:clamp(28px, 5vw, 80px); align-items:center; margin-top:clamp(72px, 9vw, 130px); }.plan-site__fig { margin:0; }.plan-site__fig a { display:block; position:relative; border-radius:26px; overflow:hidden; background:var(--off); }.plan-site__list h3 { font-size:clamp(1.6rem, 2.6vw, 2.2rem); color:#fff; letter-spacing:-0.03em; }.plan-site__list .note { color:#aab4c0; }.legend { columns:2; column-gap:28px; counter-reset:lg; margin:16px 0; }.legend li { counter-increment:lg; break-inside:avoid; padding:4px 0 4px 38px; position:relative; font-size:0.9375rem; }.legend li::before { content:counter(lg); position:absolute; left:0; top:5px; width:27px; height:22px; border-radius:11px; background:var(--coral); color:var(--graphite-deep); font-weight:700; font-size:0.75rem; display:grid; place-items:center; }.tech__grid { display:grid; grid-template-columns:minmax(0, 0.8fr) minmax(0, 1.2fr); gap:clamp(32px, 6vw, 110px); align-items:start; }.tech__visual { position:sticky; top:calc(var(--header-h) + 36px); }.ring-photo { position:relative; width:min(100%, 470px); aspect-ratio:1; }.ring-photo__img { position:relative; z-index:1; width:100%; height:100%; border-radius:50%; overflow:hidden; }.ring-photo__img img { width:100%; height:100%; object-fit:cover; object-position:78% 50%; }.ring-photo__crescent { width:60%; right:-8%; bottom:-8%; }.tech__copy h2 { margin-bottom:32px; max-width:14ch; }.defs > div { padding:28px 0; border-top:1px solid var(--line); }.defs > div:last-child { border-bottom:1px solid var(--line); }.defs dt { font-family:var(--font-head); font-weight:800; font-size:clamp(1.35rem, 2.1vw, 1.8rem); letter-spacing:-0.025em; line-height:1.15; margin-bottom:10px; }.defs dd { margin:0; color:var(--muted); }.defs .callout { display:block; margin-top:14px; }.loc { background:var(--gray); }.loc__head { margin-bottom:clamp(32px, 5vw, 56px); max-width:780px; }.loc__head p { font-size:1.25rem; color:var(--muted); margin:0; }.loc__grid { display:grid; grid-template-columns:minmax(0, 0.95fr) minmax(0, 1.05fr); gap:clamp(28px, 5vw, 80px); align-items:start; }.radar { position:sticky; top:calc(var(--header-h) + 24px); margin:0; }.radar svg { display:block; width:100%; height:auto; overflow:visible; }.radar__rings circle { stroke:#bcc5cf; stroke-width:1.5; stroke-dasharray:3 7; }.radar__scale text { font-family:var(--font-body); font-size:13px; fill:#5f6b79; text-anchor:middle; }.radar__home-ring { fill:none; stroke:var(--coral-strong); stroke-width:3; }.radar__home { fill:var(--graphite); }.radar figcaption { margin-top:14px; font-size:0.8125rem; color:var(--muted); max-width:46ch; }.dot { cursor:pointer; outline:none; }.dot circle { fill:#fff; stroke:var(--graphite); stroke-width:2; transition:fill 0.25s, stroke-width 0.25s; }.dot text { font-family:var(--font-head); font-weight:800; font-size:15px; fill:var(--graphite); pointer-events:none; }.dot line { stroke:#8d98a6; stroke-width:1.2; opacity:0; transition:opacity 0.25s; pointer-events:none; }.dot:hover circle, .dot.is-active circle { fill:var(--coral); }.dot.is-active line, .dot:hover line { opacity:1; }.dot:focus-visible circle { stroke:var(--coral-strong); stroke-width:5; }.loc__side .note { margin-bottom:8px; }.poi { margin:12px 0 8px; border-bottom:1px solid #d3d9e0; }.poi li { display:flex; align-items:center; border-top:1px solid #d3d9e0; }.poi__btn { flex:1; display:flex; align-items:center; gap:16px; text-align:left; background:none; border:0; padding:14px 0; }.poi__letter { flex:none; width:36px; height:36px; border-radius:50%; border:2px solid var(--graphite); display:grid; place-items:center; font-family:var(--font-head); font-weight:800; font-size:0.9375rem; transition:background-color 0.25s; }.poi__letter--none { border-style:dashed; border-color:#8d98a6; color:var(--muted); }.poi__btn.is-active .poi__letter, .poi__btn:hover .poi__letter { background:var(--coral); }.poi__txt strong { display:block; font-size:1.0625rem; line-height:1.25; }.poi__txt em { font-style:normal; font-size:0.875rem; color:var(--muted); }.poi__route { flex:none; font-size:0.875rem; font-weight:700; color:var(--graphite); text-underline-offset:4px; padding:10px 0 10px 14px; }.callout--box { background:#fff; border:1px solid var(--line); border-left:4px solid var(--coral); border-radius:0 16px 16px 0; margin:24px 0; }.loc__map { margin-top:clamp(40px, 6vw, 80px); }.loc__frame { position:relative; aspect-ratio:21 / 9; border-radius:30px; overflow:hidden; background:var(--graphite); }.loc__poster { width:100%; height:100%; object-fit:cover; }.loc__frame iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }.loc__load { position:absolute; left:50%; top:50%; transform:translate(-50%, -50%); white-space:nowrap; }.loc__load:hover { transform:translate(-50%, calc(-50% - 2px)); }.loc__map .note { margin-top:12px; }.loc__map .note a { font-weight:600; margin-left:6px; }.fin { background:var(--graphite); color:#e9edf2; overflow:hidden; padding-bottom:clamp(48px, 6vw, 80px); }.fin__ring { position:absolute; width:min(72vw, 800px); aspect-ratio:1; right:-16%; top:-34%; border-radius:50%; border:clamp(48px, 8vw, 120px) solid rgba(241, 148, 157, 0.13); pointer-events:none; }.fin__grid { position:relative; display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); gap:clamp(32px, 6vw, 110px); align-items:start; }.fin h2 { color:#fff; max-width:12ch; }.fin__copy p { font-size:1.1875rem; color:#d3dae2; margin:0 0 30px; max-width:42ch; }.fin__list li { padding:28px 0; border-top:1px solid rgba(255, 255, 255, 0.2); }.fin__list li:last-child { border-bottom:1px solid rgba(255, 255, 255, 0.2); }.fin__list h3 { color:#fff; font-size:1.4rem; letter-spacing:-0.02em; margin-bottom:8px; }.fin__list p { margin:0; color:#cdd5de; }.fin .legal-note { position:relative; margin-top:48px; }.faqs { background:var(--off); }.faqs__grid { display:grid; grid-template-columns:minmax(0, 0.7fr) minmax(0, 1.3fr); gap:clamp(32px, 6vw, 110px); align-items:start; }.faqs__head { position:sticky; top:calc(var(--header-h) + 36px); }.faqs__head p { color:var(--muted); font-size:1.125rem; }.faq { border-bottom:1px solid var(--line); }.faq__item { border-top:1px solid var(--line); }.faq__item summary { list-style:none; cursor:pointer; padding:26px 64px 26px 0; font-family:var(--font-head); font-weight:700; font-size:clamp(1.2rem, 2vw, 1.55rem); letter-spacing:-0.02em; line-height:1.25; position:relative; }.faq__item summary::-webkit-details-marker { display:none; }.faq__item summary::after { content:"+"; position:absolute; right:4px; top:50%; transform:translateY(-50%); width:38px; height:38px; border-radius:50%; background:var(--coral); color:var(--graphite-deep); display:grid; place-items:center; font-size:1.5rem; line-height:1; transition:transform 0.35s var(--ease); }.faq__item[open] summary::after { transform:translateY(-50%) rotate(45deg); }.faq__item p { margin:0; padding:0 64px 28px 0; max-width:62ch; color:var(--muted); animation:rise 0.5s var(--ease); }.contact { background:var(--graphite); color:#e9edf2; overflow:hidden; }.contact__ring { position:absolute; width:min(64vw, 700px); aspect-ratio:1; left:-16%; bottom:-40%; border-radius:50%; border:clamp(40px, 6vw, 96px) solid rgba(241, 148, 157, 0.15); pointer-events:none; }.contact__grid { position:relative; display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 0.95fr); gap:clamp(32px, 6vw, 100px); align-items:center; }.contact h2 { color:#fff; max-width:11ch; }.contact__lead { font-size:1.1875rem; color:#d3dae2; max-width:36ch; margin-bottom:30px; }.contact__wa { display:inline-flex; align-items:center; gap:clamp(14px, 2.4vw, 28px); margin-top:4px; color:#fff; text-decoration:none; transition:transform 0.25s var(--ease); }.contact__wa:hover { transform:translateY(-2px); }.contact__wa img { width:clamp(96px, 15vw, 168px); height:auto; flex:none; }.contact__wa-text { display:flex; flex-direction:column; line-height:1.05; }.contact__wa-text small { font-size:clamp(0.875rem, 1.4vw, 1.0625rem); color:#d3dae2; margin-bottom:6px; }.contact__wa-text strong { font-size:clamp(1.75rem, 4.6vw, 2.75rem); font-weight:800; letter-spacing:-0.01em; white-space:nowrap; }.contact__phone { margin:14px 0 0; color:#aab4c0; font-size:0.9375rem; }.contact .lead-card { color:var(--text); }.footer { background:var(--graphite-deep); color:#c9d1da; padding:clamp(48px, 7vw, 80px) 0 40px; font-size:0.9375rem; }.footer a { color:#fff; }.footer__top { display:grid; grid-template-columns:1.1fr 1fr 1fr; gap:36px; padding-bottom:36px; border-bottom:1px solid rgba(255, 255, 255, 0.14); }.footer__logo { height:56px; width:auto; margin-bottom:14px; }.footer__partners { display:flex; gap:24px; flex-wrap:wrap; }.partner span { display:block; font-size:0.8125rem; margin-bottom:8px; color:#aab4c0; }.partner__logo { background:#fff; border-radius:12px; padding:10px 16px; display:grid; place-items:center; }.partner__logo img { height:52px; width:auto; max-width:170px; object-fit:contain; }.partner__logo--bare { background:transparent; padding:10px 0; }.partner__logo--bare img { height:44px; }.footer h2 { font-size:1.0625rem; color:#fff; letter-spacing:0; margin-bottom:10px; }.footer p { margin-bottom:6px; }.footer__legal { padding-top:28px; font-size:0.8125rem; line-height:1.65; color:#aab4c0; }.footer__legal strong { color:#fff; }.footer--slim { padding:28px 0; margin-top:60px; text-align:center; }.zoom-hint { position:absolute; right:14px; bottom:14px; background:rgba(45, 53, 64, 0.9); color:#fff; font-size:0.8125rem; font-weight:600; padding:7px 14px; border-radius:999px; }.legal { padding:calc(var(--header-h) + 48px) 0 20px; }.legal h1 { font-size:clamp(2rem, 4vw, 2.75rem); }.legal h2 { font-size:1.375rem; margin-top:2em; letter-spacing:-0.01em; }.legal ul { list-style:disc; padding-left:22px; margin-bottom:1em; }.legal li { margin-bottom:6px; }.legal__date { color:var(--muted); }.notfound { min-height:100svh; display:grid; place-content:center; justify-items:center; gap:12px; text-align:center; padding:24px; }.notfound__logo { width:220px; height:auto; }@media (max-width:1020px) {.hero__form-row { grid-template-columns:1fr 1fr; }.hero__form-row .btn { grid-column:1 / -1; }.footer__top { grid-template-columns:1fr 1fr; }.footer__brand { grid-column:1 / -1; }}@media (max-width:899px) {:root { --header-h:64px; }.burger { display:block; }.brand__logo { height:34px; }.nav { position:fixed; inset:var(--header-h) 0 auto 0; background:var(--off); flex-direction:column; align-items:stretch; gap:0; padding:12px 20px 24px; box-shadow:0 20px 40px rgba(35, 42, 51, 0.18); transform:translateY(-12px); opacity:0; visibility:hidden; transition:opacity 0.25s, transform 0.25s var(--ease), visibility 0.25s; }.nav.is-open { opacity:1; transform:none; visibility:visible; }.nav a:not(.btn) { padding:15px 4px; font-size:1.0625rem; border-bottom:1px solid var(--line); }.nav a:not(.btn)::after { display:none; }.nav__cta { margin-top:16px; }.site-header.menu-open { background:var(--off); }.hero { padding-bottom:56px; }.hero__grid { grid-template-columns:1fr; min-height:0; gap:28px; }.hero { padding-top:calc(var(--header-h) + 20px); }.hero__ring { order:-1; width:min(54vw, 236px); justify-self:center; margin-bottom:44px; }.hero__kicker { margin-bottom:14px; }.hero h1 { font-size:clamp(2.3rem, 10.4vw, 3rem); margin-bottom:16px; }.hero__sub { margin-bottom:22px; }.hero__legal { right:0; left:0; bottom:-52px; text-align:center; }.hero__cta .btn { flex:1 1 100%; }.hero__marks { margin-top:36px; }.hero__marks li { padding-right:18px; margin-right:18px; font-size:0.9375rem; }.hero__form { display:none; }.portal.is-live { height:100svh; min-height:620px; }.portal.is-live .portal__title { top:calc(var(--header-h) + 6vh); bottom:auto; width:100%; padding-inline:20px; font-size:clamp(2.3rem, 10.5vw, 3.6rem); }.portal.is-live .portal__body { right:auto; left:0; bottom:calc(5vh + 116px); width:100%; padding-inline:20px; }.portal__body p { font-size:1rem; }.facts { grid-template-columns:repeat(4, auto); gap:14px 18px; }.facts dt { font-size:1.6rem; }.facts dd { font-size:0.75rem; }.diff__grid, .plan__head, .plan__grid, .lazer__grid, .plan-site, .tech__grid, .loc__grid, .fin__grid, .faqs__grid, .contact__grid { grid-template-columns:1fr; }.diff__head, .lens, .tech__visual, .radar, .faqs__head { position:static; }.row { grid-template-columns:1fr; gap:10px; padding:26px 0; }.plan__toggle { display:flex; width:100%; }.plan__tab { flex:1; padding:12px 16px; }.plan__tab span { font-size:0.75rem; }.lens__ring { width:min(72%, 320px); margin-inline:auto; }.lazer__stage { order:-1; position:sticky; top:var(--header-h); z-index:4; background:var(--graphite); padding:12px 0 6px; }.stage__ring { width:min(58vw, 34svh, 320px); margin:0 auto; }.lazer__stage figcaption { margin:16px auto 0; text-align:center; min-height:3.2em; font-size:0.8125rem; max-height:5.5em; overflow:hidden; }.tech__visual { max-width:340px; }.radar svg { max-width:460px; margin:0 auto; }.loc__frame { aspect-ratio:4 / 3; }.faq__item p { padding-right:0; }.sticky-cta { position:fixed; left:0; right:0; bottom:0; z-index:95; display:grid; grid-template-columns:1.4fr 1fr; gap:10px; padding:10px 14px calc(10px + env(safe-area-inset-bottom)); background:rgba(250, 248, 245, 0.97); box-shadow:0 -6px 24px rgba(35, 42, 51, 0.14); transform:translateY(110%); transition:transform 0.35s var(--ease); }.sticky-cta.is-visible { transform:none; }.wa-float { display:none; }.footer { padding-bottom:96px; }.consent { bottom:86px; }}@media (max-width:560px) {.legend { columns:1; }.footer__top { grid-template-columns:1fr; }.lightbox__nav { width:44px; height:44px; }.lightbox__nav--prev { left:6px; } .lightbox__nav--next { right:6px; }.facts { grid-template-columns:repeat(2, auto); }}@media (prefers-reduced-motion:reduce) {.rise, .hero__photo, .hero__crescent { animation:none; }}.about { background:var(--off); }.about__grid { display:grid; grid-template-columns:minmax(0, 1.25fr) minmax(0, 0.75fr); gap:clamp(32px, 6vw, 96px); align-items:center; }.about h2 { max-width:16ch; }.about__copy p:not(.eyebrow) { font-size:1.125rem; color:var(--muted); max-width:58ch; }.about__facts { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:0; }.about__facts div { background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:22px 20px; box-shadow:var(--shadow-sm); }.about__facts dt { font-family:var(--font-head); font-weight:800; font-size:clamp(1.8rem, 3vw, 2.6rem); line-height:1; letter-spacing:-0.03em; color:var(--coral-strong); }.about__facts dd { margin:8px 0 0; font-size:0.9375rem; color:var(--muted); line-height:1.3; }@media (max-width:900px) { .about__grid { grid-template-columns:1fr; } }