@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,500;1,500&display=swap');
:root{--cream:#f8f4ef;--paper:#fffdfb;--ink:#332b28;--muted:#7d716b;--rose:#a86461;--rose-dark:#784744;--line:#e7ddd5;--shadow:0 18px 50px #4f37231a;--radius:22px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif}button,a{font:inherit}button{cursor:pointer}.hero{height:min(76vh,780px);min-height:510px;background:linear-gradient(180deg,#39272140,#39272173),url('/hero-placeholder.svg') center/cover;display:grid;place-items:center;text-align:center;color:white}.hero-inner{padding:24px;text-shadow:0 2px 18px #321d1b75}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:.72rem;font-weight:600;margin:0 0 14px}.hero h1,.section-title h2{font:500 clamp(2.7rem,10vw,5.6rem)/1 'Playfair Display',serif;margin:0}.hero h1 i{font-weight:400}.hero-inner>p:last-of-type{font-size:clamp(1rem,3vw,1.25rem);letter-spacing:.06em}.scroll-hint{display:inline-grid;place-items:center;width:46px;height:46px;border:1px solid #ffffff80;border-radius:50%;color:white;text-decoration:none;margin-top:30px;font-size:1.5rem}.film-section,.gallery-section{max-width:1240px;margin:auto;padding:78px 18px}.section-title{text-align:center;margin-bottom:36px}.section-title h2{font-size:clamp(2.1rem,6vw,4rem)}.film-card{background:var(--paper);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.film-cover{position:relative;aspect-ratio:16/9;background:#dfd5ce}.film-cover img{width:100%;height:100%;object-fit:cover}.play-main{position:absolute;inset:50% auto auto 50%;translate:-50% -50%;border:0;background:#fff;color:var(--rose-dark);border-radius:50%;width:70px;height:70px;font-size:1.5rem;box-shadow:0 8px 30px #0004;padding-left:7px}.film-copy{padding:28px}.film-copy h3{font:500 1.75rem 'Playfair Display',serif;margin:0 0 8px}.film-copy p{color:var(--muted);line-height:1.6}.film-actions{display:flex;gap:10px;flex-wrap:wrap}.button{border:0;border-radius:999px;padding:13px 20px;text-decoration:none;display:inline-flex;justify-content:center;align-items:center;font-weight:600}.button.primary{background:var(--rose-dark);color:white}.button.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}.filters{display:flex;justify-content:center;gap:8px;margin-bottom:25px}.filters button{border:1px solid var(--line);background:var(--paper);padding:10px 18px;border-radius:999px;color:var(--muted)}.filters button.active{background:var(--ink);color:white;border-color:var(--ink)}.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.media-card{position:relative;aspect-ratio:1;background:#e6ddd6;border-radius:12px;overflow:hidden}.media-card img,.media-card video{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s}.media-card:hover img,.media-card:hover video{transform:scale(1.035)}.open-media{position:absolute;inset:0;border:0;background:transparent}.select-media{position:absolute;z-index:2;top:8px;right:8px;width:34px;height:34px;border-radius:50%;border:2px solid white;background:#3628247a;color:white;box-shadow:0 2px 8px #0003}.media-card.selected{outline:4px solid var(--rose);outline-offset:-4px}.media-card.selected .select-media{background:var(--rose);border-color:var(--rose)}.video-badge{position:absolute;pointer-events:none;inset:50% auto auto 50%;translate:-50% -50%;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#fffde;color:var(--rose-dark);padding-left:3px}.loader{text-align:center;color:var(--muted);padding:30px}.selection-bar{position:fixed;z-index:10;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));background:#fff;border-radius:18px;box-shadow:0 10px 45px #2d211f42;padding:12px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px}.selection-bar[hidden]{display:none}.selection-bar small{display:block;color:var(--muted)}.selection-bar .link-button{grid-row:2;background:none;border:0;text-align:left;color:var(--rose-dark);padding:4px}.selection-bar .primary{grid-column:2;grid-row:1/3}.viewer,.confirm,.film-dialog{border:0;padding:0;background:#171515f5;color:white;max-width:none;max-height:none;width:100vw;height:100dvh}.viewer::backdrop,.confirm::backdrop,.film-dialog::backdrop{background:#171515cf}.viewer-content{width:100%;height:100%;display:grid;place-items:center;padding:65px 16px 90px}.viewer-content img,.viewer-content video{max-width:100%;max-height:100%;object-fit:contain}.viewer-close,.viewer-nav{position:fixed;z-index:2;border:0;background:#ffffff18;color:#fff;border-radius:50%}.viewer-close{top:16px;right:16px;width:44px;height:44px;font-size:2rem}.viewer-nav{top:50%;translate:0 -50%;width:44px;height:60px;font-size:2.5rem}.viewer-nav.prev{left:8px}.viewer-nav.next{right:8px}.viewer-download{position:fixed;left:50%;bottom:24px;translate:-50%;background:#fff;color:var(--ink);white-space:nowrap}.confirm{width:min(92vw,480px);height:auto;background:var(--paper);color:var(--ink);border-radius:20px;padding:28px;top:50%;left:50%;translate:-50% -50%}.confirm h2{font:500 2rem 'Playfair Display',serif;margin-top:0}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:26px}.film-dialog iframe{border:0;width:100%;height:100%}.film-dialog .viewer-close{background:#332b28}.empty{text-align:center;grid-column:1/-1;color:var(--muted);padding:60px 0}
@media(min-width:640px){.gallery{grid-template-columns:repeat(3,1fr);gap:12px}.film-card{display:grid;grid-template-columns:1.5fr 1fr}.film-copy{display:flex;flex-direction:column;justify-content:center;padding:40px}.selection-bar{left:50%;right:auto;translate:-50%;width:min(680px,calc(100% - 24px));grid-template-columns:1fr auto auto}.selection-bar .link-button{grid-row:1;grid-column:2}.selection-bar .primary{grid-row:1;grid-column:3}}
@media(min-width:980px){.gallery{grid-template-columns:repeat(5,1fr)}.media-card:nth-child(12n+1),.media-card:nth-child(12n+8){grid-column:span 2;grid-row:span 2}.gallery-section{padding-inline:28px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
