/* Genki 1.4: balanced layout and restrained concrete texture */
:root{--genki-concrete:url('assets/concrete-texture.webp')}
#main .wrap,.site-header .wrap,.site-footer .wrap{width:min(1480px,calc(100% - 64px));margin-inline:auto}
body{background:#525960 var(--genki-concrete) center top/1200px auto repeat!important}
#main .section:not(.welcome-benefits),#main .subhero,#main .brand-hero,#main .delivery-showcase,#main .delivery-benefits,#main .delivery-location{background:linear-gradient(#313943d6,#313943d6),var(--genki-concrete) center/1200px auto repeat!important}
#main .welcome-benefits{background:linear-gradient(#323a43c9,#323a43c9),var(--genki-concrete) center/1200px auto repeat!important}
#main .welcome-hero>.wrap{width:min(1480px,calc(100% - 64px))}
#main .welcome-copy{width:min(690px,55%)!important;padding-top:70px!important}
#main .welcome-copy h1{font-size:clamp(43px,4.3vw,70px)!important;max-width:690px}
#main .welcome-copy .facts{width:min(1480px,calc(100vw - 64px))}
.welcome-art img{animation:welcome-breathe 22s ease-in-out infinite alternate}
@keyframes welcome-breathe{from{transform:scale(1)}to{transform:scale(1.045)}}
.welcome-atmosphere{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.welcome-atmosphere .cloud{position:absolute;width:34%;height:15%;border-radius:50%;background:radial-gradient(ellipse,#d5dbe122 0%,#b8c8d512 48%,transparent 72%);filter:blur(17px);animation:cloud-drift 32s ease-in-out infinite alternate}
.welcome-atmosphere .cloud-one{top:17%;left:28%}.welcome-atmosphere .cloud-two{top:29%;left:55%;animation-duration:42s;animation-delay:-14s}
@keyframes cloud-drift{from{transform:translateX(-12%)}to{transform:translateX(42%)}}
.welcome-atmosphere .shore-light{position:absolute;width:8px;height:8px;top:48%;border-radius:50%;background:#ffe8a6;box-shadow:0 0 12px 6px #ffc56a75,0 24px 7px 2px #ffca7450;animation:shore-twinkle 6s ease-in-out infinite}
.welcome-atmosphere .light-one{right:16%}.welcome-atmosphere .light-two{right:10%;top:47%;animation-delay:-2.8s}
@keyframes shore-twinkle{0%,100%{opacity:.28}45%{opacity:1}62%{opacity:.48}}
.welcome-atmosphere .falling-leaf{position:absolute;top:-10%;width:15px;height:9px;background:#aa1b28;border-radius:95% 0 95% 0;box-shadow:0 0 6px #6b0a1080;animation:leaf-fall 13s linear infinite}
.welcome-atmosphere .leaf-one{left:79%;animation-delay:-3s}.welcome-atmosphere .leaf-two{left:90%;animation-delay:-8s;animation-duration:16s}.welcome-atmosphere .leaf-three{left:72%;animation-delay:-11s;animation-duration:18s}
@keyframes leaf-fall{from{transform:translate(0,-20px) rotate(0);opacity:0}8%{opacity:.75}85%{opacity:.7}to{transform:translate(-115px,650px) rotate(450deg);opacity:0}}
/* Photographic benefit cards */
.welcome-benefits .benefit{position:relative;isolation:isolate;overflow:hidden;min-height:225px;display:flex;flex-direction:column;justify-content:end;text-align:left;padding:24px!important;transition:transform .3s ease}
.welcome-benefits .benefit:hover{transform:translateY(-5px)}
.welcome-benefits .benefit:before{content:"";position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center;transition:transform 9s ease}
.welcome-benefits .benefit:hover:before{transform:scale(1.08)}
.welcome-benefits .benefit:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#0f172233 0%,#10182075 38%,#0b111be8 100%)}
.welcome-benefits .benefit:nth-child(1):before{background-image:url('assets/category-previews/category-0-v2.jpg')}
.welcome-benefits .benefit:nth-child(2):before{background-image:url('assets/assortment-hero.webp')}
.welcome-benefits .benefit:nth-child(3):before{background-image:url('assets/home-lanterns.webp')}
.welcome-benefits .benefit:nth-child(4):before{background-image:url('assets/delivery-card-genki.webp')}
.welcome-benefits .benefit .icon{background:#f5f7faee!important;color:#e5002d!important}
.welcome-benefits .benefit h3,.welcome-benefits .benefit p{position:relative;text-shadow:0 2px 8px #000}
.promo.delivery{background:linear-gradient(90deg,#111820eb 0%,#111820a3 46%,#11182022 100%),url('assets/delivery-card-genki.webp') 61% center/cover no-repeat!important}
.promo.delivery .promo-content{position:relative;z-index:1}
.promo.delivery h3,.promo.delivery p{color:#fff!important;text-shadow:0 2px 6px #000c}
/* Editorial Genki brand story */
.brand-hero{overflow:hidden}
.brand-hero-copy{min-height:430px}
.brand-discover{align-self:flex-start;margin-top:20px}
.brand-story{padding:75px 0;background:linear-gradient(#222a33d9,#222a33d9),var(--genki-concrete) center/1200px auto repeat;color:#fff;overflow:hidden}
.brand-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,90px);align-items:center}
.brand-story-photo{height:420px;overflow:hidden;border-radius:22px;box-shadow:0 28px 55px #1118}
.brand-story-photo img{width:100%;height:100%;object-fit:cover;animation:story-pan 16s ease-in-out infinite alternate}
@keyframes story-pan{from{transform:scale(1.02) translateX(-1%)}to{transform:scale(1.12) translateX(2%)}}
.brand-story-copy h2{font:700 clamp(34px,3.3vw,54px)/1.06 Georgia,serif;color:#fff}
.brand-story-copy p:not(.eyebrow){font-size:17px;line-height:1.7;color:#ebeff2}
.brand-products-heading{max-width:760px;margin-bottom:30px}
.brand-products-heading h2{font:700 clamp(30px,3vw,48px)/1.1 Georgia,serif}
.brand-products-heading p:not(.eyebrow){color:#f1f3f5!important}
.brand-products-section{scroll-margin-top:100px}
.brand-tags span{background:#fff!important;color:#a80720!important}
.brand-hero-art .brand-bottles img{animation:bottle-rise 850ms both}
.brand-hero-art .brand-bottles img:nth-child(2){animation-delay:140ms}.brand-hero-art .brand-bottles img:nth-child(3){animation-delay:280ms}
@keyframes bottle-rise{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
/* Delivery location: ink trees in side gutters, never a red sun */
#main .delivery-location{position:relative;isolation:isolate;overflow:hidden}
.delivery-location:before,.delivery-location:after{content:"";position:absolute;bottom:0;width:min(28vw,430px);height:80%;z-index:-1;background:url('assets/ink-cherry-tree.webp') center bottom/contain no-repeat;opacity:.58;pointer-events:none}
.delivery-location:before{left:-7%}.delivery-location:after{right:-7%;transform:scaleX(-1)}
.delivery-location .wrap{position:relative;z-index:1}
.delivery-location-grid,.delivery-map-feature{box-shadow:0 20px 40px #11182050}
.delivery-map-feature figcaption h3,.delivery-map-feature figcaption p{color:#f6f8f9!important;text-shadow:none!important}
.delivery-map-feature figcaption{background:#242c35!important}
.ship-story{padding:54px 0;background:linear-gradient(#202a34e8,#202a34e8),var(--genki-concrete) center/1200px auto repeat;color:#fff}
.ship-story-grid{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:40px;align-items:center}
.ship-story-copy h2{font:700 clamp(30px,3vw,46px)/1.1 Georgia,serif;color:#fff}
.ship-story-copy p:not(.eyebrow){color:#e6ebef;line-height:1.6}
.ship-scene{position:relative;overflow:hidden;border-radius:20px;box-shadow:0 24px 45px #1018208c;border:1px solid #ffffff36;background:#18222c}
.ship-scene img,.ship-scene video{display:block;width:100%;height:auto}
.ship-scene-glow{position:absolute;left:0;right:0;bottom:0;height:24%;background:linear-gradient(transparent,#11182055);pointer-events:none}
.ship-scene-motion{position:absolute;left:12%;bottom:7%;width:10px;height:10px;background:#ffbf6b;border-radius:50%;filter:blur(5px);animation:harbor-light 5s ease-in-out infinite alternate}
@keyframes harbor-light{from{opacity:.2}to{opacity:.8}}
@media(max-width:900px){#main .wrap,.site-header .wrap,.site-footer .wrap,#main .welcome-hero>.wrap{width:min(100% - 36px,1480px)}#main .welcome-copy{width:min(650px,65%)!important}.brand-story-grid,.ship-story-grid{grid-template-columns:1fr}.brand-story-photo{height:300px}.delivery-location:before,.delivery-location:after{width:26vw;opacity:.4}}
@media(max-width:650px){#main .welcome-copy{width:100%!important;padding-top:55px!important}.welcome-art img{object-position:60% center}.welcome-atmosphere .cloud{width:65%}.welcome-benefits .benefit{min-height:180px;padding:16px!important}.welcome-benefits .benefit h3{font-size:16px}.welcome-benefits .benefit p{font-size:12px}.brand-story{padding:40px 0}.brand-story-photo{height:240px}.delivery-location:before,.delivery-location:after{opacity:.2;width:36vw}.ship-story{padding:34px 0}}
@media(prefers-reduced-motion:reduce){.welcome-art img,.welcome-atmosphere *, .brand-story-photo img,.brand-hero-art .brand-bottles img,.ship-scene-motion{animation:none!important}.welcome-benefits .benefit{transition:none!important}}

/* The partnership tile leads to its own page. Its marks stay decorative so the title remains readable. */
.benefit-partners{position:relative;isolation:isolate;overflow:hidden;text-decoration:none;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease}
.benefit-partners:hover,.benefit-partners:focus-visible{transform:translateY(-5px);box-shadow:0 20px 35px #11182077;outline:2px solid #ff425a;outline-offset:3px}
.benefit-partners .icon,.benefit-partners h3,.benefit-partners p,.benefit-partners-link{position:relative;z-index:2}
.partner-tile-logos{position:absolute;inset:0;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 20px;opacity:.16;z-index:0;transform:rotate(-7deg) scale(1.08);pointer-events:none}
.partner-tile-logos span:first-child{font:800 clamp(22px,2vw,34px)/1 Arial,sans-serif;letter-spacing:-.055em;white-space:nowrap}
.partner-tile-logos span:last-child{align-self:flex-end;font:italic 700 clamp(22px,2vw,33px)/1 Georgia,serif;white-space:nowrap}
.partner-tile-logos b{color:#ff344f}
.benefit-partners-link{font-size:12px;font-weight:700;letter-spacing:.02em;color:#ff7d8b;margin-top:5px}
.partners-hero{padding:78px 0 70px;position:relative;overflow:hidden;color:#fff;background:linear-gradient(100deg,#141e28e8,#222c38db),url('assets/franchise-zarir-sergej.webp') center 42%/cover no-repeat}
.partners-hero .wrap{position:relative;z-index:1}
.partners-back{display:inline-block;color:#fff;text-decoration:none;margin-bottom:40px;font-weight:700}
.partners-back:hover{text-decoration:underline}
.partners-hero h1{font:700 clamp(42px,5vw,74px)/1.04 Georgia,serif;max-width:880px;margin:10px 0 22px;color:#fff}
.partners-hero h1 em{font-style:normal;color:#ff2545}
.partners-intro{max-width:650px;font-size:18px;line-height:1.65;color:#f0f2f5}
.partners-section{padding:68px 0 100px;background:linear-gradient(#333d47d8,#333d47d8),var(--genki-concrete) center/1200px auto repeat}
.partners-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.partner-card{overflow:hidden;border-radius:22px;background:#202933;color:#fff;box-shadow:0 24px 50px #11182070;border:1px solid #ffffff30}
.partner-card-art{min-height:245px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.partner-card-art:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#10182027,#101820bb)}
.partner-nihon .partner-card-art{background:radial-gradient(circle at 80% 30%,#e2233a60,transparent 35%),linear-gradient(120deg,#29333c,#0c141e)}
.partner-kokoro .partner-card-art{background:linear-gradient(90deg,#111820e5,#11182055),url('assets/franchise-zarir-sergej.webp') 15% 22%/cover no-repeat}
.partner-wordmark{position:relative;z-index:1;text-align:center;text-shadow:0 3px 15px #000;display:block}
.nihon-wordmark{font:800 clamp(36px,5vw,64px)/.93 Arial,sans-serif;letter-spacing:-.055em}
.nihon-wordmark strong{color:#f32943}
.nihon-wordmark small{display:block;font:700 12px/1.4 Arial,sans-serif;letter-spacing:.26em;margin-top:14px;color:#f7f7f7}
.kokoro-wordmark{font:italic 700 clamp(42px,5vw,67px)/1 Georgia,serif}
.kokoro-wordmark strong{color:#f32943}
.partner-card-content{padding:36px 38px 42px}
.partner-card-content h2{font:700 clamp(30px,3vw,42px)/1.1 Georgia,serif;color:#fff;margin:10px 0 16px}
.partner-card-content p:not(.eyebrow){font-size:16px;line-height:1.65;color:#e0e5e9;min-height:80px}
.partner-card-content .btn{margin-top:14px}
.partner-link-pending{display:inline-flex;align-items:center;min-height:42px;margin-top:14px;color:#ccd4db;font-size:14px;border-bottom:1px solid #ffffff55}
@media(max-width:760px){.partners-grid{grid-template-columns:1fr}.partners-hero{padding:45px 0 60px}.partners-back{margin-bottom:28px}.partners-section{padding:36px 0 65px}.partner-card-art{min-height:195px}.partner-card-content{padding:27px}.partner-card-content p:not(.eyebrow){min-height:0}}
.partner-tile-logos{align-items:center;justify-content:space-around;transform:rotate(-5deg) scale(1.03);opacity:.22}
.partner-tile-logos img{width:72px;height:50px;object-fit:contain;background:#fff;border-radius:5px;box-shadow:0 5px 15px #0008}
.kokoro-logo-crop{display:block;width:145px;height:122px;background-image:url('assets/franchise-zarir-sergej.webp');background-size:535px 402px;background-position:-47px -10px;background-repeat:no-repeat;filter:contrast(1.25) brightness(1.35)}
.partner-tile-logos .kokoro-logo-crop{align-self:center}
.nihon-partner-logo{position:relative;z-index:1;display:block;width:min(225px,65%);height:auto;box-shadow:0 12px 30px #0008;border:7px solid #fff;border-radius:5px}
.kokoro-partner-logo{position:relative;z-index:1;width:300px;height:232px;background-size:1014px 760px;background-position:-92px -15px;filter:contrast(1.2) brightness(1.5)}
.partner-tile-logos .kokoro-tile-wordmark{align-self:center;font:italic 700 clamp(20px,2vw,30px)/1 Georgia,serif;white-space:nowrap;text-shadow:0 2px 8px #000}
.partner-tile-logos .kokoro-tile-wordmark b{color:#ff344f}
.kokoro-logo-stack{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;flex-direction:column}
.kokoro-partner-logo{width:220px;height:155px;background-size:1014px 760px;background-position:-102px -16px;filter:contrast(1.13) brightness(1.18)}
.kokoro-logo-name{font:italic 700 32px/1 Georgia,serif;color:#fff;text-shadow:0 2px 9px #000;margin-top:-4px}
.kokoro-logo-name b{color:#ff2b48}


/* 1.4.3: official partner branding, readable legal pages, moving hero and raised map */
.benefit-partners{background:linear-gradient(145deg,#1b2530f0,#1b2530e8),url('assets/kokoro-foods-logo.webp') center/cover!important}
.benefit-partners:before{content:"";position:absolute;inset:0;background:linear-gradient(145deg,#19242df0,#1a2430e7);z-index:1;pointer-events:none}
.partner-tile-logos{inset:12px 15px;align-items:stretch;justify-content:space-between;transform:none;opacity:1;z-index:2;padding:0}
.partner-tile-logos img:first-child{width:59px;height:43px;align-self:flex-start;object-fit:contain;opacity:.78}
.partner-tile-logos .kokoro-tile-logo{width:62px;height:62px;object-fit:cover;align-self:flex-start;border-radius:50%;opacity:.34;filter:saturate(.85)}
.benefit-partners .icon,.benefit-partners h3,.benefit-partners p,.benefit-partners-link{z-index:3;text-shadow:0 2px 7px #000}
.partners-hero{background:linear-gradient(90deg,#111a25f3 0%,#111a25dc 36%,#111a2580 66%,#111a2540 100%),url('assets/partners-handshake.webp') center 56%/cover no-repeat}
.partner-kokoro .partner-card-art{background:linear-gradient(125deg,#fbf9f5,#e9e1d8)}
.partner-kokoro .partner-card-art:after{display:none}
.kokoro-official-logo{position:relative;z-index:1;display:block;width:min(270px,70%);height:210px;object-fit:contain;mix-blend-mode:multiply}
.welcome-art .welcome-night,.welcome-art .welcome-day{animation:none!important;transform:none!important}
.welcome-art .welcome-night{filter:brightness(.78) saturate(1.1)}
.welcome-art .welcome-day{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 44%;opacity:0;animation:genki-day-night 6s linear infinite!important}
@keyframes genki-day-night{0%,43%{opacity:0}50%,93%{opacity:1}100%{opacity:0}}
.welcome-atmosphere .cloud{opacity:.8;background:radial-gradient(ellipse,#e6eef165 0%,#e0e9f13b 40%,transparent 73%);filter:blur(15px);animation:cloud-drift 18s ease-in-out infinite alternate}
.welcome-atmosphere .cloud-one{top:11%;left:34%;width:31%;height:13%}
.welcome-atmosphere .cloud-two{top:30%;left:46%;width:37%;height:10%;animation-duration:22s}
.welcome-atmosphere .cloud-three{top:19%;left:67%;width:18%;height:9%;animation-duration:16s;animation-delay:-8s}
.night-lights{position:absolute;inset:0;animation:genki-night-lights 6s linear infinite}
@keyframes genki-night-lights{0%,43%{opacity:1}50%,93%{opacity:0}100%{opacity:1}}
.welcome-atmosphere .shore-light{right:auto!important;width:5px;height:5px;box-shadow:0 0 13px 4px #ffe8a6,0 8px 12px 2px #ffcf6880;animation:shore-twinkle 1.8s steps(2,end) infinite}
.welcome-atmosphere .light-one{left:52%;top:45%}.welcome-atmosphere .light-two{left:63%;top:44%;animation-delay:-.8s}
.welcome-atmosphere .light-three{left:74%;top:43%;animation-delay:-1.2s}.welcome-atmosphere .light-four{left:86%;top:39%;animation-delay:-.4s}.welcome-atmosphere .light-five{left:95%;top:36%;animation-delay:-1.5s}
#main .legal{max-width:980px;margin:50px auto 65px;padding:42px clamp(25px,5vw,70px);color:#f5f7f9;background:#1b242eeF;border:1px solid #ffffff45;border-radius:18px;box-shadow:0 28px 55px #10182088}
#main .legal h1,#main .legal h2,#main .legal p,#main .legal a{color:#f5f7f9!important;text-shadow:none!important}
#main .legal .eyebrow{color:#ff5d75!important}
#main .legal a{text-decoration:underline;text-underline-offset:3px}
#main .legal p{line-height:1.65}
#main .catalog-hero p:not(.eyebrow),#main .catalog-hero .catalog-intro{color:#f7f9fb!important;text-shadow:0 2px 8px #14202c}
#main .catalog-hero-grid>div:first-child{background:#19232ddb;border:1px solid #ffffff47;border-radius:15px;padding:25px 28px;box-shadow:0 15px 35px #10182055}
.contact-section #contact-form .hint{background:#26323d;color:#f7f9fb;border:1px solid #ffffff3a;border-radius:9px;padding:12px 14px}
.contact-section #contact-form .hint a{color:#fff}
.map.contact-map>.contact-map-art{background:radial-gradient(circle at 55% 40%,#dfeef1,#b7cbd2 75%)!important;overflow:hidden;perspective:1000px}
.contact-map-art .map-3d-svg{display:block;width:100%;height:100%;max-height:none;transform:perspective(900px) rotateX(17deg) rotateZ(-4deg) scale(.93);filter:drop-shadow(15px 24px 14px #243e4d66);transition:transform .5s ease}
.contact-map-art:hover .map-3d-svg{transform:perspective(900px) rotateX(11deg) rotateZ(-2deg) scale(.97)}
@media(max-width:760px){.partners-hero{background-position:58% center}.partner-tile-logos .kokoro-tile-logo{width:54px;height:54px}#main .legal{margin:24px 18px 45px;padding:24px}.contact-map-art .map-3d-svg{transform:perspective(900px) rotateX(14deg) rotateZ(-3deg) scale(1)}}
@media(prefers-reduced-motion:reduce){.welcome-art .welcome-day,.night-lights,.welcome-atmosphere .cloud,.welcome-atmosphere .shore-light{animation:none!important}.welcome-art .welcome-day{opacity:0!important}}

/* 1.4.4 enquiry list and source-image edge cleanup */
.category{overflow:hidden}
.category-photo{transform:scale(1.12);transform-origin:center center}
.mega-item{overflow:hidden}
.mega-item img{object-fit:cover;object-position:55% center;clip-path:inset(0 0 0 5%)}
.wish-nav{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;color:#fff;font-size:12px;font-weight:700;border:1px solid #ffffff5e;border-radius:999px;padding:9px 12px}
.wish-nav b{display:inline-grid;place-items:center;min-width:20px;height:20px;border-radius:50%;background:#e50024;color:#fff}
.wish-add{width:100%;border:1px solid #ed0030;background:#e50024;color:#fff;border-radius:999px;padding:11px 14px;font:700 13px Arial,sans-serif;cursor:pointer;margin-top:auto}
.wish-add[aria-pressed="true"]{background:#283843;border-color:#5ad2ab;color:#fff}
.wish-add:hover,.wish-add:focus-visible{filter:brightness(1.13)}
.product{display:flex;flex-direction:column;align-items:stretch}
.product .product-category{margin-bottom:12px}
.wish-page{padding:55px 0 80px;background:#26323b;color:#fff;min-height:60vh}
.wish-page h1{font-family:Georgia,serif;font-size:clamp(35px,4vw,56px);margin:8px 0 12px}
.wish-page> .wrap>p:not(.eyebrow){max-width:720px;color:#e8eef0}
.wish-list{display:grid;gap:12px;max-width:970px;margin:32px 0}
.wish-row{display:grid;grid-template-columns:70px minmax(0,1fr) 95px 36px;gap:18px;align-items:center;background:#17222c;border:1px solid #ffffff25;border-radius:12px;padding:12px 16px}
.wish-row img{width:64px;height:64px;object-fit:contain;background:white;border-radius:6px}
.wish-row strong,.wish-row small{display:block}.wish-row small{color:#bfcdd6;margin-top:4px}
.wish-row label{font-size:11px;color:#dbe3e7}.wish-row input{display:block;width:80px;height:37px;margin-top:4px;padding:5px;color:#17222c;background:#fff;border:0;border-radius:6px}
.wish-remove{width:34px;height:34px;border:1px solid #ffffff77;border-radius:50%;background:transparent;color:#fff;font-size:24px;cursor:pointer}
.wish-actions{display:flex;flex-wrap:wrap;gap:16px;align-items:center}.wish-clear{background:transparent;border:0;color:#fff;text-decoration:underline;cursor:pointer}
.wish-note{font-size:13px;margin-top:20px}.wish-empty{margin:35px 0;padding:30px;background:#17222c;border-radius:12px;max-width:650px}
.wish-contact-summary{background:#f2f6f5;color:#14232d;border-radius:10px;padding:16px;margin:12px 0}.wish-contact-summary ul{margin:8px 0;padding-left:22px;max-height:180px;overflow:auto}.wish-contact-summary a{color:#ad0023;text-decoration:underline}
@media(max-width:1050px){.wish-nav{font-size:0;padding:9px}.wish-nav b{font-size:12px}}
@media(max-width:700px){.wish-row{grid-template-columns:52px minmax(0,1fr) 62px 30px;gap:8px;padding:10px}.wish-row img{width:50px;height:50px}.wish-row input{width:58px}.wish-row strong{font-size:12px}.wish-nav{order:3}.wish-page{padding:30px 0 55px}}

/* 1.4.4: one slate texture and a complete, shared cherry-tree backdrop */
:root{--genki-slate:#48525c;--genki-slate-deep:#252d35;--genki-slate-overlay:rgba(40,49,58,.84)}
html,body{min-height:100%;background-color:var(--genki-slate)!important;color:#f5f6f7}
body{background-image:linear-gradient(rgba(43,52,61,.72),rgba(43,52,61,.72)),url('assets/concrete-texture.webp')!important;background-position:center top,center top!important;background-size:100% 100%,1200px auto!important;background-repeat:no-repeat,repeat!important;background-attachment:fixed,fixed!important}
body:before{content:"";position:fixed;inset:76px 0 0;z-index:0;pointer-events:none;background:url('assets/cherry-tree-full.webp') center center/min(100vw,1320px) auto no-repeat;opacity:.28}
#header,#main,#footer{position:relative;z-index:1}
#main{background:transparent!important}
#main .section,#main .subhero,#main .brand-hero,#main .delivery-showcase,#main .delivery-benefits,#main .delivery-location,#main .delivery-route-section,#main .contact-section,#main .catalog-hero,#main .page-head,#main .partners-section,#main .ship-story,#main .brand-story,#main .franchise-hero,#main .franchise-benefits,#main .wish-page,#main .welcome-benefits{background:transparent!important}
#main .delivery-location:before,#main .delivery-location:after{display:none!important}
.site-footer{background:linear-gradient(140deg,rgba(31,39,47,.96),rgba(27,34,42,.96))!important;color:#f4f6f7!important;border:1px solid #ffffff2e;border-radius:16px;margin:0 auto 24px!important;box-shadow:0 18px 44px #10182055}
#footer{background:transparent!important}
#main .section h2,#main .section h3,#main .subhero h1,#main .subhero h2,#main .brand-hero h1,#main .catalog-hero h1,#main .page-head h1{color:#f8f9fa}
#main .section p,#main .subhero p,#main .brand-hero p,#main .catalog-hero p,#main .page-head p:not(.eyebrow){color:#dce1e5}
#main .delivery-route-section{background:linear-gradient(rgba(42,51,60,.86),rgba(42,51,60,.86)),url('assets/concrete-texture.webp') center/1200px auto repeat!important}
@media(max-width:760px){body:before{inset:72px 0 0;background-size:100vw auto;opacity:.13}.site-footer{border-radius:12px;margin-bottom:14px!important}}

/* Keep the page-wide emblem visible below navigation and page content. */
body:after{display:none!important}
#main .delivery-route-section{background:transparent!important}
.wish-nav:before{content:'Merkliste';font-size:11px}
@media(max-width:760px){body:before{opacity:.27!important}}

/* Put the tree inside the content stacking layer so it remains visible behind every transparent section. */
body:before{display:none!important}
#main{position:relative;isolation:isolate}
#main:before{content:"";position:fixed;inset:76px 0 0;z-index:0;pointer-events:none;background-image:url('assets/cherry-tree-full.webp');background-position:center center;background-size:min(100vw,1200px) auto;background-repeat:no-repeat;opacity:.4}
#main>*{position:relative;z-index:1}
@media(max-width:760px){#main:before{inset:72px 0 0;background-size:100vw auto;opacity:.4}}





/* 1.4.5: full cherry trees at the footer and a slower day/night crossfade */
#main:before{content:none!important;display:none!important}
#footer{position:relative;z-index:0;isolation:isolate;overflow:visible}
#footer:before,#footer:after{content:"";position:absolute;bottom:0;z-index:1;width:clamp(340px,28vw,560px);aspect-ratio:3/2;pointer-events:none;background:url('assets/cherry-tree-full.webp') left bottom/contain no-repeat;filter:contrast(.78) brightness(1.38) drop-shadow(0 12px 18px #10182070);opacity:.84}
#footer:before{left:0}
#footer:after{right:0;transform:scaleX(-1)}
#footer .site-footer{position:relative;z-index:auto!important;width:calc(100% - 48px);max-width:none;box-sizing:border-box}
#footer .site-footer>.wrap{position:relative;z-index:2}

.welcome-art .welcome-day{animation:genki-day-night-smooth 32s ease-in-out infinite!important;will-change:opacity}
.night-lights{animation:genki-night-lights-smooth 32s ease-in-out infinite!important;will-change:opacity}
.welcome-atmosphere .shore-light{animation-duration:4.8s!important;animation-timing-function:ease-in-out!important}
@keyframes genki-day-night-smooth{0%,18%{opacity:0}44%,62%{opacity:1}88%,100%{opacity:0}}
@keyframes genki-night-lights-smooth{0%,18%{opacity:1}44%,62%{opacity:.06}88%,100%{opacity:1}}

@media(min-width:1200px){#footer .site-footer{width:min(1040px,75vw)}}
@media(max-width:1000px){#footer:before,#footer:after{width:min(42vw,360px);filter:contrast(.82) brightness(1.3) drop-shadow(0 10px 14px #10182060);opacity:.46}}
@media(max-width:760px){#footer .site-footer{width:calc(100% - 24px)}#footer:before,#footer:after{width:min(58vw,280px);opacity:.3}}
@media(max-width:480px){#footer .site-footer{width:calc(100% - 16px)}#footer:before,#footer:after{width:56vw;opacity:.24}}
@media(prefers-reduced-motion:reduce){.welcome-art .welcome-day,.night-lights,.welcome-atmosphere .shore-light{animation:none!important;will-change:auto}.welcome-art .welcome-day{opacity:0!important}.night-lights{opacity:1!important}}
/* 1.4.6: supplied sushi image for the assortment title. */
.catalog-hero-art{background-image:url('assets/sushi-1.webp')!important;background-position:center!important;background-size:cover!important}
/* 1.4.7: keep the category flyout below the header and fully opaque. */
.site-header{z-index:100!important}
.mega{position:absolute!important;top:calc(100% + 1px)!important;left:max(24px,calc((100% - 1440px)/2))!important;right:max(24px,calc((100% - 1440px)/2))!important;background:#202730!important;opacity:1!important;z-index:200!important;isolation:isolate}
/* 1.4.8: clearer delivery map presentation. */
.delivery-map-feature{background:linear-gradient(135deg,#172534,#263746 55%,#16212d)!important;border-color:#ffffff2e!important;box-shadow:0 18px 38px #08111c80!important}
.delivery-map-visual{background:radial-gradient(circle at 72% 35%,#4a6d7d66,transparent 45%),linear-gradient(145deg,#223847,#101a26)!important;border:1px solid #ffffff22;box-shadow:inset 0 0 0 1px #0003}
.delivery-map-visual img{object-fit:contain!important;object-position:center!important;padding:14px;filter:drop-shadow(0 12px 12px #0008)}
.delivery-map-feature>figcaption{background:linear-gradient(135deg,#ffffff0a,#ffffff02);border-radius:12px}
/* 1.4.9: keep the product navigation above every route and prevent the category menu from opening behind page content. */
#header{position:relative;z-index:1000}
#header>.site-header{position:relative;z-index:1000}
#header .mega{top:calc(100% + 1px)!important;z-index:1001!important}
#main{position:relative;z-index:1}

/* Readability, clear category navigation and a single-line desktop header */
.header-inner{gap:clamp(10px,1.25vw,20px)}
.logo{width:116px}
.nav{gap:clamp(9px,1vw,15px)}
.wish-nav{font-size:12px!important;padding:8px 11px!important;flex:0 0 auto}
.wish-nav:before{content:none!important;display:none!important}
.header-cta{flex:0 0 auto}
.catalog-back-row{margin:0 0 24px}
.catalog-all-categories{display:inline-flex!important;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;background:#ed002b!important;border:1px solid #ed002b!important;border-radius:28px;color:#fff!important;font-size:15px;font-weight:700;line-height:1.35;box-shadow:0 7px 20px #e5002d45}
.catalog-all-categories:hover{background:#b90020;border-color:#b90020;transform:translateY(-1px)}
.welcome-copy>p:not(.eyebrow){font-size:17px!important;line-height:1.7!important;max-width:650px}
.welcome-copy .welcome-lead{font-size:19px!important;line-height:1.55!important}
.welcome-benefits .benefit{min-height:245px;padding:26px!important}
.welcome-benefits .benefit h3{font-size:21px;line-height:1.25;margin-bottom:12px}
.welcome-benefits .benefit p{font-size:16px;line-height:1.55;margin:0;overflow-wrap:anywhere}
.brand-hero-copy{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding-block:38px}
.brand-hero-copy h1{line-height:1.08!important;margin:0;max-width:720px}
.brand-hero-copy>p:not(.eyebrow){font-size:18px!important;line-height:1.65!important;margin:0;max-width:680px;overflow-wrap:anywhere}
.brand-tags{margin-top:2px}
.brand-story-copy{min-width:0}
.brand-story-copy h2{line-height:1.12!important;margin:0 0 18px;overflow-wrap:anywhere}
.brand-story-copy p:not(.eyebrow){font-size:18px!important;line-height:1.72!important;margin:0 0 16px;overflow-wrap:anywhere}
.benefit p,.split p,.ship-story-copy p:not(.eyebrow){font-size:16px;line-height:1.65}
.product p,.product-card p,.product-meta{font-size:15px;line-height:1.55}
.catalog-hero p:not(.eyebrow),.breadcrumb{font-size:15px;line-height:1.6}
@media(max-width:1180px){.header-inner{gap:10px}.logo{width:104px}.nav{gap:9px}.nav a,.nav button{font-size:12px}.header-cta{padding:10px 13px}}
@media(max-width:850px){.header-inner{gap:10px}.wish-nav{font-size:11px!important;padding:7px 9px!important}.logo{width:96px}}
@media(max-width:650px){.welcome-copy>p:not(.eyebrow){font-size:16px!important;line-height:1.65!important}.welcome-copy .welcome-lead{font-size:18px!important}.welcome-benefits .benefit{min-height:210px;padding:18px!important}.welcome-benefits .benefit h3{font-size:18px;line-height:1.3}.welcome-benefits .benefit p{font-size:15px;line-height:1.55}.brand-hero-copy{gap:12px;padding-block:24px}.brand-hero-copy>p:not(.eyebrow){font-size:17px!important}.brand-story-copy p:not(.eyebrow){font-size:17px!important}.catalog-all-categories{font-size:15px;padding:12px 18px}}
/* Final header pass: keep the enquiry list beside the primary request button at desktop/tablet widths. */
#header .header-inner>.header-cta{display:inline-flex!important}
@media (min-width:851px) and (max-width:1180px){
  #header .header-inner{display:flex;flex-wrap:wrap;align-content:center;min-height:112px;padding-block:12px;row-gap:8px}
  #header .header-inner>.logo{order:0}
  #header .header-inner>.nav{order:1;margin-left:auto}
  #header .header-inner>.lang{order:2;margin-left:auto}
  #header .header-inner>.wish-nav{order:3}
  #header .header-inner>.header-cta{order:4}
}
@media (max-width:850px){#header .header-inner>.header-cta{display:inline-flex!important}}
