.public-site { background: var(--ecite-surface); }
.public-header,.public-footer { max-width: 1200px; margin: auto; padding: 24px 32px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.public-header { border-bottom: 1px solid var(--ecite-border); }
.public-brand { color: var(--ecite-navy); font-size: 21px; font-weight: 750; text-decoration: none; }
.public-brand span { display: block; font-size: 13px; font-weight: 500; color: var(--ecite-muted); }
.public-header nav,.public-actions { display: flex; flex-wrap: wrap; gap: 24px; align-items: center; }
.public-header nav a:not(.btn) { color: var(--ecite-text); text-decoration: none; font-size: 14px; }
.public-section { max-width: 1200px; margin: auto; padding: 72px 32px; scroll-margin-top: 24px; }
.public-hero { display: grid; grid-template-columns: 1.2fr 1fr; gap: 64px; align-items: center; padding-top: 88px; padding-bottom: 88px; }
.public-eyebrow { font-size: 14px; font-weight: 700; color: var(--ecite-blue-strong); margin-bottom: 20px; }
.public-site h1 { color: var(--ecite-navy); font-size: clamp(38px,4.4vw,60px); line-height: 1.08; font-weight: 750; margin-bottom: 24px; }
.public-site h2 { font-size: clamp(26px,3vw,38px); line-height: 1.18; font-weight: 700; color: var(--ecite-navy); margin-bottom: 24px; }
.public-site p { line-height: 1.7; }
.public-lead { font-size: 20px; }
.public-actions { margin-top: 28px; }

.mobile-hero-image { margin: 0; }
.mobile-hero-image img { display: block; width: 100%; height: auto; border-radius: var(--ecite-radius); }
.product-story { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px,7vw,96px); align-items: center; padding-top: 88px; padding-bottom: 88px; }
.product-copy { max-width: 470px; }
.product-copy h2 { font-size: clamp(32px,3.5vw,46px); line-height: 1.12; letter-spacing: -.025em; }
.product-copy>p:not(.public-eyebrow):not(.public-lead),.product-detail p { color: var(--ecite-muted); font-size: 1rem; }
.product-copy .public-lead { font-size: 1.25rem; margin-bottom: 24px; }
.product-detail { margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--ecite-border); }
.product-detail h3 { color: var(--ecite-navy); font-size: 1.0625rem; font-weight: 700; margin-bottom: 10px; }
.product-detail p { margin-bottom: 0; }
.product-link { display: inline-block; margin-top: 28px; font-weight: 650; text-decoration: none; }
.product-link span { margin-left: 12px; }
.product-visual { overflow: hidden; border-radius: 12px; min-width: 0; }
.phone-stage { min-height: 650px; background: var(--ecite-blue-soft); display: flex; justify-content: center; align-items: center; padding: 40px; }
.phone-stage img { display: block; width: min(100%,260px); height: auto; border: 5px solid var(--ecite-navy); border-radius: 32px; box-shadow: 0 20px 40px #0b1f3a24; }
.phone-stage-navy { background: var(--ecite-navy); }
.phone-stage-navy img { border-color: #31445b; }
.story-band { background: var(--ecite-bg); }
.product-story-reverse .product-visual { grid-column: 2; grid-row: 1; }
.product-story-reverse .product-copy { grid-column: 1; grid-row: 1; }
.field-photo { height: 610px; }
.field-photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 76% center; }
.public-access { display: grid; grid-template-columns: 1.2fr 1fr; gap: 64px; align-items: center; border-top: 1px solid var(--ecite-border); }
.public-access h2 { font-size: 2rem; }
.public-access p { color: var(--ecite-muted); }
.public-address { border-left: 3px solid var(--ecite-blue); padding: 12px 0 12px 28px; }
.public-address span { display: block; font-size: .875rem; color: var(--ecite-muted); }
.public-address code { display: block; color: var(--ecite-navy); margin: 12px 0; font-size: 1rem; overflow-wrap: anywhere; }
.public-address p { margin: 0; font-size: .875rem; }
.public-footer { border-top: 1px solid var(--ecite-border); font-size: .875rem; color: var(--ecite-muted); }
.public-skip { position: absolute; left: 16px; top: -100px; padding: 12px; background: white; z-index: 10; }
.public-skip:focus { top: 12px; }
.public-site a:focus-visible { outline: 3px solid var(--ecite-blue); outline-offset: 5px; }
@media(max-width: 800px) {
 .public-hero,.product-story,.public-access { grid-template-columns: 1fr; gap: 32px; }
 .public-section { padding: 48px 24px; }
 .product-copy { max-width: none; grid-row: 1; }
 .product-story-reverse .product-copy { grid-column: 1; grid-row: 1; }
 .product-visual,.product-story-reverse .product-visual { grid-column: 1; grid-row: 2; }
 .phone-stage { min-height: 0; padding: 32px; }
 .phone-stage img { width: min(100%,240px); }
 .field-photo { height: 420px; }
 .public-header { align-items: flex-start; flex-direction: column; padding: 20px 24px; }
 .public-header nav { gap: 16px; }
 .public-footer { flex-direction: column; align-items: flex-start; padding: 24px; }
}
