:root{--navy:#071f48;--coral:#f56752;--ink:#13264a;--muted:#78859b;--paper:#fbfaf7;--line:#e3e5e8}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
img{display:block;max-width:100%}
a{color:inherit}
a,button{touch-action:manipulation}
a:focus-visible,button:focus-visible{outline:3px solid var(--coral);outline-offset:4px}
.wrap{width:min(1536px,calc(100% - 56px));margin-inline:auto}
.visually-hidden{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}.announcements-heading:has(.visually-hidden){justify-content:flex-end}.announcements-heading:has(.announcements-navigation[hidden]){margin:0;min-height:0}
.site-header{border-bottom:1px solid var(--line);background:#fffdfaf0;position:relative;z-index:10}
.header-inner{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--navy);white-space:nowrap;font:600 clamp(2rem,3vw,2.65rem)/1 Georgia,"Times New Roman",serif;letter-spacing:-.045em}
.brand img{width:54px;height:54px;object-fit:contain}
.site-nav{display:flex;align-items:center;justify-content:center;gap:clamp(20px,3vw,49px);flex:1}
.site-nav a{text-decoration:none;color:var(--navy);font-weight:650;white-space:nowrap}
.site-nav a:hover,.text-link:hover{color:var(--coral)}
.menu-toggle{display:none}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:600;color:var(--navy);letter-spacing:-.035em}
.catalog-intro{padding-block:18px 60px}
.announcements-section{padding-block:24px 12px}
.announcements-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:14px}
.announcements-heading h2{font-size:clamp(1.35rem,2vw,1.9rem);margin:0;letter-spacing:-.02em}
.announcements-navigation{display:flex;gap:8px}
.announcements-navigation button{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--navy);cursor:pointer;font:1.2rem system-ui}
.announcements-navigation button:disabled{opacity:.35;cursor:default}
.announcements-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0;overscroll-behavior-x:contain;padding:4px 4px 10px;scrollbar-width:thin;scrollbar-color:#c4cad3 transparent}
.announcement-card{flex:0 0 calc((100% - 32px)/3);min-width:0;display:block;padding:0;border:1px solid var(--line);border-radius:11px;background:#fffdf9;overflow:hidden;scroll-snap-align:start;scroll-snap-stop:always;color:var(--navy);text-decoration:none;cursor:pointer;font:inherit;text-align:left}
.announcement-card>img{width:100%;aspect-ratio:6/5;object-fit:contain;background:#f5f2ec}
.announcement-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;font-size:.8rem;font-weight:650}
.announcement-card-arrow{display:grid;place-items:center;width:30px;height:30px;flex:none;border-radius:50%;background:var(--coral);color:#fff;font-size:1.1rem}
.announcement-card:hover{border-color:var(--coral)}
.announcements-hint{margin:2px 0 0;color:var(--muted);font-size:.78rem;text-align:right}
.announcement-dialog{max-width:min(1100px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:48px 12px 12px;border:0;border-radius:12px;background:#fffdf9;overflow:auto}
.announcement-dialog::backdrop{background:#06152ad1}
.announcement-dialog>img{width:auto;max-width:100%;max-height:calc(100dvh - 96px);object-fit:contain;margin:auto}
#announcement-close{position:absolute;top:8px;right:10px;width:36px;height:36px;border:1px solid var(--line);border-radius:50%;background:white;color:var(--navy);cursor:pointer;font-size:1rem}
@media(max-width:1000px) and (min-width:701px){.announcement-card{flex-basis:calc((100% - 16px)/2)}}
@media(max-width:700px){.announcements-section{padding-block:18px 8px}.announcements-heading{margin-bottom:8px}.announcements-heading h2{font-size:1.35rem}.announcements-navigation button{width:36px;height:36px}.announcements-track{gap:12px}.announcement-card{flex-basis:86%}.announcement-card-footer{font-size:.75rem}.announcements-hint{font-size:.7rem;text-align:left}}
.title-row{display:flex;align-items:center;justify-content:center;gap:36px}
.title-row h1{margin:0;text-align:center;font-size:clamp(3rem,4.7vw,5rem);line-height:1.18}
.title-line{width:50px;height:2px;background:var(--coral);flex:none}
.catalog-intro>p,.category-subtitle{text-align:center;color:var(--muted);font-size:clamp(1.02rem,1.4vw,1.3rem);margin:0 0 25px}
.category-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.category-tile{position:relative;overflow:hidden;border-radius:11px;display:block;min-width:0;background:#e4e1db;text-decoration:none;isolation:isolate}
.category-tile-large{grid-column:span 3;aspect-ratio:1.68}
.category-tile-small{grid-column:span 2;aspect-ratio:1.53}
.category-tile img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.category-tile.has-showcase::before{content:"";position:absolute;inset:-18px;background:#e5d9cc var(--showcase-url) center/cover no-repeat;filter:blur(16px) brightness(.82)}
.category-tile.has-showcase img{position:relative;z-index:1;object-fit:contain;background:transparent}
.category-tile.has-showcase .tile-shade{z-index:2}
.category-tile.has-showcase .tile-name,.category-tile.has-showcase .tile-arrow{z-index:3}
.category-tile:hover img{transform:scale(1.035)}
.category-tile[data-category=keychains] img{object-position:50% 50%}
.category-tile:not(.has-showcase)[data-category=bookmarks] img,.category-tile:not(.has-showcase)[data-category=mirrors] img,.category-tile:not(.has-showcase)[data-category=accessories] img,.category-tile:not(.has-showcase)[data-category=magnets] img,.category-tile:not(.has-showcase)[data-category=ornaments] img{object-fit:contain;background:#f7f5f1}
.category-tile[data-category=mirrors],.category-tile[data-category=accessories],.category-tile[data-category=magnets],.category-tile[data-category=ornaments]{grid-column:span 3;aspect-ratio:1.68}
.category-tile[data-category=cards] img{object-position:center 48%}
.category-tile[data-category=pens] img{object-position:center 60%}
.category-tile[data-category=coins] img{object-position:center 52%}
.tile-shade{position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(8,15,27,.62));pointer-events:none}
.tile-name{position:absolute;left:25px;right:75px;bottom:15px;color:white;text-shadow:0 2px 8px #0007;font:600 clamp(1.75rem,3.2vw,3.25rem)/1.1 Georgia,"Times New Roman",serif;letter-spacing:-.035em}
.category-tile-small .tile-name{font-size:clamp(1.55rem,2.4vw,2.5rem)}
.tile-arrow{position:absolute;right:22px;bottom:18px;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--coral);color:#fff;font:400 2rem/1 system-ui;transition:transform .2s}
.category-tile:hover .tile-arrow{transform:translateX(3px)}
.eyebrow{display:block;color:var(--coral);text-transform:uppercase;letter-spacing:.15em;font-size:.77rem;font-weight:750;margin-bottom:12px}
.info-section{background:#f1eee8;padding:75px 0}
.info-grid,.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}
.info-grid h2,.section-top h2,.contact-grid h2{font-size:clamp(2.2rem,3vw,3.6rem);line-height:1.14;margin:0}
.info-grid p,.contact-grid p{color:#59667a;font-size:1.08rem;max-width:570px}
.text-link{display:inline-flex;gap:10px;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:4px;color:var(--navy);font-weight:650}
.work-section{padding-block:75px 90px}
.section-top{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:26px}
.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.work-grid img{width:100%;aspect-ratio:1.45;object-fit:cover;border-radius:8px}
.contact-section{background:var(--navy);color:white;padding:70px 0}
.contact-grid h2{color:white}
.contact-grid p{color:#d2d8e1;margin:18px 0 0}
.contact-actions{display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.contact-actions .text-link{color:white}
.ordering-section{padding-block:50px}.ordering-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;counter-reset:steps;gap:18px;padding:0;margin:0}.ordering-steps li{counter-increment:steps;padding:24px;border:1px solid var(--line);border-radius:14px;background:#fff}.ordering-steps li:before{content:counter(steps);display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--coral);color:#fff;font-weight:750;margin-bottom:14px}.ordering-steps strong{font-size:1.1rem}.ordering-steps p,.ordering-note{color:var(--muted);line-height:1.6}.ordering-note{margin:20px 0 0}.contact-grid .support-hours{font-size:.92rem;line-height:1.7}
@media(max-width:700px){.ordering-section{padding-block:35px}.ordering-steps{grid-template-columns:1fr;gap:10px}.ordering-steps li{padding:18px}.ordering-steps li:before{float:left;margin:0 12px 0 0}.ordering-steps p{margin:9px 0 0 46px}.ordering-steps strong{display:block;line-height:34px}.footer-inner{flex-wrap:wrap}}
.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:54px;border-radius:100px;padding:12px 26px;background:var(--coral);color:white;text-decoration:none;font-weight:750;transition:background .2s,transform .2s}
.button:hover{background:#e35240;transform:translateY(-2px)}
.site-footer{background:#071936;color:#cad1dc;padding:22px 0;font-size:.86rem}
.footer-inner{display:flex;justify-content:space-between;gap:20px}
.site-footer a{text-decoration:none}
.category-page{padding-top:16px;padding-bottom:65px}
.breadcrumbs{color:var(--muted);font-size:.92rem;margin:0 0 2px}
.breadcrumbs a{text-decoration:none}
.breadcrumbs a:hover{text-decoration:underline}
.breadcrumbs span{padding:0 10px}
.category-page .title-row h1{font-size:clamp(3.2rem,5vw,5rem)}
.category-subtitle{margin:0 0 22px}
.variant-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.variant-grid.single{grid-template-columns:minmax(0,780px);justify-content:center}
.variant-card{border:1px solid var(--line);background:#fffdf9;border-radius:11px;overflow:hidden;text-align:center;box-shadow:0 10px 30px #10204008}
.variant-media{position:relative;aspect-ratio:1.62;overflow:hidden;background:#e5d9cc}
.variant-media::before{content:"";position:absolute;inset:-18px;background:#e5d9cc var(--showcase-url) center/cover no-repeat;filter:blur(18px) brightness(.82);opacity:0}
.variant-media.showcase-photo::before{opacity:1}
.variant-media img{position:relative;width:100%;height:100%;object-fit:cover}
.variant-media img.material-photo,.variant-media.showcase-photo img{object-fit:contain}
.variant-media img.material-photo{background:#f7f5f1}
.variant-card[data-product=wood-bookmark] img{object-position:center 47%}
.variant-card[data-product=pen] img{object-position:center 65%}
.variant-card-copy{padding:16px 22px 25px}
.variant-card h2{font-size:clamp(1.4rem,1.8vw,1.85rem);line-height:1.25;margin:0 0 2px}
.variant-size{color:var(--muted);font-size:.93rem;font-weight:500;line-height:1.5;margin:7px 0 12px}
.variant-card .button{width:min(100%,445px);font-size:1.14rem}
.next-step{display:flex;align-items:center;justify-content:center;gap:20px;color:var(--muted);margin-top:26px;font-size:1.02rem}
.next-step .number{width:44px;height:44px;border:1px solid #c7d0dd;border-radius:50%;display:grid;place-items:center;font:1.55rem Georgia,serif}
.next-step .current{color:var(--navy);font-weight:650}
.next-step .number.current{background:var(--coral);color:white;border:0}
.next-step .rule{width:100px;height:1px;background:#bcc5d1}
.category-end{background:#f1eee8;padding:35px 0;text-align:center}
.category-end p{color:#5f6a7a;margin:0 0 12px}
[hidden]{display:none!important}
@media(max-width:900px){.site-nav{gap:17px}.site-nav a{font-size:.9rem}.brand{font-size:2rem}.brand img{width:45px;height:45px}.category-tile-large{aspect-ratio:1.35}.category-tile-small{aspect-ratio:1.2}.tile-name{left:17px;bottom:16px}.tile-arrow{right:15px;bottom:15px;width:48px;height:48px}}
@media(max-width:700px){.wrap{width:min(100% - 30px,550px)}.header-inner{min-height:72px}.brand{font-size:1.72rem}.brand img{width:41px;height:41px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;border:0;background:none;padding:10px;cursor:pointer}.menu-toggle span{display:block;width:24px;height:2px;border:0;background:var(--navy)}.site-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fffdf9;border-bottom:1px solid var(--line);box-shadow:0 12px 20px #0b20421a;flex-direction:column;align-items:stretch;gap:0;padding:8px 16px 14px}.site-nav.open{display:flex}.site-nav a{padding:12px 14px;font-size:1rem}.catalog-intro{padding-block:25px 48px}.title-row{gap:12px}.title-row h1{font-size:clamp(2.4rem,9vw,3.5rem)}.title-line{width:24px}.catalog-intro>p,.category-subtitle{font-size:.9rem;line-height:1.55;margin:9px 0 21px}.category-grid{grid-template-columns:1fr;gap:13px}.category-tile-large,.category-tile-small{grid-column:1;aspect-ratio:1.23}.category-tile-small{aspect-ratio:1.35}.tile-name,.category-tile-small .tile-name{font-size:clamp(2rem,8vw,2.7rem);left:18px;right:68px;bottom:18px}.tile-arrow{width:48px;height:48px}.info-section,.work-section,.contact-section{padding-block:55px}.info-grid,.contact-grid{grid-template-columns:1fr;gap:20px}.info-grid h2,.section-top h2,.contact-grid h2{font-size:2.4rem}.section-top{display:block}.section-top .text-link{margin-top:20px}.work-grid{grid-template-columns:1fr 1fr}.work-grid img:first-child{grid-column:1/-1}.work-grid img{aspect-ratio:1.1}.work-grid img:first-child{aspect-ratio:1.5}.breadcrumbs{margin:7px 0 15px}.category-page .title-row h1{font-size:3rem}.variant-grid,.variant-grid.single{grid-template-columns:1fr;gap:18px}.variant-media{aspect-ratio:1.25}.variant-card-copy{padding:15px 16px 20px}.variant-card h2{font-size:2.1rem}.variant-size{font-size:1.18rem}.variant-card .button{font-size:1rem}.next-step{gap:9px;font-size:.78rem}.next-step .number{width:33px;height:33px;font-size:1.2rem}.next-step .rule{width:24px}}
@media(max-width:700px){.category-tile[data-category=mirrors],.category-tile[data-category=accessories],.category-tile[data-category=magnets],.category-tile[data-category=ornaments]{grid-column:1;aspect-ratio:1.35}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.category-tile img,.tile-arrow,.button{transition:none}}
.catalog-error{margin:20px auto;padding:18px;max-width:850px;border:1px solid #f5d494;border-radius:9px;background:#fff9ea;color:#805800;text-align:center}
.footer-links{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.footer-links a{text-decoration:underline;text-underline-offset:2px}.terms-page{max-width:850px;padding-block:50px 85px}.terms-page h1{font:600 clamp(2.5rem,5vw,4rem)/1.1 Georgia,serif;color:var(--navy);margin:0 0 14px}.terms-page h2{font-size:1.35rem;color:var(--navy);margin:32px 0 9px}.terms-page p,.terms-page li{line-height:1.75;color:#40516a}.terms-page ul{padding-left:1.5em}.terms-updated{font-size:.82rem;color:var(--muted)}
.terms-mobile-home{display:none}@media(max-width:700px){.terms-mobile-home{display:block;margin-left:auto;font-weight:700;text-decoration:none;color:var(--navy)}.terms-page{padding-block:30px 60px}.footer-links{gap:10px}}

.category-page .title-row h1{font-size:clamp(2.1rem,3vw,3rem)}.category-page .category-subtitle{font-size:1rem}.category-page .variant-card .button{font-size:.95rem;min-height:44px}.category-page .variant-card h2{font-size:clamp(1.4rem,1.8vw,1.85rem)}.category-page .variant-size{font-size:.93rem;font-weight:500}.category-page .variant-card-copy{padding:16px 20px 20px}
@media(max-width:700px){.category-page .title-row h1{font-size:2rem}.category-page .category-subtitle{font-size:.87rem}.category-page .variant-card h2{font-size:1.45rem}.category-page .variant-size{font-size:.82rem}.category-page .variant-card-copy{padding:12px 14px 15px}}
/* V4.14: original and sale prices share the editor's visual language. */
.price-original{color:var(--muted,#687992);font-size:.88em;font-weight:400;margin-right:5px}.price-sale{color:#d6422e;font-weight:800}.price-current{font-weight:650}

.product-stock-status{font-size:14px;color:#28734e;margin:8px 0}.product-stock-status.out-of-stock{color:#b24338;font-weight:700}.out-of-stock-button{background:#e8e9ec!important;border-color:#e8e9ec!important;color:#647085!important;cursor:default;pointer-events:none}
