:root { --ink: #09313a; --muted: #66818b; --line: #dce8e8; --mist: #f1f7f6; --teal: #079c9a; --teal-dark: #007e7d; --warm: #fff8f5; --danger: #a84932; }
* { box-sizing: border-box; }
body.purchase-page { min-height: 100vh; margin: 0; background: linear-gradient(180deg, #f4fbfa 0, #fff 38rem); color: var(--ink); font-family: "DM Sans", Arial, sans-serif; }
.purchase-shell, .purchase-main { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
.purchase-site-header { position: sticky; z-index: 10; top: 0; height: 102px; border-bottom: 1px solid rgba(8, 58, 62, .08); background: rgba(251, 252, 251, .96); backdrop-filter: blur(16px); }
.purchase-site-header__inner { display: flex; height: 100%; align-items: center; justify-content: space-between; gap: 32px; }
.purchase-brand { display: inline-flex; align-items: center; gap: 14px; min-width: max-content; color: var(--ink); text-decoration: none; }
.purchase-brand__mark { position: relative; display: block; width: 45px; height: 42px; flex: 0 0 45px; border-radius: 14px; background: linear-gradient(145deg, #73cf9e, #48a973); box-shadow: inset 0 -8px 12px rgba(0, 80, 58, .18); }
.purchase-brand__mark::before { position: absolute; top: -17px; left: 10px; width: 20px; height: 22px; border: 4px solid #ecffc5; border-bottom: 0; border-radius: 15px 15px 0 0; content: ""; }.purchase-brand__mark::after { position: absolute; right: 7px; bottom: 8px; width: 10px; height: 10px; border-radius: 50%; background: #b6f3bd; content: ""; }
.purchase-brand strong, .purchase-brand small { display: block; }.purchase-brand strong { font-size: 1.5rem; line-height: 1; letter-spacing: -.055em; }.purchase-brand small { margin-top: 5px; color: var(--muted); font-size: .7rem; line-height: 1.1; }
.purchase-site-nav, .purchase-site-nav__list, .purchase-site-nav__actions { display: flex; align-items: center; }.purchase-site-nav { gap: 30px; }.purchase-site-nav__list { gap: 24px; }.purchase-site-nav__list a { position: relative; color: #4d676c; font-size: .86rem; font-weight: 700; text-decoration: none; }.purchase-site-nav__list a:hover { color: var(--teal); }
.purchase-site-nav__actions { gap: 8px; }.purchase-button { display: inline-flex; min-height: 46px; padding: 10px 19px; align-items: center; justify-content: center; border: 1px solid transparent; border-radius: 13px; color: inherit; font-size: .88rem; font-weight: 700; line-height: 1; text-decoration: none; white-space: nowrap; }.purchase-button--ghost { min-height: 42px; }.purchase-button--primary { color: #fff; background: var(--teal); box-shadow: 0 10px 22px rgba(7, 158, 157, .2); }.purchase-button--primary:hover { background: var(--teal-dark); }
.purchase-main { padding: 44px 0 64px; }
.purchase-intro { max-width: 690px; margin-bottom: 34px; } .purchase-eyebrow { color: var(--teal); font-size: .76rem; letter-spacing: .16em; font-weight: 700; }
.purchase-intro h1 { margin: 10px 0 14px; font: 700 clamp(2.4rem, 4.4vw, 4.25rem)/1.02 "Fraunces", Georgia, serif; letter-spacing: -.055em; }
.purchase-intro p { max-width: 630px; margin: 0; color: var(--muted); font-size: 1.08rem; line-height: 1.6; }
.purchase-grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; align-items: start; gap: 28px; }
.purchase-card, .purchase-summary__card { background: #fff; border: 1px solid var(--line); border-radius: 22px; box-shadow: 0 14px 45px rgba(16, 64, 66, .07); }
.purchase-form { overflow: hidden; }.purchase-form__section { padding: 31px 34px; border-bottom: 1px solid var(--line); }.purchase-form__section--last { border: 0; background: #fcfefe; }
.purchase-section-heading { display: flex; gap: 13px; margin-bottom: 24px; }.purchase-step { display: grid; flex: 0 0 28px; height: 28px; place-items: center; border-radius: 50%; background: #dff5f2; color: var(--teal-dark); font-size: .82rem; font-weight: 700; }
.purchase-section-heading h2 { margin: 0 0 3px; font-size: 1.15rem; letter-spacing: -.025em; }.purchase-section-heading p { margin: 0; color: var(--muted); font-size: .9rem; line-height: 1.45; }
.purchase-fields { display: grid; gap: 16px; }.purchase-fields--two { grid-template-columns: 1fr 1fr; margin-bottom: 16px; }.purchase-fields--address { grid-template-columns: .65fr 1.35fr 1.2fr; }
.purchase-form label { display: block; color: var(--ink); font-size: .88rem; font-weight: 600; }.purchase-form label + label:not(.purchase-fields label) { margin-top: 16px; }.purchase-form label span { color: var(--muted); font-size: .78rem; font-weight: 400; }
.purchase-form input, .purchase-form select { display: block; width: 100%; height: 48px; margin-top: 7px; padding: 0 13px; border: 1px solid #bfd2d4; border-radius: 10px; background: #fff; color: var(--ink); font: inherit; font-weight: 400; outline: 0; transition: border-color .18s, box-shadow .18s; }.purchase-form input:focus, .purchase-form select:focus { border-color: var(--teal); box-shadow: 0 0 0 3px rgba(7, 156, 154, .12); }
.purchase-field-hint { margin: 7px 0 0; color: var(--muted); font-size: .78rem; }.purchase-alert { margin: 26px 34px 0; padding: 15px 17px; border: 1px solid #e8bfb5; border-radius: 12px; background: var(--warm); color: var(--danger); }.purchase-alert strong { display: block; }.purchase-alert p { margin: 5px 0 0; line-height: 1.45; }
.purchase-submit { display: flex; width: 100%; min-height: 56px; align-items: center; justify-content: space-between; padding: 0 21px; border: 0; border-radius: 12px; background: linear-gradient(135deg, var(--teal), #06aaa7); color: #fff; cursor: pointer; font: 700 1rem "DM Sans", Arial, sans-serif; transition: transform .18s, box-shadow .18s; }.purchase-submit:hover { transform: translateY(-1px); box-shadow: 0 9px 20px rgba(7, 156, 154, .22); }.purchase-submit span:last-child { font-size: 1.35rem; }.purchase-security { margin: 14px 0 0; color: var(--muted); font-size: .79rem; line-height: 1.45; }
.purchase-summary { position: sticky; top: 24px; }.purchase-summary__card { padding: 28px; }.purchase-summary h2 { margin: 9px 0 7px; font: 700 1.75rem/1.1 "Fraunces", Georgia, serif; letter-spacing: -.035em; }.purchase-summary p { color: var(--muted); line-height: 1.5; font-size: .91rem; }.purchase-price-row { display: flex; justify-content: space-between; gap: 15px; padding: 16px 0; border-top: 1px solid var(--line); font-size: .9rem; }.purchase-price-row strong { white-space: nowrap; }.purchase-net-note { margin: 0 !important; font-size: .76rem !important; }.purchase-summary__trust { display: flex; gap: 11px; margin-top: 16px; padding: 17px; border-radius: 15px; background: #e8f7f4; }.purchase-summary__trust > span { color: var(--teal-dark); font-weight: 700; }.purchase-summary__trust strong { font-size: .87rem; }.purchase-summary__trust p { margin: 3px 0 0; font-size: .78rem; }.purchase-change-plan { display: inline-block; margin: 18px 4px; color: var(--teal-dark); font-size: .88rem; font-weight: 700; text-decoration: none; }
.purchase-site-footer { padding: 72px 0 0; color: rgba(255, 255, 255, .9); background: #052f33; }.purchase-site-footer .purchase-brand strong { color: #fff; }.purchase-site-footer .purchase-brand__mark { background: rgba(255, 255, 255, .09); }.purchase-site-footer .purchase-brand small, .purchase-site-footer p { color: rgba(255, 255, 255, .58); }.purchase-site-footer__grid { display: grid; grid-template-columns: 1.45fr .7fr .7fr .7fr; gap: 52px; }.purchase-site-footer__intro p { max-width: 340px; margin: 22px 0 0; }.purchase-site-footer h2 { margin: 0 0 20px; color: #fff; font-size: .82rem; letter-spacing: .08em; text-transform: uppercase; }.purchase-site-footer ul { margin: 0; padding: 0; list-style: none; }.purchase-site-footer li + li { margin-top: 10px; }.purchase-site-footer a { color: rgba(255, 255, 255, .82); text-decoration: none; }.purchase-site-footer a:hover { color: #ffa077; }.purchase-site-footer__promises { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-top: 66px; padding: 22px 0; color: rgba(255, 255, 255, .82); border-top: 1px solid rgba(255, 255, 255, .12); font-size: .78rem; font-weight: 650; }.purchase-site-footer__bottom { background: rgba(0, 0, 0, .09); color: rgba(255, 255, 255, .45); font-size: .77rem; }.purchase-site-footer__bottom .purchase-shell { display: flex; justify-content: space-between; padding: 20px 0 24px; }
@media (max-width: 960px) { .purchase-site-header { height: auto; }.purchase-site-header__inner { flex-wrap: wrap; padding: 16px 0; }.purchase-site-nav { width: 100%; justify-content: space-between; }.purchase-grid { grid-template-columns: 1fr; }.purchase-summary { position: static; }.purchase-summary__card { padding: 24px; }.purchase-main { padding-top: 24px; }.purchase-site-footer__grid { grid-template-columns: 1fr 1fr; }.purchase-site-footer__intro { grid-column: 1 / -1; }.purchase-site-footer__promises { grid-template-columns: 1fr 1fr; } }
@media (max-width: 620px) { .purchase-shell, .purchase-main { width: min(100% - 32px, 1180px); }.purchase-site-header__inner { gap: 16px; }.purchase-site-nav { gap: 14px; align-items: flex-start; flex-direction: column; }.purchase-site-nav__list { gap: 18px; }.purchase-site-nav__actions { width: 100%; }.purchase-site-nav__actions .purchase-button { flex: 1; padding-inline: 10px; }.purchase-brand small { display: none; }.purchase-intro h1 { font-size: 2.45rem; }.purchase-form__section { padding: 25px 20px; }.purchase-alert { margin-inline: 20px; }.purchase-fields--two, .purchase-fields--address { grid-template-columns: 1fr; }.purchase-site-footer { padding-top: 50px; }.purchase-site-footer__grid { grid-template-columns: 1fr; gap: 36px; }.purchase-site-footer__intro { grid-column: auto; }.purchase-site-footer__promises { grid-template-columns: 1fr; gap: 12px; margin-top: 42px; }.purchase-site-footer__bottom .purchase-shell { gap: 10px; flex-direction: column; } }
