:root{
  --brown:#3A2110;
  --cream:#E1D5BF;
  --cream-light:#F4EFE5;
  --yellow:#F2DC98;
  --ochre:#BF852B;
  --olive:#7D8149;
  --olive-dark:#4E532C;
  --ink:#28271F;
  --white:#FBF8F2;
  --line:rgba(58,33,16,.16);
  --radius:34px;
  --shadow:0 24px 70px rgba(58,33,16,.12);
  --font-head:'Summer Crush', 'Mali', 'Trebuchet MS', cursive;
  --font-body:'Acumin Variable Concept', 'Acumin Pro', 'Avenir Next', 'Helvetica Neue', Arial, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream-light);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.65;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit}
::selection{background:var(--yellow);color:var(--brown)}

.site-header{position:sticky;top:0;z-index:50;height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,5vw,76px);background:rgba(244,239,229,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(58,33,16,.08)}
.brand img{width:155px;height:auto}.main-nav{display:flex;align-items:center;gap:28px;font-size:.89rem;font-weight:600}.main-nav>a:not(.nav-cta){position:relative}.main-nav>a:not(.nav-cta)::after{content:"";position:absolute;left:0;bottom:-5px;width:0;height:2px;background:var(--ochre);transition:.25s}.main-nav>a:hover::after{width:100%}.nav-cta{border:1px solid var(--brown);border-radius:999px;padding:10px 16px;transition:.25s}.nav-cta:hover{background:var(--brown);color:var(--cream-light)}
.menu-toggle{display:none;border:0;background:none;width:44px;height:44px;position:relative}.menu-toggle span{position:absolute;left:9px;right:9px;height:2px;background:var(--brown);transition:.25s}.menu-toggle span:first-child{top:17px}.menu-toggle span:last-child{top:25px}

.section-pad{padding:clamp(76px,9vw,130px) clamp(22px,6vw,92px)}
.eyebrow{display:inline-flex;align-items:center;gap:9px;text-transform:uppercase;letter-spacing:.15em;font-size:.72rem;font-weight:700;color:var(--olive-dark)}
.eyebrow .spark{color:var(--ochre)}
h1,h2{font-family:var(--font-head);margin:0;line-height:1.03;color:var(--brown);letter-spacing:-.01em}h3{font-family:var(--font-body);margin:0;line-height:1.15;color:var(--brown);letter-spacing:0;font-size:clamp(1.2rem,2vw,1.55rem);font-weight:700}h1{font-size:clamp(3.3rem,7.2vw,7.7rem)}h2{font-size:clamp(2.5rem,5.3vw,5.6rem)}h1 em,h2 em{font-style:normal;color:var(--olive)}

.hero{min-height:calc(100vh - 92px);display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);align-items:center;gap:clamp(40px,7vw,110px);padding-top:clamp(70px,8vw,115px);padding-bottom:clamp(80px,7vw,110px)}
.hero-copy{max-width:820px}.hero h1{margin-top:20px}.hero-lead{max-width:670px;font-size:clamp(1.04rem,1.45vw,1.3rem);margin:28px 0 34px;color:#545044}.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:15px 21px;border-radius:999px;font-weight:700;font-size:.88rem;letter-spacing:.01em;transition:.25s}.btn-primary{background:var(--olive);color:#fff}.btn-primary:hover{background:var(--olive-dark);transform:translateY(-2px)}.text-link{font-weight:700;border-bottom:1px solid currentColor;padding-bottom:3px}.hero-note{margin-top:55px;font-family:var(--font-body);font-size:1rem;font-weight:700;color:var(--ochre);transform:rotate(-2deg);display:inline-block}
.hero-visual{position:relative;min-height:630px;display:grid;place-items:center}.portrait-card{position:relative;z-index:2;width:min(78%,470px);height:590px;border-radius:190px 190px 36px 36px;overflow:hidden;margin:0;box-shadow:var(--shadow);border:9px solid rgba(255,255,255,.55)}.portrait-card img{width:100%;height:100%;object-fit:cover;object-position:center}.organic-shape{position:absolute;border-radius:44% 56% 60% 40%/50% 42% 58% 50%;filter:saturate(.95)}.shape-one{width:430px;height:430px;background:var(--yellow);right:0;top:65px;transform:rotate(14deg)}.shape-two{width:270px;height:270px;background:var(--olive);left:-18px;bottom:24px;transform:rotate(-18deg)}.floating-badge{position:absolute;z-index:3;background:var(--cream-light);border:1px solid rgba(58,33,16,.10);box-shadow:0 15px 45px rgba(58,33,16,.12);border-radius:999px;padding:11px 15px;font-size:.76rem;font-weight:700;display:flex;align-items:center;gap:8px}.badge-top{right:0;top:145px;transform:rotate(6deg)}.badge-bottom{left:10px;bottom:80px;transform:rotate(-4deg)}.badge-bottom img{width:26px;height:26px;object-fit:contain}

.manifesto{background:var(--olive-dark);color:var(--cream-light);text-align:center;position:relative;overflow:hidden}.manifesto-line{font-family:var(--font-body);font-size:clamp(1rem,1.5vw,1.2rem);font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--yellow);margin-bottom:20px}.manifesto-text{max-width:980px;margin:0 auto;font-family:var(--font-body);font-size:clamp(2rem,4vw,3.8rem);font-weight:300;line-height:1.22;letter-spacing:-.03em}.manifesto-text strong{color:var(--yellow);font-weight:700}.scribble{display:none}

.section-index{font-family:var(--font-body);font-size:clamp(6rem,14vw,13rem);font-weight:700;line-height:.8;color:rgba(191,133,43,.32);margin-bottom:-45px}.about{background:var(--cream)}.about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(55px,9vw,145px);position:relative;z-index:2}.about-title h2{margin-top:18px}.about-copy{font-size:clamp(1.02rem,1.4vw,1.24rem);max-width:760px}.about-copy p{margin:0 0 22px}.about-copy blockquote{margin:44px 0 0;padding:26px 0 0;border-top:1px solid rgba(58,33,16,.25);font-family:var(--font-body);font-size:clamp(1.25rem,1.8vw,1.55rem);font-weight:600;line-height:1.45;color:var(--olive-dark)}

.services{background:var(--cream-light)}.services-head{display:grid;grid-template-columns:1.15fr .85fr;gap:50px;align-items:end;margin-bottom:72px}.services-head .eyebrow{grid-column:1/-1}.services-head h2{max-width:820px}.services-head p{margin:0 0 10px;max-width:560px;font-size:1.08rem;color:#5c584e}.service-list{border-top:1px solid var(--line)}.service-item{display:grid;grid-template-columns:90px 1fr 70px;gap:clamp(20px,4vw,60px);align-items:start;padding:46px 0;border-bottom:1px solid var(--line);transition:.3s}.service-item:hover{padding-left:14px}.service-number{font-family:var(--font-body);font-size:1.35rem;font-weight:800;color:var(--ochre)}.service-content h3{font-size:clamp(1.35rem,2vw,1.6rem)}.service-content p{max-width:750px;color:#5c584e;font-size:1.03rem;margin:12px 0 19px}.tags{display:flex;gap:8px;flex-wrap:wrap}.tags span{border:1px solid rgba(58,33,16,.16);border-radius:999px;padding:6px 10px;font-size:.72rem;font-weight:600;color:#5a564d}.service-arrow{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--brown);font-size:1.4rem;transition:.25s}.service-arrow:hover{background:var(--brown);color:var(--cream-light);transform:rotate(8deg)}.custom-project{margin-top:48px;border-radius:26px;background:var(--yellow);padding:24px 28px;display:flex;align-items:center;justify-content:space-between;gap:25px;font-weight:700}.custom-project a{border-bottom:1px solid var(--brown)}

.portfolio{background:var(--brown);color:var(--cream-light)}.portfolio h2,.portfolio h3{color:var(--cream-light)}.portfolio h2 em{color:var(--yellow)}.portfolio .eyebrow{color:var(--yellow)}.portfolio-head{display:grid;grid-template-columns:1.25fr .75fr;gap:60px;align-items:end;margin-bottom:60px}.portfolio-head p{max-width:550px;margin:0 0 6px;color:rgba(244,239,229,.72)}.portfolio-grid{display:grid;grid-template-columns:1fr;gap:52px}.project-large,.project-wide{grid-column:auto}.project-media{border-radius:30px;overflow:hidden;background:transparent;aspect-ratio:auto}.project-media img{width:100%;height:auto;display:block;object-fit:initial;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.project:hover .project-media img{transform:scale(1.012)}.project-meta{display:flex;justify-content:space-between;gap:25px;align-items:end;padding:18px 3px 0}.project-meta span{display:block;color:var(--yellow);font-size:.7rem;text-transform:uppercase;letter-spacing:.13em;margin-bottom:5px}.project-meta h3{font-family:var(--font-body);font-size:1.18rem;letter-spacing:0}.project-type{font-size:.8rem;color:rgba(244,239,229,.65)}

.process{background:var(--cream)}.process-head{text-align:center;margin-bottom:65px}.process-head h2{margin-top:18px}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.process-step{background:rgba(255,255,255,.45);border:1px solid rgba(58,33,16,.10);border-radius:26px;padding:28px;min-height:290px;display:flex;flex-direction:column;transition:.25s}.process-step:hover{transform:translateY(-6px);background:rgba(255,255,255,.68)}.process-step>span{font-family:var(--font-head);font-size:2.3rem;color:var(--ochre)}.process-step h3{font-family:var(--font-body);font-size:1.25rem;letter-spacing:0;margin:24px 0 10px}.process-step p{font-size:.92rem;color:#5e594e;margin:0}.process-step small{margin-top:auto;text-transform:uppercase;letter-spacing:.13em;font-size:.64rem;font-weight:700;color:var(--olive-dark)}

.values{background:var(--cream-light);display:grid;grid-template-columns:.72fr 1.28fr;gap:70px;align-items:start}.values-title{position:sticky;top:130px}.values-title h2{margin-top:18px}.values-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.value-card{border-radius:28px;padding:30px;background:var(--white);border:1px solid rgba(58,33,16,.08);min-height:265px}.value-card:nth-child(2),.value-card:nth-child(3){background:var(--yellow)}.value-card:nth-child(4){background:var(--olive);color:#fff}.value-card:nth-child(4) h3{color:#fff}.value-icon{font-size:.86rem;font-weight:800;letter-spacing:.16em;color:var(--ochre)}.value-card h3{font-family:var(--font-body);font-size:1.35rem;letter-spacing:0;margin:28px 0 8px}.value-card p{margin:0;color:inherit;opacity:.76}

.personal{background:var(--olive-dark)}.personal-card{display:grid;grid-template-columns:.8fr 1.2fr;max-width:1180px;margin:0 auto;background:var(--cream-light);border-radius:38px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.18)}.personal-image{min-height:560px}.personal-image img{width:100%;height:100%;object-fit:cover;object-position:center top}.personal-copy{padding:clamp(40px,6vw,82px)}.personal-copy h2{font-size:clamp(2.5rem,4.5vw,4.8rem);margin:16px 0 28px}.personal-copy p{font-size:1.03rem;color:#5c584e;max-width:630px}.personal-copy .text-link{display:inline-block;margin-top:18px}

.faq{background:var(--cream-light);display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(60px,8vw,125px)}.faq-head h2{font-size:clamp(2.5rem,4.3vw,4.8rem);margin-top:18px}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:0}summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 0;font-weight:700}summary::-webkit-details-marker{display:none}summary span{font-size:1.4rem;color:var(--ochre);transition:.25s}details[open] summary span{transform:rotate(45deg)}details p{margin:-6px 0 25px;max-width:760px;color:#5c584e}

.cta{background:var(--yellow);padding-top:100px;padding-bottom:100px}.cta-inner{max-width:1050px;margin:0 auto;text-align:center}.cta-logo{width:70px;margin:0 auto 22px}.cta h2{font-size:clamp(3.1rem,6vw,6.4rem);margin:18px 0}.cta h2 em{color:var(--olive-dark)}.cta p{max-width:730px;margin:0 auto 34px;font-size:1.08rem}.cta-actions{display:flex;justify-content:center;align-items:center;gap:24px;flex-wrap:wrap}.btn-dark{background:var(--brown);color:var(--cream-light)}.btn-dark:hover{transform:translateY(-2px);background:#251307}.text-link.light{color:var(--brown)}
.site-footer{background:var(--brown);color:rgba(244,239,229,.78);padding:54px clamp(22px,6vw,92px);display:grid;grid-template-columns:1fr 1fr auto;gap:24px;align-items:end}.site-footer>img{width:165px;filter:brightness(1.8) saturate(.6)}.site-footer p{margin:0;font-size:.87rem}.footer-links{display:flex;gap:18px;font-size:.82rem;font-weight:700}.site-footer small{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.12);padding-top:18px;margin-top:10px;font-size:.7rem}

.reveal{opacity:0;transform:translateY(22px);transition:opacity .75s ease,transform .75s ease}.reveal.is-visible{opacity:1;transform:none}.delay-1{transition-delay:.10s}.delay-2{transition-delay:.18s}.delay-3{transition-delay:.26s}
.cursor-dot{position:fixed;width:9px;height:9px;border-radius:50%;background:var(--ochre);pointer-events:none;z-index:100;transform:translate(-50%,-50%);opacity:0;transition:opacity .2s}

@media (max-width:1000px){
  .hero{grid-template-columns:1fr;min-height:auto}.hero-copy{max-width:900px}.hero-visual{min-height:580px}.portrait-card{height:540px;width:min(66%,470px)}.shape-one{right:9%}.shape-two{left:8%}
  .about-grid,.services-head,.portfolio-head,.values,.faq{grid-template-columns:1fr}.about-grid{gap:40px}.services-head{gap:24px}.portfolio-head{gap:24px}.process-grid{grid-template-columns:1fr 1fr}.values-title{position:static}.personal-card{grid-template-columns:1fr}.personal-image{max-height:600px}.faq{gap:40px}.site-footer{grid-template-columns:1fr auto}.site-footer p{grid-column:1/-1;grid-row:2}.footer-links{grid-column:2;grid-row:1}
}
@media (max-width:760px){
  .site-header{height:78px;padding:0 20px}.brand img{width:132px}.menu-toggle{display:block;z-index:2}.main-nav{position:fixed;inset:0;background:var(--cream-light);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:95px 28px 40px;gap:18px;transform:translateX(100%);transition:.35s;font-size:1.15rem}.main-nav.open{transform:none}.main-nav .nav-cta{margin-top:12px}.menu-toggle.open span:first-child{transform:rotate(45deg);top:21px}.menu-toggle.open span:last-child{transform:rotate(-45deg);top:21px}
  .section-pad{padding-left:20px;padding-right:20px}.hero{padding-top:58px}.hero h1{font-size:clamp(3.2rem,15vw,5.3rem)}.hero-lead{font-size:1rem}.hero-visual{min-height:485px}.portrait-card{width:78%;height:455px;border-radius:150px 150px 28px 28px}.shape-one{width:300px;height:300px;right:0}.shape-two{width:190px;height:190px;left:0}.badge-top{top:110px}.badge-bottom{bottom:52px}.hero-note{margin-top:36px}
  .manifesto-text{font-size:clamp(2.1rem,10vw,3.6rem)}.section-index{margin-bottom:-22px}.about-copy{font-size:1rem}.services-head{margin-bottom:48px}.service-item{grid-template-columns:54px 1fr;gap:18px;padding:34px 0}.service-arrow{grid-column:2;width:48px;height:48px}.service-number{font-size:1.05rem}.service-content h3{font-size:1.35rem}.custom-project{align-items:flex-start;flex-direction:column}.portfolio-grid{grid-template-columns:1fr;gap:34px}.project-large,.project-wide{grid-column:auto}.project-media{aspect-ratio:auto}.project-meta{align-items:start}.project-type{text-align:right}.process-grid{grid-template-columns:1fr}.process-step{min-height:230px}.values-grid{grid-template-columns:1fr}.personal-card{border-radius:28px}.personal-image{min-height:430px}.personal-copy{padding:38px 26px}.faq{gap:28px}.cta{padding-top:80px;padding-bottom:80px}.site-footer{grid-template-columns:1fr}.footer-links{grid-column:1;grid-row:auto}.site-footer p{grid-column:1;grid-row:auto}.site-footer small{grid-column:1}.cursor-dot{display:none}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.project-media img,.service-item,.btn{transition:none}}

/* Refinamentos de conversão, portfólio e responsividade */
.service-item{grid-template-columns:90px minmax(0,1fr) 128px;}
.service-arrow{
  width:118px;height:46px;border-radius:999px;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  justify-self:end;border:1px solid var(--olive-dark);
  color:var(--olive-dark);font-size:.76rem;font-weight:700;
  transition:background .25s ease,color .25s ease,transform .25s ease;
}
.service-arrow:hover{background:var(--olive-dark);color:var(--cream-light);transform:translateY(-2px)}
.service-arrow .wa-icon{width:19px;height:19px;fill:currentColor;flex:0 0 auto}
.service-arrow .wa-label{line-height:1}

.portfolio-grid{max-width:980px;margin-inline:auto;}
.project{width:min(100%,920px);margin-inline:auto;}
.project-large{max-width:820px;}
.project-wide{max-width:920px;}
.project-media{border-radius:24px;}
.project-meta{max-width:920px;margin-inline:auto;}

.process-step{min-height:275px;}
.process-step p{margin:0;}
.process-step small{
  margin-top:24px;
  padding-top:13px;
  border-top:1px solid rgba(58,33,16,.12);
  text-transform:uppercase;letter-spacing:.13em;font-size:.64rem;font-weight:700;color:var(--olive-dark);
}

.personal-copy>.eyebrow{margin-bottom:24px;}
.personal-copy p:first-of-type{margin-top:0;}

:where(a,button,summary):focus-visible{outline:3px solid var(--ochre);outline-offset:4px;}
img{height:auto;}

@media (max-width:1000px){
  .service-item{grid-template-columns:72px minmax(0,1fr) 118px;gap:24px;}
  .portfolio-grid{max-width:860px;}
  .project-large{max-width:760px;}
  .project-wide{max-width:840px;}
}

@media (max-width:760px){
  .site-header{height:74px;}
  .hero{padding-top:48px;gap:34px;}
  .hero-copy{max-width:100%;}
  .hero-actions{gap:16px;}
  .hero-visual{min-height:455px;}
  .portrait-card{width:min(82vw,390px);height:430px;}

  .service-item{grid-template-columns:44px minmax(0,1fr);gap:16px 14px;padding:30px 0;}
  .service-number{grid-column:1;grid-row:1;}
  .service-content{grid-column:2;grid-row:1;min-width:0;}
  .service-arrow{grid-column:2;grid-row:2;justify-self:start;width:116px;height:44px;margin-top:2px;}
  .tags{gap:6px;}
  .tags span{font-size:.68rem;padding:5px 9px;}

  .portfolio-head{margin-bottom:42px;}
  .portfolio-grid{max-width:100%;gap:38px;}
  .project,.project-large,.project-wide{max-width:100%;}
  .project-media{border-radius:18px;}
  .project-meta{gap:16px;padding-top:14px;}

  .process-head{margin-bottom:42px;}
  .process-grid{gap:12px;}
  .process-step{min-height:auto;padding:24px;}
  .process-step h3{margin-top:18px;}
  .process-step small{margin-top:20px;padding-top:12px;}

  .personal-image{min-height:400px;}
  .personal-copy>.eyebrow{margin-bottom:20px;}
}

@media (max-width:480px){
  body{font-size:15px;}
  .site-header{padding-inline:16px;}
  .brand img{width:118px;}
  .section-pad{padding-left:18px;padding-right:18px;}

  .hero h1{font-size:clamp(3rem,17vw,4.45rem);}
  .hero-lead{font-size:.98rem;line-height:1.58;}
  .hero-actions{align-items:stretch;flex-direction:column;}
  .hero-actions .btn{width:100%;}
  .hero-actions .text-link{width:max-content;}
  .hero-visual{min-height:400px;}
  .portrait-card{width:min(86vw,330px);height:390px;border-width:7px;}
  .shape-one{width:250px;height:250px;right:-22px;top:55px;}
  .shape-two{width:155px;height:155px;left:-20px;bottom:20px;}
  .floating-badge{font-size:.68rem;padding:9px 11px;}
  .badge-top{right:-4px;top:88px;}
  .badge-bottom{left:-4px;bottom:35px;}

  .manifesto-text{font-size:clamp(1.75rem,9vw,2.55rem);}
  .section-index{font-size:5.7rem;margin-bottom:-18px;}
  .about-grid{gap:30px;}
  .about-title h2,.services-head h2,.portfolio-head h2,.process-head h2,.values-title h2,.faq-head h2,.cta h2{font-size:clamp(2.35rem,12vw,3.4rem);}

  .service-item{grid-template-columns:36px minmax(0,1fr);}
  .service-content p{font-size:.95rem;}
  .custom-project{padding:20px;border-radius:20px;}

  .project-meta{flex-direction:column;align-items:flex-start;gap:3px;}
  .project-type{text-align:left;}

  .values{gap:36px;}
  .value-card{min-height:auto;padding:24px;}
  .personal-image{min-height:340px;}
  .personal-copy{padding:30px 22px;}
  .faq{gap:28px;}
  summary{padding:21px 0;}

  .cta-actions{flex-direction:column;align-items:stretch;}
  .cta-actions .btn{width:100%;}
  .cta-actions .text-link{width:max-content;margin-inline:auto;}
  .footer-links{flex-wrap:wrap;}
}

/* iPhone / telas com recorte e proteção contra overflow horizontal */
html,body{max-width:100%;}
.site-header{
  padding-left:max(clamp(22px,5vw,76px),env(safe-area-inset-left));
  padding-right:max(clamp(22px,5vw,76px),env(safe-area-inset-right));
}
@media (max-width:760px){
  .site-header{
    padding-left:max(20px,env(safe-area-inset-left));
    padding-right:max(20px,env(safe-area-inset-right));
  }
  .main-nav{
    padding-left:max(28px,env(safe-area-inset-left));
    padding-right:max(28px,env(safe-area-inset-right));
    padding-bottom:max(40px,env(safe-area-inset-bottom));
  }
}
@media (max-width:480px){
  .site-header{
    padding-left:max(16px,env(safe-area-inset-left));
    padding-right:max(16px,env(safe-area-inset-right));
  }
}
