/* Small, factual destination pages, using the world's palette and atmosphere. */
:root{color-scheme:dark;--cream:#f0f0e5;--soft:#b5c5be;--gold:#c4bc96;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;background:#10272d;color:var(--cream);font-synthesis:none;-webkit-font-smoothing:antialiased;}
*{box-sizing:border-box;}html,body{margin:0;min-width:320px;min-height:100%;}body{background:radial-gradient(ellipse at 75% 14%,rgba(124,157,144,.09),transparent 48%),linear-gradient(145deg,#163137,#10232a 60%,#0c1c24);font-weight:350;}a{color:inherit;}a:focus-visible,button:focus-visible{outline:2px solid #e5d1a0;outline-offset:5px;}button,a{-webkit-tap-highlight-color:transparent;}[hidden]{display:none!important;}.portal-page{position:relative;min-height:100svh;display:flex;flex-direction:column;overflow:hidden;isolation:isolate;}.page-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:2rem clamp(1.4rem,5vw,5rem);}.monogram{display:grid;place-items:center;width:44px;height:44px;border:1px solid #708780;border-radius:50%;font-size:.72rem;letter-spacing:.13em;text-decoration:none;}.home-link{display:flex;align-items:center;gap:.7rem;min-height:44px;color:#c0d0c8;font-size:.72rem;letter-spacing:.02em;text-decoration:none;}.home-link:hover{color:white;}.page-main{width:100%;max-width:1350px;margin:auto;padding:4rem clamp(1.5rem,8vw,8rem) 5rem;}.page-eyebrow{margin:0 0 1.7rem;color:var(--gold);font-size:.65rem;line-height:1.6;letter-spacing:.25em;text-transform:uppercase;}.page-main h1{max-width:100%;margin:0;font-size:clamp(3.8rem,10vw,9.4rem);font-weight:500;letter-spacing:-.065em;line-height:1;overflow-wrap:anywhere;}.page-main .lead{max-width:590px;margin:2rem 0 0;font-size:clamp(1.14rem,2.1vw,1.8rem);line-height:1.5;letter-spacing:-.015em;color:#e4e9df;}.page-main .description{max-width:550px;margin:1.3rem 0 0;color:var(--soft);font-size:.94rem;line-height:1.9;}.service-list{max-width:650px;display:flex;flex-wrap:wrap;gap:.7rem 1.6rem;margin:2rem 0 0;padding:0;list-style:none;}.service-list li{display:flex;align-items:center;gap:.6rem;color:#c5d1c6;font-size:.77rem;line-height:1.5;}.service-list li:before{content:"";width:3px;height:3px;background:#bfb889;border-radius:50%;}.page-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:3rem;}.page-actions a{display:flex;align-items:center;justify-content:space-between;gap:1.3rem;min-height:54px;padding:.9rem 1.3rem;border:1px solid #83917c;border-radius:5px;background:#d3d0ad;color:#142a2d;text-decoration:none;font-size:.8rem;line-height:1.5;font-weight:500;transition:background .2s,border-color .2s;}.page-actions a:nth-child(2){background:transparent;color:#e4e8db;border-color:#536c65;}.page-actions a:hover{background:#e5dfba;}.page-actions a:nth-child(2):hover{background:rgba(202,211,183,.07);border-color:#a6ae92;}.page-contact-note{margin:1rem 0 0;color:#94aba1;font-size:.67rem;line-height:1.7;}.page-footer{display:flex;justify-content:space-between;gap:1.5rem;padding:1.4rem clamp(1.5rem,5vw,5rem) 1.8rem;border-top:1px solid rgba(220,230,212,.1);color:#a4b9ad;font-size:.66rem;line-height:1.7;}.page-footer p{margin:0;}.page-footer a{text-decoration:none;}.page-footer a:hover{text-decoration:underline;}.page-art{position:absolute;z-index:-1;right:-15%;top:10%;width:70vw;height:70vw;max-width:950px;max-height:950px;border:1px solid rgba(186,206,190,.055);border-radius:50%;transform:rotate(-22deg);pointer-events:none;}.page-art:before,.page-art:after{content:"";position:absolute;inset:10%;border:1px solid rgba(186,206,190,.07);border-radius:50%;}.page-art:after{inset:20%;}.page-art .horizon{position:absolute;inset:50% 0 auto;border-top:1px solid rgba(186,206,190,.075);}.topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:760px;gap:0 2rem;margin-top:2.6rem;}.topic-grid p{padding:.9rem 0;border-top:1px solid #39554f;color:#ccdad0;font-size:.83rem;margin:0;line-height:1.5;}.lab-art{border-radius:0;transform:perspective(650px) rotateY(-25deg) rotateZ(-14deg);background:repeating-linear-gradient(0deg,transparent 0 89px,rgba(186,206,190,.035) 90px 91px),repeating-linear-gradient(90deg,transparent 0 89px,rgba(186,206,190,.035) 90px 91px);}.lab-art:before,.lab-art:after{border-radius:0;}.universe-page{background:radial-gradient(ellipse at 75% 50%,#16222e,transparent 65%),#070f1b;}.universe-page[data-atmosphere="dawn"]{background:radial-gradient(ellipse at 80% 80%,#655247,transparent 65%),#172633;}.universe-page .page-main{padding-right:40%;}.cosmos-window{position:absolute;z-index:-1;right:0;top:18%;width:60vw;height:65vh;pointer-events:none;overflow:hidden;opacity:.85;}.cosmos-stars{position:absolute;inset:0;background-image:radial-gradient(circle,#d7e0df 0 .7px,transparent 1.3px),radial-gradient(circle,#b9d0da 0 1px,transparent 1.5px);background-size:73px 83px,117px 139px;background-position:11px 17px,43px 66px;mask-image:radial-gradient(ellipse,black,transparent 70%);animation:stars-breathe 9s ease-in-out infinite alternate;}.cosmos-orbit{position:absolute;left:20%;top:23%;width:62%;height:48%;border:1px solid rgba(198,180,143,.3);border-radius:50%;transform:rotate(-25deg);box-shadow:0 0 20px rgba(146,163,187,.025),inset 0 0 20px rgba(146,163,187,.025);}.cosmos-orbit:before,.cosmos-orbit:after{content:"";position:absolute;inset:8%;border:1px solid rgba(146,165,190,.16);border-radius:50%;transform:rotate(48deg);}.cosmos-orbit:after{transform:rotate(-40deg);inset:-10% 25%;}.cosmos-center{position:absolute;left:calc(51% - 4px);top:calc(47% - 4px);width:8px;height:8px;border-radius:50%;background:#cbd2ca;box-shadow:0 0 40px 15px rgba(182,190,184,.15);}.universe-controls{display:flex;gap:.6rem;flex-wrap:wrap;margin:2rem 0 0;}.universe-controls button{min-height:44px;padding:.6rem 1rem;border:1px solid #4a605f;border-radius:50px;background:transparent;color:#c7d7d1;font:400 .72rem/1.4 inherit;cursor:pointer;}.universe-controls button[aria-pressed="true"]{border-color:#c0b68f;background:rgba(181,175,149,.1);color:#f0e9d0;}.universe-controls button:hover{border-color:#c0b68f;}.universe-caption{font-size:.66rem;color:#9cafa9;margin-top:1rem;line-height:1.7;}.universe-page[data-paused="true"] .cosmos-stars{animation-play-state:paused;}@keyframes stars-breathe{from{opacity:.45;transform:translateY(0)}to{opacity:.85;transform:translateY(-8px)}}
@media(max-width:700px){.page-header{padding:1.4rem;}.page-main{padding:3rem 1.5rem 4rem;}.page-main h1{font-size:clamp(3.4rem,15vw,5.5rem);}.page-main .lead{font-size:1.22rem;margin-top:1.6rem;}.page-main .description{font-size:.86rem;}.page-eyebrow{font-size:.58rem;letter-spacing:.18em;}.page-actions{margin-top:2.2rem;}.page-actions a{font-size:.76rem;min-height:54px;}.page-art{top:8%;right:-65%;width:120vw;height:120vw;}.page-footer{padding:1.2rem 1.5rem 1.4rem;flex-direction:column;gap:.5rem;font-size:.61rem;}.service-list{gap:.7rem 1.1rem;}.topic-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem;}.topic-grid p{font-size:.75rem;}.universe-page .page-main{padding-right:1.5rem;padding-top:10rem;}.cosmos-window{width:110vw;height:340px;top:0;right:-25%;opacity:.55;}.cosmos-orbit{width:70%;height:55%;}.universe-page .page-main h1{font-size:15vw;}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;}.cosmos-stars{opacity:.65;}}

/* Arrival is one deliberate gesture; the page is static after it settles. */
.page-eyebrow{animation:page-arrive 900ms cubic-bezier(.16,1,.3,1) 80ms both;}
.page-main h1{animation:page-title-arrive 1200ms cubic-bezier(.16,1,.3,1) 150ms both;}
.page-main .lead{animation:page-arrive 1000ms cubic-bezier(.16,1,.3,1) 260ms both;}
.page-main .description,.service-list,.topic-grid{animation:page-arrive 1000ms cubic-bezier(.16,1,.3,1) 350ms both;}
.page-actions{animation:page-arrive 1000ms cubic-bezier(.16,1,.3,1) 430ms both;}
.page-actions a{border-radius:3px;transition:background 220ms ease,border-color 220ms ease,transform 220ms ease;}
.page-actions a:hover{transform:translateY(-2px);}
.page-actions a span{display:inline-block;transition:transform 220ms ease;}
.page-actions a:hover span{transform:translate(2px,-2px);}
@keyframes page-arrive{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes page-title-arrive{from{opacity:0;transform:translateY(28px);filter:blur(5px);clip-path:inset(0 0 35% 0)}to{opacity:1;transform:none;filter:blur(0);clip-path:inset(0 0 -4% 0)}}
@media(prefers-reduced-motion:reduce){.page-actions a:hover,.page-actions a:hover span{transform:none;}}
