@charset "UTF-8";
:root {
    --ink: #1c2b27;
    --paper: #f2ede3;
    --cream: #faf7f0;
    --acid: #c5d951;
    --orange: #e47348;
    --muted: #6f7770;
    --line: #c9c8b9;
    --display: "Space Grotesk", sans-serif;
    --body: "DM Sans", sans-serif;
    --mono: "Space Mono", monospace;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { background: var(--paper); color: var(--ink); font-family: var(--body); margin: 0; }
a { color: inherit; text-decoration: none; }
.editorial-header { align-items: center; background: var(--paper); border-bottom: 1px solid var(--line); display: flex; gap: 3rem; justify-content: space-between; padding: 1.2rem 5vw; position: sticky; top: 0; z-index: 10; }
.editorial-brand { align-items: center; display: flex; gap: .7rem; min-width: 13rem; }
.editorial-brand__mark { align-items: center; background: var(--ink); color: var(--acid); display: flex; font-family: var(--display); font-size: 1.2rem; font-weight: 800; height: 2.25rem; justify-content: center; transform: rotate(-8deg); width: 2.25rem; }
.editorial-brand small, .eyebrow, .section-marker, .project-type, .project-meta, .editorial-footer { font-family: var(--mono); font-size: .62rem; letter-spacing: .12em; text-transform: uppercase; }
.editorial-brand span:last-child { display: flex; flex-direction: column; gap: .2rem; }
.editorial-brand small { color: var(--orange); font-size: .5rem; }
.editorial-brand strong { font-family: var(--display); font-size: 1rem; }
.editorial-nav { display: flex; gap: 1.7rem; margin-left: auto; }
.editorial-nav a { font-size: .75rem; font-weight: 700; }
.editorial-nav a:hover { color: var(--orange); }
.design-switcher { margin-left: 0; position: relative; white-space: nowrap; }
.design-switcher summary { align-items: center; background: var(--cream); border: 1px solid var(--ink); border-radius: 999px; cursor: pointer; display: flex; font-size: .7rem; font-weight: 700; gap: .5rem; list-style: none; padding: .4rem .7rem .4rem .5rem; }
.design-switcher summary::-webkit-details-marker { display: none; }
.design-switcher__icon { align-items: center; background: var(--orange); border-radius: 50%; color: var(--cream); display: inline-flex; font-size: .65rem; height: 1.4rem; justify-content: center; width: 1.4rem; }
.design-switcher__arrow { color: var(--orange); }
.design-switcher[open] .design-switcher__arrow { transform: rotate(180deg); }
.design-switcher__menu { animation: menu-in .18s ease-out; background: var(--cream); border: 1px solid var(--ink); box-shadow: 5px 5px 0 var(--acid); min-width: 12rem; padding: .4rem 0; position: absolute; right: 0; top: calc(100% + .65rem); z-index: 20; }
.design-switcher__menu a { display: flex; font-family: var(--mono); font-size: .62rem; justify-content: space-between; padding: .7rem .85rem; text-transform: uppercase; }
.design-switcher__menu a:hover { background: var(--acid); }
.design-switcher__menu a[aria-current="page"] { background: var(--ink); color: var(--cream); }
.design-switcher__menu a span { color: var(--orange); }
@keyframes menu-in { from { opacity: 0; transform: translateY(-.35rem); } to { opacity: 1; transform: translateY(0); } }
.editorial-hero { display: grid; grid-template-columns: 5rem minmax(0, 1fr) minmax(21rem, .72fr); min-height: calc(100vh - 80px); overflow: hidden; padding: 7rem 7vw 4rem 5vw; position: relative; }
.hero-side-label { align-self: center; font-family: var(--mono); font-size: .58rem; letter-spacing: .12em; writing-mode: vertical-rl; transform: rotate(180deg); }
.hero-copy { align-self: center; max-width: 42rem; padding-bottom: 3rem; position: relative; z-index: 1; }
.eyebrow { color: var(--orange); margin: 0 0 1.3rem; }
h1, h2, h3 { font-family: var(--display); margin: 0; }
h1 { font-size: clamp(3.8rem, 7.8vw, 8.8rem); letter-spacing: -.07em; line-height: .88; }
h2 { font-size: clamp(3rem, 6vw, 6.8rem); letter-spacing: -.08em; line-height: .88; }
h3 { font-size: clamp(2rem, 4vw, 4.3rem); letter-spacing: -.07em; line-height: .92; }
em { color: var(--orange); font-style: normal; }
.hero-lead { font-size: 1.05rem; line-height: 1.85; margin: 2.2rem 0; max-width: 27rem; }
.underlined-link { border-bottom: 1px solid var(--ink); display: inline-flex; font-family: var(--mono); font-size: .65rem; gap: 2rem; padding-bottom: .7rem; text-transform: uppercase; }
.underlined-link span { color: var(--orange); font-size: 1rem; line-height: .6; }
.underlined-link:hover { border-color: var(--orange); color: var(--orange); }
.hero-portrait { align-self: center; background: var(--ink); height: min(43rem, 70vw); justify-self: end; max-height: 680px; max-width: 34rem; overflow: hidden; position: relative; transform: rotate(2.5deg); width: 100%; }
.hero-portrait::after { border: 1px solid var(--acid); content: ""; inset: 1rem; pointer-events: none; position: absolute; }
.hero-portrait img { filter: grayscale(1) contrast(1.1); height: 100%; object-fit: cover; opacity: .82; width: 100%; }
.hero-portrait__caption { bottom: 2rem; color: var(--cream); font-family: var(--mono); font-size: .62rem; left: 2rem; line-height: 1.7; position: absolute; z-index: 1; }
.hero-portrait__caption b { color: var(--acid); font-weight: 400; }
.hero-portrait__number { color: var(--acid); font-family: var(--display); font-size: 7rem; font-weight: 800; line-height: 1; position: absolute; right: 1.3rem; top: 1rem; z-index: 1; }
.hero-footnote { align-items: center; bottom: 2rem; display: flex; font-family: var(--mono); font-size: .58rem; gap: 1rem; left: 12rem; position: absolute; text-transform: uppercase; }
.hero-footnote__line { background: var(--orange); height: 1px; width: 5rem; }
.editorial-section { border-top: 1px solid var(--line); display: grid; gap: 3rem; grid-template-columns: 5rem minmax(0, 1fr); margin: 0 auto; max-width: 1500px; padding: 8rem 7vw 9rem 5vw; }
.section-marker { display: flex; flex-direction: column; gap: 1rem; }
.section-marker span:first-child { color: var(--orange); font-size: 1.2rem; }
.section-marker span:last-child { writing-mode: vertical-rl; }
.project-section { background: var(--cream); max-width: none; }
.section-intro { display: flex; justify-content: space-between; margin-bottom: 4rem; }
.section-intro h2 { max-width: 35rem; }
.editorial-project { align-items: start; display: grid; gap: clamp(3rem, 8vw, 8rem); grid-template-columns: minmax(0, 1.2fr) minmax(18rem, .7fr); }
.project-image { aspect-ratio: 16 / 10; background: var(--ink); min-height: 0; overflow: hidden; position: relative; }
.project-image::after { background: linear-gradient(180deg, rgba(28,43,39,.08) 30%, rgba(28,43,39,.72) 100%); content: ""; inset: 0; pointer-events: none; position: absolute; z-index: 1; }
.project-image__photo { height: 100%; object-fit: cover; opacity: .82; position: absolute; transition: transform .5s ease; width: 100%; z-index: 0; }
.project-image:hover .project-image__photo { transform: scale(1.06); }
.project-image__logo { background: var(--cream); border: 1px solid rgba(28,43,39,.3); height: auto; left: 50%; max-height: 7rem; max-width: 72%; object-fit: contain; padding: 1rem 1.5rem; position: absolute; top: 50%; transform: translate(-50%, -50%); width: 18rem; z-index: 2; }
.project-image__link { background: var(--acid); bottom: 1.2rem; font-family: var(--mono); font-size: .58rem; padding: .75rem 1rem; position: absolute; right: 1.2rem; text-transform: uppercase; z-index: 3; }
.project-copy { max-width: 33rem; padding-top: .4rem; }
.project-type { color: var(--orange); line-height: 1.5; margin: 0 0 1.5rem; }
.project-copy h3 { margin-bottom: 2rem; }
.project-copy > p:not(.project-type) { color: var(--muted); line-height: 1.9; margin: 0 0 2rem; max-width: 31rem; }
.project-meta { border-top: 1px solid var(--line); color: var(--muted); display: flex; justify-content: space-between; margin-top: 4rem; padding-top: 1rem; }
.about-section { background: var(--ink); color: var(--cream); grid-template-columns: 5rem .45fr 1.3fr; max-width: none; padding-left: max(5vw, calc((100vw - 1400px) / 2)); padding-right: max(5vw, calc((100vw - 1400px) / 2)); }
.about-section .section-marker { color: var(--acid); }
.about-number { color: var(--acid); font-family: var(--display); font-size: clamp(8rem, 17vw, 16rem); font-weight: 800; letter-spacing: -.12em; line-height: .68; padding-top: 8rem; }
.about-number small { color: var(--orange); display: block; font-family: var(--mono); font-size: .8rem; letter-spacing: .1em; margin-left: 1.4rem; padding-top: 1rem; text-transform: uppercase; }
.about-copy { max-width: 52rem; }
.about-copy h2 { margin-bottom: 2.5rem; }
.about-copy .lead { color: var(--acid); font-size: 1.2rem; line-height: 1.8; max-width: 40rem; }
.about-copy > p:not(.eyebrow):not(.lead) { color: #bfc5b7; line-height: 2; max-width: 42rem; }
.values { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 2rem; }
.values span { border: 1px solid #68756d; color: var(--cream); font-family: var(--mono); font-size: .58rem; padding: .7rem .8rem; text-transform: uppercase; }
.services-heading { display: grid; gap: 2rem; grid-template-columns: 1fr .65fr; margin-bottom: 5rem; }
.services-heading h2 { grid-row: span 2; }
.services-heading > p:last-child { color: var(--muted); line-height: 1.9; max-width: 25rem; }
.service-list { grid-column: 2; }
.service-list article { align-items: baseline; border-bottom: 1px solid var(--line); display: grid; gap: 1.5rem; grid-template-columns: 3rem 1fr 1.1fr; padding: 1.4rem 0; }
.service-list article:first-child { border-top: 1px solid var(--line); }
.service-list b { color: var(--orange); font-family: var(--mono); font-size: .65rem; }
.service-list h3 { font-family: var(--body); font-size: 1.1rem; font-weight: 700; letter-spacing: 0; }
.service-list p { color: var(--muted); font-size: .9rem; line-height: 1.7; margin: 0; }
.contact-section { background: var(--acid); max-width: none; }
.contact-heading h2 { margin-bottom: 2rem; }
.contact-heading > p:last-child { line-height: 1.8; max-width: 27rem; }
.contact-links { align-self: end; border-top: 1px solid var(--ink); }
.contact-links a { align-items: center; border-bottom: 1px solid var(--ink); display: grid; gap: 1rem; grid-template-columns: 5rem 1fr 2rem; padding: 1.25rem 0; }
.contact-links small { font-family: var(--mono); font-size: .58rem; text-transform: uppercase; }
.contact-links strong { font-family: var(--display); font-size: 1.1rem; }
.contact-links a > span { font-size: 1.3rem; text-align: right; }
.contact-links a:hover { color: var(--orange); }
.editorial-footer { display: flex; justify-content: space-between; padding: 1.5rem 5vw; }
.editorial-footer a { color: var(--orange); }
@media (max-width: 900px) {
    .editorial-header { gap: 1rem; padding: 1rem 5vw; }
    .editorial-nav { display: none; }
    .editorial-hero { grid-template-columns: 2rem 1fr; padding: 5rem 7vw 7rem 5vw; }
    .hero-portrait { grid-column: 2; grid-row: 1; height: 30rem; justify-self: stretch; margin: 2rem 0 0 2rem; width: calc(100% - 2rem); }
    .hero-copy { grid-column: 2; grid-row: 1; padding-top: 18rem; }
    .hero-footnote { left: 5rem; }
    .editorial-section { display: block; padding: 5rem 7vw; }
    .section-marker { flex-direction: row; margin-bottom: 3rem; }
    .section-marker span:last-child { writing-mode: initial; }
    .section-intro { display: block; margin-bottom: 3rem; }
    .section-intro h2 { margin-top: 2rem; }
    .editorial-project { display: block; }
    .project-image { aspect-ratio: 4 / 3; }
    .project-copy { margin-top: 3rem; }
    .about-section { padding-left: 7vw; padding-right: 7vw; }
    .about-number { padding: 2rem 0 4rem; }
    .services-heading { display: block; margin-bottom: 3rem; }
    .services-heading h2 { margin: 2rem 0; }
    .service-list { margin-top: 3rem; }
    .service-list article { grid-template-columns: 2.5rem 1fr; }
    .service-list p { grid-column: 2; }
    .contact-links { margin-top: 4rem; }
}
@media (max-width: 520px) {
    .editorial-brand { min-width: 0; }
    .editorial-brand strong { font-size: .85rem; }
    .editorial-brand small { font-size: .42rem; }
    .design-switcher summary { font-size: 0; }
    .design-switcher summary > span:nth-child(2) { display: none; }
    h1 { font-size: clamp(3.2rem, 16vw, 5rem); }
    .hero-portrait { height: 25rem; }
    .contact-links a { grid-template-columns: 4rem 1fr 1rem; }
    .contact-links strong { font-size: .85rem; }
    .editorial-footer { align-items: flex-start; flex-direction: column; gap: 1rem; }
}

body {
    background: #f5f3ee;
    color: #151817;
    overflow-x: hidden;
}
.editorial-header {
    background: rgba(245, 243, 238, .94);
    border-bottom: 1px solid #d9d7ce;
    gap: 2rem;
    min-height: 4.8rem;
    padding: .85rem clamp(1.25rem, 5vw, 5rem);
    backdrop-filter: blur(16px);
}
.editorial-brand { min-width: 12rem; }
.editorial-brand__mark { background: #151817; border-radius: .35rem; color: #f7d45e; height: 2.35rem; transform: none; width: 2.35rem; }
.editorial-brand small { color: #ec6748; }
.editorial-brand strong { color: #151817; }
.editorial-nav { gap: .35rem; }
.editorial-nav a { border-radius: 999px; font-size: .7rem; padding: .65rem .85rem; transition: background .2s ease, color .2s ease; }
.editorial-nav a:hover { background: #151817; color: #f5f3ee; }
.design-switcher { margin-left: 0; }
.design-switcher summary { background: #151817; border-color: #151817; color: #f5f3ee; box-shadow: none; }
.design-switcher summary:hover, .design-switcher[open] summary { background: #ec6748; border-color: #ec6748; }
.design-switcher__icon { background: #f7d45e; color: #151817; }
.design-switcher__arrow { color: #f7d45e; }
.design-switcher summary:hover .design-switcher__arrow, .design-switcher[open] .design-switcher__arrow { color: #fff; }
.design-switcher__menu { background: #fffdf8; border-color: #151817; box-shadow: 4px 4px 0 #f7d45e; }
.design-switcher__menu a:hover { background: #f7d45e; }
.design-switcher__menu a[aria-current="page"] { background: #151817; color: #fffdf8; }
.editorial-hero {
    background: #151817;
    color: #f5f3ee;
    grid-template-columns: minmax(1.5rem, 5rem) minmax(0, 1fr) minmax(19rem, .72fr);
    min-height: min(48rem, calc(100vh - 4.8rem));
    padding: clamp(4rem, 9vw, 8rem) clamp(1.25rem, 7vw, 7rem) clamp(4rem, 7vw, 6rem) clamp(1.25rem, 5vw, 5rem);
}
.hero-side-label { color: #9ea59c; }
.hero-copy { max-width: 45rem; padding-bottom: 0; }
.eyebrow { color: #f7d45e; font-size: .59rem; margin-bottom: 1.5rem; }
h1, h2, h3 { font-family: var(--display); font-weight: 700; }
h1 { font-size: clamp(3.4rem, 7vw, 7.8rem); letter-spacing: -.09em; line-height: .91; }
h2 { font-size: clamp(3rem, 5.7vw, 6rem); letter-spacing: -.09em; line-height: .92; }
h3 { font-size: clamp(2rem, 3.5vw, 3.7rem); letter-spacing: -.08em; line-height: .95; }
em { color: #ec6748; }
.hero-lead { color: #c4c8bd; font-size: 1rem; line-height: 1.75; margin: 2rem 0 2.4rem; }
.underlined-link { border-bottom-color: #f5f3ee; color: #f5f3ee; font-size: .6rem; transition: color .2s ease, border-color .2s ease; }
.underlined-link:hover { border-color: #f7d45e; color: #f7d45e; }
.hero-portrait { background: #303935; border-radius: .35rem; height: min(37rem, 62vw); max-height: 600px; transform: none; }
.hero-portrait::after { border-color: #f7d45e; inset: .8rem; }
.hero-portrait img { filter: grayscale(1) contrast(1.06); opacity: .72; }
.hero-portrait__number { color: #f7d45e; font-size: 6.5rem; right: 1.5rem; }
.hero-portrait__caption { bottom: 1.7rem; left: 1.7rem; }
.hero-footnote { bottom: 1.7rem; color: #9ea59c; left: clamp(5rem, 12vw, 12rem); }
.hero-footnote__line { background: #ec6748; }
.editorial-section { background: #f5f3ee; border-top-color: #d9d7ce; gap: clamp(1.5rem, 4vw, 4rem); grid-template-columns: 4rem minmax(0, 1fr); max-width: 1440px; padding: clamp(5rem, 9vw, 9rem) clamp(1.25rem, 7vw, 7rem) clamp(6rem, 10vw, 10rem) clamp(1.25rem, 5vw, 5rem); }
.section-marker { color: #6f766e; font-size: .58rem; }
.section-marker span:first-child { color: #ec6748; font-size: 1.15rem; }
.section-marker span:last-child { writing-mode: vertical-rl; }
.project-section { background: #fffdf8; max-width: none; }
.section-intro { align-items: end; margin-bottom: clamp(2.5rem, 5vw, 5rem); }
.section-intro h2 { max-width: 33rem; }
.editorial-project { gap: clamp(2rem, 6vw, 6rem); grid-template-columns: minmax(0, 1.25fr) minmax(18rem, .75fr); }
.project-image { aspect-ratio: 1.35 / 1; border-radius: .35rem; }
.project-image::after { background: linear-gradient(180deg, rgba(21,24,23,.04) 25%, rgba(21,24,23,.78) 100%); }
.project-image__photo { opacity: .78; }
.project-image__logo { background: #fffdf8; border: 0; border-radius: .15rem; box-shadow: 0 .8rem 2rem rgba(21,24,23,.2); max-height: 6rem; padding: .9rem 1.25rem; width: 16rem; }
.project-image__link { background: #f7d45e; border-radius: 999px; bottom: 1.1rem; right: 1.1rem; }
.project-copy { max-width: 31rem; padding-top: .2rem; }
.project-type { color: #ec6748; margin-bottom: 1.3rem; }
.project-copy h3 { margin-bottom: 1.7rem; }
.project-copy > p:not(.project-type) { color: #697169; font-size: .96rem; line-height: 1.85; margin-bottom: 2rem; }
.project-meta { border-top-color: #d9d7ce; margin-top: clamp(2.5rem, 5vw, 5rem); }
.about-section { background: #151817; color: #f5f3ee; grid-template-columns: 4rem minmax(10rem, .5fr) minmax(0, 1.2fr); max-width: none; }
.about-section .section-marker { color: #9ea59c; }
.about-section .section-marker span:first-child { color: #f7d45e; }
.about-number { color: #f7d45e; font-size: clamp(8rem, 15vw, 14rem); letter-spacing: -.15em; line-height: .72; padding-top: 4rem; }
.about-number small { color: #ec6748; margin-left: 1rem; }
.about-copy { max-width: 51rem; }
.about-copy h2 { margin-bottom: 2rem; }
.about-copy .lead { color: #f7d45e; font-size: 1.1rem; line-height: 1.75; }
.about-copy > p:not(.eyebrow):not(.lead) { color: #b6bdb3; font-size: .95rem; line-height: 1.9; }
.values { gap: .5rem; margin-top: 2rem; }
.values span { border-color: #58635b; border-radius: 999px; color: #f5f3ee; padding: .65rem .85rem; }
.services-section { background: #f5f3ee; }
.services-heading { gap: 2.5rem; grid-template-columns: minmax(0, 1fr) minmax(16rem, .55fr); margin-bottom: 4rem; }
.services-heading h2 { grid-row: span 2; }
.services-heading > p:last-child { color: #697169; line-height: 1.85; }
.service-list { grid-column: 2; }
.service-list article { border-bottom-color: #d9d7ce; gap: 1.2rem; grid-template-columns: 2.5rem minmax(10rem, 1fr) minmax(12rem, 1.1fr); padding: 1.35rem 0; }
.service-list article:first-child { border-top-color: #151817; }
.service-list b { color: #ec6748; }
.service-list h3 { font-size: 1rem; }
.service-list p { color: #697169; font-size: .85rem; line-height: 1.65; }
.contact-section { background: #f7d45e; max-width: none; }
.contact-heading h2 { margin-bottom: 1.7rem; }
.contact-heading > p:last-child { line-height: 1.8; max-width: 28rem; }
.contact-links { border-top-color: #151817; }
.contact-links a { border-bottom-color: #151817; padding: 1.15rem 0; transition: padding .2s ease, color .2s ease; }
.contact-links a:hover { color: #ec6748; padding-left: .6rem; }
.contact-links strong { font-size: 1rem; }
.editorial-footer { background: #151817; color: #b6bdb3; padding: 1.4rem clamp(1.25rem, 5vw, 5rem); }
.editorial-footer a { color: #f7d45e; }
@media (max-width: 900px) {
    .editorial-header { min-height: 4.4rem; }
    .editorial-hero { min-height: auto; }
    .hero-copy { padding-top: 17rem; }
    .hero-portrait { height: 28rem; }
    .editorial-section { grid-template-columns: 1fr; }
    .section-marker { flex-direction: row; margin-bottom: 2.5rem; }
    .section-marker span:last-child { writing-mode: initial; }
    .editorial-project { display: block; }
    .project-image { aspect-ratio: 1.4 / 1; }
    .project-copy { margin-top: 2.5rem; }
    .about-section { grid-template-columns: 1fr; }
    .about-number { padding: 0 0 3rem; }
    .services-heading { display: block; }
    .services-heading h2 { margin-bottom: 2rem; }
    .service-list { margin-top: 3rem; }
}
@media (max-width: 520px) {
    .editorial-header { padding: .75rem 1rem; }
    .editorial-brand { min-width: 0; }
    .editorial-nav { display: none; }
    .editorial-hero { padding: 4rem 1.25rem 5rem; }
    .hero-copy { padding-top: 16rem; }
    .hero-portrait { height: 24rem; margin-left: 1rem; width: calc(100% - 1rem); }
    .hero-footnote { bottom: 1.5rem; left: 3.25rem; }
    .editorial-section { padding: 4.5rem 1.25rem 5rem; }
    .project-image { aspect-ratio: 1 / .9; }
    .project-image__logo { max-width: 78%; width: 14rem; }
    .project-meta { flex-direction: column; gap: .65rem; }
    .service-list article { grid-template-columns: 2.2rem 1fr; }
    .service-list p { grid-column: 2; }
    .contact-links a { grid-template-columns: 4rem 1fr 1rem; }
    .contact-links strong { font-size: .82rem; }
}

:root {
    --poster-blue: #3048f5;
    --poster-pink: #ff6b9b;
    --poster-lime: #dfff63;
    --poster-black: #11131f;
    --poster-white: #f8f8f3;
    --poster-line: rgba(17, 19, 31, .16);
}
body {
    background: var(--poster-white);
    color: var(--poster-black);
    font-family: var(--body);
}
.editorial-header {
    background: var(--poster-white);
    border-bottom: 0;
    gap: 1rem;
    padding: 1rem clamp(1rem, 4vw, 4rem);
}
.editorial-brand__mark {
    background: var(--poster-blue);
    border-radius: 50%;
    color: var(--poster-lime);
    font-size: 1rem;
    height: 2.6rem;
    overflow: hidden;
    transform: rotate(-12deg);
    width: 2.6rem;
}
.editorial-brand__mark img { display: block; height: 100%; object-fit: cover; width: 100%; }
.editorial-brand small { color: var(--poster-blue); }
.editorial-brand strong { color: var(--poster-black); }
.editorial-nav {
    background: #ebece6;
    border-radius: 999px;
    gap: .1rem;
    padding: .25rem;
}
.editorial-nav a { border-radius: 999px; font-size: .68rem; padding: .6rem .85rem; }
.editorial-nav a:hover { background: var(--poster-blue); color: var(--poster-white); }
.design-switcher summary {
    background: var(--poster-pink);
    border: 0;
    color: var(--poster-black);
    box-shadow: 3px 3px 0 var(--poster-black);
}
.design-switcher summary:hover, .design-switcher[open] summary { background: var(--poster-lime); color: var(--poster-black); transform: translate(-1px, -1px); }
.design-switcher__icon { background: var(--poster-blue); color: var(--poster-lime); }
.design-switcher__arrow { color: var(--poster-black); }
.design-switcher__menu { background: var(--poster-white); border: 2px solid var(--poster-black); box-shadow: 5px 5px 0 var(--poster-blue); }
.design-switcher__menu a:hover { background: var(--poster-lime); }
.design-switcher__menu a[aria-current="page"] { background: var(--poster-blue); color: var(--poster-white); }
.editorial-hero {
    background: var(--poster-blue);
    border-radius: 0 0 2.5rem 2.5rem;
    color: var(--poster-white);
    grid-template-columns: minmax(1.5rem, 4rem) minmax(0, 1fr) minmax(19rem, .75fr);
    min-height: min(47rem, calc(100vh - 5rem));
    padding: clamp(3.5rem, 8vw, 7rem) clamp(1rem, 7vw, 7rem) clamp(3rem, 6vw, 5rem) clamp(1rem, 4vw, 4rem);
}
.hero-side-label { color: rgba(248,248,243,.68); }
.hero-copy { max-width: 45rem; }
.eyebrow { color: var(--poster-lime); font-size: .58rem; }
h1, h2, h3 { font-family: var(--display); font-weight: 800; }
h1 { font-size: clamp(3.5rem, 7vw, 8rem); letter-spacing: -.1em; line-height: .87; }
h2 { font-size: clamp(3rem, 6vw, 6.5rem); letter-spacing: -.1em; line-height: .86; }
h3 { font-size: clamp(2.2rem, 4vw, 4.4rem); letter-spacing: -.1em; line-height: .87; }
em { color: var(--poster-lime); }
.hero-lead { color: rgba(248,248,243,.8); font-size: 1rem; line-height: 1.75; margin: 2rem 0; max-width: 26rem; }
.underlined-link { background: var(--poster-lime); border: 0; border-radius: 999px; color: var(--poster-black); gap: 1.5rem; padding: .9rem 1.1rem; }
.underlined-link:hover { background: var(--poster-pink); border: 0; color: var(--poster-black); }
.hero-portrait {
    align-self: center;
    background: var(--poster-pink);
    border: .7rem solid var(--poster-white);
    border-radius: 50% 50% .5rem .5rem;
    height: min(37rem, 62vw);
    max-height: 600px;
    transform: rotate(3deg);
}
.hero-portrait::after { border: 2px solid var(--poster-lime); border-radius: 50% 50% .25rem .25rem; inset: .8rem; }
.hero-portrait img { filter: grayscale(1) contrast(1.1); opacity: .82; }
.hero-portrait__number { color: var(--poster-lime); font-size: 6rem; }
.hero-portrait__caption { color: var(--poster-black); left: 1.5rem; }
.hero-portrait__caption b { color: var(--poster-blue); }
.hero-footnote { color: rgba(248,248,243,.7); left: clamp(4rem, 10vw, 10rem); }
.hero-footnote__line { background: var(--poster-pink); }
.editorial-section {
    background: var(--poster-white);
    border-top: 0;
    gap: clamp(1.5rem, 4vw, 4rem);
    grid-template-columns: 4rem minmax(0, 1fr);
    padding: clamp(5rem, 9vw, 9rem) clamp(1rem, 7vw, 7rem) clamp(6rem, 10vw, 10rem) clamp(1rem, 4vw, 4rem);
}
.section-marker { color: #6f7281; }
.section-marker span:first-child { color: var(--poster-blue); }
.project-section { background: var(--poster-white); }
.section-intro { margin-bottom: 4rem; }
.section-intro h2 { max-width: 34rem; }
.editorial-project { gap: clamp(2rem, 6vw, 6rem); grid-template-columns: minmax(0, 1.15fr) minmax(18rem, .8fr); }
.project-image { aspect-ratio: 1.15 / 1; border: .7rem solid var(--poster-pink); border-radius: 1.5rem; }
.project-image::after { background: linear-gradient(180deg, transparent 40%, rgba(17,19,31,.72)); }
.project-image__photo { opacity: .82; }
.project-image__logo { border-radius: .65rem; box-shadow: .45rem .45rem 0 var(--poster-lime); max-height: 6rem; padding: .9rem 1.2rem; width: 16rem; }
.project-image__link { background: var(--poster-lime); border-radius: 999px; bottom: 1rem; right: 1rem; }
.project-copy { max-width: 31rem; }
.project-type { color: var(--poster-blue); }
.project-copy h3 { margin-bottom: 1.7rem; }
.project-copy > p:not(.project-type) { color: #626677; font-size: .96rem; line-height: 1.9; }
.project-meta { border-top-color: var(--poster-line); }
.about-section {
    background: var(--poster-pink);
    border-radius: 2.5rem 2.5rem 0 0;
    color: var(--poster-black);
    grid-template-columns: 4rem minmax(10rem, .5fr) minmax(0, 1.2fr);
}
.about-section .section-marker { color: rgba(17,19,31,.6); }
.about-section .section-marker span:first-child { color: var(--poster-blue); }
.about-number { color: var(--poster-blue); font-size: clamp(8rem, 15vw, 14rem); }
.about-number small { color: var(--poster-black); }
.about-copy .lead { color: var(--poster-blue); font-size: 1.1rem; line-height: 1.75; }
.about-copy > p:not(.eyebrow):not(.lead) { color: rgba(17,19,31,.72); line-height: 1.9; }
.values span { background: var(--poster-white); border: 0; border-radius: 999px; color: var(--poster-black); padding: .65rem .85rem; }
.services-section { background: var(--poster-white); }
.services-heading { grid-template-columns: minmax(0, 1fr) minmax(16rem, .55fr); }
.services-heading > p:last-child { color: #626677; line-height: 1.85; }
.service-list article { border-bottom-color: var(--poster-line); grid-template-columns: 2.5rem minmax(10rem, 1fr) minmax(12rem, 1.1fr); }
.service-list article:first-child { border-top-color: var(--poster-black); }
.service-list b { color: var(--poster-blue); }
.service-list p { color: #626677; line-height: 1.7; }
.contact-section { background: var(--poster-lime); border-radius: 2.5rem 2.5rem 0 0; }
.contact-heading h2 { color: var(--poster-black); }
.contact-links { border-top-color: var(--poster-black); }
.contact-links a { border-bottom-color: var(--poster-black); }
.contact-links a:hover { color: var(--poster-blue); padding-left: .6rem; }
.editorial-footer { background: var(--poster-black); color: rgba(248,248,243,.65); }
.editorial-footer a { color: var(--poster-lime); }
@media (max-width: 900px) {
    .editorial-hero { min-height: auto; }
    .hero-copy { padding-top: 17rem; }
    .editorial-section { grid-template-columns: 1fr; }
    .section-marker { flex-direction: row; margin-bottom: 2.5rem; }
    .section-marker span:last-child { writing-mode: initial; }
    .editorial-project { display: block; }
    .project-image { aspect-ratio: 1.25 / 1; }
    .project-copy { margin-top: 2.5rem; }
    .about-section { grid-template-columns: 1fr; }
    .about-number { padding: 0 0 3rem; }
    .services-heading { display: block; }
    .services-heading h2 { margin-bottom: 2rem; }
    .service-list { margin-top: 3rem; }
}
@media (max-width: 520px) {
    .editorial-header { padding: .75rem 1rem; }
    .editorial-hero { border-radius: 0 0 1.5rem 1.5rem; padding: 4rem 1rem 5rem; }
    .hero-copy { padding-top: 16rem; }
    .hero-portrait { border-width: .45rem; height: 24rem; margin-left: 1rem; width: calc(100% - 1rem); }
    .editorial-section { padding: 4.5rem 1rem 5rem; }
    .project-image { aspect-ratio: 1 / .95; border-width: .45rem; border-radius: 1rem; }
    .project-image__logo { max-width: 78%; width: 14rem; }
    .about-section, .contact-section { border-radius: 1.5rem 1.5rem 0 0; }
    .service-list article { grid-template-columns: 2.2rem 1fr; }
    .service-list p { grid-column: 2; }
}

.new-section-top { align-items: center; border-bottom: 1px solid var(--poster-line); color: #676b7a; display: flex; font-family: var(--mono); font-size: .58rem; justify-content: space-between; letter-spacing: .1em; padding-bottom: 1rem; text-transform: uppercase; }
.new-section-top span:first-child { color: var(--poster-blue); }
.new-projects { background: var(--poster-white); padding: clamp(4rem, 8vw, 8rem) clamp(1rem, 7vw, 7rem) clamp(5rem, 10vw, 10rem); }
.new-projects__heading { align-items: end; display: flex; justify-content: space-between; margin: clamp(3rem, 6vw, 6rem) auto; max-width: 1180px; }
.new-projects__heading h2 { font-size: clamp(3.4rem, 7vw, 7.4rem); }
.new-projects__heading .eyebrow { color: var(--poster-blue); margin: 0 0 1rem; }
.new-project-card { margin: 0 auto; max-width: 1180px; }
.new-project-card__visual { background: var(--poster-black); border-radius: 1.5rem; display: block; height: min(50vw, 39rem); min-height: 21rem; overflow: hidden; position: relative; }
.new-project-card__visual::after { background: linear-gradient(180deg, transparent 42%, rgba(17,19,31,.72)); content: ""; inset: 0; pointer-events: none; position: absolute; }
.new-project-card__visual > img { height: 100%; object-fit: cover; opacity: .8; transition: transform .6s ease; width: 100%; }
.new-project-card__visual:hover > img { transform: scale(1.04); }
.new-project-card__logo { background: var(--poster-white); border-radius: .8rem; box-shadow: .6rem .6rem 0 var(--poster-lime); left: 50%; padding: 1rem 1.5rem; position: absolute; top: 50%; transform: translate(-50%, -50%) rotate(-3deg); width: min(18rem, 42%); z-index: 1; }
.new-project-card__logo img { display: block; height: auto; width: 100%; }
.new-project-card__open { background: var(--poster-lime); border-radius: 999px; bottom: 1.3rem; color: var(--poster-black); font-family: var(--mono); font-size: .6rem; padding: .85rem 1.1rem; position: absolute; right: 1.3rem; text-transform: uppercase; z-index: 2; }
.new-project-card__open b { color: var(--poster-blue); margin-left: .7rem; }
.new-project-card__body { display: grid; gap: 3rem; grid-template-columns: minmax(0, 1fr) minmax(18rem, .65fr); padding: 3rem 2rem 2rem; }
.new-project-card__body h3 { font-size: clamp(2.7rem, 5vw, 5.3rem); }
.new-project-card__description { align-self: end; color: #626677; line-height: 1.85; max-width: 28rem; }
.new-project-card__description p { margin: 0 0 1rem; }
.new-project-card__description .underlined-link { color: var(--poster-black); margin-top: 1rem; }
.new-project-card__meta { border-top: 1px solid var(--poster-line); color: #676b7a; display: flex; font-family: var(--mono); font-size: .58rem; justify-content: space-between; letter-spacing: .1em; padding: 1rem 2rem 0; text-transform: uppercase; }
.new-about { background: var(--poster-pink); border-radius: 2.5rem 2.5rem 0 0; padding: clamp(4rem, 8vw, 8rem) clamp(1rem, 7vw, 7rem); }
.new-about .new-section-top { border-bottom-color: rgba(17,19,31,.2); }
.new-about .new-section-top span:first-child { color: var(--poster-blue); }
.new-about__intro { align-items: end; display: grid; gap: 3rem; grid-template-columns: minmax(12rem, .55fr) minmax(0, 1.3fr); margin: clamp(3rem, 7vw, 7rem) auto 4rem; max-width: 1180px; }
.new-about__number { color: var(--poster-blue); font-family: var(--display); font-size: clamp(9rem, 18vw, 18rem); font-weight: 800; letter-spacing: -.16em; line-height: .65; }
.new-about__number small { color: var(--poster-black); display: block; font-family: var(--mono); font-size: .7rem; letter-spacing: .1em; margin-left: 1.2rem; padding-top: 1.5rem; text-transform: uppercase; }
.new-about__intro h2 { font-size: clamp(3.1rem, 6vw, 6.4rem); }
.new-about__columns { display: grid; gap: 4rem; grid-template-columns: minmax(15rem, .65fr) minmax(0, 1fr); margin: 0 auto; max-width: 900px; }
.new-about__columns .lead { color: var(--poster-blue); font-size: 1.25rem; line-height: 1.65; margin: 0; }
.new-about__columns > div { color: rgba(17,19,31,.72); line-height: 1.9; max-width: 38rem; }
.new-about__columns p { margin: 0 0 1.4rem; }
.new-about .values { justify-content: center; margin: 4rem auto 0; max-width: 900px; }
.new-services { background: var(--poster-white); padding: clamp(4rem, 8vw, 8rem) clamp(1rem, 7vw, 7rem); }
.new-services__heading { align-items: end; display: grid; gap: 3rem; grid-template-columns: minmax(0, 1fr) minmax(16rem, .6fr); margin: clamp(3rem, 6vw, 6rem) auto 4rem; max-width: 1180px; }
.new-services__heading h2 { font-size: clamp(3.5rem, 7vw, 7rem); }
.new-services__heading p { color: #626677; line-height: 1.9; margin: 0; max-width: 27rem; }
.new-service-grid { display: grid; gap: 1rem; grid-template-columns: repeat(6, 1fr); margin: 0 auto; max-width: 1180px; }
.new-service-grid article { background: #ebece6; border-radius: 1.2rem; display: flex; flex-direction: column; grid-column: span 2; min-height: 17rem; padding: 1.5rem; transition: background .25s ease, transform .25s ease; }
.new-service-grid article:nth-child(4), .new-service-grid article:nth-child(5) { grid-column: span 3; }
.new-service-grid article:hover { background: var(--poster-lime); transform: translateY(-.35rem); }
.new-service-grid b { color: var(--poster-blue); font-family: var(--mono); font-size: .65rem; }
.new-service-grid h3 { font-family: var(--body); font-size: 1.2rem; letter-spacing: -.02em; margin: auto 0 1rem; }
.new-service-grid p { color: #626677; font-size: .87rem; line-height: 1.7; margin: 0; }
.new-contact { background: var(--poster-blue); border-radius: 2.5rem 2.5rem 0 0; color: var(--poster-white); display: grid; gap: 4rem 7vw; grid-template-columns: minmax(0, 1fr) minmax(19rem, .8fr); padding: clamp(4rem, 8vw, 8rem) clamp(1rem, 7vw, 7rem); }
.new-contact .new-section-top { border-bottom-color: rgba(248,248,243,.25); color: rgba(248,248,243,.7); grid-column: 1 / -1; }
.new-contact .new-section-top span:first-child { color: var(--poster-lime); }
.new-contact__heading h2 { font-size: clamp(4rem, 8vw, 8rem); }
.new-contact__heading > p:last-child { color: rgba(248,248,243,.75); line-height: 1.8; max-width: 24rem; }
.new-contact__links { align-self: end; border-top: 1px solid rgba(248,248,243,.45); }
.new-contact__links a { align-items: center; border-bottom: 1px solid rgba(248,248,243,.45); display: grid; gap: 1rem; grid-template-columns: 5rem 1fr 2rem; padding: 1.2rem 0; transition: color .2s ease, padding .2s ease; }
.new-contact__links a:hover { color: var(--poster-lime); padding-left: .5rem; }
.new-contact__links small { font-family: var(--mono); font-size: .58rem; text-transform: uppercase; }
.new-contact__links strong { font-family: var(--display); font-size: 1rem; }
.new-contact__links a > span { font-size: 1.3rem; text-align: right; }
@media (max-width: 800px) {
    .new-projects__heading, .new-services__heading { align-items: start; display: block; }
    .new-projects__heading h2, .new-services__heading h2 { margin-top: 2rem; }
    .new-project-card__body, .new-about__columns, .new-contact { display: block; }
    .new-project-card__description { margin-top: 2rem; }
    .new-project-card__meta { gap: .7rem; flex-direction: column; }
    .new-about__intro { display: block; }
    .new-about__number { margin-bottom: 4rem; }
    .new-service-grid { grid-template-columns: repeat(2, 1fr); }
    .new-service-grid article, .new-service-grid article:nth-child(4), .new-service-grid article:nth-child(5) { grid-column: span 1; }
    .new-contact__links { margin-top: 4rem; }
}
@media (max-width: 520px) {
    .new-section-top { font-size: .5rem; }
    .new-projects, .new-about, .new-services, .new-contact { padding-left: 1rem; padding-right: 1rem; }
    .new-projects__heading h2, .new-services__heading h2 { font-size: clamp(3rem, 14vw, 5rem); }
    .new-project-card__visual { border-radius: 1rem; height: 22rem; min-height: 0; }
    .new-project-card__logo { width: 14rem; }
    .new-project-card__body { padding-left: 0; padding-right: 0; }
    .new-project-card__meta { padding-left: 0; padding-right: 0; }
    .new-service-grid { display: block; }
    .new-service-grid article { margin-bottom: 1rem; min-height: 14rem; }
    .new-contact__heading h2 { font-size: clamp(3.8rem, 17vw, 6rem); }
    .new-contact__links a { grid-template-columns: 4rem 1fr 1rem; }
    .new-contact__links strong { font-size: .8rem; }
}

.new-project-card__logo {
    background: #000;
    box-shadow: .6rem .6rem 0 var(--poster-lime);
    padding: 1.1rem 1.5rem;
}

@media (min-width: 1200px) {
    .editorial-hero h1 { font-size: 4.6rem !important; line-height: .9 !important; max-width: 9ch; }
    .new-projects__heading h2,
    .new-services__heading h2 { font-size: 3.9rem !important; line-height: .92 !important; max-width: 10ch; }
    .new-project-card__body h3 { font-size: 3.1rem !important; line-height: .95 !important; max-width: 10ch; }
    .new-about__intro h2 { font-size: 3.8rem !important; line-height: .94 !important; max-width: 12ch; }
    .new-about__number { font-size: 9.5rem !important; line-height: .72 !important; }
    .new-contact__heading h2 { font-size: 4.8rem !important; line-height: .92 !important; max-width: 8ch; }
}

main {
    margin: 0 auto;
    max-width: none;
}
.editorial-hero {
    min-height: 45rem;
}
.new-projects,
.new-about,
.new-services,
.new-contact {
    margin-left: auto;
    margin-right: auto;
    max-width: none;
}
.editorial-hero h1 { font-size: clamp(3.2rem, 5.8vw, 6.4rem); max-width: 10ch; }
.new-projects__heading h2,
.new-services__heading h2 { font-size: clamp(3rem, 5.3vw, 5.8rem); max-width: 10ch; }
.new-about__intro h2 { font-size: clamp(2.8rem, 4.8vw, 5.5rem); max-width: 12ch; }
.new-contact__heading h2 { font-size: clamp(3.5rem, 6.2vw, 6.8rem); max-width: 8ch; }
.new-project-card__body h3 { font-size: clamp(2.5rem, 4.2vw, 4.5rem); max-width: 10ch; }
.new-projects__heading,
.new-project-card,
.new-about__intro,
.new-about__columns,
.new-services__heading,
.new-service-grid {
    max-width: 1120px;
}
.new-projects__heading,
.new-services__heading {
    margin-left: auto;
    margin-right: auto;
}
.new-project-card__body {
    padding-left: 0;
    padding-right: 0;
}
.new-contact__heading,
.new-contact__links {
    max-width: 520px;
}
@media (min-width: 1700px) {
    .editorial-header { padding-left: max(1rem, calc((100vw - 1600px) / 2)); padding-right: max(1rem, calc((100vw - 1600px) / 2)); }
    .editorial-hero { padding-left: max(1rem, calc((100vw - 1500px) / 2)); padding-right: max(1rem, calc((100vw - 1500px) / 2)); }
    .new-projects, .new-about, .new-services, .new-contact { padding-left: max(1rem, calc((100vw - 1400px) / 2)); padding-right: max(1rem, calc((100vw - 1400px) / 2)); }
}
@media (min-width: 1800px) and (max-width: 2100px) and (min-height: 1000px) and (max-height: 1200px) {
    .editorial-header { min-height: 4.5rem; padding-bottom: .7rem; padding-top: .7rem; }
    .editorial-hero { grid-template-columns: 4rem minmax(0, 1fr) 30rem; min-height: calc(100vh - 4.5rem); padding: 5rem max(5rem, calc((100vw - 1500px) / 2)) 4rem; }
    .hero-copy { max-width: 40rem; }
    .editorial-hero h1 { font-size: 2.3rem; line-height: 1; max-width: 10ch; }
    .hero-lead { font-size: .95rem; line-height: 1.65; margin: 1.6rem 0 2rem; }
    .hero-portrait { height: 34rem; max-width: 30rem; }
    .hero-footnote { bottom: 1.5rem; }
    .new-projects, .new-about, .new-services, .new-contact { padding-bottom: 7rem; padding-left: max(5rem, calc((100vw - 1400px) / 2)); padding-right: max(5rem, calc((100vw - 1400px) / 2)); padding-top: 6rem; }
    .new-section-top, .new-projects__heading, .new-project-card, .new-about__intro, .new-about__columns, .new-services__heading, .new-service-grid { max-width: 1120px; }
    .new-projects__heading, .new-services__heading { margin-bottom: 3.5rem; margin-top: 4rem; }
    .new-projects__heading h2, .new-services__heading h2 { font-size: 1.95rem; line-height: 1; max-width: 12ch; }
    .new-project-card__visual { height: 31rem; min-height: 0; }
    .new-project-card__body { gap: 4rem; padding-top: 2.3rem; }
    .new-project-card__body h3 { font-size: 1.55rem; line-height: 1.05; max-width: 12ch; }
    .new-about__intro { margin-bottom: 3rem; margin-top: 4rem; }
    .new-about__intro h2 { font-size: 1.9rem; line-height: 1.05; max-width: 16ch; }
    .new-about__number { font-size: 4.75rem; }
    .new-services__heading { margin-bottom: 3rem; }
    .new-service-grid article { min-height: 14rem; }
    .new-contact { gap: 3rem 6rem; }
    .new-contact__heading h2 { font-size: 2.4rem; line-height: 1; max-width: 10ch; }
}

@media (max-width: 520px) {
    .editorial-hero {
        grid-template-columns: minmax(0, 1fr);
        min-height: 0;
    }
    .hero-side-label { display: none; }
    .hero-portrait {
        grid-column: 1;
        grid-row: 1;
        height: 24rem;
        margin: 0 0 2rem;
        width: 100%;
    }
    .hero-copy {
        grid-column: 1;
        grid-row: 2;
        padding: 0;
    }
    .hero-lead { margin: 1.5rem 0 2rem; }
}

@media (max-width: 520px) {
    .design-switcher summary { font-size: .68rem; }
    .design-switcher summary > span:nth-child(2) { display: inline; }
}

.mobile-nav-menu { display: none; position: relative; }
@media (max-width: 900px) {
    .mobile-nav-menu { display: block; }
    .mobile-nav-menu summary { align-items: center; background: var(--poster-lime); border: 2px solid var(--poster-black); border-radius: 999px; color: var(--poster-black); cursor: pointer; display: flex; font-size: .68rem; font-weight: 700; gap: .5rem; list-style: none; padding: .55rem .8rem; }
    .mobile-nav-menu summary::-webkit-details-marker { display: none; }
    .mobile-nav-menu__icon { display: grid; gap: 3px; width: 1rem; }
    .mobile-nav-menu__icon i { background: var(--poster-blue); display: block; height: 2px; width: 100%; }
    .mobile-nav-menu__panel { animation: menu-in .18s ease-out; background: var(--poster-white); border: 2px solid var(--poster-black); box-shadow: 5px 5px 0 var(--poster-blue); display: grid; left: 0; min-width: 13rem; padding: .4rem 0; position: absolute; top: calc(100% + .65rem); z-index: 20; }
    .mobile-nav-menu__panel a { font-size: .72rem; font-weight: 700; padding: .75rem 1rem; }
    .mobile-nav-menu__panel a:hover { background: var(--poster-lime); }
}

/* Polished motion and interaction layer */
.editorial-header { transition: box-shadow .25s ease, background-color .25s ease; }
.editorial-header:hover { box-shadow: 0 .6rem 2rem rgba(17,19,31,.08); }
.editorial-brand__mark { transition: border-radius .3s ease, transform .3s cubic-bezier(.2,.8,.2,1); }
.editorial-brand:hover .editorial-brand__mark { border-radius: 35%; transform: rotate(8deg) scale(1.08); }
.editorial-nav a { position: relative; }
.editorial-nav a::after { background: var(--poster-lime); border-radius: 999px; bottom: .28rem; content: ""; height: 2px; left: .85rem; position: absolute; right: .85rem; transform: scaleX(0); transform-origin: left; transition: transform .25s ease; }
.editorial-nav a:hover::after { transform: scaleX(1); }
.editorial-hero { isolation: isolate; }
.editorial-hero::before, .editorial-hero::after { border: 1px solid rgba(223,255,99,.15); border-radius: 50%; content: ""; pointer-events: none; position: absolute; z-index: -1; }
.editorial-hero::before { animation: poster-orbit 32s linear infinite; height: 32rem; right: 3%; top: 8%; width: 32rem; }
.editorial-hero::after { animation: poster-orbit 40s linear infinite reverse; border-color: rgba(255,107,155,.18); height: 42rem; right: -3%; top: 0; width: 42rem; }
@keyframes poster-orbit { to { transform: rotate(360deg); } }
.hero-portrait { box-shadow: 1rem 1rem 0 var(--poster-pink); transition: box-shadow .35s ease, transform .5s cubic-bezier(.2,.8,.2,1); }
.hero-portrait:hover { box-shadow: 1.4rem 1.4rem 0 var(--poster-lime); transform: translateY(-.5rem) rotate(-1deg); }
.hero-portrait img { transition: filter .45s ease, transform .8s cubic-bezier(.2,.8,.2,1); }
.hero-portrait:hover img { filter: grayscale(.35) contrast(1.08); transform: scale(1.045); }
.new-project-card__visual { box-shadow: 0 1.5rem 3rem rgba(17,19,31,.12); transition: box-shadow .35s ease, transform .35s ease; }
.new-project-card__visual:hover { box-shadow: 0 2rem 4rem rgba(48,72,245,.2); transform: translateY(-.35rem); }
.new-project-card__logo { transition: box-shadow .35s ease, transform .45s cubic-bezier(.2,.8,.2,1); }
.new-project-card__visual:hover .new-project-card__logo { box-shadow: .9rem .9rem 0 var(--poster-pink); transform: translate(-50%, -50%) rotate(2deg) scale(1.04); }
.new-project-card__open { transition: background .2s ease, transform .2s ease; }
.new-project-card__visual:hover .new-project-card__open { background: var(--poster-pink); transform: translateY(-3px); }
.new-about { position: relative; }
.new-about::after { border: 1px solid rgba(17,19,31,.1); border-radius: 50%; content: ""; height: 28rem; pointer-events: none; position: absolute; right: -13rem; top: 12%; width: 28rem; }
.new-about__number { text-shadow: .04em .04em 0 rgba(255,255,255,.35); transition: color .3s ease, transform .4s ease; }
.new-about__number:hover { color: var(--poster-black); transform: rotate(-3deg) translateY(-.25rem); }
.new-about .values span { transition: background .2s ease, color .2s ease, transform .2s ease; }
.new-about .values span:hover { background: var(--poster-blue); color: var(--poster-white); transform: translateY(-3px); }
.new-service-grid article { box-shadow: 0 .7rem 1.4rem rgba(17,19,31,.05); }
.new-service-grid article b { transition: transform .25s ease; }
.new-service-grid article:hover b { transform: translateX(.25rem); }
.new-contact__links a { transition: color .2s ease, padding .2s ease; }
.new-contact__links a > span { transition: transform .25s ease; }
.new-contact__links a:hover > span { transform: translate(3px,-3px); }
.design-switcher__menu { border-radius: .9rem; overflow: hidden; }

.scroll-reveal { opacity: 0; transform: translateY(28px); transition: opacity .7s cubic-bezier(.2,.8,.2,1), transform .7s cubic-bezier(.2,.8,.2,1); transition-delay: var(--reveal-delay, 0ms); }
.scroll-reveal.is-visible { opacity: 1; transform: translateY(0); }
.new-service-grid .scroll-reveal { transition-delay: calc(var(--reveal-delay, 0ms) + 60ms); }

@media (max-width: 520px) {
    .editorial-hero::before { height: 22rem; right: -12rem; top: 6%; width: 22rem; }
    .editorial-hero::after { height: 30rem; right: -17rem; top: 1%; width: 30rem; }
    .hero-portrait { box-shadow: .55rem .55rem 0 var(--poster-pink); }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
    .scroll-reveal { opacity: 1; transform: none; }
}

.project-process { background: var(--poster-black); color: var(--poster-white); padding: clamp(4rem, 8vw, 7rem) clamp(1rem, 7vw, 7rem); }
.project-process__inner { margin: 0 auto; max-width: 1120px; }
.project-process__eyebrow { color: var(--poster-lime); font-family: var(--mono); font-size: .6rem; letter-spacing: .13em; margin: 0 0 1rem; text-transform: uppercase; }
.project-process h2 { font-family: var(--display); font-size: clamp(2.8rem, 5.8vw, 5.7rem); letter-spacing: -.08em; line-height: .96; margin: 0; }
.project-process h2 em { color: var(--poster-pink); }
.project-process__steps { display: grid; gap: 1rem; grid-template-columns: repeat(3, minmax(0,1fr)); margin-top: 3rem; }
.project-process__steps article { background: rgba(248,248,243,.06); border: 1px solid rgba(248,248,243,.14); border-radius: 1rem; min-height: 13rem; padding: 1.4rem; transition: background .25s ease, border-color .25s ease, transform .25s ease; }
.project-process__steps article:hover { background: rgba(48,72,245,.25); border-color: var(--poster-lime); transform: translateY(-4px); }
.project-process__steps article > span { color: var(--poster-lime); font-family: var(--mono); font-size: .65rem; }
.project-process__steps h3 { font-family: var(--display); font-size: 1.3rem; margin: 2rem 0 .65rem; }
.project-process__steps p { color: rgba(248,248,243,.72); font-size: .86rem; line-height: 1.75; margin: 0; }
.project-process__cta { align-items: center; background: var(--poster-lime); border-radius: 999px; color: var(--poster-black); display: inline-flex; font-family: var(--mono); font-size: .62rem; gap: 1rem; margin-top: 2rem; padding: .9rem 1.2rem; text-transform: uppercase; transition: background .2s ease, transform .2s ease; }
.project-process__cta:hover { background: var(--poster-pink); color: var(--poster-black); transform: translateY(-2px); }
.project-process__cta span { color: var(--poster-blue); font-size: 1.1rem; }
@media (max-width: 700px) { .project-process__steps { grid-template-columns: 1fr; } .project-process__steps article { min-height: 0; } .project-process__steps h3 { margin-top: 1.2rem; } }
