@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap');
:root{--navy:#172744;--ink:#18243d;--muted:#58647b;--lav:#dcd5ff;--lav2:#f0edff;--paper:#fbfaf8;--line:#e5e4ec;--white:#fff;--accent:#7867d8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;line-height:1.7}a{color:inherit;text-decoration:none}.top{background:var(--navy);color:white;padding:18px clamp(20px,5vw,72px) 0;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.brand{font-family:'Playfair Display',serif;font-size:1.25rem;font-weight:700;line-height:1.15}.brand span{display:block;font-family:'DM Sans',sans-serif;font-size:.68rem;font-weight:400;letter-spacing:.04em;margin-top:5px;color:#d8dded}.top nav{display:flex;gap:clamp(10px,1.5vw,24px);align-items:center;flex-wrap:wrap}.top nav a{font-size:.78rem;padding:14px 0 16px;color:#e5e8f2;border-bottom:3px solid transparent}.top nav a:hover,.top nav a.active{color:white;border-color:#bdb0ff}.menu{display:none;background:none;color:white;border:0;font-size:1.4rem}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:490px;background:linear-gradient(110deg,#f4f1ff 0%,#fbfaf8 60%);}.hero-copy{padding:clamp(36px,6vw,86px) clamp(24px,6vw,86px);align-self:center}.eyebrow{font-size:.7rem;letter-spacing:.18em;font-weight:700;color:var(--accent);margin:0 0 14px}.hero h1{font:600 clamp(3rem,6vw,5.8rem)/.98 'Playfair Display',serif;letter-spacing:-.04em;margin:0 0 18px;color:var(--navy)}h1,h2,h3{font-family:'Playfair Display',serif;line-height:1.15}h2{font-size:clamp(2rem,3.5vw,3rem);letter-spacing:-.025em;margin:0 0 18px;color:var(--navy)}h3{font-size:1.35rem;margin:8px 0 12px}.dek{font-size:1.15rem;font-weight:600;line-height:1.5;max-width:540px}.hero-copy>p:not(.eyebrow):not(.dek){max-width:540px;color:var(--muted)}.button{display:inline-flex;gap:24px;align-items:center;background:#c8bcff;color:#241a5c;padding:12px 19px;border-radius:999px;font-weight:700;font-size:.88rem;margin-top:12px;transition:.2s}.button:hover{transform:translateY(-2px);background:#b7a7ff}.hero-image{position:relative;min-height:380px;overflow:hidden}.hero-image img,.banner img{width:100%;height:100%;object-fit:cover;display:block}.hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(240,237,255,.15),transparent 55%)}.image-note{position:absolute;bottom:28px;left:28px;right:28px;z-index:1;background:rgba(23,39,68,.88);color:white;padding:18px 20px;font:italic 1.1rem 'Playfair Display',serif;max-width:390px}.section{padding:clamp(44px,7vw,88px) clamp(24px,7vw,100px)}.section-heading{max-width:760px;margin-bottom:34px}.section-heading>p:last-child,.split p{color:var(--muted)}.card-grid{display:grid;gap:18px}.three{grid-template-columns:repeat(3,1fr)}.feature-card{display:block;background:white;border:1px solid var(--line);padding:26px;border-radius:14px;box-shadow:0 10px 30px rgba(29,38,68,.035);transition:.2s}.feature-card:hover{transform:translateY(-4px);border-color:#c7bcff}.number{display:inline-grid;place-items:center;width:38px;height:38px;background:var(--lav2);color:#5144a5;border-radius:50%;font-weight:700;font-size:.78rem}.feature-card p{color:var(--muted);font-size:.92rem}.card-link{color:#5b4bb8;font-weight:700;font-size:.85rem}.quote-band{background:var(--navy);color:white;padding:52px 24px;text-align:center}.quote-band p{font:500 clamp(1.4rem,3vw,2.3rem) 'Playfair Display',serif;margin:0 auto 12px;max-width:850px}.quote-band span{font-size:.68rem;letter-spacing:.18em;color:#c9c5f4}.split{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(30px,7vw,100px)}.source-note{font-size:.82rem!important;border-top:1px solid var(--line);padding-top:15px}.banner{height:280px;position:relative;overflow:hidden;background:#dcd5ff}.banner:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,31,61,.82),rgba(17,31,61,.08))}.banner-copy{position:absolute;z-index:1;left:clamp(24px,7vw,100px);bottom:36px;color:white;max-width:740px}.banner-copy .eyebrow{color:#d5ceff}.banner h1{font-size:clamp(2.5rem,5vw,4.2rem);margin:0 0 10px}.banner p:last-child{margin:0;max-width:650px}.content{max-width:1050px;margin:auto;padding:54px 24px 80px}.content h2{font-size:1.8rem;margin-top:36px}.content h3{font-family:'DM Sans',sans-serif;font-size:1rem;margin-top:24px}.content p,.content li{color:#4d5970}.content strong{color:var(--ink)}.content .lead{font-size:1.15rem;color:var(--ink);max-width:850px}.callout{background:var(--lav2);border-left:4px solid var(--accent);padding:22px 26px;border-radius:0 12px 12px 0;margin:30px 0;color:var(--ink)}.callout p{margin:0;color:var(--ink)}.fact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:28px 0}.fact{padding:20px;background:white;border:1px solid var(--line);border-radius:12px}.fact b{display:block;color:#5144a5;margin-bottom:5px}.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:26px 0}.flow div{background:white;border:1px solid var(--line);border-radius:12px;padding:18px 14px;text-align:center;font-size:.84rem;font-weight:600}.flow span{display:block;font-size:1.6rem;color:var(--accent);margin-bottom:8px}.steps{counter-reset:step;display:grid;gap:14px;margin:26px 0}.step{counter-increment:step;display:grid;grid-template-columns:56px 1fr;gap:18px;padding:22px;background:white;border:1px solid var(--line);border-radius:14px}.step:before{content:counter(step);display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--lav);font-size:1.1rem;font-weight:700;color:#42348f}.step h3{margin:0 0 6px}.step p{margin:0}.refs li{margin-bottom:20px;overflow-wrap:anywhere}.refs a{color:#5144b3;text-decoration:underline;text-underline-offset:3px}footer{background:#111f3a;color:#e4e7f0;padding:26px clamp(24px,6vw,80px);display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;font-size:.8rem}footer span:first-child{font-family:'Playfair Display',serif;font-size:1rem}footer a{color:#d3caff} @media(max-width:850px){.top{align-items:center}.menu{display:block}.top nav{display:none;width:100%;padding-bottom:10px}.nav-open .top nav{display:flex}.top nav a{padding:8px 0}.hero{grid-template-columns:1fr}.hero-image{min-height:300px;grid-row:1}.hero-copy{padding:40px 24px}.three{grid-template-columns:1fr}.split{grid-template-columns:1fr;gap:10px}.fact-grid{grid-template-columns:1fr}.flow{grid-template-columns:repeat(2,1fr)}.banner{height:300px}.banner-copy{right:24px;left:24px}}@media(max-width:460px){.top nav{gap:12px}.top nav a{font-size:.72rem}.flow{grid-template-columns:1fr}.step{grid-template-columns:44px 1fr;gap:12px;padding:16px}.step:before{width:38px;height:38px}}

.project-info{background:#f0edff}.project-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.project-details>div{background:#fff;border:1px solid #e5e4ec;border-radius:12px;padding:18px 20px}.project-details span{display:block;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:#7867d8;font-weight:700;margin-bottom:6px}.project-details strong{display:block;font-size:.96rem;line-height:1.45;color:#18243d}.location-note{font-size:.82rem;color:#58647b;max-width:850px;margin-top:18px}@media(max-width:600px){.project-details{grid-template-columns:1fr}}

/* Added rubric-supporting visuals and academic-integrity disclosure */
.sector-overview .section-heading{max-width:920px}
.visual-panel{margin:2.5rem 0;padding:1.5rem;border:1px solid #dedbea;border-radius:18px;background:linear-gradient(135deg,#fff 0%,#f4f1ff 100%);}
.visual-title{margin-bottom:1.1rem}
.visual-title h3{font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.35rem,2.5vw,2rem);margin:.25rem 0 .5rem;color:var(--navy,#172747)}
.visual-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:stretch;gap:.75rem}
.visual-flow>div,.visual-cards>div{background:#fff;border:1px solid #e0dced;border-radius:13px;padding:1rem;min-width:0}
.visual-flow span,.visual-cards span{display:block;font-size:.78rem;letter-spacing:.08em;font-weight:800;color:#7764df;margin-bottom:.55rem}
.visual-flow b,.visual-cards b{display:block;color:#192846;margin-bottom:.4rem}
.visual-flow small,.visual-cards small{display:block;color:#53627d;line-height:1.55;font-size:.92rem}
.visual-flow>i{align-self:center;font-style:normal;font-size:1.5rem;color:#7968df;font-weight:700}
.visual-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}
.visual-caption{margin:.95rem 0 0;color:#52617a;font-size:.9rem;line-height:1.6}
.source-note{line-height:1.7}
@media(max-width:700px){.visual-flow{grid-template-columns:1fr;gap:.55rem}.visual-flow>i{transform:rotate(90deg);justify-self:center}.visual-cards{grid-template-columns:1fr}.visual-panel{padding:1rem}}

/* Evidence-led tables and conceptual diagrams added for the case study */
.data-visual{margin:2.5rem 0;padding:clamp(1.1rem,3vw,2rem);background:#f4f0fa;border:1px solid #ded4ec;border-radius:18px;color:#20233a}.data-visual h2{margin:.25rem 0 1.1rem}.table-wrap{width:100%;overflow-x:auto;border-radius:10px;background:#fff}.data-visual table{width:100%;border-collapse:collapse;min-width:560px;font-size:.94rem}.data-visual th,.data-visual td{padding:.85rem .9rem;text-align:left;vertical-align:top;border-bottom:1px solid #e7e2ed;line-height:1.55}.data-visual thead th{background:#242744;color:#fff;font-weight:650}.data-visual tbody th{width:22%;color:#292747;background:#faf9fc}.data-visual tbody tr:last-child th,.data-visual tbody tr:last-child td{border-bottom:0}.visual-caption{font-size:.84rem;line-height:1.55;color:#5c5a6b;margin:.9rem 0 0}.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}.process-grid>div{background:#fff;border:1px solid #ded4ec;border-radius:12px;padding:1rem}.process-grid span{display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:#ded4ec;color:#242744;font-weight:700;margin-bottom:.65rem}.process-grid b,.impact-flow b{display:block}.process-grid p{font-size:.9rem;margin:.35rem 0 0}.impact-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:.7rem}.impact-flow>div{height:100%;background:#fff;border:1px solid #ded4ec;border-radius:12px;padding:1rem}.impact-flow span{display:block;font-size:.9rem;line-height:1.5;margin-top:.5rem}.impact-flow i{font-style:normal;font-size:1.5rem;color:#62528a;text-align:center}@media(max-width:700px){.process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.impact-flow{grid-template-columns:1fr}.impact-flow i{transform:rotate(90deg)}}
