/* ==========================================================================
   SHARED INNER-PAGE PATTERNS — about, services, contact, legal pages
   ========================================================================== */

/* ---- prose (legal pages) ---- */
.prose{max-width:760px;margin:0 auto;}
.prose h2{font-size:19px;margin:32px 0 10px;}
.prose p, .prose li{font-size:14.5px;color:var(--ink-soft);}
.prose ul{padding-left:20px;margin:10px 0;list-style:disc;}
.prose li{margin-bottom:6px;}
.prose a{color:var(--sky);font-weight:600;text-decoration:underline;}
.prose .updated{font-size:13px;color:var(--ink-soft);margin-bottom:30px;}
.prose .callout{background:#FEF6E8;border:1px solid #F3DFAE;border-radius:12px;padding:18px 20px;margin:20px 0;color:#7A5B12;font-size:14px;}

/* ---- about: split intro ---- */
.about-split{display:grid;grid-template-columns:1fr;gap:32px;align-items:center;}
@media (min-width:900px){.about-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}}
.about-split p{color:var(--ink-soft);font-size:15px;margin-bottom:14px;}
.founder-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px;box-shadow:0 16px 34px rgba(10,37,64,0.08);}
.founder-avatar{width:72px;height:72px;border-radius:50%;background:var(--sky-light);color:var(--sky);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:24px;font-weight:700;margin-bottom:16px;}
.founder-card h3{font-size:18px;margin-bottom:2px;}
.founder-card .role{font-size:12.5px;color:var(--sky);font-weight:800;text-transform:uppercase;letter-spacing:0.05em;margin-bottom:14px;}
.founder-card p{font-size:14px;color:var(--ink-soft);}

/* ---- values grid ---- */
.values-grid{display:grid;grid-template-columns:1fr;gap:16px;}
@media (min-width:640px){.values-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (min-width:1020px){.values-grid{grid-template-columns:repeat(4,minmax(0,1fr));}}
.value-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;text-align:center;}
.value-icon{width:46px;height:46px;border-radius:12px;background:var(--sky-light);color:var(--sky);display:flex;align-items:center;justify-content:center;margin:0 auto 14px;}
.value-card h4{font-size:15px;margin-bottom:6px;}
.value-card p{font-size:12.5px;color:var(--ink-soft);}

/* ---- timeline (used for how-it-works on Services page) ---- */
.timeline{display:flex;flex-direction:column;gap:0;}
.tl-item{display:grid;grid-template-columns:44px 1fr;gap:18px;padding-bottom:28px;position:relative;}
.tl-item:last-child{padding-bottom:0;}
.tl-marker{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--font-display);font-weight:700;font-size:16px;position:relative;z-index:1;}
.tl-item:not(:last-child)::before{content:"";position:absolute;left:22px;top:44px;bottom:0;width:2px;background:var(--line);}
.tl-body h4{font-size:15.5px;margin-bottom:5px;}
.tl-body p{font-size:13.5px;color:var(--ink-soft);}

/* ---- country/region grid ---- */
.country-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
@media (min-width:640px){.country-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (min-width:1020px){.country-grid{grid-template-columns:repeat(4,minmax(0,1fr));}}
.country-chip{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 14px;display:flex;align-items:center;gap:10px;}
.country-chip .cc{width:36px;height:36px;border-radius:50%;border:2px solid var(--sky);color:var(--royal-ink);display:flex;align-items:center;justify-content:center;font-size:10.5px;font-weight:800;flex-shrink:0;}
.country-chip span.name{font-size:13.5px;font-weight:700;color:var(--ink);}

/* ---- visa-type detail rows (Services page) ---- */
.visa-row{display:grid;grid-template-columns:1fr;gap:18px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px;margin-bottom:18px;}
@media (min-width:800px){.visa-row{grid-template-columns:220px 1fr;align-items:start;}}
.visa-row .vr-tag{display:inline-flex;align-items:center;gap:8px;background:var(--sky-light);color:var(--sky);padding:8px 14px;border-radius:9px;font-weight:800;font-size:13px;width:fit-content;}
.visa-row h3{font-size:18px;margin:12px 0 8px;}
@media (min-width:800px){.visa-row h3{margin-top:0;}}
.visa-row p{font-size:14px;color:var(--ink-soft);margin-bottom:10px;}
.visa-row ul{display:flex;flex-direction:column;gap:6px;}
.visa-row li{display:flex;align-items:flex-start;gap:8px;font-size:13.5px;color:var(--ink);}
.visa-row li .ico{color:var(--sky);margin-top:2px;}

/* ---- contact page ---- */
.contact-grid{display:grid;grid-template-columns:1fr;gap:30px;}
@media (min-width:960px){.contact-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}}
.contact-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px;}
.contact-card h3{font-size:18px;margin-bottom:16px;}
/* .field/label/input/select styling now comes from the shared rules in
   style.css so the Contact page form matches the homepage form exactly.
   Only the textarea-specific sizing is unique to this page. */
.contact-form textarea{width:100%;padding:12px 13px;border:1.5px solid var(--line);border-radius:9px;font-size:16px;font-family:var(--font-body);background:var(--paper);color:var(--ink);min-height:110px;resize:vertical;}
.contact-form textarea:focus{outline:2px solid var(--sky);border-color:var(--sky);}
.contact-info-list{display:flex;flex-direction:column;gap:16px;}
.ci-row{display:flex;gap:14px;align-items:flex-start;}
.ci-row .fi{width:40px;height:40px;border-radius:10px;background:var(--sky-light);color:var(--sky);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.ci-row p{font-size:14px;color:var(--ink-soft);}
.ci-row b{color:var(--ink);}
.hours-table{width:100%;border-collapse:collapse;margin-top:6px;}
.hours-table td{padding:6px 0;font-size:13.5px;color:var(--ink-soft);border-bottom:1px solid var(--line);}
.hours-table td:last-child{text-align:right;font-weight:700;color:var(--ink);}
