/* A single reading axis: one complete thought per section. */
.reading-width{width:min(940px,calc(100% - 80px));margin-inline:auto}
.hero{max-width:1100px;text-align:center;padding-block:145px 165px}
.hero .eyebrow{display:block;margin-bottom:32px}
.hero h1{font-size:clamp(36px,4.8vw,64px);line-height:1.4;letter-spacing:-.05em}
.hero-description{margin-top:38px;font-size:21px;line-height:1.85}
.hero .actions{justify-content:center;margin-top:40px;gap:30px}
.story-block{padding-block:150px;border-top:1px solid #e5e5e5}
.story-block h2{font-size:clamp(36px,4.5vw,58px);line-height:1.45;font-weight:670;letter-spacing:-.045em}
.story-block h2 span{color:#111}
.story-block .eyebrow{font-size:16px;color:#111;margin-bottom:28px}
.story-block p:not(.eyebrow){font-size:22px;line-height:1.9;margin-top:35px;color:#111}
.story-block .text-link{margin-top:38px;font-size:16px;color:#111}
.soft-section{background:transparent}
.work-section{background:transparent;border:0}
.work-section>.wrap{max-width:1000px;padding-block:100px 50px}
.work-section .section-heading{display:block;margin-bottom:90px}
.work-section h2{font-size:64px;letter-spacing:-.055em}
.project-grid{display:block}
.project-story{margin-bottom:130px}
.project-caption{display:block;padding:0;margin-bottom:38px;max-width:860px}
.project-category{font-size:13px;letter-spacing:.04em;color:#111}
.project-caption h3{font-size:38px;margin:18px 0 27px}
.project-caption .project-problem{font-size:20px;color:#111;line-height:1.8}
.project-caption .project-solution{font-size:24px;font-weight:550;color:#111;line-height:1.65;margin-top:10px;letter-spacing:-.025em}
.project-more{display:block;font-size:14px;color:#111;margin-top:24px}
.project-visual{height:470px;padding:50px 40px 0;border:0;border-radius:18px;align-items:flex-start}
.project-visual.desktop img{width:100%;height:auto}
.project-visual.schedule img{width:370px;height:auto}
.project-visual.mobile img{width:275px;height:auto}
.work-caption{margin-top:-65px;margin-bottom:65px}
.approach-story{background:transparent}
.education-story{background:transparent}
.contact-section{display:block;max-width:760px;padding-block:140px}
.contact-intro h2{font-size:52px;line-height:1.4}
.contact-intro>p{font-size:19px;line-height:1.9}
.inquiry-form{margin-top:65px}
.inquiry-form .field-row{display:block}
.case-hero,.case-content,.case-summary>.wrap{max-width:900px}
.case-hero{padding-block:65px 90px}
.case-hero h1{font-size:52px;line-height:1.35}
.case-intro{font-size:23px;max-width:none;color:#111}
.case-answer{font-size:30px;line-height:1.6;font-weight:600;color:#111;margin-top:17px;letter-spacing:-.03em}
.case-summary>.wrap{display:block}
.case-summary{padding-block:55px;border-block:1px solid #e5e5e5}
.case-summary .eyebrow{display:block;margin-bottom:15px}
.case-content{display:block;padding-block:90px 20px}
.case-section{margin-bottom:85px}
.case-section h2{font-size:38px;line-height:1.4}
.case-section>p:not(.eyebrow){font-size:19px;line-height:1.9}
.case-gallery{max-width:1000px}
.case-gallery .section-heading{display:block}
.case-next{display:block;max-width:1000px}
.case-next>.text-link{margin-top:30px}
@media(max-width:700px){
 .reading-width{width:calc(100% - 48px)}
 .hero{padding-block:85px 100px;text-align:left}
 .hero h1{font-size:35px;line-height:1.45}
 .hero h1 br{display:none}
 .hero-description{font-size:17px;margin-top:28px}
 .hero-description br{display:none}
 .hero .actions{justify-content:flex-start;gap:23px;margin-top:30px}
 .hero .eyebrow{font-size:12px}
 .story-block{padding-block:95px}
 .story-block h2{font-size:34px;line-height:1.45}
 .story-block h2 br{display:none}
 .story-block h2 span{display:block}
 .story-block p:not(.eyebrow){font-size:18px;line-height:1.9;margin-top:28px}
 .story-block p:not(.eyebrow) br{display:none}
 .story-block .eyebrow{font-size:13px;margin-bottom:22px}
 .story-block .text-link{font-size:14px}
 .work-section>.wrap{padding-top:85px}
 .work-section h2{font-size:45px}
 .work-section .section-heading{margin-bottom:65px}
 .project-story{margin-bottom:85px}
 .project-caption h3{font-size:29px;margin-block:14px 22px}
 .project-caption .project-problem{font-size:17px}
 .project-caption .project-solution{font-size:20px}
 .project-caption{margin-bottom:27px}
 .project-visual{height:280px;padding:32px 18px 0;border-radius:10px}
 .project-visual.desktop{align-items:center;padding-top:0}
 .project-visual.schedule img{width:245px}
 .project-visual.mobile img{width:185px}
 .work-caption{margin-top:-20px;margin-bottom:20px}
 .contact-section{padding-block:95px}
 .contact-intro h2{font-size:36px}
 .contact-intro>p{font-size:17px}
 .inquiry-form{margin-top:45px}
 .case-hero{padding-block:35px 50px}
 .case-hero h1{font-size:36px}
 .case-intro{font-size:18px}
 .case-answer{font-size:24px}
 .case-content{padding-top:65px}
 .case-section h2{font-size:29px}
 .case-section>p:not(.eyebrow){font-size:17px}
 .case-section{margin-bottom:60px}
}
