/* Page chapters alternate paper and ink; the embedded product keeps its own UI. */
main > .section-light { --line:#cecdc5; --muted:#626258; background:var(--paper); color:var(--ink); }
main > .section-dark { --line:#414139; --muted:#b4b4a8; background:var(--ink); color:var(--paper); }
main > section:not(.hero) { padding-top:76px; padding-bottom:80px; }
.section-label { gap:24px; }
.section-light .section-label { color:#59594f; border-color:#b9b9af; }
.section-dark .section-label { color:#bebeb2; border-color:#49493f; }
.section-dark :is(a,button,summary):focus-visible { outline-color:var(--lime); }
.desktop-nav { gap:28px; margin-right:36px; }
.desktop-nav a { font-size:14px; letter-spacing:0; }
.desktop-nav a:last-child { color:var(--lime); }
.desktop-nav a[aria-current="location"]::after { right:0; }
.mobile-nav { max-height:calc(100dvh - 86px); overflow-y:auto; }
.mobile-nav > .mobile-contact { color:var(--lime); }

/* 01 — the problem, with sources kept beside the evidence. */
.approach.section-dark .muted-type { color:#a1a194; }
.approach.section-dark .approach-content > p:not(.section-lead),
.approach.section-dark .brand-questions p { color:#c0c0b5; }
.approach.section-dark .brand-questions { border-top-color:#6c6c5e; }
.approach.section-dark .brand-questions .mono { color:#b4b4a5; }
.approach.section-dark .underlined-link { color:var(--lime); border-color:#777e58; }
.approach.section-dark .ai-services { margin:22px 0 30px; color:var(--paper); }
.approach.section-dark .ai-service-list { display:flex; flex-wrap:wrap; gap:18px 26px; }
.approach.section-dark .ai-service-list li { flex-direction:row; gap:8px; padding:0; border:0; background:transparent; font-size:15px; }
.approach.section-dark .ai-service-icon { width:30px; height:30px; }
.approach.section-dark .ai-service-icon img { width:26px; height:26px; }
/* The monochrome mark reads light on ink; its original file stays unchanged. */
.approach.section-dark .ai-service-icon .chatgpt-icon { width:34px; height:34px; filter:invert(1); mix-blend-mode:screen; }
.approach.section-dark .travel-evidence { background:#22231e; border-left-color:var(--lime); }
.approach.section-dark .evidence-number { border-color:#555749; }
.approach.section-dark .evidence-number > strong { color:var(--lime); }
.approach.section-dark :is(.evidence-intro > p,.evidence-number > span,.evidence-conversion > span:last-child,.evidence-source,.evidence-global) { color:#c0c2b4; }
.approach.section-dark .evidence-source { border-color:#555749; }
.approach.section-dark :is(.evidence-source a,.evidence-global a,.evidence-global strong) { color:var(--paper); }

/* 04 — concise scope, followed by the initial customer focus. */
.scope-heading h2,.platform.section-light .section-heading h2 { font-family:var(--body); font-size:clamp(30px,3.8vw,55px); font-weight:600; line-height:1.35; letter-spacing:-1.7px; word-break:keep-all; }
.scope-heading > p { color:#626258; font-size:16px; }
.scope-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid #9e9f91; }
.scope-grid article { display:flex; flex-direction:column; padding:32px 34px 34px 0; border-bottom:1px solid var(--line); min-width:0; }
.scope-grid article:nth-child(even) { padding-left:34px; padding-right:0; border-left:1px solid var(--line); }
.scope-top { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.scope-top .mono { color:#626258; font-size:12px; }
.scope-top .ui-icon { width:32px; height:32px; }
.scope-grid h3 { font-size:25px; font-weight:500; line-height:1.55; letter-spacing:-.7px; margin:22px 0 13px; word-break:keep-all; }
.scope-grid p { color:#5d5d53; font-size:16px; line-height:1.9; max-width:530px; word-break:keep-all; margin-bottom:24px; }
.scope-grid a { display:flex; justify-content:space-between; align-items:center; gap:14px; margin-top:auto; font-size:15px; text-decoration:underline; text-underline-offset:5px; width:fit-content; min-height:40px; }
.scope-grid a span { font-size:20px; text-decoration:none; }
.scope-grid a:hover { color:#586d12; }
.scope-audience { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:48px; margin-top:40px; }
.scope-audience .mono { color:#69695e; font-size:11px; }
.scope-audience h3 { font-size:23px; line-height:1.5; font-weight:500; margin:10px 0; letter-spacing:-.6px; word-break:keep-all; }
.scope-audience p { font-size:14px; line-height:1.85; color:#646459; max-width:460px; word-break:keep-all; }
.scope-sectors { display:flex; flex-wrap:wrap; gap:12px 23px; align-items:center; }
.scope-sectors > span { font-family:var(--display); font-size:25px; color:#66675b; }
.scope-sectors > .scope-initial { color:var(--ink); flex-basis:100%; }
.scope-initial small { font-family:var(--body); font-size:12px; font-weight:500; padding:5px 8px; margin-left:10px; background:var(--lime); vertical-align:middle; }

/* 06 — a lighter invitation to try the product. */
.platform.section-light .section-heading > div > p { color:#626258; font-size:17px; line-height:1.85; }
.platform.section-light .platform-status .signal-dot { background:#637c16; }
.platform.section-light .platform-entrypoints { border-color:#b2b3a5; }
.platform.section-light .platform-entrypoints a { border-color:#b2b3a5; color:var(--ink); }
.platform.section-light .platform-entrypoints a:hover { background:#e0e4d4; }
.platform.section-light .platform-entrypoints a > span:last-child { color:#606354; }
.platform.section-light .platform-entrypoints .ui-icon { color:var(--icon-on-paper); }
.platform.section-light .platform-caption > span { color:#66685a; font-size:13px; }
.platform.section-light .platform-caption > p > span { color:#65771f; }

/* 07 — answer the remaining questions before the contact point. */
.principles.section-dark h2 { font-size:clamp(30px,3vw,43px); line-height:1.45; font-weight:500; }
.principles.section-dark .faq-list summary { font-size:17px; }
.principles.section-dark .faq-list summary > span { color:var(--lime); }
.principles.section-dark .faq-list details > p { color:#bfbfb1; font-size:15px; line-height:1.9; }
.principles.section-dark .faq-list details { border-color:#49493e; }

/* 08 — one visible contact point for every inquiry CTA. */
.contact-grid { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:7%; margin-top:46px; align-items:start; }
.contact-kicker { display:flex; align-items:center; gap:9px; color:#66675a; font-size:11px; }
.contact-kicker .signal-dot { width:7px; height:7px; background:#708729; }
.contact-intro h2 { font-family:var(--body); font-size:clamp(34px,4.6vw,65px); line-height:1.28; letter-spacing:-2.2px; font-weight:600; margin:26px 0; word-break:keep-all; }
.contact-lead { font-size:22px; line-height:1.65; word-break:keep-all; }
.contact-description { color:#626258; font-size:16px; line-height:1.9; max-width:450px; margin-top:18px; word-break:keep-all; }
.contact-next { list-style:none; padding:0; margin:30px 0 20px; }
.contact-next li { display:flex; gap:19px; padding:19px 0; border-top:1px solid var(--line); }
.contact-next li > span { color:#77796b; padding-top:3px; }
.contact-next strong { font-size:16px; font-weight:500; line-height:1.7; }
.contact-next p { color:#66685c; font-size:14px; line-height:1.8; margin-top:3px; word-break:keep-all; }
.contact-demo-link { display:inline-flex; gap:24px; font-size:15px; padding:10px 0; border-bottom:1px solid #979b85; }
.contact-form-panel { color:var(--paper); background:var(--ink); padding:34px; }
.contact-form-heading { display:flex; justify-content:space-between; gap:20px; padding-bottom:23px; border-bottom:1px solid #45463a; color:#aeb29c; }
.contact-form-heading .mono { font-size:11px; }
.contact-form-panel h3 { font-size:28px; line-height:1.5; font-weight:500; letter-spacing:-.8px; margin:25px 0 8px; }
.contact-form-intro { color:#bfc0b2; font-size:15px; line-height:1.8; margin-bottom:25px; }
#contact-form { display:flex; flex-direction:column; gap:20px; }
#contact-form label { display:block; font-size:14px; line-height:1.75; }
#contact-form label > span { color:var(--lime); }
#contact-form label > .contact-optional { font-size:12px; color:#a9ad9b; margin-left:5px; }
#contact-form :is(input,select,textarea) { color:var(--paper); background:#20211c; border:1px solid #595d4a; padding:11px 13px; min-height:48px; font-size:16px; width:100%; margin-top:8px; color-scheme:dark; }
#contact-form :is(input,textarea)::placeholder { color:#a1a693; opacity:1; }
#contact-form :is(input,select,textarea,button):focus-visible { outline:2px solid var(--lime); outline-offset:3px; }
.contact-form-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.contact-delivery-note { font-size:13px; color:#b6bba8; line-height:1.8; word-break:keep-all; }
.contact-submit { width:100%; justify-content:space-between; min-height:55px; font-size:16px; }
.contact-submit:disabled { cursor:wait; opacity:.6; transform:none; }
#contact-result { color:var(--lime); font-size:14px; line-height:1.85; word-break:keep-all; }
#contact-result:empty { display:none; }
#contact-result[data-state="error"] { color:#ffb8a2; }
.contact-direct { border-top:1px solid #494d3d; padding-top:22px; margin-top:24px; }
.contact-direct > span { display:block; color:#aeb4a0; font-size:12px; margin-bottom:9px; }
.contact-direct a { font-size:17px; overflow-wrap:anywhere; line-height:1.8; text-underline-offset:5px; text-decoration:underline; }
.contact-direct a:focus-visible,.contact-demo-link:focus-visible { outline-color:#788d30; }
.contact-direct a:focus-visible { outline-color:var(--lime); }
.contact-copy-button { border:1px solid #747c60; background:transparent; padding:9px 12px; font-size:13px; margin-top:14px; color:#dce6c1; }
.contact-copy-button:focus-visible { outline-color:var(--lime); }

@media(max-width:1100px) {
  .desktop-nav { gap:19px; margin-right:24px; }
  .desktop-nav a { font-size:13px; }
  .scope-heading { align-items:flex-start; flex-direction:column; gap:22px; }
  .scope-audience { gap:30px; }
  .contact-grid { gap:5%; }
  .contact-form-panel { padding:28px; }
  .contact-form-row { grid-template-columns:1fr; gap:20px; }
}
@media(max-width:900px) { .contact-grid { grid-template-columns:1fr; gap:38px; }.contact-form-row { grid-template-columns:repeat(2,minmax(0,1fr)); }.contact-description { max-width:620px; } }
@media(max-width:700px) {
  main > section:not(.hero) { padding-top:52px; padding-bottom:56px; }
  .section-label { font-size:11px; }
  .scope-heading h2,.platform.section-light .section-heading h2 { font-size:30px; letter-spacing:-1px; }
  .scope-grid,.scope-audience { grid-template-columns:1fr; }
  .scope-grid article,.scope-grid article:nth-child(even) { padding:26px 0; border-left:0; }
  .scope-grid h3 { font-size:24px; }
  .scope-grid p { font-size:16px; }
  .scope-audience { gap:24px; }
  .scope-audience h3 { font-size:22px; }
  .scope-sectors > span { font-size:23px; }
  .platform.section-light .section-heading > div > p { font-size:16px; }
  .principles.section-dark .faq-list summary { font-size:16px; }
  .principles.section-dark .faq-list details > p { padding-right:0; }
  .approach.section-dark .ai-services { margin:18px 0 26px; }
  .approach.section-dark .ai-service-list { gap:12px 19px; }
  .approach.section-dark .ai-service-list li { gap:6px; font-size:14px; }
  .approach.section-dark .ai-service-icon { width:26px; height:26px; }
  .contact-grid { margin-top:30px; }
  .contact-intro h2 { font-size:38px; letter-spacing:-1.5px; }
  .contact-lead { font-size:19px; }
  .contact-form-panel { padding:25px 20px; }
  .contact-form-row { grid-template-columns:1fr; }
  .contact-form-panel h3 { font-size:26px; }
}
@media(prefers-reduced-motion:reduce) { :root { scroll-behavior:auto; } }
