/* Om COSHI: page-only rules, built on the published homepage design tokens. */
.coshi-story .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.coshi-story .story-intro{position:relative;text-align:center;padding:64px 5% 43px;isolation:isolate;overflow:hidden}
.coshi-story .story-intro:before{content:"";position:absolute;inset:0;background:url('/assets/ink-landscape.webp') center 35%/cover no-repeat;opacity:.11;mix-blend-mode:multiply;z-index:-1;pointer-events:none}
.coshi-story .story-intro .eyebrow{justify-content:center;margin-bottom:20px}
.coshi-story .story-intro h1{max-width:900px;margin:0 auto 23px;font-size:clamp(46px,4.5vw,65px);line-height:1.08}
.coshi-story .story-lead{max-width:635px;margin:auto;font-size:23px;line-height:1.45}
.coshi-story .story-motto{margin-top:22px;font-size:20px;font-style:italic;color:var(--terracotta)}
.coshi-story .story-chapters{width:min(1310px,90.8%);margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.coshi-story .story-chapters a{display:flex;align-items:center;gap:12px;padding:19px 18px;font:500 12px/1.4 var(--sans)}
.coshi-story .story-chapters a+a{border-left:1px solid var(--line)}
.coshi-story .chapter-number{font:500 22px/1 var(--serif);color:var(--terracotta)}
.coshi-story .chapter-arrow{margin-left:auto;color:var(--terracotta);font-size:17px}
.coshi-story .story-chapters a:hover{background:var(--paper);color:var(--terracotta)}
.coshi-story .story-section{width:min(1310px,90.8%);margin:auto;padding:75px 0;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:7%;align-items:center;scroll-margin-top:130px}
.coshi-story .story-copy h2{margin-bottom:25px}
.coshi-story .story-copy h2 em,.coshi-story .story-sweden h2 em{color:var(--terracotta)}
.coshi-story .story-copy>p:not(.eyebrow){font-size:21px;line-height:1.5;margin-top:19px;max-width:570px}
.coshi-story .story-rule{display:block;width:58px;height:1px;background:var(--gold);margin-top:28px}
.coshi-story .story-art{margin:0;min-width:0}
.coshi-story .story-art img{width:100%;height:auto;mix-blend-mode:multiply}
.coshi-story .story-art figcaption{font:400 10px/1.6 var(--sans);color:var(--muted);text-align:center;margin-top:10px}
.coshi-story .landscape-art{margin-right:-3%}
.coshi-story .story-helen-wrap{background:var(--paper);border-block:1px solid var(--line)}
.coshi-story .story-helen{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:9%;padding-top:57px;padding-bottom:57px}
.coshi-story .portrait-art{max-width:430px;margin:auto;width:100%}
.coshi-story .portrait-art img{max-height:570px;object-fit:contain}
.coshi-story .story-copy .personal-note{border-left:2px solid var(--gold);padding-left:18px;font-style:italic;color:var(--terracotta);font-size:22px;margin-top:25px}
.coshi-story .story-shanghai .text-link{margin-top:22px}
.coshi-story .story-shanghai .historical-note{font:400 10px/1.6 var(--sans);margin-top:13px;max-width:450px}
.coshi-story .story-sweden{background:#e9decc;border-block:1px solid var(--line);position:relative;isolation:isolate;scroll-margin-top:130px}
.coshi-story .story-sweden:before{content:"";position:absolute;inset:0;background:url('/assets/ink-landscape.webp') center bottom/cover no-repeat;opacity:.08;mix-blend-mode:multiply;z-index:-1;pointer-events:none}
.coshi-story .story-sweden-inner{width:min(1310px,90.8%);margin:auto;padding:65px 0;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:35px 7%}
.coshi-story .story-sweden-heading h2{font-size:clamp(39px,3.7vw,54px)}
.coshi-story .sweden-dates{display:flex;flex-direction:column;gap:8px;margin-top:29px;font:400 11px/1.5 var(--sans);color:var(--muted)}
.coshi-story .sweden-dates span{display:flex;align-items:center;gap:10px}
.coshi-story .sweden-dates span:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--sage)}
.coshi-story .story-sweden .story-copy>p:first-child{margin-top:0}
.coshi-story .sweden-culture{margin-top:28px;border-top:1px solid var(--line);padding-top:22px}
.coshi-story .sweden-culture h3{font:600 25px/1.25 var(--serif);color:var(--terracotta)}
.coshi-story .sweden-culture p{font-size:19px;line-height:1.5;margin-top:15px}
.coshi-story .journey-art{margin-top:25px}
.coshi-story .cooking-gallery{display:grid;gap:12px;min-width:0}
.coshi-story .cooking-group-art{width:90%;justify-self:end}
.coshi-story .story-sweden-heading .sweden-dates{flex-direction:column}
@media(max-width:800px){.coshi-story .cooking-gallery{order:-1;gap:18px}.coshi-story .cooking-group-art{width:100%}.coshi-story .journey-art{max-width:600px;margin-inline:0}}
.coshi-story .story-offerings{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:7px}
.coshi-story .story-offering{position:relative;display:flex;flex-direction:column;padding:27px 28px;background:var(--paper);border:1px solid var(--line);border-radius:4px;transition:transform .2s,box-shadow .2s}
.coshi-story .story-offering:hover{transform:translateY(-3px);box-shadow:0 8px 18px #292e250b}
.coshi-story .offering-index{font:400 10px/1 var(--sans);letter-spacing:1px;color:var(--terracotta);margin-bottom:16px}
.coshi-story .story-offering h3{font-size:31px;margin-bottom:13px}
.coshi-story .story-offering p{font-size:19px;line-height:1.4;margin-bottom:23px}
.coshi-story .offering-link{display:flex;justify-content:space-between;gap:12px;margin-top:auto;font:600 18px/1.4 var(--serif);color:var(--terracotta)}
.coshi-story .offering-link>span{font:400 22px/1 var(--sans)}
.coshi-story .story-contact{width:min(720px,89%);margin:auto;text-align:center;padding:56px 0 62px}
.coshi-story .story-contact>img{margin:0 auto 24px;object-fit:contain}
.coshi-story .story-contact .eyebrow{justify-content:center;margin-bottom:17px}
.coshi-story .story-contact>p:not(.eyebrow){font-size:21px;line-height:1.5;max-width:520px;margin:21px auto 0}
.coshi-story .story-contact .button-row{justify-content:center;margin-top:26px}
.coshi-story .site-footer{border-top:1px solid var(--line)}
@media(max-width:1050px){.coshi-story .story-section{gap:5%;padding:58px 0}.coshi-story .story-copy>p:not(.eyebrow){font-size:20px}.coshi-story .story-chapters a{padding:18px 13px;gap:9px;font-size:11px}.coshi-story .story-offering{padding:24px 20px}.coshi-story .story-offering h3{font-size:29px}}
@media(max-width:800px){.coshi-story .story-intro{padding:43px 5.5% 32px}.coshi-story .story-intro h1{font-size:48px}.coshi-story .story-lead{font-size:21px;max-width:540px}.coshi-story .story-chapters{width:89%;grid-template-columns:repeat(2,minmax(0,1fr))}.coshi-story .story-chapters a{padding:15px 12px;font-size:11px}.coshi-story .story-chapters a:nth-child(3){border-left:0;border-top:1px solid var(--line)}.coshi-story .story-chapters a:nth-child(4){border-top:1px solid var(--line)}.coshi-story .story-section{width:89%;grid-template-columns:1fr;gap:28px;padding:45px 0;scroll-margin-top:105px}.coshi-story .story-copy h2{margin-bottom:20px}.coshi-story .story-copy>p:not(.eyebrow){max-width:none}.coshi-story .story-art{max-width:650px;width:100%;margin:auto}.coshi-story .landscape-art{order:-1}.coshi-story .portrait-art{max-width:390px}.coshi-story .portrait-art img{max-height:450px}.coshi-story .story-shanghai .cooking-art{order:-1}.coshi-story .story-sweden-inner{width:89%;grid-template-columns:1fr;gap:28px;padding:45px 0}.coshi-story .sweden-dates{flex-direction:row;flex-wrap:wrap;gap:9px 24px;margin-top:22px}.coshi-story .story-offerings{gap:14px;margin-top:0}.coshi-story .story-offering{padding:22px 17px}.coshi-story .story-offering h3{font-size:27px}.coshi-story .story-offering p{font-size:18px}.coshi-story .offering-link{font-size:16px}.coshi-story .story-contact{padding:45px 0 50px}}
@media(max-width:550px){.coshi-story .story-intro h1{font-size:40px;letter-spacing:-.8px}.coshi-story .story-lead{font-size:20px}.coshi-story .story-motto{font-size:19px;margin-top:17px}.coshi-story .story-chapters a{font-size:10px;gap:7px;padding:14px 9px}.coshi-story .chapter-number{font-size:19px}.coshi-story .story-section{padding:37px 0;gap:24px}.coshi-story .story-copy>p:not(.eyebrow){font-size:20px;line-height:1.5}.coshi-story .portrait-art{max-width:330px}.coshi-story .portrait-art img{max-height:415px}.coshi-story .story-art figcaption{font-size:9px}.coshi-story .story-offerings{grid-template-columns:1fr;gap:14px}.coshi-story .story-offering{padding:22px 24px}.coshi-story .story-offering h3{font-size:30px}.coshi-story .story-offering p{font-size:20px;margin-bottom:17px}.coshi-story .offering-link{font-size:18px}.coshi-story .story-sweden-heading h2{font-size:39px}.coshi-story .story-contact h2{font-size:37px}.coshi-story .story-contact>p:not(.eyebrow){font-size:20px}.coshi-story .story-contact .button{padding:12px 17px;font-size:16px}}
@media(prefers-reduced-motion:reduce){.coshi-story .story-offering{transition:none}}

/* Keep the dates beneath the journey illustration at every screen size. */
.coshi-story .story-sweden-heading .sweden-dates{flex-direction:column;gap:8px}
.coshi-story .story-sweden-heading .journey-art{width:min(100%,280px);max-width:280px;margin:18px auto 0}
.coshi-story .journey-art img{display:block;width:100%;height:auto;object-fit:contain;mix-blend-mode:darken;-webkit-mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent),linear-gradient(to bottom,transparent,#000 1%,#000 99%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent),linear-gradient(to bottom,transparent,#000 1%,#000 99%,transparent);mask-composite:intersect}
.coshi-story .story-sweden-heading .sweden-dates{width:min(100%,280px);margin:12px auto 0}
@media(max-width:800px){.coshi-story .story-sweden-heading .journey-art{width:min(100%,260px);max-width:260px;margin:18px auto 0}.coshi-story .story-sweden-heading .sweden-dates{width:min(100%,260px)}}
