    :root{
      color-scheme:light;
      --wine:#7a004b;
      --orange:#dd9900;
      --cream:#efe6d2;
      --paper:#fff;
      --pink:#e0a32e;
      --ink:#321427;
      --muted:#6f594c;
      --line:rgba(122,0,75,.25);
      --company-magenta:#7E2B52;
      --company-mustard:#E0A32E;
      --company-cream:#EFE6D2;
      /* Canva上の文字要素は画像オブジェクト内で、原本のフォント名は確認できず。視覚比較で丸みと太さのある候補を採用。 */
      --display:"M PLUS Rounded 1c","Arial Rounded MT Bold","Hiragino Maru Gothic ProN","Yu Gothic UI","Yu Gothic",Meiryo,sans-serif;
      --sans:"M PLUS Rounded 1c","Hiragino Maru Gothic ProN","Yu Gothic UI","Yu Gothic",Meiryo,sans-serif;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.7;word-break:auto-phrase}
    img{display:block;max-width:100%;height:auto}
    a{color:inherit}
    button,input,select{font:inherit}
    button,a{-webkit-tap-highlight-color:transparent}
    button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--pink);outline-offset:3px}
    h1,h2,h3,p,figure{margin-top:0}
    h1,h2,h3{line-height:1.25}
    p:last-child{margin-bottom:0}
    .wrap{width:min(1180px,calc(100% - 48px));margin-inline:auto}
    .section{padding:64px 0}
    .section-title{margin:0;color:var(--wine);font-family:var(--display);font-size:clamp(2rem,4vw,3.5rem);font-weight:900;letter-spacing:.01em}
    .section-kicker{margin:0 0 8px;color:var(--wine);font-size:.72rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
    .section-intro{max-width:62ch;color:var(--muted);font-size:.96rem}
    .section-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:28px}
    .section-heading .section-intro{margin:0}
    .visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

    /* Canvaの二段ヘッダー：クリームのロゴ面＋クリムソンのナビ帯 */
    .site-header{position:relative;z-index:10;background:var(--paper)}
    .brand-row{min-height:92px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;padding-block:10px}
    .catalog-return{justify-self:start;color:var(--wine);font-size:.77rem;font-weight:800;text-decoration:none}
    .brand-lockup{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--wine);text-decoration:none}
    .brand-emblem{width:112px;height:66px;flex:0 0 auto;overflow:visible}
    .brand-wordmark{display:grid;justify-items:start;gap:0}
    .brand-word{color:var(--wine);font-family:'DM Serif Display',serif;font-size:clamp(2.2rem,4.2vw,3.25rem);font-weight:400;letter-spacing:.055em;line-height:.94;-webkit-text-stroke:.55px var(--orange);paint-order:stroke fill;text-shadow:1.2px 1.2px 0 var(--orange)}
    .brand-caption{margin:3px 0 0 2px;color:var(--pink);font-family:'Parisienne',cursive;font-size:1.05rem;font-weight:400;letter-spacing:.02em;line-height:1}
    .header-icons{justify-self:end;display:flex;align-items:center;gap:13px;color:var(--wine)}
    .header-icon{display:grid;justify-items:center;gap:2px;min-width:36px;font-size:.58rem;font-weight:800}
    .header-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
    .primary-nav{background:var(--wine);color:var(--paper)}
    .nav-inner{width:min(1180px,calc(100% - 48px));min-height:48px;margin-inline:auto;display:flex;align-items:center;justify-content:center;gap:clamp(20px,5vw,72px)}
    .primary-nav a{display:inline-flex;align-items:center;min-height:48px;color:var(--paper);font-size:.77rem;font-weight:900;letter-spacing:.13em;text-decoration:none}
    .primary-nav a:hover{text-decoration:underline;text-underline-offset:5px}
    .primary-nav a[aria-current="page"]{color:#ffd879;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}

    /* HOME：写真と文字を一つの舞台に重ね、商品と店名を同時に見せる */
    .hero{padding:30px 0 66px;background:var(--paper)}
    .hero-layout{position:relative;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);grid-template-rows:190px minmax(0,1fr);column-gap:16px;min-height:650px;align-items:start}
    .hero-masthead{position:relative;z-index:4;grid-column:1/-1;grid-row:1;align-self:end;padding:0 0 5px 7px;pointer-events:none}
    .hero-masthead .section-kicker{margin:0 0 12px;color:var(--wine);font-size:.79rem;letter-spacing:.16em}
    .hero-wordmark{width:max-content;max-width:none;margin:0;color:var(--wine);font-family:var(--display);font-size:clamp(140px,12.5vw,180px);font-weight:900;letter-spacing:-.035em;line-height:.96;white-space:nowrap;-webkit-text-stroke:1.5px var(--cream);paint-order:stroke fill;text-shadow:5px 6px 0 var(--orange),9px 10px 0 rgba(221,153,0,.88);transform:rotate(-2deg)}
    .hero-slices{position:absolute;right:11%;top:-14px;width:138px;height:auto;transform:rotate(8deg)}
    .hero-carousel{position:relative;z-index:1;grid-column:2;grid-row:2;align-self:start;min-width:0;margin:22px 8px 16px 0;padding:9px 9px 0;border:2px solid var(--wine);border-radius:10px 18px 10px 12px;background:var(--cream);box-shadow:13px 14px 0 var(--orange);transform:rotate(1.4deg)}
    .hero-slide{margin:0}
    .hero-slide[hidden]{display:none}
    .hero-slide img{width:100%;aspect-ratio:1.55;border-radius:5px 12px 0 0;object-fit:cover}
    .hero-slide figcaption{padding:9px 8px 3px;color:var(--wine);font-family:var(--display);font-size:.96rem;font-weight:800}
    .hero-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 12px 12px}
    .hero-control{display:grid;width:37px;height:37px;place-items:center;border:1px solid var(--wine);border-radius:50%;background:var(--paper);color:var(--wine);font-size:1.18rem;cursor:pointer}
    .hero-control:hover{background:var(--wine);color:var(--paper)}
    .hero-dots{display:flex;align-items:center;justify-content:center;gap:9px}
    .hero-dots button{width:11px;height:11px;padding:0;border:1px solid var(--wine);border-radius:50%;background:transparent;cursor:pointer}
    .hero-dots button[aria-current="true"]{background:var(--wine);box-shadow:0 0 0 3px rgba(122,0,75,.13)}
    .hero-stamp{position:absolute;right:-14px;top:24px;z-index:3;display:grid;place-items:center;width:92px;height:92px;border:3px solid var(--cream);border-radius:45% 55% 48% 52%;background:var(--wine);box-shadow:4px 5px 0 var(--orange);color:var(--paper);font-size:.84rem;font-weight:900;line-height:1.15;text-align:center;transform:rotate(12deg);pointer-events:none}
    .hero-copy{position:relative;z-index:2;grid-column:1;grid-row:2;align-self:start;max-width:430px;margin:16px 0 0 4px;padding:24px 25px 27px;border-left:7px solid var(--pink);border-radius:8px 22px 12px 19px;background:var(--cream);box-shadow:8px 9px 0 rgba(122,0,75,.15)}
    .hero-subtitle{margin:0 0 13px;color:var(--wine);font-family:var(--display);font-size:clamp(1.05rem,2vw,1.42rem);font-weight:900;letter-spacing:.015em;line-height:1.35}
    .hero-copy>p:not(.hero-subtitle){max-width:32ch;margin-bottom:22px;font-size:1rem}
    .hero-link{display:inline-flex;align-items:center;gap:12px;padding:12px 19px;background:var(--wine);color:var(--paper);font-weight:900;text-decoration:none}
    .hero-link span{font-size:1.25rem;line-height:1}
    .hero-link:hover{background:var(--pink);color:var(--wine)}
    .hero-moodboard{width:min(100%,150px);margin:20px 0 0 auto;padding:5px;border:2px solid var(--wine);background:var(--paper);box-shadow:7px 8px 0 var(--orange);transform:rotate(-6deg)}
    .hero-moodboard img{width:100%;height:auto}

    /* ABOUT：妻作成のキッチンカー写真は元幅638pxを超えて拡大しない */
    .about{padding:28px 0 76px;background:var(--paper);color:var(--ink)}
    .about-layout{display:grid;width:min(1180px,calc(100% - 48px));grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;margin-inline:auto}
    .about-photo{position:relative;z-index:1;width:min(100%,638px);margin:0;padding:9px 9px 29px;background:var(--cream);box-shadow:10px 11px 0 var(--orange);transform:rotate(-2deg)}
    .about-photo img{width:100%;height:auto}
    .about-photo figcaption{position:absolute;right:17px;bottom:4px;color:var(--wine);font-family:'Parisienne',cursive;font-size:1.1rem;line-height:1}
    .about-copy{position:relative;z-index:2;align-self:center;margin-left:-32px;padding:clamp(34px,6vw,76px);border-radius:14px 18px 9px 22px;background:var(--wine);color:var(--paper)}
    

    /* マスキングテープ: 大きめ・セロハンテープ台のギザギザ切り口・黄色ギンガム/ピンクストライプ */
    .about-copy::before,.about-photo::before,.home-roasts .roast-card::before{--tape-bg:repeating-linear-gradient(0deg,transparent 0 10px,rgba(255,255,255,.78) 10px 12px),repeating-linear-gradient(90deg,transparent 0 10px,rgba(255,255,255,.78) 10px 12px),#f6c744;position:absolute;z-index:5;width:150px;height:44px;content:"";background:var(--tape-bg);opacity:.94;pointer-events:none;clip-path:polygon(0 0,100% 0,calc(100% - 6px) 12.5%,100% 25%,calc(100% - 6px) 37.5%,100% 50%,calc(100% - 6px) 62.5%,100% 75%,calc(100% - 6px) 87.5%,100% 100%,0 100%,6px 87.5%,0 75%,6px 62.5%,0 50%,6px 37.5%,0 25%,6px 12.5%)}
    .about-copy::before{top:-24px;right:30px;width:190px;height:54px;transform:rotate(5deg)}
    .about-photo::before{top:-12px;left:14px;width:140px;height:42px;transform:rotate(-24deg)}
    .home-roasts .roast-card{position:relative;overflow:visible}
    .home-roasts .roast-card>img{border-radius:8px 12px 5px 10px}
    .home-roasts .roast-card::before{top:3px;left:-30px;width:84px;height:26px;transform:rotate(-38deg)}
    .home-roasts .roast-card:nth-child(even)::before{left:auto;right:-30px;transform:rotate(38deg);--tape-bg:repeating-linear-gradient(135deg,#f0a9ba 0 9px,#fbe3e8 9px 18px)}
    .about-copy .section-kicker{color:#ffd879}
    .about-copy .section-title{margin-bottom:20px;color:var(--paper);font-size:clamp(2rem,3.4vw,3.35rem)}
    .about-copy p{max-width:48ch;margin-bottom:14px}
    .about-signoff{margin-top:20px;color:#ffd879;font-family:var(--display);font-size:1.15rem;font-weight:800}

    /* MENU：押せる黄色い手順ボックスを、焼き方→品種→量の順に連ねる */
    .menu{background:var(--paper)}
    .menu .section-title{color:var(--wine)}
    .menu-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);align-items:start;gap:30px}
    .menu-steps{display:grid;gap:28px}
    .order-step{position:relative;min-width:0;margin:0;padding:20px 22px 23px;border:3px solid var(--wine);border-radius:21px 26px 18px 23px;background:var(--orange);box-shadow:6px 7px 0 var(--wine);color:var(--ink)}
    .order-step:not(:last-child)::after{position:absolute;right:29px;bottom:-36px;z-index:2;content:"↘";color:var(--wine);font:900 2.1rem/1 var(--display);transform:rotate(-12deg);pointer-events:none}
    .step-head{display:flex;align-items:center;gap:10px;min-height:44px;margin:0 0 12px;color:var(--wine);font-size:1.18rem;font-weight:900;line-height:1.25}
    .step-number{display:inline-grid;width:42px;height:42px;flex:0 0 42px;place-items:center;border:2px solid var(--paper);border-radius:43% 56% 45% 55%;background:var(--wine);box-shadow:0 0 0 2px var(--wine),3px 3px 0 var(--pink);color:var(--paper);font-size:1rem;font-weight:900;line-height:1;transform:rotate(-9deg)}
    .step-symbol{display:inline-grid;width:36px;height:36px;flex:0 0 36px;place-items:center;border-radius:48% 52% 46% 54%;background:var(--cream);transform:rotate(7deg)}
    .step-symbol svg{width:31px;height:31px;fill:none;stroke:var(--wine);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
    .step-help{margin:0 0 13px;color:#51253d;font-size:.82rem;font-weight:700}
    .order-step>label{display:flex;align-items:center;gap:12px;color:var(--wine);font-weight:900}
    .order-step select{min-width:180px;min-height:44px;padding:7px 34px 7px 12px;border:1px solid var(--wine);background:var(--paper);color:var(--wine);font-weight:900}
    .roast-options{display:grid;grid-template-columns:1fr 1fr;gap:9px}
    .roast-option{position:relative;display:flex;align-items:center;gap:9px;min-width:0;min-height:74px;padding:11px 12px;border:2px solid rgba(122,0,75,.4);border-radius:12px;background:var(--paper);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease}
    .roast-option input{width:18px;height:18px;flex:0 0 auto;margin:0;accent-color:var(--wine)}
    .roast-option:has(input:checked){border-color:var(--wine);background:var(--cream);box-shadow:3px 4px 0 var(--wine);transform:translate(-1px,-2px)}
    .roast-copy{display:grid;min-width:0;gap:2px}
    .roast-copy strong{color:var(--wine);font-size:.92rem}
    .roast-copy small{color:var(--muted);font-size:.7rem;line-height:1.4}
    .roast-badge{grid-column:1/-1;display:block;margin-top:4px;color:var(--wine);font-size:.65rem;font-weight:900}
    .budget-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 10px;padding:8px 10px;background:rgba(255,255,255,.58)}
    .budget-row label{font-size:.76rem;font-weight:900}
    .budget-row select{max-width:62%;min-height:38px;padding:5px 29px 5px 9px;border:1px solid var(--wine);background:var(--paper);color:var(--ink)}
    .shop-variety-list{display:grid;gap:7px}
    .shop-variety{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:68px;padding:6px 10px;border:2px solid rgba(122,0,75,.3);border-radius:12px;background:var(--paper);color:var(--ink);text-align:left;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease}
    .shop-variety[aria-pressed="true"]{border-color:var(--wine);background:var(--cream);box-shadow:3px 4px 0 var(--wine);transform:translate(-1px,-2px)}
    .shop-variety img{width:54px;height:54px;object-fit:cover}
    .shop-variety span{min-width:0}
    .shop-variety strong{display:block;color:var(--wine);font-size:.86rem}
    .shop-variety small{display:block;color:var(--muted);font-size:.69rem}
    .shop-variety .unit{color:var(--wine);font-size:.72rem;font-weight:900;white-space:nowrap}
    .shop-variety .variety-copy{display:block;min-width:0}
    .budget-message{margin:9px 0 0;color:#54283e;font-size:.73rem}
    .gram-options{display:flex;flex-wrap:wrap;gap:10px}
    .gram-option{position:relative;display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:8px 13px;border:1px solid var(--wine);border-radius:999px;background:var(--paper);color:var(--wine);font-weight:900;cursor:pointer}
    .gram-option input{width:17px;height:17px;margin:0;accent-color:var(--wine)}
    .menu-side{display:grid;gap:18px}
    .menu-photo{position:relative;margin:9px 7px 14px;padding:9px 9px 0;background:var(--cream);box-shadow:8px 9px 0 var(--orange);transform:rotate(1.8deg)}
    .menu-photo::after{position:absolute;top:-10px;left:44%;width:72px;height:22px;content:"";background:rgba(239,230,210,.82);transform:rotate(-5deg);pointer-events:none}
    .menu-photo img{width:100%;aspect-ratio:1.15;object-fit:cover}
    .menu-photo figcaption{padding:12px 8px;background:var(--cream);color:var(--wine);font-family:var(--display);font-size:1rem;font-weight:800}
    .selection-summary{padding:21px 22px;border-radius:18px;background:var(--wine);color:var(--paper)}
    .summary-label{margin:0 0 4px;color:#ffd879;font-size:.68rem;font-weight:900;letter-spacing:.13em}
    .selection-summary h3{margin:0 0 12px;color:var(--paper);font-family:var(--display);font-size:1.35rem;font-weight:800}
    .summary-lines{display:grid;gap:0}
    .summary-line{display:flex;justify-content:space-between;gap:16px;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.28);font-size:.86rem}
    .summary-line strong{text-align:right}
    .summary-price{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin:13px 0 4px}
    .summary-price span{font-size:.77rem}
    .summary-price strong{font-family:var(--display);font-size:2rem;font-weight:900;white-space:nowrap}
    .summary-reset{min-height:40px;margin-top:10px;padding:8px 13px;border:1px solid rgba(255,255,255,.8);background:transparent;color:var(--paper);font-size:.78rem;font-weight:800;cursor:pointer}
    .summary-reset:hover{background:rgba(255,255,255,.12)}

    /* SHOP：参考サイトの部品形状だけ借り、OIMONE独自の商品に置き換える */
    .shop{padding:0;background:var(--paper);color:var(--ink)}
    .shop-band{position:relative;overflow:hidden;padding:58px 0 50px;background:var(--wine);color:var(--paper)}
    .shop-band::before{position:absolute;top:-95px;right:-65px;width:205px;height:205px;content:"";border:3px solid rgba(221,153,0,.75);border-radius:47% 53% 60% 40%;transform:rotate(22deg);pointer-events:none}
    .shop-band .wrap{position:relative}
    .shop-band .page-section-heading .section-kicker{color:#ffd879}
    .shop-band .page-section-heading h2{color:var(--paper)}
    .shop-band .page-section-heading>p{color:rgba(255,255,255,.94)}
    .shop .section-kicker{color:#ffd879}
    .shop .section-title{color:var(--paper)}
    .shop .section-intro{color:rgba(255,255,255,.86)}
    .product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:22px;padding:20px 8px 18px}
    .product-card{position:relative;min-width:0;border:2px solid var(--cream);border-radius:13px 17px 9px 15px;background:var(--paper);box-shadow:6px 8px 0 var(--orange);color:var(--ink);text-decoration:none;transform:rotate(var(--tilt,0deg));transition:transform .2s ease}
    .product-card:nth-child(1){--tilt:-1.5deg}
    .product-card:nth-child(2){--tilt:1.1deg}
    .product-card:nth-child(3){--tilt:-.6deg}
    .product-card:nth-child(4){--tilt:1.4deg}
    .product-card:hover{transform:translateY(-4px) rotate(0deg)}
    .product-card img{width:100%;aspect-ratio:4/3;border:6px solid var(--paper);border-radius:12px 15px 0 0;object-fit:cover}
    .product-copy{padding:13px 14px 15px}
    .product-name{margin:0 0 6px;color:var(--wine);font-family:var(--display);font-size:1rem;font-weight:800}
    .gift-ribbon{position:absolute;top:10px;right:0;z-index:2;padding:6px 13px 6px 10px;background:var(--wine);color:var(--paper);font-size:.7rem;font-weight:900;clip-path:polygon(8px 0,100% 0,100% 100%,8px 100%,0 50%)}
    .product-sticker{position:absolute;top:-13px;left:14px;z-index:2;padding:3px 11px;border:2px solid var(--wine);border-radius:45% 55% 40% 60%;background:var(--cream);color:var(--wine);font-size:.68rem;font-weight:900;transform:rotate(-8deg)}
    .product-card:nth-child(4) .product-sticker{border-color:var(--paper);background:var(--wine);color:var(--paper);transform:rotate(7deg)}
    .product-crown{display:inline-block;width:20px;height:20px;margin-right:7px;vertical-align:-4px;fill:#ffd879;stroke:#ffd879;stroke-width:1.4;stroke-linejoin:round}
    .product-desc{min-height:2.8em;margin:0 0 9px;color:var(--muted);font-size:.75rem}
    .product-price{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding-top:8px;border-top:1px solid var(--line);color:var(--wine);font-size:.76rem;font-weight:900}
    .product-price strong{font-size:1.08rem}
    .shop-categories{padding:37px 0 48px;background:var(--paper);color:var(--ink)}
    .category-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:17px}
    .category-heading h3{margin:0;color:var(--wine);font-family:var(--display);font-size:1.4rem;font-weight:900}
    .category-heading p{margin:0;color:var(--muted);font-size:.8rem}
    .category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
    .category-tile{position:relative;display:block;min-width:0;overflow:hidden;border-radius:14px;color:var(--paper);text-decoration:none}
    button.category-tile{padding:0;border:0;font:inherit;text-align:left;cursor:pointer}
    .category-tile img{width:100%;aspect-ratio:1.35;object-fit:cover;transition:transform .25s ease}
    .category-tile:hover img{transform:scale(1.035)}
    .category-tile span{position:absolute;inset:auto 0 0;padding:22px 13px 10px;background:linear-gradient(transparent,rgba(35,12,25,.82));font-size:.88rem;font-weight:900}

    /* おいもチャート：切り抜いた実写真を比較座標上の選択点にする */
    .taste{background:var(--orange);color:var(--ink)}
    .taste .section-title{color:var(--wine)}
    .chart-board{position:relative;padding:30px 27px 24px;border-bottom:7px solid var(--wine);background:transparent}
    .chart-panel{padding:28px 22px 22px;border-radius:20px 26px 18px 24px;background:#e8ce57}
    .plaque-wrap{position:relative;width:max-content;max-width:100%;margin:-40px 0 30px 4px}
    .potato-plaque{position:relative;z-index:2;margin:0;padding:14px 34px 15px 30px;border:3px solid var(--orange);border-radius:42% 58% 38% 62% / 58% 42% 62% 38%;background:var(--wine);color:var(--paper);font-family:var(--display);font-size:1.2rem;font-weight:900;transform:rotate(-2deg)}
    .potato-plaque-en{position:absolute;top:-8px;left:6px;z-index:3;color:var(--wine);font-family:'Parisienne',cursive;font-size:.95rem;font-weight:400;transform:rotate(-9deg);pointer-events:none}
    .plaque-dots{position:absolute;left:96%;bottom:-34px;width:130px;height:80px;pointer-events:none;background-image:radial-gradient(circle at 6% 18%,var(--wine) 4px,transparent 4.5px),radial-gradient(circle at 26% 8%,var(--wine) 3.5px,transparent 4px),radial-gradient(circle at 46% 24%,var(--wine) 3px,transparent 3.5px),radial-gradient(circle at 16% 48%,var(--wine) 3px,transparent 3.5px),radial-gradient(circle at 40% 54%,var(--wine) 2.5px,transparent 3px),radial-gradient(circle at 60% 42%,var(--wine) 2.5px,transparent 3px),radial-gradient(circle at 30% 78%,var(--wine) 2px,transparent 2.5px),radial-gradient(circle at 54% 76%,var(--wine) 2px,transparent 2.5px),radial-gradient(circle at 74% 64%,var(--wine) 1.6px,transparent 2px)}
    .chart-layout{position:relative}
    .axis-y{position:absolute;z-index:2;top:8px;bottom:8px;left:0;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;margin:0;padding:0;color:var(--wine);font-size:.75rem;font-weight:900;text-align:left;pointer-events:none}
    .taste-plot{position:relative;min-width:0;min-height:400px;aspect-ratio:2.05;background:transparent}
    .plot-axis{position:absolute;z-index:1;pointer-events:none}
    .plot-axis-h{top:50%;right:4%;left:4%;height:2px;background:linear-gradient(to right,rgba(122,0,75,0),var(--wine) 65%)}
    .plot-axis-h::after{position:absolute;top:-5px;right:0;width:0;height:0;content:"";border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:10px solid var(--wine)}
    .plot-axis-v{top:6%;bottom:16%;left:44%;width:2px;background:linear-gradient(to top,rgba(122,0,75,0),var(--wine) 70%)}
    .plot-axis-v::before{position:absolute;top:-2px;left:-5px;width:0;height:0;content:"";border-right:6px solid transparent;border-left:6px solid transparent;border-bottom:10px solid var(--wine)}
    .chart-marker{position:absolute;left:var(--x);top:var(--y);z-index:2;display:grid;width:clamp(76px,10vw,132px);height:clamp(76px,10vw,132px);place-items:center;padding:0;border:0;background:transparent;transform:translate(-50%,-50%);cursor:pointer}
    .chart-marker img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 5px 5px rgba(44,18,25,.38))}
    .chart-marker[aria-pressed="true"]{z-index:3}
    .chart-marker[aria-pressed="true"]::after{position:absolute;inset:1px;content:"";border:2px dashed var(--wine);border-radius:45% 55% 47% 53%;transform:rotate(-9deg);pointer-events:none}
    .menu-flow .chart-marker .roast-selected-badge{top:-8px;right:-14px;padding:3px 7px;font-size:.62rem;white-space:nowrap}
    .chart-marker[aria-pressed="true"] .roast-selected-badge{opacity:1}
    .marker-name{position:absolute;top:95%;left:50%;padding:3px 7px;border:1px solid var(--wine);border-radius:4px 7px 3px 6px;background:var(--cream);color:var(--wine);font-size:.65rem;font-weight:900;line-height:1.25;white-space:nowrap;transform:translateX(-50%) rotate(-3deg);pointer-events:none}
    .chart-marker:focus-visible{outline:3px solid var(--pink);outline-offset:2px}
    .axis-x{display:flex;justify-content:space-between;gap:16px;margin:12px 0 0;color:var(--wine);font-size:.78rem;font-weight:900}
    .axis-x span:first-child{color:rgba(122,0,75,.45);font-weight:700}
    .chart-selected{display:flex;align-items:center;justify-content:center;gap:10px;width:max-content;max-width:100%;margin:18px auto 0;padding:8px 18px;border-radius:999px;background:var(--wine);color:var(--paper);font-size:.83rem}
    .chart-selected strong{color:#ffd879;font-size:1rem}
    .chart-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:16px 0 0;padding:0;list-style:none}
    .chart-legend button{min-height:40px;padding:7px 11px;border:2px solid var(--wine);border-radius:999px;background:rgba(255,255,255,.7);color:var(--wine);font-size:.75rem;font-weight:900;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}
    .chart-legend button[aria-pressed="true"]{background:var(--wine);color:var(--paper);box-shadow:3px 4px 0 var(--orange);transform:translate(-1px,-2px)}
    .chart-note{position:relative;width:max-content;max-width:100%;margin:20px 0 0 auto;padding:10px 22px;border:2px solid var(--wine);border-radius:46% 54% 48% 52%;background:var(--cream);box-shadow:5px 5px 0 rgba(122,0,75,.18);color:var(--wine);font-size:.79rem;font-weight:900;text-align:center;transform:rotate(-3deg)}
    .chart-note::before{position:absolute;bottom:-12px;left:26px;width:17px;height:17px;content:"";border-right:2px solid var(--wine);border-bottom:2px solid var(--wine);background:var(--cream);transform:rotate(35deg)}

    /* お取り寄せ：暗い焼き芋写真の面に、白いアイコン3つを明快に置く */
    .takeout{position:relative;padding:56px 0;background:#1f1718 url("assets/takeout-band.webp") center 52%/cover no-repeat;color:var(--paper)}
    .takeout:before{position:absolute;inset:0;content:"";background:linear-gradient(90deg,rgba(24,11,17,.88),rgba(24,11,17,.55))}
    .takeout-inner{position:relative}
    .takeout .section-kicker{color:#ffd879}
    .takeout-stamp{display:inline-block;margin:0 0 16px 18px;padding:7px 19px;border:2px solid var(--cream);border-radius:46% 54% 43% 57%;box-shadow:4px 4px 0 rgba(221,153,0,.8);color:var(--cream);font-family:var(--display);font-size:1rem;font-weight:900;line-height:1.2;transform:rotate(-4deg)}
    .takeout .section-title{margin-bottom:22px;color:var(--paper)}
    .takeout-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none}
    .takeout-point{display:flex;align-items:center;gap:14px;min-height:94px;padding:15px 17px;border:1px dashed rgba(255,255,255,.75);border-radius:13px 19px 12px 18px;background:rgba(37,15,26,.45)}
    .takeout-point:nth-child(2){transform:translateY(7px) rotate(1deg)}
    .takeout-point:nth-child(3){transform:rotate(-1deg)}
    .takeout-point svg{width:37px;height:37px;flex:0 0 auto;fill:none;stroke:var(--paper);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
    .takeout-point span{font-size:.89rem;font-weight:900}

    /* 秋の告知面 */
    .event{background:var(--paper);color:var(--ink)}
    .event-panel{position:relative;overflow:hidden;padding:clamp(25px,5vw,58px);border-radius:18px;background:var(--wine);color:var(--paper)}
    .event-panel::before,.event-panel::after{position:absolute;content:"";background:var(--orange);pointer-events:none}
    .event-panel::before{top:39%;left:-97px;width:170px;height:170px;border-radius:50%}
    .event-panel::after{top:-62px;right:-48px;width:150px;height:150px;border-radius:45% 55% 53% 47%;transform:rotate(24deg)}
    .event-panel>*{position:relative;z-index:1}
    .event .section-kicker{color:#ffd879}
    .event .section-title{color:var(--paper)}
    .event .section-heading .section-intro{color:rgba(255,255,255,.88)}
    .event-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.88fr);align-items:center;gap:35px}
    .event-copy{position:relative;padding:10px 4px 16px}
    .event-script{margin:0 0 9px;color:#ffd879;font-family:'Parisienne',cursive;font-size:clamp(1.5rem,2vw,2rem);line-height:1.1;transform:rotate(-3deg)}
    .event-date{display:inline-block;margin:0 0 14px;padding:6px 16px;border:3px solid var(--paper);border-radius:4px 10px 3px 9px;background:var(--cream);box-shadow:6px 7px 0 var(--orange);color:var(--wine);font-family:var(--display);font-size:clamp(3rem,7vw,6.5rem);font-weight:900;line-height:1;transform:rotate(-3deg)}
    .event-date small{font-family:var(--sans);font-size:.27em;letter-spacing:.12em}
    .event-title{margin:0 0 16px;color:var(--paper);font-family:var(--display);font-size:clamp(2rem,4vw,4.3rem);font-weight:900}
    .event-copy p:not(.event-date){max-width:38ch;color:rgba(255,255,255,.88)}
    .event-photo{position:relative;margin:4px 8px 16px;padding:10px;background:var(--cream);box-shadow:10px 12px 0 var(--orange);transform:rotate(3deg)}
    .event-photo::before{position:absolute;inset:-12px;content:"";border:1px solid rgba(239,230,210,.65);transform:rotate(-4deg);pointer-events:none}
    .event-photo::after{position:absolute;top:-8px;left:42%;width:76px;height:20px;content:"";background:rgba(239,230,210,.84);transform:rotate(-7deg);pointer-events:none}
    .event-photo img{width:100%;aspect-ratio:1.35;object-fit:cover}

    /* 店舗情報：情報表と見て分かる周辺案内 */
    .store{background:var(--paper)}
    .store-header{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:25px}
    .store-bubble{position:relative;margin:0;padding:12px 20px;border:2px solid var(--wine);border-radius:999px;background:var(--paper);color:var(--wine);font-family:var(--display);font-size:1rem;font-weight:800}
    .store-bubble:after{position:absolute;left:28px;bottom:-9px;width:15px;height:15px;content:"";border-right:2px solid var(--wine);border-bottom:2px solid var(--wine);background:var(--paper);transform:rotate(45deg)}
    .store-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:25px}
    .store-table{width:100%;border-collapse:collapse;background:var(--paper)}
    .store-table th,.store-table td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
    .store-table th{width:29%;color:var(--wine);font-size:.82rem;white-space:nowrap}
    .store-table td{font-size:.88rem}
    .store-map{min-width:0;padding:10px;background:var(--cream)}
    .store-map svg{display:block;width:100%;height:auto}
    .map-legend{display:flex;flex-wrap:wrap;gap:13px;margin:8px 4px 0;color:var(--wine);font-size:.72rem;font-weight:800}
    .map-key{display:inline-flex;align-items:center;gap:6px}
    .map-key i{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--pink)}
    .map-key i.route{width:19px;height:3px;border-radius:0;background:var(--orange)}

    /* フッター：唯一の自主制作・AI生成に関する注記 */
    .site-footer{padding:42px 0 20px;background:var(--wine);color:var(--paper)}
    .footer-main{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:25px;padding-bottom:25px}
    .footer-brand-cluster{display:grid;justify-items:start;gap:5px}
    .footer-brand{display:flex;align-items:center}
    .company-lockup{display:flex;align-items:center;gap:10px;color:var(--company-cream);text-decoration:none}
    .company-lockup svg{width:112px;height:61px;flex:0 0 auto;overflow:visible}
    .company-logo-word{font-family:'DM Serif Display',serif;font-size:18px;font-weight:400;letter-spacing:.18em;line-height:1}
    .company-logo-sub{display:block;margin:4px 0 0 2px;color:var(--company-mustard);font-family:'Parisienne',cursive;font-size:12px;font-weight:400;letter-spacing:.03em;line-height:1}
    .socials{display:flex;align-items:center;gap:10px;margin-left:122px}
    .footer-note{padding:14px 0;border-top:1px solid rgba(255,255,255,.35);border-bottom:1px solid rgba(255,255,255,.35);color:rgba(255,255,255,.88);font-size:.73rem}
    .footer-bottom{display:flex;justify-content:space-between;gap:18px;padding-top:16px;font-size:.72rem}
    .footer-bottom a{color:var(--paper);font-weight:800;text-decoration-thickness:1px;text-underline-offset:3px}

    @media(max-width:900px){
      .hero-layout{grid-template-columns:1fr;grid-template-rows:auto auto auto;gap:18px;min-height:0}
      .hero-masthead{grid-column:1;grid-row:1;align-self:auto;padding:0}
      .hero-wordmark{font-size:clamp(96px,11vw,122px)}
      .hero-carousel{grid-column:1;grid-row:2;align-self:auto;width:100%;margin:0 0 8px;transform:rotate(.7deg)}
      .hero-copy{grid-column:1;grid-row:3;max-width:640px;margin:0;padding:24px 26px}
      .menu-grid{grid-template-columns:minmax(0,1fr) minmax(260px,.8fr);gap:18px}
      .chart-marker{width:clamp(58px,8vw,86px);height:clamp(58px,8vw,86px)}
      .menu-flow .chart-marker .roast-selected-badge{top:-6px;right:-10px;padding:2px 5px;font-size:.52rem}
      .order-step{padding:17px}
      .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
      .event-layout{gap:22px}
      .store-layout{grid-template-columns:1fr 1fr;gap:16px}
    }
    @media(max-width:640px){
      .wrap,.nav-inner{width:min(100% - 32px,520px)}
      .section{padding:43px 0}
      .section-heading{display:block;margin-bottom:20px}
      .section-heading .section-intro{margin-top:10px}
      .brand-row{width:calc(100% - 28px);min-height:76px;grid-template-columns:1fr auto;gap:8px}
      .catalog-return{grid-column:1;grid-row:1;font-size:.67rem}
      .brand-lockup{grid-column:1;grid-row:2;justify-self:start;justify-content:flex-start;gap:5px}
      .brand-emblem{width:70px;height:46px}
      .brand-word{font-size:1.7rem;-webkit-text-stroke:.45px var(--orange);text-shadow:.8px .8px 0 var(--orange)}
      .brand-caption{margin:2px 0 0 1px;font-size:.86rem}
      .header-icons{grid-column:2;grid-row:1/3;gap:5px}
      .header-icon{min-width:31px;font-size:.52rem}
      .header-icon svg{width:19px;height:19px}
      .nav-inner{min-height:44px;justify-content:space-between;gap:4px}
      .primary-nav a{min-height:44px;font-size:.63rem;letter-spacing:.08em}
      .hero{padding:16px 0 34px}
      .hero-layout{gap:13px}
      .hero-masthead .section-kicker{margin-bottom:7px;font-size:.69rem;letter-spacing:.09em}
      .hero-wordmark{font-size:clamp(62px,17vw,88px);-webkit-text-stroke:.8px var(--cream);text-shadow:3px 4px 0 var(--orange),6px 7px 0 rgba(221,153,0,.85)}
      .hero-slices{display:none}
      .hero-carousel{margin:0 4px 5px 0;padding:5px 5px 0;box-shadow:7px 8px 0 var(--orange);transform:rotate(.5deg)}
      .hero-slide img{aspect-ratio:1.45}
      .hero-stamp{top:10px;right:-5px;width:64px;height:64px;font-size:.6rem}
      .hero-moodboard{width:min(100%,120px);margin-top:13px;box-shadow:5px 6px 0 var(--orange)}
      .hero-control{width:34px;height:34px}
      .hero-dots{gap:8px}
      .hero-copy{max-width:none;margin:0;padding:19px 19px 22px}
      .hero-subtitle{margin-bottom:10px;font-size:1.08rem}
      .hero-copy>p:not(.hero-subtitle){margin-bottom:14px;font-size:.9rem}
      .about{padding:18px 0 55px}
      .about-layout{width:calc(100% - 32px);grid-template-columns:1fr}
      .about-photo{width:calc(100% - 10px);margin-left:2px;box-shadow:7px 8px 0 var(--orange);transform:rotate(-1deg)}
      .about-copy{margin:-20px 0 0 12px;padding:38px 24px 34px}
      .about-copy .section-title{font-size:2rem}
      .menu-grid{grid-template-columns:1fr;gap:18px}
      .menu-side{grid-row:2}
      .menu-steps{gap:26px}
      .order-step{padding:16px 13px 19px;box-shadow:4px 5px 0 var(--wine)}
      .order-step:not(:last-child)::after{right:19px;bottom:-31px;font-size:1.7rem}
      .step-head{gap:8px;font-size:1.03rem}
      .step-number{width:38px;height:38px;flex-basis:38px;font-size:.9rem}
      .step-symbol{width:32px;height:32px;flex-basis:32px}
      .roast-options{grid-template-columns:1fr 1fr;gap:7px}
      .roast-option{min-height:79px;padding:9px 8px;gap:7px}
      .roast-option input{width:16px;height:16px}
      .roast-copy strong{font-size:.83rem}
      .roast-copy small{font-size:.64rem}
      .order-step>label{align-items:stretch;flex-direction:column;gap:6px}
      .order-step select{width:100%}
      .budget-row{align-items:flex-start;flex-direction:column;gap:5px}
      .budget-row select{max-width:100%;width:100%}
      .shop-variety{grid-template-columns:46px minmax(0,1fr);gap:8px;padding:6px}
      .shop-variety img{width:46px;height:46px}
      .shop-variety .unit{grid-column:2;white-space:normal;font-size:.67rem}
      .shop-variety strong{font-size:.8rem}
      .shop-variety small{font-size:.66rem}
      .menu-photo{margin:6px 4px 11px;box-shadow:6px 7px 0 var(--orange);transform:rotate(1deg)}
      .menu-photo img{aspect-ratio:1.42}
      .selection-summary{padding:18px}
      .shop-band{padding:42px 0 34px}
      .product-grid{gap:14px;padding:16px 6px 15px}
      .product-card:nth-child(odd){--tilt:-.6deg}
      .product-card:nth-child(even){--tilt:.6deg}
      .product-copy{padding:10px}
      .product-name{font-size:.93rem}
      .product-desc{min-height:0;font-size:.7rem}
      .product-price{align-items:flex-start;flex-direction:column;gap:2px}
      .product-price strong{font-size:1rem}
      .shop-categories{padding:28px 0 34px}
      .category-heading{display:block}
      .category-heading p{margin-top:4px}
      .category-grid{grid-template-columns:1fr 1fr;gap:9px}
      .category-tile img{aspect-ratio:1.18}
      .category-tile span{padding:19px 9px 8px;font-size:.77rem}
      .chart-board{padding:26px 11px 17px}
      .plaque-wrap{margin:-43px 0 24px 3px}
      .potato-plaque{padding:11px 26px 12px 24px;font-size:1.05rem}
      .plaque-dots{width:96px;height:60px}
      .axis-y{font-size:.64rem}
      .taste-plot{min-height:360px;aspect-ratio:.76}
      .chart-marker{width:52px;height:52px}
      .menu-flow .chart-marker .roast-selected-badge{top:-5px;right:-8px;padding:1.5px 4px;font-size:.46rem}
      .marker-name{display:none}
      .axis-x{font-size:.65rem}
      .chart-selected{margin-top:14px;font-size:.75rem}
      .chart-legend{gap:6px}
      .chart-legend button{min-height:38px;padding:6px 8px;font-size:.68rem}
      .chart-note{padding:8px 14px;font-size:.7rem}
      .takeout{padding:41px 0;background-position:60% center}
      .takeout-stamp{margin-left:8px;font-size:.9rem}
      .takeout-points{grid-template-columns:1fr;gap:8px}
      .takeout-point{min-height:68px;padding:11px 14px}
      .takeout-point:nth-child(2),.takeout-point:nth-child(3){transform:none}
      .takeout-point svg{width:31px;height:31px}
      .event-layout{grid-template-columns:1fr;gap:18px}
      .event-panel{padding:24px 18px;border-radius:14px}
      .event-date{font-size:4.2rem}
      .event-title{font-size:2.2rem}
      .event-photo{width:min(92%,420px);justify-self:center;margin:4px 10px 14px}
      .store-header{display:block}
      .store-bubble{display:inline-block;margin:15px 0 0 14px;font-size:.87rem}
      .store-layout{grid-template-columns:1fr;gap:15px}
      .store-table th,.store-table td{padding:10px 9px}
      .store-table th{width:25%;font-size:.74rem}
      .store-table td{font-size:.79rem}
      .footer-main{grid-template-columns:1fr;gap:18px}
      .company-lockup{gap:4px}
      .company-lockup svg{width:70px;height:51px}
      .company-logo-word{font-size:14px;letter-spacing:.1em}
      .company-logo-sub{margin-top:2px;font-size:9px}
      .socials{justify-content:flex-start;margin-left:74px}
      .footer-bottom{flex-direction:column;gap:8px}
    }
    @media(max-width:360px){
      .wrap,.nav-inner{width:calc(100% - 24px)}
      .about-layout{width:calc(100% - 24px)}
      .about-copy{margin:-16px 0 0;padding:27px 16px 24px;min-width:0}
      .about-copy .section-title{font-size:1.7rem}
      .primary-nav a{font-size:.58rem;letter-spacing:.04em}
      .brand-emblem{width:60px;height:40px}
      .brand-word{font-size:1.52rem}
      .header-icons{gap:2px}
      .header-icon{min-width:28px}
      .roast-copy small{font-size:.6rem}
      .shop-variety .unit{font-size:.64rem}
      .taste-plot{min-height:360px;aspect-ratio:.72}
      .chart-marker{width:48px;height:48px}
    }
    @media(prefers-reduced-motion:reduce){
      html{scroll-behavior:auto}
      *,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
    }

    /* 複数ページ共通：操作パーツ */
    .header-icons{gap:9px}
    .header-icon{position:relative;min-width:42px;padding:4px 3px;border:0;background:transparent;color:inherit;text-decoration:none;cursor:pointer}
    .header-icon:hover{background:var(--cream);border-radius:9px}
    .header-count{position:absolute;top:-3px;right:1px;display:grid;min-width:17px;height:17px;place-items:center;padding:0 4px;border:1.5px solid #fff;border-radius:999px;background:var(--wine);color:#fff;font-size:10px;font-weight:900}
    .header-count[hidden]{display:none}
    .nav-toggle{display:none;align-items:center;gap:8px;min-height:42px;padding:6px 12px;border:1px solid var(--wine);background:#fff;color:var(--wine);font-weight:900}
    .header-search{position:absolute;top:calc(100% + 6px);right:max(24px,calc((100% - 1180px)/2));z-index:20;display:flex;gap:7px;width:min(380px,calc(100% - 32px));padding:12px;border:2px solid var(--wine);background:#fff;box-shadow:5px 6px 0 var(--orange)}
    .header-search[hidden]{display:none}
    .header-search input{min-width:0;flex:1;padding:8px;border:1px solid var(--line)}
    .header-search button{padding:7px 12px;border:0;background:var(--wine);color:#fff;font-weight:900}
    .site-message{position:fixed;right:16px;bottom:16px;z-index:50;max-width:min(420px,calc(100% - 32px));padding:12px 16px;border:2px solid var(--wine);background:var(--cream);box-shadow:4px 5px 0 var(--orange);color:var(--wine);font-weight:800}
    .site-message[hidden]{display:none}
    .footer-nav{display:flex;flex-wrap:wrap;gap:8px 16px;margin:22px 0;padding-top:16px;border-top:1px dashed rgba(255,255,255,.4)}
    .footer-nav a{color:inherit;font-size:.78rem;font-weight:800;text-decoration-thickness:1px;text-underline-offset:3px}
    .site-footer .footer-main{align-items:center}
    .page-main{padding-block:38px 72px}
    .breadcrumb{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 18px;color:var(--muted);font-size:.78rem}
    .breadcrumb a{color:var(--wine);font-weight:800}
    .page-heading{margin:0 0 32px;padding:clamp(22px,4vw,42px);border-left:7px solid var(--pink);background:var(--cream);box-shadow:7px 8px 0 var(--orange)}
    .page-heading .section-title{margin:0 0 10px}
    .page-heading .section-intro{margin:0}
    .page-section{padding:34px 0}
    .page-section+.page-section{border-top:1px dashed var(--line)}
    .page-section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:20px}
    .page-section-heading h2{margin:0;color:var(--wine);font:900 clamp(1.4rem,3vw,2.2rem)/1.25 var(--display)}
    .page-section-heading p{max-width:42ch;margin:0;color:var(--muted);font-size:.9rem}
    .page-link{display:inline-flex;align-items:center;gap:10px;min-height:44px;margin-top:14px;padding:10px 16px;background:var(--wine);color:#fff;font-weight:900;text-decoration:none}
    .page-link:hover{background:var(--pink);color:var(--wine)}
    .page-link--outline{border:2px solid var(--wine);background:#fff;color:var(--wine)}
    .paper-panel{position:relative;padding:clamp(20px,3.5vw,38px);border:2px solid var(--wine);border-radius:12px 18px 10px 15px;background:var(--cream);box-shadow:7px 8px 0 var(--orange)}
    .wine-panel{padding:clamp(22px,4vw,42px);border-radius:14px 20px 12px 18px;background:var(--wine);color:#fff}
    .wine-panel .section-title,.wine-panel h2,.wine-panel h3{color:#fff}
    .paper-photo{margin:0;padding:8px 8px 22px;background:#fff;box-shadow:8px 9px 0 var(--orange)}
    .paper-photo img{width:100%;height:auto}
    .paper-photo figcaption{padding:8px 7px 0;color:var(--wine);font-family:var(--display);font-weight:800}
    .page-two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
    .page-three-col{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
    .page-four-col{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
    .category-controls{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:22px 0;padding:14px;border:1px solid var(--line);background:#fff}
    .category-controls label{display:grid;gap:5px;color:var(--wine);font-size:.82rem;font-weight:900}
    .category-controls select{min-width:170px;min-height:42px;padding:7px 10px;border:1px solid var(--wine);background:#fff;color:var(--ink)}
    .category-buttons{display:flex;flex-wrap:wrap;gap:8px}
    .category-buttons button,.search-suggestions button{min-height:40px;padding:7px 12px;border:1px solid var(--wine);background:#fff;color:var(--wine);font-weight:800;cursor:pointer}
    .category-buttons button[aria-pressed=true]{background:var(--wine);color:#fff}
    .shop-status{margin:12px 0;color:var(--wine);font-weight:900}
    .menu-context{display:flex;flex-wrap:wrap;gap:8px 16px;margin:12px 0;padding:12px 15px;border-left:5px solid var(--orange);background:var(--cream);color:var(--wine)}
    .menu-context[hidden]{display:none}
    .empty-state{padding:22px;border:1px dashed var(--wine);background:#fff;color:var(--ink)}
    .product-card{position:relative;min-width:0}
    .product-card-main{display:block;overflow:visible;border:6px solid #fff;border-radius:12px;background:#fff;color:var(--wine);box-shadow:5px 6px 0 var(--orange);text-decoration:none;transform:rotate(var(--tilt,0deg))}
    .product-card-main:hover{transform:rotate(var(--tilt,0deg)) translateY(-3px)}
    .product-card-main>img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:5px}
    .product-card .product-copy{padding:12px 10px 9px}
    .product-card .product-desc{min-height:0}
    .favorite-toggle{display:inline-flex;align-items:center;gap:6px;min-height:38px;margin:9px 0 0;padding:6px 10px;border:1px solid var(--wine);border-radius:999px;background:#fff;color:var(--wine);font-size:.78rem;font-weight:900;cursor:pointer}
    .favorite-toggle[aria-pressed=true]{background:var(--wine);color:#fff}
    .favorite-toggle>span:first-child{font-size:1.2rem;line-height:1}
    .product-grid{align-items:stretch}
    .product-detail{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(24px,5vw,62px);align-items:start;min-width:0}
    .product-detail>*{min-width:0}
    .product-gallery-main{margin:0;padding:9px 9px 26px;background:#fff;box-shadow:9px 10px 0 var(--orange);transform:rotate(-.5deg)}
    .product-gallery-main img{width:100%;aspect-ratio:4/3;object-fit:cover}
    .gallery-thumbs{display:flex;gap:10px;margin-top:17px}
    .gallery-thumb{width:clamp(90px,18vw,150px);padding:4px;border:2px solid transparent;background:#fff;cursor:pointer}
    .gallery-thumb[aria-pressed=true]{border-color:var(--wine);box-shadow:3px 4px 0 var(--orange)}
    .gallery-thumb img{width:100%;aspect-ratio:4/3;object-fit:cover}
    .product-detail-copy{padding:clamp(20px,3vw,34px);border:2px solid var(--wine);background:var(--cream);box-shadow:7px 8px 0 var(--orange)}
    .product-detail-copy h1{margin:4px 0 12px;color:var(--wine);font:900 clamp(1.8rem,3.2vw,2.7rem)/1.2 var(--display)}
    .product-detail-copy .detail-lead{font-size:1.02rem}
    .detail-badge{display:inline-block;padding:5px 10px;border-radius:2px 12px 2px 10px;background:var(--wine);color:#fff;font-size:.76rem;font-weight:900;transform:rotate(-2deg)}
    .detail-price{margin:18px 0;color:var(--wine);font:900 2rem/1 var(--display)}
    .detail-fields{display:grid;gap:13px;margin:18px 0}
    .detail-fields label{display:grid;gap:6px;font-weight:900}
    .detail-fields select,.detail-fields input{width:100%;min-width:0;max-width:100%;min-height:44px;padding:8px 10px;border:1px solid var(--wine);background:#fff;color:var(--ink)}
    .detail-choice{margin:10px 0;color:var(--muted);font-size:.86rem}
    .detail-actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center}
    .detail-actions button{min-height:46px;padding:10px 16px;border:0;background:var(--wine);color:#fff;font-weight:900;cursor:pointer}
    .detail-actions button.secondary{border:2px solid var(--wine);background:#fff;color:var(--wine)}
    .detail-actions button:hover{background:var(--pink);color:var(--wine)}
    .cart-lines{display:grid;gap:14px}
    .cart-line{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:18px;align-items:center;padding:13px;border:1px solid var(--line);background:#fff}
    .cart-line>img{width:150px;aspect-ratio:4/3;object-fit:cover}
    .cart-line-copy h2{margin:0 0 7px;color:var(--wine);font-size:1.05rem}
    .cart-line-copy h2 a{text-decoration:none}
    .cart-line-copy p{margin:4px 0}
    .cart-line-actions{display:flex;flex-wrap:wrap;gap:5px;justify-content:end}
    .cart-line-actions button{min-width:38px;min-height:38px;padding:5px 9px;border:1px solid var(--wine);background:#fff;color:var(--wine);font-weight:900;cursor:pointer}
    .cart-summary{max-width:520px;margin:28px 0 0 auto;padding:22px;border:2px solid var(--wine);background:var(--cream);box-shadow:6px 7px 0 var(--orange)}
    .cart-summary[hidden],.cart-empty[hidden]{display:none}
    .cart-summary-row{display:flex;justify-content:space-between;gap:18px;padding:9px 0;border-bottom:1px solid var(--line)}
    .cart-total{font-size:1.2rem;font-weight:900}
    .cart-empty{padding:30px;border:2px dashed var(--wine);background:#fff;text-align:center}
    .store-table{width:100%;border-collapse:collapse;background:#fff}
    .store-table th,.store-table td{padding:13px 15px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
    .store-table th{width:180px;color:var(--wine);font-weight:900}
    .map-illustration{width:100%;height:auto;border:2px solid var(--wine);background:#f4e6c7}
    .faq-list details{margin:9px 0;padding:12px 15px;border:1px solid var(--wine);background:#fff}
    .faq-list summary{color:var(--wine);font-weight:900;cursor:pointer}
    .news-article{padding:22px 0;border-bottom:1px solid var(--line);scroll-margin-top:20px}
    .news-date{margin:0;color:var(--wine);font-size:.82rem;font-weight:900;letter-spacing:.08em}
    .news-article h2{margin:5px 0 9px;color:var(--wine);font:900 1.35rem/1.3 var(--display)}
    .event-date{color:var(--wine)!important}
    .social-action{display:grid;width:32px;height:32px;min-height:32px;place-items:center;margin:0;padding:0;border:0;border-radius:50%;background:transparent;color:var(--paper);cursor:pointer}
    .social-action svg{display:block;width:19px;height:19px;fill:currentColor}
    .social-action .social-instagram{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
    .social-action .social-instagram .social-dot{fill:currentColor;stroke:none}
    .social-action .social-facebook-disc,.social-action .social-line-bubble,.social-action .social-tiktok-tile{fill:currentColor}
    .social-action .social-facebook-mark,.social-action .social-line-word,.social-action .social-tiktok-mark{fill:var(--wine)}
    .social-action .social-line{width:23px;height:23px}
    .social-action .social-line-word{font-family:Arial,sans-serif;font-size:7.2px;font-weight:900;letter-spacing:0}
    .social-action:hover{opacity:.78}
    .social-action:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
    .search-news{margin:18px 0;padding:17px;border-left:5px solid var(--orange);background:var(--cream)}
    .search-news h2{color:var(--wine);font-size:1.1rem}
    .result-count{color:var(--wine);font-weight:900}
    .search-suggestions{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}
    .event-map{width:100%;height:auto;border:2px solid var(--wine);background:#f5e8cb}
    .news-list-simple{display:grid;gap:0}
    .news-list-simple a{padding:11px 0;border-bottom:1px solid var(--line);color:var(--wine);font-weight:900;text-decoration:none}
    .availability-note{padding:12px 15px;border-left:5px solid var(--pink);background:#fff;color:var(--muted);font-size:.85rem}
    .roast-card{overflow:hidden;border:5px solid #fff;border-radius:12px 16px 9px 14px;background:#fff;box-shadow:6px 7px 0 var(--orange);transform:rotate(var(--tilt,0deg))}
    .roast-card:nth-child(odd){--tilt:-.7deg}.roast-card:nth-child(even){--tilt:.6deg}
    .roast-card>img{width:100%;aspect-ratio:1.25;object-fit:cover}
    .roast-card>div{padding:12px}
    .roast-card h3{margin:0 0 5px;color:var(--wine);font:900 1.08rem/1.25 var(--display)}
    .roast-card p{margin:0 0 6px;font-size:.84rem}
    .roast-card small{color:var(--muted);font-size:.75rem}
    .feature-list{display:grid;gap:14px;padding-left:24px}
    .feature-list li{padding-left:6px}
    .feature-list strong,.feature-list span{display:block}
    .feature-list strong{color:var(--wine);font-size:1.05rem}
    .feature-list span{color:var(--muted);font-size:.9rem}
    .detail-fixed-choice{padding:10px 12px;border:1px solid var(--line);background:#fff}
    .detail-fixed-choice p{margin:4px 0 0;color:var(--muted)}
    .event-details{display:grid;gap:0;margin:16px 0}
    .event-details>div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:14px;padding:11px 0;border-bottom:1px solid var(--line)}
    .event-details dt{color:var(--wine);font-weight:900}
    .event-details dd{margin:0}
    @media(max-width:900px){
      .product-detail{grid-template-columns:minmax(0,1fr) minmax(280px,.9fr);gap:26px}
      .page-four-col{grid-template-columns:repeat(2,minmax(0,1fr))}
      .cart-line{grid-template-columns:110px minmax(0,1fr)}
      .cart-line>img{width:110px}
      .cart-line-actions{grid-column:2;justify-content:start}
    }
    @media(max-width:640px){
      .brand-row{grid-template-columns:1fr auto;min-height:79px;gap:7px;padding-block:8px}
      .catalog-return{grid-column:1/-1;grid-row:1;font-size:.68rem}
      .brand-lockup{grid-column:1;grid-row:2;justify-content:start}
      .brand-emblem{width:62px;height:43px}
      .brand-word{font-size:1.85rem}
      .brand-caption{font-size:.82rem}
      .header-icons{grid-column:2;grid-row:2;gap:1px}
      .header-icon{min-width:34px;font-size:.52rem}
      .header-icon svg{width:20px;height:20px}
      .nav-toggle{display:inline-flex;position:static;margin:5px 12px;background:#fff}
      .primary-nav{padding-top:0}
      .primary-nav{display:none}
      body.nav-open .primary-nav{display:block}
      .nav-inner{width:calc(100% - 24px);min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:0 12px;padding:4px 0 9px}
      .primary-nav a{min-height:42px;font-size:.75rem}
      .header-search{top:100%;right:12px}
      .page-main{padding-block:24px 48px}
      .page-heading{margin-bottom:23px;padding:19px 17px}
      .page-section{padding:25px 0}
      .page-section-heading{display:block;margin-bottom:14px}
      .page-section-heading p{margin-top:7px}
      .page-two-col,.page-three-col{grid-template-columns:1fr}
      .page-four-col{grid-template-columns:1fr 1fr;gap:10px}
      .category-controls{align-items:stretch;flex-direction:column;padding:12px}
      .category-controls label,.category-controls select{width:100%}
      .product-detail{grid-template-columns:1fr;gap:25px}
      .product-detail-copy{padding:19px}
      .gallery-thumbs{gap:8px}
      .cart-line{grid-template-columns:78px minmax(0,1fr);gap:11px;padding:10px}
      .cart-line>img{width:78px}
      .cart-line-copy h2{font-size:.94rem}
      .cart-line-actions{grid-column:1/-1}
      .cart-line-actions button{flex:1}
      .cart-summary{margin-top:20px;padding:17px}
      .store-table th{width:31%;padding:10px 8px;font-size:.77rem}
      .store-table td{padding:10px 8px;font-size:.83rem}
      .footer-nav{gap:8px 12px}
      .roast-card>div{padding:9px}
      .roast-card h3{font-size:.94rem}
      .roast-card p{font-size:.75rem}
      .event-details>div{grid-template-columns:92px minmax(0,1fr);gap:9px}
    }
    @media(max-width:360px){
      .brand-word{font-size:1.6rem}
      .header-icon{min-width:30px}
      .page-four-col{gap:8px}
      .cart-line{grid-template-columns:64px minmax(0,1fr)}
      .cart-line>img{width:64px}
    }

    .site-header,.brand-row{background:var(--company-cream)}
    body>svg[width="0"][height="0"]{position:absolute;top:0;left:0;overflow:hidden}
    .brand-row{min-height:clamp(64px,8.2vw,104px);grid-template-columns:minmax(0,1fr) auto auto;gap:clamp(6px,1.3vw,16px)}
    .brand-row .brand-lockup.company-lockup{grid-column:1;justify-self:start;justify-content:flex-start;margin:0;color:var(--company-magenta);text-decoration:none}
    .brand-row .company-lockup svg,.brand-row .brand-emblem{width:clamp(56px,7vw,112px);height:auto;flex:0 0 auto;overflow:visible}
    .brand-row .brand-wordmark{display:block}
    .brand-row .company-logo-word{color:var(--company-magenta);font-family:"DM Serif Display",serif;font-size:clamp(10px,1.1vw,18px);font-weight:400;letter-spacing:.18em;line-height:1}
    .brand-row .company-logo-sub{display:block;margin:4px 0 0 2px;color:var(--company-mustard);font-family:"Parisienne",cursive;font-size:clamp(7px,.75vw,12px);font-weight:400;letter-spacing:.03em;line-height:1}
    .brand-row .store-note-cta{grid-column:2;justify-self:end}
    .brand-row>.header-icons{position:static;grid-column:3;justify-self:end;gap:clamp(6px,1vw,13px);color:var(--company-magenta);transform:none}
    .site-header .catalog-return{display:none!important}
    .brand-emblem text,.company-lockup text{font-family:"DM Serif Display",serif!important}
    .primary-nav .nav-inner{position:relative;width:min(1320px,calc(100% - 48px));min-height:clamp(48px,6.3vw,80px);gap:clamp(14px,2.4vw,38px)}
    .primary-nav a{min-height:clamp(48px,6.3vw,80px);font-family:"DM Serif Display",serif;font-size:clamp(14px,2.2vw,28px);font-weight:400;letter-spacing:.07em;white-space:nowrap}
    .primary-nav a[aria-current="page"]{color:var(--paper);text-decoration:none}
    .primary-nav .header-icons{position:absolute;top:50%;right:0;display:flex;align-items:center;gap:clamp(8px,1.4vw,18px);color:var(--paper);transform:translateY(-50%)}
    .primary-nav .header-icon{position:relative;display:grid;width:clamp(24px,3.3vw,42px);height:clamp(26px,3.6vw,46px);min-width:clamp(24px,3.3vw,42px);min-height:0;place-items:center;padding:0;color:inherit;font-family:inherit;font-size:inherit;letter-spacing:normal}
    .primary-nav .header-icon svg{width:clamp(20px,2.9vw,37px);height:clamp(20px,2.9vw,37px);stroke-width:1.5}
    .primary-nav .header-icon>span:not(.header-count){display:none!important}
    .store-note-cta{display:inline-flex;align-items:center;justify-content:center;min-width:clamp(60px,8.1vw,102px);min-height:clamp(24px,3.3vw,42px);padding:clamp(4px,.63vw,8px) clamp(7px,1.1vw,14px);border:0;border-radius:2px;background:var(--company-magenta);color:#fff;font-family:var(--sans);font-size:clamp(8px,1vw,12px);font-weight:700;letter-spacing:.02em;text-decoration:none;white-space:nowrap}
    .store-note-cta:hover{background:var(--wine)}
    @media(min-width:641px){
      .brand-row{width:100%;padding-right:clamp(70px,11.5vw,184px);padding-left:clamp(80px,15vw,240px);grid-template-columns:minmax(0,1fr) auto;gap:clamp(10px,2vw,24px)}
      .brand-row .brand-lockup.company-lockup{grid-column:1;justify-self:start}
      .brand-row .store-note-cta{grid-column:2;justify-self:end}
    }

    .hero-layout{grid-template-rows:auto minmax(0,1fr)}
    .nb{display:inline-block}
    .hero-masthead{padding-bottom:16px}
    .hero-masthead .section-kicker{position:relative;display:inline-block}
    .hero-wordmark{display:block;width:min(820px,100%);height:auto;aspect-ratio:3/1;margin:-6% 0 -5%;color:transparent;font-size:0;line-height:0;-webkit-text-stroke:0;text-shadow:none;background:url("assets/oimone-wordmark-hero-v2.webp") left center/contain no-repeat;transform:rotate(-1.5deg)}
    .hero-wordmark .visually-hidden{position:absolute}
    .hero-slices{left:calc(100% + 12px);right:auto;top:50%;z-index:6;width:clamp(64px,7vw,88px);height:auto;transform:translateY(-64%) rotate(8deg)}

    .step-symbol{display:grid;place-items:center}
    .step-symbol svg{display:block;width:29px;height:29px;fill:none;stroke:var(--wine);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
    .step-symbol svg.step-icon--flame path:first-child{fill:var(--pink);stroke:var(--wine);stroke-width:1.3}
    .step-symbol svg.step-icon--flame .step-icon-inner{fill:var(--orange);stroke:var(--wine);stroke-width:1.1}
    .step-symbol svg.step-icon--potato .potato-body{fill:var(--wine);stroke:var(--wine);stroke-width:1}
    .step-symbol svg.step-icon--potato .potato-cut{fill:var(--pink);stroke:var(--wine);stroke-width:1.5}
    .oimone-crown{display:inline-block;width:15px;height:15px;flex:0 0 15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:-2px}
    .product-sticker{display:inline-flex;align-items:center;gap:4px;padding-inline:9px}
    .detail-badge{display:inline-flex;align-items:center;gap:5px}

    .store-bubble{padding:14px 22px;border-radius:26px 23px 29px 21px;background:var(--cream);transform:rotate(-.8deg);filter:drop-shadow(2px 3px 0 rgba(122,0,75,.14))}
    .store-bubble:before,.store-bubble:after{position:absolute;content:"";background:var(--paper);pointer-events:none}
    .store-bubble:before{left:28px;bottom:-12px;width:22px;height:20px;background:var(--wine);clip-path:polygon(6% 0,100% 4%,18% 100%);transform:rotate(6deg)}
    .store-bubble:after{left:31px;bottom:-8px;width:16px;height:14px;border:0;background:var(--cream);clip-path:polygon(0 0,100% 8%,19% 100%);transform:rotate(6deg)}

    .page-top-button{position:fixed;right:max(14px,calc((100vw - 1220px)/2));bottom:18px;z-index:30;width:clamp(104px,13vw,164px);padding:0;border:0;background:transparent;cursor:pointer;transform:rotate(-1deg);filter:drop-shadow(2px 4px 0 rgba(50,20,39,.18))}
    .page-top-button img{display:block;width:100%;height:auto}
    .page-top-button:focus-visible{outline:3px solid var(--orange);outline-offset:5px;border-radius:50%}
    .site-footer{position:relative;padding-bottom:104px}
    .page-top-button.is-docked{position:absolute;right:max(14px,calc((100% - 1220px)/2));bottom:18px}
    @media(prefers-reduced-motion:reduce){.page-top-button{scroll-behavior:auto}}

    @media(max-width:900px){
      .hero-layout{grid-template-rows:auto auto auto}
      .hero-masthead{position:relative;z-index:4}
      .hero-wordmark{width:min(100%,820px)}
    }
    @media(min-width:641px) and (max-width:900px){
      .brand-row{width:100%;min-height:clamp(64px,8.2vw,104px);grid-template-columns:minmax(0,1fr) auto;grid-template-rows:1fr;gap:clamp(8px,1.5vw,14px);padding-top:0;padding-bottom:0}
      .brand-row .brand-lockup.company-lockup{grid-column:1;grid-row:1;justify-self:start;gap:clamp(5px,.63vw,8px)}
      .brand-row .company-lockup svg,.brand-row .brand-emblem{width:clamp(56px,7vw,80px)}
      .brand-row .company-logo-word{font-size:clamp(10px,1.4vw,14px)}
      .brand-row .company-logo-sub{font-size:clamp(7px,.8vw,9px)}
      .brand-row .store-note-cta{grid-column:2;grid-row:1;justify-self:end;min-width:clamp(60px,8.1vw,72px);min-height:clamp(24px,3.3vw,30px);padding:4px 8px;font-size:clamp(8px,1vw,9px)}
      .primary-nav .nav-inner{width:calc(100% - 36px);min-height:clamp(48px,6.3vw,80px);gap:clamp(12px,2.4vw,22px)}
      .primary-nav a{min-height:clamp(48px,6.3vw,80px);font-size:clamp(14px,2.2vw,20px);letter-spacing:.05em}
      .primary-nav .header-icons{gap:clamp(5px,1.2vw,11px)}
      .primary-nav .header-icon{width:clamp(24px,3vw,34px);height:clamp(26px,3.6vw,40px);min-width:clamp(24px,3vw,34px)}
      .primary-nav .header-icon svg{width:clamp(20px,2.9vw,28px);height:clamp(20px,2.9vw,28px)}
      .taste-plot{min-height:300px;aspect-ratio:1.45}
    }
    @media(max-width:640px){
      .brand-row{grid-template-columns:1fr;grid-template-rows:auto auto;justify-items:center;gap:6px;padding-block:7px}
      .brand-row .brand-lockup.company-lockup{grid-column:1;grid-row:1;justify-self:center;gap:5px}
      .brand-row .company-lockup svg,.brand-row .brand-emblem{width:clamp(52px,14vw,64px)}
      .brand-row .company-logo-word{font-size:10px;letter-spacing:.12em}
      .brand-row .company-logo-sub{font-size:7px}
      .brand-row>.header-icons{position:static;grid-column:1;grid-row:2;justify-self:center;gap:5px;color:var(--company-magenta);transform:none}
      .brand-row .header-icon{min-width:36px;min-height:38px;padding:2px}
      .brand-row .header-icon svg{width:21px;height:21px}
      .nav-toggle{display:flex;width:100%;min-height:56px;align-items:center;justify-content:flex-start;margin:0;padding:0 18px;border:0;border-radius:0;background:var(--wine);color:var(--paper);font-family:"DM Serif Display",serif;font-size:.92rem;font-weight:400;letter-spacing:.08em}
      .primary-nav{background:var(--wine);color:var(--paper)}
      .primary-nav .nav-inner{width:100%;grid-template-columns:1fr 1fr;gap:0 12px;padding:4px 18px 9px}
      .primary-nav a{min-height:42px;color:var(--paper);font-size:.9rem;letter-spacing:.07em}
      .hero-layout{grid-template-rows:auto auto auto;gap:14px}
      .hero-wordmark{width:100%;aspect-ratio:3/1}
      .page-top-button{right:10px;width:108px}
      .site-footer{padding-bottom:84px}
      .page-top-button.is-docked{right:12px;bottom:12px}
    }
    @media(max-width:380px){
      .brand-row{grid-template-columns:1fr;grid-template-rows:auto auto;justify-items:center}
      .brand-row .brand-lockup.company-lockup{grid-column:1;grid-row:1;justify-self:center}
      .brand-row>.header-icons{grid-column:1;grid-row:2;justify-self:center;gap:3px}
      .brand-row .header-icon{min-width:32px}
      .brand-row .store-note-cta{padding-inline:6px;font-size:8px}
      .brand-row .brand-lockup.company-lockup{gap:3px}
    }

    .catalog-strip{background:var(--paper);border-bottom:1px solid rgba(122,0,75,.12)}
    .catalog-strip-link{display:block;width:min(1320px,calc(100% - 32px));margin:0 auto;padding:5px 0;color:var(--wine);font-size:.74rem;font-weight:800;letter-spacing:.02em;text-decoration:none}
    .catalog-strip-link:hover,.catalog-strip-link:focus-visible{text-decoration:underline}

    /* MENU flow layout: roast → variety → quantity/order */
    .menu-flow .flow-step-title{display:flex;align-items:center;gap:12px;margin:0;color:var(--wine);font:900 clamp(1.45rem,3vw,2.2rem)/1.2 var(--display)}
    .menu-flow .flow-step-title .step-number{width:44px;height:44px;flex:0 0 44px;font-size:1.05rem}
    .menu-flow .flow-step-title .step-symbol{width:40px;height:40px;flex:0 0 40px}
    .menu-flow .flow-step-title .step-symbol svg{width:31px;height:31px}
    .menu-flow .flow-section-heading{align-items:center}
    .menu-flow .flow-section-heading>div{min-width:0}
    .menu-flow .flow-section-heading .section-kicker{margin-bottom:7px}
    .menu-flow .roast-card{position:relative;display:flex;width:100%;min-width:0;flex-direction:column;padding:0;color:var(--ink);font:inherit;text-align:left;appearance:none;cursor:pointer}
    .menu-flow .roast-card>img{display:block}
    .menu-flow .roast-card-copy{display:grid;gap:5px;padding:12px}
    .menu-flow .roast-card-copy strong{color:var(--wine);font:900 1.08rem/1.25 var(--display)}
    .menu-flow .roast-card-copy>span{font-size:.84rem;line-height:1.5}
    .menu-flow .roast-card-copy small{color:var(--muted);font-size:.75rem}
    .menu-flow .roast-card[aria-pressed="true"]{border:4px solid var(--wine);background:var(--cream);box-shadow:5px 6px 0 var(--pink);transform:translateY(-2px) rotate(var(--tilt,0deg))}
    .menu-flow .roast-card:focus-visible{outline:3px solid var(--wine);outline-offset:5px}
    .menu-flow .roast-selected-badge{position:absolute;top:10px;right:10px;z-index:2;padding:5px 9px;border:1px solid var(--paper);border-radius:3px 8px 4px 7px;background:var(--wine);color:var(--paper);font-size:.72rem;font-weight:900;opacity:0;transform:rotate(3deg);pointer-events:none}
    .menu-flow .roast-card[aria-pressed="true"] .roast-selected-badge{opacity:1}
    .menu-flow .step-icon--potato .potato-body{fill:var(--wine);stroke:var(--wine);stroke-width:1}
    .menu-flow .step-icon--potato .potato-cut{fill:var(--pink);stroke:var(--wine);stroke-width:1.5}
    .menu-flow .chart-legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,142px),1fr));align-items:stretch;gap:9px}
    .menu-flow .chart-legend button{display:grid;min-width:0;min-height:58px;align-content:center;justify-items:center;gap:3px;padding:8px 10px;border-radius:12px 16px 10px 15px;font:inherit;text-align:center}
    .menu-flow .chart-legend button strong{color:inherit;font-size:.8rem;line-height:1.3}
    .menu-flow .chart-legend button small{color:inherit;font-size:.69rem;font-weight:700;line-height:1.25}
    .menu-flow .chart-legend button[aria-pressed="true"]{border-color:var(--wine);background:var(--cream);color:var(--wine);box-shadow:3px 4px 0 var(--pink);transform:translate(-1px,-2px)}
    .menu-flow .chart-legend button:focus-visible,.menu-flow .gram-option:focus-visible{outline:3px solid var(--wine);outline-offset:3px}
    .menu-flow .menu-order-section{padding-bottom:clamp(52px,7vw,88px)}
    .menu-flow .order-flow-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr);grid-template-areas:"preview quantity" "preview summary";align-items:start;gap:18px 26px}
    .menu-flow .order-preview{grid-area:preview;min-width:0;margin:0;padding:10px;border:2px solid var(--wine);border-radius:18px 22px 16px 20px;background:var(--cream);box-shadow:7px 8px 0 var(--pink);transform:rotate(-.5deg)}
    .menu-flow .order-preview-visual{position:relative;min-width:0;min-height:420px;aspect-ratio:1.34;overflow:hidden;border-radius:12px 16px 10px 14px;background:var(--cream)}
    .menu-flow .preview-roast{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
    .menu-flow .preview-wash{position:absolute;inset:0;background:rgba(239,230,210,.48)}
    .menu-flow .preview-potato{position:absolute;z-index:1;width:42%;height:auto;object-fit:contain;filter:drop-shadow(0 7px 7px rgba(44,18,25,.34))}
    .menu-flow .preview-potato--one{top:49%;left:34%;transform:translate(-50%,-50%) rotate(-8deg)}
    .menu-flow .preview-potato--two{top:54%;left:66%;width:39%;transform:translate(-50%,-50%) rotate(8deg)}
    .menu-flow .preview-tag{position:absolute;right:15px;bottom:14px;z-index:2;max-width:calc(100% - 30px);padding:9px 13px;border:2px solid var(--wine);border-radius:5px 10px 4px 9px;background:var(--cream);box-shadow:3px 4px 0 var(--pink);color:var(--wine);font-size:clamp(.78rem,1.2vw,.95rem);font-weight:900;transform:rotate(-2deg)}
    .menu-flow .order-preview figcaption{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:12px 4px 3px;color:var(--wine)}
    .menu-flow .order-preview figcaption strong{font:900 1rem/1.3 var(--display)}
    .menu-flow .order-preview figcaption span{color:var(--muted);font-size:.78rem}
    .menu-flow .quantity-panel{grid-area:quantity;min-width:0;padding:19px 20px 20px;border:3px solid var(--wine);border-radius:18px 23px 16px 20px;background:var(--orange);box-shadow:5px 6px 0 var(--wine)}
    .menu-flow .quantity-panel .section-kicker{margin-bottom:5px;color:var(--wine)}
    .menu-flow .quantity-panel h3{margin:0 0 5px;color:var(--wine);font:900 1.28rem/1.25 var(--display)}
    .menu-flow .quantity-panel>p:not(.section-kicker){margin:0 0 14px;color:#51253d;font-size:.82rem}
    .menu-flow .quantity-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
    .menu-flow .gram-option{display:inline-flex;min-width:0;min-height:48px;align-items:center;justify-content:center;padding:8px 6px;border:2px solid var(--wine);border-radius:12px 15px 10px 14px;background:var(--paper);color:var(--wine);font-size:.91rem;font-weight:900;line-height:1.2;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease}
    .menu-flow .gram-option[aria-pressed="true"]{background:var(--cream);box-shadow:3px 4px 0 var(--pink);transform:translate(-1px,-2px)}
    .menu-flow .selection-summary{grid-area:summary;display:grid;gap:9px;min-width:0;padding:20px 21px;border-radius:18px 22px 16px 20px;background:var(--wine);color:var(--paper)}
    .menu-flow .selection-summary .summary-label{margin:0;color:#ffd879;font-size:.68rem;font-weight:900;letter-spacing:.13em}
    .menu-flow .selection-summary h3{margin:0;color:var(--paper);font-family:var(--display);font-size:1.3rem}
    .menu-flow .summary-choice{margin:0;padding:9px 0;border-top:1px solid rgba(255,255,255,.35);border-bottom:1px solid rgba(255,255,255,.35);font-size:.9rem;font-weight:800}
    .menu-flow .selection-summary .summary-price{margin:2px 0;align-items:baseline}
    .menu-flow .selection-summary .summary-price strong{font-size:1.8rem}
    .menu-flow .selection-summary .availability-note{margin:0;padding:0;border:0;background:transparent;color:rgba(255,255,255,.88);font-size:.75rem;line-height:1.5}
    .menu-flow .selection-summary .page-link{width:100%;min-height:46px;justify-content:center;margin:0;border:2px solid var(--pink);background:var(--pink);color:var(--wine);text-align:center}
    .menu-flow .selection-summary .page-link--outline{border:2px solid var(--paper);background:transparent;color:var(--paper)}
    .menu-flow .selection-summary [data-menu-add]{font:inherit}
    @media(max-width:900px){
      .menu-flow .order-flow-grid{grid-template-columns:minmax(0,1fr) minmax(290px,.8fr);grid-template-areas:"preview quantity" "preview summary";gap:15px}
      .menu-flow .order-preview-visual{min-height:340px}
      .menu-flow .quantity-panel,.menu-flow .selection-summary{padding:16px}
    }
    @media(max-width:640px){
      .menu-flow .flow-step-title{gap:8px;font-size:clamp(1.22rem,5vw,1.55rem)}
      .menu-flow .flow-step-title .step-number{width:38px;height:38px;flex-basis:38px;font-size:.9rem}
      .menu-flow .flow-step-title .step-symbol{width:34px;height:34px;flex-basis:34px}
      .menu-flow .roast-card-copy{gap:4px;padding:9px}
      .menu-flow .roast-card-copy strong{font-size:.91rem}
      .menu-flow .roast-card-copy>span{font-size:.73rem}
      .menu-flow .roast-card-copy small{font-size:.66rem}
      .menu-flow .chart-legend{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
      .menu-flow .chart-legend button{min-height:54px;padding:7px 6px}
      .menu-flow .chart-legend button strong{font-size:.73rem}
      .menu-flow .chart-legend button small{font-size:.64rem}
      .menu-flow .order-flow-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"quantity" "preview" "summary";gap:14px}
      .menu-flow .order-preview{padding:8px;box-shadow:5px 6px 0 var(--pink);transform:none}
      .menu-flow .order-preview-visual{min-height:250px;aspect-ratio:1.2}
      .menu-flow .preview-potato{width:43%}
      .menu-flow .preview-potato--two{width:40%}
      .menu-flow .preview-tag{right:10px;bottom:10px;padding:7px 9px;font-size:.73rem}
      .menu-flow .order-preview figcaption{align-items:flex-start;flex-direction:column;gap:3px;padding:10px 3px 2px}
      .menu-flow .quantity-panel{padding:16px}
      .menu-flow .quantity-options{gap:7px}
      .menu-flow .selection-summary{gap:8px;padding:17px}
      .menu-flow .selection-summary .page-link{min-height:46px}
    }
    @media(max-width:360px){
      .menu-flow .flow-step-title{gap:6px;font-size:1.18rem}
      .menu-flow .flow-step-title .step-number{width:34px;height:34px;flex-basis:34px}
      .menu-flow .flow-step-title .step-symbol{width:31px;height:31px;flex-basis:31px}
      .menu-flow .roast-card-copy{padding:8px}
      .menu-flow .roast-card-copy>span{font-size:.69rem}
      .menu-flow .chart-legend button strong{font-size:.68rem}
      .menu-flow .order-preview-visual{min-height:225px}
    }

    .menu-flow .flow-step-title,.menu-flow #order-summary{scroll-margin-top:clamp(96px,11vw,150px)}
    .menu-flow .selection-summary .page-link[aria-disabled="true"]{opacity:.5;cursor:not-allowed;pointer-events:none}
    .menu-flow .order-preview-visual [hidden],.menu-flow .preview-prompt[hidden],.menu-flow .preview-prompt [hidden]{display:none!important}
    .menu-flow .preview-roast,.menu-flow .preview-potato,.menu-flow .preview-wash{transition:opacity .28s ease}
    .menu-flow .preview-potato[data-portion="100"]{clip-path:inset(35% 0 0 36%)}
    .menu-flow .preview-prompt{position:absolute;top:14px;left:14px;z-index:4;display:grid;width:min(78%,420px);gap:7px;padding:12px 13px;border:2px dashed var(--wine);border-radius:12px 16px 10px 14px;background:rgba(239,230,210,.94);box-shadow:4px 5px 0 var(--pink);color:var(--wine)}
    .menu-flow .preview-prompt strong{font:900 .98rem/1.3 var(--display)}
    .menu-flow .preview-prompt span{padding:5px 7px;border:1px dashed rgba(122,0,75,.48);border-radius:5px 8px 4px 7px;background:rgba(255,253,248,.76);font-size:.78rem;font-weight:800;line-height:1.4}
    @media(prefers-reduced-motion:reduce){
      .menu-flow .preview-roast,.menu-flow .preview-potato,.menu-flow .preview-wash{transition:none!important}
    }

    @media print{
      body[data-page="menu"]{background:#fff;color:var(--ink);-webkit-print-color-adjust:exact;print-color-adjust:exact}
      body[data-page="menu"] .catalog-strip,
      body[data-page="menu"] .primary-nav,
      body[data-page="menu"] .nav-toggle,
      body[data-page="menu"] .header-search,
      body[data-page="menu"] .store-note-cta,
      body[data-page="menu"] .page-top-button,
      body[data-page="menu"] .site-message,
      body[data-page="menu"] .breadcrumb,
      body[data-page="menu"] .category-buttons{display:none!important}
      body[data-page="menu"] .site-header{position:static;background:#fff;box-shadow:none}
      body[data-page="menu"] .brand-row{min-height:58px;padding:5px 0;background:#fff}
      body[data-page="menu"] .page-main{width:auto;max-width:none;padding:0}
      body[data-page="menu"] .page-heading{margin:0 0 12px;padding:11px 14px;border-left:4px solid var(--wine);background:#fff;box-shadow:none}
      body[data-page="menu"] .page-heading .section-title{font-size:23pt}
      body[data-page="menu"] .page-section{padding:12px 0}
      body[data-page="menu"] .page-section-heading{margin-bottom:10px}
      body[data-page="menu"] #chart,
      body[data-page="menu"] #menu-builder{break-before:page;page-break-before:always}
      body[data-page="menu"] #roast .page-four-col{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;break-inside:avoid;page-break-inside:avoid}
      body[data-page="menu"] .roast-card{break-inside:avoid;page-break-inside:avoid;box-shadow:none!important;transform:none!important}
      body[data-page="menu"] .roast-card>img{height:105px;aspect-ratio:auto;object-fit:cover}
      body[data-page="menu"] .roast-card-copy{gap:3px;padding:7px}
      body[data-page="menu"] .roast-card-copy strong{font-size:9pt}
      body[data-page="menu"] .roast-card-copy>span{font-size:7pt}
      body[data-page="menu"] .roast-card-copy small{font-size:6.5pt}
      body[data-page="menu"] .flow-step-title{scroll-margin-top:0}
      body[data-page="menu"] #chart .chart-board,
      body[data-page="menu"] #chart .chart-panel,
      body[data-page="menu"] #menu-builder .order-preview,
      body[data-page="menu"] #menu-builder .quantity-panel,
      body[data-page="menu"] #menu-builder .selection-summary{break-inside:avoid;page-break-inside:avoid}
      body[data-page="menu"] #chart .chart-panel{padding:10px}
      body[data-page="menu"] #chart .plaque-wrap{max-width:100%;margin:8px 0 12px}
      body[data-page="menu"] #chart .potato-plaque{font-size:14pt;transform:none}
      body[data-page="menu"] #chart .potato-plaque-en,body[data-page="menu"] #chart .plaque-dots{display:none}
      body[data-page="menu"] #chart .taste-plot{min-height:250px;aspect-ratio:1.8}
      body[data-page="menu"] #chart .chart-marker{width:78px;height:78px}
      body[data-page="menu"] #chart .chart-legend{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
      body[data-page="menu"] #chart .chart-legend button{min-height:43px;padding:5px}
      body[data-page="menu"] #menu-builder .order-flow-grid{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);grid-template-areas:"preview quantity" "preview summary";gap:9px;align-items:start}
      body[data-page="menu"] #menu-builder .order-preview{padding:6px;box-shadow:none;transform:none}
      body[data-page="menu"] #menu-builder .order-preview-visual{min-height:0;aspect-ratio:1.25}
      body[data-page="menu"] #menu-builder .quantity-panel,
      body[data-page="menu"] #menu-builder .selection-summary{padding:9px}
      body[data-page="menu"] #menu-builder .quantity-panel .section-kicker,
      body[data-page="menu"] #menu-builder .summary-label{font-size:7pt}
      body[data-page="menu"] #menu-builder .selection-summary{gap:5px}
      body[data-page="menu"] #menu-builder .summary-choice,
      body[data-page="menu"] #menu-builder .availability-note{font-size:8pt}
      body[data-page="menu"] #menu-builder .selection-summary .page-link{display:none!important}
      body[data-page="menu"] .site-footer{padding:8px 0 0;background:#fff;color:var(--wine);break-before:auto}
      body[data-page="menu"] .site-footer .footer-main .company-lockup,
      body[data-page="menu"] .site-footer .socials,
      body[data-page="menu"] .site-footer .footer-nav,
      body[data-page="menu"] .site-footer .footer-bottom{display:none!important}
      body[data-page="menu"] .site-footer .footer-note{margin:0;padding:7px 0;border-top:1px solid #777;border-bottom:1px solid #777;background:#fff;color:#333;font-size:8pt}
    }

    @media(max-width:640px){
      .about-copy::before{top:-16px;right:18px;width:120px;height:36px}
      .about-photo::before{top:-9px;left:10px;width:96px;height:30px}
      .home-roasts .roast-card::before{top:2px;left:-16px;width:58px;height:20px}
      .home-roasts .roast-card:nth-child(even)::before{left:auto;right:-16px}
    }

    /* 商品カードのバッジ: マスキングテープに手書き風 / お気に入りは右寄せ(Z型の視線誘導) */
    .product-sticker{top:-14px;left:8px;padding:6px 20px;border:0;border-radius:0;background:#f8d86a;color:#3d0a2b;font-size:.76rem;font-weight:900;letter-spacing:.04em;opacity:1;transform:rotate(-6deg);clip-path:polygon(0 0,100% 0,calc(100% - 5px) 14%,100% 28%,calc(100% - 5px) 42%,100% 57%,calc(100% - 5px) 71%,100% 85%,calc(100% - 5px) 100%,0 100%,5px 85%,0 71%,5px 57%,0 42%,5px 28%,0 14%)}
    .product-card:nth-child(even) .product-sticker,.product-card:nth-child(4) .product-sticker{border:0;background:#f6b9c8;color:#3d0a2b;transform:rotate(5deg)}
    .product-card:nth-child(3) .product-sticker{background:#f7c48c;transform:rotate(-4deg)}
    .favorite-toggle{display:flex;width:max-content;margin:9px 0 0 auto}

    /* 妻フィードバック第2弾: ヒーローkicker明朝 / メニューカード=ショップと同寸 / バッジ4色 / お気に入り詰め / ニュース箇条書き */
    .hero-masthead .section-kicker{color:#2c2429;font-family:"Shippori Mincho","Hiragino Mincho ProN","Yu Mincho",serif;font-size:1.12rem;font-weight:500;letter-spacing:.07em;text-transform:none}
    .home-roasts .page-four-col{gap:22px;padding:20px 8px 18px}
    .home-roasts .roast-card{margin:0}
    .product-card:nth-child(4) .product-sticker{background:#e4aedb}
    .favorite-toggle{justify-content:center;gap:0}
    .news-list-simple a{display:flex;gap:.2em}
    .news-list-simple a::before{content:"・";flex:0 0 auto}
    @media(max-width:640px){
      .hero-masthead .section-kicker{font-size:.9rem;letter-spacing:.05em}
      .home-roasts .page-four-col{gap:14px;padding:16px 6px 15px}
    }

    /* マスキングテープ演出を控えめに全体へ(イベント写真・日付札・紙写真・商品詳細写真) */
    .event-photo::after,.paper-photo::before,.product-gallery-main::before{--tape-gingham:repeating-linear-gradient(0deg,transparent 0 10px,rgba(255,255,255,.78) 10px 12px),repeating-linear-gradient(90deg,transparent 0 10px,rgba(255,255,255,.78) 10px 12px),#f6c744;--tape-stripe:repeating-linear-gradient(135deg,#f0a9ba 0 9px,#fbe3e8 9px 18px);position:absolute;z-index:5;content:"";opacity:.94;pointer-events:none;clip-path:polygon(0 0,100% 0,calc(100% - 5px) 12.5%,100% 25%,calc(100% - 5px) 37.5%,100% 50%,calc(100% - 5px) 62.5%,100% 75%,calc(100% - 5px) 87.5%,100% 100%,0 100%,5px 87.5%,0 75%,5px 62.5%,0 50%,5px 37.5%,0 25%,5px 12.5%)}
    .event-photo::after{top:-16px;left:38%;width:124px;height:36px;background:var(--tape-gingham);transform:rotate(-6deg)}
    .panel-tape{position:absolute;z-index:5;top:4px;left:-20px;width:140px;height:38px;background:repeating-linear-gradient(0deg,transparent 0 10px,rgba(255,255,255,.78) 10px 12px),repeating-linear-gradient(90deg,transparent 0 10px,rgba(255,255,255,.78) 10px 12px),#f6c744;opacity:.94;transform:rotate(-38deg);pointer-events:none}
    .paper-photo{position:relative}
    .paper-photo::before{top:-14px;left:50%;width:110px;height:32px;margin-left:-55px;background:var(--tape-stripe);transform:rotate(3deg)}
    .product-gallery-main{position:relative}
    .product-gallery-main::before{top:-14px;right:28px;width:116px;height:34px;background:var(--tape-stripe);transform:rotate(5deg)}
    @media(max-width:640px){
      .event-photo::after{width:96px;height:30px;top:-13px}
      .panel-tape{width:104px;height:30px;top:3px;left:-16px}
      .paper-photo::before{width:88px;height:26px;margin-left:-44px}
      .product-gallery-main::before{width:92px;height:28px;right:16px}
    }
    .event-photo figcaption{padding:9px 6px 2px;color:var(--wine);font-family:var(--display);font-size:.98rem;font-weight:800;line-height:1.4}

    /* イベントパネル: テープを角からはみ出させるため overflow を開け、飾りの丸は背景のradial-gradientへ(はみ出しスクロールを作らない) */
    .event-panel{overflow:visible;background:radial-gradient(circle 85px at -12px calc(39% + 85px),var(--orange) 98%,transparent 100%),radial-gradient(circle 75px at calc(100% + 27px) 13px,var(--orange) 98%,transparent 100%),var(--wine)}
    .event-panel::before,.event-panel::after{content:none}
    .panel-tape{top:-12px;left:-46px}
    @media(max-width:640px){.panel-tape{top:-9px;left:-32px}}

    /* HOMEのMENU(焼き方4枚): SHOPカードと同じホバー演出(傾きが戻りつつ持ち上がる) */
    .home-roasts .roast-card{transition:transform .2s ease}
    .home-roasts .roast-card:hover{transform:translateY(-7px) rotate(0deg)}
    @media(prefers-reduced-motion:reduce){.home-roasts .roast-card{transition:none}}
