:root{--ink:#0c0c0c;--ink-2:#161513;--ink-3:#1f1c19;--cream:#e8e3d8;--cream-dim:rgba(232,227,216,0.62);--cream-faint:rgba(232,227,216,0.32);--brass:#b8956a;--brass-bright:#d4b074;--rule:rgba(232,227,216,0.12);--serif:'Fraunces','Times New Roman',serif;--sans:'Inter',system-ui,sans-serif}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{overflow-x:hidden;scroll-behavior:smooth}
html,body{cursor:none}
@media (hover:none){html,body{cursor:auto}}
body{font-family:var(--sans);font-weight:400;color:var(--cream);background:var(--ink);line-height:1.5;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400}
a{color:inherit;text-decoration:none}
img,svg{display:block}
.cursor-dot,.cursor-ring{position:fixed;top:0;left:0;pointer-events:none;z-index:9999;border-radius:50%;transform:translate(-50%,-50%);mix-blend-mode:difference}
.cursor-dot{width:6px;height:6px;background:var(--cream);transition:transform .12s ease-out,width .2s,height .2s}
.cursor-ring{width:36px;height:36px;border:1px solid var(--cream);transition:transform .3s cubic-bezier(.2,.8,.2,1),width .25s,height .25s,border-color .25s}
.cursor-ring.hover{width:64px;height:64px;border-color:var(--brass)}
.cursor-dot.hover{width:2px;height:2px}
@media (hover:none){.cursor-dot,.cursor-ring{display:none}}
.grain{position:fixed;inset:0;pointer-events:none;z-index:50;opacity:.06;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 0.6 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}
.vignette{position:fixed;inset:0;pointer-events:none;z-index:40;background:radial-gradient(ellipse at center,transparent 50%,rgba(0,0,0,.5) 100%)}
header.nav{position:fixed;top:0;left:0;right:0;z-index:300;display:flex;align-items:center;justify-content:space-between;padding:22px 56px;background:rgba(12,12,12,0);transition:background .3s ease,padding .3s ease,border-color .3s;border-bottom:1px solid transparent}
header.nav.solid{background:rgba(12,12,12,.72);backdrop-filter:blur(20px) saturate(120%);-webkit-backdrop-filter:blur(20px) saturate(120%);padding:16px 56px;border-bottom-color:var(--rule)}
.nav-brand{font-family:var(--serif);font-weight:500;font-size:16px;letter-spacing:.04em;display:flex;align-items:center;gap:10px;color:var(--cream);white-space:nowrap}
.nav-brand .mark{min-width:30px;height:26px;padding:0 6px;border:1px solid var(--brass);display:grid;place-items:center;font-family:var(--serif);font-style:italic;font-size:12px;color:var(--brass)}
.nav-brand .sub{color:var(--brass);font-family:var(--sans);font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;margin-left:2px}
.nav-links{display:flex;gap:22px;list-style:none;flex-shrink:0;font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--cream-dim);font-weight:500}
.nav-links li a{white-space:nowrap}
.nav-links a{position:relative;transition:color .3s}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:var(--brass);transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.nav-links a:hover{color:var(--cream)}
.nav-links a:hover::after{transform:scaleX(1)}
.nav-home a{color:var(--brass)}
.nav-toggle{display:none;width:42px;height:42px;border-radius:50%;background:rgba(232,227,216,0.05);border:1px solid var(--rule);align-items:center;justify-content:center;cursor:none}
.nav-toggle svg{stroke:var(--cream);width:16px;height:16px}
.mobile-menu{position:fixed;inset:0;z-index:400;background:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;transform:translateY(-100%);transition:transform .35s ease;overflow-y:auto;padding:60px 0}
.mobile-menu.open{transform:translateY(0)}
.mobile-menu a{font-family:var(--serif);font-size:19px;font-style:italic;font-weight:400;color:var(--cream)}
.mobile-menu .close-btn{position:absolute;top:20px;right:24px;width:42px;height:42px;border-radius:50%;background:rgba(232,227,216,0.05);border:1px solid var(--rule);display:flex;align-items:center;justify-content:center;cursor:none}
.mobile-menu .close-btn svg{stroke:var(--cream);width:16px;height:16px}
@media (max-width:1180px){.nav-brand .sub{display:none}.nav-links{display:none}.nav-toggle{display:flex}}
.hero-simple{padding:168px 56px 70px;border-bottom:1px solid var(--rule);position:relative;overflow:hidden}
.hero-simple::before{content:'';position:absolute;inset:0;background-image:linear-gradient(var(--rule) 1px,transparent 1px),linear-gradient(90deg,var(--rule) 1px,transparent 1px);background-size:8% 34%;opacity:.25;pointer-events:none}
.hero-simple-inner{max-width:1140px;margin:0 auto;position:relative;z-index:1}
.hero-tag{display:inline-flex;align-items:center;gap:.6rem;background:rgba(184,149,106,.1);border:1px solid rgba(184,149,106,.3);padding:.5rem 1.1rem;margin-bottom:2rem;width:fit-content}
.hero-tag-dot{width:6px;height:6px;border-radius:50%;background:var(--brass);flex-shrink:0}
.hero-tag span{font-size:0.68rem;font-weight:500;letter-spacing:0.22em;text-transform:uppercase;color:var(--brass-bright)}
.hero-simple h1{font-family:var(--serif);font-weight:300;font-size:clamp(2rem,4vw,3.6rem);line-height:1.12;color:var(--cream);margin-bottom:1.4rem;letter-spacing:-0.02em;max-width:880px}
.hero-simple h1 em{font-style:italic;font-weight:400;color:var(--brass-bright)}
.hero-simple p{font-family:var(--serif);font-style:italic;font-weight:300;font-size:1.05rem;line-height:1.7;color:var(--cream-dim);max-width:700px;margin-bottom:2.5rem}
.hero-stats{display:flex;gap:2.5rem;flex-wrap:wrap;padding-top:2rem;border-top:1px solid var(--rule)}
.hero-stat-num{font-family:var(--serif);font-style:italic;font-size:2rem;font-weight:300;color:var(--brass-bright);line-height:1;display:block;margin-bottom:.3rem}
.hero-stat-label{font-size:0.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cream-faint)}
.hero-cta{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2rem}
.cta-btn{display:inline-flex;align-items:center;gap:.65rem;padding:1.05rem 1.9rem;border:1px solid var(--brass);background:var(--brass);color:var(--ink);font-size:0.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;transition:background .22s,border-color .22s,transform .22s}
.cta-btn:hover{background:var(--brass-bright);border-color:var(--brass-bright);transform:translateY(-2px)}
.cta-btn.ghost{background:transparent;color:var(--brass-bright)}
.cta-btn.ghost:hover{background:rgba(184,149,106,.1)}
.cta-btn svg{width:14px;height:14px;stroke:currentColor;flex-shrink:0}
.wrap{max-width:1140px;margin:0 auto}
.sec{padding:5.5rem 3rem}
@media (max-width:1080px){.sec{padding:4rem 2rem}}
.sec-label{display:flex;align-items:center;gap:.85rem;margin-bottom:1.5rem}
.sec-label-line{width:32px;height:1px;background:var(--brass);flex-shrink:0}
.sec-label span{font-size:0.68rem;font-weight:500;letter-spacing:0.24em;text-transform:uppercase;color:var(--brass)}
.sec-title{font-family:var(--serif);font-weight:300;font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.1;color:var(--cream);margin-bottom:.9rem;letter-spacing:-0.02em}
.sec-title em{font-style:italic;color:var(--brass-bright)}
.sec-sub{font-family:var(--serif);font-style:italic;font-weight:300;font-size:1rem;line-height:1.7;color:var(--cream-dim);max-width:700px;margin-bottom:3rem}
.rv{opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .55s ease}
.rv.in{opacity:1;transform:none}
.verse-box{border:1px solid var(--brass);background:rgba(184,149,106,.06);padding:2.5rem 3rem;text-align:center}
.verse-box blockquote{font-family:var(--serif);font-style:italic;font-size:1.3rem;line-height:1.6;color:var(--cream);max-width:760px;margin:0 auto 1rem}
.verse-box cite{font-size:0.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-bright);font-style:normal}
.overview-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--rule);border-left:1px solid var(--rule)}
.overview-card{padding:2.4rem;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);position:relative}
.overview-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:2px;background:var(--brass);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.overview-card:hover::before{transform:scaleX(1)}
.overview-tag{display:inline-block;font-size:0.62rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--brass);margin-bottom:.85rem}
.overview-title{font-family:var(--serif);font-weight:300;font-size:1.35rem;color:var(--cream);margin-bottom:1rem;letter-spacing:-0.01em}
.overview-desc{font-family:var(--serif);font-style:italic;font-size:0.9rem;line-height:1.75;color:var(--cream-dim)}
.overview-desc+.overview-desc{margin-top:.9rem}
@media (max-width:900px){.overview-grid{grid-template-columns:1fr}}
.steps-list{display:flex;flex-direction:column}
.step-item{display:flex;gap:1.2rem;padding:1.3rem 0;border-bottom:1px solid var(--rule)}
.step-item:last-child{border-bottom:none}
.step-num{font-family:var(--serif);font-style:italic;font-size:1.5rem;color:var(--brass);opacity:.6;flex-shrink:0;width:2.2rem}
.step-title{font-size:0.98rem;color:var(--cream);margin-bottom:.4rem;font-weight:500}
.step-desc{font-family:var(--serif);font-style:italic;font-size:0.88rem;line-height:1.7;color:var(--cream-dim)}
.step-badge{display:inline-block;font-size:0.62rem;font-weight:700;letter-spacing:.1em;color:var(--brass-bright);border:1px solid var(--rule);padding:.2rem .6rem;margin-left:.6rem;vertical-align:middle}
.role-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--rule);border-left:1px solid var(--rule)}
.role-grid.cols-3{grid-template-columns:repeat(3,1fr)}
.role-grid.cols-5{grid-template-columns:repeat(5,1fr)}
.role-card{padding:2rem;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.role-tag{display:inline-block;font-size:0.6rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--brass);margin-bottom:.9rem}
.role-title{font-size:0.96rem;color:var(--cream);font-weight:500;margin-bottom:.6rem}
.role-desc{font-family:var(--serif);font-style:italic;font-size:0.85rem;line-height:1.7;color:var(--cream-dim)}
.role-desc+.role-desc{margin-top:.6rem}
@media (max-width:1080px){.role-grid,.role-grid.cols-5{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.role-grid,.role-grid.cols-3,.role-grid.cols-5{grid-template-columns:1fr}}
.check-list{list-style:none;display:flex;flex-direction:column}
.check-list li{display:flex;gap:1rem;padding:1.1rem 0;border-bottom:1px solid var(--rule);font-family:var(--serif);font-style:italic;font-size:0.95rem;line-height:1.7;color:var(--cream-dim)}
.check-list li:last-child{border-bottom:none}
.check-mark{color:var(--brass-bright);flex-shrink:0;font-family:var(--sans);font-style:normal;font-weight:700}
.error-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}
.error-item{display:flex;gap:1rem;padding:1.6rem;border:1px solid var(--rule)}
.error-x{width:26px;height:26px;border-radius:50%;background:rgba(232,227,216,.08);color:var(--cream-faint);display:flex;align-items:center;justify-content:center;font-size:0.85rem;flex-shrink:0}
.error-item p{font-family:var(--serif);font-style:italic;font-size:0.9rem;line-height:1.7;color:var(--cream-dim)}
@media (max-width:900px){.error-grid{grid-template-columns:1fr}}
.compare-table{width:100%;border-collapse:collapse;font-size:0.86rem}
.compare-table th,.compare-table td{padding:1rem 1.2rem;border:1px solid var(--rule);text-align:left;vertical-align:top}
.compare-table thead th{background:rgba(184,149,106,.08);color:var(--brass-bright);font-size:0.66rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600}
.compare-table td{color:var(--cream-dim);font-family:var(--serif);font-style:italic;line-height:1.6}
.compare-table td:first-child{color:var(--cream);font-family:var(--sans);font-style:normal;font-weight:500;font-size:0.8rem}
.table-scroll{overflow-x:auto;border:1px solid var(--rule)}
.table-scroll .compare-table{border:none}
.table-scroll .compare-table th,.table-scroll .compare-table td{border-top:none;border-bottom:none;border-right:1px solid var(--rule)}
.table-scroll .compare-table tr:not(:last-child) td{border-bottom:1px solid var(--rule)}
.resumo{background:var(--ink-2);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.aside-note{background:var(--ink-2);border:1px solid var(--rule);padding:1.8rem 2rem;margin-top:2.5rem}
.aside-note p{font-family:var(--serif);font-style:italic;font-size:0.9rem;line-height:1.75;color:var(--cream-dim)}
.faq-item{padding:1.6rem 0;border-bottom:1px solid var(--rule)}
.faq-item:last-child{border-bottom:none}
.faq-q{font-size:1rem;color:var(--cream);font-weight:500;margin-bottom:.6rem}
.faq-a{font-family:var(--serif);font-style:italic;font-size:0.92rem;line-height:1.75;color:var(--cream-dim)}
.pill-check{display:flex;align-items:center;gap:.7rem;padding:.9rem 1.2rem;border:1px solid var(--rule);font-size:0.9rem;color:var(--cream-dim);cursor:pointer;transition:border-color .2s,color .2s,background .2s}
.pill-check:hover,.pill-check.active{border-color:var(--brass);color:var(--cream);background:rgba(184,149,106,.05)}
.pill-check .dot{width:8px;height:8px;border-radius:50%;border:1px solid var(--brass);flex-shrink:0}
.pill-check.active .dot{background:var(--brass)}
.pill-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem}
@media (max-width:700px){.pill-grid{grid-template-columns:1fr}}
.verse-mini-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem}
.verse-mini{border:1px solid var(--rule);padding:1.6rem 1.8rem}
.verse-mini blockquote{font-family:var(--serif);font-style:italic;font-size:0.98rem;line-height:1.65;color:var(--cream);margin-bottom:.8rem}
.verse-mini cite{font-size:0.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--brass-bright);font-style:normal;display:block;margin-bottom:.2rem}
.verse-mini .verse-topic{font-size:0.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cream-faint)}
@media (max-width:800px){.verse-mini-grid{grid-template-columns:1fr}}
.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.summary-card{border:1px solid var(--rule);padding:1.8rem}
.summary-icon{font-size:1.4rem;margin-bottom:.8rem}
.summary-title{font-size:1.02rem;color:var(--cream);font-weight:500;margin-bottom:.3rem}
.summary-tag{display:block;font-size:0.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brass);margin-bottom:1rem}
.summary-list{list-style:none;display:flex;flex-direction:column;gap:.5rem}
.summary-list li{font-family:var(--serif);font-style:italic;font-size:0.85rem;line-height:1.5;color:var(--cream-dim);padding-left:1rem;position:relative}
.summary-list li::before{content:'—';position:absolute;left:0;color:var(--brass)}
@media (max-width:900px){.summary-grid{grid-template-columns:1fr}}
.quote-callout{border-left:2px solid var(--brass);padding:.3rem 0 .3rem 1.4rem;margin:1.5rem 0}
.quote-callout p{font-family:var(--serif);font-style:italic;font-size:1rem;line-height:1.7;color:var(--cream)}
.quote-callout cite{display:block;margin-top:.5rem;font-size:0.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--brass-bright);font-style:normal}
.body-text{font-family:var(--serif);font-style:italic;font-size:0.98rem;line-height:1.8;color:var(--cream-dim);max-width:760px}
.body-text+.body-text{margin-top:1rem}
.lesson-footer-nav{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;padding:2.5rem 0;border-top:1px solid var(--rule)}
.lesson-footer-nav a{font-size:0.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--brass-bright);transition:opacity .2s}
.lesson-footer-nav a:hover{opacity:.7}
footer{padding:70px 56px 40px;border-top:1px solid var(--rule);background:var(--ink-2)}
.foot-top{display:grid;grid-template-columns:1.4fr 1fr;gap:60px;padding-bottom:50px;border-bottom:1px solid var(--rule);margin-bottom:32px}
.foot-top h4{font-family:var(--serif);font-style:italic;font-weight:300;font-size:28px;line-height:1.2;max-width:420px}
.foot-top h4 em{color:var(--brass-bright)}
.foot-col h5{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--cream-faint);margin-bottom:18px;font-weight:500}
.foot-col a{display:block;font-family:var(--serif);font-size:16px;padding:4px 0;color:var(--cream-dim);transition:color .25s}
.foot-col a:hover{color:var(--brass-bright)}
.foot-bot{display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--cream-faint);flex-wrap:wrap;gap:12px}
@media (max-width:980px){.foot-top{grid-template-columns:1fr;gap:40px}.foot-bot{flex-direction:column;text-align:center}}
.compare-cols{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}
.compare-col{border:1px solid var(--rule);padding:1.8rem}
.compare-col-title{font-size:0.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--brass);margin-bottom:1.2rem;display:flex;align-items:center;gap:.5rem}
.compare-col ul{list-style:none;display:flex;flex-direction:column;gap:.65rem}
.compare-col li{font-family:var(--serif);font-style:italic;font-size:0.88rem;line-height:1.65;color:var(--cream-dim);padding-left:1.3rem;position:relative}
.compare-col.neg li::before{content:'✗';position:absolute;left:0;font-family:var(--sans);font-style:normal;color:var(--cream-faint)}
.compare-col.pos li::before{content:'✓';position:absolute;left:0;font-family:var(--sans);font-style:normal;color:var(--brass-bright)}
@media (max-width:900px){.compare-cols{grid-template-columns:1fr}}
::selection{background:var(--brass);color:var(--ink)}
