@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Italiana&family=Libre+Baskerville:wght@400;700&family=Montserrat:wght@600&family=Sacramento&display=swap');

:root { --ink:#082114; --muted:#646e56; --cream:#fffdf0; --paper:#fffaf1; --rose:#b75e5c; --rose-dark:#8b4545; --blush:#eadbd2; --sage:#646e56; --line:#ded8bd; --gold:#9f9469; --shadow:0 22px 60px rgba(8,33,20,.13); }
* { box-sizing:border-box; }
[hidden] { display:none!important; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--cream); font-family:"DM Sans",sans-serif; }
button,input,select,textarea { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
a { color:inherit; }
.site-header { height:98px; max-width:1260px; margin:auto; padding:0 30px; display:flex; align-items:center; justify-content:space-between; position:relative; z-index:10; }
.brand { display:flex; align-items:center; text-decoration:none; }
.brand-logo { display:block; width:132px; height:auto; }
nav { display:flex; gap:28px; align-items:center; }
nav a { text-decoration:none; font-size:14px; font-weight:600; }
.nav-button { padding:12px 18px; color:white; border-radius:999px; background:var(--rose); }
.hero { max-width:1260px; min-height:650px; margin:auto; padding:55px 30px 90px; display:grid; grid-template-columns:1.02fr .98fr; align-items:center; gap:20px; }
.hero-copy { position:relative; z-index:2; }
.eyebrow { display:inline-block; color:var(--rose-dark); font-size:11px; letter-spacing:.2em; text-transform:uppercase; font-weight:700; }
h1,h2 { font-family:"Italiana",serif; font-weight:400; margin:0; }
h1 { max-width:660px; font-size:clamp(48px,5.3vw,77px); line-height:1.01; letter-spacing:-.035em; margin-top:18px; }
h1 em { color:var(--rose); font-weight:400; }
.hero-copy > p { max-width:585px; color:var(--muted); font-size:17px; line-height:1.7; margin:25px 0 28px; }
.hero-actions { display:flex; align-items:center; gap:28px; }
.primary-button,.submit-button { border:0; text-decoration:none; color:white; background:var(--rose); border-radius:6px; display:inline-flex; gap:28px; align-items:center; justify-content:center; padding:16px 22px; font-weight:700; cursor:pointer; box-shadow:0 12px 25px rgba(183,94,92,.22); }
.primary-button:hover,.submit-button:hover { background:var(--rose-dark); transform:translateY(-1px); }
.price-note strong,.price-note small { display:block; }
.price-note strong { font-size:15px; }
.price-note small { color:var(--muted); margin-top:2px; }
.trust-row { margin-top:30px; padding-top:22px; border-top:1px solid var(--line); display:flex; gap:25px; color:var(--sage); font-size:12px; font-weight:600; }
.hero-art { position:relative; height:530px; }
.wash { position:absolute; border-radius:48% 52% 61% 39% / 51% 39% 61% 49%; filter:blur(1px); opacity:.8; }
.wash-one { width:510px; height:460px; right:0; top:10px; background:#efddd7; transform:rotate(-6deg); }
.wash-two { width:270px; height:260px; left:0; bottom:20px; background:#dfe4d5; transform:rotate(13deg); }
.journal-stack { position:absolute; width:254px; }
.back-journal { left:43px; top:87px; transform:rotate(-11deg); }
.front-journal { right:55px; top:35px; transform:rotate(8deg); z-index:2; }
.handmade-note { position:absolute; right:0; bottom:35px; z-index:4; width:108px; height:108px; border-radius:50%; display:grid; place-content:center; text-align:center; background:var(--paper); transform:rotate(-7deg); box-shadow:var(--shadow); border:1px solid var(--line); }
.handmade-note span { color:var(--muted); font-size:10px; }
.handmade-note strong { display:block; color:var(--rose-dark); font-family:"Sacramento",cursive; font-size:21px; }
.journal-cover { width:100%; aspect-ratio:6.2/9.2; border-radius:4px 11px 11px 4px; position:relative; overflow:hidden; background:var(--a); box-shadow:-10px 16px 24px rgba(8,33,20,.22), inset -7px 0 9px rgba(255,255,255,.16); border:1px solid rgba(8,33,20,.2); }
.product-mockup { width:100%; aspect-ratio:6.2/9.2; position:relative; overflow:hidden; border-radius:10px; background:#f2eddf; box-shadow:0 16px 30px rgba(8,33,20,.19); }
.product-mockup img { width:100%; height:100%; display:block; object-fit:cover; }
.custom-cover-placeholder { width:100%; aspect-ratio:6.2/9.2; position:relative; overflow:hidden; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; padding:35px; text-align:center; color:var(--ink); border:1px dashed rgba(8,33,20,.35); border-radius:8px; background:linear-gradient(145deg,#fffdf0,#e5e7d9); box-shadow:0 16px 30px rgba(8,33,20,.19); }
.custom-cover-placeholder > span { color:var(--rose-dark); font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }.custom-cover-placeholder > strong { font-family:"Italiana",serif; font-size:29px; font-weight:400; }.custom-cover-placeholder > small { max-width:210px; color:var(--muted); font-size:11px; line-height:1.5; }
.product-mockup .personal-name { padding:3px 7px; border-radius:4px; }
.product-mockup.placement-top .personal-name { top:6.5%; bottom:auto; left:10%; right:7%; text-align:center; }
.product-mockup.placement-bottom .personal-name { top:auto; bottom:5.5%; left:10%; right:7%; text-align:center; }
.product-mockup.placement-lower-right .personal-name { top:auto; bottom:6%; left:auto; right:6%; width:43%; text-align:right; }
.product-mockup.placement-label .personal-name { top:58%; bottom:auto; left:27%; right:27%; text-align:center; }
.product-mockup.placement-lower-right .personal-name.name-script,.product-mockup.placement-lower-right .personal-name.name-classic,.product-mockup.placement-lower-right .personal-name.name-bold { font-size:13px; }
.product-mockup.placement-top .personal-name.with-contrast,.product-mockup.placement-bottom .personal-name.with-contrast { left:50%; right:auto; width:max-content; max-width:78%; transform:translateX(-50%); }
.product-mockup.placement-lower-right .personal-name.with-contrast { left:auto; right:6%; width:max-content; max-width:48%; transform:none; }
.product-mockup.clean-cover::before { content:""; position:absolute; inset:7px; z-index:2; border:1px dashed rgba(8,33,20,.48); border-radius:8px; pointer-events:none; }
.product-mockup.clean-cover::after { content:""; position:absolute; inset:0 auto 0 0; width:15px; z-index:3; background:linear-gradient(90deg,rgba(0,0,0,.42),rgba(255,255,255,.08),rgba(0,0,0,.18)); pointer-events:none; }
.journal-cover::after { content:""; position:absolute; left:13px; top:0; bottom:0; width:1px; background:rgba(255,255,255,.3); box-shadow:2px 0 4px rgba(0,0,0,.18); z-index:6; }
.spine { position:absolute; inset:0 auto 0 0; width:15px; z-index:5; background:linear-gradient(90deg,rgba(0,0,0,.2),rgba(255,255,255,.09),rgba(0,0,0,.14)); }
.spine span { display:none; }
.cover-art { position:absolute; inset:0; overflow:hidden; background:linear-gradient(145deg,var(--a),color-mix(in srgb,var(--b) 65%, white)); }
.cover-art::before,.cover-art::after { content:""; position:absolute; }
.cover-art::before { width:130%; height:43%; left:-14%; bottom:-6%; background:var(--b); border-radius:50% 45% 0 0; transform:rotate(-4deg); opacity:.9; }
.cover-art::after { width:90%; height:29%; left:13%; bottom:12%; background:color-mix(in srgb,var(--b) 70%, var(--a)); clip-path:polygon(0 100%,22% 36%,36% 72%,53% 12%,72% 68%,100% 30%,100% 100%); opacity:.9; }
.sun { position:absolute; width:94px; height:94px; border-radius:50%; top:11%; right:11%; background:var(--c); box-shadow:0 0 30px color-mix(in srgb,var(--c) 70%, transparent); }
.main-shape { position:absolute; z-index:2; background:var(--ink); }
.detail { position:absolute; z-index:3; }
.sparkles { position:absolute; top:9%; left:16%; color:var(--c); opacity:.8; letter-spacing:12px; }
.art-lighthouse .main-shape { width:23px; height:46%; bottom:16%; left:41%; clip-path:polygon(24% 0,76% 0,100% 100%,0 100%); background:#ebe1d5; }
.art-lighthouse .main-shape::before { content:""; position:absolute; width:38px; height:23px; left:-8px; top:-15px; background:var(--ink); clip-path:polygon(20% 28%,80% 28%,100% 100%,0 100%); }
.art-lighthouse .main-shape::after { content:""; position:absolute; width:9px; height:13px; left:7px; top:24px; background:var(--c); box-shadow:0 35px var(--c),0 70px var(--c); }
.art-lighthouse .detail-one { height:2px; width:78px; left:40%; top:27%; background:linear-gradient(90deg,var(--c),transparent); transform:rotate(-7deg); }
.art-mountain .far-shape { position:absolute; inset:0; background:linear-gradient(180deg,#ead8d3 0,#d9e4e4 45%,transparent 46%); }
.art-mountain .main-shape { width:100%; height:56%; left:0; bottom:8%; background:var(--b); clip-path:polygon(0 80%,15% 50%,24% 66%,43% 22%,55% 56%,70% 34%,100% 78%,100% 100%,0 100%); }
.art-mountain .main-shape::after { content:""; position:absolute; inset:44% 0 0; background:#314d43; clip-path:polygon(0 60%,10% 20%,15% 59%,25% 7%,32% 65%,41% 15%,50% 72%,62% 5%,70% 61%,80% 20%,86% 64%,96% 13%,100% 60%,100% 100%,0 100%); }
.art-hummingbird .sun { width:160px; height:160px; top:-14%; right:-23%; opacity:.6; }
.art-hummingbird .main-shape { width:67px; height:32px; left:35%; top:39%; background:var(--b); border-radius:60% 20% 60% 30%; transform:rotate(-18deg); }
.art-hummingbird .main-shape::before { content:""; position:absolute; width:55px; height:65px; left:5px; top:-43px; border-radius:90% 5% 90% 10%; background:color-mix(in srgb,var(--b) 70%,white); transform:rotate(16deg); }
.art-hummingbird .main-shape::after { content:""; position:absolute; width:58px; height:2px; left:57px; top:10px; background:var(--ink); transform:rotate(-13deg); transform-origin:left; }
.art-hummingbird .detail-one,.art-hummingbird .detail-two { width:62px; height:62px; border-radius:50%; border:13px dotted var(--c); bottom:6%; }
.art-hummingbird .detail-one { left:1%; }.art-hummingbird .detail-two { right:-5%; bottom:19%; border-color:#d98f9e; }
.art-cowgirl .cover-art::after { background:#436b84; }
.art-cowgirl .main-shape { width:52%; height:61%; left:24%; bottom:0; background:#493029; clip-path:polygon(40% 0,60% 0,67% 15%,88% 27%,69% 35%,76% 100%,25% 100%,31% 35%,9% 27%,34% 15%); }
.art-cowgirl .main-shape::before { content:""; position:absolute; width:100%; height:15%; left:0; top:3%; background:#493029; clip-path:polygon(0 55%,36% 41%,42% 0,58% 0,64% 41%,100% 55%,65% 88%,35% 88%); }
.art-sunflower .main-shape { width:100px; height:100px; border-radius:50%; left:24%; top:27%; background:radial-gradient(circle,#66402c 0 24%,var(--c) 25% 37%,transparent 39%); }
.art-sunflower .main-shape::before,.art-sunflower .main-shape::after { content:""; position:absolute; inset:0; background:var(--c); opacity:.9; clip-path:polygon(50% 0,60% 31%,82% 8%,69% 39%,100% 35%,70% 51%,94% 67%,64% 61%,72% 93%,53% 68%,39% 100%,40% 66%,9% 86%,31% 57%,0 49%,34% 43%,12% 16%,42% 34%); }
.art-sunflower .main-shape::after { transform:rotate(24deg); }
.art-mushroom .main-shape { width:130px; height:81px; left:22%; top:35%; border-radius:70% 70% 12% 12%; background:var(--b); box-shadow:inset 0 -10px rgba(75,35,28,.15); }
.art-mushroom .main-shape::before { content:""; position:absolute; width:55px; height:83px; left:38px; top:50px; background:#e9d7bf; border-radius:12px 12px 3px 3px; }
.art-mushroom .main-shape::after { content:"•  •  •"; position:absolute; color:#f3dbc6; letter-spacing:12px; left:22px; top:12px; }
.art-moth .sun { background:transparent; border:1px solid var(--c); box-shadow:0 0 30px var(--c); }
.art-moth .main-shape { width:12px; height:75px; left:49%; top:37%; border-radius:50%; background:var(--c); }
.art-moth .main-shape::before,.art-moth .main-shape::after { content:""; position:absolute; width:73px; height:85px; top:-12px; background:color-mix(in srgb,var(--b) 75%,var(--c)); }
.art-moth .main-shape::before { right:8px; border-radius:90% 10% 70% 20%; transform:rotate(-16deg); }.art-moth .main-shape::after { left:8px; border-radius:10% 90% 20% 70%; transform:rotate(16deg); }
.art-grace .main-shape,.art-snark .main-shape { display:none; }
.art-quote { position:absolute; z-index:4; top:37%; left:13%; right:9%; color:var(--ink); text-align:center; font-family:"Italiana",serif; font-size:26px; line-height:1.05; }
.art-quote em { font-family:"Sacramento",cursive; color:var(--rose-dark); font-size:25px; }
.snark-copy { top:33%; color:white; text-shadow:0 1px 3px rgba(0,0,0,.3); }.snark-copy em { color:white; }
.art-turtle .main-shape { width:89px; height:64px; left:33%; top:38%; border-radius:50%; background:var(--b); transform:rotate(-12deg); }
.art-turtle .main-shape::before { content:""; position:absolute; width:29px; height:22px; right:-20px; top:20px; border-radius:50%; background:var(--b); }
.art-turtle .main-shape::after { content:""; position:absolute; inset:9px 14px; border:2px solid color-mix(in srgb,var(--c) 65%,white); border-radius:50%; background:repeating-linear-gradient(45deg,transparent 0 9px,rgba(255,255,255,.25) 10px 11px); }
.cover-sheen { position:absolute; inset:0; z-index:7; pointer-events:none; background:linear-gradient(110deg,rgba(255,255,255,.2),transparent 25%,transparent 72%,rgba(255,255,255,.11)); }
.personal-name { position:absolute; z-index:8; left:12%; right:7%; bottom:7%; text-align:center; text-shadow:0 1px 3px rgba(0,0,0,.28); line-height:1.05; overflow:visible; text-overflow:clip; white-space:normal; overflow-wrap:anywhere; }
.name-script { font-family:"Sacramento",cursive; font-size:18px; }.name-classic { font-family:"Libre Baskerville",serif; font-size:18px; letter-spacing:.12em; text-transform:uppercase; }.name-bold { font-family:"Montserrat",sans-serif; font-size:18px; font-weight:600; }
.name-script.name-medium,.name-classic.name-medium,.name-bold.name-medium { font-size:16px; }.name-classic.name-medium { letter-spacing:.08em; }
.name-script.name-long,.name-classic.name-long,.name-bold.name-long { font-size:14px; }.name-classic.name-long { letter-spacing:.05em; }
.placement-lower-right .personal-name.name-script.name-medium,.placement-lower-right .personal-name.name-classic.name-medium,.placement-lower-right .personal-name.name-bold.name-medium { font-size:12px; }
.placement-lower-right .personal-name.name-script.name-long,.placement-lower-right .personal-name.name-classic.name-long,.placement-lower-right .personal-name.name-bold.name-long { font-size:10px; }
.color-gold { color:#e1bd74; }.color-cream { color:#fff9ec; }.color-dark { color:#082114; text-shadow:0 1px 2px rgba(255,255,255,.35); }
.personal-name.with-contrast { padding:5px 10px 6px; border:1px solid rgba(120,111,68,.22); border-radius:7px; box-shadow:0 2px 7px rgba(8,33,20,.14); backdrop-filter:blur(1.5px); -webkit-backdrop-filter:blur(1.5px); }
.personal-name.with-contrast:not(.name-long) { white-space:nowrap; }
.personal-name.with-contrast.color-gold,.personal-name.with-contrast.color-cream { background:rgba(8,33,20,.74); border-color:rgba(255,249,236,.26); text-shadow:0 1px 2px rgba(0,0,0,.4); }
.personal-name.with-contrast.color-dark { background:rgba(255,253,240,.76); text-shadow:none; }
.placement-lower-right .personal-name.with-contrast { padding:4px 7px 5px; border-radius:5px; }
.portfolio-mockup { aspect-ratio:7/9; border-radius:3px 12px 12px 3px; border:1px solid rgba(8,33,20,.25); box-shadow:-13px 17px 28px rgba(8,33,20,.24); }
.portfolio-mockup::after { content:""; position:absolute; inset:0 auto 0 0; width:14%; z-index:4; background:linear-gradient(90deg,#050505,#292929 55%,#090909); box-shadow:2px 0 4px rgba(0,0,0,.28); pointer-events:none; }
.portfolio-mockup img { padding-left:11%; }
.portfolio-mockup.clean-cover::before { left:12%; }
.portfolio-mockup .personal-name { z-index:8; left:18%; }
.portfolio-mockup.placement-top .personal-name,.portfolio-mockup.placement-bottom .personal-name { left:55%; right:auto; transform:translateX(-50%); width:max-content; max-width:69%; }
.portfolio-mockup.placement-lower-right .personal-name { right:6%; left:auto; transform:none; }
.product-section { max-width:1260px; margin:auto; padding:30px 30px 95px; }
.product-section-heading { display:flex; align-items:end; justify-content:space-between; gap:45px; margin-bottom:30px; }
.product-section-heading > div { max-width:710px; }
.product-section-heading > p { max-width:420px; margin:0 0 5px; color:var(--muted); font-size:14px; line-height:1.7; }
.product-choice-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.product-choice-card { min-width:0; display:grid; grid-template-columns:minmax(190px,.88fr) minmax(0,1.12fr); overflow:hidden; border:1px solid var(--line); border-radius:12px; background:var(--paper); box-shadow:0 14px 38px rgba(8,33,20,.08); }
.product-choice-visual { min-height:360px; display:grid; place-items:center; padding:32px; background:#e6e9dc; overflow:hidden; }
#product-journal-image { width:min(190px,80%); transform:rotate(-4deg); }
.portfolio-product-images { position:relative; padding:22px; background:#f0e9df; }
.portfolio-product-images img { display:block; position:absolute; max-width:none; height:auto; object-fit:contain; filter:drop-shadow(0 12px 18px rgba(8,33,20,.14)); }
.portfolio-product-images img:first-child { width:68%; right:7%; top:11%; z-index:2; }
.portfolio-product-images img:last-child { width:76%; left:-5%; bottom:4%; opacity:.97; }
.product-choice-copy { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:35px 30px; }
.product-choice-copy > span { color:var(--rose-dark); font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.product-choice-copy h3 { margin:7px 0 10px; font:400 31px/1.1 "Italiana",serif; }
.product-choice-copy p { margin:0; color:var(--muted); font-size:13px; line-height:1.6; }
.product-choice-price { margin:20px 0; }.product-choice-price strong,.product-choice-price small { display:block; }.product-choice-price strong { font-size:17px; }.product-choice-price small { margin-top:3px; color:var(--muted); font-size:11px; }
.product-choice-copy button { min-height:48px; padding:12px 16px; border:0; border-radius:5px; background:var(--ink); color:white; cursor:pointer; font-weight:700; }.product-choice-copy button span { margin-left:15px; }.product-choice-copy button:hover { background:#123d29; transform:translateY(-1px); }
.future-products-note { margin:22px auto 0; max-width:780px; color:var(--muted); font-size:12px; line-height:1.6; text-align:center; }
.gallery-section { background:var(--paper); padding:90px max(30px,calc((100vw - 1200px)/2)); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.section-heading { display:flex; justify-content:space-between; gap:30px; align-items:end; }
h2 { font-size:clamp(38px,4vw,57px); line-height:1.1; margin-top:10px; }
.search-box { width:min(350px,100%); height:48px; background:var(--cream); border:1px solid var(--line); display:flex; align-items:center; padding:0 14px; border-radius:6px; }
.search-box span { color:var(--rose-dark); font-size:25px; transform:rotate(-20deg); }
.search-box input { border:0; outline:0; background:transparent; width:100%; padding:0 9px; }
.category-row { display:flex; flex-wrap:wrap; gap:8px; margin:35px 0 12px; padding-bottom:4px; }
.category-row button { white-space:nowrap; border:1px solid var(--line); background:transparent; color:var(--muted); padding:9px 14px; border-radius:999px; cursor:pointer; font-size:12px; font-weight:600; }
.category-row button.active,.category-row button:hover { background:var(--ink); color:white; border-color:var(--ink); }
.result-count { color:var(--muted); font-size:12px; margin:18px 0; }
.design-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:34px 22px; }
.design-card { min-width:0; }
.cover-button { display:block; width:100%; padding:16px 23px 19px; background:#f0ead9; border:0; border-radius:8px; cursor:pointer; transition:.2s ease; }
.cover-button.photo-cover { padding:0; overflow:hidden; background:transparent; }
.cover-button.photo-cover .product-mockup { width:100%; margin:0; }
.design-card:nth-child(3n+2) .cover-button { background:#e5e9dd; }.design-card:nth-child(3n) .cover-button { background:#f4e5df; }
.cover-button:hover { transform:translateY(-4px); box-shadow:var(--shadow); }
.cover-button .journal-cover { width:82%; margin:auto; }
.card-info { display:flex; justify-content:space-between; align-items:end; gap:10px; padding-top:15px; }
.card-info span { color:var(--rose-dark); font-size:10px; letter-spacing:.1em; text-transform:uppercase; }
.card-info h3 { font-family:"Italiana",serif; font-weight:400; font-size:21px; margin:5px 0 3px; }
.card-info p { color:var(--muted); font-size:11px; margin:0; }
.card-info button { border:0; background:transparent; color:var(--rose-dark); cursor:pointer; font-size:11px; font-weight:700; white-space:nowrap; padding:7px 0; }
.load-more-wrap { display:flex; justify-content:center; padding-top:42px; }.load-more-wrap[hidden] { display:none; }
.load-more-wrap button { min-width:230px; padding:14px 24px; border:1px solid var(--ink); border-radius:5px; background:transparent; color:var(--ink); cursor:pointer; font-weight:700; transition:.2s ease; }.load-more-wrap button:hover { background:var(--ink); color:white; transform:translateY(-2px); }.load-more-wrap span { margin-left:12px; color:var(--rose-dark); }
.empty-state { padding:70px 20px; text-align:center; color:var(--muted); border:1px dashed var(--line); border-radius:8px; }.empty-state strong { color:var(--ink); font-family:"Italiana",serif; font-size:28px; }.empty-state button { border:0; color:var(--rose-dark); background:transparent; font-weight:700; cursor:pointer; }
.custom-design-callout { margin-top:48px; padding:28px 32px; display:flex; align-items:center; justify-content:space-between; gap:28px; border:1px solid var(--line); border-radius:10px; background:linear-gradient(120deg,#f3f1e3,#fffdf0); }.custom-design-callout h3 { margin:5px 0 6px; font-family:"Italiana",serif; font-size:29px; font-weight:400; }.custom-design-callout p { margin:0; color:var(--muted); font-size:13px; line-height:1.5; }.custom-request-button { flex:none; padding:14px 18px; border:0; border-radius:5px; background:var(--sage); color:white; cursor:pointer; font-weight:700; }.custom-request-button span { margin-left:14px; }
.order-section { max-width:1200px; margin:auto; padding:100px 30px; }
.order-intro { max-width:700px; text-align:center; margin:0 auto 45px; }.order-intro p { color:var(--muted); line-height:1.7; }
.request-paths { margin-top:18px; display:flex; justify-content:center; gap:9px; flex-wrap:wrap; }.request-paths a,.request-paths button { padding:11px 15px; border:1px solid var(--line); border-radius:5px; background:var(--cream); color:var(--rose-dark); font:700 11px "DM Sans",sans-serif; text-decoration:none; cursor:pointer; }.request-paths button { border-color:var(--rose); background:#fff4ef; }
.order-workspace { display:grid; grid-template-columns:.86fr 1.14fr; background:var(--paper); border:1px solid var(--line); border-radius:12px; overflow:hidden; box-shadow:var(--shadow); }
.preview-panel { background:#e5e7d9; padding:115px 34px 34px; display:flex; flex-direction:column; align-items:center; justify-content:flex-start; position:relative; min-height:720px; }
.preview-topline { position:absolute; top:25px; left:27px; right:27px; display:flex; justify-content:space-between; color:var(--muted); font-size:11px; }.preview-topline span { color:var(--ink); font-weight:700; }
#live-cover { width:100%; display:flex; justify-content:center; align-items:center; }
.journal-large { width:min(310px,75%); box-shadow:-15px 24px 40px rgba(8,33,20,.27), inset -7px 0 9px rgba(255,255,255,.16); }
.journal-large .personal-name.name-script,.journal-large .personal-name.name-classic,.journal-large .personal-name.name-bold { font-size:23px; }
.journal-large .personal-name.name-script.name-medium,.journal-large .personal-name.name-classic.name-medium,.journal-large .personal-name.name-bold.name-medium { font-size:20px; }
.journal-large .personal-name.name-script.name-long,.journal-large .personal-name.name-classic.name-long,.journal-large .personal-name.name-bold.name-long { font-size:17px; }
.journal-large.placement-lower-right .personal-name.name-script,.journal-large.placement-lower-right .personal-name.name-classic,.journal-large.placement-lower-right .personal-name.name-bold { font-size:15px; }
.journal-large.placement-lower-right .personal-name.name-script.name-medium,.journal-large.placement-lower-right .personal-name.name-classic.name-medium,.journal-large.placement-lower-right .personal-name.name-bold.name-medium { font-size:13px; }
.journal-large.placement-lower-right .personal-name.name-script.name-long,.journal-large.placement-lower-right .personal-name.name-classic.name-long,.journal-large.placement-lower-right .personal-name.name-bold.name-long { font-size:11px; }
.change-design { margin-top:24px; border:0; border-bottom:1px solid var(--rose-dark); color:var(--rose-dark); background:transparent; cursor:pointer; font-weight:700; font-size:12px; }
.order-form { padding:37px 44px; }
.selected-line,.total-line { display:flex; justify-content:space-between; align-items:center; padding-bottom:18px; margin-bottom:22px; border-bottom:1px solid var(--line); }.selected-line span { color:var(--muted); font-size:12px; }.selected-line strong { font-family:"Italiana",serif; font-size:20px; font-weight:400; }
.order-form label { display:block; position:relative; margin-bottom:19px; }.order-form label > span,.order-form legend { display:block; margin-bottom:7px; color:var(--ink); font-size:12px; font-weight:700; }.order-form label small { color:var(--muted); font-weight:400; margin-left:5px; }
.order-form input,.order-form select,.order-form textarea { width:100%; border:1px solid var(--line); border-radius:5px; padding:12px; background:var(--cream); outline:none; color:var(--ink); }.order-form input:focus,.order-form select:focus,.order-form textarea:focus { border-color:var(--rose); box-shadow:0 0 0 3px rgba(183,94,92,.12); }
.order-form label em { position:absolute; right:10px; top:38px; color:var(--muted); font-size:10px; font-style:normal; }
.order-form .field-help { display:block; color:var(--muted); font-size:10px; font-weight:400; margin:6px 0 0; }
.order-form .form-error { display:block; color:#a03f49; font-size:11px; margin-top:7px; }
.order-form .no-personalization-choice { display:flex; align-items:center; gap:9px; margin:-7px 0 20px; cursor:pointer; }
.order-form .no-personalization-choice input { width:18px; height:18px; margin:0; accent-color:var(--rose); }
.order-form .no-personalization-choice span { margin:0; color:var(--muted); font-weight:500; }
.order-form input:disabled { opacity:.55; cursor:not-allowed; }
.order-form fieldset { border:0; padding:0; margin:0 0 19px; }
.order-form .fieldset-help { margin:-2px 0 9px; color:var(--muted); font-size:10px; line-height:1.45; }
.product-type-options { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.product-type-options button { min-height:70px; padding:11px; border:1px solid var(--line); border-radius:6px; background:var(--cream); color:var(--ink); cursor:pointer; }
.product-type-options button.active { border:2px solid var(--rose); background:#fff4ef; color:var(--rose-dark); }
.product-type-options span,.product-type-options small { display:block; }.product-type-options span { font-size:12px; font-weight:700; }.product-type-options small { margin-top:4px; color:var(--muted); font-size:9px; }
.order-form .product-availability-note { margin-top:7px; color:#4f5949; font-size:11px; }
.option-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }.option-grid button { height:65px; border:1px solid var(--line); border-radius:5px; background:var(--cream); color:var(--ink); cursor:pointer; }.option-grid button.active { border:2px solid var(--rose); background:#fff4ef; }.option-grid button:disabled { opacity:.45; cursor:not-allowed; }.option-grid span,.option-grid small { display:block; }.option-grid small { color:var(--muted); font-size:9px; margin-top:4px; }.sample-script { font-family:"Sacramento",cursive; font-size:25px; }.sample-classic { font-family:"Libre Baskerville",serif; letter-spacing:.1em; }.sample-bold { font-family:"Montserrat",sans-serif; font-weight:600; }
.option-grid .sample-script,.option-grid .sample-classic,.option-grid .sample-bold { font-size:18px; }
.placement-options { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.placement-options.has-label { grid-template-columns:repeat(2,1fr); }
.placement-options button { min-height:54px; padding:8px; border:1px solid var(--line); border-radius:5px; background:var(--cream); color:var(--ink); cursor:pointer; font-size:11px; font-weight:700; }
.placement-options button.active { border:2px solid var(--rose); background:#fff4ef; color:var(--rose-dark); }
.placement-options button:disabled { opacity:.45; cursor:not-allowed; }
.background-options { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; }
.background-options button { min-height:57px; padding:8px; border:1px solid var(--line); border-radius:5px; background:var(--cream); color:var(--ink); cursor:pointer; }
.background-options button.active { border:2px solid var(--rose); background:#fff4ef; color:var(--rose-dark); }.background-options button:disabled { opacity:.45; cursor:not-allowed; }
.background-options span,.background-options small { display:block; }.background-options span { font-size:12px; font-weight:700; }.background-options small { margin-top:3px; color:var(--muted); font-size:9px; }
.custom-request-fields { margin:2px 0 20px; padding:18px; border:1px solid var(--line); border-radius:8px; background:#f3f1e3; }.custom-request-fields[hidden] { display:none; }.custom-request-note { margin-bottom:17px; }.custom-request-note strong { color:var(--rose-dark); font-family:"Italiana",serif; font-size:19px; font-weight:400; }.custom-request-note p { margin:5px 0 0; color:var(--muted); font-size:11px; line-height:1.5; }.custom-request-fields label:last-child { margin-bottom:0; }.order-form .current-file { color:var(--sage); font-weight:700; }
.insert-options { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.insert-options button { min-height:59px; padding:8px; border:1px solid var(--line); border-radius:5px; background:var(--cream); color:var(--ink); cursor:pointer; }
.insert-options button.active { border:2px solid var(--rose); background:#fff4ef; color:var(--rose-dark); }
.insert-options span,.insert-options small { display:block; }.insert-options span { font-size:12px; font-weight:700; }.insert-options small { margin-top:3px; color:var(--muted); font-size:9px; }
.insert-options button:focus-visible { outline:3px solid rgba(183,94,92,.25); outline-offset:2px; }
.order-form .insert-help { display:block; margin-top:7px; color:var(--muted); font-size:9px; line-height:1.45; }
.color-options { display:flex; gap:9px; }.color-options button { width:35px; height:35px; padding:4px; border-radius:50%; background:white; border:1px solid var(--line); cursor:pointer; }.color-options button.active { border:2px solid var(--rose); }.color-options i { display:block; width:100%; height:100%; border-radius:50%; }.swatch-gold i { background:var(--gold); }.swatch-cream i { background:#fff8e9; border:1px solid #e2dbcd; }.swatch-dark i { background:var(--ink); }
.basket-add-actions { display:flex; gap:9px; margin:2px 0 16px; }.add-request-item { flex:1; min-height:48px; padding:12px 16px; border:0; border-radius:5px; background:var(--rose); color:white; cursor:pointer; font-weight:700; display:flex; justify-content:center; gap:15px; align-items:center; }.add-request-item:hover { background:var(--rose-dark); }.cancel-edit { padding:10px 13px; border:1px solid var(--line); border-radius:5px; background:var(--cream); color:var(--rose-dark); cursor:pointer; font-weight:700; }
.order-form .basket-error { margin:-5px 0 16px; }
.request-basket { margin:0 0 25px; border:1px solid var(--line); border-radius:8px; background:#fffef7; overflow:hidden; }.basket-heading { display:flex; justify-content:space-between; align-items:center; gap:15px; padding:16px 17px; background:#f3f1e3; border-bottom:1px solid var(--line); }.basket-heading span { display:block; color:var(--muted); font-size:9px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }.basket-heading h3 { margin:3px 0 0; font-family:"Italiana",serif; font-size:21px; font-weight:400; }.basket-heading > strong { color:var(--rose-dark); font-size:11px; white-space:nowrap; }
.basket-empty { margin:0; padding:20px 17px; color:var(--muted); font-size:11px; text-align:center; }.basket-item { display:grid; grid-template-columns:64px minmax(0,1fr) auto; gap:13px; align-items:center; padding:14px 16px; border-bottom:1px solid var(--line); }.basket-item img,.custom-basket-thumbnail { width:64px; height:94px; object-fit:cover; border-radius:5px; border:1px solid var(--line); background:var(--cream); }.custom-basket-thumbnail { display:grid; place-items:center; padding:5px; color:var(--rose-dark); background:linear-gradient(145deg,#fffdf0,#e5e7d9); font-size:9px; font-weight:700; text-align:center; }.basket-item-copy { min-width:0; }.basket-item-copy > span { color:var(--rose-dark); font-size:9px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }.basket-item-copy h4 { margin:3px 0 5px; font-family:"Italiana",serif; font-size:19px; font-weight:400; }.basket-item-copy p,.basket-item-copy small { display:block; margin:0; color:var(--muted); font-size:10px; line-height:1.5; }.basket-item-copy small { margin-top:4px; overflow-wrap:anywhere; }.basket-item-actions { display:flex; flex-direction:column; gap:6px; }.basket-item-actions button { padding:6px 9px; border:1px solid var(--line); border-radius:4px; background:var(--cream); color:var(--rose-dark); cursor:pointer; font-size:9px; font-weight:700; }.basket-item-actions button:last-child { color:var(--muted); }
.basket-footer { display:flex; justify-content:space-between; align-items:center; gap:15px; padding:14px 16px; }.basket-footer > button { border:0; background:transparent; color:var(--rose-dark); cursor:pointer; font-size:10px; font-weight:700; }.basket-footer > div { text-align:right; }.basket-footer span { display:block; color:var(--muted); font-size:9px; }.basket-footer strong { display:block; margin-top:2px; color:var(--rose-dark); font-family:"Italiana",serif; font-size:22px; font-weight:400; }
.customer-divider { display:flex; align-items:center; gap:10px; margin:29px 0 20px; color:var(--muted); font-size:9px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }.customer-divider::before,.customer-divider::after { content:""; height:1px; flex:1; background:var(--line); }
.two-fields { display:grid; grid-template-columns:1fr 1fr; gap:12px; }.total-line { border-top:1px solid var(--line); border-bottom:0; padding:18px 0 0; margin-bottom:15px; }.total-line span { font-size:12px; font-weight:700; }.total-line small { display:block; color:var(--muted); font-weight:400; margin-top:3px; }.total-line strong { font-family:"Italiana",serif; color:var(--rose-dark); font-size:30px; font-weight:400; }
.checkout-choice { margin:18px 0 26px; padding:24px; border:1px solid #aebfac; border-radius:9px; background:#edf3ed; color:#222; }.checkout-choice .eyebrow { color:#8b2635; }.checkout-choice h3 { margin:6px 0 9px; color:#222; font-family:"Italiana",serif; font-size:29px; font-weight:400; }.checkout-choice > p { margin:0 0 15px; color:#222; font-size:16px; line-height:1.55; }.checkout-important-notice { display:block; margin:0 0 14px; padding:11px 13px; border-left:4px solid #8b2635; background:rgba(255,255,255,.63); color:#8b2635; font-size:15px; line-height:1.45; }.shopify-button { width:100%; min-height:54px; padding:14px 20px; border:0; border-radius:6px; display:flex; align-items:center; justify-content:center; gap:20px; color:white; background:var(--ink); box-shadow:0 12px 25px rgba(8,33,20,.17); cursor:pointer; font-weight:700; }.shopify-button:hover { background:#123d29; transform:translateY(-1px); }.shopify-button:disabled { cursor:not-allowed; opacity:.58; transform:none; box-shadow:none; }.purchase-note { display:block; margin:0 0 14px!important; color:#222!important; font-size:15px!important; line-height:1.5!important; text-align:left; }.purchase-error { margin-top:10px; }.request-option-note { margin:-8px 0 20px; color:#4e584a; font-size:13px; line-height:1.55; text-align:center; }
.submit-button { width:100%; background:transparent; color:var(--rose-dark); border:1px solid var(--rose); box-shadow:none; }.submit-button:hover { color:white; }.submit-button:disabled { cursor:wait; opacity:.72; transform:none; }.form-fineprint { color:var(--muted); text-align:center; font-size:10px; margin:8px 0 0; }.form-honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; opacity:0!important; pointer-events:none!important; }
.request-summary { margin:30px auto 0; max-width:770px; padding:25px; background:#edf3ed; border:1px solid #cddccb; border-radius:8px; }.request-summary > div { display:flex; gap:12px; align-items:center; }.summary-check { width:35px; height:35px; border-radius:50%; background:var(--sage); color:white; display:grid; place-items:center; }.request-summary strong { font-family:"Italiana",serif; font-size:23px; font-weight:400; }.request-summary p { color:var(--muted); font-size:12px; margin:3px 0; }.request-summary pre { white-space:pre-wrap; word-break:break-word; padding:15px; background:white; border-radius:5px; color:var(--muted); font:11px/1.55 "DM Sans",sans-serif; margin:18px 0 10px; }.request-summary button { border:0; border-radius:5px; padding:11px 17px; background:var(--sage); color:white; font-weight:700; cursor:pointer; }
footer { max-width:1200px; margin:auto; padding:35px 30px 55px; border-top:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; }.footer-brand .brand-logo { width:155px; }.footer-brand + p { color:var(--muted); font-family:"Sacramento",cursive; font-size:22px; }footer > a { color:var(--rose-dark); font-size:12px; font-weight:700; }
.modal-backdrop { position:fixed; inset:0; z-index:100; background:rgba(8,33,20,.66); backdrop-filter:blur(6px); display:grid; place-items:center; padding:20px; }
.preview-modal { width:min(840px,100%); max-height:92vh; overflow:auto; background:var(--paper); border-radius:12px; display:grid; grid-template-columns:.9fr 1.1fr; position:relative; box-shadow:0 30px 90px rgba(0,0,0,.3); }.modal-close { position:absolute; right:12px; top:10px; width:34px; height:34px; border-radius:50%; border:0; background:var(--cream); cursor:pointer; z-index:3; font-size:23px; }.modal-cover { min-height:560px; display:grid; place-items:center; background:#e5e7d9; }.modal-cover .journal-large { width:280px; }.modal-copy { padding:70px 50px 45px; }.modal-copy h2 { font-size:45px; }.modal-copy > p { color:var(--muted); line-height:1.7; }.modal-copy ul { padding-left:19px; color:var(--muted); font-size:13px; line-height:2; margin:20px 0 28px; }
.vip-checkout-backdrop { z-index:110; }
.vip-checkout-backdrop[hidden] { display:none; }
.vip-checkout-reminder { width:min(540px,100%); max-height:calc(100vh - 40px); overflow:auto; position:relative; padding:52px 48px 44px; border:1px solid rgba(255,255,255,.55); border-radius:14px; background:var(--paper); box-shadow:0 30px 90px rgba(0,0,0,.34); text-align:center; }
.vip-checkout-reminder h2 { margin:8px 0 13px; color:var(--ink); font-size:43px; line-height:1.05; }
.vip-checkout-reminder > p { margin:0 auto; max-width:440px; color:var(--muted); font-size:13px; line-height:1.7; }
.vip-reminder-close { width:42px; height:42px; right:10px; top:10px; }
.vip-reminder-actions { display:grid; gap:10px; margin-top:27px; }
.vip-reminder-actions .primary-button { width:100%; min-height:52px; justify-content:center; border:0; }
.vip-reminder-continue { min-height:48px; padding:12px 18px; border:1px solid var(--line); border-radius:5px; background:transparent; color:var(--rose-dark); cursor:pointer; font-weight:700; }
.vip-reminder-continue:hover { border-color:var(--rose); background:#fff4ef; }
.vip-checkout-reminder .vip-reminder-status { margin-top:14px; color:#a03f49; font-size:11px; font-weight:700; }
.vip-checkout-reminder button:focus-visible { outline:3px solid rgba(183,94,92,.3); outline-offset:3px; }
.vip-fallback-backdrop { z-index:120; }
.vip-fallback-backdrop[hidden] { display:none; }
.vip-fallback-card { width:min(780px,100%); max-height:calc(100vh - 32px); overflow:auto; position:relative; display:grid; grid-template-columns:1fr 1fr; border-radius:24px; background:white; box-shadow:0 30px 90px rgba(0,0,0,.34); }
.vip-fallback-close { width:42px; height:42px; right:10px; top:10px; background:rgba(255,255,255,.92); }
.vip-fallback-image { min-height:400px; overflow:hidden; border-radius:24px 0 0 24px; background:#f5ece7; }
.vip-fallback-image img { display:block; width:100%; height:100%; object-fit:cover; }
.vip-fallback-content { min-height:400px; display:flex; flex-direction:column; justify-content:center; padding:35px 30px; color:#000; font-family:Arial,"Helvetica Neue",Helvetica,sans-serif; text-align:center; }
.vip-fallback-content h2 { margin:0 0 17px; font-family:"Playball","Sacramento",cursive; font-size:27px; line-height:1.2; }
.vip-fallback-content p { margin:0 0 15px; font-family:Lucida,"Lucida Grande","Lucida Sans Unicode","Lucida Sans",Geneva,Verdana,sans-serif; font-size:14px; line-height:1.5; }
#vip-fallback-form { display:grid; gap:10px; margin-top:4px; }
#vip-fallback-email { width:100%; height:48px; padding:0 14px; border:1px solid #606a72; border-radius:0; background:white; color:#000; font-size:16px; letter-spacing:2px; }
#vip-fallback-submit { min-height:48px; padding:12px 16px; border:0; background:#102f23; color:white; cursor:pointer; font-size:13px; font-weight:700; letter-spacing:.05em; }
#vip-fallback-submit:hover { background:#1d4a36; }
#vip-fallback-submit:disabled { cursor:wait; opacity:.7; }
.vip-fallback-continue { margin-top:12px; padding:8px; border:0; background:transparent; color:#3a3a3a; cursor:pointer; font-size:13px; text-decoration:underline; }
.vip-fallback-status { margin:13px 0 0!important; color:#a03f49; font-weight:700; }
.vip-fallback-status.success { color:#1d6a45; }
.sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
@media (max-width:980px) { .hero { min-height:auto; grid-template-columns:1fr 1fr; }.hero-art { transform:scale(.85); transform-origin:center; margin:-30px; }.design-grid { grid-template-columns:repeat(3,1fr); }.order-workspace { grid-template-columns:.8fr 1.2fr; }.order-form { padding:32px 30px; } }
@media (max-width:760px) { .site-header { height:78px; padding:0 18px; }.brand-logo { width:104px; }nav a:not(.nav-button) { display:none; }.nav-button { padding:10px 13px; font-size:11px; }.hero { display:flex; flex-direction:column; padding:45px 20px 70px; overflow:hidden; }.hero-copy { order:1; }.hero-art { order:2; width:100%; height:430px; transform:scale(.82); margin:-10px 0 -50px; }.hero-copy > p { font-size:15px; }.hero-actions { align-items:flex-start; }.trust-row { flex-direction:column; gap:9px; }.gallery-section { padding:65px 20px; }.section-heading { align-items:start; flex-direction:column; }.search-box { width:100%; }.design-grid { grid-template-columns:repeat(2,1fr); gap:28px 14px; }.cover-button { padding:11px 13px 14px; }.cover-button .journal-cover { width:88%; }.card-info h3 { font-size:17px; }.card-info button { display:none; }.custom-design-callout { align-items:flex-start; flex-direction:column; padding:24px; }.custom-request-button { width:100%; }.order-section { padding:70px 18px; }.order-workspace { grid-template-columns:1fr; }.preview-panel { min-height:500px; padding:70px 34px 34px; justify-content:center; }.journal-large { width:230px; }.order-form { padding:28px 20px; }.two-fields { grid-template-columns:1fr; gap:0; }.preview-modal { grid-template-columns:1fr; }.modal-cover { min-height:420px; }.modal-cover .journal-large { width:210px; }.modal-copy { padding:35px 27px; }.modal-copy h2 { font-size:38px; }.vip-checkout-reminder { padding:50px 25px 28px; }.vip-checkout-reminder h2 { font-size:35px; }.vip-reminder-actions .primary-button,.vip-reminder-continue { min-height:52px; }.vip-fallback-card { grid-template-columns:1fr; border-radius:18px; }.vip-fallback-image { min-height:170px; max-height:210px; border-radius:18px 18px 0 0; }.vip-fallback-content { min-height:0; padding:25px 22px 24px; }.vip-fallback-content h2 { padding:0 25px; font-size:25px; }.vip-fallback-close { position:fixed; right:28px; top:28px; }footer { flex-wrap:wrap; gap:15px; }.footer-brand .brand-logo { width:125px; }footer > p { display:none; } }
@media (max-width:420px) { h1 { font-size:44px; }.hero-actions { gap:15px; }.primary-button { padding:14px; gap:13px; }.price-note { font-size:12px; }.design-grid { grid-template-columns:1fr 1fr; }.card-info span { font-size:8px; }.card-info p { display:none; }.option-grid { gap:5px; }.order-form { padding:25px 16px; }.basket-add-actions { flex-direction:column; }.basket-item { grid-template-columns:54px minmax(0,1fr); }.basket-item img { width:54px; height:80px; }.basket-item-actions { grid-column:2; flex-direction:row; }.basket-footer { align-items:flex-start; }.basket-footer > button { padding:4px 0; text-align:left; } }
@media (max-width:980px) {
  .product-choice-card { grid-template-columns:1fr; }
  .product-choice-visual { min-height:280px; }
  .portfolio-product-images img:first-child { width:54%; right:13%; top:5%; }
  .portfolio-product-images img:last-child { width:62%; left:1%; bottom:-4%; }
}
@media (max-width:760px) {
  .product-section { padding:20px 20px 70px; }
  .product-section-heading { align-items:flex-start; flex-direction:column; gap:14px; }
  .product-section-heading > p { font-size:13px; }
  .product-choice-grid { grid-template-columns:1fr; }
  .product-choice-card { grid-template-columns:minmax(145px,.78fr) minmax(0,1.22fr); }
  .product-choice-visual { min-height:300px; padding:20px; }
  .product-choice-copy { padding:27px 20px; }
  .product-choice-copy h3 { font-size:27px; }
  .portfolio-product-images img:first-child { width:72%; right:3%; top:9%; }
  .portfolio-product-images img:last-child { width:83%; left:-13%; bottom:1%; }
  .checkout-choice { padding:22px 18px; }
  .checkout-choice h3 { font-size:28px; }
  .checkout-choice > p,.purchase-note,.checkout-important-notice { font-size:15px!important; }
}
@media (max-width:520px) {
  .product-choice-card { grid-template-columns:1fr; }
  .product-choice-visual { min-height:280px; }
  .product-choice-copy { padding:25px 22px 28px; }
  .product-type-options { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }* { transition:none!important; } }

.basket-item input[type="number"]{width:74px;padding:8px;border:1px solid var(--line);border-radius:5px}.basket-item label{display:block;margin-top:10px}.basket-shopping-links{line-height:1.8}@media(max-width:700px){nav a.basket-nav{display:inline-flex!important}}

@media(max-width:700px){nav a.tumbler-nav{display:inline-flex!important}}

/* Coordinated landing-page product categories. */
.product-choice-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.product-choice-card { grid-template-columns:1fr; grid-template-rows:300px 1fr; }
.product-choice-visual { min-height:0; height:300px; }
.product-choice-copy { padding:28px 25px; justify-content:flex-start; }
.product-choice-copy h3 { font-size:30px; }
.product-choice-copy p { min-height:64px; }
.product-choice-price { margin-top:auto; padding-top:20px; }
.product-choice-copy button,.product-shop-link { width:100%; min-height:50px; display:flex; align-items:center; justify-content:space-between; gap:10px; text-align:left; }
.product-shop-link { padding:12px 16px; border-radius:5px; background:var(--ink); color:white; font-size:13px; font-weight:700; text-decoration:none; }
.product-shop-link:hover { background:#123d29; transform:translateY(-1px); }
.tumbler-product-image { position:relative; padding:0; background:#e6e9dc; }
.tumbler-product-image img { position:absolute; inset:0; width:100%; height:calc(100% - 28px); object-fit:contain; }
.tumbler-product-image small { position:absolute; bottom:0; left:0; right:0; background:rgba(255,253,240,.94); padding:7px; font-size:10px; color:var(--muted); text-align:center; }
@media(max-width:760px) {
 .product-choice-grid { grid-template-columns:1fr; }
 .product-choice-card { grid-template-columns:minmax(150px,.9fr) minmax(0,1.1fr); grid-template-rows:auto; }
 .product-choice-visual { height:100%; min-height:300px; }
 .product-choice-copy p { min-height:0; }
}
@media(max-width:520px) {
 .product-choice-card { grid-template-columns:1fr; grid-template-rows:260px 1fr; }
 .product-choice-visual { min-height:0; height:260px; }
 .product-choice-copy { padding:24px; }
}

.product-choice-journal #product-journal-image { width:145px; }

/* Equal product cards with complete, edge-to-edge square photographs. */
.product-choice-grid { align-items:stretch; }
.product-choice-card { grid-template-columns:1fr; grid-template-rows:auto 345px; }
.product-choice-visual.category-photo { position:relative; aspect-ratio:1; height:auto; min-height:0; width:100%; padding:0; }
.product-choice-visual.category-photo img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; object-position:center; padding:0; filter:none; }
.product-choice-copy { display:grid; grid-template-rows:28px 66px 70px 78px 50px; gap:0; padding:24px; align-items:start; }
.product-choice-copy > span { align-self:center; }
.product-choice-copy h3 { margin:0; align-self:start; }
.product-choice-copy p { min-height:0; }
.product-choice-price { margin:0; padding-top:8px; }
.product-choice-copy button,.product-shop-link { align-self:end; }
.tumbler-product-image small { z-index:1; }
@media(max-width:760px) {
 .product-choice-card { grid-template-columns:1fr; grid-template-rows:auto 345px; }
 .product-choice-copy { padding:24px; }
}

/* A quiet transition from product choices into artwork. */
.product-section { padding-bottom:120px; }
.gallery-section .section-heading > div { max-width:790px; }
.gallery-introduction { max-width:720px; margin:20px 0 0; color:var(--muted); font-size:15px; line-height:1.8; }
.gallery-section .search-box { flex-shrink:0; width:280px; }
@media(max-width:760px) {
 .product-section { padding-bottom:90px; }
 .gallery-introduction { margin-top:18px; font-size:14px; line-height:1.8; }
 .gallery-section .search-box { width:100%; }
}

/* Small contact invitation; existing shop and VIP flows stay independent. */
.contact-invitation { text-align:center; padding:12px 20px 65px; }
#open-contact { border:1px solid var(--rose); border-radius:6px; padding:14px 25px; color:var(--rose-dark); background:transparent; cursor:pointer; font-weight:600; }
#open-contact span { margin-left:18px; }
.contact-dialog { width:min(590px,calc(100% - 32px)); max-height:calc(100dvh - 32px); overflow:auto; border:1px solid var(--line); border-radius:14px; padding:36px; background:var(--paper); color:var(--ink); box-shadow:0 24px 80px #08211430; }
.contact-dialog::backdrop { background:#08211465; }
.contact-close { position:absolute; top:13px; right:17px; border:0; background:transparent; color:var(--muted); font-size:28px; cursor:pointer; }
.contact-dialog h2 { font-size:36px; margin:12px 0 15px; }
.contact-dialog > p { color:var(--muted); font-size:14px; line-height:1.7; }
.contact-fields { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.contact-dialog label { display:block; font-size:12px; font-weight:600; margin-top:16px; }
.contact-dialog label span { color:var(--rose-dark); }
.contact-dialog input,.contact-dialog select,.contact-dialog textarea { display:block; width:100%; padding:11px; margin-top:7px; border:1px solid var(--line); border-radius:5px; background:var(--cream); color:var(--ink); font:inherit; font-weight:400; }
.contact-dialog textarea { resize:vertical; }
.contact-dialog [hidden] { display:none!important; }
.contact-honeypot { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
#contact-verification { margin-top:18px; min-height:65px; }
#contact-send { width:100%; padding:14px; border:0; border-radius:5px; background:var(--ink); color:white; font-weight:600; cursor:pointer; }
#contact-send:disabled { opacity:.6; }
#contact-status { margin:12px 0 0; font-size:13px; line-height:1.5; color:var(--rose-dark); }
@media(max-width:520px) { .contact-dialog { padding:28px 22px; }.contact-dialog h2 { font-size:31px; }.contact-fields { grid-template-columns:1fr; gap:0; }.contact-dialog input,.contact-dialog select,.contact-dialog textarea { font-size:16px; } }
