:root{--intro-accent:#0d6d6a;--intro-background:#f6f8f6;--intro-text:#10252b;color-scheme:light}
*{box-sizing:border-box}body{margin:0;background:var(--intro-background);color:var(--intro-text);font:17px/1.6 system-ui,sans-serif}main{max-width:1320px;margin:auto;padding:36px 48px 26px}.brand{display:inline-flex;gap:15px;align-items:center;text-decoration:none;color:inherit;font-size:23px;font-weight:650;line-height:1.05;letter-spacing:-.035em}.brand small{display:block;letter-spacing:.28em;font-size:7px;margin-top:9px;color:var(--intro-accent)}.brand-symbol{display:block;flex:none;width:42px;height:62px;color:var(--intro-accent)}.layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:1fr auto;column-gap:56px;row-gap:26px;min-height:70vh;padding:48px 0}.intro-copy{align-self:end;grid-column:1;grid-row:1;min-width:0}.eyebrow{font-size:11px;letter-spacing:.16em;color:var(--intro-accent);font-weight:700}h1{font-size:clamp(40px,4.7vw,65px);line-height:1.09;letter-spacing:-.055em;font-weight:600;margin:20px 0 25px;overflow-wrap:anywhere}h1 em{font-style:normal;color:var(--intro-accent)}.intro{max-width:550px;font-size:20px;color:#395b59;margin:0 0 18px}.building{color:#536c66;font-size:15px;margin:0}.art{grid-column:2;grid-row:1 / span 2;align-self:center;display:grid;place-items:center;margin:0;border-radius:28px;overflow:hidden;background:#fff;max-height:640px;aspect-ratio:4/5;box-shadow:0 20px 60px #183b2f06}.art img{display:block;width:100%;height:100%;max-height:640px;object-fit:contain;transform-origin:center}.entrance{grid-column:1;grid-row:2;align-self:start;border-top:1px solid #cbdcd5;padding-top:22px;max-width:550px}.form-intro{font-size:19px;line-height:1.3;margin:0 0 18px;font-weight:600;letter-spacing:-.02em}.password-row{display:flex;gap:10px;margin-top:8px;flex-wrap:wrap}label{font-size:13px;font-weight:600}input,button{font:inherit}input{min-width:140px;width:180px;flex:1;border:1px solid #99b5aa;background:white;border-radius:9px;padding:12px;min-height:49px;color:#10252b}button,.button{cursor:pointer;display:inline-flex;align-items:center;justify-content:space-between;gap:18px;border-radius:9px;border:1px solid var(--intro-accent);padding:12px 16px;font-size:14px;font-weight:600;color:white;background:var(--intro-accent);text-decoration:none;min-height:49px}button:hover,.button:hover{filter:brightness(.92)}#form-note{font-size:12px;color:#526a63;margin:10px 0 0}.error{border-left:3px solid #a14145;background:#f4e8e4;color:#842e34;padding:12px 16px;font-size:15px}.quiet{background:transparent;color:var(--intro-accent);border:0;text-decoration:underline;padding-left:0}.quiet:hover{background:transparent}footer{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #cbdcd5;padding-top:18px;color:#536c66;font-size:12px}:focus-visible{outline:3px solid #a35e20;outline-offset:4px}
/* Allow the image grid track to shrink below the portrait's intrinsic height. */
.art{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.art img{min-width:0;min-height:0}
@media(min-width:1500px){.layout{min-height:76vh}.art{max-height:690px}.art img{max-height:690px}}
@media(max-width:1000px){main{padding:28px}.layout{column-gap:32px;min-height:0;padding:40px 0}.intro{font-size:18px}h1{font-size:clamp(39px,5vw,53px)}.password-row button{width:100%}.art{align-self:center}}
@media(max-width:700px){main{padding:22px}.brand{font-size:20px}.brand-symbol{width:32px;height:48px}.layout{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;gap:23px;padding:30px 0}.intro-copy{grid-column:1;grid-row:1}h1{font-size:clamp(32px,8.2vw,44px);margin:15px 0 20px}.intro{font-size:17px;max-width:520px}.building{font-size:14px}.art{grid-column:1;grid-row:2;justify-self:center;aspect-ratio:4/5;width:min(100%,280px);height:auto;max-height:none;border-radius:20px}.art img{height:100%;width:100%;max-height:100%;max-width:100%;object-fit:contain}.entrance{grid-column:1;grid-row:3;max-width:none;padding-top:21px}.password-row{flex-direction:column}.password-row input{width:100%}footer{font-size:11px;flex-wrap:wrap;gap:7px}.eyebrow{font-size:10px}}
@media(prefers-reduced-motion:no-preference){button,.button{transition:filter .15s ease}}

:root{--intro-accent:#0d6d6a;--intro-background:#f6f8f6;--intro-text:#10252b}.art img{transform:scale(1)}
