/* Matching title and Japanese-copy hierarchy; artwork geometry is unchanged. */
#coffee .campaign-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
#coffee .campaign-banner{width:100%;position:relative;isolation:isolate;overflow:hidden;min-width:0;aspect-ratio:2/1;min-height:260px}
#coffee .campaign-art{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center}
#coffee .campaign-copy{position:relative;z-index:1;width:50%;padding:18px 0 16px 23px}
#coffee .campaign-date{margin:0 0 10px;font-size:10px;line-height:1.5;white-space:nowrap;letter-spacing:.025em}
#coffee .campaign-proposal{position:absolute;z-index:2;right:15px;top:13px;font-size:9px;line-height:1.6;letter-spacing:.08em;opacity:.85}
#coffee .campaign-display{margin:0;font-family:Baskerville,"Times New Roman","Yu Mincho",serif;font-size:32px;font-weight:400;line-height:1;letter-spacing:-.025em}
#coffee .campaign-display span{display:block;white-space:nowrap}
#coffee .campaign-name,#coffee .campaign-call{margin:10px 0 0;line-height:1.4}
#coffee .campaign-name>span,#coffee .campaign-call>.campaign-label{display:block;font-size:12px;font-weight:400;letter-spacing:.02em;white-space:nowrap}
#coffee .campaign-name strong,#coffee .campaign-call strong{display:block;margin-top:3px;font-size:22px;font-weight:500;line-height:1.3;letter-spacing:0}
#coffee .campaign-name strong span,#coffee .campaign-call strong span{display:block;white-space:nowrap}
#coffee .campaign-description{margin:8px 0 0;font-size:12px;line-height:1.4}
#coffee .campaign-coffee{background:#f2dbc5;color:#402a1e}
#coffee .campaign-coffee .campaign-date{color:#725039}
#coffee .campaign-coffee .campaign-description{color:#5d4030}
#coffee .campaign-patrick{background:#09291c;color:#f5ecd8}
#coffee .campaign-patrick .campaign-date{color:#e3c791}
#coffee .campaign-patrick .campaign-description{color:#f0e5cf}
@media(min-width:701px) and (max-width:1050px){
 #coffee .campaign-banner{min-height:235px}
 #coffee .campaign-copy{padding:14px 0 14px 19px}
 #coffee .campaign-date{font-size:9px;margin-bottom:8px}
 #coffee .campaign-display{font-size:26px}
 #coffee .campaign-name,#coffee .campaign-call{margin-top:8px}
 #coffee .campaign-name>span,#coffee .campaign-call>.campaign-label{font-size:10px}
 #coffee .campaign-name strong,#coffee .campaign-call strong{font-size:19px;line-height:1.25}
 #coffee .campaign-description{font-size:11px;line-height:1.4;margin-top:7px}
}

/* Compact campaign titles with an equal share of photography. */
#coffee .campaign-support-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}
#coffee .campaign-support{position:relative;display:grid;grid-template-columns:1fr 1fr;min-width:0;overflow:hidden;background:#eee6da;color:#382a20}
#coffee .campaign-support-copy{display:flex;flex-direction:column;align-items:flex-start;padding:8px 12px 8px 18px;min-width:0}
#coffee .campaign-support h3{margin:0;font-size:19px;font-weight:500;line-height:1.16;letter-spacing:0}
#coffee .campaign-support h3>span{display:block;white-space:nowrap}
#coffee .campaign-support-description{margin:4px 0;font-size:11px;line-height:1.45}
#coffee .campaign-support-cta{display:inline-block;font-size:10px;line-height:1.5;border-bottom:1px solid #a99475;padding-bottom:1px}
#coffee .campaign-support-cta>span{margin-left:6px}
#coffee .campaign-support-image{position:absolute;right:0;top:0;display:block;width:50%;height:100%;object-fit:cover;object-position:center}
#coffee .campaign-support-proposal{position:absolute;z-index:1;right:9px;top:6px;color:#f3eade;font-size:8px;line-height:1.4;text-shadow:0 1px 3px #000}
@media(min-width:701px) and (max-width:1050px){
 #coffee .campaign-support-copy{padding:8px 9px 8px 14px}
 #coffee .campaign-support h3{font-size:17px}
 #coffee .campaign-support-description{font-size:10px}
}
@media(max-width:700px){
 #coffee .campaign-support-grid{grid-template-columns:1fr;gap:14px;margin-top:14px}
 #coffee .campaign-support-copy{padding:8px 6px 8px 12px}
 #coffee .campaign-support h3{font-size:15px;line-height:1.2}
 #coffee .campaign-support-description{font-size:10px;line-height:1.5;margin:4px 0}
 #coffee .campaign-support-description br{display:none}
 #coffee .campaign-support-cta{font-size:10px}
}
@media(max-width:700px){
 #coffee .campaign-grid{grid-template-columns:1fr;gap:14px}
 #coffee .campaign-banner{aspect-ratio:auto;width:100%;height:calc((100vw - 40px)/2);min-height:175px}
 #coffee .campaign-art{height:100%;object-fit:cover;object-position:52% center}
 #coffee .campaign-copy{width:49%;padding:10px 0 10px 15px}
 #coffee .campaign-date{font-size:9px;margin-bottom:5px;min-height:27px;letter-spacing:0;white-space:normal}
 #coffee .campaign-date-separator{display:none}#coffee .campaign-day-name{display:block}
 #coffee .campaign-proposal{right:12px;top:12px;font-size:9px}
 #coffee .campaign-display{font-size:14px;line-height:1.1;letter-spacing:-.025em;white-space:nowrap}
 #coffee .campaign-display span{display:inline}
 #coffee .campaign-display span+span:before{content:' '}
 #coffee .campaign-name,#coffee .campaign-call{margin-top:6px}
 #coffee .campaign-name>span,#coffee .campaign-call>.campaign-label{font-size:9px;line-height:1.4;letter-spacing:0}
 #coffee .campaign-name strong,#coffee .campaign-call strong{font-size:19px;line-height:1.25;margin-top:3px}
 #coffee .campaign-description{font-size:10px;margin-top:5px;line-height:1.35;white-space:nowrap}
}

/* Keep both feature banners inside their columns at tablet widths. */
@media(min-width:701px) and (max-width:1000px){
 #coffee .campaign-banner{min-height:175px}
 #coffee .campaign-copy{width:49%;padding:10px 0 10px 15px}
 #coffee .campaign-date{font-size:9px;margin-bottom:5px;min-height:27px;letter-spacing:0;white-space:normal}
 #coffee .campaign-date-separator{display:none}
 #coffee .campaign-day-name{display:block}
 #coffee .campaign-display{font-size:14px;line-height:1.1;letter-spacing:-.025em;white-space:nowrap}
 #coffee .campaign-display span{display:inline}
 #coffee .campaign-display span+span:before{content:' '}
 #coffee .campaign-name,#coffee .campaign-call{margin-top:6px}
 #coffee .campaign-name>span,#coffee .campaign-call>.campaign-label{font-size:9px;line-height:1.4;letter-spacing:0}
 #coffee .campaign-name strong,#coffee .campaign-call strong{font-size:19px;line-height:1.25;margin-top:3px}
 #coffee .campaign-description{font-size:10px;margin-top:5px;line-height:1.35;white-space:nowrap}
}
