/* Content-led layout. Values and roles: design/tokens.json contentLayout. */
:root{--reading-sidebar:220px;--reading-gap:64px;--reading-title:28px;--reading-title-line:34px;--reading-measure:70ch;--reading-pad:40px;--soft:#e5e5de;--feature-pad:40px;--project-image:288px;--display:88px;--display-line:92px;--h1:64px;--h1-line:70px;--h2:48px;--h2-line:54px;--section:96px}
.hero,.hero-content{min-height:640px}.hero h1{max-width:1000px;letter-spacing:-3.2px}.hero-bottom{margin-top:40px}.hero-bottom p{max-width:480px}.hero-scroll .icon{width:20px;height:20px;transform:rotate(135deg)}
.intro-statement{padding-block:80px}.statement{font-size:48px;line-height:56px;letter-spacing:-1.6px}.statement-bottom{margin-top:40px}.page-intro{padding-block:40px 64px}.breadcrumb{margin-bottom:40px}.intro-composition{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:start}.intro-composition h1{max-width:15ch}.intro-composition .intro-bottom{display:block;margin:0}.intro-composition .lead{max-width:48ch}.intro-composition .button{margin-top:32px}.intro-standard .intro-composition{display:block}.intro-standard .intro-composition h1{max-width:22ch}.intro-standard .intro-bottom{margin-top:32px;max-width:760px}
.service-priorities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-bottom:48px}.service-feature{border-top:1px solid var(--line);padding:var(--feature-pad);background:var(--soft);color:var(--ink);display:flex;flex-direction:column;align-items:start;gap:24px;text-decoration:none}.service-feature h3{max-width:20ch}.service-feature p{font-size:18px;line-height:29px;max-width:52ch}.service-feature .text-link{margin-top:auto}.service-feature:hover .text-link{text-decoration:underline}.expertise .service-feature{background:var(--panel);border-color:var(--dark-line);color:var(--paper)}.expertise .service-feature p{color:var(--dim)}.expertise .service-feature .text-link{color:var(--paper)}.service-list .service-row{gap:40px;padding-block:32px}.service-list h3{font-size:28px;line-height:34px;letter-spacing:-.6px}.section-head{margin-bottom:48px}
.project-index{border-top:1px solid var(--line)}.project-spread{width:100%;margin:0;padding-block:40px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr) var(--project-image);gap:64px;align-items:center}.project-description{margin:0;display:flex;align-items:start;flex-direction:column;gap:24px}.project-description h3{margin-bottom:16px}.project-description p{max-width:60ch}.project-spread .project-art{width:100%;height:200px;padding:24px;background:var(--soft)}.project-spread.project-text{grid-template-columns:1fr}.project-text .project-description{flex-direction:row;align-items:center;justify-content:space-between;gap:64px}.project-text .project-description>div{max-width:760px}.project-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:40px}.project-actions .button.secondary{background:transparent;color:var(--ink)}.project-actions .button.secondary:hover{background:var(--soft)}
.article-layout{grid-template-columns:var(--reading-sidebar) minmax(0,1fr);gap:var(--reading-gap);padding-bottom:80px}.article{max-width:none;min-width:0}.article section{border-top:1px solid var(--line);padding-block:var(--reading-pad);scroll-margin-top:112px}.article section+section{margin-top:0}.article .section-content{display:grid;grid-template-columns:minmax(160px,.72fr) minmax(0,1.6fr);gap:40px;align-items:start}.article h2{font-size:var(--reading-title);line-height:var(--reading-title-line);letter-spacing:-.6px;margin:0;max-width:23ch}.article .prose{max-width:var(--reading-measure);min-width:0}.article .prose p{line-height:var(--body-line)}.article .section-emphasis{background:var(--soft);padding:32px;margin-block:16px;border:0}.article .section-emphasis .section-content{display:block}.article .section-emphasis h2{margin-bottom:24px;max-width:32ch}.article .section-emphasis .prose{max-width:70ch}.article a{text-decoration-thickness:1px;text-underline-offset:4px}.article-plain .section-content{display:block}.article-plain .article{max-width:70ch}.article-plain h2{margin-bottom:24px}.article .share{margin-top:24px}
.toc{top:112px;max-width:none;max-height:calc(100dvh - 144px);overflow:auto;padding-right:8px}.toc summary{font-weight:500;list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;margin-bottom:16px}.toc summary::-webkit-details-marker{display:none}.toc summary .icon{width:20px;height:20px;transform:rotate(90deg)}.toc details[open] summary .icon{transform:rotate(-90deg)}.toc nav{gap:4px}.toc nav a{display:block;padding:12px 0;min-height:44px;border-bottom:1px solid var(--line);line-height:24px}.toc a[aria-current=location]{color:var(--ink);font-weight:500}.toc-action{margin-top:24px;font-size:16px;line-height:24px;display:inline-flex;gap:16px;align-items:center;min-height:48px}.related>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.related h2{margin-bottom:32px}.related h3{font-size:24px;line-height:32px}.cta{padding-block:64px}.cta h2{font-size:40px;line-height:48px;letter-spacing:-1px}.cta-link{font-size:40px;line-height:48px;letter-spacing:-1px;padding-top:32px;margin-top:16px}.cta-link .icon{width:48px;height:48px}
.footer-grid{grid-template-columns:1.2fr 1fr 1fr;gap:64px;padding-block:48px}.footer-group h2{font-size:16px;line-height:24px;font-weight:500;letter-spacing:0;margin-bottom:24px;color:var(--dim)}.footer nav{gap:4px}.footer nav a{min-height:44px;display:flex;align-items:center}.footer-bottom{line-height:24px}.contact-layout{gap:64px}.contact-form{padding:40px;background:var(--soft)}.contact-form .field:first-of-type{margin-top:0}.contact-layout aside{align-self:start}.feedback{background:var(--soft)}
@media(max-width:1100px){:root{--reading-sidebar:200px;--reading-gap:40px;--display:72px;--display-line:76px;--feature-pad:32px;--project-image:240px}.intro-composition{gap:40px}.intro-composition h1{font-size:56px;line-height:62px;letter-spacing:-2px}.article .section-content{display:block}.article h2{max-width:30ch;margin-bottom:24px}.project-spread{gap:40px}.project-text .project-description{gap:40px}.footer-grid{gap:32px}.hero,.hero-content{min-height:600px}.header nav a.nav-secondary{display:flex}}
@media(min-width:901px){.toc summary .icon{display:none}.toc summary{pointer-events:none;cursor:default}.toc details:not([open])>nav{display:grid}}
@media(max-width:900px){.article-layout{grid-template-columns:minmax(0,1fr);gap:24px}.toc{position:static;max-height:none;overflow:visible;padding:0;border-block:1px solid var(--line)}.toc summary{margin:0;min-height:64px}.toc nav{display:grid;padding-bottom:16px}.toc-action{display:none}.intro-composition{grid-template-columns:minmax(0,1fr);gap:24px}.intro-composition h1{max-width:22ch}.intro-composition .lead{max-width:60ch}.related>div{grid-template-columns:minmax(0,1fr)}.project-text .project-description{align-items:start;flex-direction:column}.footer-grid{grid-template-columns:1fr 1fr;gap:40px}.footer-group:first-child{grid-row:span 2}.contact-layout{gap:40px}.contact-form{padding:32px}}
@media(max-width:760px){:root{--section:64px;--reading-pad:32px;--reading-title:26px;--reading-title-line:32px;--feature-pad:24px;--body:17px;--body-line:28px;--h1:38px;--h1-line:44px;--h2:34px;--h2-line:40px}.hero{display:flex;flex-direction:column;min-height:0}.hero-content{min-height:0;padding-block:40px;display:block}.hero h1{font-size:44px;line-height:48px;letter-spacing:-1.6px}.hero-bottom{margin-top:24px}.hero-bottom p{font-size:18px;line-height:28px;color:var(--dim);margin-bottom:24px}.hero-image{position:relative;inset:auto;height:240px;order:2;width:100%;animation:none}.hero-image img{object-position:65% 50%;mask-image:none;-webkit-mask-image:none}.hero-scroll{display:none}.intro-statement{padding-block:64px}.statement{font-size:32px;line-height:40px;letter-spacing:-1px}.statement-bottom{margin-top:32px}.page-intro{padding-block:32px 40px}.breadcrumb{margin-bottom:32px}.intro-composition h1{font-size:38px;line-height:44px;letter-spacing:-1.2px}.intro-composition .button{margin-top:24px}.intro-standard .intro-bottom{margin-top:24px}.service-priorities{grid-template-columns:minmax(0,1fr);gap:24px;margin-bottom:32px}.service-feature{gap:24px}.service-feature p{font-size:17px;line-height:28px}.service-list .service-row{gap:16px 24px;padding-block:24px}.service-list h3{font-size:26px;line-height:32px}.section-head{margin-bottom:32px;gap:24px}.project-spread{grid-template-columns:minmax(0,1fr);gap:24px;padding-block:32px}.project-spread .project-art{height:240px;order:-1}.project-description,.project-text .project-description{gap:24px}.project-description h3{font-size:32px;line-height:40px}.project-description p{font-size:17px;line-height:28px}.project-actions{align-items:stretch;gap:16px;margin-top:32px}.project-actions .button{width:100%}.article-layout{padding-bottom:64px}.article .section-emphasis{padding:24px;margin-block:8px}.article .prose p{line-height:28px}.article section{scroll-margin-top:104px}.article .share{width:100%}.related h2{font-size:26px;line-height:32px}.cta h2{font-size:34px;line-height:40px}.cta-link{font-size:32px;line-height:40px;gap:24px}.cta-link .icon{width:32px;height:32px}.footer-grid{grid-template-columns:minmax(0,1fr);gap:40px}.footer-group:first-child{grid-row:auto}.footer-group h2{margin-bottom:16px}.contact-form{padding:24px}.contact-form>.button{min-width:0}.contact-layout{gap:32px}}
@media(max-width:360px){.hero h1{font-size:40px;line-height:44px}.contact-form{padding:20px}}
@media(prefers-reduced-motion:reduce){.toc summary .icon{transition:none}}

/* Short content does not reserve a navigation column. */
.article-layout.article-compact{grid-template-columns:minmax(0,1fr)}

.portfolio-case .section-content{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px}.portfolio-case img{display:block;width:100%;height:auto;border:1px solid var(--line)}.portfolio-case h2{margin-bottom:24px;max-width:none}.portfolio-case .text-link{margin-top:24px}@media(max-width:900px){.portfolio-case .section-content{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}}
