/* OSC theme – University of Tamanrasset · Office of Scholarly Communication
   Logical properties are used throughout so one stylesheet serves RTL (ar) and LTR (en). */

@font-face{font-family:"IBM Plex Sans Arabic";font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/ibm-plex-sans-arabic-arabic-400-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:"IBM Plex Sans Arabic";font-weight:500;font-style:normal;font-display:swap;src:url(../fonts/ibm-plex-sans-arabic-arabic-500-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:"IBM Plex Sans Arabic";font-weight:700;font-style:normal;font-display:swap;src:url(../fonts/ibm-plex-sans-arabic-arabic-700-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:"IBM Plex Sans Arabic";font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/ibm-plex-sans-arabic-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Sans Arabic";font-weight:500;font-style:normal;font-display:swap;src:url(../fonts/ibm-plex-sans-arabic-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Sans Arabic";font-weight:700;font-style:normal;font-display:swap;src:url(../fonts/ibm-plex-sans-arabic-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-weight:100 900;font-style:normal;font-display:swap;src:url(../fonts/inter-latin-wght-normal.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --navy-950:#091d35; --navy-900:#0f2a4a; --navy-800:#16365d; --navy-700:#1d4577; --navy-100:#e6edf5;
  --sand-500:#c9a45c; --sand-600:#a8832f; --sand-300:#e3cf9f; --sand-100:#f6efdd; --sand-50:#fbf8f1;
  --ink:#1a2330; --ink-2:#394556; --ink-3:#556275; --line:#d8dde5; --bg:#fff;
  --ok:#14532d; --ok-bg:#e7f5ec; --warn:#7a4b00; --warn-bg:#fff4dc; --err:#8a1c1c; --err-bg:#fdeaea; --info-bg:#e9f1fb;
  --focus:#0a58ca;
  --radius:10px; --radius-lg:16px; --shadow:0 1px 2px rgba(15,42,74,.06),0 4px 14px rgba(15,42,74,.07);
  --container:1180px; --gutter:clamp(1rem,3vw,2rem);
  --font-ar:"IBM Plex Sans Arabic","Noto Sans Arabic","Segoe UI",Tahoma,system-ui,sans-serif;
  --font-en:"Inter","Source Sans 3","Segoe UI",system-ui,-apple-system,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--bg);color:var(--ink);font-size:1.0625rem;line-height:1.8;font-family:var(--font-ar);text-rendering:optimizeLegibility}
html[lang="en"] body{font-family:var(--font-en);font-size:1rem;line-height:1.65}
:lang(en){font-family:var(--font-en)}
:lang(ar){font-family:var(--font-ar)}
img,svg{max-width:100%;height:auto}
h1,h2,h3,h4{color:var(--navy-900);line-height:1.3;margin:0 0 .5em;font-weight:700}
h1{font-size:clamp(1.75rem,3.2vw,2.5rem)} h2{font-size:clamp(1.4rem,2.4vw,1.85rem)} h3{font-size:1.2rem} h4{font-size:1.05rem}
p{margin:0 0 1em} ul,ol{margin:0 0 1em;padding-inline-start:1.4em}
a{color:var(--navy-700);text-underline-offset:.2em;text-decoration-thickness:1px}
a:hover{color:var(--navy-950);text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:3px}
.sr-only{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;inset-inline-start:1rem;top:-4rem;z-index:1000;background:var(--navy-900);color:#fff;padding:.7rem 1rem;border-radius:0 0 var(--radius) var(--radius);transition:top .15s}
.skip-link:focus{top:0;color:#fff}
.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}
.muted{color:var(--ink-3)} .small{font-size:.9rem} .mt{margin-top:2rem}
.osc-icon{flex:none;vertical-align:-.2em}
.hp{position:absolute;inset-inline-start:-9999px;height:0;overflow:hidden}
main:focus{outline:none}

/* ---- Header ---- */
.site-header{background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:50}
.topbar{background:var(--navy-950);color:#dbe5f1;font-size:.9rem}
.topbar-inner{display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:2.5rem}
.topbar-links{display:flex;gap:1.25rem;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.topbar a{color:#dbe5f1;text-decoration:none} .topbar a:hover{color:#fff;text-decoration:underline}
.lang-switch{display:flex;gap:.25rem;margin-inline-start:auto}
.lang-switch a{padding:.15rem .7rem;border-radius:999px;border:1px solid transparent;font-weight:700;letter-spacing:.04em;font-family:var(--font-en)}
.lang-switch a[aria-current="true"]{background:var(--sand-500);color:var(--navy-950)}
.lang-switch a:not([aria-current]){border-color:rgba(255,255,255,.35)}
.header-main{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"brand tools" "nav nav";align-items:center;column-gap:2rem;padding-block:.9rem 0}
.brand{grid-area:brand;display:flex;align-items:center;gap:.85rem;text-decoration:none;color:var(--navy-900);padding-bottom:.9rem}
.brand:hover{color:var(--navy-950)}
.logo-placeholder{display:grid;place-items:center;width:3.4rem;height:3.4rem;border-radius:12px;background:var(--navy-900);color:#fff;font-weight:700;font-family:var(--font-en);letter-spacing:.04em;font-size:1.05rem;border-bottom:4px solid var(--sand-500)}
.brand img{max-height:3.4rem;width:auto}
.brand-text{display:flex;flex-direction:column;line-height:1.25}
.brand-name{font-weight:700;font-size:1.2rem} .brand-sub{color:var(--ink-3);font-size:.95rem}
.site-menu{display:contents}
.header-tools{grid-area:tools;display:flex;justify-content:flex-end;align-items:center;gap:1rem;padding-bottom:.9rem}
.search-form{display:flex;align-items:stretch;border:1.5px solid var(--navy-800);border-radius:999px;overflow:hidden;background:#fff;min-width:min(22rem,100%)}
.search-form input{flex:1;border:0;padding:.55rem 1rem;font:inherit;background:transparent;min-width:0;color:var(--ink)}
.search-form input:focus{outline:none}
.search-form:focus-within{outline:3px solid var(--focus);outline-offset:2px}
.search-form button{border:0;background:var(--navy-900);color:#fff;padding:0 1rem;cursor:pointer;display:grid;place-items:center}
.search-form button:hover{background:var(--navy-700)}
.menu-toggle{display:none;grid-area:tools;justify-self:end;border:1.5px solid var(--navy-800);background:#fff;color:var(--navy-900);border-radius:var(--radius);padding:.5rem .7rem;cursor:pointer}

.primary-nav{grid-area:nav;border-top:1px solid var(--line)}
.primary-nav>ul{display:flex;gap:.15rem;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.primary-nav li{position:relative;display:flex;align-items:center}
.primary-nav>ul>li>a{display:block;padding:.85rem .9rem;text-decoration:none;color:var(--ink);font-weight:500;border-bottom:3px solid transparent}
.primary-nav>ul>li>a:hover{color:var(--navy-700);border-bottom-color:var(--sand-300)}
.primary-nav li.is-current>a{color:var(--navy-900);border-bottom-color:var(--sand-500);font-weight:700}
.sub-toggle{border:0;background:none;color:var(--ink-2);cursor:pointer;padding:.5rem .35rem;margin-inline-start:-.7rem;border-radius:6px;display:grid;place-items:center}
.sub-toggle[aria-expanded="true"] .osc-icon{transform:rotate(180deg)}
.primary-nav .sub{display:none;position:absolute;inset-inline-start:0;top:100%;min-width:19rem;background:#fff;border:1px solid var(--line);border-top:3px solid var(--sand-500);border-radius:0 0 var(--radius) var(--radius);box-shadow:var(--shadow);list-style:none;margin:0;padding:.4rem;z-index:60;flex-direction:column;align-items:stretch}
.primary-nav .sub.open,.primary-nav li.has-sub:hover>.sub,.primary-nav li.has-sub:focus-within>.sub{display:flex}
.primary-nav .sub a{display:block;padding:.55rem .8rem;border-radius:6px;text-decoration:none;color:var(--ink)}
.primary-nav .sub a:hover,.primary-nav .sub a[aria-current]{background:var(--sand-50);color:var(--navy-900)}

/* ---- Buttons ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;font:inherit;font-weight:700;padding:.65rem 1.25rem;border-radius:999px;border:2px solid transparent;text-decoration:none;cursor:pointer;line-height:1.3;transition:background .15s,color .15s,border-color .15s}
.btn-lg{padding:.85rem 1.6rem;font-size:1.05rem} .btn-sm{padding:.35rem .9rem;font-size:.92rem} .btn-block{display:flex;width:100%;margin-top:.7rem}
.btn-primary{background:var(--navy-900);color:#fff} .btn-primary:hover{background:var(--navy-700);color:#fff}
.btn-accent{background:var(--sand-500);color:var(--navy-950)} .btn-accent:hover{background:var(--sand-300);color:var(--navy-950)}
.btn-outline{background:#fff;color:var(--navy-900);border-color:var(--navy-800)} .btn-outline:hover{background:var(--navy-100);color:var(--navy-950)}
.btn-light{background:#fff;color:var(--navy-900)} .btn-light:hover{background:var(--sand-100);color:var(--navy-950)}
.btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)} .btn-ghost:hover{background:rgba(255,255,255,.14);color:#fff}
.btn-ghost-dark{background:transparent;color:var(--navy-900);border-color:transparent;text-decoration:underline}
.btn-outline-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)} .btn-outline-light:hover{background:rgba(255,255,255,.14);color:#fff}

/* ---- Hero ---- */
.hero{background:var(--navy-900);color:#fff;position:relative;overflow:hidden;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='520' height='160' viewBox='0 0 520 160'%3E%3Cpath d='M0 120c65-40 130-40 195 0s130 40 195 0 90-30 130-10' fill='none' stroke='%23c9a45c' stroke-opacity='.22' stroke-width='2'/%3E%3Cpath d='M0 90c65-40 130-40 195 0s130 40 195 0 90-30 130-10' fill='none' stroke='%23c9a45c' stroke-opacity='.14' stroke-width='2'/%3E%3Cpath d='M0 150c65-40 130-40 195 0s130 40 195 0 90-30 130-10' fill='none' stroke='%23c9a45c' stroke-opacity='.3' stroke-width='2'/%3E%3C/svg%3E"),linear-gradient(135deg,var(--navy-950),var(--navy-800));
  background-repeat:repeat-x,no-repeat;background-position:bottom,center;background-size:520px 160px,cover}
.hero-inner{padding-block:clamp(3rem,7vw,5.5rem) clamp(3rem,6vw,5rem);max-width:60rem;margin-inline-start:0}
.hero h1{color:#fff;font-size:clamp(2rem,4.6vw,3.2rem);max-width:22ch;line-height:1.35}
html[lang="en"] .hero h1{max-width:20ch;line-height:1.2}
.hero .lead{font-size:1.15rem;color:#e3ebf5;max-width:48rem}
.kicker{color:var(--sand-300);font-weight:700;letter-spacing:.02em;font-size:.95rem;margin-bottom:.6rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.6rem}

.quick{background:var(--sand-50);border-bottom:1px solid var(--sand-300)}
.quick-list{list-style:none;margin:0;padding:.9rem 0;display:flex;flex-wrap:wrap;gap:.6rem}
.quick-list a{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .95rem;border-radius:999px;background:#fff;border:1px solid var(--sand-300);text-decoration:none;color:var(--navy-900);font-weight:500}
.quick-list a:hover{background:var(--sand-100);border-color:var(--sand-500)}

/* ---- Sections / page header ---- */
.section{padding-block:clamp(2.2rem,5vw,3.8rem)}
.section-sand{background:var(--sand-50);border-block:1px solid #efe6cf}
.section-head{margin-bottom:1.6rem;max-width:48rem}
.section-head.row{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;max-width:none}
.section-head p{color:var(--ink-2);margin:0}
.page-header{background:linear-gradient(180deg,var(--sand-50),#fff);border-bottom:1px solid var(--line);padding-block:1.4rem 1.8rem}
.page-header h1{margin-bottom:.35em}
.page-header .lead{font-size:1.1rem;color:var(--ink-2);max-width:52rem;margin:0}
.page-header .kicker{color:var(--sand-600)}
.breadcrumb ol{list-style:none;padding:0;margin:0 0 .8rem;display:flex;flex-wrap:wrap;gap:.2rem;font-size:.92rem;color:var(--ink-3)}
.breadcrumb li+li::before{content:"‹";margin-inline-end:.35rem;color:var(--ink-3)}
html[lang="en"] .breadcrumb li+li::before{content:"›"}
.breadcrumb a{color:var(--ink-2)}
.narrow-layout{max-width:60rem}
.two-col{display:grid;grid-template-columns:minmax(0,1fr) 20rem;gap:2.5rem;align-items:start}
.two-col.wide-first{grid-template-columns:minmax(0,1fr) 19rem}
.narrow-layout.container{display:block}

/* ---- Cards / grid ---- */
.grid{display:grid;gap:1.25rem}
.grid-3{grid-template-columns:repeat(auto-fill,minmax(min(100%,19rem),1fr))}
.grid-2{grid-template-columns:repeat(auto-fill,minmax(min(100%,22rem),1fr))}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.4rem;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:.15rem;position:relative}
.card h3{margin:.2rem 0 .4rem;font-size:1.15rem} .card h3 a{color:var(--navy-900);text-decoration:none}
.card h3 a::after{content:"";position:absolute;inset:0;border-radius:inherit}
.card:hover{border-color:var(--sand-500);box-shadow:0 2px 4px rgba(15,42,74,.08),0 10px 24px rgba(15,42,74,.1)}
.card:focus-within{outline:3px solid var(--focus);outline-offset:2px}
.card h3 a:focus-visible{outline:none}
.card p{color:var(--ink-2);margin-bottom:.6rem}
.card-more{margin-top:auto;margin-bottom:0!important} .card-more a{font-weight:700;text-decoration:none;display:inline-flex;gap:.3rem;align-items:center;position:relative;z-index:1}
[dir="rtl"] .osc-icon-arrow{transform:scaleX(-1)}
.card-icon{display:grid;place-items:center;width:3.2rem;height:3.2rem;border-radius:12px;background:var(--navy-100);color:var(--navy-900);margin-bottom:.6rem}
.card-icon.sm{width:2.4rem;height:2.4rem;margin:0}
.card-top{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.4rem}
.card-img{display:block;margin:-1.4rem -1.4rem 1rem;overflow:hidden;border-radius:var(--radius-lg) var(--radius-lg) 0 0}
.card-img img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.meta-line{font-size:.92rem;display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;margin-bottom:.5rem!important}
.badge{display:inline-block;padding:.05rem .65rem;border-radius:999px;background:var(--navy-100);color:var(--navy-900);font-size:.85rem;font-weight:500;border:1px solid transparent}
.badge-osc{background:var(--ok-bg);color:var(--ok);border-color:#b8dcc6}
.badge-ext{background:var(--warn-bg);color:var(--warn);border-color:#ecd49a}
.badge-warn{background:var(--warn-bg);color:var(--warn)}
.event-when{display:flex;gap:.4rem;align-items:center;color:var(--navy-900)!important;font-weight:500}
.chips{list-style:none;display:flex;gap:.5rem;flex-wrap:wrap;padding:0;margin:0 0 1.3rem}
.chips a{display:inline-block;padding:.3rem .9rem;border-radius:999px;border:1px solid var(--navy-800);text-decoration:none;color:var(--navy-900);background:#fff;font-size:.95rem}
.chips a:hover{background:var(--navy-900);color:#fff}
.empty-state{border:2px dashed var(--sand-300);background:var(--sand-50);border-radius:var(--radius-lg);padding:1.6rem;text-align:center;color:var(--ink-2)}
.empty-state p{margin:0 0 .6rem}
.metrics{list-style:none;padding:0;margin:1rem 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:1rem}
.metrics li{background:var(--navy-900);color:#fff;border-radius:var(--radius-lg);padding:1.3rem;display:flex;flex-direction:column;border-bottom:4px solid var(--sand-500)}
.metrics strong{font-size:2.3rem;line-height:1.1;font-family:var(--font-en)} .metrics small{color:var(--sand-300)}
.cta-band{background:var(--navy-900);color:#fff;padding-block:2.6rem}
.cta-inner{display:flex;gap:1.5rem;justify-content:space-between;align-items:center;flex-wrap:wrap}
.cta-band h2{color:#fff;margin-bottom:.3rem} .cta-band p{color:#dbe5f1;margin:0}

/* ---- Prose / sidebar ---- */
.prose{max-width:46rem} .prose.wide{max-width:none}
.prose h2{margin-top:1.8em;padding-top:.2em} .prose h3{margin-top:1.4em}
.prose li{margin-bottom:.35em}
.prose table{width:100%;border-collapse:collapse;margin:1em 0;font-size:.97rem}
.prose th,.prose td{border:1px solid var(--line);padding:.55rem .7rem;text-align:start;vertical-align:top} .prose th{background:var(--navy-100);color:var(--navy-900)}
.prose blockquote{margin:1em 0;padding:.6em 1em;border-inline-start:4px solid var(--sand-500);background:var(--sand-50)}
.prose .callout{border-inline-start:5px solid var(--navy-800);background:var(--info-bg);padding:.9rem 1.1rem;border-radius:var(--radius);margin:1.2em 0}
.prose .callout.warn{border-color:var(--sand-600);background:var(--warn-bg)}
.prose code{background:var(--navy-100);padding:.1em .4em;border-radius:5px;font-size:.92em;direction:ltr;unicode-bidi:embed}
.updated-line{margin-top:2rem;border-top:1px solid var(--line);padding-top:.8rem}
.sidebar{display:flex;flex-direction:column;gap:1.2rem;position:sticky;top:1rem}
.side-box{border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.2rem;background:#fff}
.side-box h2{font-size:1.1rem;margin-bottom:.7rem}
.side-cta{background:var(--navy-900);border-color:var(--navy-900);color:#fff} .side-cta h2{color:#fff} .side-cta p{color:#dbe5f1}
ul.plain{list-style:none;padding:0;margin:0} ul.plain li{padding:.35rem 0;border-bottom:1px solid #eef0f3} ul.plain li:last-child{border:0}
.osc-dl{margin:0 0 .5rem;display:grid;grid-template-columns:auto 1fr;gap:.35rem 1rem} .osc-dl dt{font-weight:700;color:var(--ink-2)} .osc-dl dd{margin:0}
.osc-dl.compact{font-size:.95rem}
.side-box .osc-dl{grid-template-columns:1fr;gap:.1rem} .side-box .osc-dl dd{margin-bottom:.55rem}
.news-figure{margin:0 0 1.2rem} .news-figure img{width:100%;border-radius:var(--radius)} .news-figure figcaption{font-size:.9rem;color:var(--ink-3)}

/* ---- Notices ---- */
.notice{border:1px solid var(--line);border-inline-start-width:5px;border-radius:var(--radius);padding:.9rem 1.1rem;margin:0 0 1.4rem;background:var(--info-bg);border-color:#9bbbe0}
.notice p{margin:0} .notice p+p{margin-top:.5rem} .notice h2{font-size:1.2rem;margin-bottom:.4rem}
.notice-success{background:var(--ok-bg);border-color:#7cc096;color:#10391f}
.notice-error{background:var(--err-bg);border-color:#d98b8b;color:#5d1212} .notice-error a{color:#5d1212}
.notice-warning{background:var(--warn-bg);border-color:#d9b25a;color:#4d3000}
.notice-info{background:var(--info-bg)}
.notice:focus{outline:3px solid var(--focus)}

/* ---- Forms ---- */
.filter-form,.osc-form{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end}
.filter-form{background:var(--sand-50);border:1px solid #efe6cf;padding:1rem;border-radius:var(--radius-lg);margin-bottom:1.5rem}
.osc-form{flex-direction:column;align-items:stretch;max-width:46rem;gap:1.1rem}
.field{display:flex;flex-direction:column;gap:.3rem;min-width:11rem} .field.grow{flex:1 1 16rem}
.field-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1rem}
.osc-form .field{min-width:0}
label,legend{font-weight:500;color:var(--ink)} legend{padding:0;margin-bottom:.3rem}
fieldset{border:0;padding:0;margin:0}
input[type=text],input[type=email],input[type=search],input[type=url],input[type=number],select,textarea{font:inherit;color:var(--ink);background:#fff;border:1.5px solid #8a96a6;border-radius:8px;padding:.6rem .8rem;width:100%;min-height:2.75rem}
textarea{resize:vertical;line-height:1.6}
input:focus,select:focus,textarea:focus{outline:3px solid var(--focus);outline-offset:1px;border-color:var(--navy-800)}
.has-error input,.has-error select,.has-error textarea{border-color:var(--err);border-width:2px;background:#fff8f8}
.field-error{color:var(--err);font-weight:500;margin:0} .field-error::before{content:"⚠ "}
.hint{color:var(--ink-3);font-size:.92rem;margin:0}
.form-note{color:var(--ink-2);margin:0}
label.inline{display:inline-flex;gap:.55rem;align-items:flex-start;font-weight:400;margin-inline-end:1.2rem}
input[type=checkbox],input[type=radio]{width:1.25rem;height:1.25rem;margin-top:.3rem;accent-color:var(--navy-800);flex:none}
.field.actions{min-width:0}
.result-count{font-weight:700;color:var(--navy-900)}
.reg-box{margin-top:2.5rem;border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.4rem;background:var(--sand-50)}

/* ---- Search results ---- */
.results{list-style:none;padding:0}
.result{padding:1rem 0;border-bottom:1px solid var(--line)} .result h2{font-size:1.2rem;margin:.2rem 0}
mark{background:var(--sand-300);color:var(--navy-950);padding:0 .15em;border-radius:3px}

/* ---- FAQ / tools / pagination / share ---- */
.faq-group{margin-bottom:2.2rem}
.faq-item{border:1px solid var(--line);border-radius:var(--radius);margin-bottom:.6rem;background:#fff}
.faq-item summary{cursor:pointer;padding:.9rem 1.1rem;font-weight:700;color:var(--navy-900);list-style:none;display:flex;justify-content:space-between;gap:1rem;align-items:center}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";font-size:1.5rem;line-height:1;color:var(--sand-600);font-family:var(--font-en)}
.faq-item[open] summary::after{content:"−"}
.faq-item[open]{border-color:var(--sand-500)}
.faq-answer{padding:0 1.1rem 1rem}
.tool-group{margin-top:2.2rem}
.pagination ul{list-style:none;display:flex;gap:.4rem;padding:0;justify-content:center;margin-top:2rem;flex-wrap:wrap}
.pagination a,.pagination span{display:grid;place-items:center;min-width:2.6rem;height:2.6rem;border-radius:8px;border:1px solid var(--line);text-decoration:none;font-family:var(--font-en)}
.pagination span[aria-current]{background:var(--navy-900);color:#fff;border-color:var(--navy-900)}
.share{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center} .share-label{font-weight:700;display:inline-flex;gap:.3rem;align-items:center}
.calendar{width:100%;border-collapse:collapse;text-align:center;font-family:var(--font-en);font-size:.95rem}
.calendar th{font-size:.8rem;color:var(--ink-3);padding:.3rem 0;font-weight:500} .calendar td{padding:.15rem}
.calendar td.has-event a{display:grid;place-items:center;height:2.2rem;background:var(--navy-900);color:#fff;border-radius:8px;text-decoration:underline}
.cal-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}
.cal-nav a{display:grid;place-items:center;width:2.4rem;height:2.4rem;border:1px solid var(--line);border-radius:8px;text-decoration:none;font-size:1.3rem}

/* ---- Deposit guide / checklist ---- */
.osc-steps{list-style:none;padding:0;counter-reset:s}
.osc-step{position:relative;counter-increment:s;border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.1rem 1.2rem 1.1rem 1.2rem;padding-inline-start:4rem;margin-bottom:.9rem;background:#fff}
.osc-step::before{content:counter(s);position:absolute;inset-inline-start:1rem;top:1rem;width:2.2rem;height:2.2rem;border-radius:50%;background:var(--navy-900);color:#fff;display:grid;place-items:center;font-weight:700;font-family:var(--font-en)}
.osc-step h3{margin:0 0 .3rem;font-size:1.12rem}
.osc-step p:last-child{margin-bottom:0}
.osc-deposit.js .osc-step{display:none} .osc-deposit.js .osc-step.is-active{display:block}
.osc-deposit.js.show-all .osc-step{display:block}
.stepper-bar{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;margin:1rem 0}
.stepper-bar progress{flex:1 1 10rem;height:.7rem;accent-color:var(--sand-600)}
.osc-checklist fieldset{border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.2rem;background:var(--sand-50)}
.osc-checklist legend{font-weight:700;padding-inline:.4rem}
.osc-checklist li{padding:.4rem 0}

/* ---- Footer ---- */
.site-footer{background:var(--navy-950);color:#d3deec;margin-top:0}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2rem;padding-block:3rem 2rem}
.footer-title{color:#fff;font-weight:700;font-size:1.05rem;margin-bottom:.7rem}
.site-footer a{color:#d3deec;text-decoration-color:rgba(255,255,255,.35)} .site-footer a:hover{color:#fff}
.site-footer ul{list-style:none;padding:0;margin:0} .site-footer li{padding:.2rem 0}
.footer-bottom{border-top:1px solid rgba(255,255,255,.14);font-size:.92rem}
.footer-bottom-inner{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-block:1rem}
.footer-bottom p{margin:0} .legal{display:flex;gap:1.1rem;flex-wrap:wrap}

/* ---- Responsive ---- */
@media (max-width:1020px){
  .two-col,.two-col.wide-first{grid-template-columns:1fr}
  .sidebar{position:static}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  .header-main{grid-template-columns:1fr auto;grid-template-areas:"brand toggle" "menu menu";padding-block:.6rem}
  .brand{padding-bottom:0} .brand-name{font-size:1.05rem}
  .menu-toggle{display:inline-grid;grid-area:toggle}
  .site-menu{display:none;grid-area:menu;padding-top:.8rem}
  .site-menu.open{display:block}
  .header-tools{flex-direction:column;align-items:stretch;padding-bottom:.8rem}
  .search-form{min-width:0}
  .header-tools .btn{width:100%}
  .primary-nav>ul{flex-direction:column;gap:0}
  .primary-nav li{flex-wrap:wrap;border-bottom:1px solid var(--line)}
  .primary-nav>ul>li>a{flex:1;border-bottom:0!important;padding:.8rem .2rem}
  .sub-toggle{margin:0;padding:.7rem .8rem;border:1px solid var(--line);margin-inline-start:.5rem}
  .primary-nav .sub,.primary-nav li.has-sub:hover>.sub,.primary-nav li.has-sub:focus-within>.sub{display:none;position:static;width:100%;box-shadow:none;border:0;border-inline-start:3px solid var(--sand-500);border-radius:0;min-width:0;margin-bottom:.5rem}
  .primary-nav .sub.open{display:flex!important}
  .topbar-links{display:none}
  .topbar-inner{justify-content:flex-end}
  .hero-actions .btn{flex:1 1 100%}
}
@media (max-width:560px){
  .footer-grid{grid-template-columns:1fr}
  .osc-dl{grid-template-columns:1fr}
  .osc-step{padding-inline-start:3.4rem}
}
@media print{.site-header,.site-footer,.sidebar,.share,.cta-band{display:none}body{font-size:12pt}}
