
:root{--green:#24d186;--bg:#04110f;--surface:#081917;--raised:#0d211e;--line:#ffffff16;--line-strong:#ffffff28;--muted:#acbdb8;--white:#f4f7f6;--head:'Wix Madefor Text',sans-serif;--body:'Inter',sans-serif;--section-space:72px;--heading-space:32px;--grid-gap:24px;--card-pad:28px;--gutter:40px;--radius:8px;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{margin:0;background:var(--bg);color:var(--white);font-family:var(--body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer;background:none;border:0;color:inherit;padding:0}p,h1,h2,h3,figure{margin:0}p{color:var(--muted)}h1,h2,h3{font-family:var(--head);line-height:1.12;font-weight:750;letter-spacing:-.035em}h2{}h3{font-size:1.3rem;letter-spacing:-.02em}img{display:block;width:100%;max-width:100%;object-fit:cover}svg.icon{width:24px;height:24px;flex-shrink:0;vertical-align:middle}a,button{touch-action:manipulation}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--green);outline-offset:5px}::selection{background:var(--green);color:var(--bg)}.wrap{width:min(1320px,calc(100% - var(--gutter)*2));margin-inline:auto}.section{padding-block:var(--section-space);border-bottom:1px solid var(--line)}.eyebrow{font-size:.8125rem;line-height:1.5;text-transform:uppercase;letter-spacing:.13em;font-weight:600;color:var(--green);margin-bottom:16px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:48px;margin-bottom:var(--heading-space)}.section-description{max-width:650px;margin-top:18px}.section-heading>.section-description{margin:0;flex-shrink:0}.side-note{border-left:1px solid #24d18660;padding-left:28px;flex-shrink:0;max-width:280px}.side-note>span{font-size:.75rem;letter-spacing:.13em;text-transform:uppercase;color:var(--green);line-height:1.7;display:block}.side-note p{font-size:.875rem;line-height:1.6;margin-top:8px;color:#d6dfdb}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:54px;padding:14px 24px;background:var(--green);border:1px solid var(--green);border-radius:6px;font-size:.9375rem;line-height:1.45;font-weight:600;color:#04241a;transition:background .2s,border-color .2s,transform .2s;white-space:normal}.button>.icon{width:19px;height:19px}.button:hover{background:#4bdd9d;border-color:#4bdd9d;transform:translateY(-2px)}.button-small{min-height:46px;font-size:.875rem;padding:11px 20px;gap:18px}.button-outline{background:transparent;color:var(--white);border-color:#24d18670}.button-outline:hover{background:#24d18612;border-color:var(--green)}.text-link{display:inline-flex;align-items:center;gap:12px;font-size:.875rem;font-weight:600;color:var(--green)}.text-link .icon{width:19px;height:19px}.text-link:hover{text-decoration:underline;text-underline-offset:5px}.mobile-break{display:none}.index{font-size:.875rem;color:var(--green);font-weight:400;font-variant-numeric:tabular-nums}.skip-link{position:fixed;top:-100px;left:20px;background:var(--green);color:var(--bg);padding:12px 20px;z-index:100}.skip-link:focus{top:16px}
/* One shared container and section rhythm, from hero through enquiry. */
.site-header{position:sticky;top:0;z-index:20;background:#04110ff2;backdrop-filter:blur(20px);border-bottom:1px solid var(--line)}.header-inner{height:96px;display:flex;align-items:center;gap:34px}.brand{display:block;flex-shrink:0;width:110px}.brand img{width:110px;height:72px;object-fit:contain}.desktop-nav{display:flex;align-items:center;gap:30px;margin-left:20px}.desktop-nav a,.footer-nav a{font-size:.875rem;transition:color .2s}.desktop-nav a:hover,.footer-nav a:hover{color:var(--green)}.header-note{font-size:.75rem;line-height:1.6;margin-left:auto;white-space:nowrap}.header-note span{color:var(--green)}.header-cta{white-space:nowrap}.menu-toggle{display:none}.mobile-nav{padding:8px var(--gutter) 24px;background:var(--bg);border-top:1px solid var(--line)}.mobile-nav a{display:block;padding:15px 0;border-bottom:1px solid var(--line);font-family:var(--head);font-size:1.3rem}
.hero{background:radial-gradient(ellipse at 13% 55%,#074b3424,transparent 58%);overflow:hidden}.hero-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:48px;align-items:center}.hero-copy{position:relative;z-index:1}.hero h1{font-weight:800;letter-spacing:-.04em;}.hero h1 span{color:var(--green)}.hero-lead{font-weight:550;color:#e2ebe6;margin-top:26px;font-size:1.0625rem;max-width:510px}.hero-description{font-size:1rem;margin-top:10px;max-width:500px}.hero-actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:30px}.hero-capabilities{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:40px;padding-top:28px;border-top:1px solid var(--line)}.hero-capabilities>span{display:flex;gap:10px;align-items:center;font-size:.75rem;line-height:1.5;color:#d1dfd8}.hero-capabilities .icon{color:var(--green);width:23px;height:23px}.hero-mosaic{height:550px;display:grid;grid-template-columns:1.05fr 1fr;grid-template-rows:1fr 1fr;gap:8px;transform:rotate(-2deg);border-radius:8px;overflow:hidden;box-shadow:0 25px 85px #0005}.mosaic-image{position:relative;overflow:hidden;isolation:isolate;min-width:0;min-height:0;background:var(--surface)}.mosaic-image::after{content:'';position:absolute;inset:-1px;background:linear-gradient(0deg,#001410ed 0%,#00141022 70%);z-index:1;pointer-events:none}.mosaic-image>img{position:absolute;inset:0;height:100%;z-index:0}.mosaic-image figcaption{position:absolute;left:24px;right:18px;bottom:23px;transform:rotate(2deg);z-index:2}.mosaic-image figcaption>span{display:flex;align-items:center;gap:7px;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:#eff6f2;font-weight:600}.mosaic-image .icon{width:16px;height:16px;color:var(--green)}.mosaic-image strong{display:block;margin-top:9px;font-weight:500;text-transform:uppercase;letter-spacing:.09em;font-size:.75rem;line-height:1.6;color:#b4ccc0}
.services{background:linear-gradient(120deg,#051612 0%,var(--bg) 60%)}.services-layout{display:grid;grid-template-columns:minmax(0,3.25fr) minmax(200px,1fr);gap:var(--grid-gap);align-items:stretch}.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--grid-gap)}.service-card{text-align:left;display:flex;flex-direction:column;padding:var(--card-pad);background:linear-gradient(140deg,#0b211d99,#05141099);border:1px solid var(--line-strong);border-radius:var(--radius);transition:background .2s,border-color .2s,transform .2s;min-width:0}.service-card:hover{background:#0b251e;border-color:#24d18680;transform:translateY(-3px)}.service-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:16px}.service-card .icon{color:var(--green)}.service-card h3{margin-bottom:10px;letter-spacing:-.025em}.service-card p{font-size:.875rem;line-height:1.6;font-weight:400}.service-more{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:20px;color:#84ab97;font-size:.75rem;font-weight:500}.service-more .icon{width:17px;height:17px}.services-photo{border-radius:var(--radius);min-height:100%;position:relative;overflow:hidden;isolation:isolate}.services-photo>img{height:100%;position:absolute;inset:0;z-index:-2;object-position:50% 50%}.services-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#021c1640,#00140fcf);z-index:-1}.services-photo figcaption{padding:32px 26px;position:absolute;bottom:0;left:0;font-family:var(--head);font-size:2.2rem;line-height:1.06;letter-spacing:-.035em;font-weight:700}.services-photo figcaption>span{color:var(--green)}.services-photo img.photo-brand{width:100px;height:62px;object-fit:contain;object-position:left;margin-top:26px}
.work{background:radial-gradient(ellipse at 90% 10%,#073a2b33,transparent 55%)}.project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--grid-gap)}.project-card{border:1px solid var(--line-strong);border-radius:var(--radius);overflow:hidden;background:#081713;transition:transform .25s,border-color .25s}.project-card:hover{border-color:#24d18680;transform:translateY(-4px)}.project-card>button{display:flex;flex-direction:column;width:100%;height:100%;text-align:left}.project-photo{width:100%;position:relative;overflow:hidden;aspect-ratio:1.4}.project-photo>img{height:100%;transition:transform .6s}.project-card:hover .project-photo>img{transform:scale(1.04)}.project-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#04110f55,transparent 60%)}.project-open{position:absolute;right:16px;bottom:16px;display:grid;place-items:center;width:34px;height:34px;background:#031710cc;border:1px solid #ffffff60;border-radius:50%;z-index:1;color:var(--white)}.project-open .icon{width:19px;height:19px}.project-card-body{padding:24px;flex:1;display:flex;flex-direction:column;width:100%}.project-category{color:var(--green);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;margin-bottom:9px}.project-card h3{margin-bottom:20px}.project-location{margin-top:auto;display:flex;align-items:center;gap:8px;font-size:.8125rem;color:var(--muted)}.project-location .icon{color:var(--green);width:17px;height:17px}
.approach-layout{display:grid;grid-template-columns:minmax(250px,1fr) minmax(440px,1.75fr) minmax(150px,.58fr);align-items:center;gap:40px}.approach-copy h2{}.approach-copy>p:not(.eyebrow){font-size:1rem;margin-top:22px;max-width:350px}.approach-copy>p+p:not(.eyebrow){margin-top:14px}.approach-copy .button{margin-top:28px}.approach-diagram{position:relative;width:100%;height:380px;isolation:isolate;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(4,1fr);column-gap:230px;align-items:center}.approach-orb{position:absolute;width:260px;height:260px;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;overflow:hidden;border:1px solid var(--green);z-index:-1;padding:7px;box-shadow:0 0 60px #24d1860a}.orb-photo{width:100%;height:100%;border-radius:50%;object-position:50% 50%}.orb-shade{position:absolute;inset:7px;border-radius:50%;background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.8))}.approach-orb .orb-logo{position:absolute;width:130px;height:84px;object-fit:contain;top:50%;left:50%;transform:translate(-50%,-50%);filter:drop-shadow(0 4px 7px #0007)}.capability{position:relative;display:flex;align-items:center;gap:11px;padding:12px 15px;border:1px solid #24d18665;border-radius:7px;background:#071c17;font-size:.875rem;line-height:1.4;min-height:50px;white-space:nowrap;transition:background .2s,border-color .2s;z-index:1;width:max-content;min-width:128px}.capability>.icon{color:var(--green);width:21px;height:21px}.capability:hover,.capability[aria-pressed=true]{border-color:var(--green);background:#12412e}.capability::after{content:'';position:absolute;top:50%;height:1px;width:30px;background:#24d18650;z-index:-1}.cap-0,.cap-1,.cap-2,.cap-3{grid-column:1;justify-self:start}.cap-0::after,.cap-1::after,.cap-2::after,.cap-3::after{left:100%}.cap-4,.cap-5,.cap-6,.cap-7{grid-column:2;justify-self:end}.cap-4::after,.cap-5::after,.cap-6::after,.cap-7::after{right:100%}.cap-0,.cap-4{grid-row:1;transform:translateY(17px)}.cap-1,.cap-5{grid-row:2}.cap-2,.cap-6{grid-row:3}.cap-3,.cap-7{grid-row:4;transform:translateY(-17px)}.cap-0,.cap-3{margin-left:20px}.cap-4,.cap-7{margin-right:20px}.approach-note{padding-left:25px;border-left:1px solid var(--line-strong);align-self:center;min-height:220px;display:flex;flex-direction:column;justify-content:center}.approach-note>.eyebrow{font-size:.75rem;margin:0}.short-rule{display:block;width:30px;height:2px;background:var(--green);margin-block:22px}.approach-note p{font-size:.875rem;line-height:1.65}.approach-note .text-link{font-size:.8125rem;margin-top:18px;align-items:flex-start}.approach-note .text-link .icon{width:16px;height:16px}
.process{background:#061512}.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--grid-gap)}.process-card{position:relative;border:1px solid var(--line-strong);border-radius:var(--radius);padding:var(--card-pad);background:linear-gradient(125deg,#0b211baa,#07191388)}.process-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.process-top .icon{color:var(--green);width:29px;height:29px}.process-card h3{margin-bottom:12px}.process-card p{font-size:.9375rem}.process-card:not(:last-child)::after{content:'›';position:absolute;right:-19px;top:50%;transform:translateY(-50%);color:var(--green);font-size:25px;font-weight:300}
.clients{background:radial-gradient(ellipse at 80% 60%,#074d3036,transparent 58%)}.clients .section-heading{align-items:center}.clients h2{}.muted-heading{color:#93a99d}
.contact-layout{display:grid;grid-template-columns:.9fr 1.1fr;grid-template-areas:"intro form" "details form" "photo form";grid-template-rows:auto auto 1fr;column-gap:96px;row-gap:0;align-items:start}.contact-copy{grid-area:intro}.contact-details{grid-area:details}.contact-photo{grid-area:photo;align-self:end;margin-top:28px;min-width:0;height:clamp(160px,13vw,190px);overflow:hidden;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface)}.contact-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 64%}.contact-copy h2{}.contact-copy>p:not(.eyebrow){max-width:380px;margin-top:24px;font-size:1rem}.contact-direct{display:flex;gap:18px;align-items:center;margin-top:36px}.contact-icon{display:grid;place-items:center;width:48px;height:48px;flex-shrink:0;border-radius:50%;border:1px solid #24d18666;color:var(--green)}.contact-direct>div{display:flex;flex-direction:column;gap:4px}.contact-direct>div>span{font-size:.875rem;color:var(--muted)}.contact-direct a{font-size:1.125rem;color:var(--green);font-weight:600}.contact-direct a:hover{text-decoration:underline;text-underline-offset:5px}.contact-details p.contact-aside{padding-top:26px;margin-top:28px;position:relative;font-size:.875rem}.contact-aside::before{content:'';width:30px;height:2px;background:var(--green);position:absolute;top:0;left:0}.brief-card{grid-area:form;align-self:stretch;min-width:0;border:1px solid var(--line-strong);border-radius:var(--radius);padding:36px;background:linear-gradient(140deg,#0b211d,#071915)}.form-topline{display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:.8125rem;color:var(--muted)}#step-count{color:var(--green);font-variant-numeric:tabular-nums;flex-shrink:0}.form-progress{display:flex;gap:7px;margin:17px 0 30px}.form-progress>span{flex:1;height:2px;background:#1f3b31}.form-progress>span.active{background:var(--green)}fieldset{margin:0;padding:0;border:0;min-width:0}.form-step>legend{font-family:var(--head);font-size:1.5rem;font-weight:650;letter-spacing:-.02em;line-height:1.2;margin-bottom:10px;float:left;width:100%}.form-step>legend+.form-description{clear:both}.form-description{font-size:.875rem;margin-bottom:25px}.form-step label{display:block;font-size:.875rem;color:#c9d8d1;font-weight:400;margin-bottom:9px}.form-step>label{margin-top:20px}.form-step label>span[aria-hidden]{color:var(--green)}input:not([type=checkbox]),select,textarea{width:100%;display:block;background:#041612;border:1px solid #355047;border-radius:5px;min-height:50px;padding:12px 14px;color:var(--white);font-size:1rem;line-height:1.5;outline-offset:2px;transition:border-color .2s}select{padding-right:32px}textarea{resize:vertical;min-height:120px}input::placeholder,textarea::placeholder{color:#8ca49b;opacity:1}input:hover,select:hover,textarea:hover{border-color:#688878}input:focus,select:focus,textarea:focus{border-color:var(--green)}[aria-invalid=true]{border-color:#ff9c93!important}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px}.support-fields{margin-top:24px}.support-fields>legend{font-size:.875rem;color:#c9d8d1;margin-bottom:12px}.support-options{display:flex;flex-wrap:wrap;gap:8px}.support-options>label{position:relative;margin:0;font-size:.8125rem}.support-options input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.support-options label span{display:block;padding:9px 11px;border:1px solid #355047;border-radius:4px;color:#b1c8be}.support-options input:checked+span{border-color:var(--green);color:var(--green);background:#24d18612}.support-options input:focus-visible+span{border-color:var(--green);background:#24d18612;outline:none;box-shadow:none}.form-actions{display:flex;justify-content:flex-end;align-items:center;gap:20px;margin-top:28px}.form-actions .back-button{margin-right:auto}.form-actions .button{min-height:50px;flex:1}.form-footnote{text-align:center;font-size:.75rem;color:#91a99e;margin-top:16px}.preview-notice{font-size:.8125rem;line-height:1.6;color:#afc9bc;background:#132e22;border:1px solid #315943;border-radius:5px;padding:12px 14px;margin-top:24px}.form-error{font-size:.875rem;color:#ffaaa2;margin-top:18px}.result-check{display:grid;place-items:center;width:48px;height:48px;border:1px solid #24d18688;border-radius:50%;font-size:1.5rem;color:var(--green);margin-bottom:24px}#brief-result h3{font-size:2rem;margin-bottom:18px}#brief-result>.button{margin-top:24px}#brief-summary{display:grid;grid-template-columns:90px 1fr;gap:12px;font-size:.875rem;border-block:1px solid var(--line-strong);padding-block:24px;margin-block:24px}#brief-summary dt{color:var(--muted)}#brief-summary dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}
.site-footer{background:#020d0b;padding-top:48px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-bottom:48px}.footer-brand{display:flex;align-items:center;gap:20px;flex-shrink:0}.footer-brand img{width:110px;height:72px;object-fit:contain}.footer-brand p{font-size:.75rem}.footer-nav{display:flex;flex-wrap:wrap;gap:24px}.footer-location{display:flex;align-items:flex-start;gap:12px}.footer-location>.icon{color:var(--green);width:20px;height:20px;margin-top:3px}.footer-location strong{font-size:.8125rem;font-weight:500}.footer-location p{font-size:.75rem;margin-top:4px;line-height:1.5}.back-top{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line-strong);border-radius:50%;flex-shrink:0;color:var(--green)}.back-top:hover{background:#24d18618;border-color:var(--green)}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding-block:24px;font-size:.75rem;color:#859e92}.footer-bottom>span:nth-child(2){font-size:.75rem;letter-spacing:.07em;text-transform:uppercase}.footer-bottom b{color:var(--green);padding-inline:14px}.private-label{white-space:nowrap}.social-links{display:flex;align-items:center;gap:14px}.social-links a{width:32px;height:32px;display:grid;place-items:center;color:#b7c9bf}.social-links a:hover{color:var(--green)}.social-links .icon{width:19px;height:19px}
dialog{position:fixed;padding:0;width:min(880px,calc(100% - 40px));max-height:90svh;background:#071a14;color:var(--white);border:1px solid #416052;border-radius:10px;box-shadow:0 25px 100px #000a;overflow:auto}dialog::backdrop{background:#010b08dc;backdrop-filter:blur(7px)}.dialog-close{position:absolute;top:16px;right:16px;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:#04170edb;border:1px solid #b8d5c578;z-index:1}.dialog-close:hover{background:#194e31}.dialog-image img{width:100%;height:340px;object-fit:cover}.dialog-body{padding:40px}.dialog-body h2{}.dialog-body>p:not(.eyebrow){margin-top:24px;font-size:1rem}.project-tags{display:flex;flex-wrap:wrap;gap:8px;margin-block:24px}.project-tags span{font-size:.8125rem;border:1px solid #395c49;padding:6px 12px;border-radius:4px;color:#b0cdbb}.dialog-actions{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px;margin-top:30px}.service-dialog{max-width:600px}.service-dialog .dialog-body{padding-top:64px}.service-dialog .dialog-body h2{}
@media (min-width:1600px){.hero-layout{gap:64px}.hero-mosaic{height:580px}}
@media (max-width:1200px){.header-inner{gap:24px}.desktop-nav{gap:22px;margin-left:0}.header-note{display:none}.header-cta{margin-left:auto}.hero-layout{gap:32px;grid-template-columns:1fr 1.03fr}.hero h1{}.hero-mosaic{height:520px}.hero-actions .button{padding:13px 18px;font-size:.875rem;gap:14px}.hero-capabilities{gap:12px}.hero-capabilities>span{gap:8px}.hero-capabilities .icon{width:20px;height:20px}.services-layout{grid-template-columns:minmax(0,3fr) minmax(190px,1fr)}.service-grid{gap:16px}.service-card{padding:22px 18px 18px}.service-card h3{}.service-card p{font-size:.8125rem}.services-photo figcaption{font-size:2rem;padding:28px 22px}.project-card-body{padding:20px}.project-card h3{}.approach-layout{grid-template-columns:.95fr 1.7fr;gap:36px}.approach-copy h2{}.approach-note{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:flex-start;gap:24px;min-height:0;border-left:0;border-top:1px solid var(--line);padding:24px 0 0}.approach-note .eyebrow{min-width:170px}.approach-note .short-rule{margin:0;width:2px;height:36px;flex-shrink:0}.approach-note p{max-width:480px}.approach-note .text-link{margin:0 0 0 auto}.contact-layout{column-gap:64px}.footer-top{flex-wrap:wrap;gap:28px}.footer-nav{gap:20px}.footer-location{margin-left:auto}.footer-bottom{flex-wrap:wrap}}
@media (max-width:960px){:root{--gutter:28px}.header-inner{height:84px;gap:24px}.brand,.brand img{width:100px}.brand img{height:65px}.desktop-nav{gap:18px}.desktop-nav a{font-size:.8125rem}.header-cta{font-size:.8125rem;padding:11px 16px;gap:10px}.hero-layout{grid-template-columns:1fr;gap:48px}.hero-copy{max-width:700px}.hero h1{}.hero-lead,.hero-description{max-width:640px}.hero-capabilities{max-width:590px}.hero-capabilities>span{font-size:.8125rem;gap:12px}.hero-capabilities .icon{width:25px;height:25px}.hero-mosaic{transform:none;height:500px;grid-template-columns:1fr 1fr}.mosaic-image figcaption{transform:none}.mosaic-image figcaption>span{font-size:.75rem}.mosaic-image strong{font-size:.75rem}.services-layout{grid-template-columns:1fr 240px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--grid-gap)}.service-card{padding:var(--card-pad)}.service-card h3{}.service-card p{font-size:.875rem}.services-photo figcaption{font-size:2.4rem}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card h3{}.project-card-body{padding:var(--card-pad)}.approach-layout{grid-template-columns:1fr}.approach-copy{display:grid;grid-template-columns:1fr 1fr;gap:0 40px}.approach-copy .eyebrow{grid-column:1}.approach-copy h2{grid-column:1;grid-row:2/4}.approach-copy>p:not(.eyebrow){grid-column:2;margin:0 0 16px;max-width:none}.approach-copy>p:nth-of-type(2){grid-row:1/3}.approach-copy .button{grid-column:2;justify-self:start;margin-top:10px}.approach-diagram{max-width:620px;justify-self:center;height:400px}.approach-orb{width:290px;height:290px}.capability{min-width:150px}.approach-note{grid-column:auto}.process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.process-card:nth-child(2)::after{display:none}.process-card p{font-size:1rem}.contact-layout{grid-template-columns:.85fr 1.15fr;column-gap:36px}.contact-copy h2{}.brief-card{padding:28px}.field-row{grid-template-columns:1fr}.section-heading{gap:32px}.side-note{max-width:220px;padding-left:20px}.footer-brand{flex:1}.footer-nav{justify-content:flex-end}.footer-location{margin:0;flex:1}.footer-bottom>span:nth-child(2){display:none}}
@media (max-width:700px){:root{--section-space:48px;--heading-space:24px;--grid-gap:16px;--card-pad:24px;--gutter:20px}html{scroll-padding-top:100px}.header-inner{height:80px;gap:16px}.brand,.brand img{width:90px}.brand img{height:60px}.desktop-nav{display:none}.header-cta{font-size:.8125rem;min-height:42px;padding:10px 12px;margin-left:auto;gap:8px}.header-cta .icon{width:16px;height:16px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:36px;height:44px;flex-shrink:0;padding:7px}.menu-toggle span{height:1px;width:22px;background:var(--white);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.eyebrow{font-size:.75rem;margin-bottom:14px;letter-spacing:.12em}h2{}.section-heading{display:flex;flex-direction:column;align-items:flex-start;gap:22px}.section-description{font-size:1rem;margin-top:18px}.section-heading>.section-description{flex-shrink:1}.section-heading .side-note{display:none}.hero-layout{gap:36px}.hero h1{letter-spacing:-.04em;}.hero-lead{font-size:1rem;margin-top:24px}.hero-description{margin-top:10px}.hero-actions{gap:12px;margin-top:26px;flex-wrap:wrap}.hero-actions .button{font-size:.875rem;min-height:50px;padding:13px 16px;gap:14px;flex:1}.hero-capabilities{margin-top:32px;padding-top:24px;gap:20px 16px;grid-template-columns:repeat(2,1fr)}.hero-capabilities>span{font-size:.8125rem;gap:12px}.hero-capabilities br{display:none}.hero-capabilities span span{max-width:110px}.hero-capabilities .icon{width:23px;height:23px}.hero-mosaic{height:420px;gap:7px;border-radius:6px}.mosaic-image figcaption{bottom:16px;left:16px;right:12px}.mosaic-image figcaption>span{font-size:.75rem;letter-spacing:.05em;gap:5px}.mosaic-image .icon{width:14px;height:14px}.mosaic-image strong{font-size:.75rem;letter-spacing:.055em;line-height:1.55;margin-top:7px}.services-layout{display:block}.service-grid{gap:var(--grid-gap)}.service-card{padding:22px 20px}.service-card h3{}.service-card-top{margin-bottom:18px}.service-card p{font-size:.875rem}.service-more{font-size:.75rem;padding-top:18px}.services-photo{margin-top:var(--grid-gap);min-height:0;height:300px}.services-photo>img{object-position:center 45%}.services-photo::after{background:linear-gradient(90deg,#01150edb,#01150e22)}.services-photo figcaption{left:0;bottom:0;padding:28px;font-size:2.4rem}.services-photo img.photo-brand{width:80px;height:48px;margin-top:16px}.project-card-body{padding:20px}.project-card h3{margin-bottom:16px}.project-photo{aspect-ratio:1.2}.project-open{width:29px;height:29px;bottom:12px;right:12px}.project-open .icon{width:16px;height:16px}.project-category{font-size:.75rem;letter-spacing:.04em}.project-location{font-size:.75rem;gap:6px}.project-location .icon{width:15px;height:15px}.work .section-heading .button{font-size:.8125rem;min-height:42px}.approach-layout{gap:28px}.approach-copy{display:block}.approach-copy h2{}.approach-copy>p:not(.eyebrow){margin:20px 0 0;max-width:100%}.approach-copy>p+p:not(.eyebrow){margin-top:14px}.approach-copy .button{margin-top:24px}.approach-diagram{max-width:500px;height:330px;column-gap:145px;grid-template-rows:repeat(4,1fr)}.approach-orb{width:210px;height:210px;padding:6px}.orb-shade{inset:6px}.approach-orb .orb-logo{width:100px;height:66px}.capability{font-size:.8125rem;min-width:120px;gap:8px;padding:11px 10px;min-height:46px}.capability>.icon{width:18px;height:18px}.capability::after{width:15px}.cap-0,.cap-3{margin-left:8px}.cap-4,.cap-7{margin-right:8px}.cap-0,.cap-4{transform:translateY(7px)}.cap-3,.cap-7{transform:translateY(-7px)}.approach-note{flex-wrap:wrap;gap:18px;padding-top:24px}.approach-note .eyebrow{min-width:0;font-size:.75rem}.approach-note .short-rule{height:30px}.approach-note p{width:100%;font-size:1rem;max-width:100%}.approach-note .text-link{margin:0}.process-top{margin-bottom:20px}.process-card{padding:24px}.process-card h3{}.process-card p{font-size:.9375rem}.process-card::after{display:none}.clients .section-heading{align-items:flex-start}.clients h2{}.contact-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"intro" "photo" "form" "details";grid-template-rows:auto;gap:0}.contact-photo{height:auto;aspect-ratio:2.2;margin-top:28px;align-self:auto;border-radius:var(--radius) var(--radius) 0 0;border-bottom:0}.contact-photo img{object-position:50% 64%}.contact-copy h2{}.contact-copy>p:not(.eyebrow){max-width:480px;margin-top:20px}.contact-direct{margin-top:24px}.contact-details p.contact-aside{display:none}.brief-card{padding:24px;margin-top:0;border-radius:0 0 var(--radius) var(--radius)}.field-row{grid-template-columns:1fr 1fr}.field-row select,.field-row input{padding-inline:12px}.form-topline{font-size:.75rem}.form-step>legend{font-size:1.4rem}.form-actions{gap:16px}.form-actions .button{font-size:.875rem;padding-inline:16px}.form-footnote{font-size:.75rem}.site-footer{padding-top:40px}.footer-top{align-items:flex-start;gap:28px;padding-bottom:32px}.footer-brand{flex-basis:100%;justify-content:space-between}.footer-brand img{width:100px;height:66px}.footer-brand p{font-size:.8125rem}.footer-nav{flex-basis:100%;justify-content:space-between;gap:12px}.footer-nav a{font-size:.875rem}.footer-location p{font-size:.75rem}.footer-bottom{gap:10px;padding-block:24px;font-size:.75rem;justify-content:space-between}.social-links{flex-basis:100%}dialog{width:calc(100% - 24px);max-height:93svh}.dialog-image img{height:240px}.dialog-body{padding:28px 24px}.dialog-body h2{}.dialog-actions{flex-direction:column;align-items:stretch;gap:24px}.dialog-actions .button{width:100%;font-size:.875rem}.dialog-close{width:40px;height:40px;top:12px;right:12px}.service-dialog .dialog-body h2{}.project-tags{gap:7px}.project-tags span{font-size:.75rem}}
@media (max-width:420px){.header-inner{gap:11px}.header-cta{font-size:.75rem;padding-inline:11px}.header-cta .icon{display:none}.hero-actions .button{padding-inline:12px;gap:10px;font-size:.8125rem}.hero-mosaic{height:350px}.mosaic-image strong{display:none}.service-grid{grid-template-columns:1fr 1fr;gap:12px}.service-card{padding:20px 16px}.service-card h3{}.service-card p{font-size:.8125rem}.service-more{font-size:.75rem}.service-card-top .icon{width:22px;height:22px}.project-grid{grid-template-columns:1fr}.project-photo{aspect-ratio:1.5}.project-card-body{padding:24px}.project-card h3{}.project-category{font-size:.75rem}.project-location{font-size:.875rem}.approach-diagram{height:325px;column-gap:70px}.approach-orb{width:174px;height:174px}.approach-orb .orb-logo{width:92px;height:62px}.capability{min-width:112px;font-size:.75rem;padding:11px 9px;gap:7px}.cap-0,.cap-3{margin-left:8px}.cap-4,.cap-7{margin-right:8px}.cap-0,.cap-4{transform:translateY(-5px)}.cap-3,.cap-7{transform:translateY(5px)}.capability::after{width:12px}.process-card{padding:22px 18px}.process-card p{font-size:.875rem}.process-card h3{}.field-row{grid-template-columns:1fr}.brief-card{padding:24px 20px}.footer-bottom{flex-direction:column;align-items:flex-start}.mobile-break{display:block}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

.desktop-nav a[aria-current=location]{color:var(--green)}
.service-card p{font-size:1rem}.service-card{padding:var(--card-pad)}
@media (max-width:540px){.service-grid{grid-template-columns:1fr}.service-card{display:grid;grid-template-columns:1fr auto;column-gap:16px}.service-card-top{grid-column:2;grid-row:1/4;flex-direction:column-reverse;justify-content:space-between;margin:0}.service-card h3{}.service-card p{grid-column:1;max-width:310px}.service-more{grid-column:1;justify-content:flex-start;gap:10px;font-size:.8125rem}.hero-actions .button{font-size:.875rem}.mosaic-image figcaption>span{font-size:.75rem;letter-spacing:0}}.orb-photo{object-position:52% 48%}.clients h2{max-width:850px}
@media (max-width:700px){.clients h2{}}
@media (min-width:701px) and (max-width:1200px){.services-layout{grid-template-columns:1fr;display:grid}.services-photo{min-height:0;height:280px}.services-photo>img{object-position:50% 40%}.services-photo::after{background:linear-gradient(90deg,#031910ee,#03191020)}.services-photo figcaption{font-size:2.3rem;left:12px;bottom:0;max-width:450px}}
@media (max-width:420px){.approach-diagram{height:auto;padding-top:214px;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto;gap:12px}.approach-orb{top:0;left:50%;transform:translateX(-50%);width:190px;height:190px}.approach-orb .orb-logo{width:110px}.capability{grid-column:auto;grid-row:auto;justify-self:stretch;justify-content:center;width:100%;min-width:0;font-size:.8125rem;transform:none;margin:0}.capability::after{display:none}}

/* Reference hero: four straight photographs in an angled, edge-to-edge grid. */
.hero.section{padding-block:0}
.hero .hero-layout{width:100%;max-width:none;margin:0;grid-template-columns:minmax(0,42.5fr) minmax(0,57.5fr);gap:0;align-items:stretch;min-height:clamp(430px,36vw,540px)}
.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:48px 22px 48px max(var(--gutter),calc((100vw - 1320px)/2));max-width:none}
.hero-copy .eyebrow{margin-bottom:12px}
.hero h1{font-weight:800;letter-spacing:-.045em}
.hero-lead{font-size:1rem;line-height:1.55;font-weight:500;margin-top:20px;max-width:none}
.hero-description{font-size:1rem;line-height:1.55;margin-top:0;max-width:none}
.hero-actions{margin-top:24px;gap:16px;flex-wrap:nowrap}
.hero-actions .button{min-height:50px;padding:12px 21px;font-size:.875rem;gap:20px}
.hero-capabilities{margin-top:32px;padding-top:0;border-top:0;gap:18px;grid-template-columns:repeat(4,minmax(0,1fr));max-width:none}
.hero-capabilities>span{gap:10px;font-size:.8125rem;line-height:1.4}
.hero-capabilities .icon{width:24px;height:24px}
.hero-mosaic{height:auto;min-height:100%;width:calc(100% + 52px);margin-left:28px;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:7px;transform:skewX(-6deg);transform-origin:center;box-shadow:none;border-radius:0;overflow:hidden}
/* Animate only the photo on a persistent layer; keep the fade and clipping frame steady. */
.mosaic-image{border-radius:0;border:0;clip-path:inset(0);transform:translateZ(0)}
.mosaic-image>img{transform:translateZ(0) skewX(6deg) scale(1.13);object-position:center;transition:transform .6s ease;will-change:transform;backface-visibility:hidden;pointer-events:none}
.mosaic-image:hover>img{transform:translateZ(0) skewX(6deg) scale(1.17)}

.mosaic-image::after{background:linear-gradient(0deg,#00120fef 0%,#00120f40 40%,#00120f08 75%);transform:translateZ(0);backface-visibility:hidden}
.mosaic-image figcaption{left:28px;right:28px;bottom:24px;transform:skewX(6deg)}
.mosaic-image figcaption>span{font-size:.75rem;letter-spacing:.075em;gap:9px}
.mosaic-image strong{font-size:.75rem;letter-spacing:.08em;line-height:1.5;margin-top:8px;color:#8fbcb0}
.mosaic-image .icon{width:18px;height:18px}
@media (min-width:1600px){.hero-copy{padding-right:28px}.hero .hero-layout{grid-template-columns:minmax(0,45fr) minmax(0,55fr)}.hero h1{}.hero-mosaic{height:auto}}
@media (min-width:801px) and (max-width:1200px){.hero-copy{padding-block:36px;padding-right:12px}.hero h1{}.hero-actions{gap:12px}.hero-actions .button{padding:12px 15px;gap:12px;font-size:.8125rem}.hero-capabilities{gap:12px;margin-top:28px}.hero-capabilities>span{gap:8px;font-size:.75rem}.hero-capabilities .icon{width:20px;height:20px}.mosaic-image figcaption{left:24px;bottom:22px;right:20px}.mosaic-image figcaption>span{font-size:.75rem;letter-spacing:.025em}.mosaic-image strong{font-size:.75rem;letter-spacing:.03em}}
@media (max-width:800px){.hero .hero-layout{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:40px var(--gutter) 36px;width:min(640px,100%);margin-inline:auto}.hero h1{}.hero-lead{margin-top:20px}.hero-actions .button{flex:1;font-size:.875rem;padding-inline:16px;gap:16px}.hero-capabilities{margin-top:28px;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.hero-capabilities>span{font-size:.75rem;gap:8px}.hero-capabilities .icon{width:22px;height:22px}.hero-capabilities br{display:initial}.hero-mosaic{flex:none;width:calc(100% + 38px);height:400px;min-height:0;margin-left:0;transform:skewX(-4deg);grid-template-rows:1fr 1fr;gap:6px}.mosaic-image>img{transform:translateZ(0) skewX(4deg) scale(1.12)}.mosaic-image:hover>img{transform:translateZ(0) skewX(4deg) scale(1.16)}.mosaic-image figcaption{transform:skewX(4deg);left:24px;right:20px;bottom:20px}.mosaic-image:nth-child(even) figcaption{right:42px}.mosaic-image strong{display:block}}
@media (max-width:480px){.hero-copy{padding-top:32px;padding-bottom:32px}.hero h1{}.hero-actions{gap:12px}.hero-actions .button{font-size:.8125rem;padding-inline:12px;gap:10px}.hero-capabilities{gap:20px 16px;grid-template-columns:repeat(2,minmax(0,1fr))}.hero-capabilities>span{font-size:.8125rem;gap:12px}.hero-mosaic{height:350px;margin-left:-6px;width:calc(100% + 40px)}.mosaic-image figcaption{left:20px;bottom:16px;right:16px}.mosaic-image figcaption>span{font-size:.75rem;letter-spacing:0;gap:5px}.mosaic-image .icon{width:15px;height:15px}.mosaic-image strong{font-size:.75rem;letter-spacing:0;line-height:1.4;margin-top:7px}.mosaic-image:nth-child(even) figcaption{right:40px}}

.mosaic-image:nth-child(1)>img{object-position:50% 40%}.mosaic-image:nth-child(2)>img{object-position:54% 45%}.mosaic-image:nth-child(3)>img{object-position:50% 60%}

/* Match inner-page hero heights; mobile copy continues to follow its content. */
@media (min-width:801px){.hero .hero-layout{min-height:620px}}
@media (min-width:801px) and (max-width:900px){.hero .hero-layout{min-height:560px}}
@media (min-width:801px){.hero-copy{padding-block:var(--section-space)}.hero h1{}.site-footer{padding-top:var(--section-space)}.footer-top{padding-bottom:var(--section-space)}}
@media (min-width:801px) and (max-width:1200px){.hero h1{}}
@media (min-width:1600px){.hero .hero-layout{grid-template-columns:calc((100vw - 1320px)/2 + 580px) minmax(0,1fr)}.hero h1{}}
@media (max-width:800px){.hero h1{}.hero-capabilities{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:28px}.hero-capabilities>span{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:12px;min-height:72px;padding:14px;border:1px solid var(--line-strong);border-radius:6px;background:#071c1680;font-size:.875rem;line-height:1.4}.hero-capabilities .icon{width:24px;height:24px}.hero-capabilities>span>span{max-width:none}.hero-copy{width:min(660px,100%)}}
/* Eight capability buttons form a complete grid below the mobile diagram. */
@media (max-width:700px){.approach-diagram{height:auto;max-width:500px;padding-top:220px;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:minmax(56px,auto);grid-auto-flow:row;column-gap:12px;row-gap:12px}.approach-orb{top:0;left:50%;transform:translateX(-50%);width:190px;height:190px}.approach-orb .orb-logo{width:110px}.capability{grid-column:auto;grid-row:auto;justify-self:stretch;display:flex;align-items:center;justify-content:flex-start;gap:10px;width:100%;min-width:0;min-height:56px;height:100%;margin:0;padding:12px;transform:none;font-size:.875rem;line-height:1.3;white-space:normal}.capability>.icon{width:20px;height:20px}.capability>span{min-width:0;overflow-wrap:anywhere}.capability::after{display:none}.approach-note{margin-top:4px}.approach-copy .button{min-height:48px;padding-inline:20px}}
@media (max-width:360px){.hero-capabilities>span{padding:12px;gap:9px;font-size:.8125rem}.approach-diagram{grid-template-columns:1fr}.capability{justify-content:center}}
@media (max-width:1200px){}
@media (max-width:700px){}

/* Form focus: one thin field border, no thick outer rings or focus shadows. */
input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{outline:none;box-shadow:none;border-color:var(--green)}
input:is([type=checkbox],[type=radio]):focus-visible{outline:1px solid var(--green);outline-offset:1px;box-shadow:none}
form :is(a,button:not(.cye-select-trigger),input[type=submit],input[type=button],input[type=reset]):focus-visible{outline:1px solid var(--green);outline-offset:2px;box-shadow:none}
/* Branded dropdowns share one inset chevron and the same single focus border. */
select{appearance:none;-webkit-appearance:none;padding-right:48px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' stroke='%2324D186' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 7 5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}
.cye-select{position:relative;min-width:0;width:100%}
.cye-select.is-open{z-index:10}
.cye-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:50px;padding:12px 16px 12px 14px;background:#041612;border:1px solid #355047;border-radius:5px;color:var(--white);font-size:1rem;line-height:1.5;text-align:left;transition:border-color .2s}
.cye-select-trigger:hover{border-color:#688878}
.cye-select-trigger:focus,.cye-select-trigger:focus-visible,.cye-select-trigger[aria-expanded=true]{border-color:var(--green);outline:none;box-shadow:none}
.cye-select-value{min-width:0;overflow-wrap:anywhere}
.cye-select-arrow{display:flex;align-items:center;justify-content:center;flex:0 0 20px;width:20px;height:20px;color:var(--green);pointer-events:none;transition:transform .2s}
.cye-select-arrow svg,.cye-select-check svg{display:block;width:20px;height:20px}
.cye-select-trigger[aria-expanded=true] .cye-select-arrow{transform:rotate(180deg)}
.cye-select-menu{position:absolute;top:calc(100% + 8px);left:0;right:0;list-style:none;margin:0;padding:6px;max-height:280px;overflow-y:auto;overscroll-behavior:contain;scroll-behavior:auto;scroll-padding-block:6px;background:#0b211b;border:1px solid #355047;border-radius:6px;box-shadow:0 12px 32px #0006;scrollbar-width:thin;scrollbar-color:#355f4c #0b211b}
.cye-select.opens-up .cye-select-menu{top:auto;bottom:calc(100% + 8px)}
.cye-select-option{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:10px 12px;border-radius:3px;color:var(--white);font-size:1rem;line-height:1.4;cursor:pointer;overflow-wrap:anywhere}
.cye-select-option>span:first-child{min-width:0}
.cye-select-option[aria-selected=true]{color:var(--green);background:#24d18612}
.cye-select-option.is-active,.cye-select-option:hover{color:var(--green);background:#24d18626}
.cye-select-check{flex:0 0 20px;width:20px;height:20px;visibility:hidden;pointer-events:none}
.cye-select-option[aria-selected=true] .cye-select-check{visibility:visible}
@media (prefers-reduced-motion:reduce){.cye-select-arrow,.cye-select-trigger{transition:none}}

/* The desktop connectors are measured from each button to the circle rim. */
.approach-connectors{display:none;position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:0}
.approach-connectors path{fill:none;stroke:#24d18670;stroke-width:1;stroke-linecap:round;vector-effect:non-scaling-stroke}
.approach-orb .orb-photo{object-position:63% 50%}
@media (min-width:1025px){
  .approach-connectors{display:block}
  .approach-diagram .capability::after{display:none}
  .approach-diagram .approach-orb{z-index:1}
  .approach-diagram .capability{z-index:2}
}
@media (min-width:1201px){
  .approach-layout{grid-template-columns:minmax(250px,1fr) minmax(600px,1.75fr) minmax(150px,.58fr);gap:32px}
}
/* Tablet: a clear circle and two-column control grid, without connector lines. */
@media (min-width:701px) and (max-width:1024px){
  .approach-diagram{height:auto;max-width:560px;justify-self:center;padding-top:268px;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:minmax(56px,auto);grid-auto-flow:row;gap:12px}
  .approach-orb{top:0;left:50%;transform:translateX(-50%);width:240px;height:240px}
  .approach-diagram .capability{grid-column:auto;grid-row:auto;justify-self:stretch;justify-content:flex-start;align-items:center;width:100%;min-width:0;min-height:56px;height:100%;margin:0;padding:12px 16px;transform:none;white-space:normal;font-size:.875rem;line-height:1.4}
  .approach-diagram .capability::after{display:none}
}

/* A static client wall, with the supplied marks optically balanced in equal cells. */
.client-list{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;align-items:stretch;padding:0}
.client-item{position:relative;display:flex;align-items:center;justify-content:center;width:100%;min-width:0;min-height:128px;padding:20px 16px}
.client-mark{display:flex;align-items:center;justify-content:center;width:100%;max-width:208px;height:80px}
.client-list .client-mark img{display:block;width:var(--logo-size);height:auto;max-width:100%;max-height:100%;padding:0;opacity:1;filter:none;object-fit:contain}
.client-item.everymatrix{--logo-size:78%}
.client-item.flutter{--logo-size:62%}
.client-item.mercury{--logo-size:76%}
.client-item.glitnor{--logo-size:88%}
.client-item.slotmatrix{--logo-size:78%}
.client-item.thunderkick{--logo-size:100%}
.client-item[href]{border-radius:var(--radius)}
.client-project-arrow{position:absolute;right:12px;bottom:8px;width:16px;height:16px;color:var(--green);opacity:.6;transition:opacity .2s}
.client-item[href]:hover .client-project-arrow,.client-item[href]:focus-visible .client-project-arrow{opacity:1}
@media (min-width:1201px){.client-item+.client-item::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:1px;height:60px;background:var(--line-strong)}}
@media (max-width:1200px){.client-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 24px}}
@media (max-width:700px){.client-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.client-item{min-height:108px;padding:16px 12px}.client-mark{height:64px}.client-project-arrow{right:8px;bottom:4px}}
@media (prefers-reduced-motion:reduce){.client-project-arrow{transition:none}}

/* Shared homepage typography. Adjust a role once, across every section. */
:root{--heading-feature:68px;--heading-section:46px;--heading-card:22px;--text-body:16px;--leading-body:1.6}
@media (min-width:701px) and (max-width:1200px){:root{--heading-feature:56px;--heading-section:40px;--heading-card:20px}}
@media (max-width:700px){:root{--heading-feature:42px;--heading-section:34px;--heading-card:20px}}
.hero h1,.contact-copy h2{font-size:var(--heading-feature);line-height:1.06;font-weight:800;letter-spacing:-.04em}
h2{font-size:var(--heading-section);line-height:1.12;font-weight:750;letter-spacing:-.035em}
.service-card h3,.project-card h3,.process-card h3{font-size:var(--heading-card);line-height:1.2;font-weight:750;letter-spacing:-.02em}
body{font-size:var(--text-body);line-height:var(--leading-body)}
body p:not(.eyebrow):not(.project-category){font-family:var(--body);font-size:var(--text-body);line-height:var(--leading-body);font-weight:400}
.contact-direct>div>span,.footer-location strong{font-size:var(--text-body);line-height:var(--leading-body)}
.hero-copy,.contact-copy,.section-heading>div{min-width:0}

/* Keep the four hero benefits in a balanced grid at every screen width. */
.hero-capabilities{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;row-gap:18px;min-width:0}
.hero-capabilities>span{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:12px;min-width:0}
.hero-capabilities>span>span{min-width:0;max-width:none;white-space:normal;overflow-wrap:anywhere}
.hero-capabilities .icon{display:block;width:24px;height:24px;justify-self:start}
@media (max-width:800px){.hero-capabilities{gap:12px}}
@media (max-width:360px){.hero-capabilities>span{grid-template-columns:22px minmax(0,1fr);gap:8px;padding:12px 10px}.hero-capabilities .icon{width:22px;height:22px}}

/* Mobile heroes share the Services spacing, independent of their copy length. */
@media (max-width:800px){
  main.cye-corporate .corporate-hero-inner,
  main.cye-public .public-hero-inner,
  main.cye-conferences .conferences-hero-inner,
  main.cye-services-page .services-page-hero-inner,
  main.cye-our-work .work-page-hero-inner,
  main.cye-about-page .about-page-hero-inner,
  main.cye-contact-page .contact-page-hero-inner{
    min-height:0;
    align-items:flex-start;
    padding-block:var(--section-space);
  }
  .hero .hero-copy{
    justify-content:flex-start;
    width:100%;
    margin-inline:0;
    padding:var(--section-space) var(--gutter);
  }
  .hero .hero-copy .eyebrow{margin-bottom:16px}
}
@media (max-width:700px){
  .hero .hero-copy .eyebrow{margin-bottom:14px}
}

/* Counter the lower row's leftward shift from the mobile mosaic's 4-degree skew. */
@media (max-width:800px){
  .hero-mosaic .mosaic-image:nth-child(n+3) figcaption{transform:translateX(14.2px) skewX(4deg)}
}
@media (max-width:480px){
  .hero-mosaic .mosaic-image:nth-child(n+3) figcaption{transform:translateX(12.45px) skewX(4deg)}
}
