@import url('https://fonts.googleapis.com/css2?family=Bodoni+Moda:opsz,wght@6..96,500;6..96,600&family=Bricolage+Grotesque:opsz,wdth,wght@12..96,75..100,400..700&display=swap');

:root{
  --ink:#1e2a34;
  --deep:#243542;
  --deep2:#314b5e;
  --cream:#f5efe7;
  --paper:#fffaf5;
  --sand:#eadfcf;
  --terracotta:#dc865c;
  --terracotta-strong:#c65d3d;
  --slate:#9da8b7;
  --blush:#f0cac3;
  --gold:#f1c174;
  --olive:#6c7666;
  --line:rgba(30,42,52,.15);
  --shadow:0 28px 80px rgba(30,42,52,.14);
  --sans:"Bricolage Grotesque",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --serif:"Bodoni Moda",Georgia,serif;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:18px;line-height:1.65;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,summary{font:inherit}
button{color:inherit}
::selection{background:var(--gold);color:var(--ink)}
.skip-link{position:fixed;left:1rem;top:-5rem;z-index:999;background:#fff;color:#111;padding:.75rem 1rem;border-radius:.75rem}
.skip-link:focus{top:1rem}
:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.site-header{position:fixed;z-index:100;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:18px clamp(20px,4vw,58px);transition:.35s ease;background:linear-gradient(to bottom,rgba(20,34,44,.7),transparent)}
.site-header.scrolled{background:rgba(27,40,50,.92);backdrop-filter:blur(16px);box-shadow:0 8px 28px rgba(0,0,0,.12)}
.brand{display:flex;gap:10px;align-items:center;color:#fff}
.brand img{width:44px;height:44px;object-fit:contain;filter:drop-shadow(0 4px 14px rgba(0,0,0,.18))}
.brand span{display:flex;flex-direction:column;line-height:1.05}
.brand strong{font-size:15px;letter-spacing:.01em}
.brand small{font-size:11px;text-transform:uppercase;letter-spacing:.22em;opacity:.75;margin-top:5px}
.nav{display:flex;align-items:center;gap:28px;color:#fff;font-size:14px}
.nav a{opacity:.84;transition:.2s ease}
.nav a:hover{opacity:1}
.nav-cta{border:1px solid rgba(241,193,116,.8);padding:10px 16px;border-radius:999px;box-shadow:0 0 0 1px rgba(241,193,116,.12),0 0 18px rgba(241,193,116,.12)}
.menu-toggle{display:none;background:none;border:0;width:44px;height:44px;padding:11px}
.menu-toggle span{display:block;height:2px;background:#fff;margin:7px 0}
.hero{position:relative;min-height:100svh;display:flex;align-items:center;color:#fff;isolation:isolate;overflow:hidden}
.hero-media,.hero-shade{position:absolute;inset:0}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center}
.hero-shade{background:linear-gradient(90deg,rgba(24,38,48,.92) 0%,rgba(28,43,53,.77) 38%,rgba(28,43,53,.14) 66%,rgba(28,43,53,.05) 100%);z-index:1}
.hero-content{position:relative;z-index:3;width:min(var(--max),calc(100% - 48px));margin:auto;padding:120px 0 82px}
.hero-content>*{max-width:760px}
.eyebrow{font-size:13px;text-transform:uppercase;letter-spacing:.18em;font-weight:700;color:var(--gold);margin:0 0 16px}
.eyebrow.dark{color:var(--terracotta-strong)}
.hero h1{font-size:clamp(3rem,6vw,5.9rem);line-height:.99;letter-spacing:-.045em;margin:0;max-width:940px;text-wrap:balance}
.hero h1 em{font-family:var(--serif);font-style:italic;font-weight:500;color:var(--gold);letter-spacing:-.02em}
.hero-copy{font-size:clamp(1.05rem,1.45vw,1.28rem);line-height:1.55;max-width:610px;margin:28px 0 0;color:rgba(255,255,255,.84)}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:13px 20px;border-radius:999px;font-weight:700;font-size:16px;transition:transform .25s ease,box-shadow .25s ease,background .25s ease;border:1px solid transparent}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--gold);color:var(--ink);box-shadow:0 0 0 1px rgba(241,193,116,.32),0 10px 30px rgba(241,193,116,.14),0 0 28px rgba(241,193,116,.18)}
.btn-ghost{border-color:rgba(255,255,255,.46);color:#fff;background:rgba(255,255,255,.06);backdrop-filter:blur(8px)}
.btn-dark{background:var(--deep);color:#fff}
.btn-outline{border-color:var(--ink);color:var(--ink);background:transparent}
.hero-scroll{position:absolute;z-index:4;left:clamp(24px,4vw,60px);bottom:24px;font-size:11px;text-transform:uppercase;letter-spacing:.14em;display:flex;align-items:center;gap:10px;color:rgba(255,255,255,.64)}
.hero-scroll span{width:42px;height:1px;background:var(--gold);transform-origin:left;animation:scrollLine 2.4s ease-in-out infinite}
@keyframes scrollLine{0%,100%{transform:scaleX(.35)}50%{transform:scaleX(1)}}
.hero-orbit{position:absolute;z-index:2;border:1px solid rgba(241,193,116,.2);border-radius:50%;pointer-events:none}
.orbit-a{width:46vw;height:46vw;right:-14vw;top:-18vw}
.orbit-b{width:34vw;height:34vw;right:9vw;bottom:-24vw;border-color:rgba(220,134,92,.25)}
.choice-strip{display:grid;grid-template-columns:.78fr 2fr;gap:28px;width:min(var(--max),calc(100% - 48px));margin:-34px auto 0;position:relative;z-index:5;background:var(--paper);padding:24px;border-radius:26px;box-shadow:var(--shadow)}
.choice-intro{display:flex;flex-direction:column;justify-content:center;padding:10px}
.choice-intro strong{font-size:24px;line-height:1.1}
.mini-kicker{font-size:12px;color:var(--terracotta-strong);text-transform:uppercase;letter-spacing:.14em;margin-bottom:6px}
.choice-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.expert-jump{position:relative;display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:18px 19px;border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:.25s ease;background:#fff}
.expert-jump:before{content:"";position:absolute;inset:auto -20% -70% 20%;height:120px;background:radial-gradient(ellipse,var(--blush),transparent 70%);opacity:.35;transition:.35s ease}
.expert-jump:hover{transform:translateY(-3px);border-color:rgba(220,134,92,.5);box-shadow:0 14px 34px rgba(36,53,66,.08)}
.expert-jump span{font-weight:750;font-size:19px;line-height:1.2}
.expert-jump small{grid-column:1;line-height:1.35;color:#66717a}
.expert-jump b{grid-column:2;grid-row:1/3;font-size:23px;align-self:center;color:var(--terracotta-strong)}
.section-light,.section-warm,.section-dark{padding:clamp(76px,9vw,130px) max(24px,calc((100vw - var(--max))/2))}
.section-light{background:var(--paper)}
.section-warm{background:var(--cream)}
.section-dark{background:var(--deep);color:#fff}
.intro{display:grid;grid-template-columns:.42fr 1.58fr;gap:40px;align-items:center}
.intro-mark{display:flex;justify-content:center}
.intro-mark img{width:min(180px,65%);opacity:.86}
.intro-copy h2,.section-heading h2,.approach-title h2,.experience-copy h2,.location-copy h2,.contact-content h2{font-size:clamp(2.25rem,4.4vw,4.55rem);line-height:1.04;letter-spacing:-.04em;text-wrap:balance;margin:0}
.intro-copy p:last-child{max-width:800px;color:#59636a}
.section-heading{max-width:900px;margin-bottom:56px}
.section-heading.invert h2{color:#fff}
.section-heading.invert .eyebrow{color:var(--gold)}
.professionals{position:relative;overflow:hidden}
.professionals:before{content:"";position:absolute;width:700px;height:700px;border:1px solid rgba(220,134,92,.24);border-radius:50%;left:-420px;top:240px}
.profile{position:relative;display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:clamp(38px,7vw,94px);align-items:center;padding:70px 0}
.profile+.profile{border-top:1px solid rgba(30,42,52,.12)}
.profile-laura .profile-photo{order:2}
.profile-laura .profile-copy{order:1}
.profile-photo{position:relative}
.organic-frame{overflow:hidden;border-radius:42% 58% 50% 50% / 38% 48% 52% 62%;box-shadow:var(--shadow);transform:rotate(-1.4deg);background:var(--sand)}
.organic-alt{border-radius:54% 46% 38% 62% / 45% 55% 45% 55%;transform:rotate(1.6deg)}
.organic-frame img{width:100%;aspect-ratio:4/5;object-fit:cover;transform:scale(1.015)}
.accent-blob{position:absolute;width:130px;height:130px;background:var(--gold);border-radius:60% 40% 65% 35%;z-index:-1;right:-18px;bottom:-25px;opacity:.8}
.profile-laura .accent-blob{background:var(--slate);right:auto;left:-22px}
.profile-label{font-size:13px;text-transform:uppercase;letter-spacing:.15em;color:var(--terracotta-strong);font-weight:800;margin:0 0 10px}
.profile h3{font-size:clamp(2.3rem,4vw,4.3rem);line-height:1.02;letter-spacing:-.04em;margin:0 0 14px;text-wrap:balance}
.profile-lead{font-family:var(--serif);font-size:clamp(1.4rem,2.2vw,2rem);line-height:1.3;color:#6c5145;margin:0 0 20px}
.profile-copy>p:not(.profile-label):not(.profile-lead){max-width:690px;color:#56626a}
.bio-details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:26px 0}
.bio-details summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;font-weight:750;padding:18px 2px;list-style:none}
.bio-details summary::-webkit-details-marker{display:none}
.bio-details summary span{font-size:24px;transition:.25s ease}
.bio-details[open] summary span{transform:rotate(45deg)}
.bio-details>div{padding:0 0 18px;color:#5a646c}
.profile-links{display:flex;flex-wrap:wrap;gap:9px;margin:20px 0}
.social-pending{font-size:14px;border:1px solid rgba(30,42,52,.13);padding:8px 12px;border-radius:999px;color:#7a8389;background:rgba(255,255,255,.4)}
.service-track{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.service-card{display:flex;flex-direction:column;min-height:440px;padding:28px;border:1px solid rgba(255,255,255,.13);border-radius:24px;background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.025));transition:.3s ease}
.service-card:hover{transform:translateY(-5px);border-color:rgba(241,193,116,.45)}
.service-number{font-family:var(--serif);font-size:18px;color:var(--gold)}
.service-card h3{font-size:32px;line-height:1.05;margin:42px 0 16px}
.service-card p{color:rgba(255,255,255,.72)}
.service-people{margin-top:auto;padding-top:24px;font-size:13px;text-transform:uppercase;letter-spacing:.12em;color:var(--gold);font-weight:700}
.text-link{display:inline-block;margin-top:12px;font-size:14px;font-weight:700;color:#fff;text-decoration:underline;text-decoration-color:var(--terracotta);text-underline-offset:5px}
.approach{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px}
.approach-title{position:sticky;top:120px;align-self:start}
.approach-grid{display:grid;gap:0}
.approach-item{padding:34px 0;border-top:1px solid var(--line)}
.approach-item:last-child{border-bottom:1px solid var(--line)}
.approach-item span{color:var(--terracotta-strong);font-family:var(--serif);font-size:16px}
.approach-item h3{font-size:28px;margin:12px 0 8px}
.approach-item p{margin:0;color:#5a646c}
.experience{overflow:hidden}
.experience-copy{max-width:900px}
.experience-copy p:last-child{max-width:680px;color:#5f676d}
.mini-gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:14px;margin-top:54px;align-items:start}
.gallery-card{margin:0;position:relative;overflow:hidden;border-radius:22px;background:#ddd;box-shadow:0 16px 38px rgba(30,42,52,.11)}
.gallery-card:nth-child(1){grid-column:1/4;transform:translateY(18px)}
.gallery-card:nth-child(2){grid-column:4/7}
.gallery-card:nth-child(3){grid-column:7/10;transform:translateY(34px)}
.gallery-card:nth-child(4){grid-column:10/13}
.gallery-card:nth-child(5){grid-column:5/9;margin-top:12px}
.gallery-card img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .7s cubic-bezier(.16,1,.3,1)}
.gallery-card:hover img{transform:scale(1.035)}
.gallery-card figcaption{position:absolute;left:10px;bottom:10px;background:rgba(29,42,52,.82);color:#fff;padding:6px 10px;border-radius:999px;font-size:11px;backdrop-filter:blur(8px)}
.location{display:grid;grid-template-columns:.3fr 1.7fr;gap:40px;align-items:center}
.location-icon{width:170px;height:170px;border:1px solid rgba(220,134,92,.35);border-radius:50%;display:grid;place-items:center;font-size:64px;color:var(--terracotta-strong);box-shadow:inset 0 0 0 14px rgba(241,193,116,.08)}
.location-copy p{max-width:700px}
.faq{display:grid;grid-template-columns:.7fr 1.3fr;gap:60px}
.faq-list{border-top:1px solid rgba(255,255,255,.16)}
.faq-item{border-bottom:1px solid rgba(255,255,255,.16)}
.faq-item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;padding:22px 0;font-weight:700;line-height:1.35}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary span{font-size:24px;color:var(--gold);transition:.25s ease}
.faq-item[open] summary span{transform:rotate(45deg)}
.faq-item p{margin:0;padding:0 40px 24px 0;color:rgba(255,255,255,.72)}
.contact-section{position:relative;overflow:hidden;background:var(--gold);padding:clamp(88px,10vw,150px) 24px}
.contact-content{position:relative;z-index:2;max-width:850px;margin:auto;text-align:center}
.contact-content h2{font-size:clamp(2.45rem,5vw,5.1rem)}
.contact-content>p:not(.eyebrow){max-width:650px;margin:22px auto;color:#4f4b43}
.contact-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:30px}
.contact-art span{position:absolute;border:1px solid rgba(36,53,66,.18);border-radius:50%}
.contact-art span:nth-child(1){width:460px;height:460px;left:-220px;top:-160px}
.contact-art span:nth-child(2){width:320px;height:320px;right:-80px;bottom:-140px}
.contact-art span:nth-child(3){width:120px;height:120px;right:18%;top:20%;background:rgba(220,134,92,.28);border:0;border-radius:50% 44% 54% 48%}
.wa-float{position:fixed;z-index:120;right:22px;bottom:22px;border:0;background:var(--deep);color:#fff;padding:13px 16px;border-radius:999px;box-shadow:0 16px 42px rgba(24,38,48,.28);display:flex;align-items:center;gap:9px;font-weight:750;cursor:pointer}
.wa-dot{width:10px;height:10px;border-radius:50%;background:#55d187;box-shadow:0 0 0 0 rgba(85,209,135,.45);animation:waPulse 2.4s infinite}
@keyframes waPulse{0%{box-shadow:0 0 0 0 rgba(85,209,135,.42)}60%,100%{box-shadow:0 0 0 11px rgba(85,209,135,0)}}
.wa-panel{position:fixed;z-index:140;right:22px;bottom:84px;width:min(380px,calc(100vw - 32px));background:var(--paper);color:var(--ink);border-radius:24px;box-shadow:0 28px 90px rgba(24,38,48,.28);padding:26px;transform:translateY(18px) scale(.98);opacity:0;pointer-events:none;transition:.28s cubic-bezier(.16,1,.3,1)}
.wa-panel.open{opacity:1;transform:none;pointer-events:auto}
.wa-close{position:absolute;right:16px;top:14px;border:0;background:transparent;font-size:26px;cursor:pointer}
.wa-kicker{margin:0;color:var(--terracotta-strong);font-size:12px;text-transform:uppercase;letter-spacing:.14em;font-weight:800}
.wa-panel h2{font-size:26px;line-height:1.1;margin:8px 34px 20px 0}
.wa-choice{display:grid;grid-template-columns:1fr auto;gap:3px 10px;padding:14px;border:1px solid var(--line);border-radius:15px;margin-top:9px}
.wa-choice small{grid-column:1;color:#6d777f}
.wa-choice span{grid-column:2;grid-row:1/3;align-self:center}
.wa-backdrop{position:fixed;z-index:130;inset:0;background:rgba(20,28,35,.28);backdrop-filter:blur(2px)}
.footer{background:#17242d;color:rgba(255,255,255,.74);padding:44px max(24px,calc((100vw - var(--max))/2));font-size:14px}
.footer-top{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding-bottom:24px;border-bottom:1px solid rgba(255,255,255,.1)}
.footer-top div{display:flex;flex-direction:column}
.footer-top strong{color:#fff}
.ethics{max-width:900px;margin:24px 0 16px;color:rgba(255,255,255,.64)}
.cuadra-credit{display:inline-block;color:var(--gold);font-weight:700;margin:4px 0 16px}
.copyright{font-size:12px;margin:0;color:rgba(255,255,255,.45)}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .82s cubic-bezier(.16,1,.3,1),transform .82s cubic-bezier(.16,1,.3,1)}
.reveal.is-visible{opacity:1;transform:none}

@media(max-width:920px){
  body{font-size:17px}
  .menu-toggle{display:block;z-index:4}
  .nav{position:fixed;inset:0 0 auto auto;width:min(380px,90vw);height:100svh;background:#17242d;padding:92px 28px 30px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;transform:translateX(105%);transition:.35s cubic-bezier(.16,1,.3,1);box-shadow:-22px 0 70px rgba(0,0,0,.2)}
  .nav.open{transform:none}
  .nav a{width:100%;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:17px}
  .nav-cta{margin-top:14px;border:1px solid rgba(241,193,116,.7)!important;padding:13px 16px!important}
  .choice-strip{grid-template-columns:1fr;margin-top:0;border-radius:0;width:100%;box-shadow:none}
  .intro{grid-template-columns:1fr}
  .intro-mark{justify-content:flex-start}
  .intro-mark img{width:110px}
  .profile,.approach,.faq{grid-template-columns:1fr}
  .profile-laura .profile-photo,.profile-laura .profile-copy{order:initial}
  .profile-photo{max-width:520px}
  .approach-title{position:static}
  .service-track{grid-template-columns:1fr}
  .service-card{min-height:unset}
  .mini-gallery{grid-template-columns:repeat(2,1fr)}
  .gallery-card:nth-child(n){grid-column:auto;transform:none;margin:0}
  .gallery-card:last-child{grid-column:1/3;width:50%;justify-self:center}
  .location{grid-template-columns:1fr}
  .location-icon{width:110px;height:110px;font-size:44px}
  .faq{gap:20px}
}
@media(max-width:620px){
  .site-header{padding:14px 18px}
  .brand strong{font-size:14px}
  .brand img{width:39px;height:39px}
  .hero{min-height:90svh;align-items:flex-end}
  .hero-media img{object-position:58% center}
  .hero-shade{background:linear-gradient(0deg,rgba(24,38,48,.97) 0%,rgba(24,38,48,.82) 48%,rgba(24,38,48,.25) 100%)}
  .hero-content{width:calc(100% - 36px);padding:138px 0 82px}
  .hero h1{font-size:clamp(2.6rem,12vw,4.2rem);line-height:1.01}
  .hero-copy{font-size:17px}
  .hero-actions{display:grid;grid-template-columns:1fr}
  .btn{width:100%}
  .hero-scroll{display:none}
  .choice-buttons{grid-template-columns:1fr}
  .choice-strip{padding:22px 18px}
  .section-light,.section-warm,.section-dark{padding:72px 20px}
  .intro-copy h2,.section-heading h2,.approach-title h2,.experience-copy h2,.location-copy h2,.contact-content h2{font-size:clamp(2rem,10vw,3.15rem);line-height:1.04}
  .section-heading{margin-bottom:34px}
  .profile{padding:52px 0}
  .profile h3{font-size:clamp(2.15rem,11vw,3.25rem)}
  .profile-lead{font-size:1.35rem}
  .organic-frame{border-radius:34% 66% 46% 54% / 42% 46% 54% 58%}
  .service-card h3{margin-top:24px}
  .mini-gallery{gap:9px}
  .gallery-card{border-radius:16px}
  .gallery-card:last-child{width:72%}
  .gallery-card figcaption{display:none}
  .footer-top{grid-template-columns:1fr}
  .wa-float{right:14px;bottom:14px}
  .wa-panel{left:12px;right:12px;bottom:72px;width:auto}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .reveal{opacity:1!important;transform:none!important}
}


/* Correção CTA final: Juliana precisa ter contraste real sobre o fundo dourado */
.contact-section .contact-actions .btn-primary{
  background:var(--terracotta-strong);
  color:#fff;
  border-color:rgba(255,255,255,.28);
  box-shadow:0 10px 28px rgba(198,93,61,.22),0 0 0 1px rgba(255,255,255,.08);
}
.contact-section .contact-actions .btn-primary:hover{
  background:#b85035;
}


/* ===== Refinamentos V3 ===== */
.brand strong{letter-spacing:.005em}
.hero-img-mobile{display:none}

.profile .btn-dark,
.contact-section .contact-actions .btn{
  position:relative;overflow:hidden;border-width:1px;border-style:solid;
  transition:transform .22s cubic-bezier(.16,1,.3,1),box-shadow .22s ease,background .22s ease,border-color .22s ease;
}
.profile-juliana .btn-dark{
  background:#b95a3f;border-color:#efae89;
  box-shadow:0 10px 24px rgba(185,90,63,.18),0 0 0 1px rgba(239,174,137,.20),0 0 18px rgba(220,134,92,.14);
}
.profile-laura .btn-dark{
  background:#294354;border-color:#8fa9bd;
  box-shadow:0 10px 24px rgba(36,53,66,.20),0 0 0 1px rgba(143,169,189,.20),0 0 18px rgba(157,168,183,.14);
}
.profile .btn-dark:hover,.contact-section .contact-actions .btn:hover{transform:translateY(-2px) scale(1.01)}
.profile .btn-dark:active,.contact-section .contact-actions .btn:active{transform:translateY(1px) scale(.985);box-shadow:0 5px 14px rgba(30,42,52,.18)}
.profile .btn-dark:focus-visible,.contact-section .contact-actions .btn:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.contact-section .contact-actions .btn-primary{
  background:#c95f42;color:#fff;border-color:#f0a987;
  box-shadow:0 12px 28px rgba(198,93,61,.24),0 0 0 1px rgba(255,255,255,.12),0 0 22px rgba(220,134,92,.16);
}
.contact-section .contact-actions .btn-dark{
  background:#253f50;border-color:#90a9bc;
  box-shadow:0 12px 28px rgba(36,53,66,.24),0 0 0 1px rgba(255,255,255,.10),0 0 22px rgba(157,168,183,.14);
}
.contact-section .contact-actions .btn-primary:hover{background:#b85238}
.contact-section .contact-actions .btn-dark:hover{background:#1e3544}

.gallery-shell{margin-top:50px;position:relative}
.gallery-rail{
  display:flex;gap:14px;overflow-x:auto;overflow-y:hidden;padding:8px 4px 18px;
  scroll-snap-type:x proximity;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;
  scrollbar-width:none;cursor:grab;
}
.gallery-rail::-webkit-scrollbar{display:none}
.gallery-rail.dragging{cursor:grabbing;scroll-snap-type:none}
.gallery-card{
  flex:0 0 clamp(220px,22vw,300px);margin:0;position:relative;overflow:hidden;border-radius:22px;
  background:#ddd;box-shadow:0 16px 38px rgba(30,42,52,.11);scroll-snap-align:start;
}
.gallery-card img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .75s cubic-bezier(.16,1,.3,1)}
.gallery-card:hover img{transform:scale(1.045)}
.gallery-card figcaption{
  position:absolute;left:10px;bottom:10px;background:rgba(29,42,52,.80);color:#fff;
  padding:6px 10px;border-radius:999px;font-size:11px;backdrop-filter:blur(8px);
}
.gallery-hint{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-top:6px;color:#76706a;font-size:12px;text-transform:uppercase;letter-spacing:.12em}
.gallery-hint b{font-size:20px;color:var(--terracotta-strong)}
.gallery-card:nth-child(odd){transform:translateY(10px)}
.gallery-card:nth-child(even){transform:translateY(-4px)}

.location{display:block;padding-top:clamp(72px,8vw,110px);padding-bottom:clamp(72px,8vw,110px)}
.location-copy{max-width:760px;margin:0 auto}
.location-copy h2{margin-bottom:14px}
.location-copy p{margin-bottom:24px}

.back-to-top{
  position:fixed;z-index:119;right:24px;bottom:86px;width:46px;height:46px;border-radius:50%;
  border:1px solid rgba(241,193,116,.45);background:rgba(36,53,66,.94);color:#fff;
  display:grid;place-items:center;font-size:20px;box-shadow:0 14px 34px rgba(24,38,48,.22);
  backdrop-filter:blur(10px);opacity:0;pointer-events:none;transform:translateY(10px);
  transition:.25s ease;cursor:pointer;
}
.back-to-top.show{opacity:1;pointer-events:auto;transform:none}
.back-to-top:hover{transform:translateY(-2px)}
.back-to-top:active{transform:translateY(1px) scale(.96)}

@media(max-width:620px){
  .hero{min-height:auto;display:block;background:var(--deep)}
  .hero-media{position:relative;inset:auto;height:auto;background:var(--deep)}
  .hero-img-desktop{display:none}
  .hero-img-mobile{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center 40%}
  .hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(24,38,48,.16) 0%,rgba(24,38,48,.22) 44%,rgba(24,38,48,.88) 100%);z-index:2;pointer-events:none}
  .hero-content{width:calc(100% - 36px);margin:0 auto;padding:116px 0 36px;position:relative;z-index:4}
  .hero h1{font-size:clamp(2.35rem,11vw,3.6rem);line-height:1.02;max-width:12ch}
  .hero-copy{max-width:34ch}
  .hero-actions{grid-template-columns:1fr}
  .hero-orbit{display:none}
  .gallery-shell{margin-top:34px}
  .gallery-rail{gap:10px;padding-right:18vw}
  .gallery-card{flex-basis:68vw;max-width:280px;border-radius:17px;transform:none!important}
  .gallery-card figcaption{display:block;font-size:10px}
  .gallery-hint{justify-content:flex-start}
  .location{padding-left:20px;padding-right:20px}
  .location-copy .btn{width:100%}
  .back-to-top{right:16px;bottom:74px;width:42px;height:42px}
}


/* ===== Refinamentos V4 · mobile ===== */
@media(max-width:620px){

  /* Hero: reduzir o vazio entre o fim da foto e o início do conteúdo */
  .hero-content{
    padding-top:52px;
    padding-bottom:30px;
  }

  /* Perfis: ritmo vertical mais próximo do bloco da Laura */
  .profile{
    padding-top:40px;
    padding-bottom:40px;
  }
  .profile:last-child{
    padding-bottom:26px;
  }
  .professionals.section-warm{
    padding-bottom:48px;
  }

  /* FAQ: perguntas um pouco menores e menos pesadas */
  .faq-item summary{
    font-size:17px;
    font-weight:600;
    line-height:1.35;
    padding:20px 0;
  }
  .faq-item summary span{
    font-size:21px;
  }

  /* Botão de voltar ao topo separado do WhatsApp e longe do + do FAQ */
  .back-to-top{
    left:16px;
    right:auto;
    bottom:18px;
    width:42px;
    height:42px;
  }

  /* Rodapé: texto ético mais discreto e leve */
  .footer .ethics{
    font-size:12.5px;
    line-height:1.55;
    font-weight:400;
    color:rgba(255,255,255,.56);
    max-width:34em;
  }
  .footer{
    padding-top:36px;
    padding-bottom:34px;
  }
}

/* FAQ desktop/tablet também um toque menos pesado, sem perder hierarquia */
@media(min-width:621px){
  .faq-item summary{
    font-weight:600;
    font-size:17px;
  }
}


/* ===== Refinamentos V5 · orgânicos + FAQ + ordem de conversão ===== */

/* Camadas orgânicas mais visíveis atrás das fotos */
.profile-photo{
  isolation:isolate;
}
.profile-photo::before,
.profile-photo::after{
  content:"";
  position:absolute;
  z-index:-2;
  pointer-events:none;
  filter:blur(.2px);
}
.profile-juliana .profile-photo::before{
  width:72%;
  aspect-ratio:1/.86;
  left:-8%;
  bottom:-7%;
  background:rgba(220,134,92,.34);
  border-radius:59% 41% 63% 37% / 44% 61% 39% 56%;
  transform:rotate(-8deg);
}
.profile-juliana .profile-photo::after{
  width:34%;
  aspect-ratio:1;
  right:-3%;
  top:7%;
  background:rgba(241,193,116,.26);
  border-radius:42% 58% 45% 55% / 54% 44% 56% 46%;
  transform:rotate(13deg);
}
.profile-laura .profile-photo::before{
  width:76%;
  aspect-ratio:1/.9;
  right:-9%;
  bottom:-6%;
  background:rgba(157,168,183,.42);
  border-radius:42% 58% 37% 63% / 61% 43% 57% 39%;
  transform:rotate(9deg);
}
.profile-laura .profile-photo::after{
  width:31%;
  aspect-ratio:1;
  left:-3%;
  top:10%;
  background:rgba(240,202,195,.30);
  border-radius:60% 40% 56% 44% / 38% 62% 40% 60%;
  transform:rotate(-11deg);
}
/* Mantém a pequena forma existente, mas com menos competição */
.profile .accent-blob{
  opacity:.58;
  transform:scale(.82);
  z-index:-1;
}

/* FAQ mais leve e mais compacto */
.faq-item summary{
  font-weight:500;
  font-size:16.5px;
  line-height:1.28;
  padding:16px 0;
}
.faq-item summary span{
  font-size:20px;
}
.faq-item p{
  padding-top:2px;
  padding-bottom:18px;
}

@media(max-width:620px){
  .faq-item summary{
    font-size:16px;
    font-weight:500;
    line-height:1.28;
    padding:15px 0;
  }
  .faq-item summary span{
    font-size:19px;
  }

  /* Orgânicos adaptados para o mobile sem aumentar demais o bloco */
  .profile-juliana .profile-photo::before{
    width:78%;
    left:-7%;
    bottom:-4%;
  }
  .profile-juliana .profile-photo::after{
    width:30%;
    right:-1%;
    top:5%;
  }
  .profile-laura .profile-photo::before{
    width:80%;
    right:-8%;
    bottom:-4%;
  }
  .profile-laura .profile-photo::after{
    width:29%;
    left:-1%;
    top:7%;
  }
}


/* ===== Refinamentos V6 · fluidez mobile ===== */
@media(max-width:620px){

  /* Introdução: símbolo + kicker na mesma linha, sem alterar desktop */
  .intro{
    display:grid;
    grid-template-columns:76px minmax(0,1fr);
    column-gap:16px;
    row-gap:20px;
    align-items:center;
  }
  .intro-mark{
    grid-column:1;
    grid-row:1;
    justify-content:flex-start;
    align-self:center;
  }
  .intro-mark img{
    width:72px;
    max-width:72px;
  }
  .intro-copy{
    display:contents;
  }
  .intro-copy .eyebrow{
    grid-column:2;
    grid-row:1;
    margin:0;
    align-self:center;
    line-height:1.45;
    max-width:20ch;
  }
  .intro-copy h2{
    grid-column:1 / -1;
    grid-row:2;
    margin-top:2px;
  }
  .intro-copy p:last-child{
    grid-column:1 / -1;
    grid-row:3;
    margin-top:0;
  }

  /* Ritmo vertical geral: reduz excesso sem deixar seções espremidas */
  .section-light,
  .section-warm,
  .section-dark{
    padding-top:60px;
    padding-bottom:60px;
  }

  .intro.section-light{
    padding-top:54px;
    padding-bottom:56px;
  }

  .professionals.section-warm{
    padding-top:56px;
    padding-bottom:44px;
  }

  .services.section-dark{
    padding-top:58px;
    padding-bottom:58px;
  }

  .approach.section-light{
    padding-top:58px;
    padding-bottom:58px;
  }

  .experience.section-warm{
    padding-top:58px;
    padding-bottom:54px;
  }

  .location.section-light{
    padding-top:54px;
    padding-bottom:56px;
  }

  .contact-section{
    padding-top:66px;
    padding-bottom:66px;
  }

  .faq.section-dark{
    padding-top:56px;
    padding-bottom:58px;
  }

  /* Títulos e blocos: menos "buracos" entre heading e conteúdo */
  .section-heading{
    margin-bottom:28px;
  }

  .profile{
    padding-top:34px;
    padding-bottom:34px;
  }
  .profile + .profile{
    margin-top:4px;
  }

  .approach{
    gap:28px;
  }
  .approach-item{
    padding-top:26px;
    padding-bottom:26px;
  }

  .experience-copy p:last-child{
    margin-bottom:0;
  }

  .gallery-shell{
    margin-top:28px;
  }

  .contact-content > p:not(.eyebrow){
    margin-top:16px;
    margin-bottom:0;
  }
  .contact-actions{
    margin-top:24px;
  }

  .footer-top{
    gap:14px;
    padding-bottom:18px;
  }
  .ethics{
    margin-top:18px;
    margin-bottom:12px;
  }
}


/* ===== Refinamentos V7 · finais ===== */

/* Serviços mais compactos, sem numeração decorativa */
.service-card{
  min-height:360px;
  padding-top:24px;
  padding-bottom:24px;
}
.service-card h3{
  margin-top:8px;
}
.service-card p{
  margin-top:8px;
}
.service-people{
  padding-top:18px;
}

/* Como trabalhamos: títulos em terracota, sem numeração */
.approach-item h3{
  color:var(--terracotta-strong);
  margin-top:0;
}
.approach-item span{
  display:none;
}

@media(max-width:620px){
  /* Cards de serviços mais enxutos no mobile */
  .service-card{
    min-height:0;
    padding:22px 22px 20px;
  }
  .service-card h3{
    margin:0 0 12px;
    font-size:28px;
  }
  .service-card p{
    margin:0;
  }
  .service-people{
    margin-top:18px;
    padding-top:0;
  }
  .service-card .text-link{
    margin-top:10px;
  }

  /* Como trabalhamos: menos espaço vertical após retirada dos números */
  .approach-item{
    padding-top:22px;
    padding-bottom:22px;
  }
  .approach-item h3{
    margin:0 0 8px;
    font-size:26px;
  }
}


/* ===== V8 · canais confirmados + novo hero ===== */
.profile-channel{
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-size:14px;
  line-height:1;
  border:1px solid rgba(30,42,52,.14);
  padding:8px 12px;
  border-radius:999px;
  color:#4f5b63;
  background:rgba(255,255,255,.58);
  text-decoration:none;
  transition:transform .2s ease,border-color .2s ease,background .2s ease,color .2s ease;
}
.profile-channel:hover{
  transform:translateY(-2px);
  border-color:rgba(220,134,92,.55);
  background:#fff;
  color:var(--navy);
}
.profile-channel:focus-visible{
  outline:3px solid rgba(241,193,116,.55);
  outline-offset:3px;
}
.profile-channel svg{
  width:16px;
  height:16px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
}
.channel-letter{
  width:17px;
  height:17px;
  display:inline-grid;
  place-items:center;
  border-radius:50%;
  font-weight:800;
  font-size:12px;
  border:1px solid currentColor;
}
.channel-doctoralia{font-size:11px}
.location-meta{font-size:.95em;color:#5d6870}

@media(max-width:620px){
  .hero-img-mobile{
    object-position:54% center;
  }
  .profile-channel{
    font-size:13px;
    padding:8px 10px;
  }
}


/* ===== V9 · hero final + enquadramento ===== */
@media(min-width:621px){
  .hero-media img{
    object-position:50% 43%;
  }
}
@media(max-width:620px){
  .hero-img-mobile{
    object-position:58% 38%;
  }
}


/* ===== V10 · hero recortado em fundo sólido ===== */
.hero{
  background:#53635B;
  overflow:hidden;
}
.hero-media{
  background:#53635B;
}
.hero-media::before,
.hero-media::after{
  display:none !important;
}
.hero-img-desktop,
.hero-img-mobile{
  object-fit:contain !important;
  object-position:right bottom !important;
  width:100%;
  height:100%;
  filter:none !important;
}

/* Mantém contraste do conteúdo no fundo sólido */
.hero::before{
  background:linear-gradient(90deg, rgba(22,34,39,.82) 0%, rgba(22,34,39,.52) 43%, rgba(22,34,39,.06) 67%, rgba(22,34,39,0) 100%);
}

@media(min-width:621px){
  .hero-img-desktop{
    width:58% !important;
    height:auto !important;
    max-height:92%;
    right:2.5%;
    left:auto;
    top:auto;
    bottom:0;
    position:absolute;
    object-fit:contain !important;
    object-position:right bottom !important;
  }
}

@media(max-width:620px){
  .hero{
    min-height:auto;
    padding-bottom:0;
  }
  .hero-media{
    position:relative;
    min-height:470px;
    margin-top:6px;
    background:#53635B;
  }
  .hero-img-mobile{
    display:block;
    position:absolute;
    width:100% !important;
    height:100% !important;
    inset:0;
    object-fit:contain !important;
    object-position:center bottom !important;
    padding:14px 12px 0;
  }
  .hero::before{
    background:linear-gradient(180deg, rgba(22,34,39,.56) 0%, rgba(22,34,39,.20) 48%, rgba(22,34,39,0) 75%);
  }
}


/* ===== V11 · hero ancorado e responsivo ===== */

/* Base visual suave para integrar o recorte sem criar cenário */
.hero-media::after{
  content:"";
  display:block !important;
  position:absolute;
  z-index:0;
  right:5%;
  bottom:1.8%;
  width:min(34vw,560px);
  height:min(9vw,120px);
  border-radius:50%;
  background:rgba(240,231,215,.10);
  filter:blur(2px);
  transform:scaleX(1.08);
  pointer-events:none;
}

/* Shape orgânico sutil atrás das profissionais */
.hero-media::before{
  content:"";
  display:block !important;
  position:absolute;
  z-index:0;
  right:4.5%;
  bottom:6.5%;
  width:min(36vw,590px);
  height:min(62vw,760px);
  border-radius:48% 52% 44% 56% / 55% 44% 56% 45%;
  background:
    radial-gradient(circle at 50% 44%,
      rgba(240,202,195,.13) 0%,
      rgba(241,193,116,.09) 36%,
      rgba(240,231,215,.04) 62%,
      rgba(240,231,215,0) 78%);
  pointer-events:none;
}

.hero-img-desktop,
.hero-img-mobile{
  z-index:1;
}

/* Desktop: menor, mais à direita e mais apoiado na base */
@media(min-width:621px){
  .hero-img-desktop{
    width:50% !important;
    max-height:88%;
    right:0.5% !important;
    bottom:-0.2% !important;
    object-position:right bottom !important;
  }

  .hero-media::after{
    right:2.5%;
    bottom:1.2%;
    width:min(31vw,520px);
    height:min(7.5vw,104px);
    background:rgba(20,30,34,.22);
    filter:blur(12px);
  }

  .hero-media::before{
    right:1.8%;
    bottom:4.5%;
    width:min(34vw,560px);
    height:min(49vw,710px);
  }
}

/* Mobile: composição editorial própria, com espaço acima e apoio no rodapé */
@media(max-width:620px){
  .hero-media{
    min-height:520px;
    overflow:hidden;
  }

  .hero-img-mobile{
    width:88% !important;
    height:88% !important;
    left:6% !important;
    right:auto !important;
    top:auto !important;
    bottom:0 !important;
    padding:18px 0 0 !important;
    object-fit:contain !important;
    object-position:center bottom !important;
  }

  .hero-media::before{
    right:auto;
    left:50%;
    transform:translateX(-50%);
    bottom:4%;
    width:86%;
    height:78%;
    border-radius:46% 54% 48% 52% / 53% 45% 55% 47%;
    background:
      radial-gradient(circle at 50% 42%,
        rgba(240,202,195,.16) 0%,
        rgba(241,193,116,.10) 38%,
        rgba(240,231,215,.04) 66%,
        rgba(240,231,215,0) 80%);
  }

  .hero-media::after{
    right:auto;
    left:50%;
    transform:translateX(-50%);
    bottom:1.5%;
    width:68%;
    height:42px;
    background:rgba(19,28,32,.28);
    filter:blur(12px);
  }
}


/* ===== V12 · hero com bubble frame aprovado ===== */

/* Desativa shapes anteriores do hero para não competir com o novo frame */
.hero-media::before,
.hero-media::after{
  display:none !important;
}

/* Desktop: frame grande, à direita, acima da primeira linha do texto e sem sobreposição */
@media(min-width:621px){
  .hero-img-desktop{
    display:block !important;
    position:absolute !important;
    z-index:1;
    width:min(40vw, 650px) !important;
    height:auto !important;
    max-height:94% !important;
    right:1.2% !important;
    left:auto !important;
    top:6% !important;
    bottom:auto !important;
    object-fit:contain !important;
    object-position:center top !important;
    padding:0 !important;
    filter:none !important;
  }

  .hero-img-mobile{
    display:none !important;
  }
}

/* Mobile: frame relevante e centralizado acima do texto */
@media(max-width:620px){
  .hero{
    padding-bottom:0;
  }

  .hero-media{
    position:relative;
    min-height:430px !important;
    margin-top:0 !important;
    overflow:visible;
    background:transparent !important;
  }

  .hero-img-mobile{
    display:block !important;
    position:absolute !important;
    z-index:1;
    width:94% !important;
    height:auto !important;
    max-height:none !important;
    left:3% !important;
    right:auto !important;
    top:2% !important;
    bottom:auto !important;
    padding:0 !important;
    object-fit:contain !important;
    object-position:center top !important;
    filter:none !important;
  }

  .hero-img-desktop{
    display:none !important;
  }

  .hero-content{
    position:relative;
    z-index:3;
  }
}


/* ===== V14 · hero desktop com foto no sofá ===== */
/* Somente desktop. O mobile permanece exatamente como na V13. */
@media(min-width:621px){
  .hero-media{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    overflow:hidden !important;
    background:transparent !important;
  }

  .hero-img-desktop{
    display:block !important;
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    max-height:none !important;
    object-fit:cover !important;
    object-position:56% center !important;
    padding:0 !important;
    filter:none !important;
    transform:none !important;
  }

  /* Gradiente à esquerda para preservar leitura sem esconder as profissionais. */
  .hero::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:2;
    pointer-events:none;
    background:
      linear-gradient(90deg,
        rgba(24,39,47,.96) 0%,
        rgba(24,39,47,.90) 28%,
        rgba(24,39,47,.68) 45%,
        rgba(24,39,47,.28) 61%,
        rgba(24,39,47,.05) 74%,
        rgba(24,39,47,0) 100%);
  }

  .hero-content{
    position:relative;
    z-index:3;
  }
}


/* ===== V14 HERO FINAL · desktop blur + mobile original ===== */

/* WEB / DESKTOP: foto com blur à esquerda e profissionais bem à direita */
@media(min-width:621px){
  .hero-media{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    overflow:hidden !important;
  }

  .hero-img-desktop{
    display:block !important;
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    max-height:none !important;
    object-fit:cover !important;
    object-position:center center !important;
    transform:none !important;
    filter:none !important;
    padding:0 !important;
  }

  /* reforço leve do lado esquerdo apenas para a leitura do texto */
  .hero::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:2;
    pointer-events:none;
    background:linear-gradient(
      90deg,
      rgba(22,38,46,.86) 0%,
      rgba(22,38,46,.73) 28%,
      rgba(22,38,46,.48) 44%,
      rgba(22,38,46,.18) 58%,
      rgba(22,38,46,0) 72%
    );
  }

  .hero-content{
    position:relative;
    z-index:3;
  }
}

/* MOBILE: mesma foto original no sofá, sem blur gerado */
@media(max-width:620px){
  .hero-media{
    background:transparent !important;
  }

  .hero-img-mobile{
    display:block !important;
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    max-height:none !important;
    object-fit:cover !important;
    object-position:58% center !important;
    transform:none !important;
    filter:none !important;
    padding:0 !important;
  }

  .hero-img-desktop{
    display:none !important;
  }
}


/* ===== V15 · diagramação final do título da hero ===== */
.hero h1.hero-title-fixed{
  max-width:none;
  text-wrap:initial;
}
.hero-title-line{
  display:block;
  white-space:nowrap;
}
.hero-title-em{
  line-height:.88;
}
.hero-title-em em{
  display:inline-block;
}

@media(min-width:621px){
  .hero h1.hero-title-fixed{
    font-size:clamp(3.25rem,5.55vw,6.15rem);
    line-height:.97;
    letter-spacing:-.047em;
  }
  .hero-title-em{
    margin:.08em 0 .08em;
  }
  .hero-title-em em{
    font-size:1.08em;
  }
}

@media(max-width:620px){
  .hero h1.hero-title-fixed{
    font-size:clamp(1.82rem,8.15vw,2.35rem);
    line-height:.98;
    letter-spacing:-.04em;
    max-width:none;
  }
  .hero-title-line{
    white-space:nowrap;
  }
  .hero-title-em{
    margin:.09em 0 .10em;
  }
  .hero-title-em em{
    font-size:1.08em;
  }
}
