/* LINH DAN HOMEPAGE 24.2 — bilingual editorial design system */
.hp242-page{
  --hp-font-sans:'Be Vietnam Pro','Segoe UI',Roboto,Arial,sans-serif;
  --hp-font-display:'Noto Serif',Georgia,'Times New Roman',serif;
  --hp-ink:#22241f;--hp-muted:#62685f;--hp-soft:#f5f3ee;--hp-paper:#fbfaf7;
  --hp-line:#deddd6;--hp-accent:#806544;--hp-dark:#20231f;--hp-max:1280px;
  font-family:var(--hp-font-sans);font-size:16px;line-height:1.65;color:var(--hp-ink);
  font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;
}
.hp242-page button,.hp242-page input,.hp242-page textarea,.hp242-page select{font-family:var(--hp-font-sans)}
.hp242-page .ldh-header{min-height:84px;padding:10px clamp(20px,3.4vw,54px);gap:24px;background:rgba(255,255,255,.97);border-bottom:1px solid #eceae4;backdrop-filter:blur(14px)}
.hp242-page .ldh-company-logo img{width:auto;height:58px;object-fit:contain}
.hp242-page .ldh-header-slogan{font-size:12px;line-height:1.45;color:#73776f;max-width:190px}
.hp242-page .ldh-nav{gap:clamp(13px,1.45vw,25px);align-items:center}
.hp242-page .ldh-nav>a,.hp242-page .ldh-nav summary{font-family:var(--hp-font-sans);font-size:12.5px;font-weight:500;line-height:1.4;letter-spacing:.015em;white-space:nowrap}
.hp242-page .ldh-nav>a:not(.ldh-nav-booking),.hp242-page .ldh-nav summary{padding:14px 0}
.hp242-page .ldh-nav-booking,.hp242-page .ldh-header-booking{min-height:46px;display:inline-flex;align-items:center;justify-content:center;padding:0 18px;border-radius:2px;font-size:12.5px;font-weight:600;letter-spacing:.025em}
.hp242-page .ldh-languages a{min-width:36px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.hp242-page .ldh-menu-button{min-width:46px;min-height:46px}
.hp242-page .mkt-announcement{font-family:var(--hp-font-sans);font-size:12.5px;line-height:1.5}

.hp242{background:#fff;color:var(--hp-ink);font-family:var(--hp-font-sans);font-size:16px;line-height:1.7;overflow:clip}
.hp242 .ldh-kicker{font-family:var(--hp-font-sans);font-size:12px!important;line-height:1.5;font-weight:600;letter-spacing:.14em;color:var(--hp-accent);margin:0;text-transform:uppercase}
.hp242 h1,.hp242 h2,.hp242 .hp241-album h3,.hp242 .hp241-space h3,.hp242 .hp241-pricing h3,.hp242 .hp241-review-track blockquote p{font-family:var(--hp-font-display)!important;font-weight:400!important;font-synthesis:none}
.hp242 h1,.hp242 h2{overflow-wrap:break-word;text-wrap:balance}
.hp242 p{overflow-wrap:break-word}
.hp242 a:focus-visible,.hp242 button:focus-visible,.hp242 summary:focus-visible{outline:2px solid var(--hp-accent);outline-offset:4px}
.hp242 img{display:block;max-width:100%}
.hp242 .ldh-button{min-height:50px;display:inline-flex;align-items:center;justify-content:center;padding:13px 22px;font-family:var(--hp-font-sans);font-size:13px;font-weight:600;line-height:1.4;letter-spacing:.035em;border-radius:2px;text-decoration:none}
.hp242 .ldh-text-link{min-height:44px;display:inline-flex;align-items:center;font-family:var(--hp-font-sans);font-size:13px;font-weight:500;line-height:1.5;text-underline-offset:5px}

.hp242 .hp241-hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);min-height:clamp(650px,76vh,820px);background:var(--hp-paper);border-bottom:1px solid var(--hp-line)}
.hp242 .hp241-copy{display:flex;flex-direction:column;justify-content:center;padding:72px clamp(42px,6vw,100px);min-width:0}
.hp242 .hp241-copy h1{font-size:clamp(48px,5.25vw,76px);line-height:1.08;letter-spacing:-.035em;margin:18px 0 25px;max-width:840px}
.hp242 .hp241-copy>p:not(.ldh-kicker){max-width:650px;font-size:clamp(17px,1.35vw,20px);line-height:1.75;color:var(--hp-muted);margin:0}
.hp242 .hp241-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:34px}
.hp242 .hp241-hero>figure{margin:0;min-height:600px;background:#e8e5de;overflow:hidden;position:relative}
.hp242 .hp241-hero>figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

.hp242 .hp241-section{width:min(100%,calc(var(--hp-max) + 84px));max-width:none;margin:0 auto;padding:104px 42px}
.hp242 .hp241-section>header{max-width:820px;margin:0 0 46px}
.hp242 .hp241-section>header h2,.hp242 .hp241-intro h2,.hp242 .hp241-faq h2{font-size:clamp(38px,3.7vw,56px);line-height:1.16;letter-spacing:-.025em;margin:13px 0 18px}
.hp242 .hp241-section>header>p:not(.ldh-kicker),.hp242 .hp241-intro>div>p:not(.ldh-kicker){font-size:16.5px;line-height:1.82;color:var(--hp-muted);max-width:68ch;margin:0}
.hp242 .hp241-grid{display:grid;gap:24px}
.hp242 .hp241-grid3{grid-template-columns:repeat(3,minmax(0,1fr))}

.hp242 .hp241-intro{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(330px,.72fr);gap:clamp(56px,8vw,112px);align-items:center;border-bottom:1px solid var(--hp-line)}
.hp242 .hp241-intro>div{max-width:760px}
.hp242 .hp241-intro figure{margin:0;aspect-ratio:4/5;background:#ece9e2;overflow:hidden}
.hp242 .hp241-intro figure img{width:100%;height:100%;object-fit:cover}
.hp242 .hp241-intro .ldh-text-link{margin-top:24px}

.hp242 .hp241-services{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.hp242 .hp241-card{display:grid;grid-template-columns:minmax(190px,.88fr) minmax(0,1.12fr);min-height:310px;text-decoration:none;color:inherit;border:1px solid var(--hp-line);background:#fff;overflow:hidden;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.hp242 .hp241-card:hover{transform:translateY(-3px);border-color:#bbb6aa;box-shadow:0 14px 34px #2f2c250b}
.hp242 .hp241-card figure{margin:0;aspect-ratio:auto;min-height:310px;background:#ece9e2;overflow:hidden}
.hp242 .hp241-card figure img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
.hp242 .hp241-card:hover img{transform:scale(1.025)}
.hp242 .hp241-card>div{padding:29px 27px;display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.hp242 .hp241-card small{font-size:12px;line-height:1.4;font-weight:600;letter-spacing:.12em;color:var(--hp-accent)}
.hp242 .hp241-card h3{font-family:var(--hp-font-sans);font-size:clamp(21px,1.8vw,26px);line-height:1.3;font-weight:600;margin:13px 0 11px;letter-spacing:-.012em}
.hp242 .hp241-card p{font-size:14.5px;line-height:1.75;color:var(--hp-muted);margin:0;max-width:42ch}
.hp242 .hp241-card span{display:inline-flex;align-items:center;min-height:44px;margin-top:auto;padding-top:20px;font-size:12.5px;font-weight:600;letter-spacing:.055em}

.hp242 .hp241-spaces{width:100%;max-width:none;background:var(--hp-dark);color:#fff;padding-left:max(42px,calc((100vw - var(--hp-max))/2));padding-right:max(42px,calc((100vw - var(--hp-max))/2))}
.hp242 .hp241-spaces>header,.hp242 .hp241-spaces>.hp241-grid{max-width:var(--hp-max);margin-left:auto;margin-right:auto}
.hp242 .hp241-spaces .ldh-kicker{color:#cbb08a}
.hp242 .hp241-spaces>header h2{color:#fff}
.hp242 .hp241-space{border-top:1px solid #ffffff35;padding-top:18px;min-width:0}
.hp242 .hp241-space figure{margin:0 0 25px;aspect-ratio:4/3;background:#31352f;overflow:hidden}
.hp242 .hp241-space figure img{width:100%;height:100%;object-fit:cover}
.hp242 .hp241-space h3{font-size:32px;line-height:1.2;margin:0 0 12px;letter-spacing:-.02em;color:#fff}
.hp242 .hp241-space strong{display:block;font-size:15px;line-height:1.6;font-weight:500;color:#f0dfc7;margin:0 0 12px}
.hp242 .hp241-space p{font-size:14.5px;line-height:1.78;color:#d0d4ce;margin:0}
.hp242 .hp241-space a{min-height:44px;display:inline-flex;align-items:center;color:#fff;font-size:12.5px;font-weight:600;letter-spacing:.06em;margin-top:13px}

.hp242 .hp241-albums{border-bottom:1px solid var(--hp-line)}
.hp242 .hp241-album{display:block;color:inherit;text-decoration:none;min-width:0}
.hp242 .hp241-album figure{margin:0;aspect-ratio:4/5;background:#ece9e2;overflow:hidden}
.hp242 .hp241-album figure img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.hp242 .hp241-album:hover img{transform:scale(1.025)}
.hp242 .hp241-album h3{font-size:28px;line-height:1.25;margin:17px 0 8px;letter-spacing:-.02em}
.hp242 .hp241-album p{font-size:14px;line-height:1.7;color:var(--hp-muted);margin:0;max-width:44ch}
.hp242 .hp241-albums>.ldh-text-link{margin-top:36px}

.hp242 .hp241-pricing{width:100%;max-width:none;background:#f3efe7;padding-left:max(42px,calc((100vw - var(--hp-max))/2));padding-right:max(42px,calc((100vw - var(--hp-max))/2))}
.hp242 .hp241-pricing>header,.hp242 .hp241-pricing>.hp241-grid,.hp242 .hp241-pricing>.ldh-text-link{max-width:var(--hp-max);margin-left:auto;margin-right:auto}
.hp242 .hp241-pricing article{background:#fff;border:1px solid #ddd8cd;padding:31px}
.hp242 .hp241-pricing article h3{font-size:30px;line-height:1.25;margin:0 0 14px;letter-spacing:-.02em}
.hp242 .hp241-pricing article p{font-size:15px;line-height:1.75;color:var(--hp-muted);margin:0 0 17px}
.hp242 .hp241-pricing article a{min-height:44px;display:inline-flex;align-items:center;font-size:12.5px;font-weight:600;letter-spacing:.055em}
.hp242 .hp241-pricing>.ldh-text-link{margin-top:32px}

.hp242 .hp241-reviews{overflow:hidden}
.hp242 .hp241-review-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding:3px 2px 18px;scrollbar-width:thin}
.hp242 .hp241-review-track blockquote{flex:0 0 min(460px,86vw);scroll-snap-align:start;margin:0;border:1px solid var(--hp-line);padding:34px;background:#fff}
.hp242 .hp241-review-track blockquote p{font-size:23px;line-height:1.58;letter-spacing:-.012em;margin:0 0 24px}
.hp242 .hp241-review-track cite{font-style:normal;font-size:13px;font-weight:500;line-height:1.5;color:var(--hp-muted)}
.hp242 .hp241-reviews>.ldh-text-link{margin-top:17px}

.hp242 .hp241-process{width:100%;max-width:none;background:#f6f6f3;padding-left:max(42px,calc((100vw - 1120px))/2);padding-right:max(42px,calc((100vw - 1120px))/2)}
.hp242 .hp241-process>header,.hp242 .hp241-process>ol{max-width:1120px;margin-left:auto;margin-right:auto}
.hp242 .hp241-process ol{list-style:none;padding:0;margin-top:0}
.hp242 .hp241-process li{display:grid;grid-template-columns:72px minmax(0,1fr);gap:24px;padding:27px 0;border-top:1px solid var(--hp-line)}
.hp242 .hp241-process li>b{font-size:12.5px;letter-spacing:.1em;color:var(--hp-accent);padding-top:4px}
.hp242 .hp241-process li h3{font-size:20px;line-height:1.4;margin:0 0 8px}
.hp242 .hp241-process li p{font-size:15px;line-height:1.78;margin:0;color:var(--hp-muted);max-width:76ch}

.hp242 .hp241-faq{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.72fr);gap:clamp(54px,7vw,92px);align-items:start}
.hp242 .hp241-faq details{border-top:1px solid var(--hp-line)}
.hp242 .hp241-faq details:last-of-type{border-bottom:1px solid var(--hp-line)}
.hp242 .hp241-faq summary{cursor:pointer;list-style:none;padding:22px 38px 22px 0;font-size:16px;font-weight:600;line-height:1.58;position:relative}
.hp242 .hp241-faq summary::-webkit-details-marker{display:none}
.hp242 .hp241-faq summary:after{content:'+';position:absolute;right:6px;top:18px;font-family:var(--hp-font-display);font-size:25px;font-weight:400}
.hp242 .hp241-faq details[open] summary:after{content:'–'}
.hp242 .hp241-faq details p{font-size:15px;color:var(--hp-muted);line-height:1.8;padding:0 34px 23px 0;margin:0;max-width:68ch}
.hp242 .hp241-faq aside{position:sticky;top:108px;background:#eee7dc;padding:38px}
.hp242 .hp241-faq aside h2{font-size:38px;line-height:1.18;margin:13px 0 16px}
.hp242 .hp241-faq aside>p:not(.ldh-kicker){font-size:15px;line-height:1.78;color:#595d55;margin-bottom:24px}
.hp242 .hp241-chat{width:100%;min-height:46px;border:0;background:none;text-decoration:underline;text-underline-offset:5px;margin-top:14px;cursor:pointer;padding:10px;font:600 12.5px/1.5 var(--hp-font-sans);letter-spacing:.04em;color:var(--hp-ink)}

.hp242-page .ldh-footer{font-family:var(--hp-font-sans);font-size:13px;line-height:1.7}
.hp242-page .ldh-footer a{min-height:38px;display:flex;align-items:center}
.hp242-page .ldh-mobile-actions a,.hp242-page .ldh-mobile-actions button{min-height:48px;font-size:13px;font-weight:600}
.hp242-page .ldh-chat,.hp242-page .ldh-chat-launcher{font-family:var(--hp-font-sans)}

@media(max-width:1180px){
  .hp242-page .ldh-header-slogan{display:none}
  .hp242-page .ldh-nav{gap:14px}
  .hp242-page .ldh-nav>a,.hp242-page .ldh-nav summary{font-size:11.5px}
  .hp242 .hp241-card{grid-template-columns:minmax(160px,.78fr) minmax(0,1.22fr)}
}
@media(max-width:980px){
  .hp242-page .ldh-header{min-height:74px;padding:8px 18px}
  .hp242-page .ldh-company-logo img{height:50px}
  .hp242-page .ldh-nav{font-size:16px}
  .hp242-page .ldh-nav>a,.hp242-page .ldh-nav summary{font-size:15px;min-height:48px;display:flex;align-items:center}
  .hp242 .hp241-hero{grid-template-columns:1fr;min-height:0}
  .hp242 .hp241-copy{padding:58px 28px 44px}
  .hp242 .hp241-copy h1{font-size:clamp(42px,8vw,60px);max-width:780px}
  .hp242 .hp241-hero>figure{min-height:64vw;max-height:720px}
  .hp242 .hp241-section{padding:78px 28px}
  .hp242 .hp241-intro,.hp242 .hp241-faq{grid-template-columns:1fr}
  .hp242 .hp241-intro{gap:46px}
  .hp242 .hp241-intro figure{max-width:680px;width:100%;aspect-ratio:16/11}
  .hp242 .hp241-services{grid-template-columns:1fr}
  .hp242 .hp241-card{grid-template-columns:minmax(230px,.75fr) minmax(0,1.25fr);min-height:280px}
  .hp242 .hp241-card figure{min-height:280px}
  .hp242 .hp241-grid3{grid-template-columns:1fr 1fr}
  .hp242 .hp241-spaces{padding-left:28px;padding-right:28px}
  .hp242 .hp241-spaces .hp241-grid3{grid-template-columns:1fr}
  .hp242 .hp241-pricing{padding-left:28px;padding-right:28px}
  .hp242 .hp241-faq aside{position:static;padding:34px}
}
@media(max-width:640px){
  .hp242-page{font-size:16px}
  .hp242-page .ldh-header{min-height:70px;padding:7px 14px;gap:10px}
  .hp242-page .ldh-company-logo img{height:47px}
  .hp242-page .ldh-header-booking{min-height:44px;padding:0 13px;font-size:12px}
  .hp242-page .ldh-menu-button{min-width:44px;min-height:44px}
  .hp242 .ldh-kicker{font-size:11.5px!important;letter-spacing:.12em}
  .hp242 .hp241-copy{padding:44px 18px 34px}
  .hp242 .hp241-copy h1{font-size:clamp(36px,10.8vw,48px);line-height:1.1;letter-spacing:-.027em;margin:15px 0 19px}
  .hp242 .hp241-copy>p:not(.ldh-kicker){font-size:16px;line-height:1.75}
  .hp242 .hp241-actions{display:grid;grid-template-columns:1fr;gap:11px;margin-top:27px}
  .hp242 .hp241-actions a{width:100%;min-height:50px;text-align:center;justify-content:center}
  .hp242 .hp241-hero>figure{min-height:78vw;max-height:520px}
  .hp242 .hp241-section{padding:62px 18px}
  .hp242 .hp241-section>header{margin-bottom:31px}
  .hp242 .hp241-section>header h2,.hp242 .hp241-intro h2,.hp242 .hp241-faq h2{font-size:clamp(30px,8.5vw,38px);line-height:1.18;letter-spacing:-.02em;margin:11px 0 14px}
  .hp242 .hp241-section>header>p:not(.ldh-kicker),.hp242 .hp241-intro>div>p:not(.ldh-kicker){font-size:16px;line-height:1.78}
  .hp242 .hp241-intro{gap:32px}
  .hp242 .hp241-intro figure{aspect-ratio:4/3}
  .hp242 .hp241-services{gap:16px}
  .hp242 .hp241-card{display:block;min-height:0}
  .hp242 .hp241-card figure{min-height:0;aspect-ratio:16/10}
  .hp242 .hp241-card>div{padding:23px 21px}
  .hp242 .hp241-card small{font-size:11.5px}
  .hp242 .hp241-card h3{font-size:22px;margin:10px 0 9px}
  .hp242 .hp241-card p{font-size:15px;line-height:1.72}
  .hp242 .hp241-grid3{grid-template-columns:1fr}
  .hp242 .hp241-spaces,.hp242 .hp241-pricing{padding-left:18px;padding-right:18px}
  .hp242 .hp241-space h3{font-size:28px}
  .hp242 .hp241-space strong{font-size:15px}
  .hp242 .hp241-space p{font-size:15px}
  .hp242 .hp241-album h3{font-size:25px}
  .hp242 .hp241-review-track blockquote{flex-basis:88vw;padding:26px 23px}
  .hp242 .hp241-review-track blockquote p{font-size:21px;line-height:1.58}
  .hp242 .hp241-process{padding-left:18px;padding-right:18px}
  .hp242 .hp241-process li{grid-template-columns:44px minmax(0,1fr);gap:14px;padding:23px 0}
  .hp242 .hp241-faq summary{font-size:15.5px;padding:20px 34px 20px 0}
  .hp242 .hp241-faq details p{font-size:15px;padding-right:0}
  .hp242 .hp241-faq aside{padding:27px 22px}
  .hp242 .hp241-faq aside h2{font-size:31px}
  .hp242-page .ldh-mobile-actions{font-family:var(--hp-font-sans)}
}
@media(max-width:359px){
  .hp242 .hp241-copy{padding-left:15px;padding-right:15px}
  .hp242 .hp241-copy h1{font-size:34px}
  .hp242 .hp241-section{padding-left:15px;padding-right:15px}
  .hp242 .hp241-spaces,.hp242 .hp241-pricing,.hp242 .hp241-process{padding-left:15px;padding-right:15px}
}
@media(prefers-reduced-motion:reduce){.hp242 *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
