/* Header */.site-header{position:fixed;inset:0 0 auto;z-index:var(--z-header);background:color-mix(in srgb,var(--color-bg) 88%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:border-color var(--fast),background var(--fast)}.site-header.is-scrolled{border-color:var(--color-border)}.nav{height:5.5rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.brand{display:inline-flex;align-items:center;gap:.75rem;font-family:var(--font-display);font-weight:800;letter-spacing:-.04em}.brand-mark{width:2.15rem;height:2.15rem;display:grid;place-items:center;background:var(--color-text);color:var(--color-accent);border-radius:.42rem;font-size:.8rem}.nav-links{display:flex;align-items:center;gap:clamp(1rem,2vw,2rem)}.nav-links a:not(.button){font-size:.9rem;font-weight:600;position:relative}.nav-links a:not(.button)::after{content:"";position:absolute;left:0;right:100%;bottom:-.4rem;height:2px;background:var(--color-accent);transition:right var(--fast)}.nav-links a:hover::after,.nav-links a[aria-current="page"]::after{right:0}.nav-actions{display:flex;align-items:center;gap:.75rem}.icon-button,.menu-toggle{width:2.75rem;height:2.75rem;display:grid;place-items:center;background:transparent;color:var(--color-text);border:var(--border);border-radius:50%;cursor:pointer}.menu-toggle{display:none}.mobile-menu{display:none}.button{--button-bg:var(--color-text);--button-color:var(--color-bg);position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:.75rem;min-height:3rem;padding:.75rem 1.15rem;border:1px solid var(--button-bg);background:var(--button-bg);color:var(--button-color);font-weight:700;font-size:.9rem;overflow:hidden;cursor:pointer;transition:color var(--fast),border-color var(--fast),transform var(--fast)}.button::before{content:"";position:absolute;z-index:-1;inset:0;background:var(--color-accent);transform:translateX(-102%);transition:transform var(--normal)}.button:hover::before{transform:none}.button:hover{border-color:var(--color-accent)}.button:active{transform:translateY(1px)}.button--outline{--button-bg:transparent;--button-color:var(--color-text);border-color:var(--color-text)}.button--outline::before{background:var(--color-text)}.button--outline:hover{color:var(--color-bg)}.button--accent{--button-bg:var(--color-accent);--button-color:#fff}.button--light{--button-bg:var(--color-bg);--button-color:var(--color-text)}.link-arrow{display:inline-flex;align-items:center;gap:.6rem;font-weight:700}.link-arrow span{transition:transform var(--fast)}.link-arrow:hover span{transform:translateX(.35rem)}
/* Hero */.hero{min-height:100svh;padding-top:8rem;display:flex;align-items:flex-end}.hero__inner{width:100%;padding-bottom:clamp(3rem,7vw,6rem)}.hero__top{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(250px,.35fr);gap:var(--grid-gap);align-items:end}.hero__title .accent{color:var(--color-accent)}.hero__side{display:flex;flex-direction:column;gap:var(--space-4);padding-bottom:.8rem}.hero__actions{display:flex;flex-wrap:wrap;gap:.75rem}.hero__footer{margin-top:clamp(3rem,7vw,6rem);padding-top:1rem;border-top:var(--border);display:flex;justify-content:space-between;gap:2rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.hero-orbit{position:absolute;right:-7vw;top:20vh;width:clamp(12rem,24vw,27rem);aspect-ratio:1;border:1px solid var(--color-border);border-radius:50%;pointer-events:none}.hero-orbit::before,.hero-orbit::after{content:"";position:absolute;border-radius:50%}.hero-orbit::before{inset:13%;border:1px solid var(--color-border)}.hero-orbit::after{width:1.25rem;height:1.25rem;background:var(--color-accent);top:12%;left:50%;box-shadow:0 0 0 12px color-mix(in srgb,var(--color-accent) 15%,transparent)}
/* Project cards */.section-head{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:var(--space-5)}.project-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(2rem,5vw,5rem) var(--grid-gap)}.project-card{grid-column:span 6}.project-card--wide{grid-column:span 8}.project-card--narrow{grid-column:span 4;padding-top:12vw}.project-card__media{position:relative;overflow:hidden;background:var(--color-surface);aspect-ratio:4/3}.project-card--wide .project-card__media{aspect-ratio:3/2}.project-card--narrow .project-card__media{aspect-ratio:4/5}.project-card__media img{width:100%;height:100%;object-fit:cover;transition:transform 700ms var(--ease),filter var(--normal)}.project-card:hover img{transform:scale(1.035)}.project-card__index{position:absolute;top:1rem;left:1rem;background:var(--color-bg);padding:.35rem .55rem;font-size:.75rem}.project-card__body{padding-top:1.1rem;display:grid;grid-template-columns:1fr auto;gap:1rem}.project-card__meta{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);margin-bottom:.35rem}.project-card__arrow{font-size:1.7rem;line-height:1;transition:transform var(--fast)}.project-card:hover .project-card__arrow{transform:translate(.3rem,-.3rem)}
/* Services/process */.service-list__item{display:grid;grid-template-columns:5rem minmax(0,1fr) minmax(250px,.55fr);gap:var(--grid-gap);padding-block:2rem;align-items:start}.service-list__number{color:var(--color-accent);font-weight:700}.service-list__title{font-family:var(--font-display);font-size:clamp(1.6rem,3.3vw,3.6rem);line-height:1;letter-spacing:-.045em}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:var(--border);border-left:var(--border)}.process-step{min-height:21rem;padding:1.5rem;border-right:var(--border);border-bottom:var(--border);display:flex;flex-direction:column;justify-content:space-between}.process-step__num{font-size:.82rem;color:var(--color-accent);font-weight:700}.process-step h3{font-family:var(--font-display);font-size:1.5rem;letter-spacing:-.035em}.process-step p{color:var(--color-text-muted)}
/* About/tools/testimonials */.about-split{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);gap:clamp(3rem,8vw,9rem);align-items:start}.about-split__visual{position:sticky;top:8rem}.about-split__visual img{width:100%;aspect-ratio:4/5;object-fit:cover}.about-split__content{display:flex;flex-direction:column;gap:2rem}.about-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding-top:2rem;border-top:var(--border)}.stat strong{display:block;font-family:var(--font-display);font-size:clamp(2rem,4vw,4rem);line-height:1}.stat span{font-size:.82rem;color:var(--color-text-muted)}.tool-cloud{display:flex;flex-wrap:wrap;gap:.65rem}.tool-cloud span{padding:.75rem 1rem;border:var(--border);font-weight:600;background:var(--color-surface)}.testimonial{display:grid;grid-template-columns:5rem 1fr;gap:var(--grid-gap);padding-block:2.25rem}.testimonial blockquote{font-family:var(--font-display);font-size:clamp(1.45rem,2.7vw,2.7rem);line-height:1.2;letter-spacing:-.035em}.testimonial footer{margin-top:1rem;color:var(--color-text-muted);font-size:.9rem}
/* CTA/footer */.mega-cta{position:relative;overflow:hidden;padding-block:clamp(5rem,11vw,11rem);background:var(--color-accent);color:#fff}.mega-cta__title{font-family:var(--font-display);font-size:clamp(3rem,8.5vw,9rem);line-height:.9;letter-spacing:-.065em;max-width:12ch}.mega-cta__row{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-top:3rem}.site-footer{background:var(--color-dark);color:var(--color-bg);padding-block:4rem 2rem}.footer-grid{display:grid;grid-template-columns:1.1fr .7fr .7fr;gap:var(--grid-gap)}.footer-title{font-family:var(--font-display);font-size:clamp(2rem,4vw,4.2rem);line-height:1;letter-spacing:-.05em;max-width:10ch}.footer-col h2{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--color-dark-muted);margin-bottom:1rem}.footer-col ul{list-style:none;padding:0;margin:0;display:grid;gap:.6rem}.footer-bottom{border-top:1px solid color-mix(in srgb,var(--color-bg) 22%,transparent);padding-top:1.4rem;margin-top:4rem;display:flex;justify-content:space-between;gap:1rem;font-size:.78rem;color:var(--color-dark-muted)}
/* Filters */.filter-bar{display:flex;flex-wrap:wrap;gap:.55rem;margin-bottom:var(--space-5)}.filter-button{background:transparent;color:var(--color-text);border:var(--border);padding:.65rem .9rem;cursor:pointer;font-weight:600}.filter-button[aria-pressed="true"]{background:var(--color-text);color:var(--color-bg);border-color:var(--color-text)}.project-card[hidden]{display:none}
/* Case study */.case-hero{padding-top:clamp(9rem,16vw,15rem)}.case-hero__title{max-width:11ch}.case-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:var(--space-5);padding-block:1.5rem;border-top:var(--border);border-bottom:var(--border)}.case-meta dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;color:var(--color-text-muted)}.case-meta dd{margin-top:.35rem;font-weight:650}.case-cover{margin-top:var(--space-5)}.case-cover img{width:100%;aspect-ratio:3/2;object-fit:cover}.case-section{padding-block:var(--space-7)}.case-section__grid{display:grid;grid-template-columns:minmax(230px,.45fr) minmax(0,1.55fr);gap:clamp(2rem,7vw,8rem)}.case-section__label{font-size:.8rem;text-transform:uppercase;letter-spacing:.09em;color:var(--color-text-muted)}.case-section__content h2{font-family:var(--font-display);font-size:var(--fs-h2);line-height:1;letter-spacing:-.05em;margin-bottom:2rem}.case-section__content p{max-width:760px;font-size:var(--fs-body-lg);color:var(--color-text-muted)}.case-section__content p+p{margin-top:1.2rem}.case-image{margin-block:var(--space-4)}.case-image img{width:100%;height:auto}.case-image-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--grid-gap);margin-block:var(--space-4)}.next-project{padding-block:var(--space-7);border-top:var(--border)}.next-project a{display:flex;justify-content:space-between;align-items:end;gap:2rem}.next-project h2{font-family:var(--font-display);font-size:var(--fs-h1);line-height:.95;letter-spacing:-.055em}.next-project span{font-size:3rem}
/* Forms */.contact-layout{display:grid;grid-template-columns:minmax(250px,.55fr) minmax(0,1.45fr);gap:clamp(3rem,8vw,9rem)}.contact-details{position:sticky;top:8rem;align-self:start;display:grid;gap:2rem}.contact-details a{font-weight:700}.form{display:grid;gap:1.3rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.field{display:grid;gap:.45rem}.field label{font-weight:700;font-size:.88rem}.field input,.field select,.field textarea{width:100%;background:var(--color-surface);color:var(--color-text);border:var(--border);border-radius:0;padding:.95rem 1rem;min-height:3.2rem}.field textarea{min-height:11rem}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--color-accent);outline:2px solid color-mix(in srgb,var(--color-accent) 25%,transparent);outline-offset:0}.checkbox{display:grid;grid-template-columns:auto 1fr;gap:.75rem;align-items:start}.checkbox input{width:1.2rem;height:1.2rem;margin-top:.2rem}.form-status{display:none;padding:1rem;border-left:4px solid}.form-status.is-visible{display:block}.form-status.is-success{background:color-mix(in srgb,var(--color-success) 12%,transparent);border-color:var(--color-success)}.form-status.is-error{background:color-mix(in srgb,var(--color-error) 12%,transparent);border-color:var(--color-error)}.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
/* Cookie notice */.cookie-banner{position:fixed;z-index:var(--z-toast);left:1rem;right:1rem;bottom:1rem;max-width:720px;margin-inline:auto;background:var(--color-surface);border:var(--border);padding:1rem;box-shadow:0 20px 60px rgba(0,0,0,.18);display:none}.cookie-banner.is-visible{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center}.cookie-banner p{font-size:.85rem;color:var(--color-text-muted)}.cookie-actions{display:flex;gap:.5rem}
