/* Project directory only; article/project detail templates remain unchanged. */
.dnd-project-directory{--p-white:#f3f5f0;--p-muted:#c9d9d7;--p-border:#dbece335;isolation:isolate;position:relative;background:linear-gradient(180deg,#0c3855 0%,#104354 28%,#154b4b 60%,#326450 100%);color:var(--p-white);font-family:Manrope,sans-serif;overflow:hidden}
.dnd-p-hero{position:relative;height:460px;display:flex;justify-content:center;align-items:flex-end;padding:0 24px 64px;background:#123c54}
.dnd-p-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 46%}
.dnd-p-hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,#06263c40 0%,#0936524d 35%,#0c3855dc 80%,#0c3855 100%)}
.dnd-p-hero-copy{position:relative;text-align:center;z-index:1}.dnd-p-hero-copy nav{display:flex;justify-content:center;gap:12px;color:#e5ebed;font-size:10px;text-transform:uppercase;letter-spacing:.16em;margin-bottom:10px}.dnd-p-hero-copy h1{font-family:'Playfair Display',serif;font-style:italic;font-size:clamp(65px,7.7vw,108px);font-weight:500;color:#fff;letter-spacing:-.04em;line-height:1.1;margin:0}
.dnd-p-watermark{position:absolute;bottom:-14px;left:50%;transform:translateX(-50%);white-space:nowrap;font-weight:800;font-size:clamp(85px,15vw,240px);letter-spacing:-.06em;line-height:1;color:#ffffff04;pointer-events:none}
.dnd-p-featured{position:relative;max-width:1100px;margin:-12px auto 0;padding:0 24px;z-index:2}.dnd-p-kicker{font-size:11px;color:#cfdddd;text-transform:uppercase;letter-spacing:.2em;font-weight:500;margin:0 0 17px;text-align:left}
.dnd-p-featured-grid{display:grid;grid-template-columns:1.24fr 1fr 1fr;gap:17px;align-items:stretch}.dnd-p-feature-card{min-width:0;border:1px solid var(--p-border);background:#092d3a1a;transition:background .25s,border-color .25s}.dnd-p-feature-link{display:flex;flex-direction:column;height:100%;padding:8px;text-decoration:none;color:inherit}.dnd-p-feature-image{aspect-ratio:16/9;overflow:hidden;background:#173e49}.dnd-p-feature-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s}.dnd-p-feature-copy{padding:16px 14px 19px;display:flex;flex-direction:column;flex:1}.dnd-p-label{text-transform:uppercase;letter-spacing:.07em;font-size:10px;color:var(--p-muted);line-height:1.5;margin-bottom:8px}.dnd-p-feature-copy h3{font-size:27px;line-height:1.3;font-weight:500;font-family:inherit;color:var(--p-white);margin:0 0 13px;letter-spacing:-.035em}.dnd-p-feature-copy p{font-size:12px;line-height:1.7;color:#d2dedd;margin:0 0 26px;max-width:40ch}.dnd-p-detail{display:flex;align-items:center;gap:16px;text-transform:uppercase;font-size:10px;font-weight:750;letter-spacing:.045em;color:#f4f7f0;line-height:1.4;margin-top:auto}.dnd-p-detail>span{height:1px;background:#d8e9de66;flex:1;transition:background .25s}.dnd-p-detail b{font-size:17px;font-weight:400;transition:transform .25s}.dnd-p-feature-card:hover{background:#ffffff08;border-color:#dbece37a}.dnd-p-feature-card:hover img{transform:scale(1.025)}.dnd-p-feature-card:hover .dnd-p-detail b,.dnd-p-row:hover .dnd-p-detail b{transform:translate(2px,-2px)}
.dnd-p-others{margin-top:92px}.dnd-p-other-heading{max-width:1020px;margin:0 auto 36px;padding:0 24px}.dnd-p-other-heading>span{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:#c5d5d3}.dnd-p-other-heading h2{font-family:inherit;font-size:31px;line-height:1.25;font-weight:500;color:#f3f5f0;margin:12px 0 0}.dnd-p-row{border-top:1px solid #dbece32a;transition:background .25s}.dnd-p-row:last-child{border-bottom:1px solid #dbece32a}.dnd-p-row:nth-child(even){background:#d7eee808}.dnd-p-row-link{display:grid;grid-template-columns:110px 300px minmax(0,1fr);gap:44px;align-items:center;max-width:1020px;margin:auto;padding:31px 24px;color:inherit;text-decoration:none;min-height:232px}.dnd-p-index{font-size:12px;letter-spacing:.03em;color:#c2d6cd;font-variant-numeric:tabular-nums}.dnd-p-row-image{aspect-ratio:16/9;overflow:hidden;background:#19434b}.dnd-p-row-image img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .45s}.dnd-p-row-copy{max-width:360px}.dnd-p-row-copy h3{font-family:inherit;font-size:25px;line-height:1.45;font-weight:500;letter-spacing:-.025em;color:#f4f5ed;margin:0 0 30px;text-wrap:balance}.dnd-p-row-copy .dnd-p-detail{max-width:280px}.dnd-p-row:hover{background:#d7eee812}.dnd-p-row:hover img{transform:scale(1.025)}
.dnd-p-contact{text-align:center;padding:65px 24px 76px}.dnd-p-contact p{font-size:13px;color:#dfebe3;margin:0 0 23px}.dnd-p-contact>a{display:inline-flex;gap:40px;align-items:center;text-transform:uppercase;font-size:11px;letter-spacing:.05em;padding:13px 20px;border:1px solid #ffffff65;transition:background .2s}.dnd-p-contact>a:hover{background:#ffffff12}.dnd-p-image-empty{display:flex;justify-content:center;align-items:center;width:100%;height:100%;min-height:170px;font-size:22px;letter-spacing:.1em;color:#d9c99e}
.dnd-project-directory a:focus-visible{outline:2px solid #e4cca1;outline-offset:4px}
body.page-id-15 #site-header{background:#092d3fe6!important;backdrop-filter:blur(14px);box-shadow:0 1px 0 #ffffff19!important}body.page-id-15 #site-header #menu-menu-chinh>li>a{color:#edf3ef!important}body.page-id-15 #site-header #menu-menu-chinh>.current-menu-item>a{color:#e5c992!important}body.page-id-15 #mobile-menu-toggle{color:#edf3ef!important}body.page-id-15 #mobile-menu-toggle .hamburger-inner,body.page-id-15 #mobile-menu-toggle .hamburger-inner:before,body.page-id-15 #mobile-menu-toggle .hamburger-inner:after{background:#edf3ef!important}
@media(max-width:1000px){.dnd-p-row-link{grid-template-columns:65px 260px minmax(0,1fr);gap:25px}.dnd-p-row-copy h3{font-size:22px}.dnd-p-feature-copy h3{font-size:24px}.dnd-p-feature-copy{padding-inline:10px}}
@media(max-width:767px){.dnd-p-hero{height:340px;padding-bottom:44px}.dnd-p-hero-copy h1{font-size:74px}.dnd-p-featured{padding:0 20px;margin-top:0}.dnd-p-kicker{text-align:center;margin-bottom:22px}.dnd-p-featured-grid{grid-template-columns:1fr;gap:22px;max-width:480px;margin:auto}.dnd-p-feature-copy{padding:16px 13px 20px}.dnd-p-feature-copy h3{font-size:28px}.dnd-p-feature-copy p{font-size:13px;margin-bottom:22px;max-width:none}.dnd-p-others{margin-top:62px}.dnd-p-other-heading{margin-bottom:25px;padding-inline:20px}.dnd-p-other-heading h2{font-size:27px}.dnd-p-row-link{grid-template-columns:145px minmax(0,1fr);gap:20px;padding:25px 20px;min-height:180px}.dnd-p-index{display:none}.dnd-p-row-copy h3{font-size:19px;line-height:1.35;margin-bottom:21px}.dnd-p-row-copy .dnd-p-detail{font-size:9px;gap:10px}.dnd-p-row-image{aspect-ratio:4/3}.dnd-p-contact{padding-block:50px 62px}}
@media(max-width:420px){.dnd-p-hero{height:310px}.dnd-p-row-link{grid-template-columns:128px minmax(0,1fr);gap:17px}.dnd-p-row-copy h3{font-size:18px}.dnd-p-row-copy .dnd-p-detail b{display:none}.dnd-p-hero-copy nav{font-size:9px}.dnd-p-hero-copy h1{font-size:67px}}
@media(prefers-reduced-motion:reduce){.dnd-project-directory *{transition:none!important}}
body.page-id-15 #site-header .dnd-lang,body.page-id-15 #site-header .dnd-lang a{color:#edf3ef!important}body.page-id-15 #site-header .dnd-lang a[aria-current="true"]{color:#e5c992!important}

.dnd-p-row-copy h3{margin-bottom:13px}.dnd-p-description{font-size:13px;line-height:1.75;color:#d2dedd;margin:0 0 22px}.dnd-p-row-copy{max-width:400px}@media(max-width:767px){.dnd-p-description{font-size:12px;line-height:1.65;margin-bottom:15px}.dnd-p-row-link{align-items:start}.dnd-p-row-copy h3{margin-bottom:10px}.dnd-p-row-image{margin-top:3px}}

/* Equal featured cards: image, title, description and CTA share a baseline. */
.dnd-p-featured-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.dnd-p-feature-image{flex:none;width:100%;aspect-ratio:16/9}
.dnd-p-feature-copy{display:grid;grid-template-rows:23px 48px minmax(70px,1fr) 24px;gap:0}
.dnd-p-label{margin:0}.dnd-p-feature-copy h3{margin:0}.dnd-p-feature-copy p{margin:0 0 20px;max-width:none}.dnd-p-feature-copy .dnd-p-detail{margin:0;align-self:end}
@media(max-width:767px){.dnd-p-featured-grid{grid-template-columns:1fr}.dnd-p-feature-copy{grid-template-rows:23px 48px minmax(70px,1fr) 24px}}
