/* Annual-only commerce landing page. Shared brand styles remain unchanged. */
.ecommerce-page { --ec-green:#46553b; }
.ec-skip { position:fixed; top:-80px; left:15px; z-index:200; background:var(--paper); padding:12px; }
.ec-skip:focus { top:12px; }
.ecommerce-page a:focus-visible, .ecommerce-page summary:focus-visible { outline:3px solid var(--teal); outline-offset:5px; }
.ecommerce-page .section { padding:88px 0; }
.ec-hero { padding:88px 0 76px; background:var(--paper); }
.ec-hero-grid { display:grid; grid-template-columns:1fr 1.05fr; gap:52px; align-items:center; }
.ec-hero h1 { font-size:clamp(2.4rem,3.7vw,3.65rem); letter-spacing:-.03em; line-height:1.4; }
.ec-intro { font-size:1.22rem; margin-top:24px; font-weight:700; }
.ec-description { color:var(--ink-soft); margin-top:12px; max-width:32em; }
.ec-actions { display:flex; align-items:center; flex-wrap:wrap; gap:24px; margin-top:30px; }
.ec-text-link { font-weight:800; color:var(--ec-green); text-underline-offset:5px; }
.ec-text-link:hover { text-decoration:underline; }
.ec-hero-cost { border-top:1px solid var(--line); padding-top:20px; margin-top:30px; font-size:.95rem; }
.ec-hero-cost span { color:var(--ink-soft); font-size:.85rem; }
.ec-store-preview { background:var(--surface); border:1px solid var(--line); border-radius:6px; overflow:hidden; box-shadow:var(--shadow); }
.ec-preview-label { font-size:.8rem; padding:13px 18px; font-weight:700; display:flex; align-items:center; gap:8px; border-bottom:1px solid var(--line); }
.ec-dot { height:7px; width:7px; border-radius:50%; background:var(--teal); }
.ec-store-preview img { width:100%; height:auto; }
.ec-preview-caption { display:flex; justify-content:space-between; gap:12px; padding:16px 18px 8px; font-size:.78rem; color:var(--ink-soft); }
.ec-preview-caption a { color:var(--ec-green); font-weight:700; white-space:nowrap; }
.ec-example-note { font-size:.72rem; color:var(--ink-soft); padding:0 18px 16px; }
.ec-problems { background:var(--mist); padding:48px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.ec-problem-grid { display:grid; grid-template-columns:1fr 1fr 1.1fr; gap:40px; align-items:center; }
.ec-problem-grid h2 { font-size:1.65rem; }
.ec-problem-grid>div { border-left:2px solid var(--gold); padding-left:20px; }
.ec-problem-grid>div p+p { margin-top:8px; }
.ec-problem-outcome { color:var(--ink-soft); }
.ec-feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.ec-feature { border-top:1px solid var(--line); padding-top:22px; }
.ec-feature>span { color:var(--gold); font-size:.85rem; font-weight:800; }
.ec-feature h3 { margin:16px 0 12px; }
.ec-feature p { color:var(--ink-soft); }
.ec-showcase-grid { display:grid; grid-template-columns:1.3fr 1fr; gap:48px; align-items:center; }
.ec-showcase-grid figure { margin:0; }
.ec-showcase-grid img { display:block; width:100%; height:auto; object-fit:contain; border:1px solid var(--line); border-radius:5px; }
.ec-showcase-grid figcaption { margin-top:10px; font-size:.8rem; color:var(--ink-soft); }
.ec-showcase-copy ol { padding:0; list-style:none; counter-reset:flow; margin:24px 0; }
.ec-showcase-copy li { counter-increment:flow; position:relative; padding:0 0 20px 40px; }
.ec-showcase-copy li::before { content:'0' counter(flow); position:absolute; left:0; color:var(--gold); font-weight:800; }
.ec-showcase-copy strong,.ec-showcase-copy span { display:block; }
.ec-showcase-copy span { font-size:.92rem; color:var(--ink-soft); margin-top:6px; }
.ec-pricing-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.ec-plan { border:1px solid var(--line); border-top:4px solid var(--teal); border-radius:5px; padding:36px; background:var(--surface); }
.ec-plan h3 { font-size:1.5rem; }
.ec-plan-price { font-size:3.1rem; font-weight:800; line-height:1.2; margin-top:24px; letter-spacing:-.04em; }
.ec-plan-price>span { font-size:1rem; letter-spacing:0; }
.ec-plan-price small { font-size:1rem; font-weight:500; letter-spacing:0; }
.ec-tax { color:var(--ink-soft); font-size:.85rem; margin-top:8px; }
.ec-plan .feature-list { margin:26px 0; }
.ec-plan .feature-list li { margin-top:8px; }
.ec-total { border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:18px 0; margin-bottom:24px; }
.ec-total p { display:flex; flex-wrap:wrap; justify-content:space-between; gap:4px 12px; font-size:.92rem; }
.ec-total p+p { margin-top:10px; }
.ec-total p:nth-child(2) { font-size:1.1rem; color:var(--ec-green); }
.ec-plan .button { width:100%; }
.ec-price-notes { margin-top:22px; color:var(--ink-soft); font-size:.85rem; }
.ec-price-notes p+p { margin-top:6px; }
.ec-service-grid,.ec-faq-grid { display:grid; grid-template-columns:.85fr 1.35fr; gap:72px; }
.ec-service-price { margin-top:26px; }
.ec-service-price strong,.ec-service-price span { display:block; }
.ec-service-price strong { font-size:1.5rem; margin-top:4px; }
.ec-service-price span { font-size:.85rem; color:var(--ink-soft); }
.ec-service-list { list-style:none; padding:0; margin:0; }
.ec-service-list li { padding:0 0 22px; margin:0 0 22px; border-bottom:1px solid var(--line); }
.ec-service-list strong,.ec-service-list span { display:block; }
.ec-service-list span { color:var(--ink-soft); margin-top:8px; }
.ec-payment { border-left:3px solid var(--teal); padding-left:22px; }
.ec-payment p { margin-top:12px; color:var(--ink-soft); }
.ec-payment p strong { color:var(--ink); }
.ec-faq details { border-bottom:1px solid var(--line); padding:20px 0; }
.ec-faq details:first-child { padding-top:0; }
.ec-faq summary { cursor:pointer; font-weight:700; padding-right:12px; }
.ec-faq details p { color:var(--ink-soft); margin-top:16px; }
.ec-consult { padding:76px 0; background:var(--dark); color:var(--paper); }
.ec-consult-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:80px; }
.ec-consult .eyebrow { color:var(--gold); }
.ec-consult-grid>div>p:not(.eyebrow) { color:#ded8cb; margin-top:22px; }
.ec-consult .button { margin-top:28px; }
.ec-consult-grid>div>.ec-line-note { font-size:.82rem; max-width:36em; }
.ec-consult aside { padding:26px 32px; border:1px solid #595b52; }
.ec-consult ol { padding-left:22px; color:#ded8cb; margin:22px 0; }
.ec-consult li+li { margin-top:10px; }
.ec-consult .ec-text-link { color:var(--paper); }
.ec-footer { padding:30px 0; font-size:.8rem; color:var(--ink-soft); }
.ec-footer>.container { display:flex; flex-wrap:wrap; justify-content:space-between; gap:16px; }
@media(max-width:980px) { .ec-hero { padding-top:60px; } .ec-hero-grid { grid-template-columns:1fr; gap:36px; } .ec-hero-copy { max-width:700px; } .ec-store-preview { max-width:760px; } .ec-problem-grid { grid-template-columns:1fr 1fr; gap:26px; } .ec-problem-outcome { grid-column:1/-1; } .ec-service-grid,.ec-faq-grid { grid-template-columns:1fr; gap:36px; } .ec-showcase-grid { gap:28px; } .ec-consult-grid { gap:36px; } }
@media(max-width:700px) { .ecommerce-page .section { padding:60px 0; } .ec-hero { padding:44px 0; } .ec-hero h1 { font-size:2.3rem; } .ec-intro { font-size:1.1rem; } .ec-actions { gap:18px; } .ec-preview-caption { flex-wrap:wrap; } .ec-problem-grid,.ec-showcase-grid,.ec-pricing-grid,.ec-consult-grid { grid-template-columns:1fr; } .ec-feature-grid { grid-template-columns:1fr 1fr; gap:28px 20px; } .ec-plan { padding:28px 22px; } .ec-plan-price { font-size:2.8rem; } .ec-consult { padding:56px 0; } .ec-consult aside { padding:24px; } }
@media(max-width:380px) { .ec-feature-grid { grid-template-columns:1fr; } .ec-hero h1 { font-size:2rem; } }

/* Inquiry collection and its confirmed server receipt. */
.ec-consult-grid { grid-template-columns:1.35fr .85fr; gap:60px; }
.ec-inquiry { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:32px; }
.ec-field { min-width:0; }
.ec-field label { display:block; font-weight:700; font-size:.9rem; margin-bottom:6px; }
.ec-field input,.ec-field select,.ec-field textarea { display:block; width:100%; padding:11px 12px; border:1px solid var(--line); border-radius:3px; color:var(--ink); background:var(--paper); font:inherit; }
.ec-field textarea { resize:vertical; }
.ec-field input:focus,.ec-field select:focus,.ec-field textarea:focus { outline:3px solid var(--gold); outline-offset:2px; }
.ec-field-wide { grid-column:1/-1; }
.ec-consent { display:flex; gap:10px; align-items:flex-start; font-size:.85rem; color:#e8e3d8; }
.ec-consent input { margin-top:6px; flex-shrink:0; width:18px; height:18px; accent-color:var(--teal); }
.ec-consent a { text-decoration:underline; text-underline-offset:3px; }
.ec-form-status { min-height:1.5em; font-size:.92rem; }
.ec-form-status.error { color:#ffd9c8; }
.ec-form-status.success { color:#dfeecf; }
.ec-inquiry .button { margin-top:0; width:100%; }
.ec-inquiry .button:disabled { opacity:.65; cursor:default; transform:none; }
.ec-form-note { color:#ded8cb; font-size:.78rem; }
.ec-honeypot { position:absolute; width:1px; height:1px; left:-10000px; overflow:hidden; }
.ec-receipt { margin-top:28px; padding:22px; border:1px solid #b4c3a2; background:#353c2e; }
.ec-receipt p { margin-top:12px; }
.ec-receipt code { overflow-wrap:anywhere; font-size:.82rem; }
.ec-consult aside { align-self:start; }
.ec-consult aside>p { color:#ded8cb; margin-top:16px; }
.ec-consult aside>.ec-text-link { display:block; margin-top:24px; }
.ec-tracking-note { margin-top:32px; padding-top:24px; border-top:1px solid #595b52; }
.ec-tracking-note h3 { font-size:1rem; }
.ec-tracking-note p { font-size:.8rem; margin-top:10px; color:#ded8cb; }
@media(max-width:980px) { .ec-consult-grid { grid-template-columns:1fr; gap:32px; } }
@media(max-width:500px) { .ec-inquiry { grid-template-columns:1fr; } }
