.offer-content { padding-top: 85px; }
.offer-variants .offer-section-intro .text-link { display: inline-block; margin-top: 28px; }
.variant-detail { border-top: 1px solid var(--line); }
.variant-detail:last-child { border-bottom: 1px solid var(--line); }
.variant-detail summary { display: grid; grid-template-columns: 180px 1fr 32px; gap: 28px; align-items: center; padding: 32px 0; cursor: pointer; list-style: none; }
.variant-detail summary::-webkit-details-marker { display: none; }
.variant-detail summary .eyebrow { margin: 0; }
.variant-detail summary > span { transform: none; }
.variant-detail[open] summary > .eyebrow,.variant-detail[open] summary > .variant-title { transform: none; }
.variant-body p { margin: 0 0 22px; font-size: inherit; line-height: inherit; color: inherit; }
.variant-title { font-size: clamp(26px,3vw,40px); font-weight: 300; }
.variant-mark { font-size: 28px; font-weight: 300; transition: transform .3s ease; }
.variant-detail[open] .variant-mark { transform: rotate(45deg); }
.variant-detail summary:focus-visible { outline: 2px solid var(--slate); outline-offset: 5px; }
.variant-body { max-width: 820px; margin: 0 0 45px 208px; font-size: 17px; line-height: 1.85; color: #171417; }
.variant-body .variant-tagline { font-size: 23px; font-weight: 300; }
.variant-body ol { padding-left: 24px; margin: 30px 0; }
.variant-body li { padding-left: 12px; margin-bottom: 26px; }
.variant-body h3 { font-size: 19px; margin: 0 0 7px; font-weight: 400; }
.variant-body li p { margin: 0; }
.variant-outcome { padding: 24px; background: rgba(168,154,147,.16); }
.variant-body .variant-note,.variant-terms { font-size: 14px; line-height: 1.85; }
.variant-terms { max-width: 950px; margin-top: 32px; }
@media(max-width:760px) { .variant-detail summary { grid-template-columns: 1fr 24px; gap: 12px; padding: 27px 0; } .variant-detail summary .eyebrow { grid-column: 1; } .variant-title { grid-column: 1; } .variant-mark { grid-column: 2; grid-row: 1 / 3; } .variant-body { margin: 0 0 32px; font-size: 16px; } .variant-outcome { padding: 20px; } }
@media(prefers-reduced-motion:reduce) { .variant-mark { transition: none; } }
.offer-invite { position: relative; isolation: isolate; overflow: hidden; min-height: 490px; display: flex; align-items: center; padding: 70px 5.5vw; background: var(--slate); color: var(--cotton); }
.offer-invite-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -3; }
.offer-invite::before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(31,21,34,.65),rgba(31,21,34,.12) 75%); z-index: -1; }
.offer-invite .scene-shadow-wall { z-index: -2; height: 82%; }
.offer-invite-copy { max-width: 650px; }
.offer-invite-copy .eyebrow { color: inherit; opacity: .7; }
.offer-invite h2 { color: inherit; font-size: clamp(36px,4.5vw,64px); line-height: 1.25; margin: 25px 0 38px; }
.offer-invite .btn { border-color: rgba(248,246,241,.65); color: var(--cotton); }
.offer-invite .btn:hover { background: var(--cotton); color: var(--slate); }
@media(max-width:760px) { .offer-invite { min-height: 450px; padding: 55px 22px 80px; } .offer-invite-photo { object-position: 60% center; } }
.offer-section-intro { margin-bottom: 55px; }
.offer-section-intro h2 { font-size: clamp(34px,3.6vw,54px); line-height: 1.2; margin: 0; }
.offer-card-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; }
.offer-card { position: relative; display: flex; flex-direction: column; min-height: 610px; padding: 42px 28px; border: 1px solid var(--line); background: var(--cotton); transition: transform .45s ease,box-shadow .45s ease,border-color .45s ease,background .45s ease; }
.offer-page .offer-card:hover { transform: translateY(-9px); background: #fffdf8; border-color: var(--pebble); box-shadow: 0 20px 44px rgba(78,67,74,.1); }
.offer-card .eyebrow { color: var(--truffle); font-size: 8px; line-height: 1.8; min-height: 30px; margin: 0 0 65px; }
.offer-card h2 { font-size: clamp(28px,2.4vw,38px); line-height: 1.2; margin: 0 0 36px; min-height: 90px; }
.offer-card-copy { font-size: 15px; line-height: 1.9; color: #111; padding-top: 26px; border-top: 1px solid var(--line); margin-bottom: 35px; }
.offer-card .text-link { margin-top: auto; align-self: flex-start; font-size: 10px; }
.offer-comparison { display: grid; grid-template-columns: 1fr 1.8fr; gap: 6vw; align-items: start; background: rgba(168,154,147,.18); }
.comparison-copy h2 { font-size: clamp(34px,3.6vw,54px); line-height: 1.2; margin-bottom: 24px; }
.comparison-copy > p:not(.eyebrow) { max-width: 340px; font-size: 16px; line-height: 1.9; color: #111; }
.comparison-scroll { overflow-x: auto; min-width: 0; }
.table-scroll-hint { display: none; }
.comparison-scroll table { border-collapse: collapse; width: 100%; min-width: 580px; font-size: 13px; }
.comparison-scroll th,.comparison-scroll td { padding: 21px 14px; border-bottom: 1px solid rgba(78,67,74,.17); text-align: center; font-weight: 400; }
.comparison-scroll th:first-child { text-align: left; padding-left: 0; width: 40%; }
.comparison-scroll thead th { font-size: 22px; font-weight: 300; padding-top: 0; padding-bottom: 28px; }
.comparison-scroll td span { color: var(--slate); font-size: 18px; }
.comparison-scroll tfoot td { font-size: 11px; }
.comparison-scroll tfoot a { display: block; padding-top: 14px; font-size: 11px; text-decoration: underline; text-underline-offset: 5px; }
.comparison-note { grid-column: 1 / -1; margin: 0; color: var(--slate); font-size: 12px; line-height: 1.8; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (max-width:1100px) { .offer-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; } .offer-card { min-height: 540px; padding: 38px 32px; } .offer-card h2 { font-size: 36px; } .offer-comparison { gap: 35px; } }
@media (max-width:760px) { .offer-content { padding-top: 60px; } .offer-section-intro { margin-bottom: 35px; } .offer-card-grid { grid-template-columns: 1fr; gap: 24px; } .offer-card { min-height: 480px; padding: 36px 28px; } .offer-card .eyebrow { margin-bottom: 42px; min-height: 0; } .offer-card h2 { min-height: 0; margin-bottom: 30px; } .offer-comparison { grid-template-columns: 1fr; gap: 38px; } .comparison-scroll table { min-width: 580px; } .comparison-note { grid-column: auto; } }
@media (prefers-reduced-motion:reduce) { .offer-card { transition: none; } .offer-page .offer-card:hover { transform: none; } }
@media (max-width:760px) { .table-scroll-hint { display: block; margin: 0 0 22px; font-size: 11px; line-height: 1.8; color: var(--slate); } }
