.contractor-story{--story-ink:#111214;--story-muted:#66686c;--story-gold:#c7a861;background:#f4f3f0;color:var(--story-ink);padding:clamp(58px,7vw,96px) 0 70px;overflow:hidden}
.contractor-story>.wrap{max-width:1440px}
.contractor-story-layout{display:grid;grid-template-columns:minmax(380px,.94fr) minmax(0,1.06fr);align-items:center;gap:clamp(32px,4.2vw,68px)}
.contractor-story-copy{max-width:620px}
.contractor-story h2{font-family:Barlow,'Arial Narrow',Arial,sans-serif;font-size:16px;font-weight:800;line-height:1;margin:0 0 24px;color:#101113}
.contractor-story h2 .story-heading-context{display:flex;align-items:center;gap:10px;margin:0 0 12px;color:#686a6e;font-family:Manrope,Arial,sans-serif;font-size:11px;font-weight:800;line-height:1.2;letter-spacing:.13em;text-transform:uppercase;white-space:nowrap}
.contractor-story h2 .story-heading-context i{display:block;width:4px;height:4px;flex:0 0 4px;border-radius:50%;background:#b69b62}
.contractor-story h2 .story-heading-main{display:block;color:#101113;font-size:clamp(56px,5.75vw,78px);font-weight:900;line-height:.89;letter-spacing:-.045em;-webkit-text-stroke:.35px currentColor;text-wrap:balance}
.contractor-story h2 .story-heading-break{display:block}
.contractor-story h2 .story-heading-accent{display:block;color:#737579;text-wrap:balance}
@media(min-width:1151px){.contractor-story h2 .story-heading-main{font-size:clamp(38px,3.2vw,48px);line-height:1;letter-spacing:-.05em;white-space:nowrap}.contractor-story h2 .story-heading-break{display:none}.contractor-story h2 .story-heading-accent{display:inline}}
.contractor-story .story-promise{font-size:clamp(16px,1.25vw,18px);font-weight:500;line-height:1.62;letter-spacing:-.01em;margin:0 0 22px;color:#3b3c40;max-width:565px}
.contractor-story .story-type-line{font-size:clamp(20px,1.75vw,24px);font-weight:750;line-height:1.25;color:#17181a;margin:0;min-height:64px}
.story-type-prefix{display:inline-block;margin-bottom:5px;color:#606267;font-size:.64em;font-weight:850;letter-spacing:.105em;text-transform:uppercase}
.story-state{display:inline-block;color:#090a0b;font-weight:800;border-bottom:2px solid #b2a276;white-space:nowrap;min-width:1ch}
.story-consult-link{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;margin-top:22px;min-height:52px;padding:0 18px;border:1px solid #101113;border-radius:4px;background:#101113;color:#fff;font-size:13px;font-weight:800;letter-spacing:.01em;transition:background .2s,color .2s,transform .2s}
.story-consult-link:hover{background:#fff;color:#111;transform:translateY(-2px)}
.story-consult-link span{font-size:19px;line-height:1}
.industry-carousel{width:100%;margin:21px 0 0;overflow:hidden;display:grid;gap:7px;padding:13px 0;border-top:1px solid #d9d8d4;border-bottom:1px solid #d9d8d4;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.industry-lane{width:100%;overflow:hidden}
.industry-track{display:flex;width:max-content;gap:7px;animation:industry-drift var(--marquee-duration,600s) linear infinite;will-change:transform}
.industry-lane-reverse .industry-track{animation-name:industry-drift-reverse}
.industry-lane-third .industry-track{animation-name:industry-drift;animation-delay:-7s}
.industry-carousel:hover .industry-track,.industry-carousel:focus-within .industry-track{animation-play-state:paused}
.industry-chip{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:0 10px;border:1px solid #dfdedb;border-radius:999px;background:#fbfaf8;color:#303135;font-size:11px;font-weight:700;white-space:nowrap}
.industry-chip svg{width:14px;height:14px;fill:none;stroke:#85827a;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.industry-accessible-note{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes industry-drift{to{transform:translateX(-50%)}}
@keyframes industry-drift-reverse{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.partner-comparison{--reveal:50%;position:relative;width:100%;max-width:920px;aspect-ratio:1.25/1;margin:0;justify-self:end;overflow:hidden;border:1px solid #888987;border-radius:20px;background:#161719;box-shadow:0 22px 55px #17181720;isolation:isolate}
.comparison-scene{position:absolute;inset:0;overflow:hidden}
.comparison-before{background:linear-gradient(145deg,#18191b 0%,#28292b 54%,#202123 100%);color:#f7f7f5}
.comparison-after{z-index:2;clip-path:inset(0 0 0 var(--reveal));background:linear-gradient(145deg,#fcfbf8 0%,#f1f0ec 58%,#e3e2de 100%);color:#151618}
.comparison-copy{position:absolute;top:24px;bottom:22px;left:25px;width:calc(50% - 54px);display:flex;flex-direction:column;align-items:flex-start}
.comparison-after .comparison-copy{left:auto;right:25px}
.comparison-kicker{display:inline-flex;align-items:center;min-height:22px;padding:0 9px;border:1px solid currentColor;border-radius:999px;font-size:9px;font-weight:900;letter-spacing:.16em;white-space:nowrap}
.comparison-after .comparison-kicker{border-color:#858174}
.comparison-copy h3{font-family:Barlow,'Arial Narrow',Arial,sans-serif;font-size:clamp(25px,2.2vw,34px);font-weight:800;line-height:.99;letter-spacing:-.035em;margin:12px 0 9px;text-wrap:balance}
.comparison-copy p{font-size:clamp(13px,1.05vw,15px);font-weight:500;line-height:1.48;margin:0;max-width:330px;color:inherit;opacity:.84}
.comparison-art{position:relative;width:100%;height:clamp(165px,14.5vw,205px);margin:auto 0 13px;display:grid;place-items:end center;overflow:hidden;border:1px solid #ffffff16;border-radius:13px;background:linear-gradient(180deg,#ffffff10,#ffffff1e)}
.comparison-art:before{content:"";position:absolute;width:75%;height:78%;left:13%;bottom:-17%;border-radius:50% 50% 0 0;background:radial-gradient(ellipse,#c9c8c4 0,#a8a7a3 48%,transparent 76%);opacity:.9}
.comparison-art img{position:relative;z-index:1;display:block;width:auto;max-width:92%;max-height:clamp(160px,14vw,190px);height:auto;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 7px 10px #0002)}
.comparison-art-after{border-color:#14141412;background:linear-gradient(180deg,#fff9,#deddd9)}
.comparison-art-after:before{background:radial-gradient(ellipse,#fff 0,#d9d8d4 58%,transparent 78%);opacity:.9}
.comic-note{position:absolute;z-index:2;right:10px;bottom:10px;padding:7px 9px;border:1px solid #ffffff5c;border-radius:3px;background:#141517;color:#fff;font-size:8px;font-weight:850;letter-spacing:.1em;line-height:1.1;white-space:nowrap}
.comparison-after .comic-note{border-color:#19191920;background:#fff;color:#292a2b}
.comparison-points{width:100%;list-style:none;padding:0;margin:0;display:grid;gap:6px}
.comparison-points li{display:flex;gap:8px;align-items:flex-start;font-size:clamp(11px,.91vw,13px);font-weight:700;line-height:1.25}
.comparison-points li span{flex:0 0 14px;font-size:15px;font-weight:900;line-height:1}
.comparison-before .comparison-points li span{color:#c9c7c1}
.comparison-after .comparison-points li span{color:#5b594f}
.comparison-divider{position:absolute;z-index:4;top:0;bottom:0;left:var(--reveal);width:2px;background:#c9a85f;box-shadow:0 0 0 1px #0003,0 0 16px #c9a85f55;transform:translateX(-50%);pointer-events:none;display:grid;place-items:center}
.comparison-divider span{width:42px;height:42px;border:1px solid #a49161;border-radius:50%;display:grid;place-items:center;background:#fff;color:#191a1b;font-size:21px;font-weight:500;box-shadow:0 4px 16px #0003}
.comparison-range{position:absolute;z-index:5;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;touch-action:pan-y}
.comparison-range:focus-visible{opacity:0;outline:none}.partner-comparison:focus-within .comparison-divider span{outline:3px solid #c7a54f;outline-offset:3px}
.comparison-range::-webkit-slider-runnable-track{height:100%;background:transparent}
.comparison-range::-moz-range-track{height:100%;background:transparent}
.comparison-range::-webkit-slider-thumb{-webkit-appearance:none;width:32px;height:100%;background:transparent;border:0}
.comparison-range::-moz-range-thumb{width:32px;height:100%;background:transparent;border:0}
.story-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1150px){.contractor-story-layout{grid-template-columns:minmax(310px,.88fr) minmax(0,1.12fr);gap:30px}.contractor-story h2 .story-heading-main{font-size:clamp(34px,4.5vw,50px);letter-spacing:-.05em}.comparison-copy{left:20px;width:calc(50% - 42px)}.comparison-after .comparison-copy{right:20px}.comparison-copy h3{font-size:clamp(24px,2.7vw,32px)}.comparison-copy p{font-size:13px}.comparison-art{height:clamp(160px,18vw,200px)}.comparison-art img{max-height:clamp(158px,17vw,194px)}}
@media(max-width:820px){.contractor-story{padding:58px 0 54px}.contractor-story-layout{grid-template-columns:1fr;gap:30px}.contractor-story-copy{max-width:740px}.contractor-story h2 .story-heading-main{font-size:clamp(60px,7.6vw,78px)}.contractor-story .story-promise{max-width:690px;font-size:17px}.industry-carousel{max-width:680px}.partner-comparison{justify-self:stretch;max-width:none;aspect-ratio:1.2/1}.comparison-copy{left:24px;right:auto;width:calc(50% - 54px)}.comparison-after .comparison-copy{left:auto;right:24px}.comparison-copy h3{font-size:clamp(28px,4.5vw,37px)}.comparison-copy p{font-size:14px}.comparison-art{height:clamp(168px,24vw,205px)}.comparison-art img{max-height:clamp(165px,23vw,198px)}}
@media(max-width:560px){.contractor-story>.wrap{width:calc(100% - 36px)}.contractor-story{padding:50px 0 46px}.contractor-story h2{margin-bottom:19px}.contractor-story h2 .story-heading-context{gap:7px;margin-bottom:10px;font-size:9px;letter-spacing:.11em}.contractor-story h2 .story-heading-main{font-size:clamp(38px,10.2vw,50px);line-height:.94;letter-spacing:-.05em}.contractor-story .story-promise{font-size:16px;line-height:1.55;margin-bottom:21px}.contractor-story .story-type-line{font-size:22px;min-height:59px}.industry-carousel{margin-top:17px;padding:10px 0;gap:6px}.industry-chip{min-height:29px;padding:0 9px;font-size:10px}.industry-chip svg{width:13px;height:13px}.story-consult-link{margin-top:19px}.partner-comparison{aspect-ratio:auto;overflow:hidden;border-radius:16px}.comparison-scene{position:relative;inset:auto;width:100%;height:420px}.comparison-before{background:linear-gradient(145deg,#18191b,#28292b)}.comparison-after{clip-path:none;background:linear-gradient(145deg,#fbfaf7,#e8e7e3);border-top:1px solid #a29b88}.comparison-copy,.comparison-after .comparison-copy{top:17px;right:18px;bottom:16px;left:18px;width:auto}.comparison-kicker{min-height:20px;font-size:8px}.comparison-copy h3{font-size:clamp(27px,8vw,34px);margin:9px 0 6px}.comparison-copy p{font-size:13px;line-height:1.42;max-width:360px}.comparison-art{height:176px;margin:12px 0 11px}.comparison-art img{max-height:174px;max-width:88%}.comparison-points{grid-template-columns:1fr 1fr;gap:5px 9px}.comparison-points li{font-size:10px;gap:5px}.comparison-points li:last-child{grid-column:1/-1}.comparison-points li span{flex-basis:11px;font-size:13px}.comic-note{font-size:7px;right:7px;bottom:7px;padding:6px 7px}.comparison-divider,.comparison-range{display:none}}
@media(max-width:390px){.comparison-scene{height:408px}.comparison-art{height:160px;margin:10px 0}.comparison-art img{max-height:158px}.comparison-copy p{font-size:12px}.comparison-points li{font-size:9px}}
@media(prefers-reduced-motion:reduce){.story-consult-link{transition:none}.story-consult-link:hover{transform:none}.industry-carousel{overflow-x:auto;mask-image:none;-webkit-mask-image:none}.industry-track{animation:none!important;transform:none!important}.industry-lane{overflow:visible}.comparison-range{touch-action:auto}}

/* Image-first before/after reveal: keep the owner aligned as the partner appears. */
.partner-comparison{--reveal:50%;width:100%;max-width:760px;aspect-ratio:1.2/1;margin:0;overflow:hidden;border:1px solid #d3d0c6;border-radius:20px;background:#203240;box-shadow:0 22px 56px #0d171a30;isolation:isolate;touch-action:pan-y}
.comparison-scene{position:absolute;inset:0;overflow:hidden}
.comparison-before{background:radial-gradient(ellipse at 35% 52%,#3d5263 0,#253846 54%,#17242e 100%);color:#fff}
.comparison-after{z-index:2;clip-path:inset(0 0 0 var(--reveal));background:radial-gradient(ellipse at 74% 38%,#fff5d8 0,#e8e4ce 47%,#b9d0ca 100%);color:#17211e;border:0}
.comparison-person{position:absolute;bottom:30px;display:block;width:auto;height:calc(80% - 28px);max-width:none;max-height:none;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 14px 22px #08131b58);pointer-events:none;user-select:none}
.comparison-person-before{left:14px;right:auto;transform:none}
.comparison-person-after{left:50%;transform:none}
.comparison-side-label{position:absolute;z-index:6;top:20px;left:22px;padding:8px 12px;border:1px solid #ffffff65;border-radius:999px;background:#11202b9c;color:#fff;font-size:10px;font-weight:900;letter-spacing:.14em;line-height:1;white-space:nowrap;backdrop-filter:blur(8px);pointer-events:none}
.comparison-side-label-after{left:auto;right:22px;border-color:#242c2440;background:#fff;color:#1a211c}
.comparison-divider{position:absolute;z-index:4;top:0;bottom:0;left:var(--reveal);display:grid;width:3px;place-items:center;background:linear-gradient(180deg,#ffe398,#c99c3c 42%,#fff0b9);box-shadow:0 0 0 1px #19232b55,0 0 22px #ffdb7280;transform:translateX(-50%);pointer-events:none}
.comparison-divider span{display:grid;width:54px;height:54px;place-items:center;border:3px solid #fff7d5;border-radius:50%;background:linear-gradient(145deg,#f7d77c,#bd8d29);color:#17202a;font-size:25px;font-weight:900;line-height:1;box-shadow:0 4px 20px #1118,0 0 0 1px #87661f}
.comparison-range{position:absolute;z-index:5;inset:0;display:block;width:100%;height:100%;margin:0;opacity:.001;cursor:ew-resize;touch-action:pan-y;-webkit-appearance:none;appearance:none}
.comparison-range:focus-visible{opacity:.12;outline:3px solid #f2c857;outline-offset:-5px}
.comparison-range::-webkit-slider-runnable-track{height:100%;background:transparent}
.comparison-range::-moz-range-track{height:100%;background:transparent}
.comparison-range::-webkit-slider-thumb{-webkit-appearance:none;width:50px;height:100%;background:transparent;border:0}
.comparison-range::-moz-range-thumb{width:50px;height:100%;background:transparent;border:0}
.partner-comparison:focus-within .comparison-divider span{outline:3px solid #f5d779;outline-offset:4px}
@media(max-width:760px){.partner-comparison{max-width:none;aspect-ratio:.98/1;border-radius:18px}.comparison-person{bottom:30px;height:calc(80% - 28px)}.comparison-person-before{left:12px;right:auto;transform:none}.comparison-person-after{left:50%;transform:none}.comparison-side-label{top:15px;left:15px;padding:8px 10px;font-size:9px}.comparison-side-label-after{right:15px;left:auto}.comparison-divider span{width:48px;height:48px;font-size:22px}}
@media(max-width:390px){.partner-comparison{aspect-ratio:.9/1}.comparison-person{height:calc(80% - 28px);bottom:30px}.comparison-person-before{left:10px;right:auto}.comparison-person-after{bottom:30px}.comparison-divider span{width:44px;height:44px}}
@media(prefers-reduced-motion:reduce){.comparison-divider span{transition:none}}

/* Owner portrait carousel */
.owner-hat-carousel{position:relative;isolation:isolate;display:block;width:100%;max-width:760px;aspect-ratio:.96/1;margin:0;justify-self:end;overflow:hidden;border:1px solid #d3d0c6;border-radius:20px;background:#252720;box-shadow:0 22px 56px #0d171a30}
.owner-hat-slides{position:absolute;inset:0;overflow:hidden;background:#282a25}
.owner-hat-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 32%;opacity:0;transform:scale(1.015);filter:saturate(.88);transition:opacity 1.15s ease;will-change:opacity}
.owner-hat-slide.is-active{opacity:1}
.owner-hat-carousel::after{position:absolute;z-index:1;inset:42% 0 0;content:"";pointer-events:none;background:linear-gradient(180deg,transparent 0%,#10120db3 100%)}
.owner-hat-caption{position:absolute;z-index:2;left:clamp(18px,3vw,28px);bottom:clamp(18px,3vw,26px);display:grid;gap:3px;color:#fff;text-shadow:0 2px 16px #0009}
.owner-hat-caption span:first-child{font-family:Manrope,Arial,sans-serif;font-size:10px;font-weight:800;letter-spacing:.17em}
.owner-hat-caption span:last-child{font-family:Barlow,'Arial Narrow',Arial,sans-serif;font-size:clamp(28px,3vw,39px);font-weight:800;line-height:.95;letter-spacing:-.02em}
@media(max-width:820px){.owner-hat-carousel{justify-self:stretch;max-width:none;aspect-ratio:1/1.02}.owner-hat-caption{left:20px;bottom:21px}}
@media(max-width:560px){.owner-hat-carousel{aspect-ratio:.91/1;border-radius:16px}.owner-hat-slide{object-position:center 29%}.owner-hat-caption{left:16px;bottom:18px}.owner-hat-caption span:first-child{font-size:9px}.owner-hat-caption span:last-child{font-size:30px}}
@media(prefers-reduced-motion:reduce){.owner-hat-slide{transition:none}}
@media(max-width:760px){.contractor-story>.wrap{display:flex;flex-direction:column}.contractor-story-layout{display:contents}.contractor-story-copy{order:1}.owner-hat-carousel{display:block;order:2;width:100%;margin-top:28px;aspect-ratio:1/1}}
