/* Shared layout for independent services. Red marks SORA's work or consultation. */
.service-route{padding-top:17px;padding-bottom:0}.service-route .breadcrumbs{margin-bottom:12px}
.service-tabs{display:flex;gap:28px;overflow-x:auto;padding:5px 2px 16px;border-bottom:1px solid var(--line);white-space:nowrap;font-size:14px;scrollbar-width:thin}.service-tabs a{display:inline-flex;align-items:center;min-height:40px;border-bottom:1px solid transparent}.service-tabs a:hover,.service-tabs a[aria-current]{border-color:var(--ink)}.service-tabs a[aria-current]{font-weight:600}.service-back{color:var(--muted)}
.catalog-intro{padding-top:24px;padding-bottom:32px}.catalog-heading{display:flex;justify-content:space-between;gap:30px;align-items:center}.catalog-heading h1{font:500 clamp(30px,3.8vw,52px)/1.5 var(--serif);white-space:normal;margin:15px 0}.catalog-heading p{font-size:16px;color:var(--muted)}
.service-catalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:43px 42px;padding-top:0;padding-bottom:65px}.catalog-card{display:block;border-bottom:1px solid var(--ink);padding-bottom:23px;min-width:0}.catalog-art{height:235px;background:#f1f1ef;margin:0 0 20px;position:relative;overflow:hidden}.catalog-art img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .25s}.catalog-card:hover .catalog-art img{transform:scale(1.025)}.catalog-photo img{object-fit:cover;object-position:50% 57%;filter:none}.catalog-photo figcaption{position:absolute;right:14px;bottom:9px;font-size:11px;color:white;background:#20202088;padding:1px 7px}.catalog-card-heading>span{font:12px/1.7 Arial,var(--sans);color:var(--muted);letter-spacing:.06em}.catalog-card h2{font:500 clamp(22px,2.1vw,30px)/1.55 var(--serif);margin:6px 0 12px}.catalog-card>p{font-size:15px;color:var(--muted);margin-bottom:15px}.catalog-link{display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:14px}.catalog-link>span{font:25px/1 Arial,sans-serif}.catalog-foundation{padding-top:35px;padding-bottom:42px;border-top:3px solid var(--red);background:#f2f2f2;text-align:center}.catalog-foundation .eyebrow{display:block;color:var(--red)}.catalog-foundation h2{font-family:var(--sans);font-size:clamp(27px,3vw,40px);margin:9px 0}.catalog-foundation p{margin-bottom:15px;font-size:16px}.catalog-foundation .text-link{font-size:14px}
.service-hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:6%;align-items:center;padding-top:34px;padding-bottom:49px}.service-hero h1{font:500 clamp(33px,4vw,55px)/1.45 var(--serif);white-space:normal;letter-spacing:.01em;margin:17px 0 24px}.service-statement{font-size:19px;line-height:1.85}.service-tags{list-style:none;display:flex;flex-wrap:wrap;gap:6px 17px;padding:0;margin:20px 0;color:var(--muted);font-size:13px}.service-tags li{border-bottom:1px solid var(--line);padding-bottom:3px}.service-hero .text-link{display:inline-flex;align-items:center;gap:25px;min-height:44px;font-size:14px}.service-hero-art{margin:0;background:#f1f1ef;position:relative;min-width:0}.service-hero-art img{display:block;width:100%;height:auto;aspect-ratio:1.54;object-fit:contain;filter:none}.service-hero-art figcaption{font-size:12px;line-height:1.8;color:var(--muted);padding:8px 16px 12px;border-top:1px solid #e0e0dc}.service-photo img{object-fit:cover;object-position:65% 50%;aspect-ratio:1.2}.service-hero .status-label{margin-top:20px}.service-hero .small-note{font-size:13px;line-height:1.9;color:var(--muted);max-width:370px;margin-top:13px}
.service-story,.service-process,.service-specification{border-top:1px solid var(--line);padding-top:48px;padding-bottom:52px}.visual-section-heading{margin:0 0 28px}.visual-section-heading h2{font-size:clamp(27px,2.7vw,39px);margin:11px 0 12px;line-height:1.5;text-wrap:balance}.visual-section-heading>p:last-child:not(.eyebrow){font-size:16px;color:var(--muted);line-height:1.9}.wide-illustration{margin:0 0 28px;background:#f1f1ef}.wide-illustration img{display:block;width:100%;height:auto;max-height:450px;object-fit:contain}.wide-illustration figcaption{border-top:1px solid var(--line);font-size:12px;line-height:1.8;padding:11px 17px;color:var(--muted)}
.visual-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}.visual-principles article{border-top:1px solid var(--line);padding-top:17px}.visual-principles article>span{font:12px/1.8 Arial,var(--sans);color:var(--muted)}.visual-principles h3{font:500 23px/1.5 var(--serif);margin:9px 0}.visual-principles p{font-size:15px;color:var(--muted)}
.picture-process{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;list-style:none;margin:29px 0 0;padding:0}.picture-process li{position:relative;border-top:1px solid #aaa;padding-top:17px;min-width:0}.picture-process li>span{font:12px/1.7 Arial,var(--sans);color:var(--muted)}.picture-process svg{display:block;width:68px;height:68px;stroke:var(--ink);stroke-width:1.5;fill:none;stroke-linecap:round;stroke-linejoin:round;margin:20px 0}.picture-process li:not(:last-child):after{content:'→';position:absolute;right:-28px;top:87px;font:24px/1 Arial,sans-serif;color:#888}.picture-process h3{font:500 24px/1.5 var(--serif);margin:0 0 9px}.picture-process p{font-size:14px;line-height:1.8;color:var(--muted)}.picture-process .sora-step{border-top:3px solid var(--red);padding-top:15px}.picture-process .sora-step>span{color:var(--red)}.picture-process .sora-step svg{stroke:var(--red)}.exit-labels{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.exit-labels span{border:1px solid var(--line);padding:2px 8px;font-size:13px}.support-band{display:flex;gap:25px;align-items:center;background:#f2f2f2;border-top:3px solid var(--red);margin-top:33px;padding:20px 24px}.support-band>span{color:var(--red);font-size:13px}.support-band strong{font-size:18px;font-weight:500}
.challenge-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:37px 40px}.challenge-grid article{min-width:0;border-top:1px solid var(--ink);padding-top:19px}.challenge-heading>span{font-size:12px;color:var(--muted)}.challenge-heading h3{font:500 clamp(19px,1.85vw,26px)/1.5 var(--serif);margin:8px 0 17px;white-space:normal}.challenge-picture{margin:0;background:#f3f3f1}.challenge-picture img{display:block;width:100%;height:auto;max-height:178px}.change-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:16px 0;font-size:14px}.change-row span{color:var(--muted)}.change-row b{font:20px/1 Arial,sans-serif;color:#888}.change-row strong{color:var(--red);font-weight:500}.challenge-grid article>p{font-size:15px;line-height:1.85;margin-top:14px}
.five-step{grid-template-columns:repeat(5,minmax(0,1fr));gap:24px}.five-step h3{font-size:21px}.five-step svg{width:56px;height:56px;margin:18px 0}.five-step li:not(:last-child):after{right:-20px;top:75px;font-size:20px}.page-ai .five-step li{border-top:3px solid var(--red);padding-top:15px}.page-ai .five-step li>span{color:var(--red)}.method-caption{font-size:14px;color:var(--muted);line-height:1.85;margin:27px 0 0;max-width:790px}.service-details{margin-top:25px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:14px}.service-details summary{padding:16px 0;cursor:pointer;font-weight:500;min-height:52px}.service-details p{padding:0 0 18px;max-width:820px;color:var(--muted);line-height:1.9}.service-details summary:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.service-mission{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:34px 8%;background:var(--ink);color:white;padding-top:51px;padding-bottom:49px}.service-mission h2{font-size:clamp(29px,2.9vw,40px);margin:14px 0 19px}.service-mission>div>p{font-size:15px;line-height:1.9}.mission-loop{display:flex;flex-direction:column;align-items:center;justify-content:center;border-left:1px solid #666;padding-left:35px;gap:7px}.mission-loop>span{font-size:19px}.mission-loop>b{font:20px/1 Arial;color:#aaa}.mission-loop>p{color:var(--red-on-dark);margin-top:13px;font-size:13px}.mission-details{grid-column:1/-1;border-color:#666;margin-top:0}.mission-details p{color:#ddd}.mission-details summary:focus-visible{outline-color:white}
.service-specification .bim-detail-grid{margin-top:0}.service-specification .bim-price h3{font-size:24px}.service-specification .bim-price-note{line-height:1.9}.bim-delivery-picture li>span{font-size:11px}
.home-service-map{margin:0}.home-service-map figcaption{font-size:13px;color:var(--muted);margin:0 0 19px}.home-service-map-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.home-service-map-grid a{display:block;border-bottom:1px solid var(--ink);padding-bottom:18px;min-width:0}.home-service-map-grid img{display:block;width:100%;height:155px;object-fit:contain;background:#f1f1ef;margin-bottom:14px}.home-service-map-grid .home-space-photo{object-fit:cover;filter:none}.home-service-map-grid h3{font:500 20px/1.6 var(--serif);margin-bottom:7px}.home-service-map-grid span{font-size:12px;color:var(--muted)}.home-service-map .support-band{justify-content:space-between;margin-top:29px}.home-service-map .support-band strong{font-size:17px}.home-service-map .support-band a{font-size:14px;text-decoration:underline;text-underline-offset:4px}.page-members .member-strengths p{max-width:300px}
@media(max-width:1100px){.service-hero{gap:4%}.service-statement{font-size:17px}.catalog-heading{display:block}.catalog-heading p{margin-top:6px}.five-step h3{font-size:18px}.five-step{gap:19px}.five-step li:not(:last-child):after{right:-17px}.home-service-map-grid{gap:16px}.home-service-map-grid h3{font-size:18px}.change-row{font-size:13px;gap:7px}}
@media(max-width:760px){
 .service-route{padding-top:13px}.service-route .breadcrumbs{font-size:12px;gap:9px;flex-wrap:wrap;margin-bottom:9px}.service-tabs{gap:23px;font-size:13px;padding-bottom:10px}
 .catalog-intro{padding-top:17px;padding-bottom:23px}.catalog-heading h1{font-size:30px;line-height:1.5;margin:13px 0}.catalog-heading p{font-size:15px}.service-catalog{grid-template-columns:1fr;gap:28px;padding-bottom:38px}.catalog-art{height:213px;margin-bottom:16px}.catalog-card h2{font-size:25px}.catalog-card>p{font-size:15px}.catalog-foundation{padding-top:29px;padding-bottom:33px}.catalog-foundation p{font-size:14px}
 .service-hero{grid-template-columns:1fr;gap:25px;padding-top:27px;padding-bottom:35px}.service-hero h1{font-size:34px;margin:13px 0 19px}.service-statement{font-size:17px}.service-tags{margin:16px 0 10px;gap:6px 14px}.service-photo img{aspect-ratio:1.45}.service-hero-art figcaption{font-size:11px;padding:8px 12px}.service-hero .small-note{font-size:13px}
 .service-story,.service-process,.service-specification{padding-top:34px;padding-bottom:37px}.visual-section-heading{margin-bottom:22px}.visual-section-heading h2{font-size:28px}.visual-section-heading>p:last-child:not(.eyebrow){font-size:15px}.wide-illustration img{max-height:none}.wide-illustration figcaption{font-size:11px;padding:10px 12px}.visual-principles{grid-template-columns:1fr;gap:20px}.visual-principles h3{font-size:23px;margin:6px 0}.visual-principles article{padding-top:14px}
 .picture-process,.five-step{grid-template-columns:1fr;gap:22px;margin-top:22px}.picture-process li{display:grid;grid-template-columns:67px minmax(0,1fr);gap:4px 19px;padding-top:16px}.picture-process li>span{grid-column:2}.picture-process svg,.five-step svg{grid-column:1;grid-row:1/span 3;width:57px;height:57px;margin:6px 0 0}.picture-process h3,.five-step h3{grid-column:2;font-size:23px;margin:0}.picture-process p{grid-column:2;font-size:14px}.picture-process li:not(:last-child):after,.five-step li:not(:last-child):after{content:'↓';top:auto;bottom:-20px;right:auto;left:22px;font-size:19px}.picture-process .sora-step{padding-top:14px}.property-process .exit-labels{grid-column:2;margin:7px 0}.support-band{align-items:flex-start;flex-direction:column;gap:8px;padding:19px 17px;margin-top:25px}.support-band strong{font-size:17px}
 .challenge-grid{grid-template-columns:1fr;gap:31px}.challenge-heading h3{font-size:21px;margin-bottom:15px}.challenge-picture img{max-height:none}.change-row{gap:7px;font-size:13px}.change-row strong{font-size:13px}.challenge-grid article>p{font-size:15px}.service-mission{grid-template-columns:1fr;gap:28px;padding-top:36px;padding-bottom:34px}.service-mission h2{font-size:29px}.mission-loop{border-left:0;border-top:1px solid #666;padding:23px 0 0}.mission-loop>span{font-size:19px}.mission-details{grid-column:auto}.method-caption{font-size:13px;margin-top:24px}.service-details{font-size:14px;margin-top:22px}.service-details summary{padding:16px 0}.service-details p{font-size:14px}
 .home-service-map-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 17px}.home-service-map-grid img{height:130px}.home-service-map-grid h3{font-size:17px;line-height:1.5}.home-service-map-grid span{font-size:11px}.home-service-map .support-band{gap:12px}.home-service-map .support-band strong{font-size:16px}
}
@media(max-width:360px){.service-hero h1{font-size:31px}.catalog-card h2{font-size:22px}.challenge-heading h3{font-size:19px}.change-row{flex-wrap:wrap;justify-content:flex-start;gap:7px 10px}.change-row strong{flex-basis:100%}.home-service-map-grid img{height:100px}.home-service-map-grid h3{font-size:15px}}
.catalog-heading h1 span{display:inline-block}

.greenery-services {
  border-top: 1px solid #cbd7cc;
  scroll-margin-top: 32px;
}
.greenery-services > h2 {
  font: 500 clamp(25px, 3vw, 40px)/1.55 var(--serif);
  margin: 12px 0 26px;
}
.greenery-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px 42px;
}
.greenery-grid h3,
.greenery-lease h3 {
  font: 500 23px/1.6 var(--serif);
  margin-bottom: 10px;
}
.greenery-grid p,
.greenery-lease p,
.greenery-maintenance {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.9;
}
.greenery-lease {
  margin: 28px 0 20px;
  padding: 22px 26px;
  background: #f3f6f2;
  border-left: 2px solid #55755d;
}
.greenery-services > .button { margin-top: 20px; }
.greenery-credit {
  margin-top: 20px;
  color: var(--muted);
  font-size: 11px;
}
@media (max-width: 700px) {
  .greenery-grid { grid-template-columns: minmax(0, 1fr); }
  .greenery-lease { padding: 18px 20px; }
}
.catalog-green{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:42px;align-items:center}.catalog-green .catalog-art{height:285px;margin:0}.catalog-green-copy>p{font-size:15px;line-height:1.9;color:var(--muted);margin:0 0 17px}.catalog-green-services{display:flex;flex-wrap:wrap;gap:7px;list-style:none;padding:0;margin:0 0 24px}.catalog-green-services li{border:1px solid #cbd7cc;background:#f3f6f2;color:#3d5b45;padding:5px 9px;font-size:12px}.catalog-green .catalog-link{border-top:1px solid #d7d7d2;padding-top:14px}@media(max-width:700px){.catalog-green{grid-template-columns:1fr;gap:20px}.catalog-green .catalog-art{height:230px}}

.visual-section-heading h2>span,.challenge-heading h3>span{display:inline-block}

.service-document{scroll-behavior:auto}
.service-page .contact h2{font-size:clamp(28px,3.2vw,44px)}
@media(max-width:760px){.service-page .contact h2{font-size:clamp(27px,7.2vw,32px)}}
