[data-home-premium]{--home-ink:#111;--home-paper:#fff;--home-line:#dededb;--home-muted:#656561}
html[data-theme="dark"] [data-home-premium]{--home-ink:#f5f5f2;--home-paper:#0b0b0b;--home-line:#333;--home-muted:#aaa}
[data-home-premium] .cb-tophead-title{animation:home-arrive 1.1s cubic-bezier(.16,1,.3,1) both}
[data-home-premium] .cb-tophead-text{animation:home-arrive 1.1s .14s cubic-bezier(.16,1,.3,1) both}
.home-services{margin:72px 0 64px}
.home-services .home-service{position:sticky;top:80px;transform:scale(var(--stack-scale,1));transform-origin:50% 0;transition:border-color .6s,box-shadow .6s;will-change:transform}
.home-services .home-service:nth-child(2){top:100px}.home-services .home-service:nth-child(3){top:120px}
.home-services .home-service-art{transform:translateY(var(--art-shift,0%)) scale(1.04)!important;transition:opacity .5s}
.home-review-grid{--fan:1;padding:35px 0 55px}
.home-review{transition:transform .25s ease-out;transform-origin:50% 80%}
.home-review:nth-child(1){transform:translate(calc(var(--fan)*20%),calc(var(--fan)*30px)) rotate(calc(var(--fan)*-9deg));z-index:2}
.home-review:nth-child(2){transform:translateY(calc(var(--fan)*-22px));z-index:1}
.home-review:nth-child(3){transform:translate(calc(var(--fan)*-20%),calc(var(--fan)*30px)) rotate(calc(var(--fan)*9deg));z-index:2}
.home-review-grid:hover .home-review,.home-review-grid:focus-within .home-review{transform:none}
.home-quote select{appearance:none;-webkit-appearance:none;min-height:50px!important;padding-right:38px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='10' viewBox='0 0 14 10'%3E%3Cpath d='m2 2 5 5 5-5' fill='none' stroke='%23111' stroke-width='1.5'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 15px center!important}
.quote-upload-zone{position:relative;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:130px;margin-top:10px;border:1px dashed #aaa;border-radius:14px;background:#f7f7f5;cursor:pointer;transition:background .2s,border-color .2s}
.quote-upload-zone:hover,.quote-upload-zone.is-dragging{background:#ededeb;border-color:#111}.quote-upload-zone:focus-within{outline:2px solid #111;outline-offset:3px}
.quote-upload-zone strong{font-size:14px;color:#111}.quote-upload-zone>span{font-size:12px;color:#666}.quote-upload-zone .quote-upload-icon{font-size:26px;color:#111}
.home-quote .quote-upload-zone input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.quote-file-list{display:grid!important;gap:6px;margin-top:8px}.quote-file{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#f1f1ee;border-radius:8px;padding:6px 10px;color:#111}.quote-file>span{overflow-wrap:anywhere;min-width:0}.quote-file button{background:none;border:0;font-size:22px;min-width:40px;min-height:40px;color:#111;cursor:pointer}
@media(max-width:767px){.home-review-grid{padding:15px 0}.home-review:nth-child(1){transform:rotate(calc(var(--fan)*-3deg))}.home-review:nth-child(3){transform:rotate(calc(var(--fan)*3deg))}.home-services .home-service{top:65px}.home-services .home-service:nth-child(2){top:77px}.home-services .home-service:nth-child(3){top:89px}}
@media(max-height:650px),(prefers-reduced-motion:reduce){.home-services .home-service{position:relative;top:auto;transform:none!important}.home-review{transform:none!important}}
[data-home-premium] #featured{margin-top:0}
[data-home-premium] #featured>.cb-summary-fill{top:0;height:100%}
.home-service{position:relative;isolation:isolate;overflow:hidden;margin:0 0 14px;padding:38px 44px;border:1px solid #292929;border-radius:24px;background:#090909;color:#fff;transition:border-color .6s,box-shadow .6s}
.home-service:last-child{margin-bottom:0}
.home-service-top{position:relative;display:flex;justify-content:space-between;gap:24px;align-items:center;font-size:11px;line-height:1.3;letter-spacing:.12em;text-transform:uppercase;color:#a8a8a8}
.home-service-top>span{color:#fff;font-size:18px;font-variant-numeric:tabular-nums}
.home-service h3{position:relative;max-width:800px;margin:28px 0 9px;font-size:clamp(42px,5.15vw,76px);line-height:.94;letter-spacing:-.07em;font-weight:500}
.home-service-promise{position:relative;margin:0 0 22px;font-size:clamp(17px,1.7vw,24px);line-height:1.12;letter-spacing:-.035em;color:#e9e9e7}
.home-service-description{position:relative;max-width:580px;color:#ccc;font-size:16px;line-height:1.6}
.home-service ul{position:relative;display:flex;flex-wrap:wrap;gap:9px 18px;list-style:none;padding:0;margin:24px 0 28px;color:#b6b6b6;font-size:11px;letter-spacing:.02em}
.home-service li{display:inline-flex;gap:8px;align-items:center}
.home-service li:before{content:'';width:3px;height:3px;border-radius:50%;background:#8b8b8b}
.home-service a{position:relative;display:inline-flex;gap:28px;align-items:center;min-height:44px;color:#fff;font-size:13px;border-bottom:1px solid #666;text-decoration:none}
.home-service a span{font-size:20px;transition:transform .35s}
.home-service a:hover span{transform:translate(4px,-4px)}
.home-service-art{position:absolute;right:-2%;bottom:-35%;width:62%;z-index:-1;opacity:.38;pointer-events:none;transition:opacity .8s,transform 1.2s cubic-bezier(.16,1,.3,1)}
.home-service-art img{width:100%;height:auto;display:block}
.home-service.is-current{border-color:#777;box-shadow:0 16px 40px -30px #0009}
.home-service.is-current .home-service-art{opacity:.72;transform:translateY(-5%) scale(1.04)}
.home-service a:focus-visible,.home-reviews a:focus-visible{outline:2px solid currentColor;outline-offset:6px}
.home-eyebrow{font-size:11px;line-height:1.5;font-weight:500;letter-spacing:.14em;text-transform:uppercase}
.home-reviews{position:relative;padding:100px max(24px,7.5vw) 90px;background:var(--home-paper);color:var(--home-ink)}
.home-section-heading{max-width:1224px;margin:0 auto 48px;position:relative}
.home-section-heading h2{margin:25px 0;font-size:clamp(48px,6vw,88px);line-height:1;letter-spacing:-.055em;font-weight:500}
.home-section-heading h2 em{font-family:Georgia,serif;font-weight:400}
.home-section-heading>a{display:inline-flex;gap:28px;align-items:center;min-height:44px;font-size:14px;text-decoration:none;border-bottom:1px solid var(--home-line)}
.home-review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:1224px;margin:auto}
.home-review{display:flex;flex-direction:column;min-width:0;margin:0;padding:30px;border:1px solid var(--home-line);border-radius:22px;background:var(--home-paper)}
.home-review:nth-child(2){background:var(--home-ink);color:var(--home-paper);border-color:var(--home-ink)}
.home-review-mark{font-family:Georgia,serif;font-size:76px;line-height:.85;height:64px}
.home-review blockquote{margin:0 0 48px;font-size:clamp(22px,2.1vw,30px);line-height:1.3;letter-spacing:-.03em}
.home-review figcaption{display:flex;justify-content:space-between;gap:16px;align-items:center;padding-top:22px;margin-top:auto;border-top:1px solid #8885;font-size:12px}
.home-review small{display:block;margin-top:5px;font-size:10px;opacity:.6}
.home-review figcaption a{display:grid;place-items:center;border:1px solid #8888;width:44px;height:44px;border-radius:50%;font-size:22px;text-decoration:none;transition:transform .3s}
.home-review figcaption a:hover{transform:rotate(45deg)}
.home-clients{padding:36px 0 60px;overflow:hidden;text-align:center;color:var(--home-muted)}
.home-clients[hidden]{display:none!important}
.home-client-track{display:flex;align-items:center;justify-content:center;gap:64px;margin:38px auto 0;width:max-content}
.home-client-track img{width:130px;height:70px;object-fit:contain;filter:grayscale(1)}
.home-client-placeholder{display:grid;place-items:center;width:150px;height:70px;border:1px dashed var(--home-line);border-radius:12px;font-size:15px}
.home-clients[data-preview] .home-client-track{animation:home-logo-drift 18s linear infinite}
.home-scroll-progress{position:fixed;top:0;left:0;width:100%;height:2px;z-index:260;background:var(--home-ink);transform-origin:left;transform:scaleX(0);pointer-events:none}
.home-motion-ready [data-home-reveal]{transition:opacity .85s var(--reveal-delay,0ms),translate .95s var(--reveal-delay,0ms) cubic-bezier(.16,1,.3,1)}
.home-motion-ready [data-home-reveal]:not(.is-visible){opacity:0;translate:0 32px}
@media(hover:hover) and (pointer:fine){[data-home-premium] .cb-card-caption{transition:translate .35s}[data-home-premium] .cb-card:hover .cb-card-caption{translate:6px 0}}
.home-quote{position:fixed;inset:0;margin:auto;padding:0;width:min(960px,calc(100vw - 48px));max-width:none;max-height:calc(100dvh - 48px);overflow:auto;border:1px solid #555;border-radius:26px;background:#fff;color:#121212;box-shadow:0 40px 120px #0006;font-family:inherit;color-scheme:light;overscroll-behavior:contain}
.home-quote:not([open]){display:none}
.home-quote[open]{animation:home-dialog-in .65s cubic-bezier(.16,1,.3,1) both}
.home-quote::backdrop{background:#0009;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:home-backdrop .35s both}
.home-quote-shell{display:grid;grid-template-columns:.8fr 1.2fr;min-height:580px}
.home-quote-intro{display:flex;flex-direction:column;position:relative;isolation:isolate;overflow:hidden;min-width:0;padding:38px;background:#111;color:#fff}
.home-quote-intro>.home-eyebrow{font-size:9px;letter-spacing:.13em;color:#bbb}
.home-quote-intro h2{position:relative;margin:180px 0 18px;font-size:clamp(38px,4vw,56px);line-height:1.04;letter-spacing:-.055em;font-weight:500}
.home-quote-intro h2 em{font-family:Georgia,serif;font-weight:400}
.home-quote-intro>p{max-width:220px;color:#b5b5b5;font-size:15px;line-height:1.5}
.home-quote-intro-foot{font-size:9px;letter-spacing:.12em;color:#aaa;margin-top:auto;padding-top:45px}
.home-quote-orbit{position:absolute;width:320px;height:320px;top:60px;left:60px;z-index:-1;animation:home-orbit 25s linear infinite}
.home-quote-orbit span{position:absolute;inset:0;border:1px solid #ffffff23;border-radius:50%}
.home-quote-orbit span:nth-child(2){transform:rotateY(60deg) rotateZ(25deg)}
.home-quote-orbit span:nth-child(3){transform:rotateX(65deg) rotateZ(-25deg)}
.home-quote-body{position:relative;padding:38px 40px;min-width:0}
.home-quote-close{position:absolute;right:15px;top:13px;width:44px;height:44px;border:1px solid #ddd;border-radius:50%;font-family:inherit;font-size:27px;line-height:1;background:#fff;color:#111;cursor:pointer;transition:rotate .3s,background .3s}
.home-quote-close:hover{rotate:90deg;background:#eee}
.home-quote-progress{margin:8px 44px 30px 0;font-size:10px;letter-spacing:.12em;display:flex;gap:20px;align-items:center}
.home-quote-progress-line{flex:1;height:2px;background:#ddd}
.home-quote-progress-line i{display:block;width:50%;height:100%;background:#111;transition:width .4s}
.home-quote[data-step="2"] .home-quote-progress-line i{width:100%}
.home-quote fieldset{border:0;margin:0;padding:0;min-width:0}
.home-quote [hidden]{display:none!important}
.home-quote legend{font-size:26px;line-height:1.15;letter-spacing:-.035em;padding:0 0 25px;font-weight:500;width:100%}
.home-quote label{display:block;font-size:11px;line-height:1.45;margin:0 0 18px;font-weight:500}
.home-quote label>span{color:#777;font-weight:400}
.home-quote input:not([type="hidden"]),.home-quote textarea,.home-quote select{display:block;width:100%;max-width:100%;min-height:45px;margin-top:8px;padding:12px;border:1px solid #d4d4d0;border-radius:9px;background:#f8f8f6;color:#111;font:400 14px/1.4 Arial,sans-serif;box-sizing:border-box}
.home-quote textarea{resize:vertical;min-height:100px;max-height:240px}
.home-quote input::placeholder,.home-quote textarea::placeholder{color:#81817d}
.home-quote :is(input,textarea,select,button,a):focus-visible{outline:2px solid #111;outline-offset:3px}
.home-quote-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.home-quote-primary{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:48px;width:100%;padding:14px 19px;background:#111;color:#fff;border:1px solid #111;border-radius:999px;font-family:inherit;font-size:13px;cursor:pointer;transition:background .2s,transform .2s}
.home-quote-primary:hover{background:#333;transform:translateY(-1px)}
.home-quote-primary:disabled{cursor:wait;opacity:.65}
.home-quote-note{font-size:10px;color:#777;text-align:center;margin-top:14px;line-height:1.5}
.home-quote .home-quote-trap{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;opacity:0;pointer-events:none;padding:0!important}
.home-quote-files input{font-size:11px!important;background:transparent!important;padding:10px!important}
.home-quote-files small{display:block;margin-top:7px;color:#777;font-size:10px}
.home-quote-privacy{font-size:10px;line-height:1.5;color:#666;margin:0 0 20px}
.home-quote-privacy a{color:#111;text-decoration:underline}
.home-quote-submit-row{display:flex;gap:18px;align-items:center}
.home-quote-back{flex-shrink:0;border:0;padding:10px 0;background:none;color:#555;font-family:inherit;font-size:12px;min-height:44px;cursor:pointer}
.home-quote-status{margin-top:16px;font-size:12px;line-height:1.6;color:#333;overflow-wrap:anywhere}
.home-quote-status:empty{display:none}
.home-quote-success{padding-top:45px}
.home-quote-success>span{display:grid;place-items:center;border:1px solid #bbb;border-radius:50%;height:70px;width:70px;font-size:25px;margin-bottom:35px}
.home-quote-success h3{font-size:36px;line-height:1.1;letter-spacing:-.04em;margin-bottom:20px}
.home-quote-success p{font-size:14px;line-height:1.6;color:#555;margin-bottom:32px}
@keyframes home-arrive{from{opacity:0;translate:0 22px}to{opacity:1;translate:0 0}}
@keyframes home-dialog-in{from{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:none}}
@keyframes home-backdrop{from{opacity:0}to{opacity:1}}
@keyframes home-orbit{to{transform:rotate(360deg)}}
@keyframes home-logo-drift{50%{transform:translateX(-100px)}}
@media(min-width:1100px){.home-section-heading>a{position:absolute;right:0;bottom:8px}}
@media(max-width:767px){.home-services{margin:38px 0 42px}.home-service{padding:28px 25px;border-radius:22px}.home-service h3{font-size:clamp(40px,12vw,54px);margin-top:24px;max-width:330px}.home-service-promise{font-size:18px;margin-bottom:17px}.home-service-description{font-size:15px}.home-service-top{font-size:9px}.home-service ul{font-size:10px;gap:10px 12px;margin:22px 0 20px}.home-service-art{width:100%;bottom:-15%;right:-35%;opacity:.3}.home-service.is-current .home-service-art{opacity:.5}.home-reviews{padding:70px 20px 60px}.home-review-grid{grid-template-columns:1fr}.home-review{padding:28px}.home-review blockquote{font-size:27px;margin-bottom:32px}.home-section-heading{margin-bottom:30px}.home-quote{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);border-radius:20px}.home-quote-shell{grid-template-columns:1fr;min-height:0}.home-quote-intro{padding:24px 25px 22px}.home-quote-intro h2{font-size:32px;line-height:1.04;margin:16px 0 0}.home-quote-intro h2 br{display:none}.home-quote-intro h2 em{margin-left:8px}.home-quote-intro>p,.home-quote-intro-foot{display:none}.home-quote-orbit{width:220px;height:220px;left:auto;right:-50px;top:-60px}.home-quote-body{padding:23px 24px 28px}.home-quote-close{position:fixed;top:9px;right:9px;background:#111;border-color:#666;color:#fff;width:40px;height:40px}.home-quote-progress{margin:0 0 23px;font-size:9px}.home-quote legend{font-size:24px;padding-bottom:22px}.home-quote input:not([type="hidden"]),.home-quote textarea,.home-quote select{font-size:16px}.home-quote-fields{gap:12px}.home-quote label{font-size:11px;margin-bottom:16px}.home-quote-primary{font-size:13px}.home-quote-success{padding-top:15px}.home-quote-success h3{font-size:32px}}
@media(max-width:359px){.home-quote-fields{grid-template-columns:1fr;gap:0}.home-quote-body{padding:22px 18px}.home-quote-intro h2{font-size:29px}.home-service{padding:25px 22px}.home-service h3{font-size:30px}}
@media(max-width:767px){.home-quote-fields{grid-template-columns:1fr;gap:0}.home-quote-intro{padding-top:20px;padding-bottom:18px}.home-quote-intro h2{font-size:30px}.home-quote label{margin-bottom:13px}}
@media(prefers-reduced-motion:reduce){[data-home-premium] *,[data-home-premium] *:before,[data-home-premium] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.home-motion-ready [data-home-reveal]:not(.is-visible){opacity:1;translate:none}.home-quote::backdrop{animation:none}.home-service-art{transform:none!important}}

/* Homepage closing gateway: the established Code Bro neutrals, with the
   reference's paired-card hover behaviour and no new typeface or colour. */
.home-footer-gateway{padding:clamp(70px,8vw,120px) 4% 34px;background:#0c0c0c;color:#161616}
.home-footer-gateway__grid{display:grid;grid-template-columns:minmax(290px,.72fr) minmax(0,1.65fr);gap:4px;max-width:1440px;margin:0 auto}
.home-footer-card{position:relative;display:flex;flex-direction:column;min-height:clamp(350px,34vw,510px);padding:clamp(24px,3vw,42px);overflow:hidden;border-radius:4px;color:inherit!important;text-decoration:none!important;transition:background-color .55s cubic-bezier(.16,1,.3,1),color .4s,transform .55s cubic-bezier(.16,1,.3,1)}
.home-footer-card--projects{background:#d8d8d4}
.home-footer-card--contact{background:#ececeb}
.home-footer-card__top{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.08em}
.home-footer-card__top b{font-weight:500}
.home-footer-card i{font-style:normal;font-size:20px;line-height:1;transition:transform .45s cubic-bezier(.16,1,.3,1)}
.home-footer-card>strong{display:block;margin:auto 0;font-family:Georgia,serif;font-size:clamp(48px,6.1vw,96px);font-weight:400;line-height:.94;letter-spacing:-.055em}
.home-footer-card--projects>strong{font-size:clamp(38px,3.65vw,58px);line-height:1.02}
.home-footer-card__bottom{max-width:400px;font-size:12px;line-height:1.5;color:#555550;transition:color .4s}
.home-footer-card__contact{display:flex;align-items:center;justify-content:space-between;align-self:flex-end;width:min(230px,100%);padding:10px 0;border-bottom:1px solid currentColor;font-size:15px}
.home-footer-card:is(:hover,:focus-visible){z-index:2;background:#f9f9f6;transform:translateY(-7px);outline:none}
.home-footer-card:is(:hover,:focus-visible) i{transform:translateX(8px)}
.home-footer-card:focus-visible{box-shadow:0 0 0 3px #f9f9f6,0 0 0 6px #161616}
.home-footer-gateway__grid:has(.home-footer-card--projects:hover) .home-footer-card--contact{background:#c9c9c5}
.home-footer-gateway__grid:has(.home-footer-card--contact:hover) .home-footer-card--projects{background:#c9c9c5}
@media(max-width:767px){.home-footer-gateway{padding:55px 20px 24px}.home-footer-gateway__grid{grid-template-columns:1fr;gap:4px}.home-footer-card{min-height:310px;padding:25px}.home-footer-card--projects>strong{font-size:42px}.home-footer-card--contact>strong{font-size:clamp(54px,17vw,74px)}.home-footer-card__contact{align-self:stretch}.home-footer-card:is(:hover,:focus-visible){transform:none}}
