@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');

:root { --ink:#090909; --paper:#f4f1ec; --pink:#f70f62; --soft-pink:#ffd8e5; --line:#d9d4ce; }
body { font-family:'DM Sans',sans-serif; background:var(--paper); color:var(--ink); }
h1,h2,h3,h4,.eyebrow,.btn { font-family:'Space Grotesk',sans-serif; }
h1 { text-transform:none; font-size:clamp(3rem,7vw,6.6rem); letter-spacing:-.07em; }
h2 { font-size:clamp(2.25rem,5vw,4.6rem); letter-spacing:-.06em; }
h3 { letter-spacing:-.04em; }
.modern-top { background:var(--pink); color:#fff; padding:11px 20px; text-align:center; font-size:.78rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.modern-hero { min-height:calc(100vh - 42px); display:flex; align-items:center; position:relative; overflow:hidden; background:var(--ink); color:#fff; }
.modern-hero:before { content:''; position:absolute; width:48vw; height:48vw; right:-10vw; top:-12vw; border:1px solid rgba(255,255,255,.25); border-radius:50%; box-shadow:0 0 0 70px rgba(255,255,255,.03),0 0 0 140px rgba(255,255,255,.03); }
.modern-hero .container { position:relative; z-index:1; }
.hero-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:70px; align-items:center; }
.hero-copy { max-width:760px; }
.hero-copy h1 { margin:22px 0 26px; }
.hero-copy h1 span, .accent { color:var(--pink); }
.hero-copy p { max-width:570px; color:#c8c4c0; font-size:1.2rem; line-height:1.6; }
.eyebrow { color:var(--pink); text-transform:uppercase; letter-spacing:.16em; font-size:.76rem; font-weight:700; }
.hero-mark { min-height:460px; border:1px solid #444; background:linear-gradient(145deg,rgba(247,15,98,.92),rgba(247,15,98,.14)),url('https://images.unsplash.com/photo-1558769132-cb1fac08c04f?q=80&w=1200&auto=format&fit=crop') center/cover; display:flex; align-items:flex-end; padding:30px; box-shadow:18px 18px 0 var(--pink); }
.hero-mark strong { font-size:clamp(2rem,4vw,4rem); line-height:.9; letter-spacing:-.07em; }
.btn { border:0; padding:18px 28px; background:var(--pink); color:#fff; font-size:.9rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; transition:.25s; }
.btn:hover { background:#fff; color:var(--ink); transform:translateY(-3px); }
.btn-dark { background:var(--ink); color:#fff; }
.modern-hero .btn { margin-top:30px; }
.section-title { max-width:820px; margin-bottom:45px; }
.section-title p { color:#6b6864; max-width:620px; font-size:1.1rem; }
.paper-section { background:var(--paper); }
.dark-section { background:var(--ink); color:#fff; }
.dark-section .section-title p { color:#aaa5a0; }
.pink-section { background:var(--pink); color:#fff; }
.feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.feature-card { padding:30px; min-height:245px; background:#fff; border:1px solid var(--line); display:flex; flex-direction:column; justify-content:space-between; }
.dark-section .feature-card { background:#161616; border-color:#3b3b3b; }
.feature-card .number { color:var(--pink); font-size:2rem; font-weight:700; }
.feature-card p { color:#77736e; }
.dark-section .feature-card p { color:#aaa5a0; }
.split { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
.editorial-photo { width:100%; min-height:470px; object-fit:cover; filter:grayscale(1); box-shadow:20px 20px 0 var(--pink); }
.check-list { list-style:none; display:grid; gap:16px; margin-top:30px; }
.check-list li { display:flex; gap:14px; align-items:flex-start; padding-bottom:16px; border-bottom:1px solid var(--line); }
.check-list li:before { content:'+'; color:var(--pink); font-size:1.4rem; font-weight:700; }
.offer { max-width:560px; margin:0 auto; background:#fff; color:var(--ink); padding:42px; box-shadow:18px 18px 0 var(--pink); text-align:center; }
.offer .price { font-family:'Space Grotesk'; font-size:clamp(2.5rem,6vw,4.5rem); font-weight:700; letter-spacing:-.08em; margin:12px 0 20px; }
.offer .btn { width:100%; }
.faq-list { max-width:820px; margin:auto; display:grid; gap:12px; }
details { background:#fff; border-left:4px solid var(--pink); padding:20px 24px; }
summary { cursor:pointer; font-weight:700; }
details p { color:#6b6864; margin-top:12px; }
.modern-footer { padding:36px 20px; background:#050505; color:#777; text-align:center; font-size:.85rem; }
.video-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.video-card { background:#151515; padding:14px; }
.video-card iframe,.video-card video { width:100%; aspect-ratio:9/16; display:block; border:0; }
@media(max-width:800px) { .hero-grid,.split { grid-template-columns:1fr; gap:38px; } .modern-hero { padding:70px 0; } .hero-mark { min-height:330px; } .feature-grid,.video-grid { grid-template-columns:1fr; } .section-padding { padding:70px 0; } .offer { padding:28px 20px; box-shadow:10px 10px 0 var(--pink); } }

/* The course LP follows the same sharp editorial language as Consultoria de Imagem. */
.buyer-page { font-family:var(--font-main); }
.buyer-page h1,.buyer-page h2,.buyer-page h3,.buyer-page .btn,.buyer-page .eyebrow { font-family:var(--font-main); }
.buyer-page h1 { text-transform:uppercase; letter-spacing:-.045em; font-weight:900; }
.buyer-page .modern-hero .hero-copy h1 { font-size:clamp(2.3rem,4.5vw,4.6rem); line-height:.98; }
.buyer-page h2 { font-weight:800; }
.buyer-page .modern-top { background:var(--brand-black); letter-spacing:0; text-transform:none; padding:15px 20px; }
.buyer-page .modern-hero { background:#000; }
.buyer-page .modern-hero:before { border-radius:0; border-color:rgba(247,15,98,.35); transform:rotate(18deg); }
.buyer-page .hero-mark { border:0; border-radius:0; box-shadow:20px 20px 0 var(--brand-pink); }
.buyer-page .hero-copy h1 span { color:var(--brand-pink); }
.buyer-page .feature-card,.buyer-page .teacher-card,.buyer-page details { border-radius:0; box-shadow:0 10px 30px rgba(0,0,0,.05); }
.buyer-page .feature-card { border-top:5px solid var(--brand-pink); border-left:0; border-right:0; border-bottom:0; }
.buyer-page .course-stats { border-radius:0; }
.buyer-page .pink-section { background:var(--brand-pink); }
.buyer-page .offer { border-radius:0; }
.buyer-page .pink-section .section-title { text-align:center; }
.buyer-page .pink-section .section-title, .buyer-page .pink-section .section-title h2, .buyer-page .pink-section .section-title p { margin-left:auto; margin-right:auto; text-align:center; }
.buyer-page .program-section { background:var(--brand-pink); color:#fff; }
.buyer-page .program-section .section-title p { color:#fff; }
.buyer-page .program-section .modules { display:block; max-width:900px; margin:0 auto; padding:40px; background:#fff; color:var(--brand-black); box-shadow:20px 20px 0 var(--brand-black); }
.buyer-page .program-section .module { padding:15px 0; background:transparent; border:0; border-bottom:1px solid #eee; }
.buyer-page .program-section .module:last-child { border-bottom:0; }
.buyer-page .program-section .module strong { display:inline; color:var(--brand-black); font-size:1rem; }
.buyer-page .program-section .module p { display:inline; color:#555; font-size:1rem; }
.buyer-page .program-section .module p:before { content:' - '; }
.career-page { --ink:#23211f; --paper:#f7f4f1; --pink:#d13989; --soft-pink:#f1d8e7; --line:#ddd5d0; --brand-black:#23211f; --brand-pink:#d13989; --brand-pink-dark:#9b2f9b; }
.career-page .modern-top { background:#23211f; }
.career-page .modern-hero { background:#23211f; }
.career-page .modern-hero:before { border-color:rgba(209,57,137,.4); box-shadow:0 0 0 70px rgba(155,47,155,.12),0 0 0 140px rgba(239,105,37,.08); }
.career-page .hero-mark { background-image:linear-gradient(145deg,rgba(209,57,137,.92),rgba(155,47,155,.25)),url('https://vagasdemoda.com.br/assets/images/mobile-mokup.png'); box-shadow:18px 18px 0 #ef6925; }
.career-page .hero-copy h1 span,.career-page .accent,.career-page .eyebrow,.career-page .feature-card .number { color:#d13989; }
.career-page .btn { background:#ef6925; }
.career-page .btn:hover { background:#ffe196; color:#23211f; }
.career-page .dark-section { background:#23211f; }
.career-page .pink-section { background:linear-gradient(130deg,#d13989,#9b2f9b); }
.career-page .feature-card { border-top-color:#d13989; }
.career-page .editorial-photo { box-shadow:20px 20px 0 #ef6925; }
.career-page .offer { box-shadow:18px 18px 0 #ef6925; }
.career-page details { border-left-color:#ef6925; }
.career-nav { min-height:74px; padding:16px 5vw; background:#23211f; color:#fff; display:flex; align-items:center; justify-content:space-between; gap:30px; position:relative; z-index:3; }
.career-nav img { max-height:34px; filter:invert(1); display:block; }
.career-page .career-nav > a { display:none; }
.career-nav div { display:flex; align-items:center; gap:26px; font-size:.88rem; }
.career-nav div a { color:#ddd5d0; }
.career-nav button { border:1px solid #ef6925; background:transparent; color:#fff; padding:10px 16px; font:600 .8rem 'DM Sans'; cursor:pointer; }
.career-page .modern-hero { min-height:calc(100vh - 116px); background:linear-gradient(115deg,#23211f 0%,#23211f 47%,#6f2c7c 100%); }
.career-page .hero-grid { gap:100px; }
.career-page .hero-copy h1 { font-size:clamp(3rem,6vw,5.8rem); letter-spacing:-.08em; }
.career-page .hero-copy h1 { font-size:clamp(2.6rem,4.8vw,4.8rem); max-width:650px; }
.career-page .hero-copy h1 { font-size:clamp(2.3rem,4vw,4rem); line-height:.96; letter-spacing:-.1em; max-width:560px; }
.career-page .hero-logo { display:block; width:min(260px,70%); height:auto; margin-bottom:42px; filter:brightness(0) invert(1); }
.career-page .hero-copy p { color:#ddd5d0; }
.career-page .hero-mark { min-height:520px; border-radius:28px; box-shadow:none; border:10px solid rgba(255,255,255,.15); transform:rotate(2deg); overflow:hidden; }
.career-page .hero-mark strong { letter-spacing:-.08em; }
.career-page .hero-badge { align-self:flex-start; margin-left:auto; border:1px solid rgba(255,255,255,.6); border-radius:30px; padding:10px 15px; font-size:.65rem; letter-spacing:.12em; line-height:1.2; }
.hero-proof { display:flex; align-items:center; gap:14px; margin-top:44px; color:#bdb5b0; font-size:.85rem; max-width:260px; }
.hero-proof strong { color:#ffe196; font:700 1.7rem 'Space Grotesk'; white-space:nowrap; }
.career-page .feature-grid { gap:20px; }
.career-page .feature-card { border:0; border-radius:20px; min-height:260px; box-shadow:0 12px 30px rgba(35,33,31,.08); position:relative; overflow:hidden; }
.career-page .feature-card:after { content:''; position:absolute; width:90px; height:90px; border-radius:50%; right:-28px; bottom:-28px; background:#f1d8e7; }
.career-page .feature-card:nth-child(2):after { background:#ffe196; }
.career-page .feature-card:nth-child(3):after { background:#efc4d9; }
.career-page .feature-card .number { font-size:1rem; }
.career-page .dark-section { background:#3a3836; }
.career-page .dark-section .editorial-photo { border-radius:24px; box-shadow:none; filter:none; }
.career-page .dark-section .check-list li { border-color:#625b57; }
.career-page .offer { border-radius:24px; box-shadow:none; }
.design-teachers { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.design-teacher { background:#fff; border-top:4px solid var(--brand-pink); padding:18px; }
.design-teacher img { width:100%; height:230px; object-fit:contain; background:transparent; filter:grayscale(1); }
.design-teacher h3 { font-size:1.05rem; margin-top:15px; }
.design-teacher p { color:#6b6864; font-size:.85rem; line-height:1.45; margin-top:8px; }
.course-details .course-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
.course-details .course-stat { background:#fff; padding:26px 20px; }
.course-details .course-stat strong { display:block; font:700 2rem 'Space Grotesk'; letter-spacing:-.06em; }
.course-details .course-stat span { color:#77736e; font-size:.9rem; }
.grade-list { max-width:900px; margin:0 auto; padding:34px 40px; background:#fff; color:#090909; box-shadow:20px 20px 0 #000; }
.grade-list li { list-style:none; padding:15px 0; border-bottom:1px solid #eee; font-weight:700; }
.grade-list li:before { content:'+'; color:var(--brand-pink); margin-right:14px; }
@media(max-width:900px) { .design-teachers { grid-template-columns:repeat(2,1fr); } }
@media(max-width:600px) { .design-teachers { grid-template-columns:1fr; } }
@media(max-width:700px) { .course-details .course-stats { grid-template-columns:repeat(2,1fr); } }
@media(max-width:700px) { .grade-list { padding:22px 20px; box-shadow:10px 10px 0 #000; } }
@media(max-width:800px) { .career-nav { padding:14px 20px; } .career-nav div a { display:none; } .career-page .modern-hero { min-height:auto; } .career-page .hero-grid { gap:40px; } .career-page .hero-mark { min-height:360px; transform:none; border-width:6px; } .hero-proof { margin-top:30px; } }
body:has(.program-list) .modern-hero .hero-copy h1 { font-size:clamp(2rem,3.4vw,3.6rem); line-height:1; max-width:500px; }
body:has(.program-list) .dark-section .split { grid-template-columns:1fr; max-width:820px; margin:0 auto; text-align:center; }
body:has(.program-list) .dark-section .editorial-photo { max-width:620px; margin:0 auto 36px; }
body:has(.program-list) .dark-section .check-list { max-width:560px; margin:30px auto; text-align:left; }
.privacy-banner { position:fixed; left:20px; right:20px; bottom:20px; z-index:9999; display:flex; align-items:center; justify-content:space-between; gap:24px; max-width:1000px; margin:auto; padding:18px 22px; background:#23211f; color:#fff; box-shadow:0 12px 35px rgba(0,0,0,.28); font-size:.85rem; }
.privacy-banner p { margin:0; color:#ddd5d0; line-height:1.45; }
.privacy-banner a { color:#ffe196; text-decoration:underline; }
.privacy-banner button { flex:0 0 auto; border:0; padding:12px 20px; background:var(--brand-pink); color:#fff; font-weight:700; cursor:pointer; }
@media(max-width:650px) { .privacy-banner { left:12px; right:12px; bottom:12px; display:block; padding:16px; } .privacy-banner button { width:100%; margin-top:12px; } }
