/* Minimalist portfolio: intentional visual restraint and native system fonts. */
:root{color-scheme:light;--ink:#142538;--muted:#516276;--line:#dbe3e9;--paper:#f6f8fa;--white:#fff;--accent:#165f72;--accent2:#dcedf1;--max:1080px;--radius:15px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-underline-offset:.19em}a:hover{text-decoration-color:var(--accent)}a:focus-visible,button:focus-visible{outline:3px solid #65a7bd;outline-offset:3px}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.16;letter-spacing:-.035em}h1{font-size:clamp(2.45rem,5vw,4.35rem);font-weight:760;max-width:950px;margin-bottom:22px}h2{font-size:clamp(1.65rem,3.2vw,2.4rem);font-weight:730;margin-bottom:14px}h3{font-size:1.18rem;font-weight:700;margin-bottom:10px}p{margin-bottom:16px}.container{width:min(calc(100% - 48px),var(--max));margin-inline:auto}.narrow{max-width:790px}.skip{position:absolute;left:16px;top:-100px;background:var(--ink);color:#fff;padding:10px;z-index:20}.skip:focus{top:16px}.site-header{background:#fff;border-bottom:1px solid var(--line)}.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:78px}.brand{text-decoration:none;color:var(--ink);display:flex;align-items:center;gap:12px;font-weight:750;font-size:1.05rem;letter-spacing:-.02em}.mark{display:inline-grid;place-items:center;width:36px;height:36px;background:var(--ink);border-radius:9px;color:#fff;font-size:13px;letter-spacing:-.03em}.nav-links{display:flex;align-items:center;gap:26px;flex-wrap:wrap}.nav-links a{font-size:.91rem;color:var(--muted);text-decoration:none;font-weight:610}.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--accent)}.hero{padding:92px 0 65px}.hero-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(250px,.7fr);gap:50px;align-items:end}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.145em;font-size:.77rem;font-weight:750;margin-bottom:20px}.lede{font-size:clamp(1.06rem,1.7vw,1.27rem);color:var(--muted);max-width:690px;line-height:1.64}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:29px}.btn{display:inline-flex;gap:9px;align-items:center;justify-content:center;padding:12px 18px;border-radius:8px;font-weight:675;text-decoration:none;font-size:.91rem;line-height:1.35;transition:transform .16s ease,background .16s ease}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--ink);color:white}.btn-primary:hover{background:#263f56;color:white}.btn-secondary{background:white;color:var(--ink);border:1px solid var(--line)}.btn-secondary:hover{border-color:#aac2cc}.overview{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px}.overview h2{font-size:.97rem;letter-spacing:0;margin-bottom:17px}.overview .detail{display:flex;flex-direction:column;padding:13px 0;border-top:1px solid var(--line);gap:3px}.detail strong{font-size:.86rem;line-height:1.25}.detail span{font-size:.86rem;color:var(--muted)}.section{padding:72px 0}.section-header{margin-bottom:28px;display:flex;gap:20px;justify-content:space-between;align-items:end}.section-header p{max-width:610px;color:var(--muted);margin:0}.section-soft{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.feature{display:grid;grid-template-columns:1.05fr .95fr;border:1px solid var(--line);border-radius:var(--radius);background:#fff;overflow:hidden}.feature-media{background:#e8eff3;min-height:340px;display:flex;align-items:center;justify-content:center;padding:16px}.feature-media img{width:100%;box-shadow:0 10px 35px rgba(13,39,55,.07);border:1px solid #d6e0e6;border-radius:7px}.feature-copy{padding:39px;display:flex;flex-direction:column;justify-content:center}.subtle-label{font-size:.78rem;color:var(--accent);font-weight:750;letter-spacing:.09em;text-transform:uppercase;margin-bottom:12px}.feature-copy h3{font-size:clamp(1.6rem,2.8vw,2.2rem);margin-bottom:10px}.muted{color:var(--muted)}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:19px 0 26px}.chip{display:inline-block;padding:5px 10px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.77rem;line-height:1.25;background:#fafdfe}.text-link{font-weight:700;text-decoration:none}.text-link:hover{text-decoration:underline}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px}.metric{padding:18px 20px;border:1px solid var(--line);border-radius:11px;background:#fff}.metric strong{display:block;font-size:1.07rem}.metric span{font-size:.83rem;color:var(--muted)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:54px}.prose p{color:var(--muted)}.list-clean{list-style:none;margin:0;padding:0}.list-clean li{padding:11px 0;border-bottom:1px solid var(--line);font-size:.95rem}.list-clean li:first-child{padding-top:0}.small-project{padding:24px 0 0;border-top:1px solid var(--line)}.small-project p{color:var(--muted);max-width:760px}.credential-list{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}.credential{border:1px solid var(--line);background:var(--paper);border-radius:6px;padding:9px 11px;font-size:.85rem;font-weight:640}.contact-band{padding:52px 0;border-radius:var(--radius);background:var(--ink);color:#fff}.contact-band h2{margin-bottom:13px}.contact-band p{color:#d1dce5;max-width:650px}.contact-band .btn-primary{background:#fff;color:var(--ink)}.contact-band .btn-secondary{background:transparent;color:#fff;border-color:#547085}.site-footer{padding:31px 0;border-top:1px solid var(--line);background:#fff}.footer-inner{display:flex;gap:18px;justify-content:space-between;align-items:center}.footer-inner p{margin:0;font-size:.83rem;color:var(--muted)}.footer-links{display:flex;flex-wrap:wrap;gap:22px}.footer-links a{font-size:.84rem;color:var(--muted);text-decoration:none}.footer-links a:hover{text-decoration:underline}.breadcrumb{font-size:.84rem;color:var(--muted);padding-top:32px}.breadcrumb a{text-decoration:none;color:var(--muted)}.breadcrumb span{padding:0 9px;color:#91a0ad}.project-hero{padding:54px 0 55px}.project-hero h1{max-width:970px}.project-hero .lede{max-width:820px}.meta-row{display:flex;gap:12px 26px;flex-wrap:wrap;margin:23px 0 0;color:var(--muted);font-size:.86rem}.meta-row b{color:var(--ink)}.notice{background:#eaf3f5;border:1px solid #bdd7de;padding:17px 21px;border-radius:11px;color:#325264;font-size:.9rem;margin-top:24px}.content-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(240px,.72fr);gap:65px}.content-grid p{color:var(--muted)}.key-facts{background:#fff;border:1px solid var(--line);padding:24px;border-radius:12px}.key-facts h3{margin-bottom:14px}.key-facts dl{margin:0}.key-facts dt{font-weight:725;font-size:.79rem;padding-top:14px;border-top:1px solid var(--line);letter-spacing:.02em}.key-facts dd{font-size:.9rem;color:var(--muted);margin:2px 0 14px}.steps{list-style:none;padding:0;margin:25px 0 0;counter-reset:step}.steps li{counter-increment:step;display:grid;grid-template-columns:35px 1fr;gap:14px;padding:21px 0;border-bottom:1px solid var(--line)}.steps li:before{content:counter(step,decimal-leading-zero);font-size:.76rem;font-weight:770;letter-spacing:.09em;color:var(--accent);padding-top:5px}.steps strong{display:block;font-size:1rem;margin-bottom:5px}.steps p{color:var(--muted);font-size:.93rem;margin:0}.policy-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:28px}.policy{background:#fff;border:1px solid var(--line);border-radius:10px;padding:19px}.policy .risk{display:inline-block;color:var(--accent);text-transform:uppercase;letter-spacing:.08em;font-weight:800;font-size:.72rem;margin-bottom:14px}.policy h3{font-size:1.06rem;margin-bottom:7px}.policy p{color:var(--muted);font-size:.86rem;margin:0}.evidence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.evidence-card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.evidence-card.wide{grid-column:span 2}.evidence-picture{height:225px;background:#eef3f6;display:flex;align-items:center;justify-content:center;overflow:hidden;border-bottom:1px solid var(--line)}.evidence-picture img{width:100%;height:100%;object-fit:contain}.evidence-picture a{display:block;width:100%;height:100%}.evidence-picture a img{transition:transform .2s ease}.evidence-picture a:hover img{transform:scale(1.025)}.evidence-pair{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}.evidence-pair .evidence-picture{height:235px;border-bottom:0}.evidence-pair + .evidence-body{border-top:1px solid var(--line)}.evidence-body{padding:22px}.evidence-body h3{font-size:1.18rem}.evidence-body p{font-size:.91rem;color:var(--muted);margin-bottom:8px}.evidence-body .figure-num{font-size:.74rem;color:var(--accent);font-weight:750;letter-spacing:.08em;text-transform:uppercase;margin-bottom:7px}.evidence-body .view{font-size:.84rem;font-weight:650;display:inline-block;margin-top:6px}.integrity{background:#fff;border:1px solid var(--line);border-radius:12px;padding:28px}.integrity-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.integrity h3{font-size:1.03rem}.integrity li{font-size:.89rem;color:var(--muted);margin:0 0 10px}.report-action{margin:29px 0 0}.small-note{font-size:.83rem;color:var(--muted)}.pale{background:#eaf0f3}.max-text{max-width:780px}.mini-rule{height:1px;background:var(--line);margin:24px 0}
@media(max-width:850px){.hero-grid,.content-grid{grid-template-columns:1fr;gap:34px}.overview{max-width:620px}.feature{grid-template-columns:1fr}.feature-media{min-height:250px}.feature-copy{padding:29px}.policy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two-col{gap:28px}}@media(max-width:600px){body{font-size:15px}.container{width:min(calc(100% - 32px),var(--max))}.nav{min-height:68px;align-items:flex-start;flex-direction:column;padding:14px 0;gap:10px}.nav-links{gap:18px}.nav-links a{font-size:.83rem}.hero{padding:55px 0}.section{padding:49px 0}.project-hero{padding:39px 0}.two-col,.evidence-grid,.integrity-grid{grid-template-columns:1fr}.evidence-card.wide{grid-column:span 1}.metrics{grid-template-columns:1fr}.metric{padding:14px 18px}.policy-grid{grid-template-columns:1fr 1fr;gap:9px}.policy{padding:15px}.evidence-pair{grid-template-columns:1fr}.evidence-pair .evidence-picture{height:185px}.evidence-picture{height:195px}.evidence-body{padding:18px}.section-header{display:block}.footer-inner{align-items:flex-start;flex-direction:column}.contact-band{border-radius:0}.actions{gap:10px}.btn{padding:12px 15px}.overview{padding:22px}.key-facts{padding:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:0s!important;animation-duration:0s!important}}

/* Warm sand colour palette */

:root {
  --ink: #142538;
  --muted: #5f5850;
  --line: #dfcfbb;
  --paper: #f4ecdf;
  --white: #fffcf7;
  --accent: #165f72;
  --accent2: #eee2d2;
}

/* Warm ivory surfaces */
.site-header,
.site-footer,
.section-soft,
.overview,
.feature,
.metric,
.policy,
.evidence-card,
.integrity,
.key-facts,
.btn-secondary {
  background: var(--white);
}

/* Sand-toned screenshot frames */
.feature-media,
.evidence-picture,
.pale {
  background: #efe2d1;
}

.feature-media img {
  border-color: #dfcfbb;
}

/* Labels and secondary elements */
.chip {
  background: #f7efe4;
}

.btn-secondary:hover {
  border-color: #bda589;
}

.breadcrumb span {
  color: #887768;
}

/* Evidence boundary notice */
.notice {
  background: #f0e5d5;
  border-color: #d3bea3;
  color: #514538;
}

/* Maintain contrast in dark contact section */
.contact-band p {
  color: #eee4d8;
}

/* Final layout and accessibility refinements */

/* More compact homepage hero */
.hero {
  padding: 58px 0 48px;
}

.hero h1 {
  font-size: clamp(2.2rem, 4vw, 3.4rem);
  line-height: 1.12;
  margin-bottom: 16px;
}

.hero .lede {
  font-size: clamp(1.02rem, 1.5vw, 1.17rem);
  line-height: 1.56;
}

.hero .actions {
  margin-top: 22px;
}

/* Larger navigation touch targets */
.nav-links a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
}

/* Consistent warm palette */
.breadcrumb span {
  color: var(--muted);
}

.feature-media img {
  border-color: var(--line);
}

/* Mobile improvements */
@media (max-width: 600px) {
  .hero {
    padding: 42px 0;
  }

  .hero h1 {
    font-size: clamp(2.05rem, 7vw, 2.5rem);
  }

  .nav-links {
    gap: 4px 16px;
  }

  .policy-grid {
    grid-template-columns: 1fr;
  }
}


