/* ---- For International Patients — loaded in addition to journal.css ---- */

.ip-head{max-width:1140px;margin:0 auto;padding:170px 24px 0}
.ip-head h1{font-family:var(--serif);font-weight:400;font-size:clamp(38px,5.4vw,62px);line-height:1.1;margin-bottom:22px}
.ip-head .lead{color:var(--ink-dim);font-size:17px;max-width:720px;line-height:1.85}
.ip-head .lead + .lead{margin-top:18px}
.ip-head .lead strong{color:var(--ink);font-weight:500}

section.ip{max-width:1140px;margin:0 auto;padding:74px 24px;border-top:1px solid var(--hairline)}
section.ip > h2{font-family:var(--serif);font-weight:400;font-size:clamp(27px,3.4vw,38px);line-height:1.22;margin-bottom:16px}
section.ip > .eyebrow{margin-bottom:16px}
section.ip > p{color:var(--ink-dim);font-size:15.5px;max-width:760px;margin-bottom:20px;line-height:1.85}
section.ip > p strong{color:var(--ink);font-weight:500}
section.ip > h3{font-family:var(--serif);font-weight:500;font-size:21px;color:var(--ink);margin:40px 0 14px}

/* journey steps */
.steps{counter-reset:s;margin:34px 0 0;max-width:840px}
.steps li{list-style:none;counter-increment:s;position:relative;padding:0 0 30px 62px;color:var(--ink-dim);font-size:15px;line-height:1.85}
.steps li::before{content:counter(s,decimal-leading-zero);position:absolute;left:0;top:1px;font-family:var(--serif);font-size:19px;color:var(--gold);letter-spacing:.06em}
.steps li b{display:block;color:var(--ink);font-weight:500;font-size:16px;margin-bottom:6px;letter-spacing:.01em}
.steps li .when{display:block;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}

/* tables */
.tbl{width:100%;border-collapse:collapse;margin:26px 0 14px;font-size:14.5px;line-height:1.65}
.tbl th,.tbl td{border:1px solid var(--hairline);padding:13px 16px;text-align:left;vertical-align:top}
.tbl th{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:500;background:#101115}
.tbl td{color:var(--ink-dim)}
.tbl td:first-child{color:var(--ink)}
.tbl td.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--ink)}
.tbl tr.grp td{background:#101115;color:var(--gold);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase}
.tbl-note{font-size:12.5px;color:var(--ink-dim);line-height:1.75;margin:0 0 34px;max-width:820px}
@media(max-width:640px){.tbl{font-size:13px}.tbl th,.tbl td{padding:10px}}

/* bullets */
.blist{margin:18px 0 24px;max-width:820px}
.blist li{list-style:none;position:relative;padding:0 0 13px 22px;color:var(--ink-dim);font-size:15px;line-height:1.8}
.blist li::before{content:"";position:absolute;left:0;top:12px;width:6px;height:1px;background:var(--gold)}
.blist li b{color:var(--ink);font-weight:500}

/* callout */
.callout{border:1px solid rgba(201,168,106,.4);background:#101115;padding:30px 32px;margin:34px 0;max-width:860px}
.callout b.t{display:block;font-size:10.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);margin-bottom:13px;font-weight:500}
.callout p{color:var(--ink-dim);font-size:15px;line-height:1.85;margin-bottom:14px}
.callout p:last-child{margin-bottom:0}
.callout p strong{color:var(--ink);font-weight:500}

/* two-up cards */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:34px}
.duo > div{border:1px solid var(--hairline);background:#101115;padding:32px 30px}
.duo h3{font-family:var(--serif);font-weight:400;font-size:24px;margin:0 0 6px}
.duo .sub{font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);margin-bottom:16px}
.duo p{font-size:14px;color:var(--ink-dim);line-height:1.8;margin-bottom:14px}
.duo a.more{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
@media(max-width:820px){.duo{grid-template-columns:1fr}}

/* FAQ */
.faq{max-width:840px;margin-top:30px;border-top:1px solid var(--hairline)}
.faq > div{border-bottom:1px solid var(--hairline);padding:26px 0}
.faq h3{font-family:var(--serif);font-weight:400;font-size:21px;color:var(--ink);margin:0 0 10px;line-height:1.35}
.faq p{color:var(--ink-dim);font-size:15px;line-height:1.85;margin:0 0 12px}
.faq p:last-child{margin-bottom:0}

/* enquiry form */
.form-wrap{max-width:760px;margin-top:34px}
.fld{margin-bottom:22px}
.fld label{display:block;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:9px}
.fld input,.fld select,.fld textarea{width:100%;background:#101115;border:1px solid var(--hairline);color:var(--ink);
  font-family:var(--sans);font-size:15px;font-weight:300;padding:13px 15px;transition:border-color .3s}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:var(--gold)}
.fld textarea{min-height:130px;resize:vertical;line-height:1.7}
.fld select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--gold) 50%),linear-gradient(135deg,var(--gold) 50%,transparent 50%);
  background-position:calc(100% - 19px) calc(50% + 1px),calc(100% - 13px) calc(50% + 1px);background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:44px}
.fld input[type=file]{padding:10px 13px;color:var(--ink-dim);font-size:13.5px}
.fld input[type=file]::file-selector-button{background:none;border:1px solid var(--hairline);color:var(--gold);font-family:var(--sans);
  font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;padding:9px 18px;margin-right:16px;cursor:pointer;transition:border-color .3s}
.fld input[type=file]::file-selector-button:hover{border-color:var(--gold)}
.fld .hint{font-size:12px;color:var(--ink-dim);margin-top:7px;line-height:1.6}
.fld-2{display:grid;grid-template-columns:1fr 1fr;gap:22px}
@media(max-width:640px){.fld-2{grid-template-columns:1fr}}
.form-wrap button{background:none;cursor:pointer;font-family:var(--sans)}
.privacy{font-size:12.5px;color:var(--ink-dim);line-height:1.75;margin-top:20px;max-width:760px}

/* contact rows */
.kv{margin:26px 0 0;border-top:1px solid var(--hairline);max-width:860px}
.kv > div{display:grid;grid-template-columns:210px 1fr;gap:24px;padding:17px 0;border-bottom:1px solid var(--hairline)}
.kv dt{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);line-height:1.7}
.kv dd{color:var(--ink-dim);font-size:14.5px;line-height:1.8}
.kv dd a{color:var(--gold)}
@media(max-width:640px){.kv > div{grid-template-columns:1fr;gap:5px}}

.ctarow{display:flex;gap:16px;flex-wrap:wrap;margin-top:30px;align-items:center}
.btn-ghost{display:inline-block;padding:13px 30px;border:1px solid var(--hairline);color:var(--ink-dim);font-size:12px;letter-spacing:.22em;text-transform:uppercase;transition:border-color .3s,color .3s}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold)}

/* ===== TODO placeholder — REMOVE ALL OF THESE BEFORE PUBLISHING ===== */
.todo{display:block;border:1px dashed #d08a3a;background:rgba(208,138,58,.07);color:#e0a869;padding:18px 22px;margin:24px 0;font-size:13px;line-height:1.8;letter-spacing:.02em;max-width:900px}
.todo b{display:block;font-size:10px;letter-spacing:.26em;text-transform:uppercase;margin-bottom:8px;color:#d08a3a}
.todo em{color:#f0c890;font-style:normal;font-weight:500}
