:root{
  --paper:#f4f0e8;
  --paper-2:#ebe5da;
  --ink:#181714;
  --muted:#6e695f;
  --faint:#938d82;
  --line:#d4cec2;
  --line-dark:#b9b1a4;
  --wine:#6f2632;
  --wine-dark:#551b25;
  --olive:#34473b;
  --white:#fffdf8;
  --container:min(92vw,1320px);
  --font:Tahoma,"Segoe UI",Arial,sans-serif;
  --radius:4px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);
  line-height:1.85;-webkit-font-smoothing:antialiased;overflow-x:hidden
}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{color:inherit}
img{display:block;max-width:100%}
::selection{background:var(--wine);color:var(--white)}
.container{width:var(--container);margin-inline:auto}
.narrow{max-width:860px;margin-inline:auto}
.kicker,.section-label{
  display:block;font-size:11px;font-weight:700;color:var(--wine);letter-spacing:.01em
}
.button-primary{
  display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;
  background:var(--wine);color:var(--white);border:1px solid var(--wine);cursor:pointer;
  font-weight:700;font-size:13px;transition:.2s
}
.button-primary:hover{background:var(--wine-dark);border-color:var(--wine-dark)}
.button-primary.dark-button{background:var(--ink);border-color:var(--ink)}
.button-light{
  display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;
  background:var(--paper);color:var(--ink);font-weight:700;font-size:13px
}
.link-arrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;border-bottom:1px solid var(--ink);padding-bottom:3px}
.link-arrow span{transition:.2s}
.link-arrow:hover span{transform:translateX(-4px)}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}
.reveal.on{opacity:1;transform:none}

/* Header */
.site-header{
  height:74px;position:fixed;z-index:80;top:0;left:0;right:0;
  background:rgba(244,240,232,.94);backdrop-filter:blur(14px);border-bottom:1px solid transparent;
  transition:transform .28s,border-color .28s
}
.site-header.scrolled{border-bottom-color:var(--line)}
.site-header.hide{transform:translateY(-100%)}
.header-grid{height:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
.brand{justify-self:start;display:flex;align-items:center;gap:10px;white-space:nowrap}
.brand-name{font-weight:900;font-size:16px}
.brand-line{width:20px;height:1px;background:var(--wine)}
.brand small{font-size:10px;color:var(--muted)}
.desktop-nav{display:flex;align-items:center;gap:28px;font-size:12px;color:var(--muted)}
.desktop-nav a{padding:10px 0;position:relative}
.desktop-nav a:hover,.desktop-nav a.active{color:var(--ink)}
.desktop-nav a.active:after{content:"";position:absolute;right:0;left:0;bottom:3px;height:1px;background:var(--wine)}
.header-actions{justify-self:end}
.header-cta{
  display:inline-flex;align-items:center;justify-content:center;height:38px;padding:0 15px;
  background:var(--ink);color:var(--white);font-size:11px;font-weight:700
}
.mobile-only{display:none}
.menu-button{border:0;background:transparent;padding:8px;font-size:12px;cursor:pointer}

.mobile-menu{
  position:fixed;z-index:100;inset:0;background:var(--paper);color:var(--ink);
  transform:translateY(-102%);transition:.5s cubic-bezier(.68,0,.32,1);padding:22px;
  display:flex;flex-direction:column
}
.mobile-menu.open{transform:none}
.mobile-menu-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:20px;border-bottom:1px solid var(--line)}
.mobile-menu-top button{border:0;background:none;cursor:pointer;color:var(--muted)}
.mobile-menu nav{display:flex;flex-direction:column;margin:auto 0;gap:5px}
.mobile-menu nav a{font-size:clamp(34px,11vw,58px);font-weight:900;line-height:1.32}
.mobile-primary{background:var(--wine);color:var(--white);padding:14px 16px;text-align:center;font-weight:700;font-size:13px}

/* Home */
.home-hero{padding-top:74px;min-height:92svh;border-bottom:1px solid var(--line)}
.home-hero-grid{display:grid;grid-template-columns:1.08fr .92fr;min-height:calc(92svh - 74px)}
.home-hero-copy{padding:12vh 7vw 10vh 0;display:flex;flex-direction:column;justify-content:center}
.home-hero-copy h1{
  margin:17px 0 0;font-size:clamp(58px,7.4vw,104px);line-height:1.12;letter-spacing:-.045em;font-weight:900
}
.home-hero-copy>p{max-width:650px;margin:30px 0 0;color:var(--muted);font-size:15px;line-height:2.05}
.hero-actions{display:flex;align-items:center;gap:24px;margin-top:34px}
.hero-note{display:flex;gap:14px;align-items:baseline;margin-top:58px;padding-top:17px;border-top:1px solid var(--line);font-size:11px}
.hero-note b{color:var(--wine)}
.hero-note span{color:var(--muted)}
.home-feature{border-right:1px solid var(--line);display:flex;align-items:center;justify-content:center;padding:7vh 4vw;background:var(--paper-2)}
.feature-book{display:grid;grid-template-columns:minmax(220px,1fr);width:min(100%,480px)}
.feature-book-image{background:#ddd6c9;aspect-ratio:4/5;overflow:hidden;box-shadow:0 25px 70px rgba(33,27,19,.14)}
.feature-book-image img{width:100%;height:100%;object-fit:cover}
.feature-placeholder{
  width:100%;height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:30px;
  background:#d8d0c3;color:var(--ink)
}
.feature-placeholder strong{font-size:36px;line-height:1.25}
.feature-placeholder span{font-size:13px}
.feature-book-caption{display:grid;grid-template-columns:1fr auto;gap:8px 20px;padding:16px 0 0}
.feature-book-caption>span{font-size:10px;color:var(--wine);grid-column:1/-1}
.feature-book-caption h2{font-size:18px;margin:0;font-weight:800}
.feature-book-caption p{margin:0;font-size:14px}
.feature-editorial{
  width:min(100%,470px);min-height:540px;background:var(--ink);color:var(--white);padding:42px;
  display:flex;flex-direction:column;justify-content:space-between
}
.feature-editorial>span{font-size:11px;color:#c9c0b4}
.feature-editorial strong{font-size:clamp(42px,4.7vw,70px);line-height:1.25}
.feature-editorial p{color:#b9b1a5;font-size:13px;max-width:320px}

.home-principle{padding:13vh 0;border-bottom:1px solid var(--line)}
.principle-grid{display:grid;grid-template-columns:210px 1fr;gap:8vw}
.principle-grid h2{font-size:clamp(40px,5.3vw,72px);line-height:1.3;margin:0;max-width:850px}
.principle-grid p{font-size:16px;color:var(--muted);max-width:760px;margin:30px 0 0}
.criteria-section{padding:11vh 0;border-bottom:1px solid var(--line)}
.criteria-head{display:flex;justify-content:space-between;align-items:end;padding-bottom:28px;border-bottom:1px solid var(--ink)}
.criteria-head p{margin:0;color:var(--muted);font-size:12px}
.criteria-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.criterion{padding:34px 30px 8px 0;border-left:1px solid var(--line);min-height:250px}
.criterion:last-child{border-left:0}
.criterion>span{color:var(--wine);font-size:11px}
.criterion h3{font-size:23px;margin:55px 0 10px}
.criterion p{color:var(--muted);font-size:13px;max-width:310px;margin:0}
.home-valuation{background:var(--ink);color:var(--white);padding:12vh 0}
.home-valuation-grid{display:grid;grid-template-columns:1fr .8fr;gap:9vw;align-items:end}
.light-label{color:#d3b7bb}
.home-valuation h2{font-size:clamp(43px,5.7vw,78px);line-height:1.28;margin:18px 0 0}
.home-valuation p{color:#bdb6aa;font-size:14px;max-width:560px;margin:0 0 28px}
.home-shop{padding:12vh 0;border-bottom:1px solid var(--line)}
.home-shop-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:38px}
.home-shop-head h2{font-size:clamp(34px,4vw,52px);margin:10px 0 0}
.home-shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.home-shop-image{aspect-ratio:4/5;background:var(--paper-2);overflow:hidden}
.home-shop-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.home-shop-item:hover img{transform:scale(1.018)}
.shop-placeholder{
  height:100%;display:grid;place-items:center;padding:20px;text-align:center;background:#d8d0c3;
  font-size:28px;font-weight:800
}
.home-shop-meta{display:flex;justify-content:space-between;gap:20px;align-items:start;padding-top:13px}
.home-shop-meta h3{font-size:15px;margin:0}
.home-shop-meta span{font-size:12px;white-space:nowrap;color:var(--wine)}
.shop-empty-line{padding:35px 0;border-top:1px solid var(--line);color:var(--muted)}
.home-close{padding:9vh 0}
.home-close .container{display:flex;justify-content:space-between;align-items:center;gap:40px}
.home-close p{font-size:20px;max-width:800px;margin:0}

/* Shared page intro */
.page-main{padding-top:74px}
.page-intro{padding:11vh 0 8vh;border-bottom:1px solid var(--line)}
.page-intro-grid{display:grid;grid-template-columns:1fr .75fr;gap:9vw;align-items:end}
.page-intro h1{
  font-size:clamp(48px,6.2vw,86px);line-height:1.22;letter-spacing:-.04em;margin:14px 0 0
}
.page-intro p{font-size:14px;color:var(--muted);margin:0;max-width:520px}

/* Valuation */
.valuation-section{padding:8vh 0 12vh}
.valuation-layout{display:grid;grid-template-columns:1.12fr .88fr;gap:60px;align-items:start}
.valuation-form{border-top:1px solid var(--ink)}
.form-section{padding:34px 0;border-bottom:1px solid var(--line)}
.form-section-head{display:grid;grid-template-columns:38px 1fr;gap:15px;margin-bottom:24px}
.form-section-head>span{
  width:30px;height:30px;border:1px solid var(--line-dark);border-radius:50%;display:grid;place-items:center;
  font-size:11px;color:var(--wine)
}
.form-section-head h2{font-size:20px;margin:0 0 3px}
.form-section-head p{margin:0;color:var(--muted);font-size:11px}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 22px}
.field-grid label,.contact-inline label,.clean-form label{display:block}
label>span{display:block;font-size:11px;font-weight:700;margin-bottom:7px}
.field-grid select,.field-grid input,.contact-inline input,.clean-form input,.clean-form textarea{
  width:100%;height:50px;border:1px solid var(--line-dark);background:rgba(255,253,248,.45);
  color:var(--ink);outline:none;padding:0 13px;font-size:14px;transition:.18s
}
.field-grid select:focus,.field-grid input:focus,.contact-inline input:focus,.clean-form input:focus,.clean-form textarea:focus{
  border-color:var(--wine);background:var(--white)
}
.clean-form textarea{height:auto;min-height:150px;padding:12px;resize:vertical}
.price-field{display:grid;grid-template-columns:1fr auto;align-items:center}
.price-field input{grid-column:1/-1;grid-row:1}
.price-field b{grid-column:2;grid-row:1;z-index:1;font-size:10px;color:var(--muted);padding-left:12px;font-weight:400}
.contact-inline{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.form-submit{margin-top:22px;min-width:180px}
.honeypot{position:fixed!important;top:-10000px!important;right:0!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.quote-panel{min-width:0}
.quote-sticky{position:sticky;top:104px;border-top:1px solid var(--ink);padding-top:26px}
.quote-price{font-size:clamp(52px,6.2vw,86px);font-weight:900;line-height:1.1;margin-top:14px;letter-spacing:-.04em}
.quote-caption{margin:5px 0 0;color:var(--muted);font-size:12px}
.quote-divider{height:1px;background:var(--line);margin:30px 0 22px}
.quote-sticky h3{font-size:16px;margin:0 0 5px}
.quote-reasons{border-top:1px solid var(--line)}
.quote-reason{display:grid;grid-template-columns:30px 1fr;gap:11px;padding:13px 0;border-bottom:1px solid var(--line)}
.quote-reason span{font-size:10px;color:var(--wine)}
.quote-reason p{font-size:12px;color:var(--muted);margin:0}
.reason-placeholder{padding:16px 0;color:var(--muted);font-size:12px}
.quote-foot{font-size:10px;color:var(--faint);margin:20px 0 0}
.site-notice{padding:13px 15px;margin-bottom:25px;border:1px solid var(--line);font-size:12px}
.site-notice.success{border-color:#7d927f;background:#eef2eb}
.site-notice.error{border-color:#a56e74;background:#f4e9ea}

/* Shop */
.shop-section{padding:7vh 0 12vh}
.shop-toolbar{display:flex;justify-content:space-between;gap:20px;padding-bottom:20px;border-bottom:1px solid var(--ink);margin-bottom:34px}
.shop-toolbar span{font-weight:700}
.shop-toolbar p{margin:0;color:var(--muted);font-size:11px}
.shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:42px 28px}
.book-card{min-width:0}
.book-card-image{display:block;position:relative;aspect-ratio:4/5;background:var(--paper-2);overflow:hidden}
.book-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.book-card:hover .book-card-image img{transform:scale(1.018)}
.book-card-placeholder{
  height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:28px;
  background:#d8d0c3;color:var(--ink)
}
.book-card-placeholder strong{font-size:30px}
.book-card-placeholder span{font-size:13px}
.photo-count{position:absolute;left:10px;bottom:10px;background:rgba(244,240,232,.93);color:var(--ink);padding:5px 8px;font-size:9px}
.book-card-body{padding-top:15px}
.book-card-kicker{font-size:10px;color:var(--wine)}
.book-card h2{font-size:20px;line-height:1.4;margin:8px 0 15px}
.book-card-bottom{display:flex;justify-content:space-between;align-items:end;gap:15px;padding-top:13px;border-top:1px solid var(--line)}
.book-card-bottom .condition{font-size:10px;color:var(--muted)}
.book-card-bottom strong{font-size:16px;white-space:nowrap}
.book-card-bottom small{font-size:9px;font-weight:400}
.empty-state{padding:12vh 0;text-align:center}
.empty-state h2{font-size:34px;margin:0}
.empty-state p{color:var(--muted);margin:10px 0 25px}

/* Book detail */
.book-detail{padding:8vh 0 12vh}
.book-detail-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:7vw;align-items:start}
.gallery-main{background:var(--paper-2);min-height:580px;display:grid;place-items:center;overflow:hidden}
.gallery-main img{width:100%;height:auto;max-height:760px;object-fit:contain}
.detail-placeholder{width:100%;min-height:580px;padding:50px;background:#d8d0c3;display:flex;flex-direction:column;justify-content:space-between}
.detail-placeholder strong{font-size:52px}
.detail-placeholder span{font-size:16px}
.gallery-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:10px}
.gallery-thumb{border:1px solid transparent;padding:0;background:var(--paper-2);cursor:pointer;aspect-ratio:1;overflow:hidden}
.gallery-thumb img{width:100%;height:100%;object-fit:cover}
.gallery-thumb.active{border-color:var(--wine)}
.book-info{position:sticky;top:104px}
.back-link{font-size:11px;color:var(--muted)}
.book-info-kicker{font-size:11px;color:var(--wine);margin-top:45px}
.book-info h1{font-size:clamp(46px,5vw,72px);line-height:1.2;margin:10px 0 0}
.book-info h1 span{color:var(--muted);font-weight:500}
.book-note{color:var(--muted);font-size:13px;margin:24px 0}
.book-facts{margin-top:30px;border-top:1px solid var(--ink)}
.book-facts>div{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid var(--line)}
.book-facts span{font-size:11px;color:var(--muted)}
.book-facts b{font-size:12px}
.buy-box{margin-top:35px;padding:24px 0 0;border-top:1px solid var(--ink)}
.buy-box>span{font-size:11px;color:var(--muted);display:block}
.buy-box>strong{display:block;font-size:36px;margin:7px 0 20px}
.buy-box>strong small{font-size:12px;font-weight:400}
.buy-button{width:100%}
.buy-box p{font-size:10px;color:var(--faint);margin:10px 0 0}

/* About */
.about-story{padding:11vh 0;border-bottom:1px solid var(--line)}
.about-story-grid{display:grid;grid-template-columns:200px 1fr;gap:8vw}
.about-story h2{font-size:clamp(38px,5vw,68px);line-height:1.3;margin:0}
.about-story p{font-size:15px;color:var(--muted);max-width:760px;margin:25px 0 0}
.about-values{padding:8vh 0 12vh}
.about-value{display:grid;grid-template-columns:70px 1fr;gap:20px;padding:26px 0;border-top:1px solid var(--line)}
.about-value:last-child{border-bottom:1px solid var(--line)}
.about-value>span{color:var(--wine);font-size:12px}
.about-value h3{font-size:21px;margin:0 0 4px}
.about-value p{color:var(--muted);font-size:13px;margin:0}

/* Contact */
.contact-section{padding:10vh 0 12vh}
.contact-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:9vw}
.contact-side h2{font-size:clamp(34px,4.2vw,58px);line-height:1.35;margin:0}
.contact-side p{color:var(--muted);font-size:13px;max-width:370px}
.contact-form-wrap{border-top:1px solid var(--ink)}
.clean-form label{display:block;padding:16px 0;border-bottom:1px solid var(--line)}
.clean-form label>span{margin-bottom:7px}

/* Legal, error */
.legal-intro{padding:14vh 0 7vh;border-bottom:1px solid var(--line)}
.legal-intro h1{font-size:clamp(42px,5.8vw,76px);line-height:1.3;margin:14px 0 0}
.legal-content{padding:7vh 0 12vh}
.legal-content h2{font-size:22px;margin:42px 0 8px}
.legal-content h2:first-child{margin-top:0}
.legal-content p{color:var(--muted);font-size:14px}
.error-page{min-height:100svh;display:grid;place-items:center;text-align:center;padding:100px 0}
.error-code{display:block;font-size:clamp(110px,20vw,260px);font-weight:900;color:#d7d0c4;line-height:1}
.error-page h1{font-size:32px;margin:15px 0 5px}
.error-page p{color:var(--muted);margin:0 0 25px}

/* Footer */
.site-footer{padding:70px 0 28px;border-top:1px solid var(--line)}
.footer-top{display:flex;justify-content:space-between;gap:40px;align-items:end}
.footer-logo{font-size:clamp(36px,5vw,62px);font-weight:900}
.footer-top p{color:var(--muted);font-size:12px;margin:8px 0 0}
.footer-nav{display:flex;flex-wrap:wrap;gap:22px;font-size:11px;color:var(--muted)}
.footer-nav a:hover{color:var(--ink)}
.footer-bottom{margin-top:48px;padding-top:16px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:30px;font-size:9px;color:var(--faint)}
.footer-bottom div{display:flex;gap:18px}

/* Responsive */
@media(max-width:980px){
  .site-header{height:66px}
  .header-grid{grid-template-columns:1fr auto}
  .desktop-nav,.header-cta{display:none}
  .mobile-only{display:inline-block}
  .home-hero{padding-top:66px}
  .home-hero-grid{grid-template-columns:1fr}
  .home-hero-copy{padding:9vh 0 7vh}
  .home-feature{border-right:0;border-top:1px solid var(--line);padding:7vh 8vw}
  .feature-book{width:min(100%,420px)}
  .principle-grid{grid-template-columns:1fr;gap:25px}
  .criteria-grid{grid-template-columns:1fr}
  .criterion{border-left:0;border-bottom:1px solid var(--line);padding:26px 0;min-height:0}
  .criterion h3{margin:28px 0 8px}
  .home-valuation-grid{grid-template-columns:1fr;gap:40px}
  .home-shop-grid{grid-template-columns:repeat(2,1fr)}
  .page-main{padding-top:66px}
  .page-intro-grid{grid-template-columns:1fr;gap:30px}
  .valuation-layout{grid-template-columns:1fr;gap:50px}
  .quote-sticky{position:static}
  .shop-grid{grid-template-columns:repeat(2,1fr)}
  .book-detail-grid{grid-template-columns:1fr;gap:50px}
  .book-info{position:static}
  .about-story-grid{grid-template-columns:1fr;gap:24px}
  .contact-layout{grid-template-columns:1fr;gap:45px}
}
@media(max-width:620px){
  :root{--container:calc(100vw - 28px)}
  .brand small,.brand-line{display:none}
  .home-hero{min-height:auto}
  .home-hero-grid{min-height:auto}
  .home-hero-copy{padding:7vh 0}
  .home-hero-copy h1{font-size:clamp(48px,15vw,70px)}
  .home-hero-copy>p{font-size:13px}
  .hero-actions{align-items:flex-start;flex-direction:column}
  .hero-note{align-items:flex-start;flex-direction:column;gap:2px;margin-top:40px}
  .home-feature{padding:5vh 0}
  .feature-editorial{min-height:430px;padding:28px}
  .home-principle,.criteria-section,.home-shop{padding:9vh 0}
  .principle-grid h2{font-size:38px}
  .criteria-head{align-items:flex-start;flex-direction:column;gap:8px}
  .home-valuation{padding:9vh 0}
  .home-valuation h2{font-size:40px}
  .home-shop-head{align-items:flex-start;flex-direction:column;gap:18px}
  .home-shop-grid{grid-template-columns:1fr}
  .home-close{padding:7vh 0}
  .home-close .container{align-items:flex-start;flex-direction:column}
  .home-close p{font-size:17px}
  .page-intro{padding:8vh 0 6vh}
  .page-intro h1{font-size:44px}
  .field-grid,.contact-inline{grid-template-columns:1fr}
  .form-section{padding:28px 0}
  .quote-price{font-size:55px}
  .shop-toolbar{align-items:flex-start;flex-direction:column;gap:6px}
  .shop-grid{grid-template-columns:1fr}
  .book-card h2{font-size:19px}
  .book-detail{padding:5vh 0 9vh}
  .gallery-main{min-height:380px}
  .detail-placeholder{min-height:380px;padding:30px}
  .gallery-thumbs{grid-template-columns:repeat(4,1fr)}
  .book-info-kicker{margin-top:30px}
  .book-info h1{font-size:45px}
  .footer-top,.footer-bottom{align-items:flex-start;flex-direction:column}
}

/* v2.3 — grouped products and multiple offers */
.stock-badge{
  position:absolute;right:10px;bottom:10px;background:rgba(244,240,232,.94);color:var(--ink);
  padding:6px 9px;font-size:9px;border:1px solid rgba(28,26,23,.08);backdrop-filter:blur(8px)
}
.home-stock-badge{right:12px;bottom:12px}
.home-shop-meta small{display:block;color:var(--muted);font-size:9px;margin-top:3px}

.product-head{padding:8vh 0 6vh;border-bottom:1px solid var(--line)}
.product-head-grid{display:grid;grid-template-columns:1fr 320px;gap:8vw;align-items:end}
.product-head h1{font-size:clamp(48px,6.5vw,88px);line-height:1.14;margin:12px 0 0}
.product-head h1 span{font-weight:500;color:var(--muted)}
.product-summary{padding:22px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}
.product-summary>span{display:block;font-size:10px;color:var(--muted)}
.product-summary>strong{display:block;font-size:30px;margin:4px 0 8px}
.product-summary p{font-size:11px;color:var(--muted);margin:0}
.offers-section{padding:7vh 0 12vh}
.offers-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:30px;padding-bottom:17px;border-bottom:1px solid var(--ink)}
.offers-heading h2{font-size:28px;margin:0}
.offers-heading span{font-size:10px;color:var(--muted)}
.offers-list{display:grid;gap:24px}
.offer-card{display:grid;grid-template-columns:minmax(280px,.82fr) 1.18fr;border:1px solid var(--line);background:rgba(255,253,248,.45)}
.offer-gallery{padding:18px;border-left:1px solid var(--line);min-width:0}
.offer-gallery-main{height:440px;background:var(--paper-2);display:grid;place-items:center;overflow:hidden}
.offer-gallery-main>img{width:100%;height:100%;object-fit:contain}
.offer-gallery-main .detail-placeholder{min-height:100%;height:100%}
.offer-gallery-thumbs{display:flex;gap:7px;overflow-x:auto;padding-top:8px;scrollbar-width:thin}
.offer-thumb{flex:0 0 64px;width:64px;height:64px;border:1px solid transparent;padding:0;background:var(--paper-2);cursor:pointer;overflow:hidden}
.offer-thumb img{width:100%;height:100%;object-fit:cover}
.offer-thumb.active{border-color:var(--wine)}
.offer-info{padding:28px;display:flex;flex-direction:column;min-width:0}
.offer-topline{display:flex;justify-content:space-between;gap:20px;align-items:start;padding-bottom:18px;border-bottom:1px solid var(--line)}
.offer-topline>span{font-size:11px;color:var(--muted)}
.offer-topline>b{font-size:24px;white-space:nowrap}
.offer-topline small{font-size:10px;font-weight:400}
.offer-facts{margin-top:12px}
.offer-facts>div{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid var(--line)}
.offer-facts span{font-size:10px;color:var(--muted)}
.offer-facts strong{font-size:11px}
.offer-note{font-size:12px;color:var(--muted);margin:20px 0;line-height:2}
.offer-buy{margin-top:auto;width:100%;text-align:center}

@media(max-width:980px){
  .product-head-grid{grid-template-columns:1fr;gap:35px}
  .product-summary{max-width:420px}
  .offer-card{grid-template-columns:1fr}
  .offer-gallery{border-left:0;border-bottom:1px solid var(--line)}
  .offer-gallery-main{height:min(68vw,560px)}
}
@media(max-width:620px){
  .product-head{padding:5vh 0 4vh}
  .product-head h1{font-size:44px}
  .offers-heading{align-items:flex-start;flex-direction:column;gap:4px}
  .offer-card{margin-inline:-2px}
  .offer-gallery{padding:10px}
  .offer-gallery-main{height:92vw;max-height:470px}
  .offer-info{padding:20px 16px}
  .offer-topline{align-items:flex-start;flex-direction:column;gap:4px}
  .offer-topline>b{font-size:22px}
  .offer-thumb{flex-basis:58px;width:58px;height:58px}
}


/* v2.5 — mixed pricing modes */
.price-text{font-size:15px!important}
.muted-price{color:var(--muted);font-weight:500!important}
.offer-topline>b{font-size:22px}

/* v2.7 — special book services */
.special-services{margin-top:22px;border-top:1px solid var(--ink);padding-top:18px}
.special-services-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:10px}
.special-services-head span{display:block;font-size:9px;color:var(--muted);letter-spacing:.04em}
.special-services-head h3{font-size:18px;margin:2px 0 0}
.special-services-head>small{font-size:9px;color:var(--muted);border:1px solid var(--line);padding:3px 7px}
.special-service-choice{display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line);cursor:pointer;color:var(--ink)}
.special-service-choice>input{width:18px;height:18px;margin:0;accent-color:var(--wine)}
.special-service-choice span b{display:block;font-size:11px}
.special-service-choice span small{display:block;font-size:9px;color:var(--muted);font-weight:400;line-height:1.8;margin-top:2px}
.special-service-choice>strong{font-size:10px;white-space:nowrap}
.special-service-group{padding:14px 0;border-bottom:1px solid var(--line)}
.special-service-label{display:block;font-size:10px;color:var(--muted);margin-bottom:8px}
.special-radio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.special-radio-grid label{position:relative;display:flex;min-height:74px;flex-direction:column;justify-content:center;gap:2px;border:1px solid var(--line);padding:10px;cursor:pointer;color:var(--ink)}
.special-radio-grid input{position:absolute;opacity:0;pointer-events:none}
.special-radio-grid span{font-size:11px;font-weight:800}
.special-radio-grid strong{font-size:9px;color:var(--muted);font-weight:500}
.special-radio-grid label:has(input:checked){border-color:var(--wine);box-shadow:0 0 0 1px var(--wine) inset;background:rgba(111,38,50,.025)}
.special-services-summary{margin:14px 0 12px;background:var(--paper-2);padding:12px 14px}
.special-services-summary>div{display:flex;justify-content:space-between;gap:18px;align-items:center;font-size:10px}
.special-services-summary>div+div{margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}
.special-services-summary span{color:var(--muted)}
.special-services-summary b{font-size:12px;text-align:left}
.special-services-summary .order-total b{font-size:14px;color:var(--wine)}
.special-services .offer-buy{margin-top:0;border:0;cursor:pointer}
.service-order-preview{margin-bottom:18px;padding:15px 16px;border:1px solid var(--line);background:var(--paper-2)}
.service-order-preview b,.service-order-preview strong{display:block}
.service-order-preview b{font-size:12px;margin-bottom:7px}
.service-order-preview span{display:block;font-size:10px;color:var(--muted);line-height:1.9}
.service-order-preview strong{font-size:11px;margin-top:9px;padding-top:8px;border-top:1px solid var(--line)}
@media(max-width:620px){
  .special-radio-grid{grid-template-columns:1fr}
  .special-radio-grid label{min-height:58px}
  .special-service-choice{grid-template-columns:auto 1fr}
  .special-service-choice>strong{grid-column:2}
}

/* v2.9 valuation: open-entry catalog fields */
.valuation-free-note{margin-top:12px}

/* v3.1 — percentage valuation + automatic new-book price */
.valuation-identity-grid .wide{grid-column:1/-1}
.percent-evaluation-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.percent-card{display:block!important;border:1px solid var(--line);background:#fffdf9;padding:18px!important}
.percent-card-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.percent-card-head b{font-size:13px}.percent-card-head em{font-style:normal;font-size:20px;font-weight:800;color:var(--wine)}
.percent-card input[type=range]{width:100%;accent-color:var(--wine);margin:0 0 14px}
.percent-number-line{display:flex;align-items:center;gap:8px;max-width:150px}
.percent-number-line input{margin:0!important;text-align:center;font-size:16px;font-weight:800}.percent-number-line span{font-weight:800}
.percent-card small{display:block;margin-top:10px;color:var(--muted);font-size:10px;line-height:1.9}
.new-price-finder{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:12px;align-items:end}
.new-price-input{margin:0!important}.price-lookup-button{height:46px;border:1px solid var(--line-dark);background:#fff;cursor:pointer;padding:0 18px;font:inherit;font-size:11px;font-weight:800}
.price-lookup-button:hover{border-color:var(--wine);color:var(--wine)}.price-lookup-button:disabled{opacity:.55;cursor:wait}
.price-lookup-status{grid-column:1/-1;display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid var(--line);background:#faf7f1;color:var(--muted);font-size:10px;line-height:1.9}
.price-lookup-status p{margin:0}.price-lookup-status a{color:var(--wine);font-weight:800}.lookup-dot{width:9px;height:9px;border-radius:50%;background:#b7afa2;margin-top:5px;flex:0 0 auto}
.price-lookup-status.loading .lookup-dot{background:#a77a34;animation:lookupPulse 1s ease infinite}.price-lookup-status.success{background:#f2f7f0;border-color:#ceddc9;color:#315436}.price-lookup-status.success .lookup-dot{background:#4d8456}.price-lookup-status.warning{background:#fff8eb;border-color:#ead5ad;color:#765c2a}.price-lookup-status.warning .lookup-dot{background:#b78735}
@keyframes lookupPulse{50%{opacity:.25;transform:scale(.75)}}
@media(max-width:760px){.percent-evaluation-grid,.new-price-finder{grid-template-columns:1fr}.price-lookup-status{grid-column:auto}.price-lookup-button{width:100%}}

/* v3.2 — valuation UX: real page counts, publisher-first price lookup */
.valuation-v32{background:linear-gradient(180deg,#f4f0e8 0,#fbf9f4 20%,#fff 100%)}
.valuation-hero{padding:11vh 0 7vh;border-bottom:1px solid var(--line);overflow:hidden}
.valuation-hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.65fr);gap:7vw;align-items:end}
.valuation-hero-copy h1{font-size:clamp(42px,5.6vw,78px);line-height:1.28;letter-spacing:-.045em;margin:14px 0 20px;max-width:900px}
.valuation-hero-copy p{max-width:700px;color:var(--muted);font-size:14px;line-height:2.1;margin:0}
.valuation-hero-points{display:grid;border:1px solid var(--line-dark);background:rgba(255,255,255,.58);backdrop-filter:blur(14px)}
.valuation-hero-points>div{display:grid;grid-template-columns:36px 1fr;gap:12px;align-items:center;padding:16px 18px;border-bottom:1px solid var(--line)}
.valuation-hero-points>div:last-child{border-bottom:0}.valuation-hero-points b{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:#fff;font-size:10px}.valuation-hero-points span{font-size:11px;font-weight:800}
.valuation-layout-v32{grid-template-columns:minmax(0,1.18fr) minmax(320px,.62fr);gap:48px}
.valuation-form-v32{border-top:0}.valuation-step{background:#fff;border:1px solid var(--line);padding:28px 30px;margin-bottom:16px;box-shadow:0 12px 36px rgba(40,31,20,.035)}
.valuation-step:last-child{margin-bottom:0}.v32-head{margin-bottom:22px}.v32-head>span{background:#f3eee4;border-color:#ded5c7;color:var(--wine);font-weight:900}.v32-head h2{font-size:21px}.v32-head p{font-size:10px;line-height:1.9;max-width:620px}
.identity-grid-v32{gap:15px}.identity-grid-v32 label{position:relative}.identity-grid-v32 input{background:#fcfaf6;border-color:#ded7ca;border-radius:2px}.identity-grid-v32 input:focus{box-shadow:0 0 0 3px rgba(105,42,48,.05)}
.teacher-field{grid-column:1/-1;padding:16px;border:1px solid #d8c8b1;background:#faf4e9;transition:.2s ease}.teacher-field.is-disabled{opacity:.58;background:#f2f0eb;border-style:dashed}.teacher-field.is-disabled input{cursor:not-allowed;background:#ece9e2}.teacher-field small{display:block;margin-top:7px;color:var(--muted);font-size:9px}
.valuation-tip{display:grid;grid-template-columns:125px 1fr;gap:15px;margin-top:18px;padding:13px 15px;background:#f7f3ec;border-right:3px solid var(--wine)}.valuation-tip b{font-size:10px}.valuation-tip p{margin:0;color:var(--muted);font-size:10px;line-height:1.9}
.condition-entry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.condition-number-card{display:block!important;border:1px solid var(--line);padding:17px;background:#fcfbf8;min-height:148px}.condition-number-card.primary{background:#f7f1e9;border-color:#d7c5ad}.condition-number-card>span{font-size:11px;line-height:1.8;min-height:40px}.condition-number-card>div{display:grid;grid-template-columns:1fr auto;align-items:center;border-bottom:1px solid var(--line-dark);margin-top:8px}.condition-number-card input{height:48px;border:0!important;background:transparent!important;padding:0!important;font-size:24px!important;font-weight:900;box-shadow:none!important}.condition-number-card b{font-size:9px;color:var(--muted);white-space:nowrap}.condition-number-card small{display:block;margin-top:10px;font-size:9px;color:var(--muted);line-height:1.8}
.component-status-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.component-status-grid label{display:block;border:1px solid var(--line);padding:14px;background:#fff}.component-status-grid select{width:100%;height:46px;margin-top:7px;padding:0 10px;border:1px solid var(--line-dark);background:#faf8f4;font:inherit;font-size:11px;color:var(--ink)}
.condition-result{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.condition-result>div{padding:14px 16px;border:1px solid var(--line);background:#f7f6f2}.condition-result span{display:block;font-size:9px;color:var(--muted)}.condition-result strong{display:block;font-size:23px;margin:4px 0 10px}.condition-result i{display:block;height:4px;background:#e6e1d8;overflow:hidden}.condition-result u{display:block;height:100%;background:var(--wine);transition:width .25s ease;text-decoration:none}
.new-price-finder-v32{grid-template-columns:minmax(260px,1fr) auto}.new-price-finder-v32 .price-field input{background:#fbfaf6}.new-price-finder-v32 .price-lookup-button{min-width:150px;background:var(--ink);color:#fff;border-color:var(--ink)}.new-price-finder-v32 .price-lookup-button:hover{background:var(--wine);color:#fff;border-color:var(--wine)}
.form-submit-v32{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-width:220px}.form-submit-v32 b{font-size:18px}
.quote-card-v32{top:94px;border:1px solid var(--line-dark);padding:24px;background:#1f1d1a;color:#fff;box-shadow:0 20px 50px rgba(27,22,16,.12)}.quote-card-v32 .section-label{color:#c9baa6}.quote-card-v32 .quote-caption,.quote-card-v32 .quote-foot,.quote-card-v32 .quote-reason p,.quote-card-v32 .reason-placeholder{color:#b9b1a5}.quote-card-v32 .quote-divider,.quote-card-v32 .quote-reasons,.quote-card-v32 .quote-reason{border-color:rgba(255,255,255,.12)}.quote-card-v32 .quote-reason span{color:#d3a98d}
.quote-mini-metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:22px}.quote-mini-metrics>div{padding:10px 12px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04)}.quote-mini-metrics span{display:block;color:#aaa195;font-size:8px}.quote-mini-metrics b{display:block;margin-top:3px;font-size:14px}
@media(max-width:1000px){.valuation-hero-grid,.valuation-layout-v32{grid-template-columns:1fr}.valuation-hero-points{grid-template-columns:repeat(3,1fr)}.valuation-hero-points>div{grid-template-columns:30px 1fr;border-bottom:0;border-left:1px solid var(--line)}.valuation-hero-points>div:last-child{border-left:0}.quote-card-v32{position:static}.condition-entry-grid{grid-template-columns:1fr 1fr}.condition-number-card.primary{grid-column:1/-1}}
@media(max-width:680px){.valuation-hero{padding:8vh 0 5vh}.valuation-hero-copy h1{font-size:38px}.valuation-hero-points{grid-template-columns:1fr}.valuation-hero-points>div{border-left:0;border-bottom:1px solid var(--line)}.valuation-step{padding:22px 16px}.identity-grid-v32,.condition-entry-grid,.component-status-grid,.condition-result,.contact-inline,.new-price-finder-v32{grid-template-columns:1fr}.condition-number-card.primary{grid-column:auto}.valuation-tip{grid-template-columns:1fr}.new-price-finder-v32 .price-lookup-button{width:100%}}

/* v3.6 — publisher is forced only for teacher notes */
.publisher-field.is-forced input{background:#f3eee5;border-style:dashed;cursor:not-allowed}.publisher-field small{display:block;margin-top:7px;color:var(--muted);font-size:9px}
