:root{--bg:#f7f3ec;--surface:#fffdf9;--line:#ece2cf;--line-soft:#e7ddc9;--navy:#1f3a5f;--navy-hover:#2a4a75;--ink:#26364d;--ink-dim:#8a8578;--label:#9a8a6a;--gold:#c9a24a;--gold-line:#e0d3b8;--danger:#b1503a}*{box-sizing:border-box;margin:0;padding:0}body,html{background:var(--bg);color:var(--ink);font-family:Shippori Mincho,Hiragino Mincho ProN,serif;-webkit-font-smoothing:antialiased;line-height:1.7}a{color:inherit;text-decoration:none}.serif-display{font-family:Cormorant Garamond,Shippori Mincho,serif}.center-screen{min-height:100dvh;display:grid;place-items:center;padding:24px}.card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:44px 36px;box-shadow:0 12px 34px rgba(201,162,74,.1)}.star-top{display:flex;justify-content:center;margin-bottom:18px}.eyebrow{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}.card h1,.eyebrow{text-align:center;font-weight:600}.card h1{font-family:Cormorant Garamond,Shippori Mincho,serif;font-size:32px;line-height:1.2;color:var(--navy);margin-bottom:4px}.card .sub{text-align:center;font-size:13px;color:var(--ink-dim);letter-spacing:.02em;margin-bottom:26px}label{display:block;font-size:12px;letter-spacing:.06em;color:var(--label);margin-bottom:8px}input[type=email]{width:100%;background:#faf6ee;border:1px solid var(--line-soft);border-radius:9px;color:var(--ink);font-family:inherit;font-size:15px;padding:13px 14px;transition:border-color .2s,background .2s}input[type=email]:focus{outline:none;border-color:var(--gold);background:var(--surface)}.btn{width:100%;margin-top:20px;background:var(--navy);color:#fff;border:none;border-radius:9px;font-family:inherit;font-size:14px;font-weight:500;letter-spacing:.06em;padding:14px;cursor:pointer;box-shadow:0 6px 16px rgba(31,58,95,.2);transition:background .2s}.btn:hover{background:var(--navy-hover)}.btn:disabled{opacity:.55;cursor:default}.note{margin-top:18px;font-size:13px;line-height:1.6;text-align:center}.note.ok{color:var(--gold)}.note.err{color:var(--danger)}.gallery{max-width:1080px;margin:0 auto;padding:36px 28px 72px}.top{justify-content:space-between;gap:16px;padding-bottom:20px;border-bottom:1px solid var(--line-soft);margin-bottom:40px}.brand,.top{display:flex;align-items:center}.brand{gap:12px}.brand .eyebrow{text-align:left;font-size:10px;margin-bottom:2px}.brand h1{font-family:Cormorant Garamond,Shippori Mincho,serif;font-weight:600;font-size:26px;color:var(--navy);line-height:1}.signout{font-size:12px;letter-spacing:.04em;color:var(--label);border:1px solid var(--gold-line);border-radius:999px;padding:8px 16px;background:var(--surface);cursor:pointer;font-family:inherit;white-space:nowrap;transition:border-color .2s,color .2s}.signout:hover{border-color:var(--gold);color:var(--navy)}.cat{margin-bottom:44px}.cat-head{display:flex;align-items:center;gap:12px;margin-bottom:20px}.cat-head h2{font-family:Cormorant Garamond,Shippori Mincho,serif;font-weight:600;font-size:21px;color:var(--navy);white-space:nowrap;letter-spacing:.01em}.cat-head .rule{height:1px;background:var(--line-soft);flex:1 1}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:22px;gap:22px}.video{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 4px 14px rgba(201,162,74,.07)}.thumb{position:relative;aspect-ratio:16/9;border:none;padding:0;background:linear-gradient(135deg,#26364d,#1f3a5f);cursor:pointer}.thumb,.thumb img{width:100%;display:block}.thumb img{height:100%;object-fit:cover}.play{position:absolute;inset:0;display:grid;place-items:center}.play span{width:50px;height:50px;border-radius:50%;background:rgba(255,253,249,.92);display:grid;place-items:center;box-shadow:0 4px 12px rgba(0,0,0,.18)}.play span:after{content:"";border-left:14px solid var(--gold);border-top:9px solid transparent;border-bottom:9px solid transparent;margin-left:4px}.video .meta{padding:15px 17px 17px}.video .meta h3{font-size:15px;font-weight:500;line-height:1.55;color:var(--ink)}.video .meta .date{margin-top:8px;font-size:12px;letter-spacing:.04em;color:#a89a7a}.empty{text-align:center;color:var(--ink-dim);padding:80px 20px;font-size:15px}@media (max-width:560px){.card{padding:36px 24px}.top{flex-direction:column;align-items:flex-start}}