/* Interior pages reuse the home palette and typefaces, with static editorial flow. */
.inner-shell { width: min(100%,900px); margin-inline: auto; }
.inner-header { padding: max(24px,env(safe-area-inset-top)) 24px 0; }
.inner-header a { display: inline-flex; align-items: center; min-height: 44px; color: var(--amber); text-decoration: none; font-weight: 700; }
.inner-main { padding: var(--space-md) 24px var(--space-lg); }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 6px 10px; margin-bottom: var(--space-md); color: var(--muted); font-size: .8125rem; }
.breadcrumbs a { text-underline-offset: 4px; }
.inner-title { margin: 0 0 var(--space-md); color: var(--amber); overflow-wrap: anywhere; }
.inner-lead { max-width: 38ch; margin: 0 0 var(--space-lg); color: var(--white); font-size: var(--subtitle-size); line-height: 1.5; }
.inner-page h2 { margin: 0 0 var(--space-md); font: 700 var(--subtitle-size)/var(--subtitle-leading) var(--typeface); color: var(--white); letter-spacing: 0; }
.inner-copy { max-width: 42ch; }
.inner-copy p, .project-copy p { margin: 0 0 var(--space-md); color: var(--muted); line-height: 1.6; }
.editorial-section + .editorial-section { margin-top: var(--space-lg); }
.inner-cta { display: inline-flex; align-items: center; gap: var(--space-md); min-height: 56px; margin-top: var(--space-lg); padding: var(--space-sm) 0; color: var(--amber); font: 700 var(--subtitle-size)/var(--subtitle-leading) var(--typeface); letter-spacing: -.015em; text-underline-offset: 6px; }
.portfolio-piece + .portfolio-piece { margin-top: var(--space-lg); }
.portfolio-visual { margin: 0 -8px var(--space-md); background: #000; }
.portfolio-visual video { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; background: #000; }
.inner-page .portfolio-title { margin: 0 0 var(--space-sm); font-size: var(--project-name-size); }
.portfolio-piece p { max-width: 42ch; margin: 0 0 var(--space-md); color: var(--muted); line-height: 1.6; }
.inner-page .project-services { margin: var(--space-md) 0; color: var(--muted); font-size: .8125rem; font-weight: 500; letter-spacing: .025em; line-height: var(--text-leading); }
.portfolio-link { display: inline-flex; align-items: center; min-height: 44px; color: var(--amber); font-weight: 700; text-transform: uppercase; text-underline-offset: 6px; }
.project-copy { max-width: 42ch; margin-top: var(--space-lg); }
.project-copy section + section { margin-top: var(--space-lg); }
.related-projects { margin-top: var(--space-lg); }
.related-projects a { display: block; min-height: 44px; padding: var(--space-md) 0; border-bottom: 1px solid #29271e; color: var(--white); font-size: var(--subtitle-size); font-weight: 700; text-decoration: none; }
.related-projects a:hover { color: var(--amber); }
.project-pagination { display: flex; flex-wrap: wrap; gap: var(--space-md); margin-top: var(--space-lg); padding-top: var(--space-md); }
.project-pagination a { flex: 1 1 200px; min-width: 0; min-height: 44px; color: var(--muted); overflow-wrap: anywhere; text-underline-offset: 5px; }
.project-pagination span { display: block; margin-bottom: var(--space-sm); color: var(--muted); font-size: .75rem; text-transform: uppercase; }
.project-back { display: inline-flex; align-items: center; min-height: 44px; margin-top: var(--space-md); color: var(--muted); }
.inner-signature { margin: var(--space-lg) 0 0; color: var(--amber); font: 400 var(--title-size)/1.15 var(--title-typeface); text-align: right; }
.inner-signature span { display: block; }
.contact-page .inner-promise { margin: var(--space-sm) 0 var(--space-md); font: 400 var(--title-size)/var(--title-leading) var(--title-typeface); text-transform: uppercase; color: var(--white); }
.contact-page .inner-lead { margin-bottom: var(--space-sm); color: var(--muted); }
.contact-page .inner-cta { display: flex; min-height: 64px; margin-top: var(--space-lg); padding-block: var(--space-md); border-top: 0; font-size: var(--subtitle-size); }
.inner-footer { margin: 0 24px; padding: var(--space-sm) 0 max(var(--space-md),env(safe-area-inset-bottom)); color: #908a7d; font: 400 .8125rem/var(--text-leading) var(--typeface); letter-spacing: 0; }
.inner-footer p { margin: 0; }
.inner-footer nav { display: flex; flex-wrap: wrap; gap: 0 14px; margin-top: var(--space-sm); }
.inner-footer a { display: inline-flex; align-items: center; min-height: 44px; }
@media (min-width: 700px) { .inner-main { padding-top: var(--space-lg); } .portfolio-visual { margin-inline: 0; } }

/* FERRALLA.CAT case: the existing palette and typography, with no motion. */
.ferralla-case { margin-top: var(--space-lg); padding-block: var(--space-md); background: var(--black); }
.ferralla-label { margin: 0 0 var(--space-md); color: var(--amber); font-size: .75rem; font-weight: 700; letter-spacing: .04em; }
.ferralla-logo { display: block; width: min(100%,580px); height: auto; margin: 0 auto var(--space-lg); }
.inner-page .ferralla-case h2 { max-width: 22ch; margin-bottom: var(--space-md); color: var(--amber); font: 400 var(--title-size)/var(--title-leading) var(--title-typeface); letter-spacing: -.015em; text-wrap: balance; }
.ferralla-stats { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--space-md); margin: 0 0 var(--space-lg); }
.ferralla-stats div { display: flex; flex-direction: column; gap: var(--space-sm); min-width: 0; }
.ferralla-stats dd { order: -1; margin: 0; color: var(--amber); font: 400 clamp(2.2rem,9vw,3.5rem)/1 var(--title-typeface); }
.ferralla-stats dt { max-width: 20ch; color: var(--white); line-height: 1.4; overflow-wrap: anywhere; }
.ferralla-note { margin: var(--space-md) 0 0; color: var(--muted); font-size: .8125rem; line-height: var(--text-leading); }
.ferralla-link { gap: var(--space-sm); margin-top: var(--space-md); }

.inner-copy a, .project-copy p a { text-underline-offset: 4px; }

/* The linked legacy templates keep their structure, media and form behavior. */
body:is(.service-page,.case-page) {
  --amber: #e9ac19; --white: #f3f0e9; --muted: #b6b1a6;
  --o: var(--amber); --w: var(--white); --g: var(--muted);
  --space-sm: 8px; --space-md: 16px; --space-lg: 32px;
  --title-size: clamp(2.1rem,10.8vw,2.58rem); --title-leading: 1.08;
  --subtitle-size: 1.25rem; --subtitle-leading: 1.2; --text-size: .9375rem; --text-leading: 1.5;
  --typeface: Arial, Helvetica, sans-serif; --meta: var(--typeface);
  font: 400 var(--text-size)/var(--text-leading) var(--typeface); letter-spacing: .01em;
}
body:is(.service-page,.case-page) .shell .page-hero { padding-block: max(24px,env(safe-area-inset-top)) var(--space-lg); }
body:is(.service-page,.case-page) .page-hero .desorden-label { margin-block: var(--space-md) 0; }
body:is(.service-page,.case-page) .page-hero .back-home + .desorden-label { margin-top: var(--space-md); }
body:is(.service-page,.case-page) .shell .page-hero .display,
body:is(.service-page,.case-page) .display { margin-top: var(--space-md); color: var(--amber); font: 400 var(--title-size)/var(--title-leading) var(--anton); letter-spacing: -.015em; overflow-wrap: anywhere; }
body:is(.service-page,.case-page) .page-hero .lead,
body:is(.service-page,.case-page) .contact .lead { max-width: 38ch; margin-block: var(--space-md) 0; color: var(--white); font-size: var(--subtitle-size); line-height: 1.5; }
body:is(.service-page,.case-page) .page-hero .hero-actions { gap: var(--space-sm) var(--space-md); margin-top: var(--space-md); }
body:is(.service-page,.case-page) .case-detail,
body:is(.service-page,.case-page) .section:not(.page-hero) { padding-block: var(--space-md); }
body:is(.service-page,.case-page) .case-detail h2,
body:is(.service-page,.case-page) .shell .service-item h3,
body:is(.service-page,.case-page) .shell .offer h3,
body:is(.service-page,.case-page) .shell .service-faq-item h3 { margin: var(--space-sm) 0 var(--space-md); color: var(--white); font: 700 var(--subtitle-size)/var(--subtitle-leading) var(--typeface); letter-spacing: -.015em; }
body:is(.service-page,.case-page) .case-detail p,
body:is(.service-page,.case-page) .shell .service-copy,
body:is(.service-page,.case-page) .shell .service-item p,
body:is(.service-page,.case-page) .shell .service-faq p { max-width: 42ch; color: var(--muted); font-size: var(--text-size); line-height: 1.6; }
body:is(.service-page,.case-page) .case-detail p + p,
body:is(.service-page,.case-page) .shell .service-copy p,
body:is(.service-page,.case-page) .shell .service-faq p { margin-block: var(--space-md) 0; }
body:is(.service-page,.case-page) .desorden-label,
body:is(.service-page,.case-page) .case-kicker,
body:is(.service-page,.case-page) .case-meta { color: var(--muted); font: 400 .8125rem/var(--text-leading) var(--typeface); letter-spacing: .025em; }
body:is(.service-page,.case-page) .case-meta { gap: var(--space-sm) var(--space-md); margin-top: var(--space-md); }
body:is(.service-page,.case-page) .shell .case-media figcaption { margin-top: var(--space-sm); color: var(--muted); font: 400 .8125rem/var(--text-leading) var(--typeface); }
body:is(.service-page,.case-page) .shell .service-list { gap: var(--space-md); margin-top: var(--space-md); }
body:is(.service-page,.case-page) .shell .service-item,
body:is(.service-page,.case-page) .shell .service-faq-item { padding-block: var(--space-md); }
body:is(.service-page,.case-page) .shell .service-work { gap: var(--space-md); margin-top: var(--space-md); }
body:is(.service-page,.case-page) .shell .service-crosslinks { gap: var(--space-sm) var(--space-md); margin-top: var(--space-md); }
body:is(.service-page,.case-page) .project-brand { margin-top: var(--space-md); }
body:is(.service-page,.case-page) .project-brand img { max-width: min(68vw,240px); max-height: 100px; }
body:is(.service-page,.case-page) .shell .contact { padding-block: var(--space-lg) var(--space-md); }
body:is(.service-page,.case-page) .contact .display { color: var(--white); }
body:is(.service-page,.case-page) .shell .contact .channels { gap: var(--space-sm) var(--space-md); margin-top: var(--space-md); }
body:is(.service-page,.case-page) :is(.desorden-action,.channel) { font: 700 var(--text-size)/var(--text-leading) var(--typeface); letter-spacing: -.015em; }
body:is(.service-page,.case-page) .case-detail p a { text-decoration: underline; text-underline-offset: 4px; }
body:is(.service-page,.case-page) footer,
body:is(.service-page,.case-page) .shell .service-footer { gap: var(--space-sm) var(--space-md); margin-top: var(--space-md); padding-block: var(--space-sm) max(var(--space-md),env(safe-area-inset-bottom)); color: #908a7d; font: 400 .8125rem/var(--text-leading) var(--typeface); }
body:is(.service-page,.case-page) footer .legal-links,
body:is(.service-page,.case-page) .shell .service-footer nav { gap: 0 14px; }
body:is(.service-page,.case-page) footer .legal-links a,
body:is(.service-page,.case-page) .shell .service-footer .legal-links a { color: #908a7d; }
body:is(.service-page,.case-page) .nav-menu { background: rgb(0 0 0 / .98); }
body:is(.service-page,.case-page) .nav-menu .nav-link { color: #dedbd4; }
body:is(.service-page,.case-page) .nav-menu .nav-link:is(:hover,:focus-visible) { color: var(--amber); }
@media (max-width: 699px) {
  body:is(.service-page,.case-page) { --gutter: 24px; }
  body:is(.service-page,.case-page) .nav-menu .nav-link { font: 700 .9375rem/var(--text-leading) var(--typeface); letter-spacing: 0; }
}
