/* Layout 1 — refinamento de 7 de novembro. */
:root { --opening-header: 76px; --opening-strip: 72px; }
.hero { min-height: calc(100svh - var(--opening-header) - var(--opening-strip)); padding: clamp(28px,4.3svh,46px) var(--gutter) clamp(28px,4svh,42px); }
.hero h1 { font-size: clamp(64px,min(7.2vw,11.2svh),110px); margin-block: 24px; }
.hero-context { margin-top: 24px; }
.show-scene { min-height: 0; background: none; color: var(--ink); border-radius: 0; margin-bottom: 55px; }
.show-scene-stage { position: relative; top: auto; padding: 0 3vw 18px 0; background: none; overflow: visible; gap: 45px; }
.show-scene-copy h2 { color: var(--purple); font-size: clamp(49px,5.8vw,86px); }
.show-scene-copy h2 em { color: #cd4800; }
.show-scene-copy p:not(.eyebrow) { max-width: 36ch; }
.scene-link span { color: var(--purple); }
.scene-device { padding-block: 12px; }
.scene-screen { width: clamp(180px,18vw,228px); box-shadow: 0 0 0 1px #49307855, 12px 20px 32px #49307822; }
.scene-device figcaption { color: var(--purple); }
.show-cta { margin-top: 32px; padding: 32px 36px; border: 0; border-radius: 8px; background: var(--purple); color: var(--cream); gap: 26px; }
.show-cta .eyebrow { margin: 0 0 10px; font-size: 10px; color: #ffe477; }
.show-cta h3 { margin: 0 0 13px; font: 600 clamp(36px,4vw,56px)/.96 var(--display); }
.show-cta p:not(.eyebrow) { max-width: 45ch; font-size: 13px; font-weight: 400; }
.show-cta .button { background: var(--lemon); color: var(--purple); border-color: var(--lemon); flex-shrink: 0; }
.show-cta .button:hover { background: var(--cream); border-color: var(--cream); }
.about-banner { position: relative; display: flex; align-items: center; isolation: isolate; min-height: clamp(600px,53vw,770px); padding: 75px var(--gutter); overflow: hidden; color: var(--cream); background: #1c1a17; }
.about-banner-photo { position: absolute; z-index: -2; top: 0; right: 0; width: 76%; height: 100%; max-width: none; object-fit: cover; object-position: 55% 57%; }
.about-banner::after { content: ''; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg,#1c1a17 0%,#1c1a17fa 22%,#1c1a17d9 40%,#1c1a1744 61%,transparent 85%),linear-gradient(0deg,#1c1a1755,transparent 50%); }
.about-banner .about-copy { width: 49%; max-width: 650px; }
.about-banner h2 { color: var(--cream); font-size: clamp(56px,6vw,90px); }
.about-banner h2 em { color: #ff9a54; }
.about-banner .about-copy>p:not(.eyebrow) { max-width: 39ch; font-size: 14px; line-height: 1.8; }
.about-banner .about-copy>p:nth-of-type(2) { font-size: 17px; line-height: 1.65; margin: 25px 0 14px; }
.process-cta { margin-top: 30px; padding-top: 28px; }
.process-cta p { color: var(--purple); font: 600 clamp(27px,3vw,39px)/1.1 var(--display); margin: 0 0 8px; }
.process-cta span { font-size: 13px; }
.photo-rail { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 32px)/3); gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; padding: 5px 0 12px; }
.photo-rail::-webkit-scrollbar { display: none; }
.photo-slide { position: relative; margin: 0; height: clamp(320px,34vw,470px); border-radius: 7px; overflow: hidden; background: var(--purple); scroll-snap-align: start; }
.photo-slide img { width: 100%; height: 100%; object-fit: cover; object-position: var(--photo-focus,center); transition: transform .6s; }
.photo-slide:hover img { transform: scale(1.035); }
.photo-controls { display: flex; align-items: center; justify-content: flex-end; gap: 20px; font-size: 12px; margin-top: 8px; }
.photo-controls>div { display: flex; align-items: center; gap: 8px; }
.photo-controls button { display: grid; place-items: center; width: 44px; min-height: 44px; border: 1px solid var(--purple); border-radius: 50%; color: var(--purple); background: none; font-size: 20px; }
.photo-controls button:hover { color: var(--cream); background: var(--purple); }
.hero h1 > .hero-line { display: block; overflow: hidden; padding-block: .055em; margin-block: -.055em; color: inherit; }
.hero h1 > .hero-line-accent { color: #ff8a34; }
.hero-word { display: block; }
.steps .step-number::after { transform-origin: left; }
.photo-rail { cursor: grab; touch-action: pan-x pan-y; }
.photo-rail.is-dragging { cursor: grabbing; scroll-snap-type: none; user-select: none; }
.photo-rail img { user-select: none; -webkit-user-drag: none; }
.testimonials { background: var(--purple); color: var(--cream); }
.testimonials .section-heading { align-items: flex-end; gap: 24px; }
.testimonials h2 { margin: 0; color: var(--cream); font-size: clamp(50px,6vw,82px); }
.testimonials h2 em { color: var(--lemon); }
.testimonial-disclosure { max-width: 29ch; font-size: 12px; line-height: 1.65; color: #e0d3ee; }
.testimonial-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin-block: 40px; }
.testimonial-card { margin: 0; padding: 0 30px; display: flex; flex-direction: column; border-left: 1px solid #fff3d54a; }
.testimonial-card:first-child { border: 0; padding-left: 0; }
.testimonial-card:last-child { padding-right: 0; }
.testimonial-card .feedback-summary { margin: 0 0 26px; font-size: clamp(17px,1.65vw,22px); font-weight: 400; line-height: 1.65; }
.testimonial-card figcaption { display: flex; flex-direction: column; gap: 6px; margin-top: auto; }
.testimonial-card figcaption strong { font-size: 13px; font-weight: 600; }
.testimonial-card figcaption span { font-size: 12px; color: #e0d3ee; }
.testimonial-cta { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding-top: 28px; border-top: 1px solid #fff3d54a; }
.testimonial-cta p { margin: 0; font: 600 clamp(25px,3vw,36px)/1.1 var(--display); }
.testimonial-cta .button { background: var(--lemon); border-color: var(--lemon); color: var(--purple); flex-shrink: 0; }
.testimonial-cta .button:hover { background: var(--cream); border-color: var(--cream); }
@keyframes samba-title { from { transform: translateY(105%); } }
@keyframes quote-arrive { from { opacity: .25; transform: translateY(18px); } }
@keyframes step-line { from { transform: scaleX(0); } }
@keyframes faq-answer { from { opacity: .3; transform: translateY(-5px); } }
@media (prefers-reduced-motion: no-preference) {
  .hero-word { animation: samba-title .64s cubic-bezier(.16,1,.3,1) backwards; }
  .hero-line:nth-child(2) .hero-word { animation-delay: 90ms; }
  .hero-line:nth-child(3) .hero-word { animation-delay: 180ms; }
  .steps.revealed, .steps.revealed > .step { animation: none; }
  .steps.revealed .step-number::after { animation: step-line .65s cubic-bezier(.16,1,.3,1) backwards; }
  .steps.revealed .step:nth-child(2) .step-number::after { animation-delay: 150ms; }
  .steps.revealed .step:nth-child(3) .step-number::after { animation-delay: 300ms; }
  .steps .step-number::after { transition: transform .25s cubic-bezier(.16,1,.3,1); transform-origin: left; }
  .steps .step:hover .step-number::after { transform: scaleX(1.65); }
  .testimonials.revealed { animation: none; }
  .testimonials.revealed .testimonial-card { animation: quote-arrive .5s cubic-bezier(.16,1,.3,1) backwards; }
  .testimonials.revealed .testimonial-card:nth-child(2) { animation-delay: 90ms; }
  .testimonials.revealed .testimonial-card:nth-child(3) { animation-delay: 180ms; }
  .faq details[open] > p { animation: faq-answer .22s cubic-bezier(.16,1,.3,1); }
  .faq summary span { transition: transform .22s cubic-bezier(.16,1,.3,1); }
}
.form-note a { text-decoration: underline; text-underline-offset: 2px; }
.site-footer { padding-top: 23px; padding-bottom: 20px; }
.footer-top { padding-bottom: 17px; gap: 30px; }
.footer-top p { margin-block: 0; }
.footer-top .brand { width: 121px; height: 48px; }
.footer-top .brand img { width: 170px; height: 170px; left: -25px; top: -61px; }
.footer-bottom { padding-top: 15px; justify-content: flex-start; font-size: 10px; text-transform: none; letter-spacing: .2px; }
.footer-bottom>a:last-child { margin-left: auto; }
.footer-bottom a { text-decoration: underline; text-underline-offset: 4px; }
.legal-page { max-width: 920px; margin: 0 auto; padding: 55px var(--gutter) 90px; }
.legal-page h1 { font: 600 clamp(47px,7vw,75px)/1 var(--display); color: var(--purple); margin: 0 0 24px; }
.legal-page h2 { font: 600 30px/1.15 var(--display); margin: 34px 0 14px; letter-spacing: 0; }
.legal-page p,.legal-page li { font-size: 14px; line-height: 1.85; }
.legal-page a { text-decoration: underline; text-underline-offset: 3px; }
.legal-page .legal-summary { background: var(--cream); border-left: 3px solid var(--orange); padding: 18px 24px; }
.legal-page .legal-date { font-size: 12px; }
.legal-page ul { padding-left: 22px; }
@media (max-width: 1000px) {
  .show-cta { align-items: flex-start; }
  .about-banner .about-copy { width: 57%; }
  .photo-rail { grid-auto-columns: calc((100% - 16px)/2); }
}
@media (max-width: 760px) {
  :root { --opening-header: 64px; --opening-strip: 55.6px; }
  .hero { min-height: calc(100svh - var(--opening-header) - var(--opening-strip)); padding-top: clamp(170px,27svh,240px); padding-bottom: 24px; }
  .hero h1 { font-size: clamp(52px,14.8vw,74px); margin-block: 18px 20px; }
  .hero-portrait { height: clamp(340px,58svh,490px); object-position: 56% 30%; }
  .hero-art::after { background: linear-gradient(180deg,transparent 9%,#100e196b 24%,#100e19 51%); }
  .hero-description { margin-bottom: 20px; }
  .hero-context { margin-top: 20px; }
  .show-scene-stage { grid-template-columns: 1fr; gap: 20px; padding: 0; }
  .show-scene { margin-bottom: 36px; }
  .show-scene-copy h2 { font-size: clamp(46px,11vw,64px); }
  .scene-screen { width: min(52vw,210px); }
  .show-cta { padding: 27px 23px; gap: 22px; }
  .show-cta .button { width: 100%; font-size: 12px; }
  .show-cta p:not(.eyebrow) { font-size: 12px; }
  .about-banner { display: block; min-height: 0; padding: clamp(290px,79vw,420px) var(--gutter) 45px; }
  .about-banner-photo { width: 100%; height: clamp(530px,140vw,740px); object-position: 50% 54%; }
  .about-banner::after { background: linear-gradient(180deg,transparent 8%,#1c1a1733 26%,#1c1a17e6 48%,#1c1a17 69%); }
  .about-banner .about-copy { width: 100%; }
  .about-banner h2 { font-size: clamp(52px,12vw,70px); }
  .about-banner .about-copy>p:not(.eyebrow) { font-size: 13px; }
  .about-banner .about-copy>p:nth-of-type(2) { font-size: 16px; }
  .process-cta .button { width: 100%; font-size: 12px; }
  .photo-rail { grid-auto-columns: 83%; gap: 12px; }
  .photo-slide { height: 390px; }
  .photo-controls { align-items: flex-start; flex-direction: column; gap: 10px; }
  .photo-controls>div { align-self: flex-end; }
  .testimonial-grid { grid-template-columns: 1fr; margin-block: 28px; }
  .testimonial-card, .testimonial-card:first-child, .testimonial-card:last-child { padding: 24px 0; border: 0; border-top: 1px solid #fff3d54a; }
  .testimonial-card .feedback-summary { font-size: 18px; margin-bottom: 18px; }
  .testimonials .section-heading { align-items: flex-start; }
  .testimonials h2 { font-size: clamp(46px,11.5vw,65px); }
  .testimonial-disclosure { max-width: 36ch; margin-bottom: 0; }
  .testimonial-cta { flex-direction: column; align-items: stretch; gap: 22px; }
  .testimonial-cta .button { width: 100%; font-size: 12px; }
  .footer-top { gap: 14px 25px; }
  .footer-top p { font-size: 10px; }
  .footer-bottom { gap: 16px 23px; font-size: 9px; }
  .footer-bottom>a:last-child { margin-left: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .photo-slide img { transition: none; }
}
@media (max-width: 760px) and (max-height: 740px) {
  .hero { padding-top: clamp(95px,17svh,125px); padding-bottom: 20px; }
  .hero h1 { font-size: clamp(46px,13vw,56px); margin-block: 14px; }
  .hero-description { font-size: 13px; line-height: 1.6; margin-bottom: 15px; }
  .hero-context { margin-top: 14px; }
}
