:root{font-family:Georgia,'Times New Roman',serif;color:#67462f;background:#f6e6a8}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 20% 10%,#fff0ba,#f6e6a8 65%,#efda8e);min-height:100vh}button,input{font:inherit}button{cursor:pointer}header{max-width:1040px;margin:auto;padding:20px 22px;display:flex;justify-content:space-between;align-items:center;gap:10px}.brand{font-size:clamp(17px,3vw,24px);font-weight:bold}.header-actions{display:flex;gap:8px;flex-wrap:wrap}.header-actions button{background:#fff9ec;border:1px solid #c7af90;border-radius:24px;padding:10px 15px;color:#624934}main{max-width:960px;margin:auto;padding:12px 18px 60px}.paper{background:#fff9ec;border:1px solid #d5b66e;border-radius:12px;box-shadow:0 8px 28px #72553919}.login-wrap{min-height:70vh;display:grid;place-items:center}.login-card{max-width:510px;width:100%;text-align:center;padding:clamp(25px,6vw,60px)}.ornament{font-size:34px;color:#ad8864}.eyebrow{letter-spacing:2px;text-transform:uppercase;font:12px Arial,sans-serif;color:#97765b}h1{font-size:clamp(34px,6vw,56px);font-weight:normal;margin:12px 0}h2{font-size:clamp(27px,4vw,36px);font-weight:normal;margin:0 0 18px}p{line-height:1.75;font-size:18px}form{text-align:left;margin-top:25px}label{display:block;margin-bottom:10px;font-size:18px}input{width:100%;padding:16px;border:1px solid #bfa789;border-radius:8px;background:white;font-size:22px}.primary{display:block;width:100%;margin-top:18px;border:0;border-radius:8px;background:#76543b;color:white;padding:17px;font-size:19px}.primary:hover{background:#5e402d}.error{color:#9b3029;font:15px Arial,sans-serif;min-height:22px}.hero{text-align:center;padding:35px 20px 48px}.portrait{height:270px;width:220px;margin:20px auto;border:9px solid #f6e6a8;outline:1px solid #ad9477;background:linear-gradient(145deg,#f0d681,#fff9ec);display:flex;flex-direction:column;justify-content:center;gap:12px;align-items:center}.portrait span{font-size:70px}.portrait small{font:14px Arial,sans-serif}.dates{color:#987657;margin:0}.quote{font-style:italic;font-size:22px}.section{padding:clamp(24px,5vw,48px);margin-top:25px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.photo{min-height:180px;border:7px solid #fff;background:#f0d98f;box-shadow:0 3px 12px #5b442c33;color:#654c39;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px}.photo span{font-size:52px}.photo small{font-size:16px}.video-placeholder{min-height:190px;background:#f7e8b3;border:1px dashed #b9a183;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:16px}.video-placeholder span{font-size:48px}footer{text-align:center;margin:45px auto;font-style:italic;font-size:21px}.viewer{position:fixed;inset:0;background:#211a16ee;z-index:10;display:flex;align-items:center;justify-content:space-around;color:white;padding:15px}.viewer[hidden],[hidden]{display:none!important}.viewer-close{position:absolute;top:15px;right:22px;font-size:45px;background:none;border:0;color:white}.viewer-nav{font-size:65px;background:none;border:0;color:white;padding:15px}.viewer-content{text-align:center;flex:1;max-width:650px}.viewer-content #viewer-art{background:#f6e6a8;min-height:55vh;display:grid;place-items:center;color:#76543b;font-size:120px;border:12px solid #fff9ec}.viewer-content p{color:white}@media(max-width:600px){.gallery{grid-template-columns:repeat(2,1fr)}.photo{min-height:150px}.viewer-nav{font-size:44px;padding:6px}.viewer-content #viewer-art{min-height:45vh;font-size:70px}header{padding:15px}}

/* Butter yellow is the primary color, with ivory panels for readability. */
:focus-visible{outline:3px solid #76543b;outline-offset:3px}.paper{box-shadow:0 9px 30px #76543b1c}.ornament{color:#a77c36}.eyebrow{color:#76543b}.photo:hover,.photo:focus-visible{transform:translateY(-2px)}.photo{transition:transform .15s ease}.primary{min-height:56px}.header-actions button{min-height:46px}
/* Private media gallery */
.media-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:155px;cursor:pointer}.media-card img{width:100%;height:180px;object-fit:cover;border-radius:8px}.media-card span{font-size:1rem}.media-status{font-size:.95rem;color:#76543b}.viewer-content img{max-width:min(78vw,950px);max-height:75vh;object-fit:contain}.video-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}.video-card{padding:16px;background:#fff9ec;border:1px solid #d4bc8c;border-radius:12px;color:#76543b;cursor:pointer;font-size:1.1rem;min-height:90px}.video-player{width:min(100%,900px);max-height:70vh}.viewer-content{max-width:85vw}.viewer[hidden]{display:none!important}
