:root { --paper:#f7f1e7; --paper-deep:#eee3d3; --ink:#18241f; --muted:#6d716b; --wine:#a83232; --wine-dark:#762628; --green:#21483d; --gold:#e2b340; --line:rgba(33,72,61,.16); --ease:cubic-bezier(.23,1,.32,1); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:'Source Sans 3',sans-serif; }
a { color:inherit; text-decoration:none; }
a:focus-visible, summary:focus-visible { outline:3px solid var(--gold); outline-offset:4px; }
.site-shell { min-height:100vh; overflow:hidden; background:var(--paper); background-image:linear-gradient(rgba(247,241,231,.92),rgba(247,241,231,.92)), url('assets/cavaquinho-roda-texture.jpg'); background-size:auto, 520px; }
.topbar { height:78px; max-width:1240px; margin:auto; padding:0 34px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.brand { display:flex; align-items:center; gap:11px; font-weight:800; letter-spacing:-.03em; font-size:20px; }.brand-lockup { position:relative; display:grid; grid-template-columns:auto auto; column-gap:4px; line-height:.9; }.brand-lockup strong { font:800 19px/1 Fraunces,serif; }.brand-lockup > span { color:var(--wine); font:700 19px/1 Fraunces,serif; }.brand-lockup small { grid-column:1/-1; margin-top:5px; color:var(--muted); font:800 7px/1 'Source Sans 3',sans-serif; letter-spacing:.18em; }
.brand img { width:32px; height:32px; object-fit:contain; }.brand-logo { width:154px !important; height:58px !important; object-fit:contain !important; }
.brand span span { color:var(--wine); }
.nav-links { display:flex; align-items:center; gap:28px; font-size:14px; font-weight:600; color:#43504a; }
.nav-links a:not(.nav-cta) { transition:color .2s var(--ease); }
.nav-links a:not(.nav-cta):hover { color:var(--wine); }
.nav-cta, .button, .course-cta { display:inline-flex; align-items:center; justify-content:center; gap:9px; transition:transform .18s var(--ease), background .18s var(--ease), color .18s var(--ease); }
.nav-cta { background:var(--green); color:white; border-radius:3px; padding:11px 16px; }
.nav-cta:hover, .button:hover, .course-cta:hover { transform:translateY(-2px); }
.mobile-menu { display:none; border:0; background:transparent; font-size:21px; color:var(--wine); }
.hero { max-width:1240px; margin:0 auto; padding:92px 34px 86px; display:grid; grid-template-columns: .88fr 1.12fr; gap:74px; align-items:center; }
.eyebrow, .section-kicker { font-size:11px; letter-spacing:.16em; font-weight:800; color:var(--wine); }
.eyebrow { display:flex; align-items:center; gap:8px; margin-bottom:23px; }
.eyebrow-dot { width:8px; height:8px; border-radius:50%; background:var(--gold); }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { font-family:'Fraunces',serif; letter-spacing:-.045em; }
h1 { font-size:clamp(50px,6.4vw,90px); line-height:.94; margin-bottom:28px; max-width:700px; }
h1 em,h2 em { color:var(--wine); font-style:normal; }
.hero-lede { max-width:480px; color:#53605a; font-size:18px; line-height:1.55; }
.hero-actions { margin-top:32px; display:flex; align-items:center; gap:24px; flex-wrap:wrap; }
.button { padding:15px 21px; font-weight:700; border-radius:3px; font-size:15px; }
.button-wine { background:var(--wine); color:white; box-shadow:0 8px 18px rgba(168,50,50,.16); }
.button-dark { background:var(--green); color:white; }
.text-link { display:inline-flex; align-items:center; gap:7px; font-weight:700; font-size:14px; color:var(--green); border-bottom:1px solid currentColor; padding-bottom:3px; }
.hero-note { margin-top:55px; border-left:2px solid var(--gold); padding-left:16px; display:flex; gap:9px; max-width:390px; color:#5c655f; }
.hero-note span { font-family:Fraunces,serif; font-size:34px; color:var(--wine); line-height:.6; }
.hero-note p { font-size:14px; line-height:1.4; margin:0; }
.hero-visual { position:relative; padding:22px 0 0 12px; }
.hero-image-frame { position:relative; z-index:1; overflow:hidden; aspect-ratio:1.06/1; border-radius:4px 38px 4px 38px; box-shadow:18px 18px 0 var(--green); }
.hero-image-frame img { width:100%; height:100%; object-fit:cover; display:block; }
.hero-stamp { position:absolute; z-index:2; top:-2px; left:-35px; width:114px; height:114px; border-radius:50%; background:var(--gold); display:flex; flex-direction:column; align-items:center; justify-content:center; transform:rotate(-9deg); color:var(--ink); }
.hero-stamp strong { font:800 37px/1 Fraunces,serif; }.hero-stamp span { text-transform:uppercase; font-size:9px; font-weight:800; letter-spacing:.08em; text-align:center; }
.staff-mark { color:var(--wine); letter-spacing:5px; font-size:19px; position:absolute; right:10px; bottom:-34px; transform:rotate(-3deg); }
.proof-strip { background:var(--green); color:var(--paper); display:grid; grid-template-columns:repeat(3,1fr); max-width:100%; padding:0 calc((100% - 1172px)/2); }
.proof-strip div { padding:25px 34px; display:grid; grid-template-columns:35px 1fr; column-gap:12px; border-right:1px solid rgba(247,241,231,.18); }.proof-strip div:last-child{border:0}.proof-strip span { grid-row:span 2; color:var(--gold); font:700 21px Fraunces,serif; }.proof-strip strong { font-size:15px; }.proof-strip small { color:#c9d2ca; font-size:12px; }
.content-section { max-width:1172px; margin:auto; padding:114px 30px; position:relative; }.editorial-section::after { content:'♪  ─────  ♪  ─────  ♪'; position:absolute; right:26px; top:78px; color:rgba(168,50,50,.38); font-size:12px; letter-spacing:3px; transform:rotate(-2deg); }.intro-section .learning-grid article:nth-child(2) { transform:translateY(14px); }.intro-section .learning-grid article:nth-child(3) { transform:translateY(-7px); }.split-heading { margin:23px 0 48px; display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:end; }.split-heading h2, .callout-copy h2, .faq-intro h2, .final-cta h2 { font-size:clamp(36px,4vw,58px); line-height:.98; margin:0; }.split-heading p, .callout-copy p, .final-cta p { color:var(--muted); line-height:1.6; font-size:17px; margin:0; max-width:480px; }
.learning-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:17px; }.learning-grid article { padding:30px 28px 32px; border-top:2px solid var(--green); background:rgba(255,255,255,.36); min-height:245px; position:relative; }.learning-grid article:nth-child(2){border-color:var(--wine)}.learning-grid article:nth-child(3){border-color:var(--gold)}.number-mark { position:absolute; top:22px; right:25px; font-size:11px; font-weight:800; color:var(--muted); }.learning-grid svg { color:var(--wine); margin-bottom:24px; }.learning-grid h3 { font-size:25px; margin-bottom:9px; }.learning-grid p { color:var(--muted); line-height:1.48; font-size:15px; margin-bottom:20px; }.learning-grid a, .course-row a { display:inline-flex; align-items:center; gap:6px; color:var(--wine); font-size:13px; font-weight:800; }
.editorial-callout { max-width:1172px; margin:0 auto 100px; padding:0 30px; display:grid; grid-template-columns:.87fr 1.13fr; align-items:center; gap:65px; }.callout-image { background:var(--paper-deep); padding:18px 18px 0 0; }.callout-image img { display:block; width:100%; aspect-ratio:1.25/1; object-fit:cover; }.callout-copy .section-kicker { margin-bottom:22px; }.callout-copy h2 { margin-bottom:24px; }.callout-copy p { margin-bottom:28px; }
.path-section { padding-top:32px; }.section-track-label { position:absolute; left:30px; top:57px; color:var(--green); font-size:10px; letter-spacing:.18em; font-weight:800; transform:rotate(-90deg); transform-origin:left top; }.course-list { display:flex; flex-direction:column; gap:11px; }.course-row { display:grid; grid-template-columns:1.1fr 1.4fr 1.6fr auto; align-items:center; gap:25px; padding:25px 22px; border:1px solid var(--line); background:linear-gradient(90deg,rgba(255,255,255,.75),rgba(255,255,255,.28)); position:relative; transition:transform .2s var(--ease), box-shadow .2s var(--ease); }.course-row::before { content:'FAIXA'; position:absolute; top:7px; right:12px; font-size:8px; letter-spacing:.18em; color:rgba(33,72,61,.45); font-weight:800; }.course-row:hover { transform:translateX(7px); box-shadow:8px 8px 0 rgba(33,72,61,.1); }.course-row.wine { border-left:5px solid var(--wine); }.course-row.green { border-left:5px solid var(--green); }.course-row.gold { border-left:5px solid var(--gold); }.course-index { color:var(--muted); font-size:10px; letter-spacing:.1em; font-weight:800; }.course-main h3 { font-size:26px; margin-bottom:3px; }.course-main span { font-size:13px; color:var(--wine); font-weight:700; }.course-row p { margin:0; color:var(--muted); font-size:14px; line-height:1.4; }.course-cta { background:var(--green); color:white; padding:12px 15px; font-size:13px; font-weight:800; white-space:nowrap; }.path-footer { display:flex; gap:24px; flex-wrap:wrap; margin-top:25px; color:var(--green); font-size:13px; font-weight:700; }.path-footer span { display:flex; align-items:center; gap:7px; }.path-footer svg { color:var(--wine); }
.faq-section { background:var(--green); color:var(--paper); display:grid; grid-template-columns:.85fr 1.15fr; gap:90px; padding:106px max(30px, calc((100% - 1112px)/2)); position:relative; }.faq-staff { position:absolute; top:28px; right:7%; color:var(--gold); font-size:13px; letter-spacing:4px; transform:rotate(-2deg); }.faq-intro .section-kicker { color:var(--gold); }.faq-intro h2 { margin:22px 0; }.faq-intro h2 em { color:var(--gold); }.faq-intro p { color:#c9d2ca; max-width:370px; line-height:1.55; margin-bottom:26px; }.text-link-light { color:var(--paper); }.faq-list details { border-bottom:1px solid rgba(247,241,231,.24); padding:21px 0; }.faq-list summary { cursor:pointer; display:flex; align-items:center; justify-content:space-between; list-style:none; font:600 20px Fraunces,serif; }.faq-list summary::-webkit-details-marker { display:none; }.faq-list summary svg { transition:transform .2s var(--ease); color:var(--gold); }.faq-list details[open] summary svg { transform:rotate(180deg); }.faq-list details p { color:#c9d2ca; line-height:1.55; max-width:680px; margin:15px 30px 2px 0; font-size:15px; }
.final-cta { max-width:1172px; margin:auto; padding:105px 30px 110px; display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:end; }.final-cta .section-kicker { margin-bottom:21px; }.final-cta p { margin-bottom:25px; }.footer { border-top:1px solid var(--line); max-width:1172px; margin:auto; padding:28px 30px 40px; display:flex; gap:25px; align-items:center; font-size:13px; color:var(--muted); }.footer .brand { color:var(--ink); }.footer p { margin:0; flex:1; }.footer > a:last-child { color:var(--wine); font-weight:700; display:flex; align-items:center; gap:6px; }
@media (max-width:900px) { .hero { grid-template-columns:1fr; gap:42px; padding-top:65px; }.hero-copy{max-width:700px}.hero-visual{max-width:700px;margin:auto;width:100%}.split-heading,.editorial-callout,.faq-section,.final-cta { grid-template-columns:1fr; gap:35px; }.course-row { grid-template-columns:1fr 1.5fr; }.course-row p { grid-column:2; }.course-cta { grid-column:2; justify-self:start; }.faq-section { gap:30px; }.footer { flex-wrap:wrap; }.footer p { flex-basis:100%; order:3; } }
@media (max-width:640px) { .editorial-section::after,.faq-staff { display:none; }.section-track-label { position:static; transform:none; margin-bottom:20px; }.intro-section .learning-grid article:nth-child(2),.intro-section .learning-grid article:nth-child(3) { transform:none; }.topbar { height:68px; padding:0 18px; position:relative; }.brand-logo { width:136px !important; height:52px !important; }.nav-links { display:none; position:absolute; top:68px; left:18px; right:18px; z-index:10; padding:18px; background:var(--paper); border:1px solid var(--line); box-shadow:0 10px 20px rgba(33,72,61,.12); flex-direction:column; align-items:flex-start; gap:16px; }.nav-links.is-open { display:flex; }.mobile-menu { display:block; color:var(--wine); }.hero { padding:55px 20px 72px; }.hero h1 { font-size:49px; }.hero-lede { font-size:16px; }.hero-actions { align-items:flex-start; flex-direction:column; gap:17px; }.hero-note { margin-top:38px; }.hero-image-frame { box-shadow:10px 10px 0 var(--green); }.hero-stamp { left:-8px; width:92px; height:92px; }.hero-stamp strong{font-size:30px}.staff-mark{font-size:12px;right:0}.proof-strip { display:block; padding:0 20px; }.proof-strip div { padding:18px 0; border-right:0; border-bottom:1px solid rgba(247,241,231,.18); }.content-section { padding:78px 20px; }.split-heading { gap:20px; margin-bottom:32px; }.split-heading p,.callout-copy p,.final-cta p { font-size:16px; }.learning-grid { grid-template-columns:1fr; }.learning-grid article { min-height:auto; }.editorial-callout { padding:0 20px; margin-bottom:65px; gap:32px; }.callout-image { padding:12px 12px 0 0; }.course-row { grid-template-columns:1fr; gap:11px; padding:23px 18px; }.course-row p,.course-cta { grid-column:auto; }.course-cta { justify-self:start; }.path-footer { gap:12px; flex-direction:column; }.faq-section { padding:76px 20px; }.faq-list summary { font-size:18px; gap:20px; }.final-cta { padding:76px 20px 80px; }.footer { padding:25px 20px 35px; flex-direction:column; align-items:flex-start; gap:14px; } }
@media (prefers-reduced-motion:reduce) { *, *::before, *::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; } }
