/* OVERCHARGED — book feature: intentionally distinct, but built on the site's existing Gothic A1 / Lato language. */
:root { --oc-ink:#07283b; --oc-paper:#e5e2ca; --oc-rust:#bf452f; --oc-grid:#76cdbc; --oc-gold:#f1bb24; }
.oc-home-flash { position:absolute; isolation:isolate; z-index:4; right:clamp(1.25rem,5vw,5rem); bottom:clamp(5.5rem,11vh,8.5rem); display:flex; align-items:flex-end; gap:.8rem; color:var(--oc-ink); text-decoration:none; font-family:'Gothic A1',sans-serif; }
.oc-home-flash:before { content:''; position:absolute; z-index:-1; right:-.8rem; bottom:-.65rem; width:calc(100% + 1.6rem); height:calc(100% + 1.3rem); background:rgba(245,243,225,.72); border-left:1px solid rgba(7,40,59,.16); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); pointer-events:none; }
.oc-home-flash__cover { width:clamp(2.8rem,5vw,4.25rem); height:auto !important; aspect-ratio:1056 / 1683; object-fit:contain; box-shadow:0 7px 18px rgba(7,40,59,.22); transform:rotate(5deg); transition:transform .35s ease,box-shadow .35s ease; }
.oc-home-flash__type { border-bottom:2px solid var(--oc-rust); padding:.2rem .2rem .35rem; line-height:.9; }
.oc-home-flash__eyebrow { display:block; color:var(--oc-rust); font-size:.62rem; font-weight:700; letter-spacing:.13em; margin-bottom:.35rem; }
.oc-home-flash__title { display:block; font-size:clamp(1.15rem,2.2vw,1.8rem); font-weight:800; letter-spacing:-.07em; }
.oc-home-flash__arrow { display:inline-block; margin-left:.35rem; transition:transform .25s ease; }
.oc-home-flash:hover .oc-home-flash__cover { transform:rotate(0) translateY(-.35rem); box-shadow:0 11px 22px rgba(7,40,59,.28); }
.oc-home-flash:hover .oc-home-flash__arrow { transform:translateX(.25rem); }
.oc-home-flash:focus-visible, .oc-buy-link:focus-visible { outline:3px solid var(--oc-grid); outline-offset:5px; }
.oc-page { min-height:100vh; color:var(--oc-ink); background:var(--oc-paper); font-family:'Gothic A1',sans-serif; overflow-x:hidden; }
.oc-page .hero { position:relative; height:auto; z-index:10; }
.oc-page .main-nav-inner { position:relative; z-index:11; }
.oc-page__intro { min-height:0; display:grid; grid-template-columns:minmax(17rem,.86fr) minmax(22rem,1.14fr); gap:clamp(2rem,7vw,9rem); align-items:start; max-width:1380px; margin:0 auto; padding:0 clamp(1.5rem,7vw,7rem) clamp(3rem,6vw,6rem); position:relative; }
.oc-page__intro:before { content:''; position:absolute; top:0; right:10%; width:1px; height:100%; background:var(--oc-grid); opacity:.75; transform:rotate(25deg); transform-origin:top; }
/* The artwork is the hero. Never let a layout rule distort its printed proportion. */
.oc-cover--front,.oc-cover--back { display:block; height:auto !important; max-width:100%; object-fit:contain; }
.oc-cover--front { width:min(100%,22rem); justify-self:center; position:relative; z-index:1; box-shadow:20px 22px 0 rgba(7,40,59,.1); transform:rotate(-2.5deg); }
.oc-intro__copy { position:relative; z-index:1; max-width:38rem; padding-top:clamp(2rem,6vw,5rem); }
.oc-kicker { color:var(--oc-rust); font-size:.72rem; font-weight:700; letter-spacing:.15em; margin:0 0 1.4rem; }
.oc-title { color:var(--oc-ink); font-family:Lato,sans-serif; font-size:clamp(2.2rem,5vw,5.2rem); font-weight:300; letter-spacing:-.06em; line-height:.88; margin:0; max-width:11ch; }
.oc-title span { color:var(--oc-rust); }
.oc-subtitle { font-family:Lato,sans-serif; font-size:clamp(1.2rem,2.1vw,1.8rem); font-weight:400; line-height:1.08; margin:1.8rem 0 .45rem; max-width:19rem; }
.oc-byline { font-size:.77rem; font-weight:700; letter-spacing:.14em; margin:0; text-transform:uppercase; }
.oc-intro__line { width:min(100%,28rem); height:2px; border:0; background:var(--oc-rust); margin:2.5rem 0 1.1rem; }
.oc-scroll-note { font-size:.68rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.oc-content { background:#fbfaf3; position:relative; padding:clamp(5rem,12vw,11rem) clamp(1.5rem,7vw,7rem); }
.oc-content:before { content:''; display:block; position:absolute; left:-12%; top:7%; width:82%; border-top:1px solid var(--oc-grid); transform:rotate(-11deg); }
.oc-content__grid { display:grid; grid-template-columns:minmax(17rem,.72fr) minmax(20rem,1fr); align-items:start; gap:clamp(3rem,10vw,11rem); max-width:1250px; margin:auto; }
.oc-cover--back { width:min(100%,25rem); justify-self:center; box-shadow:18px 20px 0 rgba(191,69,47,.12); transform:rotate(2deg); }
.oc-reading { position:relative; z-index:1; max-width:42rem; }
.oc-section-label { border-bottom:1px solid var(--oc-ink); display:flex; justify-content:space-between; font-size:.7rem; font-weight:700; letter-spacing:.13em; margin:0 0 2.4rem; padding-bottom:.7rem; text-transform:uppercase; }
.oc-reading p { font-family:Lato,sans-serif; font-size:clamp(1.08rem,1.6vw,1.35rem); line-height:1.55; margin:0 0 1.35em; }
.oc-buy-link { color:var(--oc-ink); display:inline-flex; align-items:center; gap:.8rem; font-size:.78rem; font-weight:800; letter-spacing:.13em; margin-top:1.5rem; padding-bottom:.5rem; border-bottom:2px solid var(--oc-rust); text-decoration:none; text-transform:uppercase; transition:color .2s ease,border-color .2s ease; }
.oc-buy-link--hero { margin-top:0; }
.oc-buy-link:hover { color:var(--oc-rust); border-color:var(--oc-grid); }
.oc-buy-link span { font-size:1.1rem; transition:transform .2s ease; }.oc-buy-link:hover span { transform:translateX(.3rem); }
.oc-orders { background:var(--oc-paper); padding:clamp(4rem,9vw,8rem) clamp(1.5rem,7vw,7rem); }
.oc-orders__inner { max-width:1250px; margin:auto; }
.oc-orders__grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(15rem,1fr)); gap:clamp(2rem,5vw,4.5rem); }
.oc-order { border-top:1px solid rgba(7,40,59,.25); padding-top:1.5rem; }
.oc-order__title { font-family:Lato,sans-serif; font-size:clamp(1.25rem,1.9vw,1.6rem); font-weight:400; letter-spacing:-.02em; line-height:1.1; margin:0 0 .85rem; }
.oc-order__text { font-family:Lato,sans-serif; font-size:1rem; line-height:1.5; margin:0; max-width:24rem; }
/* Featured book block on the Books page — leans on the page's existing Webflow columns. */
.oc-featured { border-top:1px solid rgba(7,40,59,.22); border-bottom:1px solid rgba(7,40,59,.22); margin:0 0 10px; padding:34px 0; }
.oc-featured__cover-link { display:block; }
.oc-featured__cover { display:block; width:100%; max-width:230px; height:auto; box-shadow:12px 14px 0 rgba(7,40,59,.1); }
.oc-featured__kicker { color:var(--oc-rust); font-family:'Gothic A1',sans-serif; font-size:.72rem; font-weight:700; letter-spacing:.15em; margin:0 0 .6rem; text-transform:uppercase; }
.oc-featured__trade { font-size:.85rem; line-height:1.5; margin:1.1rem 0 0; max-width:34rem; opacity:.85; }
.oc-featured__trade a { color:inherit; text-decoration:underline; text-underline-offset:2px; }
.oc-featured__trade a:hover { color:var(--oc-rust); }
/* Trade line in the shared site footer. */
.oc-footer-trade { font-size:12px; font-style:italic; margin:6px 0 0; text-align:right; }
.oc-footer-trade a { color:inherit; text-decoration:underline; text-underline-offset:2px; }
.oc-footer-trade a:hover { color:var(--oc-rust); }
@media (max-width:767px) { .oc-featured { padding:26px 0; }.oc-featured__cover { max-width:150px; margin-bottom:18px; }.oc-footer-trade { text-align:left; } }
.oc-page__footer { background:var(--oc-ink); color:var(--oc-paper); display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1.3rem clamp(1.5rem,7vw,7rem); font-size:.68rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }.oc-page__footer a { color:inherit; text-decoration:none; }.oc-page__footer a:hover { color:var(--oc-grid); }
@media (max-width:767px) { .oc-home-flash { right:.9rem; bottom:calc(20vh + env(safe-area-inset-bottom) + .9rem); gap:.45rem; }.oc-home-flash:before { right:-.55rem; bottom:-.45rem; width:calc(100% + 1.1rem); height:calc(100% + .9rem); }.oc-home-flash__cover { width:2.35rem; }.oc-home-flash__type { padding:.16rem .15rem .3rem; }.oc-home-flash__eyebrow { font-size:.52rem; margin-bottom:.26rem; }.oc-home-flash__title { font-size:1.04rem; }.oc-page__intro { grid-template-columns:1fr; gap:2.7rem; padding-top:0; }.oc-cover--front { width:min(75%,17rem); grid-row:1; }.oc-intro__copy { grid-row:2; padding-top:0; }.oc-title { font-size:clamp(3rem,15vw,4.4rem); }.oc-content__grid { grid-template-columns:1fr; }.oc-cover--back { width:min(78%,22rem); }.oc-content { padding-top:4.5rem; }.oc-orders__grid { grid-template-columns:1fr; gap:2.2rem; }.oc-page__footer { align-items:flex-start; flex-direction:column; }.oc-page__intro:before { right:5%; } }
@media (prefers-reduced-motion:reduce) { .oc-home-flash__cover,.oc-home-flash__arrow,.oc-buy-link span { transition:none; } }
