*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--color-bg: #F1ECE0;--color-bg-alt: #E7E0CE;--color-surface: #FBF8F1;--color-text: #292521;--color-text-muted: #6E665A;--color-text-light: #A39C8C;--color-primary: #1F3552;--color-primary-dark: #16273C;--color-primary-light: #5A7494;--color-primary-pale: #DCE2E8;--color-accent: #BC3F2C;--color-accent-dark: #9A3220;--color-accent-light: #D98A78;--color-moss: #5C6B4F;--color-moss-pale: #E2E5DA;--color-border: #DDD6C5;--color-border-light: #E8E2D2;--shadow-sm: 0 1px 3px rgba(41, 37, 33, .04);--shadow-md: 0 4px 16px rgba(41, 37, 33, .05);--shadow-lg: 0 8px 24px rgba(41, 37, 33, .07);--shadow-hover: 0 10px 28px rgba(41, 37, 33, .08);--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 5rem;--font-serif: "Shippori Mincho", "Noto Serif JP", serif;--font-sans: "Zen Kaku Gothic New", "Helvetica Neue", sans-serif;--line-height: 1.75;--letter-spacing-tight: .01em;--radius-sm: 2px;--radius-md: 3px;--radius-lg: 4px;--radius-full: 100px;--transition-fast: .15s ease;--transition-base: .3s ease;--transition-slow: .5s ease;--container-max: 1100px;--container-narrow: 720px}@media(prefers-color-scheme:dark){:root{--color-bg: #1C1A16;--color-bg-alt: #25221C;--color-surface: #2A2620;--color-text: #EDE7D9;--color-text-muted: #A89F8C;--color-text-light: #6F6859;--color-primary: #7E9BC2;--color-primary-dark: #5A7494;--color-primary-light: #A4BBDA;--color-primary-pale: #2C3A4C;--color-accent: #E2715C;--color-accent-dark: #BC3F2C;--color-accent-light: #EDA493;--color-moss: #8FA17F;--color-moss-pale: #34392C;--color-border: #3C372D;--color-border-light: #322E26;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .2);--shadow-md: 0 4px 16px rgba(0, 0, 0, .25);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .3);--shadow-hover: 0 10px 28px rgba(0, 0, 0, .32)}}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);font-size:1rem;line-height:var(--line-height);color:var(--color-text);background-color:var(--color-bg);min-height:100vh;display:flex;flex-direction:column}main{flex:1}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:500;line-height:1.25;letter-spacing:var(--letter-spacing-tight);color:var(--color-text)}h1{font-size:2.75rem}h2{font-size:1.75rem}h3{font-size:1.25rem}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-dark)}img{max-width:100%;height:auto;display:block}.container{max-width:var(--container-max);margin:0 auto;padding:0 var(--space-lg)}.container--narrow{max-width:var(--container-narrow)}.section{padding:var(--space-3xl) 0}.section--sm{padding:var(--space-2xl) 0}.nav{position:sticky;top:0;z-index:100;background:#f1ece0e0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border)}@media(prefers-color-scheme:dark){.nav{background:#1c1a16e0}}.nav__inner{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);max-width:var(--container-max);margin:0 auto}.nav__brand{display:inline-flex;align-items:center;gap:.65rem;font-family:var(--font-serif);font-size:1.25rem;font-weight:600;color:var(--color-text);text-decoration:none;letter-spacing:var(--letter-spacing-tight)}.nav__brand:hover{color:var(--color-text)}.nav__brand-mark{width:24px;height:24px;border-radius:50%;border:1.25px solid var(--color-accent);flex-shrink:0}.nav__links{display:flex;gap:var(--space-xl);list-style:none}.nav__link{font-size:.875rem;font-weight:400;color:var(--color-text-muted);text-decoration:none;letter-spacing:.02em;transition:color var(--transition-fast);position:relative}.nav__link:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:1.5px;background:var(--color-primary);transition:width var(--transition-base)}.nav__link:hover,.nav__link--active{color:var(--color-text)}.nav__link:hover:after,.nav__link--active:after{width:100%}.nav__toggle{display:none;background:none;border:none;cursor:pointer;padding:var(--space-sm);color:var(--color-text)}.nav__toggle svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.5;fill:none}.nav__mobile{display:none;position:fixed;inset:0;z-index:200;background:var(--color-bg);padding:var(--space-xl);flex-direction:column;opacity:0;transition:opacity var(--transition-base)}.nav__mobile.is-open{display:flex;opacity:1}.nav__mobile-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3xl)}.nav__mobile-close{background:none;border:none;cursor:pointer;padding:var(--space-sm);color:var(--color-text)}.nav__mobile-close svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.5;fill:none}.nav__mobile-links{list-style:none;display:flex;flex-direction:column;gap:var(--space-xl)}.nav__mobile-link{font-family:var(--font-serif);font-size:1.5rem;color:var(--color-text-muted);text-decoration:none;transition:color var(--transition-fast)}.nav__mobile-link:hover{color:var(--color-text)}@media(max-width:768px){.nav__links{display:none}.nav__toggle{display:block}}.hero{padding:var(--space-3xl) 0;border-bottom:1px solid var(--color-border)}.hero__inner{display:grid;grid-template-columns:.85fr 1.15fr;gap:var(--space-3xl);align-items:center;max-width:var(--container-max);margin:0 auto;padding:0 var(--space-lg)}.hero__eyebrow{display:flex;align-items:center;gap:.6rem;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--color-moss);margin-bottom:var(--space-lg)}.hero__eyebrow:before{content:"";width:18px;height:1px;background:var(--color-moss)}.hero__title{font-size:3rem;line-height:1.25;letter-spacing:var(--letter-spacing-tight);color:var(--color-primary)}.hero__subtitle{margin-top:var(--space-lg);font-size:1.125rem;line-height:1.7;color:var(--color-text-muted);max-width:440px}.hero__image-link{display:block;position:relative}.hero__image{width:100%;aspect-ratio:4 / 3;object-fit:cover;border:1px solid var(--color-border);transition:opacity var(--transition-slow)}.hero__image-link:hover .hero__image{opacity:.92}.hero__stamp{position:absolute;bottom:-22px;right:28px;width:46px;height:46px;border-radius:50%;background:var(--color-bg);border:1.5px solid var(--color-accent);color:var(--color-accent);display:flex;align-items:center;justify-content:center;font-family:var(--font-serif);font-size:.7rem;transform:rotate(-6deg)}.hero__featured-label{margin-top:var(--space-lg);display:flex;justify-content:space-between;font-size:.85rem;color:var(--color-text-muted)}.hero__featured-label strong{color:var(--color-text);font-weight:500}@media(max-width:768px){.hero__inner{grid-template-columns:1fr;gap:var(--space-xl)}.hero__title{font-size:2.25rem}.hero{padding:var(--space-2xl) 0}}.tag-filter{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-xl)}.tag-btn{padding:.375rem .875rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:transparent;color:var(--color-text-muted);font-family:var(--font-sans);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);letter-spacing:.01em}.tag-btn:hover{border-color:var(--color-primary-light);color:var(--color-text)}.tag-btn.active{background:transparent;border-color:var(--color-primary);color:var(--color-primary)}.recipe-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-xl)}@media(max-width:900px){.recipe-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.recipe-grid{grid-template-columns:1fr}}.recipe-card{display:block;text-decoration:none;color:inherit;background:var(--color-surface);border:1px solid var(--color-border);transition:border-color var(--transition-base),box-shadow var(--transition-base)}.recipe-card:hover{border-color:var(--color-primary-light);box-shadow:var(--shadow-md)}.recipe-card__image-wrap{position:relative;overflow:hidden;aspect-ratio:5 / 4}.recipe-card__image{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.recipe-card:hover .recipe-card__image{transform:scale(1.04)}.recipe-card__body{padding:var(--space-lg)}.recipe-card__tags{position:absolute;top:.85rem;left:0;display:flex;gap:1px}.recipe-card__title{font-family:var(--font-serif);font-size:1.125rem;font-weight:600;line-height:1.35;margin-bottom:var(--space-sm);color:var(--color-text)}.recipe-card__desc{font-size:.875rem;line-height:1.6;color:var(--color-text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.recipe-card__meta{display:flex;align-items:center;justify-content:space-between;font-size:.75rem;color:var(--color-text-light);letter-spacing:.02em;border-top:1px solid var(--color-border-light);margin-top:var(--space-md);padding-top:var(--space-sm)}.recipe-card__stamp{width:20px;height:20px;border-radius:50%;border:1px solid var(--color-accent);flex-shrink:0}.badge{display:inline-block;padding:.3rem .7rem .3rem .85rem;background:var(--color-primary);color:var(--color-bg);font-size:.68rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.recipe-detail{max-width:var(--container-narrow);margin:0 auto;padding:var(--space-xl) var(--space-lg) var(--space-3xl)}.recipe-detail__back{display:inline-flex;align-items:center;gap:.375rem;font-size:.875rem;color:var(--color-text-muted);text-decoration:none;margin-bottom:var(--space-xl);transition:color var(--transition-fast)}.recipe-detail__back:hover{color:var(--color-text)}.recipe-detail__back svg{width:16px;height:16px;stroke:currentColor;stroke-width:1.5;fill:none}.recipe-detail__image{width:100%;aspect-ratio:16 / 9;object-fit:cover;border:1px solid var(--color-border)}.recipe-detail__tags{display:flex;flex-wrap:wrap;gap:1px;margin-top:var(--space-lg)}.recipe-detail__title{margin-top:var(--space-md);font-size:2.25rem}.recipe-detail__desc{margin-top:var(--space-md);font-size:1.0625rem;line-height:1.7;color:var(--color-text-muted)}.recipe-detail__meta{display:flex;flex-wrap:wrap;gap:var(--space-xl);margin-top:var(--space-lg);padding:var(--space-lg) 0;border-top:1px solid var(--color-border-light);border-bottom:1px solid var(--color-border-light)}.recipe-detail__meta-item{display:flex;align-items:center;gap:.375rem;font-size:.875rem;color:var(--color-text-muted)}.recipe-detail__meta-item svg{width:16px;height:16px;stroke:currentColor;stroke-width:1.5;fill:none}.recipe-detail__content{display:grid;gap:var(--space-3xl);margin-top:var(--space-2xl)}@media(min-width:800px){.recipe-detail{max-width:900px}.recipe-detail__content{grid-template-columns:1fr 260px}}.recipe-detail__section-title{font-size:1.375rem;margin-bottom:var(--space-lg);padding-bottom:var(--space-sm);border-bottom:2px solid var(--color-primary-pale);display:inline-block}.ingredient-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-sm)}.ingredient-list li{display:flex;align-items:baseline;gap:var(--space-sm);font-size:.9375rem;line-height:1.6;padding:var(--space-xs) 0}.ingredient-list li:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--color-primary);flex-shrink:0;margin-top:.5em}.ingredient-list a{color:var(--color-primary);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--color-primary-light);transition:text-decoration-color var(--transition-fast)}.ingredient-list a:hover{text-decoration-color:var(--color-primary)}.step-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-lg)}.step-list li{display:flex;gap:var(--space-md);font-size:.9375rem;line-height:1.7}.step-number{width:28px;height:28px;border-radius:50%;background:transparent;border:1px solid var(--color-primary-pale);color:var(--color-primary);font-size:.75rem;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.recipe-sidebar__title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);margin-bottom:var(--space-md)}.recipe-sidebar__products{display:flex;flex-direction:column;gap:var(--space-md)}.product-card{display:flex;gap:var(--space-md);padding:var(--space-md);background:var(--color-surface);border-radius:var(--radius-sm);border:1px solid var(--color-border-light);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.product-card:hover{border-color:var(--color-primary-light);box-shadow:var(--shadow-sm)}.product-card--full{flex-direction:column}@media(min-width:480px){.product-card--full{flex-direction:row}}.product-card__image{width:64px;height:64px;border-radius:var(--radius-sm);object-fit:cover;flex-shrink:0}.product-card--full .product-card__image{width:120px;height:100px}.product-card__info{display:flex;flex-direction:column;justify-content:space-between;gap:var(--space-sm);flex:1;min-width:0}.product-card__name{font-weight:500;font-size:.9375rem;line-height:1.3}.product-card__desc{font-size:.8125rem;line-height:1.5;color:var(--color-text-muted)}.product-card__discount{font-size:.75rem;color:var(--color-accent);font-weight:500}.product-card__footer{display:flex;align-items:center;gap:var(--space-md);margin-top:var(--space-xs)}.product-card__price{font-size:.9375rem;font-weight:600}.btn{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);text-decoration:none;border:1px solid transparent;line-height:1.4}.btn-outline{border-color:var(--color-border);background:transparent;color:var(--color-text)}.btn-outline:hover{border-color:var(--color-text-muted);background:var(--color-bg-alt)}.btn-outline svg{width:13px;height:13px;stroke:currentColor;stroke-width:2;fill:none}.btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-primary:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark)}.product-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-lg)}@media(min-width:768px){.product-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:600px){.product-grid{grid-template-columns:1fr}}.page-header{margin-bottom:var(--space-2xl)}.page-header__title{font-size:2.25rem;margin-bottom:var(--space-md)}.page-header__desc{font-size:1.0625rem;line-height:1.7;color:var(--color-text-muted);max-width:560px}.about-content{max-width:var(--container-narrow);margin:0 auto;padding:var(--space-3xl) var(--space-lg)}.about-content p{font-size:1.0625rem;line-height:1.8;color:var(--color-text-muted);margin-bottom:var(--space-lg)}.about-content p:last-child{margin-bottom:0}.about-content em{font-style:italic;color:var(--color-text)}.footer{border-top:1px solid var(--color-border);padding:var(--space-3xl) 0;text-align:center}.footer__mark{width:32px;height:32px;border-radius:50%;border:1.25px solid var(--color-accent);margin:0 auto var(--space-md)}.footer__brand{font-family:var(--font-serif);font-size:1.125rem;font-weight:600;color:var(--color-text);margin-bottom:var(--space-md)}.footer__tagline{font-size:.9375rem;color:var(--color-text-muted);max-width:440px;margin:0 auto var(--space-lg);line-height:1.6}.footer__divider{width:40px;height:1px;background:var(--color-border);margin:0 auto var(--space-lg)}.footer__copy{font-size:.75rem;color:var(--color-text-light)}.divider{width:40px;height:2px;background:var(--color-primary-light);margin:var(--space-lg) 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-center{text-align:center}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeInUp .6s ease both}.fade-in-delay-1{animation-delay:.1s}.fade-in-delay-2{animation-delay:.2s}.fade-in-delay-3{animation-delay:.3s}@media print{.nav,.footer,.recipe-sidebar,.recipe-detail__back{display:none!important}body{color:#000;background:#fff}.recipe-detail__content{display:block}.recipe-detail__image{max-height:300px}.recipe-card{break-inside:avoid;box-shadow:none;border:1px solid #ddd}}
