*{box-sizing:border-box}html{scroll-behavior:smooth}:root{--ink:#24160f;--brown:#5a2e1c;--brown2:#7b4527;--gold:#b9874c;--cream:#f7f0e6;--paper:#fffdf9;--muted:#74675e;--line:#e5d7c6}body{margin:0;color:var(--ink);background:var(--cream);font-family:"DM Sans",sans-serif}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.nav{height:86px;display:flex;align-items:center;gap:30px;padding:0 5.5vw;background:#fffdf9f5;backdrop-filter:blur(14px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:10px;margin-right:auto}.brand img{width:54px;height:54px;object-fit:contain;border-radius:8px}.brand span{display:flex;flex-direction:column;line-height:1.05}.brand b{font-family:"Playfair Display",serif;font-size:20px;text-transform:uppercase;letter-spacing:1px}.brand small{font-size:10px;letter-spacing:2.4px;text-transform:uppercase;color:var(--muted);margin-top:5px}.nav nav{display:flex;gap:27px;font-size:13px;font-weight:600;color:#4f4037}.nav nav a:hover{color:var(--brown2)}.nav-buy{background:var(--brown);color:#fff;padding:13px 19px;border-radius:7px;font-size:13px;font-weight:800;white-space:nowrap}.nav-orders{border:1px solid var(--brown);color:var(--brown);padding:12px 15px;border-radius:7px;font-size:13px;font-weight:800;white-space:nowrap}.nav-orders:hover{background:var(--brown);color:#fff}.hero{min-height:690px;display:grid;grid-template-columns:1fr .85fr;gap:5vw;align-items:center;padding:75px 9vw;background:radial-gradient(circle at 78% 40%,#ead5ba 0,transparent 35%),linear-gradient(110deg,#f7f0e6,#f4eadb)}.hero-copy{max-width:680px}.eyebrow,.section-kicker{font-size:11px;letter-spacing:2.6px;font-weight:800;color:var(--brown2);text-transform:uppercase}.hero h1{font-family:"Playfair Display",serif;font-size:clamp(56px,6.5vw,94px);line-height:.98;margin:18px 0;letter-spacing:-2px}.hero h1 em{color:var(--brown2);font-style:normal}.tagline{font-size:22px;font-weight:700;line-height:1.4;max-width:610px;margin:0 0 14px}.desc{font-size:16px;line-height:1.85;color:var(--muted);max-width:600px}.author-line{margin-top:18px;font-size:14px;color:#6b594c}.author-line strong{color:var(--brown)}.price-row{display:flex;align-items:center;gap:26px;margin-top:28px}.price-row small{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:1px}.price-row strong{font-size:32px}.primary,.pay-btn{display:inline-flex;justify-content:center;align-items:center;gap:12px;background:var(--brown);color:#fff;border:0;border-radius:8px;padding:15px 24px;font-weight:800;cursor:pointer;box-shadow:0 12px 25px #40200f22}.trust{display:flex;gap:20px;margin-top:20px;color:#68584d;font-size:12px}.hero-book{position:relative;display:flex;justify-content:center}.hero-book img{width:min(470px,88%);position:relative;border-radius:3px;box-shadow:28px 30px 65px #38221435;transform:rotate(1deg)}.book-glow{position:absolute;width:80%;height:80%;background:#c48b4a;filter:blur(70px);opacity:.22}.book-strip{display:grid;grid-template-columns:repeat(4,1fr);background:#2c1a11;color:#fff;padding:25px 8vw}.book-strip>div{padding:10px 30px;border-right:1px solid #ffffff1c}.book-strip>div:last-child{border:0}.book-strip span{color:#cda46f;font-size:12px;letter-spacing:2px}.book-strip b,.book-strip small{display:block}.book-strip b{margin:8px 0 3px;font-size:14px}.book-strip small{color:#cdbfb4;font-size:11px}.about{padding:110px 9vw;background:var(--paper);display:grid;grid-template-columns:.9fr 1.1fr;gap:7vw;align-items:center}.about h2,.section-head h2,.book-details h2,.checkout-intro h2,.contact h2{font-family:"Playfair Display",serif;font-size:50px;line-height:1.08;margin:12px 0 22px}.about p{color:var(--muted);line-height:1.9}.about .large{font-size:18px;color:#4f4037}.quote{border-left:3px solid var(--gold);padding:16px 20px;background:#faf3e9;color:#5a3926!important;font-style:italic}.outline{display:inline-block;border:1px solid var(--brown);padding:12px 18px;border-radius:7px;margin-top:8px;font-weight:700;font-size:13px}.about-mosaic{display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:220px 220px;gap:14px}.about-mosaic figure{margin:0;overflow:hidden;border-radius:9px;background:#eee}.about-mosaic figure img{width:100%;height:100%;object-fit:cover}.about-mosaic .big{grid-row:1/3}.credentials{display:grid;grid-template-columns:repeat(4,1fr);padding:40px 9vw;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#f2e8da}.credential{padding:8px 25px;border-right:1px solid #d8c8b7}.credential:last-child{border:0}.credential strong,.credential span{display:block}.credential strong{font-size:17px}.credential span{font-size:12px;color:var(--muted);margin-top:5px}.journey{padding:105px 6vw;background:#f9f4ec}.section-head{display:flex;justify-content:space-between;align-items:end;gap:50px;max-width:1200px;margin:0 auto 40px}.section-head h2{margin-bottom:0}.section-head p{max-width:430px;color:var(--muted);line-height:1.7}.gallery{max-width:1250px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:auto;gap:18px;align-items:start}.gallery figure{margin:0;border-radius:10px;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:0 8px 24px #4b2b1012;display:flex;align-items:center;justify-content:center}.gallery img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;transition:transform .5s}.gallery figure:hover img{transform:scale(1.02)}.gallery .g-wide{grid-column:span 2}.gallery .g-tall{grid-row:auto}.book-details{padding:110px 9vw;display:grid;grid-template-columns:.65fr 1fr;gap:8vw;align-items:center;background:var(--paper)}.details-cover{display:flex;justify-content:center}.details-cover img{width:min(360px,85%);box-shadow:20px 25px 50px #3d23161f}.book-details p{max-width:650px;color:var(--muted);line-height:1.9}.specs{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--line);margin:30px 0}.specs div{padding:14px 10px;border-bottom:1px solid var(--line)}.specs span,.specs b{display:block}.specs span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:1px}.specs b{margin-top:4px}.checkout-section{padding:105px 9vw;display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;background:linear-gradient(135deg,#f4e9db,#fbf8f3)}.checkout-intro>p{color:var(--muted);line-height:1.8}.mini-card{margin-top:35px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:13px;display:flex;gap:15px;align-items:center;max-width:430px}.mini-card img{width:80px;height:95px;object-fit:cover;border-radius:4px}.mini-card b,.mini-card small,.mini-card strong{display:block}.mini-card small{color:var(--muted);margin:5px 0}.mini-card strong{color:var(--brown2)}.order-form{background:#fff;padding:30px;border-radius:18px;border:1px solid var(--line);box-shadow:0 22px 60px #4b2b1018}.order-form h3{margin-top:0;font-size:23px}label{display:block;font-size:12px;font-weight:800;margin-bottom:14px;color:#4d3e35}input,textarea,select{display:block;width:100%;margin-top:7px;border:1px solid #d8c8b7;background:#fff;border-radius:8px;padding:13px;font:inherit;outline:none}textarea{min-height:85px;resize:vertical}.two,.three{display:grid;gap:14px}.two{grid-template-columns:1fr 1fr}.three{grid-template-columns:1fr 1fr .8fr}.qty-row{align-items:end}.rate-box{border:1px dashed #d5c2ae;padding:11px 14px;border-radius:8px;margin-bottom:14px}.rate-box span{font-size:11px;color:var(--muted)}.rate-box b{float:right}.rate-box small{display:block;color:var(--muted);margin-top:5px}.total{border-top:1px solid var(--line);padding:18px 0;display:flex;justify-content:space-between;font-size:17px}.total strong{font-size:26px}.pay-btn{width:100%;font-size:14px}.message{min-height:20px;color:#8a3b1e;font-size:12px}.privacy{display:block;color:var(--muted);margin-top:8px}.contact{padding:75px 9vw;background:#2b1a11;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:40px}.contact h2{margin-bottom:10px}.contact p{color:#cfc0b5}.contact img{width:140px;height:140px;object-fit:contain;background:#fff;border-radius:8px;padding:10px}footer{padding:25px 9vw;display:flex;justify-content:space-between;gap:20px;color:#77685e;font-size:11px;background:#f0e4d4}footer b,footer span{display:block}@media(max-width:950px){.nav nav{display:none}.hero,.about,.book-details,.checkout-section{grid-template-columns:1fr}.hero{padding-top:55px}.hero-book{order:-1}.hero-book img{width:65%}.book-strip,.credentials{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:repeat(2,1fr)}.section-head{display:block}.section-head p{margin-top:15px}.book-details{gap:50px}}@media(max-width:600px){.nav{height:70px;padding:0 5vw}.brand img{width:42px;height:42px}.brand b{font-size:15px}.brand small{font-size:7px}.nav-orders{padding:9px 10px;font-size:10px}.nav-buy{padding:10px 12px;font-size:11px}.hero{padding:50px 6vw}.hero h1{font-size:49px}.tagline{font-size:18px}.price-row{flex-direction:column;align-items:flex-start}.trust{flex-direction:column;gap:5px}.book-strip,.credentials{grid-template-columns:1fr;padding:25px 6vw}.book-strip>div,.credential{border-right:0;border-bottom:1px solid #ffffff1c;padding:16px 0}.credential{border-bottom:1px solid #d8c8b7}.about,.book-details,.checkout-section{padding:70px 6vw}.about h2,.section-head h2,.book-details h2,.checkout-intro h2,.contact h2{font-size:38px}.about-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:180px 180px}.gallery{grid-template-columns:1fr;grid-auto-rows:240px}.gallery .g-wide,.gallery .g-tall{grid-column:span 1;grid-row:span 1}.two,.three{grid-template-columns:1fr}.contact{padding:55px 6vw;flex-direction:column;align-items:flex-start}footer{padding:20px 6vw;flex-direction:column}}
/* Author's Journey — aligned full-photo gallery, never cropped */
.gallery-full{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}
.gallery-full figure{height:330px;padding:12px;background:#fff}
.gallery-full figure img{width:100%;height:100%;object-fit:contain;object-position:center;transform:none!important}
.gallery-full figure:hover img{transform:none!important}

/* Premium publishing-house footer */
.site-footer{padding:48px 7vw 22px;background:#24160f;color:#f7eee4;display:grid;grid-template-columns:1.4fr 1fr 1.2fr;gap:34px;align-items:start;font-size:12px}
.site-footer .footer-brand{display:flex;align-items:center;gap:16px}
.site-footer .footer-brand img{width:64px;height:64px;object-fit:contain;background:#fff;border-radius:8px;padding:5px}
.site-footer .footer-brand b{display:block;font-family:"Playfair Display",serif;font-size:21px;letter-spacing:.3px}
.site-footer .footer-brand span,.site-footer .footer-meta span,.site-footer .footer-meta small{display:block;color:#cbb9aa;margin-top:7px;line-height:1.6}
.site-footer .footer-links{display:flex;flex-wrap:wrap;gap:12px 22px}
.site-footer .footer-links a{color:#e9d9ca;font-weight:700}
.site-footer .footer-links a:hover{color:#d6a66b}
.site-footer .footer-meta strong{display:block;font-size:14px}
.site-footer .footer-meta small{font-size:11px}
.site-footer .footer-bottom{grid-column:1/-1;border-top:1px solid #ffffff1c;padding-top:18px;margin-top:8px;color:#a99585;font-size:11px}
@media(max-width:950px){.gallery-full{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-full figure{height:300px}.site-footer{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.gallery-full{grid-template-columns:1fr}.gallery-full figure{height:auto;min-height:260px}.site-footer{grid-template-columns:1fr;padding:38px 6vw 20px}.site-footer .footer-bottom{grid-column:auto}}


/* Image preview / lightbox */
.about-mosaic figure img,
.gallery-full figure img {
  cursor: zoom-in;
}

.image-modal {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 40px;
  background: rgba(20, 12, 8, .94);
}

.image-modal.active { display: flex; }

.image-modal-content {
  position: relative;
  max-width: 90vw;
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.image-modal-content img {
  display: block;
  max-width: 88vw;
  max-height: 82vh;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 8px;
  box-shadow: 0 25px 80px rgba(0,0,0,.45);
}

.image-modal-caption {
  margin-top: 14px;
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  text-align: center;
  opacity: .85;
}

.image-modal-close,
.image-modal-prev,
.image-modal-next {
  position: absolute;
  border: none;
  border-radius: 50%;
  background: rgba(255,255,255,.14);
  color: #fff;
  cursor: pointer;
  z-index: 10;
  transition: background .2s ease;
}

.image-modal-close:hover,
.image-modal-prev:hover,
.image-modal-next:hover {
  background: rgba(255,255,255,.26);
}

.image-modal-close {
  top: 20px;
  right: 25px;
  width: 48px;
  height: 48px;
  font-size: 34px;
  line-height: 1;
}

.image-modal-prev,
.image-modal-next {
  top: 50%;
  transform: translateY(-50%);
  width: 52px;
  height: 52px;
  font-size: 42px;
  line-height: 1;
}

.image-modal-prev { left: 25px; }
.image-modal-next { right: 25px; }

/* Centered developer credit */
.developer-credit {
  width: 100%;
  grid-column: 1 / -1;
  margin-top: 2px;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,.12);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 5px;
  font-size: 13px;
}

.developer-credit span {
  color: rgba(255,255,255,.60);
}

.developer-credit strong {
  color: #fff;
  font-size: 15px;
  font-weight: 700;
}

@media (max-width: 600px) {
  .image-modal { padding: 20px; }
  .image-modal-content img { max-width: 92vw; max-height: 75vh; }
  .image-modal-prev, .image-modal-next { width: 42px; height: 42px; font-size: 32px; }
  .image-modal-prev { left: 10px; }
  .image-modal-next { right: 10px; }
  .image-modal-close { top: 12px; right: 12px; width: 42px; height: 42px; font-size: 30px; }
}


/* Checkout mobile OTP modal */
.otp-modal{position:fixed;inset:0;background:rgba(30,18,12,.62);display:none;align-items:center;justify-content:center;padding:20px;z-index:9999;backdrop-filter:blur(4px)}
.otp-modal.active{display:flex}.otp-modal-card{position:relative;width:min(460px,100%);background:#fff;border:1px solid #ead8c7;border-radius:22px;padding:30px;box-shadow:0 30px 90px rgba(0,0,0,.25)}.otp-modal-card h3{font-family:Georgia,serif;color:#2d1710;font-size:30px;margin:7px 0}.otp-modal-card p{color:#6d5548;line-height:1.55}.otp-modal-card label{display:block;font-weight:700;color:#2d1710;margin:16px 0 8px}.otp-modal-card input{width:100%;box-sizing:border-box;border:1px solid #d9c2ae;border-radius:12px;padding:14px 16px;font:inherit;margin-top:7px}.otp-modal-close{position:absolute;right:14px;top:10px;border:0;background:transparent;font-size:32px;color:#5a2e1c;cursor:pointer}.otp-modal .account-btn{border:0;border-radius:12px;padding:13px 16px;font-weight:800;cursor:pointer;background:#5a2e1c;color:#fff;width:100%;margin-top:10px}.otp-modal .secondary-btn{background:#fff;color:#5a2e1c;border:1px solid #cdb7a4}.otp-modal-actions{display:flex;gap:10px}.otp-modal-actions .account-btn{flex:1}.otp-orders-link{display:block;margin-top:18px;text-align:center;color:#5a2e1c;font-weight:800;text-decoration:none}.nav-orders{white-space:nowrap}
@media(max-width:900px){.nav-orders{display:inline-flex!important}.otp-modal-actions{flex-direction:column}}

.welcome-toast{position:fixed;top:82px;right:28px;z-index:10050;display:flex;align-items:center;gap:16px;max-width:min(420px,calc(100vw - 36px));padding:14px 16px 14px 18px;background:#fff;border:1px solid #d9c2ae;border-left:4px solid var(--brown2);border-radius:12px;box-shadow:0 16px 40px rgba(65,35,20,.16);color:#2d1710;font-weight:700;opacity:0;transform:translateY(-10px);pointer-events:none;transition:.25s ease}.welcome-toast.show{opacity:1;transform:translateY(0);pointer-events:auto}.welcome-toast button{border:0;background:transparent;color:#5a2e1c;font-size:24px;line-height:1;cursor:pointer}.nav-orders{display:inline-flex!important;align-items:center;justify-content:center}.nav-orders.logged-in{background:var(--brown);color:#fff}.nav-orders.logged-in:hover{background:var(--brown2)}
@media(max-width:600px){.welcome-toast{top:76px;right:14px}}


/* Shopping cart additions */
.nav-orders{position:relative;display:inline-flex;align-items:center;gap:7px}
.cart-count{display:inline-flex;min-width:20px;height:20px;padding:0 5px;align-items:center;justify-content:center;border-radius:999px;background:#5a2e1c;color:#fff;font-size:11px;font-weight:800}
.cart-toast{position:fixed;right:24px;top:88px;z-index:1000;background:#5a2e1c;color:#fff;padding:13px 18px;border-radius:12px;box-shadow:0 12px 30px rgba(45,23,16,.2);opacity:0;transform:translateY(-10px);pointer-events:none;transition:.2s ease}.cart-toast.show{opacity:1;transform:translateY(0)}
.add-to-cart-btn{border:0;cursor:pointer}
@media(max-width:760px){.cart-toast{right:14px;top:75px}}
