:root { --ink:#141414; --paper:#ffffff; --white:#fff; --acid:#ff4d00; --muted:#686868; --line:#e4e4e1; --max:1240px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; }
::selection { background:var(--acid); color:var(--ink); }
.section-shell { width:min(calc(100% - 40px),var(--max)); margin-inline:auto; }
.section-space { padding-block:112px; }
.site-header { position:sticky; top:0; z-index:50; background:rgba(255,255,255,.93); border-bottom:1px solid rgba(20,20,20,.1); backdrop-filter:blur(14px); }
.header-inner { width:min(calc(100% - 40px),var(--max)); height:78px; margin:auto; display:flex; align-items:center; justify-content:space-between; }
.wordmark { display:inline-flex; align-items:baseline; gap:6px; font-size:19px; font-weight:850; letter-spacing:-.05em; }
.wordmark i { font-size:9px; font-style:normal; font-weight:700; letter-spacing:.2em; }
.main-nav { display:flex; align-items:center; gap:32px; font-size:14px; font-weight:620; }
.main-nav>a:not(.nav-contact) { position:relative; padding-block:10px; }
.main-nav>a:not(.nav-contact)::after { content:""; position:absolute; left:0; right:100%; bottom:4px; height:2px; background:var(--ink); transition:right .25s ease; }
.main-nav>a:hover::after,.main-nav>a.active::after { right:0; }
.language-switcher { display:flex; align-items:center; gap:7px; margin:0; padding:0; list-style:none; }
.language-switcher li+li::before { content:"·"; margin-right:7px; color:#a4a79f; }
.language-switcher a { color:#858980; font-size:10px; font-weight:800; letter-spacing:.08em; }
.language-switcher a:hover,.language-switcher a.current-lang { color:var(--ink); }
.nav-contact { padding:13px 18px; background:var(--ink); color:var(--white); border-radius:999px; }
.nav-contact span { margin-left:10px; }
.menu-toggle { display:none; border:0; background:none; padding:10px; }
.menu-toggle span { display:block; width:24px; height:2px; background:var(--ink); margin:5px; }
.hero { min-height:calc(100vh - 78px); display:grid; grid-template-columns:1.05fr .72fr; align-items:center; gap:9%; padding-block:78px; }
.eyebrow { margin:0 0 22px; display:flex; align-items:center; gap:10px; color:#575a53; font-size:11px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.eyebrow>span { width:28px; height:2px; background:var(--acid); }
.hero h1 { margin:0; max-width:790px; font-size:clamp(58px,6.3vw,96px); line-height:.95; letter-spacing:-.07em; font-weight:760; }
.hero h1 em,.final-cta h2 em { position:relative; font-family:Georgia,serif; font-weight:400; }
.hero h1 em::after { content:""; position:absolute; left:2%; right:0; bottom:-4px; height:9px; background:var(--acid); z-index:-1; transform:rotate(-1deg); }
.hero-lede { max-width:650px; margin:32px 0 0; color:var(--muted); font-size:18px; line-height:1.7; }
.button-row { margin-top:38px; display:flex; align-items:center; gap:30px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:20px; min-height:54px; padding:0 25px; border-radius:999px; font-size:14px; font-weight:750; transition:transform .25s ease,background .25s ease,color .25s ease; }
.button:hover { transform:translateY(-3px); }
.button-dark { background:var(--ink); color:white; }
.button-dark:hover { background:#2b2e28; }
.button-outline { border:1px solid var(--ink); }
.button-outline:hover { background:var(--ink); color:white; }
.text-link { font-size:14px; font-weight:750; border-bottom:1px solid var(--ink); padding-bottom:5px; }
.text-link span { margin-left:16px; }
.hero-trust { margin-top:60px; display:flex; flex-wrap:wrap; gap:22px; color:#70736c; font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.hero-trust span::before { content:"✓"; color:var(--ink); margin-right:8px; }
.hero-board { min-height:580px; padding:32px; background:var(--ink); color:white; display:flex; flex-direction:column; justify-content:space-between; border-radius:3px; box-shadow:18px 18px 0 var(--acid); transform:rotate(1.4deg); }
.board-top { display:flex; justify-content:space-between; color:#a5a89f; font-size:10px; font-weight:750; letter-spacing:.15em; }
.status-dot::before { content:""; display:inline-block; width:7px; height:7px; margin-right:8px; border-radius:50%; background:var(--acid); box-shadow:0 0 0 5px rgba(255,77,0,.1); }
.board-center { display:flex; flex-direction:column; gap:16px; }
.board-kicker { color:var(--acid); font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.15em; }
.board-center strong { font-size:clamp(42px,4vw,65px); line-height:1.02; letter-spacing:-.06em; }
.board-center i { color:var(--acid); font-family:Georgia,serif; font-weight:400; }
.board-metrics { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid #3d4039; padding-top:22px; gap:24px; }
.board-metrics div { display:flex; flex-direction:column; gap:5px; }
.board-metrics b { font-size:28px; }
.board-metrics span { color:#999d93; font-size:10px; text-transform:uppercase; letter-spacing:.1em; }
.client-strip { overflow:hidden; padding:22px 20px; background:var(--acid); border-block:1px solid var(--ink); }
.marquee-track { display:flex; align-items:center; justify-content:center; gap:32px; white-space:nowrap; font-size:12px; font-weight:850; letter-spacing:.14em; }
.marquee-track i { font-style:normal; font-size:18px; }
.section-heading { margin-bottom:60px; display:grid; grid-template-columns:1.5fr .65fr; gap:80px; align-items:end; }
.section-heading h2,.proof-intro h2 { margin:0; font-size:clamp(44px,5.1vw,72px); line-height:1.02; letter-spacing:-.06em; }
.section-heading>p { margin:0; color:var(--muted); line-height:1.75; }
.services-grid { display:grid; grid-template-columns:repeat(12,1fr); border-top:1px solid var(--line); }
.service-card { grid-column:span 4; min-height:340px; padding:30px 28px 28px 0; border-bottom:1px solid var(--line); display:flex; flex-direction:column; }
.service-card:not(:nth-child(3n+1)) { border-left:1px solid var(--line); padding-left:28px; }
.card-number { color:#9a9d94; font-size:10px; letter-spacing:.12em; }
.service-card h3 { margin:65px 0 14px; font-size:25px; letter-spacing:-.04em; }
.service-card p { margin:0; max-width:340px; color:var(--muted); line-height:1.7; }
.service-card a { margin-top:auto; width:max-content; font-size:13px; font-weight:750; }
.service-card a span { display:inline-block; margin-left:12px; transition:transform .2s; }
.service-card:hover a span { transform:translate(3px,-3px); }
.section-action { padding-top:36px; text-align:right; }
.dark-section { background:var(--ink); color:white; }
.section-heading-light>p,.eyebrow-light { color:#a7aaa2; }
.eyebrow-light>span { background:var(--acid); }
.text-link-light { border-color:white; }
.projects-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:30px; }
.project-card:nth-child(3) { grid-column:1/-1; }
.project-visual { position:relative; min-height:490px; padding:26px; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.project-tone-1 .project-visual { background:#ff4d00; color:#fff; }
.project-tone-2 .project-visual { background:#eeeeeb; color:#171717; }
.project-tone-3 .project-visual { min-height:380px; background:#171717; color:#ff4d00; }
.project-index,.project-open { position:absolute; top:24px; font-size:11px; font-weight:800; }
.project-index { left:24px; }.project-open { right:24px; font-size:22px; transition:transform .25s; }
.project-visual:hover .project-open { transform:translate(4px,-4px); }
.project-monogram { font-size:clamp(90px,16vw,220px); font-weight:900; letter-spacing:-.12em; line-height:1; transition:transform .5s cubic-bezier(.2,.7,.2,1); }
.project-visual:hover .project-monogram { transform:scale(1.04) rotate(-2deg); }
.project-meta { padding-top:20px; display:flex; justify-content:space-between; gap:20px; }
.project-meta h3 { margin:0 0 5px; font-size:23px; }.project-meta p,.project-meta>span { margin:0; color:#969a90; font-size:12px; }
.proof-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:10%; }
.proof-intro>p:last-child { max-width:470px; margin-top:28px; color:var(--muted); line-height:1.75; }
.proof-stats { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.proof-stats>div { min-height:200px; padding:25px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); display:flex; flex-direction:column; justify-content:space-between; }
.proof-stats strong { font-size:58px; letter-spacing:-.07em; }.proof-stats span { color:var(--muted); font-size:12px; line-height:1.45; text-transform:uppercase; letter-spacing:.06em; }
.method-section { background:#f5f5f2; }
.method-list { margin:0; padding:0; list-style:none; border-top:1px solid #c4c5bb; }
.method-list li { display:grid; grid-template-columns:80px 1fr; border-bottom:1px solid #c4c5bb; padding:32px 0; }
.method-list li>span { padding-top:7px; color:#858980; font-size:11px; font-weight:800; }
.method-list li>div { display:grid; grid-template-columns:.55fr 1fr; align-items:start; gap:30px; }
.method-list h3 { margin:0; font-size:29px; letter-spacing:-.04em; }.method-list p { margin:4px 0 0; max-width:600px; color:var(--muted); line-height:1.7; }
.articles-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.article-cover { aspect-ratio:1.35; padding:20px; display:flex; flex-direction:column; justify-content:space-between; overflow:hidden; }
.article-cover span { font-size:10px; font-weight:850; text-transform:uppercase; letter-spacing:.14em; }
.article-cover b { font-size:clamp(70px,9vw,135px); line-height:.72; letter-spacing:-.12em; align-self:flex-end; transition:transform .4s; }
.article-cover:hover b { transform:scale(1.05) rotate(-2deg); }
.article-cover-1 { background:#171717; color:var(--acid); }.article-cover-2 { background:#eeeeeb; color:#171717; }.article-cover-3 { background:#ff4d00; color:#fff; }
.article-date { margin-top:19px; color:#8b8e86; font-size:10px; text-transform:uppercase; letter-spacing:.1em; }
.article-card h3 { margin:12px 0 10px; font-size:22px; line-height:1.25; letter-spacing:-.035em; }.article-card p { color:var(--muted); font-size:14px; line-height:1.65; }
.final-cta { margin-bottom:112px; min-height:430px; padding:65px; background:var(--ink); color:white; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.final-cta h2 { margin:0; font-size:clamp(48px,6vw,80px); line-height:1; letter-spacing:-.06em; }.final-cta h2 em { color:var(--acid); }
.cta-circle { flex:0 0 190px; aspect-ratio:1; border:1px solid #565a51; border-radius:50%; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:10px; transition:.3s; }
.cta-circle:hover { background:var(--acid); color:var(--ink); border-color:var(--acid); transform:rotate(-4deg); }.cta-circle span { font-weight:750; }.cta-circle b { font-size:25px; }
.site-footer { padding:85px 0 25px; background:#0d0f0c; color:white; }
.footer-grid { display:grid; grid-template-columns:2fr repeat(3,1fr); gap:60px; }
.wordmark-light { color:white; }.footer-brand p { max-width:330px; margin-top:22px; color:#8f938a; line-height:1.65; }
.footer-grid>div:not(:first-child) { display:flex; flex-direction:column; gap:12px; font-size:13px; color:#a9aca5; }.footer-grid h2 { margin:0 0 9px; color:white; font-size:10px; text-transform:uppercase; letter-spacing:.15em; }
.footer-bottom { margin-top:70px; padding-top:25px; border-top:1px solid #2f322d; display:flex; justify-content:space-between; color:#73776f; font-size:11px; }.footer-bottom div { display:flex; gap:24px; }
.reveal { animation:fadeUp .7s both; }.reveal-delay { animation-delay:.12s; } @keyframes fadeUp { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:translateY(0); } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; } }
@media (max-width:1024px) {
  .hero { grid-template-columns:1fr .62fr; gap:6%; }.hero h1 { font-size:62px; }.hero-board { min-height:490px; padding:25px; }.board-center strong { font-size:40px; }
  .main-nav { gap:18px; }.section-space { padding-block:90px; }.services-grid { grid-template-columns:repeat(2,1fr); }.service-card { grid-column:span 1; border-left:0; padding-left:0; }.service-card:nth-child(even) { border-left:1px solid var(--line); padding-left:25px; }.footer-grid { grid-template-columns:1.6fr repeat(3,1fr); gap:30px; }
}
@media (max-width:767px) {
  .section-shell,.header-inner { width:min(calc(100% - 28px),var(--max)); }.section-space { padding-block:70px; }.site-header { backdrop-filter:blur(18px); }.header-inner { height:68px; }
  .menu-toggle { display:block; }.main-nav { position:fixed; inset:68px 0 auto; padding:32px 22px 36px; background:var(--paper); border-bottom:1px solid var(--line); flex-direction:column; align-items:stretch; gap:8px; transform:translateY(-130%); transition:transform .3s ease; z-index:-1; }.main-nav.is-open { transform:translateY(0); }.main-nav>a:not(.nav-contact) { padding:14px 0; font-size:20px; }.language-switcher { justify-content:center; padding:16px 0 8px; }.language-switcher a { font-size:12px; }.nav-contact { margin-top:10px; text-align:center; }
  .hero { min-height:auto; grid-template-columns:1fr; gap:54px; padding-block:55px 70px; }.hero h1 { font-size:clamp(49px,15.5vw,67px); }.hero-lede { font-size:16px; }.button-row { align-items:flex-start; flex-direction:column; gap:24px; }.hero-trust { margin-top:38px; gap:13px; flex-direction:column; }.hero-board { min-height:440px; margin-right:12px; box-shadow:10px 10px 0 var(--acid); }.board-center strong { font-size:43px; }
  .marquee-track { justify-content:flex-start; gap:21px; overflow:hidden; }.section-heading { margin-bottom:42px; grid-template-columns:1fr; gap:26px; }.section-heading h2,.proof-intro h2 { font-size:44px; }.section-heading>p { max-width:540px; }
  .services-grid { grid-template-columns:1fr; }.service-card,.service-card:nth-child(even) { min-height:270px; border-left:0; padding:24px 0; }.service-card h3 { margin-top:45px; }.section-action { text-align:left; }
  .projects-grid { grid-template-columns:1fr; gap:45px; }.project-card:nth-child(3) { grid-column:auto; }.project-visual,.project-tone-3 .project-visual { min-height:390px; }.project-meta { flex-direction:column; gap:9px; }
  .proof-grid { grid-template-columns:1fr; gap:45px; }.proof-stats>div { min-height:170px; padding:18px; }.proof-stats strong { font-size:46px; }
  .method-list li { grid-template-columns:42px 1fr; }.method-list li>div { grid-template-columns:1fr; gap:8px; }.articles-grid { grid-template-columns:1fr; gap:45px; }.article-card h3 { font-size:24px; }
  .final-cta { width:auto; margin:0 14px 70px; min-height:540px; padding:40px 25px; flex-direction:column; align-items:flex-start; justify-content:space-between; }.cta-circle { flex-basis:145px; align-self:flex-end; }
  .footer-grid { grid-template-columns:1fr 1fr; }.footer-brand { grid-column:1/-1; }.footer-bottom { flex-direction:column; gap:18px; }.footer-bottom div { flex-wrap:wrap; }
}

/* WordPress integration */
.skip-link{position:fixed;left:10px;top:-100px;z-index:9999;padding:12px 16px;background:#fff;color:#111;border:2px solid var(--acid)}.skip-link:focus{top:10px}
.custom-logo{display:block;width:auto;max-width:190px;max-height:42px}.nav-list{display:flex;align-items:center;gap:32px;margin:0;padding:0;list-style:none}.nav-list>li>a{position:relative;padding-block:10px}.nav-list>li>a::after{content:"";position:absolute;left:0;right:100%;bottom:4px;height:2px;background:var(--ink);transition:right .25s ease}.nav-list>li>a:hover::after,.nav-list>.current-menu-item>a::after,.nav-list>.current_page_item>a::after{right:0}
.project-visual img,.article-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.project-visual:has(img)::after,.article-cover:has(img)::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 70%,rgba(0,0,0,.18));pointer-events:none}.project-visual>span,.article-cover>span,.article-cover>b{position:relative;z-index:2}.case-featured,.article-featured{width:min(calc(100% - 40px),1240px);margin-inline:auto}.case-featured img,.article-featured img{display:block;width:100%;height:auto;max-height:780px;object-fit:cover}.case-visual.project-tone-1{background:#ff4d00;color:#fff}
.entry-content{color:#343434;line-height:1.8}.entry-content h2{margin:45px 0 14px;color:var(--ink);font-size:34px;line-height:1.2;letter-spacing:-.045em}.entry-content h3{margin-top:34px;color:var(--ink);font-size:25px}.entry-content a:not(.button){text-decoration:underline;text-decoration-color:var(--acid);text-decoration-thickness:2px;text-underline-offset:4px}.entry-content img{max-width:100%;height:auto}.entry-content blockquote{margin:40px 0;padding:20px 0 20px 28px;border-left:5px solid var(--acid);font-family:Georgia,serif;font-size:24px}.entry-summary{color:var(--muted);line-height:1.7}.service-price{margin:22px 0;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.service-single{display:grid;grid-template-columns:1fr 340px;gap:10%;align-items:start}.service-single aside{position:sticky;top:110px;padding:28px;background:#f5f5f2;border-top:5px solid var(--acid);display:flex;flex-direction:column}.service-single aside>span{color:#858585;font-size:9px;text-transform:uppercase;letter-spacing:.15em}.service-single aside>strong{margin:18px 0 6px;font-size:27px}.service-single aside>p{color:var(--muted);font-size:13px}.service-single aside .button{margin-top:20px}
.case-gallery{padding-bottom:105px;display:grid;grid-template-columns:1fr 1fr;gap:24px}.case-gallery img{display:block;width:100%;height:auto}.case-gallery img:nth-child(3n){grid-column:1/-1}.pagination{padding-bottom:100px}.pagination .nav-links{display:flex;justify-content:center;gap:8px}.pagination .page-numbers{min-width:44px;height:44px;padding:0 12px;border:1px solid var(--line);display:grid;place-items:center}.pagination .current,.pagination a:hover{background:var(--ink);color:#fff}.alma-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.form-error{padding:13px 15px;background:#fff1eb;border-left:4px solid var(--acid);color:#8c2800}.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.alignwide{max-width:1100px;margin-left:auto;margin-right:auto}.alignfull{width:100vw;margin-left:calc(50% - 50vw)}
body.admin-bar .site-header{top:32px}.reveal-ready{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.reveal-ready.is-visible{opacity:1;transform:none}
@media (max-width:1024px){.nav-list{gap:18px}.service-single{grid-template-columns:1fr 300px;gap:6%}}
@media (max-width:782px){body.admin-bar .site-header{top:46px}}
@media (max-width:767px){.main-nav .nav-list{width:100%;flex-direction:column;align-items:stretch;gap:0}.nav-list>li>a{display:block;padding:14px 0;font-size:20px}.main-nav .nav-contact{width:100%;margin-top:12px}.service-single{grid-template-columns:1fr}.service-single aside{position:static}.case-gallery{grid-template-columns:1fr}.case-gallery img:nth-child(3n){grid-column:auto}.case-featured,.article-featured{width:calc(100% - 28px)}}
@media (max-width:420px) { .proof-stats { grid-template-columns:1fr; }.footer-grid { grid-template-columns:1fr; }.footer-brand { grid-column:auto; } }

/* Interior pages */
.page-hero { padding-block:120px 95px; display:grid; grid-template-columns:1.55fr .65fr; gap:8%; align-items:end; border-bottom:1px solid var(--line); }
.page-hero h1 { margin:0; max-width:900px; font-size:clamp(64px,7.6vw,112px); line-height:.9; letter-spacing:-.075em; }
.page-hero h1 em,.contact-intro h1 em { font-family:Georgia,serif; font-weight:400; position:relative; }
.page-hero h1 em::after,.contact-intro h1 em::after { content:""; position:absolute; height:9px; background:var(--acid); left:2%; right:0; bottom:-3px; z-index:-1; transform:rotate(-1deg); }
.page-hero>p { margin:0; max-width:480px; color:var(--muted); font-size:17px; line-height:1.75; }
.detail-list { padding-block:35px 105px; }
.detail-row { padding:64px 0; display:grid; grid-template-columns:80px .8fr 1fr; gap:55px; border-bottom:1px solid var(--line); scroll-margin-top:100px; }
.detail-number { color:#92968d; font-size:11px; font-weight:750; letter-spacing:.12em; }
.detail-row h2 { margin:0 0 18px; font-size:38px; letter-spacing:-.055em; }
.detail-lede { margin:0; max-width:440px; color:#3d403a; font-size:17px; line-height:1.65; }
.detail-row>div:last-child>p { margin:0 0 22px; color:var(--muted); line-height:1.75; }
.detail-row ul { margin:0 0 32px; padding:0; list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:11px 25px; font-size:13px; }
.detail-row li::before { content:"↗"; margin-right:9px; color:#74786f; }
.service-audience { margin-top:28px; padding-top:20px; border-top:1px solid var(--line); }.service-audience>span,.service-example>span { display:block; margin-bottom:8px; color:#878a83; font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.15em; }.service-audience p { margin:0; color:var(--muted); font-size:13px; line-height:1.6; }.service-content h3 { margin:28px 0 15px; font-size:15px; letter-spacing:-.02em; }.service-example { margin:28px 0 30px; padding:20px; background:#f5f5f2; border-left:4px solid var(--acid); }.service-example p { margin:0!important; color:#484a46!important; font-size:13px; line-height:1.65!important; }
.pricing-callout { padding:55px; background:var(--acid); display:grid; grid-template-columns:80px 1fr auto; gap:45px; align-items:center; }
.pricing-callout>span { font-size:10px; font-weight:850; text-transform:uppercase; letter-spacing:.15em; }.pricing-callout h2 { margin:0 0 8px; font-size:32px; letter-spacing:-.05em; }.pricing-callout p { margin:0; max-width:650px; line-height:1.65; }
.faq-section { display:grid; grid-template-columns:.6fr 1fr; gap:10%; }.faq-section h2 { margin:0; font-size:52px; letter-spacing:-.06em; }.faq-list { border-top:1px solid var(--line); }
.faq-list details { border-bottom:1px solid var(--line); }.faq-list summary { padding:25px 0; cursor:pointer; list-style:none; display:flex; justify-content:space-between; gap:20px; font-size:18px; font-weight:700; }.faq-list summary::-webkit-details-marker { display:none; }.faq-list summary span { font-size:24px; font-weight:400; }.faq-list details[open] summary span { transform:rotate(45deg); }.faq-list details p { margin:0 0 24px; padding-right:45px; color:var(--muted); line-height:1.7; }
.portfolio-section { padding-block:40px 115px; }.filter-bar { display:flex; flex-wrap:wrap; gap:8px; padding-bottom:35px; }.filter-bar button { min-height:41px; padding:0 18px; border:1px solid var(--line); background:transparent; border-radius:999px; cursor:pointer; color:#5f625b; font-size:12px; font-weight:750; }.filter-bar button:hover,.filter-bar button.active { background:var(--ink); border-color:var(--ink); color:white; }
.portfolio-grid { display:grid; grid-template-columns:1fr 1fr; gap:55px 30px; }.portfolio-item:nth-child(3n) { grid-column:1/-1; }.portfolio-item .project-visual { min-height:520px; }.portfolio-item:nth-child(3n) .project-visual { min-height:420px; }.portfolio-item .project-meta h2 { margin:0 0 5px; font-size:24px; }.empty-state { padding:70px 0; text-align:center; color:var(--muted); }
.project-detail-hero { padding-block:110px 75px; }.project-detail-hero>h1 { margin:0; font-size:clamp(82px,12vw,168px); line-height:.82; letter-spacing:-.095em; }.project-detail-meta { margin-top:75px; display:grid; grid-template-columns:1fr 1fr; gap:10%; align-items:start; }.project-detail-meta>p { margin:0; max-width:600px; font-size:24px; line-height:1.45; letter-spacing:-.025em; }.project-detail-meta dl { margin:0; display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }.project-detail-meta dl div { border-top:1px solid var(--line); padding-top:13px; }.project-detail-meta dt { margin-bottom:7px; color:#898d84; font-size:9px; text-transform:uppercase; letter-spacing:.15em; }.project-detail-meta dd { margin:0; font-size:12px; }
.case-visual { min-height:75vh; display:flex; align-items:center; justify-content:center; overflow:hidden; }.case-visual span { font-size:clamp(180px,36vw,540px); font-weight:900; line-height:.7; letter-spacing:-.15em; }.case-copy { padding-block:110px; display:grid; grid-template-columns:.75fr 1fr; gap:10%; }.case-copy h2 { margin:0; max-width:500px; font-size:50px; line-height:1.05; letter-spacing:-.06em; }.case-copy>div:last-child>p { margin:0 0 22px; color:var(--muted); font-size:17px; line-height:1.8; }.case-copy .button { margin-top:25px; }.next-project { padding-block:40px 90px; border-top:1px solid var(--line); }.next-project>span { color:#888c83; font-size:10px; text-transform:uppercase; letter-spacing:.15em; }.next-project a { margin-top:20px; display:flex; justify-content:space-between; font-size:clamp(40px,6vw,80px); font-weight:750; letter-spacing:-.06em; }.next-project b { font-weight:400; }
.news-grid { padding-block:45px 115px; display:grid; grid-template-columns:repeat(2,1fr); gap:70px 32px; }.news-grid .article-cover { aspect-ratio:1.65; }.news-grid .article-card h2 { margin:13px 0 10px; font-size:31px; line-height:1.15; letter-spacing:-.045em; }.read-more { display:inline-flex; gap:20px; margin-top:15px; font-size:13px; font-weight:750; border-bottom:1px solid var(--ink); padding-bottom:5px; }
.article-hero { max-width:1000px; padding-block:100px 70px; text-align:center; }.article-hero>a { display:inline-block; margin-bottom:40px; color:var(--muted); font-size:12px; font-weight:700; }.article-hero .article-date { margin:0 0 20px; }.article-hero h1 { margin:0; font-size:clamp(60px,7.5vw,105px); line-height:.94; letter-spacing:-.07em; }.article-hero>p { max-width:730px; margin:30px auto 0; color:var(--muted); font-size:19px; line-height:1.65; }.article-banner { width:min(calc(100% - 40px),1240px); min-height:550px; margin:auto; display:flex; align-items:center; justify-content:center; overflow:hidden; }.article-banner b { font-size:clamp(180px,30vw,440px); line-height:.75; letter-spacing:-.13em; }.article-body { max-width:760px; margin:90px auto; padding-inline:20px; color:#343730; font-family:Georgia,serif; font-size:18px; line-height:1.9; }.article-body .article-intro { font-size:24px; line-height:1.65; color:var(--ink); }.article-body h2 { margin:58px 0 16px; font-family:Inter,sans-serif; font-size:35px; line-height:1.15; letter-spacing:-.045em; }.article-body blockquote { margin:50px 0; padding:30px 0 30px 35px; border-left:5px solid var(--acid); font-size:27px; line-height:1.45; color:var(--ink); }.article-body li { margin-bottom:8px; }.article-cta { margin-bottom:100px; padding:55px; background:var(--acid); display:flex; align-items:center; justify-content:space-between; gap:30px; }.article-cta h2 { margin:0; font-size:43px; letter-spacing:-.055em; }
.about-manifesto { min-height:600px; background:var(--ink); color:white; display:flex; align-items:center; }.about-manifesto>div { display:grid; grid-template-columns:.55fr 1.2fr; gap:10%; align-items:center; }.about-manifesto span { color:var(--acid); font-size:clamp(100px,17vw,240px); font-weight:900; letter-spacing:-.12em; transform:rotate(-90deg); }.about-manifesto p { margin:0; font-size:clamp(38px,5vw,68px); line-height:1.08; letter-spacing:-.055em; }
.about-story { display:grid; grid-template-columns:.9fr 1fr; gap:10%; }.about-story h2 { margin:0; font-size:52px; line-height:1.06; letter-spacing:-.06em; }.about-story>div:last-child { color:var(--muted); font-size:17px; line-height:1.8; }.values-section { background:#f5f5f2; }.values-grid { display:grid; grid-template-columns:1fr 1fr; margin-top:55px; border-top:1px solid #d9d9d5; border-left:1px solid #d9d9d5; }.values-grid article { min-height:300px; padding:30px; border-right:1px solid #d9d9d5; border-bottom:1px solid #d9d9d5; display:flex; flex-direction:column; }.values-grid article>span { color:#868a81; font-size:10px; letter-spacing:.15em; }.values-grid h2 { margin:auto 0 10px; font-size:35px; letter-spacing:-.05em; }.values-grid p { margin:0; max-width:390px; color:var(--muted); line-height:1.65; }.about-quote { padding-block:120px; text-align:center; }.about-quote p { margin:0 auto 45px; font-family:Georgia,serif; font-size:clamp(50px,7vw,92px); line-height:1; letter-spacing:-.05em; }
.contact-page { padding-block:95px 115px; display:grid; grid-template-columns:.8fr 1.15fr; gap:9%; align-items:start; }.contact-intro { position:sticky; top:125px; }.contact-intro h1 { margin:0; font-size:clamp(68px,8vw,110px); line-height:.9; letter-spacing:-.075em; }.contact-intro>p { max-width:520px; color:var(--muted); font-size:17px; line-height:1.7; }.contact-details { margin-top:55px; display:grid; gap:25px; }.contact-details>div { display:grid; grid-template-columns:85px 1fr; gap:20px; }.contact-details span { color:#8c9086; font-size:9px; text-transform:uppercase; letter-spacing:.14em; }.contact-details a,.contact-details p { margin:0; font-size:14px; }.form-panel { padding:32px; background:white; border:1px solid #dddcd4; box-shadow:12px 12px 0 var(--acid); }.form-panel-top { margin-bottom:35px; padding-bottom:20px; border-bottom:1px solid #e5e4dc; display:flex; justify-content:space-between; color:#8a8d85; font-size:9px; font-weight:750; text-transform:uppercase; letter-spacing:.15em; }.contact-form { display:flex; flex-direction:column; gap:22px; }.field-row { display:grid; grid-template-columns:1fr 1fr; gap:18px; }.contact-form label { display:flex; flex-direction:column; gap:8px; font-size:11px; font-weight:750; }.contact-form small { color:#8a8d85; font-weight:400; }.contact-form input,.contact-form select,.contact-form textarea { width:100%; border:1px solid #d8d7d0; background:#fafafa; padding:14px; outline:none; border-radius:0; color:var(--ink); }.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus { border-color:var(--ink); box-shadow:0 0 0 2px rgba(255,77,0,.22); }.contact-form textarea { resize:vertical; }.contact-form .consent { flex-direction:row; align-items:flex-start; color:var(--muted); font-weight:400; line-height:1.5; }.contact-form .consent input { width:17px; height:17px; margin:2px 0 0; }.contact-form .button { align-self:flex-start; border:0; cursor:pointer; }.form-success { min-height:500px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }.form-success>span { width:70px; height:70px; border-radius:50%; background:var(--acid); display:grid; place-items:center; font-size:28px; }.form-success h2 { max-width:430px; margin:25px 0 8px; font-size:34px; letter-spacing:-.045em; }.form-success p { color:var(--muted); }.form-success button { margin-top:20px; border:0; border-bottom:1px solid var(--ink); background:transparent; cursor:pointer; }
.legal-page { max-width:900px; padding-block:100px; }.legal-page h1 { margin:0 0 65px; font-size:clamp(60px,8vw,100px); letter-spacing:-.075em; }.legal-page section { max-width:680px; margin-left:auto; }.legal-page h2 { margin:42px 0 10px; font-size:25px; letter-spacing:-.035em; }.legal-page p { color:var(--muted); line-height:1.75; }.not-found { min-height:75vh; padding-block:90px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }.not-found>span { color:var(--acid); font-size:120px; font-weight:900; line-height:.8; text-shadow:2px 2px 0 var(--ink); }.not-found h1 { margin:35px 0 20px; font-size:clamp(55px,7vw,90px); line-height:.95; letter-spacing:-.07em; }.not-found p { color:var(--muted); }.not-found .button { margin-top:25px; }
@media (max-width:1024px) {
  .page-hero { grid-template-columns:1.2fr .7fr; }.detail-row { grid-template-columns:55px .75fr 1fr; gap:35px; }.pricing-callout { grid-template-columns:1fr auto; }.pricing-callout>span { display:none; }.project-detail-meta { grid-template-columns:1fr .8fr; }.about-manifesto span { font-size:140px; }
}
@media (max-width:767px) {
  .page-hero { padding-block:75px 55px; grid-template-columns:1fr; gap:35px; }.page-hero h1 { font-size:clamp(58px,16vw,78px); }.page-hero>p { font-size:16px; }.detail-list { padding-bottom:70px; }.detail-row { padding:44px 0; grid-template-columns:36px 1fr; gap:12px; }.detail-row>div:last-child { grid-column:2; }.detail-row h2 { font-size:32px; }.detail-row ul { grid-template-columns:1fr; }.pricing-callout { width:auto; margin-inline:14px; padding:35px 25px; grid-template-columns:1fr; }.pricing-callout .button { justify-self:start; }.faq-section { grid-template-columns:1fr; gap:40px; }.faq-section h2 { font-size:44px; }
  .portfolio-section { padding-bottom:75px; }.portfolio-grid { grid-template-columns:1fr; gap:45px; }.portfolio-item:nth-child(3n) { grid-column:auto; }.portfolio-item .project-visual,.portfolio-item:nth-child(3n) .project-visual { min-height:390px; }
  .project-detail-hero { padding-block:75px 55px; }.project-detail-hero>h1 { font-size:clamp(70px,24vw,108px); }.project-detail-meta { margin-top:50px; grid-template-columns:1fr; gap:35px; }.project-detail-meta>p { font-size:20px; }.project-detail-meta dl { grid-template-columns:1fr; }.case-visual { min-height:55vh; }.case-copy { padding-block:70px; grid-template-columns:1fr; gap:35px; }.case-copy h2 { font-size:42px; }.next-project { padding-bottom:70px; }
  .news-grid { grid-template-columns:1fr; padding-bottom:75px; }.news-grid .article-card h2 { font-size:27px; }.article-hero { padding-block:65px 45px; }.article-hero h1 { font-size:clamp(52px,15vw,75px); }.article-banner { width:calc(100% - 28px); min-height:340px; }.article-body { margin-block:60px; }.article-body .article-intro { font-size:21px; }.article-body blockquote { padding-left:22px; font-size:23px; }.article-cta { width:auto; margin:0 14px 70px; padding:35px 25px; flex-direction:column; align-items:flex-start; }.article-cta h2 { font-size:36px; }
  .about-manifesto { min-height:650px; }.about-manifesto>div { grid-template-columns:1fr; gap:55px; }.about-manifesto span { font-size:105px; transform:none; }.about-manifesto p { font-size:42px; }.about-story { grid-template-columns:1fr; gap:35px; }.about-story h2 { font-size:43px; }.values-grid { grid-template-columns:1fr; }.values-grid article { min-height:240px; }.about-quote { padding-block:80px; }
  .contact-page { padding-block:70px; grid-template-columns:1fr; gap:60px; }.contact-intro { position:static; }.contact-intro h1 { font-size:clamp(68px,20vw,92px); }.form-panel { padding:25px 18px; box-shadow:8px 8px 0 var(--acid); }.field-row { grid-template-columns:1fr; }.legal-page { padding-block:70px; }.legal-page section { margin-left:0; }
}
