/* Christmas at Takeovers: venue photography first; one physical orange ribbon.
   Native scroll, a quiet page rhythm and the existing inquiry journey. */
.main-nav .christmas-nav-link { color:#ae3715; font-weight:700; text-decoration:underline; text-decoration-color:#d33f18; text-decoration-thickness:2px; text-underline-offset:.45em; }

body.page-christmas {
 --xmas-pine:#172a22; --xmas-night:#0b1210; --xmas-paper:#f4f2ea; --xmas-copper:#d33f18;
 --xmas-ember:#f2713c; --xmas-gold:#f3bc84; --xmas-ink:#20231f; --xmas-rule:rgba(244,242,234,.22);
 background:var(--xmas-paper);
}
.page-christmas main { overflow:clip; }
.page-christmas :is(h1,h2,h3,p,figure,li) { min-width:0; }
.page-christmas h2 { margin:0; font:400 clamp(1.9rem,4.4vw,4.2rem)/1.08 var(--display); letter-spacing:-.025em; text-transform:uppercase; text-wrap:balance; }
.page-christmas .xmas-section-intro { max-width:52ch; margin:1rem 0 0; font-size:clamp(1rem,1.5vw,1.15rem); line-height:1.65; }

/* Generated atmosphere. Always decorative, always behind a scrim that guarantees contrast. */
.page-christmas .xmas-art { position:absolute; inset:0; z-index:0; display:block; pointer-events:none; user-select:none; }
.page-christmas .xmas-art img { display:block; width:100%; height:100%; object-fit:cover; }

/* ---------- 1. The opening: a December evening ---------- */
.page-christmas .xmas-opening { background:var(--xmas-paper); }
.page-christmas .xmas-hero-stage { position:relative; isolation:isolate; overflow:hidden; background:var(--xmas-night); color:var(--xmas-paper); }
.page-christmas .xmas-hero-stage::after { content:''; position:absolute; inset:0; z-index:1; pointer-events:none;
 background:linear-gradient(90deg,rgba(9,16,12,.89) 0%,rgba(9,16,12,.73) 30%,rgba(9,16,12,.12) 64%,transparent 82%); }
.page-christmas .xmas-hero-layout { position:relative; z-index:2; display:flex; flex-direction:column; align-items:flex-start; justify-content:center;
 gap:1.75rem; min-height:clamp(33rem,67svh,41rem); padding-block:clamp(3rem,5vw,4.5rem); }
.page-christmas .xmas-hero-layout.wrap { width:min(calc(100% - clamp(2.5rem,10vw,12rem)),88rem); }
.page-christmas .xmas-hero-head { max-width:100%; }
.page-christmas .xmas-hero-detail { max-width:33rem; }
.page-christmas .xmas-season { margin:1rem 0 0; font:500 1rem/1.5 var(--body); color:var(--xmas-paper); }
.page-christmas h1 { font-family:var(--display); font-weight:400; font-size:clamp(2.8rem,5.1vw,5.2rem); letter-spacing:-.025em; line-height:1.06;
 text-transform:uppercase; max-width:none; margin:0; color:var(--xmas-paper); text-wrap:initial; }
.page-christmas h1 span { display:block; word-break:normal; overflow-wrap:normal; hyphens:none; }
.page-christmas h1 span+span { color:var(--xmas-paper); }
.page-christmas .xmas-intro { margin:0; max-width:40ch; font:400 clamp(1.02rem,1.35vw,1.15rem)/1.6 var(--body); color:var(--xmas-paper); }
.page-christmas .xmas-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.7rem 1.6rem; margin-top:1.5rem; }
.page-christmas .xmas-primary { display:inline-flex; align-items:center; justify-content:space-between; gap:1.7rem; min-height:3.55rem; width:fit-content; max-width:100%;
 padding:1rem 1.4rem; border:1px solid transparent; border-radius:4px; background:var(--xmas-copper); color:#fff; font:700 1rem/1.35 var(--body);
 letter-spacing:0; text-transform:none; text-decoration:none; text-align:left; box-shadow:none; transition:background .18s ease,box-shadow .25s ease; }
.page-christmas .xmas-primary:hover { background:#b73112; }
.page-christmas .xmas-primary svg { width:1.45rem; height:1.45rem; flex:0 0 1.45rem; transition:transform .18s ease; }
.page-christmas .xmas-primary:hover svg { transform:translate(2px,-2px); }
.page-christmas .xmas-visit { min-height:2.75rem; display:inline-flex; align-items:center; padding:.6rem 0; color:var(--xmas-paper); font-weight:500; font-size:.97rem;
 text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:.35em; }
.page-christmas .xmas-visit:hover { color:var(--xmas-gold); }
.page-christmas .xmas-hero-photo { position:absolute; inset:0; margin:0; }
.page-christmas .xmas-hero-photo picture { display:block; width:100%; height:100%; }
.page-christmas .xmas-hero-photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:65% 52%; }
.page-christmas .xmas-arrival { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:4rem; padding-block:.55rem; border-bottom:1px solid #d3cfc5; }
.page-christmas .xmas-arrival p { margin:0; font-size:.94rem; line-height:1.45; }
.page-christmas .xmas-scroll { display:inline-flex; align-items:center; gap:.8rem; min-height:2.75rem; padding:.5rem 0; color:var(--xmas-ink); font:500 .94rem/1.4 var(--body); text-decoration:none; }
.page-christmas .xmas-scroll:hover { color:#ad351d; }

/* A photographed ribbon; no generated room, clipart garland or faux physics. */
.page-christmas .xmas-ribbon { display:block; pointer-events:none; user-select:none; }
.page-christmas .xmas-ribbon img { display:block; width:100%; height:auto; }
.page-christmas .xmas-ribbon-hero { position:absolute; z-index:3; width:clamp(13rem,23vw,22rem); top:-12%; right:-5%; transform:rotate(-12deg); transform-origin:90% 0; }
.page-christmas .xmas-ribbon-gallery { width:clamp(9rem,18vw,16rem); height:12rem; justify-self:center; position:relative; align-self:center; }
.page-christmas .xmas-ribbon-gallery img { position:absolute; width:100%; top:50%; transform:translateY(-50%) rotate(24deg); }

/* ---------- 2. What the space gives the party, shown in real photographs ---------- */
.page-christmas .xmas-benefits { background:#fff; padding-block:clamp(3rem,5.4vw,5rem); }
.page-christmas .xmas-benefits-heading { display:flex; align-items:baseline; justify-content:space-between; gap:1rem 3rem; margin-bottom:2rem; }
.page-christmas .xmas-benefits-heading h2 { font-size:clamp(1.8rem,3.2vw,3.1rem); }
.page-christmas .xmas-benefits-heading .xmas-section-intro { max-width:48ch; font-size:1.06rem; margin:0; }
.page-christmas .xmas-benefits-stories { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; }
.page-christmas .xmas-benefit { min-width:0; }
.page-christmas .xmas-benefit-image { overflow:hidden; border-radius:10px; background:#eae7df; }
.page-christmas .xmas-benefit-image img { display:block; width:100%; height:auto; aspect-ratio:1.18; object-fit:cover; }
.page-christmas .xmas-benefit:first-child img { object-position:50% 42%; }
.page-christmas .xmas-benefit:last-child img { object-position:63% 50%; }
.page-christmas .xmas-benefit-copy { padding:1.2rem .1rem .25rem; }
.page-christmas .xmas-benefit h3 { margin:0; font:600 clamp(1.15rem,1.65vw,1.4rem)/1.35 var(--body); color:var(--xmas-ink); }
.page-christmas .xmas-benefit p { margin:.6rem 0 0; font:400 1rem/1.65 var(--body); max-width:48ch; }
.page-christmas .xmas-benefits-note { margin:1.6rem 0 0; padding-top:1rem; border-top:1px solid #d9d6ce; font-size:.9rem; line-height:1.5; color:#58594f; max-width:none; }

/* ---------- 3. The rooms, in daylight cream ---------- */
.page-christmas .xmas-formats { padding-block:clamp(2.6rem,5vw,4.2rem) clamp(2.4rem,4.4vw,3.6rem); background:var(--xmas-paper); }
.page-christmas .xmas-editorial-heading { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(0,1fr); align-items:end; gap:clamp(1.5rem,3vw,2.4rem); margin-bottom:clamp(1.6rem,3vw,2.2rem); }
.page-christmas .xmas-poster { margin:0; justify-self:end; width:min(100%,20rem); }
.page-christmas .xmas-poster img { display:block; width:100%; height:auto; border-radius:3px; transform:rotate(1.6deg); box-shadow:0 18px 40px -26px rgba(23,42,34,.55); }
.page-christmas .xmas-gallery { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:1.7rem 1rem; }
.page-christmas .xmas-gallery-card { margin:0; grid-column:span 3; min-width:0; }
.page-christmas .xmas-gallery-wide { grid-column:span 8; }
.page-christmas .xmas-gallery-bar { grid-column:span 4; }
.page-christmas .xmas-gallery-link { position:relative; display:block; overflow:hidden; background:#d4d0c4; border-radius:3px; cursor:zoom-in; }
.page-christmas .xmas-gallery-link img { display:block; width:100%; height:auto; aspect-ratio:1.2; object-fit:cover; transition:transform .5s cubic-bezier(.16,1,.3,1); }
.page-christmas .xmas-gallery-wide .xmas-gallery-link, .page-christmas .xmas-gallery-bar .xmas-gallery-link { height:clamp(20rem,34vw,32rem); }
.page-christmas .xmas-gallery-wide img, .page-christmas .xmas-gallery-bar img { height:100%; aspect-ratio:auto; }
.page-christmas .xmas-gallery-wide img { object-position:50% 50%; }
.page-christmas .xmas-gallery-hall img { object-position:80% 50%; }
.page-christmas .xmas-gallery-bar img { object-position:68% 50%; }
.page-christmas .xmas-gallery-corner img { object-position:67% 50%; }
.page-christmas .xmas-gallery-evening img { object-position:62% 50%; }
.page-christmas .xmas-gallery-card figcaption { display:flex; flex-direction:column; align-items:flex-start; gap:.3rem; padding-block:.8rem .3rem; font-size:.92rem; line-height:1.4; }
.page-christmas .xmas-gallery-title { font-weight:600; }
.page-christmas .xmas-gallery-note { margin:1rem 0 0; font-size:.8rem; line-height:1.5; color:#605b53; }
.page-christmas .xmas-original-toggle { margin-top:.3rem; background:transparent; color:#27372b; border:1px solid #9a9f92; border-radius:3px; padding:.6rem .8rem; font:500 .85rem/1.4 var(--body); min-height:2.75rem; flex-shrink:0; }
.page-christmas .xmas-original-toggle[hidden] { display:none; }
.page-christmas .xmas-original-toggle[aria-pressed="true"] { background:#243b2c; color:#fff; border-color:#243b2c; }
.page-christmas .xmas-original-toggle:hover { border-color:#243b2c; }
.page-christmas .xmas-gallery-tools { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.6rem 1rem; margin-top:1rem; }
.page-christmas .xmas-gallery-open { display:inline-flex; align-items:center; gap:.6rem; background:transparent; border:0; border-radius:0; color:#172a22; padding:.55rem 0; min-height:2.75rem; font:500 .92rem/1.4 var(--body); cursor:pointer; text-decoration:underline; text-underline-offset:.25em; }
.page-christmas .xmas-gallery-open[hidden] { display:none; }
.page-christmas .xmas-gallery-open svg { width:1.2rem; height:1.2rem; flex-shrink:0; }
.page-christmas .xmas-gallery-open:hover { color:#ac3414; }
.page-christmas .xmas-gallery-controls { display:flex; align-items:center; justify-content:space-between; gap:.8rem; }
.page-christmas .xmas-gallery-controls[hidden] { display:none; }
.page-christmas .xmas-gallery-progress { font:500 .92rem/1.5 var(--body); font-variant-numeric:tabular-nums; }
.page-christmas .xmas-gallery-controls>div { display:flex; gap:.5rem; }
.page-christmas .xmas-gallery-controls button { display:grid; place-items:center; min-width:2.85rem; min-height:2.85rem; border:1px solid #a8aa9e; border-radius:50%; background:transparent; color:#172a22; cursor:pointer; }
.page-christmas .xmas-gallery-controls button:hover:not(:disabled) { background:#172a22; color:#fff; border-color:#172a22; }
.page-christmas .xmas-gallery-controls button:disabled { opacity:.35; cursor:default; }
.page-christmas [data-gallery-prev] svg { transform:rotate(180deg); }
.page-christmas .xmas-gallery:focus-visible { outline:2px solid #a53212; outline-offset:5px; }

/* ---------- 4. The formats, in deep evergreen ---------- */
.page-christmas .xmas-plan { position:relative; isolation:isolate; overflow:hidden; background:var(--xmas-pine); color:var(--xmas-paper); padding-block:clamp(2.6rem,5vw,4.2rem); }
.page-christmas .xmas-plan-art img { object-position:85% 50%; }
.page-christmas .xmas-plan::after { content:''; position:absolute; inset:0; z-index:1; pointer-events:none;
 background:linear-gradient(95deg,rgba(14,26,20,.48) 0%,rgba(14,26,20,.3) 45%,rgba(14,26,20,.12) 100%); }
.page-christmas .xmas-plan-layout { position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.25fr); gap:clamp(2rem,6vw,5rem); align-items:start; }
.page-christmas .xmas-plan h2, .page-christmas .xmas-plan .xmas-section-intro { color:var(--xmas-paper); }
.page-christmas .xmas-format { border-bottom:1px solid var(--xmas-rule); }
.page-christmas .xmas-format:first-child { border-top:1px solid var(--xmas-rule); }
.page-christmas .xmas-format summary { display:flex; align-items:center; gap:1rem; list-style:none; cursor:pointer; font:600 clamp(1.05rem,1.7vw,1.35rem)/1.35 var(--body); padding:1.3rem 0; color:var(--xmas-paper); }
.page-christmas .xmas-format summary::-webkit-details-marker { display:none; }
.page-christmas .xmas-format-index { font:400 .9rem/1 var(--display); color:var(--xmas-ember); letter-spacing:.06em; flex:0 0 auto; }
.page-christmas .xmas-format-title { flex:1 1 auto; }
.page-christmas .xmas-format summary:hover { color:var(--xmas-gold); }
.page-christmas .xmas-format p { font-size:1rem; line-height:1.68; margin:0 2rem 1.25rem 0; max-width:56ch; color:rgba(244,242,234,.88); }
.page-christmas .xmas-format .xmas-format-apply { margin:0 0 1.4rem; color:var(--xmas-ember); }
.page-christmas .xmas-format .xmas-format-apply:hover { color:var(--xmas-gold); }
.page-christmas .xmas-format-feedback { margin:1rem 0 0; color:var(--xmas-gold); font-weight:500; line-height:1.5; }
.page-christmas .xmas-format-feedback[hidden] { display:none; }

/* ---------- 5. The existing inquiry, unchanged in substance ---------- */
.page-christmas .xmas-inquiry { background:var(--xmas-pine); color:var(--xmas-paper); padding-block:clamp(2.6rem,5vw,4rem); position:relative; isolation:isolate; overflow:hidden; }
.page-christmas .xmas-contact-art img { object-position:50% 50%; }
.page-christmas .xmas-inquiry::after { content:''; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(90deg,rgba(14,26,20,.86) 0%,rgba(14,26,20,.6) 48%,rgba(14,26,20,.82) 100%); }
.page-christmas .inquiry-section .inquiry-layout { position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.08fr); gap:clamp(2rem,6vw,6rem); align-items:start; }
.page-christmas .inquiry-copy { display:block; position:relative; align-self:start; padding:1rem 0 0; }
.page-christmas .inquiry-copy h2 { max-width:17ch; color:var(--xmas-paper); margin-bottom:1.5rem; }
.page-christmas .inquiry-copy p, .page-christmas .inquiry-copy a { color:var(--xmas-paper); }
.page-christmas .inquiry-copy .inquiry-lead { font-size:1.1rem; line-height:1.65; max-width:42ch; }
.page-christmas #disponibilitate .inquiry-copy :is(h2,p,a) { color:var(--xmas-paper); }
.page-christmas #disponibilitate .inquiry-copy h2 { font-size:clamp(1.9rem,4vw,3.6rem); line-height:1.1; }
.page-christmas .inquiry-copy .plain-link { background:transparent; padding:.6rem 0; border-radius:0; width:fit-content; }
.page-christmas .inquiry-address { margin-block:1.5rem; }
.page-christmas .inquiry-window { display:none; }
.page-christmas .xmas-contact-detail { display:block; width:100%; max-width:32rem; margin-top:1.5rem; overflow:hidden; border-radius:10px; }
.page-christmas .xmas-contact-detail img { display:block; width:100%; height:clamp(10rem,18vw,17rem); object-fit:cover; object-position:80% 80%; }
.page-christmas .xmas-form-context { color:#a53212; font-weight:700; font-size:.9rem; border-bottom:1px solid #c5bfb4; padding-bottom:.8rem; margin-bottom:1.25rem; }
.page-christmas #inquiry-form { min-width:0; width:100%; box-shadow:0 30px 60px -40px rgba(0,0,0,.6); border:1px solid #d2ccc0; color:#24211e; }
.page-christmas #inquiry-form .compact-brief { border:1px solid #c5bfb4; background:#f4f2ea; border-radius:5px; padding:.85rem 1rem; }

/* ---------- 6. Questions, then the rest of the year ---------- */
.page-christmas .xmas-faq { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.08fr); align-items:start; gap:clamp(2rem,5vw,4.5rem); padding-block:clamp(3rem,5.5vw,5rem); }
.page-christmas .xmas-faq-intro h2 { margin-bottom:1.65rem; font-size:clamp(1.75rem,3vw,2.9rem); line-height:1.13; }
.page-christmas .xmas-faq-venue { display:block; text-decoration:none; color:var(--xmas-ink); }
.page-christmas .xmas-faq-venue img { width:100%; height:auto; aspect-ratio:1.85; display:block; object-fit:cover; border-radius:4px; }
.page-christmas .xmas-faq-venue>span { display:flex; justify-content:space-between; gap:1rem; align-items:center; padding-top:.85rem; font:600 1rem/1.4 var(--body); }
.page-christmas .xmas-faq-venue small { display:block; margin-top:.25rem; font:400 .9rem/1.4 var(--body); }
.page-christmas .xmas-faq-venue svg { flex:0 0 1.5rem; }
.page-christmas .xmas-faq-venue:hover>span { color:#ac3414; }
.page-christmas .xmas-faq-questions { padding-top:.3rem; }
.page-christmas .xmas-text-link { display:inline-flex; align-items:center; gap:1.5rem; min-height:2.75rem; font-weight:600; text-underline-offset:.3em; color:#272b23; }
.page-christmas .xmas-faq details { border-bottom:1px solid #c9c4ba; padding-inline:1rem; }
.page-christmas .xmas-faq details:first-child { border-top:1px solid #c9c4ba; }
.page-christmas .xmas-faq details[open] { background:#eae7dc; }
.page-christmas .xmas-faq summary { cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:1.5rem; font-size:1.03rem; font-weight:600; line-height:1.4; padding-block:1.3rem; list-style:none; }
.page-christmas .xmas-faq summary:hover { color:#ac3414; }
.page-christmas .xmas-faq summary::-webkit-details-marker { display:none; }
.page-christmas .xmas-faq details p { margin:0 2.5rem 1.5rem 0; font-size:1rem; line-height:1.65; }
.page-christmas .xmas-plus { position:relative; width:1rem; height:1rem; flex:0 0 1rem; }
.page-christmas .xmas-plus::before, .page-christmas .xmas-plus::after { content:''; position:absolute; top:50%; left:0; width:1rem; height:1px; background:currentColor; }
.page-christmas .xmas-plus::after { transform:rotate(90deg); }
.page-christmas details[open] .xmas-plus::after { display:none; }
.page-christmas .xmas-beyond { position:relative; isolation:isolate; overflow:hidden; background:var(--xmas-paper); color:var(--xmas-ink); padding-block:clamp(3.5rem,6vw,5.5rem); }
.page-christmas .xmas-beyond-art { position:absolute; inset:0; z-index:-2; pointer-events:none; }
.page-christmas .xmas-beyond-art img { width:100%; height:100%; object-fit:cover; object-position:center; }
.page-christmas .xmas-beyond::before { content:''; position:absolute; inset:0 0 auto; height:22rem; z-index:-1; pointer-events:none; background:linear-gradient(180deg,rgba(244,242,234,.92),rgba(244,242,234,.86) 68%,rgba(244,242,234,0)); }
.page-christmas .xmas-beyond .wrap { position:relative; }
.page-christmas .xmas-beyond-head { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:.8rem 2rem; margin-bottom:1.8rem; }
.page-christmas .xmas-beyond-head h2 { color:var(--xmas-ink); font-size:clamp(1.6rem,3vw,2.6rem); }
.page-christmas .xmas-beyond-head p { margin:0; max-width:46ch; font-size:1rem; line-height:1.6; color:var(--xmas-ink); }
.page-christmas .xmas-beyond-list { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.4rem; }
.page-christmas .xmas-beyond-list a { display:block; height:100%; overflow:hidden; border-radius:6px; background:var(--xmas-paper); color:var(--xmas-ink); text-decoration:none; }
.page-christmas .xmas-beyond-photo { overflow:hidden; background:#24392e; }
.page-christmas .xmas-beyond-photo img { display:block; width:100%; height:auto; aspect-ratio:.88; object-fit:cover; transition:transform .45s cubic-bezier(.16,1,.3,1); }
.page-christmas .xmas-beyond-list li:first-child img { object-position:65% 50%; }
.page-christmas .xmas-beyond-list li:last-child img { object-position:49% 50%; }
.page-christmas .xmas-beyond-label { display:flex; align-items:flex-start; justify-content:space-between; gap:.6rem; padding:1rem .85rem .4rem; font:600 clamp(1.05rem,1.5vw,1.25rem)/1.3 var(--body); }
.page-christmas .xmas-beyond-list p { margin:0; padding:0 .85rem 1rem; font:400 .95rem/1.5 var(--body); color:var(--xmas-ink); }
.page-christmas .xmas-beyond-list a:hover .xmas-beyond-label { color:#a52f12; }
.page-christmas .xmas-beyond-list svg { width:1.3rem; height:1.3rem; flex:0 0 1.3rem; }

/* ---------- 7. The warm close ---------- */
.page-christmas .xmas-close { position:relative; isolation:isolate; overflow:hidden; background:var(--xmas-paper); color:var(--xmas-ink); padding-block:clamp(3.2rem,6vw,5.2rem); }
.page-christmas .xmas-close .wrap { position:relative; z-index:2; }
.page-christmas .xmas-close h2 { color:var(--xmas-ink); font-size:clamp(2.2rem,5vw,4.6rem); max-width:17ch; }
.page-christmas .xmas-close p { font-size:1.08rem; line-height:1.6; max-width:44ch; margin:1.4rem 0 0; color:var(--xmas-ink); }
.page-christmas .xmas-close .xmas-primary { margin:1.8rem 0 0; }
.page-christmas .xmas-ribbon-close { position:absolute; z-index:1; width:clamp(19rem,32vw,32rem); right:2%; top:50%; transform:translateY(-50%) rotate(30deg); }

.page-christmas main :focus-visible { outline:3px solid #9b3a1e; outline-offset:5px; }
.page-christmas :is(.xmas-hero-stage,.xmas-inquiry,.xmas-plan) :focus-visible { outline-color:#f4f2ea; }
.page-christmas ::selection { background:#d33f18; color:#fff; }

/* ---------- Motion: warmth arriving, never required ---------- */
@media (prefers-reduced-motion:no-preference) {
 .page-christmas:not([data-effects="off"]) .xmas-gallery-link:hover img { transform:scale(1.025); }
 .page-christmas:not([data-effects="off"]) .xmas-beyond-list a:hover img { transform:scale(1.035); }
 @supports (animation-timeline:view()) {
  .page-christmas:not([data-effects="off"]) .xmas-ribbon-gallery img { animation:xmas-ribbon-unfurls linear both; animation-timeline:view(); animation-range:entry 0% cover 65%; }
 }
}
@keyframes xmas-ribbon-unfurls { from { transform:translateY(-44%) rotate(12deg); } to { transform:translateY(-52%) rotate(26deg); } }

/* ---------- Tablet ---------- */
@media (max-width:1099px) and (min-width:768px) {
 .page-christmas .xmas-hero-layout { min-height:32rem; gap:1.6rem; }
 .page-christmas h1 { font-size:5.2vw; }
 .page-christmas .xmas-benefits-heading { align-items:flex-start; }
 .page-christmas .xmas-benefits-heading h2 { font-size:2rem; }
 .page-christmas .xmas-beyond-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .page-christmas .xmas-beyond-photo img { aspect-ratio:1.35; }
}

/* ---------- Phone ---------- */
@media (max-width:767px) {
 .page-christmas .xmas-hero-layout.wrap { width:100%; max-width:none; min-height:0; gap:0; padding:0; }
 .page-christmas .xmas-hero-head { width:100%; min-height:22rem; padding:1.75rem 1.25rem 2rem; }
 .page-christmas .xmas-hero-detail { max-width:none; width:100%; padding:1.4rem 1.25rem 1rem; background:var(--xmas-paper); color:var(--xmas-ink); }
 .page-christmas .xmas-hero-stage::after { height:22rem; background:linear-gradient(180deg,rgba(9,16,12,.9) 0%,rgba(9,16,12,.7) 26%,rgba(9,16,12,.07) 58%,transparent 75%); }
 .page-christmas .xmas-season { margin-top:.85rem; font-size:.875rem; }
 .page-christmas h1 { font-size:min(9.2vw,3rem); line-height:1.08; letter-spacing:-.025em; }
 html[lang="en"] .page-christmas h1 { font-size:min(10vw,3.3rem); }
 .page-christmas .xmas-intro { margin:0; font-size:1.02rem; line-height:1.55; max-width:48ch; color:var(--xmas-ink); }
 .page-christmas .xmas-actions { gap:.3rem .7rem; margin-top:1.1rem; }
 .page-christmas .xmas-primary { width:100%; gap:.8rem; font-size:.96rem; padding:.9rem 1rem; }
 .page-christmas .xmas-visit { font-size:.92rem; color:var(--xmas-ink); }
 .page-christmas .xmas-visit:hover { color:#ad351d; }
 .page-christmas .xmas-hero-photo { height:22rem; }
 .page-christmas .xmas-hero-photo img { height:100%; object-position:54% 50%; }
 .page-christmas .xmas-ribbon-hero { width:8rem; top:7rem; right:-3rem; }
 .page-christmas .xmas-arrival { flex-wrap:wrap; gap:0 .7rem; min-height:3.8rem; border-top:1px solid #d3cfc5; }
 .page-christmas .xmas-arrival p, .page-christmas .xmas-scroll { font-size:.875rem; }
 .page-christmas .xmas-ribbon-gallery { width:5rem; height:4rem; position:absolute; right:-2.5rem; top:-2rem; overflow:hidden; }
 .page-christmas .xmas-ribbon-gallery img { transform:translateY(-30%) rotate(-18deg); animation:none; }
 .page-christmas .xmas-hero-detail :focus-visible { outline-color:#ad351d; }
 .page-christmas .xmas-benefits { padding-block:2.6rem; }
 .page-christmas .xmas-benefits-heading { display:block; margin-bottom:1.5rem; }
 .page-christmas .xmas-benefits-heading h2 { font-size:clamp(1.6rem,7.5vw,2.4rem); }
 .page-christmas .xmas-benefits-heading .xmas-section-intro { margin-top:.8rem; font-size:1rem; }
 .page-christmas .xmas-benefits-stories { grid-template-columns:1fr; gap:2rem; }
 .page-christmas .xmas-benefit-image img { aspect-ratio:1.5; }
 .page-christmas .xmas-benefit-copy { padding-top:1rem; }
 .page-christmas .xmas-benefit h3 { font-size:1.2rem; }
 .page-christmas .xmas-benefits-note { margin-top:1.5rem; }
 .page-christmas .xmas-formats { padding-block:2.4rem; }
 .page-christmas .xmas-plan { padding-block:2.4rem; }
 .page-christmas .xmas-plan-layout { grid-template-columns:minmax(0,1fr); gap:1.6rem; }
 .page-christmas h2 { font-size:clamp(1.6rem,8vw,2.6rem); line-height:1.08; }
 .page-christmas .xmas-editorial-heading { position:relative; grid-template-columns:minmax(0,1fr); gap:0; margin-bottom:1.7rem; }
 .page-christmas .xmas-heading-copy { position:relative; z-index:1; padding-right:1rem; }
 .page-christmas .xmas-section-intro { font-size:1rem; }
 .page-christmas .xmas-gallery { display:flex; gap:.75rem; width:calc(100% + 1.5rem); padding-right:1.5rem; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
 .page-christmas .xmas-gallery::-webkit-scrollbar { display:none; }
 .page-christmas .xmas-gallery-card { flex:0 0 87%; scroll-snap-align:start; scroll-snap-stop:normal; }
 .page-christmas .xmas-gallery-card .xmas-gallery-link { height:auto; aspect-ratio:1.07; }
 .page-christmas .xmas-gallery-card img { height:100%; aspect-ratio:auto; object-position:66% 50%; }
 .page-christmas .xmas-gallery-hall img { object-position:80% 50%; }
 .page-christmas .xmas-gallery-dinner img { object-position:9% 50%; }
 .page-christmas .xmas-gallery-lounge img { object-position:52% 50%; }
 .page-christmas .xmas-gallery-card figcaption { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.25rem .5rem; align-items:start; padding-top:.7rem; font-size:.92rem; }
 .page-christmas .xmas-gallery-title { grid-column:1; }
 .page-christmas .xmas-original-toggle { grid-column:2; grid-row:1; margin:0; font-size:.875rem; padding:.45rem .5rem; }
 .page-christmas .xmas-gallery-note { font-size:.77rem; }
 .page-christmas .xmas-format summary { font-size:1.06rem; padding-block:1.15rem; gap:.8rem; }
 .page-christmas .xmas-format p { font-size:.97rem; margin-right:0; }
 .page-christmas .xmas-inquiry { padding-block:2.6rem; }
 .page-christmas .xmas-inquiry::after { background:linear-gradient(180deg,rgba(14,26,20,.82),rgba(14,26,20,.9)); }
 .page-christmas .inquiry-section .inquiry-layout { grid-template-columns:minmax(0,1fr); gap:1.6rem; }
 .page-christmas .inquiry-copy { padding:0; }
 .page-christmas .inquiry-copy h2 { max-width:20ch; }
 .page-christmas #disponibilitate .inquiry-copy h2 { font-size:clamp(1.6rem,8vw,2.6rem); }
 .page-christmas .inquiry-copy .inquiry-lead { font-size:1rem; }
 .page-christmas .inquiry-copy .inquiry-address { display:none; }
 .page-christmas .xmas-faq { grid-template-columns:minmax(0,1fr); gap:1.8rem; padding-block:2.8rem; }
 .page-christmas .xmas-faq-intro h2 { font-size:clamp(1.6rem,7vw,2.35rem); margin-bottom:1.4rem; }
 .page-christmas .xmas-faq details { padding-inline:.7rem; }
 .page-christmas .xmas-faq summary { font-size:1rem; }
 .page-christmas .xmas-beyond { padding-block:2.4rem; }
 .page-christmas .xmas-beyond-head h2 { font-size:clamp(1.6rem,7vw,2.35rem); }
 .page-christmas .xmas-beyond-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.7rem .85rem; }
 .page-christmas .xmas-beyond-photo img { aspect-ratio:.83; }
 .page-christmas .xmas-beyond-label { margin-top:.75rem; font-size:1rem; gap:.3rem; }
 .page-christmas .xmas-beyond-label svg { width:1rem; height:1rem; flex-basis:1rem; margin-top:.12rem; }
 .page-christmas .xmas-beyond-list p { font-size:.9rem; line-height:1.4; }
 .page-christmas .xmas-close { padding-block:2.8rem; }
 .page-christmas .xmas-close h2 { font-size:min(7.7vw,2.4rem); line-height:1.12; max-width:none; text-wrap:initial; }
 .page-christmas .xmas-close p { font-size:1rem; max-width:32ch; }
 .page-christmas .xmas-close .xmas-primary { max-width:24rem; }
 .page-christmas .xmas-ribbon-close { width:9rem; top:1rem; right:-4.5rem; transform:rotate(15deg); }
}

/* ---------- Phone: the page that has to earn the lead ---------- */
@media (max-width:767px) {
 /* The site hides the floating request bar as redundant; this campaign keeps it,
    because the phone is where the request actually gets sent. */
 body.page-christmas.studio-reading .sticky-inquiry { display:flex!important; }
 .page-christmas .sticky-inquiry { gap:.5rem; padding:.55rem; }
 .page-christmas .sticky-inquiry-primary { flex:1 1 auto; }

 /* Nothing on the page drops below 14px. */
 .page-christmas .xmas-gallery-card figcaption { font-size:.97rem; }
 .page-christmas .xmas-format p { font-size:1rem; }

 /* Real photography carries the phone, not the generated atmosphere. */
 .page-christmas .xmas-gallery-card .xmas-gallery-link { aspect-ratio:1; }
 .page-christmas .xmas-gallery-card { flex:0 0 82%; }

 /* Room for the floating bar at the foot of the page. */
 .page-christmas .xmas-close { padding-bottom:3rem; }
}

@media (prefers-reduced-motion:reduce) {
 .page-christmas main *, .page-christmas main *::after { animation:none!important; scroll-behavior:auto!important; transition:none!important; }
}
.page-christmas[data-effects="off"] main *, .page-christmas[data-effects="off"] main *::after { animation:none!important; transition:none!important; }

/* PhotoSwipe stays local, captioned and keyboard accessible. */
.page-christmas .xmas-lightbox { --pswp-bg:#102019; --pswp-icon-color:#f4f2ea; --pswp-icon-color-secondary:#102019; --pswp-icon-stroke-color:#102019; --pswp-icon-stroke-width:1.5px; --pswp-error-text-color:#fff; z-index:100000; }
.page-christmas .xmas-lightbox .pswp__button { min-width:3.5rem; min-height:3.5rem; opacity:1; border-radius:0; background:transparent; box-shadow:none; }
.page-christmas .xmas-lightbox .pswp__button--close { margin:.6rem .8rem 0 .3rem; border:1px solid #66756c; border-radius:50%; background:#16291f; }
.page-christmas .xmas-lightbox .pswp__counter { color:#fff; text-shadow:none; line-height:4rem; }
.page-christmas .xmas-lightbox .pswp__button:focus-visible { outline:2px solid #fff; outline-offset:-3px; }
.page-christmas .xmas-lightbox .pswp__caption { position:absolute; left:1.5rem; right:1.5rem; bottom:1rem; text-align:center; color:#f4f2ea; font:400 .9rem/1.45 var(--body); pointer-events:none; }
