/* Reconstrução local para revisão visual. Arte e fotografias são do acervo capturado. */
:root { --dv-cream:#f0e8d6; --dv-forest:#202b1f; --dv-gold:#b99559; }
html { scroll-behavior:smooth; }
body { overflow-x:clip; }
.kick,.lbl,.tag,.nt-eye,.nt-p-eye,.page-hero .kick { font-size:max(12px,.78rem); line-height:1.4; }
.cap-acc,.pl,.step-plate figcaption,.filmstrip figcaption { font-size:max(12px,.76rem); }
.page-hero-sub,.prod-text p,.step-text p,.studio-reg-head p { line-height:1.55; }

/* Recortes da arte atravessam a borda; o texto ocupa uma área própria. */
.btn {
  
  min-height:66px; min-width:152px; padding:12px 22px 12px 82px;
  display:inline-flex; align-items:center; justify-content:center; gap:0;
  position:relative; border:1px solid var(--dv-gold); border-radius:2px 25px 2px 2px;
  background:#eee2c9; color:#211e17;
  font-size:13px; line-height:1.3; letter-spacing:.09em;
  animation:none!important; box-shadow:0 3px 8px #18211618;
  transition:transform .22s ease,box-shadow .22s ease,background .22s ease,color .22s ease;
}
.btn::after { content:none; }
.btn img.pen,.btn img.seal-pena { display:none; }
.btn.light { background:#223021; color:#f4e9d5; }
.btn:hover,.btn:active { transform:translateY(-2px); box-shadow:0 5px 12px #18211630; background:#30412d; color:#fff1d5; }
.btn:focus-visible,.mh-seal-link:focus-visible,.pill:focus-visible,.nt-cta-grande:focus-visible,.la-btn:focus-visible,
.gi-filters button:focus-visible,.cs-b:focus-visible,.leg-i:focus-visible,.chip-e:focus-visible,.int-chip:focus-visible {
  outline:3px solid #d89d46; outline-offset:4px; box-shadow:0 0 0 7px #172317;
}
.mh-seal-link,.pill,.la-btn { min-height:48px; font-size:max(12px,.75rem); }
.eh-pills .pill { position:relative; min-height:58px; padding:10px 15px 10px 61px; border:1px solid #b99559; border-radius:2px 19px 2px 2px; background:#1e2b1dde; line-height:1.2; }
.eh-pills .pill:hover { background:#30402b; }
.nt-cta-grande { min-height:58px; display:inline-flex; align-items:center; justify-content:center; }
body[data-page="loja"] .la-btn { position:relative; min-height:64px; padding:12px 20px 12px 70px; border:1px solid #b99559; border-radius:2px 22px 2px 2px; background:#e9d6ad; color:#211e17; box-shadow:0 5px 0 #997d4e; font-size:13px; letter-spacing:.07em; transition:transform .22s ease,background .22s ease,box-shadow .22s ease; }
body[data-page="loja"] .la-btn:hover { transform:translateY(-2px); background:#30412d; color:#fff1d5; box-shadow:0 7px 0 #997d4e; }
body[data-page="loja"] .la-form input:focus-visible { outline:3px solid #d89d46; outline-offset:3px; }
.btn .seal,.mh-seal-link .seal { animation:none!important; }
.gi-filters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; width:100%; max-width:740px; }
.gi-filters button { position:relative; min-height:126px; padding:15px; text-align:left; overflow:hidden; border:2px solid #a78a56; border-radius:2px 38px 2px 2px; background:#202b1e; color:#f3e6cb; font:600 18px/1.2 Georgia,serif; letter-spacing:0; text-transform:none; }
.gi-filters button img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 38%; opacity:.43; }
.gi-filters button span { position:relative; z-index:1; display:block; max-width:12ch; font:600 clamp(17px,4.8vw,22px)/1.08 Georgia,serif; letter-spacing:0; text-transform:none; text-shadow:0 2px 8px #09120c; }
.gi-filters button[aria-pressed="true"] { border:3px solid #e2bb73; box-shadow:inset 0 0 0 4px #223021; background:#203626; }
.gi-filters button[aria-pressed="true"] img { opacity:.65; }
.gi-filters button:hover { color:white; }
.gi-filters .on { padding:15px; }
.gp-pair[hidden] { display:none!important; }
.atelie-hero { display:grid; grid-template-columns:55% 45%; align-items:stretch; min-height:600px; }
.atelie-hero .page-hero-bg { position:relative; inset:auto; min-height:600px; opacity:1; background-position:center 48%!important; }
.atelie-hero .page-hero-veil { display:none; }
.atelie-hero .page-hero-in { display:flex; flex-direction:column; align-items:start; justify-content:center; align-self:stretch; max-width:none; padding:48px clamp(28px,5vw,74px); margin:0; background:#202b1f; }
.atelie-hero .page-hero-title { max-width:12ch; font-size:clamp(43px,5vw,76px); line-height:1.02; }
.atelie-hero .page-hero-sub { max-width:30ch; }
.esc-cap em { font-size:clamp(36px,12vw,78px); letter-spacing:-.025em; }
.wsx-arco { overflow:hidden; border-radius:1000px 1000px 0 0; background:#493b30; }
.wsx-arco .wsx-foto { width:100%; height:100%; object-fit:cover; object-position:center 50%; transform:scale(1.2); }
.nt-pilulas figure { overflow:hidden; border-radius:1000px; background:#503a2b; }
.nt-pilulas figure img { width:100%; height:100%; object-fit:cover; object-position:center 55%; transform:scale(1.11); }
.nt-trio .nt-arco-img { background-position:center 42%; }
.nt-arco-card figcaption { font-size:12px; line-height:1.4; }
.nt-arco-card figcaption b { font-size:18px; line-height:1.2; }
.mobile-menu { display:block; position:relative; z-index:80; color:#f0e8d6; flex:0 0 auto; }
.mobile-menu summary { list-style:none; display:flex; align-items:center; justify-content:center; min-width:51px; min-height:44px; padding:7px 9px; border:1px solid #b99559; border-radius:2px 14px 2px 2px; background:#243023; color:#f0e8d6; font:600 12px/1.2 Arial,sans-serif; cursor:pointer; }
.mobile-menu summary::-webkit-details-marker { display:none; }
.mobile-menu summary:focus-visible { outline:3px solid #d89d46; outline-offset:3px; }
.mobile-menu nav { position:absolute; right:0; top:calc(100% + 6px); width:min(80vw,260px); max-height:70vh; overflow:auto; padding:8px; border:1px solid #b99559; background:#1d291c; box-shadow:0 18px 30px #0008; }
.mobile-menu nav a { display:block; padding:12px 10px; min-height:44px; color:#f0e8d6; text-decoration:none; font:600 13px/1.3 Arial,sans-serif; border-bottom:1px solid #b995593e; }
.mobile-menu nav a:focus-visible,.mobile-menu nav a:hover { outline:2px solid #d89d46; background:#30412d; }
.dv-lightbox { max-width:min(92vw,1000px); max-height:91vh; padding:38px 12px 12px; border:1px solid #c9a260; background:#1e291d; color:#f0e8d6; }
.dv-lightbox::backdrop { background:#090e0ce9; }
.dv-lightbox img { display:block; max-width:100%; max-height:72vh; object-fit:contain; margin:auto; }
.dv-lightbox p { text-align:center; font-size:14px; }
.dv-lightbox button { position:absolute; top:0; right:0; min-width:40px; min-height:38px; border:0; background:#b99559; color:#172016; font-size:28px; cursor:pointer; }
.offline-notice { margin:10px 0; color:#76521f; font:600 14px/1.5 Arial,sans-serif; }
@media(max-width:640px) {
  .mobile-menu { display:block; }
  .btn { width:auto; max-width:100%; min-height:64px; padding-left:78px; font-size:13px; }
  .btn::before { width:78px; height:86px; left:-7px; background-size:138px auto; }
  .gi-filters { gap:8px; }
  .gi-filters button { min-height:110px; font-size:clamp(17px,5vw,21px); padding:11px; }
  .gi-filters .on { padding:11px; }
  .page-hero.atelie-hero { display:flex; flex-direction:column; min-height:0; }
  .atelie-hero .page-hero-bg { min-height:310px; width:100%; background-position:58% 45%!important; }
  .atelie-hero .page-hero-in { padding:34px 23px 43px; }
  .atelie-hero .page-hero-title { font-size:clamp(38px,11vw,48px); }
  .wsx-arco .wsx-foto { transform:scale(1.28); }
}
@media(max-width:380px) { body[data-page="workshop"] .mh-seal-link { display:none!important; } }
@media(prefers-reduced-motion:reduce) { html{scroll-behavior:auto}.btn,.btn::before{transition:none!important} }
body :is(a,button,summary,[role="button"],input,select,textarea):focus-visible {
  outline:3px solid #c99237; outline-offset:4px;
}
body :is(.mh-brand,.mh-nav a,.back,.mh-seal-link,.eco a,.or a,.lnk) {
  min-height:44px; display:inline-flex; align-items:center;
}
body .mh-brand { border-radius:2px 17px 2px 2px;gap:10px; }
body .mh-mark { height:60px;width:auto;flex:none; }
body .mh-word { font:600 19px/1.2 Arial,sans-serif;letter-spacing:.12em;padding:0;color:#f0e8d6; }
body .mh-seal-link :is(.seal,.seal-pena),body .btn .seal { display:none; }
body .mh-nav :is(a.back,a:not(.mh-seal-link)) {
  position:relative;
  padding:8px 9px 8px 45px; font-size:12px; line-height:1.3;
  border-bottom:1px solid #b9955966; transition:color .2s,background .2s;
}
body .mh-nav a:hover { background:#b9955918; }
body .mh-seal-link { position:relative; padding:7px 12px; border:1px solid #b99559; border-radius:2px 20px 2px 2px; gap:7px; }
body .mh-seal-link :is(.seal,.seal-pena) { width:auto;height:39px;object-fit:contain; }
body .mobile-menu summary { gap:6px;padding:7px 10px 7px 46px;position:relative; }
body .mobile-menu nav a { position:relative; padding-left:42px; }

/* Home: arte original dos cards e moldura única. */
body .pf-link,body .pf-last-cta {
   position:relative;
  min-height:66px; padding:12px 18px 12px 78px; gap:15px;
  border:1px solid #b99559; border-radius:2px 22px 2px 2px;
  font-size:12px; line-height:1.35; letter-spacing:.09em;
  transition:transform .2s,background .2s;
}
body[data-page="loja"] .la-btn::before { filter:brightness(.45) saturate(.65); }
body[data-page="loja"] .la-btn:hover::before { filter:none; }
body .pf-link:hover,body .pf-last:hover .pf-last-cta { transform:translateY(-2px); background:#b995591b; }
body .pf-course::before { content:none; }
body .pf-course-list { gap:22px; }
body .pf-course { min-height:260px;padding:30px 26px;border:1px solid #b8a785;border-radius:2px 46px 2px 2px;box-shadow:none;background:#f5ead3;color:#253021;align-items:center; }
body .pf-course::after { content:none; }
body .pf-course--mentor { background:#f5ead3;border-radius:2px 46px 2px 2px; }
/* Denis, 05/10/2026 (PDF p.3): os cartões levam FOTO no lugar do desenho. A foto fica à direita e some para o creme à esquerda. */
body .pf-course-art,body .pf-course--mentor .pf-course-art { width:66%;height:100%;top:0;right:0;object-fit:cover;object-position:50% 58%;filter:none;opacity:1;transform:none;mix-blend-mode:normal;-webkit-mask-image:linear-gradient(90deg,transparent 0,transparent 6%,rgba(0,0,0,.22) 27%,#000 52%);mask-image:linear-gradient(90deg,transparent 0,transparent 6%,rgba(0,0,0,.22) 27%,#000 52%); }
body .pf-course--mentor .pf-course-art { width:70%;object-position:50% 50%;-webkit-mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.2) 12%,#000 36%);mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.2) 12%,#000 36%); }
/* no computador largo o rosto tatuado do Workshop aparece maior, como na montagem do Denis */
@media(min-width:1100px) { body .pf-course--workshop .pf-course-art { width:92%;right:-12%;object-position:50% 57%;-webkit-mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.05) 14%,rgba(0,0,0,.2) 35%,#000 47%);mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.05) 14%,rgba(0,0,0,.2) 35%,#000 47%); } }
/* de 820 a 1099 px os cartões ficam estreitos: foto menor e esfumado mais tarde, para o link do cartão não cair sobre a foto */
@media(min-width:820px) and (max-width:1099.98px) {
  body .pf-course--workshop .pf-course-art { width:58%;-webkit-mask-image:linear-gradient(90deg,transparent 0,transparent 10%,rgba(0,0,0,.22) 30%,#000 55%);mask-image:linear-gradient(90deg,transparent 0,transparent 10%,rgba(0,0,0,.22) 30%,#000 55%); }
  body .pf-course--mentor .pf-course-art { width:56%;object-position:78% 50%;-webkit-mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.2) 16%,#000 40%);mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.2) 16%,#000 40%); }
}
body .pf-course-copy { max-width:59%;z-index:3; }
body .pf-course strong { font-family:'Fraunces',Georgia,serif;font-size:clamp(27px,2.7vw,38px);line-height:1.08;letter-spacing:-.025em; }
body .pf-course small { font-size:11px;line-height:1.45;letter-spacing:.12em;color:#6b532e;max-width:19ch; }
body .pf-course-action { display:flex;align-items:center;gap:12px;max-width:max-content;margin-top:24px;padding-bottom:5px;border-bottom:1px solid #7b6b45;font:500 12px/1.4 Arial,sans-serif; }
body .pf-course-action span { font-size:20px; }
body .pf-course:hover { transform:translateY(-3px);box-shadow:0 9px 20px #16201616;border-color:#86724b; }
body .pf-work-seal { min-width:84px; min-height:84px; font-size:11px; line-height:1.3; letter-spacing:.04em; transform:none; border-radius:2px 28px 2px 28px; background:#172119ee; }
body .pf-work-seal b { font-size:22px; }
body .pf-work-card:hover .pf-work-seal { background:#30412d; }

/* D.F.T.: indicadores com área de toque equivalente às setas. */
body .cx-arrow {  min-width:44px; min-height:54px; width:44px; height:54px; border-radius:2px 20px 2px 20px; background:#eee2c9; color:#253322; font-size:30px; }
body .cx-arrow::before { content:none; }
body .cx-dots { gap:24px; padding:16px 0 12px; }
body .cx-dot { position:relative;min-width:58px;min-height:64px;width:58px;height:64px;border:0;border-bottom:2px solid transparent;border-radius:0;background:none;transform:none;overflow:visible; }
body .cx-dot.on { background:none;border-color:#73501f;transform:none;box-shadow:none; }
body .nt-cta-grande { position:relative; min-height:64px; padding:16px 22px 16px 62px; border:1px solid #b99559; border-radius:2px 28px 2px 2px; box-shadow:none; }
body .nt-cta-grande img { max-width:100%; object-fit:contain; }

/* Formulários: motivo discreto e seleção visível. */
body :is(.cs-b,.leg-i,.chip-e,.int-chip,.upload,.ty-alt) {
   position:relative; min-height:48px;
  border:1px solid #ad8d59; border-radius:2px 19px 2px 2px;
  padding:10px 13px 10px 43px; background:#eee2c9; color:#253322;
  font-family:var(--dv-art-type,Georgia,serif); font-size:15px; font-weight:400; text-transform:none; line-height:1.35; letter-spacing:.02em;
  transition:background .2s,color .2s,transform .2s; cursor:pointer;
}
body .corpo-switch { border:0; gap:8px; background:transparent; overflow:visible; }
body :is(.cs-b,.leg-i,.chip-e,.int-chip,.upload,.ty-alt)::before { filter:brightness(.45) saturate(.65); }
body :is(.cs-b.sel,.leg-i.sel,.chip-e.on,.chip-e.sel,.int-chip.on)::before { filter:none; }
body .corpo-switch .cs-b { min-height:54px; padding:10px 10px 10px 43px; border:1px solid #ad8d59; font-family:var(--dv-art-type,Georgia,serif); font-size:15px; font-weight:400; text-transform:none; letter-spacing:.02em; color:#253322; background:#eee2c9; }
body .corpo-switch .cs-b.sel { background:#253b26; color:#fff0d3; }
body .corpo-switch .cs-b + .cs-b { border-left:1px solid #ad8d59; }
body .leg-i {  gap:5px; min-height:48px; padding-right:6px; font-size:13px; }
body .leg-i i { color:inherit; font-size:12px; }
body :is(.cs-b.sel,.leg-i.sel,.chip-e.on,.chip-e.sel,.int-chip.on) { background:#253b26; color:#fff0d3; border-color:#a88643; box-shadow:0 3px 0 #a88643; }
body :is(.cs-b,.leg-i,.chip-e,.int-chip,.upload,.ty-alt):hover { background:#d7c8a9; color:#182817; transform:translateY(-1px); }
body :is(.cs-b.sel,.leg-i.sel,.chip-e.on,.int-chip.on):hover { background:#304b30; color:#fff0d3; }
body .upload {  display:flex; min-height:64px; padding-left:53px; }
body .upload::before { width:35px; height:48px; }
body .upload img[hidden] { display:none; }
body .ty-alt {  display:inline-flex; align-items:center; margin-top:14px; }
body :is(.ty-x,.dv-lightbox button) { min-width:44px; min-height:44px; width:44px; height:44px; border:1px solid #b99559; border-radius:2px 15px 2px 2px; background:#eee2c9; color:#243321; font-size:28px; }
body .dv-lightbox { padding-top:52px; }
body :is(.form input:not([type="hidden"]),.form select,.form textarea,.la-form input) { min-height:48px; font-size:16px; }
body .bm-corpo[hidden] { display:none!important; }
body .bz:focus-visible { outline:none; stroke:#b37b20; stroke-width:3; fill:#b9955955; }
body [data-lb] { cursor:zoom-in; }
body .mh-seal-link .seal-pena { height:39px; }
/* Escolhas de formulário são simples; a arte não se repete em cada resposta. */
body :is(.int-chip,.leg-i) { padding:12px 14px; }
body :is(.int-chip,.leg-i)::before { content:none; }
body .leg-i { gap:10px; }
body .atlas-leg { grid-template-columns:repeat(2,minmax(0,1fr)); }
body .atlas-leg .leg-i { min-width:0;padding:10px 6px;font-size:12px;letter-spacing:0;gap:5px; }
body .atlas-leg .leg-i i { font-size:10px; }
body .corpo-switch { display:grid;grid-template-columns:repeat(2,minmax(0,1fr)); }
body .corpo-switch .cs-b { min-width:0;padding:10px 6px 10px 38px;font-size:13px; }
body .corpo-switch .cs-b::before { width:44px;left:-6px; }
body[data-page="orcamento"] .form label { color:#424d36;font:500 13px/1.5 Arial,sans-serif;letter-spacing:.02em;text-transform:none; }
body[data-page="orcamento"] .form :is(input,textarea,select) { min-width:0;font:16px/1.5 Arial,sans-serif;color:#253322;border-bottom-color:#a3916e;min-height:44px; }
body[data-page="orcamento"] .form :is(input,textarea)::placeholder { color:#626a54;opacity:1; }
body[data-page="orcamento"] .form label i { color:#626a54;font-size:12px; }
body .dark-eco .eco-info a { color:#e7c985;text-decoration:underline;text-underline-offset:4px; }
body :is(.cs-b,.chip-e,.upload,.ty-alt) { padding-left:66px;min-height:62px; }
body .corpo-switch .cs-b { padding-left:38px;min-height:62px; }
body .eh-pills .pill { padding-left:68px;min-height:64px; }
body[data-page="loja"] .la-btn { padding-left:76px;min-height:66px; }
body .la-form label:not(.hp) { display:flex;flex:1;flex-direction:column;gap:5px;min-width:0;text-align:left;font:500 13px/1.4 Arial,sans-serif; }
body .la-form label:not(.hp) input { width:100%; }
body .skip-link { position:fixed;top:-90px;left:16px;z-index:9999;padding:12px 18px;background:#f0e8d6;color:#1a281b;font:600 15px Arial,sans-serif; }
body .skip-link:focus { top:12px; }
@media(min-width:820px) {
  body .oficio { left:auto;right:6%;bottom:24px;width:400px; }
  body.home .mh-nav a[href="processo.html"],body.home .mh-nav a[href="loja.html"],body.home .mh-nav a[href="#artista"] { display:none; }
  body .masthead { gap:24px; }
  body .mh-nav { margin-left:auto;gap:24px; }
}
@media(max-width:819px) {
  body .oficio { left:5%;bottom:19px;width:90%; }
  body .pf-course { min-height:240px;padding:25px 20px; }
  body .pf-course strong { font-size:25px; }
  body .pf-course-copy { max-width:65%; }
  body .pf-course--workshop .pf-course-art { width:56%;height:140%;top:-22%;right:0;object-position:70% 50%;-webkit-mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.25) 16%,#000 40%);mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.25) 16%,#000 40%); }
  body .pf-course--mentor .pf-course-art { width:60%;object-position:92% 50%;-webkit-mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.3) 7%,#000 17%);mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.3) 7%,#000 17%); }
}
/* Faixa de cadastro: retrato nativo do Denis, texto e ação em áreas próprias. */
.pf-registration { position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,540px) minmax(0,330px);justify-content:center;align-items:center;min-height:330px;padding:0 max(6vw,22px);background:#dbc49a;color:#22301e;border-top:1px solid #ad8d59;border-bottom:1px solid #ad8d59; }
.pf-registration-art { position:relative;grid-column:2;grid-row:1;align-self:end;display:block;width:100%;height:auto;max-height:360px;object-fit:contain;object-position:center bottom;pointer-events:none; }
.pf-registration-copy { position:relative;grid-column:1;grid-row:1;min-width:0;padding:42px 0; }
.pf-registration small { font:600 11px/1.4 Arial,sans-serif;letter-spacing:.15em;text-transform:uppercase; }
.pf-registration h2 { margin:18px 0 16px;font:400 clamp(36px,4.5vw,62px)/1.06 var(--dv-art-type,Georgia,serif);letter-spacing:-.025em; }
.pf-registration p { max-width:40ch;font:16px/1.6 Arial,sans-serif; }
.pf-registration a { display:inline-flex;align-items:center;gap:24px;min-height:48px;margin-top:8px;padding:8px 0;border-bottom:1px solid #6c5937;color:inherit;font:600 15px/1.4 Arial,sans-serif;text-decoration:none; }
.pf-registration a:focus-visible { outline:3px solid #243c23;outline-offset:5px; }
@media(max-width:819px) { .pf-registration { grid-template-columns:minmax(0,58%) minmax(0,42%);padding:0 21px;min-height:310px; }.pf-registration-copy { padding:30px 0; }.pf-registration-art { max-height:280px; }.pf-registration h2 { font-size:34px; }.pf-registration p { font-size:16px; }.pf-registration a { font-size:15px;gap:12px; } }
/* Atlas do corpo (01/10/2026, pedido do Bruno): um lado por vez, maior, com o nome das regiões ao lado.
   O desenho do Denis não muda; .bz é só o contorno visível, o toque vai na .bz-toque (maior), logo atrás. */
.vista-switch { margin:0 0 6px; }
.vista-switch .vs-b { min-height:44px;font-size:12px;letter-spacing:.16em;color:#5c4c2d; }
.vista-switch .vs-b.sel { background:#243c23;color:#f3ead6; }
.atlas-rotulado .atlas-leg,.atlas-rotulado .bm-lbl,.atlas-rotulado .bm-grid { display:none; }
.atlas-rotulado .body-map { max-height:min(80vh,620px);margin:4px auto 0; }
.atlas-rotulado .bz { pointer-events:none; }
.bz-toque { fill:transparent;stroke:none;cursor:pointer; }
.bz-toque:hover + .bz { fill:rgba(36,60,35,.24);stroke:#243c23; }
.bm-rot { cursor:pointer;outline:none; }
.bm-rot-alvo { fill:transparent;stroke:none; }
.bm-rot text { font:600 15px/1 Arial,sans-serif;fill:#3b3324;letter-spacing:.02em; }
.bm-fio { fill:none;stroke:#9a7635;stroke-width:1;opacity:.55; }
.bm-rot:hover text,.bm-rot:focus-visible text { fill:#243c23; }
.bm-rot:focus-visible .bm-rot-alvo { stroke:#243c23;stroke-width:1.5; }
.bm-rot.sel text { fill:#243c23;font-weight:700; }
.bm-rot.sel .bm-fio { stroke:#243c23;opacity:1;stroke-width:1.4; }
.bm-rot.sel .bm-rot-alvo { fill:rgba(36,60,35,.09); }
.atlas-rotulado .atlas-out b { text-transform:none;letter-spacing:.02em;font-size:15px; }
.orc-erro { margin:0 0 10px;color:#a8281b;font:600 14px/1.4 Arial,sans-serif; }
/* Cadastro (01/10/2026, pedido do Bruno): andorinha do Denis levando a cartinha, voando na direção do texto.
   O fundo da faixa é a cor do papel do desenho (#feeeca), então o desenho entra sem moldura. */
.pf-registration { background:#feeeca;grid-template-columns:minmax(0,330px) minmax(0,540px);column-gap:clamp(18px,4vw,56px); }
.pf-registration .pf-passaro { grid-column:1;align-self:center;max-height:390px;padding:18px 0; }
.pf-registration .pf-registration-copy { grid-column:2; }
@media(max-width:819px) { .pf-registration { grid-template-columns:minmax(0,44%) minmax(0,56%);column-gap:14px; }.pf-registration .pf-passaro { max-height:300px;padding:14px 0; } }
@media(max-width:360px) {
  body .pf-course strong { font-size:23px; }
  body .pf-course-copy { max-width:65%; }
  body .mh-seal-link { gap:5px;padding:7px 9px; }
  body .mh-seal-link .seal-pena { height:34px; }
}
@media(min-width:641px) and (max-width:1180px) {
  body .mobile-menu { display:block; }
  body .mh-nav a:not(.mh-seal-link) { display:none; }
  body .mh-nav { margin-left:auto; }
  body .masthead { gap:20px; }
}
@media(max-width:640px) {
  body .masthead { gap:8px; padding-left:12px; padding-right:12px; }
  body .mh-brand { min-width:0; gap:6px; }
  body .mh-mark { height:50px; }
  body .mh-word { font-size:15px;letter-spacing:.09em; }
  body .mh-nav { gap:8px; margin-left:auto; }
  body .mobile-menu { flex:0 0 auto; }
  body[data-page="workshop"] .mh-seal-link,body[data-page="mentoria"] .mh-seal-link { display:none!important; }
  body[data-page="atelie"] .mh-seal-link { display:none!important; }
  body .mh-word-apresenta { white-space:normal; line-height:1.3; max-width:130px; letter-spacing:.1em; }
  body .mh-nav :is(a.back,a:not(.mh-seal-link)) { padding-left:38px; padding-right:3px; font-size:11px; }
  body .mh-nav :is(a.back,a:not(.mh-seal-link))::before { left:0; width:32px; }
  body .mh-seal-link { padding:6px 8px; font-size:11px; }
  body .mh-seal-link .seal { width:22px; }
  body .pf-work-seal { right:14px; bottom:18px; width:84px; height:84px; }
  body .pf-course-copy { max-width:65%; }
  body .nt-cta-grande { padding-right:16px; padding-left:53px; }
  body .nt-cta-grande::before { width:32px; }
  body .leg-i { font-size:13px; padding-left:14px; letter-spacing:0; }
  body .leg-i::before { width:23px; left:4px; }
}
@media(prefers-reduced-motion:reduce) {
  body *,body *::before,body *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
@media(max-width:360px) {
  body:not(.home) .mh-seal-link { display:none!important; }
  body .mh-brand { flex-shrink:0; }
}

/* Controles de leitura: a arte ganha espaço nos cards, sem decalques repetidos. */
body :is(.btn,.pf-link,.pf-last-cta,.eh-pills .pill,.nt-cta-grande,.la-btn,.ty-alt) { padding:14px 22px;min-height:54px; }
body :is(.btn,.pf-link,.pf-last-cta,.eh-pills .pill,.nt-cta-grande,.la-btn,.ty-alt)::before { content:none; }
body .mh-nav :is(a.back,a:not(.mh-seal-link)) { padding:8px 10px; }
body .mobile-menu summary { min-width:67px;min-height:48px;padding:10px 13px;font-size:14px; }
body .mobile-menu summary::before,body .mobile-menu nav a::before { content:none; }
body .mobile-menu nav a { padding:12px 14px;font-size:14px; }
body .corpo-switch .cs-b,body .chip-e,body .upload { padding:12px 14px;min-height:54px; }
body .corpo-switch .cs-b::before,body .chip-e::before,body .upload::before { content:none; }
body .cx-dot { min-width:48px;min-height:48px;width:48px;height:48px;font:400 22px/1.3 var(--dv-art-type);color:#655030; }
body .cx-dot.on { color:#253b26;border-bottom:2px solid #73501f; }

/* ── Rodada do Denis de 05/10/2026 (PDF de pedidos marcado em vermelho). Os componentes NOVOS desta rodada ficam
   aqui; as regras que já existiam foram editadas onde estavam (procure "Denis, 05/10/2026" nos CSS). ── */

/* Brasão D.F.T.: a logo não muda de tom (p.2). Cadastro: a frase nova não deixa palavra sozinha na linha. */
.cadastro-hero .page-hero-sub { text-wrap:balance; }

/* Faixa de preço (p.8 Workshop, p.11 D.F.T.): UM componente. Arte dele ao fundo, moldura creme em CSS (cor medida
   na arte, #FEE3AC), caixa clara em texto de verdade. No celular a arte fica em cima e a caixa embaixo. */
.preco-faixa { --pf-w:min(940px,calc(100vw - 2*clamp(18px,4vw,44px)));position:relative;z-index:1;display:flex;align-items:center;box-sizing:border-box;width:var(--pf-w);max-width:none;margin:clamp(22px,3.6vh,34px) 0 0 calc(50% - var(--pf-w)/2);aspect-ratio:1483/502;border:clamp(3px,.45vw,5px) solid #FEE3AC;background:#050505;text-align:left;overflow:hidden; }
.preco-faixa--dft { --pf-w:min(1100px,calc(100vw - 2*clamp(20px,4.5vw,70px)));margin-top:clamp(8px,2vh,22px); }
.preco-arte { position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:right center; }
.preco-caixa { position:relative;z-index:1;box-sizing:border-box;width:min(40.4%,430px);margin:0 0 0 4.1%;padding:clamp(11px,1.4vw,18px) clamp(14px,1.9vw,24px);background:#fff;color:#1b1b19; }
.preco-caixa p { max-width:none;margin:0;color:inherit;text-align:left;text-transform:none;letter-spacing:0; }
.preco-caixa .preco-nome { font:400 clamp(14px,1.3vw,16.5px)/1.32 var(--serif); }
@media(min-width:900px) { .preco-caixa .preco-linha { display:block; } } /* a quebra do título como na montagem dele */
.preco-caixa .preco-autor { margin-top:3px;font:400 clamp(11.5px,1.1vw,12.5px)/1.4 var(--sans);color:#55544f; }
.preco-caixa .preco-parcela { margin-top:7px;font:700 clamp(16.5px,1.75vw,20px)/1.2 var(--sans);letter-spacing:-.01em; }
.preco-caixa .preco-avista { margin-top:4px;font:400 clamp(12px,1.15vw,13px)/1.4 var(--sans); }
.preco-nota { position:relative;z-index:1;max-width:none;margin:9px auto 0;padding:0 18px;font:400 13px/1.5 var(--sans);letter-spacing:0;text-transform:none;text-align:center;color:var(--ink);opacity:.86; }
@media(max-width:640px) {
  .preco-faixa { display:block;width:auto;margin-left:0;margin-right:0;aspect-ratio:auto; }
  .preco-faixa--dft { margin-left:18px;margin-right:18px; }
  .preco-arte { position:static;height:auto;aspect-ratio:16/9; }
  .preco-caixa { width:auto;margin:12px;padding:14px 16px; }
  .preco-caixa .preco-nome { font-size:16px; }
  .preco-caixa .preco-parcela { font-size:20px; }
  .preco-caixa .preco-autor,.preco-caixa .preco-avista { font-size:13px; }
}

/* D.F.T. (p.13): a mensagem do fecho também no topo, na tipografia do próprio topo. */
.dftx-abre { max-width:680px;margin:0 auto clamp(20px,3.4vh,30px);padding-top:clamp(8px,2.2vh,22px); }
.dftx-abre p { max-width:none;margin:0; }
.dftx-abre .dftx-abre-t { font-family:var(--disp);font-weight:800;font-size:clamp(1.75rem,4.3vw,2.6rem);line-height:1.12;letter-spacing:-.02em;color:var(--sumi);text-wrap:balance; }
.dftx-abre .dftx-abre-t em { font-style:italic;color:var(--laca); }
.dftx-abre .dftx-abre-p { max-width:54ch;margin:12px auto 0;line-height:1.6;color:var(--ink-60); }
.dftx-abre .dftx-abre-f { max-width:30ch;margin:12px auto 0;font-family:var(--disp);font-style:italic;font-size:clamp(1.08rem,2.4vw,1.35rem);line-height:1.35;color:var(--laca); }
/* no computador a mensagem fica compacta (título e frase numa linha) e, em janela baixa, o vídeo encolhe o bastante
   para continuar inteiro, com os controles, na primeira tela */
@media(min-width:900px) {
  .dftx-abre { max-width:none; }
  .dftx-abre .dftx-abre-p { max-width:76ch; }
  .dftx-abre .dftx-abre-f { max-width:none; }
  .dftx-abre + .dftx-video { max-width:min(100%,calc((100vh - 350px)*16/9));margin-left:auto;margin-right:auto; }
}

/* Portfólio (p.5): em tela deitada o texto do topo sai de cima do rosto do Denis e vai para a direita dele.
   A foto tem dois rostos (o do Denis e o rosto desenhado ao fundo, no alto): o título acompanha a ALTURA da janela
   para não subir até o queixo desenhado em janela baixa. */
@media(min-width:600px) and (min-aspect-ratio:1/1) {
  .gal-page .page-hero-in { max-width:none;margin:0;padding-left:62%;padding-right:clamp(16px,3.4vw,54px);padding-bottom:clamp(16px,5vh,56px); }
  .gal-page .page-hero-title { font-size:clamp(1.7rem,min(6.2vw,11.5vh),7rem);margin-bottom:clamp(6px,1.6vh,14px); }
  .gal-page .page-hero-sub { font-size:clamp(.92rem,min(2vw,3.4vh),1.6rem); }
  .gal-page .page-hero .gal-actions { margin-top:clamp(10px,3vh,26px) !important; }
}
