/* Cafe Utopia landing content (sections/cu-landing.liquid). Tokens from CLAUDE.md. */
.cu-page{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:#111111}
.cu-page *,.cu-page *::before,.cu-page *::after{box-sizing:border-box}
.cu-sec{background:#FFFFFF;padding:80px 24px}
.cu-sec--cream{background:#FAF5EE}
.cu-sec--rule{border-top:1px solid #ECE4D9}
.cu-sec--dark{background:#2A1D14}
.cu-wrap{max-width:1120px;margin:0 auto;display:flex;flex-direction:column;gap:36px}
.cu-wrap--faq{max-width:820px;gap:32px}
.cu-head{text-align:center;display:flex;flex-direction:column;gap:12px;align-items:center}
.cu-eyebrow{font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#2F7A1F}
.cu-sec--dark .cu-eyebrow{color:#6CBF52}
.cu-h2{margin:0;font-family:Oswald,sans-serif;font-weight:600;font-size:clamp(28px,4.2vw,44px);line-height:1.1;text-transform:uppercase;color:#8F5A10}
.cu-h2--light{color:#FFFFFF}
.cu-lead{margin:0;max-width:680px;font-size:18px;line-height:1.6;color:#222222}
.cu-lead--light{color:#FFFFFF}
.cu-lead--left{max-width:none}
.cu-grid{display:grid;gap:18px}
.cu-grid--260{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.cu-grid--240{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.cu-grid--ing{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:14px}
.cu-review{background:#FFFFFF;border:1px solid #ECE4D9;border-radius:14px;padding:24px;display:flex;flex-direction:column;gap:12px}
.cu-review{margin:0}
.cu-review blockquote{margin:0}
.cu-review p{margin:0;font-size:15px;line-height:1.6;font-style:italic;color:#222222}
.cu-review figcaption{font-size:13px;font-weight:700;color:#8F5A10}
.cu-ph{border-radius:14px;border:2px dashed #B89A76;background:#FBF8F3;display:flex;align-items:center;justify-content:center;text-align:center;padding:20px;font-size:13px;font-weight:600;color:#7A5F47}
.cu-ph--260{flex:1 1 420px;min-width:0;min-height:400px}
.cu-ph--400{flex:1 1 420px;min-width:0;min-height:400px}
.cu-photo{flex:1 1 420px;min-width:0;width:100%;max-width:560px;aspect-ratio:1/1;height:auto;object-fit:cover;border-radius:14px;display:block}
.cu-promise{display:flex;flex-wrap:wrap;gap:48px;align-items:center}
.cu-promise__txt{flex:1 1 420px;min-width:0;display:flex;flex-direction:column;gap:12px}
.cu-card{background:#FFFFFF;border:1px solid #ECE4D9;border-radius:14px;padding:24px;display:flex;flex-direction:column;gap:10px}
.cu-card h3{margin:0;font-family:Oswald,sans-serif;font-weight:600;font-size:22px;text-transform:uppercase}
.cu-card p{margin:0;font-size:15px;line-height:1.6;color:#222222}
.cu-ic{width:52px;height:52px;border-radius:50%;background:#F2F7EF;display:flex;align-items:center;justify-content:center}
.cu-split{flex-direction:row;flex-wrap:wrap;gap:48px;align-items:center}
.cu-split__txt{flex:1 1 420px;min-width:0;display:flex;flex-direction:column;gap:14px}
.cu-ticks{margin:6px 0 10px;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}
.cu-ticks li{display:flex;gap:12px;align-items:flex-start;font-size:16px}
.cu-ticks li span{flex:0 0 auto;width:22px;height:22px;border-radius:50%;background:#2F7A1F;color:#FFFFFF;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center}
.cu-btn{align-self:flex-start;display:inline-flex;align-items:center;min-height:52px;padding:0 30px;border-radius:999px;background:#1F5A14;color:#FFFFFF;font-weight:700;font-size:17px;text-decoration:none}
.cu-btn:hover{background:#2A7A1C;color:#FFFFFF}
.cu-btn:focus-visible{outline:3px solid #2F7A1F;outline-offset:2px}
.cu-btn--lg{align-self:center;min-height:56px;padding:0 36px;font-size:18px}
.cu-ing{display:flex;gap:16px;align-items:center;background:#FAF5EE;border-radius:12px;padding:16px}
.cu-ing img{flex:0 0 72px;width:72px;height:72px;border-radius:10px;object-fit:cover;background:#FFFFFF}
.cu-ing div{display:flex;flex-direction:column;gap:2px;min-width:0}
.cu-ing__type{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#2F7A1F}
.cu-ing h3{margin:0;font-size:17px;font-weight:600}
.cu-ing p{margin:0;font-size:15px;line-height:1.5;color:#222222}
.cu-table{overflow-x:auto;border:1px solid #ECE4D9;border-radius:14px;background:#FFFFFF}
.cu-table table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:15px}
.cu-table thead th:first-child,.cu-table tbody th{width:32%}
.cu-table th,.cu-table td{padding:16px 14px;border-bottom:1px solid #ECE4D9;text-align:center}
.cu-table thead th{font-family:Oswald,sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.04em;color:#222222}
.cu-table thead th.cu-us-h{background:#8F5A10;color:#FFFFFF}
.cu-table tbody th{text-align:left;font-weight:600}
.cu-table td.cu-us{background:#FCF6EA}
.cu-table svg{vertical-align:middle}
@media (max-width:760px){
  .cu-table{overflow-x:visible}
  .cu-table table{min-width:0;table-layout:fixed;font-size:13px}
  .cu-table th,.cu-table td{padding:10px 4px}
  .cu-table thead th{font-size:12px;letter-spacing:0;line-height:1.2;hyphens:manual}
  .cu-table thead th:first-child,.cu-table tbody th{width:30%}
  .cu-table tbody th{padding-left:10px;line-height:1.3}
  .cu-table svg{width:20px;height:20px}
}
.cu-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.cu-fine{margin:0;font-size:13px;line-height:1.6;color:#4A4A4A}
.cu-faq{display:flex;flex-direction:column;gap:12px}
.cu-faq details{background:#FAF5EE;border:1px solid #ECE4D9;border-radius:12px;padding:0 22px}
.cu-faq summary{cursor:pointer;padding:20px 0;font-weight:600;font-size:17px;display:flex;justify-content:space-between;gap:16px;list-style:none;min-height:44px}
.cu-faq summary::-webkit-details-marker{display:none}
.cu-faq summary span:last-child{color:#8F5A10;font-size:22px;line-height:1}
.cu-faq details[open] summary span:last-child{transform:rotate(45deg)}
.cu-faq p{margin:0;padding-bottom:20px;font-size:15px;line-height:1.6;color:#222222}
.cu-final{display:flex;flex-direction:column;gap:14px;align-items:center;text-align:center;padding-top:8px}
.cu-small{font-size:13px;color:#4A4A4A}
.cu-footer{background:#2A1D14;padding:48px 24px 60px}
.cu-footer__in{gap:16px;font-size:13px;line-height:1.6;color:#C7B6A6}
.cu-footer__in p{margin:0}
.cu-box{padding:20px;border:1px solid #523B2C;border-radius:12px;background:#2E2018;display:flex;flex-direction:column;gap:14px}
.cu-box strong{color:#F3EBE2}
.cu-footer__nav{display:flex;flex-wrap:wrap;gap:8px 22px;padding-top:8px}
.cu-footer__nav a{color:#C7B6A6;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.cu-footer__nav a:hover{color:#FFFFFF}
@media (max-width:600px){.cu-sec{padding:56px 16px}.cu-footer{padding:40px 16px 48px}}
/* Homepage hero */
.cu-hero{background:#FFFFFF;padding:72px 24px;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:#111111;border-bottom:1px solid #ECE4D9}
.cu-hero *{box-sizing:border-box}
.cu-hero__in{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"head img" "txt img";grid-template-rows:auto 1fr;column-gap:56px;row-gap:18px;align-items:start}
.cu-hero__head{grid-area:head;display:flex;flex-direction:column;gap:18px;align-self:end}
.cu-hero__img{grid-area:img;align-self:center}
.cu-hero__txt{grid-area:txt;display:flex;flex-direction:column;gap:18px}
.cu-hero__h1{margin:0;font-family:Oswald,sans-serif;font-weight:600;font-size:clamp(44px,6vw,80px);line-height:1.02;text-transform:uppercase;color:#26170F}
.cu-hero__lead{margin:0;font-size:19px;line-height:1.6;color:#222222}
.cu-hero__btn{align-self:flex-start;margin-top:6px}
.cu-hero__small{margin:-6px 0 0;font-size:14px;color:#4A4A4A}
.cu-hero__checks{margin:6px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}
.cu-hero__checks li{font-size:16px;color:#222222}
.cu-hero__checks li::before{content:"✓ ";color:#2F7A1F;font-weight:700}
.cu-hero__img img{width:100%;max-width:560px;height:auto;display:block;margin:0 auto;filter:drop-shadow(0 18px 30px rgba(38,23,15,.14))}
@media (max-width:760px){.cu-hero{padding:40px 16px}.cu-hero__in{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "img" "txt";grid-template-rows:auto;row-gap:24px}.cu-hero__btn{align-self:stretch;justify-content:center}}
.cu-cta{display:flex;justify-content:center}
.cu-btn--light{background:#FFFFFF;color:#1F5A14}
.cu-btn--light:hover{background:#F2F7EF;color:#1F5A14}
.cu-promise__txt .cu-btn{margin-top:8px}
@media (max-width:600px){.cu-cta .cu-btn,.cu-promise__txt .cu-btn{align-self:stretch;width:100%;justify-content:center}}
.cu-factsbtn{display:inline-flex;align-items:center;min-height:48px;padding:0 26px;border-radius:999px;border:2px solid #F3EBE2;background:transparent;color:#F3EBE2;font:inherit;font-weight:700;font-size:16px;cursor:pointer}
.cu-factsbtn:hover{background:#F3EBE2;color:#2A1D14}
.cu-factsbtn:focus-visible{outline:3px solid #6CBF52;outline-offset:2px}
