:root{
  --navy:#1e3d58; --navy-2:#294d68; --cream:#f1e7d5; --paper:#faf7f0;
  --gold:#b89b6f; --gold-dark:#98703e; --rust:#986a4b; --sage:#566563;
  --ink:#1d292c; --muted:#66706f; --line:#ded6c7; --white:#fffdf8;
  --display:"Cormorant Garamond", Georgia, serif; --sans:"Inter", Arial, sans-serif;
  --max:1240px; --shadow:0 18px 45px rgba(30,61,88,.10);
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55}
body{background-color:var(--paper);background-image:url("assets/heritage-paper.svg");background-position:center top;background-repeat:repeat-y;background-size:100% auto;background-attachment:fixed}
/* The background uses a softly fibred parchment texture and restrained botanical corner ornaments. */
.site-header{background:rgba(246,240,228,.93)}
.trust-strip{background:rgba(250,247,240,.55)}
.section-heading{position:relative}
a{color:inherit;text-decoration:none} button,input,select{font:inherit} button{cursor:pointer}
.announcement{background:var(--navy);color:#fff;padding:9px 20px;text-align:center;font-size:12px;letter-spacing:.04em}.announcement span{color:var(--gold);padding:0 8px}
.site-header{position:sticky;top:0;z-index:50;background:rgba(250,247,240,.95);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.header-main{height:82px;max-width:var(--max);margin:auto;padding:0 28px;display:flex;align-items:center;gap:38px}.brand{width:68px;height:68px;overflow:hidden;display:block;border-radius:50%;background:var(--cream);border:1px solid var(--gold);flex:0 0 68px}.brand img{width:100%;height:100%;object-fit:contain;object-position:center;border-radius:50%;display:block}
.main-nav{display:flex;gap:30px;align-items:center;flex:1}.main-nav a{font-size:13px;font-weight:600;letter-spacing:.03em}.main-nav a:hover,.text-link:hover{color:var(--gold-dark)}
.header-actions{display:flex;gap:8px;align-items:center}.icon-btn{border:0;background:transparent;color:var(--navy);min-width:44px;height:44px}.cart-btn{border-left:1px solid var(--line);padding-left:18px}.cart-btn span{display:inline-grid;place-items:center;background:var(--navy);color:#fff;width:20px;height:20px;border-radius:50%;font-size:11px;margin-left:5px}
.search-row{display:none;max-width:var(--max);margin:auto;padding:0 28px 14px}.search-row.open{display:flex;gap:10px}.search-row input{flex:1;border:1px solid var(--line);background:var(--white);height:48px;padding:0 16px;outline:0}.search-row input:focus{border-color:var(--gold-dark)}.search-row button{border:0;background:transparent;color:var(--muted)}
.mobile-menu{display:none}
.hero{max-width:var(--max);margin:auto;min-height:620px;padding:70px 28px;display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.19em;color:var(--gold-dark);margin:0 0 15px}.hero h1{font-family:var(--display);font-size:clamp(54px,6vw,88px);line-height:.92;font-weight:600;letter-spacing:-.025em;color:var(--navy);margin:0 0 26px}.hero h1 em{font-weight:500;color:var(--rust)}.hero-text{max-width:590px;color:var(--muted);font-size:17px}.hero-actions{display:flex;align-items:center;gap:26px;margin-top:34px}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;min-height:48px;padding:0 22px;font-weight:600;font-size:13px;letter-spacing:.01em;transition:.2s}.btn-dark{background:var(--navy);color:#fff}.btn-dark:hover{background:var(--navy-2);transform:translateY(-1px)}.btn-outline{border-color:var(--gold-dark);color:var(--navy);background:transparent}.text-link{font-weight:600;font-size:13px}
.hero-art{display:flex;justify-content:center}.arch-frame{width:min(100%,500px);aspect-ratio:4/5;border:2px solid var(--gold);border-radius:52% 52% 0 0 / 34% 34% 0 0;padding:12px;position:relative;background:var(--cream);box-shadow:var(--shadow);overflow:hidden}.arch-frame:before{content:"";position:absolute;inset:11px;border:1px solid var(--navy);border-radius:50% 50% 0 0 / 33% 33% 0 0;opacity:.55}.arch-frame img{position:absolute;inset:25px;width:calc(100% - 50px);height:calc(100% - 50px);object-fit:cover;opacity:.22;filter:saturate(.7)}.arch-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:44px;text-align:center;color:var(--navy)}.arch-overlay span{font-size:10px;letter-spacing:.25em;margin-bottom:10px}.arch-overlay strong{font-family:var(--display);font-size:38px;line-height:.95}
.trust-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-width:var(--max);margin:auto;display:grid;grid-template-columns:repeat(4,1fr)}.trust-strip div{padding:25px 22px;border-right:1px solid var(--line)}.trust-strip div:last-child{border:0}.trust-strip b{display:block;color:var(--navy);font-family:var(--display);font-size:21px}.trust-strip span{font-size:12px;color:var(--muted)}
.section{max-width:var(--max);margin:0 auto;padding:90px 28px}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:30px}.section-heading h2,.story-banner h2,.newsletter h2{font-family:var(--display);font-size:48px;line-height:1;color:var(--navy);margin:0}.subtle{color:var(--muted);font-size:13px;margin:8px 0 0}
.collection-grid{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,calc((100% - 42px)/4));gap:14px;overflow-x:auto;overflow-y:hidden;padding:0 2px 16px;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch}.collection-grid::-webkit-scrollbar{display:none;width:0;height:0}.collection-card{width:100%;min-width:0;min-height:245px;text-align:left;padding:24px;background:var(--cream);border:1px solid var(--line);position:relative;overflow:hidden;transition:background .25s,box-shadow .25s;scroll-snap-align:start}.collection-card:after{content:"";position:absolute;width:170px;height:170px;border:1px solid var(--gold);border-radius:50%;right:-60px;bottom:-60px;opacity:.65;pointer-events:none}.collection-card:hover{box-shadow:var(--shadow);background:#f5eadb}.collection-card span{font-size:11px;color:var(--gold-dark);letter-spacing:.1em}.collection-card h3{font-family:var(--display);font-size:30px;color:var(--navy);margin:105px 0 2px}.collection-card small{font-size:11px;color:var(--muted)}
.shop{padding-top:50px}.sort-wrap{display:flex;align-items:center;gap:10px;font-size:12px}.sort-wrap select{border:0;border-bottom:1px solid var(--line);background:transparent;padding:8px 25px 8px 5px;color:var(--navy);outline:0}
.shop-layout{display:grid;grid-template-columns:220px 1fr;gap:34px}.filters{border-top:1px solid var(--line);padding-top:18px}.filter-head{display:flex;justify-content:space-between;font-size:13px;margin-bottom:25px}.filter-head button{background:none;border:0;color:var(--gold-dark);font-size:11px}.filter-group{border-top:1px solid var(--line);padding:18px 0}.filter-group h4{font-size:11px;letter-spacing:.1em;text-transform:uppercase;margin:0 0 14px;color:var(--navy)}.filter-group label{display:flex;align-items:center;gap:9px;font-size:12px;margin:11px 0;color:var(--muted)}.filter-group label span{margin-left:auto}.filter-group input{accent-color:var(--navy)}
.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px 15px}.product-card{min-width:0}.product-image{position:relative;aspect-ratio:4/5;background:#eee5d6;overflow:hidden}.product-image img{width:100%;height:100%;object-fit:cover;display:block;transition:.35s}.product-card:hover .product-image img{transform:scale(1.025)}.badge{position:absolute;top:10px;left:10px;background:var(--navy);color:white;font-size:9px;letter-spacing:.1em;padding:6px 8px}.wish{position:absolute;right:8px;top:8px;width:36px;height:36px;border:0;border-radius:50%;background:rgba(255,253,248,.9);color:var(--navy)}.product-info{padding:13px 2px}.product-meta{font-size:10px;color:var(--gold-dark);text-transform:uppercase;letter-spacing:.08em}.product-title{font-family:var(--display);font-size:23px;line-height:1.05;color:var(--navy);margin:5px 0}.rating{font-size:11px;color:var(--muted)}.price-row{display:flex;align-items:center;gap:9px;margin-top:9px}.price{font-weight:700;color:var(--navy);font-size:14px}.old-price{text-decoration:line-through;color:#a2a09a;font-size:11px}.add-btn{width:100%;margin-top:11px;border:1px solid var(--navy);background:transparent;color:var(--navy);height:38px;font-size:11px;font-weight:700}.add-btn:hover{background:var(--navy);color:#fff}
.story-banner{display:grid;grid-template-columns:1.3fr .7fr;gap:40px;background:var(--navy);color:#fff;max-width:none;padding-left:max(28px,calc((100% - 1184px)/2));padding-right:max(28px,calc((100% - 1184px)/2))}.story-banner .eyebrow{color:#d2b582}.story-banner h2{color:#f8f0e2;max-width:720px}.story-banner p{max-width:690px;color:#d8dedc}.quote-card{border-left:1px solid rgba(241,231,213,.35);padding:40px}.quote-card span{font-family:var(--display);font-size:70px;color:var(--gold);line-height:.5}.quote-card p{font-family:var(--display);font-size:31px;line-height:1.1;color:#fff}.quote-card small{color:#c4cbc8}
.newsletter{display:flex;justify-content:space-between;gap:40px;align-items:center}.newsletter p:not(.eyebrow){color:var(--muted);margin:10px 0}.newsletter form{display:flex;min-width:min(100%,470px)}.newsletter input{height:48px;flex:1;border:1px solid var(--line);background:var(--white);padding:0 14px;outline:0}.newsletter input:focus{border-color:var(--gold-dark)}.newsletter .btn{height:48px}
footer{background:#172d40;color:#dbe2df;padding:65px max(28px,calc((100% - 1184px)/2));display:grid;grid-template-columns:2fr repeat(3,1fr);gap:35px;position:relative}.footer-brand img{width:92px;height:92px;object-fit:contain;object-position:center;border-radius:50%;background:var(--cream);border:1px solid var(--gold);padding:4px;display:block;filter:none}.footer-brand p{font-size:11px;color:#b9c3c0}.footer-brand h4,footer h4{color:#fff;font-size:11px;letter-spacing:.1em;text-transform:uppercase}.footer-brand~div{display:flex;flex-direction:column;gap:9px}.footer-brand~div a{font-size:12px;color:#b9c3c0}.copyright{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.12);padding-top:20px;font-size:10px;color:#9eaaa6}
.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,120px);background:var(--navy);color:#fff;padding:12px 18px;font-size:12px;box-shadow:var(--shadow);transition:.25s;z-index:100}.toast.show{transform:translate(-50%,0)}
@media(max-width:980px){.hero{grid-template-columns:1fr 1fr;gap:35px}.product-grid{grid-template-columns:repeat(3,1fr)}.collection-grid{grid-auto-columns:minmax(245px,42%)}}
@media(max-width:720px){.announcement{font-size:10px}.header-main{height:68px;padding:0 16px;gap:10px}.mobile-menu{display:block}.brand{width:54px;height:54px;flex:0 0 54px}.main-nav{display:none}.header-actions{margin-left:auto}.icon-btn{min-width:38px}.cart-btn{font-size:0;border-left:0;padding-left:0}.cart-btn span{font-size:10px}.hero{display:flex;flex-direction:column;padding:48px 20px 55px;align-items:stretch}.hero h1{font-size:58px}.hero-text{font-size:15px}.hero-art{order:-1}.arch-frame{max-width:330px}.arch-overlay{padding:28px}.arch-overlay strong{font-size:28px}.trust-strip{grid-template-columns:1fr 1fr;margin:0 20px}.trust-strip div{padding:17px 14px}.trust-strip div:nth-child(2){border-right:0}.trust-strip div:nth-child(3),.trust-strip div:nth-child(4){border-top:1px solid var(--line)}.section{padding:65px 20px}.section-heading{align-items:start;gap:15px}.section-heading h2,.story-banner h2,.newsletter h2{font-size:40px}.shop-layout{grid-template-columns:1fr}.filters{display:none}.product-grid{grid-template-columns:repeat(2,1fr);gap:25px 12px}.product-title{font-size:20px}.collection-grid{grid-auto-flow:column;grid-auto-columns:calc((100% - 12px)/2);grid-template-columns:none}.collection-card{min-height:190px}.collection-card h3{margin-top:65px;font-size:26px}.story-banner{grid-template-columns:1fr;padding:60px 20px}.quote-card{border-left:0;border-top:1px solid rgba(241,231,213,.35);padding:30px 0 0}.newsletter{display:block}.newsletter form{margin-top:25px}footer{grid-template-columns:1fr 1fr;padding:50px 20px}.footer-brand{grid-column:1/-1}}
@media(max-width:420px){.hero h1{font-size:48px}.product-grid{grid-template-columns:1fr 1fr}.collection-grid{grid-auto-columns:82%}.sort-wrap label{display:none}.section-heading{flex-direction:column}.newsletter form{display:block}.newsletter input,.newsletter .btn{width:100%}.newsletter .btn{margin-top:8px}}

/* Checkout and business-readiness pages */
.checkout-page,.checklist-page{min-height:100vh}.checkout-header .header-main{justify-content:space-between}.checkout-lock{font-size:11px;color:var(--muted);letter-spacing:.04em}.checkout-wrap,.checklist-wrap{max-width:1080px;margin:0 auto;padding:54px 28px 80px}.checkout-intro{margin-bottom:34px}.checkout-intro h1{font-family:var(--display);font-size:clamp(44px,6vw,66px);line-height:.95;color:var(--navy);margin:0 0 12px}.checkout-intro>p:last-child{color:var(--muted);margin:0;max-width:650px}.checkout-columns{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:24px;align-items:start}.checkout-panel{background:rgba(255,253,248,.9);border:1px solid var(--line);padding:26px;box-shadow:0 10px 28px rgba(30,61,88,.04)}.checkout-panel h2,.checklist-group h2{font-family:var(--display);font-size:29px;color:var(--navy);margin:0 0 20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid label{display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:700;color:var(--navy);letter-spacing:.025em}.form-grid input,.form-grid textarea{width:100%;border:1px solid var(--line);background:#fffdf8;min-height:45px;padding:11px 12px;font:400 13px var(--sans);color:var(--ink);outline:0;border-radius:0}.form-grid textarea{resize:vertical}.form-grid input:focus,.form-grid textarea:focus{border-color:var(--gold-dark);box-shadow:0 0 0 2px rgba(184,155,111,.12)}.full-field{grid-column:1/-1}.checkout-panel h2.subhead{font-size:25px;margin:30px 0 12px}.payment-option{display:flex;align-items:flex-start;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);cursor:pointer}.payment-option input{margin-top:5px;accent-color:var(--navy)}.payment-option span{display:flex;flex-direction:column;gap:3px}.payment-option strong{font-size:13px;color:var(--navy)}.payment-option small{font-size:11px;color:var(--muted);line-height:1.5}.prototype-notice{background:#f4ecdd;border-left:3px solid var(--gold-dark);padding:13px 15px;margin:22px 0}.prototype-notice strong{font-size:12px;color:var(--navy)}.prototype-notice p{font-size:11px;color:var(--muted);margin:4px 0 0}.place-order{width:100%;border:0}.place-order:disabled{opacity:.45;cursor:not-allowed}.form-message{display:none;font-size:12px;line-height:1.6;padding:12px;background:#edf1eb;color:#33483b}.form-message.visible{display:block}.order-panel{position:sticky;top:115px}.order-panel h2{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.order-panel h2 span{font:500 11px var(--sans);color:var(--muted)}.order-item{display:grid;grid-template-columns:82px 1fr;gap:13px;padding:15px 0;border-bottom:1px solid var(--line)}.order-item img{width:82px;height:100px;object-fit:cover;background:var(--cream)}.order-item-info{display:flex;flex-direction:column;align-items:flex-start;gap:5px}.order-item-info>strong:first-child{font-family:var(--display);font-size:19px;line-height:1.05;color:var(--navy)}.order-item-info small{font-size:10px;color:var(--muted)}.order-item-info>strong:nth-child(3){font-size:12px}.quantity-control{display:flex;align-items:center;gap:10px;margin-top:5px}.quantity-control button{border:1px solid var(--line);background:transparent;color:var(--navy);min-width:25px;height:25px}.quantity-control span{font-size:12px}.quantity-control .remove-item{border:0;width:auto;font-size:10px;color:var(--rust)}.totals{margin-top:20px}.totals>div{display:flex;justify-content:space-between;gap:15px;font-size:12px;color:var(--muted);margin:13px 0}.totals strong{color:var(--navy);text-align:right}.totals .total-line{border-top:1px solid var(--line);padding-top:17px;margin-top:18px;font-size:14px;color:var(--navy);font-weight:700}.totals .total-line strong{font-size:18px}.order-note{font-size:10px;color:var(--muted);line-height:1.6;margin-top:20px}.empty-cart{padding:15px 0}.empty-cart p{font-family:var(--display);font-size:23px;color:var(--navy)}.checkout-back{text-align:center;margin:30px 0 0;font-size:12px;color:var(--navy)}.checkout-back a{text-decoration:underline;text-decoration-color:var(--gold)}.checkout-footer{display:flex;justify-content:center;align-items:center;gap:26px;background:#172d40;color:#dbe2df;padding:24px;font-size:11px}.checklist-wrap{max-width:980px}.progress-card{border:1px solid var(--line);background:rgba(255,253,248,.85);padding:20px 22px;margin:0 0 26px}.progress-top{display:flex;justify-content:space-between;gap:15px;color:var(--navy);font-size:12px}.progress-track{height:7px;background:var(--cream);margin:14px 0 10px;overflow:hidden}.progress-track span{display:block;height:100%;width:0;background:var(--navy);transition:width .2s}.text-button{padding:0;border:0;background:transparent;color:var(--gold-dark);font-size:11px;text-decoration:underline}.checklist-groups{display:grid;grid-template-columns:1fr 1fr;gap:18px}.checklist-group{padding:24px;background:rgba(255,253,248,.88);border:1px solid var(--line)}.checklist-group h2{font-size:26px;margin-bottom:5px}.checklist-group>p{font-size:11px;color:var(--muted);margin:0 0 17px}.checklist-group label{display:flex;align-items:flex-start;gap:10px;border-top:1px solid #e9e1d4;padding:12px 0;font-size:12px;color:var(--ink);line-height:1.5;cursor:pointer}.checklist-group label input{accent-color:var(--navy);margin-top:4px;flex:0 0 auto}.checklist-group label:has(input:checked){color:var(--muted);text-decoration:line-through;text-decoration-color:#b5a58b}.checklist-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}.checklist-actions .btn{cursor:pointer}.checklist-footnote{font-size:10px;color:var(--muted);line-height:1.6;margin-top:22px;max-width:760px}
@media(max-width:760px){.checkout-wrap,.checklist-wrap{padding:38px 18px 55px}.checkout-columns{grid-template-columns:1fr}.order-panel{position:static;grid-row:1}.checkout-panel{padding:20px}.checkout-lock{display:none}.form-grid{grid-template-columns:1fr}.full-field{grid-column:auto}.checklist-groups{grid-template-columns:1fr}.checkout-footer{flex-wrap:wrap;gap:14px}.checklist-actions .btn{width:100%}}

/* added: hidden attribute support for dynamic checkout parts */
[hidden]{display:none!important}

/* book detail page */
.book-link{color:inherit;text-decoration:none}.book-link:hover{color:var(--gold-dark)}
.book-detail{max-width:var(--max);margin:0 auto;padding:36px 20px 60px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:48px}
.book-gallery .book-main{background:var(--white);border:1px solid var(--line);padding:18px;display:flex;justify-content:center}
.book-gallery .book-main img{max-width:100%;max-height:520px;object-fit:contain}
.book-thumbs{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.book-thumbs button{border:1px solid var(--line);background:var(--white);padding:4px;width:76px;height:96px}
.book-thumbs button.on{border-color:var(--gold-dark);box-shadow:0 0 0 1px var(--gold-dark)}
.book-thumbs img{width:100%;height:100%;object-fit:contain}
.book-info h1{font-family:var(--display);font-size:clamp(30px,4vw,46px);color:var(--navy);line-height:1.05;margin:6px 0 14px;font-weight:600}
.book-price{display:flex;gap:14px;align-items:baseline;margin:10px 0 6px;font-size:26px;color:var(--navy)}
.book-price s{font-size:16px;color:var(--muted)}
.book-stock{font-size:13px;color:var(--sage);margin-bottom:16px}
.book-desc p{margin:0 0 12px;color:#3d4a4d}
.book-specs{width:100%;border-collapse:collapse;margin:20px 0;font-size:14px}
.book-specs th{text-align:left;width:42%;padding:10px 0;color:var(--navy);font-weight:600;border-bottom:1px solid var(--line)}
.book-specs td{padding:10px 0;border-bottom:1px solid var(--line)}
@media(max-width:760px){.book-detail{grid-template-columns:1fr;gap:24px}}
