:root{--navy:#1c2533;--navy-light:#283445;--paper:#f7f7f2;--white:#fff;--ink:#202a37;--muted:#556171;--blue:#b9d4e6;--line:#d9dddf;--dark-line:#414d5e;--font:Arial,Helvetica,sans-serif;--radius-small:8px;--radius-medium:12px;--radius-large:20px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{background:var(--paper);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;line-height:1.6}a{color:inherit;text-decoration:none}button,summary,a{-webkit-tap-highlight-color:transparent}a,button,summary{touch-action:manipulation}button{font:inherit;cursor:pointer}a,button,summary{transition:background .18s,color .18s,border-color .18s}a:focus-visible,button:focus-visible,summary:focus-visible{outline-offset:5px;outline:3px solid #4b8db6}a:hover{text-underline-offset:5px;text-decoration:underline}img{max-width:100%;height:auto;display:block}h1,h2,h3,p,figure{margin:0}h1,h2,h3{letter-spacing:-.045em;line-height:1.13}p{max-width:65ch}.wrap{width:min(1192px,100% - 96px);margin:auto}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:12px;font-weight:700}.skip{background:var(--white);z-index:5;padding:12px;position:absolute;top:-100px;left:20px}.skip:focus{top:8px}.dark{background:var(--navy);color:var(--white)}.site-header{border-bottom:1px solid var(--dark-line);justify-content:space-between;align-items:center;gap:28px;padding:28px 0;display:flex}.brand{flex-direction:column;min-width:180px;line-height:1.2;display:flex}.brand strong{letter-spacing:-.04em;font-size:22px}.brand span{letter-spacing:.13em;text-transform:uppercase;color:var(--blue);margin-top:7px;font-size:11px}.site-nav{align-items:center;gap:24px;font-size:14px;display:flex}.site-nav>a{align-items:center;min-height:44px;padding:10px 0;display:flex}.language{border-left:1px solid var(--dark-line);gap:2px;margin-left:6px;padding-left:18px;display:flex}.language button{border-radius:var(--radius-small);color:#acb6c5;background:0 0;border:0;min-width:44px;min-height:44px;font-size:12px}.language button[aria-pressed=true]{color:var(--white);text-underline-offset:6px;text-decoration:underline}.language button:hover{background:var(--navy-light)}.hero{grid-template-columns:1.3fr 1fr;align-items:center;gap:65px;padding:66px 0 58px;display:grid}.hero .eyebrow{color:var(--blue);letter-spacing:.12em;margin-bottom:23px;font-size:11px}h1{letter-spacing:-.048em;max-width:650px;font-size:clamp(42px,4.65vw,66px);font-weight:650;line-height:1.07}.accent{color:var(--blue)}.intro{color:#d2d9e2;max-width:520px;margin-top:26px;font-size:17px;line-height:1.65}.intro strong{color:var(--white);font-weight:500}.actions{flex-wrap:wrap;align-items:center;gap:24px;margin-top:28px;display:flex}.button{border-radius:var(--radius-medium);background:var(--blue);color:var(--navy);border:1px solid var(--blue);justify-content:space-between;align-items:center;gap:26px;min-height:50px;padding:13px 20px;font-size:14px;font-weight:700;display:inline-flex}.button:hover{background:#d2e5f0;border-color:#d2e5f0;text-decoration:none}.text-link{border-bottom:1px solid;align-items:center;gap:14px;min-height:44px;font-size:14px;display:inline-flex}.hero-portrait{margin-top:4px;position:relative}.hero-portrait img{aspect-ratio:1/1.13;object-fit:cover;object-position:50% 45%;border-radius:var(--radius-large);width:100%}.portrait-caption{color:#c2ccda;justify-content:space-between;gap:14px;padding-top:16px;font-size:12px;display:flex}.portrait-caption span:first-child{color:var(--white)}.hero-bottom{border-top:1px solid var(--dark-line);color:#bbc8d7;justify-content:space-between;gap:25px;padding:20px 0 24px;font-size:12px;display:flex}.hero-bottom span:last-child{color:var(--blue)}section.light{padding:84px 0}.section-top{justify-content:space-between;align-items:end;gap:40px;margin-bottom:36px;display:flex}.section-top .eyebrow{color:var(--muted);margin-bottom:15px}h2{font-size:clamp(30px,3vw,40px)}.section-top .text-link{white-space:nowrap}.section-lead{color:var(--muted);max-width:640px;margin-top:15px;font-size:15px}.projects{grid-template-columns:repeat(3,1fr);gap:28px;display:grid}.project{min-width:0}.project-image{border-radius:var(--radius-medium);border:1px solid var(--line);aspect-ratio:1.55;background:#e7edf1;display:block;overflow:hidden}.project-image img{object-fit:contain;width:100%;height:100%;transition:transform .22s}.project-image:hover img{transform:scale(1.025)}.project:nth-child(3) .project-image img{object-fit:cover;object-position:left top}.status{color:var(--muted);letter-spacing:.02em;margin:20px 0 10px;font-size:11px;font-weight:600}.project h3{letter-spacing:-.025em;font-size:23px}.project .description{color:var(--muted);margin-top:12px;font-size:14px;line-height:1.6}.project details{border-top:1px solid var(--line);margin-top:20px;font-size:14px}summary{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;min-height:48px;font-weight:600;list-style:none;display:flex}summary::-webkit-details-marker{display:none}summary:after{content:"+";font-size:20px;font-weight:400}details[open]>summary:after{content:"−"}.case-content{color:var(--muted);padding:4px 0 20px}.case-content p{margin-bottom:12px}.case-content strong{color:var(--ink);margin-bottom:3px;display:block}.case-content .text-link{color:var(--ink)}.approach{background:#e8edf0;padding:72px 0}.approach-top{grid-template-columns:1fr 1fr;align-items:center;gap:70px;margin-bottom:42px;display:grid}.approach .eyebrow{color:var(--muted);margin-bottom:15px}.approach-top p{color:var(--muted);font-size:16px}.steps{grid-template-columns:repeat(3,1fr);gap:40px;display:grid}.step{border-top:1px solid #b7c4ce;padding-top:20px}.number{color:#506c81;margin-bottom:18px;font-size:12px;display:block}.step h3{letter-spacing:-.025em;margin-bottom:12px;font-size:23px}.step p{color:var(--muted);font-size:14px}.about{grid-template-columns:1fr 1.55fr;gap:80px;display:grid}.about .eyebrow{color:var(--muted);margin-bottom:18px}.about h2{max-width:330px}.about-copy p{color:var(--muted);margin-bottom:20px;font-size:17px}.about-copy p:last-of-type{margin-bottom:12px}.about-copy strong{color:var(--ink);font-weight:500}.contact{padding:64px 0 30px}.contact-grid{justify-content:space-between;align-items:center;gap:48px;padding-bottom:52px;display:flex}.contact .eyebrow{color:var(--blue);margin-bottom:16px}.contact h2{max-width:560px;font-size:40px}.contact p{color:#c2ccda;max-width:570px;margin-top:18px;font-size:15px}.contact-actions{min-width:220px}.contact-actions .button{width:100%}.contact-actions .text-link{color:#d2d9e2;margin-top:15px}.site-footer{border-top:1px solid var(--dark-line);color:#bec9d7;justify-content:space-between;gap:20px;padding-top:22px;font-size:12px;display:flex}@media (min-width:1500px){.hero{padding-top:84px;padding-bottom:76px}}@media (max-width:1000px){.wrap{width:calc(100% - 64px)}.hero{grid-template-columns:1.25fr 1fr;gap:36px}.hero h1{font-size:48px}.hero .eyebrow{max-width:290px}.hero-portrait img{aspect-ratio:1/1.4}.site-nav{gap:16px}.projects{gap:20px}.about{gap:40px}.contact h2{font-size:34px}}@media (max-width:760px){.wrap{width:calc(100% - 40px)}.site-header{flex-wrap:wrap;gap:20px;padding:22px 0 12px}.brand{min-width:0}.brand strong{font-size:21px}.site-nav{justify-content:space-between;gap:10px;width:100%;font-size:13px}.language{margin-left:0;padding-left:7px}.hero{grid-template-columns:1fr;gap:36px;padding:42px 0 30px}.hero h1{max-width:580px;font-size:clamp(40px,8.6vw,58px)}.hero .eyebrow{max-width:none;font-size:10px}.hero-portrait{width:100%;max-width:520px}.hero-portrait img{aspect-ratio:1.16;object-position:50% 37%}.hero-bottom{flex-direction:column;gap:6px;padding:18px 0}.intro{font-size:16px}.actions{gap:20px}.section-top{display:block}.section-top>.text-link{margin-top:15px}.projects{grid-template-columns:1fr;gap:40px}.project-image{aspect-ratio:1.6}.project h3{font-size:25px}.status{font-size:12px}.project .description{font-size:16px}.project details{font-size:15px}.approach-top,.steps,.about{grid-template-columns:1fr;gap:26px}.approach-top{margin-bottom:28px}.steps{gap:28px}.step p{font-size:16px}.number{margin-bottom:10px}.approach,section.light{padding:54px 0}.about h2{max-width:450px}.about-copy p{font-size:16px}.contact-grid{padding-bottom:38px;display:block}.contact-actions{margin-top:28px}.contact-actions .button{width:auto}.contact-actions .text-link{width:max-content;display:flex}.contact{padding-top:50px}.site-footer{flex-direction:column;gap:6px}h2{font-size:32px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important}}:root{--bg-primary:var(--paper);--bg-secondary:#e8edf0;--text-primary:var(--ink);--text-secondary:var(--muted);--border-subtle:var(--line);--gray-500:var(--muted);--gray-600:var(--muted);--bg-info:#e8edf0;--border-info:#8aa5ba;--text-info-label:#3d586c;--text-info-main:var(--ink);--spacing-2:.5rem;--spacing-3:.75rem;--spacing-4:1rem;--spacing-6:1.5rem;--spacing-8:2rem;--spacing-10:2.5rem;--spacing-12:3rem;--spacing-16:4rem}main{min-height:60vh}.site-nav a,.brand,.button,.text-link{text-decoration:none}.site-nav a:hover,.text-link:hover{text-decoration:underline}.page-wrap{width:min(1192px,100% - 96px);margin:auto;padding:64px 0 80px}.page-wrap p{margin-bottom:1rem}.page-wrap h1{max-width:900px}.page-wrap a{text-underline-offset:5px}.page-wrap li{margin-left:1.5rem}h2{white-space:pre-line}.site-footer{padding-bottom:0}.contact .eyebrow{font-size:12px}.about-page{grid-template-columns:1.4fr 1fr;gap:72px;display:grid}.about-page h1{margin:16px 0 36px}.about-page p{color:var(--muted);font-size:18px;line-height:1.75}.about-page .eyebrow{font-size:12px}.about-page img{border-radius:var(--radius-large);width:100%}.about-portrait{align-self:start;position:sticky;top:32px}.reading-page{max-width:800px}.reading-page h1{font-size:clamp(32px,4vw,52px)}.page-wrap :is(a,summary):focus-visible{outline-offset:5px;outline:3px solid #4b8db6}.page-wrap table{max-width:100%;display:block;overflow-x:auto}.page-wrap pre{max-width:100%;overflow-x:auto}.page-wrap img{border-radius:var(--radius-medium)}.about-page img{border-radius:var(--radius-large)}@media (max-width:1000px){.page-wrap{width:calc(100% - 64px)}.about-page{gap:40px}}@media (max-width:760px){.page-wrap{width:calc(100% - 40px);padding:42px 0 54px}.about-page{grid-template-columns:1fr}.about-portrait{max-width:460px;position:static}.about-page p{font-size:16px}.site-nav{flex-wrap:wrap}.site-nav>a{flex-shrink:0}.site-nav .language{margin-left:auto}}
