@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Sora:wght@500;600;700&display=swap');

:root {
  --black: #090909;
  --soft-black: #11110f;
  --ink: #1b1a17;
  --gold: #c9a449;
  --gold-light: #e6c66d;
  --gold-pale: #f4ead1;
  --cream: #f7f5ef;
  --white: #fff;
  --line: rgba(17, 17, 15, 0.13);
  --muted: #77736b;
  --radius: 24px;
  --shadow: 0 28px 80px rgba(0, 0, 0, 0.09);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--cream);
  font-family: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img, svg, video, canvas { display: block; max-width: 100%; }
main, section, article, div, form, fieldset { min-width: 0; }
h1, h2, h3, p, li, summary, label, span { overflow-wrap: break-word; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button, .button { max-width: 100%; }
a { color: inherit; text-decoration: none; }
.grain {
  position: fixed; inset: 0; z-index: 20; pointer-events: none; opacity: .025;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");
}
.section-shell { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
.site-header {
  width: min(1240px, calc(100% - 48px)); height: 108px; margin: auto; display: flex; align-items: center; justify-content: space-between; position: relative; z-index: 10;
}
.brand { position: absolute; left: 50%; transform: translateX(-50%); display: inline-flex; align-items: center; flex: none; }
.brand-logo { width: auto; height: 92px; object-fit: contain; }
.brand-mark { width: 35px; height: 35px; border: 1px solid var(--gold); border-radius: 50%; display: grid; place-items: center; font-family: "DM Serif Display", Georgia, serif; font-size: 21px; color: var(--gold); transform: rotate(-8deg); }
.brand-name { font-size: 13px; font-weight: 400; }
.brand-name b { font-weight: 800; }
.desktop-nav { display: flex; gap: 36px; font-size: 13px; color: #55514a; }
.desktop-nav a { transition: color .2s; }
.desktop-nav a:hover { color: var(--gold); }
.button { border: 0; display: inline-flex; align-items: center; justify-content: center; gap: 18px; min-height: 54px; padding: 0 24px; border-radius: 999px; cursor: pointer; font-weight: 750; font-size: 14px; transition: transform .22s, box-shadow .22s, background .22s; }
.button:hover { transform: translateY(-2px); }
.button-small { min-height: 42px; padding: 0 18px; font-size: 12px; }
.button-outline { border: 1px solid var(--line); background: rgba(255,255,255,.32); }
.button-outline:hover { border-color: var(--gold); }
.button-gold { color: #17130a; background: linear-gradient(135deg, var(--gold-light), var(--gold)); box-shadow: 0 12px 35px rgba(185, 143, 42, .22); }
.button-dark { color: white; background: var(--black); }
.text-link { display: inline-flex; gap: 15px; align-items: center; font-size: 13px; font-weight: 700; border-bottom: 1px solid var(--ink); padding-bottom: 6px; }
.eyebrow { display: inline-flex; align-items: center; gap: 10px; text-transform: uppercase; font-size: 10px; letter-spacing: .22em; font-weight: 800; color: #676158; }
.eyebrow span { display: inline-block; width: 28px; height: 1px; background: var(--gold); }
.eyebrow.light { color: #cbc5b7; }
.hero { min-height: 710px; display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 50px; padding: 50px 0 100px; }
.hero h1, .section-heading h2, .signature h2, .niche-intro h2, .diagnostic h2, .contact h2 { font-family: "DM Serif Display", Georgia, "Times New Roman", serif; font-weight: 400; letter-spacing: -.035em; margin: 24px 0; line-height: 1.02; }
.hero h1 { max-width: 670px; font-size: clamp(52px, 6.3vw, 88px); }
em { color: var(--gold); font-weight: 400; }
.hero-copy > p { max-width: 600px; font-size: 17px; line-height: 1.75; color: #68635a; }
.hero-note { margin-top: 20px; padding: 16px 18px; border-left: 3px solid var(--gold); background: rgba(255,255,255,.58); border-radius: 0 14px 14px 0; font-size: 14px !important; line-height: 1.65 !important; color: #4f4b44 !important; }
.hero-note strong { color: var(--ink); }
.hero-actions { display: flex; align-items: center; gap: 32px; margin-top: 34px; }
.trust-row { display: flex; align-items: center; gap: 13px; margin-top: 46px; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: #827c72; font-weight: 700; }
.trust-row i { width: 3px; height: 3px; border-radius: 50%; background: var(--gold); }
.hero-visual { height: 540px; position: relative; display: grid; place-items: center; }
.hero-visual::before { content: ""; position: absolute; width: 420px; height: 420px; border-radius: 50%; background: radial-gradient(circle, #fff 0 35%, #ede7d9 70%, transparent 71%); }
.orbit { position: absolute; border: 1px solid rgba(177, 141, 54, .25); border-radius: 50%; }
.orbit-one { width: 455px; height: 455px; }
.orbit-two { width: 540px; height: 335px; transform: rotate(-28deg); }
.hero-card { position: relative; z-index: 2; border-radius: 20px; box-shadow: var(--shadow); }
.main-card { width: 330px; height: 405px; padding: 24px; color: white; background: linear-gradient(145deg, #1b1b18, #080808); transform: rotate(3deg); }
.main-card::after { content: ""; position: absolute; inset: 0; border-radius: inherit; border: 1px solid rgba(255,255,255,.08); pointer-events: none; }
.portrait-card { width: 350px; height: 455px; overflow: hidden; border: 6px solid rgba(255,255,255,.88); background: var(--black); transform: rotate(2.5deg); }
.portrait-card img { width: 100%; height: 100%; object-fit: cover; object-position: center 29%; }
.card-topline { display: flex; justify-content: space-between; text-transform: uppercase; font-size: 9px; letter-spacing: .16em; color: #a8a296; }
.card-topline b { color: var(--gold); }
.signal-chart { height: 210px; margin: 34px 0 25px; display: flex; align-items: flex-end; gap: 9px; border-bottom: 1px solid rgba(255,255,255,.15); padding: 0 8px; }
.signal-chart span { height: var(--h); flex: 1; border-radius: 4px 4px 0 0; background: linear-gradient(var(--gold-light), #70581c); box-shadow: 0 0 22px rgba(201,164,73,.12); }
.card-result { display: flex; flex-direction: column; gap: 8px; }
.card-result strong { font-family: "DM Serif Display", Georgia, serif; font-size: 23px; font-weight: 400; }
.card-result small { color: #928d83; }
.floating-card { position: absolute; z-index: 3; display: flex; flex-direction: column; gap: 7px; width: 145px; padding: 18px; border-radius: 15px; background: rgba(255,255,255,.88); border: 1px solid white; box-shadow: var(--shadow); backdrop-filter: blur(10px); font-size: 13px; }
.floating-card span { color: var(--gold); font-size: 9px; letter-spacing: .18em; }
.floating-one { top: 38px; right: 0; transform: rotate(5deg); }
.floating-two { bottom: 35px; left: 0; transform: rotate(-5deg); }
.gold-disc { position: absolute; z-index: 4; right: 27px; bottom: 100px; width: 73px; height: 73px; border-radius: 50%; display: grid; place-items: center; background: var(--gold); border: 5px solid var(--cream); font-family: Georgia, serif; font-size: 31px; }
.marquee { background: var(--black); color: white; overflow: hidden; height: 64px; display: flex; align-items: center; }
.marquee div { display: flex; align-items: center; gap: 35px; width: max-content; white-space: nowrap; animation: ticker 32s linear infinite; }
.marquee span { font-size: 11px; letter-spacing: .22em; font-weight: 700; }
.marquee i { color: var(--gold); font-style: normal; }
@keyframes ticker { to { transform: translateX(-50%); } }
.value { padding: 140px 0; }
.section-heading h2, .signature h2, .niche-intro h2, .diagnostic h2, .contact h2 { font-size: clamp(42px, 5vw, 66px); }
.section-heading > p { color: var(--muted); max-width: 680px; font-size: 16px; line-height: 1.75; }
.section-heading.centered { text-align: center; }
.section-heading.centered > p { margin-inline: auto; }
.value-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 60px; }
.value-card { min-height: 410px; padding: 35px; position: relative; background: white; border: 1px solid rgba(0,0,0,.055); border-radius: var(--radius); transition: transform .25s, box-shadow .25s; display: flex; flex-direction: column; }
.value-card:hover { transform: translateY(-7px); box-shadow: var(--shadow); }
.card-number { position: absolute; top: 28px; right: 30px; font-size: 10px; letter-spacing: .18em; color: #a8a196; }
.value-card h3 { margin: 50px 0 14px; font-family: "DM Serif Display", Georgia, serif; font-size: 25px; font-weight: 400; }
.value-card p { color: var(--muted); font-size: 15px; line-height: 1.75; }
.card-outcome { display: block; margin-top: auto; padding-top: 20px; border-top: 1px solid var(--line); color: var(--ink); font-size: 13px; line-height: 1.55; }
.card-outcome::before { content: "✦"; color: var(--gold); margin-right: 9px; }
.icon-line { height: 54px; display: flex; align-items: flex-end; gap: 6px; }
.icon-line i { width: 8px; background: var(--gold); border-radius: 8px; }
.icon-line i:nth-child(1) { height: 20px; opacity: .45; }.icon-line i:nth-child(2) { height: 34px; opacity: .7; }.icon-line i:nth-child(3) { height: 50px; }
.target-icon { width: 54px; height: 54px; border: 1px solid var(--gold); border-radius: 50%; display: grid; place-items: center; }
.target-icon::before { content: ""; width: 30px; height: 30px; border: 1px solid var(--gold); border-radius: 50%; }
.target-icon i { width: 8px; height: 8px; border-radius: 50%; background: var(--gold); position: absolute; }
.spark-icon { font-size: 52px; line-height: 1; color: var(--gold); }
.plans { padding: 120px 0 140px; }
.plan-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; align-items: stretch; margin-top: 60px; }
.plan-card { padding: 38px 34px 32px; border: 1px solid var(--line); border-radius: var(--radius); display: flex; flex-direction: column; background: rgba(255,255,255,.3); position: relative; }
.plan-card.featured { background: var(--black); color: white; transform: translateY(-12px); border-color: var(--black); box-shadow: var(--shadow); }
.popular-tag { position: absolute; top: -13px; right: 28px; background: var(--gold); color: #1a1406; border-radius: 99px; padding: 8px 15px; font-size: 9px; font-weight: 900; letter-spacing: .13em; }
.plan-name { display: flex; align-items: baseline; gap: 7px; letter-spacing: .15em; }
.plan-name span { font-size: 11px; }.plan-name strong { font-family: "DM Serif Display", Georgia, serif; letter-spacing: 0; font-size: 27px; color: var(--gold); }
.plan-for { color: var(--muted); min-height: 72px; font-size: 14px; line-height: 1.65; }
.featured .plan-for { color: #aaa398; }
.price { display: flex; align-items: baseline; margin: 18px 0 30px; border-bottom: 1px solid var(--line); padding-bottom: 26px; }
.featured .price { border-color: rgba(255,255,255,.13); }
.price small { align-self: flex-start; margin-top: 8px; font-weight: 700; color: var(--gold); }.price strong { font-family: "DM Serif Display", Georgia, serif; font-size: 52px; font-weight: 400; }.price span { margin-left: 6px; color: var(--muted); font-size: 12px; }
.plan-card ul { list-style: none; padding: 0; margin: 0 0 34px; display: grid; gap: 15px; font-size: 13px; color: #565149; flex: 1; }
.featured ul { color: #d2ccc0; }
.plan-card li span { color: var(--gold); margin-right: 8px; }
.signature { padding: 30px 0 130px; display: grid; gap: 24px; }
.signature-card { min-height: 530px; padding: 58px; border-radius: 32px; overflow: hidden; position: relative; }
.analysis-card { background: var(--black); color: white; display: grid; grid-template-columns: 1fr .85fr; align-items: center; }
.analysis-card > div:first-child { z-index: 2; }
.signature h2 { margin: 22px 0; }.signature p { max-width: 580px; color: #aaa398; line-height: 1.75; }.strategy-card p { color: var(--muted); }
.service-delivery { max-width: 570px; display: grid; gap: 6px; margin-top: 24px; padding: 18px 20px; border: 1px solid rgba(201,164,73,.35); border-radius: 14px; background: rgba(201,164,73,.08); }
.service-delivery strong { color: var(--gold-light); font-size: 14px; }
.service-delivery span { color: #b9b2a6; font-size: 13px; line-height: 1.6; }
.light-delivery { background: var(--gold-pale); border-color: rgba(201,164,73,.25); }
.light-delivery strong { color: #8d6c1f; }
.light-delivery span { color: #6f695f; }
.signature-price { display: flex; align-items: baseline; gap: 12px; font-family: "DM Serif Display", Georgia, serif; font-size: 29px; color: var(--gold); margin: 30px 0 24px; }
.signature-price small { font-family: "Manrope", sans-serif; color: #8f897f; font-size: 10px; text-transform: uppercase; letter-spacing: .1em; }
.analysis-visual { height: 390px; position: relative; display: grid; place-items: center; }
.radar { width: 300px; height: 300px; border: 1px solid rgba(201,164,73,.35); border-radius: 50%; position: relative; display: grid; place-items: center; }
.radar::before, .radar::after, .radar i { content: ""; position: absolute; border: 1px solid rgba(201,164,73,.22); border-radius: 50%; }
.radar::before { width: 210px; height: 210px; }.radar::after { width: 110px; height: 110px; }.radar i:nth-child(1) { width: 1px; height: 100%; border-radius: 0; }.radar i:nth-child(2) { width: 100%; height: 1px; border-radius: 0; }.radar b { width: 85px; height: 85px; border-radius: 50%; background: radial-gradient(circle, var(--gold-light), var(--gold)); box-shadow: 0 0 70px rgba(201,164,73,.4); }
.metric { position: absolute; background: #1e1e1b; border: 1px solid rgba(255,255,255,.08); padding: 11px 15px; border-radius: 99px; color: #aba59a; font-size: 8px; letter-spacing: .12em; }.metric b { color: var(--gold); margin-left: 6px; }.metric-one { top: 34px; right: 10px; }.metric-two { bottom: 48px; right: -5px; }.metric-three { bottom: 90px; left: -12px; }
.strategy-card { background: white; display: grid; grid-template-columns: 1fr .75fr; gap: 80px; align-items: center; border: 1px solid rgba(0,0,0,.05); }.strategy-copy { max-width: 600px; }.dark-price { color: var(--ink); }.strategy-list { border-left: 1px solid var(--line); padding-left: 45px; display: grid; }.strategy-list span { padding: 20px 0; border-bottom: 1px solid var(--line); font-family: "DM Serif Display", Georgia, serif; font-size: 18px; }.strategy-list b { font: 800 9px "Manrope", sans-serif; color: var(--gold); letter-spacing: .12em; margin-right: 14px; }
.niches { padding: 20px 0 150px; }.niche-intro { display: grid; grid-template-columns: 1fr .9fr; column-gap: 80px; align-items: end; }.niche-intro .eyebrow { grid-column: 1/-1; }.niche-intro p { color: var(--muted); font-size: 16px; line-height: 1.75; margin-bottom: 28px; }.niche-tabs { display: flex; gap: 10px; border-bottom: 1px solid var(--line); margin-top: 50px; }.niche-tab { border: 0; background: transparent; padding: 18px 22px; color: var(--muted); cursor: pointer; font-weight: 700; font-size: 13px; border-bottom: 2px solid transparent; margin-bottom: -1px; }.niche-tab.active { color: var(--ink); border-color: var(--gold); }.niche-panel { min-height: 180px; display: grid; grid-template-columns: 80px 1fr auto; gap: 28px; align-items: center; background: white; border-radius: 0 0 var(--radius) var(--radius); padding: 38px 45px; }.niche-index { font-family: Georgia, serif; color: var(--gold); font-size: 30px; }.niche-panel h3 { font-family: Georgia, serif; font-size: 27px; font-weight: 400; margin: 0 0 10px; }.niche-panel p { color: var(--muted); margin: 0; max-width: 680px; font-size: 14px; line-height: 1.75; }.niche-tags { display: flex; flex-wrap: wrap; gap: 7px; justify-content: flex-end; }.niche-tags span { border: 1px solid var(--line); border-radius: 99px; padding: 8px 12px; font-size: 9px; letter-spacing: .1em; text-transform: uppercase; }
.diagnostic { width: min(1260px, calc(100% - 32px)); background: var(--black); color: white; padding: 95px max(32px, calc((100% - 1120px)/2)); border-radius: 34px; }.diagnostic-head { display: grid; grid-template-columns: 1.1fr .8fr; column-gap: 70px; align-items: end; }.diagnostic-head .eyebrow { grid-column: 1/-1; }.diagnostic-head p { color: #b4aea3; font-size: 16px; line-height: 1.75; margin-bottom: 27px; }.recommendation-tool { display: grid; grid-template-columns: 1.2fr .8fr; margin-top: 55px; border: 1px solid rgba(255,255,255,.1); border-radius: 24px; overflow: hidden; }.tool-steps { padding: 40px; }.tool-steps fieldset { border: 0; padding: 0; margin: 0 0 38px; }.tool-steps legend { margin-bottom: 20px; font-family: Georgia, serif; font-size: 20px; }.tool-steps legend span { display: inline-grid; place-items: center; width: 25px; height: 25px; border: 1px solid var(--gold); color: var(--gold); border-radius: 50%; font: 700 10px Inter, sans-serif; margin-right: 8px; }.choice-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }.choice { display: flex; gap: 13px; align-items: center; text-align: left; min-height: 72px; padding: 13px; border: 1px solid rgba(255,255,255,.1); background: #131310; color: white; border-radius: 14px; cursor: pointer; transition: border .2s, background .2s; }.choice.active { border-color: var(--gold); background: rgba(201,164,73,.1); }.choice i { width: 40px; height: 40px; flex: none; display: grid; place-items: center; background: rgba(255,255,255,.05); border-radius: 10px; font-style: normal; color: var(--gold); }.choice span { display: flex; flex-direction: column; gap: 5px; }.choice b { font-size: 12px; }.choice small { color: #858077; font-size: 10px; }.range-wrap { padding: 10px 5px; }input[type="range"] { width: 100%; appearance: none; height: 3px; background: linear-gradient(90deg, var(--gold) 0 50%, #393833 50%); border-radius: 99px; }input[type="range"]::-webkit-slider-thumb { appearance: none; width: 20px; height: 20px; border-radius: 50%; background: var(--gold); border: 5px solid #24231f; box-shadow: 0 0 0 1px var(--gold); cursor: pointer; }.range-labels { display: flex; justify-content: space-between; color: #7f7a70; font-size: 9px; text-transform: uppercase; letter-spacing: .1em; margin-top: 15px; }.recommendation-result { background: linear-gradient(145deg, #f1e5c4, var(--gold)); color: #16120a; padding: 48px 40px; display: flex; flex-direction: column; justify-content: center; }.recommendation-result > small { letter-spacing: .17em; font-weight: 900; font-size: 8px; }.result-plan { margin: 18px 0 10px; display: flex; align-items: baseline; gap: 9px; }.result-plan span { font-size: 11px; letter-spacing: .15em; }.result-plan strong { font-family: Georgia, serif; font-size: 45px; }.recommendation-result > p { min-height: 64px; line-height: 1.65; font-size: 13px; }.result-meta { display: flex; border-block: 1px solid rgba(0,0,0,.15); margin: 20px 0 28px; }.result-meta span { padding: 17px 12px; display: flex; flex-direction: column; flex: 1; gap: 4px; font-size: 9px; text-transform: uppercase; letter-spacing: .1em; }.result-meta span + span { border-left: 1px solid rgba(0,0,0,.15); }.result-meta b { font-family: Georgia, serif; font-size: 17px; letter-spacing: 0; text-transform: none; }
.simulator { padding: 150px 0; }.simulator-grid { display: grid; grid-template-columns: 1.1fr .8fr; gap: 18px; margin-top: 55px; }.sim-controls, .sim-result { padding: 42px; background: white; border-radius: var(--radius); border: 1px solid rgba(0,0,0,.06); }.sim-controls > label:not(.check-row) { display: block; font-size: 11px; text-transform: uppercase; letter-spacing: .12em; font-weight: 800; margin: 0 0 14px; }.sim-controls > label:nth-of-type(2) { margin-top: 35px; }.segmented { display: grid; grid-template-columns: repeat(3,1fr); background: #eeece6; border-radius: 13px; padding: 5px; }.segmented button { border: 0; border-radius: 9px; padding: 14px; background: transparent; cursor: pointer; font-weight: 800; color: #817c73; }.segmented button.active { background: white; color: var(--ink); box-shadow: 0 5px 18px rgba(0,0,0,.07); }.check-row { display: grid; grid-template-columns: auto 1fr auto; gap: 13px; align-items: center; padding: 19px 0; border-bottom: 1px solid var(--line); cursor: pointer; }.check-row input { position: absolute; opacity: 0; pointer-events: none; }.check-box { width: 24px; height: 24px; border: 1px solid #c5c0b5; border-radius: 6px; display: grid; place-items: center; color: transparent; }.check-row input:checked + .check-box { background: var(--gold); border-color: var(--gold); color: #17120a; }.check-row > span:nth-of-type(2) { display: flex; flex-direction: column; gap: 5px; }.check-row b { font-size: 12px; }.check-row small { color: var(--muted); font-size: 10px; }.check-row strong { font-size: 12px; color: var(--gold); }.sim-result { background: var(--gold-pale); display: flex; flex-direction: column; }.sim-result > small { font-size: 9px; letter-spacing: .14em; font-weight: 900; }.summary-line { display: flex; justify-content: space-between; padding: 18px 0; border-bottom: 1px solid rgba(0,0,0,.11); font-size: 13px; }.summary-line span { color: var(--muted); }.sim-total { margin-top: auto; display: flex; justify-content: space-between; align-items: end; padding-top: 35px; }.sim-total span { font-size: 11px; text-transform: uppercase; letter-spacing: .1em; }.sim-total strong { font-family: Georgia, serif; font-size: 36px; }.sim-result > p { text-align: right; color: var(--muted); font-size: 10px; margin: 6px 0 26px; }
.faq { padding: 20px 0 140px; display: grid; grid-template-columns: .75fr 1.25fr; gap: 80px; }.faq-list { border-top: 1px solid var(--line); }.faq details { border-bottom: 1px solid var(--line); }.faq summary { list-style: none; padding: 24px 0; cursor: pointer; font-family: Georgia, serif; font-size: 19px; display: flex; justify-content: space-between; gap: 20px; }.faq summary::-webkit-details-marker { display: none; }.faq summary span { color: var(--gold); font-family: Inter, sans-serif; transition: transform .2s; }.faq details[open] summary span { transform: rotate(45deg); }.faq details p { color: var(--muted); line-height: 1.75; padding: 0 50px 28px 0; margin: 0; font-size: 14px; }
.contact { width: min(1260px, calc(100% - 32px)); background: var(--black); color: white; border-radius: 34px; padding: 80px max(32px, calc((100% - 1120px)/2)); }.contact-card { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: center; }.contact-copy p { color: #b4aea3; font-size: 16px; line-height: 1.75; }.contact form { display: grid; gap: 16px; }.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }.contact label { display: grid; gap: 8px; color: #aaa49a; font-size: 10px; text-transform: uppercase; letter-spacing: .1em; font-weight: 700; }.contact input, .contact select, .contact textarea { width: 100%; padding: 15px 16px; border: 1px solid rgba(255,255,255,.12); border-radius: 11px; background: #151512; color: white; outline: none; resize: vertical; }.contact input:focus, .contact select:focus, .contact textarea:focus { border-color: var(--gold); }.contact input::placeholder, .contact textarea::placeholder { color: #67635d; text-transform: none; }.full-button { width: 100%; margin-top: 3px; }.form-note { color: #77726a; font-size: 9px; text-align: center; margin: 0; }
footer { min-height: 150px; display: flex; align-items: center; justify-content: space-between; color: var(--muted); font-size: 10px; letter-spacing: .08em; }.footer-brand { color: var(--ink); }.toast { position: fixed; z-index: 50; left: 50%; bottom: 25px; transform: translate(-50%, 150%); color: white; background: #1b1b18; border: 1px solid rgba(255,255,255,.12); border-radius: 99px; padding: 13px 21px; font-size: 12px; box-shadow: var(--shadow); transition: transform .3s; }.toast.show { transform: translate(-50%, 0); }
.scroll-progress { position: fixed; inset: 0 0 auto; height: 3px; z-index: 100; background: transparent; }.scroll-progress span { display: block; width: 0; height: 100%; background: linear-gradient(90deg, #9f7620, var(--gold-light)); box-shadow: 0 0 12px rgba(201,164,73,.45); }
.comparison-action { width: min(900px, 100%); margin: 38px auto 0; }.comparison-toggle { width: 100%; display: flex; justify-content: space-between; align-items: center; border: 1px solid var(--line); background: rgba(255,255,255,.7); border-radius: 16px; padding: 18px 22px; color: var(--ink); font: 800 12px "Inter", sans-serif; text-transform: uppercase; letter-spacing: .08em; cursor: pointer; }.comparison-toggle b { display: grid; place-items: center; width: 29px; height: 29px; border-radius: 50%; background: var(--black); color: var(--gold-light); font-size: 18px; }.plan-comparison { margin-top: 10px; background: white; border: 1px solid var(--line); border-radius: 18px; padding: 9px 24px; box-shadow: 0 18px 55px rgba(31,25,13,.07); }.plan-comparison[hidden] { display: none; }.comparison-row { display: grid; grid-template-columns: 1.45fr repeat(3,1fr); gap: 14px; align-items: center; padding: 17px 4px; border-bottom: 1px solid var(--line); text-align: center; }.comparison-row:last-child { border-bottom: 0; }.comparison-row > :first-child { text-align: left; color: var(--muted); font-size: 12px; }.comparison-row b { font-size: 12px; }.comparison-row small { color: var(--muted); font-size: 11px; }.comparison-head b { color: var(--gold); letter-spacing: .08em; }.comparison-price b { font-size: 15px; }
.process { padding: 25px 0 150px; }.process-experience { margin-top: 54px; display: grid; grid-template-columns: .62fr 1.38fr; border-radius: 28px; overflow: hidden; background: var(--black); color: white; box-shadow: var(--shadow); }.process-tabs { display: grid; background: #11110e; padding: 22px; gap: 8px; }.process-tab { border: 1px solid rgba(255,255,255,.08); border-radius: 15px; background: transparent; color: #8f8a80; padding: 20px; text-align: left; display: grid; grid-template-columns: 40px 1fr; align-items: center; cursor: pointer; transition: .25s ease; }.process-tab span { color: var(--gold); font-size: 10px; letter-spacing: .12em; }.process-tab b { font: 600 18px "Sora", sans-serif; }.process-tab:hover, .process-tab:focus-visible { border-color: rgba(201,164,73,.45); color: white; }.process-tab.active { background: var(--gold); color: #17120a; border-color: var(--gold); transform: translateX(6px); }.process-tab.active span { color: #17120a; }.process-panel { min-height: 440px; padding: 54px; display: flex; flex-direction: column; position: relative; background: radial-gradient(circle at 100% 0%, rgba(201,164,73,.17), transparent 42%), #191916; }.process-progress { position: absolute; inset: 0 0 auto; height: 4px; background: rgba(255,255,255,.08); }.process-progress span { display: block; width: 25%; height: 100%; background: var(--gold); transition: width .35s ease; }.process-copy { max-width: 670px; }.process-copy > small { color: var(--gold-light); font-size: 9px; font-weight: 800; letter-spacing: .16em; }.process-copy h3 { margin: 24px 0 18px; font: 600 clamp(31px,4vw,49px)/1.08 "Sora", sans-serif; letter-spacing: -.04em; }.process-copy > p { color: #b7b0a5; line-height: 1.8; font-size: 15px; }.process-outcome { margin-top: 28px; padding: 17px 19px; border: 1px solid rgba(201,164,73,.28); border-radius: 13px; display: flex; flex-wrap: wrap; gap: 8px; background: rgba(201,164,73,.08); }.process-outcome span { color: #888279; font-size: 12px; }.process-outcome strong { color: var(--gold-light); font-size: 12px; }.process-controls { margin-top: auto; display: flex; align-items: center; justify-content: flex-end; gap: 15px; }.process-controls button, .back-to-top { width: 43px; height: 43px; border-radius: 50%; border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.06); color: white; cursor: pointer; font-size: 17px; }.process-controls button:hover, .process-controls button:focus-visible { border-color: var(--gold); color: var(--gold-light); }.process-controls span { color: #777269; font-size: 10px; letter-spacing: .12em; }.process-controls span b { color: var(--gold-light); }
.floating-whatsapp { position: fixed; z-index: 45; right: 22px; bottom: 22px; display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 8px 17px 8px 8px; border-radius: 99px; color: #17120a; background: var(--gold); box-shadow: 0 14px 35px rgba(0,0,0,.24); font-size: 11px; text-decoration: none; transition: transform .2s; }.floating-whatsapp:hover { transform: translateY(-3px); }.floating-whatsapp span { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: #17120a; color: var(--gold-light); }.back-to-top { position: fixed; z-index: 44; right: 25px; bottom: 82px; opacity: 0; pointer-events: none; transform: translateY(10px); background: var(--black); border-color: rgba(255,255,255,.12); transition: .2s ease; }.back-to-top.visible { opacity: 1; pointer-events: auto; transform: none; }
.visual-presence { padding: 15px 0 150px; }.visual-presence-head { display: grid; grid-template-columns: 1fr .72fr; gap: 70px; align-items: end; margin-bottom: 48px; }.visual-presence-head h2 { margin: 19px 0 0; font: 600 clamp(42px,5vw,68px)/1.02 "Sora", sans-serif; letter-spacing: -.05em; }.visual-presence-head h2 em { color: var(--gold); font-weight: inherit; }.visual-presence-intro { display: grid; gap: 18px; }.visual-presence-intro p { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.75; }.instagram-sign { width: fit-content; display: inline-flex; align-items: center; gap: 9px; font-size: 10px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }.instagram-sign svg { width: 25px; height: 25px; fill: none; stroke: var(--gold); stroke-width: 1.6; }.instagram-sign .instagram-dot { fill: var(--gold); stroke: none; }.visual-mosaic { min-height: 720px; display: grid; grid-template-columns: 1.15fr .85fr .8fr; grid-template-rows: 1fr 1fr; gap: 14px; }.visual-card { position: relative; min-height: 0; margin: 0; overflow: hidden; border-radius: 23px; background: #ddd; }.visual-card-business { grid-row: 1 / 3; }.visual-card-vet { grid-column: 2 / 4; }.visual-card img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .7s cubic-bezier(.2,.7,.2,1), filter .4s; }.visual-card::after { content: ""; position: absolute; inset: 30% 0 0; background: linear-gradient(transparent, rgba(8,8,7,.84)); pointer-events: none; }.visual-card:hover img { transform: scale(1.045); filter: saturate(1.06); }.visual-card figcaption { position: absolute; z-index: 2; inset: auto 25px 25px; color: white; display: grid; gap: 9px; }.visual-card figcaption span { color: var(--gold-light); font-size: 8px; font-weight: 900; letter-spacing: .14em; }.visual-card figcaption strong { max-width: 430px; font: 600 clamp(18px,2vw,28px)/1.18 "Sora", sans-serif; letter-spacing: -.035em; }.visual-social-card { position: relative; overflow: hidden; border-radius: 23px; background: var(--gold); color: #17120a; padding: 30px; display: flex; flex-direction: column; justify-content: flex-end; isolation: isolate; }.social-orbit { position: absolute; z-index: -1; width: 260px; height: 260px; border: 1px solid rgba(18,14,7,.16); border-radius: 50%; top: -120px; right: -80px; }.social-orbit::before, .social-orbit::after { content: ""; position: absolute; border: 1px solid rgba(18,14,7,.12); border-radius: 50%; }.social-orbit::before { inset: 35px; }.social-orbit::after { inset: 70px; }.social-icon { position: absolute; top: 27px; left: 28px; width: 48px; height: 48px; border-radius: 15px; display: grid; place-items: center; background: #17120a; }.social-icon svg { width: 25px; height: 25px; fill: none; stroke: var(--gold-light); stroke-width: 1.6; }.visual-social-card small { font-size: 8px; font-weight: 900; letter-spacing: .14em; }.visual-social-card > strong { margin: 13px 0 23px; font: 600 clamp(22px,2vw,31px)/1.15 "Sora", sans-serif; letter-spacing: -.04em; }.visual-social-card a { display: flex; justify-content: space-between; align-items: center; color: #17120a; font-size: 10px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; border-top: 1px solid rgba(18,14,7,.22); padding-top: 18px; }
.reveal { opacity: 0; transform: translateY(22px); transition: opacity .7s ease, transform .7s ease; }.reveal.visible { opacity: 1; transform: none; }.reveal-delay { transition-delay: .12s; }.reveal-delay-2 { transition-delay: .24s; }
.gold-disc,
.niche-index,
.niche-panel h3,
.tool-steps legend,
.result-plan strong,
.result-meta b,
.sim-total strong,
.faq summary { font-family: "DM Serif Display", Georgia, serif; }
.tool-steps legend span,
.faq summary span { font-family: "Open Sauce One", sans-serif; }

/* Tipografia Avora: geometria moderna nos títulos + leitura limpa. */
.brand-mark,
.hero h1,
.section-heading h2,
.signature h2,
.niche-intro h2,
.diagnostic h2,
.contact h2,
.card-result strong,
.gold-disc,
.value-card h3,
.plan-name strong,
.price strong,
.signature-price,
.strategy-list span,
.niche-index,
.niche-panel h3,
.tool-steps legend,
.result-plan strong,
.result-meta b,
.sim-total strong,
.faq summary {
  font-family: "Sora", ui-sans-serif, system-ui, sans-serif;
  font-weight: 600;
  letter-spacing: -0.035em;
}

.signature-price small,
.strategy-list b,
.tool-steps legend span,
.faq summary span {
  font-family: "Inter", sans-serif;
}
@media (max-width: 900px) {
  .desktop-nav { display: none; }.hero { grid-template-columns: 1fr; padding-top: 80px; }.hero-visual { height: 480px; }.value-grid, .plan-grid { grid-template-columns: 1fr; }.plan-card.featured { transform: none; }.analysis-card, .strategy-card, .diagnostic-head, .recommendation-tool, .simulator-grid, .faq, .contact-card, .process-experience { grid-template-columns: 1fr; }.analysis-visual { margin-top: 30px; }.strategy-card { gap: 45px; }.strategy-list { border-left: 0; border-top: 1px solid var(--line); padding: 25px 0 0; }.niche-intro { grid-template-columns: 1fr; }.niche-panel { grid-template-columns: 60px 1fr; }.niche-tags { grid-column: 2; justify-content: flex-start; }.faq { gap: 30px; }.contact-card { gap: 25px; }.process-tabs { grid-template-columns: repeat(4, 1fr); }.process-tab { grid-template-columns: 1fr; gap: 6px; text-align: center; justify-items: center; padding: 14px 8px; }.process-tab b { font-size: 13px; }.process-tab.active { transform: translateY(4px); }.visual-presence-head { grid-template-columns: 1fr; gap: 25px; }.visual-mosaic { min-height: 820px; grid-template-columns: 1fr 1fr; grid-template-rows: 1.2fr 1fr 1fr; }.visual-card-business { grid-row: 1 / 3; }.visual-card-vet { grid-column: 2; }.visual-card-pets { grid-column: 1; grid-row: 3; }.visual-social-card { grid-column: 2; grid-row: 3; }
}
@media (max-width: 600px) {
  main { text-align: center; }
  .section-shell { width: min(100% - 28px, 1180px); }
  .site-header { width: calc(100% - 28px); height: 78px; }
  .brand-logo { height: 68px; }
  .site-header .button { display: none; }
  .brand-name { font-size: 11px; }
  .hero { padding: 44px 0 72px; gap: 24px; }
  .hero-copy,
  .section-heading,
  .signature-card > div:first-child,
  .strategy-copy,
  .niche-intro,
  .diagnostic-head,
  .recommendation-result,
  .sim-result,
  .faq,
  .contact-copy { text-align: center; }
  .hero-copy > p,
  .section-heading > p,
  .signature p,
  .strategy-copy,
  .niche-intro p,
  .diagnostic-head p,
  .contact-copy p { margin-inline: auto; }
  .eyebrow,
  .hero-actions,
  .trust-row,
  .plan-name,
  .price,
  .signature-price,
  .result-plan { justify-content: center; }
  .hero h1 { font-size: clamp(42px, 13vw, 52px); line-height: 1.02; }
  .hero-copy > p { font-size: 15px; line-height: 1.7; }
  .hero-actions { align-items: stretch; flex-direction: column; gap: 22px; }
  .hero-actions .button,
  .signature .button,
  .recommendation-result .button,
  .sim-result .button { width: 100%; padding-inline: 18px; }
  .trust-row { flex-wrap: wrap; row-gap: 9px; }
  .hero-visual { width: 100%; height: 405px; transform: none; margin: 0; overflow: hidden; border-radius: 24px; }
  .hero-visual::before { width: 330px; height: 330px; }
  .main-card { width: min(280px, calc(100% - 38px)); height: 355px; padding: 21px; transform: rotate(1.5deg); }
  .portrait-card { width: min(286px, calc(100% - 34px)); height: 365px; transform: rotate(1.2deg); }
  .portrait-card img { object-position: center 24%; }
  .signal-chart { height: 184px; }
  .orbit-one { width: 330px; height: 330px; }
  .orbit-two { width: 390px; height: 255px; }
  .floating-card { width: 120px; padding: 14px; }
  .floating-one { top: 18px; right: 0; }
  .floating-two { bottom: 16px; left: 0; }
  .gold-disc { width: 60px; height: 60px; right: 5px; bottom: 76px; }
  .value, .plans, .simulator { padding: 90px 0; }
  .process { padding: 15px 0 90px; }
  .visual-presence { padding: 5px 0 90px; }.visual-presence-head { text-align: center; }.visual-presence-intro { justify-items: center; }.visual-mosaic { min-height: 0; display: grid; grid-template-columns: 1fr; grid-template-rows: none; gap: 10px; }.visual-card-business, .visual-card-vet, .visual-card-pets, .visual-social-card { grid-column: 1; grid-row: auto; min-height: 360px; }.visual-card-vet, .visual-card-pets { min-height: 280px; }.visual-card figcaption { inset: auto 20px 20px; }.visual-card figcaption strong { font-size: 22px; }.visual-social-card { min-height: 310px; text-align: left; }
  .section-heading h2,
  .signature h2,
  .niche-intro h2,
  .diagnostic h2,
  .contact h2 { font-size: clamp(39px, 12vw, 49px); }
  .value-grid, .plan-grid { margin-top: 38px; }
  .value-card, .plan-card { padding-inline: 25px; }
  .value-card { align-items: center; }
  .card-number { left: 50%; right: auto; transform: translateX(-50%); }
  .card-outcome::before { display: block; margin: 0 0 7px; }
  .plan-card ul { justify-items: center; }
  .price strong { font-size: 47px; }
  .signature-card { min-height: 0; padding: 34px 22px; }
  .signature-price { flex-direction: column; align-items: center; gap: 5px; }
  .analysis-card { padding-bottom: 18px; }
  .analysis-visual { transform: none; margin: 16px 0 0; width: 100%; height: 300px; overflow: hidden; }
  .radar { width: 240px; height: 240px; }
  .metric { padding: 9px 11px; font-size: 7px; }
  .metric-one { top: 22px; right: 1px; }
  .metric-two { bottom: 28px; right: 0; }
  .metric-three { bottom: 66px; left: 0; }
  .strategy-list span { display: flex; justify-content: center; line-height: 1.35; }
  .diagnostic, .contact { width: calc(100% - 12px); padding: 60px 18px; border-radius: 24px; overflow: hidden; }
  .choice-grid { grid-template-columns: 1fr; }
  .choice { justify-content: center; text-align: center; }
  .choice span { align-items: center; }
  .tool-steps, .recommendation-result { padding: 27px 18px; }
  .result-plan { flex-wrap: wrap; }
  .result-plan strong { font-size: clamp(31px, 10vw, 40px); }
  .result-meta { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .result-meta span { min-width: 0; padding-inline: 6px; }
  .result-meta b { font-size: 15px; }
  .niche-tabs { overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: none; }
  .niche-tabs::-webkit-scrollbar { display: none; }
  .niche-tab { white-space: nowrap; padding-inline: 15px; }
  .niche-panel { padding: 28px 20px; grid-template-columns: 1fr; }
  .niche-tags { grid-column: 1; justify-content: center; }
  .niche-tabs { justify-content: center; }
  .faq summary { align-items: center; text-align: center; }
  .faq summary::before { content: ""; width: 1em; flex: none; }
  .faq summary span { flex: none; }
  .field-row { grid-template-columns: 1fr; }
  .contact form { text-align: left; }
  .contact input, .contact select, .contact textarea { min-width: 0; font-size: 16px; }
  .sim-controls, .sim-result { padding: 27px 18px; }
  .comparison-toggle { padding: 15px; }.plan-comparison { padding: 6px 10px; overflow: hidden; }.comparison-row { grid-template-columns: 1.25fr repeat(3,minmax(0,1fr)); gap: 5px; padding: 14px 2px; }.comparison-row > :first-child, .comparison-row b, .comparison-row small { font-size: 9px; }.comparison-price b { font-size: 10px; }.process-tabs { padding: 10px; gap: 5px; }.process-tab { padding: 12px 4px; }.process-tab b { font-size: 10px; }.process-tab span { font-size: 8px; }.process-panel { min-height: 500px; padding: 40px 20px 25px; text-align: center; }.process-copy > p { font-size: 14px; }.process-outcome { justify-content: center; }.process-controls { justify-content: center; }.floating-whatsapp { right: 12px; bottom: 12px; }.floating-whatsapp b { display: none; }.floating-whatsapp { padding: 7px; }.back-to-top { right: 15px; bottom: 70px; }
  .segmented button { padding-inline: 8px; }
  .check-row { grid-template-columns: auto minmax(0, 1fr); }
  .check-row > strong { grid-column: 2; }
  .sim-total { gap: 14px; }
  .sim-total strong { font-size: 28px; white-space: nowrap; }
  .faq details p { padding-right: 0; }
  footer { flex-direction: column; justify-content: center; gap: 15px; text-align: center; padding-block: 34px; }
  .marquee { height: 55px; }
}
@media (max-width: 360px) {
  .section-shell { width: calc(100% - 22px); }
  .hero h1 { font-size: 39px; }
  .section-heading h2,
  .signature h2,
  .niche-intro h2,
  .diagnostic h2,
  .contact h2 { font-size: 37px; }
  .button { min-height: 52px; padding-inline: 14px; gap: 10px; font-size: 12px; text-align: center; }
  .hero-visual { height: 385px; }
  .main-card { width: calc(100% - 26px); }
  .portrait-card { width: calc(100% - 32px); height: 350px; }
  .floating-card { width: 108px; }
  .result-meta { grid-template-columns: 1fr; }
  .result-meta span + span { border-left: 0; border-top: 1px solid rgba(0,0,0,.15); }
  .result-meta span { align-items: center; text-align: center; }
  .sim-total { align-items: flex-start; flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; }*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }.reveal { opacity: 1; transform: none; } }
