:root{--wine:#2a1c15;--wine2:#3b281e;--berry:#7a5638;--ivory:#f6f0e6;--cream:#ece1cd;--gold:#b3925c;--gold2:#d3ba8a;--ink:#241a14;--muted:#7c6f63;--line:rgba(58,40,29,.16)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:"DM Sans",Arial,sans-serif;font-weight:300;overflow-x:hidden}.grain{pointer-events:none;position:fixed;inset:0;z-index:99;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E")}.site-header{height:96px;padding:0 5vw;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;position:fixed;top:0;width:100%;z-index:50;color:#fff;transition:.35s;background:linear-gradient(to bottom,rgba(40,26,19,.36),transparent)}.site-header.scrolled{height:80px;background:rgba(40,26,19,.96);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.1)}.wordmark,.footer-brand{color:inherit;text-decoration:none;display:flex;align-items:center;gap:11px;width:max-content}.wordmark-main{font-family:Italiana,"Times New Roman",serif;font-size:30px;letter-spacing:-1px}.wordmark-sub{font-size:8px;letter-spacing:3px;font-weight:500}.desktop-nav{display:flex;gap:30px}.desktop-nav a,.footer-links a{color:inherit;text-decoration:none;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;position:relative}.desktop-nav a:after{content:"";position:absolute;left:0;bottom:-7px;width:0;height:1px;background:var(--gold2);transition:.25s}.desktop-nav a:hover:after{width:100%}.nav-cta{justify-self:end;color:white;text-decoration:none;border:1px solid rgba(255,255,255,.45);padding:12px 18px;font-size:10px;letter-spacing:1.6px;text-transform:uppercase}.menu-btn,.mobile-menu{display:none}.hero{min-height:100vh;background:var(--wine);color:white;display:grid;grid-template-columns:1.05fr .95fr;position:relative;overflow:hidden;padding:150px 5vw 70px}.hero:before{content:"";position:absolute;width:650px;height:650px;border-radius:50%;background:radial-gradient(circle,rgba(179,146,92,.17),transparent 65%);top:-240px;left:-150px}.hero-copy{align-self:center;max-width:730px;z-index:2}.eyebrow,.section-kicker{font-size:10px;letter-spacing:3px;text-transform:uppercase;font-weight:500}.hero h1,.display,.booking h2{font-family:Italiana,"Times New Roman",serif;font-weight:400;line-height:.92;letter-spacing:-2.8px}.hero h1{font-size:clamp(64px,7.2vw,126px);margin:24px 0 28px}.hero h1 em,.display em,.booking em{font-style:italic;color:var(--gold2)}.hero-text{font-size:15px;line-height:1.9;color:rgba(255,255,255,.68);max-width:570px}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:40px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 27px;text-decoration:none;text-transform:uppercase;letter-spacing:1.8px;font-weight:600;font-size:10px;transition:.25s;border:1px solid transparent}.btn:hover{transform:translateY(-2px)}.btn-gold{background:var(--gold);color:#22171a}.btn-gold:hover{background:var(--gold2)}.btn-ivory{background:var(--ivory);color:var(--wine)}.btn-outline{border-color:rgba(255,255,255,.35);color:white}.text-link{color:white;text-decoration:none;font-size:12px;border-bottom:1px solid rgba(255,255,255,.35);padding-bottom:6px}.text-link span{margin-left:9px}.hero-meta{display:flex;gap:12px;align-items:center;color:rgba(255,255,255,.48);font-size:9px;text-transform:uppercase;letter-spacing:1.5px;margin-top:55px}.hero-meta i{width:3px;height:3px;border-radius:50%;background:var(--gold)}.hero-visual{position:relative;height:74vh;align-self:center;max-height:800px}.hero-frame{position:absolute;overflow:hidden}.hero-frame img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.7,.1,1)}.hero-frame:hover img{transform:scale(1.035)}.hero-frame-main{width:76%;height:83%;right:0;top:0}.hero-frame-main:after{content:"";position:absolute;inset:0;background:linear-gradient(150deg,transparent 60%,rgba(58,40,29,.3))}.hero-frame-small{width:39%;height:42%;left:0;bottom:0;border:10px solid var(--wine)}.vertical-note{position:absolute;right:-26px;bottom:4%;writing-mode:vertical-rl;font-size:8px;letter-spacing:4px;color:rgba(255,255,255,.45)}.hero-number{position:absolute;right:4vw;bottom:-45px;font-family:Italiana,serif;font-size:180px;color:rgba(255,255,255,.035)}.marquee{background:var(--gold);color:var(--wine);overflow:hidden;padding:18px 0;border-block:1px solid rgba(58,40,29,.2)}.marquee-track{display:flex;width:max-content;align-items:center;gap:28px;animation:marquee 24s linear infinite;text-transform:uppercase;letter-spacing:2.2px;font-size:11px;font-weight:600}.marquee-track span{min-width:max-content}.marquee-track b{font-size:9px}@keyframes marquee{to{transform:translateX(-50%)}}.section{padding:120px 6vw}.section-kicker{display:flex;align-items:center;gap:13px;color:var(--muted);margin-bottom:56px}.section-kicker span{font-family:Italiana,serif;font-size:18px;color:var(--gold)}.section-kicker.light{color:rgba(255,255,255,.53)}.intro-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:8vw;align-items:end}.display{font-size:clamp(52px,6.2vw,106px);margin:0}.intro-copy{font-size:15px;line-height:1.95;color:#6f625d;max-width:530px}.brand-story{margin-top:90px;min-height:340px;display:flex;align-items:center;justify-content:center;background:linear-gradient(125deg,#efe7d8 0%,#e6d7c3 100%);border-radius:4px}.brand-mark{text-align:center;padding:48px 24px}.bm-epic{display:block;font-family:"Playfair Display",serif;font-weight:500;font-size:clamp(70px,13vw,160px);line-height:.85;letter-spacing:.04em;background:linear-gradient(120deg,#f7e8b6 0%,#e9c97a 42%,#d0a052 74%,#bd8a3d 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.bm-e{font-family:"Pinyon Script",cursive;font-weight:400;font-size:1.45em;line-height:0;margin-right:-.02em;transform:translateY(.03em)}.bm-sub{display:block;margin-top:22px;font-size:clamp(12px,2.4vw,22px);letter-spacing:.42em;text-transform:uppercase;padding-left:.42em;color:#a97e3c}.services{background:var(--wine);color:white;padding-top:110px}.services-head{display:grid;grid-template-columns:1fr 360px;gap:6vw;align-items:end;margin-bottom:65px}.display.light{color:white}.services-head p{color:rgba(255,255,255,.58);line-height:1.8;font-size:14px}.service-list{border-top:1px solid rgba(255,255,255,.14)}.service-row{display:grid;grid-template-columns:80px 1fr auto;gap:24px;align-items:center;padding:28px 0;border-bottom:1px solid rgba(255,255,255,.14);transition:.25s}.service-row:hover{padding-left:14px;background:linear-gradient(90deg,rgba(179,146,92,.08),transparent)}.service-no{font-family:Italiana,serif;color:var(--gold2);font-size:20px}.service-row h3{font-family:Italiana,serif;font-weight:400;font-size:30px;margin:0 0 6px}.service-row p{margin:0;color:rgba(255,255,255,.48);font-size:12px}.service-row strong{font-family:Italiana,serif;font-weight:400;font-size:31px;color:var(--gold2)}.service-cta{text-align:right;margin-top:45px}.gallery{padding-bottom:140px}.gallery-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:50px}.gallery-controls{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.filter{appearance:none;border:1px solid var(--line);background:transparent;padding:11px 16px;text-transform:uppercase;font-size:9px;letter-spacing:1.4px;cursor:pointer;color:var(--ink)}.filter.active,.filter:hover{background:var(--wine);color:white;border-color:var(--wine)}.gallery-grid,.gallery-extra{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:270px;gap:12px}.gallery-item{position:relative;overflow:hidden;margin:0;cursor:zoom-in;background:#dacfc0}.gallery-item.tall{grid-row:span 2}.gallery-item.wide{grid-column:span 2}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.1,1),filter .4s}.gallery-item:hover img{transform:scale(1.04);filter:brightness(.78)}.gallery-item figcaption{position:absolute;inset:auto 0 0;padding:22px;color:white;display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:1.6px;text-transform:uppercase;opacity:0;transform:translateY(8px);transition:.3s;background:linear-gradient(transparent,rgba(40,26,19,.75))}.gallery-item:hover figcaption{opacity:1;transform:none}.gallery-item.is-hidden{display:none}.gallery-more{margin:34px auto 0;display:flex;align-items:center;gap:17px;background:none;border:0;border-bottom:1px solid var(--ink);padding:10px 0;font-family:inherit;text-transform:uppercase;letter-spacing:1.7px;font-size:10px;cursor:pointer}.gallery-more span{font-size:18px;font-weight:300}.gallery-extra{margin-top:12px;display:none}.gallery-extra.open{display:grid}.experience{display:grid;grid-template-columns:1fr 1fr;min-height:900px;background:#2a1c15;color:white}.experience-media{min-height:760px;overflow:hidden}.experience-media video{width:100%;height:100%;object-fit:cover;display:block}.experience-copy{padding:100px 7vw;align-self:center}.experience-copy .display{font-size:clamp(58px,6vw,100px);margin-bottom:70px}.steps{border-top:1px solid rgba(255,255,255,.15)}.step{display:grid;grid-template-columns:60px 1fr;gap:20px;padding:30px 0;border-bottom:1px solid rgba(255,255,255,.15)}.step>span{font-family:Italiana,serif;color:var(--gold2);font-size:24px}.step h3{margin:0 0 7px;font-family:Italiana,serif;font-size:32px;font-weight:400}.step p{margin:0;color:rgba(255,255,255,.62);font-size:15px;line-height:1.65}.editorial{display:grid;grid-template-columns:.9fr 1.1fr;gap:9vw;align-items:center}.editorial-card{height:720px;overflow:hidden;box-shadow:0 30px 80px rgba(58,40,29,.12)}.editorial-card img{width:100%;height:100%;object-fit:cover}.editorial-copy .display{font-size:clamp(50px,5.5vw,94px);margin:25px 0 45px}.text-link.dark{color:var(--wine);border-color:rgba(58,40,29,.35)}.booking{background:linear-gradient(130deg,#3b271d,#241812);color:white;padding:145px 6vw;text-align:center;position:relative;overflow:hidden}.booking:before{content:"ÉPIC";position:absolute;font-family:Italiana,serif;font-size:28vw;color:rgba(255,255,255,.025);left:50%;top:48%;transform:translate(-50%,-50%);white-space:nowrap}.booking-inner{max-width:860px;margin:auto;position:relative}.booking h2{font-size:clamp(70px,8vw,132px);margin:24px 0 26px}.booking p{color:rgba(255,255,255,.62);max-width:580px;margin:0 auto 36px;line-height:1.8}.booking-actions{display:flex;gap:12px;justify-content:center}.booking small{display:block;margin-top:28px;color:rgba(255,255,255,.35);font-size:9px;letter-spacing:.5px}.booking small strong{font-weight:500}footer{background:#1a110c;color:white;padding:60px 6vw 25px}.footer-brand{margin-bottom:17px}.footer-brand .wordmark-main{font-size:42px}.footer-brand .wordmark-sub{font-size:9px}.footer-links{display:flex;gap:28px;justify-content:flex-end;margin-top:-35px}.footer-links a{color:rgba(255,255,255,.64)}footer>p{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.35)}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:22px;margin-top:50px;display:flex;justify-content:space-between;color:rgba(255,255,255,.28);font-size:9px;letter-spacing:1px;text-transform:uppercase}.lightbox{width:min(90vw,900px);height:min(90vh,900px);padding:0;border:0;background:#1e150f;box-shadow:0 30px 120px rgba(0,0,0,.55)}.lightbox::backdrop{background:rgba(24,17,12,.86);backdrop-filter:blur(6px)}.lightbox img{width:100%;height:calc(100% - 54px);object-fit:contain}.lightbox p{height:54px;margin:0;color:white;padding:18px 22px;text-transform:uppercase;font-size:10px;letter-spacing:2px}.lightbox-close{position:absolute;right:10px;top:8px;width:38px;height:38px;border:0;border-radius:50%;background:rgba(38,25,18,.72);color:white;font-size:25px;cursor:pointer;z-index:2}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.1,1)}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.12s}
@media(max-width:1050px){.desktop-nav{display:none}.site-header{grid-template-columns:1fr auto}.nav-cta{display:none}.menu-btn{display:block;background:none;border:0;width:42px;height:42px;justify-self:end;padding:10px;cursor:pointer}.menu-btn span{display:block;width:22px;height:1px;background:white;margin:7px auto}.mobile-menu{position:absolute;top:72px;left:0;width:100%;background:rgba(40,26,19,.98);padding:22px 6vw 34px;flex-direction:column}.mobile-menu.open{display:flex}.mobile-menu a{color:white;text-decoration:none;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.1);font-family:Italiana,serif;font-size:24px}.hero{grid-template-columns:1fr 1fr;padding-top:130px}.hero h1{font-size:clamp(62px,8vw,96px)}.intro-grid,.services-head{grid-template-columns:1fr}.services-head p{max-width:600px}.gallery-grid,.gallery-extra{grid-template-columns:repeat(3,1fr)}.experience{grid-template-columns:.9fr 1.1fr}.editorial{gap:5vw}.editorial-card{height:580px}}
@media(max-width:760px){.site-header{height:80px;padding:0 5vw}.wordmark-main{font-size:26px}.wordmark-sub{font-size:7px}.hero{grid-template-columns:1fr;min-height:auto;padding:125px 5vw 70px}.hero-copy{padding-bottom:65px}.hero h1{font-size:17vw;letter-spacing:-2px}.hero-text{font-size:13px}.hero-actions{align-items:flex-start;flex-direction:column;gap:20px}.hero-meta{flex-wrap:wrap}.hero-visual{height:540px}.hero-frame-main{width:83%;height:82%}.hero-frame-small{width:47%;height:42%;border-width:7px}.vertical-note{right:-18px}.section{padding:80px 5vw}.section-kicker{margin-bottom:38px}.intro-grid{gap:35px}.display{font-size:14.5vw;letter-spacing:-1.8px}.brand-story{height:190px;margin-top:55px}.services{padding-top:80px}.service-row{grid-template-columns:42px 1fr auto;gap:10px;padding:22px 0}.service-row h3{font-size:22px}.service-row p{display:none}.service-row strong{font-size:23px}.service-cta{text-align:left}.gallery-head{display:block}.gallery-controls{justify-content:flex-start;margin-top:30px}.gallery-grid,.gallery-extra{grid-template-columns:repeat(2,1fr);grid-auto-rows:220px;gap:8px}.gallery-item.wide{grid-column:span 2}.gallery-item.tall{grid-row:span 1}.gallery-item figcaption{opacity:1;transform:none;padding:14px;background:linear-gradient(transparent,rgba(40,26,19,.65))}.experience{grid-template-columns:1fr}.experience-media{min-height:580px;height:70vh}.experience-copy{padding:75px 6vw}.experience-copy .display{font-size:15vw;margin-bottom:50px}.editorial{grid-template-columns:1fr;gap:55px}.editorial-card{height:520px}.editorial-copy .display{font-size:13.7vw}.booking{padding:100px 5vw}.booking h2{font-size:17vw}.booking-actions{flex-direction:column}.booking small{text-align:left;line-height:1.6}.footer-links{justify-content:flex-start;flex-wrap:wrap;margin-top:35px}.footer-bottom{display:block;line-height:2}.footer-bottom span{display:block}.lightbox{width:94vw;height:80vh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.marquee-track{animation:none}.reveal{opacity:1;transform:none;transition:none}.hero-frame img{transition:none}}

/* ===== Brand logo (image) — screen blend drops the black backing on dark surfaces ===== */
.wm-lockup{display:flex;flex-direction:column;align-items:center;line-height:.9}.wm-epic{font-family:"Playfair Display",serif;font-weight:500;font-size:clamp(30px,4.8vw,50px);letter-spacing:.05em;background:linear-gradient(120deg,#f7e8b6 0%,#e9c97a 42%,#d0a052 74%,#bd8a3d 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.wm-e{font-family:"Pinyon Script",cursive;font-weight:400;font-size:1.2em;line-height:0;margin-right:-.02em;transform:translateY(.18em);transition:transform .35s ease}@media(min-width:761px){.site-header.scrolled .wm-e{font-size:1.05em;transform:translateY(.14em);transition:font-size .35s ease,transform .35s ease}}.wm-sub{margin-top:7px;font-size:clamp(9px,1.4vw,12px);letter-spacing:.5em;padding-left:.5em;text-transform:uppercase;color:#c9a86a}
.footer-brand img{height:108px;width:auto;display:block;mix-blend-mode:screen;margin-bottom:18px}

/* ===== Header right cluster (socials + CTA) ===== */
.header-right{display:flex;align-items:center;gap:18px;justify-self:end}
.socials{display:flex;align-items:center;gap:10px}
.social{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:inherit}
.social svg{width:16px;height:16px;fill:currentColor;display:block}
.socials-sm .social,.footer-socials .social{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.3);color:#fff;transition:.25s}
.socials-sm .social:hover,.footer-socials .social:hover{background:var(--gold);border-color:var(--gold);color:#22171a;transform:translateY(-2px)}

/* ===== Shared tight section + display-heading spacing ===== */
.section-tight{padding:96px 6vw}
.why-title,.stories .display,.faq .display,.locations .display{margin-bottom:48px}

/* ===== Trust / credibility strip ===== */
.trustbar{background:var(--cream);border-block:1px solid var(--line);padding:38px 6vw;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.trust-item{text-align:center;padding:0 14px;border-left:1px solid var(--line)}
.trust-item:first-child{border-left:0}
.trust-item strong{display:block;font-family:Italiana,serif;font-weight:400;font-size:34px;line-height:1;color:var(--wine);letter-spacing:-.5px}
.trust-item strong span{color:var(--gold)}
.trust-item small{display:block;margin-top:9px;font-size:10px;letter-spacing:1.6px;text-transform:uppercase;color:var(--muted)}

/* ===== Service categories ===== */
.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.cat-card{background:#fdfaf4;border:1px solid var(--line);padding:40px 34px;display:flex;flex-direction:column;transition:.3s}
.cat-card:hover{transform:translateY(-6px);box-shadow:0 24px 50px rgba(58,40,29,.12)}
.cat-no{font-family:Italiana,serif;font-size:17px;color:var(--gold);letter-spacing:1px}
.cat-card h3{font-family:Italiana,serif;font-weight:400;font-size:30px;line-height:1.05;margin:16px 0 12px}
.cat-card p{margin:0 0 28px;color:#6f625d;font-size:13px;line-height:1.7;flex:1}

/* ===== Why EPIC ===== */
.why{background:var(--cream)}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.why-item{border-top:1px solid var(--line);padding-top:22px}
.why-item span{font-family:Italiana,serif;font-size:16px;color:var(--gold)}
.why-item h3{font-family:Italiana,serif;font-weight:400;font-size:23px;margin:14px 0 10px}
.why-item p{margin:0;color:#6f625d;font-size:13px;line-height:1.7}

/* ===== Stories / case studies ===== */
.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:8px}
.story-card{background:#fdfaf4;border:1px solid var(--line);overflow:hidden;display:flex;flex-direction:column;transition:.3s}
.story-card:hover{transform:translateY(-6px);box-shadow:0 24px 50px rgba(58,40,29,.14)}
.story-media{height:300px;overflow:hidden}
.story-media img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.1,1)}
.story-card:hover .story-media img{transform:scale(1.05)}
.story-body{padding:30px 28px}
.story-tag{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);font-weight:600}
.story-body h3{font-family:Italiana,serif;font-weight:400;font-size:24px;line-height:1.25;margin:14px 0 0}

/* ===== Reviews / testimonials (dark) ===== */
.reviews{background:var(--wine);color:#fff}
.reviews-top{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-bottom:56px;flex-wrap:wrap}
.review-score strong{font-family:Italiana,serif;font-weight:400;font-size:88px;line-height:.9;color:var(--gold2);display:block}
.review-score .stars{color:var(--gold);letter-spacing:6px;font-size:18px;display:block;margin-top:6px}
.review-score small{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.5)}
.reviews .display{margin:0}
.quote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.quote-card{margin:0;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);padding:38px 32px;display:flex;flex-direction:column;gap:26px}
.quote-card p{font-family:Italiana,serif;font-size:22px;line-height:1.4;color:#fff;margin:0}
.quote-card cite{margin-top:auto;font-style:normal;font-size:10px;letter-spacing:1.8px;text-transform:uppercase;color:var(--gold2)}

/* ===== FAQ accordion ===== */
.faq-list{max-width:820px}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item:first-child{border-top:1px solid var(--line)}
.faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 4px;font-family:Italiana,serif;font-size:23px;color:var(--ink);transition:.2s}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item[open] summary{color:var(--wine)}
.faq-icon{position:relative;width:16px;height:16px;flex-shrink:0}
.faq-icon:before,.faq-icon:after{content:"";position:absolute;background:var(--gold);transition:.3s}
.faq-icon:before{top:7px;left:0;width:16px;height:2px}
.faq-icon:after{left:7px;top:0;width:2px;height:16px}
.faq-item[open] .faq-icon:after{transform:scaleY(0)}
.faq-item p{margin:0 0 24px;padding-right:36px;color:#6f625d;font-size:14px;line-height:1.8;max-width:70ch}

/* ===== Locations (light) ===== */
.locations{background:var(--cream)}
.location-card{border:1px solid var(--line);background:#fdfaf4;padding:56px 52px;display:flex;gap:40px;align-items:center}
.location-info h3{font-family:Italiana,serif;font-weight:400;font-size:32px;margin:0 0 16px}
.location-info p{margin:0 0 28px;color:#6f625d;font-size:14px;line-height:1.8;max-width:60ch}
.locations .socials{display:flex;gap:14px;flex-wrap:wrap}
.locations .social{padding:12px 20px;border-radius:40px;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:10px;letter-spacing:1.6px;text-transform:uppercase;font-weight:600;gap:9px;transition:.25s}
.locations .social:hover{background:var(--wine);color:#fff;border-color:var(--wine)}

/* ===== Footer socials + links spacing (new layout) ===== */
.footer-socials{display:flex;gap:12px;margin:26px 0}
footer .footer-links{margin-top:14px}

/* ===== Responsive — tablet ===== */
@media(max-width:1050px){
.socials-sm{display:none}
.trustbar{grid-template-columns:repeat(2,1fr);gap:28px 20px}
.trust-item{border-left:0;padding:0}
.why-grid{grid-template-columns:repeat(2,1fr)}
.reviews-top{flex-direction:column;align-items:flex-start;gap:24px}
}

/* ===== Responsive — mobile ===== */
@media(max-width:760px){
.section-tight{padding:70px 5vw}
.why-title,.stories .display,.faq .display,.locations .display{margin-bottom:34px}
.trustbar{padding:30px 5vw;gap:24px 18px}
.cat-grid,.story-grid,.quote-grid,.why-grid{grid-template-columns:1fr}
.review-score strong{font-size:64px}
.location-card{flex-direction:column;align-items:flex-start;padding:40px 28px;text-align:left}
}

/* ===== Phone number (added) ===== */
.location-phone{display:inline-flex;align-items:baseline;gap:12px;margin:-8px 0 30px;text-decoration:none}
.location-phone .lp-label{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);font-weight:600}
.location-phone .lp-num{font-family:Italiana,serif;font-size:34px;line-height:1;color:var(--wine)}
.location-phone:hover .lp-num{color:var(--gold)}
footer .footer-bottom a{color:inherit;text-decoration:none}

/* ===== 2026-09 polish: Vietnamese typography, phone legibility, logo E clipping ===== */
/* Keep the scripted EPIC “E” fully visible in both the header and the large brand mark. */
.wm-lockup,.wm-epic,.brand-mark,.bm-epic{overflow:visible}
.wm-epic{display:inline-block;padding-top:.20em;margin-top:-.20em;line-height:1}
.wm-e{display:inline-block;line-height:1;padding-top:.08em;margin-top:-.08em;vertical-align:-.14em;transform:translateY(.05em);transform-origin:center;overflow:visible}
.bm-epic{padding-top:.20em;margin-top:-.20em;line-height:1}
.bm-e{display:inline-block;line-height:1;padding-top:.08em;margin-top:-.08em;vertical-align:-.13em;transform:translateY(.02em);transform-origin:center;overflow:visible}
@media(min-width:761px){.site-header.scrolled .wm-e{transform:translateY(.04em)}}

/* Vietnamese: use typefaces with full Vietnamese diacritic support and a little more vertical breathing room. */
html[lang="vi"] body{font-family:"Be Vietnam Pro","DM Sans",Arial,sans-serif;font-weight:300}
html[lang="vi"] .hero h1,
html[lang="vi"] .display,
html[lang="vi"] .booking h2,
html[lang="vi"] .service-row h3,
html[lang="vi"] .step h3,
html[lang="vi"] .editorial-copy .display,
html[lang="vi"] .story-body h3,
html[lang="vi"] .quote-card p,
html[lang="vi"] .faq-item summary,
html[lang="vi"] .location-info h3,
html[lang="vi"] .mobile-menu a{
  font-family:"Cormorant Garamond","Playfair Display",Georgia,serif;
}
html[lang="vi"] .hero h1,
html[lang="vi"] .display,
html[lang="vi"] .booking h2{
  line-height:1.04;
  letter-spacing:-1.4px;
  overflow:visible;
}
html[lang="vi"] .service-row h3,
html[lang="vi"] .step h3,
html[lang="vi"] .story-body h3,
html[lang="vi"] .faq-item summary,
html[lang="vi"] .location-info h3{
  line-height:1.16;
  letter-spacing:-.25px;
}
html[lang="vi"] .eyebrow,
html[lang="vi"] .section-kicker,
html[lang="vi"] .desktop-nav a,
html[lang="vi"] .footer-links a,
html[lang="vi"] .btn,
html[lang="vi"] .filter,
html[lang="vi"] .story-tag,
html[lang="vi"] .location-phone .lp-label{
  letter-spacing:1.25px;
}

/* Phone number: use a clean sans-serif, stronger contrast and larger sizing for easy scanning. */
.location-phone{align-items:center;gap:14px;flex-wrap:wrap;margin:-4px 0 30px}
.location-phone .lp-num{
  font-family:"DM Sans",Arial,sans-serif;
  font-size:clamp(30px,3.1vw,40px);
  line-height:1.1;
  font-weight:600;
  letter-spacing:.035em;
  color:var(--wine);
  border-bottom:2px solid rgba(179,146,92,.48);
  padding-bottom:3px;
}
.location-phone:hover .lp-num{color:#8e6c35;border-bottom-color:#8e6c35}
footer .footer-bottom a{
  display:inline-block;
  font-family:"DM Sans",Arial,sans-serif;
  font-size:14px;
  line-height:1.2;
  font-weight:600;
  letter-spacing:.045em;
  color:var(--gold2);
  text-decoration:none;
  text-transform:none;
  padding:5px 8px;
  border:1px solid rgba(211,186,138,.35);
  border-radius:999px;
}
footer .footer-bottom a:hover{color:#fff;border-color:rgba(255,255,255,.55)}

@media(max-width:760px){
  .wm-epic{padding-top:.24em;margin-top:-.24em}
  .bm-epic{padding-top:.24em;margin-top:-.24em}
  .location-phone{display:flex;align-items:flex-start;gap:7px;flex-direction:column}
  .location-phone .lp-num{font-size:30px}
  html[lang="vi"] .hero h1,
  html[lang="vi"] .display,
  html[lang="vi"] .booking h2{letter-spacing:-.7px;line-height:1.06}
}


/* ===== Original logo image update ===== */
.wordmark{min-width:0}
.wordmark-logo{display:block;height:88px;width:auto;mix-blend-mode:screen;filter:brightness(1.04);object-fit:contain}
.site-header.scrolled .wordmark-logo{height:72px}
.brand-story{background:linear-gradient(135deg,#201510 0%,#2b1c15 48%,#120c09 100%);padding:40px 28px;overflow:hidden}
.brand-mark{display:flex;align-items:center;justify-content:center;width:100%}
.brand-mark-logo{display:block;width:min(920px,92%);max-width:100%;height:auto}
@media(max-width:760px){
  .wordmark-logo{height:66px}
  .site-header.scrolled .wordmark-logo{height:60px}
  .brand-story{min-height:260px;padding:28px 18px}
  .brand-mark-logo{width:min(96%,700px)}
}

/* Transparent logo asset override */
.wordmark-logo,.brand-mark-logo,.footer-brand img{mix-blend-mode:normal !important;background:transparent}

/* Header logo bigger + remove 01 logo block */
.wordmark-logo{height:116px !important}
.site-header.scrolled .wordmark-logo{height:94px !important}
@media(max-width:760px){.wordmark-logo{height:82px !important}.site-header.scrolled .wordmark-logo{height:72px !important}}
.brand-story{display:none !important}

/* ===== Added: deposit CTA + bilingual business chatbot ===== */
.btn-deposit{background:transparent;border-color:var(--gold2);color:var(--gold2)}
.btn-deposit:hover{background:var(--gold2);color:var(--wine)}
.epic-chatbot{position:fixed;right:22px;bottom:22px;z-index:120;font-family:"DM Sans",Arial,sans-serif}
.epic-chat-launch{display:flex;align-items:center;gap:9px;border:0;border-radius:999px;background:var(--gold);color:var(--wine);box-shadow:0 16px 45px rgba(20,12,8,.28);padding:13px 18px;cursor:pointer;font:600 11px/1 "DM Sans",Arial,sans-serif;letter-spacing:1.1px;text-transform:uppercase}
.epic-chat-launch span{font-size:15px}.epic-chat-panel{position:absolute;right:0;bottom:58px;width:min(390px,calc(100vw - 28px));height:min(610px,calc(100vh - 115px));background:#fbf7ef;border:1px solid rgba(58,40,29,.18);box-shadow:0 30px 80px rgba(28,17,11,.3);display:none;flex-direction:column;overflow:hidden;border-radius:4px}.epic-chat-panel.open{display:flex}
.epic-chat-head{background:var(--wine);color:#fff;padding:18px 18px 16px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid rgba(255,255,255,.1)}
.epic-chat-head strong{display:block;font-family:Italiana,"Times New Roman",serif;font-size:24px;font-weight:400}.epic-chat-head small{display:block;color:rgba(255,255,255,.58);font-size:10px;margin-top:4px;letter-spacing:.3px}.epic-chat-close{border:0;background:transparent;color:#fff;font-size:27px;line-height:1;cursor:pointer;padding:2px 5px}
.epic-chat-messages{padding:18px;display:flex;flex-direction:column;gap:11px;overflow:auto;flex:1;background:linear-gradient(#fbf7ef,#f4eadc)}
.epic-chat-msg{max-width:88%;padding:11px 13px;border-radius:15px;font-size:12.5px;line-height:1.55;white-space:pre-wrap}.epic-chat-msg.bot{align-self:flex-start;background:#fff;color:var(--ink);border:1px solid rgba(58,40,29,.11);border-bottom-left-radius:4px}.epic-chat-msg.user{align-self:flex-end;background:var(--wine);color:#fff;border-bottom-right-radius:4px}
.epic-chat-suggestions{display:flex;gap:7px;overflow-x:auto;padding:10px 12px 2px;background:#fbf7ef}.epic-chat-suggestions button{white-space:nowrap;border:1px solid var(--line);background:#fff;color:var(--wine);padding:8px 10px;border-radius:999px;font:600 9px/1 "DM Sans",Arial,sans-serif;cursor:pointer}.epic-chat-suggestions button:hover{border-color:var(--gold);color:#7d5d2f}
.epic-chat-form{display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px;background:#fbf7ef}.epic-chat-input{min-width:0;border:1px solid var(--line);background:#fff;color:var(--ink);padding:12px 12px;font:400 12px/1.3 "DM Sans",Arial,sans-serif;outline:none}.epic-chat-input:focus{border-color:var(--gold)}.epic-chat-form button{border:0;background:var(--gold);color:var(--wine);font:700 9px/1 "DM Sans",Arial,sans-serif;text-transform:uppercase;letter-spacing:1px;padding:0 15px;cursor:pointer}.epic-chat-note{padding:0 12px 11px;background:#fbf7ef;color:#8a7a6d;font-size:8.5px;text-align:center}
html[lang="vi"] .epic-chat-head strong{font-family:"Cormorant Garamond","Playfair Display",Georgia,serif}
@media(max-width:760px){.epic-chatbot{right:12px;bottom:12px}.epic-chat-panel{right:0;bottom:55px;width:calc(100vw - 24px);height:min(590px,calc(100vh - 92px))}.epic-chat-launch{padding:12px 15px}.booking-actions .btn-deposit{width:100%}}


/* Gallery logo overlay */
.gallery-item::before{
  content:"";
  position:absolute;
  top:14px;
  left:14px;
  width:96px;
  height:96px;
  background:url("assets/logo-transparent.png") left top/contain no-repeat;
  opacity:1;
  z-index:2;
  pointer-events:none;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.32));
}
.gallery-item figcaption{
  z-index:3;
}
@media(max-width:760px){
  .gallery-item::before{
    width:72px;
    height:72px;
    top:10px;
    left:10px;
  }
}
