:root{--wine:#791f2c;--deep:#241819;--cream:#f5efe7;--paper:#fffaf4;--gold:#c6986b;--line:rgba(36,24,25,.16);--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
.brand-logo{width:52px;height:52px;object-fit:contain;flex:0 0 auto}.footer-brand .brand-logo{filter:brightness(0) invert(1);opacity:.92}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--deep);background:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.65}body.menu-open{overflow:hidden}img,video{display:block;width:100%;height:auto}a{color:inherit;text-decoration:none}.shell{width:min(1160px,calc(100% - 48px));margin:auto}.skip{position:fixed;left:16px;top:-60px;z-index:99;background:#fff;padding:10px 16px}.skip:focus{top:12px}.header{height:84px;background:var(--paper);border-bottom:1px solid var(--line);position:relative;z-index:20}.nav-wrap{height:100%;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;line-height:1}.brand-mark{width:46px;height:46px;border:1px solid var(--wine);border-radius:50%;display:grid;place-items:center;color:var(--wine);font-family:var(--serif);font-size:17px}.brand b{display:block;font-family:var(--serif);font-size:17px;letter-spacing:.18em}.brand small{display:block;margin-top:6px;font-size:8px;letter-spacing:.28em}.header nav{display:flex;gap:35px;font-size:13px}.header nav a{position:relative}.header nav a:after{content:"";position:absolute;left:0;bottom:-7px;width:0;height:1px;background:var(--wine);transition:.3s}.header nav a:hover:after{width:100%}.nav-call{font-size:12px;text-transform:uppercase;letter-spacing:.08em}.nav-call span{display:block;color:var(--wine);font-weight:600;font-size:14px}.menu-btn{display:none;background:none;border:0;padding:8px}.menu-btn span{display:block;width:25px;height:1px;background:var(--deep);margin:7px}
.hero{min-height:calc(100vh - 84px);display:grid;grid-template-columns:54% 46%;position:relative;background:var(--cream);overflow:hidden}.hero-copy{width:min(580px,calc(100% - 80px));margin:auto;padding:70px 0}.eyebrow,.section-no{font-size:11px;letter-spacing:.22em;font-weight:600;color:var(--wine);margin:0 0 30px}.hero h1,.section-head h2,.intro h2,.local-grid h2,.cta h2,.video-copy h2{font-family:var(--serif);font-size:clamp(54px,6vw,91px);line-height:.95;font-weight:500;letter-spacing:-.04em;margin:0}.hero h1 em,.section-head h2 em,.intro h2 em,.local-grid h2 em,.cta h2 em,.video-copy h2 em{font-weight:500;color:var(--wine)}.hero-lead{max-width:480px;font-size:17px;color:#655b59;margin:35px 0}.hero-actions{display:flex;align-items:center;gap:30px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 25px;border:1px solid transparent;font-weight:600;font-size:12px;letter-spacing:.08em;text-transform:uppercase;transition:.25s}.btn.primary{background:var(--wine);color:white}.btn.primary:hover{background:#5d1521;transform:translateY(-2px)}.text-link{font-size:12px;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid currentColor;padding-bottom:5px}.text-link span{margin-left:8px}.hero-trust{display:flex;gap:30px;margin-top:60px;padding-top:22px;border-top:1px solid var(--line);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.hero-trust span{display:flex;gap:9px}.hero-trust b{color:var(--gold);font-weight:500}.hero-image{margin:0;height:calc(100vh - 84px);min-height:640px;position:relative}.hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(36,24,25,.12),transparent 30%)}.hero-image img{height:100%;object-fit:cover;object-position:center 38%}.hero-image figcaption{position:absolute;right:24px;bottom:18px;color:white;z-index:2;font-size:11px;letter-spacing:.15em}.hero-stamp{position:absolute;left:calc(54% - 70px);top:62px;width:140px;height:140px;border-radius:50%;background:var(--wine);color:white;display:grid;place-content:center;text-align:center;z-index:3;transform:rotate(-8deg)}.hero-stamp span{font-size:8px;letter-spacing:.25em}.hero-stamp b{font-family:var(--serif);font-weight:500;font-size:15px;line-height:1.25;margin-top:8px}
.intro{display:grid;grid-template-columns:30% 70%;padding:150px 0}.intro h2,.local-grid h2,.video-copy h2{font-size:clamp(42px,5vw,67px)}.intro>div{max-width:780px}.intro>div>p{max-width:590px;margin:35px 0;color:#6f6461;font-size:17px}.text-link.dark{color:var(--wine)}.services{background:var(--deep);color:#fff;padding:130px 0}.section-head{margin-bottom:65px}.section-head .eyebrow{color:var(--gold)}.section-head h2{font-size:clamp(48px,6vw,75px)}.services .section-head h2 em,.video-copy h2 em{color:#d9aa7b}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.service-card{background:#342627}.service-img{height:490px;overflow:hidden}.service-img img{height:100%;object-fit:cover;transition:.8s}.service-card:hover img{transform:scale(1.025)}.service-card.reverse{margin-top:80px}.service-card.reverse .service-img{height:420px}.service-copy{padding:34px 38px 40px;position:relative}.service-copy>span{position:absolute;right:35px;top:30px;color:var(--gold);font-family:var(--serif)}.service-copy h3{font-family:var(--serif);font-weight:500;font-size:34px;margin:0 0 14px}.service-copy p{color:#cfc3bf;max-width:470px}.service-copy a{display:inline-block;color:#e1b587;margin-top:12px;font-size:12px;text-transform:uppercase;letter-spacing:.1em}
.results{padding:140px 0}.section-head.split{display:grid;grid-template-columns:1.2fr .8fr;align-items:end}.section-head.split>p{color:#726764;max-width:430px;margin:0 0 7px}.gallery{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:590px 430px;gap:25px}.gallery figure{margin:0;position:relative;overflow:hidden}.gallery img{width:100%;height:100%;object-fit:cover;transition:.7s}.gallery figure:hover img{transform:scale(1.025)}.gallery figcaption{position:absolute;inset:auto 0 0;padding:45px 24px 20px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.65));display:flex;justify-content:space-between;align-items:end}.gallery figcaption b{font-family:var(--serif);font-size:25px}.gallery figcaption span{font-size:11px;text-transform:uppercase;letter-spacing:.09em}.g3,.g4{height:430px}.video-story{background:#e7d5c2;padding:125px 0}.video-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;align-items:center}.video-copy p:not(.eyebrow){color:#645754;margin:30px 0}.btn.outline{border-color:var(--deep)}.video-wrap{position:relative}.video-wrap video{aspect-ratio:4/5;max-height:720px;object-fit:cover;background:#1e1616}.video-wrap>span{position:absolute;right:-25px;top:50px;background:var(--wine);color:white;padding:10px 18px;font-size:10px;letter-spacing:.16em}
.process{padding:140px 0;display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.process .section-head{position:sticky;top:50px;align-self:start}.process .section-head .eyebrow,.faq .eyebrow{color:var(--wine)}.steps{list-style:none;margin:0;padding:0}.steps li{border-top:1px solid var(--line);padding:36px 0;display:grid;grid-template-columns:80px 1fr}.steps li:last-child{border-bottom:1px solid var(--line)}.steps b{font-family:var(--serif);font-weight:500;color:var(--wine);font-size:22px}.steps h3{font-family:var(--serif);font-size:30px;font-weight:500;margin:0}.steps p{color:#746966;margin:10px 0 0;max-width:520px}.local-seo{background:var(--cream);padding:110px 0}.local-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:end}.local-grid>div:last-child p{color:#6b605d;margin:0 0 30px}.faq{padding:135px 0;display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;padding:28px 0;font-family:var(--serif);font-size:23px;cursor:pointer;display:flex;justify-content:space-between}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-family:var(--sans);font-weight:300;transition:.2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{color:#6c615e;max-width:630px;margin:-8px 50px 28px 0}.cta{text-align:center;background:var(--wine);color:white;padding:110px 0}.cta p{font-size:11px;letter-spacing:.2em}.cta h2{font-size:clamp(44px,6vw,76px);margin:25px 0 45px}.cta h2 em{color:#ecc89e}.cta .btn{margin:5px}.btn.light{background:#fff;color:var(--wine)}.btn.ghost{border-color:rgba(255,255,255,.7)}
footer{background:#1c1314;color:#d6cbc7;padding:75px 0 25px}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1.2fr 1fr;gap:45px}.footer-brand .brand-mark{color:#e4bd93;border-color:#e4bd93}.footer-grid>div:not(.brand){display:flex;flex-direction:column;gap:7px;font-size:13px}.footer-grid b{color:#fff;margin-bottom:8px;font-size:11px;text-transform:uppercase;letter-spacing:.12em}.footer-grid a:hover{color:#e4bd93}.copyright{border-top:1px solid rgba(255,255,255,.12);margin-top:55px;padding-top:22px;display:flex;justify-content:space-between;font-size:11px}.mobile-bar{display:none}.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.shell{width:min(100% - 32px,700px)}.header{height:72px}.header nav{position:fixed;inset:72px 0 0;background:var(--paper);padding:50px 25px;display:flex;flex-direction:column;gap:28px;font-family:var(--serif);font-size:28px;transform:translateX(100%);transition:.35s}.menu-open .header nav{transform:none}.menu-btn{display:block}.menu-btn span{transition:.25s}.menu-open .menu-btn span:first-child{transform:translateY(4px) rotate(45deg)}.menu-open .menu-btn span:last-child{transform:translateY(-4px) rotate(-45deg)}.nav-call{display:none}.hero{display:block;min-height:auto;padding-bottom:0}.hero-copy{width:calc(100% - 32px);padding:75px 0 55px}.hero h1{font-size:clamp(50px,15vw,76px)}.hero-lead{font-size:16px}.hero-trust{gap:15px;justify-content:space-between}.hero-trust span{display:block}.hero-trust b{display:block}.hero-image{height:75vh;min-height:520px}.hero-stamp{left:auto;right:20px;top:auto;bottom:calc(75vh - 55px);width:110px;height:110px}.intro,.process,.faq{grid-template-columns:1fr;padding:95px 0;gap:35px}.intro .section-no{margin-bottom:0}.service-grid{grid-template-columns:1fr}.service-card.reverse{margin-top:0}.section-head.split,.video-grid,.local-grid{grid-template-columns:1fr;gap:35px}.gallery{grid-template-columns:1fr 1fr;grid-template-rows:440px 300px}.video-story{padding:90px 0}.video-grid{width:min(100% - 48px,650px)}.video-wrap>span{right:-8px}.process .section-head{position:static}.faq{gap:10px}.footer-grid{grid-template-columns:1fr 1fr}.mobile-bar{position:fixed;display:grid;grid-template-columns:1fr 1fr;left:12px;right:12px;bottom:10px;height:54px;z-index:15;background:var(--wine);box-shadow:0 7px 30px rgba(0,0,0,.25);border-radius:5px;overflow:hidden}.mobile-bar a{color:#fff;display:grid;grid-template-columns:auto auto;align-items:center;justify-content:center;gap:8px;text-transform:uppercase;font-size:11px;letter-spacing:.07em}.mobile-bar a+ a{background:#fff;color:var(--wine);margin:4px}.mobile-bar span{font-size:16px}footer{padding-bottom:90px}}
@media(max-width:560px){.brand-mark{width:40px;height:40px}.hero-copy{padding-top:60px}.hero-actions{align-items:flex-start;flex-direction:column;gap:20px}.hero-trust{font-size:9px;margin-top:45px}.hero-image{height:62vh}.hero-stamp{bottom:calc(62vh - 50px)}.intro h2,.local-grid h2,.video-copy h2{font-size:43px}.services,.results{padding:90px 0}.service-img,.service-card.reverse .service-img{height:390px}.service-copy{padding:28px}.section-head{margin-bottom:40px}.section-head h2{font-size:48px}.gallery{display:grid;grid-template-columns:1fr;grid-template-rows:none;gap:14px}.gallery figure,.g3,.g4{height:390px}.gallery .g2,.gallery .g4{height:300px}.gallery figcaption{padding-top:55px}.video-grid{width:calc(100% - 32px);gap:45px}.video-wrap video{aspect-ratio:9/13}.process,.faq{padding:90px 0}.steps li{grid-template-columns:55px 1fr}.steps h3{font-size:25px}.local-seo{padding:85px 0}.faq-list summary{font-size:19px;gap:12px}.cta{padding:85px 0}.cta h2{font-size:42px}.cta .btn{width:100%;margin:5px 0}.footer-grid{grid-template-columns:1fr;gap:30px}.copyright{margin-top:35px}.footer-brand{margin-bottom:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}*{animation:none!important;transition:none!important}}

/* Expanded service and SEO content */
.service-card.wide{grid-column:1/-1;display:grid;grid-template-columns:1.25fr .75fr;margin-top:8px}.service-card.wide .service-img{height:520px}.service-card.wide .service-copy{display:flex;flex-direction:column;justify-content:center}.service-card.wide .service-copy>span{top:42px}
.expertise{padding:140px 0}.expertise .section-head .eyebrow{color:var(--wine)}.expert-grid{display:grid;gap:25px}.expert-card{display:grid;grid-template-columns:.8fr 1.2fr;background:var(--cream);min-height:480px}.expert-card:nth-child(even){grid-template-columns:1.2fr .8fr}.expert-card:nth-child(even) img{order:2}.expert-card img{height:100%;max-height:590px;object-fit:cover}.expert-card>div{padding:55px 60px;align-self:center}.expert-card .eyebrow{margin-bottom:16px}.expert-card h3{font-family:var(--serif);font-size:36px;line-height:1.2;font-weight:500;margin:0 0 20px}.expert-card p:not(.eyebrow){color:#6d625f}.expert-card ul{padding:0;list-style:none;margin:25px 0 0}.expert-card li{border-top:1px solid var(--line);padding:10px 0;font-size:13px}.expert-card li:before{content:"✦";color:var(--wine);margin-right:10px;font-size:9px}.keyword-list{display:flex;flex-wrap:wrap;gap:8px;margin:-10px 0 30px}.keyword-list span{border:1px solid rgba(121,31,44,.22);color:var(--wine);border-radius:99px;padding:7px 12px;font-size:11px}
@media(max-width:900px){.service-card.wide{display:block}.service-card.wide .service-img{height:440px}.expertise{padding:95px 0}.expert-card,.expert-card:nth-child(even){grid-template-columns:1fr;min-height:0}.expert-card:nth-child(even) img{order:0}.expert-card img{height:440px}.expert-card>div{padding:40px}}
@media(max-width:560px){.service-card.wide .service-img,.expert-card img{height:370px}.expertise{padding:90px 0}.expert-card>div{padding:30px 24px}.expert-card h3{font-size:30px}}

/* Vietnamese display fonts need extra leading for accents and italic ascenders. */
.hero h1,.section-head h2,.intro h2,.local-grid h2,.cta h2,.video-copy h2{line-height:1.1}
@media(max-width:560px){.hero h1,.section-head h2,.intro h2,.local-grid h2,.cta h2,.video-copy h2{line-height:1.12;letter-spacing:-.035em}}

/* Knowledge and service-area discovery on the homepage */
.home-knowledge{padding:135px 0;background:var(--paper)}.home-knowledge .section-head .eyebrow{color:var(--wine)}.home-knowledge .section-head>div:last-child p{color:#6d625f;margin:0 0 22px}.home-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.home-card{background:var(--cream);overflow:hidden}.home-card img{height:330px;object-fit:cover;transition:transform .6s}.home-card:hover img{transform:scale(1.025)}.home-card>div{padding:27px}.home-card small{font-size:10px;letter-spacing:.13em;color:var(--wine)}.home-card h3{font-family:var(--serif);font-size:28px;line-height:1.2;font-weight:500;margin:12px 0}.home-card p{font-size:14px;color:#706461}.home-card span{display:inline-block;margin-top:8px;font-size:11px;letter-spacing:.08em;color:var(--wine);text-transform:uppercase}.home-areas{padding:125px 0;background:#dfcbb6}.area-intro{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:end;margin-bottom:70px}.area-intro h2{font-family:var(--serif);font-size:clamp(44px,5vw,67px);font-weight:500;line-height:1.1;letter-spacing:-.04em;margin:0}.area-intro h2 em{color:var(--wine);font-weight:500}.area-intro>div:last-child p{color:#625654;margin:0 0 25px}.area-links{border-top:1px solid rgba(36,24,25,.25)}.area-links a{display:grid;grid-template-columns:70px 1fr auto;align-items:center;border-bottom:1px solid rgba(36,24,25,.25);padding:24px 5px}.area-links a:hover{color:var(--wine)}.area-links b{font-family:var(--serif);font-weight:500;color:var(--wine)}.area-links span{font-family:var(--serif);font-size:26px}.area-links i{font-style:normal;font-size:22px}
@media(max-width:900px){.home-card-grid{grid-template-columns:1fr 1fr}.home-card:last-child{grid-column:1/-1}.area-intro{grid-template-columns:1fr;gap:30px}}
@media(max-width:560px){.home-knowledge,.home-areas{padding:90px 0}.home-card-grid{grid-template-columns:1fr}.home-card:last-child{grid-column:auto}.home-card img{height:330px}.area-links a{grid-template-columns:42px 1fr auto;padding:20px 0}.area-links span{font-size:19px;line-height:1.3}}

/* Keep the hero seal inside the photo so it never covers trust labels. */
@media(max-width:900px){.hero-stamp{width:92px;height:92px;bottom:calc(75vh - 102px);right:18px}.hero-stamp b{font-size:13px;margin-top:5px}.hero-stamp span{font-size:7px}}
@media(max-width:560px){.hero-stamp{width:82px;height:82px;bottom:calc(62vh - 42px);right:14px}.hero-stamp b{font-size:11px}.hero-stamp span{font-size:6px}.hero-trust{padding-bottom:8px}}
