/* Local reset: the approved design relied on zero margins and a 1.5 base line height. */
.ca-page { --ink:#101010; --paper:#f7f1e7; --white:#fff; --pink:#e4007f; --pink-soft:#ffd6ee; --pink-dark:#9a0057; --line:rgba(16,16,16,.18); font:400 16px/1.5 Arial,Helvetica,sans-serif; color:var(--ink); background:var(--paper); text-align:left; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
.ca-page, .ca-page * { box-sizing:border-box; }
.ca-page :where(h1,h2,h3,p,blockquote,a,span,div,section,header,nav,footer,article,img) { margin:0; padding:0; border:0 solid; }
.ca-page :where(h1,h2,h3) { font-size:inherit; font-weight:inherit; }
.ca-page img { max-width:100%; height:auto; vertical-align:middle; }
.ca-page a { color:inherit; text-decoration:none; }

/* Elementor adapter: flatten widget wrappers so approved grid/flex spacing is unchanged. */
.ca-page.ca-container, .ca-page .ca-container { display:block; width:auto; max-width:none; min-width:0; min-height:0; margin:0; padding:0; gap:0; border:0 solid; border-radius:0; flex:none; flex-direction:row; flex-wrap:nowrap; justify-content:normal; align-items:normal; align-self:auto; --container-widget-width:100%; --container-widget-flex-grow:0; --content-width:100%; --widgets-spacing:0; --gap:0; --row-gap:0; --column-gap:0; }
.ca-page.ca-container { width:100%; }
.ca-page.elementor-section.ca-container > .elementor-container,
.ca-page.elementor-section.ca-container > .elementor-container > .elementor-column,
.ca-page.elementor-section.ca-container > .elementor-container > .elementor-column > .elementor-widget-wrap,
.ca-page .elementor-section.ca-container > .elementor-container,
.ca-page .elementor-section.ca-container > .elementor-container > .elementor-column,
.ca-page .elementor-section.ca-container > .elementor-container > .elementor-column > .elementor-widget-wrap { display:contents; }
.ca-page .elementor-widget.ca-transparent, .ca-page .elementor-widget.ca-transparent > .elementor-widget-container { display:contents; color:inherit; font:inherit; text-align:inherit; }
.ca-page .elementor-heading-title { margin:0; padding:0; color:inherit !important; font:inherit; letter-spacing:inherit; }
.ca-page .elementor-widget-text-editor { color:inherit; font:inherit; letter-spacing:normal; }
.ca-page .elementor-button { background:transparent; color:inherit; border:0; border-radius:0; box-shadow:none; font:inherit; font-family:inherit !important; letter-spacing:inherit; padding:0; display:inline; text-decoration:none; fill:currentColor; }
.ca-page .elementor-button { font-size:0 !important; line-height:0 !important; }
.ca-page .elementor-button-content-wrapper { display:contents; }
.ca-page .elementor-button-text, .ca-page .elementor-button-content-wrapper::after { font-family:Arial,Helvetica,sans-serif; font-size:14px; line-height:1.5; letter-spacing:normal; }
.ca-page .sales-strip .elementor-button-text, .ca-page .sales-strip .elementor-button-content-wrapper::after { letter-spacing:.08em; }
.ca-page .freebie-strip .elementor-button-text, .ca-page .freebie-strip .elementor-button-content-wrapper::after { letter-spacing:.12em; }
.ca-page .freebie-strip .elementor-button-text, .ca-page .freebie-strip .elementor-button-content-wrapper::after { font-size:12px; }
@media(max-width:560px) { .ca-page .primary-button .elementor-button-text, .ca-page .primary-button .elementor-button-content-wrapper::after, .ca-page .light-button .elementor-button-text, .ca-page .light-button .elementor-button-content-wrapper::after { font-size:12px; } }
.ca-page .elementor-button-text { display:inline; flex:none; }
.ca-page .ca-arrow .elementor-button-content-wrapper::after { content:"↗"; }
.ca-page .sales-strip .elementor-button-content-wrapper::after, .ca-page .freebie-strip .elementor-button-content-wrapper::after { content:" ↗"; white-space:pre; }
.ca-page .sales-strip .elementor-button-content-wrapper::after { margin-left:-.515625px; }
.ca-page .elementor-widget-image img { display:block; }
.ca-page { --ink:#101010; --paper:#f7f1e7; --white:#fff; --pink:#e4007f; --pink-soft:#ffd6ee; --pink-dark:#9a0057; --line:rgba(16,16,16,.18); }
.ca-page, .ca-page * { box-sizing:border-box }
html:has(.ca-page) { scroll-behavior:smooth }
.ca-page { margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif }
.ca-page a { color:inherit;text-decoration:none }
.ca-page img { display:block;width:100% }

/* Header */
.ca-page .site-header { height:84px;padding:0 clamp(24px,5vw,80px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(247,244,239,.94);position:sticky;top:0;z-index:20;backdrop-filter:blur(14px) }
.ca-page .wordmark { font-size:18px;font-weight:800;letter-spacing:.08em }
.ca-page .wordmark span { color:var(--pink) }
.ca-page .site-nav { display:flex;align-items:center;gap:32px;font-size:14px }
.ca-page .site-nav a:not(.nav-cta):hover { color:var(--pink) }
.ca-page .nav-cta { background:var(--ink);color:white;padding:13px 19px }

/* Main hero — approved height */
.ca-page .hero { position:relative;width:100%;max-width:1120px;margin:0 auto;padding:clamp(38px,5vw,60px) clamp(24px,5vw,56px);overflow:hidden;background:var(--paper);color:var(--ink);display:grid;grid-template-columns:47% 1fr;align-items:center;gap:clamp(38px,5vw,76px) }
.ca-page .hero-image img { position:relative;inset:auto;width:100%;height:min(54vh,470px);min-height:390px;object-fit:cover;object-position:center;filter:saturate(.98) contrast(1.01) }
.ca-page .hero-shade { display:none }

/* Hero copy */
.ca-page .hero-copy { position:relative;z-index:2;width:100%;margin-left:0;padding:0;display:flex;flex-direction:column;justify-content:center }
.ca-page .eyebrow, .ca-page .section-index { font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.18em }
.ca-page .eyebrow { color:var(--pink);margin:0 0 25px }
.ca-page .hero h1 { font-family:Georgia,"Times New Roman",serif;font-size:clamp(38px,3.3vw,52px);font-weight:400;line-height:1.03;letter-spacing:0;max-width:440px;margin:0;text-wrap:balance }
.ca-page .hero-emphasis { font-size:clamp(17px,1.2vw,19px);line-height:1.5;max-width:370px;margin:22px 0 0;color:#292723 }
.ca-page .hero-body { font-size:18px;line-height:1.7;max-width:620px;margin:0;color:#292723 }
.ca-page .hero-actions { display:flex;align-items:center;gap:30px;margin-top:30px }
.ca-page .primary-button .elementor-button, .ca-page .light-button .elementor-button { display:inline-flex;justify-content:center;gap:30px;align-items:center;padding:16px 21px;font-size:14px;font-weight:700;transition:.2s ease }
.ca-page .primary-button .elementor-button { background:var(--pink);color:white }
.ca-page .primary-button .elementor-button:hover { background:var(--pink-dark);transform:translateY(-2px) }
.ca-page .text-link { padding-bottom:5px;border-bottom:1px solid currentColor;font-size:15px }
.ca-page .hero-signals { display:flex;flex-wrap:wrap;gap:10px;margin-top:34px }
.ca-page .hero-signals span { border:1px solid rgba(16,16,16,.24);background:rgba(255,255,255,.5);padding:9px 12px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.12em }
.ca-page .hero-signals span:first-child { background:var(--pink);border-color:var(--pink);color:white }

/* Sales strip */
.ca-page .sales-strip { display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px clamp(24px,6vw,96px);background:var(--ink);color:white }
.ca-page .sales-strip p { margin:0;font-family:Georgia,serif;font-size:clamp(22px,2.6vw,38px);line-height:1.15 }
.ca-page .sales-strip a { flex:0 0 auto;background:var(--pink);color:white;padding:16px 20px;font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.08em }

/* Outcome */
.ca-page .belief { padding:120px clamp(24px,6vw,96px);display:grid;grid-template-columns:.35fr 1fr;gap:60px;background:var(--ink);color:white }
.ca-page .section-index { color:var(--pink);margin:8px 0 24px }
.ca-page .belief h2, .ca-page .section-heading h2, .ca-page .method-intro h2, .ca-page .about-copy h2, .ca-page .contact h2 { font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:0 }
.ca-page .belief h2 { font-size:clamp(42px,5vw,78px);line-height:1.05;margin:0 0 36px;max-width:1000px }
.ca-page .belief .belief-copy p { font-size:20px;line-height:1.65;color:#cfcfcf;max-width:820px }

/* Pain */
.ca-page .problem-section { padding:120px clamp(24px,6vw,96px) }
.ca-page .section-heading { display:flex;justify-content:space-between;align-items:start;gap:50px;margin-bottom:75px }
.ca-page .section-heading h2 { font-size:clamp(42px,4.5vw,72px);line-height:1.05;margin:0;max-width:950px }

/* Pain cards */
.ca-page .problem-grid { display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink) }
.ca-page .problem-grid article { padding:35px 34px 20px 0;border-right:1px solid var(--line);min-height:300px }
.ca-page .problem-grid article+article { padding-left:34px }
.ca-page .problem-grid article:last-child { border-right:0 }
.ca-page .problem-grid span, .ca-page .method-list span, .ca-page .audience-lines span { color:var(--pink);font-weight:700;font-size:13px }
.ca-page .problem-grid h3 { font-family:Georgia,serif;font-size:30px;font-weight:400;line-height:1.15;margin:60px 0 20px }
.ca-page .problem-grid p { font-size:16px;line-height:1.6;color:#555 }

/* How It Works */
.ca-page .method { display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw;padding:120px clamp(24px,6vw,96px);background:#eae4dc }

/* Image placeholder — keep dimensions */
.ca-page .method-photo-space { min-height:340px;background:rgba(255,255,255,.42);border:1px solid rgba(16,16,16,.16) }
.ca-page .method-intro { align-self:start;position:sticky;top:120px }
.ca-page .method-intro .section-index { color:var(--pink) }
.ca-page .method-intro h2 { font-size:clamp(48px,5vw,78px);line-height:.98;margin:0 0 30px }
.ca-page .method-intro .intro-body p { font-size:19px;line-height:1.6;max-width:540px;color:#4f4b47 }

/* Method steps */
.ca-page .method-list { padding:0 }
.ca-page .method-list article { display:grid;grid-template-columns:50px 1fr;gap:20px;padding:10px 0 42px;margin-bottom:30px;border-bottom:1px solid var(--line) }
.ca-page .method-list h3 { font-family:Georgia,serif;font-size:33px;font-weight:400;margin:0 0 15px }
.ca-page .method-list p { font-size:16px;line-height:1.7;margin:0;color:#4f4b47 }

/* CTA — offers */
.ca-page .work-with-me { padding:120px clamp(24px,6vw,96px);background:var(--ink);color:white }
.ca-page .offer-intro { display:grid;grid-template-columns:.38fr 1fr;gap:60px;margin-bottom:65px }
.ca-page .offer-intro h2 { font-family:Georgia,"Times New Roman",serif;font-size:clamp(44px,5vw,82px);font-weight:400;line-height:1;margin:0 0 28px;letter-spacing:0 }
.ca-page .offer-intro p:last-child { color:#d9d4cd;max-width:790px;margin:0;font-size:20px;line-height:1.65 }
.ca-page .work-with-me .section-index { color:var(--pink) }

/* Offer cards */
.ca-page .offer-grid { display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:1px;background:rgba(255,255,255,.22);border:1px solid rgba(255,255,255,.22) }
.ca-page .offer-grid article { background:var(--paper);color:var(--ink);padding:34px;min-height:360px }
.ca-page .offer-grid .main-offer { background:var(--pink);color:white }
.ca-page .offer-grid span { display:inline-block;margin-bottom:55px;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.16em;color:var(--pink) }
.ca-page .main-offer span { color:white }
.ca-page .offer-grid h3 { font-family:Georgia,serif;font-size:clamp(29px,3vw,43px);font-weight:400;line-height:1.08;margin:0 0 22px }
.ca-page .offer-grid p { font-size:17px;line-height:1.65;margin:0;color:#4b4b4b }
.ca-page .main-offer p { color:white }

/* About */
.ca-page .about { display:grid;grid-template-columns:1fr 1fr;min-height:800px;background:white }
.ca-page .about-photo img { height:100%;object-fit:cover;object-position:center 36% }
.ca-page .about-copy { padding:110px clamp(35px,7vw,110px);display:flex;flex-direction:column;justify-content:center }
.ca-page .about-copy h2 { font-size:clamp(48px,5vw,76px);line-height:1;margin:0 0 35px }
.ca-page .about-copy p:not(.section-index) { font-size:18px;line-height:1.7;color:#494949 }
.ca-page blockquote { border-left:4px solid var(--pink);padding-left:22px;margin:34px 0 0;font-family:Georgia,serif;font-size:22px;font-style:italic;line-height:1.38 }

/* This Is for You If */
.ca-page .audience { padding:120px clamp(24px,6vw,96px);background:var(--paper);color:var(--ink);border-top:1px solid var(--line);border-bottom:1px solid var(--line) }
.ca-page .audience .section-index { color:#6d665e }
.ca-page .audience-lines { margin-top:50px;border-top:1px solid var(--ink) }
.ca-page .audience-lines span { color:#6d665e }
.ca-page .audience-lines p { display:grid;grid-template-columns:65px 1fr;gap:20px;padding:28px 0;border-bottom:1px solid var(--line);margin:0;font-family:Georgia,serif;font-size:clamp(24px,3vw,42px);line-height:1.2 }

/* Free checklist */
.ca-page .freebie-strip { display:flex;align-items:center;justify-content:center;gap:24px;padding:20px clamp(24px,6vw,96px);background:var(--pink-soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--ink);text-align:center }
.ca-page .freebie-strip p { margin:0;font-size:18px;font-weight:700 }
.ca-page .freebie-strip a { font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--pink);border-bottom:1px solid currentColor;padding-bottom:4px }

/* Contact CTA */
.ca-page .contact { padding:120px clamp(24px,10vw,160px);background:var(--pink);color:white;text-align:center }
.ca-page .contact .eyebrow { color:white }
.ca-page .contact h2 { max-width:1100px;margin:0 auto 30px;font-size:clamp(48px,6vw,92px);line-height:.98;letter-spacing:0 }
.ca-page .contact p:not(.eyebrow) { font-size:19px;line-height:1.6;margin:0 auto 36px;max-width:680px }
.ca-page .light-button .elementor-button { background:white;color:var(--ink);min-width:180px }
.ca-page .light-button .elementor-button:hover { transform:translateY(-2px) }

/* Footer */
.ca-page .site-footer { padding:34px clamp(24px,5vw,80px);display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:12px;background:var(--ink);color:#bbb }
.ca-page .footer-mark { color:white }
@media (max-width:900px) {
.ca-page .site-nav a:not(.nav-cta) { display:none }
.ca-page .hero { min-height:auto;display:flex;flex-direction:column;max-width:none;background:var(--paper);color:var(--ink) }
.ca-page .hero-image img { position:relative;inset:auto;aspect-ratio:4/5;height:auto;min-height:0;object-fit:cover;object-position:32% top }
.ca-page .hero-shade { display:none }
.ca-page .hero-copy { position:relative;width:100%;height:auto;margin-left:0;padding:58px 24px 70px;justify-content:center }
.ca-page .hero-body { color:#292723 }
.ca-page .eyebrow { color:var(--pink) }
.ca-page .hero-signals span { border-color:rgba(255,255,255,.42);background:rgba(0,0,0,.28) }
.ca-page .sales-strip { display:block }
.ca-page .sales-strip a { display:inline-flex;margin-top:18px }
.ca-page .belief, .ca-page .method, .ca-page .offer-intro { grid-template-columns:1fr }
.ca-page .method-intro { position:static }
.ca-page .offer-grid { grid-template-columns:1fr }
.ca-page .offer-grid article { min-height:auto }
.ca-page .problem-grid { grid-template-columns:1fr }
.ca-page .problem-grid article, .ca-page .problem-grid article+article { border-right:0;border-bottom:1px solid var(--line);padding:30px 0;min-height:auto }
.ca-page .problem-grid h3 { margin-top:35px }
.ca-page .about { grid-template-columns:1fr }

/* About image */
.ca-page .about-photo { max-height:720px;overflow:hidden }
.ca-page .section-heading { display:block }
.ca-page .site-footer { flex-direction:column;text-align:center }
}
@media (max-width:560px) {
.ca-page .site-header { height:70px }
.ca-page .wordmark { font-size:15px }
.ca-page .nav-cta { padding:11px 13px;font-size:12px }
.ca-page .hero h1 { font-size:42px }
.ca-page .hero-actions { align-items:flex-start;flex-direction:column;margin-top:20px }
.ca-page .primary-button .elementor-button, .ca-page .light-button .elementor-button { padding:14px 15px;font-size:12px }
.ca-page .text-link { align-self:start }
.ca-page .hero-signals { gap:8px }
.ca-page .hero-signals span { font-size:12px }
.ca-page .belief, .ca-page .problem-section, .ca-page .method, .ca-page .work-with-me, .ca-page .audience { padding-top:85px;padding-bottom:85px }
.ca-page .belief { gap:20px }
.ca-page .about-copy { padding:85px 24px }
.ca-page .audience-lines p { grid-template-columns:40px 1fr;font-size:22px }
.ca-page .freebie-strip { display:block }
.ca-page .freebie-strip a { display:inline-block;margin-top:10px }
.ca-page .contact { padding:90px 24px }
}
