/* Desktop proportions follow the supplied Partners layout. */
:root{--first-gutter:3vw;--first-text:#36393a}
main{background-image:none}
.reference-hero{height:auto;min-height:0;padding:100px 1.85vw 0;background-image:none}
.reference-stage{position:relative;top:auto;height:auto;min-height:0;overflow:visible}
.reference-heading{position:relative;inset:auto;min-height:17.3vw;padding:4.2vw 0 1.6vw;grid-template-columns:3fr 1fr;gap:2vw;background:repeating-linear-gradient(90deg,#d9dbdc55 0 1px,transparent 1px 25%)}
.reference-heading h1{font-size:11.8vw;line-height:.8;letter-spacing:-.055em;padding:0;margin:0}
.reference-facts{height:11.5vw;padding:0 0 0 2vw;justify-content:space-between;border-bottom:1px solid #d9dbdc66}
.fact-copy{margin-left:auto;max-width:200px;text-align:left;padding-bottom:10px}
.fact-copy strong,.fact-copy>span{font-family:"Inter Display",sans-serif;font-size:clamp(15px,1.72vw,28px);font-weight:800;line-height:1.08;letter-spacing:-.035em;color:var(--ink);margin:0}
.fact-controls{gap:14px;padding-top:8px}
.reference-photo{position:relative;inset:auto;height:27vw;min-height:0;background:#36393a;isolation:isolate}
.reference-photo>img{object-position:50% 28%;filter:grayscale(1);height:100%;width:100%}
.reference-photo:after{background:linear-gradient(0deg,#0002,transparent 40%)}
.logo-strip{padding:3.6vw 0 3vw;background:var(--paper);color:var(--ink)}
.logo-set{gap:4vw;padding-right:4vw}
.logo-set a{width:12.5vw;height:7vw}
.logo-set img{max-height:5.2vw;max-width:11.8vw;filter:grayscale(1) brightness(0);opacity:.83}
.logo-track{animation-duration:100s}
#about.intro{display:flex;align-items:flex-start;justify-content:space-between;gap:6vw;padding:11.2vw var(--first-gutter) 8.2vw}
#about .intro-heading{font-family:"Inter Display",sans-serif;font-size:3.8vw;font-weight:800;line-height:1.17;letter-spacing:-.035em;max-width:65%;margin:0}
#about .intro-word{color:#b4b7ba}#about .intro-word.lit{color:var(--first-text)}
.services-tag{display:block;background:var(--first-text);color:#fff;padding:8px 14px;font:500 clamp(15px,1.65vw,25px)/1 "Inter Display",sans-serif;margin-top:12px;white-space:nowrap}
.service-showcase{display:grid;grid-template-columns:44% 48.5%;justify-content:space-between;align-items:start;padding:0 var(--first-gutter);color:var(--first-text)}
.service-menu{display:grid;position:sticky;top:140px;gap:2.3vw;padding:.2vw .6vw 0}
.service-choice{display:flex;align-items:center;justify-content:space-between;gap:15px;width:100%;padding:1.1vw 0 .8vw;background:none;color:var(--first-text);border:0;border-bottom:4px solid var(--first-text);text-align:left;font:700 clamp(22px,2.65vw,42px)/1.1 Greycliff,sans-serif;letter-spacing:-.035em;transition:color .25s,border-color .25s}
.service-choice svg{width:2.9vw;min-width:25px;height:2.9vw;flex-shrink:0;transition:transform .35s}
.service-choice:hover,.service-choice.is-active{color:#080a0b;border-color:#080a0b}
.service-choice:hover svg,.service-choice.is-active svg{transform:translate(3px,3px)}
.service-detail{height:51vw;position:relative;background:#36393a;overflow:hidden;isolation:isolate}
.service-image{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:opacity .3s,transform .7s}
.service-detail:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 20%,#0003 45%,#000e 88%);z-index:1;pointer-events:none}
.service-description{position:absolute;inset:auto 1.8vw 1.8vw 2.8vw;display:grid;grid-template-columns:1fr auto;gap:1.8vw;align-items:end;z-index:2;color:#fff}
.service-description p{font:500 clamp(15px,1.6vw,25px)/1.2 "Inter Display",sans-serif;letter-spacing:-.02em}
.service-inquire{display:grid;place-items:center;border:0;background:#000;color:#fff;border-radius:50%;height:5vw;width:5vw;min-height:48px;min-width:48px;padding:1.05vw;transition:background .2s,transform .2s}
.service-inquire svg{width:100%;height:100%}.service-inquire:hover{background:#526980;transform:translateY(-3px)}
.community-gallery{padding:6vw 0 0;position:relative}
.community-track{display:flex;gap:1.5vw;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 var(--first-gutter);scrollbar-width:none;overscroll-behavior-x:contain}
.community-track::-webkit-scrollbar{display:none}.community-track figure{flex:0 0 29.5vw;height:36vw;margin:0;scroll-snap-align:start;overflow:hidden;background:#36393a}.community-track img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:transform .7s}.community-track figure:hover img{transform:scale(1.03)}
.gallery-controls{display:flex;justify-content:flex-end;gap:8px;padding:12px var(--first-gutter)}
.gallery-controls button{width:34px;height:28px;border:1px solid #bbb;background:transparent;color:var(--first-text);font-size:18px}.gallery-controls button:hover{background:var(--first-text);color:#fff}.gallery-controls button:disabled{opacity:.3;cursor:default}
.community-wide{height:90vw;max-height:1500px;min-height:580px;background:#36393a;overflow:hidden}.community-wide img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) brightness(.8);object-position:center}
.inquiry-page{background:var(--paper)}
@media(min-width:1800px){.reference-hero{padding-top:7vw}}
@media(max-width:991px){.reference-hero{padding-top:120px}.reference-heading{min-height:170px;padding-top:45px;padding-bottom:24px}.reference-facts{height:120px}.fact-copy{max-width:140px}.reference-photo{height:34vw}.logo-strip{padding-top:35px;padding-bottom:30px}.logo-set a{height:65px;width:140px}.logo-set img{max-height:55px;max-width:130px}#about.intro{padding-top:85px}#about .intro-heading{font-size:4.2vw;max-width:74%}.service-choice{font-size:2.7vw;border-bottom-width:3px}.service-description{left:20px;right:15px;bottom:20px;gap:12px}.service-description p{font-size:16px}.service-detail{height:59vw}.service-menu{gap:2.6vw}.service-choice{padding:1.7vw 0 1.2vw}.community-wide{height:85vw}}
@media(max-width:600px){:root{--first-gutter:20px}.reference-hero{padding:105px 16px 0}.reference-heading{min-height:170px;grid-template-columns:1fr;padding:18px 0 20px;gap:20px}.reference-heading h1{font-size:18.6vw;letter-spacing:-.055em;line-height:.9}.reference-facts{height:auto;display:flex;flex-direction:row;align-items:center;padding:0;border:0;gap:15px}.fact-controls{padding:0;order:2;gap:8px}.fact-copy{margin:0;padding:0;max-width:245px;min-height:35px}.fact-copy strong,.fact-copy>span{font-size:15px;line-height:1.1}.reference-photo{height:54vw}.logo-strip{padding:24px 0}.logo-set{gap:30px;padding-right:30px}.logo-set a{width:105px;height:60px}.logo-set img{max-height:45px;max-width:100px}#about.intro{padding:70px 20px 45px;display:block}#about .intro-heading{max-width:100%;font-size:31px;line-height:1.14;letter-spacing:-.035em}.services-tag{display:inline-block;margin-top:22px;padding:7px 12px;font-size:15px}.service-showcase{display:flex;flex-direction:column;gap:28px;padding-inline:20px}.service-menu{position:relative;top:auto;width:100%;padding:0;gap:12px}.service-choice{font-size:25px;padding:12px 0 10px;border-bottom-width:2px}.service-choice svg{width:27px;height:27px}.service-detail{width:100%;height:122vw;min-height:460px;max-height:620px}.service-description{left:22px;right:18px;bottom:22px;gap:14px}.service-description p{font-size:17px;line-height:1.25}.service-inquire{padding:11px;min-width:45px;min-height:45px;width:45px;height:45px}.community-gallery{padding-top:36px}.community-track{gap:14px}.community-track figure{flex-basis:73vw;height:91vw}.gallery-controls{padding-block:14px}.community-wide{height:110svh;min-height:500px;max-height:900px}}
@media(prefers-reduced-motion:reduce){.service-image,.service-choice,.service-choice svg,.service-inquire,.community-track img{transition:none}.community-track{scroll-behavior:auto}}
/* Preserve white details inside the partner marks instead of flattening them. */
.logo-set img{filter:grayscale(1);mix-blend-mode:multiply}
.logo-set .partner-mark--white{filter:grayscale(1) invert(1)}
