/* Shared Perspectives refinement layer: page-specific composition, shared details.
 * No copy duplication, animation, hidden content, or client-data dependencies. */

/* A predictable link language and comfortable targets across the four pages. */
.ddl-perspectives .text-link{min-height:2.75rem;line-height:1.55;gap:1rem;max-width:100%}
.ddl-perspectives .text-link .arrow{width:2.4rem;height:2.4rem;flex:0 0 2.4rem;display:inline-grid;place-items:center;background:#e9edf6;border:1px solid transparent;font-size:1.35rem}
.ddl-perspectives .text-link:hover .arrow,.ddl-perspectives .text-link:focus-visible .arrow{background:var(--blue);border-color:currentColor}
.ddl-perspectives :is(.approach,.ddl-project-entry:first-child) .text-link .arrow{background:#244d52;color:var(--aqua);border-color:#597d80}
.ddl-perspectives :is(.approach,.ddl-project-entry:first-child) .text-link:hover .arrow{background:var(--aqua);color:var(--ink)}
.ddl-perspectives :is(.hero,.approach,.site-footer,.project-small,.ddl-project-heading){overflow:clip}
.ddl-inner-page .ddl-angled-word{max-width:100%;overflow-wrap:anywhere}
.ddl-perspectives :is(.desktop-nav,.footer-navigation,.mobile-menu nav) a:is([aria-current="page"],:hover){text-decoration:none}
.ddl-perspectives :is(.desktop-nav,.footer-navigation,.mobile-menu nav) a:is([aria-current="page"],:hover) .nav-label{text-decoration:underline;text-underline-offset:.45em;text-decoration-thickness:1px}
.desktop-nav .nav-contact{font-weight:750}
/* Five primary destinations now need the compact menu a little earlier. */
@media(max-width:1000px){.desktop-nav{display:none}.menu-toggle{display:flex}}
.back-top{min-height:2.75rem}
.footer-navigation a{gap:1rem}
.footer-navigation a:hover .arrow,.footer-navigation a:focus-visible .arrow{background:#285256}
.footer-navigation .arrow{display:inline-grid;place-items:center;width:2.4rem;min-height:2.4rem;flex:0 0 2.4rem}

/* Mobile navigation is a deliberate screen, not a smaller desktop menu. */
.mobile-menu{background:#f6f8f6;isolation:isolate}
.mobile-menu:after{content:'';position:absolute;inset:auto 0 0 40%;height:29%;z-index:-1;pointer-events:none;background:#e6def7;clip-path:polygon(45% 0,100% 0,100% 100%,0 100%)}
.mobile-menu nav a{gap:1rem;padding:1.15rem 0;line-height:1.3}
.mobile-menu .nav-index{font-size:var(--ddl-text-min);letter-spacing:.08em;align-self:center;color:var(--muted)}
.mobile-menu nav a .arrow{margin-left:auto;width:2.75rem;height:2.75rem;flex:0 0 2.75rem;display:grid;place-items:center;background:#e5e0f2;text-decoration:none}
.mobile-menu nav a[aria-current="page"]{font-weight:750}

/* Home retains its approved hero and prism; supporting sections gain definition. */
.ddl-home .project-small{display:flex;flex-direction:column;border-left:3px solid #78cdda;padding:2.2rem 2.4rem}
.ddl-home .project-small:last-child{border-left-color:#32a6a8}
.ddl-home .project-small>.kicker{padding-right:2.5rem}
.ddl-home .project-small .summary{margin-bottom:1.25rem}
.ddl-home .project-small .text-link{align-self:flex-start;margin-top:auto}
.ddl-home .project-body .text-link{margin-top:auto;padding-top:1.3rem}
.ddl-home .project-small .arrow{background:#d1eaf0}
.ddl-home .project-small:last-child .arrow{background:#d4e8e2}
.ddl-home .capability-item{grid-template-columns:3.25rem 1fr;gap:1.35rem;padding-block:1.45rem}
.ddl-home .capability-item svg{width:3.25rem;height:3.25rem;padding:.8rem;background:#e8e1f5;box-sizing:border-box}
.ddl-home .capability-item:nth-child(2) svg{background:#e0ecf4}
.ddl-home .capability-item:nth-child(3) svg{background:#dcefed}
.ddl-home .capability-item:nth-child(4) svg{background:#e6eee8}
.ddl-home .team{background:#f5f7f5;box-shadow:0 0 0 100vmax #f5f7f5;clip-path:inset(0 -100vmax)}
.ddl-home .people{gap:1.35rem}
.ddl-home .person{position:relative;isolation:isolate;padding:2rem 1.8rem 1.8rem;border:1px solid #cedad8;border-top:3px solid #b493ee;background:white}
.ddl-home .person:nth-child(2){border-top-color:#6fc5d3}
.ddl-home .person:nth-child(3){border-top-color:#36aaaa}
.ddl-home .person:before{content:'';position:absolute;left:auto;right:0;top:0;width:2.5rem;height:2.5rem;background:#e8def7;clip-path:polygon(100% 0,100% 100%,0 0);z-index:-1}
.ddl-home .person:nth-child(2):before{background:#d5edf2}
.ddl-home .person:nth-child(3):before{background:#cfe9e3}
.ddl-home .person h3{font-size:clamp(1.35rem,1.8vw,1.7rem);padding-right:.65rem}
.ddl-home .person .role{margin-top:1.45rem;padding-top:1rem;border-top:1px solid #dce4e2}

/* Projects: a clear contents rail followed by substantial, readable chapters. */
.ddl-project-heading{background:linear-gradient(180deg,#fff 35%,#f5f7f6);padding-bottom:0}
.ddl-project-heading:after{opacity:.65;right:-50px;bottom:90px}
.ddl-project-heading .ddl-prose{max-width:780px}
.ddl-project-disciplines{display:grid;grid-template-columns:1fr .8fr 1.4fr;gap:0;margin-top:2.7rem;padding:0;border:0}
.ddl-project-disciplines p{display:flex;align-items:center;min-height:5rem;max-width:none;padding:1.3rem 1.65rem!important;border:0;background:#e5dcf5;position:relative;letter-spacing:.065em}
.ddl-project-disciplines p:nth-child(2){background:#d7eef2}
.ddl-project-disciplines p:nth-child(3){background:#cceae6}
.ddl-project-index{padding-block:2.1rem 0;border:0}
.ddl-project-index>.kicker{margin-bottom:1rem}
.ddl-project-index ul{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;border:1px solid #b7ccca}
.ddl-project-index li+li{border-left:1px solid #b7ccca}
.ddl-project-index a{display:grid;grid-template-columns:1fr auto;gap:.55rem .75rem;min-height:6.7rem;height:100%;padding:1.1rem 1.2rem;border:0;background:#fff;text-decoration:none}
.ddl-project-index a span{font-family:var(--font)}
.ddl-project-index a .ddl-index-number{grid-column:1/-1;font-size:var(--ddl-text-min);letter-spacing:.08em;color:#49656a}
.ddl-project-index a .ddl-index-label{font-size:.9rem;line-height:1.4;font-weight:750;text-decoration:underline;text-underline-offset:.3em;text-decoration-thickness:1px;min-width:0;overflow-wrap:anywhere}
.ddl-project-index a .ddl-index-arrow{font-size:1.1rem;align-self:center}
.ddl-project-index a:hover{background:#e9e1f6;text-decoration:none}
.ddl-project-index a:focus-visible{position:relative;z-index:1}
.ddl-project-list{padding-block:2.5rem 4rem}
.ddl-project-entry{--project-tint:#eee8f8;--project-accent:#aa83e6;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:0;border:1px solid #cfdbd9;padding:0;margin-bottom:1.75rem;background:#fff}
.ddl-project-entry--1{--project-tint:#e6f2f4;--project-accent:#70c2ce}
.ddl-project-entry--2{--project-tint:#e5f0eb;--project-accent:#45aaa5}
.ddl-project-entry:last-child{border-bottom:1px solid #cfdbd9;margin-bottom:0}
.ddl-project-identity{display:flex;flex-direction:column;background:var(--project-tint)!important;padding:2rem 2.1rem 2.2rem;min-height:0;overflow:clip;border-top:4px solid var(--project-accent)}
.ddl-project-identity:before{inset:0 0 auto auto!important;width:4.5rem!important;height:4.5rem!important;background:var(--project-accent)!important;opacity:.45;clip-path:polygon(0 0,100% 0,100% 100%)}
.ddl-project-number{font-size:var(--ddl-text-min);letter-spacing:.09em;margin-bottom:2.15rem;color:#48646a}
.ddl-project-tags{padding-right:1rem}
.ddl-project-identity h2{font-size:clamp(2rem,3vw,3rem);line-height:1.12;margin-block:.65rem 1.4rem;overflow-wrap:anywhere;word-break:normal}
.ddl-project-attribution{margin-top:auto;max-width:34ch;font-size:var(--ddl-text-min);line-height:1.7}
.ddl-project-attribution span{font-size:var(--ddl-text-min);letter-spacing:.09em;margin-bottom:.4rem}
.ddl-project-facet{display:none}
.ddl-project-description{padding:2.25rem 2.5rem;align-self:stretch}
.ddl-project-description .ddl-prose{font-size:1rem;line-height:1.8;max-width:68ch}
.ddl-role{border:0;border-left:3px solid var(--project-accent);padding:1.15rem 1.35rem;margin-block:1.4rem;background:var(--project-tint)}
.ddl-role h3{font-size:var(--ddl-text-min);letter-spacing:.08em}
.ddl-role p{font-size:.93rem;line-height:1.8}
.ddl-project-entry:first-child{border:0;padding:2.5rem;gap:5%;margin-bottom:1.75rem;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.ddl-project-entry:first-child .ddl-project-identity{background:transparent!important;border:0;padding:0 0 5rem;display:block;min-height:0}
.ddl-project-entry:first-child .ddl-project-identity:before{inset:auto -4rem -1rem 0!important;width:auto!important;height:13rem!important;background:url('../images/prism-network.svg') center/contain no-repeat!important;opacity:.75;clip-path:none}
.ddl-project-entry:first-child .ddl-project-number{color:#c5adfa}
.ddl-project-entry:first-child .ddl-project-identity h2{font-size:clamp(2.4rem,4vw,4rem);margin-bottom:1.8rem}
.ddl-project-entry:first-child .ddl-project-description{padding:0}
.ddl-project-entry:first-child .ddl-role{background:#21494e}
.ddl-project-entry:first-child .ddl-project-attribution{margin-top:0;max-width:34ch}

/* Contact: a clear writing surface, generous fields, no competing footer CTA. */
.ddl-contact-layout{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:7%;padding-block:4.5rem 5rem}
.ddl-contact-intro{padding-top:.5rem}
.ddl-contact-intro>.ddl-prose{max-width:39ch}
.ddl-contact-art{min-height:285px;margin-top:2.4rem;overflow:clip}
.ddl-contact-links{display:grid;grid-template-columns:1fr;margin-top:1rem;gap:0}
.ddl-contact-links .text-link{justify-content:space-between;border-bottom:1px solid var(--line);padding:.85rem 0;max-width:none}
.ddl-contact-links .text-link .arrow{background:#e2eceb}
.ddl-form-panel{position:relative;isolation:isolate;background:#f1f5f3;border:1px solid #ccd9d5;border-top:4px solid var(--ink);padding:2.4rem 2.5rem}
.ddl-form-panel:before{content:'';position:absolute;inset:0 0 auto auto;width:3.5rem;height:3.5rem;background:var(--aqua);clip-path:polygon(0 0,100% 0,100% 100%);z-index:-1}
.ddl-form-panel h2{padding-right:1rem;font-size:2rem}
.ddl-form-note{font-size:var(--ddl-text-min);max-width:43ch;line-height:1.75;margin-bottom:2rem}
.ddl-form-panel .forminator-row{margin-bottom:1.65rem!important}
.ddl-form-panel .forminator-radio{border:1px solid #8da4a3;background:#fff;padding:.65rem 1rem!important;margin-right:.65rem!important;margin-bottom:.4rem!important;gap:.6rem;min-width:5.5rem;pointer-events:auto!important}
.ddl-form-panel .forminator-radio:has(input:checked){background:#e4ddf3;border-color:#624687;box-shadow:inset 0 0 0 1px #624687}
.ddl-form-panel .forminator-radio-label{margin-left:0!important}
.ddl-form-panel .forminator-button-submit{min-width:100%!important;min-height:3.65rem!important}
.ddl-form-panel .forminator-description{font-size:var(--ddl-text-min)!important}
.ddl-form-panel .forminator-edit-module{display:inline-block;margin-top:1rem}
.site-footer--compact .footer-top{display:block;padding-block:2.5rem}
.site-footer--compact:before{display:none}
.site-footer--compact .footer-navigation{max-width:none}
.site-footer--compact .footer-navigation ul{display:flex;flex-wrap:wrap;gap:0 clamp(1rem,2vw,2rem);border:0}
.site-footer--compact .footer-navigation li{flex:1 1 max-content;min-width:0;border:0}
.site-footer--compact .footer-navigation a{gap:clamp(.5rem,1vw,1rem);font-size:clamp(.88rem,1.15vw,1.04rem)}
.site-footer--compact .footer-navigation a[aria-current="page"]{font-weight:700;color:#d4c3ff;text-decoration:none}
.ddl-perspectives .site-footer--compact .footer-navigation a[aria-current="page"] .nav-label{text-decoration:none}
.ddl-perspectives .site-footer--compact .footer-navigation a:hover .nav-label{text-decoration:underline;text-underline-offset:.35em}
.site-footer--compact .footer-navigation .arrow{width:clamp(1.8rem,2.5vw,2.4rem);flex-basis:clamp(1.8rem,2.5vw,2.4rem)}
.site-footer--compact .footer-navigation .kicker{margin-bottom:1rem}
.site-footer--compact .footer-signoff{padding-block:2rem;border:0}
.site-footer--compact .footer-identity>p{border:0;padding-left:0}

@media(max-width:1100px){
 .ddl-contact-layout{gap:5%;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
 .ddl-form-panel{padding:2rem 1.6rem}
 .ddl-project-description{padding:2rem}
 .ddl-project-identity{padding:1.8rem}
 .ddl-project-index a{padding:1rem .85rem}
 .ddl-home .project-small{padding:1.8rem}
 .ddl-home .person{padding:1.6rem 1.3rem}
}
@media(max-width:900px){
 .ddl-contact-layout{grid-template-columns:minmax(0,1fr);gap:2.5rem;padding-block:3rem}
 .ddl-contact-intro{display:block;min-width:0}
 .ddl-contact-intro>.ddl-prose{max-width:60ch}
 .ddl-contact-intro>h1{font-size:3.6rem}
 .ddl-contact-art{display:none}
 .ddl-contact-links{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}
 .ddl-form-panel{padding:2rem}
 .ddl-project-index ul{grid-template-columns:repeat(3,minmax(0,1fr))}
 .ddl-project-index li:nth-child(4){border-left:0}
 .ddl-project-index li:nth-child(n+4){border-top:1px solid #b7ccca}
 .ddl-project-entry{grid-template-columns:minmax(0,1fr)}
 .ddl-project-entry:first-child{grid-template-columns:1fr;gap:1.75rem;padding:2rem}
 .ddl-project-entry:first-child .ddl-project-identity{padding:0 0 1.6rem;border-bottom:1px solid #547477}
 .ddl-project-entry:first-child .ddl-project-identity:before{display:none}
 .ddl-project-entry:first-child .ddl-project-identity h2{font-size:3rem;margin-bottom:1.3rem}
 .ddl-project-identity h2{font-size:2rem}
}
@media(max-width:820px){
 .site-footer--compact .footer-navigation ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.5rem}
}
@media(max-width:700px){
 .ddl-project-heading{padding-block:2.5rem 0}
 .ddl-project-disciplines{grid-template-columns:1fr;margin-top:2rem}
 .ddl-project-disciplines p{min-height:3.25rem;padding:1rem 1.2rem!important}
 .ddl-project-index{padding-top:1.75rem}
 .ddl-project-index ul{grid-template-columns:1fr 1fr}
 .ddl-project-index li:nth-child(n){border:0}
 .ddl-project-index li:nth-child(even){border-left:1px solid #b7ccca}
 .ddl-project-index li:nth-child(n+3){border-top:1px solid #b7ccca}
 .ddl-project-index li:last-child:nth-child(odd){grid-column:1/-1}
 .ddl-project-index a{min-height:5.8rem;padding:1rem}
 .ddl-project-list{padding-block:1.75rem 2.75rem}
 .ddl-project-entry{grid-template-columns:1fr;gap:0;margin-bottom:1.4rem}
 .ddl-project-identity{padding:1.5rem;min-height:0}
 .ddl-project-number{margin-bottom:1.2rem}
 .ddl-project-identity h2{font-size:2.4rem;margin-bottom:1rem}
 .ddl-project-attribution{max-width:100%}
 .ddl-project-description{padding:1.5rem}
 .ddl-project-entry:first-child{padding:1.6rem;gap:1.5rem;margin-bottom:1.4rem}
 .ddl-project-entry:first-child .ddl-project-identity{padding:0 0 1.6rem}
 .ddl-project-entry:first-child .ddl-project-identity:before{display:none}
 .ddl-project-entry:first-child .ddl-project-identity h2{font-size:clamp(2.1rem,8vw,3rem)}
 .ddl-role{padding:1rem;margin-block:1.3rem}
 .ddl-home .people{grid-template-columns:1fr;gap:1rem}
 .ddl-home .person{padding:1.6rem}
 .ddl-home .person .role{margin-top:1rem;padding-top:.85rem}
 .ddl-home .project-small{padding:1.7rem}
}
@media(max-width:600px){
 .ddl-contact-intro{display:block}
 .ddl-contact-intro>h1{font-size:3.6rem}
 .ddl-contact-art{display:none}
 .ddl-contact-links{display:grid;grid-template-columns:1fr;gap:0;margin-top:1rem}
 .ddl-contact-layout{padding-block:2.7rem;gap:2rem}
 .ddl-form-panel{padding:1.5rem 1.15rem}
 .ddl-form-panel h2{font-size:1.65rem}
 .ddl-form-panel .forminator-row{margin-bottom:1.4rem!important}
 .ddl-home .capability-item{grid-template-columns:2.75rem 1fr;gap:1rem}
 .ddl-home .capability-item svg{width:2.75rem;height:2.75rem;padding:.65rem}
 .site-footer--compact .footer-navigation ul{grid-template-columns:1fr;gap:0}
 .site-footer--compact .footer-navigation a{font-size:1rem}
 .mobile-menu nav a{font-size:clamp(1.2rem,5vw,1.5rem);gap:.75rem}
}
@media(forced-colors:active){
 .ddl-home .team{box-shadow:none;clip-path:none}
 .mobile-menu:after,.ddl-form-panel:before,.ddl-home .person:before{display:none}
 .ddl-perspectives .text-link .arrow,.ddl-home .person,.ddl-project-entry,.ddl-form-panel,.ddl-project-index ul,.ddl-project-index li{border-color:CanvasText}
 .ddl-form-panel .forminator-radio:has(input:checked){outline:2px solid Highlight;box-shadow:none}
}
