:root{--cream:#f4f2e9;--ink:#173e34;--muted:#617369;--sage:#c4d4b4;--rule:#ccd2c7;--sans:"Segoe UI",Arial,sans-serif;--serif:Georgia,"Times New Roman",serif}
*,*::before,*::after{box-sizing:border-box}
html{background:var(--cream)}
body{margin:0;color:var(--ink);font:400 16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
::selection{background:var(--sage);color:var(--ink)}
:focus-visible{outline:3px solid var(--ink);outline-offset:6px}
.skip-link{position:fixed;top:-100px;left:20px;background:var(--ink);color:white;padding:12px 20px;z-index:10}.skip-link:focus{top:16px}
.page-shell{max-width:1600px;margin:auto;padding:0 clamp(22px,5vw,88px);min-height:100svh;display:flex;flex-direction:column}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:34px 0;border-bottom:1px solid var(--rule)}
.brand{display:inline-flex;align-items:center;gap:12px;line-height:1}.brand img{display:block;width:44px;height:44px}.brand-name{font-size:25px;font-weight:740;letter-spacing:-1.25px}.brand-name>span{font-weight:400}.brand-name small{display:block;font-size:8px;letter-spacing:2.05px;margin-top:9px;font-weight:650}
.header-note{font-size:12px;color:var(--muted)}
.hero{flex:1;display:grid;grid-template-columns:1.06fr 1fr;align-items:center;gap:clamp(35px,7vw,110px);padding:62px 0 64px}
.hero-copy{padding:12px 0}.status{display:inline-flex;align-items:center;gap:10px;font-size:9px;font-weight:650;letter-spacing:1.3px}.status i{display:block;width:7px;height:7px;border-radius:50%;background:#537651;box-shadow:0 0 0 5px #dbe3d4}
h1{font-size:clamp(50px,5.8vw,91px);font-weight:520;letter-spacing:-.07em;line-height:1.05;margin:34px 0 28px}h1 em{font-family:var(--serif);font-weight:400;letter-spacing:-.065em;display:inline-block;white-space:nowrap}
.intro{font-size:17px;font-weight:600;margin:0 0 12px;letter-spacing:-.35px}.description{max-width:395px;font-size:14px;line-height:1.9;color:var(--muted);margin:0}.divider{height:1px;width:46px;background:#97ab8c;margin:30px 0 16px}.closing{font-family:var(--serif);font-style:italic;font-size:20px;margin:0;color:#42614e}
.visual{background:var(--ink);color:var(--sage);height:clamp(460px,42vw,590px);padding:28px 30px;display:flex;flex-direction:column;border-radius:180px 180px 8px 8px;position:relative;overflow:hidden;box-shadow:12px 14px 0 #e5e8db}
.visual-top{display:flex;justify-content:space-between;gap:15px;font-size:8px;letter-spacing:1.2px;margin-top:65px;padding-bottom:18px;border-bottom:1px solid #c4d4b428;z-index:1}.visual-top span:last-child{opacity:.6}
.motion-art{position:relative;flex:1;isolation:isolate;min-height:290px}.art-orbit{position:absolute;border:1px solid #c4d4b45e;border-radius:50%;width:225px;height:330px;left:50%;top:47%;transform:translate(-50%,-50%) rotate(28deg)}.orbit-two{width:200px;height:290px;transform:translate(-50%,-50%) rotate(-28deg);border-color:#c4d4b480}.orbit-three{width:150px;height:240px;transform:translate(-50%,-50%) rotate(72deg);background:linear-gradient(150deg,#c4d4b410,#c4d4b415);border-color:#c4d4b4b0}
.art-line{position:absolute;left:50%;top:8%;bottom:8%;width:1px;background:linear-gradient(transparent,#c4d4b439,transparent);transform:rotate(28deg)}.art-dot{position:absolute;width:24px;height:24px;border-radius:50%;left:calc(50% + 75px);top:24%;background:#c4d4b4;box-shadow:0 0 35px #c4d4b43a}.art-label{position:absolute;left:19px;bottom:38px;font-size:13px;font-weight:600;line-height:1.4;letter-spacing:1.5px}
.visual-bottom{border-top:1px solid #c4d4b435;padding-top:22px;display:flex;justify-content:space-between;gap:10px;font-size:9px;letter-spacing:1.5px}.visual-bottom b{font-size:18px;margin-left:8px;font-weight:400;line-height:0}
.site-footer{border-top:1px solid var(--rule);display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;color:var(--muted);font-size:10px}.preview-link{display:inline-flex;align-items:center;gap:8px;font-size:11px;padding:6px 0}.preview-link:hover{color:var(--ink)}.preview-link svg{width:16px;height:16px}
.access-page{min-height:100svh;display:grid;place-items:center;padding:30px}.access-card{width:min(620px,100%);padding:45px;border:1px solid var(--rule);background:var(--cream)}.access-card img{width:48px;height:48px}.access-card h1{font-size:clamp(32px,6vw,52px);letter-spacing:-.045em;margin:24px 0 16px}.access-card p{color:var(--muted);font-size:15px}.access-card a{display:inline-block;margin-top:20px;border-bottom:1px solid currentColor;font-size:13px;padding:5px 0}
@media(min-width:1600px){.hero{min-height:720px}}
@media(max-width:1000px){.hero{gap:35px}h1{font-size:clamp(48px,6.3vw,66px)}.visual{padding:22px;height:470px}.visual-top{margin-top:58px;font-size:7px}.visual-bottom{font-size:8px}.art-orbit{width:190px;height:290px}.orbit-two{width:170px;height:260px}.orbit-three{width:135px;height:205px}.art-label{left:0;font-size:11px}}
@media(max-width:720px){.page-shell{padding:0 24px}.site-header{padding:25px 0}.header-note{display:none}.hero{grid-template-columns:1fr;gap:34px;padding:42px 0}.hero-copy{padding:0}.status{font-size:8px;letter-spacing:1.05px}h1{font-size:clamp(47px,10.5vw,73px);margin:27px 0 22px;letter-spacing:-.065em}.intro{font-size:15px}.description{font-size:13px;max-width:460px}.closing{font-size:18px}.divider{margin-top:24px}.visual{height:420px;max-width:450px;width:100%;margin:0 auto;box-shadow:8px 9px 0 #e5e8db;border-radius:150px 150px 6px 6px}.visual-top{margin-top:49px;font-size:8px}.visual-bottom{font-size:9px}.motion-art{min-height:255px}.art-label{bottom:24px}.site-footer{font-size:9px;padding:18px 0}.preview-link{font-size:10px}}
@media(max-width:370px){.page-shell{padding:0 18px}.brand-name{font-size:23px}h1{font-size:46px}.status{font-size:7px;letter-spacing:.7px}.site-footer{gap:12px}.visual-top{font-size:7px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Calm welcome variant */
.calm-welcome{max-width:1280px}
.calm-welcome .site-header{padding:30px 0;border-bottom:0}
.welcome-main{flex:1;display:grid;place-items:center;padding:80px 0 100px}
.welcome-content{width:min(760px,100%);text-align:center;margin:auto}
.welcome-content .status{justify-content:center;color:var(--muted)}
.welcome-content h1{font-size:clamp(50px,7vw,88px);line-height:1.04;letter-spacing:-.06em;margin:34px auto 30px}
.welcome-content h1 em{color:#456858}
.welcome-content .intro{font-size:clamp(17px,1.7vw,21px);font-weight:500;max-width:600px;margin:0 auto 18px}
.welcome-content .description{max-width:560px;margin:0 auto;font-size:15px;line-height:1.9}
.welcome-content .closing{margin:40px 0 0;font-size:20px}
.calm-welcome .site-footer{padding:20px 0}
@media(max-width:720px){.welcome-main{padding:58px 0 72px}.welcome-content{text-align:left}.welcome-content .status{justify-content:flex-start}.welcome-content h1{font-size:clamp(48px,13vw,66px);margin:28px 0 24px}.welcome-content .intro,.welcome-content .description{margin-left:0}.welcome-content .closing{margin-top:32px}.calm-welcome .site-header{padding:24px 0}}


/* ==========================================================
   Logo-based welcome page refinement
   ========================================================== */
:root{--cream:#fcfbf8;--ink:#0f2f4c;--muted:#687283;--sage:#b9ada1;--rule:rgba(15,47,76,.14)}
html,body{background:var(--cream)}
.site-header{justify-content:center;padding:34px 0 0;border-bottom:0}
.brand-full{display:flex;justify-content:center;width:100%}
.brand-logo-full{display:block;width:min(520px,72vw);height:auto;object-fit:contain}
.welcome-main{padding:58px 0 86px}
.welcome-content{width:min(760px,100%)}
.welcome-content .status{color:#8d8175;letter-spacing:.16em;font-size:10px}
.welcome-content .status i{background:#b9ada1;box-shadow:0 0 0 5px rgba(185,173,161,.18)}
.welcome-content h1{font-family:var(--sans);font-weight:500;letter-spacing:-.055em;line-height:1.04;margin:28px auto 22px;font-size:clamp(46px,6.4vw,78px)}
.welcome-content h1 em{color:#8e8277;font-style:normal;font-family:var(--sans)}
.welcome-content .intro{font-size:clamp(17px,1.65vw,21px);font-weight:500;max-width:680px;color:var(--ink)}
.welcome-content .description{max-width:600px;color:var(--muted)}
.welcome-content .closing{font-family:var(--sans);font-style:normal;font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:#8e8277}
.calm-welcome .site-footer{border-top:1px solid var(--rule);padding:20px 0;font-size:11px}
.preview-link{font-size:11px}
@media(max-width:720px){
  .site-header{padding-top:26px}
  .brand-logo-full{width:min(430px,82vw)}
  .welcome-main{padding:42px 0 66px}
  .welcome-content{text-align:center}
  .welcome-content .status{justify-content:center}
}


/* v2 welcome page visibility improvements */
.site-header{justify-content:center;padding:18px 0 0}
.brand-minimal{font-size:14px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:600}
.welcome-logo-wrap{display:flex;justify-content:center;align-items:center;margin:0 auto 26px}
.welcome-logo{display:block;width:min(720px,92vw);height:auto;object-fit:contain;filter:drop-shadow(0 10px 28px rgba(15,47,76,.05))}
.welcome-content .status{margin-top:6px}
@media(max-width:720px){
  .site-header{padding-top:14px}
  .welcome-logo-wrap{margin-bottom:20px}
  .welcome-logo{width:min(560px,96vw)}
}

/* Keep the complete welcome page inside narrow mobile viewports. */
@media(max-width:720px){
  .welcome-main{width:100%;grid-template-columns:minmax(0,1fr)}
  .welcome-content{min-width:0;max-width:100%}
  .welcome-content h1 em{white-space:normal}
}
