/* Connected systems: one design language across services and editorial pages. */
.studio { --display: Manrope, "Segoe UI", sans-serif; --radius: .25rem; background: var(--bg); }
.studio .desktop-nav a { font-family: var(--sans); font-size: .85rem; letter-spacing: 0; text-transform: none; font-weight: 600; }
.studio .header-cta { font-family: var(--sans); font-size: .8rem; letter-spacing: 0; text-transform: none; font-weight: 800; }
.studio .wordmark { font-family: var(--sans); font-weight: 800; letter-spacing: -.06em; font-size: 1.5rem; }
.studio .section-title { font-weight: 700; letter-spacing: -.055em; }
.studio .section-title em, .studio .about-copy h2 em, .studio .contact-title em { font-style: normal; }
.studio .section-title em { color: var(--acid); }
.studio .hero { padding-top: 9.5rem; min-height: 54rem; overflow: hidden; max-width: none; isolation: isolate; }
.studio .hero-main { width: min(100%, 1320px); margin-inline:auto; }
.studio .hero-kicker { margin-bottom: 2.5rem; }
.studio .hero-grid { display:block; margin:0; }
.studio .hero-copy-block { position:relative; z-index:2; max-width: 55rem; }
.studio .hero-heading { font-family:var(--sans); text-transform:uppercase; font-size:clamp(3.7rem,7.4vw,7rem); line-height:.98; font-weight:800; letter-spacing:-.07em; max-width:12ch; margin:0; }
.studio .hero-heading em { font-style:normal; color:var(--acid); }
.studio .hero-copy { max-width:34rem; margin-top:2rem; font-size:1.1rem; }
.studio .hero-name { margin-top:1.8rem; color:var(--muted); max-width:34rem; }
.studio .hero-art { position:absolute; z-index:-1; right:-7%; top:4rem; width:73%; max-width:1100px; margin:0; }
.studio .hero-art::before { display:none; }
.studio .hero-art::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,var(--bg),transparent 26%); pointer-events:none; }
.studio .hero-art img { width:100%; }
.studio .hero-art figcaption { display:none; }
.studio .hero-bottom { position:relative; z-index:2; margin-top:3rem; }
.studio .hero-note { color:var(--muted); }
.studio .approach-section { margin:0; padding-top:6rem; }
.studio .approach-section .section-title { max-width:15ch; }
.studio .approach-principle { font-weight:650; letter-spacing:-.04em; }
.studio .approach-grid { margin-left:calc(21.875% + 3rem); }
.studio .journey { position:relative; margin-top:4rem; gap:0; }
.studio .journey li { padding:1.5rem 1.5rem 0 0; }
.studio .journey li::before { background:var(--paper-ink); width:13px; height:13px; top:-7px; transform:rotate(45deg); }
.studio .journey h3 { font-size:1.5rem; letter-spacing:-.04em; }
.studio .process-step h3 { font-weight:650; font-size:2rem; letter-spacing:-.04em; }
.studio .direction__num { font-family:var(--mono); font-size:1rem; font-style:normal; }
.studio .case-card h3 { font-size:clamp(1.6rem,3vw,2.4rem); letter-spacing:-.04em; }
.studio .contact-title { font-weight:700; letter-spacing:-.055em; }
.studio .insight-card h3 { font-weight:650; letter-spacing:-.05em; }
.service-row { display:grid; grid-template-columns:9rem 1.2fr 1fr 3rem; gap:2rem; align-items:center; padding:3rem 0; border-top:1px solid var(--line); transition:background .2s,padding .2s; }
.service-row:last-child { border-bottom:1px solid var(--line); }
.service-row h2,.service-row h3 { font:650 clamp(1.6rem,3vw,2.75rem)/1.12 var(--sans); letter-spacing:-.05em; margin:0; }
.service-row p { color:var(--muted); margin:0; max-width:25ch; }
.service-index { color:var(--acid); font:.75rem var(--mono); }
.service-arrow { color:var(--acid); font-size:2.5rem; justify-self:end; transition:transform .2s; }
.service-history { display:flex; flex-wrap:wrap; gap:1rem 3rem; margin-top:2rem; }
.service-history a { display:inline-flex; gap:1rem; align-items:center; min-height:44px; color:var(--acid); scroll-margin-top:7rem; }
.service-row:hover { background:rgba(163,230,53,.035); }
.service-row:hover .service-arrow { transform:translate(3px,-3px); }
.library-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin:2rem 0; }
.library-heading h2 { font-size:clamp(2rem,4vw,3rem); letter-spacing:-.05em; margin:0; }
.library-link { display:flex; justify-content:space-between; padding:1.5rem 0; margin-top:2rem; border-block:1px solid var(--line); color:var(--acid); font-weight:700; }
.breadcrumbs { display:flex; flex-wrap:wrap; gap:.75rem; align-items:center; padding-top:7.5rem; font-size:.8rem; color:var(--muted); }
.breadcrumbs a { display:inline-flex; align-items:center; min-height:44px; }
.breadcrumbs a:hover { color:var(--acid); }
.breadcrumbs [aria-current] { max-width:60ch; }
.collection-hero,.editorial-hero { padding-top:4rem; padding-bottom:4rem; }
.collection-hero h1,.editorial-hero h1,.service-hero h1 { font-size:clamp(3rem,6.1vw,6rem); line-height:1.04; letter-spacing:-.06em; max-width:17ch; margin:1.4rem 0 1.8rem; font-weight:750; text-wrap:balance; }
.editorial-hero h1 { max-width:21ch; font-size:clamp(2.7rem,5.6vw,5.5rem); overflow-wrap:anywhere; hyphens:auto; }
.editorial-deck { font-size:clamp(1.1rem,1.8vw,1.4rem); color:var(--muted); max-width:48rem; line-height:1.6; margin:0; }
.service-hero { display:grid; grid-template-columns:1.2fr 1fr; gap:4rem; align-items:center; padding-top:3rem; padding-bottom:5rem; overflow:hidden; }
.service-hero .button { margin-top:2rem; }
.service-emblem { min-height:27rem; position:relative; display:grid; place-items:center; isolation:isolate; }
.service-emblem::before,.service-emblem::after,.service-emblem i { content:''; position:absolute; width:75%; height:65%; border:1px solid #687b4b; transform:rotate(-28deg) skew(20deg,8deg); background:linear-gradient(130deg,#3c4931,#111910 70%); box-shadow:-18px 25px 0 #10170e,-19px 26px 0 #46563c,0 60px 40px #0006; }
.service-emblem::before { top:8%; z-index:-1; }
.service-emblem::after { top:21%; z-index:-2; border-color:#52653e; }
.service-emblem i { top:34%; z-index:-3; }
.service-emblem span { font-weight:800; font-size:clamp(4rem,7vw,7rem); letter-spacing:-.08em; color:var(--acid); transform:rotate(-28deg) skew(20deg,8deg) translateY(-2rem); }
.service-emblem[data-mark="SEARCH"] span { font-size:clamp(2rem,4vw,4rem); }
.service-emblem b { position:absolute; bottom:0; font:.65rem var(--mono); color:var(--subtle); letter-spacing:.12em; }
.service-outcomes { background:var(--paper); color:var(--paper-ink); padding-block:4rem; }
.outcomes-layout { display:grid; grid-template-columns:1fr 1fr; gap:5rem; }
.outcomes-layout .micro-label { color:var(--paper-muted); }
.outcomes-layout p { font-size:clamp(1.5rem,2.5vw,2rem); letter-spacing:-.03em; line-height:1.5; margin:1rem 0 0; }
.outcomes-layout h2 { font-size:1rem; margin:0 0 1rem; }
.outcomes-layout ol { padding-left:1.4rem; margin:0; }
.outcomes-layout li { padding:.65rem .5rem; border-bottom:1px solid #bcc3b4; }
.editorial-layout { display:grid; grid-template-columns:minmax(12rem,1fr) minmax(0,2.7fr); gap:6rem; padding-top:5rem; }
.editorial-aside { align-self:start; position:sticky; top:7rem; max-width:19rem; }
.editorial-aside nav { display:grid; margin-top:1rem; }
.editorial-aside a { padding:.7rem 0; border-bottom:1px solid var(--line); font-size:.9rem; color:var(--muted); line-height:1.5; }
.editorial-aside a:hover { color:var(--acid); }
.editorial-body { max-width:54rem; min-width:0; }
.editorial-body>section { margin-bottom:4rem; scroll-margin-top:7rem; }
.editorial-body h2 { font-size:clamp(1.7rem,3vw,2.7rem); line-height:1.15; letter-spacing:-.045em; margin:0 0 1.5rem; font-weight:650; text-wrap:balance; }
.editorial-body h3 { font-size:1.3rem; line-height:1.4; }
.editorial-body p,.editorial-body li { color:var(--muted); font-size:1.06rem; line-height:1.85; }
.editorial-body strong { color:var(--ink); font-weight:700; }
.editorial-body ul,.editorial-body ol { padding-left:1.4rem; }
.editorial-body li { padding-left:.25rem; margin-bottom:.65rem; }
.editorial-body a:not(.button):not(.editorial-whatsapp) { text-decoration:underline; text-underline-offset:.2em; }
.editorial-body blockquote,.insight-checklist { margin:2rem 0; padding:1.5rem; border-left:3px solid var(--acid); background:var(--surface); }
.table-scroll { overflow-x:auto; margin:2rem 0; border:1px solid var(--line); }
.editorial-body table { border-collapse:collapse; width:100%; font-size:.9rem; }
.editorial-body th,.editorial-body td { text-align:left; vertical-align:top; padding:1rem; min-width:9rem; border:1px solid var(--line); }
.editorial-body th { background:var(--surface-2); font-weight:700; }
.editorial-body td { color:var(--muted); }
.article-byline { display:flex; flex-wrap:wrap; gap:.75rem 1.5rem; margin-top:2rem; font-size:.8rem; color:var(--subtle); }
.article-byline a { color:var(--acid); min-height:44px; display:inline-flex; align-items:center; }
.article-byline span { display:inline-flex; align-items:center; }
.editorial-contact { background:var(--acid); color:var(--on-acid); padding:clamp(1.5rem,4vw,3.5rem); margin-block:2rem; }
.editorial-contact h2 { font-size:clamp(1.75rem,3vw,3rem); letter-spacing:-.05em; line-height:1.15; margin:1.3rem 0; }
.editorial-contact p,.editorial-contact .micro-label { color:#29351b; max-width:45rem; }
.editorial-contact .button { background:var(--on-acid); color:var(--ink); border-color:var(--on-acid); }
.editorial-contact .editorial-whatsapp { display:inline-flex; min-height:44px; align-items:center; padding:1rem; font-weight:700; }
.editorial-contact .privacy-note { font-size:.8rem; line-height:1.6; margin-top:1.5rem; }
.editorial-contact :focus-visible { outline-color:#253b10; }
.related-section { padding-top:3rem; padding-bottom:5rem; }
.related-section>h2 { font-size:2rem; letter-spacing:-.04em; }
.related-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-block:1px solid var(--line); }
.related-links>a { padding:2rem; border-right:1px solid var(--line); display:flex; flex-direction:column; align-items:start; }
.related-links>a:first-child { padding-left:0; }
.related-links>a:last-child { border-right:0; }
.related-links h3 { font-size:1.45rem; line-height:1.25; letter-spacing:-.03em; font-weight:650; margin:1rem 0; }
.related-links>a>span:last-child { color:var(--acid); font-size:1.5rem; margin-top:auto; }
.guide-library { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); padding-bottom:6rem; }
.guide-tile { display:flex; flex-direction:column; align-items:start; position:relative; padding:3rem 3rem 3rem 0; border-top:1px solid var(--line); }
.guide-tile:nth-child(even) { padding-left:3rem; border-left:1px solid var(--line); }
.guide-index { display:block; font-size:5rem; line-height:1; color:#6f805c; letter-spacing:-.08em; margin-bottom:2rem; font-weight:700; }
.guide-tile h2 { font-size:clamp(1.7rem,3vw,2.7rem); font-weight:650; letter-spacing:-.045em; line-height:1.2; margin:1.5rem 0 1rem; }
.guide-tile p { color:var(--muted); margin:0 0 1.5rem; }
.guide-tile .text-link { margin-top:auto; }
.guide-tile:hover h2,.related-links>a:hover h3 { color:var(--acid); }
@media(min-width:100rem) { .studio .hero-art { right:calc((100vw - 1500px)/2); } }
@media(max-width:68rem) {
 .studio .hero { min-height:51rem; }
 .studio .hero-art { width:80%; right:-22%; top:8rem; opacity:.6; }
 .studio .hero-heading { font-size:clamp(4rem,8.5vw,6rem); }
 .service-row { grid-template-columns:6rem 1.3fr 1fr 2rem; gap:1.2rem; }
 .editorial-layout { gap:3rem; }
 .service-hero { gap:2rem; }
 .service-emblem { min-height:22rem; }
 .studio .approach-grid { margin-left:11rem; }
}
@media(max-width:52rem) {
 .studio .hero { padding-top:7.5rem; min-height:0; }
 .studio .hero-kicker { margin-bottom:2rem; }
 .studio .hero-heading { font-size:clamp(3.4rem,11vw,5.5rem); max-width:13ch; }
 .studio .hero-copy { max-width:36rem; font-size:1rem; }
 .studio .hero-art { position:relative; width:100%; max-width:38rem; right:auto; top:auto; opacity:1; margin:-1rem auto -1rem; }
 .studio .hero-art::after { display:none; }
 .studio .hero-art img { max-height:30rem; object-fit:contain; }
 .studio .hero-bottom { margin-top:0; }
 .studio .hero-name { margin-bottom:0; font-size:.7rem; }
 .studio .approach-grid { margin-left:0; }
 .studio .journey { gap:2rem 1rem; }
 .service-row { grid-template-columns:1fr 2rem; gap:1rem; padding-block:2rem; }
 .service-row .service-index { grid-column:1; }
 .service-row h2,.service-row h3 { grid-column:1; font-size:2rem; }
 .service-row p { grid-column:1; max-width:none; }
 .service-row .service-arrow { grid-column:2; grid-row:2; }
 .breadcrumbs { padding-top:6.5rem; }
 .collection-hero,.editorial-hero { padding-block:2rem 3rem; }
 .collection-hero h1,.editorial-hero h1,.service-hero h1 { font-size:clamp(2.5rem,8vw,4rem); }
 .service-hero { grid-template-columns:1fr; padding-top:2rem; padding-bottom:3rem; }
 .service-emblem { min-height:20rem; max-width:27rem; width:100%; justify-self:center; }
 .service-emblem span { font-size:5rem; }
 .outcomes-layout { grid-template-columns:1fr; gap:2rem; }
 .editorial-layout { grid-template-columns:1fr; padding-top:3rem; gap:3rem; }
 .editorial-aside { position:static; max-width:none; }
 .editorial-aside nav { display:grid; grid-template-columns:1fr 1fr; gap:0 1.5rem; }
 .editorial-body { max-width:none; }
 .related-links { grid-template-columns:1fr; }
 .related-links>a,.related-links>a:first-child { padding:1.5rem 0; border-right:0; border-bottom:1px solid var(--line); }
 .related-links>a:last-child { border-bottom:0; }
 .guide-tile,.guide-tile:nth-child(even) { padding:2rem 1rem 2rem 0; }
 .guide-tile:nth-child(even) { padding-left:1.5rem; }
}
@media(max-width:35rem) {
 .editorial-hero h1 { font-size:clamp(2rem,8vw,2.8rem); }
 .studio .hero-heading { font-size:clamp(3rem,12.2vw,4.4rem); }
 .studio .hero-art { margin-top:.5rem; }
 .studio .hero-art img { max-height:21rem; }
 .studio .hero-actions .button { font-size:.7rem; padding-inline:1rem; }
 .studio .journey { grid-template-columns:1fr; gap:2rem; }
 .studio .journey h3 { margin-top:1rem; }
 .guide-library { grid-template-columns:1fr; }
 .guide-tile,.guide-tile:nth-child(even) { padding:2rem 0; border-left:0; }
 .guide-index { font-size:4rem; margin-bottom:1rem; }
 .editorial-aside nav { grid-template-columns:1fr; }
 .editorial-contact .button { font-size:.72rem; white-space:normal; }
 .library-heading { align-items:start; flex-direction:column; }
}
@media(prefers-reduced-motion:reduce) { .studio .service-row,.studio .service-arrow { transition:none; } }
