[hidden]{display:none!important}.hero{grid-template-columns:.85fr 1.35fr;gap:62px;padding-block:70px}.hero h1{font-size:clamp(36px,3.7vw,52px);letter-spacing:-1.8px}.hero .intro{font-size:14px}.project-gallery{min-width:0}.gallery-top{display:flex;justify-content:space-between;font-size:10px;letter-spacing:2px;color:#ccc;margin-bottom:18px}.gallery-count{color:var(--orange)}.gallery-stage{position:relative;perspective:1000px;margin-inline:19px}.comparison{aspect-ratio:1.6;position:relative;overflow:hidden;border:1px solid #7776;border-radius:7px;isolation:isolate;background:#303636;box-shadow:0 22px 40px #0006}.compare-layer{position:absolute;inset:0;pointer-events:none}.compare-layer svg,.compare-layer img{display:block;width:100%;height:100%;object-fit:cover}.before-layer{clip-path:inset(0 calc(100% - var(--split)) 0 0)}.compare-badges{position:absolute;inset:16px 16px auto;display:flex;justify-content:space-between;pointer-events:none}.compare-badges span{background:#111b;padding:5px 12px;border-radius:3px;font-size:11px;color:#fff}.mockup-badge{position:absolute;bottom:14px;left:14px;background:#111c;color:#eee;padding:5px 9px;font-size:8px;letter-spacing:1px;pointer-events:none}.compare-divider{position:absolute;left:var(--split);top:0;bottom:0;width:2px;background:#fff;transform:translateX(-50%);pointer-events:none;box-shadow:0 0 8px #0004}.compare-divider span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;background:var(--orange);color:#15191b;display:grid;place-items:center;font-size:22px;box-shadow:0 4px 15px #0005}.compare-range{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:ew-resize;touch-action:pan-y}.comparison:focus-within{outline:3px solid var(--orange);outline-offset:5px}.side-card{position:absolute;top:13%;height:74%;width:40px;border:1px solid #555;background:#2b3030;color:#ccc;border-radius:6px;cursor:pointer;z-index:0}.side-left{left:-25px;transform:rotateY(-25deg);text-align:left;padding:7px}.side-right{right:-25px;transform:rotateY(25deg);text-align:right;padding:7px}.side-card:hover{background:#46372d;color:var(--orange)}.side-card span{font-size:28px}.comparison{z-index:1}.gallery-caption{margin:24px 0 0;display:flex;justify-content:space-between;align-items:center;gap:12px}.gallery-category{font-size:10px;color:var(--muted);margin:0 0 5px}.gallery-caption h2{font-size:19px;letter-spacing:-.4px;line-height:1.4;margin:0}.gallery-link{font-size:11px;white-space:nowrap;color:var(--orange);border-bottom:1px solid #ff791d77;padding-block:8px}.gallery-link:hover{color:#ffb47b}.gallery-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:13px}.gallery-controls>p{font-size:10px;color:#aaa}.gallery-dots{display:flex}.gallery-dots button{width:26px;height:36px;padding:0;border:0;background:none;display:grid;place-items:center}.gallery-dots span{width:5px;height:5px;border-radius:50%;background:#60666a}.gallery-dots [aria-pressed=true] span{width:17px;border-radius:3px;background:var(--orange)}.catalog-page{padding-top:40px;padding-bottom:70px;min-height:75vh}.catalog-back{display:inline-block;font-size:13px;color:var(--muted);margin-bottom:48px}.catalog-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.catalog-grid h1{font-size:48px;letter-spacing:-1.6px}.catalog-description{color:var(--muted);font-size:16px}.catalog-grid .button{margin-top:30px}.catalog-visual svg,.catalog-visual img{width:100%;height:auto;border-radius:6px}.catalog-visual p{font-size:11px;color:var(--muted)}.catalog-scope{border-top:1px solid var(--border);padding-top:35px;margin-top:50px;max-width:700px}.catalog-scope h2{font-size:26px}.catalog-scope p{color:var(--muted);font-size:14px}@media(max-width:1000px){.hero{gap:30px;grid-template-columns:1fr 1.15fr}.gallery-caption{display:block}.gallery-link{display:inline-block}.gallery-controls{flex-wrap:wrap;gap:0}.hero h1{font-size:40px}}@media(max-width:700px){.hero{grid-template-columns:1fr;padding-block:36px;gap:35px}.hero-copy .intro{max-width:500px}.hero h1{font-size:40px}.hero-note{margin-top:22px}.project-gallery{width:100%;max-width:600px;margin:auto}.gallery-stage{margin-inline:23px}.gallery-caption{display:flex}.gallery-caption h2{font-size:17px}.gallery-link{font-size:10px;white-space:normal;max-width:115px}.gallery-controls{flex-wrap:nowrap}.mockup-badge{font-size:7px;left:8px;bottom:8px;letter-spacing:.6px}.compare-badges{inset:10px 10px auto}.compare-badges span{font-size:10px}.catalog-grid{grid-template-columns:1fr;gap:30px}.catalog-grid h1{font-size:36px}.catalog-back{margin-bottom:30px}.catalog-page{padding-top:25px}.catalog-grid .hero-note{font-size:12px}}@media(prefers-reduced-motion:reduce){.side-card{transform:none}}

/* A circular 3D carousel, following the supplied CodePen reference. */
.hero{display:flex;flex-direction:column;gap:34px;padding-top:46px;padding-bottom:42px}.hero-copy{width:100%;display:grid;grid-template-columns:1.2fr 1fr;column-gap:55px;align-items:start}.hero-copy>.eyebrow{grid-column:1/-1;margin-bottom:16px}.hero-copy h1{grid-column:1;grid-row:2/5;font-size:44px;line-height:1.08;margin:0}.hero-copy .intro{grid-column:2;margin:0 0 16px;max-width:none}.hero-copy>.button{grid-column:2;justify-self:start;min-height:44px;padding:7px 18px}.hero-copy .hero-note{grid-column:2;margin-top:17px}.project-gallery{width:100%;max-width:none;padding-top:15px}.gallery-top{max-width:780px;margin:0 auto 5px}.ring-stage{--ring-radius:310px;--face-width:310px;--face-height:264px;height:390px;position:relative;perspective:1100px;perspective-origin:50% 43%;overflow:clip}.ring-carousel{position:absolute;top:60px;left:calc(50% - var(--face-width)/2);width:var(--face-width);height:var(--face-height);transform-style:preserve-3d;will-change:transform}.ring-face{position:absolute;inset:0;transform:rotateY(var(--face-angle)) translateZ(var(--ring-radius));backface-visibility:hidden;background:#1f2325;border:1px solid #747b7b;border-radius:5px;box-shadow:0 15px 35px #0008;overflow:hidden}.ring-face .comparison{border:0;border-radius:0;aspect-ratio:1.6;box-shadow:none}.ring-face .compare-divider span{height:33px;width:33px;font-size:18px}.ring-face .compare-badges{inset:10px 10px auto}.ring-face .compare-badges span{font-size:10px}.ring-caption{padding:12px 15px;background:#181c1edb}.ring-caption h2{font-size:15px;letter-spacing:0;line-height:1.3;margin:0 0 7px}.ring-caption a{color:var(--orange);font-size:11px;border-bottom:1px solid #ff791d55}.ring-select{position:absolute;inset:0;border:0;background:linear-gradient(transparent 40%,#0b0d0e55);color:#fff;width:100%;cursor:pointer;padding:0}.ring-select>span{position:absolute;bottom:13px;left:50%;transform:translateX(-50%);white-space:nowrap;background:#121618d9;font-size:11px;padding:5px 12px;border-radius:20px;border:1px solid #ffffff50}.ring-select:hover{background:#0001}.ring-select:hover>span{background:var(--orange);color:#121618}.ring-toolbar{display:flex;align-items:center;justify-content:center;gap:15px;margin-top:0}.ring-toolbar button{background:#252a2c;border:1px solid #51595d;color:#e8e8e2;min-width:46px;min-height:44px;border-radius:3px;font-size:18px}.ring-toolbar .ring-toggle{font-size:12px;padding:9px 20px;min-width:210px}.ring-toolbar button:hover{border-color:var(--orange);color:var(--orange)}.ring-hint{color:var(--muted);text-align:center;font-size:11px;margin:15px 0 2px}.project-gallery>.gallery-dots{justify-content:center}.ring-face:focus-within{outline:2px solid var(--orange)}@media(max-width:800px){.hero-copy{grid-template-columns:1fr}.hero-copy h1{grid-column:1;grid-row:auto;font-size:38px;margin-bottom:20px}.hero-copy>.intro,.hero-copy>.button,.hero-copy>.hero-note{grid-column:1}.ring-stage{--ring-radius:220px;--face-width:245px;--face-height:230px;height:325px;perspective:800px}.ring-carousel{top:40px}.gallery-top{font-size:8px;letter-spacing:1px}.ring-caption h2{font-size:13px}}@media(max-width:480px){.hero{gap:22px}.ring-stage{--ring-radius:170px;--face-width:205px;--face-height:211px;height:280px;perspective:600px;margin-inline:-22px}.ring-carousel{top:28px}.ring-caption{padding:10px}.ring-caption h2{font-size:12px}.ring-caption a{font-size:10px}.ring-toolbar{gap:9px}.ring-toolbar .ring-toggle{min-width:180px;font-size:11px}.ring-select>span{font-size:10px}.gallery-top{gap:15px;font-size:7px}.hero-copy h1{font-size:37px}.ring-face .compare-divider span{height:30px;width:30px}}@media(prefers-reduced-motion:reduce){.ring-carousel{will-change:auto}}

/* Let the enlarged carousel fill the space below the navigation. */
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}.hero{padding-top:26px;padding-bottom:24px;gap:0}.project-gallery{padding-top:0}.gallery-top{max-width:100%;margin-bottom:0}.ring-stage{--ring-radius:395px;--face-width:490px;--face-height:394px;height:500px;perspective:1350px}.ring-carousel{top:47px}.ring-caption{padding:17px 20px}.ring-caption h2{font-size:20px;margin-bottom:9px}.ring-caption a{font-size:13px}.ring-face .compare-divider span{width:46px;height:46px;font-size:23px}.ring-face .compare-badges span{font-size:12px}.ring-select>span{font-size:13px;padding:7px 16px}.ring-hint{margin-top:12px}.ring-toolbar{margin-top:0}@media(max-width:1000px){.ring-stage{--ring-radius:300px;--face-width:390px;--face-height:336px;height:430px;perspective:1050px}.ring-carousel{top:40px}.ring-caption h2{font-size:18px}}@media(max-width:700px){.hero{padding-top:22px;padding-bottom:22px}.ring-stage{--ring-radius:235px;--face-width:310px;--face-height:281px;height:370px;perspective:850px}.ring-carousel{top:37px}.ring-caption{padding:13px 16px}.ring-caption h2{font-size:16px}.ring-caption a{font-size:12px}.ring-select>span{font-size:11px}}@media(max-width:480px){.ring-stage{--ring-radius:200px;--face-width:275px;--face-height:261px;height:340px;perspective:720px}.ring-carousel{top:31px}.ring-caption h2{font-size:15px}.ring-caption a{font-size:11px}.ring-face .compare-divider span{width:38px;height:38px;font-size:20px}.ring-face .compare-badges span{font-size:10px}}@media(max-width:350px){.ring-stage{--ring-radius:175px;--face-width:240px;--face-height:242px;height:315px}}
.ring-stage{--ring-radius:490px}@media(max-width:1000px){.ring-stage{--ring-radius:390px}}@media(max-width:700px){.ring-stage{--ring-radius:310px}}@media(max-width:480px){.ring-stage{--ring-radius:275px}}@media(max-width:350px){.ring-stage{--ring-radius:240px}}
