/* Papel com Açúcar — Portal editorial
   Organização: tokens, base, cabeçalho, hero, editorias,
   destaques, artigos, coleções, páginas internas, rodapé, responsivo.
   Fonte de manutenção: laravel-app/resources/css/portal.css
   Arquivo público: public_html/assets/css/portal.css
*/

/* 1. Design tokens */
:root {
  --ink: #183740;
  --ink-deep: #152b33;
  --body: #3b4141;
  --muted: #6a7071;
  --coral: #d86551;
  --coral-dark: #b84f3e;
  --paper: #fffdf9;
  --warm: #fff5ed;
  --line: #eee8e1;
  --sage: #dceae0;
  --radius: 12px;
  --shell: 1300px;
  --sans: "DM Sans", "Segoe UI", sans-serif;
  --serif: "Fraunces", Georgia, serif;
  --hand: "Kalam", "Comic Sans MS", cursive;
}
*,*::before,*::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 22px; }
body { margin: 0; color: var(--body); background: var(--paper); font: 15px/1.6 var(--sans); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--coral-dark); }
button,input { font: inherit; }
button { cursor: pointer; }
img { display: block; max-width: 100%; }
h1,h2,h3,p,figure { margin-top: 0; }
h1,h2,h3 { color: var(--ink-deep); }
h1,h2,h3 { text-wrap: balance; }
:focus-visible { outline: 3px solid var(--coral); outline-offset: 4px; }
.shell { width: min(calc(100% - 48px),var(--shell)); margin-left: auto; margin-right: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: absolute; left: 8px; top: -80px; z-index: 999; background: #fff; padding: 10px 16px; }
.skip-link:focus { top: 8px; }

/* 2. Identidade e navegação */
.site-header { background: #fff; position: relative; z-index: 10; }
.header-main { min-height: 91px; display: flex; align-items: center; gap: clamp(12px,2vw,29px); }
.brand { display: inline-flex; white-space: nowrap; gap: 5px; align-items: flex-start; flex-shrink: 0; color: #113c43; }
.brand:hover { color: #113c43; }
.brand-word { font: 700 clamp(24px,2.15vw,32px)/1.1 var(--hand); letter-spacing: -1.5px; }
.brand-word small { font: 500 13px/1 var(--sans); letter-spacing: -.4px; color: var(--ink); }
.brand-star { color: #dca047; font-size: 26px; transform: rotate(-20deg); line-height: 1; }
.brand-caption { color: #766e67; font: 13px/1.3 var(--hand); margin: 0; padding-left: 14px; border-left: 1px solid #eadbd0; white-space: nowrap; transform: rotate(-1deg); }
.header-search { margin-left: auto; position: relative; width: clamp(210px,26vw,330px); flex-shrink: 1; }
.header-search input { height: 39px; border: 1px solid #e7e2df; border-radius: 11px; background: #f8f6f4; width: 100%; padding: 0 13px 0 42px; font-size: 12px; color: var(--ink); outline-offset: 2px; }
.header-search input:focus { border-color: #d9a18b; background: white; }
.search-icon { position: absolute; left: 12px; top: 0; bottom: 0; border: 0; padding: 0; background: transparent; font-size: 26px; line-height: 1; color: #3e4141; }
.header-links { display: flex; gap: clamp(10px,1.7vw,23px); align-items: center; font-size: 12px; white-space: nowrap; }
.store-cta { display: inline-flex; align-items: center; gap: 8px; padding: 10px 17px; border-radius: 12px; background: #ce9238; color: white; font-weight: 700; font-size: 12px; box-shadow: 0 3px 0 #c4893028; }
.store-cta:hover { background: #b87e29; color: white; }
.store-cta span { font-size: 19px; line-height: .8; }
.mobile-menu { display: none; }
.topic-nav { border-top: 1px solid #f1ebe5; border-bottom: 1px solid #f0eae4; }
.topic-nav-inner { display: flex; justify-content: space-between; align-items: stretch; gap: 8px; min-height: 52px; }
.nav-home { font-size: 30px; line-height: 1; color: #d67863; display: flex; align-items: center; padding: 0 10px 2px; border-bottom: 3px solid #d67863; }
.nav-item { font-size: 11px; display: flex; align-items: center; gap: 8px; white-space: nowrap; font-weight: 600; color: #455052; }
.nav-item:hover { color: var(--coral-dark); }
.nav-symbol { font-size: 22px; line-height: 1; }
.c-coral,.c-text-coral { color: #cb8a77 !important; } .c-lavanda,.c-text-lavanda { color: #a69abf !important; }
.c-azul,.c-text-azul { color: #799cb7 !important; } .c-mostarda,.c-text-mostarda { color: #df9e35 !important; }
.c-verde,.c-text-verde { color: #6d9e90 !important; } .c-oliva,.c-text-oliva { color: #88aa75 !important; }
.c-rosa,.c-text-rosa { color: #c284a4 !important; } .c-terracota,.c-text-terracota { color: #d77c68 !important; }

/* 3. Apresentação principal */
.hero { background: #f6eae0; overflow: hidden; }
.hero-inner { min-height: 386px; display: grid; grid-template-columns: 50% 50%; position: relative; }
.hero-copy { padding: 51px 15px 48px 50px; position: relative; z-index: 2; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.eyebrow,.section-eyebrow { display: block; color: #c36b42; font: 700 12px/1.4 var(--sans); letter-spacing: .12em; }
.hero h1 { max-width: 620px; margin: 9px 0 10px; font: 600 clamp(36px,3.45vw,51px)/1.11 var(--serif); letter-spacing: -1.2px; color: #222b2e; }
.hero p { color: #5e6363; max-width: 500px; font-size: 16px; line-height: 1.55; margin: 0 0 19px; }
.button { display: inline-flex; align-items: center; gap: 14px; font-weight: 700; border-radius: 99px; padding: 10px 23px; font-size: 13px; transition: transform .15s ease,background .15s ease; }
.button:hover { transform: translateY(-1px); }
.button-coral { color: #fff; background: var(--coral); }
.button-coral:hover { background: var(--coral-dark); color: #fff; }
.button span { font-size: 20px; line-height: .8; font-weight: 400; }
.hero-photo { position: relative; min-width: 0; }
.hero-photo img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; object-position: center 50%; }
.hero-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,#f6eae0 0%,rgba(246,234,224,.7) 9%,rgba(246,234,224,0) 32%),linear-gradient(0deg,rgba(121,62,40,.12),transparent 45%); pointer-events: none; }
.hero-handwriting { position: absolute; right: 8%; top: 18%; z-index: 1; color: white; text-shadow: 0 2px 15px #543c3cb0; font: 400 23px/1.28 var(--hand); text-align: center; transform: rotate(-12deg); }
.hero-handwriting span { display: block; color: #f6c26a; margin-top: 4px; font-size: 23px; }
.hero-spark { position: absolute; color: #e58472; left: 4px; bottom: 70px; font-size: 40px; transform: rotate(-20deg); opacity: .75; }
.hero-rainbow { position: absolute; z-index: 3; bottom: -13px; left: 47%; width: 95px; height: 93px; border: 8px solid #e5a369; border-bottom-color: transparent; border-radius: 60px 60px 0 0; opacity: .78; }
.hero-rainbow i { position: absolute; display: block; border: 7px solid #eed19a; border-bottom-color: transparent; border-radius: 60px 60px 0 0; inset: 6px 6px -6px; }
.hero-rainbow i:nth-child(2) { inset: 19px 18px -8px; border-color: #91b2a5; border-bottom-color: transparent; }
.hero-rainbow i:nth-child(3) { display: none; }

/* 4. Editorias */
.category-strip { padding: 21px 0 20px; display: grid; grid-template-columns: repeat(8,minmax(0,1fr)); gap: 12px; border-bottom: 1px solid var(--line); }
.category-tile { display: flex; align-items: center; flex-direction: column; gap: 7px; text-align: center; padding: 1px; color: #42474a; transition: transform .2s ease; }
.category-tile:hover { transform: translateY(-3px); }
.category-icon { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 16px; font-size: 29px; line-height: 1; }
.category-name { max-width: 130px; min-height: 40px; font-size: 12px; line-height: 1.32; text-wrap: balance; }
.c-bg-coral { color: #cc705f; background: #fae9e4; } .c-bg-lavanda { color: #9489b6; background: #efedf5; }
.c-bg-azul { color: #7598b4; background: #e9eef3; } .c-bg-mostarda { color: #d79b39; background: #fdf0db; }
.c-bg-verde { color: #659788; background: #e1f0e9; } .c-bg-oliva { color: #8ca875; background: #ebf0e2; }
.c-bg-rosa { color: #be82a0; background: #f6e8ef; } .c-bg-terracota { color: #d27567; background: #fae7e2; }

/* 5. Destaques */
.featured-section { padding-top: 17px; }
.section-line { min-height: 0; }
.section-line .section-eyebrow { position: absolute; width: 1px; height: 1px; overflow: hidden; }
.features-grid { display: grid; grid-template-columns: 1.56fr 1fr; gap: 16px; height: 326px; }
.feature-large,.feature-small { position: relative; overflow: hidden; border-radius: 10px; isolation: isolate; }
.feature-large > img,.feature-small > img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; z-index: -2; }
.feature-large > img { object-position: 63% center; }
.feature-large::before,.feature-small::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.feature-large::before { background: linear-gradient(90deg,rgba(255,253,247,.98),rgba(255,253,247,.91) 33%,rgba(255,253,247,.35) 59%,transparent 83%); }
.feature-large-content { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; height: 100%; width: 57%; padding: 24px 12px 26px 28px; }
.category-pill { display: inline-block; color: white; text-transform: uppercase; border-radius: 7px; padding: 5px 11px; font: 700 9px/1.35 var(--sans); letter-spacing: .06em; }
.category-pill:hover { color: white; filter: brightness(.93); }
.pill-lilac { background: #bd87aa; }.pill-gold { background: #d69a32; }.pill-sage { background: #78a18d; }
.feature-large h2 { font: 600 clamp(23px,2.35vw,32px)/1.12 var(--serif); letter-spacing: -.5px; margin: 15px 0 12px; }
.feature-large p { font-size: 13px; line-height: 1.48; max-width: 290px; margin-bottom: 13px; }
.text-link { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; font-size: 13px; color: #d15d4b; }
.text-link:hover { color: #9c382e; }
.text-link span { font-size: 20px; line-height: .6; font-weight: 400; }
.feature-side { display: grid; grid-template-rows: 1fr 1fr; gap: 16px; min-height: 0; }
.feature-small > img { object-position: 62% 45%; }
.feature-small::before { background: linear-gradient(90deg,rgba(254,239,227,.98),rgba(254,239,227,.91) 40%,rgba(254,239,227,.1) 88%); }
.feature-small:nth-child(2)::before { background: linear-gradient(90deg,rgba(241,234,226,.98),rgba(241,234,226,.91) 41%,rgba(241,234,226,.1) 88%); }
.feature-small-content { height: 100%; width: 68%; display: flex; align-items: flex-start; justify-content: center; flex-direction: column; padding: 10px 12px 12px 17px; }
.feature-small h3 { margin: 8px 0; font: 600 clamp(16px,1.5vw,20px)/1.15 var(--serif); max-width: 235px; }
.feature-small .text-link { font-size: 11px; }

/* 6. Matérias e seções */
.reading-section { padding-top: 24px; padding-bottom: 34px; }
.section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 15px; margin-bottom: 17px; }
.section-heading h2 { margin: 3px 0 0; font: 600 clamp(25px,2.15vw,30px)/1.2 var(--serif); letter-spacing: -.4px; }
.section-heading h2 > span { color: #d39f49; font-size: 15px; vertical-align: top; }
.section-heading .section-eyebrow { font-size: 10px; letter-spacing: .13em; }
.all-link { color: #c85c47; font-size: 12px; white-space: nowrap; }
.all-link span { font-size: 19px; }
.story-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 19px; }
.story-card { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; }
.story-image-link { width: 100%; display: block; aspect-ratio: 1.8; overflow: hidden; border-radius: 7px; margin-bottom: 9px; background: #eee6dd; }
.story-image-link img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.story-image-link:hover img { transform: scale(1.04); }
.story-title { display: block; color: var(--ink-deep); font: 500 16px/1.23 var(--serif); letter-spacing: -.2px; margin-bottom: 6px; }
.story-title:hover { color: #b54e40; }
.story-kicker { display: inline-block; font: 700 10px/1.4 var(--sans); letter-spacing: .045em; text-transform: uppercase; }
.story-grid-four { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 22px; }
.story-grid-four .story-image-link { aspect-ratio: 1.65; }
.story-grid-four .story-title { font-size: 18px; }

/* 7. Coleções e identidade editorial */
.creative-section { background: #fff8f0; padding: 55px 0 57px; border-top: 1px solid #f4e9df; border-bottom: 1px solid #f4e9df; }
.creative-intro { text-align: center; max-width: 700px; margin: 0 auto 28px; }
.creative-intro h2 { font: 600 clamp(29px,3vw,40px)/1.15 var(--serif); margin: 9px 0 10px; }
.creative-intro h2 em { color: #c97962; font-style: normal; }
.creative-intro p { font-size: 14px; color: #697073; }
.creative-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 17px; }
.creative-card { min-height: 230px; padding: 26px 28px 22px; border-radius: 13px; display: flex; flex-direction: column; align-items: flex-start; position: relative; overflow: hidden; transition: transform .2s ease; }
.creative-card:hover { transform: translateY(-3px); }
.creative-peach { background: #f7ded4; }.creative-yellow { background: #f7e8bf; }.creative-sage { background: #e0ebe1; }
.creative-glyph { position: absolute; right: 23px; top: 15px; font-size: 65px; color: #fff9; font-family: var(--serif); }
.creative-tag { letter-spacing: .1em; font-size: 10px; font-weight: 700; color: #b96554; }
.creative-card h3 { margin: 12px 0 9px; font: 600 24px/1.2 var(--serif); max-width: 260px; }
.creative-card p { font-size: 13px; color: #5e6564; margin-bottom: 18px; max-width: 285px; }
.creative-card .text-link { margin-top: auto; }
.latest-section { padding: 47px 0 50px; }
.mission { border-radius: 14px; background: #e8efe7; margin-bottom: 58px; display: flex; justify-content: space-between; align-items: center; gap: 23px; padding: 25px 32px; }
.mission p { margin: 0; font: 500 21px/1.35 var(--serif); max-width: 770px; }
.mission-doodle { font: 50px/1 var(--serif); color: #85aa8e; }
.mission a { flex-shrink: 0; }

/* 8. Páginas de editorias */
.page-banner { background: #fbf0e7; padding: 32px 0 44px; }
.page-banner .shell { position: relative; }
.breadcrumbs { display: flex; align-items: center; gap: 12px; font-size: 12px; color: #848080; margin-bottom: 33px; }
.breadcrumbs a { color: #80675f; }
.page-symbol { float: right; width: 86px; height: 86px; display: grid; place-items: center; font-size: 49px; border-radius: 26px; transform: rotate(8deg); }
.page-banner h1 { font: 600 clamp(36px,4.3vw,58px)/1.1 var(--serif); margin: 9px 0 11px; }
.page-banner p { font-size: 17px; max-width: 720px; color: #606564; margin: 0; }
.page-list { padding-top: 45px; padding-bottom: 45px; min-height: 270px; }
.count-label { color: #88807c; font-size: 13px; }
.empty-state { background: #fdf6f0; border: 1px solid #f5e9dd; border-radius: 16px; padding: 48px 24px; text-align: center; }
.empty-state > span { color: #d99565; font-size: 45px; }
.empty-state h3 { font: 600 27px/1.2 var(--serif); margin: 8px 0; }
.empty-state p { color: #656666; margin-bottom: 20px; }
.more-editorias { padding: 0 0 67px; }
.more-editorias h2 { font: 600 25px var(--serif); }
.topic-tags { display: flex; flex-wrap: wrap; gap: 10px; }
.topic-tags a { border: 1px solid #eee1d8; border-radius: 99px; padding: 8px 14px; font-size: 12px; background: #fff; }
.topic-tags a:hover { border-color: #d5a28f; color: #c65f50; }

/* 9. Páginas de matérias e busca */
.article-page { padding-top: 35px; }
.article-breadcrumbs { margin-bottom: 25px; }
.article-header { max-width: 830px; margin: 0 auto 29px; text-align: center; }
.article-eyebrow { font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.article-header h1 { font: 600 clamp(35px,5vw,63px)/1.08 var(--serif); letter-spacing: -1px; margin: 15px 0; }
.article-header > p { font-size: 19px; color: #62696a; line-height: 1.5; max-width: 730px; margin: 0 auto 16px; }
.article-meta { display: flex; justify-content: center; gap: 10px; color: #8c8781; font-size: 12px; }
.article-cover { max-width: 1040px; margin: auto; border-radius: 12px; overflow: hidden; }
.article-cover img { width: 100%; aspect-ratio: 2.05; object-fit: cover; }
.article-body { max-width: 720px; margin: 36px auto 75px; font: 17px/1.82 var(--sans); color: #434849; }
.article-body p { margin: 0 0 24px; }
.article-body .article-lead { font-size: 20px; line-height: 1.7; color: #343c3f; }
.article-body h2 { font: 600 29px/1.25 var(--serif); margin: 37px 0 14px; }
.editor-note { background: #f5f7f2; border-left: 4px solid #a6bc9d; padding: 21px 24px; margin-top: 38px; font-size: 13px; line-height: 1.6; }
.editor-note p { margin: 7px 0 0; }
.search-banner { padding-bottom: 51px; }
.large-search { max-width: 680px; display: flex; gap: 8px; background: #fff; border-radius: 13px; padding: 6px; border: 1px solid #ebdfd7; margin-top: 22px; }
.large-search input { border: 0; outline-offset: 2px; min-width: 0; width: 100%; padding: 12px 15px; color: var(--ink); font-size: 14px; }
.large-search button { background: var(--coral); border: 0; border-radius: 9px; color: #fff; padding: 12px 21px; font-weight: 700; }

/* 10. Rodapé */
.site-footer { background: #123943; color: #f9fbf9; }
.footer-grid { padding-top: 47px; padding-bottom: 42px; display: grid; grid-template-columns: 1.2fr .65fr .9fr; gap: 65px; }
.footer-brand { color: #fff; }
.footer-brand:hover { color: #fff; }
.footer-brand .brand-word small { color: #e5efef; }
.footer-grid p { color: #bfd0d0; max-width: 395px; font-size: 13px; margin: 13px 0 0; }
.footer-grid strong { display: block; margin-bottom: 13px; font-size: 13px; }
.footer-grid > div:nth-child(2) a { display: block; width: fit-content; font-size: 13px; color: #bfd0d0; margin-bottom: 5px; }
.footer-grid a:hover { color: #fff; }
.footer-grid .footer-note { color: #a5bbbc; display: block; font-size: 11px; line-height: 1.6; margin-top: 15px; }
.footer-bottom { border-top: 1px solid #426069; display: flex; justify-content: space-between; gap: 15px; padding-top: 14px; padding-bottom: 18px; color: #bdcbcb; font-size: 11px; }

/* 11. Tablet e telas intermediárias */
@media (max-width: 1170px) {
  .brand-caption { display: none; }
  .header-main { min-height: 76px; }
  .topic-nav-inner { gap: 13px; overflow-x: auto; scrollbar-width: thin; }
  .nav-item { flex-shrink: 0; }
  .hero-copy { padding-left: 22px; }
  .feature-large-content { width: 65%; }
}
@media (max-width: 960px) {
  .header-search { width: min(31vw,330px); }
  .header-links { gap: 13px; }
  .topic-nav-inner { justify-content: flex-start; }
  .hero-inner { grid-template-columns: 55% 45%; }
  .hero h1 { font-size: clamp(34px,4.2vw,44px); }
  .hero-copy { padding-right: 5px; }
  .hero-handwriting { font-size: 19px; }
  .category-strip { grid-template-columns: repeat(8,125px); overflow-x: auto; scrollbar-width: thin; scroll-snap-type: x proximity; }
  .category-tile { scroll-snap-align: start; }
  .features-grid { grid-template-columns: 1.25fr 1fr; }
  .feature-large-content { width: 76%; }
  .story-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .story-grid-four { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 750px) {
  .shell { width: min(calc(100% - 32px),var(--shell)); }
  .header-main { min-height: 70px; }
  .brand-word { font-size: 28px; }
  .header-search,.header-links,.topic-nav { display: none; }
  .mobile-menu { display: block; margin-left: auto; position: relative; }
  .mobile-menu > summary { list-style: none; cursor: pointer; display: grid; place-items: center; width: 41px; height: 41px; font-size: 26px; border: 1px solid #eee1d7; border-radius: 10px; }
  .mobile-menu > summary::-webkit-details-marker { display: none; }
  .mobile-menu-content { position: absolute; top: 47px; right: 0; width: min(85vw,330px); z-index: 20; background: #fff; border: 1px solid #eee2d9; box-shadow: 0 14px 33px #483a2d22; border-radius: 13px; padding: 16px; }
  .mobile-menu-content a { display: block; font-size: 14px; padding: 10px 6px; border-bottom: 1px solid #f3efeb; }
  .mobile-menu-content form { display: flex; gap: 5px; margin-bottom: 6px; }
  .mobile-menu-content input { min-width: 0; width: 100%; border: 1px solid #e9e0db; border-radius: 6px; padding: 8px; font-size: 12px; }
  .mobile-menu-content button { background: var(--coral); border: 0; border-radius: 6px; color: white; padding: 8px; font-size: 12px; }
  .hero-inner { width: 100%; display: flex; flex-direction: column; min-height: 0; }
  .hero-copy { padding: 37px 24px 32px; }
  .hero h1 { max-width: 620px; font-size: clamp(34px,7.2vw,47px); }
  .hero p { max-width: 570px; font-size: 14px; }
  .hero-photo { height: 250px; }
  .hero-photo img { object-position: center 44%; }
  .hero-photo::after { background: linear-gradient(0deg,transparent,rgba(246,234,224,.2)); }
  .hero-handwriting { right: 7%; top: 23%; font-size: 19px; }
  .hero-rainbow { left: auto; right: 14px; top: 360px; bottom: auto; transform: scale(.7); }
  .hero-spark { display: none; }
  .category-strip { padding: 20px 0; }
  .features-grid { height: auto; grid-template-columns: 1fr; }
  .feature-large { min-height: 315px; }
  .feature-side { grid-template-columns: 1fr 1fr; grid-template-rows: 170px; }
  .feature-small-content { width: 83%; padding: 13px; }
  .feature-small h3 { font-size: 17px; }
  .story-grid,.story-grid-four { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 23px 14px; }
  .creative-grid { grid-template-columns: 1fr; }
  .creative-card { min-height: 175px; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 30px; }
  .footer-grid > div:first-child { grid-column: 1/-1; }
  .mission { flex-wrap: wrap; padding: 20px; }
  .mission p { flex: 1 1 70%; font-size: 18px; }
}
@media (max-width: 470px) {
  .brand-word { font-size: 24px; }
  .brand-word small { font-size: 10px; }
  .brand-star { font-size: 21px; }
  .hero-copy { padding-top: 33px; }
  .hero h1 { font-size: 34px; }
  .hero-photo { height: 220px; }
  .category-strip { grid-template-columns: repeat(8,112px); }
  .category-icon { width: 48px; height: 48px; }
  .features-grid { gap: 12px; }
  .feature-large { min-height: 328px; }
  .feature-large::before { background: linear-gradient(90deg,rgba(255,253,247,.98),rgba(255,253,247,.9) 39%,rgba(255,253,247,.4) 72%,transparent); }
  .feature-large-content { width: 85%; padding-left: 19px; }
  .feature-large h2 { font-size: 26px; }
  .feature-small { min-height: 204px; }
  .feature-side { grid-template-columns: 1fr; grid-template-rows: repeat(2,204px); }
  .feature-small-content { width: 75%; }
  .feature-small h3 { font-size: 21px; }
  .story-title { font-size: 15px; }
  .story-kicker { font-size: 9px; }
  .reading-section { padding-top: 29px; }
  .section-heading h2 { font-size: 25px; }
  .section-heading .all-link { font-size: 11px; }
  .creative-section { padding: 42px 0; }
  .creative-card { padding: 21px 23px; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-grid > div:first-child { grid-column: auto; }
  .footer-bottom { flex-direction: column; gap: 3px; }
  .page-banner { padding: 25px 0 34px; }
  .page-banner h1 { font-size: 36px; }
  .page-symbol { width: 57px; height: 57px; font-size: 32px; }
  .article-header h1 { font-size: 36px; }
  .article-header > p { font-size: 16px; }
  .article-body { font-size: 15px; margin-top: 28px; }
  .article-body .article-lead { font-size: 17px; }
  .article-body h2 { font-size: 25px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .button,.category-tile,.creative-card,.story-image-link img { transition: none; } }


/* Ajuste final: preservar a legibilidade da foto no celular */
@media (max-width:750px) { .hero-rainbow { display:none; } }

.subcategory-filters{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-top:28px}
.filter-chip{border:1px solid #e8ddd2;color:#576469;border-radius:99px;font-size:12px;font-weight:600;padding:8px 14px;background:#fff}
.filter-chip.selected,.filter-chip:hover{border-color:#cf8066;background:#fbece5;color:#ae5645}
.article-subcategory{display:inline-block;font-size:12px;color:#a47662;margin:8px 0 0;text-decoration:underline;text-underline-offset:4px}
.article-sources{border-top:1px solid #ebe5dd;margin-top:24px;padding-top:20px}
.article-sources h2{font-size:20px}
.article-sources p{white-space:pre-line;overflow-wrap:anywhere;font-size:13px;color:#757c7d}
.related-products{padding-bottom:45px}
.related-products-intro{text-align:center;max-width:660px;margin:0 auto 24px}
.related-products-intro .section-eyebrow{font-size:10px}
.related-products-intro h2{font:600 30px/1.2 var(--serif);margin:7px 0}
.related-products-intro p{font-size:13px;color:#787f7d}
.related-products-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.related-product{border:1px solid #ece5dd;border-radius:12px;overflow:hidden;background:#fff;display:flex;gap:17px;align-items:center;padding:15px}
.related-product>a{width:100px;height:103px;flex-shrink:0;overflow:hidden;border-radius:9px}
.related-product img{height:100%;width:100%;object-fit:cover}
.related-product-placeholder{display:grid;place-items:center;width:100px;height:103px;flex-shrink:0;background:#f6ebe3;color:#bb7d6d;font-size:42px;border-radius:9px}
.related-product h3{font:600 19px/1.18 var(--serif);margin:4px 0}
.related-product p{font-size:12px;color:#7b7e7d;margin:0 0 7px;line-height:1.5}
.product-commercial-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:#a4735e}
.related-product .text-link{font-size:11px}
.product-public{padding:35px 0 75px}
.product-public-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(25px,5vw,70px)}
.product-public-visual{aspect-ratio:1.1;background:#f6ede4;border-radius:20px;overflow:hidden}
.product-public-visual img{width:100%;height:100%;object-fit:cover}
.product-public-placeholder{width:100%;height:100%;display:grid;place-items:center;font:140px/1 var(--serif);color:#d5aa96}
.product-public-info h1{font:600 clamp(32px,4vw,52px)/1.1 var(--serif);letter-spacing:-.6px;margin:13px 0 18px}
.product-public-summary{font-size:18px;color:#566569;line-height:1.6}
.product-public-description{font-size:15px;color:#536367;margin:20px 0;line-height:1.8}
.product-no-checkout{margin:24px 0;font-size:12px;color:#8a7771;border-left:3px solid #dbad88;background:#fbf7f1;padding:14px 17px}
@media(max-width:950px){.related-products-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:690px){.related-products-grid{grid-template-columns:1fr}.product-public-grid{grid-template-columns:1fr}.product-public-visual{aspect-ratio:1.5}.subcategory-filters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;padding-bottom:8px}.filter-chip{white-space:nowrap;flex-shrink:0}}

