.dnl-project-single{background:#fff;color:var(--dnl-ink);font-family:Inter,Arial,sans-serif}
.dnl-project-single *{min-width:0}
.dnl-project-hero{min-height:72vh;display:flex;align-items:flex-end;background:#20201e center/cover no-repeat;color:#fff}
.dnl-hero-copy{padding-top:120px;padding-bottom:70px}
.dnl-hero-copy h1{max-width:980px;margin:13px 0 18px;color:#fff;font-size:clamp(42px,6vw,76px);line-height:.99;letter-spacing:-.045em;font-weight:700}
.dnl-hero-copy p{max-width:790px;margin:0;color:rgba(255,255,255,.86);font-size:18px;line-height:1.65}
.dnl-zone-parent a,.dnl-zone-parent a:link,.dnl-zone-parent a:visited,.dnl-zone-parent a:hover,.dnl-zone-parent a:focus,.dnl-zone-parent a:active{color:#fff!important;text-decoration:underline;text-underline-offset:3px}

.dnl-project-nav{position:sticky;top:0;z-index:90;border-bottom:1px solid var(--dnl-line);background:rgba(255,255,255,.97);backdrop-filter:blur(12px)}
.dnl-project-nav .dnl-shell{display:flex;justify-content:flex-start;gap:24px;overflow-x:auto;scrollbar-width:none}
.dnl-project-nav .dnl-shell::-webkit-scrollbar{display:none}
.dnl-project-nav a{position:relative;flex:0 0 auto;padding:16px 1px 14px;color:#555;text-decoration:none;font-size:13px;font-weight:650;white-space:nowrap}
.dnl-project-nav a:hover,.dnl-project-nav a:focus-visible,.dnl-project-nav a.is-active{color:var(--dnl-navy)}
.dnl-project-nav a:focus-visible{outline:2px solid var(--dnl-gold);outline-offset:-3px}
.dnl-project-nav a.is-active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--dnl-gold)}

.dnl-project-intro{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.72fr);gap:68px;padding-top:82px;padding-bottom:82px;align-items:start}
.dnl-project-intro>.dnl-prose{font-size:17px;line-height:1.8;overflow-wrap:anywhere}
.dnl-project-intro>.dnl-prose>p:first-child{margin-top:0}
.dnl-zone-single .dnl-project-intro>.dnl-prose>h2:first-child{max-width:780px;margin:0 0 24px;color:var(--dnl-navy);font-size:36px;line-height:1.18;font-weight:500;letter-spacing:-.02em;text-align:left!important}
.dnl-facts{overflow:hidden;border:1px solid var(--dnl-line);border-radius:9px;background:#fff;padding:28px}
.dnl-facts h2{margin:0 0 18px;font-size:13px;letter-spacing:.13em;text-transform:uppercase}
.dnl-facts>div{display:grid;grid-template-columns:118px minmax(0,1fr);gap:16px;padding:13px 0;border-top:1px solid var(--dnl-line)}
.dnl-facts span{color:#85817a;font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.dnl-facts strong{display:block;color:#222;font-size:14px;line-height:1.45;font-weight:650;overflow-wrap:anywhere}
.dnl-facts strong a{color:inherit;text-decoration:none}

.dnl-project-section{padding:88px 0;border-top:1px solid var(--dnl-line);scroll-margin-top:58px}
.dnl-section-alt{background:var(--dnl-ivory)}
.dnl-section-wrap{display:grid;grid-template-columns:250px minmax(0,1fr);gap:74px;align-items:start}
.dnl-section-head{position:sticky;top:88px;align-self:start}
.dnl-section-heading{margin-bottom:28px}
.dnl-section-no{display:block;margin-bottom:11px;color:var(--dnl-gold);font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.dnl-section-head h2,.dnl-section-heading h2{margin:0;color:#171717;font-size:30px;line-height:1.15;letter-spacing:-.028em}
.dnl-section-body{max-width:820px;color:#373733;font-size:16px;line-height:1.78}
.dnl-section-body>h1:first-child,.dnl-section-body>h2:first-child,.dnl-project-intro .dnl-prose>h1:first-child{margin-top:0}
.dnl-prose h2{margin:46px 0 16px;color:#171717;font-size:30px;line-height:1.22;letter-spacing:-.024em}
.dnl-prose h3{margin:34px 0 13px;color:#1e1e1c;font-size:23px;line-height:1.3;letter-spacing:-.018em}
.dnl-prose h4{margin:26px 0 10px;color:#252522;font-family:var(--dnl-serif)!important;font-size:18px;line-height:1.4;font-weight:600}
.dnl-project-single .dnl-prose h2,.dnl-project-single .dnl-prose h3,.dnl-project-single .dnl-prose h4{text-align:left!important;text-wrap:balance}
.dnl-prose p{margin:0 0 18px}
.dnl-prose ul,.dnl-prose ol{margin:8px 0 24px;padding-left:21px}
.dnl-prose li{margin:7px 0}
.dnl-prose a{color:#86651f;text-decoration:none;border-bottom:1px solid #d8c18f}
.dnl-prose img{display:block;max-width:100%;height:auto;margin:28px auto 10px;border-radius:var(--dnl-radius-lg)}
.dnl-prose table{display:block;width:100%;max-width:100%;overflow-x:auto;border-collapse:collapse;-webkit-overflow-scrolling:touch}
.dnl-prose th,.dnl-prose td{padding:10px 12px;border-bottom:1px solid var(--dnl-line);vertical-align:top}
.dnl-prose blockquote{margin:28px 0;padding:22px 26px;color:#333}
.dnl-masterplan-image{margin:28px 0 0}
.dnl-masterplan-image img{display:block;width:100%;height:auto;border-radius:var(--dnl-radius-lg)}

.dnl-zone-index{background:#fff}
.dnl-zone-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.dnl-zone-card{overflow:hidden;border:1px solid var(--dnl-line);border-radius:9px;background:#fff}
.dnl-zone-card-image{display:block;aspect-ratio:4/3;overflow:hidden;background:#efede8}
.dnl-zone-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.dnl-zone-card:hover img{transform:scale(1.025)}
.dnl-zone-card-body{padding:20px}
.dnl-zone-card-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:9px;color:#766d58;font-size:11px;text-transform:uppercase}
.dnl-zone-card-meta span{padding:4px 7px;border-radius:999px;background:#f2ecde}
.dnl-zone-card h3{margin:0 0 10px;font-size:21px;line-height:1.24}
.dnl-zone-card h3 a{color:var(--dnl-ink);text-decoration:none}

.dnl-gallery-section{border-top:1px solid var(--dnl-line)}
.dnl-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.dnl-gallery-grid a{display:block;overflow:hidden;border-radius:var(--dnl-radius-lg);background:#eee}
.dnl-gallery-grid a:focus-visible{outline:2px solid var(--dnl-gold);outline-offset:3px}
.dnl-gallery-grid img{display:block;width:100%;height:100%;aspect-ratio:4/3;object-fit:cover}

.dnl-faq-list{max-width:820px}
.dnl-faq-list details{border:1px solid var(--dnl-line);border-radius:8px;background:#fff;margin-bottom:10px;overflow:hidden}
.dnl-faq-list summary{padding:17px 18px;cursor:pointer;font-weight:700;list-style-position:inside}
.dnl-faq-list details>div{padding:0 18px 17px;color:#4c4944;line-height:1.7}

.dnl-consult{padding:82px 0;background:#1c1c1a;color:#fff}
.dnl-consult-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,1fr);gap:70px;align-items:start}
.dnl-consult h2{margin:10px 0 16px;color:#fff;font-size:clamp(32px,4vw,44px);line-height:1.1;letter-spacing:-.03em}
.dnl-consult p{max-width:540px;margin:0;color:rgba(255,255,255,.7);line-height:1.72}

.dnl-zone-single .dnl-project-hero{min-height:64vh}

@media(max-width:900px){
  .dnl-project-hero{min-height:62vh}
  .dnl-hero-copy{padding-top:96px;padding-bottom:52px}
  .dnl-project-intro,.dnl-section-wrap,.dnl-consult-grid{grid-template-columns:1fr;gap:34px}
  .dnl-project-intro{padding-top:64px;padding-bottom:64px}
  .dnl-section-head{position:static}
  .dnl-project-section{padding:68px 0}
  .dnl-zone-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dnl-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dnl-consult{padding:66px 0}
}

@media(max-width:600px){
  .dnl-project-hero{min-height:500px;background-position:center}
  .dnl-hero-copy{padding-top:82px;padding-bottom:38px}
  .dnl-hero-copy h1{font-size:37px;line-height:1.02}
  .dnl-hero-copy p{font-size:15px;line-height:1.58}
  .dnl-project-nav .dnl-shell{width:100%;padding:0 16px;gap:20px}
  .dnl-project-nav a{padding:14px 0 12px;font-size:13px}
  .dnl-project-intro{padding-top:46px;padding-bottom:46px;gap:26px}
  .dnl-project-intro>.dnl-prose,.dnl-section-body{font-size:15px;line-height:1.72}
  .dnl-zone-single .dnl-project-intro>.dnl-prose>h2:first-child{font-size:28px;line-height:1.2;margin-bottom:18px}
  .dnl-facts{padding:20px 18px}
  .dnl-facts>div{grid-template-columns:98px minmax(0,1fr);gap:12px;padding:12px 0}
  .dnl-project-section{padding:48px 0}
  .dnl-section-wrap{gap:22px}
  .dnl-section-head h2,.dnl-section-heading h2{font-size:25px}
  .dnl-prose h2{font-size:25px;margin:34px 0 13px}
  .dnl-prose h3{font-size:20px;margin:28px 0 12px}
  .dnl-prose h4{font-size:17px}
  .dnl-prose blockquote{padding:18px 18px;margin:22px 0}
  .dnl-zone-grid,.dnl-gallery-grid{grid-template-columns:1fr}
  .dnl-consult{padding:54px 0}
  .dnl-consult-grid{gap:26px}
  .dnl-consult h2{font-size:31px}
}
