/* Seasonal collection, within the studio's original editorial identity. */
.season-invitation { display:flex; align-items:center; justify-content:space-between; gap:24px; border-top:1px solid var(--line); padding:15px 0 0; margin-top:20px; }
.season-invitation p { font-size:13px; line-height:1.6; }
.season-invitation p span { color:var(--accent-text); font-weight:700; }
.season-invitation a { font-size:12px; min-height:44px; display:inline-flex; align-items:center; gap:24px; }
.season-invitation a b { font-size:22px; }
[data-filter="christmas"], #tab-christmas { color:var(--accent-text); }
.christmas-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
.christmas-gallery .gallery-item { margin-top:0; }
.package-tabs button { flex:1; }
#tab-christmas { scroll-margin-top:125px; }
.christmas-intro { grid-column:1/-1; display:grid; grid-template-columns:1fr; gap:30px; margin:8px 0 30px; }
.christmas-copy { display:grid; grid-template-columns:1fr 1fr; gap:0 clamp(30px,5vw,80px); align-items:end; }
.christmas-copy>.eyebrow { grid-column:1/-1; }
.christmas-copy h3 { grid-column:1; grid-row:2/4; }
.christmas-copy>p:not(.eyebrow),.christmas-copy>.text-link { grid-column:2; }
.christmas-stories { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; align-items:start; }
.christmas-copy>.eyebrow { color:var(--accent-text); margin-bottom:22px; }
.christmas-copy h3 { font:700 clamp(30px,3.5vw,54px)/1.05 var(--display); margin-bottom:24px; }
.christmas-copy h3 .serif-word { font-size:1.12em; text-transform:none; }
.christmas-copy>p:not(.eyebrow) { font-size:14px; line-height:1.8; color:var(--muted); max-width:420px; margin-bottom:24px; }
.christmas-image { background:none; border:0; padding:0; width:100%; color:var(--ink); cursor:zoom-in; text-align:left; }
.christmas-image img { width:100%; height:auto; display:block; object-fit:contain; aspect-ratio:var(--image-ratio); }
.christmas-image>span { display:flex; justify-content:space-between; align-items:center; gap:15px; font-size:11px; min-height:44px; border-bottom:1px solid var(--line); }
.christmas-image>span b { font-size:20px; }
.christmas-image>span { padding:14px 0; }
.christmas-image strong { display:block; font-size:15px; line-height:1.5; font-weight:700; }
.christmas-image small { display:block; font-size:11px; line-height:1.5; margin-top:4px; color:var(--muted); }
.christmas-name { display:block; font-family:Georgia,serif; font-style:italic; font-size:.66em; font-weight:400; line-height:1.4; margin-top:3px; }
.season-variant-link { display:flex; align-items:center; justify-content:space-between; gap:15px; width:100%; background:none; color:inherit; border:0; border-top:1px solid currentColor; margin-top:20px; padding:14px 0 0; min-height:44px; text-align:left; font-size:12px; cursor:pointer; }
.season-variant-link span { font-size:20px; }
.christmas-panel .package-card .button { font-size:12px; }
@media (max-width:1000px) {
 .christmas-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:700px) {
 .season-invitation { gap:12px; margin-top:12px; padding-top:12px; }
 .season-invitation p { font-size:11px; max-width:52%; }
 .season-invitation a { font-size:11px; gap:10px; }
 .gallery-filters { grid-template-columns:repeat(6,minmax(0,1fr)); gap:4px 12px; }
 .gallery-filters button { grid-column:span 2; }
 .gallery-filters button:nth-child(-n+2) { grid-column:span 3; }
 .package-tabs button:last-child { grid-column:1/-1; }
 .christmas-intro { grid-template-columns:1fr; gap:25px; margin-bottom:12px; }
 .christmas-copy { display:block; }
 .christmas-stories { grid-template-columns:1fr; gap:24px; }
 .christmas-copy h3 { font-size:36px; margin-bottom:18px; }
 .christmas-copy>.eyebrow { margin-bottom:16px; }
 .christmas-copy>p:not(.eyebrow) { font-size:14px; margin-bottom:16px; }
 .christmas-name { font-size:.65em; }
 #tab-christmas { scroll-margin-top:100px; }
 .christmas-panel .package-card .button { font-size:11px; padding-left:13px; padding-right:13px; gap:10px; }
}
@media (prefers-reduced-motion:no-preference) {
 .christmas-intro { animation:intro-arrive .45s ease both; }
 .motion-paused .christmas-intro { animation:none; }
}
