.premium-screen{
 --night:#111e2b;--cream:#f2ecdf;--champagne:#d5b981;--dim:#aab1b6;
 position:relative;isolation:isolate;height:100dvh;min-height:700px;overflow:hidden;
 padding:26px 4vw 18px;color:var(--cream);display:grid;
 grid-template-rows:52px 116px minmax(0,1fr) 58px;
 background:radial-gradient(ellipse at 5% 65%,#28435188,transparent 52%),radial-gradient(ellipse at 100% 0%,#47505755,transparent 48%),linear-gradient(120deg,#101c29,#172936 65%,#101b27);
}
.premium-screen::before{content:'';position:absolute;z-index:-1;inset:12px;border:1px solid #c8b58b24;pointer-events:none}
.screen-orbit{position:absolute;z-index:-1;width:72vw;height:72vw;border:1px solid #d5b98112;border-radius:50%;left:-22vw;top:1vh;pointer-events:none;box-shadow:0 0 0 55px #d5b98103,0 0 0 56px #d5b9810b,0 0 0 120px #d5b98102}
.premium-screen .screen-top{padding:0 0 15px;border-color:#d5b98135;min-width:0}
.screen-identity{display:flex;align-items:center;gap:14px;min-width:0}
.company-seal{width:35px;height:35px;display:grid;place-items:center;border:1px solid #d5b98175;border-radius:50%;color:var(--champagne);font:21px Georgia}
.premium-screen .company{font-size:18px;letter-spacing:1px;overflow-wrap:anywhere;max-width:50vw}
.edition{display:flex;align-items:center;gap:20px;font-size:10px;letter-spacing:2.3px;color:#bec2c0;white-space:nowrap}
.edition i{height:18px;width:1px;background:#bba77e66}.edition b{font:24px Georgia;letter-spacing:2px;color:var(--champagne)}
.premium-screen .screen-title{padding:14px 0 18px;align-items:center;gap:24px}
.month-heading{display:flex;align-items:baseline;gap:25px}.month-number{font:15px Georgia;color:var(--champagne);letter-spacing:3px}
.premium-screen .screen-title h1{font:clamp(52px,5.4vw,94px)/1 Georgia,serif;letter-spacing:-3px;color:var(--cream);display:flex;gap:28px;align-items:center}
.title-star{color:var(--champagne);font:38px Georgia;transform:rotate(12deg)}
.month-intro{display:flex;flex-direction:column;gap:4px;text-align:right;font-size:11px;letter-spacing:1px;color:var(--dim)}
.month-intro em{font:italic 22px Georgia;color:var(--champagne);letter-spacing:0}
.premium-screen .screen-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(340px,.8fr);gap:5vw;padding:0 0 24px;min-height:0;align-items:stretch}
.gallery-stage{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:0;position:relative;padding:0 2vw}
.gallery-label{display:flex;justify-content:space-between;width:100%;max-width:100%;color:#c3b48f;text-transform:uppercase;font-size:10px;letter-spacing:2.3px;padding:0 0 16px;border-bottom:1px solid #c8b58b22;margin-bottom:18px}
.premium-screen .portraits{display:grid;grid-template-columns:repeat(var(--columns),minmax(0,1fr));gap:18px 22px;width:min(100%,calc(((100dvh - 430px) / var(--rows) - 62px) * var(--columns)));max-width:none;min-height:0;margin:auto 0;flex-shrink:0}
.premium-screen .portrait{background:transparent;border:0;border-radius:0;padding:0;box-shadow:none;min-width:0}
.portrait-image{position:relative;aspect-ratio:1;border:1px solid #d5b98165;padding:5px;background:#ffffff06;box-shadow:0 14px 28px #0004}
.premium-screen .portrait img{width:100%;height:100%;aspect-ratio:1;object-fit:contain;border-radius:0;padding:0;background:#20323e;display:block}
.photo-corner{position:absolute;right:-1px;bottom:-1px;width:24px;height:24px;border-right:2px solid var(--champagne);border-bottom:2px solid var(--champagne)}
.premium-screen .portrait figcaption{display:flex;align-items:center;gap:14px;margin-top:12px;min-width:0}
.birthday-date{display:flex;flex-direction:column;align-items:center;min-width:40px;border-right:1px solid #d5b98155;padding-right:14px;flex-shrink:0}
.premium-screen .portrait strong{font:27px/1 Georgia;color:var(--champagne);margin:0}
.premium-screen .birthday-date span{font:9px/1.4 Arial;color:#bfb7a4;margin-top:3px;padding:0}
.premium-screen .portrait-name{font:clamp(13px,1.4vw,22px)/1.15 Georgia;color:var(--cream);overflow-wrap:anywhere;padding:0}
.premium-screen.group .portraits{width:min(100%,calc(((100dvh - 380px) / var(--rows) - 50px) * var(--columns)))}
.premium-screen.group .portrait figcaption{flex-direction:column;align-items:flex-start;gap:5px;margin-top:9px}
.premium-screen.group .birthday-date{flex-direction:row;gap:6px;border:0;padding:0;min-width:0;align-items:baseline}
.premium-screen.group .birthday-date strong{font-size:20px}.premium-screen.group .birthday-date span{font-size:10px;margin:0}
.premium-screen.group .portrait-name{font-size:16px;line-height:1.15}
.premium-screen.solo .portrait-name{font-size:clamp(24px,2.5vw,42px)}
.premium-screen.solo .portrait figcaption{margin-top:19px;gap:22px}.premium-screen.solo .portrait strong{font-size:45px}.premium-screen.solo .birthday-date{padding-right:22px}.premium-screen.solo .birthday-date span{font-size:11px}
.gallery-footnote{display:flex;align-items:center;gap:15px;margin-top:20px;font:italic 15px Georgia;color:#bcb49e;max-width:100%}.gold-line{height:1px;width:45px;background:var(--champagne);flex-shrink:0}
.month-aside{display:flex;flex-direction:column;justify-content:center;gap:18px;min-width:0;min-height:0}
.premium-screen .calendar-box{border:1px solid #e5d4b5;border-radius:2px;padding:24px 28px;background:linear-gradient(140deg,#faf6ed,#eee6d6);color:#24333b;box-shadow:0 22px 65px #0003;position:relative;margin:0;max-width:none}
.premium-screen .calendar-box::before{content:'';position:absolute;inset:7px;border:1px solid #b4a07944;pointer-events:none}
.calendar-heading{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid #b5a88a55;padding-bottom:18px;margin-bottom:20px;font:23px Georgia}.calendar-heading>span:last-child{font-size:14px;letter-spacing:3px;color:#9b8252}
.premium-screen .days{gap:5px;grid-auto-rows:minmax(0,1fr)}
.premium-screen .days b{font:10px Arial;letter-spacing:1px;text-transform:uppercase;padding-bottom:8px;color:#89754d}
.premium-screen .days span{font:clamp(18px,1.8vw,30px)/1 Georgia;min-height:0;height:clamp(32px,4.9vh,57px);aspect-ratio:auto;border-bottom:1px solid #c4b79a44;color:#263842}
.premium-screen .days span:empty{border-color:transparent}
.premium-screen .days span.weekend:not(.birthday){color:#9b8054}
.premium-screen .days span.birthday{background:#263c49;border:1px solid #be9c60;border-radius:2px;color:#fff8e7;box-shadow:0 3px 7px #162b3b1a}
.calendar-note{display:flex;align-items:center;gap:9px;border-top:1px solid #b5a88a55;margin-top:14px;padding-top:15px;font-size:10px;color:#776a51}.calendar-note b{margin-left:auto;font:20px Georgia;color:#6c5733}.birthday-dot{height:6px;width:6px;background:#9e8150;border-radius:50%}
.premium-screen .legend{font-size:10px;color:#7a694c;margin:8px 0 0}
.premium-screen .qr-area{justify-content:flex-start;gap:20px;padding:10px 5px;margin:0;color:var(--cream);position:relative}
.qr-frame{padding:5px;border:1px solid #d5b98155;background:#faf6ed;border-radius:2px;flex-shrink:0}
.premium-screen .qr-area img{width:94px;height:94px;display:block;border:0;border-radius:0}
.qr-eyebrow{display:block;text-transform:uppercase;letter-spacing:1.5px;color:var(--champagne);font-size:9px;margin-bottom:5px}
.premium-screen .qr-area strong{display:block;font:22px/1.1 Georgia;font-weight:400}.qr-hint{display:block;font-size:10px;color:#b2babe;margin-top:8px}.qr-arrow{font:38px Georgia;color:var(--champagne);margin-left:auto;padding-right:14px}
.premium-screen .screen-bottom{padding-top:12px;gap:20px;border-color:#d5b98135;min-width:0}
.screen-signature{font:italic 17px Georgia;color:#c4bba7;overflow-wrap:anywhere;max-width:50%}
.screen-controls{display:flex;align-items:center;gap:8px;margin-left:auto}
.premium-screen .screen-controls button{color:#e6ddc9;background:#ffffff05;border:1px solid #d5b98135;border-radius:3px;min-height:34px;padding:5px 11px;font-size:15px;font-weight:400}
.premium-screen .screen-controls button:hover{background:#d5b98122}.premium-screen .screen-controls .auto-control{font-size:11px;margin-left:12px;padding:8px 14px}
.screen-page{font:15px Georgia;color:var(--champagne);margin:0 7px}.screen-page i{font:11px Arial;color:#91a0a7;padding-left:8px}
.collection-complete{display:flex;align-items:center;gap:20px;color:#aeb8bb}.collection-complete>span{font:46px Georgia;color:var(--champagne)}.collection-complete p{font-size:12px;line-height:1.8}.collection-complete strong{color:var(--cream);font-weight:400}
.month-invitation{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;flex:1}.invitation-star{font:85px Georgia;color:var(--champagne)}.month-invitation h2{font:clamp(30px,3.7vw,60px)/1.1 Georgia;margin:24px 0 10px}.month-invitation p{max-width:320px;font-size:13px;color:#b7bdbe}
@media(min-width:1700px){.premium-screen{padding:32px 4vw 22px;grid-template-rows:60px 135px minmax(0,1fr) 64px}.premium-screen .calendar-box{padding:30px 35px}.calendar-heading{font-size:29px}.premium-screen .qr-area img{width:110px;height:110px}.premium-screen .qr-area strong{font-size:28px}}
@media(max-height:820px) and (min-width:901px){.premium-screen{min-height:620px;padding-top:18px;grid-template-rows:42px 90px minmax(0,1fr) 48px}.premium-screen .screen-title h1{font-size:60px}.premium-screen .calendar-box{padding:16px 22px}.calendar-heading{padding-bottom:12px;margin-bottom:12px}.premium-screen .days span{height:30px}.premium-screen .qr-area img{width:76px;height:76px}.premium-screen .qr-area strong{font-size:20px}.gallery-label{margin-bottom:10px;padding-bottom:10px}.gallery-footnote{margin-top:12px;font-size:12px}.premium-screen .portraits{width:min(100%,calc(((100dvh - 350px) / var(--rows) - 55px) * var(--columns)))}.premium-screen.group .portraits{width:min(100%,calc(((100dvh - 330px) / var(--rows) - 50px) * var(--columns)))}.premium-screen.solo .portrait strong{font-size:34px}}
@media(max-width:900px){.premium-screen{height:auto;min-height:100dvh;overflow:visible;display:flex;padding:24px 6vw;gap:0}.premium-screen .screen-top{width:100%;padding-bottom:18px}.edition{font-size:8px;letter-spacing:1px;gap:9px}.edition i{display:none}.edition b{font-size:20px}.company-seal{width:28px;height:28px;font-size:18px}.premium-screen .company{font-size:15px;max-width:35vw}.premium-screen .screen-title{width:100%;padding:28px 0}.premium-screen .screen-title h1{font-size:64px}.month-intro{display:none}.month-number{font-size:12px}.month-heading{gap:12px}.title-star{font-size:24px}.premium-screen .screen-layout{display:flex;flex-direction:column;width:100%;gap:32px;padding-bottom:26px}.gallery-stage{padding:0;width:100%}.premium-screen .portraits{width:100%;max-width:660px;gap:16px 12px}.premium-screen.solo .portraits{max-width:460px}.premium-screen .portrait-name{font-size:16px}.premium-screen .portrait strong{font-size:24px}.premium-screen.solo .portrait-name{font-size:30px}.gallery-footnote{font-size:13px}.month-aside{width:100%;max-width:660px;align-self:center}.premium-screen .calendar-box{padding:24px}.premium-screen .days span{height:45px;font-size:25px}.premium-screen .screen-bottom{width:100%;flex-wrap:wrap}.screen-signature{max-width:100%;font-size:15px}.screen-controls{margin-left:0}.premium-screen .qr-area img{width:100px;height:100px}.month-invitation{padding:24px 0 40px}}
@media(max-width:520px){.premium-screen{padding:20px}.premium-screen .screen-title h1{font-size:54px;gap:16px}.premium-screen .edition{font-size:0;gap:0}.premium-screen .company{max-width:60vw}.premium-screen .portraits{grid-template-columns:repeat(2,minmax(0,1fr))}.premium-screen.solo .portraits{grid-template-columns:1fr}.premium-screen .portrait figcaption{gap:9px}.birthday-date{padding-right:9px;min-width:32px}.premium-screen .portrait-name{font-size:16px}.premium-screen .calendar-box{padding:22px 18px}.premium-screen .days span{height:36px;font-size:23px}.gallery-label{font-size:8px;letter-spacing:1.5px}.screen-controls{gap:4px}.premium-screen .screen-controls .auto-control{margin-left:4px;padding:8px}.premium-screen .qr-area{gap:14px}.qr-arrow{padding-right:0}.gallery-footnote{font-size:12px;gap:10px}.gold-line{width:24px}}

@media(max-width:900px){.premium-screen.group .portraits{width:100%}}

@media(min-width:901px){
 .premium-screen .gallery-stage{container-type:size}
 .premium-screen .portraits,.premium-screen.group .portraits{width:min(100%,calc(((100cqh - 110px - (var(--rows) - 1) * 18px) / var(--rows) - 62px) * var(--columns) + (var(--columns) - 1) * 22px))}
 .premium-screen.solo .portraits{width:min(100%,calc(100cqh - 185px))}
}

.premium-screen.small-group .portrait-name{font-size:22px}.premium-screen.small-group .birthday-date strong{font-size:24px}

/* The photo frame is always square; captions live below it. */
.premium-screen .gallery-stage{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:14px;padding:0;align-items:stretch;justify-content:stretch}
.premium-screen .gallery-label{margin:0;padding-bottom:12px}
.premium-screen .gallery-footnote{margin:0;min-height:22px;justify-content:center}
.premium-screen .mosaic-gallery.portraits{--caption-space:86px;--gallery-gap:14px;width:min(100%,calc(((100cqh - 90px - (var(--mosaic-rows) - 1) * var(--gallery-gap)) / var(--mosaic-rows) - var(--caption-space)) * var(--mosaic-columns) + (var(--mosaic-columns) - 1) * var(--gallery-gap)));height:auto;max-width:100%;margin:auto;gap:var(--gallery-gap);grid-template-areas:var(--mosaic-areas);grid-template-columns:repeat(var(--mosaic-columns),minmax(0,1fr));grid-template-rows:none;align-self:center}
.premium-screen .mosaic-gallery .portrait{display:block;min-height:0;border:0;background:transparent;overflow:visible}
.premium-screen .mosaic-gallery .portrait-image{aspect-ratio:1;height:auto;width:100%;padding:0;border:1px solid #d5b98155;overflow:hidden;box-shadow:0 8px 28px #0003}
.premium-screen .mosaic-gallery .portrait-image::before{content:none}
.premium-screen .mosaic-gallery .portrait-image img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:1;object-fit:contain;background:#20323e}
.premium-screen .mosaic-gallery .portrait figcaption{flex-direction:column;align-items:flex-start;gap:5px;margin:10px 0 0;padding:0;min-height:0;border:0;background:transparent}
.premium-screen .mosaic-gallery .birthday-date{flex-direction:row;align-items:baseline;border:0;gap:6px;padding:0;min-width:0}
.premium-screen .mosaic-gallery .birthday-date strong{font-size:24px}
.premium-screen .mosaic-gallery .birthday-date span{font-size:10px;margin:0}
.premium-screen .mosaic-gallery .portrait-name{font-size:clamp(14px,1.15vw,20px);line-height:1.2}
.premium-screen.solo .mosaic-gallery .portrait figcaption{flex-direction:row;align-items:center;gap:20px}
.premium-screen.solo .mosaic-gallery .portrait-name{font-size:clamp(24px,2.2vw,36px)}
@media(max-width:900px){.premium-screen .gallery-stage{container-type:normal;grid-template-rows:auto auto auto}.premium-screen .mosaic-gallery.portraits{width:100%;height:auto;max-width:none;margin:0;aspect-ratio:auto;min-height:0}.premium-screen .mosaic-gallery .portrait-name{font-size:16px}}
@media(max-width:520px){.premium-screen .mosaic-gallery.portraits{grid-template-areas:none;grid-template-columns:repeat(min(3,var(--mosaic-columns)),minmax(0,1fr));grid-template-rows:none;grid-auto-rows:auto;gap:16px 10px}.premium-screen .mosaic-gallery .portrait{grid-area:auto!important;grid-column:auto!important}.premium-screen .mosaic-gallery .birthday-date{gap:3px;flex-wrap:wrap}.premium-screen .mosaic-gallery .birthday-date strong{font-size:19px}.premium-screen .mosaic-gallery .birthday-date span{font-size:9px}.premium-screen .mosaic-gallery .portrait-name{font-size:13px}.premium-screen.solo .mosaic-gallery .portrait-name{font-size:26px}}
@media(max-height:820px) and (min-width:901px){
 .premium-screen .mosaic-gallery.portraits{--caption-space:64px}
 .premium-screen.group .mosaic-gallery .portrait figcaption{margin-top:6px;gap:3px}
 .premium-screen.group .mosaic-gallery .portrait-name{font-size:13px;line-height:1.15}
 .premium-screen.group .mosaic-gallery .birthday-date strong{font-size:18px}
 .premium-screen.group .mosaic-gallery .birthday-date span{display:none}
}
.company-logo{max-width:180px;max-height:52px;object-fit:contain;background:#fff;padding:6px;border-radius:4px}.premium-screen.branded{--champagne:color-mix(in srgb,var(--brand-accent) 55%,white);background:linear-gradient(135deg,color-mix(in srgb,var(--brand-main) 35%,#101d29),#172e3b)}.branded .calendar-box{background:var(--brand-paper);color:var(--brand-ink)}.branded .calendar-box .days span,.branded .calendar-box .days b,.branded .calendar-box h2,.branded .calendar-box .calendar-year,.branded .calendar-box .legend{color:var(--brand-ink)}.branded .calendar-box .days .birthday{background:var(--brand-main);color:var(--brand-onMain)}
.branded .calendar-heading span,.branded .calendar-note,.branded .calendar-note b{color:var(--brand-ink)}.branded .birthday-dot{background:var(--brand-main)}
.premium-screen.style-modern .month-heading h1,.premium-screen.style-modern .portrait-name{font-family:Arial,sans-serif;font-weight:700}.premium-screen.style-modern .screen-orbit,.premium-screen.style-modern .title-star{display:none}.premium-screen.style-modern .calendar-box{border-radius:0;box-shadow:none;border-top:6px solid var(--brand-main)}.premium-screen.style-modern .portrait{border:0}.premium-screen.style-gala:after{content:'';position:absolute;inset:12px;border:1px solid var(--brand-accent);pointer-events:none}.premium-screen.style-gala .calendar-box{outline:1px solid var(--brand-accent);outline-offset:-9px}.premium-screen.style-gala .portrait{border-color:var(--brand-accent)}
.premium-screen.art-surface{--champagne:var(--accent);background:var(--paper);color:var(--ink)}.premium-screen.art-surface.design-night,.premium-screen.art-surface.design-graphite,.premium-screen.art-surface.design-blue,.premium-screen.art-surface.design-aurora,.premium-screen.art-surface.design-deco{background:var(--main);color:var(--onMain);--champagne:color-mix(in srgb,var(--accent) 60%,white)}.premium-screen.art-surface .screen-orbit{display:none}.premium-screen.art-surface .screen-top,.premium-screen.art-surface .month-heading h1,.premium-screen.art-surface .portrait-name,.premium-screen.art-surface .screen-bottom,.premium-screen.art-surface .month-intro,.premium-screen.art-surface .gallery-footnote,.premium-screen.art-surface .gallery-label,.premium-screen.art-surface .birthday-date strong,.premium-screen.art-surface .birthday-date span,.premium-screen.art-surface .company,.premium-screen.art-surface .edition,.premium-screen.art-surface .qr-area,.premium-screen.art-surface .collection-complete{color:inherit}.premium-screen.art-surface .portrait{background:color-mix(in srgb,var(--paper) 8%,transparent);border-color:color-mix(in srgb,var(--accent) 50%,transparent)}.premium-screen.art-surface .calendar-box{background:var(--paper);color:var(--ink)}.premium-screen.art-surface:before,.premium-screen.art-surface:after{opacity:.25}.premium-screen.art-surface.design-emerald:before{inset:8px;border-radius:0;border-width:2px}.premium-screen.art-surface.design-architecture h1,.premium-screen.art-surface.design-red h1,.premium-screen.art-surface.design-blue h1{font-family:Arial,sans-serif;font-weight:800}.premium-screen.art-surface .screen-controls button{color:inherit;border-color:currentColor}.premium-screen.art-surface .screen-controls{color:inherit}
.premium-screen.art-surface .screen-signature,.premium-screen.art-surface .qr-hint,.premium-screen.art-surface .month-intro em,.premium-screen.art-surface .screen-page,.premium-screen.art-surface .month-number{color:inherit}.premium-screen.art-surface .calendar-box .days span.weekend:not(.birthday){color:var(--ink)}
