:root {
  --wine:#681c2b; --wine2:#48131e; --gold:#e4ad36; --green:#486550;
  --cream:#f6f0e6; --ink:#25211f; --muted:#6e6761; --white:#fff; --line:#ded5c9;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:#fbf8f3; color:var(--ink); font-family:Arial,'Helvetica Neue',sans-serif; line-height:1.55; }
.skip { position:absolute; left:-9999px; }
.skip:focus { left:1rem; top:1rem; background:#fff; padding:.7rem; z-index:99; }
a { color:inherit; }
.nav { height:84px; display:flex; align-items:center; gap:34px; padding:0 clamp(22px,5vw,76px); background:#fff; border-bottom:1px solid #eee7dd; position:relative; z-index:4; }
.brand { display:flex; align-items:center; gap:12px; text-decoration:none; font-size:18px; letter-spacing:-.3px; white-space:nowrap; }
.brand b { color:var(--wine); }
.brand-mark { display:block; width:34px; height:38px; border:3px solid var(--wine); border-bottom:0; border-radius:17px 17px 0 0; position:relative; }
.brand-mark:after { content:''; position:absolute; left:14px; top:7px; width:3px; height:28px; background:var(--gold); transform:rotate(18deg); transform-origin:bottom; }
.brand-mark i { position:absolute; width:5px; height:5px; border-radius:50%; background:var(--wine); right:6px; top:19px; }
.nav nav { display:flex; gap:28px; margin-left:auto; }
.nav nav a { text-decoration:none; color:#5e5751; font-size:14px; }
.menu-toggle,.nav nav .mobile-cta { display:none; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:14px; background:var(--wine); color:white; text-decoration:none; border-radius:4px; padding:15px 22px; font-weight:700; transition:.2s; }
.button:hover { background:var(--wine2); transform:translateY(-1px); }
.button-small { padding:10px 16px; font-size:13px; }
.hero { display:grid; grid-template-columns:minmax(0,45%) 1fr; min-height:690px; background:var(--cream); overflow:hidden; }
.hero-copy { padding:clamp(64px,9vw,132px) clamp(30px,6vw,95px); align-self:center; }
.eyebrow { text-transform:uppercase; letter-spacing:2.4px; color:var(--green); font-size:12px; font-weight:700; margin:0 0 20px; }
.hero h1,.section h2,.cta h2 { font-family:Georgia,'Times New Roman',serif; line-height:1.06; letter-spacing:-1.5px; }
.hero h1 { font-size:clamp(48px,5.8vw,82px); margin:0 0 28px; font-weight:600; }
.hero h1 em { color:var(--wine); }
.lead { font-size:18px; color:var(--muted); max-width:560px; margin:0 0 34px; }
.hero-actions { display:flex; align-items:center; gap:26px; }
.text-link { color:var(--wine); font-weight:700; text-underline-offset:5px; }
.micro { font-size:12px; color:#8c837b; margin:13px 0 0; }
.hero-image { background-image:linear-gradient(90deg,rgba(246,240,230,.38),transparent 26%),url('hero.png'); background-size:cover; background-position:center right; }
.trust-strip { display:grid; grid-template-columns:repeat(3,1fr); max-width:1180px; margin:-44px auto 0; background:#fff; position:relative; z-index:3; box-shadow:0 16px 50px rgba(61,38,30,.1); padding:30px 38px; }
.trust-strip div { display:grid; grid-template-columns:35px 1fr; column-gap:12px; padding:0 30px; border-right:1px solid var(--line); }
.trust-strip div:last-child { border:0; }
.trust-strip span { grid-row:1/3; color:var(--gold); font-family:Georgia,'Times New Roman',serif; font-size:21px; }
.trust-strip strong { font-size:14px; }
.trust-strip small { color:var(--muted); }
.section { padding:120px clamp(24px,7vw,110px); }
.section-heading { display:flex; justify-content:space-between; align-items:end; margin-bottom:54px; gap:30px; }
.section h2 { font-size:clamp(38px,4.2vw,62px); margin:0; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.service-grid article { background:#fff; border:1px solid #e8e0d5; padding:40px 34px; min-height:285px; }
.icon { display:grid; place-items:center; width:44px; height:44px; background:var(--cream); color:var(--wine); border-radius:50%; font-size:20px; }
.service-grid h3 { font-family:Georgia,'Times New Roman',serif; font-size:25px; margin:28px 0 12px; }
.service-grid p { color:var(--muted); margin:0; }
.process { background:var(--wine); color:#fff; display:grid; grid-template-columns:1fr 1fr; gap:10vw; }
.light { color:#e9c66e; }
.process-intro p:last-child { color:#d8c7ca; max-width:500px; }
.process ol { list-style:none; margin:0; padding:0; }
.process li { display:grid; grid-template-columns:64px 1fr; gap:18px; padding:28px 0; border-bottom:1px solid rgba(255,255,255,.18); }
.process li>span { font-family:Georgia,'Times New Roman',serif; color:var(--gold); font-size:40px; }
.process h3 { margin:0 0 6px; font-size:19px; }
.process li p { margin:0; color:#d8c7ca; }
.faq { display:grid; grid-template-columns:.8fr 1.2fr; gap:9vw; }
.faq .section-heading { display:block; }
.faq-list details { border-top:1px solid var(--line); padding:22px 0; }
.faq-list details:last-child { border-bottom:1px solid var(--line); }
summary { font-weight:700; cursor:pointer; list-style:none; padding-right:30px; position:relative; }
summary:after { content:'+'; position:absolute; right:3px; color:var(--wine); font-size:24px; top:-7px; }
details[open] summary:after { content:'âˆ’'; }
.faq-list p { color:var(--muted); max-width:650px; }
.cta { text-align:center; padding:110px 24px; background:var(--green); color:#fff; }
.cta h2 { font-size:clamp(42px,5.5vw,72px); margin:0 0 34px; }
.button-gold { background:var(--gold); color:#2a241d; }
.button-gold:hover { background:#f1c45e; }
.email { display:block; margin-top:18px; color:#e5dbd3; font-size:14px; }
footer { background:#211e1b; color:#d9d2cc; padding:60px clamp(24px,7vw,110px); }
.brand-footer { color:#fff; margin-bottom:24px; width:max-content; }
.brand-footer b { color:#e9c66e; }
footer>p { max-width:570px; color:#a9a19b; }
footer>div { display:flex; justify-content:space-between; border-top:1px solid #403a35; margin-top:40px; padding-top:24px; font-size:13px; }
footer>div a { color:#d9d2cc; }
.legal { display:none; font-size:12px; }
.legal.show { display:block; }
.footer-bottom nav { display:flex; gap:20px; }
.cookie-banner { position:fixed; z-index:20; left:18px; right:18px; bottom:18px; max-width:1040px; margin:auto; background:#fff; color:var(--ink); border:1px solid var(--line); box-shadow:0 18px 60px rgba(37,33,31,.22); padding:22px 24px; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.cookie-banner[hidden] { display:none; }
.cookie-banner strong { font-family:Georgia,'Times New Roman',serif; font-size:20px; color:var(--wine); }
.cookie-banner p { margin:4px 0 0; color:var(--muted); font-size:14px; }
.cookie-actions { display:flex; align-items:center; gap:12px; flex-shrink:0; }
.cookie-actions .button,.cookie-reject { border:0; font:inherit; font-weight:700; cursor:pointer; padding:11px 17px; }
.cookie-actions .button { font-size:14px; }
.cookie-reject { background:#eee8df; color:var(--ink); border-radius:4px; }
.cookie-actions a { font-size:13px; color:var(--wine); }
.legal-page { background:#fbf8f3; }
.legal-page .nav { justify-content:space-between; }
.legal-page .nav>.button { margin-left:auto; }
.legal-main { max-width:900px; margin:0 auto; padding:80px 24px 110px; }
.legal-main .eyebrow { margin-bottom:12px; }
.legal-main h1 { font-family:Georgia,'Times New Roman',serif; color:var(--wine); font-size:clamp(42px,6vw,68px); line-height:1.05; margin:0 0 22px; }
.legal-main .updated { color:var(--muted); margin-bottom:48px; }
.legal-main h2 { font-family:Georgia,'Times New Roman',serif; font-size:28px; margin:42px 0 12px; }
.legal-main p,.legal-main li { color:#4f4944; }
.legal-main a { color:var(--wine); }
.legal-main .notice { background:var(--cream); border-left:4px solid var(--gold); padding:20px 22px; margin:30px 0; }
.back-link { font-weight:700; color:var(--wine); text-decoration:none; }
@media(max-width:860px) {
  .nav { height:72px; padding:0 22px; }
  .nav>.button-small { display:none; }
  .menu-toggle { display:flex; width:44px; height:44px; margin-left:auto; border:0; background:transparent; flex-direction:column; align-items:center; justify-content:center; gap:5px; cursor:pointer; }
  .menu-toggle span { display:block; width:24px; height:2px; background:var(--wine); transition:transform .2s,opacity .2s; }
  .nav.menu-open .menu-toggle span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
  .nav.menu-open .menu-toggle span:nth-child(2) { opacity:0; }
  .nav.menu-open .menu-toggle span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
  .nav nav { display:none; position:absolute; top:72px; left:0; right:0; margin:0; padding:18px 22px 24px; background:#fff; border-bottom:1px solid #eee7dd; box-shadow:0 16px 28px rgba(61,38,30,.12); flex-direction:column; gap:0; }
  .nav.menu-open nav { display:flex; }
  .nav nav a { display:block; padding:14px 4px; font-size:16px; }
  .nav nav .mobile-cta { display:flex; color:#fff; margin-top:10px; padding:14px 18px; }
  .hero { grid-template-columns:1fr; }
  .hero-copy { padding:70px 26px 54px; }
  .hero-image { min-height:440px; background-position:68% center; }
  .trust-strip { margin:0; grid-template-columns:1fr; padding:10px 25px; }
  .trust-strip div { padding:20px 4px; border-right:0; border-bottom:1px solid var(--line); }
  .trust-strip div:last-child { border-bottom:0; }
  .section { padding:80px 24px; }
  .section-heading { display:block; }
  .service-grid { grid-template-columns:1fr; }
  .process,.faq { grid-template-columns:1fr; gap:48px; }
  .hero-actions { align-items:flex-start; flex-direction:column; }
  .hero h1 { font-size:52px; }
  footer>div { gap:20px; flex-direction:column; }
  .footer-bottom nav { flex-wrap:wrap; }
  .cookie-banner { align-items:stretch; flex-direction:column; gap:16px; }
  .cookie-actions { flex-wrap:wrap; }
  .cookie-actions .button,.cookie-reject { flex:1; }
  .legal-page .nav>.button { display:inline-flex; font-size:13px; padding:10px 13px; }
  .legal-main { padding-top:56px; }
}
@media(max-width:420px) {
  .hero h1 { font-size:43px; }
  .hero-image { min-height:360px; }
  .service-grid article { padding:30px 25px; }
  .nav { padding:0 18px; }
  .brand { font-size:16px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .button,.menu-toggle span { transition:none; }
}

/* LPH public intake MVP */
.intake-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:7vw;background:#f6f0e6;align-items:start}.intake-intro{position:sticky;top:112px}.intake-intro>p:not(.eyebrow){color:var(--muted);max-width:520px}.intake-note{border-left:3px solid var(--gold);padding:14px 18px;background:#fff}.intake-card{background:#fff;border:1px solid #e5dbcf;padding:clamp(24px,4vw,44px);box-shadow:0 16px 45px rgba(61,38,30,.08)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-field{min-width:0}.form-full{grid-column:1/-1}.form-field label{display:block;font-size:14px;font-weight:700;margin:0 0 7px}.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid #cec3b7;background:#fff;color:var(--ink);border-radius:4px;padding:12px 13px;font:inherit}.form-field textarea{min-height:108px;resize:vertical}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:3px solid rgba(228,173,54,.25);border-color:var(--wine)}.consent{display:flex!important;gap:10px;align-items:flex-start;font-weight:400!important;line-height:1.45}.consent input{width:auto!important;margin-top:4px;flex:0 0 auto}.consent a{color:var(--wine)}.intake-submit{border:0;font:inherit;cursor:pointer;margin-top:24px}.intake-submit[disabled]{opacity:.55;cursor:wait}.form-small{font-size:12px;color:var(--muted);margin:12px 0 0}.form-status{display:none;margin-top:18px;padding:13px 15px;border-radius:4px;font-size:14px}.form-status.ok{display:block;background:#e8f4e9;color:#265a30}.form-status.bad{display:block;background:#fae9e7;color:#81271e}.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.intake-section h2{margin-bottom:24px}@media(max-width:860px){.intake-section{grid-template-columns:1fr;gap:38px}.intake-intro{position:static}.form-grid{grid-template-columns:1fr}.form-full{grid-column:auto}.intake-card{padding:24px 20px}}


/* WordPress plugin shell + intake */
body.lph-plugin-page{margin:0!important;background:#f6f0e6!important}
body.lph-plugin-page #wpadminbar{position:fixed}
.lph-plugin-page .intake-section{background:#fffaf2}
.lph-intake{margin-top:32px;background:#fff;border:1px solid rgba(104,28,43,.12);border-radius:24px;padding:clamp(20px,4vw,38px);box-shadow:0 16px 45px rgba(65,32,27,.08)}
.intake-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.intake-grid label{display:flex;flex-direction:column;gap:7px;font-weight:700;color:#40201d}
.intake-grid .full{grid-column:1/-1}
.intake-grid input,.intake-grid textarea,.intake-grid select{width:100%;border:1px solid #d9cec4;border-radius:10px;padding:12px 13px;font:inherit;color:#2e2521;background:#fff;box-sizing:border-box}
.intake-grid textarea{min-height:105px;resize:vertical}
.intake-grid input:focus,.intake-grid textarea:focus,.intake-grid select:focus{outline:2px solid rgba(104,28,43,.18);border-color:#681c2b}
.intake-grid .consent{flex-direction:row;align-items:flex-start;font-weight:400;gap:10px}
.intake-grid .consent input{width:auto;margin-top:4px}
.intake-submit{margin-top:20px}
.form-status{display:none;margin-top:14px;padding:13px 15px;border-radius:10px}
.form-status.ok{display:block;background:#eaf6ee;color:#175f32}.form-status.bad{display:block;background:#fff0f0;color:#8a1d2d}
.lph-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}
@media(max-width:720px){.intake-grid{grid-template-columns:1fr}.intake-grid .full{grid-column:auto}.lph-intake{padding:18px}}
