*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f5f0e7;color:#343b35;font-family:"DM Sans",sans-serif;line-height:1.65}.progress{position:fixed;z-index:100;top:0;left:0;height:3px;width:0;background:#bd7866}.header{height:88px;padding:0 clamp(24px,5vw,80px);display:flex;align-items:center;gap:30px;border-bottom:1px solid #343b351f;background:#f5f0e7e8;backdrop-filter:blur(12px);position:sticky;top:0;z-index:50}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:inherit}.brand-symbol{width:42px;height:42px;border:1px solid #8d9a7f;border-radius:50%;display:grid;place-items:center;font-family:"DM Serif Display",serif}.brand-name{font-size:14px}.brand-name small{display:block;font-size:8px;letter-spacing:.2em;color:#7a817a}.nav{display:flex;gap:30px;margin-left:auto}.nav a,.secondary,.footer a{color:inherit;text-decoration:none;font-size:13px}.nav a{position:relative}.nav a:after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:1px;background:#bd7866;transition:.35s}.nav a:hover:after{width:100%}.header-cta,.primary,.contact-button{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:#fff;background:#3e4a41;border-radius:999px;padding:13px 20px;font-size:13px;transition:transform .35s,background .35s}.header-cta:hover,.primary:hover,.contact-button:hover{transform:translateY(-2px);background:#bd7866}.menu{display:none;border:0;background:none;width:40px}.menu i{display:block;height:1px;background:#343b35;margin:7px 0}.hero{min-height:calc(100vh - 88px);position:relative;overflow:hidden;padding:clamp(50px,8vw,115px) clamp(24px,7vw,110px) 34px}.hero-inner{max-width:1280px;margin:auto;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(360px,.82fr);gap:clamp(45px,8vw,130px);align-items:center}.hero-copy{position:relative;z-index:2;padding-bottom:30px}.kicker,.section-tag{font-size:10px;letter-spacing:.2em;color:#8a6c60}.serif{font-family:"DM Serif Display",serif;font-weight:400;line-height:1.02;letter-spacing:-.025em}.hero h1{font-size:clamp(52px,6.4vw,92px);max-width:850px;margin:22px 0 28px}.hero h1 em{color:#bd7866}.hero-intro{max-width:550px;font-size:17px;color:#606961;margin:0 0 34px}.hero-actions{display:flex;align-items:center;gap:25px}.primary{padding:15px 24px}.secondary{border-bottom:1px solid #9aa198;padding-bottom:4px}.hero-photo{position:relative}.photo-frame{height:min(670px,72vh);min-height:510px;overflow:hidden;border-radius:46% 46% 8px 8px;background:#d6c9b6}.photo-frame img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}.photo-frame:hover img{transform:scale(1.045)}.photo-note{position:absolute;bottom:8%;left:-30px;background:#eee4d5;padding:14px 20px;border-radius:999px;font-size:11px;letter-spacing:.08em;box-shadow:0 18px 45px #2f392b16}.hero-bottom{max-width:1280px;margin:50px auto 0;display:flex;gap:45px;color:#7c837c;font-size:10px;letter-spacing:.15em;text-transform:uppercase;border-top:1px solid #9aa19855;padding-top:16px}.hero-shape{position:absolute;border-radius:50%;pointer-events:none}.hero-shape.one{width:360px;height:360px;background:#dce0cf;left:-180px;top:32%}.hero-shape.two{width:180px;height:180px;background:#e5cfc4;right:-65px;top:11%}.about{position:relative;padding:clamp(100px,13vw,185px) clamp(24px,7vw,110px);overflow:hidden;background:#fbf8f2}.organic-blob{position:absolute;width:390px;height:390px;border-radius:55% 45% 62% 38%;background:#e4e7d8;right:-170px;bottom:-170px}.about-grid,.specialties,.journey{max-width:1180px;margin:auto}.about-grid{display:grid;grid-template-columns:180px 1fr;gap:clamp(40px,8vw,140px)}.section-tag span{color:#929992;margin-left:7px}.about h2{font-size:clamp(42px,5.2vw,70px);max-width:820px;margin:0 0 38px}.about p.large{font-size:21px;max-width:720px;color:#555e56}.about p:not(.large){max-width:620px;color:#687068}.arrow-link{display:inline-flex;gap:18px;margin-top:20px;text-decoration:none;color:#343b35;border-bottom:1px solid #343b35;padding-bottom:5px;font-size:13px}.specialties{padding:clamp(95px,12vw,160px) 24px}.specialties-head{display:grid;grid-template-columns:180px 1fr;gap:clamp(40px,8vw,140px);align-items:start}.specialties h2{font-size:clamp(42px,5vw,68px);max-width:760px;margin:0}.specialty-grid{margin-top:85px;display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid #7e877e55}.specialty{min-height:260px;padding:34px 35px;border-bottom:1px solid #7e877e55}.specialty:nth-child(odd){border-right:1px solid #7e877e55}.specialty span{font-size:10px;color:#bd7866;letter-spacing:.15em}.specialty h3{font-family:"DM Serif Display",serif;font-size:35px;font-weight:400;margin:28px 0 8px}.specialty p{max-width:360px;color:#687068}.image-break{padding:0 clamp(24px,7vw,110px) clamp(100px,12vw,170px);position:relative}.wide-image{max-width:1250px;margin:auto;height:520px;overflow:hidden;border-radius:10px 120px 10px 120px}.wide-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s ease}.wide-image:hover img{transform:scale(1.035)}.image-break-copy{position:absolute;z-index:2;left:clamp(35px,9vw,145px);bottom:60px;background:#f5f0e7;padding:24px 30px;border-radius:8px 45px 8px 45px;max-width:290px;box-shadow:0 20px 60px #343b3515}.circle-word{display:grid;place-items:center;width:54px;height:54px;border:1px solid #bd7866;border-radius:50%;font-family:"DM Serif Display",serif;color:#bd7866}.image-break-copy p{margin:16px 0 0;font-family:"DM Serif Display",serif;font-size:22px;line-height:1.1}.journey{padding:clamp(100px,12vw,160px) 24px}.journey-head{display:grid;grid-template-columns:180px 1fr;gap:clamp(40px,8vw,140px)}.journey h2{font-size:clamp(44px,5vw,68px);margin:0}.steps{margin-top:75px;border-top:1px solid #7e877e55}.step{display:grid;grid-template-columns:90px 1fr;gap:35px;padding:38px 0;border-bottom:1px solid #7e877e55}.step>span{font-size:11px;color:#bd7866;letter-spacing:.12em}.step h3{font-family:"DM Serif Display",serif;font-size:30px;font-weight:400;margin:0 0 7px}.step p{max-width:600px;margin:0;color:#687068}.quote{padding:clamp(105px,13vw,175px) 24px;background:#3e4a41;color:#f5f0e7;text-align:center;position:relative;overflow:hidden}.quote:after{content:"";position:absolute;width:500px;height:500px;border:1px solid #f5f0e71a;border-radius:50%;left:-250px;bottom:-350px}.quote-mark{font-family:"DM Serif Display",serif;font-size:110px;line-height:.6;color:#bd7866}.quote blockquote{max-width:920px;margin:30px auto;font-size:clamp(39px,5vw,66px)}.quote p{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#c5ccc4}.contact{position:relative;overflow:hidden;padding:clamp(105px,13vw,180px) 24px;background:#e5cfc4;text-align:center}.contact-orb{position:absolute;width:500px;height:500px;border-radius:50%;border:1px solid #8f665b33;right:-210px;top:-280px}.contact-inner{max-width:900px;margin:auto;position:relative;z-index:2}.contact h2{font-size:clamp(52px,7vw,90px);margin:18px auto 22px}.contact p:not(.kicker){color:#5e665f;margin:0 auto 32px}.footer{padding:30px clamp(24px,5vw,80px);display:flex;justify-content:space-between;align-items:center;gap:20px;background:#f5f0e7;border-top:1px solid #7e877e55;font-size:11px;color:#737b73}.footer strong{font-family:"DM Serif Display",serif;font-size:18px;font-weight:400;color:#343b35}.footer span{margin-left:10px}.reveal,.reveal-lines,.reveal-photo{opacity:0}.reveal{transform:translateY(28px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.reveal.in{opacity:1;transform:none}.reveal-lines{clip-path:inset(0 0 100% 0);opacity:1;transition:clip-path 1s cubic-bezier(.2,.7,.2,1)}.reveal-lines.in{clip-path:inset(0)}.reveal-photo{clip-path:inset(0 0 100% 0);opacity:1;transition:clip-path 1.15s cubic-bezier(.2,.75,.2,1)}.reveal-photo.in{clip-path:inset(0)}.reveal-photo img{transform:scale(1.08);transition:transform 1.5s cubic-bezier(.2,.7,.2,1)}.reveal-photo.in img{transform:scale(1)}@media(max-width:900px){.nav{display:none}.header-cta{display:none}.menu{display:block;margin-left:auto}.hero-inner{grid-template-columns:1fr}.hero-photo{max-width:620px;margin:10px auto 0;width:100%}.photo-frame{height:520px;min-height:0}.photo-note{left:12px}.about-grid,.specialties-head,.journey-head{grid-template-columns:1fr;gap:22px}.specialty-grid{grid-template-columns:1fr}.specialty:nth-child(odd){border-right:0}.wide-image{height:400px;border-radius:10px 70px}.image-break-copy{left:40px;bottom:60px}.footer{flex-wrap:wrap}}@media(max-width:600px){.header{height:76px}.hero{min-height:auto;padding-top:65px}.hero h1{font-size:48px}.hero-intro{font-size:16px}.hero-actions{align-items:flex-start;flex-direction:column;gap:20px}.hero-bottom{gap:16px;flex-wrap:wrap}.photo-frame{height:430px}.specialty{min-height:220px;padding:28px 10px}.wide-image{height:330px;border-radius:8px 55px}.image-break-copy{left:34px;bottom:40px;max-width:230px}.quote blockquote{font-size:40px}.footer span{display:block;margin:3px 0 0}.hero-shape.one{width:230px;height:230px;left:-150px}.hero-shape.two{width:120px;height:120px;right:-60px}}@media(prefers-reduced-motion:reduce){html:not([data-ws2-motion="full"]) {scroll-behavior:auto}html:not([data-ws2-motion="full"]) .reveal, html:not([data-ws2-motion="full"]) .reveal-lines, html:not([data-ws2-motion="full"]) .reveal-photo, html:not([data-ws2-motion="full"]) .reveal-photo img {transition:none;transform:none;clip-path:none;opacity:1}
}

/* --- WS2 Motion + card upgrade / Organic Contemporary v2 --- */
.wa-icon{width:17px;height:17px;display:block;flex:0 0 17px}.button-label{line-height:1}
.primary,.contact-button,.header-cta{position:relative;overflow:hidden}
.primary:before,.contact-button:before,.header-cta:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.16) 48%,transparent 72%);transform:translateX(-120%);transition:transform .8s ease}
.primary:hover:before,.contact-button:hover:before,.header-cta:hover:before{transform:translateX(120%)}
.primary>*:not(.wa-icon),.contact-button>*:not(.wa-icon),.header-cta>*{position:relative;z-index:1}
.specialty-grid{gap:18px;position:relative}
.specialty-card{position:relative;background:rgba(255,255,255,.18);padding:34px 34px 28px;border:1px solid rgba(126,135,126,.38);border-radius:20px;transition:transform .55s cubic-bezier(.2,.7,.2,1),background .55s ease,box-shadow .55s ease,border-color .55s ease;overflow:hidden}
.specialty-card:before{content:"";position:absolute;right:-35px;top:-35px;width:110px;height:110px;border:1px solid rgba(189,120,102,.28);border-radius:50%;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.specialty-card:hover{transform:translateY(-8px);background:rgba(255,255,255,.48);border-color:rgba(189,120,102,.38);box-shadow:0 24px 55px rgba(52,59,53,.08)}
.specialty-card:hover:before{transform:scale(1.35)}
.specialty-card h3{transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.specialty-card:hover h3{transform:translateX(5px)}
.specialty-mini-row{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.specialty-mini{padding:23px 26px;border:1px solid rgba(126,135,126,.3);border-radius:16px;background:rgba(52,59,53,.035);display:grid;grid-template-columns:42px 1fr;column-gap:15px;align-items:start;transition:transform .45s ease,background .45s ease}
.specialty-mini:hover{transform:translateY(-5px);background:rgba(255,255,255,.4)}
.specialty-mini span{font-size:10px;color:#bd7866;letter-spacing:.15em}.specialty-mini strong{font-family:"DM Serif Display",serif;font-size:25px;font-weight:400}.specialty-mini p{grid-column:2;margin:3px 0 0;color:#687068;font-size:13px}
.floating-wa{position:fixed;right:22px;bottom:22px;width:58px;height:58px;border-radius:50%;background:#bd7866;color:#fff;display:grid;place-items:center;z-index:99;box-shadow:0 14px 34px rgba(52,59,53,.16);transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s ease}
.floating-wa:hover{transform:translateY(-5px) scale(1.04);box-shadow:0 19px 45px rgba(52,59,53,.22)}
.floating-wa:after{content:"";position:absolute;inset:-7px;border:1px solid rgba(189,120,102,.48);border-radius:50%;animation:waPulse3 2.9s ease-out infinite}
@keyframes waPulse3{0%{transform:scale(.84);opacity:.7}70%{transform:scale(1.1);opacity:0}100%{transform:scale(1.1);opacity:0}}
/* Motion is intentionally more visible here than in v1, while remaining soft. */
.reveal.in{transition-timing-function:cubic-bezier(.16,1,.3,1)}
.specialty-card.reveal{transform:translateY(42px) scale(.985)}
.specialty-card.reveal.in{transform:none}
@media(max-width:700px){.specialty-mini-row{grid-template-columns:1fr}.specialty-card{border-radius:15px}.specialty-mini{grid-template-columns:36px 1fr}.floating-wa{right:16px;bottom:16px}}
@media(prefers-reduced-motion:reduce){html:not([data-ws2-motion="full"]) .floating-wa:after {animation:none}html:not([data-ws2-motion="full"]) .primary:before, html:not([data-ws2-motion="full"]) .contact-button:before, html:not([data-ws2-motion="full"]) .header-cta:before {display:none}html:not([data-ws2-motion="full"]) .specialty-card, html:not([data-ws2-motion="full"]) .specialty-mini, html:not([data-ws2-motion="full"]) .specialty-card h3 {transition:none}html:not([data-ws2-motion="full"]) .specialty-card.reveal, html:not([data-ws2-motion="full"]) .specialty-card.reveal.in {transform:none}}

/* --- Typography & CTA refinement — Organic Contemporary v3 --- */
.header .nav a{font-size:14px;font-weight:500;letter-spacing:.005em}
.brand-name{font-size:15px;font-weight:500}
.brand-name small{font-size:9px;letter-spacing:.18em}
.specialty-card h3{font-size:39px;line-height:1.03;letter-spacing:-.018em}
.specialty-card p{font-size:15px;line-height:1.65;color:#657067}
.specialty-mini strong{font-size:28px}
.specialty-mini p{font-size:14px;line-height:1.55}
.specialty span{font-size:11px}
.cta-button{display:inline-flex;align-items:center;gap:10px;text-decoration:none;border-radius:999px;min-height:52px;padding:15px 23px;background:#3e4a41;color:#fff;font-size:14px;font-weight:600;transition:transform .35s cubic-bezier(.2,.7,.2,1),background .35s ease,box-shadow .35s ease}
.cta-button:hover{transform:translateY(-3px);background:#bd7866;box-shadow:0 16px 36px rgba(52,59,53,.14)}
.cta-icon{width:18px;height:18px;flex:0 0 18px}
.cta-button i,.cta-secondary i{font-style:normal;font-size:15px;transition:transform .3s ease}
.cta-button:hover i,.cta-secondary:hover i{transform:translate(3px,-2px)}
.cta-header{font-size:13px;padding:12px 18px}
.cta-actions{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;margin-top:6px}
.cta-secondary{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:#3e4a41;border-bottom:1px solid rgba(62,74,65,.6);padding:8px 0;font-size:13px;font-weight:600;transition:color .3s ease,border-color .3s ease}
.cta-secondary:hover{color:#bd7866;border-color:#bd7866}
.cta-secondary .cta-mini-icon{display:grid;place-items:center}
.cta-secondary .cta-mini-icon svg{width:17px;height:17px}
@media(max-width:900px){.header .nav a{font-size:13px}.specialty-card h3{font-size:34px}.cta-actions{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){html:not([data-ws2-motion="full"]) .cta-button, html:not([data-ws2-motion="full"]) .cta-button i, html:not([data-ws2-motion="full"]) .cta-secondary, html:not([data-ws2-motion="full"]) .cta-secondary i {transition:none}}

/* --- WS2 v4 — Motion fallback acessível + profundidade cromática / Organic Contemporary --- */

/* Sob prefers-reduced-motion mantemos um fade curto em vez de matar a revelação — R9. */
@media(prefers-reduced-motion:reduce){html:not([data-ws2-motion="full"]) .reveal, html:not([data-ws2-motion="full"]) .reveal-lines, html:not([data-ws2-motion="full"]) .reveal-photo {
    opacity:0;
    transform:none!important;
    clip-path:none!important;
    transition:opacity .45s ease!important;
  }html:not([data-ws2-motion="full"]) .reveal.in, html:not([data-ws2-motion="full"]) .reveal-lines.in, html:not([data-ws2-motion="full"]) .reveal-photo.in {opacity:1}html:not([data-ws2-motion="full"]) .reveal-photo img {transform:none!important;transition:none!important}
}

/* Tintas derivadas da paleta terracota/sálvia já existente. */
:root{
  --clay:#bd7866;
  --clay-wash:#f6e6de;
  --clay-soft:#e5cfc4;
  --sage:#8d9a7f;
  --sage-wash:#e9ecdc;
  --sage-deep:#3e4a41;
  --sand:#f1ece0;
}

/* Ritmo cromático: creme → areia → sálvia → imagem → creme → verde → argila */
.about{background:var(--sand)}
.organic-blob{background:#dfe4cf}
.specialties{background:var(--sage-wash)}
.journey{background:#fbf8f2}

/* Cards de especialidade alternando duas tintas da própria família */
.specialty{border-color:#8d9a7f55}
.specialty:nth-child(odd){border-right-color:#8d9a7f55}
.specialty-card{background:var(--clay-wash);border-radius:6px 34px 6px 34px}
.specialty-card:nth-child(2n){background:#e3e8d6}
.specialty-card:hover{background:#fff7f2}
.specialty-card h3{color:var(--sage-deep)}
.specialty-card:hover h3{color:var(--clay)}
.specialty span{color:var(--clay)}
.specialty-mini{background:var(--clay-soft);border-radius:999px}

/* Hero com presença de cor real, sem gradiente decorativo */
.hero{background:linear-gradient(180deg,#f7f3ea 0%,#f5f0e7 100%)}
.hero-shape.one{background:#d3dac2;opacity:.9}
.hero-shape.two{background:#e8c9b9;opacity:.95}
.photo-note{background:var(--clay-soft);color:#5a3f36}
.hero-bottom{border-top-color:#8d9a7f66;color:#6b7369}
.hero h1 em{color:var(--clay)}

/* Jornada e quebras ganham cor */
.steps{border-top-color:#8d9a7f66}
.step{border-bottom-color:#8d9a7f44;transition:background .4s ease,padding-left .4s ease}
.step:hover{background:var(--clay-wash);padding-left:16px}
.step h3{color:var(--sage-deep)}
.image-break-copy{background:var(--clay);color:#fdf6f1;box-shadow:0 22px 60px rgba(120,68,52,.22)}
.image-break-copy .circle-word{border-color:#fdf6f1a8;color:#fdf6f1}
.wide-image{border:1px solid #bd786633}

/* Navegação, links e botões */
.header{background:#f7f3eae8;border-bottom-color:#8d9a7f3d}
.brand-symbol{border-color:var(--clay);color:var(--clay)}
.arrow-link{border-bottom-color:var(--clay);color:var(--clay)}
.header-cta,.primary,.contact-button{background:var(--sage-deep)}
.header-cta:hover,.primary:hover,.contact-button:hover{background:var(--clay)}
.secondary{border-bottom-color:var(--clay);color:#7a5044}
.section-tag{color:var(--clay)}
.about p.large{color:#4d5850}
.quote-mark{color:#d99b85}
.contact-orb{border-color:#8f665b55}
.footer{background:var(--sand);border-top-color:#8d9a7f55}

/* --- v1.14 — clip-path fora do elemento observado ---
   O IntersectionObserver do Chrome calcula a área visível do alvo DEPOIS de aplicar o clip-path
   do próprio alvo. Com clip-path: inset(0 0 100% 0), a área visível é zero, o limiar nunca é
   atingido e a classe .in nunca chega: a imagem fica invisível para sempre.
   O recorte agora vive no primeiro filho (a imagem ou a moldura dela). O elemento observado
   nunca é recortado, então o observer sempre enxerga. */
.reveal-photo, .reveal-photo.in { clip-path: none !important; }
.reveal-photo { opacity: 0; transition: opacity .6s ease; }
.reveal-photo.in { opacity: 1; }
.reveal-photo > :first-child { clip-path: inset(0 0 100% 0); transition: clip-path 1.05s cubic-bezier(.22, 1, .36, 1); }
.reveal-photo.in > :first-child { clip-path: inset(-60px); }
@media (prefers-reduced-motion: reduce) {
  html:not([data-ws2-motion="full"]) .reveal-photo > :first-child { clip-path: none; transition: none; }
}

/* Pular para o conteúdo — acessibilidade por teclado, como nas demais receitas */
.skip-link { position: absolute; left: -9999px; top: 12px; z-index: 300; background: #2a2523; color: #fff; padding: 10px 18px; border-radius: 999px; }
.skip-link:focus { left: 16px; }
