/* V117 — distributed-campus vision, left-anchored hero, balanced marketplace imagery, and receiving-campus role showcase. */
:root { --v117-ink:#102a46; --v117-muted:#556b7d; --v117-rule:#dfe8ed; }
/* Anchor the copy to the left side of a centered editorial column; leave the image legible on the right. */
body.is-home .market-hero-v70 {
  min-height:720px;
  height:clamp(720px,91svh,940px);
  justify-content:center;
}
body.is-home .hero-full-scrim {
  background:linear-gradient(90deg,rgba(5,16,30,.82) 0%,rgba(5,18,34,.79) 28%,rgba(7,22,38,.62) 52%,rgba(6,18,33,.24) 83%,rgba(6,19,34,.18) 100%),linear-gradient(180deg,rgba(7,18,32,.18) 0%,rgba(5,16,30,.19) 57%,rgba(3,12,21,.43) 100%);
}
body.is-home .hero-full-content.hero-v100-content {
  max-width:1420px;
  width:100%;
  margin:0 auto;
  box-sizing:border-box;
  padding:calc(var(--v70-header-height) + 16px) clamp(26px,7.2vw,116px) 100px;
  align-items:flex-start;
  justify-content:center;
  text-align:left;
}
body.is-home .hero-v100-content .hero-full-kicker {
  max-width:740px;
  text-align:left;
  font-size:11px;
  letter-spacing:.16em;
}
body.is-home .hero-v100-content h1 {
  width:100%;
  max-width:780px;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(43px,4.55vw,68px);
  line-height:1.09;
  letter-spacing:-.038em;
  font-weight:400;
  text-align:left;
  text-wrap:balance;
  margin:clamp(18px,2vw,28px) 0 20px;
}
body.is-home .hero-v100-content .v111-hero-subtitle {
  width:100%;
  max-width:675px;
  text-align:left;
  margin:0 0 30px;
  font-size:clamp(16px,1.35vw,19px);
  line-height:1.6;
  text-wrap:pretty;
  color:#f2f5f5;
}
body.is-home .hero-v100-content .v111-hero-subtitle strong { color:#fff;font-weight:750; }
body.is-home .hero-v100-content .v109-hero-search {
  width:min(585px,100%);
  max-width:585px;
  margin:0;
}
body.is-home .hero-v100-content .hero-full-actions.v109-hero-links {
  margin:21px 0 0;
  justify-content:flex-start;
  text-align:left;
  gap:12px 27px;
}
body.is-home .hero-v100-content .v109-hero-links a {font-size:13px}

/* Images alternate naturally with the dense evidence and work-product sections. */
.v90-home .v117-marketplace-worlds{margin-top:clamp(28px,3.8vw,55px);padding-top:0!important;}
.v90-home .v117-marketplace-worlds .section-header {margin-bottom:23px}
.v90-home .v117-marketplace-worlds .v90-world-tile {height:clamp(240px,23vw,302px)}
.v90-home .v117-market-entry {margin-top:clamp(42px,5.5vw,74px);margin-bottom:clamp(43px,5.5vw,80px)}
.v90-home .v117-market-entry .section-header {margin-bottom:23px}
.v90-home .v117-market-image-grid {gap:15px}
.v90-home .v117-market-image-grid .v90-path-tile {min-height:clamp(250px,24vw,312px)}
.v90-home .v117-market-image-grid .v90-path-content {padding:26px 22px 24px}

/* The visible jobs a campus can receive, styled as one cohesive photographic gallery. */
.v117-development-gallery {margin:clamp(46px,6vw,88px) 0 clamp(48px,6vw,83px)}
.v117-development-gallery .section-header {margin-bottom:24px}
.v117-gallery-grid {display:grid;grid-template-columns:1.17fr 1fr 1fr;gap:15px}
.v117-gallery-card {isolation:isolate;position:relative;min-height:clamp(265px,26vw,362px);overflow:hidden;border-radius:17px;background:#102d4c;color:#fff;display:block;text-decoration:none}
.v117-gallery-card img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.v117-gallery-card:after {content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,17,30,.01) 14%,rgba(5,18,34,.38) 54%,rgba(5,17,30,.92) 100%);pointer-events:none}
.v117-gallery-card:hover img {transform:scale(1.04)}
.v117-gallery-card:focus-visible {outline:3px solid #a8c9dd;outline-offset:4px}
.v117-gallery-copy {position:absolute;bottom:0;left:0;right:0;z-index:2;display:flex;flex-direction:column;gap:10px;padding:clamp(18px,2.2vw,30px)}
.v117-gallery-copy small {font-size:10px;letter-spacing:.13em;color:#f5dbab;font-weight:800}
.v117-gallery-copy strong {font:normal clamp(22px,2.1vw,30px)/1.12 Georgia,'Times New Roman',serif;letter-spacing:-.025em;max-width:280px}
.v117-gallery-copy>span {color:#e5eefa;font-size:12px;line-height:1.5;max-width:255px}
.v117-gallery-copy b {position:absolute;right:22px;bottom:24px;font-size:21px;font-weight:500}

/* Receiving campuses are development environments; they are not mislabelled IP storefronts. */
.v90-home .v117-builder-campus-section {scroll-margin-top:108px;padding:clamp(34px,5vw,60px) clamp(18px,3.25vw,42px) clamp(30px,4.5vw,52px);margin:clamp(37px,5vw,67px) 0;border:1px solid #dce6ed;border-radius:21px;background:linear-gradient(146deg,#f3f8fb 0%,#f9fbfc 44%,#f1f6f9 100%)}
.v117-builder-campus-heading {display:flex;justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:25px}
.v117-builder-campus-heading>div{max-width:810px}
.v117-builder-campus-heading h2{font:normal clamp(30px,3.3vw,46px)/1.14 Georgia,'Times New Roman',serif;color:#123450;letter-spacing:-.031em;margin:12px 0 15px;text-wrap:balance}
.v117-builder-campus-heading p{font-size:clamp(14px,1.25vw,17px);line-height:1.65;color:#536b7c;margin:0;max-width:800px}
.v117-builder-campus-heading>a {white-space:nowrap;align-self:end;margin-bottom:5px}
.v117-campus-example-row {display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#b2c7d8 transparent;padding:2px 1px 14px;overscroll-behavior-inline:contain}
.v117-campus-example {position:relative;display:flex;flex-direction:column;gap:11px;min-width:0;flex:0 0 calc((100% - 48px)/5);min-height:252px;box-sizing:border-box;padding:22px 19px;background:#fff;border:1px solid #dee7ed;border-top:3px solid #386a91;border-radius:11px;color:inherit;text-decoration:none;scroll-snap-align:start;transition:transform .22s ease,box-shadow .22s ease}
.v117-campus-example:hover {transform:translateY(-3px);box-shadow:0 13px 30px rgba(20,57,88,.09)}
.v117-campus-example:focus-visible{outline:3px solid #3976a8;outline-offset:3px}
.v117-campus-type {color:#6b8ba2;font-size:9px;font-weight:800;letter-spacing:.105em;line-height:1.5;min-height:26px}
.v117-campus-example>strong {font-size:clamp(17px,1.45vw,20px);line-height:1.21;letter-spacing:-.026em;color:#153c59}
.v117-campus-work{font-size:12px;line-height:1.5;color:#597181}
.v117-campus-output{border-top:1px solid #e7edf1;margin-top:auto;padding-top:12px;font-size:12px;font-weight:750;color:#26618c;line-height:1.4;padding-right:12px}
.v117-campus-example b {position:absolute;right:17px;bottom:17px;color:#2c668d;font-size:17px;font-weight:600}
.v117-campus-footer{display:flex;justify-content:space-between;align-items:center;gap:22px;padding-top:15px;border-top:1px solid #dbe5ed}
.v117-campus-footer p{font-size:11.3px;line-height:1.55;max-width:740px;color:#647b8a;margin:0}
.v117-campus-footer p strong{color:#365c75}
.v117-campus-footer a{font-size:12px;font-weight:750;text-decoration:none;white-space:nowrap;color:#215d86}
.v117-campus-footer a:hover{text-decoration:underline}

@media(max-width:1140px){
  .v117-campus-example{flex-basis:calc((100% - 36px)/4);}
  .v117-builder-campus-heading>a{white-space:normal;max-width:200px;}
}
@media(max-width:900px){
  body.is-home .hero-full-content.hero-v100-content{padding:calc(var(--v70-header-height) + 28px) clamp(26px,5.5vw,60px) 105px;}
  body.is-home .hero-v100-content h1{font-size:clamp(42px,5.7vw,57px);max-width:700px}
  body.is-home .hero-v100-content .v111-hero-subtitle{max-width:635px}
  .v117-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
  .v117-gallery-copy{padding:20px 16px}
  .v117-gallery-copy strong{font-size:23px}
  .v117-gallery-copy b{right:13px;bottom:15px}
  .v117-campus-example{flex-basis:calc((100% - 24px)/3);}
  .v117-campus-footer{align-items:flex-start;flex-direction:column;gap:10px}
}
@media(max-width:650px){
  body.is-home .market-hero-v70{min-height:710px;height:auto;}
  body.is-home .hero-full-scrim{background:linear-gradient(90deg,rgba(4,15,28,.83),rgba(5,18,32,.65)),linear-gradient(180deg,rgba(4,15,28,.16),rgba(4,15,28,.57));}
  body.is-home .hero-full-content.hero-v100-content{padding:calc(var(--v70-header-height) + 66px) 22px 126px;align-items:flex-start;text-align:left;}
  body.is-home .hero-v100-content .hero-full-kicker{font-size:9px;letter-spacing:.085em;max-width:100%;text-align:left}
  body.is-home .hero-v100-content h1{font-size:clamp(35px,8.3vw,49px);line-height:1.09;max-width:550px;text-align:left;margin:19px 0 20px;}
  body.is-home .hero-v100-content .v111-hero-subtitle{font-size:clamp(14.5px,3.72vw,16.5px);line-height:1.51;max-width:540px;margin:0 0 25px;text-align:left}
  body.is-home .hero-v100-content .v109-hero-search{width:100%;max-width:540px;margin:0;}
  body.is-home .hero-v100-content .hero-full-actions.v109-hero-links{justify-content:flex-start;margin:18px 0 0;gap:12px 20px;text-align:left}
  body.is-home .hero-v100-content .v109-hero-links a{font-size:12px}
  body.is-home .hero-full-caption{display:none}
  .v90-home .v117-market-entry{margin-top:43px;margin-bottom:52px}
  .v90-home .v117-marketplace-worlds .v90-world-tile{height:280px}
  .v90-home .v117-market-image-grid .v90-path-tile{min-height:272px}
  .v117-development-gallery{margin-top:46px;margin-bottom:53px}
  .v117-gallery-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin-right:-14px;padding-right:14px;scrollbar-width:none}
  .v117-gallery-card{flex:0 0 77vw;max-width:330px;min-height:300px;scroll-snap-align:start}
  .v117-gallery-copy{padding:22px}
  .v117-gallery-copy strong{font-size:28px}
  .v90-home .v117-builder-campus-section{padding:27px 18px 26px;margin:37px 0;border-radius:15px}
  .v117-builder-campus-heading{display:block;margin-bottom:22px}
  .v117-builder-campus-heading h2{font-size:clamp(29px,7.1vw,37px);margin:9px 0 12px}
  .v117-builder-campus-heading p{font-size:14px}
  .v117-builder-campus-heading>a{display:inline-block;margin-top:15px;font-size:12px}
  .v117-campus-example-row{margin-right:-18px;padding-right:18px;gap:11px}
  .v117-campus-example{flex:0 0 75vw;max-width:270px;min-height:235px;padding:20px 18px;}
  .v117-campus-example>strong{font-size:20px}
  .v117-campus-footer{padding-top:13px}
  .v117-campus-footer a{font-size:11.5px;white-space:normal}
}
@media(max-width:380px){
  body.is-home .hero-full-content.hero-v100-content{padding:calc(var(--v70-header-height) + 43px) 18px 110px;}
  body.is-home .hero-v100-content h1{font-size:clamp(32px,8.3vw,37px)}
  body.is-home .hero-v100-content .v111-hero-subtitle{font-size:14px}
  .v117-gallery-card{flex-basis:83vw}
}
@media(prefers-reduced-motion:reduce){.v117-gallery-card img,.v117-campus-example{transition:none}}

/* Keep long marketplace category titles clear of the lower-right navigation arrow. */
.v117-marketplace-worlds .v90-world-caption strong {max-width:calc(100% - 23px);font-size:clamp(20px,1.84vw,27px);overflow-wrap:break-word}
.v117-market-entry .v90-path-content strong {max-width:calc(100% - 17px);overflow-wrap:break-word}
@media(max-width:650px){.v117-marketplace-worlds .v90-world-caption strong{font-size:26px}}
/* On narrow 320px devices, legacy edge-to-edge campus/marketplace rails must remain internally swipeable without widening the document. */
@media(max-width:380px){body.is-home {overflow-x:clip}}
@media(max-width:380px){html:has(body.is-home){overflow-x:clip}}
