/* Coffee LP: styles do not affect product details or checkout. */
body.tct-coffee-store { background:#fffefa; color:#55594a; }
body.tct-coffee-store #head,body.tct-coffee-store #foot,body.tct-coffee-store #re-top,body.tct-coffee-store .tct-scroll-progress { display:none; }
.tct-coffee { width:100%; margin:0; color:#55594a; font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif; }
.tct-coffee a { color:inherit; text-decoration:none; }
.tct-coffee a:focus-visible { outline:3px solid #748766; outline-offset:5px; }
.coffee-header { max-width:1380px; margin:auto; display:flex; justify-content:space-between; align-items:center; gap:24px; padding:32px 5%; }
.coffee-home { font-size:10px; letter-spacing:.12em; font-weight:800; }
.coffee-home span { display:block; margin-top:8px; font-size:10px; font-weight:400; }
.coffee-wordmark { display:block; font-family:Georgia,serif; font-size:44px; letter-spacing:-.06em; line-height:1; text-align:center; }
.coffee-wordmark span { display:block; font-family:sans-serif; margin-top:10px; font-size:8px; letter-spacing:.18em; }
.coffee-header nav { display:flex; gap:22px; font-size:12px; }
.coffee-header nav a { padding:12px 0; border-bottom:1px solid #b6bda7; }
.coffee-hero { max-width:1380px; width:calc(100% - 64px); min-height:610px; position:relative; margin:12px auto 0; background:#efedcc; border-radius:47% 47% 36px 36px / 13% 13% 36px 36px; overflow:hidden; }
.coffee-hero-photo { position:absolute; inset:0; }
.coffee-hero-photo img { width:100%; height:100%; object-fit:cover; object-position:center 55%; }
.coffee-hero-copy { position:relative; z-index:1; width:max-content; max-width:90%; margin:70px 7% 70px auto; padding:28px 32px; background:#fffef3ec; border-radius:2px 2px 40px 2px; }
.coffee-hero-copy > p { font-size:9px; letter-spacing:.15em; margin:0 0 20px; }
.coffee-hero h1 { font-size:clamp(34px,4vw,55px); font-weight:500; line-height:1.8; letter-spacing:.13em; margin:0 0 24px; }
.coffee-hero-copy a { display:flex; justify-content:space-between; align-items:center; min-height:44px; border-bottom:1px solid #aaad91; font-size:12px; gap:24px; }
.coffee-hero-caption { position:absolute; bottom:25px; left:30px; background:#fffef5e8; padding:12px; font-size:9px; line-height:1.8; letter-spacing:.18em; }
.coffee-intro { padding:96px 20px 80px; text-align:center; }
.tct-coffee .coffee-kicker { font-size:11px; letter-spacing:.2em; font-weight:500; color:#788667; margin:0 0 24px; }
.tct-coffee h2 { font-size:clamp(24px,3vw,36px); font-weight:500; letter-spacing:.08em; line-height:1.8; margin:0 0 24px; }
.coffee-intro > p:not(.coffee-kicker) { font-size:14px; line-height:2.4; margin:0; }
.coffee-pills { display:flex; flex-wrap:wrap; justify-content:center; gap:14px; margin-top:36px; }
.coffee-pills a { font-size:12px; padding:14px 24px; border:1px solid #c6cbb8; border-radius:50px; min-width:130px; }
.coffee-pills a:hover,.coffee-detail:hover { background:#edf1e6; }
.coffee-collection { padding:70px max(24px,calc((100% - 1160px)/2)); scroll-margin-top:24px; }
.coffee-collection--beans { background:#f3f3e8; border-radius:50% 50% 0 0 / 30px 30px 0 0; }
.coffee-section-title { text-align:center; margin-bottom:40px; }
.coffee-section-title > p:last-child { font-size:13px; line-height:2; }
.coffee-products { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px 40px; }
.coffee-product { min-width:0; }
.coffee-product-image { display:block; overflow:hidden; background:#f6f4ed; aspect-ratio:1.35; border-radius:70px 16px 70px 16px; }
.coffee-product-image img { display:block; width:100%; height:100%; object-fit:contain; transition:transform .25s; }
.coffee-product-image:hover img { transform:scale(1.025); }
.coffee-product-info { padding:24px 6px 0; }
.coffee-product h3 { font-size:17px; line-height:1.8; font-weight:500; letter-spacing:.035em; margin:0 0 12px; }
.coffee-price { font-family:Georgia,serif; font-size:22px; margin:10px 0; }
.coffee-price small { font-family:sans-serif; font-size:10px; }
.coffee-stock { display:inline-block; font-size:11px; padding:5px 10px; background:#ecebdf; border-radius:4px; margin:0 0 15px; }
.coffee-detail { display:flex; justify-content:space-between; padding:14px 0; border-bottom:1px solid #b9bfaa; font-size:12px; }
.coffee-collection--gift { background:#f7ede4; }
.coffee-collection--gift .coffee-products { display:block; }
.coffee-collection--gift .coffee-product { display:grid; grid-template-columns:1.2fr 1fr; align-items:center; gap:50px; }
.coffee-collection--tools { background:#edf2ed; border-radius:0 0 50% 50% / 0 0 30px 30px; }
.coffee-guide { max-width:1000px; margin:auto; padding:90px 24px; text-align:center; }
.coffee-guide-links { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:32px 0 20px; }
.coffee-guide-links a { display:block; text-align:left; padding:22px; border:1px solid #c7cbbd; border-radius:8px; font-size:13px; }
.coffee-guide > p:last-child { font-size:12px; }
.coffee-footer { border-top:1px solid #e1e2d7; padding:45px 24px; text-align:center; }
.coffee-footer nav { display:flex; justify-content:center; flex-wrap:wrap; gap:18px; margin:32px 0; font-size:11px; }
.coffee-footer small { font-size:9px; letter-spacing:.14em; }
@media(max-width:700px) {
.coffee-header { padding:22px 18px; gap:12px; }.coffee-home { max-width:90px; font-size:8px; }.coffee-wordmark { font-size:34px; }.coffee-header nav { gap:10px; font-size:10px; }
.coffee-hero { width:calc(100% - 24px); min-height:570px; }.coffee-hero-photo img { object-position:35% center; }.coffee-hero-copy { margin:32px 16px 140px auto; padding:20px; }.coffee-hero h1 { font-size:32px; }.coffee-hero-copy > p { font-size:8px; }
.coffee-intro { padding:64px 20px; }.coffee-intro > p:not(.coffee-kicker) { font-size:12px; }.coffee-pills { gap:8px; }.coffee-pills a { min-width:0; padding:13px 16px; }
.coffee-collection { padding:52px 22px; }.coffee-products { gap:32px 18px; }.coffee-product h3 { font-size:14px; }.coffee-product-image { border-radius:35px 12px; aspect-ratio:1; }.coffee-product-info { padding:16px 0 0; }
.coffee-collection--gift .coffee-product { grid-template-columns:1fr; gap:10px; }.coffee-guide-links { grid-template-columns:1fr; }.coffee-guide { padding:60px 22px; }
}
@media(max-width:420px) {.coffee-products { grid-template-columns:1fr; }.coffee-header nav { flex-direction:column; gap:0; }.coffee-header nav a { padding:7px 0; }.coffee-product-image { aspect-ratio:1.2; }}
@media(prefers-reduced-motion:reduce) {.coffee-product-image img { transition:none; }}
