*{box-sizing:border-box}
body{margin:0;font-family:system-ui,"Segoe UI",Roboto,"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px;line-height:1.62;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,h4{margin:0;line-height:1.1;letter-spacing:-.02em;font-weight:700}
p{margin:0 0 1.05em}
.wrap{max-width:1240px;margin:0 auto;padding:0 32px}
.mono{font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;text-transform:uppercase;letter-spacing:.06em}

/* ---- header ---- */
.site-header{border-bottom:1px solid var(--rule)}
.header-inner{max-width:1360px;margin:0 auto;padding:22px 32px;display:flex;align-items:center;gap:34px}
.header-logo{font-weight:700;font-size:23px;letter-spacing:-.03em;text-decoration:none;display:flex;align-items:center;gap:9px}
.header-logo .mark{width:26px;height:26px;flex:0 0 26px}
.header-nav{display:flex;gap:26px;margin-left:26px;flex-wrap:wrap}
.nav-link{font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;text-transform:uppercase;letter-spacing:.04em;font-size:13px;text-decoration:none;color:var(--ink);padding:6px 0;border-bottom:2px solid transparent}
.nav-link:hover{border-bottom-color:var(--mint)}
.header-actions{margin-left:auto;display:flex;gap:12px}
.btn{font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;text-transform:uppercase;letter-spacing:.04em;font-size:13px;padding:11px 20px;border:2px solid var(--rule-strong);border-radius:0;text-decoration:none;display:inline-block;background:transparent;color:var(--ink)}
.btn-solid{background:var(--mint)}
.btn-solid:hover{background:var(--mint-deep)}
.btn-ghost:hover{background:var(--mint-pale)}
.btn-light{border-color:var(--white);color:var(--white)}
.btn-light:hover{background:rgba(255,255,255,.14)}

/* ---- hero ---- */
.hero{padding:74px 0 82px}
.hero-split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.hero h1{font-size:64px;letter-spacing:-.035em}
.hero-lead{font-size:17px;color:var(--ink-soft);max-width:33em;margin-top:24px}
.hero-actions{display:flex;gap:26px;margin-top:34px;flex-wrap:wrap}
.hero-figure{background:var(--mint);padding:14px}
.hero-figure img{width:100%;height:474px;object-fit:cover}

/* ---- slate statement band ---- */
.band-slate{padding:56px 0}
.statement{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.statement h2{font-size:44px}
.statement p{font-size:16px;margin:0;color:rgba(255,255,255,.92)}

/* ---- capability grid ---- */
.cap-band{padding:0 0 74px}
.cap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:44px}
.cap-card{text-decoration:none;color:var(--ink);display:block}
.cap-label{background:var(--mint-pale);padding:16px 12px;text-align:center;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;text-transform:uppercase;letter-spacing:.05em;font-size:16px;color:var(--ink)}
.cap-img{width:100%;height:270px;object-fit:cover}
.cap-note{color:rgba(255,255,255,.82);font-size:14px;padding-top:12px;margin:0}

/* ---- testimonial row ---- */
.quote-band{padding:76px 0}
.quote-band h2{font-size:40px;text-align:center;margin-bottom:44px}
.quote-row{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}
.quote-card{border-left:3px solid var(--mint);padding-left:22px}
.quote-card p{font-size:15.5px;color:var(--ink-soft)}
.quote-who{font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;text-transform:uppercase;letter-spacing:.04em;font-size:12.5px;color:var(--ink);margin:0}

/* ---- stat band ---- */
.stat-band{padding:62px 0;text-align:center}
.stat-band .small{font-size:24px;font-weight:700;margin:0}
.stat-band .huge{font-size:58px;font-weight:700;letter-spacing:-.035em;margin:6px 0 10px}
.stat-band .tail{font-size:20px;margin:0;font-weight:500}

/* ---- accordion split ---- */
.sector-split{display:grid;grid-template-columns:1fr 1fr}
.sector-text{padding:96px 64px 96px 0}
.sector-text h2{font-size:44px;margin-bottom:22px}
.sector-text p{color:var(--ink-soft)}
.sector-list{background:var(--mint-wash);padding:78px 56px}
.sector-item{border-bottom:1.5px solid var(--slate-deep)}
.sector-item summary{list-style:none;cursor:pointer;padding:17px 2px;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;text-transform:uppercase;letter-spacing:.05em;font-size:16px;display:flex;justify-content:space-between;align-items:center}
.sector-item summary::-webkit-details-marker{display:none}
.sector-item summary::after{content:"+";font-size:21px;line-height:1}
.sector-item[open] summary::after{content:"–"}
.sector-item .body{border:1px solid rgba(58,66,109,.22);padding:14px 16px;margin:0 0 16px;font-size:14.5px;color:var(--ink-soft);background:rgba(255,255,255,.55)}

/* ---- parallax cta ---- */
.deep-cta{background-size:cover;background-position:center;position:relative}
.deep-cta::before{content:"";position:absolute;inset:0;background:rgba(58,66,109,.78)}
.deep-cta .inner{position:relative;padding:104px 0;color:var(--white);max-width:640px}
.deep-cta h2{font-size:42px;margin-bottom:18px}
.deep-cta p{color:rgba(255,255,255,.9)}

/* ---- process ---- */
.process-band{padding:80px 0}
.process-band h2{font-size:44px;text-align:center;margin-bottom:48px}
.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:38px}
.process-card{border:1px solid var(--rule-strong);padding:38px 30px;text-align:center;background:var(--white)}
.process-icon{width:96px;height:96px;border-radius:50%;background:var(--mint);margin:0 auto 26px;display:flex;align-items:center;justify-content:center}
.process-card h3{font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;text-transform:uppercase;letter-spacing:.05em;font-size:16px;font-weight:400;margin-bottom:16px}
.process-card p{font-size:15px;color:var(--ink-soft);margin:0}

/* ---- notices ---- */
.notice-band{padding:74px 0}
.notice-band h2{font-size:40px;margin-bottom:34px}
.notice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}
.notice{background:var(--white);border:1px solid var(--rule);padding:26px 24px}
.notice .date{font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;font-size:12px;letter-spacing:.05em;color:var(--ink-faint);display:block;margin-bottom:9px}
.notice h3{font-size:19px;margin-bottom:9px}
.notice p{font-size:14.5px;color:var(--ink-soft);margin:0}

/* ---- generic page pieces ---- */
.page-head{padding:66px 0 44px;border-bottom:1px solid var(--rule)}
.page-head h1{font-size:52px;max-width:16em}
.page-head .kicker{font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;text-transform:uppercase;letter-spacing:.08em;font-size:12.5px;color:var(--mint-deep);margin-bottom:16px}
.page-head .lead{font-size:17.5px;color:var(--ink-soft);max-width:44em;margin-top:20px}
.prose{padding:56px 0 72px;max-width:50em}
.prose h2{font-size:31px;margin:42px 0 15px}
.prose h3{font-size:20px;margin:30px 0 10px}
.prose ul,.prose ol{padding-left:22px;color:var(--ink-soft)}
.prose li{margin-bottom:8px}
.prose p{color:var(--ink-soft)}
.spec-table{width:100%;border-collapse:collapse;margin:26px 0;font-size:14.5px}
.spec-table th,.spec-table td{border:1px solid var(--rule);padding:11px 13px;text-align:left;vertical-align:top}
.spec-table th{background:var(--mint-wash);font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;text-transform:uppercase;letter-spacing:.04em;font-size:12.5px;font-weight:400}
.spec-table td{color:var(--ink-soft)}
.split-pair{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:start;padding:60px 0}
.split-pair img{width:100%;height:400px;object-fit:cover}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:16px 0 72px}
.gallery figure{margin:0}
.gallery img{width:100%;height:250px;object-fit:cover}
.gallery figcaption{font-size:13px;color:var(--ink-faint);padding-top:8px}
.enquiry{background:var(--paper);border:1px solid var(--rule);padding:34px 32px;max-width:44em}
.enquiry label{display:block;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;text-transform:uppercase;letter-spacing:.05em;font-size:12px;margin:16px 0 6px}
.enquiry input,.enquiry select,.enquiry textarea{width:100%;padding:10px 12px;border:1.5px solid var(--rule-strong);border-radius:0;font:inherit;font-size:15px;background:var(--white)}
.enquiry textarea{min-height:130px;resize:vertical}
.contact-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;padding:8px 0 40px}
.contact-cols h3{font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;text-transform:uppercase;letter-spacing:.05em;font-size:13px;font-weight:400;margin-bottom:10px}
.contact-cols p{font-size:15px;color:var(--ink-soft)}

/* ---- blog list ---- */
.blog-list{padding:52px 0 76px;display:grid;grid-template-columns:repeat(2,1fr);gap:34px}
.article-card{border:1px solid var(--rule);background:var(--white)}
.article-thumb{width:100%;height:210px;object-fit:cover}
.article-card .article-body{padding:22px 24px 26px;max-width:none;margin:0}
.article-meta{display:flex;gap:12px;align-items:center;margin-bottom:10px}
.article-cat{font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;text-transform:uppercase;letter-spacing:.05em;font-size:11.5px;background:var(--mint-pale);padding:3px 9px}
.article-date{font-size:12.5px;color:var(--ink-faint)}
.article-excerpt{font-size:15px;color:var(--ink-soft)}
.article-link{font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;text-transform:uppercase;letter-spacing:.05em;font-size:12.5px;text-decoration:none;border-bottom:2px solid var(--mint)}

/* ---- footer ---- */
.site-footer{padding:56px 0 30px;margin-top:0}
.footer-nav-inner{max-width:1240px;margin:0 auto;padding:0 32px;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:44px}
.footer-nav-inner h4{font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;text-transform:uppercase;letter-spacing:.05em;font-size:12.5px;font-weight:400;color:var(--mint);margin-bottom:14px}
.footer-nav-inner a{display:block;text-decoration:none;color:rgba(255,255,255,.86);font-size:14.5px;padding:4px 0}
.footer-nav-inner a:hover{color:var(--mint)}
.footer-nav-inner p{font-size:14.5px;color:rgba(255,255,255,.78)}
.footer-legal{max-width:1240px;margin:38px auto 0;padding:20px 32px 0;border-top:1px solid rgba(255,255,255,.18);display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;font-size:13px;color:rgba(255,255,255,.7)}
.footer-legal a{color:rgba(255,255,255,.7)}
/* WF article-page footer containers (kept simple on purpose) */
.footer-inner{max-width:900px;margin:0 auto;padding:24px 32px;text-align:center;font-size:14px;color:rgba(255,255,255,.82)}
.footer-bottom{max-width:900px;margin:0 auto;padding:0 32px 24px;text-align:center;font-size:12.5px;color:rgba(255,255,255,.66)}

@media(max-width:980px){
  .spec-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .spec-table th,.spec-table td{min-width:118px}
  .hero-split,.statement,.sector-split,.split-pair{grid-template-columns:1fr;gap:36px}
  .cap-grid,.quote-row,.process-grid,.notice-grid,.gallery,.contact-cols,.blog-list{grid-template-columns:1fr}
  .footer-nav-inner{grid-template-columns:1fr}
  .hero h1{font-size:42px}
  .page-head h1{font-size:36px}
  .statement h2,.sector-text h2,.process-band h2,.deep-cta h2{font-size:31px}
  .stat-band .huge{font-size:38px}
  .sector-text{padding:56px 0 30px}
  .sector-list{padding:40px 26px}
  .header-inner{flex-wrap:wrap;gap:16px}
  .header-nav{margin-left:0}
  .header-actions{margin-left:0}
  .wrap{padding:0 20px}
}
