:root {
    --site-gutter: clamp(20px, 4.2vw, 72px);
    --space-xs: clamp(14px, 1.5vw, 24px);
    --space-sm: clamp(28px, 3vw, 52px);
    --space-md: clamp(64px, 7vw, 120px);
    --space-lg: clamp(100px, 11vw, 190px);
    --text: var(--anthracite);
    --muted: #696969;
    --line: #d8d8d8;
}

html { scroll-behavior: auto; }
body {
    margin: 0;
    font-family: 'Bicyclette', Arial, sans-serif;
    font-size: clamp(17px, 1.15vw, 20px);
    font-weight: var(--normal);
    line-height: 1.55;
    color: var(--text);
    background: #fff;
}
body.menu-open { overflow: hidden; }
a { color: inherit; }
#content a { overflow-wrap: anywhere; }
a:focus-visible, button:focus-visible { outline: 2px solid var(--yellow); outline-offset: 5px; }
button { font: inherit; }
img { display: block; max-width: 100%; height: auto; border-radius: 0 !important; }
.portfolio-picture { display: block; width: 100%; }
.portfolio-picture img { width: 100%; }

#content { padding: 0; padding-top: 115px; min-height: 60vh; }
.shell { width: min(100% - (2 * var(--site-gutter)), 1380px); margin-inline: auto; }
.shell-wide { width: min(100% - (2 * var(--site-gutter)), 1680px); margin-inline: auto; }
.shell-narrow { width: min(100% - (2 * var(--site-gutter)), 820px); margin-inline: auto; }
.editorial-section { padding-block: var(--space-lg); }
.editorial-section + .editorial-section { padding-top: 0; }
.section-kicker, .project-meta, .service-keywords, .eyebrow {
    margin: 0 0 1.1rem;
    color: var(--muted);
    font-size: clamp(0.72rem, 0.8vw, 0.85rem);
    font-weight: var(--medium);
    line-height: 1.5;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
h1, h2, h3 { color: var(--text); font-weight: var(--normal); letter-spacing: -0.025em; overflow-wrap: break-word; hyphens: auto; }
h1, h2 { text-transform: uppercase; -webkit-hyphens: none; hyphens: none; }
h1 { max-width: 1250px; font-size: 3.6em; line-height: 0.98; }
h2 { font-size: 3em; line-height: 1.03; }
h3 { font-size: clamp(1.25rem, 2vw, 1.9rem); line-height: 1.2; text-transform: none; }
p { margin: 0 0 1.1em; }
.lead { max-width: 850px; font-size: clamp(1.08rem, 1.65vw, 1.45rem); line-height: 1.45; }
.text-link, .arrow-link {
    display: inline-block;
    text-decoration: none;
    border-bottom: 1px solid var(--xlightgreyt);
    line-height: 1.25;
    transition: border-color .3s ease, color .3s ease;
}
.text-link:hover, .arrow-link:hover { color: var(--yellow); border-bottom-color: var(--xlightyellowt); }
.primary-cta {
    display: inline-block;
    padding: .75em 1.15em;
    border: 1px solid var(--text);
    color: var(--text);
    text-decoration: none;
    transition: background-color .3s ease, border-color .3s ease, color .3s ease;
}
.primary-cta:hover { color: #fff; background: var(--yellow); border-color: var(--yellow); }

/* Header and mobile menu */
#topnav {
    position: fixed;
    inset: 0 0 auto;
    z-index: 1000;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    width: 100%;
    height: 115px;
    padding: 0 var(--site-gutter);
    background: rgba(255,255,255,.98);
}
#topnav.active { height: 68px; background: rgba(255,255,255,.88); box-shadow: 0 1px 8px rgba(0,0,0,.08); }
@supports ((-webkit-backdrop-filter: blur(1em)) or (backdrop-filter: blur(1em))) {
    #topnav.active { -webkit-backdrop-filter: saturate(140%) blur(14px); backdrop-filter: saturate(140%) blur(14px); }
}
#logo { position: static; width: 235px; height: auto; }
#topnav.active #logo { width: 165px; }
#logo a, #logo img { display: block; width: 100%; }
.desktop-nav { display: flex; align-items: center; gap: clamp(14px, 1.6vw, 30px); }
.nav-left { justify-content: flex-start; }
.nav-right { justify-content: flex-end; }
.navlink, .nav-cta { font-size: .8em; font-weight: var(--medium); letter-spacing: .045em; text-decoration: none; text-transform: uppercase; }
.navlink { position: relative; }
.navlink::after { content: ''; position: absolute; left: 0; right: 100%; bottom: -6px; height: 1px; background: currentColor; transition: right .3s ease; }
.navlink:hover::after, .navlink.current::after { right: 0; }
.nav-cta { margin-left: .5rem; padding: .58em .9em; border: 1px solid #9a9a9a; transition: border-color .3s ease, color .3s ease; }
.nav-cta:hover { color: var(--yellow); border-color: var(--yellow); }
.menu-button { display: none; width: 30px; height: 25px; padding: 0; border: 0; background: transparent; cursor: pointer; }
.menu-button span { display: block; width: 28px; height: 1px; margin: 7px 0; background: var(--text); }
.menu-overlay[hidden] { display: none; }
.menu-overlay { position: fixed; inset: 0; z-index: 2000; overflow: auto; background: rgba(255,255,255,.98); }
.menu-close { position: absolute; top: 30px; right: var(--site-gutter); width: 32px; height: 32px; padding: 0; border: 0; background: transparent; cursor: pointer; }
.menu-close span { position: absolute; left: 2px; top: 15px; width: 28px; height: 1px; background: var(--text); transform: rotate(45deg); }
.menu-close span:last-child { transform: rotate(-45deg); }
.menu-overlay-inner { display: flex; flex-direction: column; justify-content: center; min-height: 100%; width: min(100% - (2 * var(--site-gutter)), 700px); margin: auto; padding-block: 90px 50px; }
.mrlink { width: fit-content; margin: .15em 0; font-size: clamp(2rem, 7vw, 4.4rem); line-height: 1.16; text-decoration: none; letter-spacing: -.035em; }
.mrlink.current { color: var(--muted); }
.mrlink.mobile-cta { margin-top: 1.8em; padding-bottom: .15em; border-bottom: 1px solid currentColor; font-size: clamp(1rem, 2.4vw, 1.4rem); letter-spacing: 0; }

/* Home hero */
.home-hero { padding: clamp(24px, 3.5vw, 60px) var(--site-gutter) var(--space-md); }
.hero-fader { --hero-fade-duration: 1600ms; position: relative; max-width: 1780px; max-height: 850px; margin: 0 auto; overflow: hidden; aspect-ratio: 1.9 / 1; background: #f3f3f3; }
.hero-slide { position: absolute; inset: 0; z-index: 0; opacity: 0; pointer-events: none; transition: opacity var(--hero-fade-duration) ease-in-out; }
.hero-slide.is-active { z-index: 1; opacity: 1; }
.hero-slide .portfolio-picture { display: block; width: 100%; height: 100%; }
.hero-slide img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: var(--hero-object-position, 50% 50%); }
.hero-slide--center { --hero-object-position: 50% 50%; }
.hero-slide--focus-top { --hero-object-position: 50% 35%; }
.hero-slide--focus-left { --hero-object-position: 35% 50%; }
.hero-slide--focus-right { --hero-object-position: 65% 50%; }
.hero-brandline { position: absolute; z-index: 2; left: 50%; top: 50%; width: max-content; margin: 0; padding: .32em .58em .28em; color: var(--grey); background: rgba(255,255,255,.84); font-size: clamp(1rem, 2.2vw, 2.5rem); font-weight: var(--medium); letter-spacing: .1em; transform: translate(-50%, -50%); }
.hero-brandline em { margin: 0 .4em; /* color: var(--yellow); */ font-style: normal; }
.hero-copy { padding-top: var(--space-md); }
.hero-copy h1 { max-width: 1250px; margin-bottom: .45em; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 1.4rem 2.2rem; margin-top: 2rem; }

/* Selected work */
.section-heading { margin-bottom: clamp(32px, 4vw, 60px); }
.work-list { display: flow-root; }
.work-item { margin-bottom: var(--space-lg); }
.work-item:last-child { margin-bottom: var(--space-md); }
.work-item-primary { width: 65%; }
.work-item-small { width: 52%; margin-left: 48%; }
.work-item-medium { width: 58%; margin-left: 8%; }
.work-item-strong { width: 62%; margin-left: 38%; }
.work-image { margin: 0 0 1.7rem; overflow: hidden; }
.work-image img { transition: transform .5s ease; }
.work-image a:hover img { transform: scale(1.012); }
.work-copy { display: grid; grid-template-columns: minmax(230px, .85fr) minmax(280px, 1.15fr); gap: var(--space-sm); max-width: 970px; }
.work-copy h3 { margin-bottom: .35rem; }
.work-copy p { max-width: 650px; }

/* Service rows */
.brand-services .shell-wide > h2 { max-width: 1100px; margin-bottom: clamp(32px, 4vw, 60px); }
.service-row { display: grid; grid-template-columns: 1.25fr .75fr; align-items: center; gap: clamp(50px, 8vw, 145px); margin-bottom: var(--space-lg); }
.service-row:last-child { margin-bottom: 0; }
.service-row.reverse { grid-template-columns: .75fr 1.25fr; }
.service-row.reverse .service-image { order: 2; }
.service-image { overflow: hidden; }
.service-copy h2 { margin-bottom: .35em; }
.service-keywords { max-width: 560px; letter-spacing: .03em; text-transform: none; }
.service-copy p:not(.service-keywords) { max-width: 560px; }

/* Typography-led sections */
.use-cases-head { margin-bottom: var(--space-md); }
.use-cases-head h2 { max-width: 1100px; margin-bottom: .45em; }
.use-cases-head p { max-width: 760px; }
.use-cases-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: clamp(36px, 5vw, 80px) clamp(40px, 8vw, 130px); counter-reset: usecase; }
.use-case { counter-increment: usecase; }
.use-case::before { content: '0' counter(usecase); display: block; margin-bottom: 1rem; color: var(--anthracite); font-size: .72rem; font-weight: var(--bold); letter-spacing: .08em; }
.use-case h3 { margin-bottom: .55rem; }
.home-alex { display: grid; grid-template-columns: minmax(280px, .75fr) minmax(320px, 1.1fr); align-items: center; gap: clamp(50px, 9vw, 150px); }
.home-alex-image { width: 78%; margin-left: 12%; }
.home-alex-copy h2 { margin-bottom: .55em; text-transform: none; }
.home-alex-copy p { max-width: 700px; }
.process .shell > h2 { margin-bottom: var(--space-md); }
.process-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(24px, 2.5vw, 40px); }
.process-step:nth-child(2), .process-step:nth-child(3) { margin-top: 0; }
.process-step .eyebrow { display: block; margin-bottom: 1.5rem; color: var(--anthracite); font-weight: var(--bold); }
.process-step h3 { margin-bottom: .7rem; }
.consultation { padding-block: calc(var(--space-lg) * .45); }
.consultation-inner { max-width: 1120px; }
.consultation h2 { margin-bottom: .45em; text-transform: none; }
.consultation p { max-width: 900px; font-size: 1.08em; }
.consultation-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1.5rem 2rem; margin-top: 2.2rem; }

/* Project overview */
.page-intro { padding-top: var(--space-md); padding-bottom: var(--space-lg); }
.page-intro h1 { margin-bottom: .45em; }
.page-intro .lead { max-width: 760px; }
.project-overview .work-item:nth-child(1) { width: 65%; margin-left: 0; }
.project-overview .work-item:nth-child(2) { width: 52%; margin-left: 48%; }
.project-overview .work-item:nth-child(3) { width: 58%; margin-left: 8%; }
.project-overview .work-item:nth-child(4) { width: 62%; margin-left: 38%; }
.project-overview .work-item:nth-child(5) { width: 52%; margin-left: 15%; }
.project-overview .work-item:nth-child(6) { width: 58%; margin-left: 42%; }
.project-overview .work-item:nth-child(7) { width: 52%; margin-left: 6%; }
.project-overview .work-copy h2 { font-size: clamp(1.25rem, 2vw, 1.9rem); font-weight: var(--normal); }
.placeholder-projects { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-sm); padding-top: var(--space-sm); }
.placeholder-project { min-height: 240px; padding: 2rem 0; border-top: 1px solid var(--line); }
.placeholder-project h2 { max-width: 500px; margin-bottom: .35em; font-size: clamp(1.6rem, 3vw, 3rem); }
.placeholder-project p { color: var(--muted); }

/* Service detail pages */
.service-hero { padding-top: clamp(25px, 4vw, 70px); }
.service-hero-image { margin-bottom: var(--space-md); }
.service-hero-copy { display: grid; grid-template-columns: 1.2fr .8fr; gap: var(--space-sm); }
.service-hero-copy > * { min-width: 0; }
.service-hero-copy h1 { font-size: 3.6em; -webkit-hyphens: manual; hyphens: manual; }
.service-hero-text .service-keywords { margin-bottom: 1.6rem; }
.services-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-sm) clamp(40px, 8vw, 130px); max-width: 1180px; margin-left: auto; }
.services-list h2 { grid-column: 1 / -1; margin-bottom: .25em; }
.service-detail { padding-top: 1.4rem; border-top: 1px solid var(--line); }
.service-detail h3 { margin-bottom: .55rem; }
.selected-projects h2 { margin-bottom: var(--space-md); }
.selected-projects-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(40px, 7vw, 120px); }
.selected-project > a { display: block; text-decoration: none; }
.selected-project:nth-child(2) { margin-top: 100px; }
.selected-project-image { margin-bottom: 1.4rem; overflow: hidden; }
.selected-project h3 { margin-bottom: .3rem; }

/* Alex and contact */
.alex-layout { display: grid; grid-template-columns: 1.25fr .75fr; align-items: start; gap: clamp(50px, 9vw, 150px); }
.alex-copy { padding-top: clamp(0px, 5vw, 90px); }
.alex-copy h1 { margin-bottom: .55em; text-transform: none; }
.contact-page .page-intro h1, .contact-page #booking h2 { text-transform: none; }
.contact-page .page-intro .lead { max-width: 950px; }
.alex-brandline { margin-top: 2.5rem; font-size: .85rem; letter-spacing: .08em; }
.booking-placeholder { display: flex; align-items: center; min-height: 420px; margin-top: var(--space-sm); padding: var(--space-sm); border: 1px solid var(--line); }
.booking-placeholder p { max-width: 560px; margin: auto; color: var(--muted); text-align: center; }
.contact-page #direkter-kontakt { margin-top: var(--space-lg); scroll-margin-top: 135px; }
.direct-contact { display: grid; grid-template-columns: .8fr 1.2fr; gap: var(--space-sm); align-items: start; }
.direct-contact h2 { font-size: clamp(1.8rem, 3vw, 3rem); }
.contact-links { display: flex; flex-direction: column; align-items: flex-start; gap: .8rem; font-size: clamp(1.15rem, 2vw, 1.65rem); }

/* Project pages */
.project-header { padding-top: var(--space-md); padding-bottom: var(--space-md); }
.project-header h1 { margin-bottom: .35em; font-size: clamp(1.25rem, 2vw, 1.9rem); font-weight: var(--normal); }
.project-header-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: var(--space-sm); align-items: end; }
.project-context { max-width: 660px; font-size: 1.08em; }
.project-facts { display: flex; flex-wrap: wrap; gap: .45rem 1.4rem; margin-top: 1.6rem; color: var(--muted); font-size: .82rem; }
.project-hero { margin-bottom: var(--space-md); }
.project-hero > .portfolio-picture, .project-hero > .gallery-link { width: 66%; }
.project-hero-compact > .portfolio-picture, .project-hero-compact > .gallery-link { width: 62%; }
.project-hero > .gallery-link .portfolio-picture { width: 100%; }
.project-hero-series { margin-bottom: clamp(30px, 4vw, 68px); }
.project-hero-right > .portfolio-picture, .project-hero-right > .gallery-link { margin-left: auto; }
.project-hero-center > .portfolio-picture, .project-hero-center > .gallery-link { margin-inline: auto; }
.project-gallery { display: grid; grid-template-columns: repeat(12, 1fr); gap: clamp(18px, 2.5vw, 42px); align-items: start; }
.gallery-block { grid-column: 1 / -1; margin-bottom: clamp(42px, 6vw, 110px); }
.gallery-wide { grid-column: 3 / 11; }
.gallery-two-thirds-left { grid-column: 1 / 9; }
.gallery-two-thirds-right { grid-column: 5 / 13; }
.gallery-half-left { grid-column: 1 / 7; }
.gallery-half-right { grid-column: 7 / 13; margin-top: clamp(45px, 8vw, 130px); }
.gallery-third-right { grid-column: 9 / 13; margin-top: clamp(28px, 5vw, 85px); }
.gallery-group-narrow { grid-column: 2 / 12; }
.gallery-pair { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: clamp(14px, 2.5vw, 40px); align-items: start; }
.gallery-pair.gallery-group-narrow { grid-column: 2 / 12; }
.gallery-pair.gallery-group-compact { grid-column: 3 / 11; }
.gallery-pair.offset > :nth-child(2) { margin-top: clamp(45px, 8vw, 130px); }
.gallery-trio { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr .9fr 1fr; gap: clamp(14px, 2.2vw, 36px); align-items: start; }
.food-series-trio { grid-template-columns: .82fr 1fr .92fr; }
.gallery-trio.stagger > :nth-child(2) { margin-top: clamp(42px, 6vw, 100px); }
.gallery-trio.stagger > :nth-child(3) { margin-top: clamp(16px, 2.5vw, 42px); }
.gallery-link { display: block; cursor: zoom-in; overflow: hidden; }
.gallery-link img { transition: transform .45s ease; }
.gallery-link:hover img { transform: scale(1.008); }
.project-navigation { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: var(--space-sm); padding-top: var(--space-md); }
.project-navigation .back-link { margin: 0; }
.next-project { display: grid; grid-template-columns: clamp(112px, 9vw, 160px) minmax(175px, auto); align-items: center; gap: clamp(16px, 2vw, 28px); text-decoration: none; }
.next-project-label { padding: 0; }
.next-project-label .project-meta { margin-bottom: .3rem; }
.next-project-label h2 { margin: 0; font-size: clamp(.95rem, 1.2vw, 1.2rem); line-height: 1.2; }
.next-project-image { aspect-ratio: 3 / 2; overflow: hidden; }
.next-project-image .portfolio-picture { height: 100%; }
.next-project-image img { width: 100%; height: 100%; object-fit: cover; }
.next-project-image img { transition: transform .5s ease; }
.next-project:hover img { transform: scale(1.01); }

/* Legal, 404 and footer */
.legal-content { padding-block: var(--space-md) var(--space-lg); overflow-wrap: anywhere; }
.legal-content h1 { margin-bottom: .7em; }
.legal-content h2 { margin: 1.7em 0 .5em; font-size: clamp(1.5rem, 2.5vw, 2.4rem); }
.not-found { display: flex; align-items: center; min-height: 62vh; }
.not-found h1 { margin-bottom: .55em; }
.not-found-links { display: flex; flex-wrap: wrap; gap: 1rem 2rem; }
#bottom.site-footer { width: 100%; margin-top: var(--space-md); padding: 0 var(--site-gutter) var(--space-sm); background: #fff; }
.footer-inner { position: relative; display: grid; grid-template-columns: 1.25fr .7fr .8fr; gap: var(--space-sm); width: min(100%, 1500px); margin: 0 auto; padding-top: var(--space-sm); }
.footer-inner::before { content: ''; position: absolute; inset: 0 0 auto; height: 1px; background: var(--line); }
.footer-brand { align-self: start; }
.footer-logo { display: block; width: 215px; }
.footer-logo img { width: 100%; }
.footer-brand p { margin-top: 1.7rem; font-size: .7rem; letter-spacing: .08em; }
.footer-brand em { margin: 0 .35em; color: var(--yellow); font-style: normal; }
.footer-nav, .footer-contact { display: flex; flex-direction: column; align-items: flex-start; gap: .5rem; }
.footer-nav a, .footer-contact a, .footer-meta a { text-decoration: none; border-bottom: 0; transition: color .3s ease; }
.footer-nav a:hover, .footer-contact a:hover, .footer-meta a:hover { color: var(--yellow); }
.footer-meta { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: .6rem 1.6rem; margin-top: var(--space-sm); color: var(--muted); font-size: .72rem; }
#scroll-top-link { right: 22px; bottom: 22px; border-radius: 0; background: rgba(255,255,255,.85); }

@media (max-width: 1180px) {
    .desktop-nav { gap: 13px; }
    .navlink, .nav-cta { font-size: .8em; }
    #logo { width: 200px; }
    .hero-fader { aspect-ratio: 1.7 / 1; }
}

@media (max-width: 1100px) {
    .work-copy { grid-template-columns: 1fr; gap: .4rem; }
}

@media (max-width: 1000px) {
    #content { padding-top: 100px; }
    #topnav { height: 100px; grid-template-columns: 1fr auto 1fr; }
    #topnav.active { height: 64px; }
    .contact-page #direkter-kontakt { scroll-margin-top: 120px; }
    .desktop-nav { display: none; }
    .menu-button { display: block; justify-self: start; }
    #logo { grid-column: 2; width: 190px; }
    #topnav.active #logo { width: 140px; }
    .hero-fader { aspect-ratio: 3 / 2; }
    .hero-brandline { top: 50%; font-size: clamp(.8rem, 2.3vw, 1.5rem); }
    .work-copy { grid-template-columns: 1fr; gap: .4rem; }
    .service-row, .service-row.reverse { gap: 50px; }
    .use-cases-grid { grid-template-columns: repeat(2, 1fr); }
    .home-alex-image { width: 100%; margin-left: 0; }
    .service-hero-copy { grid-template-columns: 1fr; }
    .service-hero-text { max-width: 760px; }
    .project-hero > .portfolio-picture, .project-hero > .gallery-link { width: 82%; }
    .gallery-wide { grid-column: 2 / 12; }
    .gallery-pair.gallery-group-compact { grid-column: 2 / 12; }
    .gallery-trio { grid-template-columns: 1fr 1fr; }
    .gallery-trio > :nth-child(3) { grid-column: 1 / -1; width: 62%; margin-left: auto; }
    .gallery-trio.stagger > :nth-child(2), .gallery-trio.stagger > :nth-child(3) { margin-top: 0; }
}

@media (max-width: 760px) {
    :root { --site-gutter: 20px; --space-lg: 105px; --space-md: 65px; }
    #content { padding-top: 88px; }
    #topnav { height: 88px; }
    #topnav.active { height: 60px; }
    .contact-page #direkter-kontakt { scroll-margin-top: 108px; }
    #logo { width: 160px; }
    #topnav.active #logo { width: 120px; }
    .home-hero { padding-top: 12px; }
    .hero-fader { max-height: none; aspect-ratio: 4 / 5; }
    .hero-brandline { width: max-content; max-width: calc(100% - 24px); font-size: clamp(.72rem, 4vw, 1.1rem); text-align: center; }
    .hero-copy { padding-top: var(--space-md); }
    h1 { font-size: clamp(2rem, 10vw, 4rem); }
    .service-hero-copy h1 { font-size: 2.1rem; }
    h2 { font-size: clamp(1.85rem, 8.5vw, 3.4rem); }
    .work-item, .work-item-primary, .work-item-small, .work-item-medium, .work-item-strong,
    .project-overview .work-item:nth-child(n) { width: 100%; margin-left: 0; }
    .work-item { margin-bottom: var(--space-lg); }
    .work-copy { max-width: 100%; }
    .service-row, .service-row.reverse { grid-template-columns: 1fr; gap: 30px; margin-bottom: var(--space-lg); }
    .service-row.reverse .service-image { order: 0; }
    .service-image { width: calc(100% + var(--site-gutter)); }
    .service-row.reverse .service-image { margin-left: calc(var(--site-gutter) * -1); }
    .use-cases-head, .home-alex, .project-header-grid, .alex-layout, .direct-contact { grid-template-columns: 1fr; }
    .use-cases-grid { grid-template-columns: 1fr; gap: 45px; }
    .home-alex-image { width: 84%; }
    .process-grid { grid-template-columns: 1fr; gap: 55px; }
    .process-step:nth-child(n) { margin-top: 0; }
    .placeholder-projects, .services-list, .selected-projects-grid { grid-template-columns: 1fr; }
    .selected-project:nth-child(2) { margin-top: 25px; }
    .booking-placeholder { min-height: 330px; padding: 25px; }
    .project-hero > .portfolio-picture, .project-hero > .gallery-link { width: 100%; margin-left: 0; }
    .project-gallery { display: block; }
    .gallery-block, .gallery-wide, .gallery-two-thirds-left, .gallery-two-thirds-right, .gallery-half-left, .gallery-half-right, .gallery-third-right, .gallery-group-narrow { margin: 0 0 28px; }
    .gallery-half-right { margin-top: 0; }
    .gallery-pair { display: grid; grid-template-columns: 1fr; gap: 28px; margin-bottom: 28px; }
    .gallery-pair.offset > :nth-child(2) { margin-top: 0; }
    .gallery-pair.keep-pair { grid-template-columns: 1fr 1fr; gap: 8px; }
    .gallery-trio { display: grid; grid-template-columns: 1fr; gap: 28px; margin-bottom: 28px; }
    .gallery-trio > :nth-child(3) { grid-column: auto; width: 100%; margin-left: 0; }
    .project-navigation { display: flex; flex-direction: column; align-items: stretch; gap: clamp(48px, 13vw, 72px); }
    .project-navigation .back-link { order: 2; }
    .next-project { order: 1; grid-template-columns: minmax(110px, 38vw) 1fr; align-self: stretch; }
    #bottom.site-footer { margin-top: var(--space-lg); }
    .footer-inner { grid-template-columns: 1fr 1fr; }
    .footer-brand { grid-column: 1 / -1; margin-bottom: var(--space-sm); }
    .footer-meta { margin-top: var(--space-md); }
}

@media (max-width: 440px) {
    h1 { font-size: clamp(1.95rem, 9.5vw, 2.65rem); }
    h2 { font-size: clamp(1.8rem, 8vw, 2.25rem); }
    .hero-actions, .consultation-actions { align-items: flex-start; flex-direction: column; }
    .hero-brandline em { margin-inline: .22em; }
    .home-alex-image { width: 100%; }
    .placeholder-projects { grid-template-columns: 1fr; }
    .placeholder-project { min-height: 0; }
    .footer-inner { grid-template-columns: 1fr; }
    .footer-brand, .footer-meta { grid-column: 1; }
    .footer-contact { margin-top: 1.4rem; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
    .hero-slide:not(:first-child) { display: none; }
}
