/* Photographic chapters and direct conversations — 3 November 2026. */
.subpage { background: var(--paper); }
.subpage main { overflow: clip; }
.chapter-hero { position: relative; isolation: isolate; background: var(--forest); color: var(--paper); padding-block: calc(var(--header-height) + 2.7rem) 0; }
.chapter-layout { display: grid; grid-template-columns: minmax(0,1.12fr) minmax(0,1fr); gap: clamp(2rem,4vw,4.5rem); align-items: center; }
.chapter-copy { position: relative; padding-block: 1rem 2.5rem; animation: chapter-arrive .85s cubic-bezier(.2,.75,.2,1) both; }
.chapter-copy .breadcrumb { color: rgb(243 239 230 / .75); font-size: .8rem; margin-block: 0 2.5rem; }
.chapter-copy .breadcrumb a { color: var(--paper); }
.chapter-copy .eyebrow { color: var(--gold); font-size: .8rem; margin-block-end: 1.3rem; }
.chapter-copy h1 { color: var(--paper); font-size: clamp(3rem,5.3vw,5.5rem); line-height: 1.04; letter-spacing: -.055em; font-weight: 400; text-wrap: initial; overflow-wrap: normal; }
.chapter-copy .lead { color: rgb(243 239 230 / .86); font-size: 1.08rem; line-height: 1.7; max-inline-size: 43ch; margin-block: 1.7rem 0; }
.chapter-copy .actions { display: flex; flex-wrap: wrap; gap: 1rem 1.7rem; margin-block-start: 2rem; }
.chapter-copy > .button { margin-block-start: 2rem; }
.chapter-copy .button { color: var(--forest); background: var(--paper); border-color: var(--paper); font-size: 1rem; border-radius: 3rem; padding-inline: 1.5rem; }
.chapter-copy .button:hover { background: var(--stone); border-color: var(--stone); }
.chapter-copy .text-link { color: var(--paper); font-size: 1rem; }
.chapter-status { display: flex; align-items: center; gap: .7rem; margin-block-start: 2.5rem; font-size: .75rem; letter-spacing: .06em; color: rgb(243 239 230 / .85); }
.chapter-status > span { inline-size: .45rem; block-size: .45rem; background: var(--gold); border-radius: 50%; box-shadow: 0 0 0 5px rgb(198 173 120 / .1); }
.chapter-media { position: relative; align-self: stretch; min-block-size: 33rem; border-radius: 1.2rem 1.2rem 5rem 1.2rem; overflow: hidden; background: var(--navy); }
.chapter-media::after { content: ''; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent,rgb(8 27 25 / .7)); pointer-events: none; }
.chapter-image { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; object-fit: cover; object-position: 66% center; animation: chapter-image-arrive 4.5s cubic-bezier(.16,.7,.24,1) both; }
.page-pet-food .chapter-image { object-position: 80% center; }
.page-whitetide .chapter-image { object-position: 78% center; }
.chapter-image-caption { position: absolute; z-index: 1; bottom: 2.3rem; left: 2rem; right: 2rem; color: var(--paper); display: flex; align-items: center; gap: 1rem; font-size: .8rem; letter-spacing: .04em; }
.chapter-caption-line { inline-size: 3rem; block-size: 1px; background: var(--gold); transform-origin: left; animation: chapter-line 1.1s .2s both; }
.chapter-foot { display: flex; justify-content: space-between; gap: 1.5rem; align-items: center; padding-block: 1.4rem 1.7rem; font-size: .7rem; color: rgb(243 239 230 / .7); }
.chapter-foot a { display: inline-flex; align-items: center; gap: 1.5rem; color: var(--paper); font-size: .8rem; text-decoration: none; min-block-size: 2.75rem; }
.chapter-hero :focus-visible,.contact-opening :focus-visible,.supply-card:nth-child(1) :focus-visible,.supply-card:nth-child(4) :focus-visible,.quality-card:nth-child(1) :focus-visible,.subpage .gateway-step :focus-visible { outline-color: var(--gold); }
.chapter-anchor { display: block; scroll-margin-block-start: 1rem; }
.subpage .section { padding-block: clamp(3.5rem,6.5vw,6.5rem); }
.subpage .section-head h2 { font-size: clamp(2.6rem,4.3vw,4.3rem); line-height: 1.05; }
.subpage .section-head { margin-block-end: 2.7rem; }
.subpage .rule { border-color: rgb(24 53 45 / .16); }
.subpage .chapter-editorial .intro-grid { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 4rem; }
.subpage .chapter-editorial h2 { font-size: clamp(2.4rem,4.2vw,4.1rem); }
.subpage .chapter-editorial p { max-inline-size: 52ch; }
.subpage .chapter-editorial .lead { font-size: 1.2rem; }
.subpage .chapter-editorial:nth-of-type(2n) { position: relative; }
.subpage .chapter-editorial:nth-of-type(2n)::before { content: ''; position: absolute; inset: 0 calc(-1 * var(--gutter)); background: rgb(217 223 212 / .32); z-index: -1; }
.subpage .pair { gap: 1.5rem; }
.subpage .pair > div { padding: clamp(1.8rem,3vw,3rem); border: 1px solid rgb(24 53 45 / .15); border-radius: 1rem; background: var(--stone); }
.subpage .pair h2 { font-size: clamp(2.2rem,3.4vw,3.2rem); }
.subpage .pair h3 { font-size: 2rem; margin-block-end: 1.4rem; }
.subpage .pair p { max-inline-size: 45ch; }
.subpage .pair .text-link { margin-block-start: 1.5rem; }
.subpage .cta-section { position: relative; overflow: hidden; isolation: isolate; padding-block: 5rem; background: var(--forest); }
.subpage .cta-section::after { content: ''; position: absolute; z-index: -1; inline-size: 38rem; block-size: 38rem; right: -13rem; top: -5rem; border: 1px solid rgb(198 173 120 / .25); border-radius: 50%; box-shadow: 0 0 0 2.4rem rgb(198 173 120 / .035),0 0 0 4.8rem rgb(198 173 120 / .035); }
.subpage .cta { align-items: center; gap: 3rem; }
.subpage .cta h2 { font-size: clamp(2.7rem,4.8vw,4.6rem); }
.subpage .cta .button { background: var(--paper); color: var(--forest); border-color: var(--paper); border-radius: 3rem; }
.subpage .cta .eyebrow { color: var(--gold); }
.supply-card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.2rem; }
.subpage .supply-card { position: relative; display: flex; flex-direction: column; align-items: start; gap: 0; border: 1px solid rgb(24 53 45 / .14); border-radius: 1rem; padding: clamp(1.8rem,2.7vw,2.7rem); min-block-size: 28rem; overflow: hidden; background: var(--stone); transition: transform .35s,box-shadow .35s; }
.supply-card .index,.card-index,.subpage .audience-detail-number,.subpage .gateway-step > .caption { display: block; font-size: clamp(4.5rem,6.5vw,6.6rem); line-height: .95; letter-spacing: -.075em; font-weight: 400; color: var(--forest); }
.subpage .supply-card h3 { font-size: clamp(1.7rem,2.3vw,2.4rem); line-height: 1.12; margin-block: 2.7rem 1.2rem; max-inline-size: 15ch; position: relative; }
.supply-card .program-description { display: flex; flex-direction: column; flex: 1; gap: 1.3rem; }
.supply-card .program-description p { font-size: .95rem; line-height: 1.7; color: var(--secondary); }
.supply-card .text-link { margin-block-start: auto; color: var(--forest); font-size: .9rem; gap: .8rem; }
.supply-card-art { position: absolute; top: 2rem; right: -.8rem; inline-size: 10rem; block-size: 6rem; opacity: .45; }
.supply-card-art path { fill: none; stroke: var(--forest); stroke-width: .7; stroke-dasharray: 300; animation: chapter-draw 1.4s .2s both; }
.supply-card-art circle { fill: var(--forest); }
.subpage .supply-card:nth-child(1),.subpage .supply-card:nth-child(4) { background: var(--forest); border-color: var(--forest); }
.supply-card:nth-child(1) :is(.index,h3,.text-link),.supply-card:nth-child(4) :is(.index,h3,.text-link) { color: var(--paper); }
.supply-card:nth-child(1) .program-description p,.supply-card:nth-child(4) .program-description p { color: rgb(243 239 230 / .85); }
.supply-card:nth-child(1) .supply-card-art path,.supply-card:nth-child(4) .supply-card-art path { stroke: var(--gold); }
.supply-card:nth-child(1) .supply-card-art circle,.supply-card:nth-child(4) .supply-card-art circle { fill: var(--gold); }
.subpage .supply-card-photo { padding: 0; border: 0; color: var(--paper); }
.supply-card-photo > img { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; object-fit: cover; object-position: 70%; }
.supply-card-photo > div { position: relative; display: flex; flex: 1; flex-direction: column; justify-content: end; padding: 2rem; inline-size: 100%; background: linear-gradient(transparent,rgb(6 26 23 / .9)); }
.supply-card-photo :is(h3,.eyebrow,.text-link) { color: var(--paper); }
.subpage .supply-card-photo h3 { margin-block: .5rem 1.5rem; }
.subpage .qa-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.2rem; }
.quality-card { display: flex; flex-direction: column; position: relative; padding: 2.3rem; background: var(--stone); border-radius: 1rem; border: 1px solid rgb(24 53 45 / .12); }
.quality-card h3 { font-size: clamp(1.6rem,2vw,2.1rem); line-height: 1.12; margin-block: 2.3rem 1.3rem; }
.quality-card p { color: var(--secondary); font-size: .95rem; }
.quality-card:nth-child(1) { background: var(--forest); }
.quality-card:nth-child(1) :is(h3,.card-index) { color: var(--paper); }
.quality-card:nth-child(1) p { color: rgb(243 239 230 / .85); }
.quality-card:nth-child(5) { background: var(--sage); }
.subpage #angus-programs .pair > div { position: relative; min-block-size: 23rem; display: flex; flex-direction: column; justify-content: center; overflow: hidden; background: var(--forest); color: var(--paper); }
.subpage #angus-programs .pair > div::after { content: ''; position: absolute; inline-size: 24rem; block-size: 24rem; border-radius: 50%; right: -13rem; top: -5rem; border: 1px solid rgb(198 173 120 / .3); box-shadow: 0 0 0 2rem rgb(198 173 120 / .04),0 0 0 4rem rgb(198 173 120 / .04); }
.subpage #angus-programs .pair > div:last-child { background: var(--navy); }
.subpage #angus-programs .number { color: var(--paper); font-size: clamp(6rem,12vw,10rem); line-height: 1; letter-spacing: -.075em; white-space: nowrap; }
.subpage #angus-programs .number small { font-size: 1.3rem; letter-spacing: -.02em; color: var(--gold); }
.subpage #angus-programs .text-link { color: var(--paper); font-size: .95rem; position: relative; z-index: 1; }
.subpage #angus-programs .lead { color: rgb(243 239 230 / .85); font-size: 1.1rem; margin-block-start: 1rem; }
.subpage #angus-programs :focus-visible { outline-color: var(--gold); }
.chapter-oishi { background: rgb(18 23 21); }
.chapter-oishi .chapter-media { background: rgb(18 23 21); }
.chapter-oishi .chapter-image { opacity: .65; }
.chapter-oishi-logo { position: absolute; z-index: 2; inline-size: min(70%,22rem); block-size: auto; top: 50%; left: 50%; transform: translate(-50%,-50%); mix-blend-mode: screen; }
.subpage.page-oishi-wagyu .product-gallery { gap: 1rem; }
.subpage.page-oishi-wagyu .product-gallery img { border-radius: .8rem; }
.subpage.page-oishi-wagyu .cut-group { background: var(--stone); border: 1px solid rgb(24 53 45 / .14); border-radius: 1rem; padding: 2rem; }
.subpage .marble-experience { border-radius: 1rem; }
.subpage .gateway-section { background: var(--sage); }
.subpage .gateway-flow { gap: 1.2rem; position: relative; }
.subpage .gateway-step { padding: 2.3rem; min-block-size: 23rem; border: 0; border-radius: 1rem; background: var(--forest); color: var(--paper); }
.subpage .gateway-step:nth-child(2) { background: var(--navy); }
.subpage .gateway-step::before,.subpage .gateway-step::after { display: none; }
.subpage .gateway-step > .caption { color: var(--gold); }
.subpage .gateway-step h3 { font-size: 2.1rem; color: var(--paper); margin-block: 3rem 1.4rem; }
.subpage .gateway-step p { color: rgb(243 239 230 / .85); font-size: .95rem; }
.chapter-markets .chapter-layout { grid-template-columns: .85fr 1.15fr; }
.chapter-map { padding: 1.5rem; min-inline-size: 0; background: rgb(243 239 230 / .04); border: 1px solid rgb(243 239 230 / .15); border-radius: 1.2rem; }
.chapter-map > .eyebrow { color: var(--gold); font-size: .7rem; margin-block: 0 2rem; }
.chapter-map .geographic-market-map { background: transparent; border: 0; border-radius: 0; padding: 0; margin: 0; min-block-size: 0; }
.chapter-map .geographic-market-map svg { inline-size: 100%; min-inline-size: 0; }
.chapter-map .map-land { fill: rgb(198 216 190 / .25); stroke: rgb(243 239 230 / .2); }
.chapter-map .map-text { fill: var(--paper); font-size: 17px; }
.chapter-map .map-point { fill: var(--gold); stroke: var(--forest); stroke-width: 2; }
.chapter-map .map-origin { fill: var(--paper); }
.chapter-map .map-route { stroke: var(--gold); opacity: .65; stroke-width: 1; }
.chapter-connection { fill: none; stroke: var(--gold); stroke-width: 1.2; opacity: .55; stroke-dasharray: 1; animation: market-connection 3s cubic-bezier(.2,.75,.2,1) both; }
.chapter-market-nav { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 1.5rem; margin-block-start: 1.5rem; border-block-start: 1px solid rgb(243 239 230 / .2); }
.chapter-market-nav a { display: flex; align-items: center; justify-content: space-between; gap: .5rem; font-size: .85rem; color: var(--paper); text-decoration: none; min-block-size: 2.75rem; border-block-end: 1px solid rgb(243 239 230 / .14); }
.chapter-market-nav a:hover { color: var(--gold); }
.chapter-map > .caption { color: rgb(243 239 230 / .76); font-size: .75rem; margin-block-start: 1.5rem; }
.subpage .region-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.2rem; border: 0; }
.subpage .region { display: flex; flex-direction: column; align-items: start; gap: 0; background: var(--stone); padding: 2.3rem; border: 1px solid rgb(24 53 45 / .14); border-radius: 1rem; }
.subpage .region h3 { font-size: 2.2rem; margin-block: 2.5rem 1rem; }
.subpage .region p { color: var(--secondary); font-size: .95rem; margin-block-end: 1.5rem; }
.subpage .region .text-link { margin-block-start: auto; color: var(--forest); font-size: .9rem; }
.subpage .region:first-child { grid-column: span 2; background: var(--forest); }
.subpage .region:first-child :is(h3,.card-index,.text-link) { color: var(--paper); }
.subpage .region:first-child p { color: rgb(243 239 230 / .85); }
.subpage .region:first-child :focus-visible { outline-color: var(--gold); }
.subpage .audience-detail-grid { gap: 1.2rem; }
.subpage .audience-detail-grid article { display: flex; flex-direction: column; align-items: start; min-block-size: 29rem; background: var(--stone); border: 1px solid rgb(24 53 45 / .15); padding: 2.3rem; border-radius: 1rem; }
.subpage .audience-detail h3 { font-size: 2rem; margin-block: 2.7rem 1.4rem; }
.subpage .audience-detail .text-link { margin-block-start: auto; }
.subpage .audience-detail-grid article:nth-child(2) { background: var(--forest); color: var(--paper); }
.subpage .audience-detail-grid article:nth-child(2) :is(h3,.audience-detail-number,.text-link) { color: var(--paper); }
.subpage .audience-detail-grid article:nth-child(2) p { color: rgb(243 239 230 / .85); }
.subpage .audience-detail-grid article:nth-child(2) :focus-visible { outline-color: var(--gold); }
.subpage :is(.dairy-editorial,.dog-editorial) { padding: 0; display: grid; grid-template-columns: 1fr 1fr; min-block-size: 35rem; overflow: hidden; background: var(--forest); color: var(--paper); }
.development-photo { min-inline-size: 0; position: relative; }
.development-photo img { position: absolute; inline-size: 100%; block-size: 100%; object-fit: cover; object-position: 70%; }
.subpage :is(.dairy-editorial,.dog-editorial) > .wrap { inline-size: 100%; padding: clamp(2rem,5vw,5rem); display: flex; flex-direction: column; justify-content: center; align-items: start; }
.subpage :is(.dairy-editorial,.dog-editorial) h2 { color: var(--paper); font-size: clamp(2.6rem,4.5vw,4.7rem); }
.subpage :is(.dairy-editorial,.dog-editorial) .eyebrow { color: var(--gold); }
.subpage :is(.dairy-editorial,.dog-editorial) p { color: var(--paper); margin-block-start: 2rem; }
.chapter-information .chapter-information-art { max-inline-size: 30rem; margin-inline: auto; color: var(--gold); }
.chapter-information-art svg { inline-size: 100%; }
.chapter-information-art svg :is(circle,path) { fill: none; stroke: currentColor; stroke-width: .8; }
.chapter-information-art svg circle:first-child { stroke-dasharray: 4 8; }
.chapter-information-art .information-tick { stroke-width: 3; stroke-dasharray: 100; animation: chapter-draw 1.5s .2s both; }
.chapter-information-art > span { display: block; text-align: center; font-size: .8rem; letter-spacing: .1em; text-transform: uppercase; }
.subpage .privacy-notice { max-inline-size: none; display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; }
.privacy-notice > .caption { grid-column: 1 / -1; }
.privacy-notice.stack > * + * { margin-block-start: 0; }
.privacy-card { background: var(--stone); padding: 2.3rem; border: 1px solid rgb(24 53 45 / .14); border-radius: 1rem; }
.privacy-card h2 { padding-block-start: 1.8rem; margin-block-end: 1.4rem; }
.privacy-card .card-index { font-size: 4rem; }
.privacy-card p { font-size: .95rem; color: var(--secondary); }
.privacy-card a { color: var(--forest); overflow-wrap: anywhere; }
.contact-opening { position: relative; isolation: isolate; background: var(--forest); color: var(--paper); padding-block: calc(var(--header-height) + 2rem) 0; }
.contact-opening::before { content: ''; position: absolute; z-index: -1; inline-size: 54rem; block-size: 54rem; border-radius: 50%; left: -28rem; top: 15rem; border: 1px solid rgb(198 173 120 / .16); box-shadow: 0 0 0 4rem rgb(198 173 120 / .025),0 0 0 8rem rgb(198 173 120 / .025); }
.contact-opening-grid { display: grid; grid-template-columns: 1.15fr 1fr; gap: clamp(3rem,5vw,6rem); align-items: start; }
.contact-opening-copy { padding-block: .5rem 2rem; animation: chapter-arrive .8s both; }
.contact-opening .breadcrumb { color: rgb(243 239 230 / .7); font-size: .8rem; margin-block-end: 2.5rem; }
.contact-opening .breadcrumb a { color: var(--paper); }
.contact-opening-copy > .eyebrow { color: var(--gold); font-size: .8rem; }
.contact-opening h1 { color: var(--paper); font-size: clamp(3.2rem,5.1vw,5.3rem); line-height: 1.02; font-weight: 400; letter-spacing: -.055em; text-wrap: initial; overflow-wrap: normal; }
.contact-opening h1 em { font-style: normal; color: rgb(212 223 181); }
.contact-opening-copy > p { font-size: 1.1rem; line-height: 1.7; color: rgb(243 239 230 / .85); margin-block-start: 1.5rem; }
.contact-primary-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1.4rem 1.8rem; margin-block: 2rem 1.1rem; }
.contact-primary-actions .button { background: var(--paper); color: var(--forest); border-color: var(--paper); border-radius: 3rem; font-size: 1rem; padding-inline: 1.6rem; }
.contact-call { display: inline-flex; gap: .9rem; align-items: center; color: var(--paper); text-decoration: none; min-block-size: 2.75rem; font-size: 1.05rem; }
.contact-call:hover,.contact-email-address:hover { text-decoration: underline; }
.contact-email-address { display: inline-block; font-size: .9rem; color: rgb(243 239 230 / .9); min-block-size: 2.75rem; padding-block: .4rem; overflow-wrap: anywhere; }
.contact-person { display: flex; align-items: center; gap: 1rem; margin-block-start: 1.8rem; padding-block-start: 1.7rem; border-block-start: 1px solid rgb(243 239 230 / .2); }
.contact-person-monogram { display: grid; place-items: center; inline-size: 3.2rem; block-size: 3.2rem; border: 1px solid rgb(198 173 120 / .5); border-radius: 50%; font-size: .9rem; color: var(--gold); }
.contact-person strong { display: block; font-weight: 500; font-size: 1rem; }
.contact-person div > span { display: block; color: rgb(243 239 230 / .72); font-size: .8rem; }
.quick-enquiry-panel { background: var(--paper); color: var(--forest); padding: clamp(1.7rem,3vw,3rem); border-radius: 1.2rem; box-shadow: 0 25px 70px rgb(4 18 14 / .2); animation: chapter-arrive .85s .1s both; scroll-margin-block-start: 1rem; }
.quick-panel-heading .eyebrow { color: var(--forest); font-size: .7rem; margin-block-end: .8rem; }
.quick-panel-heading h2 { font-size: clamp(2rem,3.2vw,3.2rem); color: var(--forest); line-height: 1.06; }
.quick-panel-heading > p { color: var(--secondary); font-size: .9rem; margin-block: .9rem 1.7rem; }
.quick-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.quick-enquiry-panel .field { margin-block-end: 1rem; display: flex; flex-direction: column; gap: .45rem; }
.quick-enquiry-panel label { display: block; font-size: .875rem; color: var(--forest); }
.quick-enquiry-panel label span { font-size: .7rem; color: var(--secondary); }
.quick-enquiry-panel :is(input,textarea) { background: rgb(255 255 255 / .6); border: 1px solid rgb(24 53 45 / .35); border-radius: .5rem; inline-size: 100%; min-block-size: 2.9rem; padding: .7rem .85rem; font-size: 1rem; color: var(--forest); }
.quick-enquiry-panel textarea { resize: vertical; min-block-size: 7rem; }
.quick-enquiry-panel textarea::placeholder { color: var(--secondary); opacity: 1; }
.quick-enquiry-submit { inline-size: 100%; justify-content: space-between; min-block-size: 3.25rem; color: var(--paper); background: var(--forest); border-color: var(--forest); border-radius: 2rem; font-size: 1rem; margin-block-start: .2rem; }
.quick-form-help { font-size: .75rem; color: var(--secondary); margin-block-start: .8rem; line-height: 1.6; }
.quick-form-help a { color: var(--forest); }
.quick-enquiry-panel :focus-visible { outline-color: var(--green); outline-offset: 3px; }
.quick-form-status { color: var(--forest); font-size: .8rem; line-height: 1.5; }
.quick-form-status:not(:empty) { margin-block-start: 1rem; }
.quick-email-fallback { color: var(--forest); font-size: .875rem; margin-block-start: .6rem; }
.enquiry-context { font-size: .8rem; color: var(--forest); padding: .8rem 1rem; background: var(--sage); border-radius: .5rem; margin-block: 0 1.2rem; }
.contact-opening-foot { display: flex; justify-content: space-between; gap: 1.5rem; align-items: center; padding-block: 1.6rem; font-size: .75rem; color: rgb(243 239 230 / .72); }
.contact-opening-foot a { display: inline-flex; gap: 1.5rem; align-items: center; min-block-size: 2.75rem; color: var(--paper); text-decoration: none; }
.conversation-routes { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.2rem; }
.conversation-route { position: relative; display: flex; flex-direction: column; gap: 1.5rem; background: var(--stone); border: 1px solid rgb(24 53 45 / .18); border-radius: 1rem; padding: 2rem; color: var(--forest); text-decoration: none; scroll-margin-block-start: 1rem; transition: transform .3s,background .3s; }
.conversation-route-index { color: var(--forest); font-size: 4rem; line-height: 1; letter-spacing: -.07em; }
.conversation-route strong { display: block; font-size: 2rem; letter-spacing: -.04em; font-weight: 500; }
.conversation-route small { display: block; font-size: .95rem; color: var(--secondary); margin-block-start: .7rem; }
.conversation-route > span:last-child { position: absolute; right: 2rem; top: 2rem; font-size: 2rem; }
.conversation-route-wrap { display: flex; scroll-margin-block-start: 1rem; }
.conversation-route-wrap .conversation-route { inline-size: 100%; }
.conversation-route-wrap:nth-child(2) .conversation-route { background: var(--forest); color: var(--paper); }
.conversation-route-wrap:nth-child(2) .conversation-route-index { color: var(--paper); }
.conversation-route-wrap:nth-child(2) small { color: rgb(243 239 230 / .85); }
.conversation-route-wrap:nth-child(2) .conversation-route:focus-visible { outline-color: var(--gold); outline-offset: -5px; }
.investor-contact { display: flex; justify-content: space-between; align-items: center; gap: 2rem; padding-block-start: 2rem; margin-block-start: 2rem; border-block-start: 1px solid rgb(24 53 45 / .2); scroll-margin-block-start: 1rem; }
.investor-contact h3 { font-size: 1.5rem; }
.investor-contact p { font-size: .9rem; color: var(--secondary); margin-block-start: .5rem; }
.investor-contact .text-link { color: var(--forest); }
@keyframes chapter-arrive { from { opacity: .65; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } }
@keyframes chapter-image-arrive { from { transform: scale(1.055); } to { transform: scale(1); } }
@keyframes chapter-line { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes chapter-draw { from { stroke-dashoffset: 300; } to { stroke-dashoffset: 0; } }
@keyframes market-connection { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  .subpage .supply-card:hover,.conversation-route:hover { transform: translateY(-5px); box-shadow: 0 15px 35px rgb(8 30 26 / .08); }
  .subpage .supply-card:hover .arrow,.conversation-route:hover > span:last-child { transform: translate(3px,-3px); transition: transform .3s; }
}
@media(max-width:1100px) {
  .chapter-copy h1 { font-size: clamp(3rem,5.2vw,4.5rem); }
  .chapter-layout { gap: 2rem; }
  .supply-card-grid,.subpage .qa-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .subpage .supply-card { min-block-size: 27rem; }
  .subpage .gateway-step { padding: 1.8rem; }
  .subpage .gateway-step h3 { font-size: 1.8rem; }
  .subpage .audience-detail-grid { grid-template-columns: 1fr; }
  .subpage .audience-detail-grid article { min-block-size: 0; display: grid; grid-template-columns: 8rem 1fr; gap: .8rem 2rem; }
  .subpage .audience-detail-number { grid-row: span 3; }
  .subpage .audience-detail h3 { margin: 0; }
  .subpage .audience-detail p { margin: 0; }
  .contact-opening-grid { gap: 2.5rem; }
  .quick-fields { grid-template-columns: 1fr; gap: 0; }
}
@media(max-width:760px) {
  .chapter-hero { padding-block-start: calc(var(--header-height) + 1.5rem); }
  .chapter-layout,.chapter-markets .chapter-layout { grid-template-columns: 1fr; gap: 1rem; }
  .chapter-copy { padding-block: 0 1.3rem; }
  .chapter-copy .breadcrumb { margin-block-end: 2rem; }
  .chapter-copy h1 { font-size: clamp(2.9rem,8.4vw,4rem); }
  .chapter-copy .lead { font-size: 1rem; margin-block-start: 1.4rem; }
  .chapter-status { margin-block-start: 1.8rem; }
  .chapter-media { min-block-size: 23rem; border-radius: 1rem 1rem 3.5rem 1rem; }
  .chapter-image { object-position: 65%; }
  .chapter-image-caption { left: 1.5rem; bottom: 1.5rem; }
  .chapter-foot { padding-block: .7rem 1rem; font-size: .65rem; }
  .chapter-foot a { gap: .8rem; }
  .subpage .chapter-editorial .intro-grid { grid-template-columns: 1fr; gap: 1.8rem; }
  .subpage .pair { grid-template-columns: 1fr; }
  .subpage .section-head { display: block; }
  .subpage .section-head > p { margin-block-start: 1.5rem; }
  .subpage .cta { display: block; }
  .subpage .cta > div + div { margin-block-start: 2rem; }
  .subpage .gateway-flow { grid-template-columns: 1fr; }
  .subpage .gateway-step { min-block-size: 0; padding: 2rem; }
  .subpage .gateway-step h3 { margin-block-start: 2rem; font-size: 2rem; }
  .subpage .region-list { grid-template-columns: 1fr 1fr; }
  .subpage .region:first-child { grid-column: span 2; }
  .subpage :is(.dairy-editorial,.dog-editorial) { grid-template-columns: 1fr; }
  .development-photo { min-block-size: 24rem; }
  .subpage :is(.dairy-editorial,.dog-editorial) > .wrap { padding: 3rem var(--gutter); }
  .chapter-information-art { display: none; }
  .subpage .privacy-notice { grid-template-columns: 1fr; }
  .contact-opening { padding-block-start: calc(var(--header-height) + 1.5rem); }
  .contact-opening-grid { grid-template-columns: 1fr; gap: 1rem; }
  .contact-opening h1 { font-size: clamp(3rem,8.9vw,4.5rem); }
  .contact-opening-copy > p { font-size: 1rem; }
  .contact-opening .breadcrumb { margin-block-end: 2rem; }
  .contact-person { margin-block-start: 1rem; padding-block-start: 1rem; }
  .quick-fields { grid-template-columns: 1fr 1fr; gap: 1rem; }
  .quick-panel-heading h2 { font-size: 2.5rem; }
  .contact-opening-foot { font-size: .65rem; gap: 1rem; }
  .contact-opening-foot a { gap: .7rem; }
  .conversation-routes { grid-template-columns: 1fr; }
  .conversation-route { display: grid; grid-template-columns: 5rem 1fr; align-items: center; padding: 1.6rem; gap: 1rem; }
  .conversation-route > span:last-child { font-size: 1.4rem; right: 1.3rem; top: 1.5rem; }
  .conversation-route strong { font-size: 1.8rem; }
  .conversation-route small { font-size: .9rem; margin-block-start: .4rem; padding-inline-end: 1rem; }
  .investor-contact { align-items: start; flex-direction: column; gap: 1rem; }
}
@media(max-width:500px) {
  .supply-card-grid,.subpage .qa-grid,.subpage .region-list { grid-template-columns: 1fr; }
  .subpage .region:first-child { grid-column: auto; }
  .subpage .supply-card { padding: 2rem; min-block-size: 25rem; }
  .supply-card .index,.card-index,.subpage .gateway-step > .caption { font-size: 5.5rem; }
  .subpage .supply-card h3 { font-size: 2.25rem; margin-block-start: 2.2rem; }
  .supply-card-art { inline-size: 9rem; }
  .quality-card,.subpage .region { padding: 2rem; }
  .quality-card h3 { font-size: 2rem; }
  .chapter-media { min-block-size: 20rem; }
  .subpage .audience-detail-grid article { display: flex; padding: 2rem; }
  .subpage .audience-detail h3 { margin-block: 1.8rem 1rem; }
  .subpage .audience-detail .text-link { margin-block-start: 1rem; }
  .chapter-copy h1 { font-size: clamp(2.6rem,9.6vw,3.3rem); }
  .chapter-copy .button { inline-size: auto; max-inline-size: 100%; padding-inline: 1.25rem; font-size: .9rem; gap: 1rem; }
  .chapter-copy .actions { gap: 1.3rem; }
  .chapter-oishi-logo { inline-size: 65%; }
  .contact-opening h1 { font-size: clamp(2.5rem,9.5vw,3.5rem); }
  .contact-primary-actions { align-items: start; flex-direction: column; gap: .9rem; }
  .contact-primary-actions .button { font-size: 1rem; }
  .quick-fields { grid-template-columns: 1fr; gap: 0; }
  .quick-enquiry-panel { padding: 1.5rem; }
  .quick-panel-heading h2 { font-size: 2.2rem; }
  .conversation-route { grid-template-columns: 4rem 1fr; padding: 1.5rem; gap: .8rem; }
  .conversation-route-index { font-size: 3.5rem; }
  .conversation-route strong { font-size: 1.6rem; }
  .contact-opening-foot { flex-direction: column; align-items: start; gap: 0; }
  .chapter-map { padding: 1rem; }
  .chapter-foot { gap: .8rem; }
}
@media(prefers-reduced-motion:reduce) {
  .chapter-copy,.chapter-image,.chapter-caption-line,.supply-card-art path,.chapter-information-art .information-tick,.contact-opening-copy,.quick-enquiry-panel,.chapter-connection { animation: none !important; }
  .subpage .supply-card,.conversation-route { transition: none !important; transform: none !important; }
}
html[data-reduce-motion=true] :is(.chapter-copy,.chapter-image,.chapter-caption-line,.supply-card-art path,.chapter-information-art .information-tick,.contact-opening-copy,.quick-enquiry-panel,.chapter-connection) { animation: none !important; }
html[data-reduce-motion=true] :is(.supply-card,.conversation-route,.supply-card .arrow) { transition: none !important; transform: none !important; }
@media(forced-colors:active) {
  .chapter-hero,.contact-opening,.quick-enquiry-panel,.subpage .supply-card,.quality-card,.subpage .region,.subpage .audience-detail-grid article,.subpage .gateway-step,.privacy-card,.conversation-route { background: Canvas; color: CanvasText; border: 1px solid CanvasText; }
  .subpage :is(h1,h2,h3,p,.eyebrow,.index,.card-index,.caption,.audience-detail-number,.conversation-route-index),.contact-person strong,.contact-person div > span { color: CanvasText !important; }
  .subpage a { color: LinkText !important; }
  .chapter-hero .button,.contact-opening .button { color: ButtonText !important; background: ButtonFace; border-color: ButtonText; }
  .chapter-information-art,.supply-card-art { display: none; }
}
@media print {
  .chapter-hero,.contact-opening { padding-block-start: 2rem; background: white; color: black; }
  .chapter-layout,.contact-opening-grid { display: block; }
  .chapter-media,.chapter-information-art,.chapter-foot,.contact-opening-foot,.quick-enquiry-panel { display: none; }
  .chapter-copy :is(h1,p,.eyebrow,a),.contact-opening :is(h1,p,em,a,strong,span) { color: black !important; }
  .subpage .supply-card,.quality-card,.subpage .region,.privacy-card { break-inside: avoid; box-shadow: none; }
}
