body:is(.home,.ch-inner-page){--ch-bg:#121517;--ch-ink:#FFFFFF;--ch-accent:#EF233C;--ch-muted:#B8BBBD;--ch-dark-muted:#54595C;--ch-ease:cubic-bezier(.16,1,.3,1);color:var(--ch-ink);font-family:var(--ch-font-body)}
body:is(.home,.ch-inner-page) #page{overflow-x:clip}
body:is(.home,.ch-inner-page) #content>.ast-container{max-width:none;padding:0;display:block}
body:is(.home,.ch-inner-page) #primary{margin:0!important;padding:0!important;width:100%}
body:is(.home,.ch-inner-page) .site-main>article{margin:0;padding:0!important;background:transparent}
body:is(.home,.ch-inner-page) .entry-content{margin:0}
body:is(.home,.ch-inner-page) .entry-content>.alignfull{margin-left:0;margin-right:0;width:100%;max-width:none}
body:is(.home,.ch-inner-page) .entry-content p,body:is(.home,.ch-inner-page) .entry-content h1,body:is(.home,.ch-inner-page) .entry-content h2,body:is(.home,.ch-inner-page) .entry-content h3{font-family:var(--ch-font-body)}




body:is(.home,.ch-inner-page) .ch-hero{position:relative;isolation:isolate;box-sizing:border-box;min-height:100svh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:130px 32px 155px!important;gap:0!important;background:var(--ch-bg);overflow:hidden;text-align:center}
body:is(.home,.ch-inner-page) .ch-hero-copy{position:relative;z-index:2;width:100%;margin:0}
body:is(.home,.ch-inner-page) .ch-eyebrow{font:400 11px/1.5 var(--ch-font-body)!important;letter-spacing:.15em;text-transform:uppercase;color:var(--ch-muted);margin:0 0 26px!important}
body:is(.home,.ch-inner-page) .ch-eyebrow:before{content:"";width:5px;height:5px;background:var(--ch-accent);display:inline-block;border-radius:50%;vertical-align:middle;margin-right:10px}
body:is(.home,.ch-inner-page) .ch-title{font-size:clamp(62px,8.7vw,152px)!important;font-weight:400!important;line-height:1!important;letter-spacing:-.035em!important;color:var(--ch-ink);margin:0!important}
body:is(.home,.ch-inner-page) .ch-accent{color:var(--ch-accent)}
body:is(.home,.ch-inner-page) .ch-mobile-break{display:none}
body:is(.home,.ch-inner-page) .ch-lead{font-size:18px;line-height:1.6;color:var(--ch-muted);max-width:560px;margin:32px auto 36px!important}
body:is(.home,.ch-inner-page) .ch-hero-actions{gap:12px!important;justify-content:center}
body:is(.home,.ch-inner-page) .ch-action .wp-block-button__link{background:var(--ch-ink);color:var(--ch-bg);border:1px solid transparent;border-radius:999px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:5px 5px 5px 23px;font:500 13px/1.5 var(--ch-font-body);text-decoration:none;min-height:54px;box-shadow:none;transition:background-color .25s,color .25s,transform .25s var(--ch-ease)}
body:is(.home,.ch-inner-page) .ch-action .wp-block-button__link:after{content:"↗";width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:50%;background:var(--ch-bg);color:var(--ch-ink);font-size:26px;font-weight:400;transition:transform .25s var(--ch-ease),background-color .25s}
body:is(.home,.ch-inner-page) .ch-action-secondary .wp-block-button__link{background:transparent;color:var(--ch-ink);border-color:rgba(255,255,255,.3)}
body:is(.home,.ch-inner-page) .ch-action-secondary .wp-block-button__link:after{background:var(--ch-ink);color:var(--ch-bg)}
body:is(.home,.ch-inner-page) .ch-hero-bottom{position:absolute;z-index:2;bottom:28px;left:32px;right:32px;display:flex;gap:46px;align-items:flex-end;text-align:left}
body:is(.home,.ch-inner-page) .ch-platform,body:is(.home,.ch-inner-page) .ch-location{font-size:13px;line-height:1.6;color:var(--ch-muted);margin:0}
body:is(.home,.ch-inner-page) .ch-platform span{font-size:19px;line-height:1.65;color:var(--ch-ink);letter-spacing:-.02em}
body:is(.home,.ch-inner-page) .ch-location{margin-left:auto;max-width:220px;text-align:right}
body:is(.home,.ch-inner-page) .ch-particles{position:absolute;inset:0;z-index:0;width:100%;height:100%;pointer-events:none}
body:is(.home,.ch-inner-page) .ch-motion-toggle{position:absolute;z-index:3;right:32px;bottom:110px;background:transparent;border:1px solid rgba(255,255,255,.25);border-radius:999px;color:var(--ch-muted);font:400 11px/1.2 var(--ch-font-body);padding:8px 12px;cursor:pointer}
body:is(.home,.ch-inner-page) .ch-work{display:block!important;background:var(--ch-ink);color:var(--ch-bg);padding:130px 32px 120px!important}
body:is(.home,.ch-inner-page) .ch-section-title{font-size:clamp(48px,6.7vw,100px);font-weight:400;line-height:1.04;letter-spacing:-.055em;color:var(--ch-bg);margin:0!important}
body:is(.home,.ch-inner-page) .ch-work-intro{color:var(--ch-dark-muted);max-width:440px;font-size:18px;line-height:1.6;margin:24px 0 72px!important}
body:is(.home,.ch-inner-page) .ch-project-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:100px 9vw;align-items:start;margin:0}
body:is(.home,.ch-inner-page) .ch-project{margin:0!important;min-width:0}
body:is(.home,.ch-inner-page) .ch-project:nth-child(even){padding-top:140px}
body:is(.home,.ch-inner-page) .ch-project-image{margin:0 0 22px!important;border-radius:14.4px;overflow:hidden;background:var(--ch-bg)}
body:is(.home,.ch-inner-page) .ch-project-image a{display:block;overflow:hidden}
body:is(.home,.ch-inner-page) .ch-project-image img{display:block;width:100%;height:auto;aspect-ratio:1.24;object-fit:contain;transition:transform .7s var(--ch-ease)}
body:is(.home,.ch-inner-page) .ch-project-title{font-size:clamp(23px,2.3vw,32px);letter-spacing:-.035em;line-height:1.2;font-weight:400;margin:0 0 12px!important;color:var(--ch-bg)}
body:is(.home,.ch-inner-page) .ch-project-title a{color:inherit;text-decoration:none;display:flex;justify-content:space-between;gap:16px}
body:is(.home,.ch-inner-page) .ch-project-title span{font-size:27px;transition:transform .25s var(--ch-ease)}
body:is(.home,.ch-inner-page) .ch-project-caption{color:var(--ch-dark-muted);font-size:15px;line-height:1.6;margin:0!important;max-width:400px}
body:is(.home,.ch-inner-page) .ch-work-action{margin:70px 0 0!important}
body:is(.home,.ch-inner-page) .ch-work .ch-action .wp-block-button__link{background:var(--ch-bg);color:var(--ch-ink)}
body:is(.home,.ch-inner-page) .ch-work .ch-action .wp-block-button__link:after{background:var(--ch-accent);color:var(--ch-ink)}
body:is(.home,.ch-inner-page) .ch-existing-section{border-top:1px solid rgba(255,255,255,.12);padding-left:32px!important;padding-right:32px!important}
body:is(.home,.ch-inner-page) .ch-existing-section h2{font-weight:400!important;max-width:950px;letter-spacing:-.05em!important}
body:is(.home,.ch-inner-page) .ch-existing-section h3{font-weight:400!important}
body:is(.home,.ch-inner-page) .ch-existing-section a{color:var(--ch-ink)!important}
body:is(.home,.ch-inner-page) .ch-existing-section .wp-block-button__link{border-radius:999px!important;color:var(--ch-bg)!important}
body:is(.home,.ch-inner-page) .site-footer{background:var(--ch-bg);color:var(--ch-muted)}
body:is(.home,.ch-inner-page) a:focus-visible,body:is(.home,.ch-inner-page) button:focus-visible{outline:2px solid var(--ch-accent);outline-offset:6px}
body:is(.home,.ch-inner-page) .ch-motion-toggle:focus-visible{outline-offset:3px}
@media(hover:hover) and (pointer:fine){
body:is(.home,.ch-inner-page) .ch-action .wp-block-button__link:hover:after{transform:rotate(45deg);background:var(--ch-accent);color:var(--ch-ink)}
body:is(.home,.ch-inner-page) .ch-project-image a:hover img{transform:scale(1.035)}
body:is(.home,.ch-inner-page) .ch-project-title a:hover span{transform:translate(3px,-3px)}

}
@media(min-width:1600px){body:is(.home,.ch-inner-page) .ch-hero{padding-bottom:180px!important}body:is(.home,.ch-inner-page) .ch-work{padding-left:64px!important;padding-right:64px!important}}
@media(max-width:921px){

body:is(.home,.ch-inner-page) .ch-hero{padding-left:24px!important;padding-right:24px!important}
body:is(.home,.ch-inner-page) .ch-title{font-size:9vw!important}
body:is(.home,.ch-inner-page) .ch-project-grid{gap:64px 40px}
body:is(.home,.ch-inner-page) .ch-project:nth-child(even){padding-top:100px}
}
@media(max-width:600px){

body:is(.home,.ch-inner-page) .ch-hero{min-height:100svh;padding:145px 20px 195px!important;justify-content:flex-start}
body:is(.home,.ch-inner-page) .ch-title{font-size:clamp(40px,11.1vw,66px)!important;line-height:1.06!important;letter-spacing:-.055em!important}
body:is(.home,.ch-inner-page) .ch-mobile-break{display:block}
body:is(.home,.ch-inner-page) .ch-eyebrow{font-size:10px!important;letter-spacing:.09em;margin-bottom:24px!important}
body:is(.home,.ch-inner-page) .ch-lead{font-size:16px;line-height:1.6;max-width:345px;margin-top:30px!important;margin-bottom:30px!important}
body:is(.home,.ch-inner-page) .ch-hero-actions{flex-direction:column;align-items:center;gap:12px!important}
body:is(.home,.ch-inner-page) .ch-action .wp-block-button__link{font-size:13px}
body:is(.home,.ch-inner-page) .ch-hero-bottom{bottom:26px;left:20px;right:20px;display:grid;grid-template-columns:1fr 1.35fr;gap:24px 14px}
body:is(.home,.ch-inner-page) .ch-platform{font-size:11px}
body:is(.home,.ch-inner-page) .ch-platform span{font-size:15px}
body:is(.home,.ch-inner-page) .ch-location{grid-column:1/-1;font-size:12px;max-width:none;text-align:left;margin:0}
body:is(.home,.ch-inner-page) .ch-location br{display:none}
body:is(.home,.ch-inner-page) .ch-motion-toggle{display:none}
body:is(.home,.ch-inner-page) .ch-work{padding:80px 20px!important}
body:is(.home,.ch-inner-page) .ch-section-title{font-size:48px}
body:is(.home,.ch-inner-page) .ch-work-intro{font-size:16px;margin-bottom:48px!important}
body:is(.home,.ch-inner-page) .ch-project-grid{grid-template-columns:1fr;gap:48px}
body:is(.home,.ch-inner-page) .ch-project:nth-child(even){padding-top:0}
body:is(.home,.ch-inner-page) .ch-project-image img{aspect-ratio:1.2}
body:is(.home,.ch-inner-page) .ch-project-title{font-size:26px}
body:is(.home,.ch-inner-page) .ch-work-action{margin-top:48px!important}
body:is(.home,.ch-inner-page) .ch-existing-section{padding-left:20px!important;padding-right:20px!important}
}
@media(prefers-reduced-motion:reduce){
body:is(.home,.ch-inner-page) *,body:is(.home,.ch-inner-page) *:before,body:is(.home,.ch-inner-page) *:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}
}


body:is(.home,.ch-inner-page) #ast-scroll-top{background:var(--ch-bg);color:var(--ch-ink);border:1px solid rgba(255,255,255,.3);border-radius:999px}
body:is(.home,.ch-inner-page) #selected-work{scroll-margin-top:76px}


/* Native Astra header components: logo, menu-1 and button-1. */








/* Alternating two-column portfolio: large/small, then small/large. */
body:is(.home,.ch-inner-page) .ch-project-grid{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;row-gap:80px}
body:is(.home,.ch-inner-page) .ch-project:nth-child(4n+1){grid-column:1/8;padding-top:0}
body:is(.home,.ch-inner-page) .ch-project:nth-child(4n+2){grid-column:9/13;padding-top:140px}
body:is(.home,.ch-inner-page) .ch-project:nth-child(4n+3){grid-column:1/5;padding-top:100px}
body:is(.home,.ch-inner-page) .ch-project:nth-child(4n+4){grid-column:6/13;padding-top:0}
/* Process and tools. */
body:is(.home,.ch-inner-page) .ch-how,body:is(.home,.ch-inner-page) .ch-reviews,body:is(.home,.ch-inner-page) .ch-home-footer{display:block!important;background:var(--ch-bg);color:var(--ch-ink);padding:140px 32px!important}
body:is(.home,.ch-inner-page) .ch-how .ch-section-title,body:is(.home,.ch-inner-page) .ch-reviews .ch-section-title,body:is(.home,.ch-inner-page) .ch-wall .ch-section-title,body:is(.home,.ch-inner-page) .ch-contact .ch-section-title{color:inherit}
body:is(.home,.ch-inner-page) .ch-how-intro{display:grid;grid-template-columns:1.7fr 1fr;gap:70px;align-items:end;margin:0 0 150px}
body:is(.home,.ch-inner-page) .ch-how-summary p{font-size:19px;line-height:1.6;color:var(--ch-muted);max-width:410px;margin:0 0 32px}
body:is(.home,.ch-inner-page) .ch-section-actions{margin:24px 0 0}
body:is(.home,.ch-inner-page) .ch-subsection-label{font:400 13px/1.5 var(--ch-font-body)!important;letter-spacing:.03em;margin:0 0 48px!important;color:var(--ch-muted)}
body:is(.home,.ch-inner-page) .ch-build-section,body:is(.home,.ch-inner-page) .ch-process-section,body:is(.home,.ch-inner-page) .ch-tool-section{border-top:1px solid rgba(255,255,255,.18);padding-top:24px;margin:0 0 120px}
body:is(.home,.ch-inner-page) .ch-tool-section{margin-bottom:0}
body:is(.home,.ch-inner-page) .ch-build-list{list-style:none;margin:0!important;padding:0;font-size:clamp(32px,4.5vw,64px);line-height:1.22;letter-spacing:-.045em}
body:is(.home,.ch-inner-page) .ch-build-list li{display:inline;margin:0}
body:is(.home,.ch-inner-page) .ch-build-list li:not(:last-child):after{content:"•";color:var(--ch-accent);font-size:.65em;vertical-align:middle;padding:0 .5em}
body:is(.home,.ch-inner-page) .ch-process{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;position:relative;margin:0;padding-top:44px}
body:is(.home,.ch-inner-page) .ch-process:before{content:"";position:absolute;top:7px;left:0;right:0;height:1px;background:rgba(255,255,255,.2)}
body:is(.home,.ch-inner-page) .ch-process-progress{position:absolute;top:7px;left:0;width:100%;height:2px;background:var(--ch-accent);transform-origin:left;pointer-events:none}
body:is(.home,.ch-inner-page) .ch-process-step{position:relative;margin:0!important}
body:is(.home,.ch-inner-page) .ch-process-step:before{content:"";position:absolute;top:-43px;left:0;width:14px;height:14px;background:var(--ch-bg);border:1px solid var(--ch-muted);border-radius:50%}
body:is(.home,.ch-inner-page) .ch-process-step.ch-step-active:before{border-color:var(--ch-accent);background:var(--ch-accent)}
body:is(.home,.ch-inner-page) .ch-process-step h4{font:400 clamp(30px,3.5vw,48px)/1.15 var(--ch-font-body);letter-spacing:-.045em;color:var(--ch-ink);margin:0 0 20px}
body:is(.home,.ch-inner-page) .ch-process-step p{font-size:16px;line-height:1.65;color:var(--ch-muted);margin:0;max-width:290px}
body:is(.home,.ch-inner-page) .ch-tool-row{display:grid;grid-template-columns:280px 1fr;gap:32px;align-items:start;margin:0 0 48px}
body:is(.home,.ch-inner-page) .ch-tool-row:last-child{margin-bottom:0}
body:is(.home,.ch-inner-page) .ch-tool-row h4{font:400 16px/1.5 var(--ch-font-body);color:var(--ch-muted);margin:10px 0}
body:is(.home,.ch-inner-page) .ch-tool-pills{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:0!important;padding:0}
body:is(.home,.ch-inner-page) .ch-tool-pills li{border:1px solid rgba(255,255,255,.22);border-radius:999px;font-size:15px;padding:10px 20px;line-height:1.5;margin:0;color:var(--ch-ink)}
/* Continuous diagonal project wall. */
body:is(.home,.ch-inner-page) .ch-wall{display:flex!important;justify-content:center;align-items:flex-start;position:relative;isolation:isolate;min-height:760px;padding:120px 32px!important;background:var(--ch-accent);color:var(--ch-ink);overflow:hidden;border-radius:48px 48px 0 0}
body:is(.home,.ch-inner-page) .ch-wall-copy{position:relative;z-index:2;max-width:540px;margin:0}
body:is(.home,.ch-inner-page) .ch-wall-copy h2{font-size:clamp(52px,6.3vw,90px);letter-spacing:-.055em;line-height:1.02}
body:is(.home,.ch-inner-page) .ch-wall-copy p{font-size:18px;line-height:1.6;max-width:410px;margin:32px 0}
body:is(.home,.ch-inner-page) .ch-wall-gallery{position:absolute;inset:-20% -0% -20% 45%;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;transform:rotate(13deg);z-index:0;opacity:.8;pointer-events:none}
body:is(.home,.ch-inner-page) .ch-wall-column{overflow:visible;min-width:0;margin:0!important}
body:is(.home,.ch-inner-page) .ch-wall-set{display:flex;flex-direction:column;gap:18px;margin:0 0 18px!important}
body:is(.home,.ch-inner-page) .ch-wall-set figure{margin:0!important;overflow:hidden;border-radius:0px;}
body:is(.home,.ch-inner-page) .ch-wall-set img{width:100%;height:auto;object-fit:contain;display:block}
body:is(.home,.ch-inner-page) .ch-wall-track{animation:ch-wall-drift 42s linear infinite;will-change:transform}
body:is(.home,.ch-inner-page) .ch-wall-column:nth-child(2) .ch-wall-track{animation-duration:52s;animation-direction:reverse}
body:is(.home,.ch-inner-page) .ch-wall-column:nth-child(3) .ch-wall-track{animation-duration:46s}
@keyframes ch-wall-drift{to{transform:translateY(-50%)}}
body:is(.home,.ch-inner-page) .ch-wall .ch-action .wp-block-button__link{background:var(--ch-ink);color:var(--ch-bg)}
body:is(.home,.ch-inner-page) .ch-loop-toggle{position:relative;z-index:3;border:1px solid currentColor;background:transparent;color:inherit;border-radius:999px;padding:9px 15px;font:400 12px/1.4 var(--ch-font-body);cursor:pointer}
body:is(.home,.ch-inner-page) .ch-wall>.ch-loop-toggle{position:absolute;bottom:28px;left:32px}
body:is(.home,.ch-inner-page) .ch-loop-paused .ch-wall-track,body:is(.home,.ch-inner-page) .ch-loop-offscreen .ch-wall-track,body:is(.home,.ch-inner-page) .ch-loop-paused .ch-logo-track,body:is(.home,.ch-inner-page) .ch-loop-offscreen .ch-logo-track{animation-play-state:paused}
/* Testimonial preview: all quote text remains native content. */
body:is(.home,.ch-inner-page) .ch-reviews{padding-top:130px!important}
body:is(.home,.ch-inner-page) .ch-review-slides{margin:100px 0 0}
body:is(.home,.ch-inner-page) .ch-review-slide{display:grid;grid-template-columns:24% 1fr;gap:32px;margin:0 0 80px}
body:is(.home,.ch-inner-page) .ch-review-slide[hidden]{display:none!important}
body:is(.home,.ch-inner-page) .ch-review-label{color:var(--ch-accent);font-size:13px;margin:0 0 20px}
body:is(.home,.ch-inner-page) .ch-review-person{color:var(--ch-muted);font-size:15px;line-height:1.65;margin:0}
body:is(.home,.ch-inner-page) .ch-review-body{min-width:0;margin:0}
body:is(.home,.ch-inner-page) .ch-review-quote{font-size:clamp(28px,3.6vw,52px);line-height:1.2;letter-spacing:-.04em;color:var(--ch-ink);margin:0 0 28px}
body:is(.home,.ch-inner-page) .ch-review-quote:before{content:"“";display:block;color:var(--ch-accent);font-size:90px;line-height:.7;margin-bottom:20px}
body:is(.home,.ch-inner-page) .ch-review-note{font-size:14px;color:var(--ch-muted);margin:0}
body:is(.home,.ch-inner-page) .ch-review-controls{display:flex;align-items:center;gap:12px;margin:36px 0 0 26%}
body:is(.home,.ch-inner-page) .ch-review-controls button{background:transparent;border:1px solid rgba(255,255,255,.3);border-radius:50%;width:48px;height:48px;padding:12px;color:var(--ch-ink);cursor:pointer}
body:is(.home,.ch-inner-page) .ch-review-controls svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;display:block}
body:is(.home,.ch-inner-page) .ch-review-status{font-size:13px;color:var(--ch-muted);margin-left:10px}
/* Editable client-name placeholders for the scrolling logo strip. */
body:is(.home,.ch-inner-page) .ch-client-strip{border-top:1px solid rgba(255,255,255,.18);margin-top:110px;padding-top:30px;overflow:hidden}
body:is(.home,.ch-inner-page) .ch-client-strip .ch-subsection-label{margin-bottom:28px!important}
body:is(.home,.ch-inner-page) .ch-logo-viewport{overflow:hidden;margin:0}
body:is(.home,.ch-inner-page) .ch-logo-track{display:flex;align-items:center;width:max-content;animation:ch-logo-drift 48s linear infinite}
body:is(.home,.ch-inner-page) .ch-logo-set{display:flex;gap:72px;align-items:center;flex-shrink:0;padding-right:72px;margin:0!important}
body:is(.home,.ch-inner-page) .ch-client-name{font-size:clamp(24px,2.4vw,34px);font-weight:500;letter-spacing:-.035em;color:var(--ch-ink);white-space:nowrap;margin:0!important;padding:12px 0}
body:is(.home,.ch-inner-page) .ch-client-strip .ch-loop-toggle{margin-top:28px;color:var(--ch-muted)}
@keyframes ch-logo-drift{to{transform:translateX(-50%)}}
/* Enquiry and footer. */
body:is(.home,.ch-inner-page) .ch-contact{display:grid!important;grid-template-columns:1fr 1fr;gap:64px;background:var(--ch-accent);color:var(--ch-ink);padding:130px 32px!important;border-radius:48px 48px 0 0;align-items:start}
body:is(.home,.ch-inner-page) .ch-contact-copy{margin:0}
body:is(.home,.ch-inner-page) .ch-contact-copy .ch-section-title{font-size:clamp(50px,5.8vw,84px);letter-spacing:-.055em;line-height:1.03}
body:is(.home,.ch-inner-page) .ch-contact-copy>p{font-size:18px;line-height:1.65;max-width:410px;margin:32px 0}
body:is(.home,.ch-inner-page) .ch-contact-email a{color:var(--ch-ink);text-underline-offset:5px;overflow-wrap:anywhere}
body:is(.home,.ch-inner-page) .ch-contact-form{padding:40px;background:var(--ch-ink);color:var(--ch-bg);border-radius:24px;margin:0}
body:is(.home,.ch-inner-page) .ch-contact-form h3{font-size:30px;font-weight:400;line-height:1.2;letter-spacing:-.03em;color:var(--ch-bg);margin:0 0 16px}
body:is(.home,.ch-inner-page) .ch-contact-form>p{font-size:15px;color:var(--ch-dark-muted);margin:0 0 32px}
body:is(.home,.ch-inner-page) .ch-enquiry-form{margin:0}
body:is(.home,.ch-inner-page) .ch-enquiry-form label,body:is(.home,.ch-inner-page) .ch-enquiry-form legend{font-size:13px;line-height:1.5;color:var(--ch-dark-muted);display:block;font-weight:400}
body:is(.home,.ch-inner-page) .ch-enquiry-form label>span:not(.wpcf7-form-control-wrap){font-size:11px}
body:is(.home,.ch-inner-page) .ch-form-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}
body:is(.home,.ch-inner-page) .ch-enquiry-form input:not([type=checkbox]):not([type=submit]),body:is(.home,.ch-inner-page) .ch-enquiry-form textarea{width:100%;border:0;border-bottom:1px solid rgba(18,21,23,.25);border-radius:0;padding:12px 0;background:transparent;color:var(--ch-bg);font:400 16px/1.5 var(--ch-font-body);box-shadow:none}
body:is(.home,.ch-inner-page) .ch-enquiry-form textarea{height:110px;min-height:90px;resize:vertical}
body:is(.home,.ch-inner-page) .ch-enquiry-form input::placeholder{color:var(--ch-dark-muted);font-size:13px}
body:is(.home,.ch-inner-page) .ch-enquiry-form input:focus-visible,body:is(.home,.ch-inner-page) .ch-enquiry-form textarea:focus-visible{outline:2px solid var(--ch-bg);outline-offset:3px}
body:is(.home,.ch-inner-page) .ch-enquiry-form input[type=submit]{background:var(--ch-bg);color:var(--ch-ink);border-radius:999px;padding:16px 24px;font:500 14px/1.5 var(--ch-font-body);border:0;cursor:pointer}
body:is(.home,.ch-inner-page) .ch-form-interest{border:0;padding:0;margin:0 0 28px}
body:is(.home,.ch-inner-page) .ch-form-interest legend{margin-bottom:12px;padding:0}
body:is(.home,.ch-inner-page) .ch-form-interest .wpcf7-checkbox{display:flex;flex-wrap:wrap;gap:8px}
body:is(.home,.ch-inner-page) .ch-form-interest .wpcf7-list-item{margin:0}
body:is(.home,.ch-inner-page) .ch-form-interest label{display:flex;align-items:center;gap:7px;border:1px solid rgba(18,21,23,.2);border-radius:999px;padding:7px 10px;cursor:pointer}
body:is(.home,.ch-inner-page) .ch-form-interest input{accent-color:var(--ch-bg);margin:0;width:13px;height:13px}
body:is(.home,.ch-inner-page) .ch-form-privacy{font-size:12px;line-height:1.5;color:var(--ch-dark-muted)}
body:is(.home,.ch-inner-page) .ch-form-privacy a{color:var(--ch-bg);text-decoration:underline}
body:is(.home,.ch-inner-page) .ch-enquiry-form .wpcf7-not-valid-tip{color:#B01228;font-size:12px}
body:is(.home,.ch-inner-page) .ch-home-footer{padding-bottom:28px!important}
body:is(.home,.ch-inner-page) .ch-footer-wordmark{font-size:clamp(70px,15vw,250px);line-height:1;letter-spacing:-.065em;font-weight:500;margin:80px 0!important;white-space:nowrap}
body:is(.home,.ch-inner-page) .ch-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:80px;margin:0}
body:is(.home,.ch-inner-page) .ch-footer-about h2{color:var(--ch-ink);font-size:34px;font-weight:400;letter-spacing:-.04em;line-height:1.2;margin:0 0 24px}
body:is(.home,.ch-inner-page) .ch-footer-about p{color:var(--ch-muted);font-size:15px;line-height:1.6;max-width:390px}
body:is(.home,.ch-inner-page) .ch-footer-nav h3{font-size:13px;color:var(--ch-muted);font-weight:400;margin:0 0 24px}
body:is(.home,.ch-inner-page) .ch-footer-links{list-style:none;padding:0;margin:0!important}
body:is(.home,.ch-inner-page) .ch-footer-links li{margin:0 0 14px;font-size:15px}
body:is(.home,.ch-inner-page) .ch-footer-links a,body:is(.home,.ch-inner-page) .ch-footer-bottom a{color:var(--ch-ink);text-decoration:none}
body:is(.home,.ch-inner-page) .ch-footer-bottom{display:flex;justify-content:space-between;gap:24px;border-top:1px solid rgba(255,255,255,.18);padding-top:26px;margin:0;color:var(--ch-muted)}
body:is(.home,.ch-inner-page) .ch-footer-bottom p{font-size:12px;margin:0}
body.home .site-footer{display:none}
body:is(.home,.ch-inner-page) ::selection{background:var(--ch-accent);color:var(--ch-ink)}
@media(hover:hover) and (pointer:fine){
body:is(.home,.ch-inner-page) .ch-footer-links a:hover{color:var(--ch-accent)}
body:is(.home,.ch-inner-page) .ch-review-controls button:hover{background:var(--ch-ink);color:var(--ch-bg)}
body:is(.home,.ch-inner-page) .ch-loop-toggle:hover{background:var(--ch-ink);color:var(--ch-bg)}
}
@media(max-width:1000px){
body:is(.home,.ch-inner-page) .ch-how-intro{gap:40px;grid-template-columns:1.5fr 1fr}
body:is(.home,.ch-inner-page) .ch-tool-row{grid-template-columns:180px 1fr}
body:is(.home,.ch-inner-page) .ch-contact{gap:32px}
body:is(.home,.ch-inner-page) .ch-contact-form{padding:28px}
body:is(.home,.ch-inner-page) .ch-wall-copy{max-width:47%}
body:is(.home,.ch-inner-page) .ch-footer-grid{gap:40px}
}
@media(max-width:700px){
body:is(.home,.ch-inner-page) .ch-project-grid{grid-template-columns:1fr;gap:48px}
body:is(.home,.ch-inner-page) .ch-project:nth-child(n){grid-column:auto;padding-top:0}
body:is(.home,.ch-inner-page) .ch-how,body:is(.home,.ch-inner-page) .ch-reviews,body:is(.home,.ch-inner-page) .ch-home-footer{padding:80px 20px!important}
body:is(.home,.ch-inner-page) .ch-how-intro{grid-template-columns:1fr;gap:32px;margin-bottom:70px}
body:is(.home,.ch-inner-page) .ch-how-summary p{font-size:17px}
body:is(.home,.ch-inner-page) .ch-build-section,body:is(.home,.ch-inner-page) .ch-process-section{margin-bottom:70px}
body:is(.home,.ch-inner-page) .ch-subsection-label{margin-bottom:32px!important}
body:is(.home,.ch-inner-page) .ch-build-list{font-size:34px;line-height:1.35}
body:is(.home,.ch-inner-page) .ch-process{grid-template-columns:1fr;gap:40px;padding:0 0 0 28px}
body:is(.home,.ch-inner-page) .ch-process:before{inset:0 auto 0 6px;width:1px;height:auto}
body:is(.home,.ch-inner-page) .ch-process-progress{display:none}
body:is(.home,.ch-inner-page) .ch-process-step:before{left:-28px;top:8px}
body:is(.home,.ch-inner-page) .ch-process-step h4{font-size:36px}
body:is(.home,.ch-inner-page) .ch-process-step p{max-width:none}
body:is(.home,.ch-inner-page) .ch-tool-row{grid-template-columns:1fr;gap:12px;margin-bottom:32px}
body:is(.home,.ch-inner-page) .ch-tool-pills{gap:8px}
body:is(.home,.ch-inner-page) .ch-tool-pills li{font-size:13px;padding:8px 14px}
body:is(.home,.ch-inner-page) .ch-wall{min-height:930px;justify-content:flex-start;padding:80px 20px!important;border-radius:28px 28px 0 0}
body:is(.home,.ch-inner-page) .ch-wall-copy{max-width:100%}
body:is(.home,.ch-inner-page) .ch-wall-copy h2{font-size:52px}
body:is(.home,.ch-inner-page) .ch-wall-copy p{font-size:16px;max-width:340px}
body:is(.home,.ch-inner-page) .ch-wall-gallery{inset:470px -25% -40% -10%;gap:12px;opacity:.95}
body:is(.home,.ch-inner-page) .ch-wall-set{gap:12px;margin-bottom:12px!important}
body:is(.home,.ch-inner-page) .ch-wall>.ch-loop-toggle{bottom:auto;top:410px;left:20px}
body:is(.home,.ch-inner-page) .ch-review-slides{margin-top:60px}
body:is(.home,.ch-inner-page) .ch-review-slide{grid-template-columns:1fr;gap:32px;margin-bottom:40px}
body:is(.home,.ch-inner-page) .ch-review-credit{display:flex;justify-content:space-between;gap:24px}
body:is(.home,.ch-inner-page) .ch-review-quote{font-size:30px}
body:is(.home,.ch-inner-page) .ch-review-controls{margin-left:0}
body:is(.home,.ch-inner-page) .ch-client-strip{margin-top:70px}
body:is(.home,.ch-inner-page) .ch-logo-set{gap:40px;padding-right:40px}
body:is(.home,.ch-inner-page) .ch-contact{grid-template-columns:1fr;padding:80px 20px!important;gap:32px;border-radius:28px 28px 0 0}
body:is(.home,.ch-inner-page) .ch-contact-copy .ch-section-title{font-size:56px}
body:is(.home,.ch-inner-page) .ch-contact-copy>p{font-size:16px}
body:is(.home,.ch-inner-page) .ch-contact-form{padding:28px 20px;border-radius:18px}
body:is(.home,.ch-inner-page) .ch-contact-form h3{font-size:26px}
body:is(.home,.ch-inner-page) .ch-form-pair{grid-template-columns:1fr;gap:0}
body:is(.home,.ch-inner-page) .ch-footer-grid{grid-template-columns:1fr 1fr;gap:36px}
body:is(.home,.ch-inner-page) .ch-footer-about{grid-column:1/-1}
body:is(.home,.ch-inner-page) .ch-footer-wordmark{font-size:14.6vw;margin:50px 0!important}
body:is(.home,.ch-inner-page) .ch-footer-bottom{flex-direction:column;gap:14px}
}
@media(prefers-reduced-motion:reduce){
body:is(.home,.ch-inner-page) .ch-wall-track,body:is(.home,.ch-inner-page) .ch-logo-track{animation:none!important;transform:none!important}
body:is(.home,.ch-inner-page) .ch-build-list li{opacity:1!important}
}

body:is(.home,.ch-inner-page){--ch-stage:#D51E35;--ch-error:#B01228}
body:is(.home,.ch-inner-page) .ch-wall,body:is(.home,.ch-inner-page) .ch-contact{background:var(--ch-stage)}
body:is(.home,.ch-inner-page) .ch-enquiry-form .wpcf7-not-valid-tip{color:var(--ch-error)}
body:is(.home,.ch-inner-page) .ch-loop-focus .ch-logo-track{animation-play-state:paused}

/* Native block layout compatibility, homepage review. */
body:is(.home,.ch-inner-page) .ch-wall{display:block!important;padding-top:200px!important}
body:is(.home,.ch-inner-page) .ch-form-pair>p{display:contents}
body:is(.home,.ch-inner-page) .ch-form-pair label{min-width:0}
body:is(.home,.ch-inner-page) .ch-home-footer{display:flex!important;flex-direction:column;gap:0}
body:is(.home,.ch-inner-page) .ch-footer-grid{order:-1;width:100%}
@media(max-width:700px){body:is(.home,.ch-inner-page) .ch-wall{padding-top:80px!important}}

body:is(.home,.ch-inner-page) .ch-wall-gallery{overflow:hidden}

@media(max-width:700px),(pointer:coarse){body:is(.home,.ch-inner-page) .ch-motion-toggle{display:block;bottom:12px;right:20px;min-height:44px}body.home .ch-hero .ch-motion-toggle{top:105px;bottom:auto}body:is(.home,.ch-inner-page) .ch-loop-toggle{min-height:44px}body:is(.home,.ch-inner-page) .ch-logo-track{animation-duration:60s}}

/* Core RichText normalizes br attributes; preserve the responsive headline break. */
body:is(.home,.ch-inner-page) .ch-title br{display:none}
@media(max-width:700px){body:is(.home,.ch-inner-page) .ch-title br{display:block}}

/* Families follow Astra Customizer; retain the homepage's sizes and spacing. */
body:is(.home,.ch-inner-page) .entry-content :is(h1,h2,h3,h4,h5,h6),body:is(.home,.ch-inner-page) .ch-footer-wordmark,body:is(.home,.ch-inner-page) .ch-review-quote,body:is(.home,.ch-inner-page) .ch-build-list,body:is(.home,.ch-inner-page) .ch-logo-set{font-family:var(--ch-font-heading)!important}

/* Service detail backgrounds come from Astra rather than the dark landing-page default. */
body:is(.home,.ch-inner-page):not(.ch-service-detail-page){background:var(--ch-bg)}

/* Font-independent project arrow: identical on iOS and desktop. */
body.home #selected-work .ch-project-title a>span[aria-hidden="true"]{display:inline-block;flex:0 0 24px;width:24px;height:24px;font-size:0!important;line-height:0;align-self:center;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 19 19 5M5 5h14v14' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 19 19 5M5 5h14v14' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}

/* Fade decorative artwork into its red stage on narrow screens. */
@media(max-width:700px){body.home .ch-wall-gallery{-webkit-mask-image:linear-gradient(to bottom,transparent,#000 110px,#000 calc(100% - 110px),transparent);mask-image:linear-gradient(to bottom,transparent,#000 110px,#000 calc(100% - 110px),transparent)}body.home .ch-wall:after{content:"";position:absolute;inset:auto 0 0;height:110px;background:linear-gradient(transparent,var(--ch-stage,#D51E35));pointer-events:none;z-index:1}}

/* Motion controls removed from the visitor interface; system preferences remain respected. */
body:is(.home,.ch-inner-page) :is(.ch-motion-toggle,.ch-loop-toggle){display:none!important}

/* Editable client logo images: retain natural proportions. */
body:is(.home,.ch-inner-page) .ch-client-logo{flex:0 0 180px;width:180px;margin:0!important;padding:8px 0}
body:is(.home,.ch-inner-page) .ch-client-logo img{display:block;width:100%;height:84px;object-fit:contain;max-width:100%}
@media(max-width:700px){body:is(.home,.ch-inner-page) .ch-client-logo{flex-basis:140px;width:140px}body:is(.home,.ch-inner-page) .ch-client-logo img{height:66px}}

/* Loop by one measured set; extra copies fill shorter columns. */
body:is(.home,.ch-inner-page) .ch-wall-track{display:flow-root}
@keyframes ch-wall-drift{to{transform:translateY(calc(-1 * var(--ch-wall-step,0px)))}}

/* Approved mobile hero: centred grid, with content in normal flow. */
@media(max-width:700px){
 body.home .ch-hero{min-height:0;padding:48px 24px 32px!important;justify-content:flex-start}
 body.home .ch-hero .ch-eyebrow{margin:0 0 24px!important}
 body.home .ch-hero .ch-title{font-size:clamp(38px,10.5vw,46px)!important;line-height:1.06!important;letter-spacing:-.035em!important}
 body.home .ch-hero .ch-lead{max-width:340px;margin:28px auto!important}
 body.home .ch-hero .ch-hero-bottom{position:relative;inset:auto;width:100%;margin:48px 0 0!important;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px;align-items:start;text-align:center}
 body.home .ch-hero .ch-platform{margin:0!important;font-size:13px;line-height:1.4;color:var(--ch-ink);text-align:center}
 body.home .ch-hero .ch-platform br{display:none}
 body.home .ch-hero .ch-platform span{display:block;margin-top:7px;font-size:13px;line-height:1.5;color:var(--ch-muted);letter-spacing:normal}
 body.home .ch-hero .ch-location{grid-column:1/-1;max-width:none;width:100%;margin:8px 0 0!important;padding-top:24px;border-top:1px solid rgba(255,255,255,.18);font-size:12px;line-height:1.6;text-align:center}
 body.home .ch-hero .ch-location br{display:initial}
}
