.gallery-page{--gallery-rule:#b9ac8c;--gallery-accent:#82652e;background:#faf5e8}.gallery-page main{overflow:clip}.gallery-page .container{max-width:1180px;min-width:0}.gallery-intro-wrap{position:relative;padding-block:40px 26px;background:radial-gradient(ellipse at 85% 25%,#eee2f2,transparent 50%)}.gallery-intro{position:relative;max-width:780px;margin:0;padding:0}.gallery-intro .eyebrow{color:var(--gallery-accent);margin-bottom:12px}.gallery-intro h1{font-size:clamp(2.4rem,4.7vw,4.4rem);line-height:1.07;letter-spacing:-.045em;max-width:18ch}.gallery-intro .lead{font-size:1.08rem;line-height:1.65;max-width:62ch;margin:18px 0 12px}.gallery-intro .small{font-size:.9rem;max-width:65ch}.gallery-tabs{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap}.gallery-tab{display:inline-flex;justify-content:center;align-items:center;gap:10px;min-height:56px;padding:12px 22px;border:1px solid #a498b0;border-radius:12px 12px 3px 3px;background:var(--surface);font-weight:850;text-decoration:none;color:var(--purple);box-shadow:0 3px 0 #d6cadd}.gallery-tab[aria-current]{background:var(--purple);color:var(--surface);border-color:var(--purple);box-shadow:0 3px 0 #49365c}.gallery-tab[aria-current]::after{content:'↓';margin-left:4px}.gallery-section{padding-block:32px 44px;border-top:1px solid #d4c7ac}.gallery-section.section--mint{background:#eaf0e5;border-color:#b9c6af}.gallery-section .section-head{margin-bottom:12px;align-items:end}.gallery-section h2{font-size:clamp(1.9rem,3vw,2.75rem);letter-spacing:-.035em}.gallery-section .section-head p{max-width:64ch;line-height:1.6;margin-top:10px}.gallery-hint{color:var(--muted);font-size:.9rem;margin:0 0 10px}.gallery-track{display:flex;align-items:stretch;gap:22px;list-style:none;padding:8px 5px 18px;margin:0 -5px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-left:5px;scrollbar-width:thin;scrollbar-color:#9b997e transparent}.gallery-track::after{content:'';flex:0 0 14%}.gallery-card{position:relative;display:flex;flex-direction:column;flex:0 0 86%;min-width:0;margin:0;padding:10px;background:var(--surface);border:1px solid var(--gallery-rule);border-radius:5px 22px 5px 5px;box-shadow:4px 5px 0 #ded4bf;scroll-snap-align:start;scroll-snap-stop:always;scroll-margin-top:calc(var(--kids-header-height) + 16px)}.gallery-card.is-current{border-color:var(--teal)}.gallery-card.is-target{outline:3px solid var(--purple);outline-offset:0}.gallery-art{position:relative;display:grid;align-content:center;margin:0;background:#f1eadb;border-radius:2px 14px 2px 2px;min-width:0;overflow:hidden}.gallery-art img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}.gallery-number{position:absolute;left:12px;top:12px;display:grid;place-items:center;min-width:38px;height:38px;padding:5px;background:#fffdf8f5;border:1px solid #a59779;border-radius:50%;font:600 1rem var(--font-display);color:var(--ink);box-shadow:2px 2px 0 #233f3d16}.gallery-body{display:flex;flex-direction:column;align-items:start;flex:1;gap:12px;padding:20px 12px 12px;min-width:0}.gallery-mood{font-size:.85rem;font-weight:800;color:#5a5444;display:flex;align-items:center;gap:7px;line-height:1.4}.gallery-body h3{font-size:clamp(1.8rem,2.5vw,2.4rem);line-height:1.1;letter-spacing:-.025em}.gallery-body>p{font-size:1rem;line-height:1.55;margin:0 0 6px;color:#4e5b53}.gallery-more{width:100%;margin-top:auto}.gallery-more>summary{list-style:none;display:flex;justify-content:space-between;gap:10px;width:100%;padding:12px 16px;border-radius:8px;border-color:#9a9d89;background:#f8f5eb}.gallery-more>summary::-webkit-details-marker{display:none}.gallery-more[open]>summary{background:var(--lavender)}.gallery-more-body{padding-top:20px;min-width:0}.gallery-more-body>p{margin:14px 0;font-size:.9rem;line-height:1.6}.gallery-more-body h4{font-size:1.15rem;margin:20px 0 12px;line-height:1.4}.gallery-shots{display:grid;gap:18px;min-width:0}.gallery-shot{margin:0;min-width:0;background:#f1eadb;border:1px solid #c9bea5;border-radius:4px;overflow:hidden}.gallery-shot img{display:block;width:100%;height:auto;max-height:500px;object-fit:contain}.gallery-shot figcaption{padding:12px 14px;background:var(--surface);color:var(--ink);line-height:1.5;font-size:1rem}.gallery-links{gap:8px;list-style:none;padding:0;margin:0}.gallery-links li{margin:0;max-width:100%}.gallery-links .chip{display:flex;align-items:center;min-height:56px;white-space:normal;text-decoration:none;padding:10px 16px;background:var(--surface);border:1px solid #9caa95;color:var(--teal);line-height:1.4}.gallery-pick{width:100%;gap:8px;justify-content:space-between;border-radius:8px;padding:12px 16px;font-size:1rem;text-align:left}.gallery-controls{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;margin:14px 0 0}.gallery-controls[hidden],.gallery-hint[hidden]{display:none}.gallery-controls .btn{padding:12px 18px;border-radius:9px;background:var(--surface);gap:10px}.gallery-controls .btn:first-child{justify-self:start}.gallery-controls .btn:last-child{justify-self:end}.gallery-controls [aria-disabled=true]{color:#666b5e;border-color:#b5b8a8;background:#f3f0e6;box-shadow:none;cursor:default}.gallery-count{font-variant-numeric:tabular-nums;font-weight:850;white-space:nowrap;text-align:center;font-size:1rem}.gallery-next{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px;border:1px solid #b3a282;border-radius:4px 24px 4px 4px;background:#f7ebcb;box-shadow:4px 5px 0 #e5dcc5}.gallery-next h2{font-size:2rem;margin-bottom:10px}.gallery-next .btn{flex-shrink:0}.gallery-next+.caption{margin-top:22px}.gallery-page :is(a,button,summary,[tabindex]):focus-visible{outline:3px solid var(--purple);outline-offset:3px;box-shadow:0 0 0 2px var(--surface)}.gallery-locked{overflow:hidden;scrollbar-gutter:stable}.gallery-dialog{position:fixed;inset:0;width:min(1100px,calc(100% - 48px));max-width:none;height:min(860px,calc(100dvh - 40px));max-height:none;padding:0;margin:auto;border:1px solid #a49b82;border-radius:18px;background:#faf5e8;color:var(--ink);overflow:hidden;box-shadow:0 20px 80px #142c3555}.gallery-dialog::backdrop{background:#1c3439bd}.gallery-dialog-shell{display:flex;flex-direction:column;height:100%;min-width:0}.gallery-dialog-header{display:flex;justify-content:space-between;align-items:center;flex-shrink:0;gap:16px;padding:16px 24px;border-bottom:1px solid #c9bea5;background:#fffaf0}.gallery-dialog-header h2{font-size:clamp(1.4rem,3vw,2rem);line-height:1.2;min-width:0}.gallery-dialog-close{flex-shrink:0;min-height:56px;padding:10px 18px;border:1px solid #88967d;border-radius:10px;background:var(--surface);color:var(--ink);font-weight:850}.gallery-dialog-content{min-height:0;overflow-y:auto;overscroll-behavior-y:contain;padding:20px 24px 24px;scrollbar-width:thin}.gallery-dialog .gallery-more-body{padding:0}.gallery-dialog .gallery-shots{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;padding-bottom:8px}.gallery-dialog .gallery-shot{flex:0 0 100%;scroll-snap-align:start;scroll-snap-stop:always}.gallery-dialog .gallery-shot img{height:clamp(240px,60dvh,640px);max-height:none;object-fit:contain}.gallery-dialog .gallery-controls{margin-top:10px}.gallery-dialog .gallery-pick{margin-top:20px;max-width:380px}.gallery-dialog-footer{flex-shrink:0;display:flex;justify-content:flex-end;align-items:center;min-height:76px;padding:10px 20px;border-top:1px solid #c9bea5;background:#fffaf0}.gallery-dialog-footer .help-float{position:static;margin:0}.gallery-dialog :focus-visible{outline:3px solid var(--purple);outline-offset:2px}@media(min-width:900px){.gallery-card{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(270px,1fr);flex-basis:86%;padding:12px;gap:6px}.gallery-art{align-self:stretch}.gallery-art img{aspect-ratio:auto;max-height:500px}.gallery-body{padding:18px 20px;gap:15px}.gallery-body>p{margin-bottom:8px}.gallery-card:has(details[open]){grid-template-columns:minmax(0,1fr)}.gallery-card:has(details[open]) .gallery-art{max-height:450px}.gallery-card:has(details[open]) .gallery-art img{max-height:450px}.gallery-more-body .gallery-shots{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-intro::after{content:'✦';position:absolute;left:calc(100% + 60px);top:36px;color:#93753c;font-size:80px;transform:rotate(12deg)}}@media(max-width:599px){.gallery-intro-wrap{padding-block:26px 24px}.gallery-intro h1{font-size:2.45rem;max-width:14ch}.gallery-intro .lead{font-size:1rem;line-height:1.55;margin-top:16px}.gallery-tabs{gap:10px;margin-top:20px}.gallery-tab{flex:1;padding:12px 10px;font-size:1rem;gap:7px}.gallery-section{padding-block:26px 32px}.gallery-section .section-head p{font-size:1rem}.gallery-track{gap:16px}.gallery-card{flex-basis:92%;padding:7px}.gallery-track::after{flex-basis:8%}.gallery-body{padding:16px 10px 10px;gap:12px}.gallery-art img{aspect-ratio:auto;height:auto;max-height:62dvh;object-fit:contain}.gallery-number{top:8px;left:8px;min-width:32px;height:32px;font-size:.9rem}.gallery-controls{gap:8px}.gallery-controls .btn{padding:10px 12px;gap:7px;font-size:.9rem}.gallery-count{font-size:.9rem}.gallery-next{flex-direction:column;align-items:stretch;padding:24px}.gallery-dialog{width:100%;height:100dvh;border:0;border-radius:0}.gallery-dialog-header{padding:10px 14px;gap:10px}.gallery-dialog-close{padding:10px 14px}.gallery-dialog-content{padding:16px 14px 24px}.gallery-dialog .gallery-shot img{height:50dvh;min-height:220px}.gallery-dialog-footer{padding:10px 14px max(10px,env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:no-preference){.gallery-card.is-arriving .gallery-art{animation:gallery-page-turn .55s ease-out}.gallery-card.is-target .gallery-number{animation:gallery-spark .6s ease-out}.gallery-card[data-styl=neon].is-arriving .gallery-art{animation:gallery-glow .8s ease-out}@keyframes gallery-page-turn{from{opacity:.7;transform:perspective(1000px) rotateY(-6deg)}to{opacity:1;transform:none}}@keyframes gallery-spark{50%{transform:rotate(15deg) scale(1.15);box-shadow:0 0 0 8px #e8b85b50}}@keyframes gallery-glow{50%{box-shadow:0 0 22px #a65bc580}}}@media(prefers-reduced-motion:reduce){.gallery-page *,.gallery-page *::before,.gallery-page *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media(forced-colors:active){.gallery-card.is-target,.gallery-tab[aria-current],.kids-nav[data-kids-nav] a[aria-current]{outline:2px solid Highlight}.gallery-controls [aria-disabled=true]{color:GrayText}}