:root{
  --brand-accent:#08783e;
  --brand-deep:#073d2b;
  --brand-soft:#e8f4ee;
  --layout-shell:min(1380px,calc(100% - 48px));
  --content-shell:min(1240px,calc(100% - 48px));
  --surface-radius:22px;
  --control-radius:9999px;
  --header-height:74px;
}

body[data-brand="mining"],body[data-preview-brand="mining"]{--brand-accent:#b47718;--brand-deep:#38270e;--brand-soft:#f7efe2}
body[data-brand="agriculture"],body[data-preview-brand="agriculture"]{--brand-accent:#5f8f27;--brand-deep:#274414;--brand-soft:#edf5df}
body[data-brand="tourism"],body[data-preview-brand="tourism"]{--brand-accent:#0f7f78;--brand-deep:#083f3c;--brand-soft:#e1f4f2}
body[data-brand="financial"],body[data-preview-brand="financial"]{--brand-accent:#245ca8;--brand-deep:#142f59;--brand-soft:#e5eef9}
body[data-brand="health"],body[data-preview-brand="health"]{--brand-accent:#b94a56;--brand-deep:#59212a;--brand-soft:#fae9eb}
body[data-brand="property"],body[data-preview-brand="property"]{--brand-accent:#8b5c3d;--brand-deep:#482e20;--brand-soft:#f3ebe5}

html{scroll-padding-top:92px}
body{padding-top:80px;background:#f6f8f6;color:#17231d;font-size:16px;line-height:1.5}
p{line-height:1.5}
h1,h2,h3,h4{line-height:1.2;text-wrap:balance}
button,a,input,select,textarea{transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}
:where(a,button,input,select,textarea):focus-visible{outline:3px solid color-mix(in srgb,var(--brand-accent) 75%,#fff);outline-offset:3px}
.header-shell,.gallery-shell{width:var(--layout-shell)}
.national-belt{position:fixed;z-index:1001;top:0;left:0;right:0;height:6px}

/* Compact fixed navigation */
.site-header{
  position:fixed;
  z-index:1000;
  top:6px;
  left:0;
  right:0;
  height:var(--header-height);
  padding:0;
  background:rgba(255,255,255,.97);
  border-bottom:1px solid #dfe5e0;
  box-shadow:0 8px 28px rgba(6,43,29,.08);
  backdrop-filter:blur(14px);
}
.site-header.is-compact{box-shadow:0 12px 34px rgba(6,43,29,.14)}
.compact-header{height:100%;display:flex;align-items:center;gap:24px}
.site-header .brand{display:flex;align-items:center;gap:11px;min-width:245px;max-width:285px}
.site-header .brand img,.site-header.is-compact .brand img{width:48px;height:48px;border-radius:14px;object-fit:contain}
.site-header .brand>span{display:grid;min-width:0;gap:2px;padding-left:11px;border-left:1px solid #dfe5e0}
.site-header .brand small{padding:0;border:0;color:var(--brand-accent);font:800 9px/1.1 "DM Sans",sans-serif;letter-spacing:.14em;text-transform:uppercase}
.site-header .brand b{overflow:hidden;color:#17231d;font:800 14px/1.2 Manrope,sans-serif;text-overflow:ellipsis;white-space:nowrap}
.site-header .primary-nav{position:static;display:block;flex:1;background:transparent;color:#17231d}
.site-header .nav-inner{width:auto;height:74px;display:flex;align-items:center;justify-content:center;gap:2px}
.site-header .primary-nav .nav-inner>a,
.site-header .primary-nav .dropdown-toggle{
  height:42px;
  padding:0 13px;
  border:0;
  border-radius:var(--control-radius);
  background:transparent;
  color:#33433b;
  font:700 12px "DM Sans",sans-serif;
}
.site-header .primary-nav .nav-inner>a::after,
.site-header .nav-dropdown>.dropdown-toggle::after{display:none}
.site-header .primary-nav .nav-inner>a:hover,
.site-header .primary-nav .nav-inner>a.is-active,
.site-header .nav-dropdown:hover>.dropdown-toggle,
.site-header .nav-dropdown:focus-within>.dropdown-toggle,
.site-header .nav-dropdown.is-active>.dropdown-toggle{
  background:var(--brand-soft);
  color:var(--brand-deep);
}
.nav-dropdown{position:relative}
.nav-dropdown>.dropdown-toggle span{margin-left:5px}
.site-header .dropdown-menu{
  top:58px;
  left:50%;
  width:min(900px,82vw);
  grid-template-columns:260px minmax(520px,1fr);
  overflow:hidden;
  padding:0;
  border:1px solid #dfe5e0;
  border-top:4px solid var(--brand-accent);
  border-radius:22px;
  box-shadow:0 28px 70px rgba(9,39,28,.2);
  transform:translate(-38%,10px);
}
.site-header .nav-dropdown:hover>.dropdown-menu,
.site-header .nav-dropdown:focus-within>.dropdown-menu,
.site-header .nav-dropdown.open>.dropdown-menu{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translate(-38%,0);
}
.site-header .dropdown-intro{padding:28px;background:var(--brand-deep)}
.site-header .dropdown-intro small{color:#dfe99c}
.site-header .dropdown-intro strong{margin:12px 0 24px;font-size:22px}
.site-header .dropdown-links{padding:12px}
.site-header .dropdown-links>a{
  grid-template-columns:28px 1fr;
  padding:13px 14px!important;
  border:0!important;
  border-radius:14px;
}
.site-header .dropdown-links>a:hover,.site-header .dropdown-links>a:focus-visible{background:var(--brand-soft);color:var(--brand-deep)}
.site-header .dropdown-links>a>b{color:var(--brand-accent)}
.site-header .dropdown-links small{line-height:1.35}
.site-header .nav-more .compact-dropdown{
  left:auto;
  right:0;
  width:500px;
  grid-template-columns:1fr;
  transform:translateY(10px);
}
.site-header .nav-more:hover>.compact-dropdown,
.site-header .nav-more:focus-within>.compact-dropdown,
.site-header .nav-more.open>.compact-dropdown{transform:none}
.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;white-space:nowrap}
.header-actions .header-search,.header-actions .portal-link,.header-actions .language-picker select,.menu-toggle{
  min-height:40px;
  border-radius:var(--control-radius);
}
.header-actions .header-search{gap:6px;padding:0 11px;border:1px solid #dfe5e0;color:#33433b}
.header-actions .header-search span{font-size:19px}
.header-actions .header-search b{font-size:11px}
.header-actions .portal-link{padding:0 16px;background:var(--brand-accent);color:#fff;font-size:11px}
.header-actions .portal-link:hover{background:var(--brand-deep);transform:translateY(-1px)}
.header-actions .language-picker{margin:0}
.header-actions .language-picker select{width:62px;padding:0 8px;border:1px solid #dfe5e0;background:#fff;color:#33433b;font-size:11px;font-weight:800}
.menu-toggle{border:1px solid #dfe5e0;background:#fff}

/* Restrained desktop canvas and type */
main{min-height:50vh}
.hero,.home-slider,.quick-contact,.page-content>section,.gal-albums-section,.album-detail-hero,.gal-filter-section,.gal-grid-section{
  width:var(--layout-shell);
  max-width:1440px!important;
  margin-inline:auto;
}
.hero{min-height:390px;border-radius:0 0 28px 28px}
.hero-copy{width:var(--content-shell);padding:64px 0 58px}
.hero h1{max-width:900px;margin:10px 0 17px;font-size:clamp(42px,5vw,68px);line-height:1.05}
.hero-copy>p:last-of-type{max-width:720px;font-size:17px;line-height:1.55}
.hero-home{height:clamp(520px,calc(100vh - 80px),650px);min-height:520px}
.hero-home .hero-copy{padding:76px 0}
.hero-home h1{max-width:940px;font-size:clamp(50px,6.3vw,82px)}
.hero-wash{background:linear-gradient(90deg,color-mix(in srgb,var(--brand-deep) 95%,transparent),color-mix(in srgb,var(--brand-deep) 70%,transparent) 52%,rgba(2,24,17,.24))}
.hero .eyebrow,.hero-breadcrumb a{color:#f2d655}
.hero-edge{width:150px;background:var(--brand-accent)}
.page-content{padding-top:22px}
.page-content>section{padding:64px clamp(28px,5vw,72px)}
.page-content>section+section{margin-top:22px}
.page-content>section:not(.home-slider):not(.live-strip){border-radius:var(--surface-radius);background:#fff}
.page-content h2{margin:10px 0 18px;font-size:clamp(32px,3.8vw,52px);line-height:1.15}
.page-content h3{font-size:20px;line-height:1.25}
.section-head{align-items:end;gap:40px;margin-bottom:30px}
.section-head>p{max-width:520px;margin-bottom:4px;color:#66726b}
.section-lead{max-width:780px;color:#4e5d55;font-size:18px}
.kicker{color:var(--brand-accent)}
.button,.portal-link,.text-link,.gal-tab,.gal-results-bar button,.gal-empty-state button,.album-back,
button[type="submit"],input[type="submit"]{
  border-radius:var(--control-radius);
}
.button,button[type="submit"],input[type="submit"]{min-height:46px;padding:12px 22px}
.button:hover,button[type="submit"]:hover,input[type="submit"]:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(7,43,29,.16)}
input:not([type="checkbox"]):not([type="radio"]),select,textarea{border-radius:14px}
.sector-card,.project-grid article,.two-cards article,.news-grid article,.programme-grid article,
.search-results-public>a,.opportunity-list article,.notice,.empty-state,.contact-form,
.image-sector-grid>a,.gallery-card{border-radius:var(--surface-radius);overflow:hidden}
.project-grid,.programme-grid,.operations-grid{gap:18px}

/* Distinct subsidiary microsites */
.page-mining .hero,.page-agriculture .hero,.page-tourism .hero,.page-financial .hero,.page-health .hero,.page-property .hero{background:var(--brand-deep)}
.sector-intro-grid,.subsidiary-overview{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:54px;align-items:center}
.sector-facts,.operations-summary{
  padding:28px;
  border:1px solid color-mix(in srgb,var(--brand-accent) 22%,#dfe5e0);
  border-radius:var(--surface-radius);
  background:var(--brand-soft);
}
.operations-summary{display:grid;gap:9px}
.operations-summary small{color:var(--brand-accent);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.operations-summary strong{font:800 25px/1.2 Manrope,sans-serif;color:var(--brand-deep)}
.operations-summary p{margin:3px 0 0;color:#55635c}
.subsidiary-operations{background:linear-gradient(145deg,#fff,var(--brand-soft))!important}
.operations-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.operations-grid article{
  min-height:235px;
  padding:29px;
  border:1px solid color-mix(in srgb,var(--brand-accent) 18%,#dfe5e0);
  border-radius:var(--surface-radius);
  background:#fff;
}
.operations-grid article:hover{transform:translateY(-5px);box-shadow:0 18px 40px color-mix(in srgb,var(--brand-accent) 14%,transparent)}
.operations-grid article>span{display:grid;width:38px;height:38px;place-items:center;border-radius:50%;background:var(--brand-soft);color:var(--brand-accent);font-size:11px;font-weight:800}
.operations-grid h3{margin:28px 0 10px;color:var(--brand-deep)}
.operations-grid p{margin:0;color:#66726b}
.subsidiary-value{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px;align-items:start;background:var(--brand-deep)!important;color:#fff}
.subsidiary-value h2{color:#fff}
.subsidiary-value .kicker{color:#f3d75a}
.value-points{display:grid}
.value-points p{display:grid;grid-template-columns:155px 1fr;gap:20px;margin:0;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.18)}
.value-points b{color:#fff}
.value-points span{color:#d7e1dc}
.programme-grid article,.project-grid article,.two-cards article{border-top:4px solid var(--brand-accent)}
.programme-grid article span,.project-grid b{color:var(--brand-accent)}
.sector-photo-grid img{border-radius:18px}

/* Homepage density */
.page-home .page-content{padding-top:18px}
.page-home .page-content>section{padding-top:58px;padding-bottom:58px}
.page-home .live-strip{overflow:hidden;padding:0!important;border-radius:20px}
.page-home .live-strip div{padding:23px}
.page-home .home-intro{padding-top:62px!important;padding-bottom:62px!important}
.page-home .image-sector-grid>a{height:310px}
.page-home .home-slider{overflow:hidden;padding:0!important;border-radius:var(--surface-radius)}
.page-home .slides,.page-home .slide img{height:540px}
.page-home .slide>div{padding:56px}
.page-home .slide h2{font-size:clamp(36px,4.2vw,54px)}

/* Collections, albums and photo detail */
.page-gallery .hero{min-height:330px}
.gal-albums-section,.album-detail-hero,.gal-filter-section,.gal-grid-section{padding:58px clamp(28px,5vw,72px)}
.gal-albums-section{margin-top:22px;border-radius:var(--surface-radius);background:#fff}
.gal-albums-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.gal-album-card{
  display:grid;
  min-width:0;
  overflow:hidden;
  border:1px solid #dfe5e0;
  border-radius:var(--surface-radius);
  background:#fff;
  color:#17231d;
  text-align:left;
}
.gal-album-card:hover{transform:translateY(-5px);border-color:var(--brand-accent);box-shadow:0 20px 46px rgba(6,43,29,.13)}
.gal-album-image{position:relative;height:220px;overflow:hidden;background:var(--brand-deep)}
.gal-album-image img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.gal-album-card:hover img{transform:scale(1.045)}
.gal-album-image b{position:absolute;right:14px;bottom:14px;padding:8px 12px;border-radius:9999px;background:rgba(7,35,25,.82);color:#fff;font-size:11px}
.gal-album-copy{display:grid;gap:8px;padding:22px}
.gal-album-copy small{color:var(--brand-accent);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.gal-album-copy strong{font:800 22px/1.2 Manrope,sans-serif}
.gal-album-copy em{min-height:48px;color:#66726b;font-style:normal;font-size:14px;line-height:1.5}
.gal-album-copy i{margin-top:8px;color:var(--brand-accent);font-style:normal;font-size:12px;font-weight:800}
.album-detail-hero{margin-top:22px;border-radius:var(--surface-radius);background:var(--brand-soft)}
.album-detail-grid{width:100%;display:grid;grid-template-columns:1fr minmax(340px,.7fr);gap:50px;align-items:center}
.album-detail-copy h2{margin:12px 0 17px;font:800 clamp(36px,4vw,55px)/1.12 Manrope,sans-serif}
.album-detail-copy>p{max-width:680px;color:#536159;font-size:17px}
.album-back{display:inline-flex;padding:10px 15px;background:#fff;color:var(--brand-deep);font-size:12px;font-weight:800}
.album-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.album-meta span,.photo-tags span,.photo-tags time{padding:7px 10px;border-radius:9999px;background:#fff;color:var(--brand-deep);font-size:10px;font-weight:800}
.album-detail-grid figure{height:310px;margin:0;overflow:hidden;border-radius:var(--surface-radius)}
.album-detail-grid img{width:100%;height:100%;object-fit:cover}
.gal-filter-section{position:relative;top:auto;z-index:auto;margin-top:22px;padding-bottom:0;border-radius:var(--surface-radius) var(--surface-radius) 0 0;background:#fff;backdrop-filter:none}
.gal-filter-heading{width:100%;display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:26px}
.gal-filter-heading h2{margin:8px 0 0;font:800 clamp(30px,3.5vw,46px)/1.15 Manrope,sans-serif}
.gal-filter-heading>p{max-width:460px;color:#66726b}
.gal-filter-inner{width:100%;gap:20px}
.gal-tabs{gap:8px}
.gal-tab{padding:10px 15px}
.gal-tab.is-active,.gal-tab:hover{background:var(--brand-accent);border-color:var(--brand-accent)}
.gal-search-wrap{min-width:250px;border-radius:9999px}
.gal-search-wrap input{border-radius:9999px}
.gal-results-bar{margin:22px calc(clamp(28px,5vw,72px) * -1) 0}
.gal-results-bar>div{width:100%}
.gal-grid-section{padding-top:28px;margin-bottom:22px;border-radius:0 0 var(--surface-radius) var(--surface-radius);background:#fff}
.gal-grid{grid-template-columns:repeat(3,1fr);gap:20px}
.gal-card{overflow:hidden;border:1px solid #dfe5e0;border-radius:var(--surface-radius);background:#fff}
.gal-card-button{height:270px;border-radius:var(--surface-radius) var(--surface-radius) 0 0}
.gal-card-info{padding:19px}
.gal-card-info h2{margin:12px 0 8px;font-size:18px;line-height:1.3}
.gal-card-info>p{margin:0;color:#66726b;font-size:13px}
.photo-tags{display:flex;flex-wrap:wrap;gap:6px}
.photo-tags span{background:var(--brand-soft);color:var(--brand-accent)}
.photo-tags time{background:#f1f3f1;color:#66726b}
.viewer-actions a,.viewer-actions button,.viewer-nav{border-radius:50%}
.quick-contact{overflow:hidden;margin-bottom:22px;padding:5px;gap:4px;border-radius:var(--surface-radius)}
.quick-contact a,.quick-contact a:first-child,.quick-contact a:last-child{border-radius:18px}

@media(max-width:1180px){
  :root{--layout-shell:min(100% - 34px,1100px);--content-shell:min(100% - 48px,1000px)}
  .site-header .brand{min-width:205px;max-width:230px}
  .site-header .brand b{font-size:12px}
  .header-actions .header-search b{display:none}
  .header-actions .portal-link{padding-inline:12px}
  .site-header .primary-nav .nav-inner>a,.site-header .primary-nav .dropdown-toggle{padding-inline:9px}
}

@media(max-width:1020px){
  :root{--header-height:70px}
  body{padding-top:76px}
  .compact-header{justify-content:space-between}
  .site-header .brand{max-width:60vw}
  .site-header .primary-nav{
    position:fixed;
    top:76px;
    left:17px;
    right:17px;
    bottom:16px;
    display:none;
    overflow:auto;
    padding:15px;
    border:1px solid #dfe5e0;
    border-radius:22px;
    background:#fff;
    box-shadow:0 25px 60px rgba(5,35,24,.2);
  }
  .site-header .primary-nav.open{display:block}
  .site-header .nav-inner{height:auto;display:grid;justify-content:stretch;gap:5px}
  .site-header .primary-nav .nav-inner>a,.site-header .primary-nav .dropdown-toggle{width:100%;height:46px;justify-content:space-between;padding:0 16px}
  .site-header .dropdown-menu,.site-header .nav-more .compact-dropdown{
    position:static;
    display:none;
    width:100%;
    grid-template-columns:1fr;
    margin:5px 0 10px;
    border:1px solid #dfe5e0;
    border-radius:18px;
    box-shadow:none;
    opacity:1;
    visibility:visible;
    transform:none!important;
  }
  .site-header .nav-dropdown:hover>.dropdown-menu{display:none}
  .site-header .nav-dropdown.open>.dropdown-menu{display:grid;pointer-events:auto}
  .site-header .dropdown-intro{display:none}
  .site-header .dropdown-links{grid-template-columns:1fr 1fr}
  .menu-toggle{display:grid}
  .header-actions .portal-link{display:none}
  .operations-grid,.gal-albums-grid,.gal-grid{grid-template-columns:repeat(2,1fr)}
  .sector-intro-grid,.subsidiary-overview{grid-template-columns:1fr;gap:28px}
  .subsidiary-value{grid-template-columns:1fr;gap:25px}
  .album-detail-grid{grid-template-columns:1fr}
  .album-detail-grid figure{height:280px}
  .page-home .slides{height:680px}
  .page-home .slide{grid-template-columns:1fr}
  .page-home .slide img{height:300px}
  .page-home .slide>div{padding:38px 42px 70px}
}

@media(max-width:680px){
  :root{--layout-shell:calc(100% - 20px);--content-shell:calc(100% - 36px)}
  body{font-size:15px}
  .site-header .brand{min-width:0;max-width:calc(100vw - 172px)}
  .site-header .brand img{width:43px;height:43px}
  .site-header .brand b{font-size:11px}
  .header-actions .header-search{display:none}
  .header-actions .language-picker select{width:55px}
  .site-header .dropdown-links{grid-template-columns:1fr}
  .hero{min-height:360px;border-radius:0 0 22px 22px}
  .hero-home{height:auto;min-height:520px}
  .hero-copy,.hero-home .hero-copy{padding:60px 0}
  .hero h1,.hero-home h1{font-size:clamp(39px,12vw,56px)}
  .hero-copy>p:last-of-type{font-size:15px}
  .page-content>section,.gal-albums-section,.album-detail-hero,.gal-filter-section,.gal-grid-section{padding:44px 20px}
  .page-content>section+section{margin-top:14px}
  .page-content h2{font-size:32px}
  .section-head,.gal-filter-heading{display:grid;gap:12px}
  .operations-grid,.gal-albums-grid,.gal-grid{grid-template-columns:1fr}
  .operations-grid article{min-height:auto}
  .value-points p{grid-template-columns:1fr;gap:4px}
  .page-home .page-content>section{padding-top:44px;padding-bottom:44px}
  .page-home .live-strip{grid-template-columns:1fr 1fr}
  .page-home .image-sector-grid{grid-template-columns:1fr}
  .page-home .image-sector-grid>a{height:280px}
  .page-home .slides{height:640px}
  .page-home .slide img{height:250px}
  .page-home .slide>div{padding:30px 24px 70px}
  .page-home .slide h2{font-size:33px}
  .gal-album-image{height:210px}
  .album-detail-grid{gap:26px}
  .album-detail-grid figure{height:230px}
  .gal-filter-inner{display:grid}
  .gal-search-wrap{min-width:0;width:100%}
  .gal-results-bar{margin:18px -20px 0}
  .gal-grid-section{padding-top:22px}
  .gal-card-button{height:250px}
  .quick-contact a,.quick-contact a:first-child,.quick-contact a:last-child{border-radius:16px}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
