@charset "UTF-8";
:root{color-scheme:dark;--bg:#142420;--panel:#1d302a;--border:#ffffff12;--text:#f7f3e9;--muted:#b1bcb3;--gold:#e7c68a;--focus:#ffe0a2;font-family:Inter,"Segoe UI",Arial,sans-serif;font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:radial-gradient(ellipse at 86% 4%,#36443566,transparent 40%),var(--bg);color:var(--text);min-height:100vh}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--focus);outline-offset:5px}button,input,select{color:inherit}button{border:0}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.symbols{position:absolute;width:0;height:0;overflow:hidden}.shell{width:min(1160px,calc(100% - 80px));margin:0 auto}.topbar{height:112px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:16px;font-size:12px;letter-spacing:2px;font-weight:600}.brand small{display:block;color:var(--muted);font-size:9px;letter-spacing:2.3px;margin-top:7px;font-weight:400}.monogram{font:28px Georgia,serif;letter-spacing:-3px;border:1px solid #e7c68a50;border-radius:50%;width:53px;height:53px;display:flex;justify-content:center;align-items:center;color:var(--gold);padding-right:3px}.monogram span{font-size:18px;margin:5px 4px 0 0}.date{font-size:10px;letter-spacing:2px;color:#d1d8cf;display:flex;align-items:center;gap:12px}.tiny-star{font-size:22px;color:var(--gold)}.hero{display:flex;align-items:center;justify-content:space-between;padding:54px 2px 59px;gap:36px}.eyebrow{font-size:9px;font-weight:650;letter-spacing:2.2px;color:var(--gold);margin:0 0 15px;display:flex;align-items:center;gap:10px}.eyebrow>span{width:5px;height:5px;background:var(--gold);border-radius:50%}h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(36px,4.25vw,59px);line-height:1.13;letter-spacing:-1.7px;margin:0}h1 em{display:block;color:var(--gold);font-weight:400}.hero-copy>p:last-child{color:var(--muted);font-size:14px;line-height:1.8;margin:21px 0 0}.portrait{position:relative;margin-right:48px;transform:rotate(5deg)}.portrait-ring{border:1px solid #e7c68a60;padding:9px;border-radius:50%;outline:1px solid #e7c68a20;outline-offset:8px}.portrait img{display:block;width:168px;height:168px;object-fit:cover;border-radius:50%;background:#20362c}.portrait-note{position:absolute;bottom:-20px;left:16px;white-space:nowrap;background:var(--gold);color:#27372b;transform:rotate(-10deg);padding:8px 19px;font:italic 15px Georgia,serif;box-shadow:0 6px 20px #0002}.portrait-note>span{font-size:11px;margin-left:8px}.portrait-star{position:absolute;font-size:37px;color:var(--gold);right:-37px;top:-18px}.section-toolbar{display:flex;justify-content:space-between;align-items:center;gap:30px}.section-toolbar .eyebrow{font-size:9px;margin-bottom:9px;color:#93a99b}h2{font-size:18px;font-weight:500;letter-spacing:-.25px;margin:0}.search{display:flex;align-items:center;border:1px solid #ffffff23;border-radius:9px;background:#101e1960;min-width:275px;padding:12px 14px;gap:10px;color:var(--muted)}.search svg{width:17px;height:17px}.search input{width:100%;border:0;background:transparent;outline:none!important;font-size:12px;min-width:0}.search:focus-within{outline:2px solid var(--focus);outline-offset:3px}.search input::placeholder{color:#a6b5ab}.filter-line{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:23px 0 21px}.filters{display:flex;gap:5px;flex-wrap:wrap}.filters button{padding:9px 13px;border-radius:7px;background:transparent;color:#b5c0b8;font-size:11px;white-space:nowrap}.filters button:hover{background:#ffffff09;color:var(--text)}.filters button.active{color:var(--gold);background:#e7c68a13}.filters button span{display:inline-block;font-size:9px;background:#e7c68a19;border-radius:4px;padding:2px 5px;margin-left:6px}.result-count{font-size:11px;color:#8b9d91;white-space:nowrap}.hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.hub-card{--accent:#b4d3b3;--tint:#b4d3b311;background:linear-gradient(125deg,var(--tint),transparent 65%),var(--panel);border:1px solid var(--border);border-radius:13px;padding:22px 23px 17px;min-height:220px;display:flex;flex-direction:column;transition:transform .18s,border-color .18s,background-color .18s}.hub-card[href]:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--accent) 55%,transparent);background-color:#243a30}.hub-card[href]:hover .card-arrow{transform:translateX(3px);color:var(--accent)}.card-top{display:flex;align-items:center;gap:12px;margin-bottom:19px}.tile-icon{width:39px;height:39px;border:1px solid color-mix(in srgb,var(--accent) 18%,transparent);border-radius:11px;color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,transparent);display:flex;align-items:center;justify-content:center}.tile-icon svg{width:21px;height:21px}.card-category{font-size:8px;letter-spacing:1.5px;color:#a6b6aa;font-weight:600}.card-arrow{margin-left:auto;width:17px;height:17px;color:#93a699;transition:transform .18s}.hub-card h3{font-size:18px;font-weight:520;letter-spacing:-.4px;margin:0 0 9px}.hub-card>p{font-size:12px;line-height:1.7;color:var(--muted);margin:0 0 17px;max-width:310px}.card-action{margin-top:auto;padding-top:14px;border-top:1px solid #ffffff09;font-size:10px;color:var(--accent);display:flex;align-items:center;justify-content:space-between;gap:6px}.card-action>span{font:10px Georgia,serif;color:#809489;letter-spacing:1px}.blue{--accent:#afd0e7;--tint:#afd0e709}.peach{--accent:#e9b69b;--tint:#e9b69b09}.lilac{--accent:#c7b7e7;--tint:#c7b7e709}.gold{--accent:#ebcc8f;--tint:#ebcc8f0b}.rose{--accent:#e8b8c4;--tint:#e8b8c409}.mint{--accent:#a6d5cc;--tint:#a6d5cc09}.amber{--accent:#e8c275;--tint:#e8c2750a}.coming{--accent:#a8b5ad;--tint:#a8b5ad03;background:#182923;border-style:dashed}.coming .card-top{gap:10px}.soon-badge{font-size:7px;letter-spacing:1px;padding:5px 7px;border:1px solid #ffffff20;border-radius:5px;margin-left:auto;color:#d3d9cd}.coming>p{color:#9baea1}.coming h3{color:#c7d1c6}footer{text-align:center;padding:47px 0 32px}.footer-heart{color:var(--gold);font:24px Georgia,serif}footer p{font:italic 17px Georgia,serif;color:#c3cdc1;margin:12px 0 19px}footer>span:last-child{font-size:8px;letter-spacing:2px;color:#8fa295}.empty-state{padding:50px 20px;text-align:center;color:var(--muted);font-size:14px;border:1px dashed var(--border);border-radius:12px}.notice{padding:20px;color:var(--muted);font-size:13px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;left:10px;top:-100px;background:var(--gold);color:var(--bg);z-index:99;padding:14px;border-radius:6px}.skip-link:focus{top:10px}[hidden]{display:none!important}
/* Guest gallery */
.back-link{display:flex;align-items:center;gap:8px;color:#d7dece;font-size:12px}.back-link svg{width:17px}.gallery-intro{padding:45px 0 32px;display:flex;align-items:center;justify-content:space-between;gap:28px}.gallery-intro h1{font-size:48px}.gallery-intro h1 em{display:inline}.gallery-intro p:last-child{font-size:14px;line-height:1.8;color:var(--muted);margin:17px 0 0}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:8px;padding:13px 17px;font-size:12px;font-weight:600;white-space:nowrap;min-height:44px}.primary-button{background:var(--gold);color:#213026;border:1px solid var(--gold)}.primary-button:hover{background:#f4d69f}.secondary-button{background:#ffffff08;border:1px solid #ffffff22;color:var(--text)}.secondary-button:hover{background:#ffffff12}.primary-button svg,.secondary-button svg{width:17px;height:17px}.gallery-controls{display:flex;align-items:center;gap:16px;margin:4px 0 25px}.gallery-controls .search{flex:1}.gallery-controls select{background:#1d302a;border:1px solid #ffffff22;border-radius:8px;padding:12px;max-width:200px;font-size:12px;min-height:43px}.gallery-controls .result-count{margin-right:auto;min-width:105px}.figure-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}.figure-card{overflow:hidden;border-radius:12px;background:var(--panel);border:1px solid var(--border);min-width:0}.figure-preview{width:100%;height:224px;background:#f4f2eb;border:0;position:relative;padding:16px;display:block}.figure-preview img{height:100%;width:100%;object-fit:contain;transition:transform .2s}.figure-preview:hover img{transform:scale(1.045)}.figure-number{position:absolute;top:12px;left:12px;background:#fff;color:#606a5f;font-size:9px;font-weight:600;letter-spacing:1px;padding:5px 7px;border-radius:4px}.figure-zoom{position:absolute;bottom:12px;right:12px;background:#142420dc;border-radius:50%;width:30px;height:30px;display:flex;align-items:center;justify-content:center;color:#fff}.figure-zoom svg{width:15px;height:15px}.figure-info{padding:15px}.figure-info h2{font-size:14px;font-weight:500;white-space:normal;line-height:1.45;min-height:40px}.figure-info a{display:flex;align-items:center;gap:6px;color:var(--gold);font-size:11px;padding-top:11px;margin-top:6px;border-top:1px solid var(--border);min-height:32px}.figure-info a svg{width:14px;height:14px}.gallery-loading{font-size:14px;color:var(--muted);text-align:center;padding:80px 0}.gallery-help{font-size:12px;color:var(--muted);line-height:1.7;margin:24px 0 0}.preview-dialog{width:min(760px,calc(100% - 28px));max-height:calc(100dvh - 32px);padding:0;border:1px solid #ffffff30;border-radius:16px;background:var(--panel);color:var(--text);box-shadow:0 30px 100px #0008;overflow:auto}.preview-dialog::backdrop{background:#06140fd9;backdrop-filter:blur(7px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 22px}.dialog-head h2{font-size:16px;line-height:1.4}.icon-button{display:flex;align-items:center;justify-content:center;min-width:42px;min-height:42px;border-radius:50%;border:1px solid #ffffff20;color:var(--text);background:#ffffff09}.icon-button:hover{background:#ffffff20}.dialog-image-wrap{position:relative;background:#f4f2eb;display:flex;align-items:center;justify-content:center;min-height:230px}.dialog-image-wrap img{width:100%;height:min(56dvh,550px);object-fit:contain;padding:24px 58px}.dialog-prev,.dialog-next{position:absolute;top:50%;transform:translateY(-50%);background:#243c32e8;z-index:1}.dialog-prev{left:12px}.dialog-next{right:12px}.dialog-footer{padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:18px}.dialog-footer span{font-size:12px;color:var(--muted)}body.modal-open{overflow:hidden}
@media(min-width:1500px){.shell{width:min(1260px,calc(100% - 100px))}.hero{padding-top:64px;padding-bottom:65px}.hub-card{min-height:226px;padding:23px 25px 18px}}
@media(max-width:1000px){.shell{width:calc(100% - 48px)}.portrait{margin-right:22px}.hub-card{padding:18px;min-height:236px}.card-top{gap:8px}.card-category{letter-spacing:1px;font-size:7px}.coming .tile-icon{width:32px}.soon-badge{font-size:6px;padding:5px}.figure-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-intro h1{font-size:40px}.hub-card h3{font-size:16px}}
@media(max-width:760px){.topbar{height:89px}.brand{font-size:10px;gap:12px}.brand small{font-size:8px;letter-spacing:1.7px}.monogram{width:44px;height:44px;font-size:24px}.date{font-size:8px;letter-spacing:1px;gap:6px}.tiny-star{font-size:17px}.hero{padding:40px 0 46px;gap:15px}.hero h1{font-size:40px}.hero-copy>p:last-child{font-size:12px}.portrait{margin:0 10px 0 0}.portrait img{width:110px;height:110px}.portrait-note{font-size:11px;padding:7px 10px;left:3px;bottom:-13px}.portrait-star{font-size:26px;right:-20px}.section-toolbar{align-items:stretch;flex-direction:column;gap:20px}.search{min-width:0}.filter-line{margin-top:17px}.hub-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.hub-card{min-height:234px}.hub-card h3{font-size:17px}.card-category{font-size:7px}.result-count{font-size:10px}.gallery-intro{align-items:flex-start;flex-direction:column;padding:33px 0 27px;gap:22px}.gallery-intro h1{font-size:40px}.gallery-intro p:last-child{font-size:13px}.gallery-controls{flex-wrap:wrap;gap:12px}.gallery-controls .search{flex-basis:100%}.gallery-controls .result-count{min-width:0}.figure-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.figure-preview{height:220px}}
@media(max-width:480px){.shell{width:calc(100% - 32px)}.date{font-size:7px;letter-spacing:.7px}.topbar{height:83px}.hero{padding:34px 0 38px;position:relative;min-height:225px;align-items:flex-start}.hero h1{font-size:35px;max-width:240px}.hero-copy .eyebrow{font-size:7px;letter-spacing:1.45px}.hero-copy>p:last-child{font-size:12px;max-width:245px;line-height:1.8}.hero-copy>p:last-child br{display:none}.portrait{position:absolute;right:5px;top:58px;margin:0}.portrait img{width:62px;height:62px}.portrait-ring{padding:4px;outline-offset:4px}.portrait-note{font-size:8px;padding:4px 6px;bottom:-13px;left:-5px}.portrait-note>span{font-size:7px;margin-left:3px}.portrait-star{right:-11px;top:-20px;font-size:21px}.section-toolbar h2{font-size:17px}.section-toolbar .eyebrow{font-size:8px}.filter-line{align-items:flex-start;gap:6px}.filters{gap:3px}.filters button{font-size:10px;padding:8px 9px}.filters button span{display:none}.filter-line>.result-count{display:none}.hub-grid{grid-template-columns:1fr;gap:12px}.hub-card{min-height:190px;padding:19px 20px 16px}.card-top{margin-bottom:15px;gap:12px}.card-category{font-size:8px;letter-spacing:1.5px}.hub-card h3{font-size:19px}.hub-card>p{font-size:12px;max-width:none;margin-bottom:13px}.card-action{font-size:10px;padding-top:12px}.soon-badge{font-size:7px;padding:5px 7px}.coming .tile-icon{width:39px}footer{padding:34px 0 29px}.gallery-intro h1{font-size:35px}.gallery-intro h1 em{display:block}.figure-preview{height:182px;padding:11px}.figure-info{padding:12px}.figure-info h2{font-size:12px;min-height:36px}.gallery-controls select{font-size:11px;max-width:175px}.dialog-head{padding:12px 14px}.dialog-footer{padding:14px;gap:10px}.dialog-footer .primary-button{padding:11px;font-size:11px}.back-link{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
/* Readability: comfortable body text, stronger contrast and generous touch targets. */
:root{--muted:#c8d2cb}
.brand{font-size:14px;letter-spacing:1.7px}.brand small{font-size:11px;letter-spacing:1.6px}.date{font-size:12px;letter-spacing:1.5px}
.eyebrow,.section-toolbar .eyebrow{font-size:12px;letter-spacing:1.6px}.section-toolbar .eyebrow{color:#b7c9bc}
.hero-copy>p:last-child{font-size:18px;line-height:1.75}.hero{padding-top:42px;padding-bottom:45px}
.section-toolbar h2{font-size:24px;line-height:1.4}.search{padding:14px 16px;min-height:52px;min-width:290px}.search input{font-size:17px}.search svg{width:21px;height:21px}.search input::placeholder{color:#c1cec4}
.filter-line{margin:24px 0}.filters{gap:7px}.filters button{font-size:16px;padding:12px 16px;min-height:48px;color:#d0d9d1}.filters button span{font-size:12px;padding:3px 6px}.result-count{font-size:14px;color:#bacabd}
.hub-grid{gap:20px}.hub-card{padding:26px 25px 21px;min-height:295px}.card-top{gap:11px;margin-bottom:20px}.tile-icon{width:44px;height:44px;flex-shrink:0}.tile-icon svg{width:24px;height:24px}.card-category{font-size:11px;letter-spacing:1px;line-height:1.5;color:#c1cec3}.card-arrow{width:21px;height:21px}
.hub-card h3{font-size:23px;line-height:1.35;letter-spacing:-.4px;margin-bottom:12px}.hub-card>p{font-size:16px;line-height:1.65;max-width:none;margin-bottom:22px}.card-action{font-size:15px;line-height:1.5;padding-top:16px;gap:12px}.card-action>span{font-size:12px;color:#b7c8ba}
.soon-badge{font-size:10px;letter-spacing:.7px;padding:6px 8px}.coming .card-top{gap:9px}.coming .tile-icon{width:44px}.coming h3{color:#e1e7dc}.coming>p{color:#c2cdc4}.coming .card-action{color:#c2cdc4}
.empty-state,.notice{font-size:17px;line-height:1.7}footer p{font-size:21px;line-height:1.5}footer>span:last-child{font-size:11px;letter-spacing:1.5px}
.back-link{font-size:16px;min-height:48px}.gallery-intro p:last-child{font-size:18px;line-height:1.75}.primary-button,.secondary-button{font-size:16px;min-height:50px;padding:14px 18px;line-height:1.4}.primary-button svg,.secondary-button svg{width:20px;height:20px}.gallery-controls select{font-size:16px;max-width:230px;min-height:52px}.gallery-controls .result-count{min-width:130px}
.figure-info{padding:17px}.figure-info h2{font-size:18px;line-height:1.5;min-height:54px}.figure-info a{font-size:16px;line-height:1.5;min-height:48px;padding-top:12px;gap:8px}.figure-info a svg{width:18px;height:18px}.figure-number{font-size:12px}.figure-zoom{width:38px;height:38px}.figure-zoom svg{width:18px;height:18px}
.gallery-loading,.gallery-help{font-size:16px;line-height:1.7}.dialog-head h2{font-size:21px}.icon-button{min-width:48px;min-height:48px}.dialog-footer span{font-size:15px;line-height:1.5}
@media(max-width:1100px){.hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-toolbar{gap:20px}.section-toolbar h2{font-size:22px}.hub-card{min-height:280px}.gallery-intro{align-items:flex-start;flex-direction:column;gap:22px}}
@media(max-width:760px){.brand{font-size:12px}.brand small{font-size:10px}.date{font-size:10px;letter-spacing:.8px}.hero-copy>p:last-child{font-size:17px}.section-toolbar{gap:18px}.search{min-width:0;width:100%}.filter-line{align-items:flex-start}.filter-line>.result-count{display:none}.filters{gap:6px}.filters button{font-size:15px;padding:11px 13px}.hub-card{padding:23px 21px;min-height:305px}.hub-card h3{font-size:22px}.card-category{font-size:10px;letter-spacing:.7px}.soon-badge{font-size:9px}.gallery-intro p:last-child{font-size:17px}.gallery-controls .result-count{font-size:14px}.figure-info{padding:14px}.figure-info h2{font-size:17px}.figure-info a{font-size:15px}.dialog-head h2{font-size:19px}}
@media(max-width:640px){.hub-grid{grid-template-columns:1fr;gap:16px}.hub-card{min-height:260px}.card-category{font-size:11px;letter-spacing:1px}.soon-badge{font-size:10px}.section-toolbar h2{font-size:23px}.hero h1{font-size:38px}.hero .eyebrow{font-size:10px}.hero-copy>p:last-child{font-size:17px}}
@media(max-width:480px){.topbar{height:94px;gap:12px}.brand{font-size:11px;gap:9px}.brand small{font-size:9px;letter-spacing:1.1px}.date{font-size:9px;letter-spacing:.4px;max-width:108px;line-height:1.6}.tiny-star{display:none}.hero{display:block;padding:33px 0 37px;min-height:0}.hero-copy{width:100%}.hero h1{font-size:34px;max-width:calc(100% - 84px)}.hero .eyebrow{font-size:9px;letter-spacing:1.1px}.hero-copy>p:last-child{font-size:17px;line-height:1.7;max-width:none;margin-top:24px}.portrait{top:70px}.section-toolbar .eyebrow{font-size:11px}.filters button{font-size:15px;padding:11px 12px}.filter-line{margin:18px 0 22px}.hub-card{padding:23px 22px 20px}.hub-card h3{font-size:24px}.hub-card>p{font-size:17px}.card-action{font-size:16px}.gallery-intro h1{font-size:35px}.gallery-controls select{font-size:15px;max-width:210px}.gallery-controls .result-count{min-width:0}.gallery-intro p:last-child{font-size:17px}.back-link{font-size:14px;line-height:1.5;gap:6px}.figure-info h2{font-size:16px;min-height:48px}.figure-info a{font-size:15px;gap:5px}.dialog-footer{align-items:center;flex-wrap:wrap}.dialog-footer .primary-button{font-size:15px;padding:13px 15px}.dialog-footer span{font-size:14px}.gallery-help{font-size:16px}footer p{font-size:20px}}
