/* Homepage typography and project layout on a plain white canvas. */
.hero{padding-block:100px 115px;max-width:1100px}
.hero h1{font-size:clamp(35px,4.2vw,58px);line-height:1.32}
.hero .eyebrow{color:#111;font-size:12px;margin-bottom:22px;letter-spacing:.1em}
.hero-description{font-size:17px;line-height:1.8;margin-top:22px;color:#111}
/* Two projects remain visible side by side; the prose above stays on one axis. */
.work-section>.wrap{max-width:1160px}
.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:65px 35px}
.project-story{margin:0;border:1px solid #dedede;border-radius:14px;padding:26px;min-width:0}
.project-card{display:flex;flex-direction:column;height:100%}
.project-caption{margin-bottom:25px;flex:1}
.project-card>.project-caption{margin:24px 0 0}
.project-caption h3{font-size:28px;margin-block:15px 20px}
.project-caption .project-problem{font-size:15px;line-height:1.8}
.project-caption .project-solution{font-size:18px;line-height:1.7;margin-top:10px}
.project-more{font-size:12px}
.project-visual{height:305px;padding:35px 23px 0;border-radius:8px;background:transparent}
.project-visual.schedule img{width:260px}.project-visual.mobile img{width:195px}
.project-card>.project-visual{padding:18px;align-items:center;flex:none}
.project-card>.project-visual.desktop img{width:100%;height:auto;max-width:100%;max-height:100%;object-fit:contain;margin:0 auto}
.project-card>.project-visual.schedule img,.project-card>.project-visual.mobile img{width:auto;height:100%;max-width:100%;max-height:100%;object-fit:contain;margin:0 auto}
.project-card>.project-visual.paired-screens{gap:16px}
.project-card>.project-visual.paired-screens img{max-width:calc(50% - 8px);min-width:0;border-radius:7px}
.work-caption{margin:40px 0 65px}
.hero .actions{margin-top:36px}
.hero-aside{font-size:12px;color:#666;margin-top:18px}
.modular-art{display:block;background:transparent}
.modular-art img{display:block;width:100%;height:auto}
.hero-art{width:min(100%,1040px);margin:64px auto 0}
.hero-art img{aspect-ratio:20/7}
.section-art{width:min(100%,540px);margin:44px 0 0}
.section-index{font-size:12px;font-weight:550;letter-spacing:.04em;color:#666!important;margin:0 0 28px!important}
.situation-list,.system-concepts,.delivery-list,.education-options{margin-top:60px}
.situation-list article,.system-concepts article,.delivery-list article,.education-options article{border-top:1px solid #e5e5e5;padding:30px 0}
.situation-list h3,.system-concepts h3,.delivery-list h3,.education-options h3{font-size:25px;line-height:1.55;font-weight:600}
.story-block .situation-list p,.story-block .system-concepts p:not(.concept-name),.story-block .delivery-list p:not(.concept-name),.story-block .education-options p{font-size:17px;line-height:1.9;margin-top:14px;color:#555}
.story-block p.concept-name{font-size:12px;color:#666;margin:0 0 14px;letter-spacing:.02em}
.story-block p.section-note{font-size:15px;color:#666;margin-top:42px;line-height:1.9}
.section-link{display:inline-block;margin-top:28px}
.project-caption .project-stage{font-size:12px;color:#666;margin-top:14px}
.project-caption h3{font-size:26px;line-height:1.5}
.project-caption .project-solution{font-size:17px}
.project-labels{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.project-labels .project-category{font-size:12px}
.industry-tag{display:inline-flex;border:1px solid #dedede;border-radius:999px;padding:3px 10px;font-size:11px;line-height:1.6;white-space:nowrap}
.project-caption .project-lead{font-size:17px;line-height:1.85;color:#333}
.work-section #project-grid+.text-link{margin-top:42px}
.process-list{list-style:none;margin:60px 0 0;padding:0}
.process-list li{padding:32px 0;border-top:1px solid #e5e5e5}
.process-number{display:block;font-size:12px;color:#666;margin-bottom:16px}
.process-list h3{font-size:25px;line-height:1.55}
.story-block .process-list p{font-size:17px;margin-top:14px;line-height:1.9;color:#555}
.content-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.story-block .content-cards>article,.story-block .content-cards>li{border:1px solid #dedede;border-radius:12px;padding:28px;min-width:0}
.content-cards h3{font-size:24px}
.process-list .process-number{display:flex;align-items:center;justify-content:space-between}
.process-list li:not(:last-child) .process-number::after{content:'→';font-size:20px;color:#777}
.process-list li:nth-child(2) .process-number::after{content:'↙'}
.contact-button{margin-top:38px;gap:35px}
.final-contact p.email-description{font-size:15px;color:#666;margin-top:38px}
.final-contact .email-link{margin-top:14px}
.primary,.open-project{color:#111;background:transparent;border-color:#111}
.primary:hover{background:transparent}
.primary:hover{border-color:#111;text-decoration:underline;text-underline-offset:4px}
.open-project{display:none}
.project-card:hover .project-caption h3{color:#111}
.inquiry-form input,.inquiry-form textarea,.inquiry-form select{color-scheme:light}
@media(max-width:700px){
 .hero{padding-block:55px 80px;text-align:center}
 .hero h1{font-size:33px;line-height:1.4}
 .hero h1 br{display:block}
 .hero-description{font-size:15px;line-height:1.8}
 .hero-description br{display:block}
 .hero .eyebrow{font-size:10px}
 .hero-art{margin-top:42px}
 .section-art{margin-top:30px;width:min(100%,460px)}
 .project-grid{grid-template-columns:1fr;gap:55px}
 .project-story{padding:22px}
 .project-caption h3{font-size:27px}
 .project-visual{height:290px}
 .work-caption{margin-top:35px;margin-bottom:0}
 .story-block{padding-block:78px}
 .story-block h2{font-size:32px;line-height:1.5}
 .story-block p:not(.eyebrow){font-size:17px;line-height:1.95;margin-top:26px}
 .section-index{font-size:11px!important;margin-bottom:22px!important}
 .situation-list,.system-concepts,.delivery-list,.education-options{margin-top:38px}
 .situation-list h3,.system-concepts h3,.delivery-list h3,.education-options h3,.process-list h3{font-size:21px}
 .story-block .situation-list p,.story-block .system-concepts p:not(.concept-name),.story-block .delivery-list p:not(.concept-name),.story-block .education-options p,.story-block .process-list p{font-size:15px;margin-top:12px}
 .story-block p.concept-name{font-size:11px;margin:0 0 12px}
 .story-block p.section-note{font-size:13px}
 .project-caption .project-stage{font-size:11px}
 .work-section>.wrap{padding-bottom:70px}
 .work-section .text-link{display:inline-block;margin-top:28px}
 .final-contact p.email-description{font-size:14px}
 .content-cards{grid-template-columns:1fr;gap:16px}
 .story-block .content-cards>article,.story-block .content-cards>li{padding:24px}
 .process-list li:not(:last-child) .process-number::after{content:'↓'}
 .project-caption .project-lead{font-size:15px}
}


.story-block p.section-index{font-size:12px}
@media(max-width:700px){.story-block p.section-index{font-size:11px}}
@media(max-width:600px){.hero-art{max-width:440px}.hero-art img{aspect-ratio:10/11}}
