:root{
  --ivory:#F7F1EB;
  --sand:#E7D6C8;
  --terracotta:#B7795C;
  --coffee:#4B3A32;
  --nude:#D9B8A7;
  --white:#fffdfa;
  --ink:#362821;
  --shadow:0 24px 80px rgba(75,58,50,.14);
  --radius:28px;
  --shell:min(1180px,calc(100vw - 48px));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--coffee);font-family:"Source Sans 3",Arial,sans-serif;font-size:18px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.menu-open{overflow:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
::selection{background:var(--terracotta);color:#fff}
.shell{width:var(--shell);margin-inline:auto}
.section-pad{padding:clamp(88px,10vw,150px) 0}
h1,h2,h3{font-family:"Fraunces",Georgia,serif;font-weight:400;letter-spacing:-.03em;line-height:1.02;margin:0 0 .45em;color:var(--coffee)}
h1{font-size:clamp(3.5rem,6.5vw,6.7rem);max-width:9.6ch}
h2{font-size:clamp(3rem,5.2vw,5.7rem)}
h3{font-size:clamp(1.7rem,2.6vw,2.5rem)}
p{margin:0 0 1.1em}.rich-copy p:last-child{margin-bottom:0}
.skip-link{position:fixed;left:16px;top:-100px;z-index:9999;background:var(--coffee);color:#fff;padding:10px 16px}.skip-link:focus{top:16px}
.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;font-weight:600;color:var(--terracotta);margin-bottom:22px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:14px 24px;border:1px solid transparent;border-radius:999px;font-weight:600;transition:.3s ease}.button--primary{background:var(--coffee);color:#fff}.button--primary:hover{background:var(--terracotta);transform:translateY(-2px)}
.text-link{display:inline-flex;align-items:center;gap:12px;font-weight:600;border-bottom:1px solid rgba(75,58,50,.28);padding-bottom:4px;transition:.25s}.text-link:hover{color:var(--terracotta);border-color:var(--terracotta)}

/* Header */
.site-header{position:fixed;inset:0 0 auto 0;z-index:1000;background:rgba(247,241,235,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(75,58,50,.08);transition:.35s}
.site-header.is-scrolled{box-shadow:0 8px 30px rgba(75,58,50,.08)}
.site-header__inner{height:94px;display:flex;align-items:center;justify-content:space-between;gap:30px;transition:.3s}.site-header.is-scrolled .site-header__inner{height:76px}
.brand{width:min(390px,34vw);display:block}.brand img{width:100%;height:auto}
.primary-nav__list{display:flex;gap:26px;align-items:center;list-style:none;margin:0;padding:0;font-size:.95rem}.primary-nav a{position:relative}.primary-nav a:not(.nav-cta):after{content:"";position:absolute;left:0;bottom:-8px;width:100%;height:1px;background:var(--terracotta);transform:scaleX(0);transform-origin:left;transition:.25s}.primary-nav a:hover:after{transform:scaleX(1)}
.nav-cta{padding:10px 17px;border:1px solid rgba(75,58,50,.35);border-radius:999px}.nav-cta:hover{background:var(--coffee);color:#fff}
.menu-toggle{display:none;border:0;background:transparent;width:44px;height:44px;padding:10px;position:relative}.menu-toggle span{position:absolute;left:10px;width:24px;height:1.5px;background:var(--coffee);transition:.25s}.menu-toggle span:first-child{top:16px}.menu-toggle span:last-child{top:27px}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(5.5px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-5.5px) rotate(-45deg)}

/* Hero */
.hero{padding-top:clamp(150px,15vw,210px);min-height:100vh;display:flex;align-items:center;position:relative;isolation:isolate;overflow:hidden}
.hero__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(50px,7vw,110px);align-items:center}.hero__lead{font-size:clamp(1.2rem,1.7vw,1.5rem);max-width:620px;color:#685248}.hero__actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:36px}
.hero__photo-wrap{position:relative;border-radius:180px 180px 28px 28px;overflow:hidden;box-shadow:var(--shadow);aspect-ratio:.78;background:var(--sand)}.hero__photo-wrap img{width:100%;height:100%;object-fit:cover;object-position:50% 48%}.hero__accent{position:absolute;inset:auto -10% -11% auto;width:45%;aspect-ratio:1;border:2px solid rgba(255,255,255,.76);border-radius:50%;mix-blend-mode:overlay}
.hero__orb{position:absolute;border-radius:50%;z-index:-1;filter:blur(1px)}.hero__orb--1{width:38vw;height:38vw;right:-18vw;top:10%;background:rgba(183,121,92,.08)}.hero__orb--2{width:28vw;height:28vw;left:-18vw;bottom:-5%;border:1px solid rgba(183,121,92,.2)}

/* Parallax */
.parallax-strip,.photo-section{position:relative;overflow:hidden;isolation:isolate}.parallax-strip{min-height:56vh;display:grid;place-items:center;color:#fff}.parallax-media{position:absolute;inset:-12%;background-size:cover;background-position:center;z-index:-3;will-change:transform;transform:translate3d(0,0,0) scale(1.05)}.parallax-overlay{position:absolute;inset:0;background:linear-gradient(120deg,rgba(50,34,27,.78),rgba(75,58,50,.48));z-index:-2}.parallax-strip--light .parallax-overlay{background:linear-gradient(120deg,rgba(247,241,235,.84),rgba(231,214,200,.65))}.parallax-strip--light{color:var(--coffee)}.parallax-strip--terracotta .parallax-overlay{background:linear-gradient(100deg,rgba(183,121,92,.82),rgba(75,58,50,.62))}.parallax-strip__content{display:flex;align-items:center;justify-content:center;min-height:56vh;padding:80px 0}.parallax-strip__content p{font-family:"Fraunces",Georgia,serif;font-size:clamp(2.4rem,4.5vw,5rem);line-height:1.08;max-width:17ch;text-align:center;margin:0}

/* About */
.about__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(60px,9vw,130px);align-items:center}.portrait-card{margin:0;position:relative}.portrait-card__slides{position:relative;width:100%;aspect-ratio:.79;overflow:hidden;border-radius:28px 160px 28px 28px;box-shadow:var(--shadow);background:var(--sand)}.portrait-card__slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 48%;opacity:0;transform:scale(1.035) translate3d(0,8px,0);transition:opacity 1.15s cubic-bezier(.22,.61,.36,1),transform 1.6s cubic-bezier(.22,.61,.36,1);will-change:opacity,transform}.portrait-card__slide.is-active{opacity:1;transform:scale(1) translate3d(0,0,0)}.portrait-card__progress{position:absolute;left:0;bottom:0;height:3px;width:100%;background:linear-gradient(90deg,var(--terracotta) 0 50%,rgba(255,255,255,.45) 50% 100%);background-size:200% 100%;background-position:100% 0;z-index:3;opacity:.88}.portrait-card--slideshow.is-playing .portrait-card__progress{animation:mc-about-progress 5s linear infinite}.portrait-card figcaption{position:absolute;left:-28px;bottom:32px;background:var(--coffee);color:#fff;padding:14px 20px;font-size:.84rem;letter-spacing:.06em;border-radius:999px;z-index:4}.about__content h2{max-width:7ch}.about__content .rich-copy{font-size:1.04rem;color:#634e45}.about__signature{display:grid;grid-template-columns:50px 1fr;column-gap:16px;align-items:center;margin-top:36px}.about__signature span{height:1px;background:var(--terracotta)}.about__signature strong{font-family:"Fraunces";font-weight:500;font-size:1.22rem}.about__signature small{grid-column:2;color:#8a6d5f}@keyframes mc-about-progress{from{background-position:100% 0}to{background-position:0 0}}

/* Photo sections */
.photo-section__wash{position:absolute;inset:0;background:linear-gradient(110deg,rgba(247,241,235,.97),rgba(247,241,235,.84),rgba(231,214,200,.78));z-index:-2}.photo-section__wash--services{background:linear-gradient(110deg,rgba(75,58,50,.94),rgba(75,58,50,.82),rgba(75,58,50,.68))}.photo-section__content{position:relative;z-index:1}.section-heading--split{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:end;margin-bottom:58px}.section-heading--split h2{max-width:7ch}.question{font-family:"Fraunces";font-size:clamp(1.7rem,2.4vw,2.45rem);line-height:1.16;color:var(--coffee)}
.help-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.help-card{min-height:240px;padding:28px;background:rgba(255,253,250,.78);border:1px solid rgba(75,58,50,.11);border-radius:22px;backdrop-filter:blur(12px);display:flex;flex-direction:column;justify-content:space-between;transition:.3s}.help-card:hover{transform:translateY(-5px);box-shadow:0 18px 50px rgba(75,58,50,.1)}.help-card__num{font-family:"Fraunces";font-size:1.15rem;color:var(--terracotta)}.help-card p{font-size:1.04rem;margin:35px 0 0}

/* Process */
.process{background:var(--sand)}.process__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(70px,10vw,160px);align-items:start}.process__intro{position:sticky;top:130px}.process__intro h2{max-width:8ch}.rich-copy--large{font-size:1.08rem}.process__steps{padding-top:70px}.process-step{display:grid;grid-template-columns:64px 1fr;gap:24px;border-top:1px solid rgba(75,58,50,.2);padding:38px 0}.process-step>span{font-family:"Fraunces";color:var(--terracotta);font-size:1.45rem}.process-step p{font-size:1.12rem;margin:0}.process__microcopy{margin-top:38px;border-left:2px solid var(--terracotta);padding:12px 0 12px 24px;font-family:"Fraunces";font-size:1.5rem;line-height:1.25}

/* Services */
.services{color:#fff}.services h2,.services h3,.services .section-kicker{color:#fff}.services .section-kicker{opacity:.85}.services__main{max-width:760px;margin-bottom:54px}.services__main .rich-copy{color:rgba(255,255,255,.86);font-size:1.05rem}.service-cards{display:grid;grid-template-columns:1fr 1fr;gap:22px}.service-card{padding:38px;border:1px solid rgba(255,255,255,.25);border-radius:24px;background:rgba(247,241,235,.11);backdrop-filter:blur(14px)}.service-card__icon{width:48px;height:48px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.35);border-radius:50%;font-size:1.3rem;margin-bottom:28px}.service-card p{color:rgba(255,255,255,.84)}.service-card__note{font-weight:600;color:#fff!important}

/* Blog */
.section-heading--row{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:44px}.posts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.post-card{border:1px solid rgba(75,58,50,.12);border-radius:22px;overflow:hidden;background:rgba(255,255,255,.42);transition:.3s}.post-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(75,58,50,.09)}.post-card__media{display:block;aspect-ratio:1/1;background:var(--sand);overflow:hidden}.post-card__media img{width:100%;height:100%;object-fit:cover;transition:.5s}.post-card:hover .post-card__media img{transform:scale(1.04)}.post-card__placeholder{height:100%;display:grid;place-items:center;font:500 4rem "Fraunces";color:var(--terracotta)}.post-card__body{padding:26px}.post-card time{font-size:.82rem;color:#937363}.post-card h3{font-size:1.8rem;margin:.35em 0}.post-card p{color:#71594f;font-size:.95rem}.blog-empty{grid-column:1/-1;border:1px solid rgba(75,58,50,.12);border-radius:24px;padding:40px;display:flex;gap:28px;align-items:center}.blog-empty>span{width:86px;height:86px;border-radius:50%;display:grid;place-items:center;background:var(--terracotta);color:#fff;font:500 2rem "Fraunces"}.blog-empty h3{margin:0 0 8px;font-size:2rem}.blog-empty p{margin:0}

/* Contact */
.contact{background:var(--coffee);color:#fff}.contact h2,.contact .section-kicker{color:#fff}.contact .section-kicker{opacity:.72}.contact__grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.contact__copy p{max-width:560px;color:rgba(255,255,255,.78);font-size:1.12rem}.contact .button--primary{background:var(--terracotta);margin-top:18px}.contact .button--primary:hover{background:#fff;color:var(--coffee)}.contact__panel{border:1px solid rgba(255,255,255,.2);border-radius:26px;padding:12px 34px;background:rgba(255,255,255,.05)}.contact__panel>div{padding:25px 0;border-bottom:1px solid rgba(255,255,255,.12);display:grid;grid-template-columns:110px 1fr;gap:20px}.contact__panel>div:last-child{border:0}.contact__panel small{color:rgba(255,255,255,.55);text-transform:uppercase;letter-spacing:.12em}.contact__panel a:hover{color:var(--nude)}

/* Footer */
.site-footer{background:#392a24;color:rgba(255,255,255,.72);padding:58px 0 28px;border-top:1px solid rgba(255,255,255,.08)}.site-footer__grid{display:grid;grid-template-columns:1.2fr .8fr;gap:30px}.site-footer__brand img{max-width:420px;filter:brightness(0) invert(1);opacity:.82}.site-footer__meta{display:grid;justify-content:end;text-align:right}.site-footer__meta p{margin:0}.site-footer__meta a:hover{color:#fff}.site-footer__copy{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.1);padding-top:22px;margin:18px 0 0;font-size:.86rem}

/* Blog pages */
.inner-hero{padding:180px 0 70px;background:var(--sand)}.inner-hero h1{max-width:13ch;font-size:clamp(3.5rem,6vw,6rem)}.blog-archive{padding:80px 0 130px}.pagination{margin-top:60px}.pagination .nav-links{display:flex;gap:10px}.pagination a,.pagination span{padding:10px 15px;border:1px solid rgba(75,58,50,.18);border-radius:50px}.pagination .current{background:var(--coffee);color:#fff}.article{padding:180px 0 110px}.article__head{max-width:850px;margin-bottom:50px}.article__meta{color:#967463}.article__head h1{max-width:13ch}.article__media{margin:0 0 50px;max-width:1050px}.article__media img{width:100%;border-radius:28px}.article__content{max-width:760px;font-size:1.12rem}.article__content h2,.article__content h3{margin-top:1.6em}.article__content a{color:var(--terracotta);text-decoration:underline}

/* Reveal animations */
[data-reveal]{opacity:0;transition:opacity .85s ease,transform .95s cubic-bezier(.2,.7,.2,1);transition-delay:var(--delay,0ms)}[data-reveal="up"]{transform:translateY(36px)}[data-reveal="left"]{transform:translateX(-42px)}[data-reveal="right"]{transform:translateX(42px)}[data-reveal="scale"]{transform:scale(.96)}[data-reveal].is-visible{opacity:1;transform:none}

@media (max-width:1100px){
  .primary-nav__list{gap:17px;font-size:.9rem}.brand{width:300px}.help-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
  :root{--shell:min(100% - 34px,760px)}
  .site-header__inner{height:78px}.brand{width:260px}.menu-toggle{display:block;z-index:1002}.primary-nav{position:fixed;inset:0;background:var(--ivory);display:grid;place-items:center;opacity:0;visibility:hidden;transition:.3s}.primary-nav.is-open{opacity:1;visibility:visible}.primary-nav__list{flex-direction:column;font-size:1.35rem;gap:22px}.nav-cta{padding:12px 22px}
  .hero{min-height:auto;padding-top:130px}.hero__grid,.about__grid,.process__grid,.contact__grid{grid-template-columns:1fr}.hero__grid{gap:60px}.hero__content{order:1}.hero__visual{order:2}.hero__photo-wrap{max-width:590px;margin:auto}.about__grid{gap:55px}.about__visual{max-width:620px}.section-heading--split{grid-template-columns:1fr;gap:25px}.process__intro{position:static}.process__steps{padding-top:10px}.service-cards{grid-template-columns:1fr}.posts-grid{grid-template-columns:1fr 1fr}.site-footer__grid{grid-template-columns:1fr}.site-footer__meta{justify-content:start;text-align:left}.site-footer__brand img{max-width:340px}.contact__panel{padding:10px 24px}
  .parallax-media{inset:-8%;background-attachment:scroll}
}
@media (max-width:620px){
  body{font-size:17px}.section-pad{padding:78px 0}.brand{width:220px}.hero__actions{align-items:flex-start;flex-direction:column}.hero__photo-wrap{border-radius:120px 120px 24px 24px}.portrait-card figcaption{left:12px;bottom:16px;max-width:85%;white-space:normal}.help-grid,.posts-grid{grid-template-columns:1fr}.help-card{min-height:auto}.section-heading--row{align-items:flex-start;flex-direction:column}.parallax-strip,.parallax-strip__content{min-height:50vh}.parallax-strip__content p{font-size:clamp(2.2rem,10vw,3.7rem)}.process-step{grid-template-columns:46px 1fr}.contact__panel>div{grid-template-columns:1fr;gap:4px}.blog-empty{align-items:flex-start;flex-direction:column}.site-footer__brand img{max-width:280px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}[data-reveal]{opacity:1!important;transform:none!important}.parallax-media{transform:none!important}}

/* === Refinamentos v1.1 === */
/* Menu: o item da seção visível recebe exatamente o mesmo grifo do hover. */
.primary-nav a.is-active:not(.nav-cta),
.primary-nav li.current-menu-item>a:not(.nav-cta){color:var(--terracotta)}
.primary-nav a.is-active:not(.nav-cta):after,
.primary-nav li.current-menu-item>a:not(.nav-cta):after{transform:scaleX(1)}
.nav-cta.is-active{background:var(--coffee);color:#fff;border-color:var(--coffee)}

/* Mais respiro para o logo no header fixo. */
.site-header__inner{height:100px;padding-block:12px}
.brand{width:min(360px,32vw);transition:width .32s ease,transform .32s ease}
.brand img{width:100%;height:auto;max-height:62px;object-fit:contain;object-position:left center;transition:max-height .32s ease}
.site-header.is-scrolled .site-header__inner{height:82px;padding-block:14px}
.site-header.is-scrolled .brand{width:min(292px,27vw)}
.site-header.is-scrolled .brand img{max-height:49px}

/* Parallax em duas camadas: ambiente full-bleed + foto principal menos ampliada. */
.visual-bg{background:var(--coffee)}
.parallax-media{inset:-6% 0;background-position:center;will-change:transform}
.parallax-media--ambient{z-index:-4;background-size:cover;background-repeat:no-repeat;filter:blur(11px) saturate(.82);opacity:.66;transform:scale(1.055)}
.parallax-media--focus{z-index:-3;background-size:auto 132%;background-repeat:no-repeat;background-position:center;transform:translate3d(0,0,0);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 13%,#000 87%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 13%,#000 87%,transparent 100%)}

.blog-preview{background:var(--ivory)}

@media (max-width:1100px){
  .brand{width:290px}.site-header.is-scrolled .brand{width:255px}
  }
@media (max-width:900px){
  .site-header__inner,.site-header.is-scrolled .site-header__inner{height:84px;padding-block:13px}
  .brand,.site-header.is-scrolled .brand{width:245px}.brand img,.site-header.is-scrolled .brand img{max-height:54px}
  .parallax-media--ambient{display:none}
  .parallax-media--focus{inset:-5%;background-size:cover;-webkit-mask-image:none;mask-image:none}
    }
@media (max-width:620px){
  .brand,.site-header.is-scrolled .brand{width:205px}.brand img,.site-header.is-scrolled .brand img{max-height:46px}
            }
@media (prefers-reduced-motion:reduce){
  .parallax-media--focus,.parallax-media--ambient{transform:none!important}
}


/* === Refinamentos v1.2 === */
.contact__address{line-height:1.45}
@media (prefers-reduced-motion:reduce){
  .portrait-card__slide{transition:none!important;transform:none!important}
  .portrait-card__progress{display:none}
}

/* v1.2.1 — correction: keep parallax imagery above the section background.
   Negative z-index layers could be painted behind the isolated section background
   in some browsers / local file previews, leaving only the palette color visible. */
.visual-bg{position:relative}
.visual-bg .parallax-media{z-index:0}
.visual-bg .parallax-media--ambient{z-index:0}
.visual-bg .parallax-media--focus{z-index:1}
.visual-bg .parallax-overlay,
.visual-bg .photo-section__wash{z-index:2}
.visual-bg .parallax-strip__content,
.visual-bg .photo-section__content{position:relative;z-index:3}


/* v1.2.2 — parallax preview fix: image URLs are now applied directly to the media layers.
   This avoids relative-url resolution problems from url() stored inside CSS variables,
   especially when index.html is opened locally with file://. */
.visual-bg .parallax-media{background-color:transparent;background-repeat:no-repeat}
.visual-bg .parallax-media--ambient{background-size:cover}
.visual-bg .parallax-media--focus{background-repeat:no-repeat}

/* v1.2.2 definitive parallax fix — REAL <img> layers.
   The parallax photos no longer depend on CSS background-image URL resolution.
   This works both in a local file:// preview and in WordPress. */
.visual-bg{position:relative;overflow:hidden;isolation:isolate}
.visual-bg img.parallax-media{display:block;position:absolute;margin:0;padding:0;max-width:none;border:0;pointer-events:none;user-select:none}
.visual-bg img.parallax-media--ambient{
  z-index:0;inset:-6% 0;width:100%;height:112%;object-fit:cover;object-position:center;
  filter:blur(11px) saturate(.82);opacity:.70;transform:scale(1.06);
}
.visual-bg img.parallax-media--focus{
  z-index:1;left:var(--focus-x,50%);top:var(--focus-y,50%);width:auto;height:var(--focus-height,132%);
  object-fit:contain;object-position:center;opacity:.97;
  transform:translate3d(-50%,calc(-50% + var(--parallax-y,0px)),0);
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 12%,#000 88%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0%,#000 12%,#000 88%,transparent 100%);
}
.visual-bg .parallax-overlay,.visual-bg .photo-section__wash{z-index:2}
.visual-bg .parallax-strip__content,.visual-bg .photo-section__content{position:relative;z-index:3}
@media(max-width:900px){
  .visual-bg img.parallax-media--ambient{display:block;filter:blur(8px) saturate(.85);opacity:.56}
  .visual-bg img.parallax-media--focus{left:50%;top:50%;width:108%;height:116%;object-fit:cover;-webkit-mask-image:none;mask-image:none}
}
@media(prefers-reduced-motion:reduce){.visual-bg img.parallax-media--focus{transform:translate3d(-50%,-50%,0)!important}}

/* === Refinamentos v1.2.3 / v1.2.4 === */
/* Thumbnails do blog sempre em proporção 1:1. */
.post-card__media{aspect-ratio:1/1}
.post-card__media img{object-position:center center}
.blog-preview{background:#F7F1EB}


/* === Refinamento v1.2.5: proporção correta das imagens nos posts ===
   As thumbnails da home continuam 1:1, mas dentro do post a imagem destacada
   e as imagens inseridas no conteúdo preservam sempre a proporção original. */
.article__media img,
.article__featured-image{
  display:block;
  width:100%;
  max-width:100%;
  height:auto !important;
  aspect-ratio:auto !important;
  object-fit:contain;
  border-radius:28px;
}
.article__content img,
.article__content .wp-block-image img,
.article__content .wp-block-gallery img,
.article__content figure img{
  max-width:100%;
  height:auto !important;
  aspect-ratio:auto !important;
  object-fit:contain;
}
.article__content figure,
.article__content .wp-block-image{
  max-width:100%;
}

/* === Refinamento v1.2.6: navegação mobile + responsividade cross-browser ===
   1) O menu compacto entra mais cedo (até 1120px), evitando overflow em celulares
      em landscape, tablets e navegadores com viewport CSS mais largo.
   2) No mobile o menu abre sobre uma base opaca da paleta, sem misturar com o site.
   3) Hardening contra largura maior que o viewport / necessidade de pinch-out. */
html{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
  overflow-x:clip;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
  overflow-x:clip;
}
main,.site-header,.site-footer,section{
  max-width:100%;
}
.shell{
  width:min(1180px,calc(100% - 48px));
  max-width:100%;
}
.hero__grid,.about__grid,.process__grid,.contact__grid,.section-heading--split,
.service-cards,.posts-grid,.site-footer__grid{
  min-width:0;
}
.hero__grid>*,.about__grid>*,.process__grid>*,.contact__grid>*,
.section-heading--split>*,.service-cards>*,.posts-grid>*{
  min-width:0;
}
.rich-copy,.article__content,.contact__panel,.post-card__body{
  overflow-wrap:anywhere;
  word-break:normal;
}

/* Evita que a barra do WordPress cubra o header durante testes logados. */
body.admin-bar .site-header{top:32px}

@media (max-width:1120px){
  :root{
    --mc-mobile-header-h:86px;
    --shell:min(100% - 34px,920px);
  }

  /* Fundo sólido no header mobile também elimina diferenças de backdrop-filter
     entre Safari/Chrome e impede que fixed descendants ganhem um containing block. */
  .site-header,
  .site-header.is-scrolled{
    background:#F7F1EB;
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
    border-bottom:1px solid rgba(75,58,50,.10);
  }
  .site-header__inner,
  .site-header.is-scrolled .site-header__inner{
    height:var(--mc-mobile-header-h);
    min-height:var(--mc-mobile-header-h);
    padding-block:12px;
    gap:14px;
  }
  .brand,
  .site-header.is-scrolled .brand{
    width:min(250px,calc(100% - 66px));
    max-width:250px;
    flex:0 1 auto;
    min-width:0;
  }
  .site-header.is-scrolled .brand{width:min(224px,calc(100% - 66px))}
  .brand img,
  .site-header.is-scrolled .brand img{
    max-height:54px;
    width:100%;
    height:auto;
    object-fit:contain;
    object-position:left center;
  }

  .menu-toggle{
    display:block;
    z-index:1003;
    flex:0 0 46px;
    width:46px;
    height:46px;
    margin-left:auto;
    border-radius:50%;
    background:rgba(231,214,200,.48);
    touch-action:manipulation;
  }
  .menu-toggle:focus-visible{outline:2px solid var(--terracotta);outline-offset:3px}

  /* Painel mobile: deliberadamente opaco e baseado na paleta aprovada. */
  .primary-nav{
    position:fixed;
    z-index:1001;
    top:var(--mc-mobile-header-h);
    left:0;
    right:0;
    bottom:0;
    width:100%;
    max-width:100%;
    min-height:0;
    padding:clamp(34px,7vh,72px) max(24px,env(safe-area-inset-right)) max(32px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));
    display:flex;
    align-items:flex-start;
    justify-content:center;
    overflow-y:auto;
    overflow-x:hidden;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    background:linear-gradient(160deg,#E7D6C8 0%,#F7F1EB 72%);
    box-shadow:inset 0 1px 0 rgba(75,58,50,.08),0 24px 55px rgba(75,58,50,.15);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translate3d(0,-10px,0);
    transition:opacity .26s ease,transform .32s cubic-bezier(.2,.7,.2,1),visibility 0s linear .32s;
  }
  .primary-nav.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translate3d(0,0,0);
    transition-delay:0s;
  }
  .primary-nav__list{
    width:min(100%,520px);
    margin:0 auto;
    padding:0 0 28px;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    font-size:clamp(1.25rem,4vw,1.55rem);
  }
  .primary-nav__list li{width:100%}
  .primary-nav__list a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:100%;
    min-height:58px;
    padding:12px 4px;
    border-bottom:1px solid rgba(75,58,50,.13);
  }
  .primary-nav a:not(.nav-cta):after{bottom:8px}
  .primary-nav .nav-cta{
    width:100%;
    justify-content:center;
    margin-top:22px;
    padding:14px 22px;
    min-height:52px;
    border-color:rgba(75,58,50,.35);
  }
  body.menu-open{
    overflow:hidden;
    overscroll-behavior:none;
  }

  /* O header também respeita a barra administrativa do WordPress. */
  body.admin-bar .primary-nav{top:calc(var(--mc-mobile-header-h) + 32px)}
}

@media (max-width:782px){
  body.admin-bar .site-header{top:46px}
  body.admin-bar .primary-nav{top:calc(var(--mc-mobile-header-h) + 46px)}
}

@media (max-width:620px){
  :root{
    --mc-mobile-header-h:78px;
    --shell:calc(100% - 30px);
  }
  .site-header__inner,
  .site-header.is-scrolled .site-header__inner{
    height:var(--mc-mobile-header-h);
    min-height:var(--mc-mobile-header-h);
    padding-block:10px;
  }
  .brand,.site-header.is-scrolled .brand{
    width:min(205px,calc(100% - 62px));
    max-width:205px;
  }
  .site-header.is-scrolled .brand{width:min(190px,calc(100% - 62px))}
  .brand img,.site-header.is-scrolled .brand img{max-height:46px}
  .menu-toggle{width:44px;height:44px;flex-basis:44px}
  .primary-nav{padding-top:30px}
  .primary-nav__list{font-size:1.22rem}
  .primary-nav__list a{min-height:54px}
  .hero{padding-top:calc(var(--mc-mobile-header-h) + 48px)}
  h1{font-size:clamp(2.75rem,13vw,4rem)}
  h2{font-size:clamp(2.45rem,11vw,3.65rem)}
}

@media (max-width:360px){
  :root{--shell:calc(100% - 24px)}
  .brand,.site-header.is-scrolled .brand{width:min(178px,calc(100% - 58px))}
  .site-header.is-scrolled .brand{width:min(168px,calc(100% - 58px))}
  .primary-nav{padding-inline:18px}
  .button{width:100%}
  .contact__panel{padding-inline:18px}
}


/* === Blog index v1.2.7 === */
.inner-hero--blog{padding-bottom:76px}
.inner-hero__lead{max-width:640px;font-size:clamp(1.05rem,1.5vw,1.28rem);color:#71594f;margin:0}
.blog-index{background:var(--ivory);padding-top:88px}
.blog-list{display:grid;gap:28px}
.blog-list-card{display:grid;grid-template-columns:minmax(240px,340px) minmax(0,1fr);gap:clamp(28px,4vw,54px);align-items:center;padding:24px;border:1px solid rgba(75,58,50,.12);border-radius:28px;background:rgba(255,253,250,.64);box-shadow:0 16px 50px rgba(75,58,50,.05);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;overflow:hidden}
.blog-list-card:hover{transform:translateY(-3px);box-shadow:0 24px 64px rgba(75,58,50,.09);border-color:rgba(183,121,92,.28)}
.blog-list-card__media{display:block;width:100%;aspect-ratio:1/1;border-radius:20px;overflow:hidden;background:var(--sand)}
.blog-list-card__media img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .55s cubic-bezier(.22,.61,.36,1)}
.blog-list-card:hover .blog-list-card__media img{transform:scale(1.035)}
.blog-list-card__placeholder{width:100%;height:100%;display:grid;place-items:center;font:500 clamp(3.2rem,6vw,5.8rem)/1 "Fraunces",Georgia,serif;color:var(--terracotta);background:linear-gradient(145deg,var(--sand),#f3e8df)}
.blog-list-card__body{min-width:0;padding:12px clamp(4px,1vw,14px) 12px 0}
.blog-list-card__body time{display:block;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:#967463;margin-bottom:12px}
.blog-list-card__body h2{font-size:clamp(2rem,3.25vw,3.15rem);line-height:1.04;margin:0 0 16px;max-width:18ch}
.blog-list-card__body h2 a{transition:color .2s ease}.blog-list-card__body h2 a:hover{color:var(--terracotta)}
.blog-list-card__body p{max-width:720px;color:#71594f;font-size:1.02rem;line-height:1.65;margin:0 0 26px}
.button--blog{background:transparent;color:var(--coffee);border-color:rgba(75,58,50,.28);padding-inline:22px;min-height:48px}
.button--blog:hover{background:var(--coffee);border-color:var(--coffee);color:#fff;transform:translateY(-2px)}
.pagination--blog{margin-top:56px}
.pagination--blog .page-numbers{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin:0;padding:0}
.pagination--blog .page-numbers li{margin:0}
.pagination--blog a,.pagination--blog span{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 15px;border:1px solid rgba(75,58,50,.18);border-radius:999px;background:transparent;transition:.2s ease}
.pagination--blog a:hover{border-color:var(--terracotta);color:var(--terracotta)}
.pagination--blog .current{background:var(--coffee);border-color:var(--coffee);color:#fff}
.blog-index__empty{display:flex;gap:26px;align-items:center;padding:42px;border:1px solid rgba(75,58,50,.12);border-radius:28px;background:rgba(255,253,250,.55)}
.blog-index__empty>span{flex:0 0 84px;width:84px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:var(--terracotta);color:#fff;font:500 2rem/1 "Fraunces",Georgia,serif}
.blog-index__empty h2{font-size:2.2rem;margin:0 0 8px}.blog-index__empty p{margin:0;color:#71594f}

@media (max-width:820px){
  .blog-list-card{grid-template-columns:220px minmax(0,1fr);gap:26px;padding:20px}
  .blog-list-card__body h2{font-size:clamp(1.8rem,5vw,2.45rem)}
}
@media (max-width:680px){
  .inner-hero--blog{padding-top:145px;padding-bottom:54px}
  .blog-index{padding-top:62px}
  .blog-list{gap:22px}
  .blog-list-card{grid-template-columns:1fr;gap:22px;padding:18px;border-radius:22px}
  .blog-list-card__media{border-radius:17px}
  .blog-list-card__body{padding:0 4px 8px}
  .blog-list-card__body h2{max-width:none;font-size:clamp(2rem,9vw,2.7rem)}
  .blog-list-card__body p{font-size:1rem}
  .button--blog{width:100%}
  .blog-index__empty{align-items:flex-start;flex-direction:column;padding:30px}
}
