/* Elegant Luxe - cream, gold, serif headings, arches and ornaments */
.lpt-elegant {
    --lp-primary: #2b2622;
    --lp-primary-2: #6b5a48;
    --lp-accent: #b8893b;
    --lp-accent-2: #d9b46a;
    --lp-on-accent: #fff;
    --lp-on-primary: #f5e9d3;
    --lp-bg: #fbf8f2;
    --lp-alt: #f4eee3;
    --lp-surface: #fff;
    --lp-surface-2: #fbf8f2;
    --lp-border: #e8dcc6;
    --lp-text: #5a4f45;
    --lp-heading: #2b2622;
    --lp-muted: #8c8275;
    --lp-radius: 6px;
    --lp-btn-radius: 2px;
    --lp-shadow: 0 18px 40px rgba(43, 38, 34, .06);
    --lp-shadow-hover: 0 26px 60px rgba(43, 38, 34, .12);
    --lp-dot: rgba(184, 137, 59, .25);
    --lp-tag-text: #b8893b;
    --lp-link: #9a6f2a;
    --lp-pulse: rgba(184, 137, 59, .4);
    --lp-ghost: #2b2622;
    --lp-ghost-text: #2b2622;
    --lp-ghost-hover-bg: #2b2622;
    --lp-ghost-hover-text: #f5e9d3;
    --lp-grad-accent: linear-gradient(135deg, #a77a2f, #d9b46a 50%, #a77a2f);
    --lp-cta-bg: radial-gradient(500px 260px at 50% 0%, rgba(184, 137, 59, .25), transparent 70%), #2b2622;
}
.lpt-elegant .lp-btn { text-transform: uppercase; letter-spacing: 1.5px; font-size: .82rem; font-weight: 500; padding: 15px 30px; }
.lpt-elegant .lp-btn--primary { animation: none; box-shadow: 0 12px 26px rgba(184, 137, 59, .3); }

/* gold uppercase tag with fine lines instead of a pill */
.lpt-elegant .lp-heading__tag, .lpt-elegant .lp-eyebrow { display: inline-flex; align-items: center; gap: 14px; background: none; border: 0; border-radius: 0; padding: 0; color: var(--lp-accent); font-size: .78rem; font-weight: 500; letter-spacing: 3px; text-transform: uppercase; box-shadow: none; }
.lpt-elegant .lp-heading__tag::before, .lpt-elegant .lp-heading__tag::after, .lpt-elegant .lp-eyebrow::before, .lpt-elegant .lp-eyebrow::after { content: ''; width: 34px; height: 1px; background: currentColor; }
.lpt-elegant .lp-heading h2 { font-size: 2.4rem; }
.lpt-elegant .lp-heading h2::after { width: 10px; height: 10px; border-radius: 0; transform: rotate(45deg); background: var(--lp-accent); box-shadow: -26px 26px 0 -3px var(--lp-accent-2), 26px -26px 0 -3px var(--lp-accent-2); margin-top: 20px; }

.lpt-elegant .lp-hero { padding: 110px 0 110px; background:
    radial-gradient(circle at 85% 20%, rgba(217, 180, 106, .18), transparent 40%),
    repeating-linear-gradient(135deg, rgba(184, 137, 59, .04) 0 1px, transparent 1px 22px),
    #fbf8f2; border-bottom: 1px solid var(--lp-border); }
.lpt-elegant .lp-blob { display: none; }
.lpt-elegant .lp-ring { border: 1px solid rgba(184, 137, 59, .35); }
.lpt-elegant .lp-ring--1 { width: 520px; height: 520px; top: -200px; left: auto; right: -160px; animation: none; }
.lpt-elegant .lp-ring--2 { width: 260px; height: 260px; bottom: -120px; left: -80px; right: auto; animation: none; opacity: 1; border-color: rgba(184, 137, 59, .3); }
.lpt-elegant .lp-hero__text h1 { font-size: 3.4rem; color: var(--lp-heading); line-height: 1.15; }
.lpt-elegant .lp-ornament { display: flex; align-items: center; gap: 10px; margin: 0 0 22px; }
.lpt-elegant .lp-ornament i { width: 60px; height: 1px; background: var(--lp-accent); }
.lpt-elegant .lp-ornament b { width: 8px; height: 8px; transform: rotate(45deg); background: var(--lp-accent); }
.lpt-elegant .lp-hero--centered .lp-ornament { justify-content: center; }
.lpt-elegant .lp-hero__sub { color: var(--lp-text); font-size: 1.15rem; }
.lpt-elegant .lp-trust li { color: var(--lp-heading); letter-spacing: .3px; }

.lpt-elegant .lp-form-card { border-radius: 0; padding: 50px 34px 30px; box-shadow: 0 30px 70px rgba(43, 38, 34, .12); }
.lpt-elegant .lp-form-card::before { content: ''; position: absolute; inset: 10px; border: 1px solid var(--lp-border); pointer-events: none; }
.lpt-elegant .lp-form-card::after { content: ''; position: absolute; z-index: -1; inset: -16px 16px 16px -16px; border: 1px solid var(--lp-accent); }
.lpt-elegant .lp-form__icon { border-radius: 0; transform: translateX(-50%) rotate(45deg); width: 48px; height: 48px; top: -24px; }
.lpt-elegant .lp-form__icon i { transform: rotate(-45deg); }
.lpt-elegant .lp-form h3 { font-size: 1.7rem; }
.lpt-elegant .lp-field input, .lpt-elegant .lp-field select, .lpt-elegant .lp-field textarea { border-radius: 0; border-width: 0 0 1px; background: transparent; padding-left: 4px; }
.lpt-elegant .lp-field input:focus, .lpt-elegant .lp-field select:focus, .lpt-elegant .lp-field textarea:focus { box-shadow: none; border-color: var(--lp-accent); }

.lpt-elegant .lp-arch, .lpt-elegant .lp-figure { position: relative; margin: 0; border-radius: 300px 300px 0 0; overflow: visible; box-shadow: none; }
.lpt-elegant .lp-arch::after, .lpt-elegant .lp-figure::after { content: ''; position: absolute; inset: 16px -16px -16px 16px; border: 1px solid var(--lp-accent); border-radius: 300px 300px 0 0; z-index: 0; }
.lpt-elegant .lp-arch img, .lpt-elegant .lp-figure img { position: relative; z-index: 1; width: 100%; aspect-ratio: 3 / 4; object-fit: cover; border-radius: 300px 300px 0 0; display: block; }

.lpt-elegant .lp-content { border-radius: 0; padding: 54px 56px; }
.lpt-elegant .lp-content::before { left: 50%; transform: translateX(-50%); width: 120px; height: 3px; border-radius: 0; }
.lpt-elegant .lp-content h3::before { width: 2px; background: var(--lp-accent); }
.lpt-elegant .lp-content ul li { border-radius: 0; border-left: 2px solid var(--lp-accent); }
.lpt-elegant .lp-content ul li::before { background: none; color: var(--lp-accent); border: 1px solid var(--lp-accent); }
.lpt-elegant .lp-step { border-radius: 0; }
.lpt-elegant .lp-step__icon { transform: none; border-radius: 50%; background: transparent; color: var(--lp-accent); border: 1px solid var(--lp-accent); box-shadow: 0 0 0 8px var(--lp-surface), 0 0 0 9px var(--lp-border); }
.lpt-elegant .lp-step__num { color: var(--lp-accent); opacity: .2; }
.lpt-elegant .lp-package .pack-header { background: #2b2622; }
.lpt-elegant .lp-package .pack-header h3 { color: #f5e9d3; }
.lpt-elegant .lp-package .price-area h2 { color: var(--lp-accent); }
.lpt-elegant .lp-links a { border-radius: 0; }
.lpt-elegant .lp-links__icon { border-radius: 50%; color: var(--lp-accent); background: rgba(184, 137, 59, .1); }
.lpt-elegant .lp-cta__inner { border-radius: 0; border-color: rgba(217, 180, 106, .5); background: transparent; outline: 1px solid rgba(217, 180, 106, .25); outline-offset: 10px; }
.lpt-elegant .lp-cta h2 { font-size: 2.6rem; }
.lpt-elegant .lp-cta .lp-ring { border-color: rgba(217, 180, 106, .3); }
.lpt-elegant .lp-cta .lp-btn--ghost { --lp-ghost: rgba(245, 233, 211, .6); --lp-ghost-text: #f5e9d3; --lp-ghost-hover-bg: #f5e9d3; --lp-ghost-hover-text: #2b2622; }

@media (max-width: 991px) {
    .lpt-elegant .lp-hero { padding: 70px 0; }
    .lpt-elegant .lp-hero__text h1 { font-size: 2.7rem; }
    .lpt-elegant .lp-ornament { justify-content: center; }
    .lpt-elegant .lp-arch { max-width: 360px; margin: 30px auto 0; }
    .lpt-elegant .lp-form-card::after { display: none; }
}
@media (max-width: 575px) {
    .lpt-elegant .lp-hero__text h1 { font-size: 2.1rem; }
    .lpt-elegant .lp-heading h2 { font-size: 1.8rem; }
    .lpt-elegant .lp-content { padding: 32px 20px; }
    .lpt-elegant .lp-form-card { padding: 44px 20px 24px; }
}

/* ---------- body sections: editorial rows, roman numerals, gold-rule pricing, ruled link list ---------- */
.lpt-elegant .lp-editorial { padding-top: 90px; }
.lpt-elegant .lp-ed-intro { margin-bottom: 60px; }
.lpt-elegant .lp-lead { font-size: 1.15rem; margin-bottom: 0; }
.lpt-elegant .lp-lead h2 { font-size: 2.5rem; margin-bottom: 18px; }
.lpt-elegant .lp-lead > p:first-of-type::first-letter { float: left; font-size: 3.6rem; line-height: .9; padding: 6px 10px 0 0; color: var(--lp-accent); }
.lpt-elegant .lp-ed-intro .lp-arch { max-width: 380px; margin-left: auto; }
.lpt-elegant .lp-ed-row { padding: 46px 0; border-top: 1px solid var(--lp-border); position: relative; }
.lpt-elegant .lp-ed-row::before { content: ''; position: absolute; top: -5px; left: 15px; width: 9px; height: 9px; transform: rotate(45deg); background: var(--lp-accent); }
.lpt-elegant .lp-ed-row:last-child { border-bottom: 1px solid var(--lp-border); }
.lpt-elegant .lp-ed-num { display: block; font-size: 2.6rem; line-height: 1; color: var(--lp-accent); margin-bottom: 12px; }
.lpt-elegant .lp-ed-row h2 { color: var(--lp-heading); font-size: 1.7rem; line-height: 1.25; padding-right: 30px; }
.lpt-elegant .lp-ed-row .lp-content ul { grid-template-columns: 1fr 1fr; }

.lpt-elegant .lp-steps-section { background: var(--lp-alt); counter-reset: lp-step; }
.lpt-elegant .lp-steps { gap: 0; }
.lpt-elegant .lp-steps::before { display: none; }
.lpt-elegant .lp-step { background: none; border: 0; box-shadow: none; padding: 10px 34px; counter-increment: lp-step; }
.lpt-elegant .lp-step + .lp-step { border-left: 1px solid rgba(184, 137, 59, .4); }
.lpt-elegant .lp-step:hover { transform: none; box-shadow: none; }
.lpt-elegant .lp-step__num, .lpt-elegant .lp-step__icon { display: none; }
.lpt-elegant .lp-step::before { content: counter(lp-step, upper-roman); display: block; font-size: 3.4rem; line-height: 1; color: var(--lp-accent); margin-bottom: 16px; }
.lpt-elegant .lp-step h3 { font-size: 1.35rem; }
.lpt-elegant .lp-step h3::after { content: ''; display: block; width: 30px; height: 1px; background: var(--lp-accent); margin: 14px auto 0; }

.lpt-elegant .lp-section--packages { background: var(--lp-bg); }
.lpt-elegant .lp-package { border: 1px solid var(--lp-border); outline: 1px solid var(--lp-border); outline-offset: -8px; border-radius: 0; box-shadow: none; }
.lpt-elegant .lp-package:hover { box-shadow: var(--lp-shadow-hover); outline-color: var(--lp-accent); }
.lpt-elegant .lp-package .pack-header { background: none; padding: 34px 16px 4px; }
.lpt-elegant .lp-package .pack-header::before, .lpt-elegant .lp-package .pack-header::after { display: none; }
.lpt-elegant .lp-package .pack-header h3 { color: var(--lp-heading); font-size: 1.4rem; }
.lpt-elegant .lp-package .pack-header h3::after { content: '◆'; display: block; font-size: .55rem; font-style: normal; color: var(--lp-accent); margin-top: 10px; letter-spacing: 0; }
.lpt-elegant .lp-package .price-area h2 { font-size: 2.3rem; }
.lpt-elegant .lp-package .request-quote { border-radius: 0; border: 1px solid var(--lp-accent); color: var(--lp-accent); text-transform: uppercase; letter-spacing: 1.5px; font-size: .72rem; padding: 10px 22px; }

.lpt-elegant .lp-links { grid-template-columns: repeat(2, 1fr); gap: 0 50px; max-width: 900px; margin: 0 auto; }
.lpt-elegant .lp-links a { background: none; border: 0; border-bottom: 1px solid var(--lp-border); box-shadow: none; padding: 18px 0; font-size: 1.1rem; }
.lpt-elegant .lp-links a::before { display: none; }
.lpt-elegant .lp-links a:hover { transform: none; box-shadow: none; color: var(--lp-accent); }
.lpt-elegant .lp-links__icon { flex: 0 0 auto; width: 8px; height: 8px; border-radius: 0; transform: rotate(45deg); background: var(--lp-accent); }
.lpt-elegant .lp-links__icon i { display: none; }
.lpt-elegant .lp-links a:hover .lp-links__icon { background: var(--lp-accent); }

@media (max-width: 991px) {
    .lpt-elegant .lp-ed-intro .lp-arch { margin: 40px auto 0; }
    .lpt-elegant .lp-ed-row { padding: 34px 0; }
    .lpt-elegant .lp-ed-row h2 { padding-right: 0; margin-bottom: 16px; }
    .lpt-elegant .lp-step + .lp-step { border-left: 0; border-top: 1px solid rgba(184, 137, 59, .4); padding-top: 30px; margin-top: 20px; }
}
@media (max-width: 575px) {
    .lpt-elegant .lp-lead h2 { font-size: 1.9rem; }
    .lpt-elegant .lp-ed-row .lp-content ul, .lpt-elegant .lp-links { grid-template-columns: 1fr; }
}
