/* The approved original image is contained in full, without cropping or distortion. */
.offer-page { min-height:calc(100dvh - var(--admin-bar-height)); background:#e9dfd3; }
.offer-art { width:100%; height:calc(100dvh - var(--admin-bar-height)); object-fit:contain; }
.offer-page { position:relative; }
.offer-introduction { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); }
.offer-page .offer-readable { position:absolute; top:25%; left:50%; transform:translateX(-50%); width:min(94%,1280px); display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; color:#eee7d7; font-family:Barlow,"Arial Narrow",Arial,sans-serif; font-weight:400; font-size:clamp(16px,1.25vw,22px); line-height:1.35; }
.offer-readable section { padding:24px 26px; background:rgba(32,29,25,.88); border:1px solid rgba(225,211,187,.28); border-radius:12px; }
.offer-readable h2 { margin:0 0 18px; font-family:Barlow,"Arial Narrow",Arial,sans-serif; font-size:clamp(21px,1.75vw,30px); font-weight:400; line-height:1.15; white-space:nowrap; }
.offer-readable p { margin:0 0 22px; }
.offer-readable p,.offer-readable li { letter-spacing:clamp(-.9px,calc(.7px - .083333333vw),-.5px); }
.offer-readable ul { margin:0; padding:0; list-style:none; }
.offer-readable li { position:relative; padding-left:32px; margin:0 0 5px; }
.offer-readable li::before { content:'→'; position:absolute; left:0; top:-.15em; color:#8F1D32; font-size:1.5em; line-height:1.2; }
@media(min-width:901px) {
 .offer-page .offer-art { width:100%; height:100%; object-fit:cover; object-position:center; }
}
@media(max-width:900px) {
 .offer-page .offer-readable { position:relative; top:auto; left:auto; transform:none; width:calc(100% - 36px); margin:24px auto; grid-template-columns:1fr; font-size:18px; }
 .offer-readable h2 { font-size:24px; white-space:normal; }
 .offer-readable p,.offer-readable li { letter-spacing:-.6px; }
}
@media(min-width:901px) {
 .offer-art { height:auto; object-fit:cover; object-position:left center; }
}
@media(max-width:900px) {
 .offer-page { padding-top:136px; }
 .offer-art { height:auto; }
}
@media(max-width:600px) {
 .offer-page { padding-top:102px; }
 .offer-readable p,.offer-readable li { letter-spacing:-1.1px; }
}

/* Fill landscape screens only while preserving all three panels and floor props. */
@media (min-width:901px) and (min-aspect-ratio:79/50) and (max-aspect-ratio:19/10) {
 .offer-art { height:calc(100dvh - var(--admin-bar-height)); }
}
