/* PTM page – self-contained layout (scoped to .ptm-sec) */
body .ptm-sec{ --n:#0a2c63; --n2:#104289; --g:#2f8f22; --gold:#f5b800; --b:#1a6fd6; --tint:#f4f8fd;
  padding:72px 0 56px; background:#fbfcfe; font-family:"DM Sans",system-ui,sans-serif; color:#33445f; }
body .ptm-sec *{ box-sizing:border-box; }
body .ptm-sec .container{ padding-left:16px; padding-right:16px; }
body .ptm-intro{ align-items:center; row-gap:36px; }
body .ptm-sec .ptm-kick{ display:inline-flex; align-items:center; gap:10px; font-size:13px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--g); margin:0 0 14px; }
body .ptm-sec .ptm-kick::before{ content:""; width:28px; height:3px; border-radius:2px; background:var(--g); }
body .ptm-sec .ptm-h{ font-family:"DM Sans",sans-serif; font-size:clamp(30px,4vw,42px); line-height:1.15; font-weight:800; color:var(--n); margin:0 0 22px; text-transform:none; letter-spacing:-.01em; }
body .ptm-sec .ptm-h em{ font-family:"Playfair Display",serif; font-style:italic; font-weight:700; color:var(--g); }
body .ptm-sec .ptm-p{ font-size:16.5px; line-height:1.8; font-weight:400; color:#3b4a63; margin:0 0 16px; text-align:justify; hyphens:auto; -webkit-hyphens:auto; text-wrap:pretty; }
body .ptm-sec .ptm-chips{ list-style:none; padding:0; margin:24px 0 0; display:flex; flex-wrap:wrap; gap:10px; }
body .ptm-sec .ptm-chips li{ display:inline-flex; align-items:center; gap:8px; padding:9px 16px; border-radius:999px; background:#fff; border:1px solid #dbe6f6; font-size:14.5px; font-weight:600; color:var(--n); box-shadow:0 4px 12px rgba(10,44,99,.06); margin:0; }
body .ptm-sec .ptm-chips li .fa{ color:var(--g); font-size:16px; }
body .ptm-sec .ptm-photo{ position:relative; margin:0; border-radius:24px; overflow:hidden; box-shadow:0 16px 36px rgba(10,44,99,.12); border:6px solid #fff; background:#fff; }
body .ptm-sec .ptm-photo::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:5px; background:linear-gradient(90deg,var(--g) 0 25%,var(--gold) 25% 50%,var(--b) 50% 75%,#e0505f 75%); }
body .ptm-sec .ptm-photo img{ display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:0; }
body .ptm-sec .ptm-photo figcaption{ position:absolute; left:14px; bottom:20px; display:inline-flex; align-items:center; gap:8px; padding:8px 14px; border-radius:999px; background:rgba(255,255,255,.94); color:#0a2c63; font-size:13.5px; font-weight:600; backdrop-filter:blur(4px); }
body .ptm-sec .ptm-photo figcaption .fa{ color:#2f8f22; }

/* principal panel */
body .ptm-sec .ptm-panel{ margin-top:56px; padding:34px 36px 36px; border-radius:24px; background:#fff; border:1px solid #dbe6f6; box-shadow:0 10px 28px rgba(10,44,99,.05); }
body .ptm-sec .ptm-panel-head{ display:flex; align-items:center; gap:18px; margin-bottom:26px; }
body .ptm-sec .ptm-ic{ flex:0 0 auto; width:58px; height:58px; border-radius:18px; display:inline-flex; align-items:center; justify-content:center; font-size:24px; color:var(--n2); background:#e6eefb; box-shadow:none; }
body .ptm-sec .ptm-h3{ font-family:"DM Sans",sans-serif; font-size:clamp(21px,2.4vw,26px); font-weight:700; line-height:1.25; color:var(--n); margin:0; text-transform:none; }
body .ptm-sec .ptm-sub{ margin:4px 0 0; font-size:15px; color:#62728d; text-align:left; }
body .ptm-sec .ptm-slots{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
body .ptm-sec .ptm-slot{ position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:6px; padding:24px 26px 24px 28px; border-radius:18px; overflow:hidden; }
body .ptm-sec .ptm-slot::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:6px; }
body .ptm-sec .ptm-slot-a{ background:#f4faf2; border:1px solid #dcefd6; } body .ptm-sec .ptm-slot-a::before{ background:#7cc36f; }
body .ptm-sec .ptm-slot-b{ background:#f3f7fd; border:1px solid #d9e6f8; } body .ptm-sec .ptm-slot-b::before{ background:#7aa9e6; }
body .ptm-sec .ptm-slot-ic{ width:44px; height:44px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; font-size:20px; margin-bottom:6px; }
body .ptm-sec .ptm-slot-a .ptm-slot-ic{ background:#e1f2dc; color:#2f8f22; } body .ptm-sec .ptm-slot-b .ptm-slot-ic{ background:#dfeafb; color:#1a6fd6; }
body .ptm-sec .ptm-slot-lbl{ font-size:12.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#5a6b86; }
body .ptm-sec .ptm-time{ font-size:clamp(22px,2.6vw,28px); font-weight:800; line-height:1.2; color:var(--n); }
body .ptm-sec .ptm-time span{ font-weight:500; font-size:.7em; color:#6b7b95; margin:0 4px; }
body .ptm-sec .ptm-appt{ display:inline-flex; align-items:center; gap:8px; margin-top:6px; padding:6px 12px; border-radius:999px; background:#fff; font-style:normal; font-size:13.5px; font-weight:600; color:#b4232f; border:1px solid #f3c6cb; }

/* note */
body .ptm-sec .ptm-note{ margin-top:24px; display:flex; align-items:flex-start; gap:18px; padding:24px 28px; border-radius:20px; background:#fffaeb; border:1px solid #f3e6b8; box-shadow:0 8px 20px rgba(10,44,99,.05); }
body .ptm-sec .ptm-note-ic{ flex:0 0 auto; width:48px; height:48px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; font-size:20px; color:#c78a00; background:#fdf0c4; }
body .ptm-sec .ptm-note-lbl{ display:inline-block; margin-bottom:6px; padding:3px 12px; border-radius:999px; background:#e6eefb; color:#0a2c63; font-size:12.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
body .ptm-sec .ptm-note p{ margin:0; font-size:16.5px; line-height:1.7; color:#4a4630; text-align:left; font-weight:400; }

@media (max-width:767px){
  body .ptm-sec{ padding:48px 0 40px; }
  body .ptm-sec .ptm-slots{ grid-template-columns:1fr; }
  body .ptm-sec .ptm-panel{ padding:24px 20px 24px; margin-top:40px; }
  body .ptm-sec .ptm-p{ font-size:16px; text-align:left; hyphens:auto; }
  body .ptm-sec .ptm-note{ padding:20px; flex-direction:column; gap:12px; }
}
