/* v4: internal pages in the approved visual system. */
html:has(.inner){scroll-behavior:smooth;scroll-padding-top:28px}
.inner{background:#fff;color:var(--dark);font-size:16px;line-height:1.65}
.inner .header-shell{background:var(--dark);color:#fff}
.inner .header{max-width:1440px;margin-inline:auto}
.inner .nav a{min-height:44px;display:flex;align-items:center}
.inner .brand-label{line-height:1.45}
.inner .breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;color:var(--gray);padding-block:26px}
.inner .breadcrumbs a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px}
.inner .breadcrumbs [aria-current]{color:var(--dark)}
.inner h1{font-size:clamp(64px,7.1vw,96px);line-height:1;letter-spacing:-.035em;text-wrap:balance}
.inner h2{font-size:clamp(40px,4.2vw,64px);line-height:1.06;letter-spacing:-.025em;text-wrap:balance}
.inner h3{font-size:30px;line-height:1.15;letter-spacing:-.01em}
.inner .button{max-width:100%;white-space:normal;text-align:center}
.inner .intro-copy{font-size:20px;line-height:1.55;max-width:32ch}
.inner .inner-section{padding-block:88px}
.inner .inner-heading{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:end;margin-bottom:48px}
.inner .inner-heading p{max-width:42ch;color:var(--gray)}
.business-hero{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center;padding:12px 0 64px}
.business-hero .hero-text h1{margin-bottom:28px}
.business-hero .button{margin-top:30px}
.business-hero figure{align-self:stretch;min-height:410px}
.business-hero img{height:100%;width:100%;object-fit:cover;object-position:56% center}
.inner .page-nav{display:flex;gap:36px;flex-wrap:wrap;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding-block:12px}
.inner .page-nav a{min-height:44px;display:inline-flex;align-items:center;font-size:15px}
.inner .page-nav a:hover{text-decoration:underline;text-underline-offset:6px}
.format-list{margin:0}
.format-row{display:grid;grid-template-columns:1fr 1fr;gap:64px;border-top:1px solid var(--rule);padding-block:32px}
.format-row:last-child{border-bottom:1px solid var(--rule)}
.format-row dt{font-family:var(--display);font-size:34px;line-height:1.16;max-width:24ch}
.format-row dd{margin:0}
.format-row h3{font-family:var(--body);font-size:18px;line-height:1.5;margin-bottom:10px}
.format-row p{color:var(--gray);max-width:47ch}
.inner-dark{background:var(--dark);color:white}
.inner .inner-dark .inner-heading p{color:#d8ded7}
.scope-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px 64px}
.scope-grid article{border-top:1px solid var(--dark-rule);padding-top:25px}
.scope-grid h3{color:var(--green);margin-bottom:17px}
.scope-grid p{max-width:48ch;color:#d8ded7}
.portfolio-example{background:#f3f5f0}
.example-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:center}
.example-grid figure img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.example-copy h3{font-size:40px;margin-bottom:20px}
.example-copy p{max-width:38ch;color:var(--gray)}
.example-copy .inline-link{margin-top:18px}
.inner .question-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}
.question-section .section-intro p{margin-top:23px;max-width:33ch;color:var(--gray)}
.inner .faq-list{border-top:1px solid var(--dark)}
.inner .faq-item summary{font-size:17px;line-height:1.5;padding-block:24px;min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:24px;cursor:pointer;list-style:none}
.inner summary::-webkit-details-marker{display:none}
.inner .faq-item .detail-body{padding:0 44px 25px 0}
.inner .faq-item .detail-body p{color:var(--gray)}
.inner .faq-item[open] .expand:after{transform:rotate(0)}
.inner .case-heading{display:grid;grid-template-columns:1.2fr 1fr;align-items:end;gap:64px;padding:14px 0 48px}
.inner .case-heading .intro-copy{max-width:32ch}
.project-photo{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}
.project-facts{display:grid;grid-template-columns:.75fr .75fr 1.5fr;gap:40px;margin:0;padding-block:36px;border-bottom:1px solid var(--rule)}
.project-facts dt{font-size:13px;color:var(--gray);margin-bottom:12px}
.project-facts dd{font-size:19px;line-height:1.5;margin:0}
.project-description{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;padding-block:64px;border-bottom:1px solid var(--rule)}
.inner .project-description h2{font-size:44px}
.project-story{max-width:65ch}
.project-story p+p{margin-top:24px}
.inner .project-story .story-lead{font-size:22px;line-height:1.5}
.project-story p:not(.story-lead){font-size:17px;line-height:1.75;color:var(--gray)}
.inner .demo-note{font-size:12px;line-height:1.5;color:var(--muted);margin-top:18px;padding-left:12px;border-left:3px solid var(--green)}
.project-links{display:flex;justify-content:space-between;gap:30px;align-items:center;padding-block:40px 64px}
.project-links .inline-link{font-size:15px}
.project-links p{color:var(--gray);font-size:14px;max-width:34ch}
.direction-more{border-top:1px solid var(--rule);background:#f3f5f0;padding-block:42px}
.direction-more .wrap{display:flex;justify-content:space-between;gap:40px;align-items:center}
.direction-more h2{font-size:32px}
.direction-more p{color:var(--gray);margin-top:10px}
.direction-more .inline-link{flex-shrink:0}
.inner .contact-intro h2{font-size:clamp(42px,4.2vw,64px)}
.inner .footer h2,.inner .footer h3{font-size:inherit}
.inner a:focus-visible,.inner summary:focus-visible{outline:2px solid currentColor;outline-offset:5px}
@media(min-width:1440px){.business-hero figure{min-height:455px}}
@media(max-width:1000px){
 .business-hero{gap:36px;grid-template-columns:1fr 1fr}.business-hero figure{min-height:370px}
 .inner .intro-copy{font-size:18px}.inner .inner-heading,.format-row,.scope-grid,.example-grid{gap:36px}
 .inner .question-section{gap:40px;grid-template-columns:1fr 1.3fr}
 .inner .case-heading{gap:40px}.project-facts{gap:24px}
}
@media(max-width:700px){
 .inner .breadcrumbs{padding-block:12px;font-size:12px;gap:8px}
 .inner h1{font-size:clamp(57px,13vw,78px)}.inner h2{font-size:42px}.inner h3{font-size:28px}
 .inner .inner-section{padding-block:56px}
 .business-hero{grid-template-columns:1fr;gap:32px;padding:12px 0 32px}
 .business-hero figure{min-height:0;aspect-ratio:4/3}.business-hero .hero-text h1{margin-bottom:22px}
 .business-hero .button{margin-top:24px;white-space:normal;text-align:center}
 .inner .page-nav{gap:4px 24px;padding-block:10px}.inner .page-nav a{font-size:14px}
 .inner .inner-heading{grid-template-columns:1fr;gap:24px;margin-bottom:32px}
 .format-row{grid-template-columns:1fr;gap:20px;padding-block:26px}.format-row dt{font-size:30px;max-width:24ch}
 .format-row h3{font-size:17px}.scope-grid{grid-template-columns:1fr;gap:30px}
 .example-grid{grid-template-columns:1fr;gap:28px}.example-copy h3{font-size:34px}
 .inner .question-section{grid-template-columns:1fr;gap:32px}.inner .faq-item summary{font-size:16px}
 .inner .case-heading{grid-template-columns:1fr;gap:24px;padding:12px 0 32px}
 .project-facts{grid-template-columns:1fr;gap:24px;padding-block:28px}.project-facts dt{margin-bottom:7px}
 .project-description{grid-template-columns:1fr;gap:26px;padding-block:40px}.inner .project-description h2{font-size:36px}
 .inner .project-story .story-lead{font-size:20px}.project-story p:not(.story-lead){font-size:16px}
 .project-links{align-items:flex-start;flex-direction:column;gap:10px;padding-block:26px 40px}
 .direction-more .wrap{flex-direction:column;align-items:flex-start;gap:12px}.direction-more h2{font-size:30px}
 .inner .menu nav a{min-height:44px}.inner .contact-intro h2{font-size:42px}
}
@media(prefers-reduced-motion:reduce){html:has(.inner){scroll-behavior:auto}}
