[hidden]{display:none!important}
#photos{top:120px}.photo{background-position:50% 0%}
body>header{background:#17104cf5;padding-block:23px;row-gap:15px}
.header-right>span:first-child{font-size:16px;max-width:300px;text-align:right}
.experience-screen{min-height:100svh;padding:190px 7.5vw 100px;display:flex;align-items:center;gap:6vw}
.experience-screen h1{font-size:clamp(42px,4.8vw,74px)}
.experience-screen .intro{max-width:600px}
.experience-screen .content{max-width:700px}
.deadline{font-size:16px;color:#ffb779}
.completion-copy{flex:1;min-width:0}.completion{padding-inline:6vw;gap:5vw}
.completion h1{font-size:clamp(42px,4.4vw,68px)}
.completion .actions{align-items:stretch;gap:14px}
.completion .actions button{font-size:16px}
.outline-button{color:white;border:1px solid #ffffff99;background:transparent;padding:13px 21px;font-weight:700;border-radius:3px;min-height:48px;font-size:16px;cursor:pointer}
.outline-button:hover{background:#ffffff1a}.path-note{max-width:520px;line-height:1.55;font-size:16px;color:#eeeafc;margin-top:26px}
.album-cover{width:42%;border:0;padding:0;background:#334db5;text-align:left;color:white;box-shadow:0 18px 60px #0003;cursor:pointer}
.album-cover>img{width:100%;height:auto;display:block}.album-cover>span{display:block;padding:24px 26px}
.album-cover strong{font-size:26px;display:block;margin-bottom:8px}.album-cover>span>span{font-size:16px}
.album-cover:hover{outline:2px solid #ff7800;outline-offset:5px}
.prototype-controls{position:fixed;bottom:0;inset-inline:0;z-index:45;display:flex;align-items:center;justify-content:center;gap:18px;padding:10px 16px;background:#100938;color:#ded7fa;border-top:1px solid #ffffff30;font-size:12px}
.prototype-controls button{background:none;border:0;color:white;font-size:12px;text-decoration:underline;text-underline-offset:3px;padding:3px}
body[data-view=survey] footer{bottom:40px}
body[data-view=gallery]{background:white;color:#1c1269}
body[data-view=gallery] #photos,body[data-view=gallery] .shade{display:none}
body[data-view=gallery]>header{position:relative;color:white}
.album-nav{position:sticky;top:0;z-index:25;background:#1c1269;color:white;display:flex;justify-content:space-between;align-items:center;padding:16px 4.5vw;gap:15px;border-top:1px solid #ffffff25}
.album-nav .outline-button{border-color:#ff7800;background:#ff7800;color:#1c1269}
.text-button{background:none;border:0;color:inherit;text-align:left;padding:10px 0;font-size:16px;text-decoration:underline;text-underline-offset:4px;min-height:44px}
.album-intro{padding:55px 4.5vw 36px;display:flex;justify-content:space-between;gap:20px;align-items:end}
.album-intro h1{font-size:clamp(38px,4.4vw,70px);max-width:none;margin-bottom:14px}.album-intro p{font-size:18px;line-height:1.5;margin:0;max-width:680px}
.album-intro .eyebrow{color:#334db5}.album-year{font-size:clamp(38px,7vw,110px);font-weight:900;line-height:.95;color:#334db5}
.photo-grid{padding:0 4.5vw 45px;columns:4;column-gap:14px}
.photo-tile{position:relative;display:block;width:100%;border:0;padding:0;background:#f1f1f5;margin:0 0 14px;break-inside:avoid;cursor:zoom-in;overflow:hidden}
.photo-tile img{display:block;width:100%;height:auto;transition:transform .3s}
.photo-tile>span{position:absolute;bottom:0;left:0;right:0;background:#1c1269dd;color:white;padding:12px;font-size:14px;opacity:0;transition:opacity .2s;text-align:left}
.photo-tile:hover img{transform:scale(1.015)}.photo-tile:hover>span,.photo-tile:focus-visible>span{opacity:1}
.album-end{background:#334db5;color:white;padding:55px 7.5vw 100px;text-align:center}.album-end h2{font-size:36px}.album-end p{font-size:18px;line-height:1.5;max-width:650px;margin:0 auto 26px}
.drawing .text-button{margin-bottom:25px}.drawing form{max-width:520px}.drawing form label{display:block;margin:20px 0 8px;font-size:17px}
.drawing input[type=email],.drawing input[type=text]{display:block;width:100%;border:1px solid #ffffff80;padding:13px 15px;background:#130d45b8;border-radius:3px;color:white;font:inherit;font-size:18px}
.drawing h1{font-size:clamp(38px,4.5vw,64px)}
.photo-viewer{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;border:0;background:#0b0824f9;color:white;padding:18px 4vw;margin:0}
.photo-viewer[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:15px}
.photo-viewer::backdrop{background:#0b0824}.viewer-top,.viewer-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px}
.photo-viewer button{background:none;color:white;border:1px solid #ffffff60;border-radius:3px;font-size:16px;padding:12px 18px;min-height:46px}
#full-photo{height:100%;width:100%;object-fit:contain;min-height:0}#photo-file{font-size:14px;text-align:center}.lightbox-open{overflow:hidden}
h1:focus{outline:none}
@media(min-width:1700px){.photo-grid{columns:5}}
@media(max-width:1000px){.photo-grid{columns:3}.completion{gap:30px}.completion .actions{flex-direction:column;align-items:flex-start}.album-cover{width:40%}}
@media(max-width:760px){body>header{display:flex;gap:20px;flex-wrap:wrap;padding:22px 24px}.header-right{align-items:flex-end;margin-left:auto}.header-right>span:first-child{display:none}.header-right .prototype{max-width:115px;font-size:12px;text-align:right}.survey-progress{flex-basis:100%}.experience-screen{padding:150px 24px 90px}.completion{flex-direction:column;align-items:stretch;gap:35px}.completion .actions{align-items:stretch}.album-cover{width:100%}.completion h1{font-size:46px}.album-nav{padding:12px 20px;gap:16px;align-items:center}.album-nav .outline-button{padding:10px 13px;font-size:14px;max-width:180px}.album-nav .text-button{font-size:14px}.album-intro{padding:36px 20px 25px;align-items:start}.album-year{display:none}.album-intro h1{font-size:42px}.album-intro p{font-size:16px}.photo-grid{columns:2;padding:0 12px 30px;column-gap:9px}.photo-tile{margin-bottom:9px}.album-end{padding-inline:24px}.album-end h2{font-size:31px}.prototype-controls{gap:12px;justify-content:space-between}.prototype-controls>span{max-width:65px}.photo-viewer{padding:12px}.viewer-bottom #photo-file{display:none}.drawing .actions{align-items:flex-start;flex-direction:column}.question{padding-top:220px}body[data-view=survey] footer{bottom:50px}.prototype-controls button{min-height:28px}}
@media(prefers-reduced-motion:reduce){.photo-tile img,.photo-tile>span{transition:none}}

#album-parking[hidden]{display:none!important}.album-loading{min-height:100svh;padding:210px 7.5vw 100px}.album-loading p{max-width:650px;line-height:1.6}.drawing #drawing{margin:0;border:0;padding:0}.drawing #drawing h3{display:none}.drawing .drawing-consent{display:flex;gap:12px;align-items:flex-start;margin-block:22px}.drawing .drawing-consent input{margin-top:5px}.drawing #drawing-form .next{margin-top:10px}.gallery-error{padding:20px;background:#fff2;color:#fff;line-height:1.5}.photo-tile img{min-height:60px}.prototype-controls{display:none!important}

.photo-load-notice{padding:1rem;margin:1rem auto;max-width:72rem;background:#fff;color:#253c3d;border-radius:.5rem}.photo-load-notice button{color:inherit;border-color:currentColor;margin-left:1rem}#photo-status{position:absolute;top:48%;left:10%;right:10%;text-align:center;color:#fff;pointer-events:none}

/* Keep Safari's unloaded images from collapsing the multicolumn layout. */
.photo-tile img{min-height:0;object-fit:cover;opacity:0}
.photo-tile img[data-photo-loaded]{opacity:1}
.photo-tile:has(img:not([data-photo-loaded]))::before{content:"Loading photo…";position:absolute;inset:0;display:grid;place-items:center;color:#514979;font-size:14px;padding:12px}
.photo-tile:has(img[data-photo-error])::before{content:"Photo unavailable. Use Retry photos above."}
.photo-loading-progress{padding:0 4.5vw 20px;margin:0;color:#514979;font-size:14px}
.album-nav:empty{display:none}
