:root {
  --paper:#fff; --ink:#1d1d1b; --lime:#c0ff1f; --muted:#5d5d56; --line:#cecec7;
  --soft:#f1f1ed; --sheet:#f5f6f0; --sheet-shade:#e6e9df; --lime-light:#e4ffa3;
  --charcoal-light:#34372f; --on-dark-muted:#c7c7be; --font:'Gotham',Arial,sans-serif;
  --gutter:clamp(20px,4vw,72px); --ease:cubic-bezier(.16,1,.3,1);
  --space-section:clamp(64px,8vw,128px); color-scheme:light;
}
.legal-links { display:flex; flex-wrap:wrap; gap:8px 24px; margin-block:28px; font-size:14px; line-height:1.5; }
.legal-links a,.legal-links button { display:inline-flex; align-items:center; min-height:44px; text-decoration:underline; text-underline-offset:.25em; }
.site-legal { padding-bottom:88px; }
.is-quiz .site-legal { display:none; }
.checkbox-option.consent-option { align-items:flex-start; font-size:15px; line-height:1.65; margin-block:24px 12px; }
.checkbox-option.consent-option input { flex:none; margin-top:5px; accent-color:var(--ink); }
.consent-option span { min-width:0; }
.form-trap { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.privacy-dialog { color:var(--ink); background:var(--paper); border:1px solid var(--ink); border-radius:12px; width:calc(100% - 32px); max-width:640px; max-height:calc(100dvh - 32px); padding:clamp(24px,5vw,40px); overflow-y:auto; }
.privacy-dialog::backdrop { background:rgba(29,29,27,.65); }
.privacy-dialog h2 { font-size:clamp(28px,5vw,42px); margin-bottom:20px; }
.privacy-dialog h3 { font-size:18px; margin:28px 0 8px; }
.privacy-dialog p { font-size:15px; line-height:1.65; }
.privacy-close { display:block; min-height:44px; margin-left:auto; margin-bottom:12px; text-decoration:underline; }
.privacy-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.privacy-choice { flex:1 1 200px; justify-content:center; font-size:15px; padding:16px; border:1px solid var(--ink); }
.policy-page { max-width:860px; padding-block:clamp(40px,7vw,88px); }
.policy-page h1 { font-size:clamp(36px,6vw,64px); line-height:1.1; letter-spacing:-.04em; margin-bottom:24px; }
.policy-page h2 { font-size:clamp(24px,3.5vw,32px); margin:44px 0 16px; }
.policy-page p,.policy-page li { max-width:72ch; overflow-wrap:anywhere; }
.policy-page li { margin-block:10px; }
.policy-header a { min-height:44px; display:flex; align-items:center; }
button:disabled { cursor:wait; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:24px; scrollbar-color:#777770 var(--paper); }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--font); font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased; }
button,input,textarea { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
button { cursor:pointer; }
a { color:inherit; text-underline-offset:.25em; }
img { max-width:100%; display:block; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { text-wrap:balance; }
h2 { font-size:clamp(34px,7.8vw,82px); line-height:1.06; letter-spacing:-.04em; font-weight:900; }
h3 { font-size:28px; line-height:1.2; letter-spacing:-.025em; font-weight:700; }
::selection { color:#1d1d1b; background:var(--lime); }
:focus-visible { outline:2px solid currentColor; outline-offset:5px; }
[hidden] { display:none!important; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.shell { max-width:1680px; margin-inline:auto; padding-inline:var(--gutter); }
.section-space { padding-block:var(--space-section); }
.skip-link { position:fixed; z-index:30; top:8px; left:8px; transform:translateY(-160%); background:var(--lime); padding:12px 18px; }
.skip-link:focus { transform:none; }
.site-header { min-height:64px; display:flex; align-items:center; justify-content:space-between; gap:16px; border-bottom:1px solid var(--line); }
.brand { width:112px; flex:none; }
.brand img { width:100%; height:auto; }
.site-header a { text-decoration:none; }
.site-header nav { display:none; }
.header-cta { display:inline-flex; align-items:center; gap:10px; min-height:44px; font-size:12px; font-weight:500; }
.header-cta .icon { width:17px; height:17px; }
.icon { width:24px; height:24px; flex:none; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:square; transition:transform 220ms var(--ease); }
.icon-filled { fill:currentColor; stroke:none; }
.button { display:inline-flex; align-items:center; justify-content:space-between; gap:18px; padding:18px 20px; min-height:58px; border:1px solid transparent; background:var(--lime); color:#1d1d1b; font-size:15px; font-weight:700; line-height:1.35; text-decoration:none; transition:background 180ms,color 180ms; }
.button-dark { background:#1d1d1b; color:#fff; }
.text-link { display:inline-flex; align-items:center; gap:16px; padding-block:12px; font-weight:700; font-size:15px; }
.hero { padding-top:8px; }
.home-experience { position:relative; display:grid; grid-template-columns:minmax(0,1fr); max-width:600px; margin:auto; }
.funnel-stage { position:relative; min-width:0; }
.object-heading { position:relative; display:flex; justify-content:space-between; align-items:start; gap:20px; min-height:44px; z-index:1; pointer-events:none; }
.object-heading h1 { margin:0; font-size:18px; line-height:1.3; letter-spacing:-.03em; font-weight:700; }
.object-heading p { margin:3px 0 0; font-size:12px; line-height:1.5; color:var(--muted); }
.pointer-copy { display:none; }
.motion-toggle { display:grid; place-items:center; width:44px; height:44px; border:1px solid var(--line); color:var(--ink); background:var(--paper); pointer-events:auto; }
.motion-toggle .icon { width:17px; height:17px; }
.play-symbol { display:none; }
.motion-paused .play-symbol { display:block; }
.motion-paused .pause-symbol { display:none; }
.funnel { display:block; width:100%; height:clamp(300px,33svh,332px); overflow:visible; touch-action:pan-y; }
.funnel-film,.ring,.ring-glint,.ring-outline,.pulse-particles { pointer-events:none; }
.ring,.ring-glint,.ring-outline { fill:none; }
.ring-glint { stroke-width:.6; }
.ring-hit { fill:none; stroke:transparent; stroke-width:28; pointer-events:stroke; cursor:pointer; }
.letter-hit { fill:transparent; cursor:pointer; pointer-events:all; }
.pulse-particle { fill:none; stroke:var(--ink); stroke-width:2; stroke-linecap:round; }
.pulse-particle.is-accent { stroke:var(--lime); stroke-width:2.6; }
.guide { fill:none; stroke:var(--line); stroke-width:.8; stroke-dasharray:4 7; }
.letter { font-family:var(--font); font-weight:900; text-anchor:middle; dominant-baseline:middle; fill:var(--ink); pointer-events:none; }
.letter-tag { fill:var(--lime); pointer-events:none; }
.ring-group:focus { outline:none; }
.focus-ring { fill:none; stroke:var(--ink); stroke-width:1.4; stroke-dasharray:3 4; opacity:0; pointer-events:none; }
.ring-group:focus-visible .focus-ring { opacity:1; }
.scene-label { display:grid; grid-template-columns:44px minmax(0,1fr); gap:14px; min-height:112px; padding:14px 0 10px; border-top:1px solid var(--line); }
.active-letter { display:grid; place-items:center; width:44px; height:48px; background:var(--lime); color:#1d1d1b; font-weight:900; font-size:34px; line-height:1; }
.active-name { font-size:20px; line-height:1.3; letter-spacing:-.03em; font-weight:700; margin:0 0 5px; }
.active-copy { font-size:16px; line-height:1.45; color:var(--muted); max-width:39ch; margin:0; }
.hero-action { padding-top:8px; }
.hero-action .button { width:100%; }
.cta-note { font-size:13px; line-height:1.5; max-width:440px; color:var(--muted); margin:9px 0 0; }
.hero-message { padding-block:22px 24px; }
.hero-message h2 { margin:0; font-size:clamp(29px,8.2vw,48px); line-height:1.02; font-weight:900; letter-spacing:-.04em; text-transform:uppercase; text-wrap:initial; }
.hero-message h2 span { display:block; }
.hero-message > p { font-size:clamp(20px,5.2vw,28px); line-height:1.23; font-weight:700; letter-spacing:-.035em; margin:10px 0 0; max-width:390px; }
.callout-overlay { display:none; position:absolute; inset:0; width:100%; height:100%; overflow:visible; pointer-events:none; }
.callout-overlay path { fill:none; stroke:var(--lime); stroke-width:1.5; }
.home-continuation { display:flex; justify-content:space-between; align-items:center; gap:20px; border-top:1px solid var(--line); padding-block:15px; text-decoration:none; max-width:600px; margin:auto; }
.home-continuation strong,.home-continuation span span { display:block; }
.home-continuation strong { font-size:14px; font-weight:700; }
.home-continuation span span { font-size:12px; color:var(--muted); }
.home-continuation .icon { width:20px; height:20px; }
.scene-entered .ring { animation:ring-arrive 950ms var(--ease) both; animation-delay:calc(var(--layer)*45ms); }
@keyframes ring-arrive { from { stroke-dasharray:1400; stroke-dashoffset:900; opacity:.2; } to { stroke-dasharray:1400; stroke-dashoffset:0; opacity:1; } }
mark { color: var(--ink); background: var(--lime); box-decoration-break: clone; -webkit-box-decoration-break: clone; padding-inline: .08em; }
/* Three editorial marks: highlighter, graphite underline and margin circle. */
.pencil-highlight {
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 60' preserveAspectRatio='none'%3E%3Cpath d='M2 8 100 5 189 7 301 2 397 6 394 49 278 53 167 50 67 55 4 51Z' fill='%23c0ff1f'/%3E%3Cpath d='M6 54Q101 49 193 53T389 50' fill='none' stroke='%231d1d1b' stroke-width='1' opacity='.7'/%3E%3Cpath d='M22 57Q137 53 263 55L367 53' fill='none' stroke='%231d1d1b' stroke-width='.6' opacity='.4'/%3E%3C/svg%3E");
  background-size: 100% 100%;
  background-repeat: no-repeat;
  padding: .02em .09em .13em;
}
.pencil-annotation { position: relative; display: inline-block !important; white-space: nowrap; isolation: isolate; }
.pencil-annotation svg { position: absolute; pointer-events: none; overflow: visible; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; }
.pencil-annotation path { stroke-width: 1.7; vector-effect: non-scaling-stroke; opacity: .78; }
.pencil-annotation path:nth-child(2) { stroke-width: 1.05; opacity: .5; }
.pencil-annotation .pencil-grain { stroke-width: .7; opacity: .4; stroke-dasharray: .018 .008 .055 .006; }
.pencil-underline svg { width: 100%; height: .2em; left: 0; bottom: -.16em; }
.pencil-circle svg { width: 106%; height: 122%; left: -3%; top: -8%; }
.detail-entered.pencil-annotation path:not(.pencil-grain) { animation: pencil-draw 1050ms var(--ease) both; }
.detail-entered.pencil-annotation path:nth-child(2) { animation-delay: 100ms; }
@keyframes pencil-draw { from { stroke-dasharray: 1; stroke-dashoffset: 1; opacity: .25; } to { stroke-dasharray: 1; stroke-dashoffset: 0; opacity: .78; } }

.clients { display:grid; gap:28px; padding-block:34px; border-block:1px solid var(--line); }
.clients h2 { max-width:480px; font-size:26px; line-height:1.16; margin-bottom:16px; }
.clients-intro > p { max-width:560px; color:var(--muted); margin:0; }
.material-pending { display:flex; align-items:center; gap:18px; font-size:14px; font-weight:500; margin:0; }
.pending-rule { width:44px; height:8px; background:var(--lime); flex:none; }
.review-label { font-size:12px; color:var(--muted); margin:10px 0 0 62px; }
.section-intro { margin-bottom:44px; }
.section-intro h2 { margin-bottom:28px; }
.section-intro > p { color:var(--muted); max-width:510px; margin-bottom:0; }
.work-item { border-top:1px solid var(--ink); padding-top:24px; }
.work-item + .work-item { margin-top:44px; }
.work-item h3 { font-size:28px; max-width:440px; margin-bottom:18px; }
.work-item > p { color:var(--muted); max-width:580px; margin-bottom:24px; }
.portfolio-slot { display:flex; flex-direction:column; justify-content:space-between; gap:32px; min-height:180px; padding:24px; border:1px solid var(--line); background:linear-gradient(135deg,var(--sheet),var(--soft)); }
.portfolio-slot strong { font-size:24px; line-height:1.2; letter-spacing:-.03em; font-weight:700; color:var(--muted); }
.portfolio-slot small { font-size:12px; line-height:1.5; color:var(--muted); }
.work-caption { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px 28px; margin-top:32px; color:var(--muted); font-size:14px; }
.work-caption p { margin:0; }
.dark { --paper:#1d1d1b; --ink:#fff; --line:#595952; --muted:var(--on-dark-muted); color:var(--ink); color-scheme:dark; }
.positioning { background:linear-gradient(115deg,var(--charcoal-light),var(--paper) 62%); }
.positioning-grid { display:grid; gap:32px; padding-block:64px; }
.positioning h2 { margin:0; }
.positioning h2 .pencil-annotation svg { stroke:var(--lime); }
.positioning-copy > p { margin-bottom:24px; color:var(--muted); }
.positioning-copy > p:first-child { font-size:19px; color:var(--ink); }
.positioning-copy .text-link { color:var(--lime); }
.anatomy-art { position:relative; display:flex; justify-content:center; align-items:center; height:320px; padding-bottom:58px; }
.anatomy-art img { height:260px; width:auto; max-width:75%; object-fit:contain; filter:grayscale(1) invert(1) contrast(3); mix-blend-mode:screen; }
.anatomy-art.detail-entered img { transform-origin:50% 62%; animation:anatomy-beat 5s var(--ease) infinite; animation-play-state:paused; }
.anatomy-art.detail-visible img { animation-play-state:running; }
@keyframes anatomy-beat { 0%,9%,23%,100% { transform:scale(1) rotate(0); } 4% { transform:scale(1.07) rotate(-.9deg); } 15% { transform:scale(1.045) rotate(.4deg); } }
.anatomy-caption { position:absolute; inset:auto 0 0; border-top:1px solid var(--line); padding-top:12px; display:flex; justify-content:space-between; gap:24px; font-size:12px; line-height:1.5; color:var(--muted); }
.anatomy-caption > span:first-child { font-weight:900; }
.analysis { background:linear-gradient(112deg,var(--lime-light),var(--lime) 62%); }
.analysis-grid { display:grid; gap:30px; padding-block:52px; }
.analysis h2 { margin:0; }
.analysis-grid > div > p:first-child { font-size:18px; max-width:560px; margin-bottom:24px; }
.analysis .cta-note { color:#1d1d1b; }
.faq h2 { margin-bottom:40px; }
.faq-list { border-top:1px solid var(--ink); }
.faq details { border-bottom:1px solid var(--line); }
.faq summary { display:flex; justify-content:space-between; align-items:center; gap:24px; padding-block:24px; cursor:pointer; list-style:none; font-size:18px; line-height:1.45; font-weight:500; }
.faq summary::-webkit-details-marker { display:none; }
.faq details[open] .icon-plus { transform:rotate(45deg); }
.faq details > p { max-width:690px; margin:0 32px 26px 0; color:var(--muted); }
.request { padding-bottom:64px; background:linear-gradient(150deg,var(--sheet),#fff 76%); }
.request-grid { display:grid; gap:32px; padding-top:44px; border-top:1px solid var(--ink); }
.request h2 { margin:0; }
.request-grid > div > p:first-child { font-size:18px; max-width:540px; margin-bottom:24px; }
.request .button { width:100%; }
.request-note { font-size:13px; max-width:480px; color:var(--muted); margin:16px 0 0; }
.contact-preview { margin-top:24px; padding:24px; background:var(--paper); border:1px solid var(--line); font-size:16px; scroll-margin-top:24px; }
.contact-preview h3 { font-size:23px; }
.contact-preview p { margin-bottom:12px; color:var(--muted); }
.site-footer { display:grid; gap:24px; padding-block:32px max(32px,env(safe-area-inset-bottom)); border-top:1px solid var(--line); font-size:12px; }
.site-footer p { margin:0; color:var(--muted); }
.footer-identity { display:grid; gap:14px; }
.footer-contact { display:grid; justify-items:start; font-style:normal; }
.site-footer a { text-decoration:none; }
.footer-contact a,.footer-socials a,.footer-bottom > a { display:inline-flex; align-items:center; min-height:44px; }
.footer-contact a:first-child { font-size:18px; font-weight:700; }
.footer-socials { display:flex; flex-wrap:wrap; gap:0 24px; }
.footer-socials a { text-underline-offset:5px; }
.footer-socials a:hover,.footer-contact a:hover { text-decoration:underline; }
.footer-bottom { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px 24px; padding-top:16px; border-top:1px solid var(--line); }
.footer-bottom > a { gap:12px; }
@media (min-width:760px) {
  .site-footer { grid-template-columns:1fr 1fr; }
  .footer-contact { justify-self:end; }
  .footer-socials,.footer-bottom { grid-column:1/-1; }
}
.static-pillars { padding-block:32px; }
.static-pillars dt { font-weight:700; margin-top:20px; }
.static-pillars dd { margin:0; }
@media (hover:hover) and (pointer:fine) {
  .button:hover { background:#1d1d1b; color:#fff; }
  .button-dark:hover { background:#fff; color:#1d1d1b; }
  .button:hover .icon-arrow,.text-link:hover .icon-arrow { transform:translate(3px,-3px); }
  .motion-toggle:hover { background:var(--lime); }
  .home-continuation:hover .icon,.header-cta:hover .icon { transform:translateY(3px); }
  .site-header nav a:hover { text-decoration:underline; }
  .ring-group:hover .ring-glint { stroke:var(--lime); stroke-width:1.6; }
  .ring-group[aria-pressed=true]:hover .letter { fill:#1d1d1b; }
  .touch-copy { display:none; }
  .pointer-copy { display:inline; }
}
@media (min-width:760px) {
  body { font-size:18px; }
  .site-header { min-height:80px; }
  .brand { width:138px; }
  .site-header nav { display:flex; gap:20px; font-size:13px; font-weight:500; }
  .hero { padding-top:26px; }
  .home-experience { max-width:none; grid-template-columns:minmax(0,1.08fr) minmax(0,1fr); column-gap:7%; grid-template-rows:auto auto 1fr; align-items:start; }
  .funnel-stage { grid-column:1; grid-row:1 / 4; }
  .funnel { height:clamp(510px,64svh,670px); }
  .object-heading { top:0; }
  .object-heading h1 { font-size:21px; }
  .object-heading p { font-size:13px; }
  .hero-message { grid-column:2; grid-row:1; padding-block:24px 30px; }
  .hero-message h2 { font-size:clamp(34px,4.6vw,74px); }
  .hero-message > p { font-size:clamp(23px,2.2vw,36px); max-width:530px; margin-top:20px; }
  .scene-label { grid-column:2; grid-row:2; min-height:148px; padding-top:22px; padding-bottom:24px; grid-template-columns:52px minmax(0,1fr); gap:18px; }
  .active-letter { width:52px; height:58px; font-size:40px; }
  .active-name { font-size:24px; }
  .active-copy { font-size:17px; }
  .hero-action { grid-column:2; grid-row:3; padding-top:10px; }
  .hero-action .button { width:auto; min-width:min(100%,340px); font-size:15px; }
  .cta-note { font-size:14px; }
  .callout-overlay { display:block; }
  .home-continuation { max-width:none; padding-block:22px; margin-top:12px; }
  .home-continuation > span { display:flex; align-items:center; gap:32px; }
  .home-continuation strong { font-size:16px; }
  .home-continuation span span { font-size:14px; }
  .clients { grid-template-columns:1fr 1fr; gap:10%; padding-block:44px; align-items:center; }
  .clients h2 { font-size:30px; }
  .clients-intro > p { font-size:16px; }
  .section-intro { display:grid; grid-template-columns:1.3fr 1fr; gap:60px; align-items:end; margin-bottom:70px; }
  .section-intro h2 { margin:0; }
  .section-intro > p { font-size:18px; }
  .work-item { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:20px 48px; width:90%; }
  .work-item + .work-item { margin:72px 0 0 auto; }
  .work-item h3 { font-size:clamp(30px,3vw,45px); margin:0; align-self:end; }
  .work-item > p { grid-column:1; font-size:17px; margin:0; }
  .portfolio-slot { grid-column:2; grid-row:1 / 3; min-height:220px; }
  .positioning-grid { grid-template-columns:1fr 1fr; gap:40px 9%; padding-block:84px; }
  .positioning h2 { grid-column:1 / -1; }
  .positioning-copy { align-self:center; }
  .anatomy-art { height:430px; padding-bottom:64px; }
  .anatomy-art img { height:350px; }
  .positioning-copy > p:first-child { font-size:22px; }
  .analysis-grid { grid-template-columns:1.15fr 1fr; gap:8%; padding-block:80px; align-items:center; }
  .analysis h2 { font-size:clamp(40px,4.8vw,76px); }
  .analysis-grid > div > p:first-child { font-size:20px; }
  .faq-list { margin-left:24%; }
  .faq summary { font-size:20px; }
  .faq details > p { font-size:17px; }
  .request-grid { grid-template-columns:1fr 1fr; gap:42px 8%; }
  .request h2 { grid-column:1 / -1; font-size:clamp(46px,6.5vw,104px); }
  .request-grid > div { grid-column:2; }
  .request .button { width:auto; }
  .site-footer { min-height:130px; font-size:14px; }
}
@media (min-width:1150px) { .hero-message { padding-top:44px; } .site-header nav { gap:32px; font-size:14px; } .header-cta { font-size:14px; } .button { padding:20px 24px; min-height:64px; font-size:16px; } }
@media (max-width:359px) { .scene-label { min-height:140px; } .active-name { font-size:18px; } .button { font-size:14px; padding-inline:14px; gap:10px; } .hero-message h2 { font-size:29px; } }
.motion-paused .ring,.motion-paused .pencil-annotation path { animation:none!important; }
.motion-paused .anatomy-art img,.page-inactive .anatomy-art img { animation-play-state:paused!important; }
@media (max-width:759px) { .pulse-particle:nth-child(n+15) { display:none; } }
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none!important; transition:none!important; }
  .motion-toggle,.pulse-particles { display:none; }
}

/* Diagnostic journey: the established Artēria identity, with a focused task surface. */
.plain-button { border:0; background:none; color:inherit; padding:0; font:inherit; text-align:left; }
button:disabled { cursor:not-allowed; opacity:.5; }
input { caret-color:var(--ink); }
.header-caption { display:none; font-size:13px; font-weight:500; }
.diagnostic-hero { display:grid; grid-template-columns:minmax(0,1fr); max-width:640px; padding-top:28px; }
.opening-copy h1 { font-size:clamp(34px,8.4vw,48px); font-weight:900; line-height:1.06; letter-spacing:-.04em; margin:0 0 20px; text-wrap:initial; }
.opening-copy h1 mark { padding-inline:0; }
.opening-copy > p { max-width:46ch; font-size:15px; line-height:1.5; margin-bottom:6px; color:var(--muted); }
.opening-object { position:relative; min-width:0; }
.opening-object .funnel { height:clamp(260px,30svh,330px); width:100%; }
.opening-object .ring-group,.opening-object .ring-hit,.opening-object .letter-hit { cursor:default; }
.object-footer { display:flex; align-items:center; justify-content:space-between; position:relative; margin-top:-32px; pointer-events:none; }
.object-footer > span { font-size:10px; font-weight:500; letter-spacing:.08em; color:var(--muted); }
.object-footer .motion-toggle { pointer-events:auto; background:transparent; border:0; }
.opening-action { margin-top:14px; }
.opening-action .button { width:100%; }
.opening-action .cta-note { text-align:center; max-width:none; font-size:12px; }
.opening-action .cta-note span { display:block; }
.diagnostic-hero .home-continuation { width:100%; margin:26px 0 20px; padding:16px 18px; max-width:none; border:1px solid var(--ink); background:var(--paper); transition:background 180ms; }
.home-continuation strong { font-size:15px; }
.home-continuation span span { margin-top:3px; }
.home-continuation[aria-expanded=true] .more-icon { transform:rotate(180deg); }
#saiba-mais { padding-top:28px; }
.site-footer { padding-bottom:104px; }
.contact-dock { position:fixed; right:max(16px,env(safe-area-inset-right)); bottom:max(16px,env(safe-area-inset-bottom)); z-index:12; }
.whatsapp-direct { text-decoration:none; display:flex; align-items:center; justify-content:center; gap:10px; padding:12px 16px; min-height:48px; border:1px solid var(--line); border-radius:12px; background:var(--paper); color:var(--ink); font-size:12px; font-weight:500; }
.whatsapp-direct .icon { width:21px; height:21px; }
.contact-status { width:min(330px,calc(100vw - 32px)); margin-bottom:10px; padding:20px; background:var(--ink); color:var(--paper); font-size:14px; line-height:1.5; }
.contact-status .plain-button { display:block; margin:0 0 12px auto; text-decoration:underline; min-height:32px; }
.contact-status p { margin:0; }
body.is-quiz .whatsapp-direct span { display:none; }
body.is-quiz .whatsapp-direct { width:48px; padding:0; }
body.keyboard-open .contact-dock { display:none; }
body.is-result .site-header { position:sticky; top:0; background:var(--paper); z-index:11; padding-right:240px; }
body.is-result .contact-dock { top:16px; bottom:auto; right:var(--gutter); }
body.is-result .contact-status { position:absolute; top:58px; right:0; }
@media (max-width:759px) {
  body.is-result .site-header { padding-right:80px; }
  body.is-result .whatsapp-direct span { display:none; }
  body.is-result .whatsapp-direct { width:44px; min-height:44px; padding:0; }
  body.is-result .contact-dock { right:max(16px,env(safe-area-inset-right)); top:10px; bottom:auto; }
  body.is-result .contact-status { position:absolute; top:54px; right:0; }
}
.quiz-view { min-height:calc(100svh - 64px); padding:20px var(--gutter) 92px; background:linear-gradient(160deg,var(--sheet),#fff 60%); }
.quiz-frame { max-width:1120px; margin:auto; }
.quiz-topline { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:44px; font-size:12px; font-weight:500; }
.quiz-topline > button { min-height:44px; }
.back-button { display:inline-flex; align-items:center; gap:6px; }
.back-button .icon { width:18px; height:18px; }
#step-label { font-variant-numeric:tabular-nums; color:var(--muted); }
.quiz-progress { height:3px; background:var(--line); margin:12px 0 30px; overflow:hidden; }
.quiz-progress > span { display:block; height:100%; background:var(--ink); transform-origin:left; transition:width 220ms var(--ease); width:0; }
.question-intro h1 { font-size:clamp(29px,7.2vw,40px); font-weight:900; letter-spacing:-.03em; line-height:1.12; margin:0 0 16px; }
.question-intro p { font-size:15px; color:var(--muted); line-height:1.55; max-width:44ch; margin-bottom:24px; }
.quiz-stage { animation:question-arrive 200ms var(--ease); }
@keyframes question-arrive { from { transform:translateY(7px); } to { transform:translateY(0); } }
.preview-note { font-size:12px; color:var(--muted); line-height:1.5; margin:0 0 24px; }
.field { margin-bottom:22px; }
.field > label { display:block; font-size:14px; font-weight:700; margin-bottom:8px; }
.field input { width:100%; padding:16px; min-height:56px; border:1px solid #94968e; border-radius:10px; background:#fff; color:var(--ink); font-size:16px; line-height:1.4; }
.field select { width:100%; padding:16px 36px 16px 16px; min-height:56px; border:1px solid #94968e; border-radius:10px; background-color:#fff; color:var(--ink); font:inherit; font-size:16px; line-height:1.4; cursor:pointer; }
.field select:invalid { color:var(--muted); }
.field select[aria-invalid=true] { border:2px solid var(--ink); }
.field-hint { font-size:12px; color:var(--muted); line-height:1.5; margin:8px 0 0; }
.revenue-field { margin-top:22px; }
.field input::placeholder { color:var(--muted); opacity:1; }
.field input:disabled { background:var(--soft); color:var(--muted); }
.field input[aria-invalid=true] { border:2px solid var(--ink); padding:15px; }
.checkbox-option { display:flex; gap:12px; align-items:center; font-size:14px; line-height:1.5; min-height:44px; cursor:pointer; }
.checkbox-option input { flex:none; width:20px; height:20px; margin:0; accent-color:var(--ink); }
.field-error { font-size:13px; font-weight:500; line-height:1.5; margin:8px 0 0; }
#question-options { border:0; padding:0; margin:0; min-width:0; }
#options-list { display:grid; gap:12px; }
.quiz-option { display:flex; gap:14px; align-items:center; border:1px solid var(--line); background:#fff; border-radius:12px; padding:18px 16px; min-height:68px; cursor:pointer; font-size:15px; line-height:1.5; font-weight:500; transition:background 160ms,border-color 160ms; }
.quiz-option input { appearance:none; width:22px; height:22px; margin:0; border:1px solid #94968e; border-radius:50%; flex:none; background:white; display:grid; place-items:center; }
.quiz-option input:checked { border-color:var(--ink); background:var(--ink); }
.quiz-option input:checked::after { content:''; width:8px; height:8px; border-radius:50%; background:var(--lime); }
.quiz-option:has(input:checked) { background:var(--lime); border-color:var(--ink); }
.quiz-option:has(input:focus-visible) { outline:2px solid var(--ink); outline-offset:4px; }
.quiz-option input:focus-visible { outline:none; }
.quiz-navigation { margin-top:28px; }
.quiz-navigation .button { width:100%; border-radius:12px; }
#quiz-hint { color:var(--muted); font-size:12px; line-height:1.5; margin:12px 0 0; }
.result-view { padding-top:28px; }
.result-intro { padding-bottom:30px; }
.result-topline { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px 24px; margin-bottom:20px; }
.result-topline .text-link { font-size:12px; min-height:44px; }
.result-intro h1 { font-size:clamp(38px,9vw,68px); line-height:1.05; letter-spacing:-.04em; font-weight:900; margin:0; max-width:16ch; }
.result-objective { max-width:64ch; font-size:15px; line-height:1.65; margin:0 0 28px; }
.result-objective strong { font-weight:700; }
.result-synthesis { display:grid; gap:28px; }
.result-synthesis h2 { font-size:15px; font-weight:700; letter-spacing:0; margin:0 0 12px; line-height:1.4; }
#result-proof { border-top:1px solid var(--line); }
.answer-link { display:flex; gap:14px; align-items:flex-start; width:100%; text-align:left; color:var(--ink); background:transparent; border:0; border-bottom:1px solid var(--line); padding:16px 0; }
.answer-letter { display:grid; place-items:center; width:38px; height:42px; flex:none; background:var(--lime); font-size:25px; font-weight:900; }
.answer-copy { display:grid; gap:4px; }
.answer-copy strong { font-size:13px; }
.answer-copy > span { font-size:15px; line-height:1.5; }
.answer-copy .answer-action { font-size:12px; text-decoration:underline; text-underline-offset:3px; color:var(--muted); }
#result-conclusion { font-size:clamp(24px,5.8vw,34px); line-height:1.2; letter-spacing:-.025em; font-weight:700; margin:0 0 16px; }
#result-connection { font-size:15px; line-height:1.65; margin:0; }
.result-note,.result-scope { font-size:12px; line-height:1.55; color:var(--muted); margin:18px 0 0; max-width:74ch; }
.result-method { display:grid; gap:20px; border-top:1px solid var(--line); padding-top:30px; padding-bottom:48px; scroll-margin-top:82px; }
.result-method-title h2 { font-size:clamp(28px,6.6vw,46px); margin:0 0 20px; }
.result-method-title > p { font-size:14px; line-height:1.6; max-width:44ch; margin-bottom:0; }
.result-object .funnel { width:100%; height:270px; }
.result-object { min-width:0; }
.result-reading { min-width:0; scroll-margin-top:84px; }
.pillar-tabs { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:6px; border-bottom:1px solid var(--line); padding-block:14px 18px; }
.pillar-tabs button { border:0; border-radius:0; background:transparent; font-size:22px; font-weight:900; color:var(--ink); min-height:48px; }
.pillar-tabs button[aria-pressed=true] { background:var(--lime); }
.pillar-tabs button.is-priority { text-decoration:underline; text-underline-offset:8px; text-decoration-thickness:2px; }
.personal-pillar { padding-top:24px; }
.pillar-heading { display:flex; align-items:center; gap:12px; margin-bottom:10px; }
.pillar-heading > span { display:grid; place-items:center; width:38px; height:42px; background:var(--lime); font-size:25px; font-weight:900; flex:none; }
.pillar-heading h3 { font-size:26px; margin:0; }
.pillar-status { font-size:12px; font-weight:500; margin:0 0 22px; }
.pillar-reasoning { margin:0; display:grid; gap:20px; }
.pillar-reasoning dt { font-size:12px; font-weight:700; margin-bottom:6px; }
.pillar-reasoning dd { margin:0; font-size:15px; line-height:1.6; }
.pillar-benefit { background:var(--sheet); padding:18px; position:relative; }
.pillar-benefit::before { content:''; display:block; height:3px; width:36px; background:var(--lime); margin-bottom:12px; }
.result-contact { padding-top:22px; }
.result-contact > p { font-size:14px; line-height:1.6; margin-bottom:16px; }
.result-contact .button { width:100%; font-size:14px; }
.result-contact .cta-note { font-size:12px; margin:10px 0 0; }
.result-portfolio { background:var(--paper); }
.result-portfolio > .shell { display:grid; gap:32px; padding-block:48px 64px; }
.result-portfolio h2 { font-size:clamp(36px,8vw,68px); margin:0; }
.result-portfolio p { font-size:16px; max-width:44ch; color:var(--on-dark-muted); }
.button-portfolio { border-color:var(--ink); background:transparent; color:var(--ink); width:100%; }
.result-view .pencil-highlight { color:var(--ink); }
@media (prefers-reduced-motion:no-preference) {
  .result-object.is-presenting .ring { animation:result-ring-trace 700ms var(--ease) both; animation-delay:calc(var(--layer)*30ms); }
  @keyframes result-ring-trace { from { stroke-dasharray:1600; stroke-dashoffset:600; } to { stroke-dasharray:1600; stroke-dashoffset:0; } }
}
.motion-paused .result-object .ring { animation:none!important; }
@media (hover:hover) and (pointer:fine) {
  .quiz-option:hover { border-color:var(--ink); }
  .whatsapp-direct:hover { background:var(--soft); }
  .pillar-tabs button:hover { background:var(--soft); }
  .pillar-tabs button[aria-pressed=true]:hover { background:var(--lime); }
  .diagnostic-hero .home-continuation:hover,.answer-link:hover { background:var(--soft); }
  .button-portfolio:hover { background:var(--ink); color:var(--paper); }
}
@media (min-width:760px) {
  .header-caption { display:block; margin-right:auto; margin-left:32px; }
  .diagnostic-hero { max-width:1680px; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); grid-template-rows:auto 1fr auto; column-gap:7%; padding-top:clamp(40px,6vh,80px); min-height:calc(100svh - 80px); }
  .opening-copy { grid-column:1; grid-row:1; }
  .opening-copy h1 { font-size:clamp(48px,5.5vw,82px); max-width:15ch; margin-bottom:28px; }
  .opening-copy > p { font-size:17px; max-width:43ch; }
  .opening-object { grid-column:2; grid-row:1 / 3; align-self:center; }
  .opening-object .funnel { height:clamp(430px,63svh,670px); }
  .object-footer > span { font-size:11px; }
  .opening-action { grid-column:1; grid-row:2; margin-top:28px; padding-bottom:32px; align-self:start; }
  .opening-action .button { width:auto; min-width:340px; }
  .opening-action .cta-note { text-align:left; font-size:13px; }
  .opening-action .cta-note span { display:inline; }
  .diagnostic-hero .home-continuation { grid-column:1; grid-row:3; margin-top:16px; max-width:440px; }
  .quiz-view { min-height:calc(100svh - 80px); padding-top:28px; }
  .quiz-topline { font-size:14px; }
  .quiz-progress { margin-block:18px 70px; }
  .quiz-stage { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:8%; align-items:start; }
  .question-intro h1 { font-size:clamp(34px,3.5vw,52px); }
  .question-intro p { font-size:17px; margin-top:24px; }
  .quiz-option { padding:22px 20px; font-size:16px; min-height:76px; }
  .result-view { padding-top:40px; }
  .result-intro { padding-bottom:36px; }
  .result-intro h1 { max-width:none; font-size:clamp(44px,4.8vw,68px); }
  .result-topline { margin-bottom:24px; }
  .result-objective { font-size:17px; margin-bottom:32px; }
  .result-synthesis { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:8%; }
  .result-meaning { border-left:1px solid var(--line); padding-left:28px; }
  .result-method { grid-template-columns:minmax(0,.9fr) minmax(0,1fr); column-gap:8%; row-gap:28px; padding-block:40px 60px; align-items:start; }
  .result-method-title { grid-column:1; grid-row:1; }
  .result-object { grid-column:1; grid-row:2; }
  .result-object .funnel { height:360px; }
  .result-reading { grid-column:2; grid-row:1/3; }
  .pillar-tabs { padding-top:0; }
  .pillar-heading h3 { font-size:30px; }
  .pillar-reasoning dd { font-size:16px; }
  .result-portfolio > .shell { grid-template-columns:1fr 1fr; gap:8%; align-items:center; padding-block:64px; }
  .result-portfolio .button { width:auto; }
}
@media (max-width:359px) {
  .opening-copy h1 { font-size:31px; }
  .opening-copy > p { font-size:14px; }
  .opening-object .funnel { height:245px; }
  .question-intro h1 { font-size:27px; }
  .quiz-option { padding:16px 12px; font-size:14px; }
  .pillar-tabs { gap:2px; }
}

/* Portfolio gallery: cropped previews, full grids in the lightbox. */
.portfolio-media { min-width:0; }
.portfolio-media h4 { margin:0 0 20px; font-size:23px; font-weight:700; line-height:1.2; letter-spacing:-.025em; }
.video-frame { position:relative; aspect-ratio:16/9; min-height:200px; background:var(--ink); overflow:hidden; }
.video-cover { position:absolute; inset:0; display:block; width:100%; padding:0; border:0; text-align:left; color:var(--paper); background:var(--ink); }
.video-player,.video-player iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.video-retry { margin-top:4px; }
.video-cover img { width:100%; height:100%; object-fit:cover; }
.video-cover::after { content:''; position:absolute; inset:0; background:linear-gradient(transparent 38%,rgba(0,0,0,.76)); pointer-events:none; }
.video-play { position:absolute; z-index:1; left:20px; bottom:20px; display:flex; align-items:center; gap:12px; font-weight:700; font-size:14px; }
.video-play > svg { width:44px; height:44px; padding:12px; background:var(--lime); color:#1d1d1b; fill:currentColor; }
.media-source { font-size:12px; color:var(--muted); line-height:1.5; margin:12px 0 0; }
.portfolio-gallery { display:flex; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; overscroll-behavior-x:contain; scrollbar-width:thin; scrollbar-color:var(--ink) var(--soft); padding-bottom:12px; }
.portfolio-gallery::after { content:''; flex:0 0 calc(16% - 16px); }
.portfolio-slide { margin:0; flex:0 0 84%; min-width:0; scroll-snap-align:start; }
.portfolio-slide figcaption { padding-top:12px; font-size:13px; font-weight:500; }
.portfolio-enlarge { display:block; position:relative; width:100%; padding:0; border:0; background:var(--soft); color:#fff; cursor:zoom-in; }
.portfolio-enlarge img { display:block; width:100%; height:auto; aspect-ratio:3/4; object-fit:cover; object-position:top; }
.enlarge-label { position:absolute; right:12px; bottom:12px; display:flex; align-items:center; gap:6px; padding:8px 10px; background:#1d1d1b; color:#fff; font-size:11px; font-weight:500; }
.enlarge-label .icon { width:16px; height:16px; }
.gallery-navigation { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:12px; }
.gallery-navigation > p { margin:0; font-size:12px; color:var(--muted); }
.gallery-controls { display:flex; align-items:center; gap:12px; }
.gallery-controls > span { min-width:44px; text-align:center; font-size:12px; font-variant-numeric:tabular-nums; }
.gallery-arrow { display:grid; place-items:center; width:44px; height:44px; border:1px solid var(--line); background:var(--paper); color:var(--ink); }
.partners { background:var(--lime); color:#1d1d1b; }
.partners-grid { padding-block:54px; }
.partners-copy { margin-bottom:36px; }
.partners h2 { margin:0 0 30px; font-size:clamp(42px,10vw,76px); }
.partners-copy > p { max-width:33ch; line-height:1.6; margin-bottom:24px; }
.partners-action { font-size:14px; margin-top:28px; }
.partner-logos { display:flex; flex-wrap:wrap; justify-content:center; gap:34px 24px; padding:32px 0; margin:0; list-style:none; border-block:1px solid rgba(29,29,27,.25); }
.partner-logos li { flex:0 0 calc(50% - 12px); display:flex; align-items:center; justify-content:center; min-height:60px; }
.partner-logos :is(img,svg) { width:100%; height:auto; max-width:126px; max-height:42px; object-fit:contain; filter:brightness(0); }
.portfolio-lightbox { position:fixed; inset:0; width:100%; height:100%; max-width:100%; max-height:100%; margin:0; padding:0; border:0; background:#1d1d1b; color:#fff; overflow-y:auto; }
.portfolio-lightbox::backdrop { background:rgba(0,0,0,.8); }
body:has(.portfolio-lightbox[open]) { overflow:hidden; }
.lightbox-bar { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:16px max(20px,env(safe-area-inset-right)) 16px max(20px,env(safe-area-inset-left)); position:sticky; top:0; z-index:1; background:#1d1d1b; }
.lightbox-bar h2 { margin:0; font-size:16px; line-height:1.4; letter-spacing:0; }
.lightbox-close { display:flex; align-items:center; gap:8px; min-height:44px; padding:10px 12px; background:#1d1d1b; border:1px solid var(--on-dark-muted); color:#fff; font:inherit; font-size:13px; }
#lightbox-image { display:block; width:100%; height:auto; max-width:1080px; margin:0 auto 24px; }
@media (hover:hover) and (pointer:fine) {
 .gallery-arrow:not(:disabled):hover { background:var(--lime); border-color:var(--ink); }
 .video-cover:hover .video-play > svg { background:#fff; }
}
@media (min-width:760px) {
 .work-item .portfolio-media { grid-column:2; grid-row:1/3; }
 .portfolio-media h4 { font-size:27px; }
 .partners-grid { padding-block:70px; }
 .partners-copy { display:grid; grid-template-columns:1.15fr 1fr; gap:8%; align-items:end; margin-bottom:36px; }
 .partners-copy > p { font-size:20px; }
 .partner-logos { gap:48px 40px; padding-block:44px; }
 .partner-logos li { flex-basis:calc(25% - 30px); min-height:70px; }
 .partner-logos :is(img,svg) { max-width:150px; max-height:50px; }
}

@media (max-width:759px) { body.is-quiz #quiz-hint { padding-right:52px; } }

/* Supplied client marks: one continuous strip, with manual control. */
.clients { display:block; padding-block:40px 28px; }
.clients-intro { display:grid; gap:12px; }
.clients-intro h2 { margin:0; }
.clients-copy { max-width:560px; color:var(--muted); }
.clients-copy p { margin:0; }
.clients-copy p + p { margin-top:16px; }
.clients-reel { margin-top:32px; overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:thin; scrollbar-color:var(--line) var(--paper); }
.clients-track { display:flex; width:max-content; }
.clients-list { display:flex; align-items:center; gap:40px; list-style:none; padding:12px 40px 16px 0; margin:0; }
.clients-list li { flex:0 0 120px; }
.client-logo { display:flex; align-items:center; justify-content:center; width:120px; height:68px; overflow:hidden; }
.client-logo img { width:108px; height:54px; object-fit:contain; filter:grayscale(1); flex:none; }
.client-bovo img,.client-gerasoft img,.client-seamove img { width:126px; height:126px; max-width:none; }
.client-seamove img { height:88px; }
.client-bovo img,.client-gerasoft img,.client-effium img,.client-real img,.client-seamove img,.client-seeb img,.client-tkm img { filter:brightness(0); }
.client-hb img { width:76px; }
.clients-controls { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:16px; }
.clients-controls > p { margin:0; color:var(--muted); font-size:12px; max-width:24ch; }
.clients-actions { display:flex; align-items:center; gap:8px; }
.client-motion { display:flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:8px 12px; border:1px solid var(--line); color:var(--ink); background:var(--paper); font-size:12px; white-space:nowrap; }
.client-motion .icon { width:16px; height:16px; }
.client-motion .play-symbol { display:none; }
.client-motion[aria-pressed="true"] .pause-symbol { display:none; }
.client-motion[aria-pressed="true"] .play-symbol { display:block; }
@media (hover:hover) and (pointer:fine) { .client-motion:hover { background:var(--lime); border-color:var(--ink); } }
@media (max-width:480px) {
 .clients-controls { align-items:start; flex-direction:column; }
 .clients-controls > p { max-width:none; }
 .clients-actions { width:100%; }
 .client-motion { margin-right:auto; }
}
@media (min-width:760px) {
 .clients { padding-block:44px 28px; }
 .clients-intro { grid-template-columns:1fr 1fr; gap:10%; align-items:center; }
 .clients-list { gap:56px; padding-right:56px; }
 .clients-list li { flex-basis:144px; }
 .client-logo { width:144px; height:76px; }
 .client-logo img { width:128px; height:62px; }
 .client-bovo img,.client-gerasoft img { width:146px; height:146px; }
 .client-seamove img { width:146px; height:102px; }
 .client-hb img { width:84px; }
 .clients-controls > p { max-width:none; }
}
@media (prefers-reduced-motion:reduce) {
 .clients-list[aria-hidden],.client-motion { display:none; }
}
