/* DMS 11: existing identity, locally served typography, project detail layout. */
@font-face{font-family:Arimo;src:url('Arimo-VF.ttf') format('truetype');font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:'Roboto Condensed';src:url('RobotoCondensed-VF.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}
:root{--body:Arimo,Arial,sans-serif;--heading:'Roboto Condensed','Arial Narrow',Arial,sans-serif}
html{scrollbar-gutter:stable}
[tabindex='-1']:focus{outline:none}
.experience-link{margin-top:29px}
.hero h1{font-weight:350}
.service-row{grid-template-columns:25px minmax(0,1fr)}
.service-row h3{hyphens:auto;overflow-wrap:break-word}
.project-intro{padding-block:42px 46px;border-bottom:1px solid var(--rule);background:linear-gradient(112deg,#fdfefa,#faf8ec 52%,#edf6f6)}
.project-intro .back-link{margin-bottom:28px}
.project-intro h1{font-size:clamp(45px,5vw,66px);font-weight:350;max-width:920px}
.project-intro-text{max-width:765px;font-size:17px;line-height:1.85;margin-top:24px}
.project-sectors{display:flex;gap:32px;flex-wrap:wrap;margin-top:30px;font-size:12px}
.project-sectors a{display:flex;gap:17px;align-items:center;padding-block:7px;border-bottom:1px solid #acbcba}
.project-list{padding-block:16px 64px}
.project-case{display:grid;grid-template-columns:.7fr 1.5fr;gap:80px;padding-block:43px 39px;border-bottom:1px solid var(--rule);scroll-margin-top:116px}
.project-case:last-child{border-bottom:0;padding-bottom:0}
.case-label{font-size:11px;line-height:1.75;text-transform:uppercase;letter-spacing:.09em;color:#53676c;display:flex;gap:22px;padding-top:8px;max-width:290px}
.case-number{color:#50757a;font-size:12px;letter-spacing:0;font-variant-numeric:tabular-nums}
.case-content{min-width:0}
.case-location{font-size:11px;letter-spacing:.06em;color:#617174;margin-bottom:10px}
.case-content h2{font-size:clamp(32px,3.1vw,42px);max-width:780px}
.case-teaser{font-size:15px;line-height:1.85;margin-top:18px;max-width:760px}
.case-details{margin-top:20px;max-width:760px}
.case-details summary{cursor:pointer;list-style:none;display:inline-flex;gap:25px;align-items:center;color:#285965;font-size:12px;padding-block:9px;border-bottom:1px solid #a7babb;min-height:40px}
.case-details summary::-webkit-details-marker{display:none}
.case-details summary>span{font-size:20px;font-weight:400;line-height:1;transition:transform .15s}
.case-details[open] summary>span{transform:rotate(45deg)}
.case-detail-body{padding-top:23px}
.case-detail-body p{font-size:15px;line-height:1.9}
.case-detail-body p+p{margin-top:18px}
.case-figure{margin-top:26px;padding-top:21px;border-top:1px solid var(--rule)}
.case-figure img{display:block;width:100%;height:auto}
.case-figure figcaption{font-size:11px;line-height:1.7;color:#5c6b6d;margin-top:10px}
.additional-section{background:#f5f8f7;border-block:1px solid var(--rule);padding-block:58px 60px}
.additional-section .section-heading{gap:65px;margin-bottom:25px}
.additional-section .section-heading>p{max-width:580px}
.additional-row{display:grid;grid-template-columns:.9fr 1.35fr;gap:90px;border-top:1px solid var(--rule);padding-block:25px}
.additional-row:last-child{padding-bottom:0}
.additional-row h3{font-size:28px;max-width:310px}
.additional-row p{font-size:14px;line-height:1.9}
.project-contact{margin-block:0;padding-block:38px 46px;border-top:0}
.project-contact p{max-width:760px;line-height:1.8}
@media(max-width:1100px){.project-case{gap:45px;grid-template-columns:.64fr 1.5fr}.additional-row{gap:50px}.project-intro{padding-block:35px 40px}}
@media(max-width:900px){.project-case{gap:32px;grid-template-columns:.58fr 1.5fr}.case-label{display:block}.case-number{display:block;margin-bottom:11px}.additional-row{gap:37px}.project-sectors{gap:22px}.project-intro-text{font-size:16px}.case-content h2{font-size:34px}}
@media(max-width:680px){.project-intro{padding-block:28px 34px}.project-intro h1{font-size:43px}.project-intro-text{font-size:15px;margin-top:19px}.project-intro .back-link{margin-bottom:25px}.project-sectors{gap:12px 23px;font-size:11px;margin-top:23px}.project-list{padding-block:3px 42px}.project-case{display:block;padding-block:30px 29px}.case-label{display:flex;gap:14px;max-width:none;padding-top:0;font-size:10px;margin-bottom:18px}.case-number{margin:0;font-size:11px}.case-location{font-size:10px;margin-bottom:9px}.case-content h2{font-size:33px}.case-teaser{font-size:15px;margin-top:15px}.case-details{margin-top:15px}.case-detail-body p{font-size:14px}.additional-section{padding-block:39px 41px}.additional-row{display:block;padding-block:22px}.additional-row h3{font-size:28px;max-width:none}.additional-row p{margin-top:13px}.project-contact{padding-block:29px 38px}.profile-page-header h1{overflow-wrap:normal}.site-nav a{white-space:normal}}
@media(max-width:374px){.project-intro h1{font-size:38px}.case-content h2{font-size:30px}.case-label{letter-spacing:.06em}.case-location{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){.case-details summary>span{transition:none}}
@media print{.project-sectors,.project-intro .back-link{display:none}.project-intro{background:none;padding-block:20px}.project-intro h1{font-size:32pt}.project-case{padding-block:20px;gap:30px}.case-content h2{font-size:23pt}.case-teaser,.case-detail-body p{font-size:10pt}.case-details>summary{display:none}.case-details::details-content{content-visibility:visible}.case-detail-body{display:block}.additional-section{background:none;padding-block:20px}.additional-row{gap:30px;break-inside:avoid}.project-contact{padding-block:20px}.case-figure{break-inside:avoid}}

/* Decorative hero artwork has no editorial caption or slide label. */
.hero-visual img{margin-top:0}

.legal-short{display:block;max-width:740px}

/* Restrained, original portrait on the personal profile only. */
.profile-aside{min-width:0}
.profile-portrait{margin:0 0 30px;max-width:232px}
.profile-portrait img{display:block;width:100%;height:270px;object-fit:cover;object-position:50% 25%}
@media(max-width:680px){.profile-portrait{max-width:180px;margin-bottom:26px}.profile-portrait img{height:210px}.profile-page-grid{display:flex;flex-direction:column}.profile-aside{display:contents}.profile-portrait{order:-1}.profile-notes{margin-top:10px}}
