:root{--paper:#f5ecdd;--cream:#fffaf2;--blue:#244e73;--coral:#ae4030;--line:#d6c6ad;--ink:#242a30;--muted:#62594f}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.6}a{color:var(--blue);text-underline-offset:3px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #99701d;outline-offset:4px}h1,h2,h3{color:var(--blue);line-height:1.15;margin:0 0 18px;overflow-wrap:break-word}p{margin:0 0 16px}img{display:block;max-width:100%;height:auto}[hidden]{display:none!important}.shop-wrap{width:calc(100% - 64px);max-width:1220px;margin:0 auto}.shop-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0;border-bottom:1px solid var(--line)}.shop-header nav{display:flex;gap:22px;align-items:center;flex-wrap:wrap;font-size:15px}.shop-header nav a{text-decoration:none}.shop-header nav [aria-current]{font-weight:700;border-bottom:2px solid var(--coral)}.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;background:white;padding:12px;z-index:10}.shop-hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:54px;padding:50px 0 38px}.shop-hero h1{font-size:clamp(36px,4.5vw,59px);max-width:650px}.shop-hero p:not(.eyebrow){font-size:19px;max-width:590px}.shop-hero img{border-radius:26px;aspect-ratio:3/2;object-fit:cover}.eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:.12em;font-weight:700;color:var(--coral);margin-bottom:14px}.actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.button,.quiet-button{display:inline-flex;justify-content:center;align-items:center;min-height:46px;padding:11px 20px;border:1px solid var(--blue);border-radius:9px;background:var(--blue);color:white;text-decoration:none;line-height:1.35;text-align:center;font-weight:600}.quiet-button{background:transparent;color:var(--blue)}.small{font-size:14px;color:var(--muted)}.shop-notice{padding:16px 22px;background:#e8edf0;border-left:4px solid var(--blue);border-radius:0 12px 12px 0;margin:0 0 38px;font-size:15px}.shop-notice p:last-child{margin:0}.catalog-tools{scroll-margin-top:20px}.catalog-tools h2{font-size:34px}.filter-row{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:20px}.search-label{width:350px;max-width:100%;font-size:14px}.search-label input{display:block;width:100%;border:1px solid var(--line);border-radius:8px;padding:10px 14px;margin-top:5px;background:var(--cream);color:var(--ink)}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.filter{border:1px solid var(--line);background:var(--cream);border-radius:30px;min-height:42px;padding:8px 15px;color:var(--blue);font-size:14px}.filter[aria-pressed=true]{background:var(--blue);color:white;border-color:var(--blue)}.catalog-summary{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:24px}.catalog-summary p{margin:0}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.product-card{min-width:0;background:var(--cream);border:1px solid var(--line);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .15s}.product-card:hover{box-shadow:0 9px 30px #244e7314}.product-card .visual{margin:14px 14px 0}.visual{position:relative;background:#e9deca;border-radius:11px;overflow:hidden;aspect-ratio:4/3;display:grid;place-items:center}.visual img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}.visual-cards{padding:25px 50px;background:#e9dfd1}.visual-cards:before,.visual-cards:after{content:"";position:absolute;inset:26px 53px;background:#fffbf3;border:1px solid #c4b294;border-radius:6px;transform:rotate(-9deg)}.visual-cards:after{transform:rotate(6deg)}.visual-cards img{z-index:1;border:8px solid white;border-radius:5px;box-shadow:0 5px 12px #382f2520;aspect-ratio:3/4;object-fit:cover}.visual-box{padding:25px 45px;background:#e7d7bd}.visual-box img{border:10px solid #fff6e7;outline:1px solid #bda68b;border-radius:4px;box-shadow:10px 10px 0 #c2ac89;aspect-ratio:4/3}.visual-certificate{padding:28px;background:#e2e9eb}.visual-certificate img{border:12px solid var(--cream);outline:1px solid #b2bfbc;object-fit:cover}.visual-paper{padding:24px 45px;background:#e4e7df}.visual-paper img{border:10px solid white;box-shadow:7px 6px 0 #f4f1e8;aspect-ratio:4/3}.product-copy{padding:22px;display:flex;flex-direction:column;flex:1}.product-copy h2{font-size:27px;margin-bottom:13px}.product-copy h2 a{color:inherit;text-decoration:none}.product-copy .description{font-size:16px;flex:1}.product-type{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--coral);margin-bottom:11px}.price-line{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;margin:10px 0 15px}.price{font-size:27px;font-weight:700;color:var(--blue);white-space:nowrap}.price small{font-size:14px;font-weight:400}.old-price{font-size:14px;color:var(--muted);text-decoration:line-through}.status{font-size:13px;color:var(--muted);margin:0 0 12px}.product-copy .button{align-self:flex-start}.empty-state{padding:40px;border:1px dashed var(--line);border-radius:16px}.gift-strip{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;margin:48px 0;padding:32px;background:var(--blue);color:white;border-radius:18px}.gift-strip h2,.gift-strip p{color:inherit}.gift-strip h2{font-size:31px;margin-bottom:10px}.gift-strip p{margin:0;max-width:720px}.gift-strip .button{background:var(--cream);color:var(--blue);border-color:var(--cream)}.faq{max-width:850px;margin:45px 0}.faq h2{font-size:34px}.faq details{border-bottom:1px solid var(--line);padding:18px 0}.faq summary{font-weight:700;cursor:pointer;color:var(--blue)}.faq details p{margin:12px 0 0}.shop-footer{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:32px 0;border-top:1px solid var(--line);margin-top:50px;font-size:14px}.shop-footer nav{display:flex;gap:20px;flex-wrap:wrap}.breadcrumbs{font-size:14px;padding:26px 0;color:var(--muted)}.product-detail{display:grid;grid-template-columns:.95fr 1.05fr;gap:55px;align-items:start}.product-detail>figure{margin:0;position:sticky;top:24px}.product-detail .visual{max-width:520px;margin:0 auto}.product-detail figcaption{font-size:13px;color:var(--muted);margin-top:14px;text-align:center}.product-detail h1{font-size:clamp(32px,4vw,48px)}.product-detail .lead{font-size:19px}.product-detail h2{font-size:28px;margin-top:30px}.contents{padding-left:22px}.contents li{margin:8px 0}.purchase-panel{padding:24px;background:var(--cream);border:1px solid var(--line);border-radius:14px;margin-top:24px}.purchase-panel label{display:block;font-size:14px;font-weight:600}.purchase-panel select{display:block;width:100%;max-width:100%;padding:12px;border:1px solid #b7a992;border-radius:8px;background:white;margin:8px 0 18px;color:var(--ink);font-size:15px}.purchase-panel .price{font-size:34px}.variant-note{background:#efe5d3;border-radius:8px;padding:12px 15px;font-size:14px}.choice-list{border:0;padding:0;margin:20px 0}.choice-list legend{font-size:14px;font-weight:600;margin-bottom:8px}.choice-list label{font-size:14px;font-weight:400;display:flex;align-items:center;gap:10px;margin:8px 0}.choice-list input{width:17px;height:17px;flex:0 0 17px}.request-copy{width:100%;resize:vertical;min-height:130px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px;line-height:1.5;font-size:14px}.request-actions{margin:15px 0}.copy-status{min-height:0;font-size:14px;color:var(--blue);margin-top:10px}.copy-status:empty{display:none}.related{margin-top:50px}.related h2{font-size:32px}.detail-note{margin-top:22px}.main-shop-entry{margin:22px 0}
@media(max-width:1000px){.shop-header{align-items:flex-start;flex-direction:column}.shop-hero{gap:28px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-detail{gap:30px}}
@media(max-width:650px){.shop-wrap{width:calc(100% - 32px)}.shop-header{padding:20px 0}.shop-header nav{gap:15px;font-size:14px}.shop-hero{grid-template-columns:1fr;padding-top:30px;gap:24px}.shop-hero img{max-height:260px}.shop-hero h1{font-size:37px}.shop-hero p:not(.eyebrow){font-size:17px}.shop-notice{padding:14px 16px;font-size:14px}.filter-row{align-items:stretch;flex-direction:column}.search-label{width:100%}.product-grid{grid-template-columns:1fr;gap:20px}.product-card .visual{max-height:275px}.product-copy h2{font-size:27px}.filters{gap:7px}.filter{font-size:13px;padding:7px 12px}.catalog-summary{align-items:flex-start;flex-direction:column;gap:6px}.gift-strip{grid-template-columns:1fr;padding:24px}.gift-strip h2{font-size:29px}.gift-strip .button{justify-self:start}.product-detail{grid-template-columns:1fr}.product-detail>figure{position:static}.product-detail .visual{max-width:420px}.product-detail h1{font-size:35px}.purchase-panel{padding:18px}.purchase-panel select{font-size:14px}.shop-footer{margin-top:32px}.breadcrumbs{padding:22px 0}.related{margin-top:35px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.product-card{transition:none}}
.shop-hero>*,.product-detail>*{min-width:0}
.visual-cards{padding:0}.visual-cards:before,.visual-cards:after{inset:12% 27%}.visual-cards img{position:absolute;inset:12% 27%;width:46%;height:76%;aspect-ratio:auto;object-fit:contain;background:white}
.visual-box,.visual-paper,.visual-certificate{padding:0}.visual-box img{position:absolute;inset:16% 18%;width:64%;height:68%;aspect-ratio:auto}.visual-paper img,.visual-certificate img{position:absolute;inset:12% 18%;width:64%;height:76%;aspect-ratio:auto;object-fit:contain;background:white}
@media(max-width:650px){.shop-hero h1{font-size:clamp(31px,9.4vw,37px)}}
