/* CSS do modelo-03, prefixado para .m03 */

.m03{--bg:#FFFFFF;
  --bg-2:#F7F6F2;
  --ink:#121311;
  --ink-2:#4B4D47;
  --muted:#6E706A;
  --olive:#5B6B3F;
  --olive-dark:#1E231A;
  --line:#E4E2DA;
  --line-2:#D1CEC3;

  --serif:"Instrument Serif",Georgia,serif;
  --sans:"Inter Tight","Inter Tight Fallback",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;

  --g:1200px;--gutter:clamp(20px,4vw,48px);
  --u:8px;}
.m03{overflow-x:clip;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;letter-spacing:-.005em}
.m03 .g{width:min(var(--g),100% - 2*var(--gutter));margin-inline:auto}
.m03 .mono{font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:500}
.m03 h1,.m03 h2,.m03 h3{font-family:var(--serif);font-weight:400;letter-spacing:-.02em;line-height:1.02}
.m03 h2{font-size:clamp(34px,4.4vw,58px)}
.m03 h3{font-size:clamp(24px,2.3vw,30px);line-height:1.15}
.m03 em{font-style:italic;color:var(--champ-text)}
.m03 .micro{max-width:52ch;line-height:1.6;text-transform:none;letter-spacing:.02em}
.m03 .btn{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;background:var(--champ-btn);color:#fff;text-decoration:none;font-weight:500;font-size:15px;padding:16px 20px;border-radius:6px;transition:background-color .25s,transform .25s}
.m03 .btn:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(199,174,121,.4)}
.m03 .btn__i{display:inline-flex;flex:none;width:1em;height:1em;line-height:1;transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.m03 .btn__i svg{width:100%;height:100%;display:block}
.m03 .btn:hover .btn__i{transform:translateX(4px)}
.m03 .btn--light{background:var(--champ-btn);color:#fff}
.m03 .btn--light:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(199,174,121,.4)}
.m03 .cta{display:flex;flex-direction:column;gap:14px;align-items:flex-start;margin-top:calc(var(--u)*7)}
.m03 .top{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.88);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.m03 .top__in{display:grid;grid-template-columns:1fr auto auto auto;gap:32px;align-items:center;height:60px}
.m03 .top__brand{font-family:var(--serif);font-size:20px;text-decoration:none;letter-spacing:-.01em}
.m03 .top__cta{font-size:13px;font-weight:500;text-decoration:none;display:inline-flex;gap:6px;align-items:center;padding:8px 12px;border:1px solid var(--line-2);border-radius:6px;transition:border-color .25s,background-color .25s}
.m03 .top__cta:hover{border-color:var(--ink);background:var(--bg-2)}
.m03 .hero{padding:calc(var(--u)*5) 0 calc(var(--u)*10);border-bottom:1px solid var(--line)}
.m03 .hero__meta{display:flex;justify-content:space-between;gap:16px;padding-bottom:calc(var(--u)*2);border-bottom:1px solid var(--line);margin-bottom:calc(var(--u)*4)}
.m03 .hero__h{font-size:clamp(38px,min(6.4vw,7.2vh),88px);max-width:20ch;margin-bottom:calc(var(--u)*5)}
.m03 .hero__row{display:grid;grid-template-columns:5fr 7fr;gap:clamp(24px,4vw,64px);align-items:start}
.m03 .hero__txt{display:flex;flex-direction:column;gap:18px}
.m03 .hero__txt>p:first-child{color:var(--ink-2);font-size:clamp(16px,1.2vw,18px)}
.m03 .hero__fig{position:relative}
.m03 .hero__fig img{aspect-ratio:16/10;max-height:calc(100vh - 380px);width:100%;object-fit:cover;object-position:50% 12%;border-radius:8px;filter:saturate(.35) contrast(1.02);transition:filter .8s ease}
.m03 .hero__fig:hover img{filter:saturate(1)}
.m03 .hero__fig figcaption{position:absolute;left:14px;bottom:12px;background:rgba(255,255,255,.9);padding:6px 10px;border-radius:4px;color:var(--ink)}
.m03 .sec{padding:calc(var(--u)*14) 0;border-bottom:0}
.m03 .sec__h{display:grid;grid-template-columns:3fr 9fr;gap:24px;margin-bottom:calc(var(--u)*7);align-items:start}
.m03 .sec__h .mono{padding-top:10px}
.m03 .sec__h h2{grid-column:2}
.m03 .sec__h p{grid-column:2;color:var(--ink-2);max-width:66ch;margin-top:6px;font-size:clamp(16px,1.2vw,18px)}
.m03 .sec__h--wide h2{max-width:none}
.m03 .cells{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.m03 .cells li{padding:28px 26px 32px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:22px;min-height:230px;transition:background-color .3s}
.m03 .cells li:hover{background:var(--bg-2)}
.m03 .cells p{color:var(--ink-2)}
.m03 .cells strong{font-family:var(--serif);font-weight:400;font-size:26px;line-height:1.05;color:var(--ink);letter-spacing:-.02em}
.m03 .comp{margin-top:calc(var(--u)*12);display:grid;grid-template-columns:3fr 9fr;gap:24px}
.m03 .comp h3{grid-column:1;font-size:clamp(22px,2vw,28px);max-width:14ch}
.m03 .tbl{grid-column:2}
.m03 .tbl th{text-align:left;font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;font-weight:500;padding:0 20px 14px 0;border-bottom:1px solid var(--ink)}
.m03 .tbl th:last-child{color:var(--champ-text)}
.m03 .tbl td{vertical-align:top;padding:18px 20px 18px 0;border-bottom:1px solid var(--line);width:50%;color:var(--ink-2)}
.m03 .tbl td:last-child{color:var(--ink);font-weight:500}
.m03 .tri{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-left:1px solid var(--line)}
.m03 .tri article{padding:0 28px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:18px}
.m03 .tri article:last-child{border-right:0}
.m03 .tri h3{font-style:italic}
.m03 .tri p{color:var(--ink-2)}
.m03 .sec--dark{background:var(--olive-dark);color:#fff;border-bottom:0}
.m03 .sec--dark .mono{color:rgba(255,255,255,.55)}
.m03 .flow{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.14)}
.m03 .flow li{padding:32px 28px 40px 0;border-right:1px solid rgba(255,255,255,.14);display:flex;flex-direction:column;gap:16px}
.m03 .flow li:not(:first-child){padding-left:28px}
.m03 .flow li:last-child{border-right:0}
.m03 .flow__n{color:#fff;font-size:13px;display:inline-grid;place-items:center;width:32px;height:32px;border:1px solid rgba(255,255,255,.3);border-radius:50%}
.m03 .flow p{color:rgba(255,255,255,.72)}
/* Processo: flow em fundo claro */
.m03 #processo{background:#F7F6F2}
.m03 #processo .flow{border-top-color:var(--line)}
.m03 #processo .flow li{border-right-color:var(--line)}
.m03 #processo .flow__n{color:var(--ink);border-color:var(--line-2)}
.m03 #processo .flow h3{color:var(--ink)}
.m03 #processo .flow p{color:var(--ink-2)}
.m03 .note{display:grid;grid-template-columns:3fr 9fr;gap:24px;border-top:1px solid rgba(255,255,255,.14);padding-top:28px;margin-top:8px}
.m03 .note .mono{padding-top:6px}
.m03 .note p{font-family:var(--serif);font-size:clamp(20px,1.8vw,26px);line-height:1.35;max-width:38ch}
.m03 .sec--dark .cta{margin-left:25%}
.m03 .quem{display:grid;grid-template-columns:1fr 1.5fr;gap:clamp(24px,3vw,48px)}
.m03 .quem__h{display:none}
.m03 #quem{border-top:1px solid var(--line)}
.m03 .quem__label{margin-bottom:calc(var(--u)*2);padding-top:6px}

/* Manifesto */
.m03 .sec--manifesto{background:var(--bg-2);border-bottom:1px solid var(--line)}
.m03 .manifesto__quote{font-family:var(--serif);font-size:clamp(24px,3.2vw,42px);line-height:1.2;font-weight:400;letter-spacing:-.02em;color:var(--ink);max-width:22ch;margin-inline:auto}
.m03 .manifesto__sub{font-size:clamp(16px,1.3vw,18px);color:var(--ink-2);margin-top:calc(var(--u)*3);max-width:42ch;margin-inline:auto}
.m03 .quem__side{grid-column:1;grid-row:1/-1;position:sticky;top:calc(var(--u)*8);align-self:start}
.m03 .quem__fig{}
.m03 .quem__fig img{aspect-ratio:3/4;object-fit:cover;object-position:50% 15%;border-radius:8px;filter:saturate(.35);transition:filter .8s}
.m03 .quem__fig:hover img{filter:saturate(1)}
.m03 .quem__txt{grid-column:2;grid-row:1/-1;display:flex;flex-direction:column;gap:28px;padding-top:0}
.m03 .quem__txt h2{margin:0}
.m03 .quem__txt{padding-top:38px}
.m03 .quem__txt>p{color:var(--ink-2);max-width:62ch}
.m03 .quem__block{display:flex;flex-direction:column;gap:14px}
.m03 .quem__block p{color:var(--ink-2);max-width:62ch}
.m03 .quem__txt blockquote{margin:0;padding:0}
.m03 .quem__txt blockquote p{font-family:var(--serif);font-size:clamp(20px,1.9vw,27px);line-height:1.35;letter-spacing:-.01em;max-width:62ch}
.m03 .depo{grid-column:1/-1;margin-top:calc(var(--u)*8);padding-top:calc(var(--u)*4);border-top:1px solid var(--line);display:grid;grid-template-columns:3fr 9fr;gap:24px}
.m03 .depo .mono{padding-top:8px}
.m03 .depo blockquote p{font-size:clamp(18px,1.5vw,22px);color:var(--ink);max-width:62ch;line-height:1.5}
.m03 .quem__cta{grid-column:1/-1;margin-top:calc(var(--u)*6)}
.m03 .faq{display:grid;grid-template-columns:3fr 9fr;gap:24px}
.m03 .faq__h{grid-column:1;display:block;margin:0}
.m03 .faq__list{grid-column:2;border-top:1px solid var(--ink)}
.m03 .faq details{border-bottom:1px solid var(--line)}
.m03 .faq summary{display:grid;grid-template-columns:48px 1fr 24px;align-items:center;gap:12px;padding:20px 0;font-size:clamp(17px,1.4vw,20px);font-weight:500;letter-spacing:-.01em}
.m03 .faq summary i{width:16px;height:16px;position:relative;justify-self:end}
.m03 .faq summary i::before,.m03 .faq summary i::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--ink);transition:transform .3s}
.m03 .faq summary i::before{width:16px;height:1px}
.m03 .faq summary i::after{width:1px;height:16px}
.m03 .faq details[open] summary i::after{transform:translate(-50%,-50%) rotate(90deg)}
.m03 .faq details p{padding:0 0 24px 60px;color:var(--ink-2);max-width:66ch}
.m03 #fim.sec--end{background:#F7F6F2 !important;border-bottom:0}
.m03 #fim .btn{background:var(--champ-btn);color:#fff}
.m03 #fim .btn:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(199,174,121,.4)}
.m03 .end{display:grid;grid-template-columns:3fr 9fr;gap:24px}
.m03 .end .mono{padding-top:12px}
.m03 .end h2{grid-column:2;max-width:16ch}
.m03 .end__txt{grid-column:2;display:flex;flex-direction:column;gap:14px;max-width:62ch;color:var(--ink-2);font-size:clamp(16px,1.2vw,18px);margin-top:12px}
.m03 .end .cta{grid-column:2}
.m03 .ftr{padding:28px 0 max(28px,env(safe-area-inset-bottom,0px));border-top:0}
.m03 .ftr__in{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;text-align:center}
@media (max-width:1024px){
.m03 .hero__row{grid-template-columns:1fr}
.m03 .cells{grid-template-columns:repeat(2,1fr)}
.m03 .comp{grid-template-columns:1fr}
.m03 .comp h3{max-width:none}
.m03 .tri{grid-template-columns:1fr;border-left:0}
.m03 .tri article{border-right:0;padding:24px 0;border-top:1px solid var(--line)}
.m03 .flow{grid-template-columns:1fr}
.m03 .flow li{border-right:0;border-bottom:1px solid rgba(255,255,255,.14);padding-left:0!important}
.m03 .sec--dark .cta{margin-left:0}
.m03 .quem{grid-template-columns:1fr 1fr}
.m03 .quem__fig{grid-column:1}
.m03 .quem__txt{grid-column:2}
}

@media (max-width:720px){
.m03 .top__in{grid-template-columns:1fr auto;gap:16px}
.m03 .top__meta{display:none}
.m03 .hero{padding:40px 0 56px}
.m03 .hero__meta span:nth-child(2){display:none}
.m03 .hero__h{font-size:clamp(34px,10vw,48px);max-width:none}
.m03 .hero__fig img{aspect-ratio:4/3}
.m03 .sec{padding:64px 0}
.m03 .g,.m03 .sec__h,.m03 .end,.m03 .quem__txt,.m03 .quem__label,.m03 .quem__cred,.m03 .quem__pills,.m03 .cta,.m03 .lead-out,.m03 .metodo-split__left,.m03 .metodo-split__right,.m03 .cycle__explain,.m03 .manifesto__quote,.m03 .manifesto__sub{text-align:center}
.m03 .cta{align-items:center}
.m03 .flow li{align-items:center;text-align:center}
.m03 .quem__pills{justify-content:center}
.m03 .sec__h h2,.m03 .sec__h p,.m03 .lead-out{margin-inline:auto}
.m03 .sec__h,.m03 .comp,.m03 .note,.m03 .depo,.m03 .faq,.m03 .end{grid-template-columns:1fr;gap:12px}
.m03 .sec__h h2,.m03 .sec__h p,.m03 .tbl,.m03 .end h2,.m03 .end__txt,.m03 .end .cta,.m03 .faq__list{grid-column:1}
.m03 .cells{grid-template-columns:1fr}
.m03 .cells li{min-height:0;gap:14px;padding:22px 18px 26px}
.m03 .cells strong{font-size:23px}
.m03 .tbl thead{display:none}
.m03 .tbl tr{display:block;border-bottom:1px solid var(--line);padding:14px 0}
.m03 .tbl td{display:block;width:100%;border:0;padding:6px 0}
.m03 .tbl td::before{content:attr(data-h);display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
.m03 .tbl td:last-child::before{color:var(--champ-text)}
.m03 .quem{grid-template-columns:1fr}
.m03 .quem__side{position:static;grid-column:1;grid-row:auto;align-items:center}
.m03 .quem__fig,.m03 .quem__txt{grid-column:1;grid-row:auto}
.m03 .quem__fig{max-width:360px;margin-inline:auto}
.m03 .faq__h{margin-bottom:16px}
.m03 .faq summary{grid-template-columns:36px 1fr 20px;font-size:17px;padding:16px 0}
.m03 .faq details p{padding-left:48px}
.m03 .btn{width:100%;font-size:clamp(12px,3.4vw,14px);text-align:left;white-space:nowrap}
.m03 .cta{align-items:stretch}
.m03 .ftr__in{flex-direction:column;gap:8px}
}

.m03 .wrap>*,.m03 [class*="__grid"]>*,.m03 .quem>*,.m03 .split__grid>*,.m03 .metodo-split>*{min-width:0}
.m03{--serif:"Inter Tight","Inter Tight Fallback",var(--sans)}
.m03 h1,.m03 h2,.m03 h3{font-weight:500;letter-spacing:-.03em}
.m03 .tri h3,.m03 .quem__txt blockquote p,.m03 .note p,.m03 .depo blockquote p{font-style:normal}
.m03 .cells strong{font-weight:500}
.m03 em{font-style:normal;color:var(--champ-text)}
.m03 .hero{min-height:100svh;display:flex;flex-direction:column;position:relative;padding:calc(var(--u)*4) 0 calc(var(--u)*8)}
.m03 .hero>.g{flex:1;display:flex;flex-direction:column}
.m03 .hero__brand{display:block;color:var(--ink);font-weight:600;padding-bottom:calc(var(--u)*2);border-bottom:1px solid var(--line);margin-bottom:calc(var(--u)*4)}
.m03 .hero__row{flex:1;align-items:stretch;min-height:320px}
.m03 .hero__txt{justify-content:flex-end;padding-bottom:12px}
.m03 .hero__fig{position:relative;min-height:320px}
.m03 .hero__fig img{position:absolute;inset:0;width:100%;height:100%;max-height:none;aspect-ratio:auto;object-fit:cover;object-position:50% 15%}
.m03 .hero__tag{position:absolute;right:16px;bottom:16px;left:auto;background:#fff;border-radius:8px;padding:12px 16px;display:flex;flex-direction:column;line-height:1.25;box-shadow:0 10px 30px -12px rgba(0,0,0,.25)}
.m03 .hero__tag strong{font-weight:600;font-size:17px;letter-spacing:-.02em}
.m03 .hero__tag span{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--muted);text-transform:uppercase}
.m03 .scroll-hint{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);display:block;opacity:.8}
.m03 .scroll-hint__mouse{display:block;width:24px;height:40px;border:1.5px solid var(--ink);border-radius:13px;position:relative}
.m03 .scroll-hint__wheel{position:absolute;left:50%;top:7px;width:3px;height:8px;margin-left:-1.5px;border-radius:2px;background:var(--ink);animation:wheel 1.8s ease-in-out infinite}
.m03 @keyframes wheel{0%{transform:translateY(0);opacity:1}70%{transform:translateY(14px);opacity:0}100%{transform:translateY(0);opacity:0}} @media (prefers-reduced-motion:reduce){.scroll-hint__wheel{animation:none}}
.m03 .cells{border:0;gap:12px}
.m03 .cells li{border:0;background:var(--bg-2);border-radius:8px}
.m03 .cells li:hover{background:#EFEDE6}
.m03 .quem__cred{margin-top:12px;color:var(--ink)}
.m03 .quem__side{display:flex;flex-direction:column;gap:16px}
.m03 .quem__pills{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.m03 .quem__pills li{display:inline-flex;align-items:center;gap:8px;background:var(--bg-2);border-radius:999px;padding:8px 16px;font-size:13px;color:var(--ink);white-space:nowrap}
.m03 .quem__pills li svg{flex-shrink:0;color:#C7AE79}
.m03 .quem__pills strong{font-weight:600}
.m03 .quem__pills span{color:var(--muted);font-weight:400}
.m03 .quem__facts{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:12px 24px}
.m03 .quem__facts li{display:flex;flex-direction:column;line-height:1.3}
.m03 .quem__facts strong{font-weight:600;font-size:15px;color:var(--ink)}
.m03 .quem__facts span{font-size:13px;color:var(--muted)}
.m03 .quem__ref{margin-top:8px;font-size:12px;color:var(--muted)}
@media (max-width:720px){
.m03 .hero{min-height:0;display:block;padding:24px 0 48px}
.m03 .hero__row{display:flex;flex-direction:column;min-height:0}
.m03 .hero__fig{min-height:0;order:2;margin-top:24px}
.m03 .hero__fig img{position:static;aspect-ratio:4/5;height:auto}
.m03 .hero__tag{right:12px;bottom:12px;padding:10px 12px}
.m03 .hero__tag strong{font-size:15px}
.m03 .scroll-hint{display:none}
}

@media (min-width:721px){
.m03 .hero__row{align-items:end}
.m03 .hero__fig{aspect-ratio:4/5;height:calc(100svh - 300px);min-height:360px;max-height:760px;width:auto;max-width:100%;justify-self:end}
.m03 .hero__fig img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 12%}
}

.m03 .sec__h,.m03 .faq,.m03 .end,.m03 .comp,.m03 .note,.m03 .depo{grid-template-columns:1fr}
.m03 .sec__h h2,.m03 .sec__h p,.m03 .tbl,.m03 .faq__list,.m03 .end h2,.m03 .end__txt,.m03 .end .cta,.m03 .note p,.m03 .depo blockquote{grid-column:1}
.m03 .comp h3{max-width:none;margin-bottom:8px}
.m03 .sec--dark .cta{margin-left:0}
.m03 .faq__h{display:none}
.m03 .hero__fig img,.m03 .hero__fig:hover img{filter:none;transition:none}
@media (min-width:721px){
.m03 .hero__fig{height:100%;min-height:320px;max-height:none}
}

@media (min-width:721px){
.m03 .hero__row{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:end;gap:clamp(32px,5vw,80px)}
.m03 .hero__txt{justify-content:flex-end;gap:18px}
.m03 .hero__h{font-size:clamp(34px,min(4.4vw,6.4vh),64px);max-width:none;margin-bottom:6px}
.m03 .hero__fig{height:100%;min-height:360px;width:auto;justify-self:end}
}

@media (min-width:721px) and (max-width:1024px){
.m03 .hero__row{grid-template-columns:1fr 1fr}
}

.m03 .hero__fig .hero__tag{left:auto;right:16px;bottom:16px;background:#fff}
@media (min-width:721px){
.m03 .hero>.g{flex:1;display:flex;flex-direction:column;justify-content:center}
.m03 .hero__row{flex:0 0 auto;align-items:stretch;min-height:0}
.m03 .hero__txt{justify-content:flex-end;padding-bottom:0}
.m03 .hero__fig{height:auto;align-self:stretch;min-height:0;aspect-ratio:auto;width:min(100%,calc((100svh - 220px) * .8));justify-self:end}
.m03 .hero__fig img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 12%}
}

@media (min-width:721px){
.m03 .hero{padding:calc(var(--u)*3) 0 calc(var(--u)*9)}
.m03 .hero__brand{margin-bottom:calc(var(--u)*3)}
.m03 .hero__txt{gap:clamp(16px,2.6vh,28px)}
.m03 .hero__h{font-size:clamp(36px,min(4.9vw,8.2vh),86px);line-height:1;margin-bottom:4px}
.m03 .hero__txt>p:first-of-type{font-size:clamp(16px,2vh,20px);line-height:1.55}
.m03 .hero .btn{padding:clamp(16px,2.2vh,22px) 22px;font-size:clamp(15px,1.8vh,17px)}
.m03 .hero .micro{font-size:clamp(11.5px,1.4vh,13px)}
}

.m03 .hero__brand{font-family:"Allura","Brush Script MT",cursive;font-size:clamp(30px,3.4vh,38px);font-weight:400;letter-spacing:0;text-transform:none;color:var(--ink);line-height:1;padding-bottom:12px}
.m03 .hero__brand{font-size:clamp(22px,2.6vh,28px)}
.m03 .hero__brand{font-family:"Ms Madi","Brush Script MT",cursive;font-size:clamp(24px,2.9vh,32px)}
.m03 .cells li{align-items:center;text-align:center;gap:16px}
.m03 .ico{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#fff;color:#C7AE79;border:1px solid var(--line)}
.m03 .ico svg{width:26px;height:26px}
@media (max-width:720px){
.m03 .hero__brand{text-align:center}
.m03 .hero__txt{align-items:center;text-align:center}
.m03 .hero__h{text-align:center}
.m03 .hero .btn{justify-content:center;text-align:center}
.m03 .hero .micro{margin-inline:auto;text-align:center}
}

.m03 .ico{background:none;border:0;width:auto;height:auto}
.m03 .ico svg{width:32px;height:32px}
.m03 .quem__fig img,.m03 .quem__fig:hover img{filter:none;transition:none}
.m03 .cells strong{display:block;margin-bottom:8px}

/* isolamento: neutraliza regras de elemento herdadas do modelo-05 */
.m03{display:contents}
.m03 h1,.m03 h2,.m03 h3,.m03 h4,.m03 h5,.m03 h6{color:inherit;font-family:var(--serif);font-variation-settings:normal}
.m03 h1,.m03 h2,.m03 h3{font-weight:500;letter-spacing:-.03em;line-height:1.02}
.m03 h2{font-size:clamp(34px,4.4vw,58px)}
.m03 h3{font-size:clamp(24px,2.3vw,30px);line-height:1.15}
.m03 h1 em,.m03 h2 em{font-style:italic;font-weight:400;color:inherit}
.m03 .sec{color:var(--ink);background:var(--bg);font-family:var(--sans);font-size:16px;line-height:1.55}
.m03 .sec--dark{background:var(--olive-dark);color:#fff}
.m03 .sec--dark h1,.m03 .sec--dark h2,.m03 .sec--dark h3{color:#fff}
.m03 .ftr{color:var(--ink-2);background:var(--bg)}
.m03 .ftr__logo{width:40px;height:40px;flex-shrink:0}
.m03 .ftr__info{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:center}
.m03 .ftr__info span{white-space:nowrap}
.m03 .ftr__social{display:flex;gap:12px;align-items:center}
.m03 .ftr__social a{color:var(--ink-2);transition:color .25s}
.m03 .ftr__social a:hover{color:var(--ink)}

/* FAQ: replica o modelo-03 e anula o marcador do modelo-05 */
.m03 .faq summary::after,.m03 .faq summary::before{content:none;display:none}
.m03 .faq details{border-bottom:1px solid var(--line)}
.m03 .faq summary{display:grid;grid-template-columns:48px 1fr 24px;align-items:center;justify-content:normal;gap:12px;padding:20px 0;font-family:var(--sans);font-size:clamp(17px,1.4vw,20px);font-weight:500;letter-spacing:-.01em;line-height:1.35;color:var(--ink)}
.m03 .faq details p{padding:0 0 24px 60px;font-size:16px;color:var(--ink-2);max-width:66ch}
@media (max-width:720px){
  .m03 .faq summary{grid-template-columns:36px 1fr 20px;font-size:17px;padding:16px 0}
  .m03 .faq details p{padding-left:48px}
}

/* Ciclo — Desorganização Fisiológica Silenciosa */
.m03 .cycle{margin-bottom:calc(var(--u)*7);padding:calc(var(--u)*5) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.m03 .cycle__title{font-size:clamp(18px,1.6vw,22px);font-weight:500;letter-spacing:-.02em;margin-bottom:calc(var(--u)*4);color:var(--ink)}
@keyframes cycle-scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.m03 .cycle__marquee{overflow:hidden;width:100%;mask-image:linear-gradient(to right,transparent 0%,#000 6%,#000 94%,transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 6%,#000 94%,transparent 100%)}
.m03 .cycle__track{display:flex;gap:12px;width:max-content;list-style:none;padding:0;margin:0;animation:cycle-scroll 20s linear infinite}
@media(prefers-reduced-motion:reduce){.m03 .cycle__track{animation:none;flex-wrap:wrap;width:auto}.m03 .cycle__marquee{width:auto;margin-left:0;mask-image:none;-webkit-mask-image:none}}
.m03 .cycle__track li{display:flex;align-items:center;gap:10px;background:var(--bg-2);border-radius:6px;padding:14px 18px;font-size:15px;font-weight:500;color:var(--ink);min-width:170px;height:56px;flex-shrink:0;white-space:nowrap}
.m03 .cycle__track li::after{content:"→";margin-left:auto;color:var(--muted);font-size:14px}
.m03 .cycle__n{display:none}
.m03 .cycle__ico{width:20px;height:20px;flex-shrink:0;color:#C7AE79}
.m03 .cycle__explain{max-width:66ch;margin-bottom:calc(var(--u)*7);color:var(--ink-2)}
.m03 .cycle__explain p{margin-bottom:14px}
.m03 .cycle__explain strong{color:var(--ink)}

/* Metodo split: texto esquerda + paths direita */
.m03 .metodo-split{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(32px,5vw,64px);align-items:center}
.m03 .metodo-split__left{display:flex;flex-direction:column;gap:16px;text-align:left}
.m03 .metodo-split__right{display:flex;flex-direction:column;gap:20px;align-items:flex-end;text-align:right}
.m03 .metodo-split__right .paths__visual{width:100%}
.m03 .metodo-split__right .lead-out{max-width:28ch}
@media (max-width:720px){.m03 .metodo-split{grid-template-columns:1fr;gap:24px}.m03 .metodo-split__right{align-items:center;text-align:center}}
.m03 .paths__visual{width:clamp(200px,40%,360px);margin:12px 0 0}
.m03 .paths__svg{width:100%;height:auto;color:#C7AE79}
.m03 .lead-out{font-family:var(--serif);font-size:clamp(20px,1.8vw,26px);line-height:1.35;font-weight:400}
@media (max-width:720px){.m03 .split{grid-template-columns:1fr;gap:32px}.m03 .split__right{text-align:center}.m03 .paths__visual{margin-inline:auto;width:220px}}

/* tri com 4 colunas no diagnóstico */
.m03 #diagnostico .tri{grid-template-columns:repeat(4,1fr)}
@media (max-width:1024px){.m03 #diagnostico .tri{grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line)}.m03 #diagnostico .tri article{border-top:1px solid var(--line);padding:24px 0}}
@media (max-width:720px){.m03 #diagnostico .tri{grid-template-columns:1fr}}

/* fonte única: o bloco importado usa a mesma do resto do site */
.m03{--sans:"Manrope","Manrope Fallback",system-ui,-apple-system,"Segoe UI",sans-serif;--serif:var(--sans);--mono:var(--sans)}
.m03 .mono,.m03 code,.m03 kbd{font-family:var(--sans);letter-spacing:.08em}

/* parágrafos consecutivos: espaço menor que o gap do grid da seção */
.m03 .sec__h p + p,.m03 .end__txt p + p,.m03 .note p + p{margin-top:-8px}

/* frase de arremate antes do CTA */
.m03 .lead-out{grid-column:2;margin:8px 0 4px;font-size:clamp(20px,1.9vw,26px);line-height:1.35;letter-spacing:-.01em;font-weight:500;color:inherit;max-width:24ch}
@media (max-width:1024px){.m03 .lead-out{grid-column:1;max-width:none}}

/* seção Método: fundo e texto iguais aos da hero, tudo centralizado */
.m03 #metodo{background:#F7F6F2;color:#1D211B;border:0}
.m03 #metodo h1,.m03 #metodo h2,.m03 #metodo h3{color:#1D211B}
.m03 #metodo p{color:#4A423A}
.m03 #metodo .mono{color:rgba(29,33,27,.55)}
.m03 #metodo .g{display:block;text-align:left}
.m03 #metodo .sec__h{display:block;text-align:left}
.m03 #metodo .sec__h h2{max-width:22ch}
.m03 #metodo .sec__h p{max-width:64ch}
.m03 #metodo .lead-out{max-width:34ch;margin:28px 0 0;text-align:left}
.m03 #metodo .cta{margin:28px 0 0;display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.m03 #metodo .cta .micro{max-width:56ch;text-align:left}
.m03 #metodo .btn--light{background:var(--champ-btn);color:#fff}
.m03 #metodo .sec__h h2{margin-bottom:26px}
.m03 #metodo .sec__h p + p{margin-top:16px}
.m03 #metodo .h2--sub{font-size:clamp(20px,1.8vw,26px);line-height:1.35;max-width:38ch;margin:0 0 22px;font-weight:400}

/* título do FAQ visível, acima da lista */
.m03 .faq__h{display:block;grid-column:1 / -1;margin-bottom:28px}
.m03 .faq__h h2{max-width:26ch}

/* FAQ: título à esquerda, lista à direita (layout da referência) */
.m03 .faq{display:grid;grid-template-columns:4fr 8fr;gap:clamp(24px,4vw,64px);align-items:start}
.m03 .faq__h{display:block;grid-column:1;margin:0;position:sticky;top:32px}
.m03 .faq__h h2{max-width:14ch;font-size:clamp(30px,3.1vw,44px);line-height:1.08}
.m03 .faq__h h2 em{font-style:normal;color:var(--champ-text)}
.m03 .faq__ticks{display:block;margin-top:22px;width:160px;height:12px;
  background:repeating-linear-gradient(90deg,#B08D57 0 1px,transparent 1px 12px)}
.m03 .faq__list{grid-column:2;border-top:1px solid var(--line)}

/* sinal de abrir dentro de um círculo */
.m03 .faq summary{grid-template-columns:48px 1fr 34px;gap:16px}
.m03 .faq summary i{width:34px;height:34px;border:1px solid rgba(30,26,22,.18);border-radius:50%;
  display:grid;place-items:center;transition:border-color .25s ease,background-color .25s ease}
.m03 .faq summary:hover i{border-color:var(--champ-text)}
.m03 .faq summary i::before{width:12px;height:1px;background:currentColor}
.m03 .faq summary i::after{width:1px;height:12px;background:currentColor}

/* item aberto: pergunta e ícone em dourado, sinal vira × */
.m03 .faq details[open] summary{color:var(--champ-text)}
.m03 .faq details[open] summary i{border-color:var(--champ-text);color:var(--champ-text)}
.m03 .faq details[open] summary i::before{transform:translate(-50%,-50%) rotate(45deg)}
.m03 .faq details[open] summary i::after{transform:translate(-50%,-50%) rotate(45deg)}
.m03 .faq details p{padding-left:64px}

@media (max-width:900px){
  .m03 .faq{grid-template-columns:1fr}
  .m03 .faq__h{grid-column:1;position:static;margin-bottom:24px}
  .m03 .faq__h h2{max-width:none}
  .m03 .faq__list{grid-column:1}
  .m03 .faq details p{padding-left:48px}
}

/* fechamento centralizado */
.m03 #fim .g,.m03 #fim .end{display:block;text-align:center}
.m03 #fim h2{max-width:22ch;margin:0 auto 26px}
.m03 #fim .end__txt{max-width:62ch;margin-inline:auto}
.m03 #fim .end__txt p + p{margin-top:16px}
.m03 #fim .cta{margin:32px auto 0;display:flex;flex-direction:column;align-items:center;gap:12px}
.m03 #fim .cta .micro{max-width:60ch;margin-inline:auto;text-align:center}

/* nome do médico na bio: sempre em uma linha */
.m03 #quem .sec__h h2{max-width:none;white-space:nowrap;font-size:clamp(24px,3.4vw,48px)}
@media (max-width:560px){.m03 #quem .sec__h h2{font-size:clamp(19px,5.4vw,26px)}}
.m03 #quem h2,.m03 #processo h2{max-width:none;white-space:nowrap}
.m03 #quem h2{font-size:clamp(22px,3.3vw,46px)}
.m03 #processo h2{font-size:clamp(18px,2.9vw,42px)}
@media (max-width:640px){
  .m03 #quem h2{font-size:clamp(17px,5vw,24px)}
  .m03 #processo h2{font-size:clamp(14px,4.3vw,21px)}
}

/* ============================================================
   MOBILE: Fechamento, rodapé e FAB (≤900px)
   ============================================================ */
@media (max-width:900px){

  /* --- Fechamento: hierarquia de conclusão --- */
  .m03 #fim.sec--end{
    padding:clamp(56px,12vw,80px) 0 clamp(48px,10vw,72px);
    background:linear-gradient(180deg,#F7F6F2 0%,#F0EDE6 100%)
  }

  .m03 #fim h2{
    font-size:clamp(26px,6.8vw,36px);
    line-height:1.06;
    letter-spacing:-.03em;
    max-width:18ch;
    margin:0 auto clamp(20px,5vw,32px)
  }

  .m03 #fim .end__txt{
    max-width:36ch;
    font-size:clamp(15px,3.8vw,17px);
    line-height:1.6;
    color:var(--ink-2)
  }
  .m03 #fim .end__txt p + p{margin-top:20px}

  /* --- CTA: presença dominante --- */
  .m03 #fim .cta{
    margin:clamp(28px,7vw,40px) auto 0;
    gap:16px;
    max-width:340px
  }

  .m03 #fim .btn{
    width:100%;
    padding:16px 20px;
    font-size:clamp(13px,3.6vw,15px);
    font-weight:600;
    border-radius:999px;
    letter-spacing:-.01em;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    min-height:52px;
    white-space:nowrap;
    box-shadow:0 8px 24px -8px rgba(139,115,64,.35)
  }

  .m03 #fim .btn .btn__i{
    width:20px;height:20px;
    opacity:.7;
    transition:transform .3s cubic-bezier(.22,1,.36,1),opacity .3s
  }
  .m03 #fim .btn:active .btn__i{transform:translateX(4px);opacity:1}

  /* microcopy: discreta, elegante */
  .m03 #fim .cta .micro{
    font-size:12px;
    line-height:1.5;
    letter-spacing:.04em;
    color:var(--muted);
    max-width:32ch;
    text-align:center
  }

  /* --- Transição fechamento → rodapé --- */
  .m03 .ftr{
    position:relative;
    padding:clamp(24px,6vw,36px) 0 max(24px,env(safe-area-inset-bottom,0px));
    background:var(--bg)
  }
  .m03 .ftr::before{
    content:"";
    position:absolute;
    top:0;left:50%;
    transform:translateX(-50%);
    width:min(80px,20vw);
    height:1px;
    background:linear-gradient(90deg,transparent,var(--line-2),transparent)
  }

  /* rodapé: legibilidade e hierarquia profissional */
  .m03 .ftr__in{
    flex-direction:column;
    gap:6px;
    align-items:center;
    padding:0 var(--gutter)
  }
  .m03 .ftr__info{
    font-size:12.5px;
    letter-spacing:.03em;
    line-height:1.7;
    color:var(--muted);
    text-align:center;
    display:flex;
    flex-direction:column;
    gap:2px
  }
}

/* FAB mobile: integrado à composição */
@media (max-width:900px){
  .fab{
    width:50px;height:50px;
    right:16px;
    bottom:max(16px,env(safe-area-inset-bottom,16px));
    box-shadow:0 6px 18px -4px rgba(139,115,64,.3);
    opacity:0
  }
  .fab svg{width:23px;height:23px}
  .fab.is-on{opacity:.92}
}

/* ── Seção #metodo: refinamento mobile ── */
@media (max-width:720px){
  .m03 #metodo{padding:48px 0 56px}
  .m03 #metodo .g{text-align:center !important}
  .m03 #metodo .sec__h{text-align:center !important}
  .m03 #metodo .lead-out{text-align:center !important;margin-inline:auto !important}
  .m03 #metodo .cta{align-items:center !important}
  .m03 #metodo .cta .micro{text-align:center !important}

  /* split → coluna única */
  .m03 .metodo-split{grid-template-columns:1fr !important;gap:0 !important}
  .m03 .metodo-split__left{gap:12px;text-align:center !important}
  .m03 .metodo-split__left h2,.m03 .metodo-split__left p{word-wrap:break-word;overflow-wrap:break-word;max-width:100%}
  .m03 .metodo-split__right{gap:0;text-align:center;align-items:center}
  .m03 #metodo{overflow-x:hidden}
  .m03 .metodo-split__right .paths__visual{margin-inline:auto}

  /* título: impacto sem corte */
  .m03 #metodo h2{font-size:clamp(26px,7vw,34px);line-height:1.08;margin-bottom:10px}

  /* sub: narrativa contínua */
  .m03 #metodo .h2--sub{font-size:clamp(15px,4vw,17px);line-height:1.55;margin:0 0 14px;max-width:none;font-weight:400;color:#4A423A}

  /* parágrafo: leve, compacto */
  .m03 #metodo .sec__h p{font-size:14.5px;line-height:1.6;margin-top:0;color:#5A544C}

  /* frase destaque: conclusão visual */
  .m03 #metodo .lead-out{
    font-size:clamp(17px,4.5vw,20px);
    line-height:1.3;font-weight:500;
    margin:20px 0 0;max-width:none;
    color:#1D211B;
    padding-top:16px;
    border-top:1px solid rgba(29,33,27,.08)}

  /* gráfico: compacto, integrado à frase */
  .m03 .metodo-split__right .paths__visual{
    width:70%;max-width:240px;
    margin:12px 0 0;opacity:.7}

  /* CTA: dentro do container */
  .m03 #metodo .cta{
    margin:24px 0 0 !important;
    align-items:center !important;gap:10px;
    padding-inline:var(--gutter)}
  .m03 #metodo .btn,
  .m03 #metodo .btn--light{
    width:auto;max-width:100%;justify-content:center;
    padding:14px 20px;font-size:clamp(13px,3.6vw,15px);
    min-height:52px;border-radius:999px;white-space:nowrap}

  /* micro: subordinada */
  .m03 #metodo .cta .micro{
    font-size:12px;text-align:center;
    max-width:none;opacity:.75;margin-top:2px}
}
