:root{--green:#0d3c30;--red:#a53632;--text:#173b30;--muted:#53645b;--line:#d7e1da;--wash:#f3f7f4}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--text);font:16px/1.65 system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}a{color:inherit;text-underline-offset:.25em}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:4px}h1,h2,.brand{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.12}h1{font-size:clamp(2.4rem,4.8vw,4.5rem);margin:.3em 0 .6em;overflow-wrap:anywhere}h2{font-size:clamp(1.65rem,2.4vw,2.6rem);margin:.5em 0}p{margin:.7em 0 1.2em}header{padding:22px 5%;display:flex;align-items:center;gap:28px;border-bottom:1px solid var(--line);position:relative;background:white;z-index:10}.brand{font-size:clamp(1.5rem,2.3vw,2rem);text-decoration:none}header>nav{display:flex;align-items:center;gap:24px;margin-inline-start:auto}header a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}details{position:relative}summary{cursor:pointer;list-style:none;min-height:44px;display:flex;align-items:center;gap:10px}summary::-webkit-details-marker{display:none}summary:after{content:'⌄'}details[open]>summary:after{content:'⌃'}.products-dropdown,.language-dropdown{position:absolute;inset-block-start:100%;inset-inline-end:0;background:#fff;border:1px solid var(--line);border-top:3px solid var(--red);padding:8px;box-shadow:0 12px 30px #0d3c3020;width:240px;max-width:85vw;z-index:20}.products-dropdown a,.language-dropdown a{display:flex;padding:9px 12px;font-size:1rem}.products-dropdown a:hover,.language-dropdown a:hover,[aria-current=page]{background:var(--wash)}.language-dropdown{max-height:70vh;overflow:auto}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:550px}.hero-copy{padding:70px 10%;align-self:center}.hero-photo{background:var(--green)}.hero-photo img{width:100%;height:100%;max-height:760px;object-fit:cover;display:block}.eyebrow{font-size:.875rem;letter-spacing:.13em;color:var(--muted)}.intro{font-size:1.15rem}.button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;gap:12px;background:var(--green);color:white;padding:13px 22px;text-decoration:none;line-height:1.5;border:1px solid var(--green);max-width:100%;overflow-wrap:anywhere}.button:hover{background:#195441}.section{padding:50px 5%;max-width:1500px;margin:auto}.category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);margin-top:32px}.category-card{padding:24px 20px;border-inline-end:1px solid var(--line)}.category-card:last-child{border:0}.category-card h2{font-size:1.7rem}.category-card a{min-height:44px;display:inline-flex;align-items:center}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:30px}.gallery-item{border:1px solid var(--line);min-width:0;background:white}.gallery-item img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;display:block;background:#fff}.gallery-item>div{padding:24px}.gallery-item h2{font-size:1.75rem}.gallery-item p{font-size:1rem}.gallery-item a{display:block;padding-block:12px;min-height:44px;border-top:1px solid var(--line)}.status{display:inline-block;background:#e7efe9;color:var(--green);padding:4px 10px;font-size:.875rem}.price{display:flex;flex-direction:column;gap:4px}.price strong{font-size:1.2rem;color:var(--red)}.price span{color:var(--muted)}.image-pending{padding:55px 24px;background:var(--wash);margin:0}.coming-soon{padding:35px;border-inline-start:4px solid var(--red);background:var(--wash);max-width:850px}.coming-soon h2{font-size:clamp(2rem,4vw,3.3rem)}.detail-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:45px;margin-top:30px}.detail-layout h1{font-size:clamp(2rem,3.5vw,3.5rem)}.detail-images img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;display:block;background:#fff;margin-bottom:20px}.breadcrumb{display:inline-block;min-height:44px}.prose{max-width:900px;min-height:350px}.contact{background:var(--green);color:white;padding:55px 5%;display:grid;grid-template-columns:1fr 1fr;gap:50px}.contact p{max-width:650px}.contact-actions{display:flex;align-items:flex-start;justify-content:center;flex-direction:column;gap:18px}.light{background:white;color:var(--green);border-color:white}.light:hover{background:#e7efe9}.phone{display:inline-block;min-height:44px}footer{padding:35px 5%;border-top:3px solid var(--red)}footer nav{display:flex;gap:25px;flex-wrap:wrap;margin-top:20px}footer nav a{display:inline-flex;align-items:center;min-height:44px}small{font-size:.875rem}#language-suggestion{background:var(--wash);padding:14px 5%;border-bottom:1px solid var(--line)}#language-suggestion a,#language-suggestion button{display:inline-flex;align-items:center;min-height:44px;margin-inline-start:15px}button{font:inherit;cursor:pointer;background:#fff;border:1px solid var(--line);padding:8px 12px;color:var(--green)}[hidden]{display:none!important}[dir=rtl]{text-align:right}[dir=rtl] h1,[dir=rtl] h2,[dir=rtl] .brand{font-family:Tahoma,Arial,sans-serif;line-height:1.45;letter-spacing:normal}[lang=zh-Hans] h1,[lang=zh-Hans] h2{line-height:1.35}bdi{unicode-bidi:isolate;white-space:normal}
@media(max-width:1050px){header{flex-wrap:wrap;gap:12px 20px}.brand{margin-inline-end:auto}header>nav{margin-inline-start:0}.category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-copy{padding:45px 8%}.category-card{border-bottom:1px solid var(--line)}}
@media(max-width:650px){header{padding:15px 6%}.brand{width:100%}header>nav{gap:18px;flex:1;flex-wrap:wrap}header>nav a{font-size:.875rem}.language-menu{margin-inline-start:auto}summary{font-size:.875rem}.products-dropdown{inset-inline-start:-45px;inset-inline-end:auto;width:215px}.hero{grid-template-columns:1fr}.hero-copy{padding:35px 7%}.hero-photo img{max-height:520px;aspect-ratio:1}.section{padding:35px 7%}.category-grid{grid-template-columns:1fr}.category-card{padding:20px 0;border-inline-end:0}.category-card h2{font-size:1.85rem}.gallery-grid,.detail-layout,.contact{grid-template-columns:1fr}.gallery-item img{height:auto;max-height:none;aspect-ratio:1}.detail-layout{gap:20px}.contact{gap:20px;padding:35px 7%}.coming-soon{padding:22px}.gallery-item>div{padding:20px}.language-dropdown{width:190px}#language-suggestion a,#language-suggestion button{margin-inline-start:0;margin-inline-end:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.giving-back{display:flex;align-items:center;gap:24px;padding:30px 5%;border-top:1px solid var(--line);background:#fff}.giving-back img{width:128px;height:auto;object-fit:contain;flex-shrink:0}.giving-back h2{font-size:1.6rem}.giving-back p{max-width:720px;margin-bottom:0}@media(max-width:650px){.giving-back{padding:25px 7%;gap:18px;align-items:flex-start}.giving-back img{width:86px}.giving-back h2{font-size:1.3rem}.giving-back p{font-size:.95rem}}@media(max-width:380px){.giving-back{flex-direction:column}}

.catalogue-notice{background:var(--wash);border-bottom:1px solid var(--line);padding:12px 5%;text-align:center}.catalogue-notice p{margin:0;font-size:1rem}.category-card,.detail-layout>div{min-width:0}.category-card h2{overflow-wrap:anywhere}

.coffee-preview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"packaging copy";gap:45px;align-items:center;margin-top:30px}.coffee-preview-copy{grid-area:copy;min-width:0}.coffee-preview-copy h3{font-size:1.5rem;line-height:1.3;margin:1rem 0}.coffee-formats{font-weight:600;font-size:1.15rem}.coffee-packaging{grid-area:packaging;margin:0;width:100%;max-width:460px;justify-self:center}.coffee-packaging-photo{position:relative;overflow:hidden;aspect-ratio:535/790;background:var(--wash)}.coffee-packaging-photo img{position:absolute;width:234.392523%;max-width:none;height:auto;left:-18.691589%;top:-22.784810%;display:block}.coffee-packaging figcaption{padding-top:12px;color:var(--muted);font-size:.875rem;text-align:center}@media(max-width:800px){.coffee-preview{grid-template-columns:minmax(0,1fr);grid-template-areas:"copy" "packaging";gap:28px}.coffee-preview .coming-soon{max-width:none}}

.rack-packaging{padding-block:12px 40px;border-bottom:1px solid var(--line);margin-bottom:40px}.rack-packaging>p{max-width:850px}.rack-packaging figure{margin:24px 0}.rack-packaging img{display:block;width:100%;height:auto}.rack-packaging figcaption{padding-block:12px;font-size:.875rem}.rack-packaging figcaption a{display:inline-flex;align-items:center;min-height:44px}

.fabric-details{background:var(--wash);border-inline-start:3px solid var(--green);padding:20px 24px;margin-block:24px;max-width:900px}.fabric-details h2{font-size:1.5rem}.fabric-details p:last-child{margin-bottom:0}

.category-card .category-photo{display:block;padding:0;margin-bottom:18px}.category-photo img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;display:block;background:white}.coffee-packaging-photo{aspect-ratio:2/3}.coffee-packaging-photo img{position:static;width:100%;height:100%;object-fit:contain}.delivery-teaser{padding:24px 5%;background:var(--wash);border-top:1px solid var(--line)}.delivery-teaser>a{font-weight:600}.delivery-teaser p{max-width:1000px;margin-bottom:0}

.product-videos{padding-block:24px 36px;margin-block:24px 40px;border-block:1px solid var(--line)}.product-videos>p{max-width:760px}.product-video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,360px));gap:24px;margin-block:24px}.product-video-grid figure{margin:0;min-width:0;border:1px solid var(--line);background:var(--wash)}.product-video-grid video{display:block;width:100%;height:auto;aspect-ratio:512/910;object-fit:contain;background:var(--wash)}.product-video-grid video:focus-visible{outline:3px solid var(--red);outline-offset:3px}.product-video-grid figcaption{padding:12px 16px;font-weight:600}.product-videos>.text-link{display:inline-flex;align-items:center;min-height:44px}@media(max-width:650px){.product-video-grid{grid-template-columns:minmax(0,360px);justify-content:center;gap:20px}}

.coffee-film{border-bottom:1px solid var(--line);background:var(--wash);text-align:center}.coffee-film video{display:block;width:100%;max-width:512px;height:auto;aspect-ratio:1;object-fit:contain;margin:24px auto 0;background:#181511;border-radius:8px}.coffee-film video:focus-visible{outline:3px solid var(--red);outline-offset:4px}

.sapori-showcase{text-align:center;border-bottom:1px solid var(--line)}.sapori-showcase video{display:block;width:100%;max-width:910px;height:auto;aspect-ratio:910/512;object-fit:contain;margin:24px auto 0;background:#181511;border-radius:8px}.sapori-showcase video:focus-visible{outline:3px solid var(--red);outline-offset:4px}

.video-library{background:var(--wash);border-bottom:1px solid var(--line);scroll-margin-top:100px}.video-library>h2{text-align:center}.video-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:28px}.video-card{min-width:0;background:white;border:1px solid var(--line);border-radius:8px;overflow:hidden;scroll-margin-top:100px}.video-card video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#181511}.video-card h3{font-size:1.15rem;margin:0;padding:18px 20px}.video-card video:focus-visible{outline:3px solid var(--red);outline-offset:-3px}@media(max-width:900px){.video-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.video-library-grid{grid-template-columns:1fr}}

/* Preserve the full approved café artwork at every screen width. */
.hero-photo--cafe{margin:0;background:#f5eee1;align-self:center}.hero-photo--cafe img{width:100%;height:auto;max-height:760px;aspect-ratio:1122/1402;object-fit:contain}.hero-photo--cafe figcaption{padding:10px 18px;color:#53645b;font-size:.75rem;line-height:1.45;text-align:center}@media(max-width:650px){.hero-photo--cafe img{max-height:none;aspect-ratio:1122/1402}}

/* The approved café film keeps its square frame and native playback controls. */
#cafe-original-jingle video{aspect-ratio:1}.video-scene-note{font-size:.75rem;line-height:1.45;color:var(--muted);padding:0 20px 18px;margin:0}
/* Campaign gallery: preserve every original image without cropping. */
.campaign-intro{max-width:820px;margin-bottom:34px}.campaign-note,.campaign-detail figcaption{color:var(--muted);font-size:.88rem}.campaign-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.campaign-card{min-width:0;background:var(--wash);border:1px solid var(--line)}.campaign-image{display:block}.campaign-image img{display:block;width:100%;height:auto}.campaign-card>div{padding:18px 22px 24px}.campaign-card h2{font-size:1.7rem}.campaign-card h2 a{text-decoration:none}.campaign-card .text-link{display:inline-flex;align-items:center;min-height:44px}.campaign-detail-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:6%;align-items:start;margin-top:24px}.campaign-detail figure{margin:0;min-width:0}.campaign-detail figure img{display:block;width:100%;height:auto}.campaign-detail figcaption{padding:12px 0}.campaign-details{position:sticky;top:28px;padding-top:24px;min-width:0}.campaign-details h1{font-size:clamp(2rem,4.4vw,4rem)}.photo-share{margin:28px 0;padding:24px;background:var(--wash);border:1px solid var(--line)}.photo-share label{display:block;font-weight:600}.photo-share input{display:block;width:100%;min-width:0;padding:13px 10px;margin:10px 0 16px;font:inherit;color:var(--text);border:1px solid var(--line);background:white}.photo-share button{font:inherit;cursor:pointer}.photo-share [role=status]{min-height:1.7em;margin-bottom:0}.photo-share input:focus-visible{outline:3px solid var(--red);outline-offset:2px}@media(max-width:1100px){header{gap:18px}header>nav{gap:16px}}@media(max-width:850px){.campaign-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.campaign-detail-grid{grid-template-columns:1fr;gap:0}.campaign-details{position:static;padding-top:10px}.campaign-detail figure{max-width:650px;margin-inline:auto}}@media(max-width:560px){.campaign-grid{grid-template-columns:1fr;gap:24px}.campaign-intro{margin-bottom:24px}.campaign-gallery,.campaign-detail{padding-block:32px}.campaign-card>div{padding:14px 18px 18px}.photo-share{padding:18px}.photo-share button{width:100%}}
