*{box-sizing:border-box}body{margin:0;color:#202924;background:#fff}button,input,a{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}[hidden]{display:none!important}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #bd263d;outline-offset:3px}
.welcome-hero{height:min(670px,72svh);min-height:360px;position:relative;isolation:isolate;color:white}.welcome-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.welcome-hero:after{content:'';position:absolute;inset:0;background:#001b241a;z-index:-1}.welcome-brand{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:40px 6%;max-width:1500px;margin:auto;text-shadow:0 2px 10px #051c29}.welcome-brand h1{font-size:72px;line-height:1.1;margin:0 0 16px;overflow-wrap:break-word}.welcome-brand p{font-size:32px;margin:0}.welcome-brand img{width:156px;height:170px;object-fit:contain;flex-shrink:0}.welcome-photo-caption{position:absolute;bottom:20px;right:6%;text-shadow:0 1px 4px #000;font-size:14px}
.welcome-actions{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;background:#123d2d;padding:12px 5%;border-bottom:3px solid #e4c457}.welcome-actions button{min-height:48px;padding:10px 18px;display:flex;align-items:center;justify-content:center;gap:10px;color:white;background:transparent;border:0;border-radius:6px;font-weight:700}.welcome-actions button:hover{background:#ffffff1a}#guestOpen{grid-column:2}#directorOpen{grid-column:3;justify-self:end;font-size:14px}.welcome-actions svg,.icon-button svg{width:22px;height:22px}
.welcome-experience{padding:38px 6% 50px;max-width:1500px;margin:auto}.welcome-experience h2{font-size:30px;margin:0 0 16px}.welcome-experience>p{font-size:22px;line-height:1.55;max-width:920px;margin:0}.welcome-interests{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:32px;border-top:1px solid #c6d0c9;padding-top:22px}.welcome-interests h3{font-size:18px;margin:0;font-weight:500}.welcome-footer{padding:24px 6%;background:#f0f4f2;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:15px}
dialog{color:#202924;background:white;border:1px solid #cad1cc;border-radius:8px;padding:0;width:min(440px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow:auto;box-shadow:0 18px 70px #0004}dialog::backdrop{background:#10231c99}dialog form{padding:24px}dialog header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}dialog h2{font-size:23px;line-height:1.3;margin:0}label{display:grid;gap:8px;font-size:15px;font-weight:700;margin-bottom:18px}input{min-width:0;width:100%;font-size:16px;min-height:48px;padding:10px 12px;border:1px solid #81918a;border-radius:5px;background:#fff;color:#18251e}.password-input{display:flex;align-items:center;gap:4px}.icon-button{border:0;background:transparent;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;border-radius:5px;color:#153d2c}.icon-button:hover{background:#eaf0ed}.primary{background:#164d35;color:white;border:0;border-radius:5px;min-height:48px;padding:12px 18px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px}#loginSubmit{width:100%}.login-privacy{font-size:13px;line-height:1.5;color:#34483d}.form-error{color:#a3162e;font-size:15px;line-height:1.5}.form-error:empty{display:none}
@media(max-width:760px){.welcome-brand{padding:26px 20px;gap:12px}.welcome-brand h1{font-size:40px}.welcome-brand p{font-size:23px;line-height:1.4}.welcome-brand img{width:90px;height:105px}.welcome-hero{height:64svh;min-height:330px;max-height:560px}.welcome-actions{grid-template-columns:1fr auto;padding:10px 12px;gap:4px}#guestOpen{grid-column:1;justify-self:start}#directorOpen{grid-column:2;padding:10px}.welcome-experience{padding:28px 20px}.welcome-experience h2{font-size:26px}.welcome-experience>p{font-size:20px}.welcome-interests{gap:18px;grid-template-columns:1fr}.welcome-footer{padding:22px 20px}dialog form{padding:20px}}
@media(max-width:360px){.welcome-brand h1{font-size:34px}.welcome-brand img{width:72px;height:90px}.welcome-brand p{font-size:20px}.welcome-actions button{font-size:14px;padding:10px 8px}}
.welcome-brand #directorOpen{border:0;padding:0;background:transparent;border-radius:6px;display:block;flex-shrink:0;cursor:pointer}
.welcome-brand #directorOpen img{display:block}
.welcome-actions{display:flex;justify-content:center}
.welcome-actions #guestOpen{justify-self:center}
