:root{--bg:#f8f7f3;--paper:#fffefa;--ink:#283b32;--muted:#69736b;--green:#365d4a;--line:#e3e6dd;--sage:#e9eee5;--peach:#f5e9dc;--danger:#a13e36}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.65}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button,input,textarea{font:inherit}button,.button{background:var(--green);color:#fff;border:1px solid var(--green);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;gap:.5rem;min-height:46px;padding:12px 21px;font-weight:600;line-height:1.5;text-decoration:none;display:inline-flex}button:hover,.button:hover{filter:brightness(.94);text-decoration:none}button:disabled{opacity:.55;cursor:wait}.secondary{color:var(--green);background:0 0;border-color:#cbd4ca}.text-button{min-height:44px;color:var(--muted);background:0 0;border:0;padding:8px 0;font-size:13px}.danger{color:var(--danger)}.danger-button{background:var(--danger);border-color:var(--danger)}:focus-visible{outline-offset:4px;outline:3px solid #ae7539}h1,h2,p{margin-top:0}h1,h2{font-family:Georgia,Times New Roman,serif;font-weight:400;line-height:1.2}h1{letter-spacing:-1.5px;overflow-wrap:anywhere;margin-bottom:14px;font-size:clamp(32px,4vw,46px)}h2{letter-spacing:-.4px;margin-bottom:22px;font-size:25px}p{margin-bottom:16px}em{color:#648269;font-weight:400}small,.hint{color:var(--muted);font-size:13px;font-weight:400;line-height:1.65}.hint{margin:8px 0;display:block}.intro{color:var(--muted);margin:0;font-size:15px}.eyebrow{letter-spacing:2.3px;color:#647c63;margin-bottom:16px;font-size:10px;font-weight:700;display:block}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;max-width:1280px;margin:auto;padding:25px 54px;display:flex}.brand{align-items:center;gap:12px;font-family:Georgia,serif;font-size:23px;line-height:1.25;display:inline-flex}.brand:hover{text-decoration:none}.brand-logo{object-fit:contain;flex-shrink:0;width:280px;max-width:100%;height:auto;display:block}.brand-logo-login{width:300px}.stat-note .brand-logo{flex-shrink:1;width:150px}.header-right{align-items:center;gap:30px;display:flex}.workspace-label{letter-spacing:1.8px;color:var(--muted);font-size:10px}.admin-main{max-width:1172px;min-height:75vh;margin:auto;padding:52px 0 65px}.page-heading{justify-content:space-between;align-items:center;gap:28px;margin-bottom:36px;display:flex}.sage-dot{color:#819671}.stats{border:1px solid var(--line);background:var(--paper);border-radius:10px;grid-template-columns:1fr 1fr 1.1fr;margin-bottom:38px;display:grid}.stats>div{align-items:center;gap:18px;padding:25px 30px;display:flex}.stats>div+div{border-left:1px solid var(--line)}.stats span:not(.stat-number){color:var(--muted);max-width:120px;font-size:12px}.stat-number{font-family:Georgia,serif;font-size:38px;line-height:1}.stats .stat-note{background:var(--sage);border-radius:0 10px 10px 0}.stat-note>span{color:#7d906e!important;font-size:40px!important}.stat-note p{color:var(--muted);margin:0;font-size:12px}.stat-note strong{color:var(--ink);font-weight:500}.panel{background:var(--paper);border:1px solid var(--line);border-radius:10px;overflow:hidden}.padded{padding:30px}.section-heading{justify-content:space-between;align-items:center;gap:18px;padding:24px 28px;display:flex}.section-heading h2{margin:0;font-family:Arial,sans-serif;font-size:16px;font-weight:600}.section-heading .hint{margin:0;font-size:11px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%}th{text-transform:uppercase;letter-spacing:1.2px;color:var(--muted);background:#f5f6f0;padding:12px 22px;font-size:10px;font-weight:500}td{border-top:1px solid #eef0e9;padding:19px 22px;font-size:12px}.media-name{align-items:center;gap:15px;min-width:230px;display:flex}.media-name strong{overflow-wrap:anywhere;max-width:300px;font-weight:500}.media-icon{background:var(--peach);color:#a38055;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:39px;height:43px;font-size:24px;display:flex}.media-icon.video{background:var(--sage);color:#648365}.date-cell{white-space:nowrap;color:var(--muted)}.badge{color:#73776c;white-space:nowrap;background:#eeeee9;border-radius:20px;padding:3px 10px;font-size:10px;display:inline-block}.badge.active{color:#54734c;background:#ecf2e8}.badge:before{content:"•";margin-right:5px}.row-actions{white-space:nowrap;color:#526b54;gap:17px;font-size:11px;display:flex}.how-it-works{text-align:center;margin-top:40px}.how-it-works .eyebrow{color:#899080;font-size:9px}.how-it-works>div{color:var(--muted);justify-content:center;gap:40px;font-size:11px;display:flex}.how-it-works b{color:#8e9d81;margin-right:9px;font-family:Georgia,serif;font-size:18px;font-weight:400}.site-footer{border-top:1px solid var(--line);color:#6b7868;justify-content:space-between;max-width:1172px;margin:auto;padding:22px 0 30px;font-size:12px;display:flex}.site-footer span{color:#899080;font-size:11px}.empty-state{text-align:center;padding:55px 25px 65px}.empty-state>span{color:#8b9d79;font-size:45px}.empty-state h2{margin:18px 0 12px}.empty-state p{color:var(--muted);max-width:380px;margin:0 auto 25px}.pagination{justify-content:center;gap:25px;padding:20px;display:flex}.back-link{color:var(--muted);margin-bottom:28px;font-size:13px;display:inline-block}.editor-grid{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);align-items:start;gap:28px;display:grid}.stack{flex-direction:column;gap:22px;display:flex}.stack>p{margin-bottom:0}label{flex-direction:column;gap:8px;font-size:13px;font-weight:600;display:flex}input,.media-title-input{width:100%;color:var(--ink);background:#fffefa;border:1px solid #d6ddd2;border-radius:6px;min-width:0;padding:12px 14px;display:block}input::placeholder{color:#8d9489;font-weight:400}.media-title-input{resize:vertical}.media-title{white-space:pre-line;overflow-wrap:anywhere}input[readonly]{background:var(--bg);font-size:12px}label .hint{margin:0}.file-field{text-align:center;overflow-wrap:anywhere;background:#f6f8f2;border:1px dashed #b3c0ac;border-radius:8px;align-items:center;gap:10px;padding:30px 20px;position:relative}.file-field input{background:#fff;max-width:100%;font-size:12px}.upload-symbol{color:#75916c;font-size:32px;font-weight:400}.note-card{background:var(--sage);border-radius:10px;padding:30px}.note-card>span{color:#7b936e;font-size:42px}.note-card h2{margin-top:16px;font-size:29px}.note-card p{color:#67775f;font-size:13px}.divider{background:var(--line);height:1px;margin:6px 0}.between{justify-content:space-between;align-items:center;gap:20px;display:flex}.between strong{font-size:14px}.between .hint{margin-bottom:0}.between button{flex-shrink:0}.success,.error,.notice{border-radius:7px;padding:16px 20px;font-size:14px}.success{color:#3c6338;background:#eaf2e5}.error{color:#923d32;background:#fae9e4}.notice{background:#f0eee1;margin:20px 0}.notice h2{font-size:22px}.notice p:last-child{margin-bottom:0}progress{width:100%;height:10px;accent-color:var(--green)}dialog{border:1px solid var(--line);max-width:470px;color:var(--ink);background:var(--paper);border-radius:12px;padding:30px}dialog::backdrop{background:#1e352b70}.actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;display:flex}.qr-card{text-align:center}.qr-card label{text-align:left;margin-top:25px}.qr-preview{margin:10px auto 22px}.qr-preview img{max-width:100%;height:auto;margin:auto;display:block}.qr-card>.button{width:100%;font-size:13px}.audio-player{background:#f0f2e9;border-radius:8px;flex-direction:column;align-items:center;gap:25px;padding:25px;display:flex}.audio-art{color:#78926c;background:#dce5d3;border-radius:50%;justify-content:center;align-items:center;width:100px;height:100px;font-size:55px;display:flex}audio{width:100%;max-width:100%}.video-player{aspect-ratio:16/9;background:#24362e;border-radius:8px;position:relative;overflow:hidden}.video-player iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.player-message{background:var(--sage);text-align:center;border-radius:8px;padding:25px}.player-message h2{font-size:23px}.player-message>span{font-size:35px}.player-message p{font-size:14px}.public-page{flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:45px 20px;display:flex}.public-brand{color:#819671;align-items:center;gap:10px;margin-bottom:35px;font-size:35px;display:flex}.public-brand span{color:var(--ink);font-family:Georgia,serif;font-size:21px}.public-card{background:var(--paper);border:1px solid var(--line);text-align:center;border-radius:12px;width:100%;max-width:650px;padding:38px}.public-card h1{letter-spacing:-.4px;white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:30px;font-size:34px;line-height:1.4}.public-footer{color:var(--muted);text-align:center;margin:30px 0 0;font-size:12px}.login-page{background:radial-gradient(ellipse at 10% 80%, #e7eddc, transparent 55%), var(--bg);flex-direction:column;align-items:center;min-height:100dvh;padding:40px 20px;display:flex}.login-card{width:100%;max-width:450px;margin:65px 0 25px}.login-card h1{font-size:45px}.login-card .intro{margin:20px 0 35px}.login-card .centered{text-align:center;margin-top:25px}.login-footer{color:#899080;font-family:Georgia,serif;font-size:15px;font-style:italic}.loading{text-align:center;padding:80px}.loading .brand-logo{margin:0 auto 16px}.sr-only,.skip-link:not(:focus){clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link:focus{padding:10px;display:block}@media (min-width:1400px){.admin-main{padding-top:65px}}@media (max-width:1250px){.admin-main,.site-footer{margin-left:35px;margin-right:35px}.site-header{padding:25px 35px}.stats>div{padding:23px}}@media (max-width:800px){.admin-main{padding-top:35px}.page-heading{flex-direction:column;align-items:flex-start;gap:22px}.stats{grid-template-columns:1fr 1fr}.stats .stat-note{display:none}.stats>div{gap:12px;padding:22px 18px}.stat-number{font-size:32px}.editor-grid{grid-template-columns:1fr}.note-card{order:2}.how-it-works>div{gap:20px}.workspace-label{display:none}.header-right{gap:0}.section-heading{padding:20px}.site-header{padding:20px 25px}.admin-main,.site-footer{margin-left:25px;margin-right:25px}.brand{font-size:20px}.brand .brand-logo{width:240px;height:auto}}@media (max-width:480px){.admin-main,.site-footer{margin-left:18px;margin-right:18px}.site-header{padding:20px 18px}.brand{gap:8px;font-size:18px}.brand .brand-logo{width:210px;height:auto}.header-right .text-button{font-size:11px}.page-heading{margin-bottom:28px}h1{font-size:33px}.stats span:not(.stat-number){font-size:10px}.stats>div{padding:20px 12px}.stat-number{font-size:30px}.section-heading{flex-direction:column;align-items:flex-start;gap:6px}.padded{padding:23px}.between{flex-direction:column;align-items:flex-start}.how-it-works>div{flex-direction:column;gap:0}.how-it-works p{margin-bottom:10px}.site-footer{gap:15px;font-size:10px}.site-footer span{font-size:9px}.public-page{justify-content:flex-start;padding:28px 14px}.public-brand{margin:20px 0 28px}.public-card{padding:28px 17px}.public-card h1{font-size:29px}.audio-player{padding:20px 10px}.login-card{margin-top:50px}.login-card h1{font-size:40px}.row-actions a{padding:8px 0}}select{font:inherit;background:var(--paper);width:100%;min-width:0;color:var(--ink);border:1px solid #d6ddd2;border-radius:6px;padding:12px 14px;display:block}.album-filter{flex-wrap:wrap;align-items:end;gap:12px;padding:0 28px 22px;display:flex}.album-filter label{flex:1;min-width:180px}.album-cell{overflow-wrap:anywhere;min-width:160px;max-width:240px}.album-fields .notice{margin:0}.app-version{text-align:center;color:var(--muted);margin:0;padding:12px 24px;font-size:.75rem}.home-page{--home-accent:#aa5536;--home-cream:#f3eadf}.home-header,.home-hero,.home-concept,.home-gifts,.home-pricing,.home-contact,.home-footer{max-width:1120px;margin:0 auto}.home-header{justify-content:space-between;align-items:center;gap:24px;padding:20px 32px;display:flex}.home-header .brand-logo{width:270px}.home-header nav{align-items:center;gap:24px;font-size:14px;display:flex}.home-intro{text-align:left;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:40px;max-width:1120px;margin:0 auto;padding:32px 32px 24px;display:grid}.home-album-showcase{min-width:0;margin:0}.home-album-showcase>img{border-radius:16px;width:100%;height:auto;display:block}.home-hero{grid-template-columns:1.2fr 1fr;align-items:center;gap:60px;padding:60px 32px 80px;display:grid}.home-intro h1{letter-spacing:-1.7px;font-size:clamp(40px,4.5vw,58px);line-height:1.1}.home-page em{color:var(--home-accent)}.home-lead{color:var(--muted);margin:28px 0 20px;font-size:18px;line-height:1.8}.home-hero>div>p:not(.home-promise){color:var(--muted)}.home-promise{margin:26px 0;font:italic 21px Georgia,serif}.album-illustration{background:radial-gradient(ellipse at 60% 30%, #f3d1b8, var(--home-cream) 65%);border-radius:50% 50% 12px 12px;padding:42px 28px 28px}.album-stage{width:min(100%,285px);margin:0 auto;position:relative}.album-cover{aspect-ratio:3/4;color:#fff7ec;text-align:center;background:#365d4a;border-left:12px solid #284e40;border-radius:5px 12px 12px 5px;grid-template-rows:auto minmax(0,1fr);max-width:285px;margin:auto;padding:35px 28px 0;display:grid;transform:rotate(-7deg);box-shadow:15px 18px 35px #283b322e,inset -4px 0 #ffffff18}.album-cover>span{font:32px/1.15 Georgia,serif}.album-cover i{color:#eabd9b;font-size:26px}.album-window{aspect-ratio:4/3;color:#aa5536;background:#f6e5d5;border:8px solid #fff8eb;align-self:center;place-items:center;width:100%;font:75px Georgia,serif;display:grid;overflow:hidden}.album-window>img{object-fit:cover;width:100%;height:100%;min-height:0;display:block}.album-qr-card{z-index:1;text-align:center;background:#fff;border-radius:12px;width:fit-content;padding:10px 10px 8px;position:absolute;top:-62px;right:-72px;box-shadow:0 8px 24px #283b3220}.album-qr-card>span{color:#365d4a;margin-top:8px;font-size:13px;display:block}.album-qr{object-fit:contain;width:132px;height:132px;display:block}.album-caption{text-align:center;color:#796653;margin-top:32px;font:italic 15px/1.6 Georgia,serif}.home-concept{text-align:center;padding:65px 32px;scroll-margin-top:24px}.concept-layout{grid-template-columns:260px minmax(0,1fr);align-items:center;gap:48px;display:grid}.concept-copy{text-align:left}.concept-album-photo{margin:0}.concept-album-photo>img{border-radius:14px;width:100%;height:auto;display:block}.home-concept h2,.home-contact h2,.home-gifts h2,.home-pricing h2{font-size:clamp(32px,3.8vw,46px)}.concept-copy>p{max-width:740px;color:var(--muted);margin:0 auto 20px;font-size:17px;line-height:1.8}.home-quote{background:var(--sage);text-align:center;padding:55px 24px}.home-quote p{margin:0;font:italic clamp(25px,3.2vw,36px)/1.4 Georgia,serif}.home-gifts,.home-pricing{padding:70px 32px;scroll-margin-top:24px}.home-page h3{font:400 25px/1.35 Georgia,serif}.home-gifts>.eyebrow,.home-gifts>h2,.home-gifts>p:not(.calendar-note),.home-gifts>h3{text-align:center}.home-gifts>h2{max-width:700px;margin-left:auto;margin-right:auto}.home-gifts .occasion-list{justify-content:center}.home-story{background:var(--sage);border-top:4px solid var(--home-accent);border-radius:16px;grid-template-columns:1fr 1.15fr;align-items:start;gap:48px;max-width:1056px;margin:10px auto 30px;padding:48px;display:grid}.story-intro h2{margin-bottom:0;font-size:clamp(34px,3.8vw,46px);line-height:1.2}.story-content h3{margin-top:0}.story-content p{line-height:1.8}.story-content .button{margin-top:12px}.occasion-list{flex-wrap:wrap;gap:12px;margin:26px 0 38px;padding:0;list-style:none;display:flex}.occasion-list li{background:var(--home-cream);border-radius:30px;padding:12px 18px}.memory-list{color:var(--muted);grid-template-columns:repeat(2,minmax(0,1fr));column-gap:45px;padding-left:20px;display:grid}.memory-list li{break-inside:avoid;padding:0 0 14px 8px}.calendar-note{border-left:3px solid var(--home-accent);background:var(--home-cream);margin:28px 0 0;padding:22px;font:italic 21px/1.5 Georgia,serif}.home-pricing{border-top:1px solid var(--line)}.home-pricing>p{max-width:850px;color:var(--muted)}.pricing-cards{grid-template-columns:1fr 1fr;gap:24px;margin:32px 0 44px;display:grid}.pricing-cards article{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:28px}.price strong{color:var(--home-accent);font:42px Georgia,serif}.home-contact{grid-template-columns:.85fr 1.15fr;gap:65px;padding:70px 32px;scroll-margin-top:24px;display:grid}.home-contact>div>p{color:var(--muted);line-height:1.8}.home-contact>div>a{overflow-wrap:anywhere;font-size:14px}.contact-panel{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:32px}.contact-fields{grid-template-columns:1fr 1fr;gap:18px;display:grid}.contact-form textarea{resize:vertical;background:var(--paper);width:100%;color:var(--ink);font:inherit;border:1px solid #d6ddd2;border-radius:6px;padding:12px 14px;display:block}.contact-trap{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.contact-confirmation{padding:30px 0}.home-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:20px;padding:24px 32px;font-size:12px;display:flex}.home-footer p{margin:0}@media (max-width:760px){.home-intro{text-align:center;grid-template-columns:minmax(0,1fr);gap:24px;padding:24px 20px 20px}.concept-layout{grid-template-columns:minmax(0,1fr);gap:28px}.concept-copy{text-align:center}.concept-album-photo{width:min(100%,240px);margin:0 auto}.album-qr-card{top:-56px;right:-16px}.home-header{flex-wrap:wrap;justify-content:center;padding:16px 20px}.home-header .brand-logo{width:240px}.home-header nav{flex-wrap:wrap;justify-content:center;gap:18px}.home-hero{grid-template-columns:1fr;gap:38px;padding:35px 24px 45px}.home-intro h1{font-size:42px}.album-illustration{width:100%;max-width:420px;margin:auto}.home-concept,.home-gifts,.home-pricing{padding:45px 24px}.memory-list{grid-template-columns:1fr}.home-story{grid-template-columns:1fr;gap:24px;margin:0 24px 20px;padding:30px 24px}.pricing-cards{grid-template-columns:1fr}.home-contact{grid-template-columns:1fr;gap:25px;padding:50px 24px}.contact-panel{padding:24px}.contact-fields{grid-template-columns:1fr}.home-footer{flex-direction:column;padding:22px 24px}}.home-footer nav{flex-wrap:wrap;gap:12px 24px;display:flex}.legal-page{max-width:850px;margin:0 auto;padding:45px 24px 70px}.legal-page h1{margin-bottom:28px}.legal-page section{margin-top:32px}.legal-page h2{margin-bottom:12px;font-size:25px}.legal-page section p{overflow-wrap:anywhere;line-height:1.85}.legal-paragraph{white-space:pre-line}
