:root { --maroon: #7b2d26; --maroon-dark: #5c1f1a; --gold: #c9a227; --ink: #1c1917; --paper: #faf7f2; }
* { box-sizing: border-box; margin: 0; }
body { font-family: Georgia, 'Times New Roman', serif; background: var(--paper); color: var(--ink); line-height: 1.5; }

header { display: flex; justify-content: space-between; align-items: center; padding: 16px 5%; background: var(--maroon); color: #fff; }
.brand { font-size: 1.25rem; font-weight: bold; letter-spacing: .5px; }
.brand span { color: var(--gold); }

.hero { text-align: center; padding: 56px 5% 32px; }
.hero h1 { font-size: 2.2rem; color: var(--maroon-dark); }
.hero p { margin-top: 10px; font-size: 1.1rem; color: #44403c; }
.price-line { font-size: 1.25rem; }
.price-line strong { color: var(--maroon); font-size: 1.6rem; }

.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 20px; padding: 24px 5% 40px; max-width: 1100px; margin: 0 auto; }
.card { background: #fff; border: 1px solid #e7e2da; border-radius: 10px; overflow: hidden; box-shadow: 0 2px 8px rgba(0,0,0,.05); display: flex; flex-direction: column; }
.card img { width: 100%; aspect-ratio: 1/1.414; object-fit: cover; object-position: top; background: #efe9e0; }
.card .body { padding: 12px 14px 16px; }
.card h3 { color: var(--maroon-dark); font-size: 1.05rem; }
.card small { color: #78716c; }
.card .btn { margin-top: 10px; }

.buybar { position: sticky; bottom: 0; display: flex; justify-content: space-between; align-items: center; gap: 12px;
  background: var(--maroon-dark); color: #fff; padding: 14px 5%; flex-wrap: wrap; }
.buybar small { display: block; color: #d6c9c5; font-size: .8rem; }
.buybar strong { font-size: 1.4rem; }

.downloads { padding: 40px 5%; max-width: 1100px; margin: 0 auto; }
.downloads h2 { color: var(--maroon-dark); }
.muted { color: #78716c; }

footer { text-align: center; color: #a8a29e; font-size: .85rem; padding: 28px 5%; }

.btn { border: 0; border-radius: 8px; padding: 9px 18px; font-size: .95rem; cursor: pointer; font-family: inherit; }
.btn.primary { background: var(--gold); color: var(--maroon-dark); font-weight: bold; }
.btn.primary:hover { filter: brightness(1.07); }
.btn.ghost { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.5); }
.btn.big { font-size: 1.05rem; padding: 12px 26px; }
.btn.full { width: 100%; margin-top: 6px; }

.modal { position: fixed; inset: 0; background: rgba(28,25,23,.55); display: flex; align-items: center; justify-content: center; padding: 16px; }
.modal-card { background: #fff; border-radius: 12px; padding: 26px; width: 100%; max-width: 380px; position: relative; }
.modal-card h2 { color: var(--maroon-dark); }
.modal-card form { margin-top: 14px; display: grid; gap: 12px; }
.modal-card label { font-size: .9rem; color: #44403c; display: grid; gap: 4px; }
.modal-card input { padding: 10px; border: 1px solid #d6d3d1; border-radius: 8px; font-size: 1rem; font-family: inherit; }
.modal-close { position: absolute; top: 10px; right: 14px; background: none; border: 0; font-size: 1.5rem; cursor: pointer; color: #78716c; }
.error { color: #b91c1c; font-size: .9rem; }
.switch { margin-top: 14px; font-size: .9rem; color: #57534e; }
.switch a { color: var(--maroon); }
.hidden { display: none !important; }

.btn:disabled { cursor: not-allowed; opacity: .6; }
.eyebrow {font-size:.73rem;letter-spacing:.12em;color:var(--maroon);font-weight:700;margin-bottom:8px}.checkout-note,.receipt-note{background:#f5f0e9;padding:16px;border-radius:12px;margin:16px 0;color:#44403c;line-height:1.6}.text-button{background:none;border:0;padding:8px 0;color:var(--maroon);font:inherit;cursor:pointer;text-decoration:underline}.receipt{max-width:1000px;margin:40px auto;padding:0 5%;line-height:1.6}.receipt h1{color:var(--maroon-dark);font-size:2rem}.receipt .grid{padding:20px 0}.receipt input{width:100%;box-sizing:border-box;padding:12px;border:1px solid #d6d3d1;border-radius:8px;margin:10px 0}.header-link{color:white}.brand{text-decoration:none}.receipt-note .btn{margin:8px 8px 0 0}.modal-card{max-height:90vh;overflow:auto}.checkout-note{font-size:.85rem}.error{margin:12px 0}
header a.brand {color:#fff}.receipt a:not(.btn):not(.brand) {color:var(--maroon)}.receipt input {font:14px system-ui}.receipt h2 {font-size:1.25rem}.receipt-note p {margin:8px 0}.btn,.text-button{min-height:44px}

.modal{z-index:100}.checkout-price{margin:8px 0;color:var(--maroon);font-size:1.1rem}.modal-close{min-width:44px;min-height:44px;top:2px;right:2px}

.google-button{display:block;text-align:center;background:#fff;border:1px solid #d6d3d1;color:#292524;text-decoration:none;margin:16px 0 8px;font-weight:600}

.download-now{border:1px solid #cfaa46;background:#fff8dc}.download-now h2{color:var(--maroon-dark)}

@media(max-width:600px){.hero{padding:32px 20px 12px}.hero h1{font-size:1.85rem}.hero p{font-size:1rem}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:20px 16px 140px}.card img{aspect-ratio:1/1.15}.card .body{padding:10px}.card h3{font-size:.95rem}.card small{font-size:.78rem}.receipt .grid{grid-template-columns:1fr}}
