:root {
  --yh-ink: #18342d;
  --yh-ink-soft: #36544b;
  --yh-paper: #faf8f3;
  --yh-orange: #f2a928;
  --yh-line: rgba(24, 52, 45, .16);
  --yh-serif: "Iowan Old Style", "Palatino Linotype", Baskerville, Georgia, serif;
}

html { scroll-behavior: smooth; }
body.yhiroshi-site { margin: 0; color: var(--yh-ink); background: var(--yh-paper); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.yhiroshi-site *, .yhiroshi-site *::before, .yhiroshi-site *::after { box-sizing: border-box; }
.yhiroshi-site a { color: inherit; text-decoration: none; }
.yhiroshi-site img { display: block; max-width: 100%; }
.yh-main { overflow: hidden; }
.yh-shell { width: min(1240px, calc(100% - 64px)); margin-inline: auto; }
.yh-skip-link { position: fixed; left: 16px; top: -100px; z-index: 9999; padding: 12px 18px; color: white; background: var(--yh-ink); }
.yh-skip-link:focus { top: 16px; }

.yh-topbar { height: 31px; display: flex; align-items: center; justify-content: center; gap: 13px; color: #f8f4eb; background: var(--yh-ink); font-size: 10px; font-weight: 750; letter-spacing: .19em; text-transform: uppercase; }
.yh-topbar i, .yh-audience i { width: 4px; height: 4px; flex: 0 0 auto; border-radius: 50%; background: var(--yh-orange); }
.yh-header { position: relative; z-index: 100; background: rgba(250, 248, 243, .96); }
.yh-header.is-sticky { position: fixed; inset: 0 0 auto; box-shadow: 0 12px 32px rgba(24, 52, 45, .08); backdrop-filter: blur(15px); }
.admin-bar .yh-header.is-sticky { top: 32px; }
.yh-header-inner { width: min(1370px, calc(100% - 48px)); height: 86px; margin-inline: auto; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; border-bottom: 1px solid var(--yh-line); }
.yh-brand { width: fit-content; display: inline-flex; align-items: center; gap: 11px; }
.yh-brand img, .yh-brand .custom-logo { width: 48px; height: 48px; object-fit: contain; }
.yh-brand .custom-logo-link { display: flex; }
.yh-brand > span { display: flex; flex-direction: column; line-height: 1; }
.yh-brand strong { font-size: 17px; letter-spacing: .08em; }
.yh-brand small { margin-top: 7px; opacity: .58; font-size: 7px; letter-spacing: .24em; }
.yh-nav { display: flex; gap: 34px; font-size: 13px; font-weight: 650; }
.yh-nav a { position: relative; padding-block: 10px; }
.yh-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 3px; height: 1px; background: var(--yh-orange); transition: right .25s ease; }
.yh-nav a:hover::after, .yh-nav a:focus-visible::after { right: 0; }
.yh-header-cta { min-height: 44px; justify-self: end; display: inline-flex; align-items: center; gap: 9px; padding: 0 19px; border: 1px solid var(--yh-ink); border-radius: 999px; font-size: 12px; font-weight: 750; transition: .22s ease; }
.yh-header-cta:hover { color: white; background: var(--yh-ink); }
.yh-menu-button, .yh-mobile-nav { display: none; }

.yh-eyebrow { display: flex; align-items: center; gap: 11px; margin: 0 0 25px; color: #446158; font-size: 10px; font-weight: 800; letter-spacing: .2em; }
.yh-eyebrow span { width: 32px; height: 32px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid currentColor; border-radius: 50%; color: var(--yh-orange); font-size: 9px; letter-spacing: 0; }
.yh-eyebrow.yh-light { color: #c6d3ce; }
.yh-hero { min-height: 715px; display: grid; grid-template-columns: .93fr 1.07fr; gap: 30px; align-items: center; padding-block: 66px 74px; }
.yh-hero h1, .yh-section-heading h2, .yh-oem h2, .yh-range h2, .yh-quality h2, .yh-final-cta h2, .yh-inner-hero h1, .yh-detail-copy h1 { margin: 0; color: var(--yh-ink); font: 500 clamp(54px, 6.1vw, 91px)/.94 var(--yh-serif); letter-spacing: -.055em; }
.yh-hero h1 em, .yh-section-heading h2 em, .yh-range h2 em, .yh-quality h2 em { color: #6e887d; font-weight: 400; }
.yh-hero-lede { max-width: 555px; margin: 31px 0 0; color: #50665f; font-size: 16px; line-height: 1.78; }
.yh-actions { display: flex; align-items: center; gap: 29px; margin-top: 33px; }
.yh-button { min-height: 51px; display: inline-flex; align-items: center; justify-content: center; gap: 11px; padding: 0 24px; border-radius: 999px; font-size: 12px; font-weight: 800; transition: transform .22s ease, background .22s ease; }
.yh-button:hover { transform: translateY(-2px); }
.yh-button-dark { color: white !important; background: var(--yh-ink); }
.yh-button-dark:hover { background: #284c42; }
.yh-button-light { margin-top: 33px; color: var(--yh-ink) !important; background: #f7f3ea; }
.yh-text-link { width: fit-content; display: inline-flex; align-items: center; gap: 10px; padding-block: 8px; border-bottom: 1px solid currentColor; font-size: 12px; font-weight: 750; }
.yh-proof { display: flex; flex-wrap: wrap; gap: 13px 20px; margin-top: 43px; padding-top: 21px; border-top: 1px solid var(--yh-line); color: #486159; font-size: 10px; font-weight: 700; }
.yh-proof span { display: flex; align-items: center; gap: 7px; }
.yh-proof b { color: var(--yh-orange); font-size: 15px; }
.yh-hero-art { position: relative; height: 585px; overflow: hidden; isolation: isolate; border-radius: 290px 290px 28px 28px; background: linear-gradient(150deg, #dcece2 3%, #c7dcca 63%, #afc8b8); }
.yh-hero-art::before { content: ""; position: absolute; inset: 18px; z-index: 3; border: 1px solid rgba(255,255,255,.58); border-radius: inherit; pointer-events: none; }
.yh-hero-art::after { content: ""; position: absolute; width: 370px; height: 370px; top: -130px; right: -70px; border-radius: 50%; background: rgba(255,255,255,.3); }
.yh-hero-pets { position: absolute; z-index: 1; right: 1%; top: 2%; width: 48%; height: 72%; object-fit: contain; object-position: top; filter: drop-shadow(0 18px 22px rgba(39,73,62,.12)); }
.yh-hero-products { position: absolute; z-index: 4; left: 10%; bottom: 5%; width: 80%; height: 55%; object-fit: contain; filter: drop-shadow(0 20px 22px rgba(33,58,50,.18)); }
.yh-hero-kanji { position: absolute; left: 6%; top: 6%; margin: 0; color: rgba(255,255,255,.7); font: 500 83px/1 Georgia, serif; writing-mode: vertical-rl; letter-spacing: .09em; }
.yh-floating-note { position: absolute; z-index: 5; top: 16%; left: 5%; display: flex; align-items: center; gap: 10px; padding: 12px 15px; border: 1px solid rgba(255,255,255,.7); border-radius: 14px; background: rgba(250,248,243,.76); backdrop-filter: blur(10px); box-shadow: 0 12px 30px rgba(35,70,58,.08); }
.yh-floating-note > b { color: var(--yh-orange); }
.yh-floating-note span { display: flex; flex-direction: column; font-size: 11px; font-weight: 750; }
.yh-floating-note small { margin-bottom: 4px; color: #799085; font-size: 7px; letter-spacing: .19em; }
.yh-edition { position: absolute; z-index: 5; top: 6%; right: 7%; width: 68px; height: 68px; display: flex; align-items: center; justify-content: center; gap: 5px; border-radius: 50%; background: var(--yh-orange); transform: rotate(8deg); }
.yh-edition b { font: 700 21px/1 Georgia, serif; }
.yh-edition span { font-size: 6px; font-weight: 800; line-height: 1.3; letter-spacing: .08em; }

.yh-audience { min-height: 67px; display: flex; align-items: center; justify-content: center; gap: 20px; padding: 16px 32px; color: #405a52; background: #eee8db; font-size: 11px; }
.yh-audience > span { color: #819088; font-size: 8px; font-weight: 800; letter-spacing: .18em; }
.yh-audience strong { font-weight: 650; white-space: nowrap; }
.yh-products { padding-block: 126px; }
.yh-section-heading { display: grid; grid-template-columns: 1.35fr .65fr; gap: 70px; align-items: end; margin-bottom: 57px; }
.yh-section-heading h2, .yh-oem h2, .yh-range h2, .yh-quality h2, .yh-final-cta h2 { font-size: clamp(45px, 5vw, 72px); }
.yh-section-heading > p { margin: 0 0 8px; color: #5b7069; font-size: 14px; line-height: 1.9; }
.yh-product-layout { display: grid; grid-template-columns: 1.08fr .92fr; gap: 20px; }
.yh-grooming-feature { position: relative; min-height: 694px; overflow: hidden; border-radius: 31px; color: white; background: var(--yh-ink); }
.yh-grooming-feature::after { content: ""; position: absolute; width: 510px; height: 510px; right: -130px; bottom: -170px; border: 1px solid rgba(255,255,255,.15); border-radius: 50%; box-shadow: 0 0 0 72px rgba(255,255,255,.025), 0 0 0 145px rgba(255,255,255,.02); }
.yh-grooming-feature > div { position: relative; z-index: 3; padding: 51px; }
.yh-grooming-feature > div > p { margin: 0 0 26px; color: #9db2a9; font-size: 8px; font-weight: 800; letter-spacing: .18em; }
.yh-grooming-feature h3 { margin: 0; color: white; font: 500 45px/1.04 var(--yh-serif); letter-spacing: -.035em; }
.yh-grooming-feature > div > span { display: block; margin-top: 18px; color: #b9c9c2; font-size: 11px; }
.yh-grooming-feature a { width: fit-content; display: block; margin-top: 25px; padding-bottom: 6px; border-bottom: 1px solid #829c91; font-size: 11px; font-weight: 750; }
.yh-grooming-feature > img { position: absolute; z-index: 2; left: 4%; bottom: 0; width: 92%; height: 57%; object-fit: contain; filter: drop-shadow(0 24px 22px rgba(0,0,0,.22)); }
.yh-feature-number { position: absolute; z-index: 1; right: 5%; top: 10%; color: rgba(255,255,255,.045); font: 500 190px/1 Georgia, serif; }
.yh-product-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.yh-product-card { position: relative; min-height: 337px; display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; padding: 22px; border-radius: 26px; transition: transform .25s ease, box-shadow .25s ease; }
.yh-product-card:hover { transform: translateY(-5px); box-shadow: 0 18px 40px rgba(34,58,51,.09); }
.yh-lilac { background: #e6e0ed; }.yh-blue { background: #dfe9ed; }.yh-sage { background: #dce7da; }.yh-sand { background: #eee5d7; }
.yh-card-top { position: relative; z-index: 2; display: flex; justify-content: space-between; color: #6a7c75; font-size: 9px; font-weight: 800; }
.yh-product-card img { position: absolute; left: 15%; top: 17%; width: 70%; height: 57%; object-fit: contain; mix-blend-mode: multiply; transition: transform .35s ease; }
.yh-product-card:hover img { transform: scale(1.035); }
.yh-product-card:nth-child(2) img { left: 8%; width: 84%; mix-blend-mode: normal; }
.yh-product-card:nth-child(3) img { top: 21%; left: 6%; width: 88%; height: 52%; mix-blend-mode: normal; }
.yh-product-card > div:last-child { position: relative; z-index: 2; }
.yh-product-card h3 { margin: 0; color: var(--yh-ink); font: 600 22px/1.1 var(--yh-serif); }
.yh-product-card p { margin: 6px 0 0; color: #6d7c77; font-size: 9px; font-weight: 700; letter-spacing: .05em; }

.yh-oem { padding-block: 115px; color: #f8f4eb; background: var(--yh-ink); }
.yh-oem-inner { display: grid; grid-template-columns: .88fr 1.12fr; gap: 100px; align-items: center; }
.yh-oem h2, .yh-final-cta h2 { color: white; }
.yh-oem h2 em, .yh-final-cta h2 em { color: #aec2b8; font-weight: 400; }
.yh-oem-copy > p:nth-of-type(2) { max-width: 500px; margin: 28px 0 0; color: #b6c7c0; font-size: 14px; line-height: 1.85; }
.yh-process { border-top: 1px solid rgba(255,255,255,.17); }
.yh-process article { min-height: 125px; display: grid; grid-template-columns: 52px 1fr auto; gap: 25px; align-items: center; border-bottom: 1px solid rgba(255,255,255,.17); transition: padding .2s, background .2s; }
.yh-process article:hover { padding-inline: 14px; background: rgba(255,255,255,.035); }
.yh-process article > span { color: var(--yh-orange); font: 500 20px/1 Georgia, serif; }
.yh-process h3 { margin: 0 0 7px; color: white; font: 500 21px/1.1 var(--yh-serif); }
.yh-process p { margin: 0; color: #9fb1aa; font-size: 11px; line-height: 1.65; }
.yh-process article > b { color: #7f968d; font-size: 25px; }

.yh-range { display: grid; grid-template-columns: 1.2fr .8fr; gap: 90px; align-items: center; padding-block: 130px; }
.yh-range-visual { position: relative; min-height: 620px; overflow: hidden; padding: 34px; border-radius: 32px; background: linear-gradient(150deg, #ede6d8, #e4ddcf); }
.yh-range-visual::before { content: ""; position: absolute; inset: 48px 80px; border: 1px solid rgba(24,52,45,.11); border-radius: 50%; }
.yh-range-label { display: flex; justify-content: space-between; color: #77877f; font-size: 8px; font-weight: 800; letter-spacing: .18em; }
.yh-range-label b { color: var(--yh-orange); font: 500 24px/1 Georgia, serif; }
.yh-bottles { position: absolute; inset: 80px 20px 18px; z-index: 2; display: grid; grid-template-columns: repeat(4, 1fr); align-items: end; }
.yh-bottles figure { margin: 0; text-align: center; }
.yh-bottles figure:nth-child(even) { transform: translateY(-26px); }
.yh-bottles img { width: 100%; height: 440px; object-fit: contain; filter: drop-shadow(0 25px 18px rgba(58,69,64,.13)); }
.yh-bottles figcaption { margin-top: -25px; color: #71827a; font-size: 7px; font-weight: 800; letter-spacing: .18em; }
.yh-range-copy > p:nth-of-type(2), .yh-quality-copy > p:nth-of-type(2) { margin: 27px 0; color: #5a6e67; font-size: 14px; line-height: 1.9; }
.yh-range ul { list-style: none; margin: 28px 0; padding: 25px 0; border-block: 1px solid var(--yh-line); }
.yh-range li { padding: 8px 0; color: #405b52; font-size: 12px; }
.yh-range li::first-letter { color: var(--yh-orange); }

.yh-quality { display: grid; grid-template-columns: .92fr 1.08fr; gap: 85px; align-items: center; padding-bottom: 130px; }
.yh-quality-image { position: relative; min-height: 600px; overflow: hidden; border-radius: 28px 160px 28px 28px; background: #dce7df; }
.yh-quality-image > img { width: 100%; height: 600px; object-fit: cover; filter: saturate(.72) contrast(.94); }
.yh-quality-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(24,52,45,.32)); }
.yh-quality-badge { position: absolute; z-index: 2; left: 28px; bottom: 28px; display: flex; align-items: center; gap: 11px; padding: 14px 18px; border-radius: 14px; background: rgba(250,248,243,.92); backdrop-filter: blur(10px); }
.yh-quality-badge > b { color: var(--yh-orange); font-size: 21px; }
.yh-quality-badge span { display: flex; flex-direction: column; }
.yh-quality-badge strong { font-size: 10px; letter-spacing: .12em; }
.yh-quality-badge small { margin-top: 4px; color: #708078; font-size: 7px; }
.yh-quality-points { margin-top: 35px; border-top: 1px solid var(--yh-line); }
.yh-quality-points article { display: grid; grid-template-columns: 46px 1fr; gap: 19px; padding: 22px 0; border-bottom: 1px solid var(--yh-line); }
.yh-quality-points article > b { color: var(--yh-orange); font: 500 18px/1 Georgia, serif; }
.yh-quality-points h3 { margin: 0 0 6px; color: var(--yh-ink); font: 600 18px/1.1 var(--yh-serif); }
.yh-quality-points p { margin: 0; color: #667870; font-size: 11px; line-height: 1.65; }

.yh-final-cta { min-height: 450px; display: grid; grid-template-columns: 1.15fr .85fr; gap: 90px; align-items: center; margin-block: 20px 105px; padding: 70px; border-radius: 32px; color: white; background: var(--yh-ink); }
.yh-contact-card { padding: 30px; border: 1px solid rgba(255,255,255,.17); border-radius: 22px; background: rgba(255,255,255,.04); }
.yh-contact-card p { margin: 0 0 25px; color: #b5c5bf; font-size: 13px; line-height: 1.8; }
.yh-contact-card > a:not(.yh-button) { width: fit-content; display: block; padding-bottom: 7px; border-bottom: 1px solid rgba(255,255,255,.3); color: #e8eee9; font-size: 12px; }
.yh-button-accent { width: 100%; margin-top: 28px; color: var(--yh-ink) !important; background: var(--yh-orange); }

.yh-footer { position: relative; overflow: hidden; color: #dfe7e3; background: #0d2a22; }
.yh-footer-wordmark { min-height: 190px; position: relative; display: flex; align-items: flex-end; justify-content: space-between; gap: 35px; overflow: hidden; padding-block: 30px 25px; border-bottom: 1px solid rgba(255,255,255,.13); }
.yh-footer-wordmark strong { margin-left: -8px; color: rgba(238,244,240,.09); font: 500 clamp(82px, 11.5vw, 166px)/.72 var(--yh-serif); letter-spacing: -.075em; white-space: nowrap; }
.yh-footer-wordmark span { position: relative; z-index: 2; padding-bottom: 4px; color: var(--yh-orange); font-size: 8px; font-weight: 800; letter-spacing: .22em; white-space: nowrap; }
.yh-footer-main { display: grid; grid-template-columns: 1.25fr .72fr .85fr 1.08fr; gap: 64px; align-items: start; padding-block: 72px 78px; }
.yh-footer-intro > p { max-width: 330px; margin: 27px 0 23px; color: #9fb1aa; font-size: 12px; line-height: 1.8; }
.yh-footer-brand > i { width: 58px; height: 58px; display: grid; place-items: center; flex: 0 0 auto; overflow: hidden; border-radius: 15px; background: #f8f4eb; box-shadow: inset 0 0 0 1px rgba(255,255,255,.2); }
.yh-footer-brand > i img { width: 48px; height: 48px; opacity: 1; filter: none; object-fit: contain; }
.yh-footer-brand strong { color: white; }
.yh-footer-brand small { color: #9eb0a8; opacity: 1; }
.yh-footer-badges { display: flex; flex-wrap: wrap; gap: 7px; }
.yh-footer-badges span { padding: 7px 9px; border: 1px solid rgba(255,255,255,.14); border-radius: 999px; color: #b5c5bf; font-size: 6px; font-weight: 800; letter-spacing: .13em; }
.yh-footer-heading { margin: 4px 0 24px !important; color: var(--yh-orange) !important; font-size: 8px !important; font-weight: 850; letter-spacing: .2em; }
.yh-footer-column nav { display: grid; gap: 14px; }
.yh-footer-column a { width: fit-content; color: #bdcbc5; font-size: 11px; line-height: 1.45; transition: color .2s, transform .2s; }
.yh-footer-column a:hover { color: white; transform: translateX(3px); }
.yh-footer-contact { padding: 27px; border: 1px solid rgba(255,255,255,.14); border-radius: 21px; background: rgba(255,255,255,.035); }
.yh-footer-contact > p:not(.yh-footer-heading) { margin: 0 0 22px; color: #a9bbb4; font-size: 11px; line-height: 1.75; }
.yh-footer-contact > small { display: block; margin-bottom: 7px; color: #748e84; font-size: 6px; font-weight: 850; letter-spacing: .18em; }
.yh-footer-contact > a { display: block; width: fit-content; color: #d8e1dd; }
.yh-footer-email { overflow-wrap: anywhere; font-size: 10px; }
.yh-footer-whatsapp { margin-top: 9px; font-size: 9px; }
.yh-footer-contact > a:hover { color: var(--yh-orange); }
.yh-footer-rfq { width: 100% !important; min-height: 48px; display: flex !important; align-items: center; justify-content: space-between; margin-top: 24px; padding: 0 17px; border-radius: 999px; color: var(--yh-ink) !important; background: var(--yh-orange); font-size: 10px; font-weight: 850; }
.yh-footer-rfq:hover { color: var(--yh-ink) !important; background: #f7bb51; }
.yh-footer-bottom { min-height: 76px; display: grid; grid-template-columns: 1fr auto 1fr; gap: 30px; align-items: center; border-top: 1px solid rgba(255,255,255,.12); color: #7f978d; font-size: 8px; }
.yh-footer-bottom nav { display: flex; gap: 24px; }
.yh-footer-bottom nav a:hover, .yh-back-to-top:hover { color: white; }
.yh-back-to-top { justify-self: end; }
.yh-floating-rfq { position: fixed; z-index: 300; right: 20px; bottom: 20px; width: 55px; height: 55px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px; border-radius: 50%; color: var(--yh-ink) !important; background: var(--yh-orange); box-shadow: 0 12px 30px rgba(24,52,45,.22); transition: transform .2s; }
.yh-floating-rfq:hover { transform: translateY(-3px); }
.yh-floating-rfq small { font-size: 7px; font-weight: 900; letter-spacing: .12em; }

/* Inner pages and product catalogue */
.yh-inner-main { min-height: 60vh; }
.yh-inner-hero { padding-block: 90px; background: #e8eee7; }
.yh-inner-hero h1 { max-width: 900px; font-size: clamp(50px, 6vw, 84px); }
.yh-inner-hero > .yh-shell > p:last-child { max-width: 650px; margin: 24px 0 0; color: #587069; font-size: 15px; line-height: 1.8; }
.yh-breadcrumb { display: flex; gap: 9px; margin: 0 0 24px !important; color: #70827b; font-size: 10px !important; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.yh-breadcrumb a { color: var(--yh-ink); }
.yh-page-content { max-width: 940px; padding-block: 80px 110px; font-size: 16px; line-height: 1.85; }
.yh-page-content h2 { margin: 0 0 22px; color: var(--yh-ink); font: 500 clamp(38px, 5vw, 58px)/1.05 var(--yh-serif); letter-spacing: -.035em; }
.yh-page-content h3 { margin-top: 45px; color: var(--yh-ink); font: 600 28px/1.2 var(--yh-serif); }
.yh-post-grid, .yh-archive-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; padding-block: 80px 110px; }
.yh-post-card, .yh-archive-card { overflow: hidden; border: 1px solid var(--yh-line); border-radius: 22px; background: white; }
.yh-post-card > *:not(.yh-post-image), .yh-archive-card > div { margin-inline: 24px; }
.yh-post-image, .yh-archive-image { height: 280px; display: grid; place-items: center; overflow: hidden; background: #e8eee7; }
.yh-post-image img, .yh-archive-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.yh-post-card:hover img, .yh-archive-card:hover img { transform: scale(1.035); }
.yh-post-image span, .yh-archive-image span { color: #789087; font: 600 62px/1 var(--yh-serif); }
.yh-post-card > p, .yh-archive-card > div > p { margin-top: 22px; color: #819087; font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.yh-post-card h2, .yh-archive-card h2 { margin: 11px 24px 13px; color: var(--yh-ink); font: 600 25px/1.16 var(--yh-serif); }
.yh-post-card .entry-summary, .yh-archive-card .entry-summary { color: #62756e; font-size: 12px; line-height: 1.7; }
.yh-post-card .yh-text-link, .yh-archive-card .yh-text-link { margin: 15px 24px 25px; }
.yh-pagination { grid-column: 1 / -1; padding-top: 30px; }
.yh-empty-state { grid-column: 1 / -1; padding: 80px 30px; border-radius: 28px; text-align: center; background: #eee8db; }
.yh-empty-state > strong { color: var(--yh-orange); font: 600 55px/1 var(--yh-serif); }
.yh-empty-state h2 { margin: 20px 0 10px; font: 500 38px/1.1 var(--yh-serif); }
.yh-product-detail { display: grid; grid-template-columns: 1fr 1fr; gap: 75px; align-items: center; padding-block: 90px 120px; }
.yh-detail-image { min-height: 630px; display: grid; place-items: center; padding: 35px; border-radius: 32px; background: #eee8db; }
.yh-detail-image img { width: 100%; height: 560px; object-fit: contain; }
.yh-detail-image > span { color: #8ca098; font: 600 90px/1 var(--yh-serif); }
.yh-detail-copy h1 { font-size: clamp(48px, 5vw, 72px); }
.yh-detail-lede { margin: 25px 0; color: #5d726a; font-size: 16px; line-height: 1.8; }
.yh-detail-content { margin: 28px 0; padding-block: 24px; border-block: 1px solid var(--yh-line); color: #52675f; font-size: 14px; line-height: 1.8; }

@media (max-width: 1050px) {
  .yh-shell { width: min(calc(100% - 40px), 920px); }
  .yh-header-inner { grid-template-columns: 1fr auto; }
  .yh-nav, .yh-header-cta { display: none; }
  .yh-menu-button { width: 44px; height: 44px; display: grid; place-content: center; gap: 7px; padding: 0; border: 1px solid var(--yh-line); border-radius: 50%; color: var(--yh-ink); background: transparent; }
  .yh-menu-button i { width: 18px; height: 1px; background: currentColor; transition: transform .2s; }
  .yh-menu-button[aria-expanded="true"] i:first-of-type { transform: translateY(4px) rotate(45deg); }
  .yh-menu-button[aria-expanded="true"] i:last-of-type { transform: translateY(-4px) rotate(-45deg); }
  .yh-mobile-nav { position: absolute; left: 20px; right: 20px; top: 82px; z-index: 200; padding: 14px; border: 1px solid var(--yh-line); border-radius: 18px; background: white; box-shadow: 0 20px 50px rgba(24,52,45,.12); }
  .yh-mobile-nav:not([hidden]) { display: block; }
  .yh-mobile-nav a { display: block; padding: 13px 11px; border-bottom: 1px solid var(--yh-line); font-size: 14px; }
  .yh-mobile-nav a:last-child { margin-top: 9px; border: 0; border-radius: 10px; color: white; background: var(--yh-ink); }
  .yh-hero { grid-template-columns: 1fr; padding-top: 55px; }
  .yh-hero-copy { max-width: 720px; }
  .yh-hero-art { height: 610px; }
  .yh-section-heading { grid-template-columns: 1fr; gap: 25px; }
  .yh-section-heading > p { max-width: 600px; }
  .yh-product-layout, .yh-oem-inner, .yh-range, .yh-quality, .yh-final-cta, .yh-product-detail { grid-template-columns: 1fr; }
  .yh-oem-inner { gap: 60px; }
  .yh-range-visual { order: 2; }
  .yh-quality-copy { order: -1; }
  .yh-final-cta { gap: 40px; }
  .yh-post-grid, .yh-archive-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 700px) {
  .yh-shell { width: calc(100% - 28px); }
  .yh-topbar { gap: 7px; font-size: 7px; letter-spacing: .12em; }
  .yh-header-inner { width: calc(100% - 28px); height: 75px; }
  .yh-brand img, .yh-brand .custom-logo { width: 41px; height: 41px; }
  .yh-brand strong { font-size: 15px; }
  .yh-hero { min-height: auto; gap: 45px; padding-block: 48px 56px; }
  .yh-hero h1 { font-size: clamp(48px, 14vw, 68px); }
  .yh-hero-lede { font-size: 14px; }
  .yh-actions { align-items: flex-start; flex-direction: column; gap: 16px; }
  .yh-proof { display: grid; grid-template-columns: 1fr 1fr; }
  .yh-hero-art { height: 480px; border-radius: 200px 200px 23px 23px; }
  .yh-hero-pets { width: 52%; right: 0; }
  .yh-hero-products { left: 4%; width: 92%; }
  .yh-hero-kanji { font-size: 58px; }
  .yh-floating-note { top: 18%; left: 4%; }
  .yh-edition { width: 58px; height: 58px; }
  .yh-audience { justify-content: flex-start; overflow-x: auto; white-space: nowrap; padding-inline: 18px; }
  .yh-products { padding-block: 85px; }
  .yh-section-heading h2, .yh-oem h2, .yh-range h2, .yh-quality h2, .yh-final-cta h2 { font-size: 44px; }
  .yh-grooming-feature { min-height: 610px; }
  .yh-grooming-feature > div { padding: 35px 28px; }
  .yh-grooming-feature h3 { font-size: 39px; }
  .yh-grooming-feature > img { left: -4%; width: 108%; height: 54%; }
  .yh-product-cards { grid-template-columns: 1fr; }
  .yh-product-card { min-height: 350px; }
  .yh-oem { padding-block: 85px; }
  .yh-process article { grid-template-columns: 39px 1fr auto; gap: 13px; }
  .yh-range { gap: 50px; padding-block: 90px; }
  .yh-range-visual { min-height: 470px; padding: 24px; }
  .yh-bottles { inset: 65px 5px 18px; }
  .yh-bottles img { height: 330px; }
  .yh-bottles figcaption { display: none; }
  .yh-quality { gap: 50px; padding-bottom: 90px; }
  .yh-quality-image, .yh-quality-image > img { min-height: 440px; height: 440px; }
  .yh-final-cta { width: calc(100% - 28px); min-height: auto; margin-block: 0 70px; padding: 45px 22px; }
  .yh-contact-card { padding: 22px 18px; }
  .yh-contact-card > a:not(.yh-button) { font-size: 10px; }
  .yh-floating-rfq { right: 13px; bottom: 13px; }
  .yh-inner-hero { padding-block: 62px; }
  .yh-inner-hero h1 { font-size: 48px; }
  .yh-page-content { padding-block: 55px 75px; }
  .yh-post-grid, .yh-archive-grid { grid-template-columns: 1fr; padding-block: 55px 80px; }
  .yh-post-image, .yh-archive-image { height: 250px; }
  .yh-product-detail { gap: 40px; padding-block: 55px 80px; }
  .yh-detail-image { min-height: 420px; }
  .yh-detail-image img { height: 360px; }
}

@media (max-width: 782px) {
  .admin-bar .yh-header.is-sticky { top: 46px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; }
}

/* Framework pages */
.yh-inner-hero em, .yh-article-hero em, .yh-thank-you em { color: #6e887d; font-weight: 400; }
.yh-service-hero, .yh-about-hero, .yh-contact-hero { position: relative; overflow: hidden; padding-block: 105px 112px; }
.yh-service-hero::after, .yh-about-hero::after, .yh-contact-hero::after { content: "YH"; position: absolute; right: -1vw; bottom: -4.2vw; color: rgba(24,52,45,.035); font: 600 clamp(180px, 28vw, 410px)/.72 var(--yh-serif); pointer-events: none; }
.yh-service-intro { display: grid; grid-template-columns: 1fr .85fr; gap: 110px; align-items: start; padding-block: 90px; }
.yh-service-intro h2, .yh-quality-page h2, .yh-about-story h2, .yh-inline-cta h2, .yh-service-process h2, .yh-document-note h2 { margin: 0; color: var(--yh-ink); font: 500 clamp(39px, 4.7vw, 66px)/1 var(--yh-serif); letter-spacing: -.045em; }
.yh-service-intro > div:last-child > p { margin: 0; color: #587069; font-size: 15px; line-height: 1.9; }
.yh-service-intro ul { list-style: none; margin: 30px 0 0; padding: 20px 0; border-block: 1px solid var(--yh-line); }
.yh-service-intro li { display: flex; align-items: center; gap: 11px; padding: 10px 0; color: #405b52; font-size: 13px; }
.yh-service-intro li::before { content: "↗"; color: var(--yh-orange); }
.yh-service-process { padding-block: 110px; color: white; background: var(--yh-ink); }
.yh-service-process header { display: grid; grid-template-columns: .7fr 1.3fr; gap: 70px; align-items: end; margin-bottom: 60px; }
.yh-service-process h2, .yh-document-note h2 { color: white; }
.yh-service-process h2 em, .yh-document-note h2 em { color: #adc2b8; font-weight: 400; }
.yh-step-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-block: 1px solid rgba(255,255,255,.16); }
.yh-step-grid article { min-height: 290px; padding: 34px 27px; border-right: 1px solid rgba(255,255,255,.16); }
.yh-step-grid article:last-child { border-right: 0; }
.yh-step-grid b { display: block; color: var(--yh-orange); font: 500 27px/1 var(--yh-serif); }
.yh-step-grid h3 { margin: 85px 0 14px; color: white; font: 500 23px/1.1 var(--yh-serif); }
.yh-step-grid p { margin: 0; color: #a9bbb4; font-size: 12px; line-height: 1.75; }
.yh-inline-cta { min-height: 235px; display: flex; align-items: center; justify-content: space-between; gap: 60px; padding-block: 48px; }
.yh-inline-cta > div > p { margin: 0 0 12px; color: var(--yh-orange); font-size: 9px; font-weight: 800; letter-spacing: .18em; }
.yh-inline-cta h2 { max-width: 760px; font-size: clamp(34px, 4vw, 52px); }

/* Quality page */
.yh-quality-page { display: grid; grid-template-columns: .95fr 1.05fr; gap: 90px; align-items: center; padding-block: 110px; }
.yh-quality-page > figure { min-height: 620px; margin: 0; overflow: hidden; border-radius: 30px 180px 30px 30px; background: #dce7df; }
.yh-quality-page > figure img { width: 100%; height: 620px; object-fit: cover; filter: saturate(.76) contrast(.96); }
.yh-quality-page > div > p:nth-of-type(2) { margin: 27px 0 0; color: #587069; font-size: 14px; line-height: 1.85; }
.yh-quality-list { margin-top: 35px; border-top: 1px solid var(--yh-line); }
.yh-quality-list article { display: grid; grid-template-columns: 46px 1fr; column-gap: 18px; padding: 22px 0; border-bottom: 1px solid var(--yh-line); }
.yh-quality-list b { grid-row: 1 / 3; color: var(--yh-orange); font: 500 19px/1 var(--yh-serif); }
.yh-quality-list h3 { margin: 0 0 7px; color: var(--yh-ink); font: 600 19px/1.15 var(--yh-serif); }
.yh-quality-list p { margin: 0; color: #63766f; font-size: 11px; line-height: 1.7; }
.yh-document-note { padding-block: 105px; color: white; background: #102821; }
.yh-document-note h2 { max-width: 940px; }
.yh-document-note > .yh-shell > p:last-child { max-width: 760px; margin: 32px 0 0; color: #a8bbb3; font-size: 14px; line-height: 1.85; }

/* About page */
.yh-about-story { display: grid; grid-template-columns: .65fr 1.35fr; gap: 100px; align-items: center; padding-block: 120px; }
.yh-about-mark { width: min(100%, 410px); aspect-ratio: 1; display: flex; align-items: center; justify-content: center; gap: 23px; border-radius: 50%; color: white; background: var(--yh-ink); box-shadow: 0 0 0 25px #e7ece5, 0 0 0 26px var(--yh-line); }
.yh-about-mark span { font: 500 76px/1 var(--yh-serif); }
.yh-about-mark i { width: 7px; height: 7px; border-radius: 50%; background: var(--yh-orange); }
.yh-about-story > div:last-child > p:last-child, .yh-about-content { color: #587069; font-size: 15px; line-height: 1.9; }
.yh-about-content { margin-top: 28px; }
.yh-values { padding-block: 95px; background: #e8eee7; }
.yh-value-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.yh-value-grid article { min-height: 245px; padding: 35px 40px; border-right: 1px solid var(--yh-line); }
.yh-value-grid article:last-child { border-right: 0; }
.yh-value-grid b { color: var(--yh-orange); font: 500 24px/1 var(--yh-serif); }
.yh-value-grid h3 { margin: 54px 0 13px; font: 600 24px/1.1 var(--yh-serif); }
.yh-value-grid p { margin: 0; color: #60756d; font-size: 12px; line-height: 1.75; }

/* Contact and thank-you */
.yh-contact-details { position: relative; z-index: 3; display: grid; grid-template-columns: repeat(3, 1fr); margin-top: -32px; border-radius: 22px; background: white; box-shadow: 0 18px 55px rgba(24,52,45,.08); }
.yh-contact-details > * { min-height: 128px; display: flex; flex-direction: column; justify-content: center; gap: 11px; padding: 25px 30px; border-right: 1px solid var(--yh-line); }
.yh-contact-details > *:last-child { border-right: 0; }
.yh-contact-details small { color: #829088; font-size: 8px; font-weight: 800; letter-spacing: .18em; }
.yh-contact-details strong { overflow-wrap: anywhere; color: var(--yh-ink); font: 600 16px/1.35 var(--yh-serif); }
.yh-contact-details a:hover strong { color: #d68b12; }
.yh-contact-form-section { padding-block: 105px 120px; }
.yhiroshi-no-floating-rfq .yh-floating-rfq { display: none; }
.yh-insights-empty .yh-button { margin-top: 26px; }
.yh-thank-you { min-height: 720px; display: grid; align-items: center; padding-block: 90px; background: linear-gradient(145deg, #eef1e9, #faf8f3 58%); }
.yh-thank-you h1 { max-width: 850px; margin: 0; font: 500 clamp(60px, 8vw, 104px)/.9 var(--yh-serif); letter-spacing: -.06em; }
.yh-thank-you > .yh-shell > p:nth-of-type(2) { max-width: 690px; margin: 30px 0 0; color: #587069; font-size: 15px; line-height: 1.85; }
.yh-next-steps { max-width: 900px; display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 50px; border-block: 1px solid var(--yh-line); }
.yh-next-steps article { min-height: 135px; display: flex; gap: 16px; padding: 27px 25px 27px 0; border-right: 1px solid var(--yh-line); }
.yh-next-steps article:not(:first-child) { padding-left: 25px; }
.yh-next-steps article:last-child { border-right: 0; }
.yh-next-steps b { color: var(--yh-orange); font: 500 18px/1 var(--yh-serif); }
.yh-next-steps span { color: #50665e; font-size: 12px; line-height: 1.7; }

/* Product specifications and insight articles */
.yh-product-specs { margin: 30px 0 0; border-top: 1px solid var(--yh-line); }
.yh-product-specs > div { display: grid; grid-template-columns: 145px 1fr; gap: 20px; padding: 13px 0; border-bottom: 1px solid var(--yh-line); }
.yh-product-specs dt { color: #7d8c86; font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.yh-product-specs dd { margin: 0; color: var(--yh-ink); font-size: 12px; font-weight: 650; }
.yh-detail-actions { display: flex; align-items: center; gap: 18px; }
.yh-detail-actions > span { max-width: 220px; color: #7b8984; font-size: 9px; line-height: 1.55; }
.yh-article-hero { padding-block: 100px 75px; background: #e8eee7; }
.yh-article-hero h1 { max-width: 990px; margin: 0; font: 500 clamp(48px, 6vw, 82px)/.98 var(--yh-serif); letter-spacing: -.05em; }
.yh-article-lede { max-width: 760px; margin: 28px 0 0; color: #587069; font-size: 16px; line-height: 1.8; }
.yh-article-image { max-height: 680px; margin-top: 70px; overflow: hidden; border-radius: 30px; background: #e8eee7; }
.yh-article-image img { width: 100%; max-height: 680px; object-fit: cover; }
.yh-article-content { width: min(780px, calc(100% - 64px)); padding-block: 80px; color: #405b52; font-size: 17px; line-height: 1.9; }
.yh-article-content h2 { margin: 55px 0 18px; color: var(--yh-ink); font: 600 38px/1.1 var(--yh-serif); }
.yh-article-content h3 { margin: 42px 0 15px; color: var(--yh-ink); font: 600 27px/1.2 var(--yh-serif); }
.yh-article-content a { color: #a56708; text-decoration: underline; text-underline-offset: 3px; }
.yh-article-footer { min-height: 155px; display: flex; align-items: center; justify-content: space-between; gap: 35px; margin-bottom: 95px; padding: 35px 45px; border-radius: 24px; background: #eee8db; }
.yh-article-footer span { font: 600 26px/1.15 var(--yh-serif); }
@media (max-width: 1050px) {
  .yh-service-intro, .yh-quality-page, .yh-about-story { grid-template-columns: 1fr; gap: 55px; }
  .yh-step-grid { grid-template-columns: 1fr 1fr; }
  .yh-step-grid article:nth-child(2) { border-right: 0; }
  .yh-step-grid article:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.16); }
  .yh-quality-page > figure { order: 2; }
  .yh-about-mark { margin-inline: auto; }
  .yh-contact-details { grid-template-columns: 1fr 1fr; }
  .yh-contact-details > *:nth-child(2) { border-right: 0; }
  .yh-contact-details > *:last-child { grid-column: 1 / -1; border-top: 1px solid var(--yh-line); }
}

@media (max-width: 1050px) {
  .yh-footer-wordmark { min-height: 155px; }
  .yh-footer-main { grid-template-columns: 1.15fr .85fr; gap: 55px 75px; }
  .yh-footer-contact { max-width: 440px; }
}

@media (max-width: 700px) {
  .yh-footer-wordmark { min-height: 118px; align-items: flex-end; }
  .yh-footer-wordmark strong { font-size: 67px; }
  .yh-footer-wordmark span { display: none; }
  .yh-footer-main { grid-template-columns: 1fr; gap: 42px; padding-block: 55px 60px; }
  .yh-footer-intro > p { max-width: 100%; }
  .yh-footer-column nav { gap: 12px; }
  .yh-footer-contact { max-width: none; }
  .yh-footer-bottom { min-height: 115px; grid-template-columns: 1fr auto; gap: 17px; padding-block: 22px; }
  .yh-footer-bottom > span { grid-column: 1 / -1; }
  .yh-footer-bottom nav { gap: 17px; }
}

@media (max-width: 700px) {
	.yh-header.is-sticky { background: var(--yh-paper); backdrop-filter: none; }
	.yh-service-hero, .yh-about-hero, .yh-contact-hero { padding-block: 70px 80px; }
  .yh-service-intro, .yh-quality-page, .yh-about-story { padding-block: 75px; }
  .yh-service-process, .yh-document-note { padding-block: 78px; }
  .yh-service-process header { grid-template-columns: 1fr; gap: 18px; }
  .yh-step-grid { grid-template-columns: 1fr; }
  .yh-step-grid article { min-height: 235px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.16); }
  .yh-step-grid article:last-child { border-bottom: 0; }
  .yh-step-grid h3 { margin-top: 55px; }
	.yh-inline-cta { align-items: flex-start; flex-direction: column; gap: 24px; padding-block: 46px; }
  .yh-quality-page > figure, .yh-quality-page > figure img { min-height: 440px; height: 440px; }
  .yh-about-mark { width: 270px; }
  .yh-about-mark span { font-size: 55px; }
  .yh-value-grid { grid-template-columns: 1fr; }
	.yh-value-grid article { min-height: 205px; border-right: 0; border-bottom: 1px solid var(--yh-line); }
  .yh-value-grid article:last-child { border-bottom: 0; }
	.yh-value-grid h3 { margin-top: 35px; }
  .yh-contact-details { width: calc(100% - 28px); grid-template-columns: 1fr; margin-top: -24px; }
  .yh-contact-details > * { min-height: 110px; border-right: 0; border-bottom: 1px solid var(--yh-line); }
  .yh-contact-details > *:last-child { grid-column: auto; border-top: 0; border-bottom: 0; }
	.yh-contact-form-section { padding-block: 62px 74px; }
  .yh-next-steps { grid-template-columns: 1fr; }
  .yh-next-steps article, .yh-next-steps article:not(:first-child) { min-height: auto; padding: 22px 0; border-right: 0; border-bottom: 1px solid var(--yh-line); }
  .yh-next-steps article:last-child { border-bottom: 0; }
  .yh-product-specs > div { grid-template-columns: 110px 1fr; }
  .yh-detail-actions, .yh-article-footer { align-items: flex-start; flex-direction: column; }
  .yh-article-hero { padding-block: 70px 60px; }
  .yh-article-content { width: calc(100% - 28px); padding-block: 60px; font-size: 16px; }
  .yh-article-image { width: calc(100% - 28px); margin-top: 45px; border-radius: 20px; }
  .yh-article-footer { width: calc(100% - 28px); margin-bottom: 70px; padding: 30px 24px; }
}
