/*
Theme Name: SK Law Books
Description: Custom storefront theme for SK Law Books (WooCommerce).
Author: SK Law Office
Version: 1.0.0
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: skbooks
*/

:root{
  --navy:#0A2342; --navy-2:#153057; --navy-deep:#04101F; --navy-ink:#020A14;
  --gold:#C5A059; --gold-l:#E5C585; --gold-d:#9A7B3E;
  --gold-grad:linear-gradient(135deg,#CFAB62 0%,#E2C482 24%,#F7E6B8 50%,#E2C482 76%,#CFAB62 100%);
  --gold-grad-h:linear-gradient(135deg,#D8B56E 0%,#EACE92 24%,#FBEFCB 50%,#EACE92 76%,#D8B56E 100%);
  --gold-line:linear-gradient(90deg,transparent,#CFAB62,#F3DFA8,#E2C482,#CFAB62,transparent);
  --gold-text:linear-gradient(90deg,#C49D52 0%,#DDBB74 50%,#C49D52 100%);
  --slate:#1E293B; --ink:#171717; --body:#4A5568; --muted:#8A94A6;
  --line:#E8EAEF; --cream:#F8FAFC; --white:#FFFFFF;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-x:hidden;overscroll-behavior-x:none;max-width:100%}
body{margin:0;background:var(--white);color:var(--body);font-family:Inter,system-ui,-apple-system,sans-serif;font-size:17px;line-height:1.75;font-weight:400;-webkit-font-smoothing:antialiased;overflow-x:hidden;overscroll-behavior-x:none;touch-action:pan-y;width:100%;max-width:100%}
h1,h2,h3,h4{font-family:'Cormorant Garamond',Georgia,serif;color:var(--navy);font-weight:600;letter-spacing:-.01em;line-height:1.2}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.wrap{max-width:1240px;margin:0 auto;padding:0 clamp(1.25rem,4vw,2.5rem)}

.announce{background:var(--gold-grad);color:#241B08;text-align:center;font-size:.72rem;letter-spacing:.17em;text-transform:uppercase;padding:.6rem 1rem;font-weight:700;box-shadow:inset 0 -1px 0 rgba(0,0,0,.18)}

.site-header{position:sticky;top:0;z-index:60;
  background:linear-gradient(135deg,var(--navy-ink) 0%,var(--navy) 46%,var(--navy-2) 100%);
  backdrop-filter:blur(10px);border-bottom:0;position:sticky;box-shadow:0 10px 30px -18px rgba(4,16,31,.85)}
.site-header::before{content:"";position:absolute;inset:0;background:radial-gradient(620px 180px at 14% 120%,rgba(197,160,89,.16),transparent 65%);pointer-events:none}
.site-header::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1.5px;background:var(--gold-line)}
.site-header .wrap{position:relative;z-index:2}
.hrow{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:.85rem 0}
.logo img{height:56px;width:auto;filter:drop-shadow(0 2px 8px rgba(0,0,0,.45))}


nav.main{display:none;gap:2.1rem;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:rgba(255,255,255,.88)}
@media(min-width:1000px){nav.main{display:flex}}
nav.main a{position:relative;padding:.4rem 0;transition:color .2s}
nav.main a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1.5px;background:var(--gold-grad);transition:right .3s ease}
nav.main a:hover{color:var(--gold-l)}
nav.main a:hover::after{right:0}
.hact{display:flex;align-items:center;gap:.3rem}
.iconbtn{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border:0;background:transparent;color:rgba(255,255,255,.82);cursor:pointer;transition:all .25s;border-radius:6px}
.iconbtn:hover{background:rgba(255,255,255,.09);color:var(--gold-l)}
.cart{position:relative}
.cart .badge{position:absolute;top:6px;right:4px;min-width:17px;height:17px;border-radius:99px;background:var(--gold-grad);color:#241B08;font-size:.62rem;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 4px}
.burger{display:flex}
@media(min-width:1000px){.burger{display:none}}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;padding:.95rem 2.1rem;font-size:.76rem;letter-spacing:.17em;text-transform:uppercase;font-weight:700;border:1.5px solid transparent;cursor:pointer;transition:all .28s ease;font-family:Inter,sans-serif}
.btn-gold{background:var(--gold-grad);color:#241B08;border-color:rgba(207,171,98,.85);box-shadow:0 6px 18px -8px rgba(197,160,89,.75),inset 0 1px 0 rgba(255,255,255,.35)}
.btn-gold:hover{background:var(--gold-grad-h);border-color:rgba(216,181,110,.9);box-shadow:0 10px 26px -10px rgba(197,160,89,.9),inset 0 1px 0 rgba(255,255,255,.45)}
.btn-ghost{background:transparent;color:var(--gold-l);border-color:rgba(197,160,89,.5)}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold)}
.btn-navy{background:var(--navy);color:#fff;border-color:var(--navy)}
.btn-navy:hover{background:var(--navy-2);border-color:var(--navy-2)}

.hero{position:relative;background:linear-gradient(135deg,var(--navy-deep) 0%,var(--navy) 58%,var(--navy-2) 100%);color:#fff;overflow:hidden;max-width:100%}
.hero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 80% 16%,rgba(197,160,89,.17),transparent 52%),radial-gradient(circle at 10% 90%,rgba(197,160,89,.08),transparent 45%)}
.hero::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:64px 64px}
.hero-in{position:relative;z-index:2;display:grid;gap:clamp(2.5rem,6vw,4rem);align-items:center;padding:clamp(3.25rem,8vw,6rem) 0 clamp(3.25rem,8vw,5.5rem);grid-template-columns:1fr}
@media(min-width:980px){.hero-in{grid-template-columns:1.02fr .98fr}}
.eyebrow{display:inline-flex;align-items:center;gap:.7rem;font-size:.7rem;letter-spacing:.26em;text-transform:uppercase;font-weight:700;margin-bottom:1.5rem;
  background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.eyebrow::before{content:"";width:34px;height:1px;background:linear-gradient(90deg,transparent,var(--gold));flex:0 0 auto}
.hero h1{font-size:clamp(2.2rem,6vw,3.9rem);color:#fff;line-height:1.1;margin:0 0 1.35rem;font-weight:600}
.hero h1 em{font-style:italic;font-weight:400;background:var(--gold-grad-h);-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block}
.hero p.lede{font-size:clamp(1rem,2.1vw,1.15rem);color:rgba(255,255,255,.76);max-width:50ch;margin:0 0 2.3rem;font-weight:400;line-height:1.8}
.hero-cta{display:flex;flex-wrap:wrap;gap:.85rem;margin-bottom:2.75rem}
.trust{display:flex;flex-wrap:wrap;gap:2.4rem;padding-top:1.9rem;border-top:1px solid rgba(255,255,255,.12)}
.trust .n{font-family:'Cormorant Garamond',serif;font-size:1.9rem;line-height:1;font-weight:600;background:var(--gold-grad-h);-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block}
.trust .l{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-top:.45rem;font-weight:700}

/* hero cover fan */
.fan{position:relative;display:flex;align-items:center;justify-content:center;min-height:clamp(300px,42vw,430px);max-width:100%;overflow:visible}
.fan img{position:absolute;width:clamp(150px,20vw,215px);border-radius:2px 5px 5px 2px;box-shadow:0 28px 64px -18px rgba(0,0,0,.72),0 0 0 1px rgba(197,160,89,.3);transition:transform .5s cubic-bezier(.22,1,.36,1)}
.fan .f1{transform:rotate(-12deg) translate(-104px,20px);z-index:1;filter:brightness(.82)}
.fan .f4{transform:rotate(12deg) translate(104px,20px);z-index:1;filter:brightness(.82)}
.fan .f2{transform:rotate(-5deg) translate(-40px,-10px);z-index:3}
.fan .f3{transform:rotate(5deg) translate(40px,-4px);z-index:4}
@media (min-width:821px) and (hover:hover) and (pointer:fine) {
.fan:hover .f1{transform:rotate(-17deg) translate(-132px,14px)}
.fan:hover .f4{transform:rotate(17deg) translate(132px,14px)}
.fan:hover .f2{transform:rotate(-7deg) translate(-56px,-16px)}
.fan:hover .f3{transform:rotate(7deg) translate(56px,-10px)}
}

.fp section{padding:clamp(3.25rem,7vw,5.5rem) 0}
.shead{text-align:center;max-width:620px;margin:0 auto clamp(2.25rem,5vw,3.25rem)}
.shead .eyebrow{justify-content:center}
.shead .eyebrow::before{display:none}
.shead h2{font-size:clamp(1.75rem,4.4vw,2.7rem);margin:0 0 .9rem}
.shead p{color:var(--body);font-weight:400;font-size:1.02rem;margin:0}
.divider{width:52px;height:2px;background:var(--gold);margin:1.1rem auto 0}

.books{display:grid;gap:clamp(1.25rem,3vw,2rem);grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.card{background:#fff;border:1px solid var(--line);transition:all .35s ease;display:flex;flex-direction:column;position:relative}
.card:hover{border-color:var(--gold);box-shadow:0 26px 52px -28px rgba(10,35,66,.4);transform:translateY(-5px)}
.card .shot{position:relative;overflow:hidden;background:var(--navy-deep)}
.card .shot img{width:100%;height:auto;transition:transform .5s ease}
.card:hover .shot img{transform:scale(1.035)}
.tagpill{position:absolute;top:.85rem;right:.85rem;background:var(--gold-grad);color:#241B08;font-size:.57rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;padding:.3rem .6rem;z-index:2}
.cbody{padding:1.2rem 1.25rem 1.35rem;flex:1;display:flex;flex-direction:column}
.cat{font-size:.62rem;letter-spacing:.17em;text-transform:uppercase;color:var(--gold-d);font-weight:700;margin-bottom:.5rem}
.cbody h3{font-size:1.02rem;margin:0 0 .45rem;line-height:1.35}
.cbody .meta{font-size:.79rem;color:var(--muted);margin:0 0 1rem;flex:1}
.prow{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding-top:.9rem;border-top:1px solid var(--line)}
.price{font-family:'Cormorant Garamond',serif;font-size:1.28rem;color:var(--navy);font-weight:600}
.price s{font-size:.8rem;color:var(--muted);font-weight:400;margin-right:.4rem}
.add{border:1.5px solid var(--navy);background:transparent;color:var(--navy);font-size:.67rem;letter-spacing:.13em;text-transform:uppercase;font-weight:700;padding:.55rem 1rem;cursor:pointer;transition:all .25s;font-family:Inter,sans-serif}
.add:hover{background:var(--navy);color:#fff}

.band{background:
  radial-gradient(760px 280px at 12% -20%,rgba(197,160,89,.08),transparent 62%),
  linear-gradient(180deg,#FBFCFE,#F3F6FA);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:relative}
.feats{display:grid;gap:clamp(1.75rem,4vw,3rem);grid-template-columns:repeat(auto-fit,minmax(215px,1fr))}
.feat{text-align:center}
.feat .ic{width:54px;height:54px;margin:0 auto 1.1rem;border-radius:50%;background:var(--navy);color:var(--gold);display:flex;align-items:center;justify-content:center}
.feat h4{font-size:1.04rem;margin:0 0 .45rem}
.feat p{font-size:.89rem;margin:0;font-weight:400;line-height:1.7}

.spot{background:linear-gradient(135deg,var(--navy-deep),var(--navy) 60%,var(--navy-2));color:#fff;position:relative;overflow:hidden;max-width:100%}
.spot::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 22% 28%,rgba(197,160,89,.15),transparent 55%)}
.spot-in{position:relative;z-index:2;display:grid;gap:clamp(2.5rem,6vw,4.5rem);align-items:center;grid-template-columns:1fr}
@media(min-width:900px){.spot-in{grid-template-columns:.9fr 1.1fr}}
.spot h2{color:#fff;font-size:clamp(1.75rem,4.2vw,2.5rem);margin:0 0 1.15rem}
.spot h2 em{font-style:italic;font-weight:400;background:var(--gold-grad-h);-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block}
.spot p{color:rgba(255,255,255,.75);font-weight:400;margin:0 0 1.2rem}
.spot ul{list-style:none;margin:0 0 2rem;padding:0}
.spot li{padding-left:1.8rem;position:relative;margin:.65rem 0;color:rgba(255,255,255,.82);font-weight:400;font-size:.96rem}
.spot li::before{content:"";position:absolute;left:0;top:.6em;width:8px;height:8px;border:1.5px solid var(--gold);transform:rotate(45deg)}
.duo{display:flex;justify-content:center;position:relative;min-height:clamp(280px,38vw,400px);align-items:center}
.duo img{position:absolute;width:clamp(165px,23vw,240px);border-radius:2px 5px 5px 2px;box-shadow:0 34px 72px -20px rgba(0,0,0,.7),0 0 0 1px rgba(197,160,89,.3)}
.duo .d1{transform:rotate(-6deg) translate(-52px,8px)}
.duo .d2{transform:rotate(6deg) translate(52px,-8px);z-index:2}

.cats{display:grid;gap:.85rem;background:transparent;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));border:0}
.cat-item{background:#fff;padding:2rem 1.5rem;text-align:center;transition:all .3s;cursor:pointer}
.cat-item:hover{background:var(--cream)}
.catshelf{position:relative;height:132px;margin:0 auto 1.2rem;display:flex;align-items:flex-end;justify-content:center}
.catshelf img{position:absolute;bottom:0;height:120px;width:auto;border-radius:1px 3px 3px 1px;box-shadow:0 14px 28px -12px rgba(10,35,66,.55),0 0 0 1px rgba(197,160,89,.22);transition:transform .4s cubic-bezier(.22,1,.36,1)}
.catshelf img:nth-child(1){transform:rotate(-5deg) translateX(-16px)}
.catshelf img:nth-child(2){transform:rotate(5deg) translateX(16px)}
.catshelf img:only-child{transform:rotate(0)}
.cat-item:hover .catshelf img:nth-child(1){transform:rotate(-8deg) translateX(-26px)}
.cat-item:hover .catshelf img:nth-child(2){transform:rotate(8deg) translateX(26px)}
.cat-item:hover .catshelf img:only-child{transform:translateY(-5px)}
.cat-item.soon .catshelf{border:1px dashed rgba(197,160,89,.5);border-radius:2px;align-items:center;background:#fcfdfe}
.soonmark{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--gold-d);line-height:1.6;text-align:center}
.cat-item h4{font-size:1rem;margin:0 0 .3rem}
.cat-item p{font-size:.77rem;color:var(--muted);margin:0}

.author{display:grid;gap:clamp(2rem,5vw,3.5rem);align-items:center;grid-template-columns:1fr}
@media(min-width:860px){.author{grid-template-columns:.8fr 1.2fr}}
.abox{background:var(--navy);color:#fff;padding:clamp(2rem,4vw,3rem);text-align:center;position:relative}
.abox::before{content:"";position:absolute;inset:12px;border:1px solid rgba(197,160,89,.32);pointer-events:none}
.abox .mono{font-family:'Cormorant Garamond',serif;font-size:3.2rem;color:var(--gold);line-height:1;font-weight:600}
.abox h3{color:#fff;font-size:1.3rem;margin:1rem 0 .3rem}
.abox .role{font-size:.68rem;letter-spacing:.17em;text-transform:uppercase;color:rgba(255,255,255,.5);font-weight:700}

.quote{text-align:center;max-width:760px;margin:0 auto}
.quote .mark{font-family:'Cormorant Garamond',serif;font-size:4.5rem;line-height:.6;margin-bottom:1rem;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block}
.quote blockquote{font-family:'Cormorant Garamond',serif;font-size:clamp(1.22rem,3vw,1.68rem);font-style:italic;color:var(--navy);margin:0 0 1.5rem;line-height:1.5;font-weight:400}
.quote cite{font-style:normal;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:700}

.news{background:var(--navy-deep);color:#fff;text-align:center}
.news h2{color:#fff;font-size:clamp(1.55rem,3.8vw,2.2rem);margin:0 0 .85rem}
.news p{color:rgba(255,255,255,.66);font-weight:400;margin:0 auto 2rem;max-width:46ch}
.nform{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center;max-width:520px;margin:0 auto}
.nform input{flex:1 1 260px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.18);color:#fff;padding:.95rem 1.2rem;font-family:Inter,sans-serif;font-size:.95rem;outline:none;transition:border-color .25s}
.nform input::placeholder{color:rgba(255,255,255,.4)}
.nform input:focus{border-color:var(--gold)}

.site-footer{background:var(--navy);color:rgba(255,255,255,.62);font-size:.89rem;font-weight:400}
.fgrid{display:grid;gap:2.5rem;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));padding:clamp(2.75rem,6vw,4rem) 0 2.5rem}
.fbrand img{height:62px;width:auto;filter:drop-shadow(0 2px 10px rgba(0,0,0,.5))}
.fbrand p{margin:1.15rem 0 0;line-height:1.8;max-width:30ch}
.site-footer h5{font-family:Inter,sans-serif;font-size:.71rem;letter-spacing:.18em;text-transform:uppercase;color:#fff;font-weight:700;margin:0 0 1.05rem}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{margin:.58rem 0}
.site-footer a:hover{color:var(--gold-l)}
.fbot{border-top:1px solid rgba(255,255,255,.1);padding:1.5rem 0;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:center;font-size:.81rem;color:rgba(255,255,255,.42)}
.facc{border-bottom:0}
.facc summary{list-style:none;cursor:default}
.facc summary::-webkit-details-marker{display:none}
.facc summary h5{margin:0}
@media(min-width:760px){ .facc > ul{display:block!important}
  .facc::details-content{content-visibility:visible!important;display:block!important} }

.mnav{position:fixed;inset:0;z-index:200;
  background:linear-gradient(160deg,var(--navy-ink) 0%,var(--navy) 50%,var(--navy-2) 100%);
  transform:translateX(100%);transition:transform .38s cubic-bezier(.22,1,.36,1);
  display:flex;flex-direction:column;padding:1.1rem 1.35rem 2rem;overflow-y:auto;visibility:hidden}
.mnav.open{transform:translateX(0);visibility:visible}
.mnav::before{content:"";position:absolute;inset:0;background:radial-gradient(560px 300px at 85% 8%,rgba(197,160,89,.14),transparent 62%);pointer-events:none}
.mnav .top{display:flex;align-items:center;justify-content:space-between;gap:1rem;position:relative;z-index:2;padding-bottom:1.1rem;border-bottom:1px solid rgba(255,255,255,.1)}
.mnav .top img{height:38px;width:auto}
.mnav .top button{background:rgba(255,255,255,.08);border:0;color:var(--gold-l);cursor:pointer;width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:6px;flex:0 0 auto}
.mnav .links{margin-top:.5rem;position:relative;z-index:2;display:flex;flex-direction:column}
.mnav .links a{font-family:'Cormorant Garamond',serif;font-size:1.5rem;color:#fff;padding:1.05rem .25rem;border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:space-between;gap:1rem}
.mnav .links a::after{content:"";width:7px;height:7px;border-right:1.5px solid var(--gold);border-bottom:1.5px solid var(--gold);transform:rotate(-45deg);opacity:.75;flex:0 0 auto}
.mnav .links a:active{color:var(--gold-l)}
.mnav .mfoot{margin-top:auto;padding-top:1.75rem;position:relative;z-index:2;display:flex;flex-direction:column;gap:.75rem}
body.locked{overflow:hidden}

#toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,16px);background:var(--navy-deep);color:var(--gold-l);font-size:.82rem;letter-spacing:.05em;padding:.85rem 1.5rem;border:1px solid rgba(197,160,89,.35);opacity:0;pointer-events:none;transition:all .3s;z-index:120;max-width:88vw;text-align:center}
#toast.show{opacity:1;transform:translate(-50%,0)}

/* ---- ornament motif (echoes the book covers) ---- */
.orn{display:flex;align-items:center;justify-content:center;gap:.65rem;margin:1.05rem auto 0}
.orn i{display:block;width:44px;height:1px;background:linear-gradient(90deg,transparent,var(--gold))}
.orn i+i{background:linear-gradient(90deg,var(--gold),transparent)}
.orn b{width:7px;height:7px;background:var(--gold-grad);transform:rotate(45deg);display:block;box-shadow:0 1px 3px rgba(154,123,62,.5)}
.orn.light i{background:linear-gradient(90deg,transparent,var(--gold-l))}
.orn.light i+i{background:linear-gradient(90deg,var(--gold-l),transparent)}
.orn.light b{background:var(--gold-l)}

/* ---- section backdrops ---- */
.tint{background:
  radial-gradient(900px 340px at 82% -12%,rgba(197,160,89,.07),transparent 60%),
  linear-gradient(180deg,#FCFCFD,#F5F7FA)}
.ruled{position:relative}
.ruled::before{content:"";position:absolute;left:50%;top:0;width:1px;height:42px;background:linear-gradient(180deg,#C5A059,rgba(197,160,89,0));transform:translateX(-50%)}

/* ---- framed panel (gold double border like the covers) ---- */
.framed{position:relative;background:#fff;border:1px solid var(--line)}
.framed::after{content:"";position:absolute;inset:9px;border:1px solid rgba(197,160,89,.3);pointer-events:none}

/* ---- richer feature cards ---- */
.feat{text-align:center;background:#fff;border:1px solid var(--line);padding:2.4rem 1.5rem 2rem;position:relative;transition:all .35s ease;overflow:hidden}
.feat::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--gold-grad);transform:scaleX(0);transition:transform .4s ease}
.feat::after{content:"";position:absolute;inset:8px;border:1px solid transparent;transition:border-color .35s ease;pointer-events:none}
.feat:hover{transform:translateY(-5px);box-shadow:0 26px 52px -30px rgba(10,35,66,.45);border-color:rgba(197,160,89,.5)}
.feat:hover::before{transform:scaleX(1)}
.feat:hover::after{border-color:rgba(197,160,89,.28)}
.feat h4{font-size:1.06rem;margin:0 0 .55rem;letter-spacing:-.01em}
.feat p{font-size:.895rem;line-height:1.7;color:var(--body)}
.band .feats{position:relative;z-index:2}
.feat .ic{position:relative;margin:0 auto 1.25rem;display:flex;align-items:center;justify-content:center;height:46px}
.feat .ic span{font-family:'Cormorant Garamond',serif;font-size:1.65rem;font-weight:600;letter-spacing:.06em;line-height:1;
  background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.feat .ic::before,.feat .ic::after{content:"";position:absolute;top:50%;width:22px;height:1px;background:linear-gradient(90deg,transparent,rgba(197,160,89,.75))}
.feat .ic::before{right:calc(50% + 22px)}
.feat .ic::after{left:calc(50% + 22px);background:linear-gradient(90deg,rgba(197,160,89,.75),transparent)}

/* ---- category items ---- */
.cat-item{background:#fff;border:1px solid var(--line);border-radius:2px;padding:2rem 1.4rem 1.75rem;text-align:center;transition:all .35s;cursor:pointer;position:relative;overflow:hidden}
.cat-item::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--gold-grad);transform:scaleX(0);transition:transform .35s ease}
.cat-item::after{content:"";position:absolute;inset:7px;border:1px solid transparent;transition:border-color .35s ease;pointer-events:none}
.cat-item:hover::before{transform:scaleX(1)}
.cat-item:hover::after{border-color:rgba(197,160,89,.25)}
.cat-item:hover{border-color:rgba(197,160,89,.55);box-shadow:0 22px 44px -30px rgba(10,35,66,.4);transform:translateY(-4px)}
.cat-item .arrow{display:inline-flex;align-items:center;gap:.4rem;margin-top:.9rem;font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;font-weight:700;color:var(--gold-d);opacity:0;transform:translateY(-4px);transition:all .35s}
.cat-item:hover .arrow{opacity:1;transform:translateY(0)}
.cat-item p{font-size:.76rem;color:var(--muted);margin:0;letter-spacing:.06em;text-transform:uppercase;font-weight:700}

/* ---- author photo ---- */
.aphoto{position:relative;padding:14px}
.aphoto::before{content:"";position:absolute;inset:0;border:1px solid rgba(197,160,89,.45)}
.aphoto::after{content:"";position:absolute;left:28px;top:28px;right:-14px;bottom:-14px;background:linear-gradient(145deg,var(--navy),var(--navy-2));z-index:-1}
.aphoto img{width:100%;height:auto;display:block;filter:saturate(1.02)}

/* ---- quote ---- */
.quoteband{background:linear-gradient(135deg,var(--navy-ink) 0%,var(--navy) 55%,var(--navy-2) 100%);position:relative;overflow:hidden}
.quoteband::before{content:"";position:absolute;inset:0;background:radial-gradient(700px 280px at 78% -10%,rgba(197,160,89,.16),transparent 60%);pointer-events:none}
.quoteband::after{content:"";position:absolute;left:0;right:0;top:0;height:1.5px;background:var(--gold-line)}
.quoteband section{position:relative;z-index:2}
.qframe{background:rgba(255,255,255,.035);border:1px solid rgba(197,160,89,.28);padding:clamp(2.25rem,5vw,3.5rem) clamp(1.5rem,5vw,4rem);position:relative;max-width:840px;margin:0 auto;backdrop-filter:blur(2px)}
.qframe::after{content:"";position:absolute;inset:10px;border:1px solid rgba(255,255,255,.08);pointer-events:none}
.quoteband blockquote{color:#fff}
.quoteband cite{color:rgba(255,255,255,.5)}

/* ---- newsletter (white) ---- */
.news{background:linear-gradient(180deg,#fff,#FAFBFD);color:var(--ink);text-align:center;border-top:1px solid var(--line)}
.news h2{color:var(--navy);font-size:clamp(1.6rem,3.9vw,2.3rem);margin:0 0 .85rem}
.news p{color:var(--body);font-weight:400;margin:0 auto 2rem;max-width:46ch}
.newscard{max-width:660px;margin:0 auto;background:#fff;border:1px solid var(--line);padding:clamp(2rem,4.5vw,3rem);position:relative}
.newscard::after{content:"";position:absolute;inset:10px;border:1px solid rgba(197,160,89,.3);pointer-events:none}
.nform input{flex:0 1 300px;min-width:0;height:52px;background:#fff;border:1px solid var(--line-2,#D9DEE6);color:var(--ink);padding:.95rem 1.2rem;font-family:Inter,sans-serif;font-size:.95rem;outline:none;transition:border-color .25s}
.nform input::placeholder{color:var(--muted)}
.nform input:focus{border-color:var(--gold)}

/* ---- footer gradient ---- */
.aiband{background:linear-gradient(180deg,#FBFCFE,#F2F6FA);border-top:1px solid var(--line);position:relative;overflow:hidden}
.aiband::before{content:"";position:absolute;inset:0;background:radial-gradient(700px 300px at 88% 0%,rgba(197,160,89,.09),transparent 62%);pointer-events:none}
.ai-in{position:relative;z-index:2;display:grid;gap:clamp(2rem,5vw,3.5rem);align-items:center;grid-template-columns:1fr}
@media(min-width:900px){.ai-in{grid-template-columns:1.05fr .95fr}}
.badge-soon{display:inline-block;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:#241B08;background:var(--gold-grad);padding:.35rem .8rem;margin-bottom:1.15rem}
.aiband h2{font-size:clamp(1.75rem,4.4vw,2.6rem);margin:0 0 1.1rem;line-height:1.15}
.aiband h2 em{font-style:italic;font-weight:400;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block}
.aiband p{font-weight:400;line-height:1.8;max-width:46ch}
.ailist{list-style:none;padding:0;margin:0 0 1.9rem}
.ailist li{position:relative;padding-left:1.7rem;margin:.6rem 0;font-size:.95rem}
.ailist li::before{content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;border:1.5px solid var(--gold);transform:rotate(45deg)}
.aichat{background:#fff;border:1px solid var(--line);box-shadow:0 30px 60px -34px rgba(10,35,66,.5);border-radius:3px;overflow:hidden}
.aibar{display:flex;align-items:center;gap:.55rem;padding:.7rem .9rem;background:linear-gradient(135deg,var(--navy-ink),var(--navy));border-bottom:1px solid rgba(255,255,255,.08)}
.aibar b{font-family:'Cormorant Garamond',serif;color:#fff;font-size:.9rem;font-weight:600;letter-spacing:.02em;line-height:1}
.aibar .mark{width:26px;height:26px;border-radius:5px;background:var(--gold-grad);color:#241B08;display:flex;align-items:center;justify-content:center;font-size:.64rem;font-weight:800;letter-spacing:.02em;flex:0 0 auto}
.aibar .sub{font-size:.68rem;color:rgba(255,255,255,.45);letter-spacing:.06em;flex:1 1 auto}
.aibar .lang{display:flex;gap:1px;background:rgba(255,255,255,.1);border-radius:4px;padding:2px}
.aibar .lang i{font-style:normal;font-size:.6rem;font-weight:700;letter-spacing:.06em;color:rgba(255,255,255,.5);padding:.2rem .4rem;border-radius:3px}
.aibar .lang i.on{background:rgba(255,255,255,.9);color:var(--navy)}
.cites{display:flex;flex-wrap:wrap;gap:.35rem}
.aibody{padding:1.2rem 1.1rem 1.4rem;display:flex;flex-direction:column;gap:.85rem;background:#fff}
.msg{font-size:.89rem;line-height:1.6;padding:.8rem 1rem;max-width:88%}
.msg.you{align-self:flex-end;background:var(--navy);color:#fff;border-radius:10px 10px 2px 10px}
.msg.bot{align-self:flex-start;background:#F4F7FA;border:1px solid var(--line);color:var(--ink);border-radius:10px 10px 10px 2px}
.msg.bot p{margin:0 0 .6rem;font-weight:400;max-width:none}
.msg.bot .cite{display:inline-block;font-size:.68rem;letter-spacing:.09em;text-transform:uppercase;font-weight:700;color:var(--gold-d);background:#fff;border:1px solid rgba(197,160,89,.4);padding:.22rem .55rem}
.typing{display:flex;gap:5px;align-self:flex-start;padding:.7rem .95rem;background:#F4F7FA;border:1px solid var(--line);border-radius:10px}
.typing i{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:tp 1.2s infinite}
.typing i:nth-child(2){animation-delay:.15s}
.typing i:nth-child(3){animation-delay:.3s}
@keyframes tp{0%,60%,100%{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}

.site-footer{background:linear-gradient(165deg,var(--navy-2) 0%,var(--navy) 42%,var(--navy-deep) 100%);color:rgba(255,255,255,.64);font-size:.89rem;font-weight:400;position:relative}
.site-footer::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--gold-line)}
.site-footer::after{content:"";position:absolute;inset:0;background:radial-gradient(800px 300px at 18% 0%,rgba(197,160,89,.08),transparent 62%);pointer-events:none}
.site-footer .wrap{position:relative;z-index:2}


/* ===== revision: features ===== */
.band .feats{gap:0;grid-template-columns:repeat(4,1fr)}
.feat{background:transparent;border:0;border-left:1px solid rgba(197,160,89,.3);padding:.4rem 1.8rem .2rem;box-shadow:none}
.feat:first-child{border-left:0}
.feat::before,.feat::after{display:none}
.feat:hover{transform:none;box-shadow:none;border-color:rgba(197,160,89,.3)}
.feat .ic{width:76px;height:76px;margin:0 auto 1.35rem;border-radius:50%;
  background:radial-gradient(circle at 50% 30%,#FFFFFF,#F6F1E6);border:1px solid rgba(197,160,89,.6);
  box-shadow:inset 0 0 0 5px #fff,inset 0 0 0 6px rgba(197,160,89,.32),0 14px 28px -18px rgba(154,123,62,.7);
  display:flex;align-items:center;justify-content:center;transition:transform .35s ease}
.feat .ic::before,.feat .ic::after{display:none}
.feat .ic svg{width:42px;height:42px;display:block}
.feat:hover .ic{transform:translateY(-3px)}
.feat h4{font-size:1.08rem;margin:0 0 .55rem}
.feat p{font-size:.9rem;line-height:1.7;max-width:25ch;margin:0 auto}
.band > section{padding-top:clamp(3rem,6vw,4.4rem)!important;padding-bottom:clamp(3rem,6vw,4.4rem)!important}
@media(max-width:980px){.band .feats{grid-template-columns:repeat(2,1fr);row-gap:2.6rem}.feat:nth-child(3){border-left:0}}

/* ===== revision: subjects ===== */
.cats{gap:1.1rem;grid-template-columns:repeat(4,1fr)}
@media(max-width:980px){.cats{grid-template-columns:repeat(2,1fr)}}
.cat-item{padding:0;background:#fff;border:1px solid var(--line);text-align:center;overflow:hidden;display:flex;flex-direction:column}
.cat-item::after{display:none}
.cat-item::before{z-index:3}
.cat-item:hover{transform:translateY(-5px);border-color:rgba(197,160,89,.6);box-shadow:0 28px 54px -32px rgba(10,35,66,.55)}
.catshelf{position:relative;height:214px;margin:0;display:flex;align-items:center;justify-content:center;
  background:radial-gradient(280px 170px at 50% -10%,rgba(197,160,89,.26),transparent 70%),linear-gradient(160deg,var(--navy-ink),var(--navy) 55%,var(--navy-2));
  border-bottom:1px solid rgba(197,160,89,.5)}
.catshelf img{bottom:30px;height:152px;box-shadow:0 18px 30px -12px rgba(0,0,0,.75),0 0 0 1px rgba(197,160,89,.3)}
.cat-item.soon .catshelf{border:0;border-bottom:1px solid rgba(197,160,89,.5);align-items:center;
  background:radial-gradient(280px 170px at 50% -10%,rgba(197,160,89,.26),transparent 70%),linear-gradient(160deg,var(--navy-ink),var(--navy) 55%,var(--navy-2))}
.soonmark{border:1px dashed rgba(229,197,133,.55);padding:1.5rem 1.7rem;color:var(--gold-l);font-size:.66rem}
.catbody{padding:1.35rem 1.2rem 1.5rem;flex:1;display:flex;flex-direction:column;align-items:center}
.cat-item h4{font-size:1.08rem;margin:0 0 .35rem}
.cat-item .arrow{opacity:1;transform:none;margin-top:auto;padding-top:1rem;color:var(--navy)}
.cat-item:hover .arrow{color:var(--gold-d)}

/* ===== revision: quote ===== */
.quoteband blockquote{font-size:clamp(1.2rem,2.8vw,1.6rem);max-width:40ch;margin-left:auto;margin-right:auto}
.quoteband cite{color:var(--gold-l);opacity:.85}


/* ===== revision: typography ===== */
body{font-size:17px;line-height:1.7;color:#3F4A57}
h1,h2,h3,h4{font-weight:600;letter-spacing:0}
.hero h1{font-size:clamp(2.7rem,6.6vw,4.7rem);line-height:1.04}
.hero h1 em{font-weight:500}
.hero p.lede{font-size:clamp(1.02rem,2vw,1.14rem);color:rgba(255,255,255,.82)}
.shead h2{font-size:clamp(2.2rem,5vw,3.3rem)}
.spot h2,.aiband h2{font-size:clamp(2.1rem,4.8vw,3.1rem);line-height:1.08}
#author h2{font-size:clamp(2.1rem,4.6vw,3rem)!important}
.announce{font-size:.76rem}
nav.main{font-size:.84rem}
.eyebrow{font-size:.76rem}
.btn{font-size:.8rem}
.trust .n{font-size:2.4rem}
.trust .l{font-size:.72rem}
.feat h4{font-size:1.4rem;margin-bottom:.5rem}
.feat p{font-size:.98rem;max-width:27ch}
.cat{font-size:.7rem}
.cbody h3{font-size:1.3rem;line-height:1.2}
.cbody .meta{font-size:.86rem}
.price{font-size:1.6rem}
.add{font-size:.72rem}
.tagpill{font-size:.62rem}
.spot p,.spot li{font-size:1.02rem}
.cat-item h4{font-size:1.4rem}
.cat-item p{font-size:.74rem}
.cat-item .arrow{font-size:.74rem}
.quoteband blockquote{font-size:clamp(1.55rem,3.3vw,2.1rem);line-height:1.4}
.quoteband cite{font-size:.76rem}
.ailist li{font-size:1rem}
.msg{font-size:.95rem}
.aibar b{font-size:1.05rem}
.news h2{font-size:clamp(2rem,4.4vw,2.7rem)}
.news p{font-size:1.02rem}
.site-footer{font-size:.95rem}
.site-footer h5{font-size:.76rem}
.fbot{font-size:.86rem}
.mnav .links a{font-size:1.8rem}


/* ===== revision: lighter gold ===== */
.shead .eyebrow,#author .eyebrow,.newscard .eyebrow,.aiband .eyebrow,.aiband h2 em{background:var(--gold-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.orn b{box-shadow:0 1px 3px rgba(207,171,98,.45)}


/* ===== revision: subjects text-only ===== */
.cats{gap:1rem;grid-template-columns:repeat(4,1fr)}
.cat-item{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding:2.4rem 1.5rem 2rem;
  background:radial-gradient(260px 140px at 50% -20%,rgba(226,196,130,.2),transparent 70%),linear-gradient(160deg,var(--navy-ink),var(--navy) 58%,var(--navy-2));
  border:1px solid rgba(207,171,98,.35);overflow:hidden;cursor:pointer;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
.cat-item:hover{background:radial-gradient(260px 140px at 50% -20%,rgba(226,196,130,.28),transparent 70%),linear-gradient(160deg,var(--navy-ink),var(--navy) 58%,var(--navy-2));
  transform:translateY(-5px);border-color:rgba(226,196,130,.7);box-shadow:0 28px 50px -30px rgba(4,16,31,.9)}
.cat-item::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--gold-grad);transform:scaleX(0);transition:transform .4s ease;z-index:2}
.cat-item:hover::before{transform:scaleX(1)}
.cat-item::after{content:"";display:block;position:absolute;inset:8px;border:1px solid rgba(207,171,98,.16);pointer-events:none;transition:border-color .35s}
.cat-item:hover::after{border-color:rgba(207,171,98,.34)}
.catnum{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:500;font-size:1.9rem;line-height:1;margin-bottom:1rem;
  background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.cattxt{flex:1}
.cat-item h4{color:#fff;font-size:1.5rem;line-height:1.15;margin:0 0 .55rem}
.cat-item p{color:var(--gold-l);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;margin:0}
.cat-item .arrow{display:inline-flex;align-items:center;gap:.45rem;opacity:1;transform:none;margin-top:1.4rem;padding-top:0;
  color:rgba(255,255,255,.85);font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;font-weight:600}
.cat-item .arrow em{font-style:normal}
.cat-item:hover .arrow{color:var(--gold-l)}
.cat-item.soon{background:linear-gradient(160deg,#0B1B31,#11284A);border-style:dashed;border-color:rgba(207,171,98,.4)}
.cat-item.soon h4{color:rgba(255,255,255,.72)}
@media(max-width:980px){.cats{grid-template-columns:repeat(2,1fr)}}

/* ============ MOBILE ============ */
@media(max-width:820px){
  body{font-size:16px}
  .wrap{padding-left:1.15rem;padding-right:1.15rem}

  /* header: give the logo real room */
  .hrow{gap:.5rem;padding:.7rem 0}
  .logo{flex:1 1 auto;min-width:0}
  .logo img{height:50px;max-width:100%;object-fit:contain;object-position:left center}
  .hact{flex:0 0 auto;gap:0}
  .iconbtn{width:38px;height:38px}
  .iconbtn svg{width:18px;height:18px}
  .fp section{padding:clamp(2.5rem,7vw,3.25rem) 0}

  /* hero: covers first, text centred */
  .hero-in{padding:2rem 0 2.75rem;gap:2rem}
  .fan{order:-1;min-height:clamp(250px,64vw,330px);margin-bottom:.25rem}
  .fan img{width:clamp(124px,33vw,162px)}
  .fan .f1{transform:rotate(-12deg) translate(-64px,16px)}
  .fan .f4{transform:rotate(12deg) translate(64px,16px)}
  .fan .f2{transform:rotate(-5deg) translate(-25px,-6px)}
  .fan .f3{transform:rotate(5deg) translate(25px,-2px)}
  .hero > .wrap > div:not(.fan){text-align:center}
  .hero .eyebrow{margin-bottom:1.05rem}
  .hero h1{font-size:clamp(1.85rem,8.2vw,2.5rem);margin-bottom:1rem}
  .hero p.lede{margin-left:auto;margin-right:auto;margin-bottom:1.75rem;font-size:1rem}
  .hero-cta{justify-content:center;gap:.7rem;margin-bottom:2rem;padding:0 .5rem}
  .hero-cta .btn{flex:0 1 auto;padding:.9rem 1.65rem}
  .trust{display:grid!important;grid-template-columns:repeat(3,1fr);gap:0;text-align:center;padding-top:1.6rem;justify-items:center;align-items:start;width:100%}
  .trust > div{padding:0 .3rem;position:relative;width:100%;display:flex;flex-direction:column;align-items:center;text-align:center}
  .trust .n,.trust .l{display:block;width:100%;text-align:center}
  .trust > div + div::before{content:"";position:absolute;left:0;top:12%;bottom:12%;width:1px;background:rgba(255,255,255,.14)}
  .trust .n{font-size:1.4rem}
  .trust .l{font-size:.58rem;letter-spacing:.1em;margin-top:.35rem}

  .btn{padding:.9rem 1.5rem;font-size:.72rem;letter-spacing:.14em}
  .shead{margin-bottom:2rem}
  .feats{gap:.85rem}
  .feat{padding:1.75rem 1.1rem 1.5rem}
  .books{gap:1rem;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
  .cbody{padding:1rem 1rem 1.15rem}
  .cbody h3{font-size:.95rem}
  .cbody .meta{font-size:.74rem;margin-bottom:.8rem}
  .price{font-size:1.12rem}
  .add{padding:.5rem .8rem;font-size:.63rem}

  /* spotlight: covers first, centred */
  .spot-in{gap:2rem}
  .duo{order:-1;min-height:clamp(250px,62vw,320px)}
  .duo img{width:clamp(140px,36vw,190px)}
  .duo .d1{transform:rotate(-6deg) translate(-38px,8px)}
  .duo .d2{transform:rotate(6deg) translate(38px,-6px)}
  .spot-in > div:not(.duo){text-align:center}
  .spot ul{display:inline-block;text-align:left}
  .spot-in .eyebrow{margin-bottom:1rem}
  .spot-in > div:not(.duo) > div:last-child{justify-content:center}

  /* author: photo first, centred */
  .author{gap:2rem}
  .aphoto{order:-1;max-width:330px;margin:0 auto 1rem}
  .aphoto::after{left:20px;top:20px;right:-10px;bottom:-10px}
  .author > div:not(.aphoto){text-align:center}
  .author .eyebrow{margin-bottom:1rem}
  .author .btn{width:100%}

  .cats{grid-template-columns:1fr 1fr}
  .cat-item{padding:1.6rem .9rem}
  .cat-item h4{font-size:.9rem;line-height:1.3}
  .cat-item p{font-size:.72rem}

  .qframe{padding:2rem 1.35rem}
  .newscard{padding:1.9rem 1.15rem}
  .nform{flex-direction:column;align-items:stretch;gap:.6rem}
  .nform input{flex:0 0 auto;width:100%;height:50px}
  .nform .btn{width:100%}

  .ai-in{gap:1.75rem}
  .aichat{order:-1}
  .ai-in > div:not(.aichat){text-align:center}
  .aiband p{margin-left:auto;margin-right:auto}
  .ailist{display:inline-block;text-align:left}
  .aiband .btn{width:100%}
  .msg{max-width:94%}

  /* footer centred + accordion */
  .fgrid{text-align:center;gap:.25rem;padding:2.5rem 0 1.5rem;grid-template-columns:1fr}
  .fbrand{margin-bottom:1.5rem}
  .fbrand p{margin-left:auto;margin-right:auto;max-width:34ch}
  .facc{border-top:1px solid rgba(255,255,255,.1)}
  .facc summary{cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.6rem;padding:1rem 0}
  .facc summary h5{margin:0}
  .facc summary::after{content:"";width:7px;height:7px;border-right:1.5px solid var(--gold);border-bottom:1.5px solid var(--gold);transform:rotate(45deg) translateY(-2px);transition:transform .25s}
  .facc[open] summary::after{transform:rotate(-135deg) translateY(-2px)}
  .facc > ul{padding-bottom:1rem}
  .facc li{margin:.75rem 0}
  .fbot{flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:1rem;padding:1.35rem 0 .5rem}
      .site-footer .fgrid > *{width:100%}
  .fbrand{display:flex;flex-direction:column;align-items:center}
  .fbrand img{height:52px;margin:0 auto}
}

@media(max-width:480px){
  .logo img{height:46px}
  .iconbtn{width:34px;height:34px}
  .iconbtn svg{width:17px;height:17px}
  .hact button[aria-label="Search"]{display:none}
}

@media(max-width:400px){
  .books{grid-template-columns:1fr}
  .cats{grid-template-columns:1fr}
  .logo img{height:42px}
}

@media(max-width:600px){
  .band .feats{grid-template-columns:1fr;row-gap:0}
  .feat{display:grid;grid-template-columns:62px 1fr;column-gap:1.1rem;align-items:start;text-align:left;border-left:0;border-top:1px solid rgba(197,160,89,.25);padding:1.35rem .2rem}
  .feat:first-child{border-top:0;padding-top:.2rem}
  .feat .ic{width:62px;height:62px;margin:0;grid-row:span 2}
  .feat .ic svg{width:34px;height:34px}
  .feat h4{margin:.2rem 0 .3rem;font-size:1.02rem}
  .feat p{max-width:none;margin:0;font-size:.88rem}
  .cats{grid-template-columns:1fr 1fr;gap:.75rem}
  .cat-item{padding:0}
  .catshelf{height:168px}
  .catshelf img{height:112px;bottom:26px}
  .catshelf img:nth-child(1){transform:rotate(-5deg) translateX(-12px)}
  .catshelf img:nth-child(2){transform:rotate(5deg) translateX(12px)}
  .catshelf img:only-child{transform:none}
  .catbody{padding:1rem .7rem 1.1rem}
  .cat-item h4{font-size:.9rem;line-height:1.3}
  .soonmark{padding:1rem .8rem}
  .books{grid-template-columns:1fr 1fr!important;gap:.75rem}
  .cbody{padding:.85rem .8rem 1rem}
  .cbody h3{font-size:.88rem}
  .cbody .meta{font-size:.7rem}
  .prow{flex-wrap:wrap;gap:.5rem}
  .price{font-size:1.02rem}
  .add{padding:.45rem .7rem;font-size:.6rem}
  .tagpill{font-size:.5rem;padding:.25rem .45rem;top:.5rem;right:.5rem}
}

@media(max-width:820px){
  body{font-size:16.5px}
  .hero-in{padding-left:1.25rem!important;padding-right:1.25rem!important}
  .hero .eyebrow{font-size:.66rem;letter-spacing:.16em}
  .hero .eyebrow::before{display:none}
  .announce{font-size:.6rem;letter-spacing:.09em;padding:.55rem .75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .hero h1{font-size:clamp(2.35rem,10vw,3rem)}
  .shead h2{font-size:clamp(1.95rem,8.4vw,2.4rem)}
  .spot h2,.aiband h2{font-size:clamp(1.9rem,8vw,2.3rem)}
  #author h2{font-size:clamp(1.9rem,8vw,2.3rem)!important}
  .trust .n{font-size:1.85rem}
  .trust .l{font-size:.62rem}
  .feat h4{font-size:1.28rem}
  .feat p{font-size:.95rem}
  .quoteband blockquote{font-size:1.4rem}
}
@media(max-width:600px){
  .cbody h3{font-size:1.1rem}
  .cbody .meta{font-size:.76rem}
  .price{font-size:1.3rem}
  .cat{font-size:.6rem}
  .cat-item h4{font-size:1.12rem}
  .cat-item .arrow{font-size:.66rem}
}

/* ===== revision: mobile spacing ===== */
@media(max-width:820px){
  .wrap{padding-left:1.3rem!important;padding-right:1.3rem!important}
  .hero-in{padding-left:1.3rem!important;padding-right:1.3rem!important}
  .fp section{padding-top:3.25rem;padding-bottom:3.25rem}
  .shead{margin-bottom:1.9rem}
  .spot ul,.ailist{display:block!important;max-width:330px;margin-left:auto!important;margin-right:auto!important;text-align:left}
  .spot li,.ailist li{margin:.55rem 0;line-height:1.55}
  .spot-in > div:not(.duo) > div:last-child{flex-direction:column;align-items:center;gap:.7rem!important}
  .spot-in > div:not(.duo) > div:last-child .btn{width:100%;max-width:330px}
  .aiband .btn,.author .btn{max-width:330px;margin-left:auto;margin-right:auto;display:flex}
  .aichat{margin-bottom:.5rem}
  .eyebrow::before{display:none!important}
  .eyebrow{justify-content:center}
  .newscard{padding:2rem 1.3rem}
  .nform input,.nform .btn{max-width:none}
  .fgrid{padding-left:0;padding-right:0}
}
@media(max-width:600px){
  .cats{grid-template-columns:1fr!important;gap:.65rem}
  .cat-item{display:grid!important;grid-template-columns:auto 1fr auto;align-items:center;column-gap:1.1rem;text-align:left;padding:1.15rem 1.2rem!important}
  .cat-item::after{inset:5px}
  .catnum{margin:0;font-size:1.6rem}
  .cat-item h4{font-size:1.3rem!important;margin:0 0 .25rem}
  .cat-item p{font-size:.64rem}
  .cat-item .arrow{margin:0}
  .cat-item .arrow em{display:none}
  .books{gap:.7rem}
}

/* ================= WordPress / WooCommerce ================= */
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
.admin-bar .site-header{top:32px}
@media(max-width:782px){.admin-bar .site-header{top:46px}}
@media(max-width:600px){.admin-bar .site-header{top:0}}

/* header search */
.hsearch{display:none;position:relative;z-index:2;border-top:1px solid rgba(255,255,255,.08);padding:.85rem 0 1rem}
.hsearch.open{display:block}
.hsearch form{display:flex;gap:.6rem;max-width:620px;margin:0 auto}
.hsearch input[type=search]{flex:1;min-width:0;height:46px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.2);color:#fff;padding:0 1rem;font-family:Inter,sans-serif;font-size:.95rem;outline:none;border-radius:0}
.hsearch input[type=search]::placeholder{color:rgba(255,255,255,.45)}
.hsearch input[type=search]:focus{border-color:var(--gold)}
.hsearch button{background:var(--gold-grad);border:0;color:#241B08;font-family:Inter,sans-serif;font-weight:700;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;padding:0 1.3rem;cursor:pointer}

/* product cards */
.card .shot{display:block}
.card h3 a:hover{color:var(--gold-d)}
a.add{display:inline-block;line-height:1.4}
.price del{font-size:.8rem;color:var(--muted);font-weight:400;margin-right:.4rem}
.price ins{text-decoration:none}
.prow .added_to_cart,.spot .added_to_cart{display:none!important}
.add.loading,.btn.loading{opacity:.6;pointer-events:none}
.spot .btn{text-decoration:none}

/* inner pages */
.pagehead{background:linear-gradient(135deg,var(--navy-deep) 0%,var(--navy) 58%,var(--navy-2) 100%);color:#fff;padding:clamp(2.25rem,5vw,3.5rem) 0;position:relative}
.pagehead::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1.5px;background:var(--gold-line)}
.pagehead h1{color:#fff;margin:0;font-size:clamp(2rem,5vw,3rem)}
.page-body{padding-top:clamp(2rem,5vw,3.5rem);padding-bottom:clamp(3rem,6vw,5rem)}
.entry + .entry{margin-top:2.5rem}
.entry-content p a,.entry-content li a{color:var(--gold-d);text-decoration:underline}
.nav-links{display:flex;gap:1rem;margin-top:2rem}

/* WooCommerce */
.woocommerce .books{clear:both}
.woocommerce-result-count,.woocommerce-ordering{margin:0 0 1.5rem!important}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,
.wc-block-components-button:not(.is-link){background:var(--navy)!important;color:#fff!important;border:0!important;border-radius:0!important;font-family:Inter,sans-serif!important;font-size:.74rem!important;letter-spacing:.14em;text-transform:uppercase;font-weight:700!important;padding:.95rem 1.6rem!important;line-height:1.3}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.wc-block-components-button:not(.is-link):hover{background:var(--navy-2)!important}
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce .single_add_to_cart_button,
.wc-block-cart__submit-button,.wc-block-components-checkout-place-order-button{background:var(--gold-grad)!important;color:#241B08!important}
.woocommerce div.product .product_title{font-size:clamp(2rem,4.5vw,2.8rem);margin:0 0 .75rem}
.woocommerce div.product p.price,.woocommerce div.product span.price{font-family:'Cormorant Garamond',serif;color:var(--navy)!important;font-size:1.9rem;font-weight:600}
.woocommerce div.product .woocommerce-product-details__short-description{color:var(--muted)}
.woocommerce div.product .product_meta{font-size:.85rem;color:var(--muted);margin-top:1.5rem}
.woocommerce div.product .product_meta a{color:var(--gold-d)}
.woocommerce div.product div.images img{box-shadow:0 28px 64px -24px rgba(10,35,66,.55),0 0 0 1px rgba(197,160,89,.3)}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{border-bottom-color:#fff}
.woocommerce .related>h2,.woocommerce .upsells>h2{font-size:2rem;margin:3.5rem 0 1.5rem}
.woocommerce-message,.woocommerce-info{border-top-color:var(--gold)!important}
.woocommerce-message::before,.woocommerce-info::before{color:var(--gold-d)!important}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select{border:1px solid #D9DEE6;padding:.75rem .9rem;border-radius:0}
.woocommerce-MyAccount-navigation ul{list-style:none;padding:0;margin:0 0 2rem}
.woocommerce-MyAccount-navigation li a{display:block;padding:.65rem 0;border-bottom:1px solid var(--line)}
.woocommerce-MyAccount-navigation li.is-active a,.woocommerce-MyAccount-navigation li a:hover{color:var(--gold-d)}
.woocommerce-pagination ul.page-numbers{border:0!important}
.woocommerce-ordering select{height:44px;border:1px solid #D9DEE6;border-radius:0;padding:0 2rem 0 .8rem;background-color:#fff;font-family:Inter,sans-serif;font-size:.85rem;color:var(--ink)}
.woocommerce .quantity .qty{width:4.2rem;height:50px;border:1px solid #D9DEE6;border-radius:0;text-align:center;font-family:Inter,sans-serif;font-size:1rem;margin-right:.5rem}
.woocommerce div.product form.cart{display:flex;align-items:stretch;gap:.25rem}
/* block product grids (empty cart "New in store", etc.) */
.wc-block-grid__product-title,.wc-block-grid__product-link{font-family:'Cormorant Garamond',serif;color:var(--navy)!important;font-size:1.2rem;font-weight:600;text-decoration:none!important;line-height:1.25}
.wc-block-grid__product-image img{box-shadow:0 18px 36px -20px rgba(10,35,66,.55),0 0 0 1px rgba(197,160,89,.25)}
.wc-block-grid__product-price{font-family:'Cormorant Garamond',serif;color:var(--navy);font-size:1.35rem;font-weight:600}
.wc-block-grid__product-price del{font-size:.85rem;color:var(--muted);font-weight:400}
.wc-block-grid__product-price ins{text-decoration:none}
.wc-block-grid .wp-block-button__link,.wc-block-components-product-button .wp-block-button__link,.wp-block-button.wc-block-components-product-button .wc-block-components-product-button__button{background:var(--navy)!important;color:#fff!important;border-radius:0!important;border:0;font-family:Inter,sans-serif;font-size:.72rem!important;letter-spacing:.14em;text-transform:uppercase;font-weight:700;padding:.8rem 1.3rem!important;text-decoration:none!important}
.wc-block-grid .wp-block-button__link:hover{background:var(--navy-2)!important}
.wc-block-grid__product-onsale,.wc-block-components-product-sale-badge{background:var(--gold-grad)!important;border:0!important;border-radius:0!important;color:#241B08!important;font-size:.6rem!important;letter-spacing:.14em;font-weight:700}
.wp-block-woocommerce-empty-cart-block .wp-block-separator{border:0;height:1px;background:var(--gold-line);max-width:140px;margin:1.5rem auto}
.wp-block-woocommerce-empty-cart-block h2{font-size:clamp(1.6rem,4vw,2.2rem)}

/* Author bio: Read more toggle */
.skb-bio-more[hidden]{display:none}
.skb-bio-toggle{display:inline-flex;align-items:center;gap:.5rem;margin:.25rem 0 0;padding:.35rem 0;background:none;border:0;border-bottom:1px solid currentColor;cursor:pointer;font-family:Inter,sans-serif;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--gold-d);min-height:44px}
.skb-bio-toggle:hover{color:var(--navy)}
.skb-bio-toggle:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.skb-bio-toggle[hidden]{display:none}

/* Keep shared wrapper gutters when a layout class also sets vertical padding. */
.wrap.hrow,
.wrap.hero-in,
.site-footer > .wrap.fgrid,
.site-footer > .wrap.fbot {
  padding-left:clamp(1.25rem,4vw,2.5rem);
  padding-right:clamp(1.25rem,4vw,2.5rem);
}
@media (max-width:820px) {
  .announce {
    white-space:normal;
    overflow:visible;
    text-overflow:clip;
    overflow-wrap:anywhere;
  }
}
