/* Shared visual language, limited to the eight document-based pages. */
body.ecom-content-page { --ecom-page-amber:#f08a00; --ecom-page-bronze:#a34f00; --ecom-page-ink:#0f172a; --ecom-page-muted:#74839b; --ecom-page-rule:#e2e8f0; }
body.ecom-content-page #main { color:var(--ecom-page-ink); background:radial-gradient(circle,#d9dfe7 .7px,transparent .9px) 0 0/18px 18px,#fff; }
body.ecom-content-page .ecom-page-section { background:transparent; }
body.ecom-content-page .ecom-page-section > .section-content { padding-inline:24px; }
body.ecom-content-page .ecom-page-row > .col { padding:0; min-width:0; }
body.ecom-content-page .ecom-page-section :is(h1,h2,h3,p,label,input,textarea,select,.button) { font-family:Lato,sans-serif; }
body.ecom-content-page .ecom-page-section h1 { font-size:clamp(2.25rem,1.5rem + 2.7vw,4rem); line-height:1.12; font-weight:800; letter-spacing:-.025em; margin:0 0 1.75rem; text-wrap:balance; }
body.ecom-content-page .ecom-page-section h2 { font-size:clamp(1.75rem,1.35rem + 1.4vw,2.75rem); line-height:1.18; font-weight:700; letter-spacing:-.025em; margin:0 0 1.5rem; text-wrap:balance; }
body.ecom-content-page .ecom-page-section h3 { font-size:clamp(1.25rem,1.15rem + .35vw,1.5rem); line-height:1.3; font-weight:700; margin:0 0 .75rem; }
body.ecom-content-page .ecom-page-section p:not(.ecom-page-eyebrow) { font-size:clamp(1rem,.95rem + .2vw,1.125rem); line-height:1.65; color:var(--ecom-page-muted); margin:0 0 1.25rem; }
body.ecom-content-page .ecom-page-intro { max-width:960px; margin-inline:auto; }
body.ecom-content-page .ecom-page-intro > p:not(.ecom-page-eyebrow) { max-width:850px; margin-inline:auto; }
body.ecom-content-page .ecom-page-eyebrow { display:inline-block; padding:.6rem .9rem; color:var(--ecom-page-bronze); border:1px dashed #d78a2f; background:#fff9ef; font-size:.8rem; line-height:1.5; letter-spacing:.06em; margin:0 0 2rem; }
body.ecom-content-page .ecom-page-actions { margin-top:2rem; }
body.ecom-content-page .ecom-page-actions .ecom-hero-actions { max-width:650px; margin:0 auto; justify-content:center; gap:1rem; }
body.ecom-content-page .ecom-page-actions .button { padding:.9rem 1.5rem; min-height:3.5rem; font-size:1rem; white-space:normal; }
body.ecom-content-page .ecom-page-actions .button.primary { flex:0 1 auto; }
body.ecom-content-page .ecom-page-actions .button.is-outline { flex:0 1 auto; color:var(--ecom-page-muted); }
body.ecom-content-page .ecom-page-hero { padding-top:88px; }
body.ecom-content-page .ecom-page-section-intro { margin:0 auto 3rem; max-width:900px; }
body.ecom-content-page .ecom-page-grid { position:relative; border-top:1px solid var(--ecom-page-rule); border-left:1px solid var(--ecom-page-rule); background:#fff; }
body.ecom-content-page .ecom-page-grid::before { content:''; position:absolute; inset:-7px; border:1px dashed var(--ecom-page-rule); pointer-events:none; }
body.ecom-content-page .ecom-page-card { border-right:1px solid var(--ecom-page-rule); border-bottom:1px solid var(--ecom-page-rule); }
body.ecom-content-page .ecom-page-card > .col-inner { padding:2rem; width:100%; }
body.ecom-content-page .ecom-page-card > .col-inner::before { content:''; position:absolute; top:-5px; left:-5px; width:9px; height:9px; border:1px solid var(--ecom-page-rule); background:#fff; border-radius:2px; }
body.ecom-content-page .ecom-page-card-copy p:last-child { margin-bottom:0; }
body.ecom-content-page .ecom-page-icon { position:relative; display:block; height:24px; width:24px; margin-bottom:1.25rem; }
body.ecom-content-page .ecom-page-icon::before { content:''; position:absolute; inset:0; background-position:center; background-repeat:no-repeat; background-size:contain; }
body.ecom-content-page .ecom-page-split { border:1px solid var(--ecom-page-rule); background:#fff; }
body.ecom-content-page .ecom-page-split > .col > .col-inner { width:100%; padding:2.5rem; }
body.ecom-content-page .ecom-page-split-aside { background:#fffaf2; }
body.ecom-content-page .ecom-page-split-main { border-left:1px solid var(--ecom-page-rule); }
body.ecom-content-page .ecom-page-split .ecom-hero-actions { flex-direction:column; align-items:stretch; }
body.ecom-content-page .ecom-page-lines { background:linear-gradient(#e2e8f040 1px,transparent 1px),linear-gradient(90deg,#e2e8f040 1px,transparent 1px); background-size:32px 32px; }
body.ecom-content-page .ecom-page-reading { max-width:900px; margin-inline:auto; }
body.ecom-content-page .ecom-page-cta { background:radial-gradient(ellipse at 50% 110%,#fff9bbd9 0,transparent 48%),radial-gradient(circle,#ffffff65 1px,transparent 1.4px) 0 0/8px 8px,#f08a00; }
body.ecom-content-page .ecom-page-section.ecom-page-cta h2,
body.ecom-content-page .ecom-page-section.ecom-page-cta p:not(.ecom-page-eyebrow) { color:#fff; }
body.ecom-content-page .ecom-page-cta .ecom-hero-actions .button { border-radius:999px; font-weight:600; border:1px solid transparent; line-height:1.4; transition:background .25s,color .25s,border-color .25s; }
body.ecom-content-page .ecom-page-cta .ecom-hero-actions .button.primary { background:#fff !important; color:#a34f00 !important; box-shadow:none; }
body.ecom-content-page .ecom-page-cta .ecom-hero-actions .button.is-outline { background:#c36b00 !important; color:#fff !important; border-color:transparent !important; }
body.ecom-content-page .ecom-page-cta .ecom-hero-actions .button:is(:hover,:focus-visible),
body.ecom-content-page .ecom-page-cta .ecom-hero-actions .button:is(:hover,:focus-visible) span { background:#f6b35c !important; color:#fff !important; border-color:#fff !important; }
body.ecom-content-page .ecom-page-faq { max-width:950px; margin-inline:auto; background:#fff; border:1px solid var(--ecom-page-rule); }
body.ecom-content-page .ecom-page-faq .accordion-title { font-size:1.125rem; padding:1.2rem 1.2rem 1.2rem 3rem; }
body.ecom-content-page .ecom-project-form label { display:block; color:var(--ecom-page-ink); font-size:.95rem; font-weight:600; }
body.ecom-content-page .ecom-form-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem 1.25rem; }
body.ecom-content-page .ecom-form-wide { grid-column:1/-1; }
body.ecom-content-page .ecom-project-form :is(input,textarea,select) { width:100%; margin:.5rem 0 0; min-height:44px; padding:.75rem; border:1px solid #d9e2ee; border-radius:4px; background:#fff; color:var(--ecom-page-ink); font-size:1rem; box-shadow:none; }
body.ecom-content-page .ecom-project-form textarea { min-height:160px; resize:vertical; }
body.ecom-content-page .ecom-project-form :is(input,textarea,select):focus { outline:2px solid #f08a00; outline-offset:2px; }
body.ecom-content-page .ecom-project-form .button { background:linear-gradient(135deg,#f08a00,#ed9a22); color:#fff; padding:.75rem 1.5rem; margin-bottom:0; border-radius:8px; text-transform:none; }
body.ecom-content-page .ecom-form-help { margin-top:1.25rem; font-size:.875rem; }
body.ecom-content-page .ecom-form-trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
body.ecom-content-page .ecom-form-notice { padding:1rem; border:1px solid #d78a2f; background:#fffaf2; }
body.ecom-content-page #project-form { scroll-margin-top:100px; }
body.ecom-content-page #footer .absolute-footer { display:none; }
@media (max-width:849px) {
 body.ecom-content-page .ecom-page-split > .col { flex-basis:100%; max-width:100%; }
 body.ecom-content-page .ecom-page-split-main { border-left:0; }
 body.ecom-content-page .ecom-page-split > .col > .col-inner { padding:2rem; }
}
@media (max-width:549px) {
 body.ecom-content-page .ecom-page-section > .section-content { padding-inline:20px; }
 body.ecom-content-page .ecom-page-card > .col-inner,body.ecom-content-page .ecom-page-split > .col > .col-inner { padding:1.5rem; }
 body.ecom-content-page .ecom-form-fields { grid-template-columns:1fr; }
 body.ecom-content-page .ecom-page-actions .ecom-hero-actions { flex-direction:column; }
}
/* The shared homepage closing section retains its native artwork and animation. */
body.ecom-content-page .ecom-home-build.ecom-build-native { width:100%; max-width:none; margin:0; border-radius:0; }
body.ecom-content-page .ecom-home-build > .section-content { padding:0; }
body.ecom-content-page .ecom-home-build .ecom-build-stage { padding-inline:24px; }
body.ecom-content-page #main .ecom-build-copy .ecom-title-section { font-size:clamp(1.75rem,1.4rem + 1.5vw,2.75rem); line-height:1.18; font-weight:700; letter-spacing:-.025em; margin:0 0 1.5rem; text-wrap:balance; }
body.ecom-content-page #main .ecom-build-copy p { font-size:clamp(1rem,.95rem + .2vw,1.125rem); line-height:1.6; letter-spacing:0; }
@media(max-width:549px) { body.ecom-content-page .ecom-home-build .ecom-build-stage { padding-inline:20px; } }

/* Outlined labels echo the diagram nodes while retaining the bronze palette. */
body.ecom-content-page .ecom-page-eyebrow { position:relative; border-radius:6px; }
body.ecom-content-page .ecom-page-eyebrow::before,
body.ecom-content-page .ecom-page-eyebrow::after { content:''; position:absolute; top:50%; width:9px; height:9px; background:#fff9ef; border:1px solid #d78a2f; border-radius:2px; transform:translateY(-50%); pointer-events:none; }
body.ecom-content-page .ecom-page-eyebrow::before { left:-5px; }
body.ecom-content-page .ecom-page-eyebrow::after { right:-5px; }
