/* OurClive Family Album · a screen book built on print-minded 8 × 10 pages. */
:root{--album-ink:#183f37;--album-gold:#a77c43;--album-paper:#f8f0de;--album-leather:#315d50;--album-page-ratio:4/5}
body.album-route-active{background:#e8e1d5}
body.album-route-active .shell{max-width:1480px;padding:0 16px 28px}
body.album-route-active .shell>.brand,body.album-route-active .shell>.hero,body.album-route-active .workspace,body.album-route-active .shell>.note{display:none}
body.album-route-active .clive-dock{display:none}
.family-album-page{margin:0;overflow:hidden;border:1px solid #d2c7b7;border-radius:30px;background:#eee6d9;color:#2b3934;box-shadow:0 22px 70px #2f3d3624}
.album-topbar{height:74px;padding:0 34px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:30px;align-items:center;background:#fffdf9;border-bottom:1px solid #e5dbce}
.album-topbar button{padding:6px;border-radius:8px;background:transparent;color:#2a302d;font-weight:500;box-shadow:none}
.album-wordmark{font:italic 500 36px Georgia,serif!important;color:#124b43!important;letter-spacing:-1.6px}
.album-primary-nav{display:flex;align-items:center;justify-content:center;gap:23px;min-width:0}
.album-primary-nav button{white-space:nowrap;border-radius:0;font:500 14px Georgia,serif}
.album-primary-nav button.active{padding-top:26px;padding-bottom:25px;border-bottom:2px solid #b58a55;color:#173f37;font-weight:700}
.album-account{display:flex!important;align-items:center;gap:10px!important;white-space:nowrap;font:500 14px Georgia,serif!important}
.album-account-avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#274e45;color:#fff;font:700 11px Inter,sans-serif;letter-spacing:.04em;box-shadow:inset 0 0 0 2px #fff,0 0 0 1px #d8cfc1}
.family-album-body{padding:23px 28px 30px;background:radial-gradient(circle at 50% 12%,#f9f4ea 0,#e9e0d2 54%,#ddd1c0 100%)}
.album-heading{max-width:1240px;margin:0 auto 17px;display:flex;align-items:end;justify-content:space-between;gap:28px}
.album-heading h1{margin:4px 0 5px;color:var(--album-ink);font:500 clamp(30px,4vw,45px)/1 Georgia,serif;letter-spacing:-.7px}
.album-heading p{max-width:735px;margin:0;color:#686b64;font:500 13px/1.5 Georgia,serif}
.album-heading-actions{position:relative;min-width:245px}
.album-heading-actions label{display:block;margin-bottom:6px;color:#7b6b56;font:700 9px Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase}
.album-heading-actions select{width:100%;border-color:#cdbfae;background:#fffdf9;color:#29483f;font:600 12px Georgia,serif}
.album-page-manager{position:relative;margin-top:7px}.album-page-manager>summary{cursor:pointer;list-style:none;padding:7px 9px;border:1px solid #cdbfae;border-radius:8px;background:#fffdf9;color:#456057;font:600 10px Inter,sans-serif}.album-page-manager>summary::-webkit-details-marker{display:none}.album-page-manager>summary:after{content:"⌄";float:right}.album-page-manager[open]>summary:after{content:"⌃"}.album-page-list{position:absolute;right:0;top:calc(100% + 5px);z-index:25;width:min(390px,82vw);max-height:340px;overflow:auto;padding:7px;border:1px solid #cdbfae;border-radius:12px;background:#fffdf9;box-shadow:0 16px 34px #463b2e38}.album-page-choice{display:grid;grid-template-columns:1px 28px minmax(0,1fr);align-items:center;gap:8px;padding:7px;border-radius:8px;cursor:pointer}.album-page-choice:hover{background:#f4eee4}.album-page-choice input{width:1px;height:1px;opacity:0}.album-page-choice img{width:25px;height:30px;object-fit:contain;filter:drop-shadow(1px 2px 2px #3e352933)}.album-page-choice>span,.album-page-choice strong,.album-page-choice small{display:block;min-width:0}.album-page-choice strong{overflow:hidden;color:#29483f;font:600 11px Georgia,serif;text-overflow:ellipsis;white-space:nowrap}.album-page-choice small{margin-top:2px;color:#82786b;font:500 8.5px/1.3 Inter,sans-serif}.album-page-choice.is-excluded img{filter:grayscale(1) contrast(.82);opacity:.4}.album-page-choice.is-automatic{cursor:help}.album-page-choice input:focus-visible+img{outline:3px solid #bd9a6588;outline-offset:2px;border-radius:3px}
.album-workspace{max-width:1240px;margin:auto}
.album-book-stage{min-height:610px;padding:25px 30px;display:grid;place-items:center;border:1px solid #cfc0aa;border-radius:23px;background:linear-gradient(155deg,#9f8a70 0,#c2b19c 42%,#9d8870 100%);box-shadow:inset 0 2px 8px #fff7,0 20px 45px #50453624}
.album-book{position:relative;width:min(1050px,96%);transition:opacity .2s ease,transform .22s ease;transform-origin:center}
.album-book.turning-forward{opacity:.38;transform:perspective(1400px) rotateY(-8deg) scale(.985)}
.album-book.turning-back{opacity:.38;transform:perspective(1400px) rotateY(8deg) scale(.985)}
.album-book.turn-arrived{animation:album-page-arrive .22s ease}
@keyframes album-page-arrive{from{opacity:.45;transform:scale(.985)}to{opacity:1;transform:scale(1)}}
.album-book.is-cover{width:min(435px,72vw);filter:drop-shadow(20px 25px 23px #2f291f55)}
.album-cover{position:relative;aspect-ratio:var(--album-page-ratio);padding:25px;border-radius:7px 16px 16px 7px;background:linear-gradient(90deg,#173d35 0 4%,#2c5d50 5% 9%,#47786a 10% 94%,#2c5e51 96%);box-shadow:inset 3px 0 0 #6f9a8e,inset -6px 0 10px #173d3566,0 0 0 2px #153d34;color:#f8efdc}
.album-cover:before{content:"";position:absolute;inset:11px;border:1px solid #d6b97caa;border-radius:4px 11px 11px 4px;box-shadow:inset 0 0 0 4px #315e52,inset 0 0 0 5px #d6b97c66;pointer-events:none}
.album-cover-frame{height:100%;padding:14% 10% 10%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px solid #d2b47388;border-radius:4px 10px 10px 4px}
.album-cover-flourish{font-size:28px;color:#d7bd86}.album-cover small{margin-top:25px;color:#e3d5b6;font:700 9px Inter,sans-serif;letter-spacing:.27em;text-transform:uppercase}
.album-cover h2{max-width:330px;margin:19px 0 16px;color:#fff9e9;font:500 clamp(32px,5vw,53px)/1.03 Georgia,serif;text-shadow:0 2px 1px #183d35;overflow-wrap:anywhere}
.album-cover i{width:75px;height:1px;background:#d4b876}.album-cover p{max-width:280px;margin:17px 0;color:#efe4cc;font:italic 500 16px/1.4 Georgia,serif}.album-cover footer{margin-top:auto;color:#d7c9ad;font:600 9px Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.album-book.is-open{display:grid;grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr);filter:drop-shadow(0 21px 23px #332b224b)}
.album-paper{position:relative;min-width:0;aspect-ratio:var(--album-page-ratio);overflow:hidden;background-color:var(--album-paper);background-image:linear-gradient(90deg,transparent 94%,#a68b6322),radial-gradient(circle at 25% 20%,#fffdf5 0,#f8f0de 65%,#e9dcc4 100%);color:#3d463f}
.album-paper-left{border-radius:8px 2px 2px 10px;box-shadow:inset -13px 0 16px #6e5f491f,inset 2px 0 #fff9}
.album-paper-right{border-radius:2px 9px 10px 2px;box-shadow:inset 13px 0 16px #6e5f491f,inset -2px 0 #fff9}
.album-spine{position:relative;z-index:2;background:linear-gradient(90deg,#3d2f23,#786552 20%,#2e241d 48%,#7a6855 78%,#352a21);box-shadow:0 0 14px #2d231e99}
.album-page-inner{height:100%;padding:8% 8% 9%;display:flex;flex-direction:column;min-width:0}
.album-person-kicker{color:#9a7546;font:700 8px Inter,sans-serif;letter-spacing:.2em;text-transform:uppercase}
.album-paper h2{margin:7px 0 4px;color:var(--album-ink);font:500 clamp(22px,3vw,38px)/1.02 Georgia,serif;letter-spacing:-.5px;overflow-wrap:anywhere}
.album-vitals{padding-bottom:8px;border-bottom:1px solid #cbb897;color:#7f715e;font:italic 500 11px Georgia,serif}
.album-portrait{flex:1;min-height:0;margin:5% 5% 3%;display:grid;place-items:center}
.album-photo{position:relative;margin:0;padding:7px 7px 10px;background:#fffdf8;box-shadow:0 6px 14px #4437292c;transform:rotate(-1.5deg)}
.album-photo:before,.album-photo:after{content:"";position:absolute;width:24px;height:14px;background:#b5a17a99;z-index:2}.album-photo:before{left:-9px;top:2px;transform:rotate(-42deg)}.album-photo:after{right:-9px;bottom:22px;transform:rotate(-42deg)}
.album-photo-image{aspect-ratio:4/3;display:grid;place-items:center;overflow:hidden;background:linear-gradient(135deg,#d7c8ae,#eee4d2);color:#88775d;font:italic 13px Georgia,serif}
.album-photo-image img{width:100%;height:100%;display:block;object-fit:cover}
.album-photo figcaption{padding:7px 2px 0;color:#625b50;font:500 9px/1.3 Georgia,serif}.album-photo figcaption strong,.album-photo figcaption time{display:block}.album-photo figcaption time{margin-top:2px;color:#8e806c;font-style:italic}.album-photo figcaption p{margin:5px 0 0;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.album-portrait>.album-photo{width:min(83%,310px);transform:rotate(-1deg)}.album-portrait>.album-photo .album-photo-image{aspect-ratio:4/3}
.album-portrait-empty{width:min(80%,300px);aspect-ratio:4/3;padding:20px;display:grid;place-items:center;text-align:center;border:1px dashed #bba887;background:#efe4ce;color:#796b57}.album-portrait-empty>span{width:82px;height:82px;display:grid;place-items:center;border:1px solid #a88e66;border-radius:50%;font:500 27px Georgia,serif}.album-portrait-empty small{font:italic 11px/1.35 Georgia,serif}
.album-family-lines{display:grid;gap:3px;padding:8px 10px;border-top:1px solid #cfbea2;border-bottom:1px solid #cfbea2;color:#776a57;font:500 9px/1.35 Georgia,serif}.album-family-lines span,.album-family-lines b{display:block}.album-family-lines b{color:#3c5d54;font-style:italic}
.album-photo-gallery{flex:1;min-height:0;margin-top:14px;display:grid;grid-template-columns:1fr 1fr;gap:6%;align-items:center}.album-photo-gallery .album-photo:nth-child(2){transform:rotate(2deg)}
.album-gallery-empty{grid-column:1/-1;align-self:center;min-height:180px;padding:24px;display:grid;place-items:center;gap:12px;text-align:center;border:1px dashed #bca988;background:#f0e5d0;color:#7b6c58;font:italic 13px/1.4 Georgia,serif}.album-gallery-empty button{padding:9px 12px;font-size:10px}
.album-paper blockquote{max-height:28%;margin:13px 0 0;padding:10px 13px;overflow:hidden;border-left:2px solid #b48a51;background:#f3e8d3;color:#4f5c54;font:italic 11px/1.48 Georgia,serif}
.album-more-photos{align-self:flex-start;margin-top:8px;padding:5px 8px!important;background:transparent!important;color:#567168!important;box-shadow:none!important;font-size:8px!important}
.album-page-actions{display:flex;gap:6px;margin-top:10px}.album-page-actions button{padding:6px 8px;font-size:8px}
.album-page-number{position:absolute;bottom:3.5%;left:0;right:0;text-align:center;color:#9b8b74;font:500 8px Georgia,serif}
.album-controls{margin:14px auto 0;display:flex;align-items:center;justify-content:center;gap:9px}.album-controls button{min-width:106px;padding:9px 12px;font-size:11px}.album-controls span{min-width:220px;text-align:center;color:#59675f;font:600 11px Georgia,serif}
.album-print-foundation{max-width:830px;margin:14px auto 0;padding:11px 14px;display:flex;gap:12px;align-items:center;border:1px solid #cdbfa9;border-radius:12px;background:#f6f0e5;color:#51635c}.album-print-foundation>span{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#2d594f;color:#dfc896}.album-print-foundation strong,.album-print-foundation small{display:block}.album-print-foundation strong{font:600 12px Georgia,serif}.album-print-foundation small{margin-top:3px;color:#756f64;font:500 9px/1.35 Inter,sans-serif}
@media(max-width:1100px){.album-topbar{padding:0 20px;gap:16px}.album-primary-nav{gap:12px}.album-primary-nav button{font-size:12px}.album-book-stage{min-height:560px;padding:20px}.album-page-inner{padding:7%}.album-paper h2{font-size:28px}}
@media(max-width:760px){body.album-route-active .shell{padding:0 8px 20px}.family-album-page{border-radius:20px}.album-topbar{height:auto;min-height:64px;grid-template-columns:1fr auto;padding:0 17px}.album-wordmark{font-size:29px!important}.album-primary-nav{grid-row:2;grid-column:1/-1;justify-content:flex-start;padding-bottom:8px;overflow-x:auto}.album-primary-nav button{font-size:11px}.album-primary-nav button.active{padding:5px 2px 8px}.album-account{grid-column:2;grid-row:1}.album-account span:last-child{display:none}.family-album-body{padding:18px 10px}.album-heading{display:grid;gap:13px;padding:0 5px}.album-heading-actions{min-width:0}.album-book-stage{min-height:520px;padding:15px 8px}.album-book.is-cover{width:min(340px,84vw)}.album-book.is-open{width:min(430px,94%);display:block}.album-spine{display:none}.album-paper{aspect-ratio:var(--album-page-ratio);border-radius:7px!important}.album-paper-right{margin-top:10px}.album-controls{flex-wrap:wrap}.album-controls span{order:-1;width:100%;min-width:0}.album-controls button{min-width:94px}.album-print-foundation{align-items:flex-start}}
@media(prefers-reduced-motion:reduce){.album-book{transition:none}.album-book.turn-arrived{animation:none}}
