*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f7f6f1;color:#173c2d;font-family:'Noto Sans KR','Noto Sans JP',Arial,sans-serif}a{color:inherit;text-decoration:none}header{position:sticky;top:0;z-index:3;background:#f7f6f1f5;border-bottom:1px solid #d9ded5}.nav{max-width:1240px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 26px}.logo{width:200px;max-width:35vw;height:56px;object-fit:contain}.links{display:flex;gap:23px;align-items:center;font-size:12px;flex-wrap:wrap}.links a:hover{text-decoration:underline}.language{border-left:1px solid #aebdaf;padding-left:15px}.hero{max-width:1400px;margin:auto;display:grid;grid-template-columns:43% 57%;min-height:560px}.intro{padding:100px 7% 75px 10%;align-self:center}.eyebrow{font-size:11px;letter-spacing:3px}.intro h1{font-size:clamp(35px,4.2vw,61px);font-weight:400;line-height:1.42;letter-spacing:-1.6px}.intro p,.desc{font-size:15px;color:#5e7565;line-height:2}.heroimg{width:100%;height:100%;min-height:560px;object-fit:cover}.btn{display:inline-block;border:1px solid #173c2d;padding:14px 20px;margin-top:20px;font-size:12px}.wrap{max-width:1200px;margin:auto}section{padding:85px 25px}h2{font-size:clamp(32px,3.5vw,48px);font-family:Georgia,serif;font-weight:400}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.card{background:white}.card img{width:100%;height:260px;object-fit:cover}.card-body{padding:25px}.card h3{font:35px Georgia,serif;margin:0 0 10px}.card p{font-size:13px;color:#5e7565;line-height:1.8}.dark{background:#264836;color:#f7f6f1;text-align:center}.dark p{color:#d4dfd5}.split{display:grid;grid-template-columns:1fr 1.3fr;gap:55px;align-items:center}.spaceimg{width:100%;height:530px;object-fit:cover}.pale{background:#e7ece5}.contact{background:#eef1e9}.foot{padding:30px;background:#1b3729;color:#d7e1d7;text-align:center;font-size:12px}.small{font-size:12px;color:#819080}.dark .small{color:#c8d6cc}@media(max-width:800px){.nav{align-items:flex-start;flex-wrap:wrap}.links{gap:12px;font-size:11px}.hero,.split,.cards{grid-template-columns:1fr}.heroimg{min-height:340px;max-height:490px}.intro{padding:65px 28px}.card img{height:280px}.spaceimg{height:390px}section{padding:65px 22px}}
/* v3.2: paired real project reference images; no carousel */
.hero{max-width:1600px;grid-template-columns:minmax(350px,37%) minmax(0,63%);min-height:570px;align-items:stretch}
.intro{padding:65px 4% 65px 8%}
.intro h1{font-size:clamp(24px,2.35vw,39px);line-height:1.55;letter-spacing:-.9px}
.headline-line{display:block;white-space:nowrap}
.intro p{font-size:clamp(12px,1vw,14px);line-height:1.95}
.opening-line{display:block}
.hero-gallery{display:grid;grid-template-columns:1.12fr .88fr;gap:9px;padding:22px 24px 22px 0;min-width:0}
.hero-gallery figure{margin:0;position:relative;min-width:0;overflow:hidden;background:#e7e9e1}
.hero-gallery img{display:block;width:100%;height:100%;min-height:525px;object-fit:cover;object-position:center}
.hero-gallery figcaption{position:absolute;bottom:12px;right:12px;background:#f8f8f0dd;color:#284432;padding:5px 9px;font-size:11px}
@media(max-width:1000px){.hero{grid-template-columns:1fr}.intro{padding:55px 28px 20px}.hero-gallery{padding:8px 22px 28px}.hero-gallery img{min-height:340px;max-height:550px}.intro h1{font-size:clamp(24px,4.5vw,38px)}}
@media(max-width:560px){.headline-line{white-space:normal}.hero-gallery{grid-template-columns:1fr 1fr;gap:7px;padding:8px 12px 22px}.hero-gallery img{min-height:280px;max-height:360px}.hero-gallery figcaption{font-size:9px;bottom:6px;right:6px}.intro h1{font-size:clamp(25px,6vw,32px)}.intro p{font-size:13px}}

/* v3.3 four-image first-screen gallery */
.hero{grid-template-columns:minmax(340px,34%) minmax(0,66%)}
.hero-gallery-four{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.hero-gallery-four img{min-height:520px;object-fit:cover;object-position:center}
.hero-gallery-four figure:nth-child(2) img{object-position:55% center}
.hero-gallery-four figcaption{font-size:10px;max-width:95%;text-align:center}
@media(max-width:1100px){.hero{grid-template-columns:1fr}.hero-gallery-four{grid-template-columns:repeat(4,minmax(0,1fr));padding:12px 20px 30px}.hero-gallery-four img{min-height:350px;max-height:460px}}
@media(max-width:620px){.hero-gallery-four{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.hero-gallery-four img{height:260px;min-height:260px}.hero-gallery-four figcaption{font-size:9px}}

/* v3.4: single image rotating gallery */
.hero{grid-template-columns:minmax(350px,39%) minmax(0,61%)}
.hero-gallery-carousel{position:relative;min-width:0;margin:20px 24px 20px 0;overflow:hidden;background:#e3e8df;min-height:520px}
.hero-gallery-carousel .slide{position:absolute;inset:0;margin:0;opacity:0;visibility:hidden;transition:opacity .9s ease,visibility .9s ease}
.hero-gallery-carousel .slide.active{opacity:1;visibility:visible}
.hero-gallery-carousel .slide img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.hero-gallery-carousel .slide figcaption{position:absolute;bottom:18px;left:18px;padding:8px 12px;background:#f7f6f0dc;color:#284533;font-size:12px}
.carousel-controls{position:absolute;inset:auto 15px 15px auto;display:flex;gap:9px;align-items:center;z-index:2}
.carousel-controls button{cursor:pointer;border:0;border-radius:50%;background:#f7f6f0e8;color:#183d2b;width:36px;height:36px;font-size:19px}
.carousel-dots{position:absolute;top:18px;left:18px;display:flex;gap:9px;z-index:2}
.carousel-dots button{border:1px solid #fff;background:#ffffff8c;border-radius:50%;width:11px;height:11px;padding:0;cursor:pointer}
.carousel-dots button[aria-current="true"]{background:#17402b}
@media(max-width:1000px){.hero{grid-template-columns:1fr}.hero-gallery-carousel{margin:0 20px 28px;min-height:430px}}
@media(max-width:600px){.hero-gallery-carousel{min-height:320px;margin:0 12px 22px}.hero-gallery-carousel .slide figcaption{font-size:10px;bottom:12px;left:12px}}
@media(prefers-reduced-motion:reduce){.hero-gallery-carousel .slide{transition:none}}

/* v3.5: logo blends into header background; no white image rectangle */
header{background:#f7f6f1f5}
.nav>a:first-child{display:flex;align-items:center}
.logo{display:block;background:transparent;mix-blend-mode:normal;object-fit:contain}

/* v3.6 Japanese business text: clear paragraph breaks, mobile responsive */
.business-copy{margin:0 0 20px;line-height:2.05;overflow-wrap:anywhere}
@media(max-width:1100px){.business-copy .desktop-break{display:none}}

/* v3.7: equal-size image cards, no carousel caption overlays */
#products .cards{align-items:stretch}
#products .card{display:flex;flex-direction:column;min-width:0}
#products .card img{display:block;width:100%;height:260px;aspect-ratio:4/3;object-fit:cover;object-position:center}
#products .card-body{flex:1}
.footer-concept-note{display:inline-block;margin-top:9px;font-size:11px;opacity:.8}
@media(max-width:800px){#products .card img{height:260px}}

/* v3.8 official branding and responsive hero */
.logo{width:250px;max-width:40vw;height:auto;max-height:85px;object-fit:contain}
.hero-title-line{display:block;white-space:nowrap}.intro h1{font-size:clamp(26px,2.55vw,40px);line-height:1.5}
.hero-gallery-carousel .slide img{width:100%;height:100%;object-fit:cover}
.card img{height:270px;width:100%;object-fit:cover}
@media(max-width:760px){.hero-title-line{white-space:normal}.logo{width:200px;max-width:60vw}.intro h1{font-size:clamp(25px,5vw,35px)}}

/* v3.9: preserve entire official branded coffee cup */
#products .card img[alt="Cafe"]{object-fit:contain;object-position:center;background:#eee7dc}

/* v4.0: partnership inquiries */
.partner-section{background:#f1f2eb;border-top:1px solid #d9e0d7}
.partner-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:50px;align-items:start}
.partner-section h2{font-size:clamp(27px,3vw,41px);font-weight:400;line-height:1.4;margin:18px 0}
.partner-eyebrow{font-size:11px;letter-spacing:3px;color:#657b6c}
.partner-section p{font-size:15px;line-height:2;color:#526c5a;margin:0 0 15px}
.partner-section .partner-note{font-size:12px;color:#758578}
.partner-button{display:inline-block;margin-top:12px;background:#244936;color:#fff;padding:15px 25px;border-radius:26px;font-size:13px}
@media(max-width:800px){.partner-grid{grid-template-columns:1fr;gap:12px}}

/* v4.1: show full official-logo cup, without cropping */
.card img[src$="coffee_official_logo.webp"]{object-fit:contain;object-position:center;background:#f5f3ec}
.hero-gallery-carousel img[src$="coffee_official_logo.webp"]{object-fit:contain;object-position:center;background:#e8e5dd}

/* v4.2: one-line Japanese title and full-width B2B copy on desktop */
@media(min-width:1101px){
.hero:has(.hero-wide-title){display:grid;grid-template-columns:minmax(260px,36%) minmax(0,64%);grid-template-rows:auto minmax(470px,auto)}
.hero-wide-title{grid-column:1/-1;grid-row:1;white-space:nowrap;font-weight:400;font-size:clamp(26px,2.65vw,41px);letter-spacing:-.7px;margin:0;padding:30px 3.5% 12px;line-height:1.4}
.hero:has(.hero-wide-title) .intro{grid-column:1;grid-row:2;padding-top:40px}
.hero:has(.hero-wide-title) .hero-gallery-carousel{grid-column:2;grid-row:2}
}
.business-full{display:block!important;max-width:1380px;width:calc(100% - 32px);margin:auto}
.business-full>div:first-child{margin-bottom:23px}
.business-full>div:last-child{width:100%}
.business-one-line{margin:0 0 14px;white-space:nowrap;font-size:15px;line-height:1.9}
.business-full .btn{margin-top:15px}
@media(max-width:1100px){.hero-wide-title{font-size:clamp(24px,3.3vw,37px);margin:35px 24px 0;line-height:1.5;white-space:normal;font-weight:400}.business-one-line{white-space:normal;overflow-wrap:anywhere}}

/* v4.3: Japanese hero, business section image and partnership line break */
.business-full>.business-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,43%);column-gap:35px;align-items:center;margin-bottom:28px}
.business-heading .eyebrow{grid-column:1;align-self:end}
.business-heading h2{grid-column:1;margin:14px 0;align-self:start}
.business-visual{grid-column:2;grid-row:1 / span 2;align-self:center}
.business-visual img{width:100%;height:245px;object-fit:cover;display:block;border-radius:2px}
#partnership .partner-grid p br{display:block}
@media(max-width:850px){.business-full>.business-heading{grid-template-columns:1fr}.business-visual{grid-column:1;grid-row:auto;margin-top:14px}.business-visual img{height:220px}}
@media(min-width:1101px){.hero-wide-title{font-size:clamp(25px,2.65vw,41px)}}

/* v4.4: exact requested heading sequence */
.hero-top-label{font-size:11px;letter-spacing:3px;color:#173f2e;grid-column:1/-1;grid-row:1;padding:24px 3.5% 5px}
.hero:has(.hero-top-label) .hero-wide-title{grid-column:1/-1;grid-row:2;margin:0;padding:5px 3.5% 12px}
@media(min-width:1101px){
.hero:has(.hero-top-label){grid-template-rows:auto auto minmax(470px,auto)}
.hero:has(.hero-top-label) .intro{grid-column:1;grid-row:3;padding-top:24px}
.hero:has(.hero-top-label) .hero-gallery-carousel{grid-column:2;grid-row:3}
}
@media(max-width:1100px){.hero-top-label{padding:24px 24px 0}.hero:has(.hero-top-label) .hero-wide-title{padding:8px 24px 12px;margin:0}}

/* v4.5 exact requested top-to-bottom text layout */
.hero:has(.hero-copy-v45){display:flex;flex-direction:column;max-width:1500px;min-height:0;margin:0 auto}
.hero-copy-v45{width:100%;padding:38px clamp(20px,5vw,75px) 28px;display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.hero-copy-v45 .hero-top-label{padding:0;letter-spacing:3px;font-size:13px;line-height:1.5}
.hero-copy-v45 .hero-wide-title{display:block;grid-column:auto;grid-row:auto;white-space:normal;padding:0;margin:0;font-size:clamp(27px,3.2vw,47px);line-height:1.45;font-weight:400}
.hero-copy-v45 p{margin:0;font-size:clamp(14px,1.4vw,19px);line-height:1.8;color:#526b59}
.hero-copy-v45 .btn{margin-top:0}
.hero:has(.hero-copy-v45) .hero-gallery-carousel{position:relative;display:block;grid-column:auto;grid-row:auto;width:calc(100% - 2*clamp(20px,5vw,75px));margin:0 clamp(20px,5vw,75px) 28px;min-height:500px;height:500px}
@media(max-width:700px){.hero-copy-v45{padding:30px 20px 22px;gap:16px}.hero-copy-v45 .hero-wide-title{font-size:clamp(25px,6vw,35px)}.hero:has(.hero-copy-v45) .hero-gallery-carousel{width:calc(100% - 40px);margin:0 20px 24px;min-height:300px;height:320px}}

/* v4.6 hero: text left, gallery right, no desktop line breaks */
.hero:has(.hero-line-title){display:grid!important;grid-template-columns:minmax(0,50%) minmax(0,50%)!important;grid-template-rows:1fr!important;align-items:stretch;max-width:1900px;min-height:540px}
.hero:has(.hero-line-title) .intro{grid-column:1!important;grid-row:1!important;min-width:0;padding:60px 18px 55px 3.5%!important;align-self:center}
.hero:has(.hero-line-title) .hero-gallery-carousel{grid-column:2!important;grid-row:1!important;min-width:0;margin:18px 20px 18px 0!important;min-height:500px}
.hero-line-title{font-size:clamp(20px,2.05vw,38px)!important;line-height:1.45!important;font-weight:400;white-space:nowrap;letter-spacing:-.7px;margin:28px 0!important}
.hero-line-subtitle{font-size:clamp(12px,1.1vw,17px)!important;line-height:1.8;white-space:nowrap;margin:0 0 22px!important}
@media(max-width:1050px){.hero:has(.hero-line-title){grid-template-columns:1fr!important;grid-template-rows:auto auto!important}.hero:has(.hero-line-title) .intro{grid-column:1!important;grid-row:1!important;padding:45px 25px 20px!important}.hero:has(.hero-line-title) .hero-gallery-carousel{grid-column:1!important;grid-row:2!important;margin:10px 20px 25px!important;min-height:380px}.hero-line-title,.hero-line-subtitle{white-space:normal!important}}

/* v4.9: show full official coffee cup, saucer and logo */
.card img[src*="coffee_official_plants_living_coffee"]{object-fit:contain!important;object-position:center!important;background:#eee7dd}
.slide img[src*="coffee_official_plants_living_coffee"],.hero-gallery-carousel img[src*="coffee_official_plants_living_coffee"]{object-fit:contain!important;object-position:center!important;background:#eee7dd}

/* v5.0 balanced Japanese business introduction */
.business-split-v50{padding:85px 25px!important}
.business-content-v50{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:48px;align-items:center;max-width:1450px}
.business-text-v50{min-width:0}
.business-text-v50 .business-heading{display:block!important;margin:0 0 32px!important}
.business-text-v50 .business-heading h2{font-size:clamp(34px,3.6vw,57px);line-height:1.25;margin:24px 0 0}
.business-text-v50 .business-one-line{white-space:normal!important;line-height:1.95!important;font-size:clamp(13px,1.1vw,17px)!important;margin:0 0 14px!important}
.business-text-v50 .btn{margin-top:20px}
.business-photo-v50{min-width:0;align-self:stretch;display:flex;align-items:center}
.business-photo-v50 img{width:100%;height:100%;max-height:470px;min-height:340px;object-fit:cover;object-position:center;border-radius:3px;display:block}
@media(max-width:850px){.business-content-v50{grid-template-columns:1fr!important;gap:24px}.business-photo-v50 img{height:auto;min-height:0;max-height:420px}}

/* v5.2: original v5.0 two-column layout, smaller single-line Japanese copy */
@media(min-width:851px){
#business .business-text-v50 .business-one-line{font-size:clamp(9px,.72vw,12px)!important;white-space:nowrap!important;letter-spacing:-.045em!important;line-height:2.2!important;overflow:visible!important}
#business .business-content-v50{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)!important;gap:24px!important}
}
@media(max-width:850px){#business .business-text-v50 .business-one-line{font-size:14px!important;white-space:normal!important}}

/* v5.3: retain v5.0 side-by-side composition and nearly original photo size */
@media(min-width:1101px){
 #business .business-content-v50{
   width:calc(100% - 12px)!important;
   max-width:1680px!important;
   grid-template-columns:minmax(0,61fr) minmax(0,39fr)!important;
   gap:22px!important;
 }
 #business .business-text-v50 .business-one-line{
   font-size:18px!important;
   line-height:1.95!important;
   letter-spacing:-.015em!important;
   white-space:nowrap!important;
   overflow:visible!important;
 }
 #business .business-photo-v50 img{max-height:470px!important;min-height:340px!important}
}
@media(min-width:851px) and (max-width:1100px){
 #business .business-content-v50{grid-template-columns:minmax(0,60fr) minmax(0,40fr)!important;gap:20px!important}
 #business .business-text-v50 .business-one-line{font-size:15px!important;white-space:normal!important;letter-spacing:normal!important}
}
@media(max-width:850px){
 #business .business-text-v50 .business-one-line{font-size:16px!important;white-space:normal!important;letter-spacing:normal!important}
}

/* v5.4: increase hero supporting sentence, retain existing layout */
@media(min-width:1101px){
.hero-copy-v45 p{font-size:clamp(17px,1.68vw,23px)!important;line-height:1.75!important;color:#284e3b!important;letter-spacing:-.015em;white-space:nowrap}
}
@media(min-width:701px) and (max-width:1100px){.hero-copy-v45 p{font-size:clamp(17px,2vw,21px)!important;line-height:1.8!important;color:#284e3b!important}}
@media(max-width:700px){.hero-copy-v45 p{font-size:17px!important;line-height:1.85!important;color:#284e3b!important;white-space:normal}}

/* v5.5 product catalog links and placeholder category pages */
.category-link{display:block;color:inherit;text-decoration:none;height:100%}.category-link:hover img{filter:brightness(.96)}.category-link:focus-visible{outline:3px solid #2d664c;outline-offset:4px}.category-link h3:after{content:' ↗';font:normal 16px sans-serif;vertical-align:middle;color:#54735d}
.catalog-page{max-width:1180px;margin:0 auto;padding:55px 24px 85px;min-height:75vh}.catalog-intro{margin-bottom:35px}.catalog-intro h1{font:normal clamp(45px,6vw,76px) Georgia,serif;margin:14px 0}.catalog-intro p{font-size:18px;color:#526b5b}.catalog-feature{display:grid;grid-template-columns:1.15fr 1fr;gap:38px;align-items:center;background:#fff}.catalog-feature>img{width:100%;height:420px;object-fit:contain;background:#eae9e1}.catalog-feature>div{padding:28px}.catalog-feature h2{font-size:32px}.catalog-feature p{line-height:2;color:#536a5b}.catalog-notice{font-size:12px}.catalog-inquire{display:inline-block;padding:13px 22px;margin-top:15px;border-radius:24px;background:#204934;color:#fff}.catalog-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:45px;flex-wrap:wrap}.catalog-nav{display:flex;gap:20px;flex-wrap:wrap}.catalog-bottom a{text-decoration:underline;text-underline-offset:4px}@media(max-width:760px){.catalog-feature{grid-template-columns:1fr}.catalog-feature>img{height:300px}.catalog-feature>div{padding:15px 24px 32px}}

/* v5.10 — gallery 70% width AND height of v5.7, centered */
@media (min-width:701px){
.hero:has(.hero-copy-v45) .hero-gallery-carousel{
 width:calc((100% - 2*clamp(20px,5vw,75px))*0.7)!important;
 height:350px!important;min-height:350px!important;
 margin:0 auto 34px!important;
 }
}
@media (max-width:700px){
.hero:has(.hero-copy-v45) .hero-gallery-carousel{
 width:calc((100% - 40px)*0.7)!important;
 height:224px!important;min-height:224px!important;
 margin:0 auto 25px!important;
 }
}

/* v5.11 — keep the approved 70% gallery frame, show each whole original image */
.hero:has(.hero-copy-v45) .hero-gallery-carousel{background:#f7f6f1!important}
.hero:has(.hero-copy-v45) .hero-gallery-carousel .slide{background:#f7f6f1!important}
.hero:has(.hero-copy-v45) .hero-gallery-carousel .slide img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center center!important;background:#f7f6f1!important}

/* v5.12 — approved editorial left text / centered right slideshow */
body{background:#f7f6f1}
.hero.hero-v512{display:grid!important;grid-template-columns:minmax(0,41%) minmax(0,59%)!important;grid-template-rows:1fr!important;align-items:center!important;max-width:1500px!important;margin:0 auto!important;min-height:560px!important;gap:22px;padding:26px 35px 34px}
.hero-v512 .hero-left-v512{grid-column:1!important;grid-row:1!important;padding:22px 8px 22px 22px!important;min-width:0}
.hero-kicker-v512{font-size:12px;letter-spacing:.24em;color:#698070;margin-bottom:24px}
.hero-title-v512{font-size:clamp(27px,2.55vw,39px)!important;line-height:1.65!important;letter-spacing:-.035em;font-weight:400;color:#153e2d;margin:0 0 24px!important;overflow-wrap:anywhere}
.hero-rule-v512{width:64px;height:1px;background:#90a494;margin:0 0 28px}
.hero-description-v512{font-size:clamp(16px,1.45vw,21px)!important;color:#4c6556;line-height:2!important;letter-spacing:-.015em;margin:0 0 28px!important}
.hero-description-v512 span{display:block}
.hero-button-v512{display:inline-block;border:1px solid #264d38;border-radius:2px;padding:13px 23px;color:#204632;text-decoration:none;font-size:13px}
.hero-v512 .hero-right-v512{grid-column:2!important;grid-row:1!important;min-width:0;display:flex;align-items:center;justify-content:center;padding:12px 0}
.hero-v512 .hero-gallery-v512{position:relative!important;display:block!important;width:100%!important;max-width:790px!important;height:440px!important;min-height:440px!important;margin:0!important;overflow:hidden!important;border-radius:3px;background:#eeece4!important}
.hero-v512 .hero-gallery-v512 .slide{position:absolute;inset:0}
.hero-v512 .hero-gallery-v512 .slide img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;background:#eeece4!important}
.products-v512{padding:38px 28px 74px!important;border-top:1px solid #e5e5dc}
.products-v512 .wrap{max-width:1450px}
.products-v512 .cards-v512{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.products-v512 .card-v512{background:#fff}
.products-v512 .card-v512 img{height:215px!important;object-fit:cover!important}
.products-v512 .card-v512 .card-body{padding:19px 24px 25px}
.products-v512 .card-v512 h3{font-size:31px;margin:0 0 8px}
.products-v512 .card-v512 p{font-size:13px}
@media(max-width:1050px){
.hero.hero-v512{grid-template-columns:1fr!important;grid-template-rows:auto auto!important;padding:28px 20px!important;gap:16px}
.hero-v512 .hero-left-v512{grid-column:1!important;grid-row:1!important;padding:14px 8px!important}
.hero-v512 .hero-right-v512{grid-column:1!important;grid-row:2!important;padding:0!important}
.hero-v512 .hero-gallery-v512{height:390px!important;min-height:390px!important}
.hero-title-v512{font-size:clamp(26px,4.3vw,38px)!important}
}
@media(max-width:650px){
.hero.hero-v512{padding:20px 14px!important;min-height:0!important}
.hero-v512 .hero-gallery-v512{height:260px!important;min-height:260px!important}
.hero-description-v512{font-size:16px!important}
.products-v512 .cards-v512{grid-template-columns:1fr}
.products-v512 .card-v512 img{height:235px!important}
}

/* v5.13 — fill the slideshow frame like the second reference screenshot */
.hero-v512 .hero-gallery-v512 .slide img{
  object-fit:cover!important;
  object-position:center center!important;
  background:transparent!important;
}
.hero-v512 .hero-gallery-v512{
  background:#e9e8e0!important;
}

/* v5.14: editorial hero, based on user's second reference; preserve existing slide photos */
.hero.hero-v512{
  max-width:1680px!important;
  grid-template-columns:minmax(0,39%) minmax(0,61%)!important;
  gap:0!important;
  min-height:535px!important;
  padding:0!important;
  background:#f9f8f3;
}
.hero-v512 .hero-left-v512{
  position:relative;overflow:hidden;
  padding:70px 35px 60px clamp(34px,7vw,120px)!important;
  align-self:stretch;display:flex;flex-direction:column;justify-content:center;
  background:radial-gradient(ellipse at -20% 10%,#d5dec8a3,transparent 42%),
             radial-gradient(ellipse at -15% 83%,#d5dec8a0,transparent 38%),#f9f8f3;
}
.hero-v512 .hero-left-v512::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.19;
  background:repeating-linear-gradient(125deg,transparent 0 44px,#9fb49a 45px 52px,transparent 56px 110px);
  mask-image:linear-gradient(90deg,#000,transparent 32%);
}
.hero-editorial-title{position:relative;font-family:Georgia,'Noto Serif JP','Noto Serif CJK JP',serif;
  font-weight:400;color:#183e30;font-size:clamp(24px,2.25vw,37px);line-height:1.55;
  letter-spacing:-.045em;margin:0 0 26px}
.hero-editorial-title span{display:block}
.hero-editorial-rule{width:64px;height:1px;background:#91a58f;margin-bottom:27px}
.hero-editorial-copy{font-family:Georgia,'Noto Serif JP','Noto Serif CJK JP',serif;
  font-size:clamp(12px,.96vw,16px);line-height:1.95;letter-spacing:-.015em;color:#5c6e60;margin:0}
.hero-editorial-copy span{display:block}
.hero-editorial-script{font-family:'Brush Script MT','Segoe Script',cursive;font-style:italic;
  font-size:clamp(23px,2.25vw,37px);color:#98a78d;text-align:center;
  transform:rotate(-9deg);margin-top:28px;line-height:1.5}
.hero-v512 .hero-right-v512{padding:0!important;align-self:stretch}
.hero-v512 .hero-gallery-v512{width:100%!important;max-width:none!important;
  height:535px!important;min-height:535px!important;border-radius:0!important;margin:0!important}
.hero-v512 .hero-gallery-v512 .slide img{object-fit:cover!important}
@media(max-width:1050px){
 .hero.hero-v512{grid-template-columns:1fr!important;grid-template-rows:auto auto!important}
 .hero-v512 .hero-left-v512{padding:45px 28px!important}
 .hero-v512 .hero-gallery-v512{height:400px!important;min-height:400px!important}
 .hero-editorial-title{font-size:clamp(26px,4.5vw,38px)}
}
@media(max-width:650px){
 .hero-v512 .hero-left-v512{padding:36px 22px!important}
 .hero-editorial-title{font-size:clamp(24px,6vw,31px)}
 .hero-v512 .hero-gallery-v512{height:290px!important;min-height:290px!important}
 .hero-editorial-script{margin-top:16px}
}
