/* Functional controls extend the approved design without changing its composition. */
:root{--om-background:#f7f8fc;--om-accent:#173e6b;--om-heading:Georgia}
body[data-page=home],body[data-page=about],body[data-page=contact],body[data-page=owner],body[data-page=upload]{background:var(--om-background)}
h1,h2,h3,.brand{font-family:var(--om-heading),serif}.action.primary,.guest-card .action{background:var(--om-accent)}
.no-motion *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
body[data-page=family],body[data-page=media]{background:#05090b;color:#f4f4f1}body[data-page=family] #header,body[data-page=media] #header{background:#05090b;color:#fff}
#main{min-height:60vh}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.country-card[hidden],[hidden]{display:none!important}.country-grid .country-card p{font-size:11px}
.contribution-item{border:0;background:transparent;text-align:left;color:inherit;padding:0;cursor:pointer}.contribution-item img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px}.contribution-item strong,.contribution-item small{display:block}.contribution-grid>.empty{grid-column:1/-1;padding:26px 0;margin:0;font-size:14px;color:#526176}
.photogrid.masonry{columns:3;display:block}.photogrid.masonry>.photo{display:block;break-inside:avoid;margin-bottom:14px;width:100%;height:auto}.photogrid.masonry>.photo img{height:auto;max-height:440px;min-height:180px}.photogrid.masonry>.photo:nth-child(3n) img{height:350px;object-fit:cover}
.photogrid.grid{display:grid;columns:unset;grid-template-columns:repeat(3,minmax(0,1fr))}.photogrid.grid .photo{height:260px}.photogrid.bento{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:190px;gap:12px}.photogrid.bento .photo{height:100%}.photogrid.bento .photo:nth-child(5n+1){grid-column:span 2;grid-row:span 2}.photogrid.justified{display:flex;flex-wrap:wrap;gap:12px}.photogrid.justified .photo{flex:1 1 240px;height:230px}.photo{position:relative}.photo img{object-fit:cover}.video-placeholder{display:grid;place-items:center;min-height:230px;background:linear-gradient(130deg,#153a53,#202226);font-size:40px;color:white}.video-tile .round-play{pointer-events:none}
.dashboard{color:#172a40;background:#f7f8fc}.dashside{background:#edf0f5;color:#172a40}.dashmain{min-width:0}.dashmain h1{font-size:36px}.dashmain details{padding:17px 0;border-bottom:1px solid #d4dce5}.dashmain summary{font-size:19px;cursor:pointer}.dashmain form{padding:16px 0}.dashmain input,.dashmain textarea,.dashmain select,.invite input,.invite textarea,.invite select{max-width:100%;color:#172a40;background:#fff;border:1px solid #bac7d5;border-radius:7px;padding:11px}.dashmain button:not(.action){border:1px solid #abbccd;border-radius:6px;padding:7px 12px;background:#fff;color:#173e6b;cursor:pointer}.dashmain button:disabled,button:disabled{opacity:.5;cursor:wait}.dashmain .actions{flex-wrap:wrap}.check{display:inline-flex;gap:8px;align-items:center;margin:10px 18px 10px 0}.check input{width:auto}.dashmain fieldset{border:1px solid #c5d0dc;border-radius:10px;margin:15px 0}.sort-list{padding:0;list-style:none}.sort-list li{display:flex;gap:8px;align-items:center;padding:9px;border:1px solid #d3dce5;border-radius:6px;margin:5px 0;background:white}.sort-list li>span,.sort-list li>label{flex:1}.sort-list label input{width:auto}.review-image{padding:0!important;border:0!important}.review-image img{width:90px;height:90px;object-fit:cover}.review-item{gap:20px}.item-editor{margin-left:10px}.message{padding:18px;background:white;margin-bottom:12px;border-radius:12px}.message p{white-space:pre-wrap;overflow-wrap:anywhere}.prose{max-width:800px;margin:auto}.prose img,.story-card img{max-width:100%;height:auto}.prose iframe{max-width:100%}.upload-box{display:block;cursor:pointer}.upload-box input{display:block;margin:20px auto;max-width:100%}.upload-box.dragging{outline:3px solid #82b7ed}.file-row{display:flex;align-items:center;gap:12px;border-bottom:1px solid #ced5dd;padding:10px}.file-row img{width:54px;height:54px;object-fit:cover;border-radius:7px}.file-row span{flex:1;overflow-wrap:anywhere}.file-row button{padding:7px 12px}progress{width:100%;height:18px}.invite{align-items:start}.invite form>label{display:block}
#lightbox{width:min(1100px,96vw);max-width:96vw;max-height:96dvh;overflow:auto;padding:18px;background:#080c10;color:#fff;border:1px solid #53616d;border-radius:14px}#lightbox .close{z-index:5;position:sticky;float:right;top:0;background:#192632;color:#fff;border-radius:50%;width:38px;height:38px}#viewer-stage{width:100%;height:68dvh;display:flex;align-items:center;justify-content:center;overflow:auto;touch-action:pan-y}#viewer-stage img{max-height:100%;max-width:100%;width:auto;height:auto;object-fit:contain;flex-shrink:0}#viewer-stage video,#viewer-stage iframe{width:100%;height:100%;max-height:68dvh;object-fit:contain;border:0}#lightbox .lightcontrols{position:static;display:flex;justify-content:center;align-items:center;gap:18px;margin-top:12px}#viewer-tools{display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap;padding:12px}#viewer-tools button,#lightbox .lightcontrols button,#viewer-comments button{padding:8px 14px;color:#fff;background:#253a4c;border:1px solid #536a7e;border-radius:7px;cursor:pointer}#viewer-tools a{font-size:12px;text-decoration:underline}#viewer-comments{max-width:650px;margin:auto;color:#e8eef4}#viewer-comments summary{cursor:pointer}#viewer-comments input,#viewer-comments textarea{background:#162330;color:#fff;border:1px solid #566d80}#viewer-comments p{white-space:pre-wrap}#caption{font-size:14px}
:focus-visible{outline:3px solid #80b7f1!important;outline-offset:4px}.country-heading p{max-width:780px}.modern-home .bento-hero p{white-space:pre-line}.empty{line-height:1.7}
@media(max-width:760px){.photogrid.masonry{columns:2}.photogrid.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photogrid.bento{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:150px}.dashboard{display:block}.dashside{display:flex;gap:7px;flex-wrap:wrap;padding:18px}.dashside h3{width:100%}.dashside button{width:auto}.dashside p{width:100%}.dashmain{padding:20px}.dashmain h1{font-size:30px}.review-item{display:flex;flex-wrap:wrap}.editor{grid-template-columns:1fr}.invite{display:block;padding:20px}.invite aside{margin-top:30px}#viewer-stage{height:62dvh}#viewer-stage video{max-height:62dvh}#viewer-tools{gap:7px}#viewer-tools button{font-size:12px;padding:7px}.sort-list li{flex-wrap:wrap}.country-grid .country-card p{font-size:10px}.toolbar{gap:12px;flex-wrap:wrap}}
@media(max-width:440px){.photogrid.grid .photo{height:190px}.photogrid.masonry>.photo:nth-child(3n) img{height:250px}.photogrid.justified .photo{flex-basis:160px}.toolbar input{max-width:100%;min-width:0}.dashmain .field{min-width:0}.country-heading h1{font-size:46px}}
@media(max-width:560px){.bento-hero p{max-width:165px;font-size:13px;line-height:1.45}.bento-hero .action{max-width:180px;padding-left:15px;padding-right:15px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Compact Mexico thumbnails; the full-size viewer uses separate styles. */
body:is([data-album=mexico],[data-album=columbia]) .photogrid.masonry{columns:4;column-gap:12px}
body:is([data-album=mexico],[data-album=columbia]) .photogrid.masonry>.photo{margin-bottom:12px}
body:is([data-album=mexico],[data-album=columbia]) .photogrid.masonry>.photo img{min-height:100px;max-height:270px}
body:is([data-album=mexico],[data-album=columbia]) .photogrid.masonry>.photo:nth-child(3n) img{height:220px}
body:is([data-album=mexico],[data-album=columbia]) .photogrid.grid{grid-template-columns:repeat(4,minmax(0,1fr))}
body:is([data-album=mexico],[data-album=columbia]) .photogrid.grid .photo{height:190px}
body:is([data-album=mexico],[data-album=columbia]) .photogrid.bento{grid-auto-rows:140px}
body:is([data-album=mexico],[data-album=columbia]) .photogrid.justified .photo{flex-basis:180px;height:170px}
@media(max-width:1000px){body:is([data-album=mexico],[data-album=columbia]) .photogrid.masonry{columns:3}body:is([data-album=mexico],[data-album=columbia]) .photogrid.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:599px){body:is([data-album=mexico],[data-album=columbia]) .photogrid.masonry{columns:2}body:is([data-album=mexico],[data-album=columbia]) .photogrid.grid{grid-template-columns:repeat(2,minmax(0,1fr))}body:is([data-album=mexico],[data-album=columbia]) .photogrid.masonry>.photo img{max-height:200px}body:is([data-album=mexico],[data-album=columbia]) .photogrid.masonry>.photo:nth-child(3n) img{height:170px}body:is([data-album=mexico],[data-album=columbia]) .photogrid.grid .photo{height:150px}}
/* Guest collection: shared albums use the existing protected media records. */
body:is([data-page=guests],[data-page=upload]){background:#070d12;color:#edf2f5}
body:is([data-page=guests],[data-page=upload]) #header{background:#0b1219;color:#edf2f5;border-bottom:1px solid #ffffff12}
body:is([data-page=guests],[data-page=upload]) #footer{background:#0b1219;color:#a6b6c2}
.guest-space{background:radial-gradient(ellipse at 90% 20%,#14273555,transparent 45%),#070d12;color:#edf2f5}
.guest-shell{max-width:1400px;margin:auto;padding:30px clamp(18px,4vw,64px) 70px}.guest-space .eyebrow{color:#a9c7cf;letter-spacing:.19em;font-size:10px}.guest-space h1,.guest-space h2,.guest-space h3{color:#f6f4ee;font-weight:400}.guest-space .action{border:1px solid #ffffff45;color:#f4f7fa;border-radius:9px;font-size:13px;cursor:pointer}.guest-space .action.primary{background:#d9e9e7;color:#132d36;border-color:#d9e9e7}.guest-space :is(a,button,input,select,textarea):focus-visible{outline:3px solid #b5e5ee;outline-offset:4px}
.guest-hero{isolation:isolate;position:relative;min-height:490px;border:1px solid #ffffff20;border-radius:22px;overflow:hidden;display:flex;align-items:center;background:#142733}.guest-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.guest-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#08131bf2 4%,#08131bd4 36%,#08131b22 100%),linear-gradient(0deg,#071119cc,transparent 55%);z-index:-1}.guest-hero-content{padding:55px 6% 85px;max-width:750px}.guest-hero h1{font-size:clamp(42px,5.6vw,76px);line-height:1.06;letter-spacing:-.04em;margin:20px 0}.guest-hero h1 em,.guest-album-heading em{color:#b9dbd5;font-weight:400}.guest-hero p{max-width:420px;color:#c4d0d6;font-size:15px;line-height:1.8}.guest-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.guest-hero-foot{position:absolute;bottom:25px;left:6%;right:6%;display:flex;justify-content:space-between;color:#c4d3db;font-size:10px;letter-spacing:.15em;border-top:1px solid #ffffff25;padding-top:17px}.guest-welcome{display:flex;align-items:center;gap:18px;margin:20px 0 64px;padding:22px 25px;background:#101c25;border:1px solid #ffffff10;border-radius:14px}.guest-orb{display:grid;place-items:center;border-radius:50%;background:#224049;color:#bcdfd7;font-size:24px;width:48px;height:48px;flex-shrink:0}.guest-welcome strong{font-size:15px;font-weight:500}.guest-welcome p{margin:5px 0 0;font-size:12px;color:#a9bac6}.guest-pill{margin-left:auto;white-space:nowrap;border:1px solid #6d95854d;border-radius:30px;padding:9px 13px;font-size:10px;color:#b9d6cb}.guest-section-title{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:25px}.guest-section-title h2{font-size:clamp(29px,3vw,40px);letter-spacing:-.025em;margin:9px 0 0}.guest-section-title>span{color:#93a6b4;font-size:12px}.guest-albums{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.guest-album-card{position:relative;isolation:isolate;min-height:300px;overflow:hidden;border-radius:15px;background:#16232e;border:1px solid #ffffff16;transition:transform .25s,border-color .25s}.guest-album-card:hover{transform:translateY(-4px);border-color:#a8d1c8}.guest-album-card>img{position:absolute;width:100%;height:100%;object-fit:cover;inset:0;z-index:-2;transition:transform .5s}.guest-album-card:hover>img{transform:scale(1.035)}.guest-album-card:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#04101aee,transparent 80%),linear-gradient(180deg,#07151b66,transparent 40%);z-index:-1}.guest-album-top{display:flex;gap:6px;flex-wrap:wrap;padding:18px}.guest-album-top span{font-size:9px;letter-spacing:.03em;border:1px solid #ffffff30;border-radius:20px;padding:5px 9px;background:#0d1a2377;color:#d9e7ee}.guest-album-top .can-add{background:#d7e9e0;color:#163b31;border:0}.guest-album-bottom{position:absolute;bottom:23px;left:22px;right:22px;display:flex;align-items:center;justify-content:space-between}.guest-album-bottom h3{font-size:29px;margin:0 0 6px}.guest-album-bottom p{color:#c4d1d9;font-size:11px;margin:0}.guest-arrow{display:grid;place-items:center;width:36px;height:36px;border:1px solid #ffffff45;border-radius:50%;font-size:19px;color:#f0f5f5}.guest-album-card.is-empty{min-height:190px;background:radial-gradient(ellipse at 85% 10%,#294452,#12202c 70%)}.guest-empty-art{position:absolute;right:22px;top:45px;font-family:Georgia;font-size:66px;color:#6e9ba02a}.guest-recent{margin-top:65px}.guest-first{text-align:center;padding:45px 20px;background:linear-gradient(120deg,#12232c,#0d171f);border:1px solid #ffffff15;border-radius:16px}.guest-first>span{font-size:40px;color:#9fc8c3}.guest-first h3{font-size:29px;margin:12px 0}.guest-first p{color:#a6bac6;font-size:13px;margin-bottom:23px}.guest-how{display:grid;grid-template-columns:1fr 1.2fr;gap:55px;border-top:1px solid #ffffff1c;margin-top:65px;padding-top:45px}.guest-how h2{font-size:38px;line-height:1.2;margin:14px 0}.guest-how ol{padding:0;margin:0;list-style:none}.guest-how li{display:flex;gap:24px;padding:0 0 24px}.guest-how li>span{color:#8bb5b1;font-family:Georgia;font-size:22px}.guest-how h3{font-family:Arial,sans-serif;font-size:15px;margin:0 0 7px}.guest-how p{font-size:13px;line-height:1.6;color:#9cafbb;margin:0}.guest-back{display:inline-block;color:#afc5d1;font-size:12px;margin-bottom:25px}.guest-album-heading{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:18px 0 36px;border-bottom:1px solid #ffffff20;margin-bottom:25px}.guest-album-heading h1{font-size:clamp(45px,6vw,75px);margin:12px 0}.guest-album-heading p{color:#aebdc7;max-width:550px;font-size:14px;line-height:1.8}.guest-count{font-size:12px;color:#a8ccc7}.guest-invite-note{max-width:230px!important}.guest-filters{display:flex;gap:8px;flex-wrap:wrap}.guest-filters button{background:transparent;color:#aabeca;padding:10px 18px;border:1px solid #32434e;border-radius:30px;cursor:pointer}.guest-filters button[aria-pressed=true]{background:#d5e7e2;border-color:#d5e7e2;color:#17342f}.guest-space .toolbar{gap:12px}.guest-space .toolbar :is(input,select){background:#101c25;color:#e8f0f3;border:1px solid #344853;border-radius:8px;padding:12px}.guest-memory{margin:0 0 18px;break-inside:avoid;min-width:0}.guest-memory .photo{width:100%;margin:0;display:block}.guest-memory figcaption{padding:9px 3px 0;font-size:12px;color:#c7d5dd}.guest-memory figcaption:empty{display:none}.guest-memory figcaption p{margin:4px 0;color:#aabec9}.guest-credit{color:#a4d0c5}.guest-space .photogrid.grid{grid-template-columns:repeat(4,minmax(0,1fr))}.guest-space .photogrid.masonry{columns:4}.guest-space .photogrid.grid .photo{height:220px}.guest-space .empty{color:#aebfc9;border:1px dashed #395160;border-radius:12px;padding:36px;column-span:all}.guest-space .photogrid.bento .guest-memory .photo{height:240px}.guest-space .photogrid.justified .guest-memory{flex:1 1 220px}.guest-space .photogrid.justified .photo{height:220px}
body[data-page=upload] .pagehead{padding-top:0;padding-bottom:25px}body[data-page=upload] .pagehead h1{font-size:clamp(40px,5vw,65px)}body[data-page=upload] .pagehead p{color:#aebfc9}.guest-upload-intro{max-width:1400px;margin:auto;padding:30px 5% 0}.guest-space .invite{max-width:1240px;gap:35px;padding-bottom:65px}.guest-space #upload-form{background:#111e28;border:1px solid #ffffff1c;padding:clamp(20px,3vw,38px);border-radius:18px}.guest-space .invite aside{background:linear-gradient(140deg,#203942,#111d26);border:1px solid #ffffff18;border-radius:18px;padding:30px;align-self:start}.guest-space .invite aside h2{font-size:30px}.guest-space .invite aside p{color:#aec2cc;font-size:13px;line-height:1.8}.guest-space .field{color:#c8d8e0;font-size:12px}.guest-space .field :is(input,select,textarea){background:#0b151e;color:#eff4f6;border:1px solid #3c5260;border-radius:8px;max-width:100%}.guest-space .upload-box{background:#172e39;border:1px dashed #769b9e;border-radius:12px;padding:32px 20px;color:#d1e7e3;text-align:center}.guest-space .upload-box input{max-width:100%;margin-top:18px;font-size:12px}.guest-space input::file-selector-button{background:#d9e9e7;border:0;padding:10px 14px;border-radius:7px;color:#183630;margin-right:10px;cursor:pointer}.guest-space .notice{color:#a4b8c5;font-size:11px;line-height:1.7}.upload-step{display:flex;align-items:center;gap:10px;margin:20px 0;font-size:14px;color:#e5efef}.upload-step:first-child{margin-top:0}.upload-step span{font-size:10px;display:grid;place-items:center;background:#2b4d55;color:#c3e2dc;border-radius:50%;width:28px;height:28px}.guest-space .file-row{background:#0c1821;color:#c9dce4;border:1px solid #30424f;border-radius:8px;padding:10px}.guest-space #upload-result{line-height:1.7;color:#b6e0cf;font-size:13px;overflow-wrap:anywhere}.guest-space progress{width:100%;accent-color:#b8dbcd}.guest-space .invite label:has([name=consent]){font-size:12px;color:#b7cbd4}
@media(max-width:950px){.guest-albums{grid-template-columns:repeat(2,minmax(0,1fr))}.guest-space .photogrid.masonry{columns:3}.guest-space .photogrid.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.guest-pill{display:none}.guest-how{gap:25px}.guest-hero-content{padding:40px 6% 80px}}
@media(max-width:600px){.guest-shell{padding:18px 16px 45px}.guest-hero{min-height:440px}.guest-hero-content{padding:35px 24px 85px}.guest-hero h1{font-size:43px}.guest-hero p{font-size:13px}.guest-hero:after{background:linear-gradient(90deg,#08131bee,#08131b77)}.guest-hero-foot{font-size:8px;letter-spacing:.07em}.guest-welcome{padding:17px;gap:12px;margin-bottom:40px}.guest-welcome p{line-height:1.6}.guest-albums{gap:12px}.guest-album-card{min-height:225px}.guest-album-card.is-empty{min-height:180px}.guest-album-top{padding:12px}.guest-album-top span{font-size:8px}.guest-album-bottom{left:14px;right:14px;bottom:18px}.guest-album-bottom h3{font-size:24px}.guest-arrow{display:none}.guest-section-title{align-items:start;flex-direction:column;gap:10px}.guest-how{grid-template-columns:1fr}.guest-how h2{font-size:31px}.guest-album-heading{align-items:start;flex-direction:column;gap:15px}.guest-space .photogrid.masonry{columns:2}.guest-space .photogrid.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guest-space .photogrid.grid .photo{height:170px}.guest-filters button{font-size:12px;padding:9px 12px}.guest-space .toolbar{flex-wrap:wrap}.guest-space .toolbar input{min-width:0;width:100%}.guest-space .invite{display:block;padding:0 16px 35px}.guest-space .invite aside{margin-top:20px}.guest-space .guest-actions .action{font-size:11px;padding:12px}.guest-space .file-row span{overflow-wrap:anywhere;min-width:0}}
@media(prefers-reduced-motion:reduce){.guest-album-card,.guest-album-card>img{transition:none}}
.guest-space .field{display:grid;gap:9px;margin:17px 0}.guest-space .field :is(input,select,textarea){display:block;width:100%;padding:12px;min-width:0}.guest-space .invite label:has([name=consent]){display:flex;align-items:flex-start;gap:9px;line-height:1.6}.guest-space .invite label [name=consent]{flex-shrink:0;margin-top:3px}
.guest-filters{margin-bottom:18px}#shared-albums{scroll-margin-top:25px}

/* Animated album thumbnails; original media remains untouched. */
body .photo.animated-thumbnail{isolation:isolate;overflow:hidden;transition:box-shadow .3s ease,transform .3s ease}
body .photo.animated-thumbnail>img{transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .4s ease}
.thumbnail-action{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:linear-gradient(180deg,#06101b10,#06101bbd);color:white;opacity:0;transition:opacity .3s ease;pointer-events:none;font-family:Arial,sans-serif}
.thumbnail-action i{display:grid;place-items:center;width:44px;height:44px;border:1px solid #ffffffa0;border-radius:50%;background:#ffffff20;backdrop-filter:blur(8px);font-style:normal;font-size:25px;transform:translateY(14px) scale(.85);transition:transform .4s ease}
.thumbnail-action em{font-size:13px;font-style:normal;transform:translateY(12px);transition:transform .4s ease}
.thumbnail-action small{font-size:10px;font-weight:400;color:#dbe8ef;transform:translateY(14px);transition:transform .45s ease}
body .photo.animated-thumbnail:focus-visible{outline:3px solid #b8dce8;outline-offset:3px}
body .photo.animated-thumbnail:focus-visible .thumbnail-action{opacity:1}
body .photo.animated-thumbnail:focus-visible .thumbnail-action :is(i,em,small){transform:none}
@media(hover:hover) and (pointer:fine){
body .photo.animated-thumbnail:hover{transform:translateY(-3px);box-shadow:0 12px 28px #0008,0 0 0 1px #c4e6ec70}
body .photo.animated-thumbnail:hover>img{transform:scale(1.065);filter:brightness(.82) saturate(1.08)}
body .photo.animated-thumbnail:hover .thumbnail-action{opacity:1}
body .photo.animated-thumbnail:hover .thumbnail-action :is(i,em,small){transform:none}
body .photo.animated-thumbnail:hover>.round-play{opacity:0}
}
body .photo.animated-thumbnail:focus-visible>.round-play{opacity:0}
@media(prefers-reduced-motion:reduce){body .photo.animated-thumbnail,body .photo.animated-thumbnail>img,.thumbnail-action,.thumbnail-action :is(i,em,small){transition:none!important;transform:none!important}}
body.no-motion .photo.animated-thumbnail,body.no-motion .photo.animated-thumbnail>img,body.no-motion .thumbnail-action,body.no-motion .thumbnail-action :is(i,em,small){transition:none!important;transform:none!important}
/* Coffee Cream landing-page palette. */
body[data-page=home]{background:var(--om-home-background,#e7daca)}
body[data-page=home] #header{background:var(--om-panel-background,#f4ede3)}
body[data-page=home] .guest-card{background:var(--om-panel-background,#f4ede3)}
body[data-page=home] .contributions,
body[data-page=home] .phone-section{background:var(--om-panel-background,#f4ede3)}
/* Readable navigation on both cream pages and midnight galleries. */
body #header{background:#0b1219;color:#edf2f5}
body #header nav a,body #header .langs a{color:#edf2f5;font-weight:600}
body #header nav a:is(.active,[aria-current=page]),body #header .langs a.active{color:#b8d7f5;border-color:currentColor}
body:is([data-page=home],[data-page=about],[data-page=contact],[data-page=owner]) #header{background:var(--om-panel-background,#f4ede3);color:#17304b;border-color:#c9baa8}
body:is([data-page=home],[data-page=about],[data-page=contact],[data-page=owner]) #header :is(nav a,.langs a,.brand,.brand small,.menu){color:#17304b}
body:is([data-page=home],[data-page=about],[data-page=contact],[data-page=owner]) #header nav a:is(.active,[aria-current=page]){color:#17304b;border-color:#17304b}
body #header nav a:hover{text-decoration:underline;text-underline-offset:6px}
body #header a:focus-visible,body #header button:focus-visible{outline-color:currentColor}
/* LANDING ANIMATION PREVIEW — remove this block to restore the approved still design. */
@keyframes memory-arrive{from{opacity:0;translate:0 22px}to{opacity:1;translate:0 0}}
@keyframes memory-light{from{opacity:0;transform:translateX(-30%)}50%{opacity:.32}to{opacity:0;transform:translateX(40%)}}
@media(prefers-reduced-motion:no-preference){
body[data-page=home]:not(.no-motion) .bento-top{animation:memory-arrive .85s ease-out both}
body[data-page=home]:not(.no-motion) .quick-albums{animation:memory-arrive .85s .14s ease-out both}
body[data-page=home]:not(.no-motion) .contributions{animation:memory-arrive .85s .25s ease-out both}
body[data-page=home]:not(.no-motion) .phone-section{animation:memory-arrive .85s .35s ease-out both}
body[data-page=home]:not(.no-motion) .bento-hero:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(115deg,transparent 25%,#ffdfa175 48%,transparent 70%);animation:memory-light 3s .5s ease-out both}
body[data-page=home]:not(.no-motion) :is(.quick-card,.guest-card,.contribution-item,.action,.hero-portrait,.phone){transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s ease,filter .4s ease}
body[data-page=home]:not(.no-motion) .quick-card img{transition:transform .7s ease,filter .7s ease}
body[data-page=home]:not(.no-motion) :is(.round-arrow,.action span){transition:transform .35s ease}
@media(hover:hover) and (pointer:fine){
body[data-page=home]:not(.no-motion) .quick-card:hover{transform:translateY(-7px);box-shadow:0 16px 28px #3b281f30}
body[data-page=home]:not(.no-motion) .quick-card:hover img{transform:scale(1.07);filter:saturate(1.12)}
body[data-page=home]:not(.no-motion) .quick-card:hover .round-arrow{transform:rotate(-35deg)}
body[data-page=home]:not(.no-motion) .guest-card:hover{transform:translateY(-4px);box-shadow:0 15px 34px #3b281f18}
body[data-page=home]:not(.no-motion) .action:hover{transform:translateY(-3px);box-shadow:0 9px 20px #17304b25}
body[data-page=home]:not(.no-motion) .action:hover span{transform:translateX(5px)}
body[data-page=home]:not(.no-motion) .hero-portrait:hover{transform:rotate(0deg) scale(1.055);box-shadow:0 16px 35px #0005}
body[data-page=home]:not(.no-motion) .contribution-item:hover{transform:translateY(-5px);filter:brightness(1.05)}
body[data-page=home]:not(.no-motion) .phone:hover{transform:rotate(0deg) translateY(-7px)}
}
}
/* END LANDING ANIMATION PREVIEW */

/* Clear owner controls, including the currently selected panel. */
.dashside button.active{background:#173e6b;color:#fff;font-weight:600}
.dashside p{color:#40536a}
.dashmain .action:not(.primary){background:#edf0f5;color:#17304b;border-color:#aebdcb}
/* Legible text and form fields on the remaining light pages. */
body:is([data-page=about],[data-page=contact],[data-page=owner]){color:#17304b;--ink:#17304b;--muted:#526176;--line:#abbccd}
body[data-page=contact] .action.primary{background:#173e6b;color:#fff;border-color:#173e6b}
body[data-page=contact] :is(input,textarea){background:#fff;color:#17304b}
/* Approved site-wide typography: Georgia, including navigation and form controls. */
html body,html body *,html body *::before,html body *::after{font-family:Georgia,'Times New Roman',serif!important}
