/* "Bento sereno" layer (identity D · Bento). Loaded last on every page except the demos; scoped to body.bento.
   Homepage: body.bento. Inner pages: body.bento.bento-page (rules at the end of this file).
   Palette: cream #F6F5F1, white modules, ink #111, lime #C8F550, lavender #DDD6FE, warm gray #E8E6E0.
   Rule: lime is only a background under black text, or text on black. Never lime text on white/cream. */
.bento {
  --b-bg: #f6f5f1; --b-white: #fff; --b-ink: #111; --b-lime: #c8f550; --b-lav: #ddd6fe; --b-warm: #e8e6e0;
  --b-soft: #6b6b6b;   /* second part of headings: 5.0:1 on cream */
  --b-body: #4a4a4a;   /* body copy: 8.3:1 on cream */
  --b-line: #e4e2db;   /* hairline separators (decorative) */
  --b-field: #8c887f;  /* form field border: >=3:1 on white */
  --b-r: 26px; --b-gap: 18px;
  --b-display: "Plus Jakarta Sans", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --ink: var(--b-ink); --ink-soft: var(--b-body); --slate: var(--b-body); --line: var(--b-line);
  background: var(--b-bg); color: var(--b-ink);
}
html:has(body.bento) { background: #f6f5f1; }
.bento .shell { width: min(1240px, calc(100% - 64px)); }

/* Type */
.bento h1, .bento h2, .bento h3 { font-family: var(--b-display); font-weight: 800; color: var(--b-ink); letter-spacing: -.035em; line-height: 1.04; text-wrap: balance; }
.bento .soft { color: var(--b-soft); }
.bento p { color: var(--b-body); }
.bento h2 { font-size: clamp(36px, 4vw, 58px); max-width: 18ch; margin: 0; }
.bento h3 { letter-spacing: -.025em; }

/* Focus: always visible, ink ring on light, lime ring on dark */
.bento :focus-visible { outline: 3px solid var(--b-ink); outline-offset: 3px; box-shadow: none; border-radius: 12px; }
.bento .m-ink :focus-visible { outline-color: var(--b-lime); }

/* Modules */
.bento .m { border-radius: var(--b-r); min-width: 0; }
.bento .m-white { background: var(--b-white); }
.bento .m-ink { background: var(--b-ink); color: #fff; }
.bento .m-lime { background: var(--b-lime); color: var(--b-ink); }
.bento .m-lav { background: var(--b-lav); }
.bento .m-lime, .bento .m-lime * { color: var(--b-ink); }
.bento .tag { display: inline-flex; align-items: center; border-radius: 999px; padding: 6px 11px; font: 600 12px/1 var(--sans); white-space: nowrap; }
.bento .tag-lime { background: var(--b-lime); color: var(--b-ink); }
.bento .tag-lav { background: var(--b-lav); color: var(--b-ink); }
.bento .tag-ink { background: var(--b-ink); color: #fff; }
.bento .tag-warm { background: var(--b-warm); color: var(--b-ink); }

/* Buttons */
.bento .button { min-height: 54px; padding: 0 26px; border: 1.5px solid var(--b-ink); border-radius: 999px; font: 700 16px/1 var(--sans); letter-spacing: 0; transform: none; transition: background .15s ease, color .15s ease; }
.bento .button:hover { transform: none; }
.bento .button.primary { background: var(--b-ink); border-color: var(--b-ink); color: #fff; }
.bento .button.primary:hover { background: #333; border-color: #333; color: #fff; }
.bento .button.secondary { background: transparent; border-color: var(--b-ink); color: var(--b-ink); }
.bento .button.secondary:hover { background: var(--b-white); }
.bento .button.primary::after { content: "→"; margin-left: 10px; }
.bento .text-link { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; color: var(--b-ink); font: 700 15px/1.2 var(--sans); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 6px; }
.bento .text-link:hover { text-decoration-color: var(--b-soft); }
.bento .text-link [aria-hidden="true"], .bento .contact-box__link [aria-hidden="true"] { display: inline-block; text-decoration: none; }

/* Header */
.bento .site-header { position: relative; background: var(--b-bg); border: 0; }
.bento .nav { min-height: 88px; border: 0; }
.bento .brand strong { font: 800 19px/1.1 var(--b-display); letter-spacing: -.025em; }
.bento .brand span { margin-top: 4px; font: 500 13.5px/1.3 var(--sans); letter-spacing: 0; text-transform: none; color: var(--b-body); }
.bento .nav-links { gap: 4px; }
.bento .nav-links a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border-radius: 999px; color: var(--b-ink); font: 600 15px/1 var(--sans); text-decoration: none; }
.bento .nav-links a:hover { background: var(--b-warm); text-decoration: none; }
.bento .nav-links a:last-child { background: transparent; color: var(--b-ink); border: 1.5px solid var(--b-ink); border-radius: 999px; padding: 0 18px; }
.bento .nav-links a:last-child:hover { background: var(--b-lime); }
.bento .nav-toggle { min-height: 44px; border: 1.5px solid var(--b-ink); border-radius: 999px; padding: 0 16px; color: var(--b-ink); background: transparent; font: 600 14px/1 var(--sans); }

/* Hero */
.bento .hero { padding: 36px 0 24px; }
.bento .hero-grid { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 64px; align-items: center; }
.bento .hero-modality { display: inline-flex; align-items: center; gap: 8px; margin: 0; padding: 9px 16px; border: 0; border-radius: 999px; background: var(--b-lime); color: var(--b-ink); font: 600 14px/1.25 var(--sans); }
.bento .hero-modality::before { width: 8px; height: 8px; background: var(--b-ink); }
.bento .hero-copy h1 { max-width: none; margin: 28px 0 0; font-size: clamp(46px, 5.6vw, 84px); line-height: 1.02; }
.bento .hero-copy .lead { max-width: 50ch; margin: 26px 0 0; font-size: 19px; line-height: 1.6; color: var(--b-body); }
.bento .hero-actions { margin-top: 34px; gap: 12px; }

.bento .stage { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; }
.bento .w { border-radius: 22px; padding: 22px; min-width: 0; }
.bento .w-title { margin: 0 0 14px; font: 800 17px/1.2 var(--b-display); letter-spacing: -.02em; color: var(--b-ink); }
.bento .m-ink .w-title { color: #fff; }
.bento .w-inbox { grid-column: 1 / -1; }
.bento .mail { display: grid; grid-template-columns: 8px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 11px 12px; font-size: 14px; line-height: 1.3; }
.bento .mail + .mail { border-top: 1px solid var(--b-line); }
.bento .mail .dot { width: 8px; height: 8px; border-radius: 50%; background: #c9c6bd; }
.bento .mail > div { min-width: 0; }
.bento .mail b { display: block; font-weight: 600; color: var(--b-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bento .mail .s { display: block; color: var(--b-body); font-size: 12.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bento .mail.draft { background: var(--b-lav); border-radius: 12px; }
.bento .mail.draft + .mail { border-top: 0; }
.bento .mail.draft .dot { background: var(--b-ink); }
.bento .w-req .flow { display: flex; flex-direction: column; gap: 10px; }
.bento .w-req .step-line { display: flex; align-items: center; gap: 10px; font: 600 14px/1.3 var(--sans); color: #fff; }
.bento .w-req .step-line i { flex: none; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 8px; background: #333; color: #fff; font-style: normal; font-size: 12px; }
.bento .w-req .step-line.now i { background: var(--b-lime); color: var(--b-ink); }
.bento .w-req .bar { width: 2px; height: 14px; margin-left: 11px; background: #777; }
.bento .w-close ul { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; font-size: 14px; color: var(--b-ink); }
.bento .w-close li { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.bento .alert { display: flex; align-items: center; gap: 10px; margin: 14px 0 0; padding: 11px 12px; border-radius: 12px; background: #fff; color: var(--b-ink); font: 700 14px/1.25 var(--sans); }
.bento .alert i { flex: none; display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--b-ink); color: var(--b-lime); font-style: normal; font-size: 12px; }
.bento .stamp { grid-column: 1 / -1; padding: 18px 22px; }
.bento .stamp p { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 16px; margin: 0; }
.bento .stamp b { font: 800 20px/1.15 var(--b-display); letter-spacing: -.025em; }
.bento .stamp .tools { white-space: nowrap; font: 600 13px/1.3 var(--mono); }

/* Sections */
.bento .section { padding: 96px 0 0; background: transparent; border: 0; }
.bento .section-head { grid-template-columns: 1fr 1fr; gap: 60px; align-items: end; margin-bottom: 36px; }
.bento .home-demos .section-head { grid-template-columns: 1fr 1fr; margin-bottom: 36px; }
.bento .section-copy { max-width: 44ch; margin: 0; font-size: 18px; line-height: 1.6; color: var(--b-body); }

/* Services: one wide white module with rows; 05 highlighted in lavender */
.bento .service-list { padding: 14px 44px; border: 0; }
.bento .service-row { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.6fr); gap: 32px; align-items: center; padding: 30px 0; border: 0; border-top: 1px solid var(--b-line); }
.bento .service-row:first-child { border-top: 0; }
.bento .service-note { margin: 18px 0 0; padding: 18px 22px; border-radius: 20px; background: var(--b-grey, #E8E6E0); color: #222; font-size: .98rem; line-height: 1.5; }
.bento .service-note strong { color: #111; }
.bento .service-row > div { display: grid; grid-template-columns: 64px minmax(0, 1fr); align-items: baseline; }
.bento .service-row .label { margin: 0; color: var(--b-ink); font: 700 14px/1 var(--mono); letter-spacing: 0; }
.bento .service-row h3 { margin: 0; font-size: clamp(24px, 2.3vw, 32px); }
.bento .service-row p { max-width: 56ch; margin: 0; font-size: 16.5px; color: var(--b-body); }
.bento .service-row--hl { margin: 0 -24px; padding: 30px 24px; border-radius: 20px; background: var(--b-lav); border-top-color: transparent; }
.bento .service-row--hl p { color: #2e2e2e; }
.bento .service-entry { margin: 18px 0 0; font-size: 15px; }

/* Demos: full-width white modules (copy left, real thumbnail right; iframe opens inside) */
.bento .demo-block { margin: 0; padding: 40px 44px; border: 0; border-radius: var(--b-r); background: var(--b-white); }
.bento .demo-block + .demo-block { margin-top: var(--b-gap); }
.bento .demo-block__copy h3 { max-width: 22ch; margin: 0 0 14px; font-size: clamp(28px, 2.8vw, 40px); }
.bento .demo-block__text { max-width: 58ch; font-size: 16.5px; color: var(--b-body); }
.bento .demo-block__buy { margin-top: 26px; gap: 14px; }
.bento .demo-price { font: 800 22px/1.2 var(--b-display); letter-spacing: -.02em; color: var(--b-ink); }
.bento .demo-full-link { margin-top: 16px; color: var(--b-ink); font-size: 15px; font-weight: 600; text-decoration-thickness: 1.5px; }
.bento .demo-full-link:hover { color: var(--b-ink); text-decoration-color: var(--b-soft); }
.bento .demo-thumb { border: 1.5px solid var(--b-warm); border-radius: 18px; box-shadow: none; }
.bento .demo-thumb:hover { box-shadow: none; transform: none; border-color: var(--b-ink); }
.bento .demo-full-link:focus-visible, .bento .demo-thumb:focus-visible { outline: 3px solid var(--b-ink); outline-offset: 3px; }
/* Open demo bleeds to the module edges so the embedded app gets the full block width. */
.bento .demo-block { overflow: hidden; }
.bento .demo-frame { margin: 28px -44px -40px; border: 0; border-top: 1.5px solid var(--b-warm); border-radius: 0; }

/* Process: one white module, three columns, last badge lime */
.bento .process-ledger { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 44px; margin: 0; padding: 48px 44px; border: 0; list-style: none; }
.bento .process-step { display: block; padding: 0; border: 0; }
.bento .process-step > span { display: inline-grid; place-items: center; width: 52px; height: 52px; border-radius: 16px; background: var(--b-warm); color: var(--b-ink); font: 800 18px/1 var(--b-display); letter-spacing: 0; }
.bento .process-step:last-child > span { background: var(--b-lime); }
.bento .process-step h3 { margin: 22px 0 0; font-size: 21px; line-height: 1.35; letter-spacing: -.02em; font-weight: 700; }

/* Other services: two white modules of equal height, no dead space */
.bento .project-cards { gap: var(--b-gap); align-items: stretch; }
.bento .project-card { padding: 22px 22px 18px; }
.bento .project-thumb { border: 1.5px solid var(--b-warm); border-radius: 16px; box-shadow: none; }
.bento .project-thumb:hover { box-shadow: none; transform: none; border-color: var(--b-ink); }
.bento .project-thumb:focus-visible { outline: 3px solid var(--b-ink); }
.bento .project-card .project-video { border-radius: 16px; background: var(--b-ink); }
.bento .project-card__body, .bento .project-card figcaption { margin-top: 14px; gap: 10px; color: var(--b-body); font-size: 15px; }
.bento .project-card__meta { color: var(--b-body); font-size: 15px; }
.bento .project-card__actions { gap: 8px 20px; }

/* About */
.bento .about.two-column { grid-template-columns: .9fr 1.1fr; gap: 64px; }
.bento .about-facts { display: flex; flex-wrap: wrap; gap: 10px; margin: 24px 0 0; }
.bento .about-facts .tag { padding: 9px 14px; font-size: 13px; }
.bento .about-note { border: 0; padding: 0; }
.bento .about-note p { max-width: 60ch; font-size: 19px; line-height: 1.6; color: #2e2e2e; }
.bento .about-note a:not(.text-link) { color: var(--b-ink); font-weight: 700; }

/* FAQ: white module, +/- squares */
.bento .faq { display: block; max-width: none; padding: 8px 44px; }
.bento .faq details { border: 0; border-top: 1px solid var(--b-line); padding: 0; }
.bento .faq details:first-child { border-top: 0; }
.bento .faq summary { display: flex; justify-content: space-between; align-items: center; gap: 20px; min-height: 44px; padding: 24px 0; list-style: none; cursor: pointer; color: var(--b-ink); font: 800 21px/1.25 var(--b-display); letter-spacing: -.02em; }
.bento .faq summary::-webkit-details-marker { display: none; }
.bento .faq summary::marker { content: ""; }
.bento .faq-ic { flex: none; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 12px; background: var(--b-warm); font: 700 20px/1 var(--sans); transition: background .15s ease; }
.bento .faq-ic::before { content: "+"; }
.bento .faq summary:hover .faq-ic { background: var(--b-lime); }
.bento .faq details[open] .faq-ic { background: var(--b-ink); color: #fff; }
.bento .faq details[open] .faq-ic::before { content: "−"; }
.bento .faq details p { margin: -6px 56px 0 0; padding: 0 0 24px; font-size: 17px; }

/* Contact: white form module + lime WhatsApp and white email modules that fill the column */
.bento .contact-bento { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--b-gap); }
.bento .contact-card { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 24px 56px; align-items: start; padding: 48px; }
.bento .contact-card .home-form { margin-top: 0; }
.bento .contact-card h2 { font-size: clamp(34px, 3.8vw, 54px); }
.bento .home-form { grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 30px; }
.bento .home-form textarea { resize: vertical; }
.bento .home-form label { font: 600 14px/1.2 var(--sans); color: var(--b-ink); gap: 8px; }
.bento .home-form label[for="activity"], .bento .home-form label[for="requests"], .bento .home-form .consent, .bento .home-form .form-actions, .bento .home-form .feedback { grid-column: 1 / -1; }
.bento .home-form input[type="text"], .bento .home-form textarea { min-height: 52px; padding: 13px 16px; border: 1.5px solid var(--b-field); border-radius: 14px; background: #fff; color: var(--b-ink); font: 500 16px/1.4 var(--sans); }
.bento .home-form textarea { min-height: 130px; }
.bento .home-form input[type="text"]:focus-visible, .bento .home-form textarea:focus-visible { outline: 3px solid var(--b-ink); outline-offset: 1px; border-color: var(--b-ink); border-radius: 14px; }
.bento .home-form .consent { font: 500 14.5px/1.45 var(--sans); color: var(--b-body); }
.bento .home-form .consent input { accent-color: var(--b-ink); width: 22px; height: 22px; margin-top: 0; }
.bento .home-form .consent a { color: var(--b-ink); font-weight: 600; }
.bento .home-form .button.primary::after { content: none; }
.bento .feedback { border: 0; border-left: 4px solid var(--b-ink); border-radius: 10px; background: var(--b-bg); color: var(--b-ink); }
.bento .contact-intro { display: flex; flex-direction: column; align-self: stretch; }
.bento .contact-side { display: grid; gap: 12px; margin-top: auto; padding-top: 32px; }
.bento .contact-box--mail { background: var(--b-warm); }
.bento .contact-box--mail:hover { background: #dedbd3; }
.bento .contact-box { display: flex; flex-direction: column; justify-content: center; gap: 12px; padding: 24px 26px; text-decoration: none; color: var(--b-ink); }
.bento .contact-box__label { font: 600 12.5px/1 var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.bento .contact-box__link { font: 800 22px/1.2 var(--b-display); letter-spacing: -.02em; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 6px; overflow-wrap: anywhere; }
.bento .contact-box__mail { font-size: 20px; }
.bento .contact-box:hover .contact-box__link { text-decoration-color: var(--b-soft); }
.bento .contact-box--wa:hover { background: #bfee3f; }
.bento .contact-box:focus-visible { border-radius: 20px; }
.bento .contact-side .contact-box { border-radius: 20px; }

/* Footer */
.bento .site-footer { margin: 0; padding: 72px 0 40px; background: transparent; border: 0; color: var(--b-body); font-size: 14px; }
.bento .site-footer .footer-inner { border-top: 1px solid #d9d6cd; padding-top: 24px; }
.bento .site-footer p, .bento .site-footer a { font-size: 14px; color: var(--b-body); }
.bento .site-footer a { color: var(--b-ink); }

/* Tablet */
@media (max-width: 1060px) {
  .bento .hero-grid { grid-template-columns: 1fr; gap: 44px; }
  .bento .section-head, .bento .home-demos .section-head { grid-template-columns: 1fr; gap: 14px; }
  .bento .service-row { grid-template-columns: 1fr; gap: 10px; }
  .bento .service-row p { padding-left: 64px; }
  .bento .contact-bento, .bento .about.two-column { grid-template-columns: 1fr; }
  .bento .about.two-column { gap: 24px; }
  .bento .contact-card { grid-template-columns: 1fr; }
}
@media (max-width: 800px) {
  .bento .shell { width: calc(100% - 32px); }
  .bento .nav { min-height: 72px; }
  .bento .nav-links { background: var(--b-white); border: 0; border-radius: 18px; padding: 8px; top: calc(100% + 4px); box-shadow: 0 0 0 1.5px var(--b-ink); }
  .bento .nav-links a { border-bottom: 0; min-height: 48px; }
  .bento .nav-links a:last-child { border: 0; background: var(--b-lime); justify-content: flex-start; }
  .bento .process-ledger { grid-template-columns: 1fr; gap: 26px; padding: 28px 22px; }
  .bento .process-step { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 16px; align-items: start; }
  .bento .process-step > span { width: 44px; height: 44px; border-radius: 14px; font-size: 16px; }
  .bento .process-step h3 { margin-top: 6px; font-size: 17px; }
  .bento .project-cards { grid-template-columns: 1fr; }
}
/* Mobile */
@media (max-width: 720px) {
  .bento { --b-gap: 12px; --b-r: 22px; }
  .bento .brand strong { font-size: 16px; }
  .bento .hero { padding: 10px 0 0; }
  .bento .hero-modality { font-size: 13px; padding: 8px 13px; }
  .bento .hero-copy h1 { margin-top: 16px; font-size: clamp(36px, 10.4vw, 44px); line-height: 1.03; letter-spacing: -.035em; }
  .bento .hero-copy .lead { margin-top: 14px; font-size: 16px; line-height: 1.55; }
  .bento .hero-actions { margin-top: 20px; flex-direction: column; align-items: stretch; gap: 10px; }
  .bento .hero-actions .button { width: 100%; min-height: 52px; font-size: 15.5px; }
  .bento .stage { grid-template-columns: 1fr; gap: 10px; }
  .bento .w { padding: 16px; border-radius: 20px; }
  .bento .mail { padding: 10px 8px; gap: 4px 10px; grid-template-columns: 8px minmax(0, 1fr); }
  .bento .mail .tag { grid-column: 2; justify-self: start; }
  .bento .stamp { padding: 16px; }
  .bento .stamp b { font-size: 18px; }
  .bento .section { padding-top: 64px; }
  .bento .section-head { margin-bottom: 20px; }
  .bento h2 { font-size: clamp(32px, 9vw, 40px); }
  .bento .section-copy { font-size: 16px; }
  .bento .service-list { padding: 4px 20px; }
  .bento .service-row { padding: 24px 0; }
  .bento .service-row > div { grid-template-columns: 44px minmax(0, 1fr); }
  .bento .service-row p { padding-left: 0; font-size: 15.5px; }
  .bento .service-row--hl { margin: 0 -10px; padding: 22px 10px; }
  .bento .demo-block { padding: 26px 22px; }
  .bento .demo-frame { margin: 22px -22px -26px; }
  .bento .demo-block__buy .button { width: 100%; }
  .bento .project-card { padding: 14px 14px 12px; }
  .bento .about-note p { font-size: 17px; }
  .bento .faq { padding: 4px 22px; }
  .bento .faq summary { font-size: 18px; padding: 20px 0; }
  .bento .faq details p { margin-right: 0; padding-bottom: 20px; font-size: 15.5px; }
  .bento .contact-card { padding: 26px 22px; }
  .bento .home-form { grid-template-columns: 1fr; }
  .bento .contact-side { grid-template-columns: 1fr; }
  .bento .contact-box { padding: 22px; gap: 12px; }
  .bento .contact-box__link { font-size: 20px; }
  .bento .contact-box__mail { font-size: 18px; }
  .bento .site-footer { padding-top: 64px; }
}

/* ------------------------------------------------------------------------------------------------
   Inner pages (body.bento.bento-page): same identity as the homepage. Every rule below is scoped
   to .bento-page so the homepage (body.bento only) cannot change.
   ------------------------------------------------------------------------------------------------ */
.bento-page {
  --copper: var(--b-soft); --paper: #fff; --shadow: none;
  --text-on-dark: var(--b-ink); --text-on-dark-soft: var(--b-body); --text-on-dark-muted: #5e5e5e;
  --text-on-light: var(--b-ink); --text-on-light-soft: var(--b-body); --text-on-light-muted: #5e5e5e;
  --line-on-dark: var(--b-line); --line-on-light: var(--b-line); --line-dark: #3a3a3a;
  --accent-action: var(--b-ink); --accent-status: var(--b-ink);
  --surface-dark: var(--b-bg); --surface-dark-raised: var(--b-white); --surface-light: var(--b-bg); --surface-light-paper: var(--b-white);
}
.bento-page h1 { max-width: 20ch; margin: 22px 0 0; font-size: clamp(44px, 5.2vw, 78px); line-height: 1.02; letter-spacing: -.04em; }
.bento-page h2 { font-size: clamp(32px, 3.4vw, 50px); max-width: 20ch; }
.bento-page h3 { font-size: 21px; line-height: 1.25; }
.bento-page .lead { max-width: 54ch; margin: 24px 0 0; font-size: 19px; line-height: 1.6; color: var(--b-body); }
.bento-page .section-copy { color: var(--b-body); }
.bento-page .eyebrow, .bento-page .strip-kicker, .bento-page .label { margin: 0 0 16px; color: #5e5e5e; font: 700 12.5px/1.4 var(--sans); letter-spacing: .07em; text-transform: uppercase; }
.bento-page .page-hero .eyebrow { display: inline-flex; margin: 0; padding: 9px 16px; border-radius: 999px; background: var(--b-lime); color: var(--b-ink); font: 600 14px/1.25 var(--sans); letter-spacing: 0; text-transform: none; }
.bento-page .microproof { max-width: 60ch; margin: 18px 0 0; color: var(--b-body); font: 500 15px/1.55 var(--sans); }
.bento-page .microproof::before { content: none; }
.bento-page a:not(.button):not(.text-link):not(.contact-box):not(.profile-card):not(.brand) { color: var(--b-ink); }
.bento-page .text-link { white-space: nowrap; }

/* Breadcrumbs */
.bento-page .breadcrumbs { padding-top: 6px; color: var(--b-body); font: 500 14px/1.4 var(--sans); }
.bento-page .breadcrumbs li + li::before { color: var(--b-soft); }
.bento-page .breadcrumbs a { color: var(--b-ink); text-underline-offset: 3px; }

/* Page hero: copy left, real-work widget right (like the homepage) */
.bento-page .page-hero { padding: 26px 0 0; background: transparent; }
.bento-page .page-hero-grid, .bento-page .agent-hero__grid, .bento-page .service-hero-grid, .bento-page .project-hero__grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: 56px; align-items: center; }
.bento-page .page-hero-copy { min-width: 0; }
.bento-page .page-hero .hero-actions, .bento-page .page-hero .button-row { display: flex; flex-wrap: wrap; margin-top: 32px; gap: 12px; }
.bento-page .page-hero--solo h1 { max-width: 22ch; }
.bento-page .page-stage { display: grid; gap: 16px; min-width: 0; }
.bento-page .w-sheet { padding: 24px; }
.bento-page .sheet { display: grid; font-size: 14px; }
.bento-page .sheet-row { display: grid; grid-template-columns: minmax(0, 1fr) 54px 172px; gap: 12px; align-items: center; padding: 12px; border-top: 1px solid var(--b-line); color: var(--b-ink); }
.bento-page .sheet-row span:first-child { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 600; }
.bento-page .sheet-row .tag { justify-self: end; }
.bento-page .sheet-head { border-top: 0; padding-top: 0; color: var(--b-body); font: 600 12.5px/1.2 var(--sans); letter-spacing: .04em; text-transform: uppercase; }
.bento-page .sheet-head span:first-child { font-weight: 600; }
.bento-page .sheet-head span:last-child { justify-self: end; }
.bento-page .sheet-row--hl { border-top: 0; border-radius: 12px; background: var(--b-lav); }
.bento-page .sheet-row--hl + .sheet-row { border-top: 0; }

/* Sections: cream canvas, content lives in modules */
.bento-page .section, .bento-page .section--paper, .bento-page .section--mineral, .bento-page .section--ink, .bento-page .automation-tour-section { padding: 88px 0 0; background: transparent; border: 0; color: var(--b-ink); }
.bento-page .section--tight { padding-top: 64px; }
.bento-page .section-head { margin-bottom: 32px; }
.bento-page .section--ink h2, .bento-page .section--ink h3 { color: var(--b-ink); }
.bento-page .section--ink .section-copy, .bento-page .section--ink .eyebrow { color: var(--b-body); }
.bento-page .two-column { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 56px; align-items: start; }
.bento-page .reveal-ready .reveal, .bento-page .reveal { transform: none; }

/* Ink modules: white text, lime accents only as backgrounds or as text on black */
.bento-page .m-ink, .bento-page .m-ink h2, .bento-page .m-ink h3, .bento-page .m-ink strong { color: #fff; }
.bento-page .m-ink p, .bento-page .m-ink small, .bento-page .m-ink .soft { color: #d6d6d6; }
.bento-page .m-ink .eyebrow, .bento-page .m-ink .strip-kicker { color: #cfcfcf; }
.bento-page .m-ink .button.primary { background: var(--b-lime); border-color: var(--b-lime); color: var(--b-ink); }
.bento-page .m-ink .button.primary:hover { background: #bfee3f; border-color: #bfee3f; }
.bento-page .m-ink .button.secondary { background: transparent; border-color: #fff; color: #fff; }
.bento-page .m-ink .button.secondary:hover { background: #fff; color: var(--b-ink); }
.bento-page .m-lav .soft { color: #4f4f4f; }
.bento-page .m-lime .soft { color: #333; }

/* Service list (same white module as the homepage, with the detail links on the right) */
.bento-page .service-list { border: 0; }
.bento-page .service-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr) 250px; }
.bento-page .service-row .text-link { justify-self: end; }
.bento-page .service-row--hl { margin: 0 -24px; padding: 30px 24px; }

/* Process (servicios): lavender intro module + white steps module */
.bento-page .process-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--b-gap); align-items: stretch; }
.bento-page .process-intro { position: static; padding: 44px; }
.bento-page .process-intro .section-copy { margin-top: 22px; color: #2e2e2e; max-width: 56ch; }
.bento-page .process-intro .eyebrow { color: #3d3d3d; }
.bento-page .process-grid .process-ledger { grid-template-columns: 1fr; grid-auto-rows: 1fr; gap: 0; align-content: stretch; padding: 12px 44px; }
.bento-page .process-grid .process-step { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 20px; align-items: center; padding: 22px 0; border-top: 1px solid var(--b-line); }
.bento-page .process-grid .process-step:first-child { border-top: 0; }
.bento-page .process-grid .process-step h3 { margin: 0; font-size: 22px; }

/* Callout: one ink module */
.bento-page .callout { display: grid; grid-template-columns: minmax(0, 1.3fr) auto; gap: 24px 48px; align-items: center; padding: 44px; border: 0; }
.bento-page .callout p { max-width: 64ch; margin: 0; font-size: 18px; line-height: 1.6; }
.bento-page .callout p strong { color: #fff; }
.bento-page .callout .button-row { display: flex; flex-wrap: wrap; margin: 0; gap: 12px; justify-content: flex-end; }

/* Generic ledgers become modules */
.bento-page .ledger { padding: 10px 44px; border: 0; }
.bento-page .ledger-row { grid-template-columns: 52px minmax(0, 1.2fr) minmax(0, 1fr); gap: 24px; align-items: baseline; padding: 28px 0; border: 0; border-top: 1px solid var(--b-line); }
.bento-page .ledger-row:first-child { border-top: 0; }
.bento-page .ledger-index { color: var(--b-ink); font: 800 16px/1 var(--b-display); }
.bento-page .ledger-row h3 { margin: 0 0 8px; font-size: 22px; }
.bento-page .ledger-row p { margin: 0; color: var(--b-body); font-size: 16px; }
.bento-page .scope-ledger { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; padding: 32px 0; border: 0; }
.bento-page .scope-ledger article { padding: 0 32px; border: 0; border-left: 1px solid rgba(17, 17, 17, .14); }
.bento-page .scope-ledger article:first-child { border-left: 0; }
.bento-page .scope-ledger h3 { margin: 0 0 10px; font-size: 21px; }
.bento-page .scope-ledger p { margin: 0; color: #2e2e2e; font-size: 16px; line-height: 1.55; }
.bento-page .two-column:has(> .scope-ledger) { grid-template-columns: 1fr; gap: 0; }
.bento-page .two-column:has(> .scope-ledger) > div:first-child { margin-bottom: 32px; }
/* Tiles: each item is its own module, colours alternate */
.bento-page .scope-tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--b-gap); padding: 0; }
.bento-page .scope-tiles article { padding: 30px 30px 34px; border: 0; border-radius: 22px; background: var(--b-white); }
.bento-page .scope-tiles article:nth-child(2) { background: var(--b-lav); }
.bento-page .scope-tiles article:nth-child(3) { background: var(--b-warm); }
.bento-page .scope-tiles article:nth-child(n+2) p { color: #2e2e2e; }

/* FAQ without the homepage icon span: same +/− square drawn on the summary */
.bento-page .faq { display: block; max-width: none; margin-top: 32px; padding: 8px 44px; }
.bento-page .faq details { border: 0; border-top: 1px solid var(--b-line); padding: 0; opacity: 1; }
.bento-page .faq details:first-child { border-top: 0; }
.bento-page .faq summary::after { content: "+"; flex: none; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 12px; background: var(--b-warm); color: var(--b-ink); font: 700 20px/1 var(--sans); }
.bento-page .faq summary:hover::after { background: var(--b-lime); }
.bento-page .faq details[open] summary::after { content: "−"; background: var(--b-ink); color: #fff; }

/* Method list (automatización): ink module */
.bento-page .method-list { padding: 12px 44px; border: 0; }
.bento-page .method-list li { grid-template-columns: 64px minmax(0, 1fr); gap: 16px; padding: 28px 0; border: 0; border-top: 1px solid #333; }
.bento-page .method-list li:first-child { border-top: 0; }
.bento-page .method-list > li > span { display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 14px; background: #2a2a2a; color: #fff; font: 800 16px/1 var(--b-display); letter-spacing: 0; }
.bento-page .method-list li:last-child > span { background: var(--b-lime); color: var(--b-ink); }
.bento-page .method-list h3 { margin: 6px 0 0; color: #fff; }
.bento-page .method-list p { color: #d6d6d6; font-size: 16px; }

/* Agente IA: flow module, ink checkpoint, real video in an ink module */
.bento-page .agent-flow { max-width: none; padding: 22px; border: 0; }
.bento-page .agent-flow > figcaption { padding: 0 0 14px; border: 0; }
.bento-page .agent-flow__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; border: 0; }
.bento-page .agent-flow__steps li { min-height: 0; padding: 16px; border: 0; border-radius: 16px; background: var(--b-bg); }
.bento-page .agent-flow__steps li::after { content: none; }
.bento-page .agent-flow__steps span { display: block; margin-bottom: 10px; color: var(--b-ink); font: 800 14px/1 var(--b-display); }
.bento-page .agent-flow__steps strong { font: 800 17px/1.2 var(--b-display); letter-spacing: -.015em; }
.bento-page .agent-flow__steps small { color: var(--b-body); font-size: 14px; line-height: 1.45; }
.bento-page .agent-flow__steps .agent-flow__approval { background: var(--b-lime); }
.bento-page .agent-flow__steps .agent-flow__approval small { color: #2e2e2e; }
.bento-page .agent-flow__checkpoint { margin-top: 10px; padding: 16px 18px; border-radius: 16px; }
.bento-page .m-ink.agent-flow__checkpoint span { color: var(--b-lime); font-size: 12px; }
.bento-page .agent-flow__checkpoint strong { font-size: 16px; }
.bento-page .agent-flow__checkpoint p { font-size: 14px; color: #d6d6d6; }
.bento-page .closure-demo { padding-top: 88px; }
.bento-page .closure-demo__intro { max-width: none; margin-bottom: 32px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px 56px; align-items: end; }
.bento-page .closure-demo__intro .eyebrow { grid-column: 1 / -1; }
.bento-page .closure-demo__intro h2 { max-width: 20ch; font-size: clamp(32px, 3.4vw, 50px); }
.bento-page .closure-demo__intro .section-copy, .bento-page .closure-demo__intro .microproof { grid-column: 2; margin: 0; }
.bento-page .closure-demo__intro .microproof { margin-top: -4px; }
.bento-page .closure-demo__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--b-gap); align-items: stretch; }
.bento-page .closure-demo__media { padding: 18px; }
.bento-page .closure-demo__media video { border: 0; border-radius: 14px; background: #000; }
.bento-page .closure-demo__media figcaption { margin-top: 14px; color: #d6d6d6; font-size: 15px; }
.bento-page .closure-demo__result { padding: 36px; }
.bento-page .closure-demo__result h3 { max-width: none; margin-bottom: 18px; font-size: clamp(24px, 2.2vw, 32px); }
.bento-page .closure-demo__steps li { padding: 18px 0 18px 52px; border-top: 1px solid var(--b-line); }
.bento-page .closure-demo__steps li::before { top: 16px; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 11px; background: var(--b-warm); color: var(--b-ink); font: 800 13px/1 var(--b-display); }
.bento-page .closure-demo__steps strong { color: var(--b-ink); font: 800 17px/1.25 var(--b-display); }
.bento-page .closure-demo__steps p, .bento-page .closure-demo__summary p { color: var(--b-body); font-size: 15.5px; }
.bento-page .closure-demo__review { margin-top: 12px; padding: 20px 22px; border: 0; border-radius: 18px; }
.bento-page .closure-demo__review strong { color: var(--b-ink); font: 800 17px/1.3 var(--b-display); }
.bento-page .closure-demo__summary summary { min-height: 44px; display: flex; align-items: center; color: var(--b-ink); font: 700 15px/1.3 var(--sans); text-decoration: underline; text-underline-offset: 5px; }
.bento-page .closure-demo__summary summary:focus-visible, .bento-page .closure-demo video:focus-visible { outline: 3px solid var(--b-ink); outline-offset: 3px; }
.bento-page .closure-demo__media video:focus-visible { outline-color: var(--b-lime); }
/* "Cómo lo monto": four modules, last one lime */
.bento-page #metodo .section-head { margin-bottom: 32px; }
.bento-page .agent-deliverables { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--b-gap); border: 0; }
.bento-page .agent-deliverables article { min-height: 0; padding: 28px; border: 0; border-radius: var(--b-r); background: var(--b-white); }
.bento-page .agent-deliverables article:last-child { background: var(--b-lime); }
.bento-page .agent-deliverables > article > span { display: inline-grid; place-items: center; width: 44px; height: 44px; margin-bottom: 20px; border-radius: 14px; background: var(--b-warm); color: var(--b-ink); font: 800 16px/1 var(--b-display); letter-spacing: 0; }
.bento-page .agent-deliverables article:last-child > span { background: var(--b-ink); color: #fff; }
.bento-page .agent-deliverables h3 { margin: 0 0 10px; color: var(--b-ink); }
.bento-page .agent-deliverables p { color: var(--b-body); font-size: 16px; line-height: 1.55; }
.bento-page .agent-deliverables article:last-child p { color: #2e2e2e; }
.bento-page .agent-next { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding: 48px; }
.bento-page .agent-next h2 { max-width: 20ch; }
.bento-page .agent-next .section-copy { margin-top: 16px; color: #2e2e2e; }
.bento-page .agent-next .eyebrow { color: #2e2e2e; }

/* Automatización: dark strip in the hero + the interactive tour inside a white module */
.bento-page .automation-strip { padding: 24px; border: 0; }
.bento-page .automation-strip .strip-flow { gap: 10px; border: 0; }
.bento-page .automation-strip .strip-flow div { min-height: 0; padding: 16px; border: 0; border-radius: 16px; background: #222; }
.bento-page .automation-strip .strip-flow div:last-child { background: var(--b-lime); }
.bento-page .automation-strip .strip-flow div:last-child * { color: var(--b-ink); }
.bento-page .automation-strip .strip-flow span { margin-bottom: 14px; color: #cfcfcf; font: 800 13px/1 var(--b-display); }
.bento-page .automation-strip .strip-flow strong { font: 800 18px/1.2 var(--b-display); }
.bento-page .automation-strip .strip-flow p { color: #d6d6d6; font-size: 14px; }
.bento-page .automation-strip .strip-note { margin: 14px 0 0; color: #cfcfcf; font-size: 14px; }
.bento-page .automation-tour-section {
  --tour-paper: #fff; --tour-mineral: var(--b-bg); --tour-ink: var(--b-ink); --tour-ink-soft: var(--b-body); --tour-muted: #5e5e5e;
  --tour-green: var(--b-ink); --tour-green-dark: var(--b-ink); --tour-green-soft: var(--b-lime); --tour-amber: var(--b-ink); --tour-amber-soft: var(--b-lav);
  --tour-line: #d9d6cd; --tour-shadow: none;
}
.bento-page .automation-tour { padding: 8px 32px 32px; border: 0; }
.bento-page .automation-tour__disclosure { border-left-color: var(--b-ink); }
.bento-page .tour-toolbar { border-bottom-color: var(--b-line); }
.bento-page .flow-node { border: 1.5px solid var(--b-line); border-radius: 18px; background: var(--b-bg); box-shadow: none; }
.bento-page .flow-node.is-active { border-color: var(--b-ink); background: var(--b-lav); box-shadow: none; }
.bento-page .flow-node.is-complete { border-color: var(--b-warm); background: var(--b-warm); }
.bento-page .flow-node.is-final { border-color: var(--b-ink); background: var(--b-lime); box-shadow: none; }
.bento-page .flow-node.is-final .flow-node__status { background: #fff; }
.bento-page .flow-node__status { border-color: #c9c6bd; background: #fff; color: var(--b-ink); }
.bento-page .flow-node[data-flow-node="0"].is-overdue .flow-node__status { border-color: var(--b-ink); background: var(--b-lav); color: var(--b-ink); }
.bento-page .tour-context { border-color: var(--b-line); }
.bento-page .tour-actions .button:focus-visible { outline: 3px solid var(--b-ink); box-shadow: none; }
.bento-page .tour-actions .button.secondary:hover { background: var(--b-ink); color: #fff; }

/* Sobre mí */
.bento-page .about-stage { align-content: center; }
.bento-page .about-stage .microproof { margin: 0; padding: 26px 28px; font: 800 24px/1.25 var(--b-display); letter-spacing: -.02em; }
.bento-page .about-degree-card { padding: 28px; }
.bento-page .about-degree-card h2 { font-size: 15px; font-family: var(--sans); font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: #3d3d3d; max-width: none; }
.bento-page .about-degree-card .about-degree { margin: 12px 0 0; color: var(--b-ink); font: 800 clamp(22px, 2vw, 28px)/1.2 var(--b-display); letter-spacing: -.02em; }
.bento-page .about-pair__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--b-gap); align-items: stretch; }
.bento-page .about-block { padding: 44px; }
.bento-page .about-block .about-note { margin-top: 22px; }
.bento-page .about-block .about-note p { font-size: 17.5px; line-height: 1.65; color: var(--b-body); }
.bento-page .profiles-bento { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr); gap: var(--b-gap); align-items: stretch; }
.bento-page .profiles-intro { padding: 36px; }
.bento-page .profiles-intro h2 { color: #fff; }
.bento-page .profiles-intro .profile-note { margin: 16px 0 0; color: #d6d6d6; font-size: 17px; }
.bento-page .profile-cards { display: contents; }
.bento-page .profile-card { min-height: 180px; padding: 32px; border: 0; border-radius: var(--b-r); background: var(--b-white); color: var(--b-ink); box-shadow: none; justify-content: flex-end; transition: background .15s ease; }
.bento-page .profile-card + .profile-card { background: var(--b-lime); }
.bento-page .profile-card:hover { box-shadow: none; background: var(--b-warm); }
.bento-page .profile-card + .profile-card:hover { background: #bfee3f; }
.bento-page .profile-card:focus-visible { outline: 3px solid var(--b-ink); outline-offset: 3px; border-radius: var(--b-r); }
.bento-page .profile-card__cta { color: var(--b-ink); font: 800 24px/1.2 var(--b-display); letter-spacing: -.02em; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 6px; }
.bento-page .profile-card__cta [aria-hidden="true"] { display: inline-block; text-decoration: none; }

/* Hablemos: copy + notes left, channels module right */
.bento-page .talk-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); grid-template-areas: "copy card" "notes card"; gap: var(--b-gap) 56px; align-items: start; }
.bento-page .talk-copy { grid-area: copy; }
.bento-page .talk-card { grid-area: card; padding: 40px; scroll-margin-top: 24px; }
.bento-page .talk-card h2 { font-size: clamp(30px, 2.8vw, 42px); }
.bento-page .talk-card .contact-side { margin: 28px 0 0; padding: 0; }
.bento-page .talk-card .section-copy { margin-top: 24px; font-size: 16.5px; }
.bento-page .talk-card .form-note { margin: 12px 0 0; color: var(--b-body); font-size: 15.5px; }
.bento-page .contact-options a { border-top: 0; padding-top: 24px; }
.bento-page .talk-notes { grid-area: notes; padding: 28px 30px; }
.bento-page .talk-notes .microproof { margin: 0; color: #2e2e2e; font-size: 16px; }
.bento-page .talk-notes .microproof + .microproof { margin-top: 12px; padding-top: 12px; border-top: 1px solid rgba(17, 17, 17, .12); }

/* Legal pages: sober, one white module */
.bento-page .legal-card { max-width: 900px; padding: 48px 56px; border: 0; box-shadow: none; }
.bento-page .legal-card h2 { margin: 36px 0 12px; font-size: 24px; max-width: none; letter-spacing: -.02em; }
.bento-page .legal-card h2:first-child { margin-top: 0; }
.bento-page .legal-card p, .bento-page .legal-card li { color: var(--b-body); font-size: 16.5px; line-height: 1.65; }
.bento-page .legal-card strong, .bento-page .legal-card a { color: var(--b-ink); }
.bento-page .legal-card .notice { padding: 16px 20px; border: 0; border-radius: 16px; background: var(--b-warm); color: var(--b-ink); }

/* Project fichas: identity only (colours, type, modules), content untouched */
.bento-page .project-console { padding: 28px; border: 0; border-radius: var(--b-r); background: var(--b-white); }
.bento-page .project-console > div { border-top-color: var(--b-line); }
.bento-page .project-console__note { border-top-color: var(--b-line); }
.bento-page .project-ledger { gap: var(--b-gap); border: 0; }
.bento-page .project-ledger article { border: 0; border-radius: var(--b-r); background: var(--b-white); padding: 28px; }
.bento-page .project-ledger span { font: 800 15px/1 var(--b-display); }
.bento-page .project-boundaries { padding: 44px; border-radius: var(--b-r); background: var(--b-lav); }
.bento-page .project-boundaries p { color: #2e2e2e; }
.bento-page .about-note { border: 0; padding: 0; }

/* Tablet */
@media (max-width: 1060px) {
  .bento-page .page-hero-grid, .bento-page .agent-hero__grid, .bento-page .service-hero-grid, .bento-page .project-hero__grid { grid-template-columns: 1fr; gap: 36px; }
  .bento-page .process-grid, .bento-page .closure-demo__grid, .bento-page .about-pair__grid { grid-template-columns: 1fr; }
  .bento-page .closure-demo__intro { grid-template-columns: 1fr; }
  .bento-page .closure-demo__intro .section-copy, .bento-page .closure-demo__intro .microproof { grid-column: 1; }
  .bento-page .closure-demo__media { max-width: 640px; }
  .bento-page .agent-deliverables { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bento-page .callout { grid-template-columns: 1fr; }
  .bento-page .callout .button-row { justify-content: flex-start; }
  .bento-page .two-column { grid-template-columns: 1fr; gap: 24px; }
  .bento-page .service-row { grid-template-columns: 1fr; }
  .bento-page .service-row .text-link { justify-self: start; padding-left: 64px; }
  .bento-page .talk-grid { grid-template-columns: 1fr; grid-template-areas: "copy" "card" "notes"; }
  .bento-page .profiles-bento { grid-template-columns: 1fr 1fr; }
  .bento-page .profiles-intro { grid-column: 1 / -1; }
}
@media (max-width: 800px) {
  .bento-page .scope-ledger { grid-template-columns: 1fr; padding: 8px 24px; }
  .bento-page .scope-ledger article { padding: 22px 0; border-left: 0; border-top: 1px solid rgba(17, 17, 17, .12); }
  .bento-page .scope-ledger article:first-child { border-top: 0; }
  .bento-page .scope-tiles { padding: 0; }
  .bento-page .scope-tiles article { padding: 22px; border-top: 0; }
  .bento-page .agent-next { flex-direction: column; align-items: flex-start; }
}
/* Mobile */
@media (max-width: 720px) {
  .bento-page h1 { margin-top: 14px; font-size: clamp(34px, 9.6vw, 42px); line-height: 1.04; }
  .bento-page h2 { font-size: clamp(28px, 8vw, 36px); }
  .bento-page .breadcrumbs { padding-top: 0; font-size: 13.5px; }
  .bento-page .page-hero { padding-top: 12px; }
  .bento-page .page-hero .eyebrow { padding: 8px 13px; font-size: 13px; }
  .bento-page .lead { margin-top: 14px; font-size: 16px; line-height: 1.55; }
  .bento-page .microproof { font-size: 14.5px; }
  .bento-page .page-hero .hero-actions, .bento-page .page-hero .button-row { flex-direction: column; align-items: stretch; margin-top: 20px; gap: 10px; }
  .bento-page .page-hero .hero-actions .button, .bento-page .page-hero .button-row .button { width: 100%; min-height: 52px; font-size: 15.5px; }
  .bento-page .section, .bento-page .section--paper, .bento-page .section--mineral, .bento-page .section--ink, .bento-page .automation-tour-section, .bento-page .closure-demo { padding-top: 56px; }
  .bento-page .w-sheet { padding: 16px; }
  .bento-page .sheet-row { grid-template-columns: minmax(0, 1fr) auto; gap: 4px 10px; padding: 10px 8px; }
  .bento-page .sheet-row span:nth-child(2) { grid-row: 2; color: var(--b-body); font-size: 12.5px; }
  .bento-page .sheet-row .tag { grid-row: 1 / 3; grid-column: 2; }
  .bento-page .sheet-head { display: none; }
  .bento-page .service-row .text-link { padding-left: 0; }
  .bento-page .service-row--hl { margin: 0 -10px; padding: 22px 10px; }
  .bento-page .process-intro, .bento-page .callout, .bento-page .about-block, .bento-page .agent-next, .bento-page .talk-card, .bento-page .profiles-intro, .bento-page .project-boundaries { padding: 26px 22px; }
  .bento-page .process-grid .process-ledger { padding: 8px 22px; }
  .bento-page .process-grid .process-step { grid-template-columns: 44px minmax(0, 1fr); gap: 14px; padding: 18px 0; }
  .bento-page .process-grid .process-step h3 { font-size: 18px; }
  .bento-page .callout p { font-size: 16px; }
  .bento-page .callout .button-row { flex-direction: column; align-items: stretch; }
  .bento-page .callout .button-row .button { width: 100%; }
  .bento-page .ledger, .bento-page .method-list { padding: 4px 22px; }
  .bento-page .ledger-row { grid-template-columns: 36px minmax(0, 1fr); gap: 6px 12px; padding: 22px 0; }
  .bento-page .ledger-row > p, .bento-page .ledger-row > .text-link { grid-column: 2; }
  .bento-page .method-list li { grid-template-columns: 44px minmax(0, 1fr); gap: 14px; padding: 22px 0; }
  .bento-page .faq { padding: 4px 22px; }
  .bento-page .faq summary { font-size: 18px; padding: 20px 0; }
  .bento-page .agent-flow { padding: 16px; }
  .bento-page .agent-flow__steps li { padding: 14px; }
  .bento-page .agent-flow__steps strong { font-size: 16px; }
  .bento-page .agent-flow__steps small { font-size: 14px; }
  .bento-page .closure-demo__media { padding: 12px; }
  .bento-page .closure-demo__result { padding: 26px 22px; }
  .bento-page .agent-deliverables { grid-template-columns: 1fr; gap: var(--b-gap); }
  .bento-page .agent-deliverables article { padding: 22px; }
  .bento-page .automation-strip { padding: 16px; }
  .bento-page .automation-strip .strip-flow { grid-template-columns: 1fr; }
  .bento-page .automation-tour { padding: 4px 16px 20px; }
  .bento-page .about-stage .microproof { padding: 20px 22px; font-size: 20px; }
  .bento-page .about-degree-card { padding: 22px; }
  .bento-page .about-block .about-note p { font-size: 16px; }
  .bento-page .profiles-bento { grid-template-columns: 1fr; }
  .bento-page .profile-card { min-height: 0; padding: 26px 22px; }
  .bento-page .profile-card__cta { font-size: 20px; }
  .bento-page .talk-card h2 { font-size: 28px; }
  .bento-page .talk-notes { padding: 22px; }
  .bento-page .legal-card { padding: 26px 22px; }
  .bento-page .legal-card h2 { font-size: 21px; }
  .bento-page .legal-card p, .bento-page .legal-card li { font-size: 15.5px; }
  .bento-page .project-console, .bento-page .project-ledger article { padding: 22px; }
}

/* Interactive tour: tighter stage and readable labels (min 12px) */
.bento-page .flow-stage, .bento-page .flow-steps { min-height: 300px; }
.bento-page .tour-toolbar__label, .bento-page .tour-toolbar__time, .bento-page .tour-context small, .bento-page .tour-explanation__time { font-size: 12px; }
.bento-page .flow-node__number { font: 800 13px/1 var(--b-display); color: var(--b-ink); letter-spacing: 0; }
.bento-page .flow-node__meta { font-size: 12.5px !important; }
.bento-page .flow-node__status, .bento-page .tour-status { font-size: 12px !important; }
.bento-page .tour-nojs, .bento-page .automation-tour__disclosure { font-size: 14px !important; }
.bento-page .project-console__label { font-size: 12.5px; }
.bento-page .project-console > div span, .bento-page .project-ledger span { font-size: 13px; }
@media (max-width: 950px) { .bento-page .flow-stage, .bento-page .flow-steps { min-height: 0; } }
@media (max-width: 1060px) { .bento-page .service-row { grid-template-columns: 1fr; } .bento-page .scope-tiles { grid-template-columns: 1fr; } }
@media (max-width: 800px) { .bento-page .scope-tiles article { padding: 22px; } }

/* Round 2 fixes */
.bento-page .agent-flow__steps li { padding: 16px; }
.bento-page .agent-flow__steps span { position: static; margin: 0 0 10px; }
.bento-page .closure-demo__intro { align-items: start; }
.bento-page .closure-demo__intro h2 { grid-row: 2 / 4; }
.bento-page .closure-demo__intro .section-copy { grid-row: 2; padding-top: 6px; }
.bento-page .closure-demo__intro .microproof { grid-row: 3; margin-top: 0; }
.bento-page .agent-next { justify-content: flex-start; gap: 24px 64px; }
.bento-page .about-hero { align-items: center; }
.bento-page .about-degree-card .about-degree { text-wrap: balance; }
.bento-page .about-block { display: flex; flex-direction: column; }
.bento-page .profile-card { justify-content: center; min-height: 0; }
.bento-page .talk-grid { align-items: stretch; }
.bento-page .talk-card { display: flex; flex-direction: column; }
.bento-page .talk-card { justify-content: center; }
.bento-page .talk-card .section-copy { margin-top: 24px; }
.bento-page .talk-copy, .bento-page .talk-notes { align-self: start; }
@media (max-width: 1060px) {
  .bento-page .closure-demo__intro h2, .bento-page .closure-demo__intro .section-copy, .bento-page .closure-demo__intro .microproof { grid-row: auto; }
}
.bento-page .talk-card h2 { margin-top: 4px; }
.bento-page .profile-card { padding: 26px 32px; }
.bento-page .about-pair { padding-top: 64px; }
/* Legal pages: neutral label and a full-width module with a readable measure */
.bento-page:has(.legal-card) .page-hero .eyebrow { background: var(--b-warm); }
.bento-page .legal-card { max-width: none; }
.bento-page .legal-card > * { max-width: 78ch; }
