
/* Subpages for the approved Dương Thịnh V2 visual direction */
.page-shell{background:var(--paper);min-height:100vh}.page-header-shell{position:relative;background:#201711;color:#fff;z-index:9;border-bottom:1px solid rgba(195,163,118,.22)}
.page-header-shell .site-header{height:clamp(66px,7vw,96px)}.page-header-shell .nav>a.current{color:#e2bb88;border-bottom:1px solid #bfa176}.page-header-shell .nav-toggle{color:#fff}
.breadcrumb{font-size:12px;letter-spacing:.035em;display:flex;flex-wrap:wrap;gap:10px;color:#d2c1ae;align-items:center}.breadcrumb a:hover{color:#f1cd9b}.breadcrumb .sep{opacity:.55}
.page-hero{position:relative;isolation:isolate;min-height:clamp(395px,41vw,595px);background:#231913;color:#fff;display:flex;align-items:center;overflow:hidden}.page-hero>img{position:absolute;inset:0 0 0 auto;width:74%;height:100%;object-fit:cover;object-position:center;z-index:-3}.page-hero::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#1d1510 0%,rgba(29,21,16,.94) 23%,rgba(29,21,16,.73) 43%,rgba(29,21,16,.18) 75%),linear-gradient(0deg,rgba(19,14,10,.38),transparent 50%)}.page-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 86% 60%,transparent 40%,rgba(10,8,7,.07))}
.page-hero__inner{padding:66px 0 75px}.page-hero .eyebrow{margin:39px 0 14px;color:#d4b086}.page-hero h1{font-size:clamp(52px,6.05vw,100px);line-height:.96;max-width:880px;letter-spacing:-.034em;text-wrap:balance}.page-hero p{margin-top:18px;font:clamp(15px,1.5vw,20px)/1.56 var(--serif);color:#f2e4d7;max-width:550px}.page-hero .link-rule{margin-top:24px;color:#e8c593}
.page-light{background:radial-gradient(ellipse at 0 60%,rgba(241,214,177,.24),transparent 37%),#fcf6ed}.section-space{padding:clamp(55px,6.5vw,108px) 0}.section-tight{padding:clamp(40px,5.5vw,78px) 0}.section-kicker{color:#96734f;font:700 10px/1.4 var(--sans);letter-spacing:.25em;text-transform:uppercase;display:flex;align-items:center;gap:15px;margin-bottom:15px}.section-kicker::after{content:"";width:65px;height:1px;background:#b79b7c}.section-title{font-size:clamp(39px,4.5vw,75px);line-height:1.02;letter-spacing:-.029em;text-wrap:balance}.section-lead{font:clamp(16px,1.5vw,20px)/1.68 var(--serif);color:#554639;max-width:660px}.text-body{font:clamp(15px,1.28vw,18px)/1.85 var(--serif);color:#514337}.text-body p+p{margin-top:18px}.text-body strong{color:#31241b}.body-muted{color:#78695b}
.about-intro{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(35px,7vw,120px);align-items:center}.about-intro .text-body{margin-top:26px}.feature-image{margin:0;position:relative;min-height:410px;overflow:hidden;background:#d4c2ad}.feature-image img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.feature-image--portrait{aspect-ratio:1/1.05}.feature-image__label{position:absolute;bottom:0;left:0;background:rgba(27,19,14,.90);color:#f3e2d0;padding:17px 24px;font:15px var(--serif)}
.since-badge{margin:34px 0 0;border-top:1px solid #c9bba8;padding:18px 0;display:flex;align-items:center;gap:20px}.since-badge b{font:clamp(48px,5.8vw,78px)/1 var(--serif);letter-spacing:-.05em;font-weight:400}.since-badge span{font:13px/1.6 var(--sans);letter-spacing:.08em;color:#876d53;text-transform:uppercase}
.quote-section{position:relative;background:#1c1410;color:#f5ebdf;padding:clamp(65px,6vw,100px) 0}.quote-layout{display:grid;grid-template-columns:.42fr 1fr;gap:60px;align-items:start}.quote-section blockquote{margin:0;font:clamp(33px,4.5vw,70px)/1.17 var(--serif);letter-spacing:-.025em;max-width:1050px}.quote-section blockquote em{font-style:normal;color:#d5ad7a}.quote-caption{color:#c3a787;font:12px var(--sans);letter-spacing:.16em;text-transform:uppercase}
.values-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.5vw,24px);margin-top:44px}.value-card{border-top:1px solid #bca588;padding-top:18px}.value-card .value-number{color:#a48869;font:18px var(--serif)}.value-card h3{font:clamp(23px,2.5vw,37px)/1.12 var(--serif);letter-spacing:-.02em;margin:24px 0 13px}.value-card p{font:14px/1.66 var(--serif);color:#75675a}
.vision-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(25px,6vw,95px)}.vision-grid h3{font:clamp(37px,4vw,61px)/1 var(--serif);margin:15px 0 18px}.vision-grid article{border-top:1px solid #b69a78;padding-top:18px}.vision-grid p{font:17px/1.75 var(--serif);color:#594a3d}.contact-strip{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center;border-top:1px solid #d8c8b3;margin-top:38px;padding-top:24px}.contact-strip p{font:14px/1.8 var(--sans)}.contact-strip strong{font-weight:600}
/* Space / category overview */
.styles-intro-grid{display:grid;grid-template-columns:1fr .7fr;gap:50px;align-items:end}.category-nav{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.category-nav a{border:1px solid #c6b7a2;color:#514334;background:rgba(255,255,255,.44);padding:9px 16px;font:14px var(--serif);transition:.2s}.category-nav a:hover{background:#31241b;color:#fff;border-color:#31241b}
.category-group{padding:clamp(38px,5vw,80px) 0;border-top:1px solid rgba(155,122,85,.25)}.category-group .group-heading{display:flex;gap:20px;align-items:baseline;justify-content:space-between;margin:0 0 26px}.group-heading h2{font:clamp(31px,3.8vw,58px)/1.05 var(--serif);letter-spacing:-.026em}.group-heading span{color:#92785b;font-size:12px;letter-spacing:.17em;text-transform:uppercase}.category-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,2.5vw,40px)}.category-card{display:block;position:relative;min-width:0;scroll-margin-top:30px}.category-card figure{margin:0;aspect-ratio:1.55/1;overflow:hidden;position:relative;background:#cabba7}.category-card img{width:100%;height:100%;object-fit:cover;transition:transform .55s}.category-card:hover img{transform:scale(1.04)}.category-card .category-caption{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #c7b8a5;padding:18px 0 21px}.category-card h3{font:clamp(27px,3vw,47px)/1.1 var(--serif)}.category-card p{font:15px/1.6 var(--serif);color:#776858;max-width:460px;margin-top:10px}.category-card .category-arrow{color:#9f7c58;font:24px var(--serif);padding-top:4px}.category-caption .category-left{min-width:0}
/* Project filters and listing */
.work-intro{display:grid;grid-template-columns:1fr .65fr;gap:40px;align-items:end}.work-filters{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:28px 0 33px}.filter-btn{font:15px var(--serif);background:transparent;color:#634f3d;padding:10px 15px;border:1px solid #cdbda9;transition:.2s}.filter-btn:hover,.filter-btn.active{background:#30231b;color:#fff;border-color:#30231b}.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(21px,2.7vw,42px) clamp(14px,2.1vw,32px)}.work-card{display:block;min-width:0;color:var(--text)}.work-card[hidden]{display:none!important}.work-card__image{display:block;position:relative;overflow:hidden;aspect-ratio:1.32/1;background:#dfd0bf}.work-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .55s}.work-card:hover .work-card__image img{transform:scale(1.04)}.work-card__category{font:10px/1.4 var(--sans);letter-spacing:.17em;text-transform:uppercase;color:#947454;display:block;margin-top:17px}.work-card h3{font:clamp(23px,2.35vw,35px)/1.18 var(--serif);margin-top:7px;letter-spacing:-.018em}.work-card__bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #cfbda7;padding-bottom:16px}.work-card__bottom span{font:20px var(--serif);color:#b18b64}.work-card:first-child{grid-column:span 2}.work-card:first-child .work-card__image{aspect-ratio:2.4/1}.work-card:first-child h3{font-size:clamp(27px,2.9vw,47px)}.work-note{font:13px/1.6 var(--sans);color:#8b7560;padding:18px 0 0;max-width:860px}.work-empty{display:none;padding:32px 0;font:17px var(--serif);color:#7d634f}.work-empty.visible{display:block}
/* Detail template */
.detail-hero{position:relative;background:#241a13;color:#fff}.detail-hero__image{width:100%;height:clamp(390px,47vw,780px);object-fit:cover;object-position:center}.detail-hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(19,13,9,.83),transparent 53%),linear-gradient(90deg,rgba(19,13,9,.35),transparent 75%);pointer-events:none}.detail-hero__caption{position:absolute;z-index:2;left:0;right:0;bottom:clamp(28px,5vw,74px)}.detail-hero__caption h1{font:clamp(44px,5.4vw,87px)/1.02 var(--serif);letter-spacing:-.028em;max-width:1020px;text-wrap:balance;margin-top:14px}.detail-hero__caption p{color:#e9d5bc;font:clamp(14px,1.4vw,19px)/1.6 var(--serif);margin-top:12px}.detail-summary{display:grid;grid-template-columns:1fr 1fr;gap:clamp(35px,7vw,110px);align-items:start}.detail-summary .section-title{font-size:clamp(38px,4.2vw,67px);margin-bottom:25px}.detail-specs{display:grid;grid-template-columns:1fr 1fr;gap:0 30px;border-top:1px solid #bba78f}.detail-spec{border-bottom:1px solid #d4c2ae;padding:19px 0}.detail-spec dt{font:10px/1.5 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:#9b8268}.detail-spec dd{font:clamp(15px,1.4vw,18px)/1.5 var(--serif);margin:7px 0 0;color:#2f251d}.detail-article{display:grid;grid-template-columns:.65fr 1fr;gap:clamp(28px,7vw,120px);padding-top:clamp(10px,2vw,25px)}.detail-article h2{font:clamp(35px,4vw,64px)/1.07 var(--serif)}.detail-gallery{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(12px,2.1vw,30px);margin-top:45px}.detail-gallery__item{border:0;background:transparent;padding:0;cursor:zoom-in;display:block;position:relative;overflow:hidden;aspect-ratio:1.55/1}.detail-gallery__item:nth-child(3){grid-column:span 2;aspect-ratio:2.55/1}.detail-gallery__item img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.detail-gallery__item:hover img{transform:scale(1.035)}.detail-gallery__item::after{content:"↗";position:absolute;right:17px;bottom:16px;font:20px var(--serif);color:#fff;background:rgba(37,26,19,.55);width:40px;height:40px;display:grid;place-items:center}.detail-gallery__item:focus-visible{outline-offset:3px}.gallery-note{font:12px/1.6 var(--sans);color:#90775f;margin-top:12px}
.next-project{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid rgba(208,182,149,.3);padding:38px 0}.next-project .link-rule{font-size:clamp(15px,1.6vw,24px)}
.lightbox{display:none;position:fixed;z-index:120;inset:0;background:rgba(13,10,8,.95);place-items:center;padding:70px 30px 45px}.lightbox.open{display:grid}.lightbox img{max-height:82vh;max-width:min(95vw,1400px);width:auto;height:auto;object-fit:contain}.lightbox button{position:absolute;top:23px;right:28px;background:transparent;border:1px solid #ffffff7a;color:#fff;font:18px var(--sans);padding:10px 15px}.lightbox p{color:#e9ded2;font:14px var(--serif);position:absolute;bottom:12px;left:30px;right:30px;text-align:center}
.sub-footer .footer-inner{border-bottom:1px solid rgba(202,161,116,.19)}.sub-footer__below{display:flex;justify-content:space-between;gap:20px;padding:20px 0 25px;color:#b6a393;font:12px/1.6 var(--sans)}.sub-footer__below a:hover{color:#fff}
@media(max-width:900px){.values-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.about-intro{gap:32px}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.work-card:first-child{grid-column:span 2}.page-hero>img{width:95%}.page-hero::before{background:linear-gradient(90deg,#1d1510,rgba(29,21,16,.83) 35%,rgba(29,21,16,.28))}}
@media(max-width:600px){.page-header-shell .site-header{height:76px}.page-hero{min-height:520px}.page-hero>img{width:100%;opacity:.86}.page-hero::before{background:linear-gradient(90deg,rgba(20,14,10,.86),rgba(20,14,10,.36)),linear-gradient(0deg,rgba(20,14,10,.56),transparent)}.page-hero__inner{padding:60px 0 74px}.page-hero h1{font-size:clamp(46px,11vw,66px)}.page-hero .eyebrow{margin-top:55px}.page-hero p{font-size:16px}.about-intro,.styles-intro-grid,.work-intro,.detail-summary,.detail-article,.vision-grid{grid-template-columns:1fr;gap:25px}.feature-image{min-height:0;width:100%}.feature-image--portrait{aspect-ratio:1.35/1}.since-badge{margin-top:22px}.quote-layout{grid-template-columns:1fr;gap:22px}.quote-section blockquote{font-size:35px}.values-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.value-card h3{font-size:27px}.category-grid{grid-template-columns:1fr;gap:26px}.category-group{padding:36px 0}.group-heading{align-items:center!important}.group-heading h2{font-size:34px}.group-heading span{font-size:10px}.category-card figure{aspect-ratio:1.5/1}.category-card h3{font-size:33px}.work-grid{grid-template-columns:1fr;gap:26px}.work-card:first-child{grid-column:span 1}.work-card:first-child .work-card__image{aspect-ratio:1.35/1}.work-card h3,.work-card:first-child h3{font-size:27px}.work-filters{gap:7px}.filter-btn{padding:8px 12px;font-size:14px}.detail-hero__image{height:530px}.detail-hero__caption h1{font-size:46px}.detail-specs{gap:0 14px}.detail-gallery{gap:10px;margin-top:28px}.detail-gallery__item,.detail-gallery__item:nth-child(3){aspect-ratio:1.25/1}.detail-gallery__item:nth-child(3){aspect-ratio:1.9/1}.next-project{flex-direction:column;align-items:flex-start}.sub-footer__below{flex-direction:column;gap:5px}.contact-strip{grid-template-columns:1fr;gap:15px}}
@media(prefers-reduced-motion:reduce){.category-card img,.work-card img,.detail-gallery__item img{transition:none}}
