/* SORA: natural materials in photographs; neutral structure and purposeful red. */
:root{--paper:#fcfcfc;--ink:#202020;--muted:#666666;--red:#b92335;--red-on-dark:#ff8590;--line:#d5d5d5;--accent:#b92335;--white:#fff;--sans:'Yu Gothic','Hiragino Kaku Gothic ProN',Meiryo,sans-serif}
body{line-height:1.9}h1,h2,h3{letter-spacing:.015em}h2{font-size:clamp(30px,3.1vw,46px);line-height:1.6}
.draft-banner{background:var(--ink);color:#f5f5f5;padding:5px 20px;font-size:12px;letter-spacing:.1em}.draft-banner span{font-size:12px;color:var(--accent)}
.header{height:105px;padding:0 4.5%}.brand-name{font-family:Arial,sans-serif;font-size:42px;font-weight:600;letter-spacing:.04em}.brand-mark{background:var(--accent);height:7px;width:7px;margin-bottom:2px}.brand-tagline{font-size:12px;letter-spacing:.035em}.sora-brand{gap:7px;min-width:186px}
.header nav{gap:24px;font-size:14px}.header nav>a{min-height:44px;display:inline-flex;align-items:center}.header nav>a[aria-current="page"]{border-bottom:2px solid var(--red)}.header nav>a:not(.nav-contact){padding:9px 0}.nav-contact{border-color:var(--ink);margin-left:4px;padding:10px 20px}.nav-contact:hover{background:var(--ink);color:white}.menu-toggle{border-color:var(--ink)}.mobile-nav a{min-height:44px;font-size:16px}
.button{font-size:16px;font-weight:600;padding:17px 25px;min-height:56px;transition:background .2s}.button:hover{transform:none}.text-link{font-size:16px;font-weight:500;text-decoration-thickness:1px}.text-link:hover{color:#616161}
.home-page .hero{display:block;margin:0 24px;padding:0;max-width:none;isolation:isolate}
.hero-copy{padding:68px 5.4% 62px;min-height:650px;width:100%;color:white}
.hero .eyebrow{font-size:12px;letter-spacing:.06em;color:#f4f4f4}.hero .fine-line{background:var(--accent);width:28px;flex-shrink:0}
.hero h1{font-size:clamp(44px,5.9vw,92px);line-height:1.36;font-weight:500;letter-spacing:.015em;margin:24px 0 23px;white-space:normal;text-shadow:0 1px 12px #23232333}
.hero-description{font-size:17px;line-height:2;color:#ffffff;letter-spacing:.04em;max-width:610px}.accent-word:after{background:var(--accent);height:4px;z-index:0;bottom:-2px}
.hero .button{background:var(--accent);color:var(--ink);margin-top:30px;min-height:56px}.hero .button:hover{background:#f0f0f0}.hero-location{color:#f2f2f2;font-size:12px;margin-top:30px}.hero-location span{font-size:13px;border-color:#a8a8a8}
.hero-photo{position:absolute;inset:0 0 83px;width:100%;min-height:0;z-index:-1;overflow:hidden;background:#595959}.hero-photo img{object-position:50% 53%;opacity:1}.hero-photo:after{inset:0;background:linear-gradient(90deg,#252525e6 0%,#2f2f2fb0 42%,#3232321a 100%)}
.hero-photo figcaption{justify-content:flex-end;left:5.4%;right:3%;bottom:24px;font-size:12px;gap:18px}.hero-photo figcaption>span:first-child{display:none}.hero-photo figcaption span:last-child{font-size:12px;color:white}
.hero-bottom{margin:0;height:83px;padding:20px 0;border-bottom:1px solid var(--ink);font-size:14px;letter-spacing:.01em}.hero-bottom>a{font:14px/1.8 var(--sans);letter-spacing:0;text-decoration:underline;text-underline-offset:5px}
.section{padding-top:82px;padding-bottom:82px}.section-label{font-size:14px;border-color:var(--ink);padding-bottom:14px}.section-label>span:first-child{font-size:13px;letter-spacing:.1em}.section-intro{margin:37px 0 43px}.section-intro>p{font-size:16px}
.home-business .section-intro h2{font-size:clamp(33px,3.6vw,50px)}.home-service-grid{gap:0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.home-service-grid article{padding:31px 28px 35px;border:0;border-right:1px solid var(--line)}.home-service-grid article:first-child{padding-left:0}.home-service-grid article:last-child{padding-right:0;border-right:0}.home-service-grid article>span{font-size:12px;color:var(--red)}.home-service-grid h3{font-size:23px;line-height:1.65;margin:14px 0 22px}.home-service-grid p{font-size:16px;color:var(--muted)}
.home-business-bottom{border:0;padding-top:8px}.home-business-bottom p{font-size:16px}.home-member{max-width:none;background:var(--ink);color:var(--paper);padding-left:max(7.6%,calc((100vw - 1187px)/2));padding-right:max(7.6%,calc((100vw - 1187px)/2));border:0}.home-member .section-label{border-color:#9e9e9e}.home-member-layout{grid-template-columns:210px 1fr;gap:8%;margin-top:44px}.home-member-layout h2{font-size:clamp(29px,3vw,44px);line-height:1.7}.home-member-layout h3{font-size:28px}.home-member-layout .member-credentials{color:#dedede}.home-member-layout .text-link{color:var(--accent)}
.contact{background:var(--accent);color:var(--ink);gap:9%;padding-top:75px;padding-bottom:78px}.contact .eyebrow{font-family:var(--sans);color:var(--ink);font-size:14px;font-weight:500;letter-spacing:.04em}.contact h2{font-size:clamp(36px,4vw,58px);line-height:1.45;margin:22px 0 0}.contact-details>p{font-size:16px;line-height:2;color:var(--ink)}.contact .contact-form-button{background:var(--ink);color:white;font-size:16px}.contact .contact-form-button:hover{background:#515151}.contact-details>.contact-note{font-size:13px;color:var(--ink);border-color:#737373;padding-left:13px}.contact-form-button:focus-visible{outline-color:var(--ink)}
.page-intro{max-width:none;position:relative;padding:28px max(7.6%,calc((100vw - 1187px)/2)) 48px;border:0;background:#eeeeee;overflow:hidden}.page-intro:after{content:none}
.breadcrumbs{font-size:13px;margin-bottom:24px}.page-intro .eyebrow{font-size:13px;letter-spacing:.12em}.page-intro h1{font-family:var(--sans);font-weight:500;font-size:clamp(44px,5.3vw,72px);line-height:1.4;letter-spacing:-.025em;margin:13px 0 20px}.page-lead{font-size:17px;max-width:780px;color:var(--ink);line-height:2}
.detail-page .services{padding-top:6px;padding-bottom:68px;background:var(--paper)}.service-row{border-color:var(--ink);padding:31px 0;grid-template-columns:48px 1fr 1.4fr;gap:30px}.service-row:last-child{border-color:var(--ink)}.service-number{font:400 38px/1.4 Arial,sans-serif;color:var(--red)}.service-title>span{font-size:12px;color:var(--red)}.service-title h3{font-size:26px;line-height:1.65}.service-body p{font-size:16px;line-height:2}.service-body li{font-size:13px;border-color:var(--line);color:var(--ink)}
.business-cycle{border:0;background:#eeeeee;padding:30px;margin-top:33px}.cycle-heading h3{font-size:24px}.cycle-steps li{border-color:#a4a4a4}.cycle-steps h4{font-size:22px}.cycle-steps p{font-size:14px}
.commitment{max-width:none;background:var(--ink);color:var(--paper);padding-left:max(7.6%,calc((100vw - 1187px)/2));padding-right:max(7.6%,calc((100vw - 1187px)/2))}.commitment .section-label{border-color:#999999}.commitment .status-label{border-color:#9c9c9c;color:var(--accent)}.commitment .model-note{color:#dbdbdb}.commitment-steps li{border-color:#999999}.commitment-steps li>span{color:var(--accent);font-size:13px}.commitment-steps p{color:#e0e0e0}.commitment h2{font-size:clamp(33px,3.4vw,48px)}
.approach{padding-top:70px;padding-bottom:70px}.approach-heading{padding:38px 0 42px}.principles article{border-color:var(--ink)}.principles h3{font-size:24px}.principles p,.approach-copy{font-size:16px}.process{border-top:1px solid var(--line)}.steps p{font-size:16px}.steps h3{font-size:22px}.steps li>span{font-size:13px}
.detail-page .members{padding-top:58px;padding-bottom:66px}.member-profile{grid-template-columns:300px 1fr;gap:8%}.member-photo{max-width:300px;aspect-ratio:1}.member-photo img{object-fit:contain;background:#ffffff}.member-name{font:500 42px/1.5 var(--serif);margin:9px 0 14px}.member-role{font-size:14px}.member-bio{font-size:16px;line-height:2.1}.member-credentials{font-size:16px}.member-strengths{gap:0;border-top:1px solid var(--ink);margin-top:40px}.member-strengths article{border:0;border-right:1px solid var(--line);padding:29px}.member-strengths article:first-child{padding-left:0}.member-strengths article:last-child{padding-right:0;border-right:0}.member-strengths h3{font-size:23px;margin:13px 0 16px}.member-strengths p{font-size:16px}
.detail-page .company{padding-top:9px;padding-bottom:58px}.company-table>div{border-color:var(--line);padding:20px 0}.company-table>div:first-child{border-color:var(--ink)}.company-table dt{font-size:14px}.company-table dd{font-size:16px}.company-heading{font-size:30px}
.detail-page .works,.detail-page .recruit{background:var(--paper);padding-top:28px;padding-bottom:64px}.empty-state{max-width:850px;padding:25px 0 0;border-top:1px solid var(--ink);margin-top:20px}.empty-state h2{font-size:clamp(36px,4vw,56px);margin:24px 0 20px}.empty-state p{font-size:17px;line-height:2}.status-label{background:var(--accent);border:0;color:var(--ink);font-size:15px;padding:8px 16px}.recruit-layout{margin-top:22px;padding-top:30px;border-top:1px solid var(--ink);gap:10%}.detail-page .recruit h2{font-size:32px}.recruit-layout>div>p{font-size:17px}
.page-next{display:flex;justify-content:space-between;align-items:center;gap:50px;max-width:none;background:#eeeeee;padding:54px max(7.6%,calc((100vw - 1187px)/2))}.page-next .eyebrow{font-family:var(--sans);font-size:14px;color:var(--muted)}.page-next h2{font-size:clamp(28px,2.8vw,40px);margin:15px 0 14px}.page-next p{font-size:16px;color:var(--muted);max-width:720px}.next-links{display:flex;flex-direction:column;gap:13px;flex-shrink:0}.next-link{border:1px solid var(--ink);padding:14px 21px;font-size:16px;text-align:center;min-height:52px}.next-link:hover{background:var(--ink);color:white}
footer{padding:40px 4.5%;gap:20px;flex-wrap:wrap}.footer-brand .brand-name{font-size:42px}.footer-note{font-size:12px;max-width:330px}.footer-nav{display:flex;gap:28px;flex-wrap:wrap;width:100%;border-top:1px solid var(--line);padding-top:22px;margin-top:12px;font-size:14px}.footer-nav a{display:inline-flex;align-items:center;min-height:36px}
@media(max-width:1100px){.header nav{gap:16px;font-size:14px}.sora-brand{min-width:160px}.brand-name{font-size:36px}.nav-contact{padding:9px 14px}.hero-copy{min-height:600px;padding:60px 5%}.hero h1{font-size:clamp(46px,6vw,70px)}.hero-description{font-size:16px}.hero-photo{bottom:83px}.member-profile{grid-template-columns:260px 1fr;gap:6%}.home-service-grid h3{font-size:21px}.home-service-grid article{padding-left:20px;padding-right:20px}.page-next{gap:30px}.career-list>div{grid-template-columns:1fr;gap:7px}}
@media(max-width:900px){.header{height:90px}.header nav{display:none}.menu-toggle{display:flex}.home-member-layout{grid-template-columns:180px 1fr;gap:35px}.member-profile{grid-template-columns:220px 1fr;gap:30px}.page-next{align-items:flex-start;flex-direction:column;gap:25px}.next-links{flex-direction:row;flex-wrap:wrap}}
@media(max-width:760px){.header{height:83px;padding:0 6%}.sora-brand{min-width:0}.brand-name{font-size:35px}.brand-tagline{font-size:12px;letter-spacing:0}.draft-banner{padding:6px 12px;font-size:12px}.draft-banner span{font-size:12px;margin-left:13px}.home-page .hero{margin:0 12px}.hero-copy{min-height:595px;padding:36px 6% 62px}.hero .eyebrow{font-size:12px;letter-spacing:.025em;line-height:1.65;max-width:240px;gap:10px}.hero .fine-line{width:16px}.hero h1{font-size:clamp(35px,8.4vw,55px);line-height:1.48;letter-spacing:0;margin:25px 0 21px}.hero-description{font-size:16px;line-height:2;letter-spacing:0}.hero .button{font-size:15px;padding:16px 19px;margin-top:26px}.hero-location{font-size:12px;gap:8px;margin-top:26px}.hero-location span{font-size:12px;border:0;padding:0}.hero-photo{height:auto;bottom:77px;inset:0 0 77px}.hero-photo img{object-position:58% 50%}.hero-photo:after{background:linear-gradient(90deg,#252525e6,#353535a6 70%,#34343455)}.hero-photo figcaption{bottom:13px;right:6%;font-size:12px}.hero-photo figcaption span:last-child{font-size:12px}.hero-bottom{height:77px;padding:18px 0;font-size:13px;gap:12px}.hero-bottom>a{font-size:13px}.section{padding:55px 6%}.section-label,.section-label>span:first-child{font-size:13px}.section-intro{margin:29px 0 31px}.home-business .section-intro h2{font-size:32px}.home-service-grid{grid-template-columns:1fr;gap:0}.home-service-grid article,.home-service-grid article:first-child,.home-service-grid article:last-child{padding:23px 0;border:0;border-bottom:1px solid var(--line)}.home-service-grid article:last-child{border-bottom:0}.home-service-grid h3{font-size:24px;margin:9px 0 13px}.home-service-grid p{font-size:16px}.home-business-bottom{margin-top:21px;padding-top:0;gap:19px}.home-business-bottom p{font-size:16px}.home-business-bottom p br{display:none}.home-member{padding:48px 6%}.home-member-layout{grid-template-columns:1fr;gap:25px;margin-top:28px}.home-member-layout figure{width:180px}.home-member-layout h2{font-size:30px}.home-member-layout h3{font-size:27px}.home-member-layout .member-credentials{font-size:14px}.contact{padding:50px 6%;gap:24px}.contact .eyebrow{font-size:14px}.contact h2{font-size:38px;margin:17px 0 0}.contact-details>p{font-size:16px;margin:0 0 23px}.contact .contact-form-button{font-size:15px;padding:16px 16px}.contact-details>.contact-note{font-size:13px;margin-top:16px}.page-intro{padding:22px 6% 35px}.page-intro:after{top:100px;right:6%;width:30px;height:5px}.breadcrumbs{margin-bottom:22px;font-size:13px}.page-intro h1{font-size:44px;margin:10px 0 18px}.page-intro .eyebrow{font-size:13px}.page-lead{font-size:16px;line-height:1.95}.detail-page .services{padding:1px 6% 44px}.service-row{grid-template-columns:30px 1fr;gap:12px 17px;padding:26px 0}.service-number{font-size:29px}.service-title h3{font-size:24px;margin-top:8px}.service-title>span{font-size:12px}.service-body p{font-size:16px}.service-body li{font-size:13px}.business-cycle{padding:23px 20px;margin-top:25px}.cycle-heading h3{font-size:23px}.cycle-heading p{font-size:14px}.cycle-steps{gap:22px}.cycle-steps h4{font-size:21px}.commitment{padding:50px 6%}.commitment h2{font-size:34px}.commitment-lead{font-size:16px}.commitment-steps h3{font-size:21px}.commitment-steps p{font-size:16px}.approach-heading{padding:28px 0 32px}.principles article{display:block;padding-top:20px}.principles h3{font-size:25px;margin:13px 0 15px}.principles p{font-size:16px}.steps h3{font-size:21px}.steps p{font-size:16px}.steps li>span{font-size:12px}.detail-page .members{padding:38px 6% 46px}.member-profile{grid-template-columns:1fr;gap:26px}.detail-page .members .member-photo{max-width:250px;aspect-ratio:1}.member-name{font-size:35px}.member-credentials{font-size:15px}.member-strengths{grid-template-columns:1fr;margin-top:32px}.member-strengths article,.member-strengths article:first-child,.member-strengths article:last-child{padding:23px 0;border:0;border-bottom:1px solid var(--line)}.member-strengths h3{font-size:24px}.member-strengths p{font-size:16px}.detail-page .company{padding:3px 6% 42px}.company-heading{font-size:27px}.company-layout{margin-top:30px;gap:25px}.company-table>div{grid-template-columns:100px 1fr;gap:13px;padding:17px 0}.company-table dt{font-size:14px}.company-table dd{font-size:16px}.detail-page .works,.detail-page .recruit{padding:24px 6% 42px}.empty-state{margin-top:8px;padding-top:21px}.empty-state h2{font-size:38px}.empty-state p{font-size:16px}.status-label{font-size:14px;padding:9px 12px}.recruit-layout{grid-template-columns:1fr;gap:24px;margin-top:5px;padding-top:24px}.detail-page .recruit h2{font-size:29px}.recruit-layout>div>p{font-size:16px;margin-top:19px}.page-next{padding:39px 6%;gap:24px}.page-next h2{font-size:30px;line-height:1.6}.page-next p{font-size:16px}.next-links{width:100%;flex-direction:column;gap:12px}.next-link{font-size:16px;width:100%}.page-next .eyebrow{font-size:14px}footer{padding:34px 6%;gap:22px}.footer-brand .brand-name{font-size:39px}.footer-note{width:100%;font-size:12px}footer p{font-size:14px}footer p span{font-size:13px}.footer-nav{gap:8px 24px;font-size:14px;margin-top:3px;padding-top:18px}.footer-nav a{min-height:44px}}
@media(max-width:360px){.hero h1{font-size:30px}.hero-description br{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* The hero artwork keeps its original dimensions after removing the lower strip. */
.home-page .hero-photo{inset:0}
.contact .contact-details>p{color:var(--ink)}

/* Business relationships, expressed as a connected flow rather than service cards. */
.business-diagram{margin:0;padding:0}
.business-diagram>figcaption{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px;font-size:14px;font-weight:600}
.diagram-status{font-size:12px;font-weight:400;padding:3px 12px;border:1px solid var(--line);white-space:nowrap}
.diagram-foundation{position:relative;display:flex;align-items:center;justify-content:center;gap:35px;min-height:77px;padding:19px 25px;background:#eeeeee;border-top:1px solid var(--line)}
.diagram-foundation:after{content:'';position:absolute;left:50%;bottom:-15px;width:1px;height:15px;background:#9a9a9a}
.diagram-foundation strong{font:500 25px/1.5 var(--serif)}
.diagram-foundation>span{font-size:14px;color:var(--muted)}
.diagram-flow{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;list-style:none;margin:30px 0 24px;padding:0}
.diagram-flow:before{content:'';position:absolute;top:-15px;left:calc((100% - 96px)/6);right:calc((100% - 96px)/6);height:1px;background:#9a9a9a}
.diagram-flow>li{position:relative;min-width:0;padding:24px 17px 22px;border:1px solid #aeaeae;text-align:center;background:var(--paper)}
.diagram-flow>li:before{content:'';position:absolute;top:-15px;left:50%;height:14px;width:1px;background:#9a9a9a}
.diagram-flow>li:not(:last-child):after{content:'→';position:absolute;right:-39px;top:84px;color:var(--muted);font:32px/1 Arial,sans-serif}
.diagram-number{display:inline-flex;align-items:center;justify-content:center;width:37px;height:37px;border-radius:50%;color:var(--accent);background:var(--ink);font:14px/1 Arial,sans-serif}
.diagram-flow h3{font:500 25px/1.6 var(--serif);margin:17px 0 13px}
.diagram-flow p{font-size:14px;color:var(--muted);line-height:1.9;margin:0}
.diagram-exits{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;margin:0 0 9px}
.diagram-exits>span{display:inline-block;padding:3px 10px;font-size:12px;line-height:1.6;background:#eeeeee;border:1px solid var(--line)}
.diagram-support{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:21px 29px;background:var(--ink);color:var(--paper)}
.diagram-support>div{display:flex;align-items:center;gap:18px}
.diagram-support-label{font-size:12px;color:var(--accent)}
.diagram-support strong{font:500 23px/1.5 var(--serif)}
.diagram-support p{font-size:14px;margin:0}
.diagram-support p>span{display:inline-block;color:var(--accent);padding:0 9px}
.career-heading{font:500 21px/1.5 var(--serif);margin:29px 0 0}
.career-list{margin-top:17px}
.career-list>div{margin:0;padding:15px 0;border-bottom:1px solid var(--line)}
.career-list>div:first-child{border-top:1px solid var(--line)}
.career-list dd{font-size:16px;line-height:1.9}
.career-list dd span{display:inline-block;margin-top:5px;font-size:14px}
.consultation-examples{margin:0 0 39px;padding:25px 0 28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.consultation-examples h3{font:500 22px/1.5 var(--serif);margin:0 0 23px}
.consultation-examples ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;list-style:none;padding:0;margin:0}
.consultation-examples li strong{display:block;font-weight:500;font-size:17px;margin-bottom:10px}
.consultation-examples li span{font-size:14px;color:var(--muted)}
.founding-message{display:grid;grid-template-columns:1fr 1.15fr;gap:10%;border-top:1px solid var(--line);padding-top:55px;padding-bottom:60px}
.founding-message .eyebrow{font-family:var(--sans);font-size:14px;color:var(--muted)}
.founding-message h2{font-size:clamp(30px,3vw,42px);margin:18px 0 0}
.founding-copy p{font-size:16px;line-height:2.1;margin:0 0 20px}
.founding-copy .founding-signature{margin:30px 0 0;font:500 22px/1.5 var(--serif)}
@media(max-width:1100px){.diagram-flow{gap:36px}.diagram-flow>li:not(:last-child):after{right:-31px;font-size:26px}.diagram-flow:before{left:calc((100% - 72px)/6);right:calc((100% - 72px)/6)}.diagram-flow h3{font-size:22px}.diagram-flow>li{padding-left:10px;padding-right:10px}.diagram-support{gap:16px}.diagram-support>div{gap:12px}.diagram-support strong{font-size:21px}.diagram-support p{font-size:13px}.diagram-support p>span{padding:0 4px}}
@media(max-width:900px){.diagram-support{align-items:flex-start;flex-direction:column;gap:12px}.consultation-examples ul{gap:22px}.consultation-examples li strong{font-size:16px}}
@media(max-width:760px){
  .business-diagram>figcaption{font-size:13px;gap:12px;margin-bottom:18px}.diagram-status{font-size:11px;padding:3px 8px}
  .diagram-foundation{flex-direction:column;gap:7px;padding:20px 16px}.diagram-foundation strong{font-size:24px}.diagram-foundation>span{font-size:13px}.diagram-foundation:after{bottom:-27px;height:27px}
  .diagram-flow{grid-template-columns:1fr;gap:41px;margin:27px 0 25px}.diagram-flow:before,.diagram-flow>li:before{display:none}
  .diagram-flow>li{padding:20px 18px 22px}.diagram-flow>li:not(:last-child):after{content:'↓';top:auto;right:auto;left:50%;bottom:-34px;transform:translateX(-50%);font-size:27px}
  .diagram-flow h3{font-size:26px;margin:11px 0 9px}.diagram-flow p{font-size:15px}.diagram-exits>span{font-size:13px;padding:4px 12px}
  .diagram-support{padding:22px 18px;gap:14px}.diagram-support>div{flex-wrap:wrap;gap:7px 16px}.diagram-support strong{font-size:24px}.diagram-support p{font-size:13px;line-height:2}.diagram-support p>span{padding:0 3px}
  .career-heading{margin-top:25px}.career-list dd span{font-size:15px}.career-list>div{padding:16px 0}
  .consultation-examples{margin-bottom:31px;padding:24px 0}.consultation-examples ul{grid-template-columns:1fr;gap:22px}.consultation-examples h3{font-size:24px}.consultation-examples li strong{font-size:18px;margin-bottom:5px}.consultation-examples li span{font-size:15px}
  .founding-message{grid-template-columns:1fr;gap:26px;padding-top:39px;padding-bottom:41px}.founding-message h2{font-size:32px;margin-top:13px}.founding-copy p{margin-bottom:15px}.founding-copy .founding-signature{margin-top:21px}
}

/* A shared, restrained icon vocabulary for services and page states. */
.line-icon{display:block;width:48px;height:48px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;color:var(--ink);pointer-events:none}
.line-icon>*{vector-effect:non-scaling-stroke}
.page-business .services .section-intro{display:grid;grid-template-columns:1fr 1.3fr;gap:40px}
.diagram-flow .line-icon{width:58px;height:58px;margin:5px auto 0}
.business-diagram .diagram-number{position:absolute;left:18px;top:19px;width:auto;height:auto;background:none;border-radius:0;color:var(--muted);font-size:12px;line-height:1.5}
.service-row{grid-template-columns:88px 1fr 1.4fr}
.service-visual{display:flex;align-items:center;flex-direction:column;gap:15px;padding-top:3px}
.service-visual .line-icon{width:68px;height:68px}
.service-visual .service-number{font:13px/1.5 Arial,sans-serif;letter-spacing:.08em;color:var(--muted)}
.step-visual .line-icon{width:40px;height:40px;margin:1px 0 18px}
.step-visual>span{font:13px/1.8 Arial,sans-serif;letter-spacing:.1em;color:var(--muted)}
.member-strengths .line-icon{width:43px;height:43px;margin:0 0 24px}
.company-layout>div>.line-icon{width:52px;height:52px;margin:0 0 23px}
.empty-state>.line-icon{width:65px;height:65px;margin:8px 0 27px}
.recruit-heading>.line-icon{width:54px;height:54px;margin:0 0 22px}
@media(max-width:1100px){.service-row{grid-template-columns:72px 1fr 1.4fr;gap:25px}.service-visual .line-icon{width:58px;height:58px}}
@media(max-width:760px){
  .page-business .services .section-intro{display:block}
  .diagram-flow .line-icon{width:53px;height:53px;margin-top:3px}.business-diagram .diagram-number{left:16px;top:17px}
  .service-row{grid-template-columns:46px minmax(0,1fr);gap:12px 18px}.service-visual{gap:9px}.service-visual .line-icon{width:43px;height:43px}.service-visual .service-number{font-size:12px}
  .step-visual{grid-column:1;grid-row:1 / span 2;padding-top:1px}.step-visual .line-icon{width:34px;height:34px;margin:0 0 9px}.step-visual>span{font-size:12px;letter-spacing:0}.steps p{grid-column:2}
  .member-strengths .line-icon{width:40px;height:40px;margin-bottom:17px}.company-layout>div>.line-icon{width:46px;height:46px;margin-bottom:19px}.empty-state>.line-icon{width:56px;height:56px;margin-bottom:24px}.recruit-heading>.line-icon{width:48px;height:48px;margin-bottom:18px}
}

/* BIM services and editorial links extend the same architectural rhythm. */
.service-shortcuts{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:23px;font-size:16px}
.service-shortcuts a{min-height:44px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:5px}
.service-detail-link{display:inline-flex;align-items:center;min-height:44px;margin-top:12px}
.bim-service{border-top:1px solid var(--line);padding-top:65px;padding-bottom:70px}
.bim-heading,.continuity-message{display:grid;grid-template-columns:1fr 1.3fr;gap:8%;margin:40px 0}
.bim-heading .eyebrow,.continuity-message .eyebrow{font:14px/1.8 var(--sans);letter-spacing:.025em;color:var(--muted)}
.bim-heading h2,.continuity-message h2{margin:15px 0 0}
.bim-heading p,.continuity-message p{font-size:16px;line-height:2;margin:0 0 18px}
.bim-value-diagram{margin:34px 0 43px;padding:28px 30px;background:#eeeeee}
.bim-value-diagram figcaption{font-size:16px;font-weight:500;margin-bottom:25px}
.bim-value-flow{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px;padding:0;margin:0}
.bim-value-flow li{position:relative;border-top:1px solid #9a9a9a;padding-top:19px}
.bim-value-flow li:not(:last-child):after{content:'→';position:absolute;right:-33px;top:57px;color:var(--muted);font:25px/1 Arial,sans-serif}
.bim-value-flow li>span{font:13px/1.8 Arial,sans-serif;letter-spacing:.06em;color:var(--muted)}
.bim-value-flow h3{font:500 24px/1.7 var(--serif);margin:12px 0 8px}
.bim-value-flow p{font-size:16px;color:var(--muted);margin:0}
.bim-detail-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;align-items:start}
.bim-detail-grid h3,.bim-delivery>h3,.bim-consult h3{font:500 26px/1.6 var(--serif);margin:0 0 20px}
.bim-scope{margin:0}.bim-scope>div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:20px;padding:15px 0;border-top:1px solid var(--line)}
.bim-scope dt{font-size:14px;color:var(--muted)}.bim-scope dd{font-size:16px;margin:0;line-height:1.9}
.bim-price{padding:25px 27px;border:1px solid var(--line)}.bim-price>p{font-size:16px;margin:0 0 16px}
.bim-price .bim-price-caption{font-size:14px;color:var(--muted)}
.bim-price .bim-base-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:7px;margin:18px 0}
.bim-base-price strong{font:400 clamp(35px,3.8vw,50px)/1.2 Arial,sans-serif;letter-spacing:-.025em}.bim-base-price span{font-size:14px}
.bim-additions{margin:18px 0}.bim-additions>div{border-top:1px solid var(--line);padding:11px 0;display:flex;justify-content:space-between;gap:12px;font-size:14px}
.bim-additions dt{color:var(--muted);flex-shrink:0}.bim-additions dd{margin:0}
.bim-price .bim-price-note{font-size:14px;color:var(--muted);margin-bottom:0;line-height:1.9}
.bim-delivery{margin-top:45px}.bim-delivery-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;list-style:none;margin:0;padding:0}
.bim-delivery-steps li{border-top:1px solid var(--ink);padding-top:14px}.bim-delivery-steps li>span{font:14px/1.8 Arial,sans-serif;color:var(--muted)}
.bim-delivery-steps h4{font-size:18px;font-weight:500;margin:11px 0}.bim-delivery-steps p{font-size:16px;line-height:1.9;color:var(--muted);margin:0}
.bim-method-note{font-size:14px;line-height:1.9;color:var(--muted);border-top:1px solid var(--line);padding-top:18px;margin:26px 0 0}
.bim-consult{display:flex;justify-content:space-between;align-items:center;gap:40px;margin-top:38px;padding-top:29px;border-top:1px solid var(--ink)}
.bim-consult>div{max-width:620px}.bim-consult h3{margin-bottom:10px}.bim-consult p{font-size:16px;margin:0}.bim-consult>.button{background:var(--ink);color:white;flex-shrink:0;font-size:16px;text-align:center}
.bim-consult>.button:hover{background:#515151}
.home-bim-feature{display:grid;grid-template-columns:150px minmax(0,1fr);gap:34px;padding:30px;margin-top:35px;background:#eeeeee;border-top:1px solid var(--line)}
.home-bim-label .line-icon{width:56px;height:56px;margin-bottom:16px}.home-bim-label>span{font:13px/1.8 Arial,sans-serif;letter-spacing:.06em;color:var(--muted)}
.home-bim-feature h3{font:500 27px/1.6 var(--serif);margin:0 0 13px}.home-bim-feature p{font-size:16px;margin:0 0 13px;max-width:730px}
.continuity-message{border-bottom:1px solid #999999;padding-bottom:36px}.continuity-message .eyebrow{color:var(--accent)}
.commitment .status-label{background:transparent}
.continuity-message .text-link{color:var(--accent);display:inline-flex;align-items:center;min-height:44px}.continuity-message strong{font-weight:600}
.continuity-message .continuity-source{font-size:12px;color:#dbdbdb;margin:18px 0 0}.continuity-source a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.insights{display:grid;grid-template-columns:1fr 1.3fr;gap:8%;padding-top:58px;padding-bottom:62px}.insights .eyebrow{font-size:14px;color:var(--muted)}
.insights h2{font-size:clamp(28px,2.8vw,40px);margin:14px 0 0}.insights p{font-size:16px;margin:0 0 22px}.insights .text-link{display:inline-flex;align-items:center;min-height:44px}
.external-link-note{display:block;font-size:13px;color:var(--muted);margin-top:9px}
.footer-news{font-size:14px;text-decoration:underline;text-underline-offset:4px;min-height:44px;display:inline-flex;align-items:center}
@media(max-width:1000px){.bim-detail-grid{grid-template-columns:1fr 1fr;gap:30px}.bim-price{padding:22px}.bim-delivery-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:27px}.bim-consult{align-items:flex-start;flex-direction:column;gap:24px}}
@media(max-width:760px){
  .bim-service{padding-top:42px;padding-bottom:45px}.service-shortcuts{gap:5px 22px;margin-top:17px}
  .bim-heading,.continuity-message,.insights{grid-template-columns:1fr;gap:26px}.bim-heading,.continuity-message{margin:29px 0}
  .bim-heading h2,.continuity-message h2{font-size:34px}.bim-heading p:last-child,.continuity-message p:last-child{margin-bottom:0}
  .bim-value-diagram{padding:23px 20px;margin:28px 0 33px}.bim-value-flow{grid-template-columns:1fr;gap:32px}.bim-value-flow li{padding-top:15px}
  .bim-value-flow li:not(:last-child):after{content:'↓';right:0;top:auto;bottom:-24px;font-size:23px}.bim-value-flow h3{font-size:25px;margin-top:7px}
  .bim-detail-grid{grid-template-columns:1fr;gap:28px}.bim-scope>div{grid-template-columns:72px minmax(0,1fr);gap:14px}.bim-price{padding:23px 20px}
  .bim-delivery{margin-top:34px}.bim-delivery-steps{grid-template-columns:1fr;gap:22px}.bim-delivery-steps li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:5px 14px}
  .bim-delivery-steps li>span{grid-row:1 / span 2;padding-top:3px}.bim-delivery-steps h4{font-size:21px;margin:0}.bim-delivery-steps p{grid-column:2}
  .bim-consult{margin-top:28px;padding-top:24px;gap:23px}.bim-consult>.button{width:100%;padding:16px 12px;font-size:15px;white-space:normal}
  .home-bim-feature{grid-template-columns:1fr;gap:19px;padding:24px 20px;margin-top:27px}.home-bim-label{display:flex;align-items:center;gap:18px}.home-bim-label .line-icon{width:42px;height:42px;margin:0}
  .home-bim-feature h3{font-size:25px}.continuity-message{padding-bottom:27px}.continuity-message .continuity-source{line-height:1.8}
  .insights{padding-top:43px;padding-bottom:43px}.insights h2{font-size:32px}.insights p{margin-bottom:14px}
}

/* Colour roles: red = SORA's contribution / consultation; ink = content;
   grey = supporting information and relationships. Photography keeps its colours. */
::selection{background:#e5e5e5;color:var(--ink)}
.draft-banner{background:#ededed;color:var(--ink);border-top:1px solid var(--line)}

.header .sora-brand {
  width: min(369px, 30vw);
  min-width: 0;
}
.footer-brand.sora-brand {
  width: min(270px, 100%);
  min-width: 0;
}
.sora-brand .brand-logo {
  display: block;
  width: 100%;
  height: auto;
  mix-blend-mode: multiply;
}
@media (max-width: 900px) {
  .header .sora-brand { width: min(320px, calc(100% - 60px)); }
  .header .menu-toggle { flex-shrink: 0; }
}
.draft-banner span{color:var(--muted)}
.hero-photo{background:#333}.hero-photo img{filter:none}
.hero-photo:after{background:linear-gradient(90deg,#101010c9 0%,#17171780 44%,#2020200d 100%)}
.hero .fine-line{background:#d5d5d5}
.hero .button,.bim-consult>.button,.contact .contact-form-button,.button{background:var(--red);color:white}
.hero .button:hover,.bim-consult>.button:hover,.contact .contact-form-button:hover,.button:hover{background:#961c2b}
.nav-contact{color:var(--red);border-color:var(--red)}
.nav-contact:hover{background:#f4e8ea;color:var(--red)}
.header nav>a[aria-current="page"]{border-bottom-color:var(--ink)}
.mobile-nav a[aria-current="page"]{color:var(--ink)}
.text-link:hover{color:var(--ink)}
.home-business-bottom .text-link,.service-detail-link,.bim-base-price strong,.insights .text-link,.footer-news{color:var(--ink)}
.member-role,.service-title>span,.home-service-grid article>span,.page-intro .eyebrow{color:var(--muted)}
.page-intro,.page-next,.business-cycle,.diagram-foundation,.diagram-exits>span,.bim-value-diagram,.home-bim-feature{background:#f2f2f2}
.contact{background:#f2f2f2;border-top:3px solid var(--red)}
.status-label{background:#efefef;color:var(--ink);border:1px solid var(--line)}
.commitment .status-label{background:transparent;color:#eeeeee;border:1px solid #777}
.home-member-layout .text-link,.home-member .section-label>span:first-child,.commitment .section-label>span:first-child,.continuity-message .eyebrow{color:#eeeeee}
.home-member-layout .text-link:hover{color:white}
.diagram-support{border-top:3px solid var(--red)}
.diagram-support-label,.continuity-message .text-link{color:var(--red-on-dark)}
.diagram-support p>span{color:#bdbdbd}
.commitment-steps li>span{color:#bdbdbd}
.commitment-steps .sora-contribution{border-top-color:var(--red-on-dark)}
.commitment-steps .sora-contribution>span{color:var(--red-on-dark)}
.bim-value-flow .sora-contribution{border-top:3px solid var(--red);padding-top:17px}
.bim-value-flow .sora-contribution h3,.bim-value-flow .sora-contribution>span,.bim-value-flow .sora-contribution .process-owner{color:var(--red)}
.bim-value-flow .process-owner{font:14px/1.8 var(--sans);margin:7px 0 0;color:var(--muted)}
.bim-delivery-steps .sora-contribution{border-top:3px solid var(--red);padding-top:12px}
.bim-delivery-steps .sora-contribution>span,.bim-delivery-steps .sora-contribution h4{color:var(--red)}
a:focus-visible,button:focus-visible,.contact-form-button:focus-visible{outline-color:var(--ink)}
.home-member a:focus-visible,.commitment a:focus-visible{outline-color:white}
@media(max-width:760px){
  .hero-photo:after{background:linear-gradient(90deg,#101010cf,#171717a3 70%,#2020204d)}
  .bim-value-flow .sora-contribution{padding-top:13px}
}

/* AI transformation: neutral challenges; red identifies SORA's work and consultation. */
.ai-transformation{border-top:1px solid var(--line)}
.ai-heading{display:grid;grid-template-columns:1fr 1.3fr;gap:8%;margin:40px 0}
.ai-heading .eyebrow{font:14px/1.8 var(--sans);color:var(--muted);letter-spacing:.025em}
.ai-heading h2{font-size:clamp(30px,3.2vw,46px);margin:15px 0 0}
.ai-heading p{font-size:16px;line-height:2;margin:0 0 18px}
.ai-support-flow{margin:34px 0 45px;background:#f2f2f2;border-top:3px solid var(--red);padding:25px 28px 30px}
.ai-support-flow figcaption{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;margin-bottom:25px}
.ai-support-flow figcaption>span{font-size:13px;color:var(--red)}
.ai-support-flow figcaption strong{font-size:17px;font-weight:500;text-wrap:balance}
.ai-support-flow ol{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:27px;list-style:none;padding:0;margin:0}
.ai-support-flow li{position:relative;min-width:0;border-top:1px solid #a5a5a5;padding-top:15px}
.ai-support-flow li:not(:last-child):after{content:'→';position:absolute;right:-22px;top:52px;color:var(--muted);font:21px/1 Arial,sans-serif}
.ai-support-flow li>span{font:14px/1.5 Arial,sans-serif;color:var(--red)}
.ai-support-flow h3{font-size:20px;font-weight:500;margin:9px 0}
.ai-support-flow p{font-size:13px;line-height:1.9;color:var(--muted)}
.ai-challenges{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:7%;row-gap:0}
.ai-challenges article{min-width:0;border-top:1px solid var(--ink);padding:28px 0 34px}
.ai-theme{display:flex;align-items:center;gap:17px;font-size:13px;color:var(--muted)}
.ai-theme .line-icon{width:40px;height:40px}
.ai-challenges h3{font:500 clamp(25px,2.6vw,34px)/1.6 var(--serif);margin:18px 0}
.ai-challenges article>p{font-size:16px;line-height:2}
.ai-challenges .ai-outcome{border-top:1px solid var(--line);padding-top:15px;margin-top:20px;font-size:15px}
.ai-outcome>span{display:block;font-size:12px;color:var(--muted);margin-bottom:5px}
.ai-method{display:grid;grid-template-columns:1fr 1.3fr;column-gap:8%;border-top:1px solid var(--line);padding-top:30px;margin-top:3px}
.ai-method h3{font:500 26px/1.6 var(--serif);grid-row:1 / span 2}
.ai-method p{font-size:16px;line-height:2}
.ai-method .ai-method-note{font-size:13px;color:var(--muted);margin-top:15px}
.ai-consult{display:flex;justify-content:space-between;align-items:center;gap:35px;margin-top:32px}
.ai-consult p{font-size:16px;line-height:2}
.ai-consult .button{flex-shrink:0;margin-top:0;text-align:center}
@media(max-width:1100px){.ai-support-flow ol{gap:22px}.ai-support-flow h3{font-size:18px}.ai-support-flow li:not(:last-child):after{right:-19px;font-size:18px}.ai-consult{align-items:flex-start;flex-direction:column;gap:23px}}
@media(max-width:760px){
 .ai-heading{grid-template-columns:1fr;gap:25px;margin:29px 0}.ai-heading h2{font-size:32px}.ai-heading p:last-child{margin-bottom:0}
 .ai-support-flow{padding:22px 20px 26px;margin:28px 0 32px}.ai-support-flow figcaption{gap:7px;margin-bottom:23px}.ai-support-flow figcaption>span{font-size:13px}.ai-support-flow figcaption strong{font-size:16px}
 .ai-support-flow ol{grid-template-columns:1fr;gap:25px}.ai-support-flow li{display:grid;grid-template-columns:27px minmax(0,1fr);gap:3px 13px;padding-top:12px}.ai-support-flow li>span{grid-row:1 / span 2;padding-top:5px}.ai-support-flow h3{font-size:22px;margin:0}.ai-support-flow p{grid-column:2;font-size:14px}.ai-support-flow li:not(:last-child):after{content:'↓';right:0;top:auto;bottom:-22px;font-size:19px}
 .ai-challenges{grid-template-columns:1fr}.ai-challenges article{padding:24px 0 30px}.ai-challenges h3{font-size:clamp(23px,6.9vw,28px);margin:15px 0}.ai-theme .line-icon{width:36px;height:36px}
 .ai-method{grid-template-columns:1fr;gap:18px;padding-top:25px}.ai-method h3{grid-row:auto;font-size:26px}.ai-method .ai-method-note{margin-top:0}
 .ai-consult{margin-top:27px;gap:22px}.ai-consult .button{width:100%;justify-content:center;font-size:15px;padding:16px 12px;white-space:normal}.ai-consult p br{display:none}
}

.header nav > a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}

.home-news-strip.section {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px 24px;
  padding-block: 22px;
}
.home-news-strip .eyebrow {
  margin: 0;
  font-size: 11px;
  color: var(--muted);
}
.home-news-strip .text-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 44px;
  font-size: 14px;
}

footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) min(40%, 270px);
  align-items: center;
  gap: clamp(14px, 4vw, 36px);
  padding-block: clamp(20px, 3vw, 40px);
  border-top: 1px solid var(--line);
}
footer .footer-note {
  width: auto;
  max-width: none;
  font-size: 11px;
  line-height: 1.65;
  overflow-wrap: anywhere;
}
footer .footer-brand.sora-brand {
  width: 100%;
  justify-self: end;
}
