:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:#1b1d20;background:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--brand-green:#176f65;--brand-green-hover:#10574f}
*{box-sizing:border-box}
/* The artwork takes the space left after the header and copy. Short or zoomed
   windows may grow vertically so text and the login control stay accessible. */
body{margin:0;height:100vh;height:100svh;display:flex;flex-direction:column}
a{color:inherit}
.skip-link{position:absolute;top:12px;left:20px;z-index:20;padding:10px 14px;background:#fff;transform:translateY(-180%)}.skip-link:focus{transform:none}
.home-header{height:104px;padding:0 clamp(24px,4.2vw,72px);display:flex;align-items:center;justify-content:space-between;gap:24px;position:relative;z-index:2;background:#fff;flex:none}
.home-brand{display:block;line-height:0;flex:none}.home-brand img{display:block;width:285px;max-width:40vw;height:auto}
.login-button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:66px;padding:16.5px 39px;border-radius:999px;background:var(--brand-green);color:#fff;text-decoration:none;font-size:22.5px;font-weight:650;white-space:nowrap;transition:background .15s,transform .15s}
.login-button:hover{background:var(--brand-green-hover);transform:translateY(-1px)}a:focus-visible{outline:3px solid var(--brand-green);outline-offset:5px}
main{flex:1;display:flex}
.home-hero{width:100%;display:flex;flex-direction:column;text-align:center}
.hero-copy{position:relative;z-index:1;padding:8px 24px 0;width:100%;max-width:1300px;margin:0 auto;flex:none}
.hero-copy h1{font-size:clamp(36px,min(5.2vw,7.2vh),80px);font-size:clamp(36px,min(5.2vw,7.2svh),80px);font-weight:750;line-height:1.01;letter-spacing:-.055em;margin:0 auto clamp(12px,1.8vh,20px);text-wrap:balance}
.hero-copy h1>span{display:block}.brand-accent{color:var(--brand-green)}
.hero-copy p{max-width:960px;margin:0 auto;font-size:clamp(16px,min(1.4vw,2.2vh),21px);font-size:clamp(16px,min(1.4vw,2.2svh),21px);line-height:1.45;letter-spacing:-.018em;color:#66686d;font-weight:400}
.hero-art{position:relative;flex:1;min-height:180px;width:100%;max-width:1920px;margin:0 auto}
.hero-art img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.home-footer{flex:none;color:#6b6c70;font-size:11px;line-height:14px;padding:4px clamp(24px,4.2vw,72px) 8px}
@media(max-width:800px){
 .home-header{height:96px;padding:0 22px;gap:20px}.home-brand img{width:240px;max-width:42vw}
 .header-login{font-size:19.5px;padding:13.5px 28.5px;min-height:60px;gap:14px}
 .hero-copy{padding:8px 22px 0}.hero-copy h1{font-size:clamp(32px,min(7.4vw,6.4svh),56px);line-height:1.04;letter-spacing:-.05em;margin-bottom:14px}
 .hero-copy p{max-width:600px;font-size:clamp(15px,2.2svh,17px);line-height:1.45}
 .hero-art{min-height:130px}
}
@media(max-width:420px){
 .home-header{height:84px;padding:0 16px;gap:10px}.home-brand img{width:219px;max-width:42vw}.header-login{font-size:18px;padding:12px 22px;min-height:56px;gap:10px}
 .hero-copy{padding:4px 20px 0}.hero-copy h1{font-size:clamp(28px,7.8vw,32px);margin-bottom:12px}.hero-copy p{font-size:15px}
}
@media(max-height:600px) and (min-width:801px){
 .home-header{height:84px}.home-brand img{width:240px}.header-login{min-height:56px;font-size:20px;padding:12px 30px}
 .hero-copy{padding-top:4px}.hero-copy h1{font-size:clamp(30px,6.6svh,39px);margin-bottom:10px}.hero-copy p{max-width:1040px;font-size:15px;line-height:1.4}
 .hero-art{min-height:140px}
}
@media(prefers-reduced-motion:reduce){.login-button{transition:none}.login-button:hover{transform:none}}
