/* MY CODE — refund policy */
.policy-page { padding:94px 0 120px; background:#fff; }
.policy-layout { display:grid; grid-template-columns:260px minmax(0,1fr); gap:clamp(48px,7vw,110px); align-items:start; }
.policy-summary { position:sticky; top:120px; padding:24px; border:1px solid #e9e2dc; border-radius:16px; background:#fffaf7; }
.policy-summary span { display:block; margin-bottom:10px; color:#d95600; font-size:11px; font-weight:700; letter-spacing:.09em; }
.policy-summary strong { display:block; color:#1d1b19; font-size:18px; font-weight:580; }
.policy-summary p { margin:12px 0 0; color:#7b746e; font-size:13px; line-height:1.7; }
.policy-summary a { display:inline-flex; margin-top:22px; color:#d95600; font-size:13px; font-weight:600; text-decoration:none; }
.policy-content { max-width:880px; }
.policy-content article { position:relative; padding:0 0 44px 68px; margin-bottom:42px; border-bottom:1px solid #eee8e3; }
.policy-content article > span { position:absolute; top:4px; left:0; color:#d95600; font-size:11px; font-weight:700; letter-spacing:.08em; }
.policy-content h2 { margin:0; color:#171717; font-size:28px; font-weight:540; letter-spacing:-.04em; }
.policy-content p { margin:16px 0 0; color:#67615c; font-size:16px; line-height:1.85; }
.policy-content .policy-caution { padding:28px 28px 28px 96px; border:1px solid #f0d5c3; border-radius:16px; background:#fff8f2; }
.policy-content .policy-caution > span { top:32px; left:28px; }
.policy-content .policy-caution h2 { font-size:24px; }
@media (max-width:900px) { .policy-layout { grid-template-columns:1fr; } .policy-summary { position:static; } }
@media (max-width:620px) { .policy-page { padding:72px 0 88px; } .policy-content article { padding-left:0; padding-top:28px; } .policy-content article > span { top:0; } .policy-content .policy-caution { padding:54px 20px 22px; } .policy-content .policy-caution > span { top:20px; left:20px; } }
