/* A compact assembly of concrete product responsibilities. */
.hero-top{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.98fr);grid-template-rows:auto auto;column-gap:38px;align-items:center}
.hero-top .hero-copy{grid-column:1;grid-row:1;align-self:end;min-width:0}
.hero-top .hero-story{grid-column:1;grid-row:2;align-self:start;min-width:0}
.hero-top .hero-copy h1{font-size:clamp(38px,4.5vw,63px);line-height:1.35;letter-spacing:-.06em;margin-bottom:34px}
.hero-top .intro{font-size:16px;max-width:100%}
.hero-top .hero-actions{gap:12px}
.hero-top .hero-actions .button{padding:13px 18px;font-size:12px}
.hero{overflow:hidden}
.assembly-scene{grid-column:2;grid-row:1/3;position:relative;min-width:0;width:100%;margin:0;perspective:1100px}
.assembly-scene-heading{display:block;padding:0 8px 12px;color:#c7cce4;font-size:11px}
.assembly-world{position:relative;aspect-ratio:1/.99;isolation:isolate;perspective:1100px;transform-style:preserve-3d}
.assembly-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:0}
.assembly-wire-base path{stroke:#8d95c744;stroke-width:1.2}
.assembly-wire path{stroke:#f18994;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}
.assembly-piece{position:absolute;transform-style:preserve-3d;z-index:2}
.piece-surface{height:100%;position:relative;backface-visibility:hidden;box-shadow:14px 22px 34px -22px #000a;transform-style:preserve-3d}
.piece-web{left:1%;top:23%;width:65%;height:43%;z-index:2}
.web-surface{background:#fff;border:1px solid #d7d9e4;border-radius:3px;color:#0c0e3a;transform:rotateZ(-3deg)}
.mini-browser-bar{display:flex;justify-content:space-between;align-items:center;gap:8px;border-bottom:1px solid #e1e3ec;padding:12px 15px;color:#0c0e3a}
.mini-browser-bar strong{font-size:11px;font-weight:700}
.mini-browser-bar>span{font-size:8px;color:#68708a}
.mini-web-content{padding:15px 18px}
.piece-eyebrow{display:block;letter-spacing:.04em;font-size:9px;line-height:1.5;color:#7c3540}
.mini-web-content>strong{display:block;font-size:clamp(16px,1.6vw,22px);letter-spacing:-.045em;line-height:1.35;margin:7px 0 12px}
.mini-web-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;border-top:1px solid #e4e5ec;padding-top:10px}
.mini-web-fields>div{display:flex;justify-content:space-between;gap:6px;align-items:center;font-size:8px;color:#747b91}
.mini-web-fields b{font-weight:600;color:#0c0e3a}
.piece-api{right:0;top:5%;width:45%;height:24%;z-index:4}
.api-surface{height:auto;min-height:100%;padding:14px 15px;background:#171a46;color:#fff;border-top:2px solid #bd2732;transform:rotateZ(3deg)}
.api-surface>.piece-eyebrow{color:#f0a0a7}
.api-flow{display:flex;align-items:center;justify-content:space-between;gap:6px;margin:12px 0 8px}
.api-flow strong{font-size:12px;line-height:1.4;font-weight:600}
.api-flow>span{color:#f19ba2;font-size:18px}
.api-request{display:block;font-size:9px;line-height:1.5;color:#c4c9dd}
.piece-mobile{right:3%;top:36%;width:31%;height:52%;z-index:5}
.mobile-surface{background:#fff;color:#0c0e3a;border:5px solid #202348;border-radius:20px;padding:11px 9px;transform:rotateZ(5deg);box-shadow:7px 9px 0 -3px #555d8a,16px 24px 26px -18px #000a}
.mini-phone-notch{width:38%;height:6px;margin:-8px auto 13px;border-radius:0 0 6px 6px;background:#202348}
.mobile-surface>.piece-eyebrow{font-size:7px;color:#656e89}
.mini-mobile-hero{display:flex;flex-direction:column;justify-content:center;gap:8px;min-height:52%;margin-top:9px;padding:11px 9px;background:#bd2732;color:#fff}
.mini-mobile-hero>strong{font-size:clamp(11px,1.1vw,15px);line-height:1.4;letter-spacing:-.03em}
.mini-mobile-hero>span{font-size:8px;line-height:1.6;color:#ffe8ea}
.mini-mobile-feature{display:flex;align-items:center;gap:7px;margin-top:11px;padding-top:9px;border-top:1px solid #e4e6ed;font-size:8px;color:#545c75}
.mini-mobile-feature>i{width:19px;height:19px;flex:0 0 19px;border-radius:50%;background:#f0e8e9;border-left:3px solid #bd2732}
.piece-release{left:6%;bottom:7%;width:55%;height:16%;z-index:6}
.release-surface{display:flex;align-items:center;gap:12px;padding:10px 15px;color:#fff;background:#a92331;border-left:3px solid #f3a0a5;transform:rotateZ(-3deg)}
.release-seal{display:grid;place-items:center;flex:0 0 27px;height:27px;border:1px solid #e3a0a9;border-radius:50%;font-size:17px}
.release-surface .piece-eyebrow{color:#f4c8cd;font-size:8px}
.release-surface strong{display:block;font-size:clamp(11px,1.2vw,15px);letter-spacing:-.025em;margin-top:2px;white-space:nowrap}
.assembly-core{display:flex;align-items:center;justify-content:center;gap:8px;position:absolute;left:3%;right:0;bottom:-1%;font-size:9px;line-height:1.5;letter-spacing:.04em;color:#bbc3e2}
.assembly-core>span{width:5px;height:5px;flex:0 0 5px;background:#fa9ba5;border-radius:50%}
.assembly-scene figcaption{margin-top:25px;font-size:10px;color:#b0b8d6;text-align:center}
@media(min-width:1600px){.hero-top{column-gap:56px}.hero-top .hero-copy h1{font-size:63px}}
@media(max-width:1050px){.hero-top{column-gap:24px}.hero-top .hero-copy h1{font-size:clamp(35px,4.4vw,48px)}.hero-top .intro{font-size:15px}.mini-browser-bar{padding:10px 12px}.mini-web-content{padding:12px 14px}.mini-web-content>strong{font-size:18px;margin:6px 0 9px}.mini-web-fields{gap:7px}.api-surface{padding:11px 12px}.api-flow{margin:8px 0 6px}.release-surface{gap:9px;padding:8px 11px}.release-surface strong{font-size:12px}.release-seal{flex-basis:23px;height:23px}.assembly-scene-heading{font-size:10px}}
@media(max-width:800px){.hero-top{grid-template-columns:1fr;grid-template-rows:auto auto auto;gap:0}.hero-top .hero-copy{grid-column:1;grid-row:1}.hero-top .hero-copy h1{font-size:clamp(36px,6.6vw,52px);margin-bottom:26px}.hero-top .hero-story{grid-column:1;grid-row:2}.hero-top .intro{font-size:16px}.assembly-scene{grid-column:1;grid-row:3;max-width:500px;justify-self:center;margin:4px auto 30px}.assembly-world{aspect-ratio:1/.91}.assembly-scene-heading{font-size:11px}.mini-web-content{padding:14px 18px}.mini-web-content>strong{font-size:23px}.mini-web-fields{gap:12px}.mini-web-fields>div{font-size:9px}.api-surface{padding:15px}.api-flow{margin:12px 0 8px}.api-flow strong{font-size:13px}.release-surface strong{font-size:16px}.release-surface{padding:11px 15px}}
@media(max-width:550px){.hero{padding-top:46px}.hero-top .hero-copy h1{font-size:clamp(31px,7.5vw,46px);line-height:1.35;letter-spacing:-.05em;margin-bottom:23px}.hero-top .intro{font-size:15px;line-height:1.85;margin-bottom:21px}.hero-top .hero-actions{gap:9px}.assembly-scene{margin:7px auto 24px}.assembly-scene-heading{font-size:10px;padding:0 0 8px}.assembly-world{aspect-ratio:1/.98}.piece-web{top:25%;width:66%;height:41%}.mini-browser-bar{padding:8px 9px}.mini-browser-bar strong{font-size:9px}.mini-browser-bar>span{font-size:7px}.mini-web-content{padding:9px 10px}.mini-web-content>strong{font-size:16px;margin:5px 0 7px}.piece-eyebrow{font-size:7px}.mini-web-fields{gap:5px;padding-top:7px}.mini-web-fields>div{font-size:7px}.piece-api{width:47%;height:24%;top:7%}.api-surface{padding:9px 9px}.api-flow{margin:8px 0 5px;gap:3px}.api-flow strong{font-size:9px}.api-flow>span{font-size:14px}.api-request{font-size:7px}.piece-mobile{width:32%;height:47%;top:39%;right:2%}.mobile-surface{border-width:4px;border-radius:16px;padding:9px 6px}.mini-phone-notch{margin-top:-7px;height:4px;margin-bottom:9px}.mobile-surface>.piece-eyebrow{font-size:6px}.mini-mobile-hero{margin-top:7px;padding:8px 6px;gap:6px}.mini-mobile-hero>strong{font-size:10px}.mini-mobile-hero>span{font-size:7px}.mini-mobile-feature{gap:5px;margin-top:8px;padding-top:7px;font-size:7px}.mini-mobile-feature>i{width:14px;height:14px;flex-basis:14px}.piece-release{width:58%;height:15%;left:4%;bottom:8%}.release-surface{padding:7px 8px;gap:6px}.release-surface strong{font-size:10px}.release-surface .piece-eyebrow{font-size:6px}.release-seal{flex-basis:19px;height:19px;font-size:13px}.assembly-core{font-size:7px;gap:5px}.assembly-scene figcaption{margin-top:16px;font-size:9px}}
@media(prefers-reduced-motion:reduce){.assembly-scene *{animation:none!important;transition:none!important}}
@media print{.hero-top{display:block!important}.assembly-scene{display:none!important}.hero-top .hero-story{margin-top:8px}}
