/* ===== Safe and Secure Society â€” shared stylesheet ===== */
:root{--navy:#071d3a;--navy2:#0b2c50;--teal:#7a1f2b;--teal2:#b8505f;--ink:#10233d;--muted:#627083;--line:#dbe4ea;--paper:#f7fafb;--white:#fff;--max:1180px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);line-height:1.6}
a{color:inherit;text-decoration:none}
.container{width:min(var(--max),calc(100% - 40px));margin:auto}
img{max-width:100%}

/* header / nav */
.header{position:sticky;top:0;z-index:30;background:#fffef7f2;backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:12px;height:auto}
.logo-img{height:70px;width:auto;object-fit:contain;display:block}
.brand-text{display:flex;flex-direction:column;line-height:1.25;text-align:center}
.brand-text b{font-size:15px;letter-spacing:.04em;color:var(--navy)}
.brand-text small{font-size:10px;letter-spacing:.02em;color:var(--muted)}
.links{display:flex;gap:18px;align-items:center;font-size:13px;font-weight:700}
.links>a,.nav-item>button{padding:9px 0}
.cta{background:var(--navy);color:#fff;border-radius:999px;padding:11px 16px!important}
.menu{display:none;background:#fff;border:1px solid var(--line);padding:9px 12px;border-radius:8px}
.nav-item{position:relative}
.nav-item>button{background:none;border:0;font:inherit;font-weight:700;cursor:pointer;color:inherit;display:flex;align-items:center;gap:5px}
.nav-item>button::after{content:"";width:6px;height:6px;border-right:1.5px solid #9fadb9;border-bottom:1.5px solid #9fadb9;transform:rotate(45deg);margin-top:-3px}
.dropdown{position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%);background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 18px 40px #071d3a1f;min-width:210px;padding:8px;display:none;flex-direction:column}
.nav-item:hover .dropdown,.nav-item:focus-within .dropdown{display:flex}
.dropdown a{padding:10px 12px;border-radius:7px;font-size:13px}
.dropdown a:hover{background:var(--paper)}

/* hero (home) */
.hero{background:linear-gradient(125deg,#f8fbfc,#f6ecec);overflow:hidden}
.hero-grid{min-height:620px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:40px}
.eyebrow{color:var(--teal);font-size:11px;font-weight:900;letter-spacing:.18em;margin:0 0 14px}
.hero h1{font-size:clamp(43px,5.3vw,72px);line-height:1.02;letter-spacing:-.045em;margin:0 0 24px}
.hero h1 span{display:block;color:var(--teal)}
.lead{font-size:19px;color:#536275;max-width:700px}
.buttons{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0}
.button{padding:13px 19px;border-radius:7px;font-weight:800;font-size:14px;border:1px solid transparent;display:inline-block;cursor:pointer}
.primary{background:var(--navy);color:#fff}
.secondary{background:#fff;border-color:#aebdc9}
.ghost{background:transparent;border-color:#ffffff55;color:#fff}
.hero-note{font-size:12px;color:#718091}
.visual{min-height:450px;position:relative}
.ring{position:absolute;border:1px solid #7a1f2b40;border-radius:50%}
.r1{inset:15px}.r2{inset:55px}.r3{inset:100px}
.shield{position:absolute;inset:90px 120px;display:grid;place-items:center;border:1px solid #7a1f2b55;background:#ffffffaa;clip-path:polygon(50% 0,90% 22%,84% 72%,50% 100%,16% 72%,10% 22%)}
.shield-text{text-align:center;padding:0 20px}
.shield-text b{display:block;color:var(--navy);font-size:15px;letter-spacing:.05em;line-height:1.3}
.shield-text small{display:block;color:var(--muted);font-size:11px;margin-top:8px;text-wrap:balance}
.node{position:absolute;padding:8px 12px;border:1px solid #e3cfd2;background:#fff;border-radius:999px;font-size:9px;font-weight:900;letter-spacing:.1em;box-shadow:0 8px 22px #071d3a12}
.n1{top:25px;left:20px}.n2{top:95px;right:0}.n3{bottom:70px;left:0}.n4{bottom:25px;right:35px}

/* interior page hero (short) */
.page-hero{background:var(--navy);color:#fff;padding:64px 0 54px}
.page-hero h1{font-size:clamp(34px,4.5vw,52px);letter-spacing:-.03em;margin:10px 0 14px}
.page-hero p{color:#c6d3df;font-size:16px;max-width:680px}
.breadcrumb{font-size:12px;color:#9fb2c2;margin-bottom:14px}
.breadcrumb a{color:#c6d3df}
.breadcrumb a:hover{text-decoration:underline}

/* generic sections */
.band{background:var(--navy);color:#fff;padding:55px 0}
.band-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.band h2,.section h2,.dark h2,.contact h2{font-size:clamp(32px,4vw,52px);line-height:1.07;letter-spacing:-.035em;margin:0}
.band p{color:#c6d3df;font-size:17px}
.section{padding:92px 0}
.section.tight{padding:60px 0}
.two{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px}
.prose{font-size:17px;color:#536275}
.prose h3{color:var(--ink);font-size:19px;margin:26px 0 8px}
.dark{background:var(--navy);color:#fff;padding:92px 0}
.sub{max-width:780px;color:var(--muted)}
.dark .sub{color:#bcc9d7}
.soft{background:var(--paper)}

/* pillars */
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:40px}
.pillar{min-height:auto;padding:27px 23px;border:1px solid #ffffff20;background:#ffffff08}
.pillar span{color:var(--teal2);font-weight:900}
.pillar h3{font-size:21px;line-height:1.15;margin:18px 0 12px}
.pillar p,.pillar li{color:#bdc9d6;font-size:13px}
.pillar a.more{display:inline-block;margin-top:14px;color:var(--teal2);font-weight:800;font-size:13px}

/* card grids: sectors / programmes / mentors / conferences / resources */
.sectors,.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:40px}
.sector,.card{padding:25px;border:1px solid var(--line);border-radius:10px}
.sector b,.card h3{display:block;font-size:18px;margin-bottom:8px}
.sector span,.card p{color:var(--muted);font-size:14px}
.card a.more{display:inline-block;margin-top:12px;color:var(--teal);font-weight:800;font-size:13px}

.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;margin-top:40px}

/* status badges */
.badge{display:inline-block;font-size:10px;font-weight:900;letter-spacing:.08em;padding:5px 10px;border-radius:999px}
.badge.upcoming{background:#f6ecec;color:#7a1f2b}
.badge.past{background:#eef1f4;color:#5c6b7a}

/* mentor / person cards */
.people{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px}
.person{border:1px solid var(--line);border-radius:10px;padding:22px;text-align:left}
.person img{width:78px;height:78px;object-fit:cover;border-radius:50%;background:var(--paper);border:1px solid var(--line)}
.person h3{font-size:17px;margin:14px 0 2px}
.person .role{color:var(--teal);font-size:12px;font-weight:800;margin-bottom:8px}
.person p{color:var(--muted);font-size:13px}

/* detail pages (programme / mentor / conference) */
.detail{display:grid;grid-template-columns:1.5fr .9fr;gap:60px;align-items:start}
.detail h2{font-size:clamp(26px,3.4vw,38px);letter-spacing:-.02em;margin:0 0 10px}
.meta-row{display:flex;flex-wrap:wrap;gap:10px 22px;color:var(--muted);font-size:13px;margin:14px 0 26px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0}
.meta-row b{color:var(--ink)}
.sidebar-box{border:1px solid var(--line);border-radius:10px;padding:24px;position:sticky;top:100px}
.sidebar-box h3{font-size:14px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin:0 0 14px}
.sidebar-box .button{width:100%;text-align:center;margin-bottom:10px}
.not-found{padding:120px 0;text-align:center}

/* advisory steps */
.advisory{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px}
.steps{display:grid;gap:12px}
.step{display:grid;grid-template-columns:45px 1fr;column-gap:15px;border-bottom:1px solid var(--line);padding:17px 0}
.step strong{color:var(--teal)}
.step h3{margin:0;font-size:20px}
.step p{margin:3px 0 0;color:var(--muted);font-size:14px}

/* multiplier cycle */
.multiplier{padding:85px 0;background:linear-gradient(135deg,#f6ecec,#f7fafb)}
.cycle{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin:35px 0}
.cycle div{background:#fff;border:1px solid #e3cfd2;border-radius:9px;padding:17px 20px;text-align:center;font-weight:800;min-width:165px}
.cycle i{color:var(--teal);font-size:24px}

/* partnership ecosystem */
.ecosystem{display:grid;grid-template-columns:1fr 1fr 130px 1fr 1fr;gap:10px;align-items:center;margin:45px 0 28px}
.ecosystem div,.ecosystem strong{min-height:105px;display:grid;place-items:center;border:1px solid #ffffff22;padding:18px;text-align:center;font-size:11px;letter-spacing:.1em}
.ecosystem strong{width:110px;height:110px;border-radius:50%;background:#fff;border:0;font-size:25px;justify-self:center;overflow:hidden;padding:12px;box-shadow:0 8px 22px #071d3a30}
.ecosystem strong img{width:100%;height:100%;object-fit:contain}
.tags{display:flex;justify-content:center;flex-wrap:wrap;gap:9px}
.tags span{border:1px solid #ffffff2a;border-radius:999px;padding:7px 12px;font-size:11px;color:#c6d2df}
.chip-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.chip-list span{border:1px solid var(--line);border-radius:999px;padding:8px 16px;font-size:13px;font-weight:700;color:var(--ink);background:var(--paper)}
.conf-block{padding:44px 0 0}
.conf-block h3{font-size:22px;letter-spacing:-.01em;margin:0 0 12px}
.conf-block.soft{background:var(--paper);padding:36px;border-radius:12px;margin-top:44px}
.legal{padding:18px;border-left:3px solid var(--teal);background:#f8f3f3;color:#596878;font-size:13px}

/* get involved */
.involve{background:#0b2c50;color:#fff;padding:85px 0}
.involve-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:35px}
.involve-grid div{border:1px solid #ffffff20;padding:21px}
.involve-grid b{display:block;margin-bottom:6px}
.involve-grid span{font-size:13px;color:#c0ccd8}
.involve-grid a.more{display:inline-block;margin-top:12px;color:var(--teal2);font-weight:800;font-size:13px}

/* resources */
.resource-list{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-top:30px}
.resource-row{background:#fff;padding:20px 22px;display:flex;justify-content:space-between;align-items:center;gap:20px}
.resource-row b{display:block;font-size:15px}
.resource-row span{color:var(--muted);font-size:13px}
.resource-tag{font-size:10px;font-weight:900;letter-spacing:.08em;color:var(--teal);text-transform:uppercase}

/* contact / forms */
.contact{background:var(--teal);color:#fff;padding:90px 0}
.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:70px}
.contact-box{background:#fff;color:var(--ink);border-radius:9px;padding:24px}
.contact-box p{border-bottom:1px solid var(--line);padding-bottom:12px}
.contact-box p:last-child{border:0}
.contact-box small{color:var(--muted)}

.form-card{background:#fff;color:var(--ink);border-radius:10px;padding:30px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.field.full{grid-column:1/-1}
.field label{font-size:12px;font-weight:800;letter-spacing:.03em}
.field input,.field select,.field textarea{font:inherit;padding:11px 13px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink)}
.field textarea{resize:vertical;min-height:110px}
.form-note{font-size:12px;color:var(--muted);margin-top:6px}
.form-success{display:none;padding:18px;border-radius:8px;background:#f6ecec;color:#7a1f2b;font-weight:700;margin-top:16px}
.form-success.show{display:block}

/* misc */
.edit{font-size:12px;color:#7d8996;font-style:italic;margin-top:20px}
footer{background:#06172d;color:#aebdcc;padding:28px 0}
.footer{display:flex;justify-content:space-between;gap:20px;font-size:12px}

@media(max-width:950px){
  .links{gap:11px}
  .pillars{grid-template-columns:repeat(2,1fr)}
  .sectors,.cards,.people{grid-template-columns:repeat(2,1fr)}
  .involve-grid{grid-template-columns:repeat(2,1fr)}
  .two,.advisory,.contact-grid,.band-grid,.detail{grid-template-columns:1fr;gap:35px}
  .hero-grid{grid-template-columns:1fr;padding:70px 0}
  .ecosystem{grid-template-columns:1fr 1fr}
  .ecosystem strong{grid-column:1/-1;order:-1}
  .sidebar-box{position:static}
}
@media(max-width:700px){
  .container{width:calc(100% - 28px)}
  .menu{display:block}
  .links{display:none;position:absolute;left:14px;right:14px;top:72px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px;flex-direction:column;align-items:stretch}
  .links.open{display:flex}
  .links>a,.nav-item{padding:0}
  .links>a{padding:11px}
  .nav-item>button{width:100%;justify-content:space-between;padding:11px}
  .dropdown{position:static;transform:none;display:none;box-shadow:none;border:0;border-top:1px solid var(--line);border-radius:0;margin:0 0 6px}
  .nav-item.open .dropdown{display:flex}
  .logo-img{height:56px}
  .brand-text b{font-size:12px}
  .brand-text small{font-size:8px}
  .hero h1{font-size:43px}
  .visual{min-height:330px}
  .shield{inset:65px 70px}
  .shield-text b{font-size:12px}
  .shield-text small{font-size:9px;margin-top:6px}
  .pillars,.sectors,.cards,.involve-grid,.people,.grid-2{grid-template-columns:1fr}
  .section,.dark{padding:70px 0}
  .cycle{flex-direction:column}
  .cycle i{transform:rotate(90deg)}
  .footer{flex-direction:column}
  .form-grid{grid-template-columns:1fr}
  .resource-row{flex-direction:column;align-items:flex-start}
}
