/* One material system: warm linen, oak, cocoa and one berry accent. */
:root{--cream:#F7F0E6;--sand:#E9D9C6;--ink:#432C21;--wood:#81634F;--gold:#D7BEA0;--pink:#A95754;--sage:#81634F;--linen:repeating-linear-gradient(0deg,#81634f03 0 1px,transparent 1px 4px),repeating-linear-gradient(90deg,#81634f04 0 1px,transparent 1px 5px);--edge:#81634f28}
body{background-color:var(--cream);background-image:var(--linen)}
header{background:#f7f0e6f2;border-color:var(--edge)}
.eyebrow{color:var(--wood);letter-spacing:.14em}
.button{background:var(--pink);border-radius:14px;box-shadow:0 4px 0 #432c2110;padding:17px 28px}
.button:hover{background:#914843;box-shadow:0 8px 22px #432c2118}
.cart-toggle{background:var(--ink);color:var(--cream);border-radius:14px}
.hero{margin:22px 24px 0;background-color:#EDE1D0;background-image:var(--linen);color:var(--ink);border:1px solid var(--edge);border-radius:24px;grid-template-columns:1fr 1fr;overflow:hidden;isolation:isolate}
.hero-copy{position:relative;padding:65px 10%;z-index:1}
.hero-copy:before{content:'';position:absolute;inset:18px;border:1px dashed #81634f36;border-radius:10px;pointer-events:none}
.hero-copy .eyebrow{color:var(--wood);border:0;padding:0;background:none;border-radius:0}
.hero h1{font-size:clamp(65px,7vw,108px);line-height:.96;letter-spacing:-.045em}
.hero h1 em{color:var(--pink)}
.hero .tagline{color:var(--wood);font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(25px,2.5vw,34px);font-style:italic;line-height:1.18}
.hero-copy>p:not(.eyebrow):not(.tagline){color:var(--ink)}
.hero-price small,.hero .caption{color:var(--wood)}
.hero-art{margin:28px 28px 28px 0;padding:9px 9px 46px;background:#fff9f0;align-self:center;transform:rotate(1.4deg);box-shadow:0 15px 35px #432c2125;overflow:visible;border-radius:3px}
.hero-art img{width:100%;height:auto;min-height:0;object-fit:cover;border-radius:1px;animation:none}
.hero-art figcaption{bottom:12px;left:10px;right:10px;padding:0;color:var(--wood);background:none;border:0;border-radius:0;backdrop-filter:none;font-size:12px;letter-spacing:.025em}
.gingham{height:10px;margin:32px 24px 0;background:repeating-conic-gradient(#a9575420 0% 25%,transparent 0% 50%) 0 0/10px 10px;opacity:.8}
.movie{position:relative;background-color:#E9D9C6;background-image:var(--linen);border:1px solid var(--edge);border-radius:20px}
.movie:after{content:'';position:absolute;left:0;right:0;bottom:0;height:11px;background:repeating-conic-gradient(#a9575420 0% 25%,transparent 0% 50%) 0 0/11px 11px;pointer-events:none}
.occasions article,.occasions article:nth-child(2),.occasions article:nth-child(4){background-color:var(--cream);background-image:var(--linen);border-color:var(--edge);border-radius:14px}
.occasions article>span,.occasions article:nth-child(4)>span{color:var(--wood)}
@media(hover:hover){.occasions article:hover{background-color:var(--wood);color:var(--cream);border-color:var(--wood)}.occasions article:hover>span{color:var(--cream)}}
.inside{background-color:#EFE3D3;background-image:var(--linen);border:1px solid var(--edge);border-radius:24px}
.gallery{padding:12px;background:#fff9f0;border:1px solid var(--edge);border-radius:6px;box-shadow:0 10px 24px #432c2110;transform:rotate(-1deg)}
.gallery button{background:#fff9f0;border-color:var(--edge)}
.dish-photo{border-radius:14px;box-shadow:0 8px 20px #432c2110}
.dish-gallery figcaption{font-size:26px;color:var(--ink)}
.formats{position:relative;background:var(--ink);border-radius:24px;isolation:isolate;overflow:hidden}
.formats:before{content:'';position:absolute;inset:0;z-index:-1;background-image:linear-gradient(#432c21da,#432c21ec),url('assets/family.jpg');background-size:cover,250% auto;background-position:center,center bottom;pointer-events:none}
.formats .eyebrow{color:var(--sand)}
.format-grid article{background-color:var(--cream);background-image:var(--linen);border:1px solid var(--edge);border-radius:16px;box-shadow:0 12px 30px #20150f14}
.format-grid article .eyebrow{color:var(--wood)}
.format-grid .featured{background-color:#E9D9C6;border:1px solid #81634f65}
.ribbon{background:var(--wood);color:var(--cream);border-radius:8px}
.books article{background-color:#EFE4D6;background-image:var(--linen);border:1px solid var(--edge);border-radius:14px}
.text-button{border-color:#81634f50;border-radius:10px;color:var(--ink)}
.text-button:hover{background:#fff9f0}
blockquote{color:var(--wood);border-color:var(--pink)}
.family-about{border:8px solid #fff9f0;border-bottom-width:20px;border-radius:4px;box-shadow:0 12px 30px #432c211a;transform:rotate(-1deg)}
.steps span,.reasons article>span{color:var(--wood)}
.care-block{background-color:#EFE3D3;background-image:var(--linen);border-color:var(--edge);border-radius:14px}
.final{background-color:#E9D9C6;background-image:var(--linen);color:var(--ink);border:1px solid var(--edge);border-radius:24px}
.final .eyebrow{color:var(--wood)}
.final .button{background:var(--pink);color:var(--cream)}
.final .button:hover{background:#914843}
footer{background-color:var(--cream);background-image:var(--linen);border-color:var(--edge)}
dialog{background-color:var(--cream);background-image:var(--linen)}
.quantity button{background:var(--sand);color:var(--ink)}
.print-counter button{border-color:var(--pink);color:var(--ink)}
.print-counter button:hover:not(:disabled){background:var(--pink)}
:focus-visible{outline-color:var(--pink)!important}
.cart-toast{background:var(--ink);border-radius:14px;white-space:normal;max-width:min(90%,600px)}
@media(max-width:1000px){.hero-copy{padding:45px 9%}.hero h1{font-size:clamp(57px,7.2vw,82px)}.hero-art{margin:22px 22px 22px 0}}
@media(max-width:640px){.hero{margin:12px 12px 0;border-radius:20px}.hero-art{margin:20px 22px 8px;padding:7px 7px 34px;transform:rotate(1deg)}.hero-art figcaption{bottom:10px;font-size:10px}.hero-copy{padding:34px 27px 42px}.hero-copy:before{inset:15px}.hero-copy .eyebrow{margin-bottom:18px}.hero h1{font-size:clamp(48px,15vw,64px)}.hero .tagline{font-size:27px}.hero-copy>.caption{font-size:11px}.inside,.formats{border-radius:20px}.final{border-radius:20px}.dish-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.dish-gallery figcaption{font-size:20px;padding:12px 0}.dish-photo{aspect-ratio:1/1.25;border-radius:10px}.movie{border-radius:18px}.family-about{border-width:6px;border-bottom-width:14px}}
/* Textile details reuse the apron and checked towel in the family image. */
.hero-copy:after{content:'';position:absolute;inset:0;z-index:-1;background-image:linear-gradient(#ede1d0b8,#ede1d0b8),url('assets/family.jpg');background-size:cover,1000% auto;background-position:center,94% 67%;opacity:.14;pointer-events:none}
.movie:after{height:12px;background-image:linear-gradient(#e9d9c68c,#e9d9c68c),url('assets/family.jpg');background-size:cover,700% auto;background-position:center,right bottom}
@media(max-width:640px){.hero-copy:after{opacity:.09}}
/* Shared spine and continuous articulated paper; boards remain rigid. */
.decorative-book{height:420px;overflow:visible}.book-scene{width:205px;height:290px;perspective:1500px}
.book-object{width:100%;height:100%;translate:65px 0;animation:none;transform:rotateX(22deg) rotateY(-16deg) rotateZ(-12deg);transform-style:preserve-3d}
.rigid-back,.rigid-front{position:absolute;inset:0;transform-origin:0 50%;transform-style:preserve-3d;border-radius:1px 4px 4px 1px}
.rigid-back{background:#432c21;transform:translateZ(-2px);box-shadow:18px 32px 34px #432c2133;border:1px solid #2d1c13}
.rigid-front{transform:translateZ(5.5px);border:0}
.cover-outside,.cover-inside{position:absolute;inset:0;backface-visibility:hidden;border-radius:inherit}
.cover-outside{background:url('assets/07-fragrant-cookies.jpg') center/100% 100%;box-shadow:inset 5px 0 7px #0004;transform:translateZ(1.2px);border:1px solid #432c21}
.cover-inside{background:#d9c6af;transform:rotateY(180deg) translateZ(1.2px);border:1px solid #432c21;box-shadow:inset -5px 0 9px #432c2125}
.book-binding{position:absolute;left:-2px;top:0;width:7px;height:100%;background:linear-gradient(90deg,#281910,#6e4830,#432c21);transform:rotateY(90deg);transform-origin:left;box-shadow:0 0 2px #432c2140}
.flexible-leaf{position:absolute;left:1px;top:3px;width:calc(100% - 5px);height:calc(100% - 6px);transform-style:preserve-3d}
.paper-strip{position:absolute;top:0;width:10%;height:100%;transform-origin:0 50%;transform-style:preserve-3d;will-change:transform}
.paper-strip .paper-strip{width:100%}
.paper-face{position:absolute;inset:0;width:calc(100% + .4px);height:100%;background-size:1000% 100%;background-repeat:no-repeat;background-color:#fff9ef;backface-visibility:hidden}
.paper-face.recto{transform:translateZ(.08px)}.paper-face.verso{transform:rotateY(180deg) translateZ(.08px)}
.paper-face:after{content:none}
@media(max-width:640px){.decorative-book{height:320px}.book-scene{width:155px;height:220px}.book-object{translate:52px 0}}
@media(max-width:640px){.book-scene{width:140px;height:198px}.book-object{translate:36px 0}.decorative-book{height:290px}}
.cookie-carousel{position:relative;padding:9px;background:#fff9f0;border:1px solid var(--edge);border-radius:14px;box-shadow:0 12px 30px #432c2115}
.cookie-slide-photo{position:relative;aspect-ratio:1/1.12;overflow:hidden;border-radius:8px}
.cookie-slide-photo img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.cookie-slide-photo.from-spread img{width:200%;max-width:none;object-fit:fill}
.cookie-carousel>button{position:absolute;top:50%;transform:translateY(-50%);border:1px solid var(--edge);border-radius:50%;width:44px;height:44px;background:#fff9f0;color:var(--ink);font-size:30px;line-height:1;box-shadow:0 3px 12px #432c2120}
.cookie-prev{left:18px}.cookie-next{right:18px}.cookie-carousel>button:hover{background:var(--ink);color:var(--cream)}
.cookie-carousel-caption{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:20px 4px 0}
#cookie-slide-name{font:500 27px/1.15 'Cormorant Garamond',Georgia,serif;margin:0;max-width:85%}#cookie-slide-count{font-size:13px;white-space:nowrap;color:var(--wood);padding-top:5px}
@media(max-width:640px){.cookie-slide-photo{aspect-ratio:1/1.15}#cookie-slide-name{font-size:24px}.cookie-carousel>button{width:38px;height:38px}}

.online-phone{position:relative;width:136px;height:232px;flex-shrink:0;margin:4px auto 25px;padding:7px;border:2px solid #615146;border-radius:24px;background:#30271f;box-shadow:8px 14px 20px #432c2128;transform:rotate(-3deg)}
.online-phone:before{content:'';position:absolute;top:10px;left:50%;transform:translateX(-50%);width:44px;height:10px;background:#30271f;border-radius:10px;z-index:2}
.online-phone:after{content:'';position:absolute;bottom:11px;left:50%;transform:translateX(-50%);width:40px;height:3px;background:#fff9f0b0;border-radius:3px}
.phone-screen{position:relative;width:100%;height:100%;border-radius:16px;overflow:hidden;background:#fff9f0}.phone-screen img{width:100%;height:100%;object-fit:cover}.phone-pdf{position:absolute;bottom:15px;left:7px;right:7px;text-align:center;padding:4px 0;background:#fff9f0ee;color:var(--ink);font-size:9px;font-weight:700;border-radius:5px}
#formats .print-cover{height:232px;margin-top:4px}
@media(max-width:640px){.online-phone{width:145px;height:248px}#formats .print-cover{height:248px}}

.family-about{max-height:730px;object-fit:cover;object-position:center 38%}.final-image img{width:100%;height:100%;max-height:760px;object-fit:cover;object-position:center 38%}@media(max-width:640px){.family-about{max-height:none;aspect-ratio:3/4;object-position:center 35%}.final-image img{height:auto;max-height:none;aspect-ratio:4/5;object-position:center 40%}}

/* Continuous paper texture: no repeated strip lighting. */
.paper-face{width:100%;box-shadow:none;border:0;background-color:white}
.paper-face:after{content:none}
/* The covers remain original artwork, placed inside device and binding geometry. */
.books .online-phone{width:124px;height:212px;margin:10px auto 25px;transform:rotate(0);transition:transform .5s ease}
.books .phone-screen img{height:100%;width:100%;max-width:none;object-fit:fill;margin:0;transform:none!important}
.books article:hover .online-phone{transform:translateY(-7px) rotate(-2deg)}
.phone-collection{grid-column:1;grid-row:1/6;position:relative;width:100%;max-width:360px;height:310px;justify-self:center;perspective:1000px}
.phone-collection .online-phone{position:absolute;top:28px;left:0;margin:0;transform:rotate(-12deg);width:125px;height:220px;transition:transform .6s ease}
.phone-collection .online-phone:nth-child(2){left:50%;top:9px;transform:translateX(-50%);z-index:2;width:145px;height:252px}
.phone-collection .online-phone:nth-child(3){left:auto;right:0;transform:rotate(12deg)}
.featured:hover .phone-collection .online-phone:first-child{transform:translateX(-6px) rotate(-15deg)}
.featured:hover .phone-collection .online-phone:last-child{transform:translateX(6px) rotate(15deg)}
.phone-collection img{object-fit:fill!important;height:100%!important;width:100%!important;position:static!important;transform:none!important;animation:none!important}
.hardcover-stage{height:264px;display:flex;align-items:center;justify-content:center;margin:4px auto 25px;perspective:1100px;width:100%}
.hardcover-model{position:relative;width:160px;height:228px;transform-style:preserve-3d;transform:rotateX(8deg) rotateY(-24deg) rotateZ(-5deg);transition:transform .65s ease}
.hardcover-front,.hardcover-back,.hardcover-pages,.hardcover-spine{position:absolute;transform-style:preserve-3d}
.hardcover-front{inset:0;transform:translateZ(13px);background:#432c21;border-radius:2px 5px 5px 2px;overflow:hidden;box-shadow:inset 6px 0 8px #0003}
.hardcover-front img{display:block;width:100%;height:100%;object-fit:fill}
.hardcover-front:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0004,transparent 6%,#ffffff18 8%,transparent 12%);border:1px solid #432c2140;border-radius:inherit}
.hardcover-back{inset:0;transform:translateZ(-13px);border-radius:2px 5px 5px 2px;background:#432c21;box-shadow:17px 23px 25px #432c2130}
.hardcover-pages{right:-10px;top:4px;width:22px;height:calc(100% - 8px);background:repeating-linear-gradient(90deg,#e7d9c4 0 1px,#fff9eb 1px 3px);transform:rotateY(90deg);border:1px solid #d0bda4;border-radius:1px}
.hardcover-spine{left:-13px;top:0;width:26px;height:100%;transform:rotateY(90deg);background:linear-gradient(90deg,#231a13,#70503a 45%,#3b291d);border-radius:4px}
.hardcover-model:after{content:'';position:absolute;left:2px;right:2px;bottom:-9px;height:22px;transform:rotateX(90deg);background:repeating-linear-gradient(0deg,#e7d9c4 0 1px,#fff9eb 1px 3px);border:1px solid #d0bda4}
#formats article:hover .hardcover-model{transform:rotateX(6deg) rotateY(-32deg) rotateZ(-3deg)}
@media(max-width:640px){.books .online-phone{width:94px;height:164px;padding:5px;border-radius:19px}.books .phone-screen{border-radius:12px}.books .online-phone:before{width:34px;height:8px;top:8px}.books .phone-pdf{font-size:8px;left:3px;right:3px}.phone-collection{height:285px;max-width:300px;flex-shrink:0}.phone-collection .online-phone{width:106px;height:190px}.phone-collection .online-phone:nth-child(2){width:125px;height:223px}.hardcover-stage{height:264px}.hardcover-model{width:160px;height:228px}}
