:root{color-scheme:light;--paper:#eeebe3;--ink:#38392f;--coral:#e85e38;--muted:#68695d}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Avenir Next',Avenir,'Helvetica Neue',Arial,sans-serif;min-height:100svh;display:flex;flex-direction:column}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid #a83e23;outline-offset:6px}.paper{position:fixed;inset:0;pointer-events:none;z-index:5;opacity:.09;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='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%237b694e' filter='url(%23n)' opacity='.7' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}header{display:flex;align-items:center;justify-content:space-between;padding:35px 4.5vw;position:relative;z-index:6}.logo img{width:120px;height:auto;display:block}.contact-link{background:none;border:0;font-size:13px;padding:10px 0}.contact-link span{margin-left:26px;font-size:20px}main{flex:1;position:relative;display:flex;flex-direction:column;justify-content:center;min-height:650px;padding:45px 0 38px}.heading{position:relative;z-index:2;text-align:center;padding:0 22px}.eyebrow{font-family:'Courier New',monospace;font-size:10px;letter-spacing:.17em;font-weight:500;margin:0 0 28px}h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(42px,5.4vw,82px);line-height:1.08;letter-spacing:-.055em;margin:0} .light-field{position:relative;width:100%;height:280px;margin:6px 0 0;overflow:hidden;isolation:isolate}.ambient{position:absolute;width:44%;height:210px;top:30px;border-radius:50%;filter:blur(45px);opacity:.35;background:radial-gradient(ellipse,#faab75,transparent 65%)}.ambient-left{left:0}.ambient-right{right:0}.scan-line{position:absolute;left:7%;right:7%;height:1px;top:50%;background:linear-gradient(90deg,transparent,#cc8f6d66 20%,#c27b5b88 50%,#cc8f6d66 80%,transparent)}.scan-grain{position:absolute;inset:30px 4%;background:repeating-linear-gradient(0deg,transparent 0 3px,#e7bba21a 3px 4px);mask-image:radial-gradient(ellipse,#000,transparent 70%)}.traveller{position:absolute;top:50%;left:50%;width:0;height:0;animation:travel 12s cubic-bezier(.42,0,.22,1) infinite;--direction:1}.traveller.left{--direction:-1}.orb{position:absolute;width:76px;height:76px;border-radius:50%;left:-38px;top:-38px;background:radial-gradient(circle,#fff7cf 0%,#ffc173 10%,#ff7843 26%,#ed572e66 48%,#ed572e00 72%);filter:blur(3px);box-shadow:0 0 42px 9px #f6884333;animation:breathe 12s ease-in-out infinite}.beam{position:absolute;width:145px;height:190px;top:-95px;left:-72px;background:radial-gradient(ellipse,#ef733788,transparent 65%);filter:blur(17px);transform:scaleX(.55);opacity:.7}.centre-glow{position:absolute;left:calc(50% - 180px);top:calc(50% - 115px);width:360px;height:230px;background:radial-gradient(ellipse,#ff9e4b66,transparent 65%);filter:blur(18px);animation:merge 12s ease-in-out infinite}.ribs{position:absolute;inset:12px 0;background:repeating-linear-gradient(90deg,#eeebe300 0px,#eeebe300 7px,#eeebe349 8px,#fff8e947 9px,#eeebe300 11px);mask-image:radial-gradient(ellipse,#000 10%,transparent 68%);opacity:.65;pointer-events:none}.coordinates{position:absolute;bottom:8px;left:12%;right:12%;display:flex;justify-content:space-between;color:#787367;font-family:'Courier New',monospace;font-size:9px;letter-spacing:.13em}.invitation{text-align:center;position:relative;z-index:6;margin-top:24px}.invitation p{font-size:13px;color:var(--muted);margin:0 0 20px}.glass-button{border:1px solid #fff8;border-radius:40px;background:linear-gradient(150deg,#fff8,#f3e6d666);box-shadow:inset 0 0 0 3px #fff3,inset 0 -2px 3px #b7ad9755,0 5px 15px #574a3210;padding:16px 24px;font-size:13px;min-width:180px;transition:background .2s,transform .2s}.glass-button:hover{background:#fff9;transform:translateY(-2px)}.glass-button span{margin-left:35px}footer{padding:26px 4.5vw;display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.06em;position:relative;z-index:6;color:#626459}.motion-toggle{font-size:10px;background:none;border:0;padding:10px;color:inherit}.motion-toggle span{margin-left:8px}dialog{padding:8px;border:1px solid #fff9;border-radius:27px;background:linear-gradient(130deg,#fff9,#dfdbd0a6 35%,#fff9 60%,#c8c0b6a6);box-shadow:inset 0 0 0 2px #f8f5eaaa,inset 0 0 0 4px #b1a58a44,0 25px 110px #3c302333;width:min(470px,calc(100% - 32px));max-height:calc(100svh - 32px);backdrop-filter:blur(25px);color:var(--ink)}dialog::backdrop{background:#5d57402b;backdrop-filter:blur(9px)}.glass-panel{padding:36px 32px 28px;border:1px solid #fff9;border-radius:19px;background:linear-gradient(140deg,#f5f1e9f5,#eee6dbed);box-shadow:inset 0 0 0 2px #fff5,0 0 0 1px #96836522}.close{position:absolute;right:23px;top:19px;border:0;background:none;font-size:27px;padding:2px 8px}.glass-panel .eyebrow{font-size:9px;margin-bottom:16px}h2{font-family:Georgia,serif;font-size:42px;letter-spacing:-.05em;font-weight:400;margin:0 0 9px}#contact-intro{font-size:13px;color:var(--muted);margin:0 0 26px}label{display:block;font-size:11px;margin:0 0 17px}input,textarea{display:block;width:100%;border:1px solid #aca18d66;border-radius:8px;background:#fff5;padding:11px 12px;margin-top:7px;outline-offset:3px;color:var(--ink);font-size:16px}textarea{resize:vertical;min-height:90px;max-height:220px}input:focus,textarea:focus{outline:2px solid #b8593a}.privacy{font-size:10px;line-height:1.5;color:var(--muted);margin:0 0 17px}.send{width:100%;border:1px solid #b84b2b;background:#ba4b2c;color:#fff7f0;border-radius:9px;padding:14px 16px;font-size:13px;display:flex;justify-content:space-between}.send:disabled{opacity:.65;cursor:wait}.direct-email{display:block;text-align:center;font-size:11px;margin-top:18px;text-decoration:underline;text-underline-offset:3px}.status{font-size:12px;line-height:1.6;margin:12px 0 0}.status:empty{display:none}.trap{position:absolute;left:-10000px}.paused .traveller,.paused .orb,.paused .centre-glow{animation-play-state:paused}@keyframes travel{0%,100%{transform:translateX(calc(var(--direction) * 34vw))}36%,64%{transform:translateX(0)}}@keyframes breathe{0%,28%,74%,100%{transform:scale(.75);opacity:.85}40%,60%{transform:scale(1.12);opacity:1}50%{transform:scale(.88);opacity:.85}}@keyframes merge{0%,25%,78%,100%{opacity:0;transform:scale(.8)}40%,60%{opacity:1;transform:scale(1.1)}50%{opacity:.65;transform:scale(.9)}}@media(min-height:950px){main{gap:22px}.light-field{height:320px}}@media(max-width:600px){header{padding:26px 24px}.logo img{width:102px}.contact-link{font-size:12px}.contact-link span{margin-left:14px}main{min-height:560px;padding-top:35px}.eyebrow{font-size:8px;letter-spacing:.12em;margin-bottom:24px}h1{font-size:clamp(39px,9vw,54px)}.light-field{height:240px;margin-top:8px}.coordinates{left:24px;right:24px;font-size:7px}.invitation{margin-top:30px}footer{padding:22px 24px;gap:20px;flex-wrap:wrap;font-size:8px}.motion-toggle{font-size:9px;order:3;width:100%;padding:0}.glass-panel{padding:34px 22px 24px}.glass-panel h2{font-size:38px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.traveller{transform:none}.centre-glow{opacity:.6}.motion-toggle{display:none}}

/* Smooth glass slab contact panel. */
dialog{padding:0;border:1px solid #ffffff80;border-radius:22px;background:linear-gradient(135deg,#fffaf04d,#eee7dc33);box-shadow:0 24px 90px #3c30232b;backdrop-filter:blur(24px) saturate(1.12);-webkit-backdrop-filter:blur(24px) saturate(1.12)}
dialog::backdrop{background:#514b3820;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.glass-panel{border:0;border-radius:inherit;background:transparent;box-shadow:none}

/* Matching pale-white contact actions and brighter glass form. */
.glass-button{background:linear-gradient(145deg,#ffffffeb,#ffffffb8);font-weight:700;text-align:center;display:inline-flex;align-items:center;justify-content:center;border-color:#fffffff2;box-shadow:inset 0 0 0 3px #ffffff40,inset 0 -2px 3px #c4c0b533,0 5px 15px #574a3210}
.glass-button:hover{background:#fffffff2}
dialog{background:linear-gradient(135deg,#ffffffb8,#ffffff8c);border-color:#ffffffcc}
.glass-panel input,.glass-panel textarea{background:#ffffffe6;border-color:#ffffffeb;box-shadow:0 1px 4px #564d3610}
@media(max-width:600px){header .glass-button{min-width:140px;padding:13px 18px;font-size:12px}}
/* The shared light turns green during the joined breathing phase. */
.orb,.beam,.centre-glow{--joined:0}
.orb::after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle,#f4ffd8 0%,#c8f596 10%,#62b66e 24%,#79bc7b66 43%,#a6cea533 60%,#c4ddba0d 76%,#c4ddba00 90%);opacity:var(--joined)}
.orb{background:radial-gradient(circle,#fff7cf 0%,#ffc173 10%,#ff7843 26%,#ed572e66 48%,#ed572e00 72%);animation:breathe 12s ease-in-out infinite,joined-colour 12s ease-in-out infinite;box-shadow:none}
.beam{animation:joined-colour 12s ease-in-out infinite;background:radial-gradient(ellipse,#ef733788,transparent 65%)}
.beam::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse,#67b46b,transparent 65%);opacity:var(--joined)}
.centre-glow{background:radial-gradient(ellipse,#a2cf9370,transparent 68%)}
@property --joined{syntax:'<number>';inherits:true;initial-value:0}
@keyframes joined-colour{0%,29%,73%,100%{--joined:0}38%,64%{--joined:1}}
.paused .beam{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.orb,.beam{--joined:1}}

/* Crossfade the colours rather than layering green over orange. */
.orb,.beam{background:none}
.orb::before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle,#fff7cf 0%,#ffc173 10%,#ff7843 26%,#ed572e66 48%,#ed572e00 72%);opacity:calc(1 - var(--joined))}
.beam::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse,#ef733788,transparent 65%);opacity:calc(1 - var(--joined))}
.beam::after{background:radial-gradient(ellipse,#8cc08480,transparent 68%)}

/* Enlarge the joined green pulse while retaining the moving orange dot size. */
.orb::before,.orb::after{transform:scale(calc(1 + var(--joined) * .40))}
/* Keep the connecting line in step with the dots' colour cycle. */
.scan-line{background:none;animation:joined-colour 12s ease-in-out infinite}
.scan-line::before,.scan-line::after{content:"";position:absolute;inset:0}
.scan-line::before{background:linear-gradient(90deg,transparent,#cc8f6d66 20%,#c27b5b88 50%,#cc8f6d66 80%,transparent);opacity:calc(1 - var(--joined))}
.scan-line::after{background:linear-gradient(90deg,transparent,#79ad7866 20%,#579b6288 50%,#79ad7866 80%,transparent);opacity:var(--joined)}
.paused .scan-line{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.scan-line{--joined:1}}

.founder-link{font-size:13px;font-weight:700;padding:10px 0;text-underline-offset:4px}
.founder-link:hover{text-decoration:underline}
@media(max-width:600px){.founder-link{font-size:12px}}
/* Reveal a white pill behind the founder link on hover or keyboard focus. */
.founder-link{position:relative;isolation:isolate}
.founder-link::before{content:"";position:absolute;inset:-3px -18px;z-index:-1;border-radius:999px;background:linear-gradient(145deg,#ffffffeb,#ffffffb8);border:1px solid #fffffff2;box-shadow:inset 0 0 0 3px #ffffff40,0 5px 15px #574a3210;opacity:0;transform:scale(.94);transition:opacity .22s ease,transform .22s ease;pointer-events:none}
.founder-link:hover,.founder-link:focus-visible{text-decoration:none}
.founder-link:hover::before,.founder-link:focus-visible::before{opacity:1;transform:scale(1)}
