@import url('https://fonts.googleapis.com/css2?family=Bodoni+Moda:ital,wght@0,400;0,500;1,400;1,500&display=swap');
:root{--sky:#89cff0;--wine:#650000;--ink:#50202a;--muted:#666c70;--paper:#e4edef;--panel:#edf2f1;--sand:#e9e3da;--line:#50202a26;--serif:'Bodoni Moda',Georgia,serif;background:var(--paper);color:var(--ink);color-scheme:light;font-synthesis:none}
html{scroll-padding-top:115px}::selection{background:var(--wine);color:var(--paper)}[hidden]{display:none!important}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline-color:#236782}h1{color:var(--wine)}h1 em{color:inherit;font-style:italic}.eyebrow{color:var(--wine);font-size:.64rem;letter-spacing:.19em;margin-bottom:25px}.header{height:104px;min-height:104px;padding:20px 4.2%;position:sticky;top:0;background:#e4edefed;backdrop-filter:blur(18px);z-index:20}.wordmark{font-size:1.2rem;letter-spacing:.16em;color:var(--wine)}.wordmark span{font-size:.6rem;letter-spacing:.36em;color:var(--wine)}.header nav{gap:34px}.header nav a{font-size:.75rem;font-weight:600;letter-spacing:.015em}.header nav a:not(.admin-nav){padding:12px 0;position:relative}.header nav a:not(.admin-nav):after{content:'';height:1px;background:var(--wine);position:absolute;bottom:6px;left:0;right:0;transform:scaleX(0);transform-origin:left;transition:transform .3s}.header nav a:hover:after,.header nav a[aria-current]:after{transform:scaleX(1)}.header nav a:hover{color:var(--wine)}.admin-nav{border-color:var(--line);border-radius:0;padding:12px 18px;color:var(--wine)}.admin-nav span{padding-left:15px}.header .admin-nav:hover{background:var(--wine);color:var(--paper)}
.cinema-hero{position:relative;height:calc(100svh - 128px);min-height:580px;max-height:970px;margin:0 20px;overflow:hidden;color:#f5f0e5;background:#706656}.hero-media,.hero-shade{position:absolute;inset:0}.hero-media img,.hero-media video{width:100%;height:100%;display:block;object-fit:cover}.hero-media img{animation:slow-arrival 2.2s ease-out both}.hero-shade{background:linear-gradient(180deg,#232a2519 15%,#1323290a 30%,#16282b60 80%,#10212690)}.hero-topline,.hero-bottom{position:absolute;left:3.4%;right:3.4%;display:flex;align-items:center;justify-content:space-between;font-size:.59rem;letter-spacing:.19em;z-index:2}.hero-topline{top:33px}.hero-topline span:last-child{display:flex;align-items:center;gap:10px}.hero-topline span:last-child:before{content:'';width:5px;height:5px;border-radius:50%;background:var(--sky)}.hero-content{position:absolute;left:7.2%;bottom:116px;z-index:2;animation:content-arrival 1.25s cubic-bezier(.2,.6,.2,1) both}.hero-kicker{font-size:.75rem;letter-spacing:.06em;margin:0 0 25px}.hero-content h1{font:400 clamp(4rem,7.8vw,8rem)/1.02 var(--serif);letter-spacing:-.06em;color:#f6f0e6;margin:0 0 30px}.hero-content h1 em{font-weight:400;letter-spacing:-.065em}.hero-link{display:inline-flex;align-items:center;gap:48px;padding:12px 0;border-bottom:1px solid #f5f0e57a;font-size:.75rem;letter-spacing:.03em}.hero-link span{font-size:1.4rem;transition:transform .3s}.hero-link:hover span{transform:translate(4px,-4px)}.hero-bottom{bottom:25px;letter-spacing:.09em;font-size:.6rem}.hero-bottom i{font-style:normal;padding:0 12px;opacity:.6}.hero-bottom>div{display:flex;align-items:center;gap:24px}.hero-bottom button{background:#182c2b3d;border:1px solid #e5efef61;padding:9px 12px;color:inherit;font-size:.65rem;letter-spacing:.03em;min-height:36px}.hero-bottom button span{margin-right:7px}.hero-sample{font-size:.6rem;letter-spacing:.03em;opacity:.8}
.opening-note{padding:130px 8% 140px;display:grid;grid-template-columns:1.4fr 1fr;gap:0 12%}.opening-note>.eyebrow{grid-column:1/-1;margin-bottom:30px}.opening-note h2{font:400 clamp(2.8rem,4.6vw,4.6rem)/1.15 var(--serif);letter-spacing:-.05em;margin:0}.opening-note h2 em{color:#567783}.opening-aside{align-self:end;max-width:260px}.opening-aside p{font-size:.88rem;color:var(--muted);line-height:1.95;margin:0 0 20px}.asterisk{display:block;font-size:3rem;line-height:1;color:var(--wine);margin-bottom:30px}
.gallery-section{padding:0 6% 115px}.section-heading{border-top:1px solid var(--line);padding:43px 0 48px;align-items:flex-end}.section-heading .eyebrow{font-size:.64rem;color:var(--wine);margin:0 0 14px;letter-spacing:.19em}.section-heading h2{font:400 clamp(2.8rem,4.2vw,4.4rem)/1.12 var(--serif);letter-spacing:-.05em;margin:0}.section-index{font-size:.6rem;letter-spacing:.15em;display:flex;align-items:center;gap:35px;white-space:nowrap;padding-bottom:6px}.section-index>span{font-size:2rem;line-height:1}.gallery-grid{grid-template-columns:1.15fr .85fr;gap:85px 7%;align-items:start}.gallery-card:nth-child(3n+2){padding-top:125px}.gallery-card:nth-child(3n){grid-column:1/-1;width:83%;justify-self:center}.cover{height:auto;aspect-ratio:1/1.13;border-radius:0;background:#cbd9da}.gallery-card:nth-child(3n+2) .cover{aspect-ratio:3/4}.gallery-card:nth-child(3n) .cover{aspect-ratio:1.85}.gallery-card:first-child .cover img{object-position:center}.cover img,.cover>video{transition:transform .8s cubic-bezier(.2,.6,.2,1)}.gallery-card:hover .cover img,.gallery-card:hover .cover video{transform:scale(1.045)}.card-tag{top:19px;left:20px;background:#e4edefed;color:var(--wine);padding:9px 12px;font-size:.58rem;letter-spacing:.11em}.open-gallery{right:24px;bottom:24px;background:var(--paper);color:var(--wine);border-radius:50%;height:60px;width:60px;padding:0;display:grid;place-items:center;font-size:1.6rem;transform:translateY(10px);transition:transform .3s,opacity .3s}.gallery-card:hover .open-gallery,.gallery-card:focus-visible .open-gallery{transform:translateY(0)}.card-caption{align-items:start;gap:17px;padding-top:22px}.card-number{font-size:.62rem;padding-top:9px;color:var(--muted)}.card-caption>div{flex:1}.card-caption h3{font:400 clamp(1.7rem,2.3vw,2.5rem)/1.2 var(--serif);letter-spacing:-.04em;margin:0}.card-caption p{color:var(--muted);font-size:.7rem;line-height:1.7;margin:10px 0 0}.card-caption .card-count{font-size:.59rem;margin:9px 0 0;white-space:nowrap;color:var(--wine)}
.film-feature{background:var(--sand);padding:90px 6% 100px;position:relative}.film-heading{text-align:center;margin:0 0 45px}.film-heading h2{font:400 clamp(3rem,5vw,5.2rem)/1.1 var(--serif);letter-spacing:-.055em;margin:0}.film-heading .eyebrow{margin-bottom:18px}.film-heading>p:last-child{font-size:.8rem;color:var(--muted);margin-top:20px}.film-screen{display:block;width:100%;position:relative;padding:0;border:0;aspect-ratio:2.15;background:#596465;overflow:hidden;color:#f5f0e5}.film-screen>img,.film-screen>video{height:100%;width:100%;object-fit:cover;transition:transform .9s}.film-screen:hover>img{transform:scale(1.025)}.film-scrim{position:absolute;inset:0;background:linear-gradient(0deg,#102221aa,transparent 60%)}.film-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:.6rem;letter-spacing:.2em;display:flex;flex-direction:column;align-items:center;gap:20px;white-space:nowrap;text-shadow:0 1px 5px #152126}.film-play>span{display:grid;place-items:center;width:90px;height:90px;border:1px solid #f4efdebb;border-radius:50%;background:#f4efde12;backdrop-filter:blur(4px);transition:background .3s,transform .3s}.film-play svg{height:29px;width:29px}.film-screen:hover .film-play>span{background:#f4efde33;transform:scale(1.06)}.film-caption{position:absolute;bottom:28px;left:3%;right:3%;display:flex;align-items:center;justify-content:space-between;font:400 1.55rem/1.3 var(--serif);letter-spacing:-.02em}.film-caption>span{font:.58rem var(--sans);letter-spacing:.13em}
.about-teaser{padding:135px 12% 150px;display:grid;grid-template-columns:1fr 1fr;gap:15%;align-items:center}.teaser-photo{position:relative;aspect-ratio:3/4;background:#c5d4d8}.teaser-photo:before{content:'';position:absolute;inset:18px -18px -18px 18px;border:1px solid #65000040;z-index:-1}.teaser-photo>img,.teaser-photo>video{width:100%;height:100%;object-fit:cover}.image-annotation{position:absolute;left:0;bottom:-50px;font-size:.56rem;letter-spacing:.14em}.teaser-copy h2{font:400 clamp(2.6rem,3.4vw,4rem)/1.13 var(--serif);letter-spacing:-.05em;margin:0 0 28px}.teaser-copy>p:not(.eyebrow){font-size:.87rem;line-height:1.95;color:var(--muted);margin-bottom:33px}.text-link{display:inline-flex;align-items:center;gap:45px;border-bottom:1px solid var(--wine);padding:12px 0;font-size:.76rem;font-weight:600}.text-link span{font-size:1.3rem;transition:transform .3s}.text-link:hover span{transform:translate(4px,-4px)}
.sample-note{font-size:.68rem;padding-bottom:35px}.sample-note button{color:var(--wine);border-color:var(--line)}footer{display:block;background:#d3e3e8;border-color:var(--line);padding:70px 6% 28px}.footer-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:65px;gap:30px}.footer-top>p{display:block;font:400 clamp(2.8rem,4.9vw,5.3rem)/1.08 var(--serif);letter-spacing:-.05em;margin:0;color:var(--wine)}.round-link{width:85px;height:85px;border:1px solid var(--wine);border-radius:50%;display:grid;place-items:center;font-size:2rem;transition:background .3s,color .3s}.round-link:hover{background:var(--wine);color:var(--paper)}.footer-bottom{border-top:1px solid var(--line);padding-top:28px;display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-brand{font:600 .82rem/1.4 var(--sans);letter-spacing:.14em}.footer-brand span{display:block;font-size:.5rem;letter-spacing:.28em;margin-top:7px}.footer-bottom>div{display:flex;gap:24px;font-size:.68rem}.footer-bottom>span{font-size:.6rem;color:var(--muted)}
.button{border-radius:0;font-size:.8rem}.button-wine{background:var(--wine);color:var(--paper)}.button-wine:hover{background:#813341}.button-sky{background:var(--sky);color:#381619}.button-sky:hover{background:#b1ddec}.button-ghost:hover{background:#65000009}.back-link{font-size:.7rem;margin-bottom:40px}.back-link:hover{color:var(--wine)}.album-intro{background:none;padding:40px 6% 0}.album-heading h1{font-size:clamp(3rem,6.5vw,6rem)}.album-description{font-size:.9rem;line-height:1.8;margin:25px 0 40px;max-width:620px}.album-meta{padding:25px 0;font-size:.7rem}.photo-grid{padding:0 6% 90px;column-gap:25px}.photo-tile{border-radius:0;margin-bottom:25px}.photo-tile img{transition:transform .6s}.photo-tile:hover img{transform:scale(1.025)}.tile-hint{color:var(--wine);background:var(--paper);font-size:.75rem}.film-label{background:var(--paper);color:var(--wine);font-size:.6rem;letter-spacing:.1em}.page-loading{padding:100px 6%;font:2rem var(--serif)}.viewer{background:var(--paper)}.viewer-top p{font-size:1.6rem}.viewer-top span,.viewer-caption{font-size:.65rem}.icon-button:hover{background:#65000009}.small-dialog{border-top:1px solid var(--line);border-radius:0}.small-dialog h2{font:2.2rem/1.2 var(--serif);letter-spacing:-.04em;margin:22px 0}.small-dialog>p{font-size:.85rem;line-height:1.8}.small-dialog .dialog-help{font-size:.8rem}#credits-list a{color:var(--wine)}.toast{background:var(--wine);color:var(--paper)}dialog::backdrop{background:#203137aa;backdrop-filter:blur(8px)}
.about-heading{padding:75px 8% 50px;position:relative}.about-heading h1{font-size:clamp(3.5rem,7.5vw,7.4rem)}.about-heading>span{position:absolute;right:8%;bottom:55px;font-size:.59rem;letter-spacing:.16em}.about-page{padding:25px 8% 130px;grid-template-columns:1.05fr 1fr;gap:12%;align-items:center}.about-copy h2{font:400 clamp(2.8rem,3.5vw,4rem)/1.13 var(--serif);letter-spacing:-.05em;margin:0 0 32px}.about-copy>p:not(.eyebrow){font-size:.88rem;line-height:1.95}.about-copy .text-link{margin-top:12px}.about-portraits{grid-template-columns:1.5fr 1fr;gap:0;padding-bottom:65px}.about-portraits figure{border:0;border-radius:0;background:var(--sand)}.about-portraits figure:nth-child(2){margin:190px 0 -65px -60px;border:9px solid var(--paper);z-index:1;aspect-ratio:3/4;max-width:100%;justify-self:stretch}.portrait-placeholder{min-height:150px;background:linear-gradient(150deg,#d6e2e3,#d7d1c9);position:relative}.portrait-placeholder:before{content:'';position:absolute;inset:15px;border:1px solid #65000025}.portrait-placeholder>span{font:400 3.6rem var(--serif);letter-spacing:0;color:#65000070;margin-bottom:18px;padding-bottom:0;border:0}.portrait-placeholder p{font-size:.69rem;position:relative}.portrait-placeholder small{font-size:.6rem;position:relative}
.studio-sidebar{background:#d7e5e8}.studio-sidebar a.active{background:#c2dce5;box-shadow:inset 2px 0 var(--wine)}.studio-sidebar a:hover{background:#c9dde3}.studio-cover{background:#d0e2e8;color:var(--wine)}.studio-form input:not([type=file]),.studio-form textarea,.auth-form input{background:#e4edef;color:var(--ink)}.upload-zone{background:#d5e5e9;border-color:#819aa2}.upload-zone.dragging{background:#c0e0ec;border-color:#236782}.status-badge.published{border-color:#41735770;color:#315840;background:#dce9df}.upload-task .done,.about-upload-status{color:#315840}.upload-task .error,.form-error{color:#8a243e}.media-card-caption button.selected{color:var(--wine);border-color:#65000070}.inline-alert{background:#ecdfd9;border-color:#b88781}.studio-heading h1{font-size:2.6rem}.studio-empty h2,.upload-zone h2{font-size:1.8rem}.studio-form .button,.auth-form .button{min-height:47px}#studio-notice{background:var(--wine);color:var(--paper)}
.reveal{transition:opacity .8s ease,transform .9s cubic-bezier(.15,.6,.25,1)}.reveal-wait{opacity:0;transform:translateY(28px)}@keyframes content-arrival{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:none}}@keyframes slow-arrival{from{transform:scale(1.06)}to{transform:scale(1)}}
@media(min-width:1700px){.gallery-section,.opening-note,.about-teaser,.about-page{padding-left:max(8%,calc((100vw - 1500px)/2));padding-right:max(8%,calc((100vw - 1500px)/2))}}
@media(max-width:1000px){.header nav{gap:23px}.wordmark{font-size:1rem;letter-spacing:.11em}.hero-content h1{font-size:clamp(4.2rem,9vw,6.5rem)}.hero-content{left:6%;bottom:110px}.cinema-hero{min-height:610px}.opening-note{padding:95px 7%;gap:0 8%;grid-template-columns:1.3fr 1fr}.gallery-grid{gap:65px 5%}.gallery-card:nth-child(3n+2){padding-top:90px}.card-caption{gap:12px}.card-caption .card-count{display:none}.film-screen{aspect-ratio:1.8}.about-teaser{padding:100px 8% 115px;gap:10%}.about-page{gap:6%}.about-portraits figure:nth-child(2){margin-top:170px;margin-left:-45px}.about-heading>span{display:none}.footer-bottom{flex-wrap:wrap}.footer-bottom>span{width:100%}}
@media(max-width:700px){html{scroll-padding-top:85px}.header{height:85px;min-height:85px;padding:16px 5%;gap:12px}.wordmark{font-size:.79rem;letter-spacing:.07em;white-space:nowrap}.wordmark span{font-size:.44rem;letter-spacing:.23em;margin-top:7px}.header nav{gap:14px}.header nav a{font-size:.63rem;white-space:nowrap}.header .nav-link{display:block}.header .admin-nav{padding:9px 10px}.admin-nav span{display:none}.header .about-nav{display:none}.cinema-hero{margin:0 10px;height:calc(100svh - 105px);min-height:600px;max-height:850px}.hero-topline{left:6%;right:6%;top:24px;font-size:.5rem;letter-spacing:.12em}.hero-topline span:last-child{display:none}.hero-content{left:7%;right:5%;bottom:140px}.hero-kicker{font-size:.63rem;margin-bottom:20px;max-width:230px;line-height:1.8}.hero-content h1{font-size:clamp(3.2rem,11.5vw,4.8rem);line-height:1.04;letter-spacing:-.055em;margin-bottom:26px}.hero-link{font-size:.69rem;gap:45px}.hero-bottom{left:7%;right:7%;bottom:23px;align-items:flex-end;font-size:.48rem;letter-spacing:.1em;gap:15px}.hero-bottom>span{max-width:130px;line-height:1.9}.hero-bottom i{padding:0 3px}.hero-bottom>div{flex-direction:column;align-items:flex-end;gap:13px}.hero-sample{font-size:.48rem}.hero-bottom button{font-size:.6rem;padding:8px 10px;min-height:36px}.opening-note{padding:80px 7% 75px;display:block}.opening-note>.eyebrow{font-size:.57rem;margin-bottom:25px}.opening-note h2{font-size:2.85rem;line-height:1.15}.opening-aside{max-width:100%;margin:32px 0 0;padding-left:55px;position:relative}.opening-aside .asterisk{position:absolute;left:0;top:4px;font-size:2.1rem}.opening-aside p{font-size:.83rem;line-height:1.9;margin-bottom:13px}.gallery-section{padding:0 6% 75px}.section-heading{padding:28px 0 32px;align-items:flex-start}.section-heading h2{font-size:2.6rem}.section-heading .eyebrow{display:block;font-size:.55rem;margin-bottom:14px}.section-index{font-size:.48rem;gap:5px;flex-direction:column-reverse;align-items:flex-end;margin-top:7px}.section-index>span{font-size:1.5rem}.gallery-grid{display:block}.gallery-card{margin-bottom:45px}.gallery-card:nth-child(3n+2){padding-top:0;width:86%;margin-left:auto}.gallery-card:nth-child(3n){width:100%;margin-bottom:0}.cover,.gallery-card:not(:first-child) .cover{height:auto;aspect-ratio:4/5}.gallery-card:nth-child(3n) .cover{aspect-ratio:1.3}.card-tag{font-size:.52rem;padding:8px 10px;left:14px;top:14px}.card-caption{padding-top:17px;gap:12px}.card-caption h3{font-size:1.9rem}.card-caption p{font-size:.66rem;margin-top:8px}.card-number{font-size:.57rem}.open-gallery{opacity:1;transform:none;display:grid;width:42px;height:42px;right:15px;bottom:15px;font-size:1.2rem}.film-feature{padding:65px 5%}.film-heading{margin-bottom:30px}.film-heading h2{font-size:3rem}.film-heading .eyebrow{font-size:.53rem}.film-heading>p:last-child{font-size:.72rem}.film-screen{aspect-ratio:1.15}.film-play{gap:15px;font-size:.52rem}.film-play>span{width:68px;height:68px}.film-caption{left:6%;right:6%;bottom:20px;font-size:1.3rem}.film-caption>span{font-size:.45rem;max-width:60px;line-height:1.7}.about-teaser{padding:75px 9%;display:flex;flex-direction:column;align-items:stretch;gap:80px}.teaser-photo{width:82%}.teaser-copy h2{font-size:2.85rem}.teaser-copy>p:not(.eyebrow){font-size:.85rem}.image-annotation{bottom:-43px;font-size:.52rem}.teaser-copy .eyebrow{font-size:.58rem}.sample-note{font-size:.61rem;padding:0 7% 28px}footer{padding:55px 7% 25px}.footer-top{padding-bottom:40px;gap:16px}.footer-top>p{font-size:2.4rem}.round-link{width:52px;height:52px;font-size:1.5rem;flex-shrink:0}.footer-bottom{gap:26px;padding-top:26px}.footer-brand{font-size:.75rem}.footer-bottom>div{gap:20px;font-size:.62rem}.footer-bottom>span{font-size:.56rem}.album-intro{padding:27px 6% 0}.back-link{margin-bottom:30px}.album-heading h1{font-size:3.25rem}.album-heading .eyebrow{font-size:.58rem;line-height:1.8}.album-description{margin-bottom:24px;font-size:.87rem}.album-meta{font-size:.66rem}.photo-grid{padding:0 5% 50px;column-gap:12px}.photo-tile{margin-bottom:12px}.viewer-top p{font-size:1.4rem}.viewer-bottom .button{font-size:.73rem}.small-dialog h2{font-size:2rem}.about-heading{padding:50px 7% 35px}.about-heading h1{font-size:3.65rem}.about-page{display:flex;flex-direction:column;padding:0 7% 75px;gap:65px}.about-portraits{width:100%;padding-bottom:10px;grid-template-columns:1.4fr 1fr;margin-top:0}.about-portraits figure:nth-child(2){margin:130px 0 -10px -40px}.about-copy h2{font-size:2.8rem}.portrait-placeholder{padding:17px}.portrait-placeholder>span{font-size:2.7rem}.portrait-placeholder p{font-size:.62rem}.portrait-placeholder small{font-size:.54rem}.about-copy>p:not(.eyebrow){font-size:.87rem}.about-copy .eyebrow{font-size:.59rem}.studio-heading h1{font-size:2rem}.studio-empty h2,.upload-zone h2{font-size:1.6rem}}
@media(max-width:370px){.header{padding-left:4%;padding-right:4%}.header nav{gap:10px}.wordmark{font-size:.72rem}.header nav a{font-size:.59rem}.hero-content h1{font-size:3rem}.hero-bottom>span{max-width:100px}.opening-note h2{font-size:2.6rem}.section-heading h2{font-size:2.3rem}.footer-top>p{font-size:2.1rem}.about-heading h1{font-size:3.2rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}.reveal-wait{opacity:1;transform:none}}
.gallery-card{display:block}

/* Outlined Gabriola lettering stays consistent across devices. */
.header .wordmark{display:block;line-height:0;letter-spacing:0;text-transform:none}
.header .wordmark-art{display:block;width:210px;height:auto}

/* A shorter opening leaves more of the page visible below the film. */
.cinema-hero{height:calc(82svh - 104px);min-height:460px;max-height:760px}
.hero-content{bottom:90px}
.hero-content h1{font-size:clamp(3.3rem,min(7.8vw,12svh),8rem)}
@media(max-width:1000px){.header .wordmark-art{width:195px}.cinema-hero{min-height:460px}}
@media(max-width:700px){
  .header .wordmark-art{width:150px}
  .cinema-hero{height:calc(82svh - 85px);min-height:500px;max-height:680px}
  .hero-content{bottom:120px}
  .hero-content h1{font-size:clamp(3.2rem,11.5vw,4.8rem)}
}
@media(max-width:370px){.header .wordmark-art{width:135px}.hero-content h1{font-size:3rem}}

/* ---- Studio additions beyond the reference ---- */
.danger-zone{margin-top:45px;border:1px solid #b8878180;padding:22px 24px;background:#ecdfd980}
.danger-zone h2{font:1.5rem/1.4 var(--serif);margin:0 0 8px;letter-spacing:-.02em}
.danger-zone p{font-size:.85rem;line-height:1.7;color:var(--muted);margin:0 0 16px;max-width:620px}
.button.danger{border-color:#8a243e;color:#8a243e}.button.danger:hover{background:#8a243e12}
.check-row{display:flex!important;align-items:center;gap:10px;font-size:.9rem!important;text-transform:none!important;letter-spacing:0!important;font-weight:400!important;margin:4px 0 18px;color:var(--ink)}
.check-row input{width:18px;height:18px;accent-color:var(--wine)}

/* Straight back to the gallery she used last */
.quick-add{display:flex;align-items:center;gap:16px;padding:16px 18px;margin-bottom:22px;background:#d7e5e8;border:1px solid var(--line);color:var(--ink)}
.quick-add:hover{background:#c9dde3}
.quick-add-icon{width:40px;height:40px;flex:none;display:grid;place-items:center;border-radius:50%;background:var(--wine);color:var(--paper);font-size:1.3rem}
.quick-add strong{display:block;font:400 1.15rem/1.3 var(--serif);letter-spacing:-.02em}
.quick-add small{display:block;font-size:.72rem;color:var(--muted);margin-top:3px}
.quick-add-go{margin-left:auto;color:var(--wine);font-size:1.2rem}

/* Media cards: ordering, captions, selection, cover and focus controls */
.studio-media{align-items:start}
.media-card{position:relative;transition:box-shadow .2s,opacity .2s}
.media-card.dragging{opacity:.4}
.media-card.selected{box-shadow:0 0 0 2px var(--wine)}
.media-card[draggable=true]{cursor:grab}
.media-thumb{position:relative;height:170px;background:#d0e2e8}
.media-thumb>img,.media-thumb>video,.media-thumb>.media-placeholder{width:100%;height:100%;object-fit:cover;display:block;min-height:0}
.media-thumb>.media-placeholder{display:grid;place-items:center;min-height:0;font-size:.8rem;color:var(--muted);padding:10px;text-align:center}
.media-flag{position:absolute;left:8px;top:8px;background:#e4edefe8;color:var(--wine);font-size:.55rem;letter-spacing:.12em;padding:5px 8px}
.media-flag.cover-flag{left:auto;right:8px;background:var(--wine);color:var(--paper)}
.media-pick{position:absolute;left:8px;bottom:8px;display:grid;place-items:center;width:30px;height:30px;background:#e4edefe8;border:1px solid var(--line)}
.media-pick input{width:16px;height:16px;accent-color:var(--wine);cursor:pointer}
.caption-input{width:100%;margin:8px 0 10px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);padding:5px 2px;font:400 .85rem var(--sans)}
.caption-input:focus{outline:none;border-bottom-color:var(--wine)}
.media-actions{display:flex;gap:5px}
.media-actions button{flex:1;background:none;border:1px solid var(--line);padding:7px 2px;font-size:.85rem;color:var(--ink);line-height:1;min-height:34px}
.media-actions button:hover:not(:disabled){border-color:var(--wine);color:var(--wine)}
.media-actions button:disabled{opacity:.3}
.media-actions button.selected{color:var(--wine);border-color:#65000070}
.media-actions button.danger{color:#8a243e}
.media-actions button.danger:hover{border-color:#8a243e;background:#8a243e0d}
.media-toolbar{display:flex;align-items:center;gap:12px;margin:0 0 16px;padding:12px 16px;background:#d7e5e8;border:1px solid var(--line);flex-wrap:wrap}
.media-toolbar>span:first-child{font-size:.85rem;margin-right:auto}
.media-toolbar .button{min-height:40px;padding:9px 14px;font-size:.72rem}

/* Focus point picker */
.focus-dialog{max-width:620px;text-align:center}
.focus-dialog h2,.focus-dialog .helper{text-align:left}
.focus-dialog .form-actions{text-align:left}
/* The stage hugs the image exactly, so a click maps to the right point on the photo. */
.focus-stage{position:relative;display:inline-block;max-width:100%;margin:0 0 20px;cursor:crosshair;touch-action:none;line-height:0}
.focus-stage img{max-width:100%;max-height:52vh;width:auto;height:auto;display:block}
.focus-dot{position:absolute;width:30px;height:30px;margin:-15px 0 0 -15px;border-radius:50%;border:2px solid var(--paper);background:#65000090;box-shadow:0 0 0 2px var(--wine);pointer-events:none}

/* About editor: any number of paragraphs, with a live preview */
.paragraph-row{display:flex;gap:10px;align-items:flex-start;margin-bottom:12px}
.paragraph-row textarea{flex:1}
.paragraph-remove{background:none;border:1px solid var(--line);color:var(--muted);width:38px;height:38px;flex:none;font-size:.85rem}
.paragraph-remove:hover{border-color:#8a243e;color:#8a243e}
#add-paragraph{margin-bottom:18px}
.about-save{justify-content:flex-start}
.portrait-edit-card img{object-fit:cover}
.portrait-edit-card .button+.button{margin-top:8px}
.about-preview{margin-top:30px}
.about-preview .eyebrow{margin-bottom:14px}
.preview-frame{background:var(--paper);border:1px solid var(--line);padding:32px 34px;max-width:760px}
.preview-frame h2{font:400 clamp(1.9rem,2.6vw,2.6rem)/1.15 var(--serif);letter-spacing:-.04em;margin:0 0 22px;color:var(--wine)}
.preview-frame h2 em{font-style:italic}
.preview-frame p{font-size:.9rem;line-height:1.95;color:var(--ink);margin:0 0 16px}

/* Home page editor: automatic or a pinned opening image */
.mode-card{display:flex!important;align-items:flex-start;gap:14px;padding:16px 18px;margin-bottom:12px;border:1px solid var(--line);background:var(--paper);cursor:pointer;text-transform:none!important;letter-spacing:0!important;font-weight:400!important}
.mode-card.on{border-color:var(--wine);background:#d7e5e8}
.mode-card>span{flex:1;min-width:0}
/* Beats .studio-form input:not([type=file]), which would otherwise stretch the radio. */
.studio-form .mode-card input[type=radio],.mode-card input[type=radio]{width:18px!important;min-width:18px;height:18px;flex:none;margin:4px 0 0;padding:0;border:0;background:none;accent-color:var(--wine)}
.auth-form .check-row input[type=checkbox],.check-row input[type=checkbox]{width:18px!important;min-width:18px;height:18px;flex:none;margin:0;padding:0;border:0;background:none;accent-color:var(--wine)}
.mode-card strong{display:block;font:400 1.15rem/1.3 var(--serif);letter-spacing:-.02em;color:var(--ink)}
.mode-card small{display:block;font-size:.8rem;line-height:1.7;color:var(--muted);margin-top:5px}
.hero-picker{margin:6px 0 18px}
.hero-group{margin-bottom:22px}
.hero-group h3{font:400 1.25rem/1.3 var(--serif);letter-spacing:-.02em;margin:0 0 12px;color:var(--wine)}
.hero-choices{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}
.hero-choice{display:block;padding:0;border:1px solid var(--line);background:var(--paper);text-align:left;cursor:pointer}
.hero-choice:hover{border-color:var(--wine)}
.hero-choice.picked{border-color:var(--wine);box-shadow:0 0 0 2px var(--wine)}
.hero-choice-art{position:relative;display:block;height:96px;background:#d0e2e8}
.hero-choice-art img,.hero-choice-art .media-placeholder{width:100%;height:100%;object-fit:cover;display:block}
.hero-choice-art .media-placeholder{display:grid;place-items:center;font-size:.72rem;color:var(--muted);min-height:0}
.hero-choice-name{display:block;padding:8px 10px;font-size:.74rem;line-height:1.5;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Gallery page: share plus download-everything */
.album-actions{display:flex;gap:12px;flex-wrap:wrap;flex-shrink:0}
@media(max-width:700px){
  .album-actions{width:100%;margin-bottom:22px}
  .album-actions .button{flex:1;justify-content:center}
  .studio-media{grid-template-columns:repeat(2,minmax(0,1fr))}
  .media-thumb{height:140px}
  .media-actions button{padding:7px 0;min-height:38px}
  .quick-add{padding:13px 14px;gap:12px}
  .preview-frame{padding:22px 20px}
  .media-toolbar{position:sticky;bottom:0;z-index:5}
}

/* Collection cards 30% shorter so more galleries fit on one screen, with the
   stagger and row gaps reduced to match. Ratios are the originals with the
   height multiplied by 0.7. */
.gallery-grid{gap:60px 7%}
.cover{aspect-ratio:1 / 0.791}
.gallery-card:nth-child(3n+2) .cover{aspect-ratio:1 / 0.933}
.gallery-card:nth-child(3n) .cover{aspect-ratio:2.643}
.gallery-card:nth-child(3n+2){padding-top:88px}
@media(max-width:1000px){
  .gallery-grid{gap:46px 5%}
  .gallery-card:nth-child(3n+2){padding-top:63px}
}
@media(max-width:700px){
  .cover,.gallery-card:not(:first-child) .cover{aspect-ratio:1 / 0.875}
  .gallery-card:nth-child(3n) .cover{aspect-ratio:1.857}
  .gallery-card{margin-bottom:32px}
}
