@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap');
:root{--paper:#faf3e4;--ink:#123f3f;--muted:#65746b;--coral:#eb6b50;--gold:#eeb238;--line:#d9ddca;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',system-ui,sans-serif;color-scheme:light}
*{box-sizing:border-box}html{min-height:100%;background:var(--paper)}body{margin:0;color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}body:before{content:'';position:fixed;inset:0;pointer-events:none;opacity:.16;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.25' filter='url(%23n)'/%3E%3C/svg%3E");z-index:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--coral);outline-offset:5px}button:disabled{opacity:.5;cursor:default}[hidden]{display:none!important}a{color:inherit}.site-header,.hero,.steps,.site-footer{position:relative;max-width:1320px;margin:auto}.site-header{display:flex;justify-content:space-between;align-items:center;padding:35px 64px 20px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-family:var(--serif);font-size:19px;line-height:1.08}.brand b{font-weight:600}.brand svg{height:48px;width:43px}.header-right{display:flex;gap:42px;align-items:center}.small-label,.eyebrow,.art-caption{font-size:10px;font-weight:600;letter-spacing:2.1px}.small-label{color:var(--muted)}.text-button{border:0;background:transparent;color:var(--ink);padding:10px 0;font-weight:500;font-size:13px}.text-button span{margin-left:14px}.hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;min-height:647px;padding:22px 64px 54px;gap:25px}.hero-copy{padding-bottom:12px;z-index:2}.eyebrow{display:flex;align-items:center;gap:11px;margin-bottom:23px}.mini-sun{font-size:24px;color:var(--coral);line-height:1}h1{font-family:var(--serif);font-size:clamp(55px,5.5vw,78px);font-weight:500;line-height:1.09;letter-spacing:-3.6px;margin:0 0 26px}h1 em{font-weight:500;color:var(--coral)}.intro{font-size:15px;line-height:1.85;color:#5d7167;margin:0 0 30px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:54px;padding:15px 22px;border:1px solid transparent;border-radius:7px;font-size:13px;font-weight:600;transition:transform .2s,background .2s;white-space:nowrap;text-decoration:none}.button:hover:not(:disabled){transform:translateY(-2px)}.primary{background:var(--ink);color:var(--paper);box-shadow:0 5px 15px #123f3f14}.primary:hover{background:#1c5551}.button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.button>span:last-child{margin-left:6px;font-size:18px;font-weight:400}.secondary{background:#fff7ea44;border-color:#cbd0bb;color:var(--ink)}.compatibility{display:flex;align-items:center;gap:7px;font-size:10px;color:#738174;margin-top:21px}.live-dot{display:inline-block;width:6px;height:6px;flex-shrink:0;border-radius:50%;background:#709166;box-shadow:0 0 0 3px #70916615}.separator{margin:0 4px}.desktop-note{font-size:11px;max-width:360px;line-height:1.6;color:#748074;margin:13px 0 0}.hero-art{height:545px;position:relative;display:flex;justify-content:center;align-items:center;padding-bottom:22px}.portal-preview{height:455px;width:320px;position:relative;overflow:hidden;border-radius:170px 170px 8px 8px;border:9px solid #e9b550;box-shadow:inset 0 0 0 3px #fff8e5,0 0 0 2px #bf924427,12px 14px 0 #eee2c6;transform:rotate(3deg);z-index:2}.portal-preview img{height:100%;width:100%;object-fit:cover;object-position:63% 50%;transform:scale(1.1);animation:valleyBreathe 18s ease-in-out infinite alternate}.preview-glow{position:absolute;inset:0;box-shadow:inset 0 0 22px #fff1b166;pointer-events:none}.portal-shadow{width:360px;height:33px;background:#a89a7830;filter:blur(8px);border-radius:50%;position:absolute;bottom:30px;transform:rotate(3deg)}.sun-disc{height:128px;width:128px;background:#edb73d;border-radius:50%;position:absolute;top:1px;right:2px;display:grid;place-items:center;color:#f8edbc;font-size:63px;transform:rotate(20deg)}.orbit{position:absolute;width:430px;height:430px;border:1px dashed #b1be9e;border-radius:50%;top:70px;left:0;transform:rotate(-20deg) scaleX(1.07)}.floating-tag{position:absolute;top:158px;left:-34px;display:flex;align-items:center;gap:11px;padding:14px 19px;background:#fdf9ec;border:1px solid #d9ddca;border-radius:7px;box-shadow:0 5px 22px #34483a0c;transform:rotate(-8deg);z-index:4;font-size:10px;line-height:1.7}.floating-tag b{font-weight:500}.tag-star{font-size:29px;color:var(--coral)}.hero-flowers{position:absolute;width:140px;height:220px;object-fit:contain;right:2px;bottom:49px;z-index:4;transform:rotate(12deg)}.art-caption{position:absolute;font-size:8px;bottom:0;right:35px;letter-spacing:1.5px;color:#7b8777}.steps{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);padding:32px 64px;gap:25px;max-width:1192px}.step{display:flex;gap:17px;align-items:start}.step-number{font-family:var(--serif);font-style:italic;font-size:30px;color:#c0944a;line-height:1.2}.step h2{font-size:13px;font-weight:600;margin:3px 0 8px}.step p{font-size:10px;line-height:1.6;color:var(--muted);margin:0}.site-footer{padding:23px 64px 30px;display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#809080}.site-footer .text-button{font-size:10px;color:#667c6c}
.experience{position:fixed;inset:0;background:#163e3d;z-index:20;color:var(--paper);overflow:hidden;touch-action:none}#scene{display:block;position:absolute;inset:0;width:100%!important;height:100%!important;touch-action:none}.scene-top{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:calc(env(safe-area-inset-top) + 20px) 22px 40px;background:linear-gradient(#09252599,transparent);z-index:3;pointer-events:none}.scene-top>*{pointer-events:auto}.round-button{width:44px;height:44px;border:1px solid #fff6db40;background:#133c3b70;backdrop-filter:blur(12px);border-radius:50%;color:var(--paper);display:grid;place-items:center;font-size:28px;font-weight:400}.round-button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.scene-brand{font-family:var(--serif);font-size:19px;text-align:center;text-shadow:0 2px 10px #123f3f66}.scene-brand span{display:block;font-family:var(--sans);font-size:8px;letter-spacing:2px;margin-top:7px}.scene-bottom{position:absolute;bottom:0;left:0;right:0;padding:40px 24px calc(env(safe-area-inset-bottom) + 22px);background:linear-gradient(transparent,#092c2bce);z-index:3;pointer-events:none}.scene-bottom>*{pointer-events:auto}.scene-hint{display:flex;justify-content:center;gap:14px;align-items:center;margin-bottom:20px;text-shadow:0 2px 9px #173e3b80}.hint-number{display:grid;place-items:center;width:35px;height:35px;border:1px solid #fff7de50;border-radius:50%;font-family:var(--serif);font-style:italic;font-size:20px;flex-shrink:0}.scene-hint h2{font-family:var(--serif);font-size:22px;font-weight:500;margin:0 0 5px}.scene-hint p{font-size:12px;line-height:1.5;margin:0;color:#f7f2debb;max-width:480px}.scene-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.scene-actions .primary{background:var(--paper);color:var(--ink);min-width:200px}.glass{background:#123f3f55;border:1px solid #fff5dc66;color:var(--paper);backdrop-filter:blur(10px)}.movement-tip{font-size:10px;line-height:1.5;text-align:center;color:#f7f2deaa;margin:12px auto 0;max-width:470px}.tracking-chip{position:absolute;top:calc(env(safe-area-inset-top) + 106px);left:50%;transform:translateX(-50%);display:flex;gap:9px;align-items:center;font-size:10px;border:1px solid #fff4de33;background:#143d3d99;border-radius:30px;padding:9px 14px;backdrop-filter:blur(8px);white-space:nowrap;z-index:4}.tracking-chip .live-dot{background:#f2bc47}.tracking-chip.ready .live-dot{background:#b8d18e}.loading-card{position:absolute;inset:0;background:#163e3dfa;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:30px;z-index:6;text-align:center}.loader-flower{font-size:54px;color:var(--gold);animation:spin 7s linear infinite}.loading-card h2{font-family:var(--serif);font-size:27px;font-weight:500;margin:24px 0 10px}.loading-card p{font-size:13px;color:#c5d2bb;line-height:1.6;max-width:340px}.light{color:var(--paper)}.size-control{display:flex;justify-content:center;align-items:center;gap:20px;font-size:11px;margin:0 0 18px}.size-control>div{display:flex;background:#123f3f88;border:1px solid #fff3de44;border-radius:7px;padding:3px;gap:2px}.size-control button{background:transparent;border:0;color:#fff1dc99;border-radius:4px;padding:8px 12px;font-size:10px}.size-control .selected{background:#fff3de;color:#123f3f}.motion-button{position:absolute;right:20px;top:calc(env(safe-area-inset-top) + 110px);border:1px solid #fff8e660;border-radius:22px;padding:10px 15px;background:#173e3b90;color:var(--paper);font-size:10px;z-index:5;backdrop-filter:blur(12px)}.compass{position:absolute;right:27px;top:48%;display:flex;flex-direction:column;align-items:center;text-shadow:0 2px 10px #173e3b80}.compass>span{font-size:25px}.compass small{font-size:7px;letter-spacing:1.5px;margin-top:7px}.dialog{border:1px solid #c7ccba;max-width:480px;width:calc(100% - 32px);border-radius:12px;background:var(--paper);color:var(--ink);padding:40px;box-shadow:0 25px 80px #0c353a40}.dialog::backdrop{background:#103c3b99;backdrop-filter:blur(6px)}.dialog-close{position:absolute;right:17px;top:10px;background:transparent;border:0;color:var(--ink);font-size:27px;padding:5px 10px}.dialog .eyebrow{font-size:9px;margin-bottom:15px}.dialog h2{font-family:var(--serif);font-weight:500;font-size:31px;line-height:1.2;margin:0 0 23px}.dialog p{font-size:12px;line-height:1.8;color:#5d7167}.dialog ol{padding-left:20px}.dialog li{padding-left:6px;margin-bottom:17px;font-size:13px}.dialog li p{margin:5px 0 0}.dialog .dialog-note{border-top:1px solid #d9ddca;padding-top:15px;font-size:10px}.dialog .button{width:100%;margin-top:10px}.dialog a{text-underline-offset:3px}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes valleyBreathe{to{transform:scale(1.18) translateX(-8px)}}
@media(min-width:1450px){.hero{min-height:710px}.hero-art{height:595px}.portal-preview{width:345px;height:485px}.hero-flowers{width:170px;height:260px;right:7px;bottom:60px}}
@media(max-width:1050px){.site-header{padding:28px 35px}.hero{padding:25px 35px 40px;gap:15px;min-height:585px}h1{font-size:64px}.hero-art{height:480px}.portal-preview{width:270px;height:400px}.floating-tag{left:-15px;top:130px;padding:11px 13px;font-size:9px}.hero-flowers{width:120px;height:180px;right:-10px;bottom:30px}.sun-disc{height:100px;width:100px;right:-8px}.orbit{width:340px;height:340px;top:70px}.steps{margin:0 35px;padding:28px 0;gap:20px}.site-footer{padding:20px 35px}.header-right{gap:25px}.small-label{font-size:8px}}
@media(max-width:760px){.site-header{padding:22px 24px 14px}.brand{font-size:16px}.brand svg{height:40px;width:35px}.small-label{display:none}.text-button{font-size:11px}.hero{display:flex;flex-direction:column;padding:16px 24px 30px;gap:12px;min-height:0}.hero-copy{width:100%;padding:12px 0 0}.eyebrow{font-size:8px;letter-spacing:1.8px;margin-bottom:16px;gap:8px}.mini-sun{font-size:20px}h1{font-size:61px;letter-spacing:-2.8px;margin-bottom:18px;line-height:1.06}.intro{font-size:13px;line-height:1.7;margin-bottom:23px}.desktop-break{display:none}.hero-actions{gap:9px}.button{min-height:51px;padding:14px 17px;font-size:12px;gap:9px}.hero-actions .primary{flex:1}.compatibility{font-size:9px;margin-top:15px;gap:6px}.hero-art{width:100%;height:385px;margin-top:16px;align-items:flex-start;padding-top:16px}.portal-preview{height:325px;width:229px;border-width:7px;box-shadow:9px 10px 0 #eee2c6}.floating-tag{top:116px;left:calc(50% - 167px);font-size:8px;padding:10px 11px;gap:8px}.tag-star{font-size:25px}.sun-disc{top:0;right:calc(50% - 160px);width:89px;height:89px;font-size:45px}.orbit{height:280px;width:280px;left:calc(50% - 147px);top:40px}.hero-flowers{width:113px;height:172px;right:calc(50% - 167px);bottom:45px}.portal-shadow{width:270px;bottom:32px;left:calc(50% - 135px)}.art-caption{bottom:0;right:0;left:0;text-align:center;font-size:7px;letter-spacing:1.4px}.steps{display:flex;flex-direction:column;gap:24px;padding:27px 0;margin:0 24px}.step{gap:18px}.step-number{font-size:29px;min-width:32px}.step h2{font-size:13px;margin:1px 0 6px}.step p{font-size:11px}.site-footer{padding:17px 24px 25px;font-size:8px;gap:15px}.site-footer>span{max-width:180px;line-height:1.5}.site-footer .text-button{font-size:9px}.scene-top{padding:calc(env(safe-area-inset-top) + 14px) 16px 30px}.scene-brand{font-size:17px}.round-button{width:41px;height:41px}.scene-bottom{padding:45px 18px calc(env(safe-area-inset-bottom) + 18px)}.scene-hint{gap:11px;justify-content:flex-start;margin-bottom:18px}.scene-hint h2{font-size:21px}.scene-hint p{font-size:11px;max-width:320px}.scene-actions{gap:8px}.scene-actions .button{min-width:0;flex:1;padding:14px 12px}.movement-tip{font-size:9px}.tracking-chip{top:calc(env(safe-area-inset-top) + 85px)}.motion-button{top:calc(env(safe-area-inset-top) + 127px);right:16px;font-size:9px}.dialog{padding:34px 26px}.dialog h2{font-size:28px}.size-control{gap:12px}.compass{display:none}}
@media(max-width:370px){h1{font-size:53px}.hero-actions{flex-direction:column}.compatibility{font-size:8px}.hero-art{transform:scale(.95);margin-top:0}}
@media(orientation:landscape) and (max-height:500px){.scene-top{padding-top:10px}.scene-bottom{padding-top:18px;padding-bottom:12px}.scene-hint{margin-bottom:8px;justify-content:center}.scene-hint h2{font-size:18px}.size-control{margin-bottom:8px}.movement-tip{margin-top:5px}.tracking-chip{top:18px;left:25%}.motion-button{top:76px}.scene-brand span{margin-top:4px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
