 :root{--paper:#f8f7f4;--ink:#252620;--muted:#77786f;--line:#deded7;--purple:#77629a;--white:#fff;--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.6}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}.announcement{height:32px;display:flex;align-items:center;justify-content:center;background:#292923;color:#f8f7f4;font-size:10px;letter-spacing:.12em;text-transform:uppercase;text-align:center;padding:0 10px}.site-header{height:84px;padding:0 6.2%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:5}.brand{display:flex;align-items:center;gap:10px;flex-shrink:0}.brand-logo{display:block;width:205px;height:66px;object-fit:contain;object-position:left center}.footer-brand .brand-logo{width:185px;height:76px}.main-nav{display:flex;gap:34px;font-size:12px}.main-nav a,.footer-links a{transition:opacity .2s}.main-nav a:hover,.footer-links a:hover{opacity:.6}.cart-trigger{border:1px solid var(--line);background:transparent;border-radius:30px;padding:10px 16px;font-size:12px}.cart-trigger #cart-count{background:var(--purple);color:#fff;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;margin:0 4px}.bag-icon{font-size:14px}.hero{padding:48px 6.2% 78px;display:grid;grid-template-columns:.83fr 1.17fr;gap:6%;align-items:center;max-width:1600px;margin:auto}.hero-copy{padding:18px 0}.eyebrow{font-size:9px;letter-spacing:.2em;font-weight:600;color:var(--purple);margin:0 0 18px}.eyebrow span{display:inline-block;width:22px;height:1px;background:var(--purple);vertical-align:middle;margin-right:8px}.hero h1{font-family:var(--serif);font-size:clamp(56px,6.6vw,91px);font-weight:400;line-height:.99;letter-spacing:-.055em;margin:0 0 26px}.hero h1 em,h2 em,.quote em{font-weight:400;color:var(--purple)}.hero-description{color:var(--muted);max-width:360px;font-size:13px;line-height:1.9;margin-bottom:30px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:15px 19px;border:0;font-size:11px;letter-spacing:.02em;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--ink);color:#fff}.button-dark:hover{background:var(--purple)}.hero-note{font-size:10px;color:var(--muted);margin-top:34px}.tiny-star{color:var(--purple);font-size:17px;vertical-align:middle;margin-right:7px}.hero-art{position:relative;padding:0 0 28px 25px}.hero-art>img{width:100%;height:min(56vw,580px);min-height:370px;object-fit:cover;display:block}.image-caption{display:flex;justify-content:space-between;gap:10px;padding-top:11px;font-size:8px;letter-spacing:.1em;color:var(--muted)}.floating-stamp{position:absolute;left:-10px;top:32px;background:var(--paper);width:105px;height:105px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-size:8px;line-height:1.5;letter-spacing:.12em;transform:rotate(-9deg)}.floating-stamp span{color:var(--purple);font-size:17px}.intro-strip{padding:27px 6.2%;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 2fr 1fr;align-items:center;gap:15px}.intro-strip>p:first-child,.intro-right{font-size:9px;letter-spacing:.14em;color:var(--muted)}.intro-line{font-family:var(--serif);font-size:clamp(21px,3vw,35px);margin:0;text-align:center}.intro-line em{color:var(--purple)}.intro-right{text-align:right;line-height:1.7;margin:0}.gallery-section{padding:100px 6.2% 110px;max-width:1600px;margin:auto}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px}.section-heading h2,.details-copy h2,.newsletter h2{font-family:var(--serif);font-weight:400;letter-spacing:-.035em;font-size:clamp(38px,4.2vw,57px);line-height:1.12;margin:0}.section-heading>p{font-size:11px;color:var(--muted);line-height:1.9;margin:0 0 6px}.filters{display:flex;gap:24px;align-items:center;margin:35px 0 26px;border-bottom:1px solid var(--line);overflow-x:auto}.filter{white-space:nowrap;border:0;background:none;padding:0 0 14px;color:var(--muted);font-size:11px;position:relative}.filter.active{color:var(--ink)}.filter.active:after{content:"";height:2px;background:var(--purple);position:absolute;bottom:-1px;left:0;right:0}.filter span{font-size:8px;color:var(--purple);margin-left:4px}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 22px}.product-card{min-width:0}.product-image-wrap{position:relative;background:#ecebe6;overflow:hidden}.product-image{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;transition:transform .6s}.product-card:hover .product-image{transform:scale(1.035)}.product-tag{position:absolute;top:12px;left:12px;background:rgba(248,247,244,.94);padding:6px 9px;font-size:8px;letter-spacing:.12em;text-transform:uppercase}.add-button{position:absolute;right:12px;bottom:12px;background:var(--paper);border:0;width:42px;height:42px;border-radius:50%;font-size:21px;transition:background .2s,color .2s}.add-button:hover{background:var(--purple);color:#fff}.product-meta{display:flex;justify-content:space-between;align-items:start;gap:10px;padding-top:13px}.product-meta h3{font-family:var(--serif);font-size:18px;font-weight:400;margin:0 0 3px}.product-meta p{font-size:10px;color:var(--muted);margin:0}.product-price{font-size:12px;white-space:nowrap;padding-top:4px}.quote-band{background:#eeece6;padding:70px 6.2% 28px;text-align:center}.quote-symbol{font-family:var(--serif);font-size:65px;line-height:.8;color:var(--purple)}.quote{font-family:var(--serif);font-size:clamp(30px,4vw,48px);line-height:1.25;margin:15px 0 55px;letter-spacing:-.025em}.quote-bottom{border-top:1px solid #d8d5cd;padding-top:16px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:.15em;color:var(--muted)}.details-section{padding:100px 10%;display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.details-image img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}.details-image img.piano-full{aspect-ratio:5/7;object-fit:contain;background:#e9e5df}.details-copy h2{margin-bottom:36px}.detail-item{display:grid;grid-template-columns:28px 1fr;gap:12px;padding:18px 0;border-top:1px solid var(--line)}.detail-item>span{font-size:9px;color:var(--purple);padding-top:3px}.detail-item strong{font-size:12px;font-weight:600}.detail-item p{font-size:11px;color:var(--muted);margin:5px 0 0;line-height:1.8}.text-link{display:inline-block;margin-top:22px;border-bottom:1px solid var(--purple);padding-bottom:5px;font-size:11px}.text-link span{color:var(--purple);margin-left:15px}.small-note{font-size:9px;color:var(--muted);margin-top:25px;line-height:1.7}.newsletter{background:#e8e4ed;padding:60px 10%;display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.newsletter h2{font-size:clamp(36px,4vw,52px)}.newsletter form label{display:block;font-size:11px;margin-bottom:16px}.email-row{display:flex;border-bottom:1px solid #bcb4c8}.email-row input{background:transparent;border:0;outline:0;flex:1;min-width:0;padding:13px 0;font-size:11px}.email-row button{border:0;background:none;font-size:20px;color:var(--purple);padding:0 5px}.form-note{font-size:9px;color:#777080;margin-top:12px}.site-footer{padding:40px 6.2% 24px;display:grid;grid-template-columns:1fr 1.2fr 1.4fr;gap:20px;align-items:center}.footer-brand .brand-logo{width:165px;height:68px}.site-footer>p{font-size:10px;color:var(--muted)}.footer-links{display:flex;justify-content:flex-end;gap:17px;font-size:10px}.site-footer>small{grid-column:1/-1;border-top:1px solid var(--line);padding-top:18px;font-size:9px;color:var(--muted)}.cart-overlay{position:fixed;inset:0;background:rgba(25,24,23,.35);z-index:9;opacity:0;pointer-events:none;transition:opacity .25s}.cart-overlay.open{opacity:1;pointer-events:auto}.cart-drawer{position:fixed;z-index:10;right:0;top:0;height:100dvh;width:min(450px,100%);background:var(--paper);padding:28px;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .3s ease}.cart-drawer.open{transform:translateX(0)}.cart-head{display:flex;justify-content:space-between;align-items:start;border-bottom:1px solid var(--line);padding-bottom:20px}.cart-head .eyebrow{margin-bottom:5px}.cart-head h2{font-family:var(--serif);font-weight:400;font-size:31px;margin:0}.cart-head h2 span{font:11px var(--sans);color:var(--muted)}.close-button{border:1px solid var(--line);background:none;border-radius:50%;width:36px;height:36px;font-size:23px}.cart-items{overflow-y:auto;flex:1;padding:12px 0}.empty-cart{font-family:var(--serif);font-size:20px;color:var(--muted);padding:20px 0}.cart-item{display:grid;grid-template-columns:74px 1fr auto;gap:13px;padding:15px 0;border-bottom:1px solid var(--line);align-items:start}.cart-item img{width:74px;height:88px;object-fit:cover}.cart-item h3{font-family:var(--serif);font-size:16px;font-weight:400;margin:0 0 5px}.cart-item p{font-size:10px;color:var(--muted);margin:0 0 8px}.qty-controls{display:flex;align-items:center;gap:12px}.qty-controls button{background:none;border:1px solid var(--line);width:23px;height:23px}.remove-item{border:0;background:none;color:var(--muted);font-size:10px;text-decoration:underline;margin-top:7px;padding:0}.cart-item-price{font-size:11px}.cart-footer{border-top:1px solid var(--line);padding-top:20px}.subtotal{display:flex;justify-content:space-between;font-size:13px}.cart-footer>p{font-size:10px;color:var(--muted)}.full-width{width:100%;margin-top:12px}.checkout-note{display:block;text-align:center;font-size:9px;color:#a15e50;margin-top:10px}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,20px);background:var(--ink);color:#fff;padding:12px 20px;font-size:11px;z-index:20;opacity:0;pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:800px){.site-header{height:72px;padding:0 5%}.main-nav{gap:15px}.main-nav a{font-size:10px}.hero{padding:35px 5% 55px;grid-template-columns:1fr;gap:30px}.hero-copy{padding:0}.hero h1{font-size:68px}.hero-art{padding-left:16px}.hero-art>img{height:62vw;min-height:320px}.intro-strip{padding:22px 5%;grid-template-columns:1fr 2fr}.intro-right{display:none}.gallery-section{padding:75px 5%}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 15px}.section-heading{align-items:start;flex-direction:column}.section-heading>p br{display:none}.details-section{padding:75px 7%;gap:6%;}.newsletter{padding:50px 7%;gap:7%}.site-footer{padding:35px 5% 20px;grid-template-columns:1fr 1fr}.site-footer>p{display:none}.footer-links{grid-column:1/-1;justify-content:flex-start}.site-footer>small{grid-column:1/-1}}
@media(max-width:520px){.announcement{font-size:8px;letter-spacing:.08em}.site-header{padding:0 4%;height:68px}.brand{gap:6px}.brand-logo{width:150px;height:54px}.footer-brand .brand-logo{width:150px;height:60px}.main-nav{display:none}.cart-trigger{padding:8px 12px}.hero{padding:32px 5% 45px}.hero h1{font-size:61px}.hero-description{font-size:12px}.hero-art>img{height:112vw;min-height:350px}.floating-stamp{width:85px;height:85px;font-size:7px;left:-4px}.image-caption{font-size:7px}.intro-strip{grid-template-columns:1fr;gap:7px;text-align:center}.intro-strip>p:first-child{margin:0}.intro-line{font-size:25px}.gallery-section{padding:60px 5% 70px}.section-heading h2{font-size:40px}.filters{gap:18px;margin:28px 0 20px}.filter{font-size:10px}.product-grid{gap:28px 11px}.product-meta{display:block}.product-meta h3{font-size:16px}.product-price{display:block;padding-top:7px}.add-button{width:36px;height:36px;right:8px;bottom:8px}.product-tag{top:8px;left:8px;font-size:7px}.quote-band{padding:55px 5% 22px}.quote{font-size:31px;margin-bottom:40px}.quote-bottom{font-size:7px}.details-section{grid-template-columns:1fr;padding:60px 7%;gap:35px}.details-image img{aspect-ratio:5/4}.details-image img.piano-full{aspect-ratio:5/7}.details-copy h2{font-size:43px;margin-bottom:25px}.newsletter{grid-template-columns:1fr;padding:48px 7%;gap:30px}.newsletter h2{font-size:43px}.site-footer{grid-template-columns:1fr;gap:18px}.footer-links{flex-wrap:wrap}.site-footer>small{grid-column:1}.cart-drawer{padding:22px}.desktop-only{display:none}}
/* Brand logo and complete vertical piano photograph */
.piano-product-image{aspect-ratio:3/5;object-fit:contain;background:#e9e5df}
.piano-card .product-image-wrap{background:#e9e5df}
.piano-card:hover .product-image{transform:none}
.details-image img.piano-full{aspect-ratio:5/7;object-fit:contain;background:#e9e5df}
@media(max-width:520px){.brand-logo{width:130px;height:52px}.footer-brand .brand-logo{width:150px;height:60px}}


/* About Me section */
.about-section{padding:92px 10% 34px;background:#eeece6;display:grid;grid-template-columns:.82fr 1.18fr;column-gap:10%;row-gap:36px;align-items:start}
.about-heading{position:sticky;top:120px}
.about-heading h2{font-family:var(--serif);font-size:clamp(38px,4.5vw,58px);font-weight:400;line-height:1.12;letter-spacing:-.035em;margin:0 0 24px}
.about-heading h2 em{font-style:italic}
.about-lead{font-family:var(--serif);font-size:20px;line-height:1.55;color:var(--purple);max-width:330px}
.about-copy p{font-size:12px;line-height:2;color:#626259;margin:0 0 17px}
.about-copy strong{color:var(--ink);font-weight:600}
.about-copy .about-thanks{font-family:var(--serif);font-style:italic;color:var(--purple);font-size:18px;line-height:1.6;margin-top:24px}
.about-signature{grid-column:1/-1;border-top:1px solid #d8d5cd;padding-top:16px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:.15em;color:var(--muted)}
@media(max-width:800px){.about-section{padding:70px 7% 28px;grid-template-columns:1fr;gap:20px}.about-heading{position:static}.about-heading h2{font-size:46px}.about-lead{max-width:500px}.about-copy p{font-size:12px}}
@media(max-width:520px){.about-section{padding:58px 6% 24px;gap:12px}.about-heading h2{font-size:41px}.about-lead{font-size:18px}.about-copy p{line-height:1.9}.about-signature{font-size:7px;gap:12px}}

/* Order details / manual checkout */
.order-form{margin-top:20px;padding-top:18px;border-top:1px solid var(--line);max-height:45vh;overflow:auto}
.order-form[hidden]{display:none}
.order-form .eyebrow{margin-bottom:12px}
.order-form label{display:block;font-size:11px;font-weight:600;margin:12px 0 5px}
.order-form input,.order-form textarea,.order-form select{display:block;width:100%;min-width:0;border:1px solid var(--line);border-radius:2px;background:#fff;padding:11px 12px;color:var(--ink);font:12px var(--sans)}
.order-form textarea{resize:vertical}
.payment-info{font-size:10px;line-height:1.7;color:var(--muted);background:#eeeaf3;padding:12px;margin:14px 0}
.order-form .button{position:sticky;bottom:0}

/* Contact details remain visible on mobile and desktop */
.site-footer .footer-contact{font-size:11px;color:var(--muted);line-height:1.8}
.site-footer .footer-contact p{margin:2px 0;font-size:11px}
.site-footer .footer-contact .contact-intro{margin-bottom:8px}
.site-footer .footer-contact a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
@media(max-width:800px){.site-footer .footer-contact{display:block;grid-column:1/-1}}

/* Photo journal feature */
.journal-promo{padding:85px 10%;display:grid;grid-template-columns:1fr .9fr;gap:9%;align-items:center;background:#f0eee9}.journal-promo h2{font-family:var(--serif);font-weight:400;letter-spacing:-.035em;font-size:clamp(40px,4.4vw,60px);line-height:1.1;margin:0 0 22px}.journal-promo h2 em{color:var(--purple);font-weight:400}.journal-promo-copy>p:not(.eyebrow){max-width:420px;color:var(--muted);font-size:12px;line-height:1.9;margin:0 0 26px}.journal-promo-image{position:relative}.journal-promo-image img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}.journal-promo-image span{display:block;font-size:8px;letter-spacing:.16em;color:var(--muted);padding-top:11px}
.journal-page{max-width:1160px;margin:auto;padding:65px 6.2% 100px}.journal-hero{padding:35px 0 55px;border-bottom:1px solid var(--line)}.journal-hero h1{font-family:var(--serif);font-size:clamp(50px,7vw,88px);font-weight:400;line-height:1.02;letter-spacing:-.05em;margin:0 0 20px}.journal-hero h1 em{color:var(--purple)}.journal-hero .journal-lead{font-size:13px;line-height:1.9;color:var(--muted);max-width:610px}.journal-label{font-size:9px;letter-spacing:.2em;color:var(--purple);font-weight:600;margin:0 0 18px}.journal-empty{margin:45px 0;background:#eeece6;padding:38px;display:grid;grid-template-columns:1fr 1.2fr;gap:30px;align-items:center}.journal-empty img{width:100%;max-height:360px;object-fit:cover}.journal-empty h2{font-family:var(--serif);font-size:35px;font-weight:400;line-height:1.2;margin:0 0 12px}.journal-empty p{font-size:12px;line-height:1.9;color:var(--muted)}.journal-howto{border-top:1px solid var(--line);padding-top:28px;margin-top:45px}.journal-howto h2{font-family:var(--serif);font-weight:400;font-size:32px;margin:0 0 18px}.journal-howto ol{padding-left:20px;color:var(--muted);font-size:12px;line-height:2}.journal-back{display:inline-block;margin-top:25px;border-bottom:1px solid var(--purple);padding-bottom:5px;font-size:11px}
@media(max-width:800px){.journal-promo{padding:65px 7%;gap:6%}}@media(max-width:520px){.journal-promo{grid-template-columns:1fr;padding:55px 6%;gap:30px}.journal-promo h2{font-size:43px}.journal-page{padding:42px 6% 70px}.journal-empty{grid-template-columns:1fr;padding:22px;gap:20px}.journal-empty h2{font-size:29px}}

/* Photo Journal story layout */
.journal-article{max-width:900px;margin:48px auto 0}.journal-article-heading{max-width:700px;margin:0 auto 34px}.journal-article-heading h2{font-family:var(--serif);font-weight:400;font-size:clamp(42px,6vw,72px);line-height:1.06;letter-spacing:-.04em;margin:0 0 18px}.journal-deck{font-size:15px;line-height:1.8;color:var(--muted);max-width:650px}.journal-byline{font-size:10px;letter-spacing:.08em;text-transform:uppercase;margin-top:24px;color:var(--purple)}.journal-feature{margin:0 0 42px}.journal-feature img{width:100%;max-height:850px;object-fit:contain;display:block;background:#f0eee9}.journal-feature figcaption{font-size:10px;line-height:1.7;color:var(--muted);padding-top:10px}.journal-prose{max-width:660px;margin:0 auto}.journal-prose p{font-family:var(--serif);font-size:clamp(17px,2vw,21px);line-height:1.85;margin:0 0 24px;color:var(--ink)}.journal-prose .journal-closing{border-left:2px solid var(--purple);padding-left:20px;font-style:italic;margin-top:34px}.journal-article .journal-back{margin:35px 0 10px}@media(max-width:520px){.journal-article{margin-top:30px}.journal-feature{margin-bottom:30px}.journal-prose p{line-height:1.75}}

/* Photo Journal story index and article refinements */
.journal-index{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:32px 0 60px}
.journal-index>.journal-label{grid-column:1/-1;margin-bottom:4px}
.journal-index>a{background:#eeece6;padding:24px;display:flex;flex-direction:column;gap:10px;text-decoration:none;color:var(--ink);min-height:190px}
.journal-index>a>span{font-size:10px;letter-spacing:.16em;color:var(--purple)}
.journal-index>a>strong{font-family:var(--serif);font-size:25px;font-weight:400;line-height:1.2}
.journal-index>a>small{font-size:11px;line-height:1.7;color:var(--muted)}
.journal-index>a>b{font-size:10px;font-weight:500;margin-top:auto;padding-top:8px;color:var(--purple)}
.journal-article{scroll-margin-top:24px}
.journal-article-heading h2 em{color:var(--purple);font-weight:400}
.journal-divider{max-width:900px;margin:70px auto;border-top:1px solid var(--line);text-align:center;height:1px}
.journal-divider span{position:relative;top:-14px;background:#f8f7f4;padding:0 18px;color:var(--purple)}
.shimla-article{padding-bottom:18px}
@media(max-width:520px){.journal-index{grid-template-columns:1fr;margin-bottom:45px}.journal-index>a{min-height:0;padding:21px}.journal-divider{margin:48px auto}}


/* Shimla photo album */
.shimla-book-section{padding:clamp(3.5rem,8vw,7rem) max(6%,calc((100% - 1200px)/2));background:#f1eee7}
.shimla-book-heading{margin-bottom:2.4rem}
.shimla-book-heading h2 em{font-family:"Playfair Display",serif;font-weight:400}
.book-stage{display:flex;flex-direction:column;align-items:center;gap:1.1rem}
.shimla-book{position:relative;display:block;width:min(78vw,390px);height:min(105vw,510px);min-height:350px;max-height:510px;padding:0;border:0;border-radius:4px 13px 13px 4px;background:#352849;box-shadow:14px 18px 30px rgba(29,24,35,.2),inset 5px 0 0 rgba(255,255,255,.08);cursor:pointer;perspective:1200px;text-align:initial;overflow:hidden;color:#f9f4e9;transition:transform .25s ease,box-shadow .25s ease}
.shimla-book:hover{transform:translateY(-4px) rotate(-.4deg);box-shadow:17px 23px 34px rgba(29,24,35,.23)}
.shimla-book:focus-visible{outline:3px solid #a18abf;outline-offset:5px}
.book-cover,.book-page,.book-back-cover{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}
.book-cover{padding:2rem 1.6rem;background:radial-gradient(ellipse at 50% 35%,#665079 0%,#443455 42%,#2c2337 100%);border-left:8px solid rgba(15,10,20,.28);text-align:center}
.book-cover:before{content:"";position:absolute;inset:15px;border:1px solid rgba(231,213,172,.58);pointer-events:none}
.book-cover:after{content:"";position:absolute;inset:23px;border:1px solid rgba(231,213,172,.2);pointer-events:none}
.book-cover-kicker{font:600 .66rem "DM Sans",sans-serif;letter-spacing:.23em;text-transform:uppercase;color:#e8d8b1;margin-bottom:1.8rem}
.book-cover-title{font:500 clamp(3rem,10vw,4.5rem) "Playfair Display",serif;letter-spacing:.02em;line-height:1.1;color:#fff8e9}
.book-cover-rule{width:65px;height:1px;background:#d8c49a;margin:1.2rem 0}
.book-cover-subtitle{font:400 .75rem "DM Sans",sans-serif;letter-spacing:.08em;color:#e5d9c5}
.book-cover-author{position:absolute;bottom:3.2rem;font:500 .65rem "DM Sans",sans-serif;letter-spacing:.11em;text-transform:uppercase;color:#e8d8b1}
.book-cover-star{position:absolute;bottom:5.1rem;color:#d8c49a;font-size:1.3rem}
.book-page{background:#fdfbf5;color:#332b30;padding:14px 14px 42px;border-left:7px solid #e4dfd3;gap:.65rem}
.book-page img{width:100%;height:calc(100% - 28px);object-fit:contain;min-height:0;background:#191819}
.book-page-caption{font:italic .82rem "Playfair Display",serif;text-align:center;padding:0 .5rem}
.book-page-number{position:absolute;bottom:13px;right:19px;font:.65rem "DM Sans",sans-serif;color:#77716b}
.book-back-cover{padding:2.5rem;background:linear-gradient(145deg,#40304e,#28202f);border-left:8px solid rgba(15,10,20,.28);text-align:center;gap:1.2rem}
.book-back-star{font-size:2rem;color:#ddc99f}
.book-back-cover span:nth-child(2){font:500 1.5rem/1.5 "Playfair Display",serif}
.book-back-cover small{font:400 .8rem/1.6 "DM Sans",sans-serif;color:#e0d5e6}
.book-controls{width:min(100%,440px);display:flex;align-items:center;justify-content:space-between;gap:.8rem}
.book-control-button{font:600 .8rem "DM Sans",sans-serif;border:1px solid #c8c0b7;background:transparent;color:#332b30;border-radius:99px;padding:.7rem 1rem;cursor:pointer;white-space:nowrap}
.book-control-button:disabled{opacity:.35;cursor:not-allowed}
#shimla-book-status{font:.72rem "DM Sans",sans-serif;color:#6d6460;text-align:center}
.book-hint{font:.75rem "DM Sans",sans-serif;color:#756d67;text-align:center;margin:0}
@media(max-width:520px){.shimla-book{width:min(82vw,350px);height:min(112vw,460px);min-height:340px}.book-controls{gap:.4rem}.book-control-button{padding:.65rem .75rem;font-size:.72rem}#shimla-book-status{font-size:.66rem}}
