/* The real-photo album: wood, brass corners and warmly worn paper. */
.album-page{--night:#25372a;--night-deep:#111f19;--accent:#e5b968;--parchment:#eeddba;background:radial-gradient(ellipse at 82% 2%,#68562d70,transparent 33%),radial-gradient(ellipse at 10% 70%,#495a3270,transparent 35%),repeating-linear-gradient(89deg,#1c31251a 0 4px,#0e1c1621 5px 8px),#172a21;overflow-x:clip}
.album-page .masthead{background:transparent}
.album-page .preview-note{background:#0a1713}
.album-woodland{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;background-image:radial-gradient(circle at 8% 23%,#e1bb7870 0 1px,transparent 2px),radial-gradient(circle at 82% 8%,#c39f6140 0 1px,transparent 2px);background-size:251px 317px,361px 281px}
.album-branch{position:absolute;top:0;bottom:0;height:100%;width:240px;min-height:850px;opacity:.4;color:#c1944c}
.album-branch.left{left:-80px}.album-branch.right{right:-80px;transform:scaleX(-1)}
.album-branch .branch-line{stroke:#b99252;stroke-width:2.5;fill:none}
.album-branch use{fill:#756b37;stroke:#d7b265;stroke-width:1.4}
.album-intro{position:relative;max-width:940px;text-align:center;margin:auto;padding:30px 30px 80px}
.album-back{display:inline-flex;align-items:center;justify-content:center;gap:12px;color:#ebd9ad;font-size:.83rem;font-weight:700;text-decoration-thickness:1px;text-decoration-color:#ad955a;min-height:44px}
.album-ornament{display:flex;align-items:center;gap:24px;max-width:330px;margin:21px auto 24px;font-family:Georgia,serif;color:#d5aa64;font-size:42px;line-height:1}
.album-ornament span{height:1px;flex:1;background:linear-gradient(90deg,transparent,#be9457)}
.album-ornament span:last-child{transform:rotate(180deg)}
.album-intro .eyebrow{color:#e6bd7b;font-size:.73rem;letter-spacing:.2em;margin-bottom:20px}
.album-intro h1{font-size:clamp(3.4rem,7vw,6.6rem);font-weight:500;line-height:.99;letter-spacing:-.04em;text-shadow:0 3px 18px #0006}
.album-intro h1 em{color:#e9be7c}
.album-intro-copy{margin:27px auto 0;font-size:1.06rem;line-height:1.75;color:#e2dac1}
.album-archive{margin:24px auto 0;font-size:.78rem;color:#bfbfa0;max-width:60ch}
.album-archive strong{display:block;font-weight:700;color:#d5d1b7}
.album-book{position:relative;isolation:isolate;max-width:1240px;width:calc(100% - 130px);margin:0 auto;padding:100px 48px 45px;border:12px solid #66482d;border-image:linear-gradient(100deg,#342b1d,#8e6840 2%,#493021 4%,#9c7944 8%,#67402a 10%,#432d21 94%,#ad8150 98%,#37281c) 1;color:#45391f;background:radial-gradient(ellipse at 2% 14%,#b586342e,transparent 32%),radial-gradient(ellipse at 99% 90%,#ae813d32,transparent 40%),repeating-linear-gradient(0deg,#bd96610a 0 1px,transparent 1px 5px),#eee0bc;box-shadow:0 28px 90px #0007,inset 0 0 28px #9a723c66;outline:1px solid #b28b50;outline-offset:3px}
.album-book:before{content:'';position:absolute;inset:10px;border:1px solid #ae875273;pointer-events:none;z-index:-1}
.album-book:after{content:'';position:absolute;left:50%;top:10px;bottom:10px;width:42px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,#93704b0c 35%,#704a271a 50%,#fffbec40 55%,transparent);pointer-events:none;z-index:-1}
.book-top{position:absolute;left:48px;right:48px;top:-41px;display:grid;grid-template-columns:1fr 100px 1fr;align-items:center;gap:30px}
.book-label{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.3rem;font-weight:600;color:#64502e;padding-top:84px;line-height:1.2}
.book-label-right{text-align:right}
.book-seal{width:96px;height:96px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 35% 25%,#b06b42,#7c3524);border:6px double #c58c53;border-radius:49% 44% 47% 42%;color:#f4d5a0;box-shadow:2px 8px 12px #34221155;transform:rotate(5deg)}
.book-seal strong{font-family:'Cormorant Garamond',Georgia,serif;font-size:2.65rem;line-height:.93;font-weight:600}
.book-seal>span{font-size:.6rem;font-weight:800;margin-top:4px;letter-spacing:.025em}
.album-page .gallery-filters{position:relative;gap:8px;margin-bottom:20px}
.album-page .gallery-filters button{position:relative;background:#e0cba1;border:1px solid #ad8c515e;color:#574729;border-radius:2px 9px 2px 9px;font-size:.77rem;font-weight:700;padding:9px 16px;box-shadow:0 3px 5px #684c2112;min-height:44px}
.album-page .gallery-filters button[aria-pressed=true]{background:#37523b;border-color:#1f3526;color:#fff1ce;box-shadow:0 3px 0 #1c3324}
.album-page .gallery-filters button:hover{filter:brightness(1.06)}
.album-hint{text-align:center;margin:0 auto 29px;font-size:.77rem;color:#756242}
.album-hint span{color:#9c713c;font-size:1.25rem;vertical-align:middle;margin-left:6px}
.album-page .gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:33px 25px;margin:0;padding:5px 0 15px}
.album-page .gallery-tile{position:relative;isolation:isolate;overflow:visible;padding:11px 11px 0;border:1px solid #baa16d;background:linear-gradient(135deg,#fff6da,#e7d5ac);border-radius:1px 1px 3px 3px;box-shadow:2px 7px 9px #593d223d;rotate:-1.7deg;transition:rotate .2s,transform .2s,box-shadow .2s}
.album-page .gallery-tile:nth-child(3n+2){rotate:2deg;margin-top:26px}
.album-page .gallery-tile:nth-child(3n){rotate:-.5deg;margin-top:9px}
.album-page .gallery-tile:nth-child(4n){rotate:1.3deg}
.album-page .gallery-tile:before,.album-page .gallery-tile:after{content:'';position:absolute;width:37px;height:37px;pointer-events:none;z-index:2;border:1px solid #6d482b;box-shadow:inset 0 0 0 2px #b69c69,inset 0 0 0 4px #705236;background:linear-gradient(135deg,#866841,#d9b46d 25%,#634129 52%,transparent 53%);clip-path:polygon(0 0,100% 0,0 100%)}
.album-page .gallery-tile:before{top:3px;left:3px}
.album-page .gallery-tile:after{top:3px;right:3px;transform:rotate(90deg)}
.album-page .gallery-tile img{width:100%;height:auto;aspect-ratio:1.22;object-fit:cover;border:4px solid #654b31;outline:1px solid #be9860;outline-offset:2px;border-radius:0;transition:filter .25s;filter:none}
.album-page .gallery-tile:nth-child(3n+2) img{aspect-ratio:1.07}
.album-page .gallery-tile:nth-child(4n) img{aspect-ratio:1.45}
.album-page .gallery-tile span{display:flex;align-items:center;justify-content:center;text-align:center;min-height:72px;padding:14px 8px 16px;font-family:'Cormorant Garamond',Georgia,serif;font-size:1.45rem;font-weight:600;line-height:1.1;color:#513e27}
.album-page .gallery-tile:hover{rotate:0deg;transform:translateY(-4px);box-shadow:3px 13px 14px #593d2250;z-index:3}
.album-page .gallery-tile:hover img{transform:none}
.album-page .gallery-tile:focus-visible{z-index:4;outline:3px solid #36503b;outline-offset:6px;rotate:0deg}
.book-end{display:flex;justify-content:center;align-items:center;gap:27px;border-top:1px solid #ad945554;padding-top:28px;margin-top:35px}
.book-end>span{font-family:Georgia,serif;font-size:2.4rem;color:#937543}
.book-end p{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.5rem;font-weight:600;line-height:1.2;text-align:center;color:#69532e}
.album-return{max-width:900px;margin:auto;padding:85px 30px 90px;text-align:center}
.album-return .eyebrow{color:#dbb776;font-size:.73rem;margin-bottom:18px}
.album-return h2{font-size:clamp(3.4rem,5vw,5.2rem);font-weight:500;line-height:1}
.album-return>div{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:15px 28px;margin-top:31px}
.album-return .button{border:1px solid #f2d7a0;box-shadow:0 4px 0 #91612c;border-radius:5px 17px 5px 17px;color:#33251b}
.album-noscript{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.album-noscript>p{grid-column:1/-1}.album-noscript img{aspect-ratio:1.2;border:8px solid #63472c}
.album-page dialog{background:linear-gradient(120deg,#252d1e,#1b241b);padding:58px 28px 23px;border:5px solid #82653d;outline:1px solid #d1ac6a;outline-offset:2px;border-radius:3px;max-height:96dvh}
.album-page dialog img{max-height:65vh;max-height:65dvh}
.album-page dialog figcaption{font-family:'Cormorant Garamond',Georgia,serif;color:#f0dcb3;font-size:1.45rem;line-height:1.2}
.album-page dialog::backdrop{background:#09140cec;backdrop-filter:blur(5px)}
.album-page .close-dialog{right:8px;top:8px;width:40px;height:40px;border:1px solid #bc8c46;color:#3e311c;background:#ead5a3}
.album-page .lightbox-controls button{border:1px solid #bd9655;background:#ecdbb2;color:#46351f}
.album-page .lightbox-controls{margin-top:16px}
@media(max-width:1100px){.album-book{width:calc(100% - 76px);padding:96px 33px 36px}.book-top{left:34px;right:34px}.album-page .gallery-grid{gap:29px 20px}.album-page .gallery-tile{padding:8px 8px 0}.album-page .gallery-tile span{font-size:1.3rem}}
@media(max-width:800px){.album-intro{padding-bottom:72px}.album-book{width:calc(100% - 56px);padding:95px 27px 32px;border-width:9px}.album-page .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 21px}.album-page .gallery-tile:nth-child(3n+2),.album-page .gallery-tile:nth-child(3n){margin-top:0}.album-page .gallery-tile:nth-child(even){margin-top:22px;rotate:1.5deg}.album-page .gallery-tile img,.album-page .gallery-tile:nth-child(3n+2) img{aspect-ratio:1.12}.album-page .gallery-tile:nth-child(4n) img{aspect-ratio:1.3}.book-label{font-size:1.13rem}.book-top{gap:12px}.album-branch{width:180px;opacity:.3}.album-branch.left{left:-75px}.album-branch.right{right:-75px}.album-page .masthead nav .button{font-size:.73rem}.album-return{padding-top:65px;padding-bottom:70px}}
@media(max-width:520px){.album-page .preview-note{font-size:.6rem;padding:8px 15px;align-items:center}.album-page .preview-note>span{max-width:14ch}.album-page .preview-note>a{text-align:right;max-width:21ch}.album-page .masthead{padding:16px 17px}.album-page .masthead nav .button{font-size:.64rem}.album-intro{padding:17px 23px 68px}.album-intro .eyebrow{font-size:.64rem;letter-spacing:.15em;margin-bottom:20px}.album-ornament{font-size:32px;max-width:245px;gap:20px;margin:18px auto 21px}.album-intro h1{font-size:3.35rem;line-height:1.02}.album-intro-copy{font-size:.93rem;line-height:1.6;margin-top:23px}.album-intro-copy br{display:none}.album-archive{font-size:.72rem;margin-top:22px}.album-back{font-size:.75rem;line-height:1.4}.album-book{width:calc(100% - 34px);border-width:7px;padding:88px 21px 27px;outline-offset:2px}.album-book:before{inset:6px}.album-book:after{display:none}.book-top{top:-37px;left:17px;right:17px;grid-template-columns:1fr 78px 1fr;gap:4px}.book-seal{width:78px;height:78px;border-width:5px}.book-seal strong{font-size:2.2rem}.book-seal>span{font-size:.5rem}.book-label{font-size:.87rem;padding-top:78px}.album-page .gallery-filters{gap:7px;margin-bottom:16px}.album-page .gallery-filters button{font-size:.7rem;padding:9px 11px;min-height:42px}.album-hint{font-size:.71rem;line-height:1.45;margin-bottom:24px}.album-hint span{display:none}.album-page .gallery-grid{grid-template-columns:1fr;gap:28px;padding:0 0 9px}.album-page .gallery-tile{rotate:-1deg;padding:9px 9px 0}.album-page .gallery-tile:nth-child(3n+2),.album-page .gallery-tile:nth-child(3n),.album-page .gallery-tile:nth-child(even){margin-top:0}.album-page .gallery-tile:nth-child(even){rotate:1deg}.album-page .gallery-tile img,.album-page .gallery-tile:nth-child(3n+2) img{aspect-ratio:1.22}.album-page .gallery-tile:nth-child(4n) img{aspect-ratio:1.35}.album-page .gallery-tile span{font-size:1.4rem;min-height:65px;padding:13px 7px 15px}.book-end{gap:10px;padding-top:22px;margin-top:23px}.book-end>span{font-size:1.4rem}.book-end p{font-size:1.24rem}.album-return{padding:60px 25px 66px}.album-return h2{font-size:3.35rem}.album-return .eyebrow{font-size:.64rem}.album-return>div{flex-direction:column;gap:15px}.album-page dialog{padding:55px 15px 20px;border-width:3px;width:94vw}.album-page dialog figcaption{font-size:1.2rem}.album-noscript{grid-template-columns:1fr}.album-page footer{padding:30px 24px}}
@media(max-width:360px){.album-page .masthead{padding-left:13px;padding-right:13px}.album-page .brand img{width:44px;height:44px}.album-page .wordmark-top{font-size:.58rem}.album-page .wordmark-bottom{font-size:1.87rem}.album-page .descriptor{font-size:.43rem}.album-page .masthead nav .button{max-width:74px;font-size:.6rem}.album-intro h1{font-size:2.9rem}.album-intro{padding-left:19px;padding-right:19px}.album-book{width:calc(100% - 28px);padding-left:16px;padding-right:16px}.book-label{font-size:.79rem}.album-page .gallery-filters button{font-size:.64rem;padding:9px}.album-page .gallery-tile span{font-size:1.25rem}}
@media(prefers-reduced-motion:reduce){.album-page .gallery-tile{transition:none}.album-page .gallery-tile:hover{transform:none}.album-page .gallery-tile img{transition:none}}
