:root{--bg:#141512;--surface:#1d1e19;--text:#f4f1e9;--muted:#bdbdb1;--gold:#d8bd83;--line:#3c3e33;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.7 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}a:hover{color:var(--gold)}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,video:focus-visible{outline:3px solid var(--gold);outline-offset:5px}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.12}h1{font-size:clamp(3rem,5.6vw,6rem);letter-spacing:-.055em}h2{font-size:clamp(2.35rem,3.7vw,4rem);letter-spacing:-.04em}h3{font-size:1.65rem}em{font-weight:400;color:var(--gold)}p{color:var(--muted)}.eyebrow{font-size:.75rem;letter-spacing:.19em;color:var(--gold);line-height:1.8}.section{max-width:1440px;margin:auto;padding:90px 6%}.site-header{min-height:100px;padding:20px 6%;display:flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:1px solid var(--line);background:var(--bg);position:relative;z-index:10}.brand{font:1.8rem/1 var(--serif);letter-spacing:.13em;white-space:nowrap}.brand span{display:block;font: .625rem/1.8 Arial,sans-serif;letter-spacing:.3em;margin-top:8px}.site-header nav{display:flex;align-items:center;gap:30px;font-size:.875rem}.button{display:inline-flex;justify-content:center;align-items:center;gap:32px;padding:15px 25px;border:1px solid var(--gold);background:var(--gold);color:var(--bg);font-size:.875rem;font-weight:600;min-height:48px;transition:background .2s,color .2s}.button:hover{color:var(--text);background:transparent}.button.small{padding:11px 22px}.text-link{font-size:.875rem;display:inline-block;padding:8px 0;border-bottom:1px solid #777764}.hero{max-width:1600px;margin:auto;display:grid;grid-template-columns:1.05fr 1fr;min-height:650px}.hero-copy{padding:90px 5% 55px 11.4%;align-self:center;position:relative;z-index:1}.hero h1{margin:26px 0}.hero-description{max-width:440px}.actions{display:flex;gap:28px;align-items:center;flex-wrap:wrap;margin-top:34px}.hero-footnote{font-size:.7rem;letter-spacing:.13em;margin-top:72px}.hero-footnote span{padding:0 9px;color:var(--gold)}.hero-image{position:relative;min-width:0;min-height:650px}.hero-image img{width:100%;height:100%;position:absolute;object-position:50% 38%}.hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--bg),transparent 35%),linear-gradient(0deg,rgba(20,21,18,.55),transparent 35%)}.image-note{position:absolute;bottom:35px;right:9%;z-index:1;font-size:.7rem;letter-spacing:.22em}.proof{padding:35px 6% 42px;text-align:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.proof .eyebrow{color:var(--muted);font-size:.7rem}.brand-row{max-width:1200px;margin:25px auto 0;display:flex;justify-content:space-between;align-items:center;gap:25px;flex-wrap:wrap}.brand-row span{font:1.65rem var(--serif);color:#deddd3}.brand-row .volvo{letter-spacing:.2em}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:38px}.section-heading h2{margin-top:16px}.section-heading>p{font-size:.875rem;max-width:350px}.video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.performance video{width:100%;aspect-ratio:16/11;display:block;background:#080908;object-fit:contain}.performance figcaption{padding-top:18px}.performance figcaption>span{font-size:.7rem;color:var(--gold);letter-spacing:.13em}.performance h3{font-size:1.3rem;margin-top:10px;line-height:1.35}.video-fallback{font-size:.75rem;margin-top:8px;color:var(--muted)}.services{max-width:none;background:var(--surface)}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);margin-top:45px}.service-grid article{padding:35px 32px 20px 0;display:flex;flex-direction:column;align-items:flex-start}.service-grid article+article{padding-left:32px;border-left:1px solid var(--line)}.service-number{font:1.5rem var(--serif);color:var(--gold);margin-bottom:28px}.service-grid h3{margin-bottom:18px;font-size:1.9rem}.service-grid p{font-size:.9375rem}.service-grid ul{list-style:none;padding:0;margin:24px 0 32px;color:var(--muted);font-size:.875rem}.service-grid li{padding:7px 0;border-bottom:1px solid var(--line)}.service-grid .text-link{margin-top:auto}.service-note{font-size:.8125rem;margin-top:34px}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.gallery-item img{width:100%;height:auto;aspect-ratio:4/5;transition:filter .2s;object-position:center}.gallery-item a:hover img{filter:brightness(1.1)}.gallery-item figcaption{margin-top:20px}.gallery-item h3{font-size:1.5rem}.gallery-item p{font-size:.875rem;margin-top:7px}.event-strip{display:flex;flex-wrap:wrap;gap:20px 35px;border-top:1px solid var(--line);margin-top:38px;padding-top:25px;font-size:.875rem}.event-strip span{color:var(--muted)}.about{display:grid;grid-template-columns: .85fr 1fr;gap:10%;align-items:center;border-top:1px solid var(--line)}.about>img{width:100%;height:540px;object-position:50% 50%}.about h2{margin:20px 0 28px}.about p:not(.eyebrow){margin-bottom:20px;max-width:520px}.booking{display:grid;grid-template-columns:1.3fr 1fr;gap:12%;border-top:1px solid var(--line);background:var(--surface);max-width:none}.booking h2{margin:20px 0 24px}.booking>div>p:not(.eyebrow){max-width:540px}.booking-contact{display:flex;align-items:flex-start;flex-direction:column;justify-content:center}.booking-contact .button{margin:20px 0}.phone{font:2.3rem var(--serif);margin-bottom:8px}.booking-contact>p:last-child{font-size:.8125rem;margin-top:24px}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:40px 6% 110px;border-top:1px solid var(--line)}.site-footer p{font-size:.875rem}.site-footer small{font-size:.75rem}.site-footer>a:last-child{font-size:.875rem}.contact-dock{position:fixed;bottom:20px;right:24px;display:flex;z-index:20;box-shadow:0 6px 30px #0006;border:1px solid var(--gold);background:var(--bg)}.contact-dock a{font-size:.875rem;padding:12px 20px}.contact-dock a:last-child{background:var(--gold);color:var(--bg)}.contact-dock a:hover{background:var(--text);color:var(--bg)}.skip-link{position:absolute;top:-100px;left:20px;background:var(--gold);color:var(--bg);padding:12px;z-index:30}.skip-link:focus{top:15px}.menu-toggle{font:inherit;background:transparent;color:var(--text);border:1px solid var(--line);padding:9px 14px;min-height:44px}.gallery-intro{padding-bottom:45px}.gallery-intro h1{margin:22px 0}.gallery-intro .text-link{margin-top:22px}.gallery-page{padding-top:10px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px 25px}.gallery-page>div{scroll-margin-top:30px}
@media(min-width:1600px){.hero-copy{padding-left:96px}.section{padding-left:80px;padding-right:80px}.services,.booking{padding-left:max(6%,calc((100% - 1280px)/2));padding-right:max(6%,calc((100% - 1280px)/2))}}
@media(max-width:1000px){.site-header{padding:20px 5%;flex-wrap:wrap}.site-header nav{gap:20px}.hero-copy{padding:55px 5% 45px 10%}.hero,.hero-image{min-height:600px}.hero h1{font-size:3.8rem}.hero-footnote{margin-top:40px;line-height:2}.section{padding:65px 5%}.section-heading{align-items:flex-start}.service-grid article{padding-right:20px}.service-grid article+article{padding-left:20px}.about{gap:6%}.about>img{height:460px}.booking{gap:7%}.brand-row{justify-content:center;gap:22px 38px}}
@media(max-width:720px){html{scroll-padding-top:24px}.site-header{min-height:85px;gap:16px}.brand{font-size:1.5rem}.site-header nav{width:100%;flex-wrap:wrap;gap:12px 22px;padding:16px 0 5px}.site-header nav[data-collapsible="true"]{display:none}.site-header nav[data-collapsible="true"].is-open{display:flex}.menu-toggle:not([hidden]){display:block}.hero{display:flex;flex-direction:column;min-height:auto}.hero-copy{padding:46px 6% 32px}.hero h1{font-size:clamp(2.9rem,10vw,4.4rem);margin:20px 0}.hero .eyebrow{font-size:.65rem}.hero-description{font-size:.9375rem;max-width:460px}.actions{gap:18px;margin-top:25px}.hero-footnote{margin-top:28px;font-size:.65rem}.hero-image{min-height:400px;height:115vw;max-height:540px}.hero-image img{object-position:50% 38%}.hero-image:after{background:linear-gradient(0deg,rgba(20,21,18,.5),transparent 40%)}.proof{padding:28px 6%}.brand-row{gap:20px 28px}.brand-row span{font-size:1.3rem}.section{padding:55px 6%}.section-heading{display:block;margin-bottom:28px}.section-heading>p,.section-heading>.text-link{margin-top:20px}.video-grid{grid-template-columns:1fr;gap:32px}.performance video{aspect-ratio:16/10}.service-grid{grid-template-columns:1fr;margin-top:30px}.service-grid article,.service-grid article+article{padding:30px 0;border-left:0;border-bottom:1px solid var(--line)}.service-number{margin-bottom:15px}.service-grid ul{width:100%;margin:16px 0 20px}.gallery-grid{grid-template-columns:1fr;gap:34px}.gallery-item img{aspect-ratio:4/4.5}.about{grid-template-columns:1fr;gap:35px}.about>img{height:440px}.booking{grid-template-columns:1fr;gap:40px}.booking h2{font-size:2.45rem}.phone{font-size:2rem}.site-footer{align-items:flex-start;flex-wrap:wrap;padding:35px 6% 110px}.contact-dock{bottom:0;left:0;right:0;border-bottom:0;padding-bottom:env(safe-area-inset-bottom);background:var(--bg)}.contact-dock a{flex:1;text-align:center;padding:14px 10px}.gallery-page{grid-template-columns:1fr 1fr;gap:30px 16px;padding-top:0}.gallery-page h3{font-size:1.25rem}.gallery-page p{font-size:.8125rem}.gallery-intro{padding-bottom:35px}}
@media(max-width:380px){.gallery-page{grid-template-columns:1fr}.actions{align-items:flex-start;flex-direction:column}.hero-footnote span{padding:0 3px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

@media(min-width:721px){.menu-toggle{display:none}}

/* Use equal media frames while retaining the full new photographs. */
.gallery-item > a{display:block;aspect-ratio:4/5;background:var(--surface);overflow:hidden}.gallery-item > a > img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover}.new-photo .gallery-item > a > img{object-fit:contain}.gallery-item figcaption h3{line-height:1.4;min-height:2.8em}@media(max-width:720px){.gallery-item > a{aspect-ratio:4/4.5}.gallery-grid .gallery-item figcaption h3{min-height:0}}@media(max-width:380px){.gallery-page .gallery-item figcaption h3{min-height:0}}
.gallery-grid{row-gap:38px}

.language-switch{display:flex;gap:2px;margin-left:auto;border:1px solid var(--line);padding:3px}.language-switch button{min-width:44px;min-height:44px;border:0;background:transparent;color:var(--text);cursor:pointer;font:inherit;font-size:.875rem}.language-switch button[aria-pressed="true"]{background:var(--gold);color:var(--bg)}html[lang="vi"] h1{font-size:clamp(2.6rem,4.7vw,5rem);letter-spacing:-.035em}html[lang="vi"] h2{line-height:1.22}html[lang="vi"] .site-header nav{gap:20px}@media(max-width:1100px) and (min-width:721px){.site-header nav{width:100%;justify-content:flex-end;flex-wrap:wrap}}@media(max-width:720px){html[lang="vi"] h1{font-size:clamp(2.55rem,9vw,3.8rem)}.site-header{gap:12px}.language-switch{margin-left:auto}.site-header .brand{margin-right:auto}}

/* Bundled Vietnamese-capable fonts avoid mixed fallback glyphs in headings. */
@font-face {
  font-family: 'Noto Serif';
  src: url('../fonts/NotoSerif-Regular.ttf') format('truetype');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: 'Noto Serif';
  src: url('../fonts/NotoSerif-Italic.ttf') format('truetype');
  font-style: italic;
  font-weight: 400;
  font-display: swap;
}
:root { --serif: 'Noto Serif', 'Times New Roman', serif; }
h1, h2, h3, .brand, .phone, .brand-row span {
  font-synthesis: none;
}
html[lang='vi'] h1,
html[lang='vi'] h2,
html[lang='vi'] h3 {
  line-height: 1.4;
  letter-spacing: normal;
}
.brand { line-height: 1.4; }
html[lang='vi'] .eyebrow { line-height: 1.9; letter-spacing: .12em; }

/* Readable Vietnamese typography with a quieter editorial hierarchy. */
body { font-family: Arial, Helvetica, sans-serif; font-size: 18px; line-height: 1.75; }
:root { --muted: #cecec4; }
.hero-description { font-size: 1.1875rem; max-width: 460px; }
.site-header nav, .button, .text-link, .contact-dock a,
.language-switch button, .site-footer > a:last-child { font-size: 1rem; }
.eyebrow, .hero .eyebrow, .proof .eyebrow,
.performance figcaption > span { font-size: .875rem; letter-spacing: .1em; }
.brand span { font-size: .75rem; letter-spacing: .18em; }
.service-grid p, .service-grid ul, .gallery-item p,
.gallery-page p, .section-heading > p, .event-strip,
.booking-contact > p:last-child, .site-footer p { font-size: 1rem; }
.service-note, .video-fallback, .site-footer small { font-size: .875rem; }
.performance h3, .gallery-item h3, .gallery-page h3 { font-size: 1.65rem; line-height: 1.4; }
.service-grid h3 { font-size: 2rem; }
.hero-copy { padding-top: 65px; padding-bottom: 65px; }
.service-grid article { padding-top: 30px; }
.actions { gap: 24px; }
.section-heading { gap: 35px; }
.text-link { border-bottom-color: #777764; }
html[lang='vi'] .eyebrow { letter-spacing: .08em; }
@media (min-width:721px) and (max-width:1200px) {
  .site-header { flex-wrap:wrap; }
  .site-header nav { width:100%; justify-content:flex-end; flex-wrap:wrap; }
}
@media (max-width:720px) {
  body { font-size:17px; }
  .hero-copy { padding:42px 6% 36px; }
  .hero-description { font-size:1.125rem; }
  .eyebrow, .hero .eyebrow, .proof .eyebrow { font-size:.8125rem; }
  .gallery-page { grid-template-columns:1fr; }
  .gallery-page .gallery-item figcaption h3 { min-height:0; }
  .performance h3, .gallery-item h3, .gallery-page h3 { font-size:1.5rem; }
  .site-header nav { gap:16px 22px; }
  .section-heading { margin-bottom:28px; }
  .actions { gap:18px; }
}
