/* Editorial feedback: quiet cover, sequential entrances and tactile artwork.
   Geometry, palette and reading order remain owned by journey.css. */
:root { --feedback-ease: cubic-bezier(.16,1,.3,1); --feedback-fast: 160ms; --feedback-main: 260ms; --feedback-settle: 460ms; }
/* Words retain their type and line breaks; movement is now spring-driven. */
.ink-title { --ink-accent: var(--brick); }
.card-story .ink-title, #sobre .ink-title { --ink-accent: var(--rose-light); }
.ink-word { display: inline-block; font: inherit; letter-spacing: inherit; vertical-align: baseline; transform-origin: 50% 75%; transition: color 520ms ease; }
.ink-title.ink-active .ink-emphasis { color: var(--ink-accent); }
/* The previous word-by-word underlines are deliberately removed. */
.ink-emphasis::after { content: none; }
/* Links get a stable hit area, not a magnetic target that escapes the pointer. */
.ink-link { position: relative; text-decoration: none !important; }
.ink-link::after { content: ''; position: absolute; left: 0; right: 0; bottom: 5px; height: 1px; background: currentColor; opacity: .5; transform: scaleX(0); transform-origin: right; transition: transform var(--feedback-main) var(--feedback-ease); pointer-events: none; }
.contact-email .ink-link::after { bottom: 0; }
.ink-link:focus-visible::after { transform: scaleX(1); transform-origin: left; }
.site-header .main-nav a::after { transition: transform var(--feedback-main) var(--feedback-ease); }
.site-header .main-nav a:focus-visible::after { transform: scaleX(1); }
/* The focus and press states are useful even without hover or JavaScript. */
.button, .orbit-navigation button, .preview-navigation button, .preview-close { transition: background var(--feedback-fast) ease, color var(--feedback-fast) ease, scale var(--feedback-fast) var(--feedback-ease); }
.button::before { transition-duration: var(--feedback-main); transition-timing-function: var(--feedback-ease); }
.button-icon, .orbit-navigation .ui-icon, .preview-navigation .ui-icon { transition: transform var(--feedback-main) var(--feedback-ease); }
#solucao .service-row { position: relative; transition: transform var(--feedback-main) var(--feedback-ease), border-color var(--feedback-main) ease; }
#solucao .service-row:focus-within { border-color: var(--brick); }
#solucao .service-row:nth-child(2):focus-within { border-color: var(--rose); }
#solucao .service-image > img { transition: transform var(--feedback-settle) var(--feedback-ease), opacity 240ms ease; }
#solucao .service-body h3 em { transition: color var(--feedback-main) ease; }
#solucao .service-cta > span { transition: transform var(--feedback-main) var(--feedback-ease); }
#projetos .project-visual { transition: translate var(--feedback-main) var(--feedback-ease), border-color var(--feedback-main) ease; }
#projetos .project:focus-visible .project-visual { border-color: var(--brick); }
.project-preview { transform-origin: center; }
.preview-stage img { transition: opacity 280ms ease, transform 360ms var(--feedback-ease), visibility 0s 360ms; transform: scale(1.012); }
.preview-stage img.is-current { transition-delay: 0s; transform: none; }
.preview-thumbnails button { min-height: 44px; transition: opacity var(--feedback-fast) ease, border-color var(--feedback-fast) ease; }
/* Photographs move intact; there is no face distortion. */
#sobre .portrait-window { transition: border-color var(--feedback-main) ease; }
#sobre .about-photo img, #contato .contact-portrait img { transition: transform 600ms var(--feedback-ease); }
.note-caption { position: relative; padding-right: 18px; }
.note-caption .ui-icon { display: block; position: absolute; right: 0; top: 12px; width: 12px; height: 12px; opacity: .65; transition: opacity var(--feedback-main) ease, transform var(--feedback-main) var(--feedback-ease); }
.note-post:focus-visible .note-caption .ui-icon { opacity: 1; }
#processo .step-number { transition: transform var(--feedback-main) var(--feedback-ease), color var(--feedback-main) ease; }
.scroll-motion-ready #processo .process-step::after { height: 1px; opacity: .72; }
#processo li.process-step { transition: border-color var(--feedback-main) ease, transform var(--feedback-main) var(--feedback-ease); }
#faq .faq-list summary { transition: color var(--feedback-fast) ease; }
#faq .faq-list summary > span { transition: transform var(--feedback-main) var(--feedback-ease), color var(--feedback-fast) ease; }
#faq .faq-list details[open] summary { color: var(--brick); }
#faq .faq-list details:focus-within { border-bottom-color: var(--brick); }
#contato .button::before { background: var(--rose-light); }
@media (hover:hover) and (pointer:fine) {
  .ink-link:hover::after { transform: scaleX(1); transform-origin: left; }
  .button:hover .button-icon { transform: translate(2px,-2px); }
  .story-intro .hero-actions .button:hover .button-icon { transform: translateY(3px); }
  .hero-social a:hover { background: rgb(247 243 232 / .08); }
  #solucao .service-row:hover { transform: translateY(-2px); }
  #solucao .service-row:hover .service-body h3 em { color: var(--brick); }
  #solucao .service-row:nth-child(2):hover .service-body h3 em { color: var(--rose); }
  #solucao .service-art:hover .service-image > img { transform: translate3d(var(--art-shift-x,0px),var(--art-shift-y,0px),0) scale(1.04); }
  #projetos .project.is-selected:hover .project-visual { translate: 0 -3px; border-color: var(--brick); }
  #projetos .project-grid.is-dragging .project-visual { translate: none; transition: none; }
  .orbit-next:hover .ui-icon, .preview-next:hover .ui-icon { transform: translateX(2px); }
  .orbit-prev:hover .ui-icon, .preview-prev:hover .ui-icon { transform: translateX(-2px); }
  #sobre .about-visual:hover .portrait-window { border-color: var(--rose-light); }
  #sobre .about-visual:hover .about-photo img, #contato .contact-portrait:hover img { transform: scale(1.012); }
  .note-post:hover .note-image img { transform: scale(1.018); }
  .note-post:hover .note-caption .ui-icon { opacity: 1; transform: translate(2px,-2px); }
  #processo li.process-step:hover { background: var(--paper); transform: translateY(-2px); border-color: var(--brick); }
  #processo li.process-step:last-child:hover { background: var(--butter); }
  #processo li.process-step:hover .step-number { transform: translateY(-2px); }
  #faq .faq-list summary:hover { color: var(--brick); }
}
@media (prefers-reduced-motion:no-preference) {
  html:not([data-motion="reduced"]) :is(.button,.orbit-navigation button,.preview-navigation button):active { scale: .985; }
}
@media (prefers-reduced-motion:reduce), (hover:none), (pointer:coarse) {
  .ink-word { transform: none !important; }
  #solucao .service-art:hover .service-image > img,
  #sobre .about-visual:hover .about-photo img,
  #contato .contact-portrait:hover img,
  .note-post:hover .note-image img,
  #processo li.process-step:hover .step-number,
  .button:hover .button-icon { transform: none !important; }
  #projetos .project.is-selected:hover .project-visual { translate: none; }
}
html[data-motion="reduced"] .ink-word,
html[data-motion="reduced"] #solucao .service-art:hover .service-image > img,
html[data-motion="reduced"] #sobre .about-visual:hover .about-photo img,
html[data-motion="reduced"] #contato .contact-portrait:hover img,
html[data-motion="reduced"] .note-post:hover .note-image img,
html[data-motion="reduced"] #processo li.process-step:hover,
html[data-motion="reduced"] #processo li.process-step:hover .step-number,
html[data-motion="reduced"] #solucao .service-row:hover,
html[data-motion="reduced"] .button:hover .button-icon { transform: none !important; }
html[data-motion="reduced"] #projetos .project-visual { translate: none; }
@media (prefers-reduced-motion:reduce) {
  #solucao .service-row:hover, #processo li.process-step:hover { transform: none; }
  .orbit-navigation .ui-icon, .preview-navigation .ui-icon { transform: none !important; }
}
html[data-motion="reduced"] :is(.orbit-navigation .ui-icon,.preview-navigation .ui-icon) { transform: none !important; }

/* A warmer photographic world; no added sections or changes to the grid. */
.story-intro::before { background: radial-gradient(ellipse at 58% 42%,rgb(146 36 35 / .54),rgb(75 24 31 / 0) 68%),var(--wine); }
#solucao { background: radial-gradient(ellipse at 40% 52%,rgb(231 174 191 / .16),rgb(247 243 232 / 0) 68%),var(--paper); }
#sobre { background: radial-gradient(ellipse at 86% 35%,rgb(146 36 35 / .44),rgb(75 24 31 / 0) 58%),var(--wine); }
#contato { background: radial-gradient(ellipse at 28% 48%,rgb(146 36 35 / .38),rgb(75 24 31 / 0) 65%),var(--wine); }
#solucao .service-row { overflow: visible; border-color: rgb(75 24 31 / .16); }
#solucao .service-row:nth-child(2) { border-color: var(--wine); }
#solucao .service-image { border-radius: 5px 5px 3px 3px; }
.flow-visual { position: relative; transform-origin: center; }
#projetos .project-visual, #solucao .service-image, #sobre .portrait-window, .note-image {
  box-shadow: 0 14px 30px rgb(75 24 31 / .07);
  transition: box-shadow 480ms cubic-bezier(.16,1,.3,1),border-color 280ms ease;
}
#sobre .portrait-window { box-shadow: 0 26px 60px rgb(69 38 33 / .2); }
#contato .contact-panel { box-shadow: 0 24px 80px rgb(69 38 33 / .18); }
.surface-sheen { position: absolute; inset: -30%; z-index: 3; pointer-events: none; opacity: 0; background: linear-gradient(112deg,transparent 30%,rgb(247 243 232 / .24) 45%,rgb(247 243 232 / .03) 61%,transparent 72%); transition: opacity 500ms ease; }
.explore-cue { position: absolute; right: 16px; bottom: 16px; z-index: 4; width: 82px; height: 82px; border-radius: 50%; background: var(--paper); color: var(--wine); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 7px; opacity: 0; scale: .78; translate: 0 16px; pointer-events: none; box-shadow: 0 8px 24px rgb(75 24 31 / .12); transition: opacity 260ms ease,scale 520ms cubic-bezier(.16,1,.3,1),translate 520ms cubic-bezier(.16,1,.3,1); }
.explore-cue > span { font-size: 10px; line-height: 1.2; font-weight: 500; letter-spacing: .03em; }
.explore-cue svg { display: block; width: 25px; height: 25px; }
#processo li.process-step { border-color: rgb(75 24 31 / .16); }
#processo li.process-step:last-child { border-color: var(--butter); }
#processo .step-number { transform-origin: left center; }
.scroll-motion-ready #processo .process-step::after { display: none; }
@media (hover:hover) and (pointer:fine) {
  #solucao .service-row:hover { transform: none; }
  #solucao .service-art:hover .service-image > img { transform: none; }
  #projetos .project.is-selected:hover .project-visual { translate: none; }
  .surface-live .surface-sheen { opacity: .8; }
  #sobre .surface-live .surface-sheen, #contato .surface-live .surface-sheen { opacity: .35; }
  .surface-live .explore-cue, .flow-surface:focus-visible .explore-cue { opacity: 1; scale: 1; translate: 0 0; }
  .surface-live .service-view, .surface-live .project-open, .flow-surface:focus-visible .service-view, .flow-surface:focus-visible .project-open { opacity: 0 !important; }
  #solucao .surface-live .service-image, #projetos .surface-live .project-visual { box-shadow: 0 24px 38px rgb(75 24 31 / .17); }
  #sobre .surface-live .portrait-window { box-shadow: 0 34px 70px rgb(69 38 33 / .3); }
  #processo li.process-step:hover { background: var(--rose-light); transform: translateY(-5px); border-color: transparent; }
  #processo li.process-step:last-child:hover { background: var(--butter); }
  #processo li.process-step:hover .step-number { transform: translateY(-3px) scale(1.12); }
  #contato .button:hover .button-icon { transform: translate(4px,-4px); }
}
@media (max-width:760px) {
  .menu-enabled .site-header .main-nav.is-open { border: 1px solid rgb(231 174 191 / .18); border-radius: 12px; background: rgb(75 24 31 / .96); box-shadow: 0 18px 45px rgb(69 38 33 / .25); backdrop-filter: blur(12px); }
  .surface-sheen,.explore-cue { display: none; }
}
@media (prefers-reduced-motion:reduce), (pointer:coarse) {
  .flow-visual, #processo li.process-step:hover, #processo li.process-step:hover .step-number { transform: none !important; }
  .surface-sheen { display: none; }
  .explore-cue { transition: opacity 120ms; translate: none; }
}
html[data-motion="reduced"] :is(.flow-visual,.ink-word,#processo li.process-step:hover,#processo li.process-step:hover .step-number) { transform: none !important; }
html[data-motion="reduced"] .surface-sheen { display: none; }
html[data-motion="reduced"] .explore-cue { transition: opacity 120ms; translate: none; }

/* Refined flow: targets stay still; the image and decorative arrow respond. */
#solucao .service-body { transition: background-color 380ms var(--feedback-ease); }
.note-caption { transition: color 300ms ease; }
@media (hover:hover) and (pointer:fine) {
  #solucao .service-row:not(:nth-child(2)):hover .service-body,
  #solucao .service-row:not(:nth-child(2)):focus-within .service-body { background: rgb(231 174 191 / .09); }
  #solucao .service-cta:hover > span { transform: translate(4px,-4px); }
  .note-post:hover .note-caption,.note-post:focus-visible .note-caption { color: var(--paper); }
}
@media (prefers-reduced-motion:reduce) {
  #solucao .service-cta:hover > span { transform: none; }
}
html[data-motion="reduced"] #solucao .service-cta:hover > span { transform: none; }

/* Pointer feedback shares the finite spring scheduler with the photographic surfaces. */
.flow-detail { position:relative; isolation:isolate; overflow:hidden; }
.flow-detail .pointer-aura { position:absolute; inset:0; overflow:hidden; border-radius:inherit; z-index:-1; pointer-events:none; opacity:0; background:radial-gradient(ellipse at 50% 50%,rgb(231 174 191 / .24),transparent 68%); transition:opacity 400ms ease; }
.flow-detail-icon { transform-origin:50% 50%; }
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .flow-detail.surface-live .pointer-aura { opacity:1; }
  .presence-ready .flow-detail .flow-detail-icon { transition:none; }
  .presence-ready .flow-detail:hover .flow-detail-icon { transform:none; }
  .surface-sheen { background:radial-gradient(ellipse at 48% 42%,rgb(247 243 232 / .23),transparent 48%),linear-gradient(118deg,transparent 32%,rgb(247 243 232 / .16) 48%,transparent 64%); }
  .surface-live .surface-sheen { opacity:1; }
  .surface-live .explore-cue svg { transform:translate(2px,-2px); }
  .explore-cue svg { transition:transform 360ms var(--feedback-ease); }
  .presence-ready #processo li.flow-detail:hover { transform:translateY(-7px); box-shadow:0 16px 30px rgb(75 24 31 / .08); }
  .presence-ready #processo li.flow-detail { transition:background-color 300ms ease,border-color 300ms ease,transform 420ms var(--feedback-ease),box-shadow 420ms ease; }
}
@media (prefers-reduced-motion:reduce), (pointer:coarse) {
  .pointer-aura { display:none; }
  .flow-detail .flow-detail-icon { transform:none !important; }
}
html[data-motion="reduced"] .pointer-aura { display:none; }
html[data-motion="reduced"] .flow-detail .flow-detail-icon { transform:none !important; }
html.presence-ready[data-motion="reduced"] #processo li.flow-detail:hover { transform:none; box-shadow:none; }
