/* Loaded only by Home and /por-que-automatizar/. */
.experience {
  --accent: #b76b48;
  --soft: #e9e3d8;
}
.experience main h2 { font-size: clamp(2.6rem, 4.7vw, 4.5rem); line-height: 1.06; }
.experience h3 { font-family: var(--sans); font-weight: 550; line-height: 1.25; }
.experience em { font-weight: 400; }
.experience .button { gap: 24px; border-radius: 4px; }
.experience .button > span { font-size: 1.35rem; }
.home-page .text-link { border-bottom: 1px solid currentColor; padding-bottom: 3px; }
.home-page .text-link::after { content: none; }
.experience-section { padding-block: clamp(72px, 8vw, 124px); }
.experience main section[id] { scroll-margin-top: calc(var(--header-height) + 20px); }
.experience-heading { display: flex; align-items: end; justify-content: space-between; gap: 50px; margin-bottom: 56px; }
.experience-heading h2 { margin: 0; }
.experience-heading > p, .experience-heading > div { max-width: 400px; }
.experience-heading p { color: var(--muted); font-size: 1.15rem; }

/* A single, full-height photographic opening. Text is readable without animation. */
.landing-hero { position: relative; min-height: calc(100svh - var(--header-height)); display: flex; align-items: center; overflow: hidden; isolation: isolate; background: #242923; color: var(--cream-light); }
.landing-hero__image { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 45%; }
.landing-hero::before { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, rgba(14, 22, 18, .86), rgba(14, 22, 18, .53) 48%, rgba(14, 22, 18, .16)), linear-gradient(0deg, rgba(14, 22, 18, .48), transparent 40%); }
.landing-hero__content { padding-block: 90px 140px; }
.landing-hero h1 { margin: 0 0 30px; max-width: 920px; color: var(--cream-light); font-size: clamp(4rem, 7.7vw, 7.5rem); line-height: 1.02; letter-spacing: -.055em; text-wrap: initial; }
.title-mask { display: block; overflow: hidden; padding-bottom: .08em; margin-bottom: -.08em; }
.title-mask > span { display: block; }
.landing-hero__content > p { max-width: 550px; font-size: clamp(1.05rem, 1.4vw, 1.2rem); line-height: 1.6; color: #f3efe7; }
.landing-hero .button-row { align-items: center; gap: 30px; }
.hero-link { color: var(--cream-light); font-size: .95rem; text-decoration: none; border-bottom: 1px solid #a6aaa3; padding-block: 12px; }

/* Shared header for the photographic Home and Nosotros openings. */
:is(.home-page, .about-hero-page, .automation-hero-page, .solutions-hero-page, .method-hero-page) .site-header { margin-bottom: calc(-1 * var(--header-height)); border-bottom: 0; box-shadow: inset 0 -1px rgba(216, 209, 197, .65); transition: background-color 220ms ease, box-shadow 220ms ease; }
:is(.home-page, .about-hero-page, .automation-hero-page, .solutions-hero-page, .method-hero-page).hero-at-top:not(.menu-open) .site-header { background: transparent; backdrop-filter: none; box-shadow: none; }
:is(.home-page, .about-hero-page, .automation-hero-page, .solutions-hero-page, .method-hero-page).hero-at-top:not(.menu-open) .site-header .brand-logo { filter: brightness(0) invert(1); }
:is(.home-page, .about-hero-page, .automation-hero-page, .solutions-hero-page, .method-hero-page).hero-at-top:not(.menu-open) .site-header .nav-link { color: var(--cream-light); }
:is(.home-page, .about-hero-page, .automation-hero-page, .solutions-hero-page, .method-hero-page).hero-at-top:not(.menu-open) .site-header .header-mail,
:is(.home-page, .about-hero-page, .automation-hero-page, .solutions-hero-page, .method-hero-page).hero-at-top:not(.menu-open) .site-header .menu-toggle { color: var(--cream-light); border-color: rgba(251, 249, 245, .55); }
.home-page .landing-hero { min-height: 100svh; padding-top: var(--header-height); }
.home-page .landing-hero h1 { max-width: 1180px; font-size: clamp(3rem, 6.4vw, 6.2rem); }
.home-page .grindlane-booking { margin-top: 32px; }

/* Nosotros: the supplied photograph and original copy, scoped to its opening. */
.about-hero-page .about-hero { position: relative; isolation: isolate; overflow: hidden; display: flex; align-items: center; min-height: 100svh; padding-top: var(--header-height); background: var(--graphite-dark); color: var(--cream-light); }
.about-hero__image { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 65% center; }
.about-hero::before { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, rgba(10,17,15,.78), rgba(10,17,15,.5) 37%, rgba(10,17,15,.08) 66%), linear-gradient(180deg, rgba(10,17,15,.55), transparent 24%); }
.about-hero__content { padding-block: 76px 100px; }
.about-hero h1 { max-width: 650px; margin: 0 0 26px; color: inherit; font-size: clamp(3rem, 4.5vw, 5.2rem); line-height: 1.06; }
.about-hero .lead { max-width: 550px; margin: 0 0 30px; color: inherit; font-size: clamp(1.05rem, 1.3vw, 1.2rem); line-height: 1.6; }
.about-hero .button--outline { color: var(--cream-light); border-color: rgba(251,249,245,.75); }
.about-hero .button--outline:is(:hover, :focus-visible) { background: var(--cream-light); color: var(--green); }
@media (max-width: 1000px) {
  .about-hero-page .about-hero { align-items: flex-end; }
  .about-hero__image { object-position: 76% center; }
  .about-hero::before { background: linear-gradient(0deg, rgba(10,17,15,.87), rgba(10,17,15,.52) 36%, rgba(10,17,15,.04) 70%), linear-gradient(180deg, rgba(10,17,15,.58), transparent 20%); }
  .about-hero__content { padding-block: 48svh 48px; }
  .about-hero h1 { max-width: 550px; font-size: clamp(2.5rem, 5vw, 3.5rem); }
}
@media (max-width: 600px) {
  .about-hero__image { object-position: 77.5% center; }
  .about-hero__content { padding-block: 38svh 32px; }
  .about-hero h1 { font-size: clamp(1.85rem, 7.8vw, 2.4rem); margin-bottom: 20px; }
  .about-hero .lead { font-size: .98rem; line-height: 1.55; margin-bottom: 24px; }
}

/* Benefit mosaic: drawn symbols, alternating proportions and a growing connector. */
.benefits-section { background: var(--cream); }
.benefit-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 20px; }
.benefit-card { position: relative; min-height: 275px; display: flex; align-items: end; gap: 30px; padding: 38px; border-radius: 6px; background: var(--soft); overflow: hidden; }
.benefit-card:nth-child(1), .benefit-card:nth-child(4) { grid-column: span 7; }
.benefit-card:nth-child(2), .benefit-card:nth-child(3) { grid-column: span 5; }
.benefit-card--time { background: var(--green); color: var(--cream-light); }
.benefit-card--growth { background: #b56643; color: #171a18; }
.benefit-card--control { background: #deded6; }
.benefit-card h3 { color: inherit; max-width: 340px; font-size: clamp(1.4rem, 2vw, 1.85rem); }
.benefit-card p { max-width: 360px; margin: 0; font-size: 1rem; line-height: 1.6; }
.benefit-symbol { width: 86px; height: 86px; flex: 0 0 86px; align-self: start; }
.benefit-index { position: absolute; right: 28px; top: 18px; font-size: .8rem; opacity: .65; }
.benefit-connection { display: flex; align-items: center; gap: 20px; padding-top: 30px; font-size: .85rem; color: var(--muted); }
.benefit-connection i { position: relative; height: 1px; background: var(--border); flex: 1; overflow: hidden; }
.benefit-connection i::after { content: ""; position: absolute; inset: 0; background: var(--terracotta); transform: scaleX(var(--progress, 1)); transform-origin: left; }
.symbol-draw { stroke-dasharray: 1; stroke-dashoffset: 0; }

/* Process-first story: a vertical line follows the reader through the three stages. */
.grindlane-section { background: var(--graphite-dark); color: var(--cream); overflow: hidden; }
.grindlane-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 10%; }
.grindlane-intro h2 { color: var(--cream); }
.grindlane-intro h2 em { color: #d49a7b; }
.grindlane-intro > p { color: #c3c7c0; font-size: 1.15rem; }
.grindlane-orbit { position: relative; display: grid; place-items: center; width: 170px; height: 170px; margin-top: 42px; border: 1px solid #515952; border-radius: 50%; transform: rotate(calc(var(--progress, 1) * 40deg)); }
.grindlane-orbit::before { content: ""; position: absolute; inset: 12px; border: 1px solid #39443b; border-radius: 50%; }
.grindlane-orbit > span { font-family: var(--serif); font-style: italic; font-size: 5rem; color: var(--cream); transform: rotate(calc(var(--progress, 1) * -40deg)); }
.grindlane-orbit i { position: absolute; width: 14px; height: 14px; right: 9px; top: 29px; border-radius: 50%; background: #d49a7b; }
.grindlane-journey { position: relative; padding-left: 48px; }
.grindlane-journey::before, .grindlane-journey::after { content: ""; position: absolute; top: 24px; bottom: 24px; left: 0; width: 1px; background: #424a43; }
.grindlane-journey::after { background: #d49a7b; transform: scaleY(var(--progress, 1)); transform-origin: top; }
.grindlane-journey article { position: relative; padding: 28px 0 32px; border-bottom: 1px solid #3a403b; }
.grindlane-journey article:last-child { border: 0; }
.grindlane-journey article::before { position: absolute; z-index: 1; content: ""; top: 36px; left: -52px; width: 9px; height: 9px; border-radius: 50%; background: #d49a7b; }
.journey-number { display: block; color: #d49a7b; font-size: .85rem; margin-bottom: 16px; }
.grindlane-journey h3 { color: var(--cream); font-size: clamp(1.6rem, 2.5vw, 2.25rem); }
.grindlane-journey p { max-width: 430px; color: #c3c7c0; margin: 0; }
.home-page .grindlane-journey::before, .home-page .grindlane-journey::after { top: 36px; bottom: auto; height: var(--journey-height, calc(100% - 72px)); }
.home-page .grindlane-journey article::before { transition: background 300ms, box-shadow 300ms; background: #68716a; }
.home-page .grindlane-journey article.is-complete::before { background: #d49a7b; }
.home-page .grindlane-journey article.is-active::before { background: #f2bd9e; box-shadow: 0 0 0 6px rgba(212,154,123,.14); }
.home-page .grindlane-journey article.is-active .journey-number { color: #f2bd9e; }

/* The original mosaic geometry is independent of its nine photographic scenes. */
.solutions-section { background: #e9e5dd; }
.solution-mosaic { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.solution-tile { position: relative; display: flex; align-items: end; min-height: 225px; padding: 30px; overflow: hidden; isolation: isolate; border-radius: 5px; background: var(--cream-light); color: var(--graphite); text-decoration: none; transition: background 250ms, box-shadow 300ms; }
.solution-tile:nth-child(3n) { background: #d9ded5; }
.solution-tile--photo { min-height: 340px; }
.solution-tile:first-child { grid-column: span 2; }
.solution-tile:nth-child(4) { grid-column: span 2; }
.solution-tile:nth-child(5) { grid-column: span 2; }
.solution-tile:nth-child(7) { grid-column: span 2; }
.home-page .solution-tile--image { background: #25392e; color: #f7f3ec; }
.home-page .solution-tile__media { position: absolute; z-index: -2; inset: 0; overflow: hidden; }
.home-page .solution-tile img { width: 100%; height: 100%; object-fit: cover; object-position: var(--image-position, center); transform: scale(1); transition: transform 850ms cubic-bezier(.2,.65,.3,1); }
.home-page .solution-tile--image::after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(0deg, rgba(15,23,18,var(--shade-bottom,.96)), rgba(15,23,18,var(--shade-middle,.68)) 48%, rgba(15,23,18,var(--shade-top,.08))); transition: opacity 350ms; }
.solution-tile h3 { max-width: 330px; margin: 0 0 10px; font-size: clamp(1.25rem, 1.8vw, 1.7rem); color: inherit; }
.solution-tile p { max-width: 380px; margin: 0; color: var(--muted); font-size: .95rem; }
.home-page .solution-tile--image p { color: #f7f3ec; }
.home-page .solution-tile__content { transition: transform 350ms ease; }
.home-page .solution-tile:nth-child(1) { --image-position: center 42%; --shade-middle: .58; }
.home-page .solution-tile:nth-child(2) { --image-position: 62% center; --shade-top: .2; }
.home-page .solution-tile:nth-child(3) { --image-position: 68% center; --shade-middle: .72; }
.home-page .solution-tile:nth-child(4) { --image-position: center 48%; --shade-top: .13; }
.home-page .solution-tile:nth-child(5) { --image-position: center 45%; --shade-middle: .58; }
.home-page .solution-tile:nth-child(6) { --image-position: 60% center; --shade-top: .18; }
.home-page .solution-tile:nth-child(7) { --image-position: center 43%; --shade-middle: .58; }
.home-page .solution-tile:nth-child(8) { --image-position: 60% center; --shade-top: .2; }
.home-page .solution-tile:nth-child(9) { --image-position: center 28%; --shade-bottom: .95; --shade-middle: .78; --shade-top: .28; }
.solution-tile:hover, .solution-tile:focus-visible { box-shadow: 0 18px 35px -22px #17241d; background: #d4d5c8; }
.home-page .solution-tile:focus-visible img { transform: scale(1.03); }
.home-page .solution-tile:focus-visible::after { opacity: .94; }
.home-page .solution-tile:focus-visible .solution-tile__content { transform: translateY(-3px); }
@media (hover: hover) and (pointer: fine) {
  .home-page .solution-tile:hover img { transform: scale(1.035); }
  .home-page .solution-tile:hover::after { opacity: .94; }
  .home-page .solution-tile:hover .solution-tile__content { transform: translateY(-3px); }
}
.solution-tile:nth-child(9) { grid-column: 1 / -1; min-height: 175px; background: var(--green); color: var(--cream); }
.solution-tile:nth-child(9) p { color: #d5ded4; }

.method-section { background: var(--cream-light); }
.method-section h2 { font-size: clamp(2.5rem, 4vw, 3.7rem); }
.method-track { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: 35px; padding: 28px 0 0; margin: 0; list-style: none; }
.method-track::before, .method-track::after { content: ""; position: absolute; height: 1px; top: 0; left: 0; right: 0; background: var(--border); }
.method-track::after { background: var(--terracotta); transform: scaleX(var(--progress, 1)); transform-origin: left; }
.method-track li { position: relative; }
.method-track li::before { content: ""; position: absolute; top: -32px; width: 9px; height: 9px; border-radius: 50%; background: var(--terracotta); }
.method-track span { font-size: .85rem; color: var(--terracotta); }
.method-track h3 { margin: 16px 0 10px; font-size: 1.35rem; }
.method-track p { margin: 0; color: var(--muted); }
.team-invitation { display: grid; grid-template-columns: 1.2fr 1fr; background: #ded5c5; }
.team-invitation__image { min-width: 0; overflow: hidden; }
.team-invitation img { width: 100%; height: 100%; object-fit: cover; }
.team-invitation__copy { padding: clamp(42px, 6vw, 90px); align-self: center; }
.team-invitation__copy p { max-width: 400px; color: #51564e; margin-bottom: 30px; }
.team-invitation h2 { font-size: clamp(2.6rem, 4.2vw, 4rem); }
.audit-section { background: var(--cream); }
.audit-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(40px, 7vw, 100px); align-items: start; }
.audit-intro { position: sticky; top: calc(var(--header-height) + 35px); }
.audit-intro h2 { font-size: clamp(2.6rem, 4.1vw, 4rem); }
.audit-intro h2 span { color: var(--terracotta); }
.audit-intro p { max-width: 350px; color: var(--muted); font-size: 1.1rem; margin-bottom: 32px; }
.audit-intro > a { overflow-wrap: anywhere; font-size: .9rem; color: var(--terracotta); }
.home-page .home-closing { background: #ded5c5; }
.home-page .home-closing__layout { display: flex; align-items: center; justify-content: space-between; gap: 60px; }
.home-page .home-closing h2 { font-size: clamp(2.6rem, 4.2vw, 4rem); }
.home-page .home-closing p { margin: 24px 0 0; color: #51564e; max-width: 450px; }
.home-page .home-closing .button { flex-shrink: 0; }

/* The companion page is editorial: a graphic cover, data panels and a bar chart. */
.insight-hero { background: #deded3; overflow: hidden; }
.insight-hero > .container { position: relative; display: grid; grid-template-columns: 1.5fr 1fr; align-items: end; gap: 50px; padding-block: 94px 110px; }
.insight-hero h1 { z-index: 1; margin: 0; font-size: clamp(4rem, 7.5vw, 7rem); line-height: 1; }
.insight-hero h1 em { color: var(--green); }
.insight-hero__aside { position: relative; z-index: 1; max-width: 350px; }
.insight-hero__aside p { font-size: 1.25rem; }
.insight-hero__graphic { position: absolute; top: 40px; right: 80px; width: 370px; height: 300px; display: flex; align-items: end; gap: 20px; opacity: .2; }
.insight-hero__graphic span { width: 50px; background: var(--green); height: 20%; transform-origin: bottom; }
.insight-hero__graphic span:nth-child(2) { height: 40%; }
.insight-hero__graphic span:nth-child(3) { height: 65%; }
.insight-hero__graphic span:nth-child(4) { height: 90%; }
.insight-hero__graphic i { font-style: normal; color: var(--terracotta); font-size: 8rem; align-self: start; }
.insight-page .section { padding-block: clamp(65px, 7.5vw, 105px); }
.insight-page .home-urgency { background: var(--graphite-dark); color: var(--cream); }
.insight-page .home-urgency > .container { display: grid; grid-template-columns: .85fr 1.15fr; gap: 24px 70px; }
.insight-page .commercial-intro { grid-row: span 2; margin: 0; }
.insight-page .commercial-intro h2 { color: var(--cream); font-size: clamp(2.3rem, 3.3vw, 3.25rem); }
.insight-page .home-urgency .lead, .insight-page .home-urgency p, .insight-page .adoption-stat p { color: #c8cdc5; }
.insight-page .adoption-grid { border: 0; gap: 30px; }
.insight-page .adoption-stat { min-height: 0; border: 0; border-top: 1px solid #536054; padding: 26px 0; }
.insight-page .adoption-stat strong { font-family: var(--sans); color: #d8a285; font-size: clamp(3.8rem, 5.5vw, 6rem); letter-spacing: -.08em; }
.insight-page .adoption-stat p { font-size: 1rem; }
.insight-page .home-urgency .source-note { margin: 0; }
.insight-page .commercial-reminder { grid-column: 1 / -1; margin: 24px 0 0; padding-top: 30px; border-top: 1px solid #3d463e; font-size: 1.65rem; max-width: none; }
.insight-page .sector-section .section-heading { max-width: 850px; }
.insight-page .sector-grid { display: grid; grid-template-columns: 1fr; gap: 0; border: 0; }
.insight-page .sector-stat { display: grid; grid-template-columns: 180px 1fr 100px; gap: 30px; align-items: center; border: 0; border-top: 1px solid var(--border); padding: 22px 0; }
.insight-page .sector-stat h3 { font-family: var(--sans); text-transform: none; letter-spacing: 0; font-size: 1.15rem; margin: 0; }
.insight-page .sector-stat strong { grid-column: 3; grid-row: 1; margin: 0; font-family: var(--sans); font-size: 2rem; text-align: right; }
.insight-page .sector-stat > span { grid-column: 2; grid-row: 1; height: 24px; background: #e6e1d8; border-radius: 2px; }
.insight-page .sector-stat i { background: var(--green); transform: scaleX(var(--progress, 1)); transform-origin: left; }
.insight-page .sector-copy { font-family: var(--sans); font-size: 1.1rem; max-width: 880px; color: var(--muted); }
.insight-page .impact-section { background: #e5dfd4; }
.insight-page .impact-section .section-heading { margin-inline: 0; text-align: left; max-width: 850px; }
.insight-page .impact-grid { gap: 0; }
.insight-page .impact-card { border-top: 0; border-right: 1px solid var(--border); background: var(--cream-light); padding: 34px; }
.insight-page .impact-card:nth-child(2) { background: var(--green); color: var(--cream); }
.insight-page .impact-card:nth-child(2) h3, .insight-page .impact-card:nth-child(2) .impact-stat, .insight-page .impact-card:nth-child(2) p { color: var(--cream) !important; }
.insight-page .impact-card:nth-child(2) .impact-action { color: #dfae92; }
.insight-page .impact-stat { font-family: var(--sans); font-size: clamp(3.3rem, 4.6vw, 5.25rem); }
.insight-page .impact-closing { font-size: .92rem; }
.insight-page .friction-section .section-heading { margin-inline: 0; text-align: left; max-width: 850px; }
.insight-page .friction-list { max-width: none; grid-template-columns: repeat(2, 1fr); }
.insight-page .friction-list li { font-family: var(--sans); font-size: 1.1rem; min-height: 90px; }
.insight-page .process-summary { background: var(--green); }
.insight-page .process-summary h2, .insight-page .process-summary h3, .insight-page .process-summary .lead { color: var(--cream); }
.insight-page .process-flow { border-color: #718071; }
.insight-page .value-areas .areas-grid { background: var(--cream-light); }
.insight-page .value-areas .area-item h3 { font-size: 1.4rem; }
.insight-page .faq-question { font-family: var(--sans); font-size: 1.15rem; }

/* Motion is opt-in after JS starts. Content stays visible if JS is unavailable. */
@media (prefers-reduced-motion: no-preference) {
  .experience.motion-ready [data-enter] { transition: opacity 650ms ease, transform 800ms cubic-bezier(.2,.65,.3,1), clip-path 900ms ease; transition-delay: calc(var(--sequence, 0) * 70ms); }
  .experience.motion-ready [data-enter]:not(.is-in) { opacity: 0; transform: translateY(18px); }
  .experience.motion-ready .benefit-card:not(.is-in) { transform: perspective(900px) rotateX(7deg) scale(.97); }
  .experience.motion-ready .benefit-card .symbol-draw { stroke-dashoffset: 1; transition: stroke-dashoffset 1400ms ease 150ms; }
  .experience.motion-ready .benefit-card.is-in .symbol-draw { stroke-dashoffset: 0; }
  .experience.motion-ready .team-invitation__image:not(.is-in) { opacity: 1; transform: none; clip-path: inset(0 12% 0 0); }
  .experience.motion-ready .team-invitation__image.is-in { clip-path: inset(0); }
  .experience .title-mask > span { animation: title-unfold 850ms cubic-bezier(.2,.65,.3,1) both; }
  .experience .title-mask:nth-child(2) > span { animation-delay: 120ms; }
  .experience .landing-hero__image { animation: image-settle 1600ms ease-out both; }
  .home-page .title-mask > span { animation: home-title-unfold 650ms cubic-bezier(.2,.65,.3,1) both; }
  .home-page .title-mask:nth-child(2) > span { animation-delay: 90ms; }
  .home-page.motion-ready .grindlane-journey article { transition: opacity 450ms, transform 450ms; }
  .home-page.motion-ready .grindlane-journey article.is-in:not(.is-active):not(.is-complete) { opacity: .7; transform: translateY(5px); }
  .home-page.motion-ready .solution-tile[data-enter] { transition: box-shadow 300ms; transition-delay: 0ms; }
  .home-page.motion-ready .solution-tile[data-enter]:not(.is-in) { opacity: 1; transform: none; }
  .home-page.motion-ready .solution-tile__media { transition: clip-path 750ms cubic-bezier(.2,.65,.3,1); transition-delay: calc(var(--sequence, 0) * 55ms); clip-path: inset(0); }
  .home-page.motion-ready .solution-tile:not(.is-in) .solution-tile__media { clip-path: inset(100% 0 0); }
  .home-page.motion-ready .solution-tile:nth-child(4n + 2):not(.is-in) .solution-tile__media { clip-path: inset(0 100% 0 0); }
  .home-page.motion-ready .solution-tile img { transition-delay: calc(var(--sequence, 0) * 55ms); }
  .home-page.motion-ready .solution-tile:not(.is-in) img { transform: scale(1.055); }
  .home-page.motion-ready .solution-tile__content { transition: opacity 450ms, transform 550ms cubic-bezier(.2,.65,.3,1); transition-delay: calc(220ms + var(--sequence, 0) * 55ms); }
  .home-page.motion-ready .solution-tile:not(.is-in) .solution-tile__content { opacity: 0; transform: translateY(7px); }
  .home-page.motion-ready .solution-tile:focus-visible .solution-tile__media { clip-path: inset(0); transition-delay: 0ms; }
  .home-page.motion-ready .solution-tile:focus-visible .solution-tile__content { opacity: 1; transition-delay: 0ms; }
  .experience .insight-hero__graphic span { animation: chart-grow 1000ms ease both; }
  @keyframes title-unfold { from { transform: translateY(105%); } to { transform: translateY(0); } }
  @keyframes home-title-unfold { from { opacity: 0; transform: translateY(.22em); } to { opacity: 1; transform: translateY(0); } }
  @keyframes image-settle { from { transform: scale(1.045); } to { transform: scale(1); } }
  @keyframes chart-grow { from { transform: scaleY(.1); } to { transform: scaleY(1); } }
}
@media (max-width: 1000px) {
  .benefit-card { padding: 28px; flex-direction: column; align-items: start; gap: 22px; }
  .grindlane-layout { gap: 7%; }
  .solution-tile { padding: 24px; }
  .solution-tile--photo { min-height: 300px; }
  .audit-layout { gap: 40px; grid-template-columns: .7fr 1.3fr; }
  .insight-page .home-urgency > .container { grid-template-columns: 1fr; }
  .insight-page .impact-grid { grid-template-columns: 1fr; gap: 18px; }
  .insight-page .impact-card { border: 0; }
}
@media (max-width: 700px) {
  .experience main h2 { font-size: clamp(2.25rem, 9vw, 3rem); }
  .experience-section { padding-block: 64px; }
  .experience-heading { display: block; margin-bottom: 34px; }
  .experience-heading h2 { margin-bottom: 24px; }
  .experience-heading p { font-size: 1rem; }
  .landing-hero { min-height: calc(100svh - var(--header-height)); }
  .landing-hero__image { object-position: 82% center; }
  .landing-hero::before { background: linear-gradient(0deg, rgba(14,22,18,.88), rgba(14,22,18,.58) 65%, rgba(14,22,18,.22)); }
  .landing-hero__content { padding-block: 65px 100px; }
  .landing-hero h1 { font-size: clamp(3.3rem, 13.5vw, 5.3rem); margin-bottom: 26px; }
  .home-page .landing-hero h1 { font-size: clamp(2rem, 9.3vw, 3.2rem); }
  .landing-hero__content > p { max-width: 380px; font-size: 1.05rem; }
  .landing-hero .button-row { align-items: stretch; gap: 12px; margin-top: 26px; }
  .landing-hero .button { width: 100%; justify-content: space-between; }
  .hero-link { align-self: start; font-size: .88rem; }
  .benefit-grid { gap: 14px; grid-template-columns: 1fr; }
  .benefit-card:nth-child(n) { grid-column: auto; min-height: 245px; padding: 28px; flex-direction: row; gap: 22px; align-items: end; }
  .benefit-card h3 { font-size: 1.3rem; }
  .benefit-card p { font-size: .92rem; }
  .benefit-symbol { flex-basis: 50px; width: 50px; height: 50px; }
  .benefit-connection { gap: 10px; font-size: .72rem; }
  .grindlane-layout { grid-template-columns: 1fr; gap: 28px; }
  .grindlane-intro { position: relative; padding-right: 65px; }
  .grindlane-intro p { font-size: 1rem; }
  .grindlane-orbit { position: absolute; right: 0; top: 0; width: 75px; height: 75px; margin: 0; }
  .grindlane-orbit > span { font-size: 2.8rem; }
  .grindlane-orbit i { width: 8px; height: 8px; right: 0; top: 22px; }
  .grindlane-journey { padding-left: 30px; }
  .grindlane-journey article::before { left: -34px; }
  .grindlane-journey h3 { font-size: 1.5rem; }
  .solution-mosaic { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .solution-tile { min-height: 220px; padding: 22px 18px; }
  .solution-tile:nth-child(n) { grid-column: auto; }
  .solution-tile:nth-child(4), .solution-tile:nth-child(6), .solution-tile:nth-child(8) { grid-column: 1 / -1; min-height: 170px; }
  .solution-tile--photo:nth-child(n), .solution-tile:nth-child(9) { grid-column: 1 / -1; min-height: 275px; }
  .solution-tile:nth-child(9) { min-height: 190px; }
  .solution-tile h3 { font-size: 1.15rem; margin-right: 0; }
  .solution-tile p { font-size: .84rem; }
  .home-page .home-closing__layout { display: block; }
  .home-page .home-closing .button { margin-top: 30px; }
  @media (prefers-reduced-motion: no-preference) {
    .home-page.motion-ready .solution-tile__media { transition-duration: 600ms; transition-delay: calc(var(--sequence, 0) * 35ms); }
    .home-page.motion-ready .solution-tile:not(.is-in) img { transform: scale(1.035); }
    .home-page.motion-ready .solution-tile__content { transition-duration: 400ms; transition-delay: calc(160ms + var(--sequence, 0) * 35ms); }
  }
  .method-track { grid-template-columns: repeat(2, 1fr); gap: 35px 22px; }
  .method-track li::before { display: none; }
  .team-invitation { grid-template-columns: 1fr; }
  .team-invitation__image { aspect-ratio: 3 / 2; }
  .team-invitation__copy { padding: 42px 20px 50px; }
  .team-invitation__copy .button { width: auto; }
  .audit-layout { grid-template-columns: 1fr; gap: 30px; }
  .audit-intro { position: static; }
  .audit-intro p { margin-bottom: 20px; }
  .insight-hero > .container { grid-template-columns: 1fr; padding-block: 66px 55px; gap: 34px; }
  .insight-hero h1 { font-size: clamp(3.5rem, 14vw, 5rem); }
  .insight-hero__aside p { font-size: 1.1rem; }
  .insight-hero__graphic { width: 260px; right: -45px; top: 100px; opacity: .1; }
  .insight-page .adoption-grid { grid-template-columns: 1fr 1fr; gap: 22px; }
  .insight-page .adoption-stat strong { font-size: 3.35rem; }
  .insight-page .adoption-stat p { font-size: .9rem; }
  .insight-page .commercial-reminder { font-size: 1.4rem; }
  .insight-page .sector-stat { grid-template-columns: 1fr 75px; gap: 16px; }
  .insight-page .sector-stat strong { grid-column: 2; }
  .insight-page .sector-stat > span { grid-column: 1 / -1; grid-row: 2; height: 18px; }
  .insight-page .impact-card { padding: 28px; }
  .insight-page .friction-list { grid-template-columns: 1fr; gap: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .experience *, .experience *::before, .experience *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .experience [data-enter] { opacity: 1 !important; transform: none !important; clip-path: none !important; }
  .experience .grindlane-orbit, .experience .grindlane-orbit > span, .experience .solution-tile img { transform: none !important; }
  .home-page .solution-tile__media { clip-path: none !important; }
  .home-page .solution-tile__content { opacity: 1 !important; transform: none !important; }
}

/* V2: photographic automation opening; all rules stay inside this page's hero. */
.automation-hero-page .insight-hero { position: relative; isolation: isolate; display: flex; align-items: center; min-height: 100svh; padding-top: var(--header-height); color: var(--cream-light); background: #0a1216; }
.insight-hero__image { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 60% center; }
.automation-hero-page .insight-hero::before { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, rgba(5,12,15,.72), rgba(5,12,15,.34) 44%, transparent 72%), linear-gradient(180deg, rgba(5,12,15,.55), transparent 25%); }
.automation-hero-page .insight-hero > .container { display: block; padding-block: 90px 110px; }
.automation-hero-page .insight-hero h1 { max-width: 700px; color: inherit; font-size: clamp(4rem, 6.7vw, 7rem); }
.automation-hero-page .insight-hero h1 em { color: inherit; }
.automation-hero-page .insight-hero__aside { margin-top: 32px; }
.automation-hero-page .insight-hero__aside p { color: inherit; }
.automation-hero-page .insight-hero .text-link { color: inherit; }
.automation-hero-page .insight-hero .title-mask > span { animation: none; }
:is(.about-hero, .solutions-hero, .method-hero) .hero-line { display: block; overflow: hidden; padding-bottom: .08em; margin-bottom: -.08em; }
:is(.about-hero, .solutions-hero, .method-hero) .hero-line__text { display: block; }
@media (max-width: 1000px) {
  .automation-hero-page .insight-hero { align-items: flex-start; }
  .insight-hero__image { object-position: 65% center; }
  .automation-hero-page .insight-hero > .container { padding-block: 72px 90px; }
  .automation-hero-page .insight-hero::before { background: linear-gradient(90deg, rgba(5,12,15,.76), rgba(5,12,15,.2) 75%), linear-gradient(180deg, rgba(5,12,15,.5), transparent 30%); }
}
@media (max-width: 600px) {
  .automation-hero-page .insight-hero > .container { padding-block: 48px 70px; }
  .automation-hero-page .insight-hero h1 { font-size: clamp(2.8rem, 13vw, 4rem); }
  .automation-hero-page .insight-hero__aside { margin-top: 26px; }
}
/* Solutions opening: the original copy over the supplied full-frame photograph. */
.solutions-hero { position: relative; isolation: isolate; overflow: hidden; display: flex; align-items: center; min-height: 100svh; padding-top: var(--header-height); color: var(--cream-light); background: #0a1318; }
.solutions-hero__image { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 58% center; }
.solutions-hero::before { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, rgba(5,12,16,.76), rgba(5,12,16,.46) 35%, rgba(5,12,16,.04) 66%), linear-gradient(180deg, rgba(5,12,16,.42), transparent 25%); }
.solutions-hero__content { padding-block: 76px 100px; }
.solutions-hero h1 { max-width: 650px; margin: 0 0 26px; color: inherit; font-size: clamp(3rem, 4.3vw, 5.1rem); line-height: 1.06; }
.solutions-hero .lead { max-width: 560px; margin: 0; color: inherit; font-size: clamp(1.05rem, 1.3vw, 1.2rem); line-height: 1.6; }
@media (max-width: 1000px) {
  .solutions-hero { align-items: flex-end; }
  .solutions-hero::before { background: linear-gradient(0deg, rgba(5,12,16,.9), rgba(5,12,16,.55) 35%, rgba(5,12,16,.06) 65%), linear-gradient(180deg, rgba(5,12,16,.45), transparent 20%); }
  .solutions-hero__content { padding-block: 48svh 48px; }
  .solutions-hero h1 { font-size: clamp(2.5rem, 5vw, 3.5rem); }
}
@media (max-width: 600px) {
  .solutions-hero__content { padding-block: 38svh 36px; }
  .solutions-hero h1 { font-size: clamp(1.85rem, 7.8vw, 2.4rem); margin-bottom: 22px; }
  .solutions-hero .lead { font-size: 1rem; line-height: 1.55; }
}
/* How we work: both copy blocks share the exact horizontal and vertical centre. */
.method-hero { position: relative; isolation: isolate; overflow: hidden; display: flex; align-items: center; min-height: 100svh; padding-block: var(--header-height); color: var(--cream-light); background: #171b1b; }
.method-hero__image { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 60% center; }
.method-hero::before { content: ""; position: absolute; z-index: -1; inset: 0; background: radial-gradient(ellipse at center, rgba(5,12,16,.24), transparent 72%), linear-gradient(180deg, rgba(5,12,16,.42), rgba(5,12,16,.23) 50%, rgba(5,12,16,.4)); }
.method-hero__content { padding-block: 32px; text-align: center; }
.method-hero h1 { max-width: 1120px; margin: 0 auto 32px; color: inherit; font-size: clamp(3rem, 5.4vw, 5.9rem); line-height: 1.06; }
.method-hero .lead { max-width: 760px; margin: 0 auto; color: inherit; font-size: clamp(1.05rem, 1.4vw, 1.2rem); line-height: 1.6; }
@media (max-width: 1000px) {
  .method-hero__image { object-position: 82% center; }
}
@media (max-width: 600px) {
  .method-hero__image { object-position: 86% center; }
  .method-hero__content { padding-block: 24px; }
  .method-hero h1 { font-size: clamp(1.9rem, 8.5vw, 2.8rem); margin-bottom: 24px; }
  .method-hero .lead { font-size: 1rem; line-height: 1.55; }
}
@keyframes gl-hero-camera {
  from { opacity: .35; transform: scale(1.06); }
  to { opacity: 1; transform: scale(1); }
}
@keyframes gl-hero-copy {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: no-preference) {
  :is(.about-hero, .insight-hero, .solutions-hero, .method-hero).cinematic-ready > img { animation: gl-hero-camera 1800ms cubic-bezier(.2,.6,.3,1) both; }
  :is(.about-hero, .solutions-hero, .method-hero).cinematic-ready .hero-line__text { animation: gl-hero-copy 750ms cubic-bezier(.2,.65,.3,1) both; animation-delay: calc(180ms + var(--hero-line-index) * 150ms); }
  .automation-hero-page .insight-hero.cinematic-ready .title-mask > span { animation: gl-hero-copy 750ms cubic-bezier(.2,.65,.3,1) both; animation-delay: 180ms; }
  .automation-hero-page .insight-hero.cinematic-ready .title-mask:nth-child(2) > span { animation-delay: 330ms; }
  :is(.about-hero, .insight-hero, .solutions-hero, .method-hero).cinematic-ready :is(.lead, .insight-hero__aside p) { animation: gl-hero-copy 650ms ease both; animation-delay: var(--hero-copy-delay, 1.15s); }
  :is(.about-hero, .insight-hero, .solutions-hero, .method-hero).cinematic-ready :is(.button, .text-link) { animation: gl-hero-copy 650ms ease both; animation-delay: calc(var(--hero-copy-delay, 1.15s) + 200ms); }
  :is(.about-hero, .insight-hero, .solutions-hero, .method-hero).cinematic-settled > img,
  :is(.about-hero, .insight-hero, .solutions-hero, .method-hero).cinematic-settled :is(.hero-line__text, .title-mask > span, .lead, .insight-hero__aside p, .button, .text-link) { animation: none; opacity: 1; transform: none; }
  .about-hero .button { transition: background-color 200ms ease, color 200ms ease, box-shadow 200ms ease; }
  .about-hero .button:hover { box-shadow: 0 4px 16px rgba(0,0,0,.18); }
}
@media (prefers-reduced-motion: reduce) {
  :is(.about-hero, .insight-hero, .solutions-hero, .method-hero).cinematic-ready *,
  :is(.about-hero-page, .solutions-hero-page, .method-hero-page) .site-header { animation: none !important; transition: none !important; }
  :is(.about-hero, .insight-hero, .solutions-hero, .method-hero).cinematic-ready :is(img, .hero-line__text, .lead, .button, .text-link) { opacity: 1; transform: none; }
}
