/* ==========================================================================
   Bits of Brand — site stylesheet
   Ported 1:1 from the original Horizons build (src/index.css).
   1: resets the original got from Tailwind "preflight" + WordPress neutralisers
   2: the original stylesheet (type selectors adapted for WordPress blocks)
   3: WordPress-only additions
   ========================================================================== */

/* --- 1. Preflight + WordPress neutralisers -------------------------------- */
*, ::before, ::after { box-sizing: border-box; border-width: 0; border-style: solid; border-color: currentColor; }
html { -webkit-text-size-adjust: 100%; tab-size: 4; line-height: 1.5; }
h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; }
blockquote, dl, dd, h1, h2, h3, h4, h5, h6, hr, figure, p, pre { margin: 0; }
ol, ul, menu { list-style: none; margin: 0; padding: 0; }
img, svg, video, canvas, audio, iframe, embed, object { display: block; vertical-align: middle; }
img, video { max-width: 100%; height: auto; }
b, strong { font-weight: bolder; }
table { text-indent: 0; border-color: inherit; border-collapse: collapse; }
button, [role="button"] { cursor: pointer; }
summary { display: list-item; }
[hidden] { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0; }

/* Original <span> elements are stored as <p class="bob-s"> so they stay editable in the block editor. */
:where(p.bob-s) { display: inline; }
:where(p.bob-c) { display: contents; }
/* WordPress block wrappers should not add their own spacing */
figure.wp-block-image { margin: 0; }
.wp-block-image figcaption { margin: 0; }
.wp-block-image img { box-sizing: border-box; vertical-align: middle; }
.wp-block-list { padding: 0; }
.wp-site-blocks > * { margin-block-start: 0; }

/* --- 2. Original stylesheet ---------------------------------------------- */
:root {--background: 0 0% 100%; --foreground: 111 12% 12%;
    --card: 0 0% 100%; --card-foreground: 111 12% 12%;
    --popover: 0 0% 100%; --popover-foreground: 111 12% 12%;
    --primary: 18 60% 49%; --primary-foreground: 0 0% 100%;
    --secondary: 220 18% 97%; --secondary-foreground: 111 12% 12%;
    --muted: 220 18% 97%; --muted-foreground: 0 0% 39%;
    --accent: 220 18% 97%; --accent-foreground: 111 12% 12%;
    --destructive: 0 70% 45%; --destructive-foreground: 0 0% 100%;
    --border: 111 8% 82%; --input: 111 8% 82%; --ring: 18 60% 49%; --radius: 0.125rem;
    --ink: #1b211a; --orange: #c65f32; --paper: #ffffff; --wash: #f5f6f8;
    --body: #464646; --secondary-text: #646464; --rule: rgba(27,33,26,0.25);
    --display-font: 'Montserrat', sans-serif; --editorial-font: 'Cormorant Garamond', Georgia, serif; --body-font: 'Manrope', sans-serif;}
* {box-sizing: border-box;}
html {scroll-behavior: smooth; scroll-padding-top: 112px;}
body {margin: 0; font-family: var(--body-font); background: var(--paper); color: var(--ink); font-size: 15px; line-height: 1.8; -webkit-font-smoothing: antialiased; overflow-x: clip;}
html[lang="zh-CN"] body {font-family: 'Noto Sans SC', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', var(--body-font);}
html[lang="zh-CN"] h1, html[lang="zh-CN"] h2, html[lang="zh-CN"] h3 {font-family: 'Noto Serif SC', 'Songti SC', 'STSong', var(--editorial-font); letter-spacing: 0;}
h1,h2,h3,h4,p:not(:where(.bob-s)),figure {margin: 0;}
h1,h2 {font-family: var(--editorial-font); font-weight: 500; letter-spacing: -0.035em; line-height: 1.05;}
h2 {font-size: clamp(42px,4.3vw,64px);}
h3 {font-family: var(--editorial-font); font-weight: 500; line-height: 1.15;}
em {font-weight: 400;}
p:not(:where(.bob-s)) {color: var(--body);}
img {display: block; max-width: 100%;}
a {color: inherit; text-decoration: none;}
button,input,textarea,select {font: inherit;}
button {cursor: pointer;}
button,a {-webkit-tap-highlight-color: transparent;}
button {background: none; color: inherit; border: 0;}
button:active,.primary-link:active {transform: translateY(1px);}
a,button {transition: color 180ms ease-out, background 180ms ease-out, transform 180ms ease-out;}
:focus-visible {outline: 2px solid var(--orange); outline-offset: 5px;}
::selection {color: var(--paper); background: var(--orange);}
.rail {width: calc(100% - 128px); max-width: 1280px; margin-inline: auto;}
.section-space {padding-block: 104px;}
.eyebrow {font-family: var(--display-font); font-size: 10px; font-weight: 600; line-height: 1.5; letter-spacing: 0.1em; text-transform: uppercase;}
.italic-note {font-family: var(--editorial-font); font-size: 19px; font-style: italic; line-height: 1.4; color: var(--secondary-text);}
.small-link {display: inline-flex; gap: 8px; align-items: center; font-size: 11px;}
.small-link:hover,.text-link:hover {color: var(--orange);}
.text-link {display: inline-flex; align-items: center; justify-content: space-between; gap: 28px; border-bottom: 1px solid var(--ink); padding-block: 10px; font-family: var(--display-font); font-size: 11px; font-weight: 500;}
.primary-link {display: inline-flex; align-items: center; justify-content: space-between; gap: 28px; min-height: 50px; padding: 14px 22px; background: var(--orange); color: var(--paper); font-family: var(--display-font); font-size: 11px; font-weight: 500; line-height: 1.6;}
.primary-link:hover {background: var(--ink); color: var(--paper);}
.skip-link {position: fixed; top: -100px; left: 20px; padding: 10px 20px; background: var(--ink); color: var(--paper); z-index: 60;}
.skip-link:focus {top: 10px;}
.proposal-bar {min-height: 32px; background: var(--wash); border-bottom: 1px solid var(--rule); padding: 6px 64px; display: flex; justify-content: space-between; align-items: center; gap: 16px; font-size: 9px; line-height: 1.5;}
.proposal-bar > :where(span,.bob-s),.proposal-bar a {display: inline-flex; align-items: center; gap: 7px;}
.status-dot {display: inline-block; width: 5px; height: 5px; background: var(--orange); border-radius: 50%;}
.site-header {height: 88px; padding: 0 64px; background: var(--paper); display: flex; align-items: center; gap: 40px; border-bottom: 1px solid var(--rule); position: sticky; top: 0; z-index: 30;}
.brand-logo {flex-shrink: 0; width: 168px;}
.brand-logo img {width: 168px; height: 56px; object-fit: contain;}
.header-descriptor {font-family: var(--display-font); font-size: 9px; line-height: 1.7; letter-spacing: 0.09em; color: var(--secondary-text);}
.desktop-nav {display: flex; gap: 30px; margin-left: auto; align-items: center; font-family: var(--display-font); font-size: 12px;}
.desktop-nav a {position: relative; padding-block: 15px;}
.desktop-nav a:hover,.desktop-nav a.active {color: var(--orange);}
.desktop-nav a.active::after {content: ''; height: 2px; width: 16px; background: var(--orange); position: absolute; bottom: 5px; left: 0;}
.language-nav {display: flex; gap: 8px; align-items: center; padding-left: 24px; border-left: 1px solid var(--rule); font-size: 10px;}
.language-nav :where(span,.bob-s) {color: var(--secondary-text);}
.language-nav a[aria-current='page'] {font-weight: 600;}
.menu-toggle {display: none; width: 44px; height: 44px; align-items: center; justify-content: center;}
.mobile-nav {display: none;}
.navigation-pending {position: fixed; right: 22px; top: 100px; padding: 8px 18px; background: var(--ink); color: var(--paper); font-size: 12px; z-index: 40;}
.hero {padding-top: 40px; padding-bottom: 88px; background: var(--paper);}
.hero .rail {width: calc(100% - 128px);}
.hero-eyebrow {display: flex; justify-content: space-between; align-items: center; gap: 20px; padding-bottom: 28px; border-bottom: 1px solid var(--rule);}
.hero-eyebrow > .eyebrow {color: var(--orange);}
.hero-editorial {display: grid; grid-template-columns: minmax(0,55fr) minmax(0,45fr); gap: 72px; align-items: center; padding-block: 56px 16px;}
.hero-copy {max-width: 620px;}
.hero-intro-line {display: block; font-family: var(--display-font); font-size: 11px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--orange); margin-bottom: 28px;}
.hero-title {font-family: var(--editorial-font); font-size: clamp(40px,4.6vw,68px); font-weight: 500; letter-spacing: -0.02em; line-height: 1.08; color: var(--ink);}
.hero-accent {color: var(--orange); font-style: italic;}
.hero-paragraph {max-width: 440px; margin-top: 28px; font-size: 15px; line-height: 1.8; color: var(--body);}
.hero-actions {display: flex; flex-direction: column; align-items: flex-start; gap: 20px; margin-top: 40px;}
.hero-actions .primary-link {width: auto;}
.hero-secondary-link {border-bottom: 1px solid var(--ink); padding: 6px 0; font-family: var(--display-font); font-size: 11px; font-weight: 500; letter-spacing: 0.04em;}
.hero-figure {position: relative; margin: 0;}
.hero-figure img {width: 100%; aspect-ratio: 4/5; object-fit: cover; object-position: 50% 42%;}
.hero-figure figcaption {display: flex; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--rule); padding: 12px 0; font-size: 9px;}
.proof {display: grid; grid-template-columns: repeat(3,minmax(0,1fr)) minmax(0,1fr); border-top: 1px solid var(--ink); border-bottom: 1px solid var(--rule); padding-block: 30px;}
.proof > div {border-right: 1px solid var(--rule); padding-inline: 26px;}
.proof > div:first-child {padding-left: 0;}
.proof > div:last-child {border: 0;}
.proof strong {font-family: var(--display-font); font-size: 56px; letter-spacing: -0.065em; line-height: 1.3; font-weight: 500;}
.proof strong :where(span,.bob-s) {font-size: 34px; font-weight: 400;}
.proof .eyebrow {display: block; max-width: 180px; font-size: 9px; margin-top: 7px;}
.proof-note {align-content: center;}
.proof-note p:not(:where(.bob-s)) {font-family: var(--editorial-font); font-size: 28px; line-height: 1.1; color: var(--ink);}
.proof-note .italic-note {font-size: 16px; display: block; margin-top: 10px;}
.section-label {display: flex; gap: 30px; padding-top: 14px; border-top: 1px solid var(--rule); font-family: var(--display-font); font-size: 10px; line-height: 1.5; letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 48px;}
.section-label > :where(span,.bob-s):first-child {color: var(--orange); min-width: 48px;}
.perspective-layout {display: grid; grid-template-columns: 1fr 1fr; gap: 90px; align-items: center;}
.perspective-copy h2 {margin: 24px 0;}
.perspective-copy p:not(:where(.bob-s)) {max-width: 430px; margin-bottom: 26px;}
.framed-image {border: 1px solid var(--ink); padding: 10px; position: relative;}
.framed-image img {width: 100%; aspect-ratio: 4/3; object-fit: cover;}
.broken-frame {border-right: 0; border-bottom: 0; box-shadow: 10px 10px 0 var(--wash);}
.broken-frame figcaption {position: absolute; right: 0; bottom: -38px;}
.section-heading {display: flex; justify-content: space-between; align-items: flex-end; gap: 64px; margin-bottom: 42px;}
.section-heading p:not(:where(.bob-s)) {max-width: 380px; font-size: 14px;}
.services-section {background: var(--wash);}
.service-list {margin-top: 40px; border-bottom: 1px solid var(--rule);}
.service-row {display: grid; grid-template-columns: 48px 1.15fr 1fr 56px; gap: 32px; align-items: center; padding: 32px 0; border-top: 1px solid var(--rule);}
.service-number {font-family: var(--editorial-font); font-size: 22px; font-style: italic; color: var(--secondary-text);}
.service-row h3 {font-family: var(--display-font); font-size: 28px; font-weight: 500; letter-spacing: -0.035em;}
.service-row p:not(:where(.bob-s)) {font-size: 13px; line-height: 1.8;}
.round-arrow {border: 1px solid var(--rule); width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; border-radius: 50%; transition: background 180ms ease-out;}
.service-row:hover h3 {color: var(--orange);}
.service-row:hover .round-arrow {background: var(--ink); color: var(--paper);}
.service-footnote {display: block; margin-top: 20px;}
.founder-layout {display: grid; grid-template-columns: minmax(0,44fr) minmax(0,56fr); gap: 88px; align-items: center;}
.founder-image img {width: 100%; aspect-ratio: 1; object-fit: cover; object-position: center;}
.founder-image figcaption {border-top: 1px solid var(--ink); padding-top: 10px; margin-top: 12px;}
.founder-copy h2 {margin-bottom: 24px;}
.founder-copy p:not(:where(.bob-s)) {max-width: 520px; margin-top: 24px; font-size: 14px; line-height: 1.9;}
.founder-copy .text-link {margin-top: 26px;}
.process-section {padding-top: 0;}
.process-layout {display: grid; grid-template-columns: minmax(0,35fr) minmax(0,65fr); gap: 72px;}
.process-photo {padding-bottom: 42px;}
.process-photo img {width: 100%; height: 100%; aspect-ratio: 3/4; object-fit: cover;}
.process-list {display: grid; grid-template-columns: 1fr 1fr; gap: 32px 42px; margin-top: 38px;}
.process-list > div {padding-top: 15px; border-top: 1px solid var(--rule);}
.process-list h3 {font-size: 30px; margin-block: 15px 12px; text-transform: capitalize;}
.process-list p:not(:where(.bob-s)) {font-size: 13px;}
.journal {padding-top: 0;}
.journal-grid {display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px;}
.journal-image {display: block; position: relative; overflow: hidden;}
.journal-image img {width: 100%; aspect-ratio: 4/3; object-fit: cover; transition: transform 200ms ease-out;}
.journal-item:last-child .journal-image img {object-position: 50% 28%;}
.image-link {position: absolute; bottom: 0; right: 0; display: flex; width: 42px; height: 42px; align-items: center; justify-content: center; background: var(--paper);}
.journal-image:hover img {transform: scale(1.025);}
.journal-meta {display: flex; justify-content: space-between; gap: 14px; color: var(--secondary-text); margin: 19px 0 12px;}
.journal-item h3 {font-size: 30px;}
.journal-item h3 a:hover {color: var(--orange);}
.journal-date {font-size: 10px; color: var(--secondary-text); margin-top: 16px;}
.journal-cta {display: flex; flex-direction: column; gap: 18px; padding: 28px; background: var(--orange); color: var(--paper); transition: background 180ms ease-out;}
.journal-cta:hover {background: var(--ink);}
.journal-cta-label {color: var(--paper); opacity: 0.9;}
.journal-cta-headline {font-family: var(--editorial-font); font-size: 30px; font-weight: 500; line-height: 1.15; color: var(--paper);}
.journal-cta-text {font-size: 13px; line-height: 1.7; color: rgba(255,255,255,0.92);}
.journal-cta-button {display: inline-flex; align-items: center; gap: 10px; font-family: var(--display-font); font-size: 11px; font-weight: 500; letter-spacing: 0.04em; text-transform: uppercase; padding-top: 16px; margin-top: auto; border-top: 1px solid rgba(255,255,255,0.3);}
.directory-section {background: var(--ink); color: var(--paper); padding-block: 80px;}
.directory-layout {display: grid; grid-template-columns: minmax(0,40fr) minmax(0,60fr); gap: 110px; align-items: center;}
.directory-cover {padding: 12px; border: 1px solid rgba(255,255,255,0.3); box-shadow: 10px 10px 0 var(--orange); max-width: 350px; margin-inline: auto;}
.directory-cover img {width: 100%; height: auto;}
.directory-copy > .eyebrow {color: var(--paper);}
.directory-copy h2 {margin-block: 20px 25px;}
.directory-copy h3 {font-size: 25px; margin-bottom: 16px;}
.directory-copy p:not(:where(.bob-s)) {color: var(--paper); font-size: 13px; max-width: 540px;}
.integration-tag {font-family: var(--display-font); font-size: 9px; text-transform: uppercase; letter-spacing: 0.07em; display: inline-flex; align-items: center; gap: 7px; padding: 7px 10px; border: 1px dashed currentColor; line-height: 1.5;}
.directory-copy .integration-tag {margin-top: 24px;}
.directory-form-preview {display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 14px; margin: 20px 0 10px;}
label {font-size: 11px; color: var(--ink); display: block; margin-bottom: 8px;}
input,textarea,select {width: 100%; border: 1px solid var(--rule); border-radius: 0; padding: 12px; color: var(--ink); background: var(--paper); min-height: 44px; font-size: 13px;}
input::placeholder,textarea::placeholder {color: var(--secondary-text); opacity: 1;}
input:disabled {cursor: not-allowed; opacity: 0.8;}
.directory-copy label {color: var(--paper); font-size: 10px;}
.directory-copy input {min-width: 0; font-size: 11px; padding: 10px;}
.integration-caption {font-size: 10px; color: var(--secondary-text); line-height: 1.8;}
.directory-copy .integration-caption {font-size: 10px; margin-bottom: 20px;}
.preview-notice {padding: 12px 16px; border-left: 2px solid var(--orange); margin-top: 16px; font-size: 12px; line-height: 1.7;}
.integration-heading {display: flex; justify-content: space-between; align-items: flex-end; gap: 30px; margin-bottom: 32px;}
.integration-heading h2 {margin-top: 24px; font-size: 48px;}
.feed-placeholder {display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 14px;}
.feed-placeholder > div {display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 18px; aspect-ratio: 4/5; border: 1px dashed var(--rule); color: var(--secondary-text); background: var(--wash);}
.feed-placeholder .eyebrow {font-size: 8px;}
.instagram-area > p:not(:where(.bob-s)) {margin-top: 18px;}
.instagram-embeds {display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px;}
.instagram-embeds .instagram-media {background: var(--paper) !important; border: 1px solid var(--rule) !important; border-radius: 0 !important; margin: 0 !important; min-width: 0 !important; max-width: none !important; width: 100% !important;}
.instagram-embeds .instagram-media > div {width: 100%;}
.consent-check {display: flex; gap: 10px; align-items: flex-start; margin-top: 16px; cursor: pointer;}
.consent-check input {width: auto; min-height: auto; margin: 4px 0 0; flex-shrink: 0; cursor: pointer;}
.consent-check :where(span,.bob-s) {font-size: 11px; line-height: 1.6; color: var(--secondary-text);}
.consent-check a {text-decoration: underline;}
.consent-check a:hover {color: var(--orange);}
.newsletter-form .newsletter-input button:disabled {opacity: 0.6; cursor: not-allowed;}
.newsletter-success {display: flex; align-items: center; gap: 12px; font-family: var(--editorial-font); font-size: 22px; line-height: 1.3; color: var(--ink);}
@media (max-width: 1024px) {.instagram-embeds {grid-template-columns: repeat(2,minmax(0,1fr));}
 }
@media (max-width: 767px) {.instagram-embeds {grid-template-columns: 1fr; gap: 18px;}
 }
.newsletter-area {display: grid; grid-template-columns: 1fr 1fr; gap: 80px; padding: 48px; background: var(--wash); border-top: 1px solid var(--rule);}
.newsletter-area h2 {font-size: 44px; margin-block: 22px 16px;}
.newsletter-area p:not(:where(.bob-s)) {font-size: 13px;}
.preview-form {align-self: center;}
.newsletter-input {display: flex; border-bottom: 1px solid var(--ink);}
.newsletter-input input {background: transparent; border: 0; padding-left: 0;}
.newsletter-input button {display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; flex-shrink: 0;}
.newsletter-area .integration-caption {font-size: 10px; margin-top: 12px;}
.keep-in-touch {display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 80px; align-items: center; border-top: 1px solid var(--rule);}
.keep-in-touch-copy .eyebrow {color: var(--orange);}
.keep-in-touch-copy h2 {margin-block: 22px 18px;}
.keep-in-touch-copy p:not(:where(.bob-s)) {max-width: 420px; font-size: 14px;}
.keep-in-touch-links {list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 22px;}
.keep-in-touch-links a {display: flex; align-items: center; gap: 22px; padding-block: 22px; border-top: 1px solid var(--rule);}
.keep-in-touch-links li:last-child a {border-bottom: 1px solid var(--rule);}
.keep-in-touch-icon {display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; flex-shrink: 0; border: 1px solid var(--rule); border-radius: 50%;}
.keep-in-touch-label {display: flex; align-items: center; gap: 12px; font-family: var(--display-font); font-size: 13px; font-weight: 500; letter-spacing: 0.02em;}
.keep-in-touch-links a:hover {color: var(--orange);}
.keep-in-touch-links a:hover .keep-in-touch-icon {border-color: var(--orange); color: var(--orange);}
@media (max-width: 1024px) {.keep-in-touch {gap: 48px;}
 }
@media (max-width: 767px) {.keep-in-touch {grid-template-columns: 1fr; gap: 36px;}
.keep-in-touch-links {gap: 16px;}
.keep-in-touch-links a {gap: 16px; padding-block: 18px;}
.keep-in-touch-copy h2 {font-size: 38px;}
 }
.contact-cta {display: flex; justify-content: space-between; align-items: center; gap: 30px; padding-block: 100px;}
.contact-cta h2 {font-size: clamp(50px,5.8vw,82px); margin-top: 22px;}
.contact-cta em {color: var(--orange);}
.cta-arrow {display: flex; width: 120px; height: 120px; align-items: center; justify-content: center; border: 1px solid var(--ink); border-radius: 50%;}
.cta-arrow:hover {background: var(--orange); color: var(--paper); border-color: var(--orange); transform: translate(2px,-2px);}
.asset-placeholder {display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 14px; width: 100%; background: var(--wash); border: 1px dashed var(--rule); text-align: center; padding: 24px;}
.asset-placeholder-eyebrow {color: var(--orange);}
.asset-placeholder-label {font-family: var(--editorial-font); font-size: 22px; font-style: italic; line-height: 1.3; color: var(--secondary-text); max-width: 320px;}
.featured-case {display: grid; grid-template-columns: minmax(0,55fr) minmax(0,45fr); gap: 80px; align-items: center;}
.featured-case-copy > .eyebrow {display: block; margin-bottom: 18px;}
.featured-case-copy h2 {font-size: clamp(40px,4vw,60px); margin-bottom: 14px;}
.featured-case-client {font-family: var(--display-font); font-size: 13px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; color: var(--ink); margin-bottom: 24px;}
.featured-case-description {max-width: 520px; font-size: 14px; line-height: 1.85;}
.featured-case-figure {margin: 0;}
.featured-case-figure .asset-placeholder {aspect-ratio: 4/5;}
.case-results {display: flex; flex-wrap: wrap; gap: 40px; margin-top: 36px; border-top: 1px solid var(--rule); padding-top: 28px;}
.case-result {display: flex; flex-direction: column; gap: 8px;}
.case-result strong {font-family: var(--display-font); font-size: 48px; font-weight: 500; letter-spacing: -0.05em; line-height: 1; color: var(--ink);}
.case-result .eyebrow {font-size: 9px; max-width: 180px;}
.case-results-inline {gap: 36px 48px; margin-top: 28px; padding-top: 24px;}
.case-results-inline .case-result strong {font-size: 34px;}
.case-delivered {margin-top: 28px;}
.case-delivered > .eyebrow {display: block; margin-bottom: 10px;}
.case-delivered p:not(:where(.bob-s)) {font-size: 13px; color: var(--ink);}
.case-coverage {margin-top: 24px;}
.case-coverage > .eyebrow {display: block; margin-bottom: 10px;}
.case-coverage p:not(:where(.bob-s)) {font-size: 13px; line-height: 1.8; color: var(--body);}
.case-studies {padding-top: 0;}
.case-study {display: grid; grid-template-columns: minmax(0,45fr) minmax(0,55fr); gap: 72px; align-items: center; border-top: 1px solid var(--rule); padding-block: 72px;}
.case-study[data-reverse='true'] {grid-template-columns: minmax(0,55fr) minmax(0,45fr);}
.case-study[data-reverse='true'] .case-study-figure {grid-column: 2; grid-row: 1;}
.case-study[data-reverse='true'] .case-study-copy {grid-column: 1; grid-row: 1;}
.case-study-figure {margin: 0;}
.case-study-media {width: 100%; overflow: hidden;}
.case-study-media iframe {width: 100%; height: 100%; border: 0; display: block;}
.case-study-copy > .eyebrow {display: block; margin-bottom: 16px;}
.case-study-copy h2 {font-size: clamp(34px,3.4vw,48px); margin-bottom: 12px;}
.case-study-client {font-family: var(--display-font); font-size: 12px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; color: var(--ink); margin-bottom: 22px;}
.case-study-description {max-width: 480px; font-size: 14px; line-height: 1.85;}
.clients-section {border-top: 1px solid var(--rule);}
.clients-section h2 {font-size: clamp(38px,4vw,56px); margin-bottom: 48px;}
.clients-strip {list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 24px;}
.client-logo {display: flex; flex-direction: column; gap: 14px;}
.client-logo .asset-placeholder {aspect-ratio: 3/2; padding: 18px;}
.client-logo .asset-placeholder-label {font-size: 16px;}
.client-name {font-family: var(--display-font); font-size: 11px; font-weight: 500; letter-spacing: 0.02em; color: var(--secondary-text); text-align: center;}
.portfolio-cta {display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: 60px; align-items: center; border-top: 1px solid var(--ink);}
.portfolio-cta-copy > .eyebrow {display: block; margin-bottom: 18px;}
.portfolio-cta-copy h2 {font-size: clamp(42px,4.6vw,64px); margin-bottom: 18px;}
.portfolio-cta-copy p:not(:where(.bob-s)) {max-width: 440px; font-size: 15px;}
.portfolio-cta-actions {display: flex; flex-direction: column; align-items: flex-start; gap: 26px;}
.portfolio-cta-actions .primary-link {width: auto;}
.portfolio-cta-actions .text-link {max-width: 280px;}
@media (max-width: 1100px) {.featured-case {gap: 48px;}
.case-study {gap: 44px;}
.case-result strong {font-size: 40px;}
.clients-strip {grid-template-columns: repeat(3,minmax(0,1fr));}
 }
@media (max-width: 1024px) {.clients-strip {grid-template-columns: repeat(3,minmax(0,1fr));}
 }
@media (max-width: 767px) {.featured-case,.case-study,.case-study[data-reverse='true'] {grid-template-columns: 1fr; gap: 36px;}
.case-study[data-reverse='true'] .case-study-figure,.case-study[data-reverse='true'] .case-study-copy {grid-column: auto; grid-row: auto;}
.featured-case-figure {order: -1;}
.featured-case-copy h2 {font-size: 34px;}
.case-study-copy h2 {font-size: 30px;}
.case-result strong {font-size: 34px;}
.case-results-inline .case-result strong {font-size: 28px;}
.case-results {gap: 28px;}
.case-results-inline {gap: 24px 32px;}
.clients-strip {grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px;}
.clients-section h2 {font-size: 34px; margin-bottom: 32px;}
.portfolio-cta {grid-template-columns: 1fr; gap: 32px;}
.portfolio-cta-copy h2 {font-size: 38px;}
.asset-placeholder-label {font-size: 18px;}

}
.site-footer {background: var(--wash); padding: 48px 64px 18px;}
.footer-main {display: grid; grid-template-columns: 1fr 2fr 1fr; gap: 40px; align-items: center; max-width: 1280px; margin-inline: auto;}
.footer-main img {width: 180px; height: auto; mix-blend-mode: multiply;}
.footer-brand {display: flex; flex-direction: column; align-items: flex-start; gap: 22px;}
.footer-social {display: flex; flex-direction: column; gap: 12px;}
.footer-social a {display: inline-flex; align-items: center; gap: 10px; font-family: var(--display-font); font-size: 11px; font-weight: 500; letter-spacing: 0.02em; color: var(--body);}
.footer-social a:hover {color: var(--orange);}
.footer-main p:not(:where(.bob-s)) {font-size: 10px; line-height: 2;}
.footer-links {display: grid; grid-template-columns: 1fr 1fr; gap: 10px 24px; font-size: 11px;}
.footer-links a {display: flex; align-items: center; gap: 6px;}
.footer-bottom {max-width: 1280px; margin: 36px auto 0; border-top: 1px solid var(--rule); display: flex; justify-content: space-between; gap: 20px; padding-top: 16px; font-size: 9px; color: var(--secondary-text);}
.footer-legal {max-width: 1280px; margin-inline: auto; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 22px; padding-top: 26px; font-size: 11px;}
.footer-legal > :where(span,.bob-s) {font-family: var(--display-font); font-size: 10px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--secondary-text);}
.footer-legal a {color: var(--body);}
.footer-legal a:hover {color: var(--orange);}
.footer-bottom a {display: flex; align-items: center; gap: 7px;}
.page-intro {padding-block: 48px 72px;}
.page-intro .section-label {border-top: 0; padding-top: 0; margin-bottom: 48px;}
.page-intro h1 {font-size: clamp(60px,6vw,88px);}
.page-intro h1 em {color: var(--orange);}
.page-intro > p:not(:where(.bob-s)) {margin-top: 28px; max-width: 580px; font-size: 15px;}
.about-story-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: start;}
.about-story-grid .framed-image {position: sticky; top: 120px;}
.about-story-grid .framed-image img {aspect-ratio: 4/5;}
.about-story-grid figcaption {padding-top: 10px;}
.serif-copy {font-family: var(--editorial-font); font-size: 24px; line-height: 1.5;}
.serif-copy p:not(:where(.bob-s)) {margin-bottom: 24px;}
.press-proof {padding-block: 64px; border-top: 1px solid var(--rule); margin-top: 72px;}
.press-proof > div {display: flex; flex-wrap: wrap; gap: 16px 36px; font-family: var(--editorial-font); font-size: 32px; margin-top: 24px;}
.testimonial {text-align: center; padding-block: 68px; border-block: 1px solid var(--rule); max-width: 900px; margin-inline: auto;}
.quote-mark {font-family: var(--editorial-font); color: var(--orange); font-size: 110px; line-height: 0.6; display: block;}
.testimonial blockquote {font-family: var(--editorial-font); font-size: 48px; line-height: 1.12; font-weight: 400; margin: 20px 0 30px;}
.testimonial .italic-note {display: block; margin-top: 10px;}
.sector-layout {display: grid; grid-template-columns: minmax(0,40fr) minmax(0,60fr); gap: 60px; padding-top: 88px;}
.sector-layout ol {list-style: none; padding: 0; margin: 0;}
.sector-layout li {display: flex; gap: 28px; padding-block: 18px; border-top: 1px solid var(--rule); font-family: var(--editorial-font); font-size: 24px; line-height: 1.3;}
.sector-layout li .eyebrow {color: var(--orange); min-width: 32px;}
.service-detail {display: grid; grid-template-columns: minmax(0,55fr) minmax(0,45fr); gap: 80px; align-items: center; border-top: 1px solid var(--rule); padding-block: 72px;}
.service-detail:nth-child(even) {grid-template-columns: minmax(0,45fr) minmax(0,55fr);}
.service-detail:nth-child(even) .framed-image {grid-column: 1; grid-row: 1;}
.service-detail:nth-child(even) .service-detail-copy {grid-column: 2;}
.service-detail-copy > .eyebrow {color: var(--orange);}
.service-detail h2 {margin: 20px 0 24px;}
.service-detail p:not(:where(.bob-s)) {max-width: 500px; font-size: 14px; margin-bottom: 20px;}
.service-detail .service-lead {font-family: var(--editorial-font); font-size: 27px; line-height: 1.35;}
.service-detail .service-deliverables {font-size: 11px; color: var(--ink);}
.service-details + .process-section {padding-top: 40px;}
.service-framed {border-color: var(--ink); box-shadow: 9px 9px 0 var(--wash);}
.service-img {aspect-ratio: 4/3; object-position: 50% 38%; filter: saturate(1.06) contrast(1.03) brightness(0.99) sepia(0.07); transition: filter 240ms ease-out;}
.service-framed::after {content: ''; position: absolute; inset: 10px; background: linear-gradient(180deg, rgba(198,95,50,0.05), rgba(180,90,40,0.09)); mix-blend-mode: multiply; pointer-events: none;}
.service-detail:hover .service-img {filter: saturate(1.1) contrast(1.04) brightness(1) sepia(0.05);}
.contact-layout {display: grid; grid-template-columns: minmax(0,45fr) minmax(0,55fr); gap: 80px; padding-bottom: 100px;}
.contact-lead {font-family: var(--editorial-font); font-size: 32px; line-height: 1.2; margin-bottom: 32px;}
.contact-detail {padding-block: 20px; border-top: 1px solid var(--rule);}
.contact-detail a {font-family: var(--editorial-font); font-size: 28px; display: flex; align-items: center; justify-content: space-between; margin-top: 12px;}
.contact-detail p:not(:where(.bob-s)) {font-size: 13px; margin-top: 10px;}
.contact-information figure {margin-top: 25px;}
.contact-information figure img {width: 100%; aspect-ratio: 16/9; object-fit: cover; object-position: 50% 55%;}
.contact-form-wrap {padding: 32px; border: 1px solid var(--rule);}
.contact-form-wrap > .integration-caption {margin: 12px 0 28px;}
.contact-form input,.contact-form select,.contact-form textarea {margin-bottom: 22px;}
.form-two-col {display: grid; grid-template-columns: 1fr 1fr; gap: 20px;}
.contact-form textarea {resize: vertical;}
.contact-form .primary-link {width: 100%;}
.contact-layout + .newsletter-area {margin-bottom: 80px;}
.blog-tools {display: flex; justify-content: space-between; align-items: center; gap: 24px; border-block: 1px solid var(--rule); padding-block: 14px; margin-bottom: 42px;}
.blog-filters {display: flex; flex-wrap: wrap; gap: 12px;}
.blog-filters button {font-size: 11px; padding: 10px 14px; min-height: 44px;}
.blog-filters .selected {background: var(--ink); color: var(--paper);}
.blog-search {display: flex; align-items: center; gap: 12px; max-width: 250px; margin: 0;}
.blog-search input {background: transparent; border: 0; padding: 10px 0; font-size: 12px;}
.blog-posts {display: grid; grid-template-columns: 1fr 1fr; gap: 56px 40px;}
.blog-post.featured {grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0,55fr) minmax(0,45fr); gap: 48px; align-items: center; border-bottom: 1px solid var(--rule); padding-bottom: 48px;}
.blog-post-image img {aspect-ratio: 4/3; width: 100%; object-fit: cover;}
.blog-post h2 {font-size: 40px; margin-block: 20px;}
.blog-post.featured h2 {font-size: 48px;}
.blog-post p:not(:where(.bob-s)) {font-size: 13px; margin-bottom: 18px;}
.blog-post .journal-meta {font-size: 9px;}
.blog-index {padding-bottom: 90px;}
.blog-index + .newsletter-area {margin-bottom: 80px;}
.empty-state {text-align: center; padding-block: 60px;}
.empty-state p:not(:where(.bob-s)) {margin-block: 20px;}
.article-header {text-align: center; max-width: 960px; margin-inline: auto; padding-block: 45px 54px;}
.article-header > .small-link {margin-bottom: 38px;}
.article-meta {display: flex; justify-content: center; gap: 32px; margin-bottom: 20px; color: var(--secondary-text);}
.article-header h1 {font-size: clamp(50px,5.4vw,80px); margin-bottom: 24px;}
.article-hero img {width: 100%; max-height: 650px; aspect-ratio: 16/9; object-fit: cover;}
.article-hero figcaption {padding-top: 10px;}
.article-reading {display: grid; grid-template-columns: minmax(0,24fr) minmax(0,76fr); gap: 64px; padding-top: 64px;}
.article-aside {position: sticky; top: 120px; align-self: start;}
.article-aside nav {display: flex; flex-direction: column; gap: 14px; margin-block: 24px;}
.article-aside nav a {font-size: 11px; color: var(--secondary-text); line-height: 1.6;}
.article-aside nav a:hover {color: var(--orange);}
.article-aside .small-link {padding: 10px 0;}
.article-body {max-width: 720px; font-family: var(--editorial-font); font-size: 24px; line-height: 1.55;}
.article-body p:not(:where(.bob-s)) {margin-bottom: 24px;}
.article-body > section:first-child > p:not(:where(.bob-s)):first-child::first-letter {float: left; font-size: 94px; line-height: 0.75; padding: 12px 9px 0 0; color: var(--orange);}
.article-body h2 {font-size: 38px; margin-block: 44px 24px;}
.article-body ul {list-style: none; padding: 0; margin: 0 0 24px;}
.article-body li {position: relative; padding-left: 28px; margin-bottom: 14px;}
.article-body li::before {content: '—'; position: absolute; left: 0; color: var(--orange);}
.article-body a {color: var(--ink); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--rule); transition: color 180ms ease-out, text-decoration-color 180ms ease-out;}
.article-body a:hover {color: var(--orange); text-decoration-color: var(--orange);}
.article-author {display: flex; gap: 24px; align-items: center; border-top: 1px solid var(--rule); padding-top: 30px; margin-top: 50px;}
.article-author img {width: 70px; height: 70px; object-fit: cover;}
.article-author p:not(:where(.bob-s)) {margin: 5px 0; font-size: 25px;}
.related-articles {border-top: 1px solid var(--ink); margin-block: 70px; padding-top: 20px;}
.related-articles > a {display: flex; justify-content: space-between; gap: 28px; font-family: var(--editorial-font); font-size: 30px; line-height: 1.2; border-bottom: 1px solid var(--rule); padding-block: 24px;}
.related-articles > a svg {flex-shrink: 0;}
.related-articles > a:hover {color: var(--orange);}
.croatian-hero {padding-block: 42px 72px;}
.croatian-hero h1 {font-size: clamp(54px,6vw,88px); margin-bottom: 40px; max-width: 1000px;}
.croatian-hero h1 em {color: var(--orange);}
.croatian-story .founder-copy p:not(:where(.bob-s)) {font-size: 14px;}
.croatian-expectations {display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 32px; margin-top: 80px;}
.croatian-expectations > h2 {grid-column: 1 / -1; margin-bottom: 8px;}
.croatian-expectations > div {border-top: 1px solid var(--rule); padding-top: 20px;}
.croatian-expectations h3 {font-size: 30px; margin: 16px 0;}
.croatian-expectations p:not(:where(.bob-s)) {font-size: 13px;}
.croatian-contact {border-top: 1px solid var(--ink); padding-block: 70px;}
.croatian-contact h2 {margin-block: 28px;}
.croatian-contact em {color: var(--orange);}
.croatian-contact > p:not(:where(.bob-s)):not(.integration-caption) {max-width: 560px; margin-bottom: 28px;}
.croatian-contact .integration-caption {margin-top: 20px;}
.handover-section {padding-bottom: 90px;}
.handover-section > h2 {margin-bottom: 28px;}
.handover-section > p:not(:where(.bob-s)) {max-width: 760px;}
.colour-grid {display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 24px; margin-top: 42px;}
.colour-swatch {height: 110px; border: 1px solid var(--rule);}
.colour-spec h3 {font-size: 24px; margin-top: 18px;}
.colour-spec code {font-size: 11px;}
.colour-spec p:not(:where(.bob-s)) {font-size: 11px; margin-top: 10px;}
.handover-subheading {margin-block: 52px 24px; font-size: 34px;}
.table-scroll {overflow-x: auto;}
.spec-table {border-collapse: collapse; width: 100%; text-align: left; font-size: 11px; min-width: 690px;}
.spec-table th {font-family: var(--display-font); font-size: 10px; text-transform: uppercase; padding: 16px 12px; border-block: 1px solid var(--ink); font-weight: 500;}
.spec-table td {padding: 16px 12px; border-bottom: 1px solid var(--rule);}
.handover-notes {display: grid; grid-template-columns: 1fr 1fr; gap: 32px 48px; margin-top: 48px;}
.handover-notes h3 {font-size: 30px; margin-bottom: 15px;}
.handover-notes p:not(:where(.bob-s)) {font-size: 13px;}
.layout-guide {border-bottom: 1px solid var(--rule); margin-top: 40px;}
.layout-guide details {border-top: 1px solid var(--rule);}
.layout-guide summary {list-style: none; display: flex; align-items: center; gap: 28px; cursor: pointer; padding-block: 24px;}
.layout-guide summary::-webkit-details-marker {display: none;}
.layout-guide summary > .eyebrow {color: var(--orange);}
.layout-guide summary h3 {font-size: 30px;}
.details-plus {margin-left: auto; font-size: 26px;}
.layout-guide details[open] .details-plus {transform: rotate(45deg);}
.layout-guide-content {display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 30px; padding: 8px 0 30px 54px;}
.layout-guide-content p:not(:where(.bob-s)) {font-size: 12px; margin-top: 10px;}
.layout-guide-content > .text-link {grid-column: 1 / -1; justify-self: start;}
.implementation-steps {margin-top: 48px;}
.implementation-steps > div {display: grid; grid-template-columns: 48px 1fr; gap: 30px; padding-block: 26px; border-top: 1px solid var(--rule);}
.implementation-steps .eyebrow {color: var(--orange);}
.implementation-steps h3 {font-size: 30px; margin-bottom: 16px;}
.implementation-steps p:not(:where(.bob-s)) {font-size: 13px; max-width: 900px;}
.handover-callout {background: var(--wash); padding: 32px; border-left: 3px solid var(--orange); margin-block: 40px;}
.handover-callout h3 {font-size: 32px; margin-bottom: 20px;}
.handover-callout p:not(:where(.bob-s)) {font-size: 13px; margin-bottom: 15px;}
.handover-actions {display: flex; align-items: center; gap: 30px;}
.handover-actions p:not(:where(.bob-s)) {max-width: 420px;}
.asset-list {list-style: none; margin: 24px 0 0; padding: 0;}
.asset-list li {border-top: 1px solid var(--rule); padding-block: 10px;}
.asset-list a {display: flex; justify-content: space-between; gap: 24px; font-size: 12px;}
.asset-list a:hover {color: var(--orange);}
.asset-list :where(span,.bob-s) {overflow-wrap: anywhere;}
.not-found-actions {display: flex; gap: 40px; padding-bottom: 100px;}
.legal-updated {font-family: var(--display-font); font-size: 11px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--secondary-text); margin-top: 24px;}
.legal-body {max-width: 860px; padding-bottom: 100px;}
.legal-lead {font-family: var(--editorial-font); font-size: 24px; line-height: 1.4; color: var(--ink); margin-bottom: 40px;}
.legal-heading {font-family: var(--display-font); font-size: 22px; font-weight: 600; letter-spacing: -0.02em; line-height: 1.3; margin: 48px 0 18px;}
.legal-subheading {font-family: var(--display-font); font-size: 15px; font-weight: 600; letter-spacing: -0.01em; margin: 30px 0 12px; color: var(--ink);}
.legal-paragraph {font-size: 14px; line-height: 1.85; margin-bottom: 16px; white-space: pre-line; color: var(--body);}
.legal-list {list-style: none; padding: 0; margin: 0 0 18px;}
.legal-list li {position: relative; padding-left: 22px; margin-bottom: 8px; font-size: 14px; line-height: 1.7; color: var(--body);}
.legal-list li::before {content: '—'; position: absolute; left: 0; color: var(--orange);}
.legal-cookie-groups {display: flex; flex-direction: column; gap: 36px; margin: 32px 0;}
.legal-cookie-group {border-top: 1px solid var(--rule); padding-top: 22px;}
.legal-cookie-head {display: flex; justify-content: space-between; align-items: baseline; gap: 20px; flex-wrap: wrap;}
.legal-cookie-head h3 {font-family: var(--display-font); font-size: 18px; font-weight: 600;}
.legal-cookie-type {font-family: var(--display-font); font-size: 10px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--orange);}
.legal-cookie-shared {font-size: 12px; color: var(--secondary-text); margin: 8px 0 16px;}
.legal-cookie-table td:first-child {font-family: monospace; font-size: 11px; word-break: break-all;}
.legal-other {margin-top: 64px; border-top: 1px solid var(--ink); padding-top: 28px;}
.legal-other .text-link {margin-top: 14px;}
@media (max-width: 767px) {.legal-body {padding-bottom: 64px;}
.legal-lead {font-size: 21px;}
.legal-heading {font-size: 19px;}

}
@media (min-width: 1600px) {.hero-title {font-size: 76px;}
.hero-editorial {gap: 96px;}
 }
@media (max-width: 1100px) {.site-header {gap: 24px;}
.header-descriptor {display: none;}
.desktop-nav {gap: 24px;}
.hero-editorial {gap: 48px; padding-block: 44px 12px;}
.hero-paragraph {font-size: 14px;}
.primary-link {gap: 14px; padding-inline: 16px; font-size: 10px;}
.perspective-layout,.founder-layout {gap: 48px;}
.service-row {gap: 20px; grid-template-columns: 36px 1.15fr 1fr 48px;}
.service-row h3 {font-size: 24px;}
.process-layout {gap: 40px;}
.proof > div {padding-inline: 18px;}
.proof strong {font-size: 48px;}
.proof-note p:not(:where(.bob-s)) {font-size: 24px;}
.directory-layout {gap: 64px;}
.contact-layout {gap: 40px;}
.colour-grid {grid-template-columns: repeat(3,minmax(0,1fr));}
.service-detail {gap: 44px;}
.blog-post.featured h2 {font-size: 40px;}

}
@media (max-width: 1024px) {.rail {width: calc(100% - 64px);}
.site-header {padding-inline: 32px;}
.proposal-bar {padding-inline: 32px;}
.site-footer {padding-inline: 32px;}
.article-reading {gap: 36px;}
.hero-figure img {aspect-ratio: 4/3;}
.hero-paragraph {line-height: 1.75;}
.newsletter-area {gap: 40px; padding: 36px;}
.directory-form-preview {grid-template-columns: 1fr 1fr;}
.directory-form-preview > div:first-child {grid-column: 1 / -1;}
.feed-placeholder {grid-template-columns: repeat(3,minmax(0,1fr));}
.footer-main {grid-template-columns: 1fr 2fr;}
.footer-links {grid-column: 1 / -1; display: flex;}

}
@media (max-width: 767px) {.rail {width: calc(100% - 44px);}
.section-space {padding-block: 64px;}
.proposal-bar {padding: 7px 22px; min-height: 31px; font-size: 8px; gap: 10px;}
.proposal-bar > :where(span,.bob-s) {max-width: 230px;}
.proposal-bar a {font-size: 0; gap: 0;}
.proposal-bar a svg {width: 14px; height: 14px;}
.site-header {height: 74px; padding-inline: 22px; gap: 14px;}
.brand-logo,.brand-logo img {width: 128px;}
.brand-logo img {height: 43px;}
.desktop-nav {display: none;}
.language-nav {margin-left: auto; padding-left: 0; border: 0;}
.language-nav a {padding: 12px 4px;}
.menu-toggle {display: flex; margin-right: -10px;}
.mobile-nav {display: flex; flex-direction: column; position: absolute; top: 74px; left: 0; right: 0; background: var(--paper); padding: 18px 22px 26px; border-bottom: 1px solid var(--ink); box-shadow: 0 12px 20px rgba(27,33,26,0.08);}
.mobile-nav a {display: flex; align-items: center; justify-content: space-between; padding-block: 16px; font-family: var(--editorial-font); font-size: 30px; border-bottom: 1px solid var(--rule);}
.navigation-pending {top: 85px;}
.hero {padding-block: 24px 56px;}
.hero-eyebrow {padding-bottom: 18px; align-items: start;}
.hero-eyebrow .eyebrow {font-size: 8px;}
.hero-eyebrow .small-link {display: none;}
.hero-editorial {grid-template-columns: 1fr; gap: 36px; padding-block: 36px 0;}
.hero-intro-line {font-size: 10px; margin-bottom: 22px;}
.hero-title {font-size: clamp(38px,9vw,54px); line-height: 1.1;}
.hero-paragraph {font-size: 14px; margin-top: 22px;}
.hero-actions {margin-top: 32px; gap: 16px;}
.hero-figure img {aspect-ratio: 4/3;}
.hero-figure figcaption {font-size: 8px;}
.hero-figure figcaption :where(span,.bob-s):last-child {display: none;}
.primary-link {font-size: 11px; min-height: 48px; padding: 13px 17px;}
.proof {grid-template-columns: 1fr 1fr; padding-block: 24px; row-gap: 26px;}
.proof > div {padding: 0 16px;}
.proof > div:nth-child(odd) {padding-left: 0;}
.proof > div:nth-child(even) {border: 0;}
.proof strong {font-size: 44px;}
.proof .eyebrow {font-size: 8px;}
.proof-note p:not(:where(.bob-s)) {font-size: 24px;}
.proof-note .italic-note {font-size: 15px;}
.section-label {margin-bottom: 32px; gap: 16px; font-size: 9px;}
.section-label > :where(span,.bob-s):first-child {min-width: 28px;}
h2 {font-size: 38px;}
.perspective-layout,.founder-layout,.process-layout {grid-template-columns: 1fr; gap: 38px;}
.perspective-copy h2 {margin-block: 20px;}
.perspective-copy .italic-note {font-size: 18px;}
.perspective-copy p:not(:where(.bob-s)) {font-size: 14px;}
.framed-image {padding: 6px;}
.broken-frame {box-shadow: 6px 6px 0 var(--wash);}
.broken-frame figcaption {position: static; padding-top: 8px; text-align: right; font-size: 17px;}
.section-heading {flex-direction: column; gap: 24px; align-items: start; margin-bottom: 28px;}
.section-heading p:not(:where(.bob-s)) {font-size: 13px;}
.service-row {grid-template-columns: 26px 1fr 44px; gap: 14px; padding-block: 24px;}
.service-row h3 {font-size: 22px;}
.service-number {font-size: 19px;}
.service-row p:not(:where(.bob-s)) {grid-column: 2; grid-row: 2;}
.service-row .round-arrow {grid-row: 1 / 3; grid-column: 3; width: 42px; height: 42px;}
.service-row svg {width: 20px;}
.service-footnote {font-size: 17px;}
.founder-copy p:not(:where(.bob-s)) {font-size: 14px;}
.founder-image img {aspect-ratio: 4/3; object-position: center 35%;}
.process-photo {padding-bottom: 0;}
.process-photo img {aspect-ratio: 4/3; height: auto;}
.process-section {padding-top: 0;}
.process-list {gap: 26px;}
.process-list h3 {font-size: 25px;}
.process-list p:not(:where(.bob-s)) {font-size: 12px;}
.journal {padding-top: 0;}
.journal-grid {grid-template-columns: 1fr; gap: 38px;}
.journal-item h3 {font-size: 32px;}
.journal-item:last-child .journal-image img {object-position: center 24%;}
.directory-section {padding-block: 56px;}
.directory-layout {grid-template-columns: 1fr; gap: 46px;}
.directory-cover {max-width: 235px; padding: 8px; box-shadow: 6px 6px 0 var(--orange);}
.directory-copy h2 {font-size: 46px;}
.directory-copy .primary-link {width: 100%;}
.directory-copy .integration-tag {font-size: 8px;}
.directory-form-preview {gap: 12px;}
.integration-heading {align-items: start; flex-direction: column; gap: 14px;}
.integration-heading h2 {font-size: 38px;}
.feed-placeholder {grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px;}
.feed-placeholder > div {aspect-ratio: 1;}
.newsletter-area {grid-template-columns: 1fr; gap: 32px; padding: 28px 22px;}
.newsletter-area h2 {font-size: 36px;}
.contact-cta {padding-block: 64px; gap: 20px;}
.contact-cta h2 {font-size: 42px;}
.cta-arrow {width: 64px; height: 64px; flex-shrink: 0;}
.cta-arrow svg {width: 36px; height: 36px;}
.site-footer {padding: 34px 22px 20px;}
.footer-main {grid-template-columns: 1fr; gap: 24px;}
.footer-main img {width: 150px;}
.footer-links {grid-column: auto; display: flex; flex-wrap: wrap;}
.footer-links a {min-height: 44px;}
.footer-bottom {flex-wrap: wrap; gap: 12px 24px; margin-top: 20px;}
.footer-bottom > :where(span,.bob-s):nth-child(2) {order: 3; width: 100%;}
.footer-bottom a {margin-left: auto;}
.page-intro {padding-block: 34px 48px;}
.page-intro .section-label {margin-bottom: 32px;}
.page-intro h1 {font-size: clamp(42px,10vw,58px);}
.page-intro > p:not(:where(.bob-s)) {font-size: 14px; margin-top: 24px;}
.about-story-grid {grid-template-columns: 1fr; gap: 32px;}
.about-story-grid .framed-image {position: static;}
.about-story-grid .framed-image img {aspect-ratio: 4/3;}
.serif-copy {font-size: 22px;}
.press-proof {padding-block: 42px; margin-top: 28px;}
.press-proof > div {font-size: 26px; gap: 12px 24px;}
.testimonial {padding-block: 50px;}
.testimonial blockquote {font-size: 34px;}
.sector-layout {grid-template-columns: 1fr; gap: 28px; padding-top: 56px;}
.sector-layout li {font-size: 22px;}
.service-detail,.service-detail:nth-child(even) {grid-template-columns: 1fr; gap: 32px; padding-block: 48px;}
.service-detail:nth-child(even) .framed-image,.service-detail:nth-child(even) .service-detail-copy {grid-column: auto; grid-row: auto;}
.service-detail .service-lead {font-size: 25px;}
.service-details + .process-section {padding-top: 16px;}
.contact-layout {grid-template-columns: 1fr; gap: 40px; padding-bottom: 64px;}
.contact-lead {font-size: 30px;}
.contact-form-wrap {padding: 22px;}
.form-two-col {grid-template-columns: 1fr; gap: 0;}
.contact-detail a {font-size: 25px;}
.contact-layout + .newsletter-area,.blog-index + .newsletter-area {margin-bottom: 56px;}
.blog-tools {flex-direction: column; align-items: stretch; gap: 14px;}
.blog-filters {gap: 4px;}
.blog-filters button {font-size: 10px; padding-inline: 10px;}
.blog-search {max-width: none; border-top: 1px solid var(--rule); padding-top: 6px;}
.blog-posts {grid-template-columns: 1fr; gap: 40px;}
.blog-post.featured {display: block; padding-bottom: 32px;}
.blog-post.featured h2,.blog-post h2 {font-size: 34px;}
.blog-post .journal-meta {font-size: 8px;}
.blog-index {padding-bottom: 60px;}
.article-header {text-align: left; padding-block: 32px 40px;}
.article-header h1 {font-size: 44px;}
.article-meta {justify-content: flex-start; gap: 22px; font-size: 9px;}
.article-header > .small-link {margin-bottom: 28px;}
.article-hero img {aspect-ratio: 4/3;}
.article-reading {grid-template-columns: 1fr; gap: 28px; padding-top: 36px;}
.article-aside {position: static; padding-bottom: 20px; border-bottom: 1px solid var(--rule);}
.article-aside nav {gap: 10px; margin-block: 16px;}
.article-body {font-size: 22px;}
.article-body h2 {font-size: 32px;}
.article-body > section:first-child > p:not(:where(.bob-s)):first-child::first-letter {font-size: 80px;}
.related-articles {margin-block: 52px;}
.related-articles > a {font-size: 25px;}
.croatian-hero {padding-block: 28px 48px;}
.croatian-hero h1 {font-size: 46px; margin-bottom: 30px;}
.croatian-expectations {grid-template-columns: 1fr; gap: 24px; margin-top: 56px;}
.croatian-expectations > h2 {grid-column: auto;}
.croatian-contact {padding-block: 54px;}
.croatian-contact .primary-link {width: 100%;}
.handover-section {padding-bottom: 64px;}
.colour-grid {grid-template-columns: 1fr 1fr; gap: 24px 18px;}
.colour-swatch {height: 90px;}
.colour-spec h3 {font-size: 23px;}
.handover-notes {grid-template-columns: 1fr;}
.layout-guide summary {gap: 16px;}
.layout-guide summary h3 {font-size: 27px;}
.layout-guide-content {grid-template-columns: 1fr; padding-left: 0; gap: 22px;}
.layout-guide-content > .text-link {grid-column: auto;}
.implementation-steps > div {grid-template-columns: 24px 1fr; gap: 16px;}
.implementation-steps h3 {font-size: 27px;}
.handover-callout {padding: 24px 20px;}
.handover-actions {flex-direction: column; align-items: start; gap: 18px;}
.asset-list a {flex-direction: column; gap: 5px;}
.not-found-actions {flex-direction: column; gap: 16px;}

}
@media (prefers-reduced-motion: reduce) {html {scroll-behavior: auto;}
*,*::before,*::after {transition: none !important; animation: none !important;}
 }
@media print {@page { margin: 18mm; }
.site-header,.proposal-bar,.site-footer,.skip-link,.handover-actions,.navigation-pending {display: none !important;}
body {font-size: 11px;}
.rail {width: 100%; max-width: none;}
.handover-section {padding-bottom: 35px;}
.page-intro {padding: 0 0 30px;}
.page-intro h1 {font-size: 54px;}
h2 {font-size: 36px;}
.colour-grid {grid-template-columns: repeat(3,1fr);}
.colour-swatch {height: 50px; print-color-adjust: exact; -webkit-print-color-adjust: exact;}
.spec-table {min-width: 0;}
.spec-table td,.spec-table th {padding: 8px 5px; font-size: 9px;}
.table-scroll {overflow: visible;}
.layout-guide details > .layout-guide-content {display: grid !important; content-visibility: visible !important;}
.layout-guide details {break-inside: avoid;}
.layout-guide-content {padding-left: 0;}
.handover-notes,.implementation-steps > div {break-inside: avoid;}
.details-plus,.layout-guide-content .text-link,.handover-callout button {display: none;}
.handover-callout {padding: 20px;}
.section-label {margin-bottom: 24px;}
.layout-guide details::details-content {content-visibility: visible !important; display: block !important;}

}
.admin-loading {padding-block: 80px; font-size: 14px; color: var(--secondary-text);}
.admin-login {display: flex; justify-content: center; padding-block: 80px;}
.admin-login-box {width: 100%; max-width: 420px; background: var(--paper); border: 1px solid var(--rule); padding: 40px;}
.admin-login-icon {display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; border: 1px solid var(--ink); border-radius: 50%; margin-bottom: 22px;}
.admin-login-box h1 {font-family: var(--display-font); font-size: 26px; font-weight: 600; letter-spacing: -0.02em;}
.admin-login-form {display: flex; flex-direction: column; gap: 18px; margin-top: 24px;}
.admin-login-form label {display: flex; flex-direction: column; gap: 8px;}
.admin-login-form .primary-link {justify-content: center;}
.admin-dashboard {padding-block: 48px 100px;}
.admin-dashboard-head {display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; margin-bottom: 32px;}
.admin-dashboard-head h1 {font-family: var(--display-font); font-size: 34px; font-weight: 600; letter-spacing: -0.02em; margin-top: 8px;}
.admin-dashboard-actions {display: flex; gap: 14px; align-items: center; flex-wrap: wrap;}
.admin-table-scroll {overflow-x: auto; border: 1px solid var(--rule);}
.admin-table {border-collapse: collapse; width: 100%; font-size: 13px; min-width: 720px;}
.admin-table th {font-family: var(--display-font); font-size: 10px; text-transform: uppercase; letter-spacing: 0.06em; text-align: left; padding: 14px 16px; border-bottom: 1px solid var(--ink); background: var(--wash); font-weight: 600;}
.admin-table td {padding: 14px 16px; border-bottom: 1px solid var(--rule); vertical-align: middle;}
.admin-table tr:last-child td {border-bottom: 0;}
.admin-cell-title {display: flex; align-items: center; gap: 14px;}
.admin-cell-title img {width: 40px; height: 40px; object-fit: cover; flex-shrink: 0;}
.admin-thumb-empty {display: inline-block; width: 40px; height: 40px; background: var(--wash); border: 1px solid var(--rule); flex-shrink: 0;}
.admin-status {font-family: var(--display-font); font-size: 10px; text-transform: uppercase; letter-spacing: 0.06em; padding: 5px 10px; border: 1px solid var(--rule);}
.admin-status-draft {color: var(--secondary-text);}
.admin-status-scheduled {color: #8a6d1f; border-color: #d9c489; background: #fbf6e8;}
.admin-status-published {color: #2f6b3a; border-color: #9fc7a4; background: #eef6ef;}
.admin-editor {padding-block: 40px 100px;}
.admin-page-title {font-family: var(--display-font); font-size: 30px; font-weight: 600; letter-spacing: -0.02em; margin-block: 24px 28px;}
.admin-error {background: #fdecea; border-left: 3px solid var(--destructive); padding: 12px 16px; font-size: 13px; color: #8a2a1f; margin-bottom: 20px;}
.admin-grid {display: grid; grid-template-columns: minmax(0,1fr) 340px; gap: 48px; align-items: start;}
.admin-main {display: flex; flex-direction: column; gap: 28px;}
.admin-side {display: flex; flex-direction: column; gap: 24px; position: sticky; top: 110px;}
.admin-field {border: 1px solid var(--rule); padding: 16px; margin: 0;}
.admin-field legend {font-family: var(--display-font); font-size: 10px; text-transform: uppercase; letter-spacing: 0.08em; font-weight: 600; padding: 0 6px; color: var(--ink);}
.admin-field input, .admin-field select, .admin-field textarea {margin-top: 10px;}
.admin-hint {font-size: 11px; line-height: 1.6; color: var(--secondary-text); margin-top: 10px;}
.admin-hint em {font-style: italic;}
.admin-mini {display: inline-flex; align-items: center; gap: 8px; font-family: var(--display-font); font-size: 11px; font-weight: 500; padding: 10px 14px; border: 1px solid var(--ink); background: var(--paper); color: var(--ink); min-height: 40px;}
.admin-mini:hover {background: var(--ink); color: var(--paper);}
.admin-mini.danger {border-color: var(--destructive); color: var(--destructive);}
.admin-mini.danger:hover {background: var(--destructive); color: var(--paper);}
.admin-toolbar {display: flex; flex-wrap: wrap; gap: 6px; padding: 8px; border: 1px solid var(--rule); border-bottom: 0; background: var(--wash);}
.admin-toolbar button {display: inline-flex; align-items: center; justify-content: center; min-width: 38px; min-height: 34px; padding: 6px 10px; font-size: 12px; border: 1px solid var(--rule); background: var(--paper);}
.admin-toolbar button:hover {background: var(--ink); color: var(--paper);}
.admin-content-editable {min-height: 360px; padding: 20px; border: 1px solid var(--rule); background: var(--paper); font-family: var(--editorial-font); font-size: 22px; line-height: 1.55; color: var(--ink); outline: none; overflow-y: auto;}
.admin-content-editable:empty::before {content: attr(data-placeholder); color: var(--secondary-text); font-style: italic;}
.admin-content-editable:empty:focus::before {content: '';}
.admin-content-editable h2 {font-family: var(--editorial-font); font-size: 32px; margin: 28px 0 14px;}
.admin-content-editable h3 {font-family: var(--editorial-font); font-size: 26px; margin: 24px 0 12px;}
.admin-content-editable p:not(:where(.bob-s)) {margin-bottom: 18px;}
.admin-content-editable ul, .admin-content-editable ol {padding-left: 24px; margin-bottom: 18px;}
.admin-content-editable blockquote {border-left: 3px solid var(--orange); padding-left: 18px; font-style: italic; color: var(--secondary-text); margin: 18px 0;}
.admin-content-editable a {color: var(--orange); text-decoration: underline;}
.admin-image-preview {position: relative; margin-top: 10px;}
.admin-image-preview img {width: 100%; aspect-ratio: 16/9; object-fit: cover;}
.admin-image-empty {display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 24px; border: 1px dashed var(--rule); color: var(--secondary-text); margin-top: 10px;}
.admin-overlay {position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(255,255,255,0.6);}
.admin-actions {display: flex; flex-wrap: wrap; gap: 14px; align-items: center; margin-top: 36px; padding-top: 28px; border-top: 1px solid var(--rule);}
.admin-confirm {position: fixed; inset: 0; background: rgba(27,33,26,0.5); display: flex; align-items: center; justify-content: center; z-index: 50; padding: 20px;}
.admin-confirm-box {background: var(--paper); padding: 32px; max-width: 420px; border: 1px solid var(--ink);}
.admin-confirm-box h3 {font-family: var(--display-font); font-size: 22px; font-weight: 600; margin-bottom: 12px;}
.admin-confirm-box p:not(:where(.bob-s)) {font-size: 14px; margin-bottom: 22px;}
.admin-confirm-actions {display: flex; gap: 12px;}
.spin {animation: admin-spin 0.8s linear infinite;}
@keyframes admin-spin { to { transform: rotate(360deg); } }
@media (max-width: 1024px) {.admin-grid {grid-template-columns: 1fr;}
.admin-side {position: static;}
 }
.zh-service-includes {margin-top: 32px; border-top: 1px solid var(--rule); padding-top: 24px;}
.zh-service-includes > .eyebrow {display: block; margin-bottom: 16px; color: var(--orange);}
.zh-service-includes ul {list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px 28px;}
.zh-service-includes li {display: flex; align-items: flex-start; gap: 10px; font-size: 13px; line-height: 1.6; color: var(--ink);}
.zh-service-includes li svg {color: var(--orange); flex-shrink: 0; margin-top: 3px;}
@media (max-width: 767px) {.zh-service-includes ul {grid-template-columns: 1fr; gap: 10px;}
 }
.zh-hero {padding-top: 40px; padding-bottom: 88px; background: var(--paper);}
.zh-hero-eyebrow {display: flex; justify-content: space-between; align-items: center; gap: 20px; padding-bottom: 28px; border-bottom: 1px solid var(--rule);}
.zh-hero-eyebrow .eyebrow {color: var(--orange);}
.zh-hero-layout {display: grid; grid-template-columns: minmax(0,52fr) minmax(0,48fr); gap: 72px; align-items: center; padding-block: 56px 16px;}
.zh-hero-copy {max-width: 560px;}
.zh-hero-intro {display: block; font-family: var(--display-font); font-size: 11px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--orange); margin-bottom: 24px;}
.zh-hero-title {font-family: var(--editorial-font); font-size: clamp(34px, 3.8vw, 52px); font-weight: 500; letter-spacing: -0.02em; line-height: 1.15; color: var(--ink);}
.zh-hero-accent {color: var(--orange); font-style: italic;}
.zh-hero-paragraph {max-width: 460px; margin-top: 24px; font-size: 15px; line-height: 1.85; color: var(--body);}
.zh-hero-actions {display: flex; flex-direction: column; align-items: flex-start; gap: 18px; margin-top: 36px;}
.zh-hero-secondary {border-bottom: 1px solid var(--ink); padding: 6px 0; font-family: var(--display-font); font-size: 11px; font-weight: 500; letter-spacing: 0.04em;}
.zh-hero-figure {margin: 0;}
.zh-hero-figure img {width: 100%; aspect-ratio: 4/5; object-fit: cover; object-position: 50% 45%;}
.zh-hero-figure figcaption {display: flex; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--rule); padding: 12px 0; font-size: 9px;}
.zh-clients-layout {display: grid; grid-template-columns: minmax(0,56fr) minmax(0,44fr); gap: 88px; align-items: center;}
.zh-clients-copy h2 {margin-bottom: 24px;}
.zh-clients-copy p:not(:where(.bob-s)) {max-width: 520px; margin-top: 24px; font-size: 14px; line-height: 1.9;}
.zh-clients-copy .text-link {margin-top: 26px;}
.zh-industry-list {list-style: none; margin: 0; padding: 0;}
.zh-industry-list li {display: flex; align-items: baseline; gap: 28px; padding-block: 22px; border-top: 1px solid var(--rule);}
.zh-industry-list li:last-child {border-bottom: 1px solid var(--rule);}
.zh-industry-num {font-family: var(--display-font); font-size: 11px; font-weight: 600; letter-spacing: 0.08em; color: var(--orange); min-width: 26px;}
.zh-industry-name {font-family: var(--editorial-font); font-size: 30px; font-weight: 500; line-height: 1.2; color: var(--ink);}
.zh-services-section {background: var(--wash);}
.zh-services-intro {max-width: 760px; margin-bottom: 56px;}
.zh-services-intro h2 {margin-bottom: 24px;}
.zh-services-intro p:not(:where(.bob-s)) {max-width: 560px; font-size: 15px;}
.zh-service-cards {display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 24px;}
.zh-service-card {background: var(--paper); border: 1px solid var(--rule); padding: 36px 32px; display: flex; flex-direction: column; gap: 14px; transition: border-color 180ms ease-out;}
.zh-service-card:nth-child(even) {background: var(--wash);}
.zh-service-card:hover {border-color: var(--ink);}
.zh-service-number {font-family: var(--editorial-font); font-size: 22px; font-style: italic; color: var(--orange);}
.zh-service-card h3 {font-family: var(--display-font); font-size: 20px; font-weight: 500; letter-spacing: -0.02em; line-height: 1.25;}
.zh-service-card p:not(:where(.bob-s)) {font-size: 13px; line-height: 1.7;}
.zh-mid-cta {display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px; margin-top: 48px; padding-top: 32px; border-top: 1px solid var(--rule);}
.zh-mid-cta p:not(:where(.bob-s)) {font-family: var(--editorial-font); font-size: 24px; line-height: 1.3; color: var(--ink); max-width: 460px;}
.zh-mid-cta .primary-link {width: auto;}
.zh-markets-intro {max-width: 760px; margin-bottom: 56px;}
.zh-markets-intro h2 {margin-bottom: 24px;}
.zh-markets-intro p:not(:where(.bob-s)) {max-width: 580px; font-size: 15px;}
.zh-markets {display: grid; grid-template-columns: repeat(3, minmax(0,1fr));}
.zh-market {border-top: 1px solid var(--ink); padding: 32px 28px 0 0; border-right: 1px solid var(--rule);}
.zh-market:last-child {border-right: 0; padding-right: 0;}
.zh-market:not(:first-child) {padding-left: 28px;}
.zh-market h3 {font-family: var(--editorial-font); font-size: clamp(40px, 4vw, 56px); font-weight: 500; letter-spacing: -0.02em; line-height: 1; margin-bottom: 20px; color: var(--ink);}
.zh-market p:not(:where(.bob-s)) {font-size: 13px; line-height: 1.8;}
.zh-mandarin {background: var(--ink); color: var(--paper); padding-block: 104px;}
.zh-mandarin-inner {max-width: 920px;}
.zh-mandarin-heading {font-family: var(--editorial-font); font-size: clamp(28px, 3vw, 40px); font-weight: 500; letter-spacing: -0.02em; line-height: 1.2; color: var(--paper);}
.zh-mandarin-heading em {color: var(--orange); font-style: italic;}
.zh-mandarin-quote {font-family: var(--editorial-font); font-size: clamp(26px, 3vw, 40px); font-weight: 500; line-height: 1.35; color: var(--paper); margin-block: 28px 32px; letter-spacing: -0.01em; max-width: 820px;}
.zh-mandarin-copy {max-width: 620px; font-size: 15px; line-height: 1.9; color: rgba(255,255,255,0.82);}
.zh-process-intro {max-width: 760px; margin-bottom: 48px;}
.zh-process-intro h2 {margin-bottom: 24px;}
.zh-process-intro p:not(:where(.bob-s)) {max-width: 580px; font-size: 15px;}
.zh-process {list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 32px;}
.zh-process-step {border-top: 1px solid var(--rule); padding-top: 24px;}
.zh-process-number {display: block; font-family: var(--editorial-font); font-size: 22px; font-style: italic; color: var(--orange); margin-bottom: 14px;}
.zh-process-step h3 {font-family: var(--display-font); font-size: 20px; font-weight: 500; letter-spacing: -0.02em; margin-bottom: 12px;}
.zh-process-step p:not(:where(.bob-s)) {font-size: 13px; line-height: 1.8;}
.zh-faq-intro {max-width: 760px; margin-bottom: 48px;}
.zh-faq-intro h2 {margin-bottom: 24px;}
.zh-faq {border-top: 1px solid var(--ink);}
.zh-faq-item {border-bottom: 1px solid var(--rule);}
.zh-faq-summary {list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-block: 28px; font-family: var(--editorial-font); font-size: 22px; font-weight: 500; line-height: 1.3; color: var(--ink);}
.zh-faq-summary::-webkit-details-marker {display: none;}
.zh-faq-summary:hover {color: var(--orange);}
.zh-faq-icon {position: relative; width: 18px; height: 18px; flex-shrink: 0;}
.zh-faq-icon::before, .zh-faq-icon::after {content: ''; position: absolute; background: var(--orange); transition: transform 0.2s ease-out;}
.zh-faq-icon::before {top: 50%; left: 0; width: 100%; height: 1.5px; transform: translateY(-50%);}
.zh-faq-icon::after {left: 50%; top: 0; width: 1.5px; height: 100%; transform: translateX(-50%);}
.zh-faq-item[open] .zh-faq-icon::after {transform: translateX(-50%) scaleY(0);}
.zh-faq-content {padding-bottom: 28px;}
.zh-faq-content p:not(:where(.bob-s)) {font-size: 14px; line-height: 1.85; color: var(--body); max-width: 680px;}
.zh-final-cta {background: var(--orange); color: var(--paper); padding-block: 104px;}
.zh-final-cta-inner {max-width: 760px;}
.zh-final-cta-label {border-color: rgba(255,255,255,0.4);}
.zh-final-cta-label :where(span,.bob-s) {color: var(--paper);}
.zh-final-cta h2 {color: var(--paper); font-size: clamp(40px, 4.4vw, 60px); margin-block: 24px;}
.zh-final-cta h2 em {color: var(--paper); font-style: italic; opacity: 0.92;}
.zh-final-cta p:not(:where(.bob-s)) {color: rgba(255,255,255,0.92); max-width: 520px; font-size: 15px;}
.zh-final-cta-button {display: inline-flex; align-items: center; gap: 16px; margin-top: 36px; padding: 16px 26px; background: var(--ink); color: var(--paper); font-family: var(--display-font); font-size: 11px; font-weight: 500; letter-spacing: 0.04em; text-transform: uppercase;}
.zh-final-cta-button:hover {background: var(--paper); color: var(--orange);}
.zh-internal-links {display: flex; flex-wrap: wrap; gap: 10px 24px; margin-top: 40px; padding-top: 32px; border-top: 1px solid rgba(255,255,255,0.3);}
.zh-internal-links a {font-family: var(--display-font); font-size: 11px; font-weight: 500; letter-spacing: 0.04em; text-transform: uppercase; color: rgba(255,255,255,0.88);}
.zh-internal-links a:hover {color: var(--paper);}
@media (max-width: 1100px) {.zh-clients-layout {gap: 48px;}
.zh-process {grid-template-columns: repeat(2, minmax(0,1fr));}

}
@media (max-width: 1024px) {.zh-hero-layout {gap: 48px;}
.zh-hero-figure img {aspect-ratio: 4/3;}

}
@media (max-width: 767px) {.zh-hero {padding-block: 24px 56px;}
.zh-hero-eyebrow {padding-bottom: 18px; align-items: start;}
.zh-hero-eyebrow .small-link {display: none;}
.zh-hero-layout {grid-template-columns: 1fr; gap: 36px; padding-block: 36px 0;}
.zh-hero-intro {font-size: 10px; margin-bottom: 20px;}
.zh-hero-title {font-size: clamp(32px, 8vw, 44px);}
.zh-hero-figure img {aspect-ratio: 4/3;}
.zh-hero-figure figcaption {font-size: 8px;}
.zh-hero-figure figcaption :where(span,.bob-s):last-child {display: none;}
.zh-clients-layout {grid-template-columns: 1fr; gap: 36px;}
.zh-clients-copy p:not(:where(.bob-s)) {font-size: 14px;}
.zh-industry-name {font-size: 26px;}
.zh-services-intro p:not(:where(.bob-s)), .zh-markets-intro p:not(:where(.bob-s)), .zh-process-intro p:not(:where(.bob-s)) {font-size: 14px;}
.zh-service-cards {grid-template-columns: 1fr; gap: 18px;}
.zh-service-card {padding: 28px 24px;}
.zh-mid-cta {flex-direction: column; align-items: flex-start; gap: 18px;}
.zh-mid-cta p:not(:where(.bob-s)) {font-size: 22px;}
.zh-markets {grid-template-columns: 1fr;}
.zh-market {padding: 28px 0 0 0; border-right: 0; border-bottom: 1px solid var(--rule); padding-bottom: 28px;}
.zh-market:not(:first-child) {padding-left: 0;}
.zh-market:last-child {border-bottom: 0; padding-bottom: 0;}
.zh-mandarin {padding-block: 72px;}
.zh-mandarin-quote {font-size: 26px;}
.zh-process {grid-template-columns: 1fr; gap: 26px;}
.zh-faq-summary {font-size: 19px; padding-block: 22px;}
.zh-faq-content p:not(:where(.bob-s)) {font-size: 13px;}
.zh-final-cta {padding-block: 72px;}
.zh-final-cta h2 {font-size: 34px;}

}
.article-body h3 {font-family: var(--editorial-font); font-size: 30px; font-weight: 500; line-height: 1.2; margin-block: 36px 18px;}
.article-body ol {list-style: none; padding: 0; margin: 0 0 24px; counter-reset: ol-item;}
.article-body ol li {position: relative; padding-left: 32px; margin-bottom: 14px; counter-increment: ol-item;}
.article-body ol li::before {content: counter(ol-item) "."; position: absolute; left: 0; color: var(--orange); font-family: var(--display-font); font-size: 13px; top: 2px;}
.article-body blockquote {font-style: italic; color: var(--secondary-text); border-left: 3px solid var(--orange); padding-left: 22px; margin: 24px 0; font-size: 26px; line-height: 1.4;}
.article-body strong {font-weight: 600; color: var(--ink);}
.article-body em {font-style: italic;}
.article-cta {margin-top: 40px; padding-top: 24px; border-top: 1px solid var(--rule);}
.article-cta a {display: inline-flex; align-items: center; gap: 10px; font-family: var(--display-font); font-size: 13px; font-weight: 500; padding: 14px 22px; background: var(--orange); color: var(--paper);}
.article-cta a:hover {background: var(--ink);}
@media (max-width: 767px) {.article-body h3 {font-size: 26px;}
.article-body blockquote {font-size: 22px;}
.admin-login-box {padding: 28px 22px;}
.admin-field {padding: 14px;}
.admin-content-editable {font-size: 19px; padding: 16px;}
 }


/* --- 3. WordPress additions ---------------------------------------------- */
:root { --editorial-font: 'Cormorant Garamond', Georgia, serif; --display-font: 'Montserrat', sans-serif; --body-font: 'Manrope', sans-serif; }
/* Image captions keep the class the original <figcaption> had */
.bob-cap-italic-note figcaption { font-family: var(--editorial-font); font-size: 19px; font-style: italic; line-height: 1.4; color: var(--secondary-text); }
.bob-cap-eyebrow figcaption { font-family: var(--display-font); font-size: 10px; font-weight: 600; line-height: 1.5; letter-spacing: 0.1em; text-transform: uppercase; }
.bob-cap-integration-caption figcaption { font-size: 10px; color: var(--secondary-text); line-height: 1.8; }
@media (max-width: 767px) { .broken-frame.bob-cap-italic-note figcaption { font-size: 17px; } }
.mobile-nav[hidden] { display: none !important; }
.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } }
.blog-post[hidden] { display: none !important; }
.bob-hp { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
.bob-pagination { display: flex; gap: 18px; justify-content: center; margin-top: 56px; font-family: var(--display-font); font-size: 11px; }
.bob-pagination a:hover, .bob-pagination .current { color: var(--orange); }
.editor-styles-wrapper { font-family: var(--body-font); color: var(--ink); font-size: 15px; line-height: 1.8; }
/* FAQ page (WordPress "Details" blocks styled like the original 中文 FAQ) */
.faq-section { padding-bottom: 40px; }
.faq-section .zh-faq { max-width: 960px; }
.zh-faq-item > summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-block: 28px; font-family: var(--editorial-font); font-size: 26px; font-weight: 500; line-height: 1.3; color: var(--ink); }
.zh-faq-item > summary::-webkit-details-marker { display: none; }
.zh-faq-item > summary:hover { color: var(--orange); }
.zh-faq-item > summary::after { content: ''; flex-shrink: 0; width: 18px; height: 18px; background: linear-gradient(var(--orange), var(--orange)) center / 100% 1.5px no-repeat, linear-gradient(var(--orange), var(--orange)) center / 1.5px 100% no-repeat; transition: background-size 0.2s ease-out; }
.zh-faq-item[open] > summary::after { background-size: 100% 1.5px, 1.5px 0; }
.zh-faq-content a { text-decoration: underline; text-underline-offset: 3px; }
.zh-faq-content a:hover { color: var(--orange); }
.zh-faq-content p + p { margin-top: 14px; }
@media (max-width: 767px) { .zh-faq-item > summary { font-size: 21px; padding-block: 22px; } }
/* Pages you create yourself: plain blocks get the site's width and typography */
.wp-block-post-content > :not(.wp-block-group):not(section):not(.rail),
.wp-block-post-content > .wp-block-group.is-layout-constrained:not(.alignfull) { width: calc(100% - 128px); max-width: 1280px; margin-inline: auto; }
@media (max-width: 767px) { .wp-block-post-content > :not(.wp-block-group):not(section):not(.rail), .wp-block-post-content > .wp-block-group.is-layout-constrained:not(.alignfull) { width: calc(100% - 44px); } }
.wp-block-post-content > h1:first-child { padding-top: 48px; }
.wp-block-post-content > :last-child:not(section):not(.wp-block-group) { margin-bottom: 100px; }
:is(.wp-block-post-content, .bob-text-section) > h1 { font-size: clamp(60px,6vw,88px); margin-bottom: 28px; }
:is(.wp-block-post-content, .bob-text-section) > :is(h1, h2) em { color: var(--orange); }
:is(.wp-block-post-content, .bob-text-section) > h2 { margin-block: 24px 28px; }
:is(.wp-block-post-content, .bob-text-section) > h3 { font-size: 30px; margin-block: 36px 14px; }
:is(.wp-block-post-content, .bob-text-section) > h4 { font-family: var(--display-font); font-size: 13px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; margin-block: 28px 10px; }
:is(.wp-block-post-content, .bob-text-section) > p:not(:where(.bob-s)) { max-width: 680px; margin-bottom: 20px; }
:is(.wp-block-post-content, .bob-text-section) > :is(ul, ol) { max-width: 680px; margin-bottom: 20px; color: var(--body); }
:is(.wp-block-post-content, .bob-text-section) > ul li { position: relative; padding-left: 24px; margin-bottom: 8px; }
:is(.wp-block-post-content, .bob-text-section) > ul li::before { content: '—'; position: absolute; left: 0; color: var(--orange); }
:is(.wp-block-post-content, .bob-text-section) > ol { list-style: decimal; padding-left: 20px; }
:is(.wp-block-post-content, .bob-text-section) > :is(p, ul, ol) a { text-decoration: underline; text-underline-offset: 3px; }
:is(.wp-block-post-content, .bob-text-section) > :is(p, ul, ol) a:hover { color: var(--orange); }
:is(.wp-block-post-content, .bob-text-section) > .wp-block-image { margin-block: 32px; }
:is(.wp-block-post-content, .bob-text-section) > .wp-block-quote { font-family: var(--editorial-font); font-size: 32px; line-height: 1.25; border-left: 2px solid var(--orange); padding-left: 24px; margin-block: 32px; max-width: 760px; }
:is(.wp-block-post-content, .bob-text-section) > .wp-block-buttons { margin-block: 24px; }
.wp-block-button__link { background: var(--orange); color: var(--paper); border-radius: 0; padding: 14px 22px; font-family: var(--display-font); font-size: 11px; font-weight: 500; text-decoration: none; }
.wp-block-button__link:hover { background: var(--ink); color: var(--paper); }
.bob-text-section .section-label { margin-bottom: 32px; }
