.faq-section{background:#f7f4ee}.faq-heading{display:grid;grid-template-columns:1fr .62fr;gap:8vw;align-items:end;margin-bottom:58px}.faq-heading h2,.precautions h2{font-size:clamp(44px,5.6vw,82px);line-height:.96;letter-spacing:-.06em}.faq-heading>p{font-size:17px;line-height:1.65;color:var(--muted)}.faq-list{max-width:1050px;margin-left:auto}.faq-list details{border-top:1px solid var(--line);padding:0}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;display:flex;align-items:center;gap:24px;padding:26px 8px;font-size:22px;line-height:1.25}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';margin-left:auto;font-size:28px;font-weight:400;color:var(--orange)}.faq-list details[open] summary:after{content:'−'}.faq-list summary span{font-size:13px;letter-spacing:.08em;color:#8b24e5}.faq-answer{padding:0 54px 30px}.faq-answer p{max-width:820px;line-height:1.75;color:#595952}.faq-note{font-size:12px;color:#888!important}.caffeine-table{border-top:2px solid var(--ink);margin:24px 0}.cf-row{display:grid;grid-template-columns:1fr 1.6fr 90px;gap:16px;padding:13px 8px;border-bottom:1px solid var(--line);font-size:13px;align-items:center}.cf-row b{text-align:right}.cf-head{font-size:11px;letter-spacing:.1em;font-weight:800;background:#e9e6e0}.cf-head span:last-child{text-align:right}.cf-row.highlight{background:#f2e5fd}.caffeine-context{background:#eeeae4;padding:14px 18px;font-size:13px}.precautions{background:#ded4f2}.precautions-title{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:end}.precautions-title>p:last-child{line-height:1.65;color:#5e5868}.precaution-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-top:55px}.precaution-grid article{border-top:2px solid var(--ink);padding-top:18px}.precaution-grid b{font-size:11px;color:#8b24e5}.precaution-grid h3{font-size:21px;margin:26px 0 10px}.precaution-grid p{font-size:13px;line-height:1.65;color:#5d5964}@media(max-width:900px){.faq-heading,.precautions-title{grid-template-columns:1fr}.faq-list{margin-left:0}.precaution-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.faq-section,.precautions{padding:82px 6vw}.faq-heading{margin-bottom:35px}.faq-list summary{font-size:18px;gap:12px;padding:22px 4px}.faq-answer{padding:0 4px 24px}.cf-row{grid-template-columns:1fr 1.2fr 60px;gap:8px;font-size:11px}.precaution-grid{grid-template-columns:1fr}.precautions-title{display:block}}
