.elementor-468 .elementor-element.elementor-element-6cf74e2{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-468 .elementor-element.elementor-element-69570de{padding:0px 0px 0px 0px;}.elementor-468 .elementor-element.elementor-element-77bd68d{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-468 .elementor-element.elementor-element-86eb632{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-468 .elementor-element.elementor-element-585498a{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-468 .elementor-element.elementor-element-02dea74{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-468 .elementor-element.elementor-element-202e7ca{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-468 .elementor-element.elementor-element-57b4c8e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:054px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-468 .elementor-element.elementor-element-2e6d63d{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:stretch;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-468 .elementor-element.elementor-element-30a3ce4{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-468 .elementor-element.elementor-element-5708eb5{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-loop-grid .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-loop-grid .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-loop-grid .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-468 .elementor-element.elementor-element-e59d127{--grid-columns:3;}.elementor-468 .elementor-element.elementor-element-276edd6{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-468 .elementor-element.elementor-element-df9a34d{--display:flex;}.elementor-468 .elementor-element.elementor-element-a93b365{--grid-columns:3;}@media(max-width:1024px){.elementor-468 .elementor-element.elementor-element-e59d127{--grid-columns:2;}.elementor-468 .elementor-element.elementor-element-a93b365{--grid-columns:2;}}@media(max-width:767px){.elementor-468 .elementor-element.elementor-element-57b4c8e{--padding-top:54px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-468 .elementor-element.elementor-element-e59d127{--grid-columns:1;}.elementor-468 .elementor-element.elementor-element-276edd6{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-468 .elementor-element.elementor-element-df9a34d{--width:100vw;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-468 .elementor-element.elementor-element-a93b365{--grid-columns:1;}}/* Start custom CSS *//* ============================================================
   RESERVE · PAGE CSS  (ทุก section บนหน้า Reserve ใช้ร่วมกัน)
   วาง: หน้า Reserve → Elementor → Page Settings (⚙) → Advanced → Custom CSS
   (header/footer มี CSS ของตัวเองใน template แยก)
   ============================================================ */
:root{
  --cream:#eae3d3; --cream-2:#f1ecdf; --cream-on-dark:#d6d0bd; --cream-dim:rgba(214,208,189,.78);
  --espresso:#241a13; --green:#0c3d2f; --ox:#660000; --ox-h:#7d1212; --muted:#7c715f;
  --line:rgba(36,26,19,.14); --ease:cubic-bezier(.16,1,.3,1); --serif:'Cormorant Garamond',Georgia,serif;
}
/* ★ บังคับพื้นหน้า Reserve เป็น Patina Cream — กัน global theme/Kit สีเข้ม (#0a0908) ทับ
   (CSS นี้อยู่ใน Page Settings → page-scoped → กระทบเฉพาะหน้า Reserve เท่านั้น) */
body{background:#eae3d3 !important}
.elementor-page,.e-con,.e-con-inner{background-color:transparent}

/* พื้นหน้า Reserve = Patina Cream · ตัวอักษรเริ่มต้น espresso */
.re-sec,.re-hero{color:var(--espresso);font-family:'Raleway',sans-serif}
.re-in{max-width:1240px;margin:0 auto;padding:0 46px;box-sizing:border-box}
.re-sec a,.re-hero a{color:inherit;text-decoration:none}
.re-sec img,.re-hero img{display:block;max-width:100%}

/* ===== HERO (video) ===== */
.re-hero{position:relative;min-height:100vh;display:flex;align-items:flex-end;justify-content:center;text-align:center;overflow:hidden}
.re-hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.re-hero::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(20,8,8,.44),rgba(20,8,8,.28) 42%,rgba(23,16,12,.85))}
.re-hero-in{position:relative;z-index:2;padding:0 24px clamp(70px,12vh,140px);max-width:980px;width:100%}
.re-hero-title{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(40px,6.2vw,80px);line-height:1.07;color:var(--cream-on-dark);margin:0}
.re-hero-sub{margin:28px auto 0;color:var(--cream-dim);font-size:13px;letter-spacing:.22em;text-transform:uppercase}
.re-hero-btns{display:flex;gap:16px;justify-content:center;margin-top:44px;flex-wrap:wrap}
.re-btn{display:inline-block;padding:16px 34px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;transition:.35s var(--ease)}
.re-btn-solid{background:var(--ox);color:#d6d0bd !important;border:1px solid var(--ox)}
.re-btn-solid:hover{background:var(--ox-h);border-color:var(--ox-h);color:#d6d0bd !important}
.re-btn-ghost{border:1px solid rgba(214,208,189,.5);color:var(--cream-on-dark) !important}
.re-btn-ghost:hover{border-color:var(--cream-on-dark);background:rgba(214,208,189,.1);color:#d6d0bd !important}

/* ===== SECTIONS — centered editorial ===== */
.re-sec{padding:120px 0;text-align:center}
.re-sec.tight{padding:92px 0}
.re-h2{font-family:'Raleway',sans-serif;font-weight:200;font-size:clamp(30px,4.4vw,54px);line-height:1.14;color:var(--espresso);margin:0;letter-spacing:.012em}
.re-h2 em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--ox)}
.re-lead{color:var(--espresso);font-size:16px;line-height:2;font-weight:300;margin:24px auto 0;max-width:680px}

/* intro */
.re-intro{max-width:900px;margin:0 auto}
.re-intro-text{font-family:var(--serif);font-weight:400;font-size:clamp(26px,3.5vw,42px);line-height:1.4;color:var(--espresso);margin:0}
.re-intro-text em{font-style:italic;color:var(--ox)}
.re-divider{width:64px;height:1px;background:var(--ox);margin:40px auto 0;opacity:.6}
.re-tags{margin-top:30px;display:flex;gap:16px;justify-content:center;flex-wrap:wrap;color:var(--muted);font-size:11px;letter-spacing:.24em;text-transform:uppercase}
.re-tags span{position:relative;padding-right:16px}
.re-tags span:not(:last-child)::after{content:"·";position:absolute;right:0;color:var(--ox)}

/* steps */
.re-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;margin-top:64px;text-align:center}
.re-step{padding-top:30px;border-top:1px solid var(--line)}
.re-step-n{font-family:var(--serif);font-style:italic;color:var(--ox);font-size:28px;margin-bottom:16px}
.re-step h3{font-family:'Raleway',sans-serif;font-weight:500;font-size:19px;letter-spacing:.06em;text-transform:uppercase;color:var(--espresso);margin:0 0 14px}
.re-step p{color:var(--muted);font-size:14.5px;line-height:1.85;font-weight:300;margin:0}
.re-steps-cta{margin-top:56px;text-align:center}
@media(max-width:768px){ .re-steps-cta{margin-top:36px} .re-steps-cta .re-btn{width:100%} }

/* collection mosaic (2 | big | 2) */
.re-band-soft{background:var(--cream-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.re-mosaic{display:grid;grid-template-columns:1fr 1.5fr 1fr;grid-template-rows:300px 300px;gap:18px;margin-top:58px;text-align:left}
.re-mz{position:relative;overflow:hidden;background:#cabfa9}
.re-mz img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.re-mz:hover img{transform:scale(1.06)}
.re-mz-c{grid-column:2;grid-row:1 / 3}
/* ล็อกตำแหน่งตามเบอร์บรีฟ: 1 บนซ้าย · 2 ล่างซ้าย · 3 กลางใหญ่ · 4 บนขวา · 5 ล่างขวา */
.re-mosaic > .re-mz:nth-child(1){grid-column:1;grid-row:1}
.re-mosaic > .re-mz:nth-child(2){grid-column:1;grid-row:2}
.re-mosaic > .re-mz:nth-child(4){grid-column:3;grid-row:1}
.re-mosaic > .re-mz:nth-child(5){grid-column:3;grid-row:2}
.re-mz .cap{position:absolute;left:0;right:0;bottom:0;padding:30px 22px 18px;background:linear-gradient(transparent,rgba(12,8,6,.78));opacity:0;transition:.4s var(--ease)}
.re-mz:hover .cap{opacity:1}
.re-mz .cap .n{font-family:var(--serif);font-style:italic;font-size:19px;color:#d6d0bd;line-height:1.2}
.re-mz .cap .m{color:rgba(214,208,189,.7);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;margin-top:6px}
.re-center-link{display:inline-flex;align-items:center;gap:10px;margin-top:54px;color:var(--ox);font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;border-bottom:1px solid var(--ox);padding-bottom:7px;transition:.3s}
.re-center-link:hover{color:var(--ox-h);border-color:var(--ox-h)}
/* ลูกศร gallery — วงกลม วางทับขอบรูป ซ้าย/ขวา (กลางแนวตั้ง) เหมือนหน้าหลัก · โชว์เฉพาะมือถือ */
.re-gal-wrap{position:relative}
.re-gal-arrow{display:none;position:absolute;top:50%;transform:translateY(-50%);z-index:5;
  width:44px;height:44px;border-radius:50%;border:1px solid var(--ox);background:rgba(234,227,211,.92);color:var(--ox);
  align-items:center;justify-content:center;cursor:pointer;box-shadow:0 6px 20px rgba(0,0,0,.22);
  transition:.3s var(--ease);-webkit-tap-highlight-color:transparent}
.re-gal-arrow:hover{background:var(--ox);color:#d6d0bd}
.re-gal-arrow.off{opacity:.28;pointer-events:none}      /* สุดทาง = กดไม่ได้ */
.re-gal-prev{left:8px}.re-gal-next{right:8px}

/* quote band (green) */
.re-quoteband{background:var(--green);color:var(--cream-on-dark);text-align:center}
.re-quote{max-width:940px;margin:0 auto}
.re-quote-mark{color:rgba(214,208,189,.4);font-family:var(--serif);font-size:66px;line-height:0;display:block;margin-bottom:16px}
.re-quote p{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(24px,3vw,38px);line-height:1.4;color:var(--cream-on-dark);margin:0}
.re-quote cite{display:block;margin-top:26px;color:rgba(214,208,189,.7);font-size:11px;letter-spacing:.26em;text-transform:uppercase;font-style:normal;font-weight:500}

/* appointment */
.re-appt-card{max-width:520px;margin:48px auto 0;border:1px solid var(--line);background:var(--cream-2);padding:48px 44px}
.re-appt-card .k{color:var(--ox);font-size:11px;letter-spacing:.24em;text-transform:uppercase;font-weight:600;margin-bottom:16px}
.re-appt-card .v{color:var(--espresso);font-family:var(--serif);font-style:italic;font-size:28px;margin-bottom:10px}
.re-appt-card .d{color:var(--muted);font-size:13.5px;line-height:1.7;margin-bottom:28px}

/* editorial */
.re-ed{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:60px;text-align:left}
.re-ed-card .re-ed-img{aspect-ratio:3/2;overflow:hidden;background:#cabfa9}
.re-ed-card img{width:100%;height:100%;object-fit:cover;transition:transform 1.3s var(--ease)}
.re-ed-card:hover img{transform:scale(1.05)}
.re-ed-cat{color:var(--ox);font-size:10px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;margin:18px 0 10px}
.re-ed-t{font-family:var(--serif);font-style:italic;font-size:24px;color:var(--espresso);line-height:1.3}

/* ===== responsive ===== */
@media(max-width:1024px){
  .re-in{padding:0 26px}
  .re-steps{grid-template-columns:1fr;gap:0}.re-step{padding:30px 0}
  .re-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:240px 240px 240px}
  .re-mz-c{grid-column:1 / 3;grid-row:1}
  /* editorial = สไลด์ซ้ายขวา (layout เดียวกับ media Watch Estate) */
  .re-ed-wrap{margin-right:-26px}
  .re-ed{display:flex !important;grid-template-columns:none !important;flex-wrap:nowrap;
    overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory;gap:14px;scrollbar-width:none;text-align:left;margin-top:44px;padding-bottom:2px}
  .re-ed::-webkit-scrollbar{display:none}
  .re-ed-card{flex:0 0 46% !important;scroll-snap-align:start}
  .re-ed-card:last-child{scroll-snap-align:end}
  .re-ed-arrow{display:flex;top:33%}
}
@media(max-width:600px){
  .re-sec{padding:80px 0}
  /* gallery = สไลด์ 1.3 รูป (ปัดได้) + ลูกศร */
  .re-gal-wrap{margin-right:-26px}      /* bleed ฝั่งขวาชิดขอบจอ */
  .re-mosaic{display:flex !important;grid-template-columns:none !important;grid-template-rows:none !important;flex-wrap:nowrap;
    overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory;gap:14px;scrollbar-width:none;margin-top:44px;padding-bottom:2px}
  .re-mosaic::-webkit-scrollbar{display:none}
  .re-mz,.re-mz-c{flex:0 0 72% !important;grid-column:auto !important;grid-row:auto !important;scroll-snap-align:start;aspect-ratio:3/4}
  .re-mz:last-child{scroll-snap-align:end}   /* รูปสุดท้าย snap ชิดขวา (ไม่เหลือครีม/ไม่เด้ง) */
  .re-mz .cap{opacity:1}                /* มือถือแตะไม่ได้ → โชว์ caption ตลอด */
  .re-gal-arrow{display:flex}
  .re-ed-card{flex-basis:80% !important}     /* มือถือ ~1.3 ใบ */
  .re-ed-t{font-size:20px}
  .re-hero-btns{flex-direction:column}.re-btn{width:100%}
}

/* ============================================================
   MOTION — scroll reveal + hero load + video ken-burns
   (class .re-rv ถูกใส่โดย reserve-js.html · ถ้าไม่มี JS เนื้อหายังโชว์ปกติ)
   ============================================================ */
/* fade up — แบบ AP: ช้า · ระยะยาวขึ้น · ease นุ่มปลายยาว (ดูหรู ค่อยๆ settle)
   ease-rv = cubic-bezier(.16,1,.3,1) เริ่มไว→ค่อยๆ ช้าลงตอนจบ · transform ช้ากว่า opacity เล็กน้อย */
.re-rv{opacity:0;transform:translateY(48px);
  transition:opacity 1.6s cubic-bezier(.16,1,.3,1),transform 1.9s cubic-bezier(.16,1,.3,1);
  will-change:opacity,transform}
.re-rv.in{opacity:1;transform:none}

/* line-by-line — สำหรับ "ตัวหนังสือ" มาทีละบรรทัด: ระยะขยับน้อย ค่อยๆ โผล่ นุ่มๆ ดูแพง
   (ใช้กับหัวข้อ/ย่อหน้า/ลิงก์ และทุกบรรทัดใน quote band พื้นเขียว) */
.re-rv-line{opacity:0;transform:translateY(18px);
  transition:opacity 1.5s cubic-bezier(.16,1,.3,1),transform 1.6s cubic-bezier(.16,1,.3,1);
  will-change:opacity,transform}
.re-rv-line.in{opacity:1;transform:none}

/* ───────────────────────────────────────────────────────────
   SCROLL-LINKED reveal (.re-sl) — แบบ AP: ผูกกับตำแหน่ง scroll + lerp
   JS (reserve-js.html) คุม opacity/transform แบบ inline ทุกเฟรม → ไหลตามนิ้ว สมูทมาก
   .re-sl = สถานะเริ่มต้น (ซ่อน) · JS จะ set inline ทับเอง
   ─────────────────────────────────────────────────────────── */
.re-sl{opacity:0;transform:translate3d(0,24px,0);will-change:opacity,transform;backface-visibility:hidden}
@media(prefers-reduced-motion:reduce){ .re-sl{opacity:1!important;transform:none!important} }

/* hero: fade-up ตอนโหลด — ช้าลงให้เข้าชุดกัน */
.re-hero-title{opacity:0;transform:translateY(30px);animation:reFadeUp 1.8s cubic-bezier(.16,1,.3,1) .2s forwards}
.re-hero-sub{opacity:0;transform:translateY(30px);animation:reFadeUp 1.8s cubic-bezier(.16,1,.3,1) .55s forwards}
.re-hero-btns{opacity:0;transform:translateY(30px);animation:reFadeUp 1.8s cubic-bezier(.16,1,.3,1) .9s forwards}
@keyframes reFadeUp{to{opacity:1;transform:none}}

/* hero video: ซูมเข้าช้าๆ */
.re-hero video{animation:reZoom 20s ease-out forwards}
@keyframes reZoom{from{transform:scale(1.09)}to{transform:scale(1)}}

/* gallery mosaic: เงาลอยตอน hover */
.re-mz{transition:box-shadow .5s var(--ease),transform .5s var(--ease)}
.re-mz:hover{box-shadow:0 22px 50px rgba(23,16,12,.28)}

@media(prefers-reduced-motion:reduce){
  .re-rv,.re-rv-line,.re-hero-title,.re-hero-sub,.re-hero-btns{opacity:1!important;transform:none!important;animation:none!important;transition:none!important}
  .re-hero video{animation:none!important}
}
/* ============================================================================
   RESERVE (page 468) · ทาสี Press & Media ให้เข้าชุดครีม/เบอร์กันดี เหมือน Articles
   ----------------------------------------------------------------------------
   วางต่อท้ายบล็อก ".elementor-page-468 .we-jr-..." ที่มีอยู่แล้ว
   (Elementor → เมนู ☰ ซ้ายบน → Site Settings → Custom CSS  — ที่เดียวกับสี Articles)
   หมายเหตุ: การ์ด (วันที่/ชื่อเรื่อง) ใช้คลาส .we-jr-meta/.we-jr-title ร่วมกัน
             → โดนทาสี reserve อยู่แล้ว ไม่ต้องแก้ซ้ำ
   palette: ตัวอักษร #241A13 · เน้น/วันที่/ลูกศร #660000 · ครีม #EAE3D3
   ============================================================================ */

/* หัวข้อ "Press & Media" */
.elementor-page-468 .we-pm-heading{ color:#241A13 !important; }
.elementor-page-468 .we-pm-heading em{ color:#660000 !important; }

/* ปุ่ม "All Press →" */
.elementor-page-468 .we-pm-viewall{ color:#241A13 !important; border-color:rgba(36,26,19,.4) !important; }
.elementor-page-468 .we-pm-viewall:hover{ color:#660000 !important; border-color:#660000 !important; }

/* caption ใต้วิดีโอ */
.elementor-page-468 .we-pm-vcap{ color:#241A13 !important; }

/* กรอบวิดีโอ (ให้เป็นโทนเบอร์กันดีจางแทนกรอบเทา/ทอง) */
.elementor-page-468 .we-pm-vwrap{ border-color:rgba(102,0,0,.30) !important; }

/* ลูกศรกลมเลื่อนสไลด์ */
.elementor-page-468 .we-pm-arrow{
  color:#660000 !important;
  background:rgba(234,227,211,.92) !important;
  border-color:#660000 !important;
}
.elementor-page-468 .we-pm-arrow:hover{
  color:#EAE3D3 !important;
  background:#660000 !important;
  border-color:#660000 !important;
}/* End custom CSS */