.ecs-private-view { margin: 0; background: #fffaf5; color: #493c36; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; font-size: 16px; line-height: 1.65; }
.ecs-private-header { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: .8rem 1.5rem; padding: 1.2rem max(1.25rem, calc((100vw - 1160px) / 2)); border-bottom: 1px solid #eadbd0; background: #fffefa; }
.ecs-private-header .ecs-wordmark, .ecs-private-footer .ecs-wordmark { color: #895a52; font-family: Georgia, 'Times New Roman', serif; font-size: 1.7rem; font-weight: 400; text-decoration: none; letter-spacing: .015em; }
.ecs-private-header nav { display: flex; flex-wrap: wrap; gap: 1.25rem; }
.ecs-private-header nav a { color: #6d5b54; font-size: .82rem; text-decoration: none; }
.ecs-private-header nav a:hover { color: #7c4940; text-decoration: underline; text-underline-offset: 3px; }
.ecs-private-footer { padding: 2rem 1.25rem; text-align: center; border-top: 1px solid #eadbd0; background: #faeeea; }
.ecs-private-footer p { margin: .35rem 0; color: #6d5b54; font-size: .82rem; }
.ecs-skip { position: fixed; top: -100px; left: 1rem; z-index: 10; padding: .65rem 1rem; background: #fff; color: #75463e; }
.ecs-skip:focus { top: 1rem; }
.ecs-page, .ecs-product-invite, .ecs-payment-return { color: #493c36; font-family: inherit; line-height: 1.65; }
.ecs-page *, .ecs-product-invite * { box-sizing: border-box; }
.ecs-page { padding: 3.5rem 1.25rem 5rem; background: #fffaf5; }
.ecs-shell { width: min(100%, 1160px); margin-inline: auto; }
.ecs-page-heading { max-width: 780px; margin: 0 auto 2.25rem; text-align: center; }
.ecs-page .ecs-eyebrow, .ecs-page .ecs-step { color: #895a52; font-size: .72rem; font-weight: 700; letter-spacing: .12em; line-height: 1.5; text-transform: uppercase; margin: 0 0 .7rem; }
.ecs-page h1 { font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2rem, 5vw, 3.15rem); font-weight: 400; line-height: 1.15; color: #493c36; margin: 0 0 1rem; }
.ecs-page h2 { font-family: Georgia, 'Times New Roman', serif; font-size: 1.55rem; font-weight: 400; line-height: 1.3; margin: 0 0 .85rem; color: #493c36; }
.ecs-page h3 { font-size: .96rem; font-weight: 650; margin: 1.5rem 0 .5rem; color: #493c36; }
.ecs-page p { margin: 0 0 1rem; }
.ecs-page .ecs-lead { font-size: 1.05rem; color: #6f5e56; line-height: 1.7; }
.ecs-page a, .ecs-product-invite a { color: #865047; text-underline-offset: 3px; }
.ecs-page .ecs-back { display: inline-block; font-size: .85rem; margin-top: .3rem; }
.ecs-layout { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 1.5rem; align-items: start; }
.ecs-page .ecs-card { padding: 1.7rem; margin: 0 0 1.5rem; border: 1px solid #eadbd0; border-radius: 12px; background: #fffefa; box-shadow: 0 3px 12px #6b423205; }
.ecs-page .ecs-guide { background: #f9eeea; }
.ecs-note { margin: 1rem 0; padding: .95rem 1rem; border-left: 3px solid #ab766c; border-radius: 0 5px 5px 0; background: #f8e9e3; font-size: .88rem; }
.ecs-note strong { display: block; margin-bottom: .25rem; }
.ecs-page .ecs-measurement-video { display: block; width: 100%; height: auto; aspect-ratio: 960 / 544; object-fit: contain; margin: 1.25rem 0 .7rem; background: #312a27; border-radius: 6px; }
.ecs-page .ecs-small, .ecs-product-invite .ecs-small { font-size: .79rem; line-height: 1.65; color: #6d5b54; }
.ecs-measuring-steps { margin: 1.4rem 0; padding-left: 1.35rem; font-size: .88rem; }
.ecs-measuring-steps li { padding-left: .2rem; margin: 0 0 .8rem; }
.ecs-page .ecs-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1rem; }
.ecs-field { min-width: 0; margin: 0 0 1.1rem; }
.ecs-page .ecs-field label { display: block; font-size: .84rem; font-weight: 600; margin: 0 0 .4rem; color: #493c36; }
.ecs-page :is(input[type=text],input[type=email],input[type=tel],input[type=number],select,textarea) { width: 100%; min-width: 0; min-height: 46px; margin: 0; padding: .7rem .8rem; border: 1px solid #cdb9ae; border-radius: 5px; background: #fff; color: #493c36; font: inherit; font-size: .94rem; line-height: 1.5; box-shadow: none; }
.ecs-page textarea { resize: vertical; min-height: 108px; }
.ecs-page :is(input,select,textarea)::placeholder { color: #78665d; opacity: 1; }
.ecs-page input[readonly] { background: #fffaf6; }
.ecs-page .ecs-help { margin: .4rem 0 0; color: #6d5b54; font-size: .77rem; line-height: 1.6; }
.ecs-page .ecs-check { display: flex; align-items: flex-start; gap: .7rem; margin: 1.15rem 0; padding: .9rem; border: 1px solid #dbbdb3; border-radius: 6px; background: #faeeea; font-size: .84rem; line-height: 1.65; cursor: pointer; }
.ecs-page .ecs-check input { flex: 0 0 auto; width: 19px; height: 19px; margin: .2rem 0 0; padding: 0; accent-color: #905c51; cursor: pointer; }
.ecs-page .ecs-check span { min-width: 0; }
.ecs-button, .ecs-page .ecs-button, .ecs-product-invite .ecs-button { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: .78rem 1.15rem; border: 1px solid #905c51; border-radius: 5px; background: #905c51; color: #fff; font: inherit; font-size: .87rem; font-weight: 600; line-height: 1.4; text-align: center; text-decoration: none; cursor: pointer; box-shadow: none; }
.ecs-page .ecs-button:hover, .ecs-product-invite .ecs-button:hover { background: #76483f; border-color: #76483f; color: #fff; }
.ecs-page .ecs-button-secondary, .ecs-product-invite .ecs-button-secondary { background: transparent; color: #7c4940; }
.ecs-page .ecs-button-secondary:hover, .ecs-product-invite .ecs-button-secondary:hover { background: #f6e6e0; color: #684036; }
.ecs-page .ecs-text-button { display: inline-block; min-height: 44px; padding: .35rem 0; border: 0; background: none; color: #7c4940; font: inherit; font-size: .8rem; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; margin: -.6rem 0 .7rem; }
.ecs-page .ecs-submit-card .ecs-button, .ecs-consent-form .ecs-button, .ecs-page .ecs-pay-button { width: 100%; margin-bottom: .75rem; }
.ecs-page .ecs-submit-card { border-color: #e2c4b8; }
.ecs-page .ecs-alert { border: 1px solid #bfccaf; background: #f0f4e9; color: #435532; padding: 1rem 1.2rem; border-radius: 7px; margin-bottom: 1.5rem; }
.ecs-page .ecs-alert-error { border-color: #cf9e98; background: #fff1ee; color: #873e35; }
.ecs-page .ecs-save-link { background: #fbefea; }
.ecs-page .ecs-link-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .75rem; }
.ecs-page .ecs-link-row input { font-size: .79rem; }
.ecs-page .ecs-state { border-left: 4px solid #af7b6f; }
.ecs-quote-layout { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 1.5rem; align-items: start; }
.ecs-page .ecs-measurements { width: 100%; table-layout: fixed; border-collapse: collapse; margin: 1rem 0; font-size: .9rem; background: transparent; }
.ecs-page .ecs-measurements th, .ecs-page .ecs-measurements td { padding: .65rem 0; text-align: left; border: 0; border-bottom: 1px solid #eadbd0; line-height: 1.5; background: transparent; color: #493c36; overflow-wrap: anywhere; }
.ecs-page .ecs-measurements th { font-weight: 500; width: 67%; }
.ecs-page .ecs-measurements thead th { font-weight: 700; font-size: .76rem; color: #6d5b54; }
.ecs-page .ecs-measurements td, .ecs-page .ecs-measurements th:last-child { text-align: right; }
.ecs-page .ecs-preserve { white-space: pre-line; overflow-wrap: anywhere; }
.ecs-totals { margin: 1rem 0 .6rem; }
.ecs-totals > div { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: .65rem; font-size: .91rem; }
.ecs-totals dt, .ecs-totals dd { margin: 0; padding: 0; }
.ecs-totals dd { text-align: right; white-space: nowrap; }
.ecs-totals .ecs-total { margin-top: 1rem; padding-top: .9rem; border-top: 1px solid #dec8bb; font-size: 1.15rem; font-weight: 650; }
.ecs-product-invite { clear: both; margin: 1.4rem 0; padding: 1.1rem; border: 1px solid #e4ccc0; border-radius: 8px; background: #fff7f1; }
.ecs-product-invite h3 { font-family: Georgia, 'Times New Roman', serif; font-size: 1.2rem; font-weight: 400; margin: 0 0 .6rem; }
.ecs-product-invite p { font-size: .86rem; margin: 0 0 .85rem; }
.ecs-product-invite .ecs-small { margin: .8rem 0 0; }
.ecs-payment-return { margin: 1.5rem 0; padding: 1.2rem; background: #fbefea; border: 1px solid #dec8bb; border-radius: 7px; }
.ecs-payment-review { clear: both; margin: 1.5rem 0; padding: clamp(1rem, 3vw, 1.75rem); border: 1px solid #dec8bb; border-radius: 8px; background: #fffaf5; color: #493c36; font-size: .94rem; line-height: 1.65; overflow-wrap: anywhere; }
.ecs-payment-review h2 { margin: 0 0 .8rem; color: #493c36; font-family: Georgia, 'Times New Roman', serif; font-size: 1.6rem; font-weight: 400; line-height: 1.3; }
.ecs-payment-review h3 { margin: 1.5rem 0 .6rem; color: #493c36; font-size: 1rem; font-weight: 650; line-height: 1.45; }
.ecs-payment-review p { margin: 0 0 1rem; }
.ecs-payment-review .ecs-preserve { white-space: pre-line; }
.ecs-payment-review .ecs-small { font-size: .82rem; color: #6d5b54; }
.ecs-payment-review .ecs-payment-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.ecs-payment-review .ecs-measurements { width: 100%; margin: 1rem 0; table-layout: fixed; border-collapse: collapse; border: 0; background: transparent; color: #493c36; font-size: .9rem; }
.ecs-payment-review .ecs-measurements th, .ecs-payment-review .ecs-measurements td { padding: .6rem .25rem; border: 0; border-bottom: 1px solid #eadbd0; background: transparent; color: #493c36; line-height: 1.5; text-align: left; vertical-align: top; }
.ecs-payment-review .ecs-measurements th { width: 70%; font-weight: 500; }
.ecs-payment-review .ecs-measurements thead th { font-size: .8rem; font-weight: 700; }
.ecs-payment-review .ecs-measurements td, .ecs-payment-review .ecs-measurements th:last-child { text-align: right; }
.ecs-payment-confirm { clear: both; margin: 1rem 0 1.25rem; color: #493c36; }
.ecs-payment-confirm .ecs-check { display: flex; align-items: flex-start; gap: .8rem; margin: 0; padding: 1rem; border: 1px solid #c29a8e; border-radius: 7px; background: #faeeea; font-size: .9rem; line-height: 1.65; cursor: pointer; }
.ecs-payment-confirm .ecs-check input[type=checkbox] { flex: 0 0 auto; appearance: auto; width: 20px; height: 20px; min-height: 0; margin: .2rem 0 0; padding: 0; accent-color: #905c51; cursor: pointer; }
.ecs-payment-confirm .ecs-check span { min-width: 0; }
.ecs-payment-confirm input:focus-visible { outline: 2px solid #82574c; outline-offset: 3px; }
@media (max-width: 680px) { .ecs-payment-review .ecs-payment-grid { grid-template-columns: minmax(0, 1fr); gap: 0; } }
.ecs-page :is(input,select,textarea,button,a):focus-visible, .ecs-product-invite a:focus-visible { outline: 2px solid #82574c; outline-offset: 3px; }
.ecs-page [hidden] { display: none !important; }
.ecs-honeypot, .ecs-sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
@media (max-width: 850px) { .ecs-layout, .ecs-quote-layout { grid-template-columns: minmax(0, 1fr); gap: 0; } .ecs-page { padding-top: 2.25rem; } .ecs-page .ecs-guide { max-width: none; } }
@media (max-width: 540px) { .ecs-page { padding-inline: .85rem; } .ecs-page .ecs-card { padding: 1.2rem; border-radius: 8px; } .ecs-page .ecs-field-grid { grid-template-columns: minmax(0,1fr); } .ecs-page .ecs-link-row { grid-template-columns: minmax(0,1fr); } .ecs-page .ecs-link-row .ecs-button { width: 100%; } .ecs-page .ecs-check { padding: .75rem; } }
@media (prefers-reduced-motion: reduce) { .ecs-page *, .ecs-product-invite * { scroll-behavior: auto !important; transition: none !important; } }
