/* Embo Sotho Resources | source-led HTML prototype | flat brand colours only */
:root{--forest:#23644c;--deep:#153d30;--ochre:#b38a3e;--ink:#1c2723;--muted:#64716a;--stone:#f5f3ec;--line:#d8ddd7;--white:#fff;--max:1300px;--gutter:clamp(24px,4.861vw,70px);--sans:Inter,Arial,Helvetica,sans-serif;--serif:Georgia,'Times New Roman',serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;font-family:var(--sans);color:var(--ink);background:#fff;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}a:hover{color:var(--forest)}img{display:block;max-width:100%;height:auto}figure{margin:0}p{margin:0 0 20px;color:var(--muted)}p:last-child{margin-bottom:0}h1,h2,h3,h4{font-weight:400;margin:0;color:var(--ink)}h1,h2,h3{font-family:var(--serif);letter-spacing:-.035em}h1{font-size:clamp(42px,4.45vw,64px);line-height:1.1}h2{font-size:clamp(34px,3.34vw,48px);line-height:1.14}h3{font-size:32px;line-height:1.2}h4{font:600 16px/1.4 var(--sans)}strong{font-weight:600}ul,ol{margin:0;padding:0;list-style:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--ochre);outline-offset:5px}button:disabled{cursor:not-allowed;opacity:.6}a:not(.btn):hover{text-decoration-thickness:1px}::selection{background:#e8dfc9;color:var(--ink)}[hidden]{display:none!important}.wrap{width:calc(100% - var(--gutter)*2);max-width:var(--max);margin-inline:auto}.section{padding:70px 0}.stone{background:var(--stone)}.eyebrow{display:block;font-size:10px;font-weight:700;letter-spacing:1.9px;line-height:1.6;text-transform:uppercase;color:var(--forest);margin-bottom:20px}.eyebrow.gold{color:var(--ochre)}.intro{font-size:18px;line-height:1.65}.caption,figcaption{font-size:11px;line-height:1.5;color:var(--muted);margin-top:10px}.caption a{text-decoration:underline}.rule-note{font-size:12px;line-height:1.65;border-left:2px solid var(--ochre);padding-left:16px;margin-top:28px;color:var(--muted)}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:60px;margin-bottom:38px}.section-head>div{max-width:770px}.section-head>p{max-width:460px;font-size:15px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.actions{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:52px;padding:14px 23px;background:var(--forest);color:#fff;font-size:13px;font-weight:600;line-height:1.5;border:1px solid var(--forest);border-radius:1px;transition:background .18s,color .18s,border-color .18s}.btn:hover{background:var(--deep);border-color:var(--deep);color:#fff}.btn.outline{background:transparent;color:var(--ink);border-color:#8c9791}.btn.outline:hover{border-color:var(--forest);color:var(--forest);background:#f4f7f5}.btn.white{background:#fff;border-color:#fff;color:var(--forest)}.btn.white:hover{background:var(--stone);border-color:var(--stone)}.text-link{display:inline-flex;align-items:center;gap:22px;font-size:13px;font-weight:600;line-height:1.6;color:var(--forest);padding:9px 0;border-bottom:1px solid var(--ochre)}.text-link:hover{color:var(--deep);gap:27px}.arrow{width:19px;height:19px;flex-shrink:0}.icon{display:inline-block;width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;color:var(--ochre);flex-shrink:0}.skip-link{position:fixed;top:0;left:16px;transform:translateY(-150%);z-index:100;padding:12px 20px;background:var(--deep);color:#fff}.skip-link:focus{transform:translateY(0)}
/* Header and accessible navigation */
.site-header{height:100px;border-bottom:1px solid var(--line);position:relative;z-index:30;background:#fff}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:inline-flex;align-items:center;flex-shrink:0}.brand img{width:210px;height:72px;object-fit:contain;object-position:left center}.site-nav{display:flex;align-items:center;gap:24px;margin-left:auto}.nav-group{position:relative;display:flex;align-items:center}.nav-link{font-size:11px;line-height:1.4;white-space:nowrap;padding:18px 0;position:relative}.nav-link.active{color:var(--forest)}.nav-link.active:after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--ochre)}.nav-toggle{border:0;background:none;color:var(--forest);padding:8px 2px 8px 6px;font-size:10px}.nav-dropdown{position:absolute;top:100%;left:-22px;min-width:246px;border:1px solid var(--line);background:#fff;padding:12px;z-index:40}.nav-dropdown a{display:block;font-size:13px;padding:10px 12px;line-height:1.5}.nav-dropdown a:hover,.nav-dropdown a:focus-visible{background:var(--stone)}.header-cta{min-height:44px;font-size:11px;padding:12px 16px;gap:22px}.menu-button{display:none;background:none;border:1px solid var(--line);width:44px;height:44px;align-items:center;justify-content:center;color:var(--forest)}.menu-button svg{width:22px;height:22px}.breadcrumbs{padding:24px 0;font-size:11px;color:var(--muted);display:flex;gap:14px;align-items:center}.breadcrumbs a:hover{text-decoration:underline}.breadcrumbs span.sep{color:#8a948e}
/* Home: geometry follows the 1440px v3 reference */
.home-hero{display:grid;grid-template-columns:1fr 1fr;min-height:655px;background:var(--stone)}.home-hero-copy{padding:62px 54px 40px max(var(--gutter),calc((100vw - 1300px)/2));align-self:center}.home-hero h1{font-size:72px;line-height:1.075;letter-spacing:-3px;margin:0 0 36px;max-width:535px}.home-hero .intro{font-size:18px;max-width:565px}.home-hero .eyebrow{margin-bottom:20px}.home-hero-media{display:flex;flex-direction:column;min-width:0}.home-hero-media>img{height:566px;width:100%;object-fit:cover}.image-caption-panel{min-height:89px;background:var(--deep);color:#fff;display:flex;align-items:center;gap:34px;padding:17px 24px}.image-caption-panel h3{font-size:24px;letter-spacing:0;color:#fff;line-height:1.2}.image-caption-panel p{font-size:10px;line-height:1.5;color:#d6e1da;max-width:200px}.sector-nav{border-bottom:1px solid var(--line);background:#fff}.sector-nav-inner{display:grid;grid-template-columns:repeat(5,1fr);min-height:84px;align-items:center}.sector-nav a{display:flex;align-items:center;gap:16px;min-height:30px;font-size:12px;font-weight:500;border-right:1px solid var(--line);padding:0 30px}.sector-nav a:first-child{padding-left:0}.sector-nav a:last-child{border-right:0}.sector-nav .icon{width:26px;height:26px}.sector-nav a.active{color:var(--forest);font-weight:700}.home-model{min-height:480px;padding:68px 0 66px}.home-model .two-col{align-items:start;gap:90px}.home-model h2{font-size:48px}.stages{display:grid;grid-template-columns:repeat(5,1fr);margin-top:42px;border-top:1px solid var(--line)}.stage{padding:25px 24px 0 0;position:relative}.stage:before{content:'';width:5px;height:5px;background:var(--ochre);position:absolute;top:-3px;left:0}.stage .num{font-size:10px;color:#926c24;letter-spacing:1px;margin-bottom:10px;display:block}.stage h4{margin-bottom:8px;font-size:14px}.stage p{font-size:12px;line-height:1.6}.home-origins{min-height:560px;padding:62px 0}.home-origins .two-col{grid-template-columns:420px 1fr;gap:70px}.origin-photo{width:360px;max-width:100%;margin:auto}.origin-photo img{width:100%;height:auto}.home-origins h2{margin-bottom:25px;max-width:650px}.home-origins p{font-size:16px}.home-businesses{min-height:520px;padding:65px 0}.business-pair{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.business-panel{position:relative;padding:32px 50px 32px 65px;border-right:1px solid var(--line)}.business-panel:last-child{border-right:0;padding-left:100px}.business-panel>.icon{position:absolute;top:42px;left:0}.business-panel:last-child>.icon{left:45px}.business-panel .eyebrow{margin-bottom:5px}.business-panel h3{margin-bottom:16px;font-size:36px}.business-panel p{font-size:15px}.cta-band{background:var(--forest);min-height:195px;padding:40px 0;color:#fff;display:flex;align-items:center}.cta-band .wrap{display:flex;align-items:center;justify-content:space-between;gap:48px}.cta-band .eyebrow{color:#cfe0d6;margin-bottom:8px}.cta-band h2{font-size:40px;color:#fff;margin-bottom:12px}.cta-band p{font-size:13px;color:#e0ebe4}.site-footer{min-height:119px;border-top:1px solid var(--line);padding:24px 0;background:#fff}.footer-inner{min-height:70px;display:flex;align-items:center;gap:35px}.footer-brand img{width:190px;height:64px;object-fit:contain}.footer-tagline{font-size:10px;color:var(--muted);border-left:1px solid var(--line);padding-left:35px}.footer-links{margin-left:auto;display:flex;align-items:center;gap:22px;font-size:10px}.footer-links a:hover{text-decoration:underline}
/* Authentic-history About page */
.about-intro{padding:0 0 58px;min-height:976px}.about-heading{display:grid;grid-template-columns:1.13fr .87fr;align-items:center;gap:80px;margin:12px 0 52px}.about-heading h1{font-size:62px}.about-heading p{font-size:16px}.story-feature{display:grid;grid-template-columns:69% 31%;background:var(--stone)}.story-feature>img{width:100%;height:100%;object-fit:cover;aspect-ratio:1.5}.story-feature-copy{padding:74px 34px 34px}.story-feature-copy .year{font-family:var(--serif);font-size:48px;letter-spacing:10px;color:var(--ochre);display:block;margin-bottom:24px}.story-feature-copy h2{font-size:38px;margin-bottom:24px}.story-feature-copy p{font-size:14px}.recognition{min-height:661px;padding:66px 0}.recognition .two-col{grid-template-columns:1.12fr .88fr;gap:100px}.recognition h2{font-size:50px;margin-bottom:25px}.recognition p{font-size:15px}.recognition .origin-photo{width:380px}.mini-timeline{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);gap:22px;margin-top:40px;padding-top:20px}.mini-timeline span{font-size:9px;letter-spacing:1.2px;color:#926c24;text-transform:uppercase}.mini-timeline h4{font-size:12px;margin:7px 0}.mini-timeline p{font-size:12px}.people-story{min-height:658px;padding:68px 0}.people-story .two-col{gap:72px}.people-story figure img{aspect-ratio:4/3;object-fit:cover;width:100%}.people-story h2{margin-bottom:28px;font-size:50px}.people-story p{font-size:15px}.principle{padding:30px 0;min-height:115px;border-top:1px solid var(--line)}.principle .wrap{display:grid;grid-template-columns:170px 1fr;gap:40px;align-items:center}.principle .eyebrow{margin:0}.principle p{font-size:14px}
/* Moyalanga / business pages */
.business-hero{min-height:659px;padding:0 0 52px}.business-hero-grid{display:grid;grid-template-columns:.94fr 1.06fr;align-items:center;gap:64px;margin-top:20px}.business-hero h1{font-size:64px;margin-bottom:30px}.business-hero .intro{font-size:18px}.business-hero figure img{aspect-ratio:4/3;object-fit:cover;width:100%}.energy-priorities{min-height:507px;padding:68px 0}.line-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.line-card{padding:30px 40px;border-right:1px solid var(--line)}.line-card:first-child{padding-left:0}.line-card:last-child{border:0}.line-card>.icon{margin-bottom:26px}.line-card h3{font-size:29px;margin-bottom:20px}.line-card p{font-size:15px}.energy-integration{min-height:509px;padding:72px 0}.energy-integration h2{margin-bottom:30px}.energy-integration p{font-size:16px}.system-diagram{border:1px solid var(--line);padding:35px 40px}.system-flow{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:20px 0 34px}.system-node{text-align:center;width:100px;font-size:11px;line-height:1.4}.system-node .icon{display:block;margin:0 auto 18px;color:var(--forest)}.system-flow>.arrow{margin-top:30px;color:var(--ochre)}.system-outputs{display:flex;justify-content:space-between;gap:8px;border-top:1px solid var(--line);padding:22px 0}.system-outputs span{padding:10px;background:var(--stone);font-size:10px}.system-diagram .caption{font-size:10px}.energy-roots{min-height:422px;padding:65px 0}.energy-roots h2{margin-bottom:28px}.story-mini{background:#fff;display:grid;grid-template-columns:38% 62%;gap:0;padding:24px}.story-mini img{height:206px;width:100%;object-fit:cover}.story-mini>div{padding:4px 8px 4px 24px}.story-mini h3{font-size:25px;margin:8px 0 14px}.story-mini .eyebrow{font-size:9px;margin-bottom:5px}.story-mini p{font-size:12px}.story-mini .text-link{font-size:11px}
/* Sector and service reference layouts */
.sector-hero{display:grid;grid-template-columns:42% 58%;background:var(--stone);min-height:555px}.sector-hero-copy{padding:22px 42px 46px max(var(--gutter),calc((100vw - 1300px)/2))}.sector-hero-copy .breadcrumbs{padding:0 0 28px}.sector-hero h1{font-size:58px;line-height:1.08;margin-bottom:24px}.sector-hero p{font-size:17px}.sector-hero .eyebrow{margin-bottom:17px}.sector-hero-media{position:relative;min-height:555px;overflow:hidden}.sector-hero-media>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.sector-hero-media .photo-label{position:absolute;right:0;bottom:0;background:var(--deep);color:#fff;padding:20px 26px;font-size:11px;max-width:280px;line-height:1.5}.feature-strip{padding:32px 0;border-bottom:1px solid var(--line)}.features{display:grid;grid-template-columns:repeat(5,1fr)}.feature{border-right:1px solid var(--line);padding:0 26px;display:flex;align-items:flex-start;gap:16px}.feature:first-child{padding-left:0}.feature:last-child{border-right:0;padding-right:0}.feature h4{font-size:14px;margin-bottom:10px}.feature p{font-size:12px}.feature .icon{width:30px;height:30px}.overview-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:55px;align-items:start}.overview-grid h2{margin-bottom:25px}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.product-card{background:#fff;border:1px solid var(--line)}.product-card img{width:100%;aspect-ratio:1.5;object-fit:cover}.product-card>div{padding:24px}.product-card h3{font-size:25px;margin:10px 0 16px}.product-card p{font-size:13px}.product-card .eyebrow{font-size:9px;margin:0}.product-card .text-link{font-size:12px}.compact-list{border-top:1px solid var(--line)}.compact-list>div{display:grid;grid-template-columns:48px 1fr;gap:18px;padding:22px 0;border-bottom:1px solid var(--line)}.compact-list h4{margin-bottom:5px}.compact-list p{font-size:13px}.compact-list .number{width:34px;height:34px;border:1px solid var(--ochre);border-radius:50%;font-size:12px;color:#86631f;display:flex;align-items:center;justify-content:center}.purpose-band{background:var(--deep);color:#fff;padding:36px 0}.purpose-band .wrap{display:flex;align-items:center;gap:60px;justify-content:space-between}.purpose-band h2{font-size:36px;color:#fff}.purpose-band .eyebrow{color:#d6dfd8;margin-bottom:10px}.purpose-points{display:flex;align-items:center;gap:32px}.purpose-points>div{display:flex;align-items:center;gap:14px;max-width:160px;font-size:13px;line-height:1.5}.purpose-points .icon{width:34px;height:34px}.service-stages{padding:45px 0;background:var(--stone)}.service-stages .wrap{display:grid;grid-template-columns:330px 1fr;gap:45px}.service-stages .stages{margin-top:20px}.service-stages h2{font-size:42px}.service-features{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service-feature{padding:28px;background:var(--stone)}.service-feature .icon{margin-bottom:22px}.service-feature h4{margin-bottom:15px}.service-feature p{font-size:14px}.faq{max-width:1000px}.faq details{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;padding:22px 44px 22px 0;list-style:none;font-size:17px;font-weight:500;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';position:absolute;right:10px;top:16px;font-size:28px;color:var(--forest);font-weight:400}.faq details[open] summary:after{content:'-'} .faq details>div{padding:0 48px 25px 0}.faq p{font-size:15px}.image-panel img{width:100%;aspect-ratio:1.5;object-fit:cover}.image-panel .caption{margin-bottom:0}.process-steps{display:grid;grid-template-columns:repeat(6,1fr);gap:0;border-top:1px solid var(--line);margin-top:34px}.process-step{padding:26px 24px;border-right:1px solid var(--line)}.process-step:first-child{padding-left:0}.process-step:last-child{border:0}.process-step .eyebrow{color:#8b6928}.process-step h3{font-family:var(--sans);font-size:18px;letter-spacing:0;font-weight:500;margin-bottom:12px}.process-step p{font-size:13px}
/* Index pages, cards and project examples */
.page-intro{padding:25px 0 64px}.page-intro .eyebrow{margin-top:12px}.page-intro h1{max-width:850px;margin-bottom:28px}.page-intro p{max-width:720px;font-size:18px}.sector-row{display:grid;grid-template-columns:70px 1fr 380px;align-items:center;gap:40px;padding:42px 0;border-top:1px solid var(--line)}.sector-row .row-num{font-size:18px;color:#8b6928;font-family:var(--serif);align-self:start}.sector-row h2{font-size:42px;margin-bottom:18px}.sector-row p{max-width:620px}.sector-row img{aspect-ratio:1.6;object-fit:cover;width:100%}.business-large{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px;padding:64px 0;border-top:1px solid var(--line)}.business-large img{width:100%;aspect-ratio:1.6;object-fit:cover}.business-large h2{margin-bottom:25px}.business-large.reverse>figure{order:2}.filter-toolbar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px}.filter-button{border:1px solid var(--line);background:white;padding:10px 20px;min-height:44px;color:var(--ink);font-size:13px}.filter-button[aria-pressed=true]{background:var(--forest);color:white;border-color:var(--forest)}.status-tag{display:inline-block;font-size:10px;line-height:1.6;font-weight:600;letter-spacing:.8px;text-transform:uppercase;color:#526057;background:var(--stone);padding:5px 9px}.notice{padding:20px 24px;border-left:3px solid var(--ochre);background:var(--stone);margin:20px 0 32px;font-size:14px;color:var(--muted)}.notice strong{color:var(--ink)}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.project-card{border:1px solid var(--line);background:#fff}.project-card figure{position:relative}.project-card img{aspect-ratio:1.65;width:100%;object-fit:cover}.project-card .status-tag{position:absolute;bottom:14px;left:16px}.project-card-body{padding:28px}.project-card h3{font-size:29px;margin:14px 0 18px}.project-card p{font-size:14px}.project-card dl{font-size:12px;margin:24px 0}.project-card dt{font-weight:600;float:left;width:105px}.project-card dd{margin:0 0 10px 105px;color:var(--muted)}.result-count{font-size:12px;color:var(--muted);margin-bottom:20px}.partner-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line)}.partner-card{padding:38px 28px;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}.partner-card:nth-child(3n){border-right:0}.partner-card .icon{margin-bottom:23px}.partner-card h3{font-size:29px;margin-bottom:18px}.partner-card p{font-size:14px}.data-table{width:100%;border-collapse:collapse;margin:30px 0;font-size:14px}.data-table th{text-align:left;font-weight:600;color:var(--ink);background:var(--stone);padding:18px 22px;border-bottom:1px solid var(--line)}.data-table td{padding:20px 22px;border-bottom:1px solid var(--line);vertical-align:top;color:var(--muted)}.data-table td:first-child{font-weight:500;color:var(--ink)}.table-scroll{overflow-x:auto}.statement{border-top:1px solid var(--line);padding-top:32px;font:36px/1.3 var(--serif);letter-spacing:-.025em;color:var(--forest)}.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.article-card img{width:100%;aspect-ratio:1.55;object-fit:cover}.article-card .eyebrow{margin:22px 0 12px;font-size:10px}.article-card h3{font-size:31px;margin-bottom:16px}.article-card p{font-size:14px}.article-card:hover h3{color:var(--forest)}.article-layout{display:grid;grid-template-columns:240px minmax(0,780px);gap:80px;justify-content:center}.article-aside{font-size:13px;border-top:1px solid var(--line);padding-top:22px;align-self:start}.article-aside a{display:block;padding:8px 0;color:var(--forest)}.article-body h2{font-size:38px;margin:42px 0 22px}.article-body h3{font-size:29px;margin:32px 0 18px}.article-body p{font-size:17px}.article-body ul{list-style:disc;margin:20px 0 28px 22px;color:var(--muted)}.article-body li{margin-bottom:12px}.article-hero img{width:100%;aspect-ratio:2.8;object-fit:cover}.article-intro{padding-top:28px}.reading-meta{font-size:12px;color:var(--muted);margin-top:22px}.text-page{max-width:900px;margin:0 auto}.text-page h2{font-size:32px;margin:38px 0 18px}.text-page h3{font-size:24px;margin:24px 0 12px}.text-page ul{list-style:disc;padding-left:22px;color:var(--muted)}.text-page li{margin-bottom:8px}
/* Enquiry forms - local prototype, no remote submission */
.contact-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:75px}.contact-sidebar{background:var(--stone);padding:36px;align-self:start}.contact-sidebar h3{font-size:32px;margin-bottom:22px}.contact-sidebar .icon{margin-bottom:20px}.contact-sidebar p{font-size:14px}.contact-route{display:block;border-top:1px solid var(--line);padding:18px 0;font-size:14px;color:var(--forest)}.contact-route strong{display:block}.contact-route span{font-size:12px;color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.field{display:flex;flex-direction:column;gap:8px}.field.full{grid-column:1/-1}.field label{font-size:13px;font-weight:600;color:var(--ink)}.field input,.field select,.field textarea{width:100%;border:1px solid #9da8a1;background:#fff;color:var(--ink);border-radius:1px;padding:13px 14px;min-height:48px;font-size:15px}.field input::placeholder,.field textarea::placeholder{color:#7a857e}.field textarea{min-height:145px;resize:vertical}.field small{font-size:11px;color:var(--muted)}.field input:user-invalid,.field select:user-invalid,.field textarea:user-invalid{border-color:#a33131}.form-step-title{font-size:26px;font-family:var(--serif);border-top:1px solid var(--line);padding-top:24px;margin:36px 0 22px}.form-step-title:first-of-type{border:0;padding:0;margin-top:0}.check-field{display:flex;align-items:flex-start;gap:12px;margin:24px 0;font-size:13px;color:var(--muted)}.check-field input{width:18px;height:18px;min-width:18px;margin-top:3px;accent-color:var(--forest)}.check-field a{text-decoration:underline;color:var(--forest)}.form-actions{display:flex;flex-wrap:wrap;gap:15px;align-items:center;margin-top:25px}.form-note{font-size:12px;margin-top:18px}.form-confirmation{padding:28px;background:var(--stone);border:1px solid var(--line);margin-top:28px}.form-confirmation h3{font-size:30px;margin-bottom:12px}.form-confirmation dl{display:grid;grid-template-columns:160px 1fr;gap:12px;font-size:14px;margin:25px 0}.form-confirmation dt{font-weight:600}.form-confirmation dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted)}.form-confirmation .btn{margin-right:12px;margin-bottom:10px}.prototype-mini{font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-top:12px;margin-top:20px}.search-form{display:flex;gap:12px;margin:28px 0}.search-form input{flex:1;min-width:0;padding:15px;border:1px solid #9da8a1}.search-results article{padding:24px 0;border-bottom:1px solid var(--line)}.search-results h2{font-size:30px;margin:6px 0 12px}.search-results p{font-size:15px}.search-results small{color:#72602e}.map-links{columns:3;column-gap:40px;margin-top:30px}.map-links a{display:block;break-inside:avoid;padding:14px 0;border-bottom:1px solid var(--line);font-size:14px}.muted{color:var(--muted)}
/* Responsive adjustments: no fixed viewport sizes and no hidden content */
@media(min-width:1600px){.home-hero{grid-template-columns:1fr 1fr}.home-hero-copy{padding-right:80px}.home-hero h1{max-width:650px}.home-hero-media>img{height:600px}.home-hero{min-height:689px}.sector-hero{min-height:620px}.sector-hero-media{min-height:620px}}
@media(max-width:1200px){.site-nav{gap:16px}.header-inner{gap:20px}.nav-link{font-size:10px}.brand img{width:190px}.header-cta{gap:10px}.home-hero h1{font-size:62px}.home-hero-copy{padding-right:36px}.home-hero-media>img{height:566px}.home-origins .two-col{grid-template-columns:350px 1fr;gap:55px}.about-heading{gap:45px}.story-feature-copy{padding:40px 26px}.story-feature-copy h2{font-size:33px}.business-hero h1{font-size:53px}.business-hero-grid{gap:40px}.sector-hero h1{font-size:49px}.sector-nav a{padding:0 18px;font-size:11px;gap:10px}.features{gap:0}.feature{padding:0 16px;gap:10px}.feature .icon{width:24px}.feature h4{font-size:13px}.feature p{font-size:11px}.purpose-points{gap:20px}.purpose-band .wrap{gap:30px}.service-stages .wrap{grid-template-columns:270px 1fr;gap:25px}.service-stages h2{font-size:36px}.two-col{gap:45px}.process-step{padding:24px 16px}.overview-grid{grid-template-columns:.75fr 1.25fr;gap:35px}.product-card>div{padding:18px}.product-card h3{font-size:23px}.contact-layout{gap:45px}.sector-row{grid-template-columns:50px 1fr 320px;gap:25px}}
@media(max-width:1020px){.site-header{height:84px}.brand img{width:190px;height:62px}.menu-button{display:flex;margin-left:auto}.site-nav{display:none;position:absolute;top:83px;left:0;right:0;max-height:calc(100dvh - 83px);overflow:auto;background:#fff;padding:20px var(--gutter) 30px;border-bottom:1px solid var(--line);margin:0;align-items:stretch}.site-nav.is-open{display:flex;flex-direction:column;gap:0}.nav-group{flex-wrap:wrap;border-bottom:1px solid var(--line);justify-content:space-between}.nav-link{font-size:15px;padding:17px 0;flex:1}.nav-link.active:after{display:none}.nav-toggle{padding:12px;min-width:44px;font-size:12px}.nav-dropdown{position:static;flex-basis:100%;border:0;border-top:1px solid var(--line);padding:10px 10px 16px;min-width:0}.header-cta{margin-top:20px;font-size:14px}.home-hero h1{font-size:56px}.home-hero .intro{font-size:16px}.home-hero-copy{padding-top:45px;padding-bottom:45px}.home-hero .btn{padding-inline:16px;font-size:12px}.home-hero .actions{gap:14px}.home-hero .text-link{font-size:12px}.home-origins .two-col{grid-template-columns:.7fr 1fr;gap:45px}.home-model .two-col{gap:45px}.home-model h2{font-size:42px}.recognition .two-col{gap:50px}.recognition h2,.people-story h2{font-size:44px}.story-feature-copy h2{font-size:29px}.story-feature-copy p{font-size:12px}.story-feature-copy .year{font-size:38px;margin-bottom:16px}.story-feature{grid-template-columns:65% 35%}.about-heading h1{font-size:52px}.business-hero h1{font-size:48px}.line-card{padding:25px}.line-card h3{font-size:26px}.system-diagram{padding:28px}.story-mini{padding:18px}.story-mini>div{padding-left:16px}.story-mini h3{font-size:23px}.sector-hero{grid-template-columns:48% 52%}.sector-hero-copy{padding-right:32px}.sector-hero h1{font-size:45px}.sector-hero p{font-size:15px}.features{grid-template-columns:repeat(3,1fr);gap:30px}.feature{border:0;padding:0}.service-stages .wrap{grid-template-columns:1fr}.service-stages .stages{margin:10px 0}.overview-grid{grid-template-columns:1fr}.overview-grid>div:first-child{max-width:730px}.purpose-band .wrap{flex-direction:column;align-items:flex-start}.purpose-points{gap:40px}.partner-grid{grid-template-columns:repeat(2,1fr)}.partner-card:nth-child(3n){border-right:1px solid var(--line)}.partner-card:nth-child(2n){border-right:0}.contact-layout{grid-template-columns:1fr}.contact-sidebar{max-width:none}.process-steps{grid-template-columns:repeat(3,1fr)}.process-step:nth-child(3n){border-right:0}.process-step:nth-child(n+4){border-top:1px solid var(--line)}.process-step:nth-child(4){padding-left:0}.service-features{grid-template-columns:1fr 1fr}.footer-tagline{display:none}.footer-inner{gap:25px}.sector-row{grid-template-columns:40px 1fr 260px}.article-layout{grid-template-columns:180px minmax(0,1fr);gap:40px}}
@media(max-width:760px){:root{--gutter:24px}.section{padding:48px 0}h1{font-size:43px}h2{font-size:35px}h3{font-size:28px}.eyebrow{font-size:9px;letter-spacing:1.4px;margin-bottom:16px}.section-head{display:block;margin-bottom:28px}.section-head>p{margin-top:22px;max-width:none}.two-col{grid-template-columns:1fr;gap:32px}.btn{min-height:48px;padding:13px 17px;font-size:12px;gap:18px}.intro{font-size:16px}.breadcrumbs{padding:20px 0;font-size:10px;gap:10px;flex-wrap:wrap}.home-hero{display:flex;flex-direction:column;min-height:0}.home-hero-copy{padding:43px var(--gutter) 42px}.home-hero h1{font-size:52px;line-height:1.08;letter-spacing:-2px;margin-bottom:26px}.home-hero .intro{max-width:550px}.home-hero .actions{margin-top:25px}.home-hero-media>img{height:auto;aspect-ratio:1.5;object-position:center 48%;width:100%}.image-caption-panel{min-height:82px;padding:18px 24px;gap:25px}.image-caption-panel h3{font-size:23px}.image-caption-panel p{font-size:10px}.sector-nav-inner{display:flex;overflow:auto;min-height:76px;scrollbar-width:thin}.sector-nav a{padding:0 20px;white-space:nowrap;min-height:34px;flex-shrink:0;font-size:12px}.sector-nav a:first-child{padding-left:0}.sector-nav .icon{width:23px;height:23px}.home-model{padding:48px 0;min-height:0}.home-model .two-col{grid-template-columns:1fr;gap:25px}.home-model h2{font-size:37px}.stages{grid-template-columns:1fr;border-top:0;margin-top:30px}.stage{padding:20px 0 20px 44px;border-top:1px solid var(--line)}.stage:before{display:none}.stage .num{position:absolute;left:0;top:24px;margin:0}.stage h4{font-size:15px;margin-bottom:6px}.stage p{font-size:13px;max-width:440px}.home-origins{padding:46px 0;min-height:0}.home-origins .two-col{grid-template-columns:1fr;gap:34px}.origin-photo{width:100%;max-width:360px}.home-origins h2{font-size:38px}.home-origins p{font-size:15px}.home-origins .origin-photo{order:0}.home-businesses{min-height:0;padding:46px 0}.business-pair{grid-template-columns:1fr}.business-panel,.business-panel:last-child{padding:30px 0 30px 50px;border-right:0;border-bottom:1px solid var(--line)}.business-panel:last-child{border-bottom:0}.business-panel>.icon,.business-panel:last-child>.icon{left:0;top:38px;width:28px}.business-panel h3{font-size:32px}.business-panel p{font-size:14px}.cta-band{min-height:0;padding:36px 0}.cta-band .wrap{display:block}.cta-band h2{font-size:34px}.cta-band .btn{margin-top:26px}.cta-band p{font-size:13px}.site-footer{padding:25px 0;min-height:0}.footer-inner{display:block}.footer-brand img{width:172px;height:56px}.footer-links{margin-top:25px;gap:20px;flex-wrap:wrap;font-size:11px}.about-intro{min-height:0;padding-bottom:40px}.about-heading{grid-template-columns:1fr;gap:26px;margin:15px 0 32px}.about-heading h1{font-size:43px}.about-heading p{font-size:15px}.story-feature{grid-template-columns:1fr}.story-feature>img{aspect-ratio:1.5;height:auto}.story-feature-copy{padding:28px}.story-feature-copy h2{font-size:34px}.story-feature-copy p{font-size:14px}.story-feature-copy .year{font-size:36px;margin-bottom:18px}.recognition{min-height:0;padding:46px 0}.recognition .two-col{grid-template-columns:1fr;gap:35px}.recognition h2{font-size:38px}.recognition .origin-photo{max-width:340px}.mini-timeline{gap:15px;margin-top:30px}.mini-timeline h4{font-size:11px}.mini-timeline p{font-size:11px}.mini-timeline span{font-size:8px}.people-story{min-height:0;padding:46px 0}.people-story .two-col{gap:35px}.people-story h2{font-size:38px}.people-story p{font-size:15px}.principle{min-height:0;padding:28px 0}.principle .wrap{display:block}.principle .eyebrow{margin-bottom:16px}.principle p{font-size:13px}.business-hero{min-height:0;padding-bottom:40px}.business-hero-grid{grid-template-columns:1fr;gap:35px;margin-top:22px}.business-hero h1{font-size:43px;margin-bottom:24px}.business-hero .intro{font-size:16px}.energy-priorities{min-height:0;padding:46px 0}.line-grid{grid-template-columns:1fr}.line-card,.line-card:first-child,.line-card:last-child{padding:25px 0;border:0;border-bottom:1px solid var(--line)}.line-card:last-child{border:0}.line-card>.icon{margin-bottom:16px}.line-card h3{font-size:29px;margin-bottom:12px}.line-card p{font-size:14px}.energy-integration{min-height:0;padding:46px 0}.energy-integration h2{font-size:37px;margin-bottom:24px}.energy-integration p{font-size:15px}.system-diagram{padding:25px 20px}.system-flow{gap:4px}.system-node{font-size:10px;width:80px}.system-outputs span{font-size:9px;padding:8px}.energy-roots{min-height:0;padding:46px 0}.energy-roots h2{font-size:36px}.energy-roots p{font-size:15px}.story-mini{padding:18px;grid-template-columns:35% 65%}.story-mini h3{font-size:25px}.story-mini p{font-size:12px}.story-mini img{height:220px}.sector-hero{display:flex;flex-direction:column;min-height:0}.sector-hero-copy{padding:20px var(--gutter) 34px}.sector-hero-copy .breadcrumbs{padding-bottom:28px}.sector-hero h1{font-size:44px}.sector-hero p{font-size:16px}.sector-hero-media{min-height:300px;height:300px}.sector-hero-media .photo-label{font-size:10px;padding:12px 18px;max-width:240px}.feature-strip{padding:28px 0}.features{grid-template-columns:1fr 1fr;gap:25px 20px}.feature{display:block}.feature .icon{margin-bottom:10px}.feature h4{font-size:14px}.feature p{font-size:12px}.overview-grid{grid-template-columns:1fr;gap:30px}.overview-grid h2{font-size:37px}.product-grid{grid-template-columns:1fr}.product-card{display:grid;grid-template-columns:38% 62%}.product-card img{height:100%;min-height:240px;aspect-ratio:auto}.product-card>div{padding:20px}.product-card h3{font-size:27px}.product-card p{font-size:13px}.purpose-band{padding:30px 0}.purpose-band .wrap{gap:28px}.purpose-band h2{font-size:33px}.purpose-points{display:grid;grid-template-columns:1fr 1fr;gap:25px}.purpose-points>div{font-size:12px;max-width:none}.service-stages{padding:38px 0}.service-stages .wrap{gap:18px}.service-stages h2{font-size:37px}.service-features{grid-template-columns:1fr}.service-feature{padding:25px}.service-feature .icon{margin-bottom:15px}.service-feature p{font-size:14px}.faq summary{font-size:15px}.faq details>div{padding-right:10px}.process-steps{grid-template-columns:1fr 1fr}.process-step,.process-step:first-child,.process-step:nth-child(4){padding:23px 20px 23px 0;border-right:0;border-top:1px solid var(--line)}.process-step:nth-child(even){padding-left:20px;border-left:1px solid var(--line)}.process-step h3{font-size:17px}.process-step p{font-size:12px}.page-intro{padding:18px 0 38px}.page-intro h1{font-size:43px}.page-intro p{font-size:16px}.sector-row{grid-template-columns:28px 1fr;gap:18px;padding:30px 0}.sector-row img{grid-column:2}.sector-row h2{font-size:35px}.sector-row p{font-size:15px}.business-large{grid-template-columns:1fr;gap:28px;padding:40px 0}.business-large.reverse>figure{order:0}.business-large h2{font-size:38px}.card-grid{grid-template-columns:1fr}.project-card-body{padding:24px}.project-card h3{font-size:31px}.partner-grid{grid-template-columns:1fr}.partner-card,.partner-card:nth-child(3n){padding:28px 0;border-right:0}.data-table{min-width:560px;font-size:13px}.data-table td,.data-table th{padding:15px}.article-grid{grid-template-columns:1fr;gap:38px}.article-card h3{font-size:31px}.article-layout{grid-template-columns:1fr;gap:25px}.article-aside{font-size:12px}.article-aside a{display:inline-block;margin-right:14px}.article-body h2{font-size:33px}.article-body p{font-size:16px}.article-hero img{aspect-ratio:1.65}.contact-sidebar{padding:28px}.contact-layout{gap:35px}.form-grid{grid-template-columns:1fr;gap:22px}.field.full{grid-column:auto}.form-confirmation dl{grid-template-columns:1fr;gap:6px}.form-confirmation dd{margin-bottom:12px}.form-confirmation{padding:24px}.form-step-title{font-size:25px}.map-links{columns:1}.text-page h2{font-size:30px}.text-page p{font-size:15px}.statement{font-size:29px}.search-form{flex-direction:column}.search-form .btn{align-self:flex-start}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media print{.site-header,.site-footer,.cta-band,.actions,.filter-toolbar,.menu-button,.form-actions{display:none!important}body{font-size:11pt}.wrap{width:100%}.section{padding:20px 0}h1{font-size:30pt}h2{font-size:23pt}img{max-height:300px;object-fit:contain}.home-hero,.sector-hero{display:block}.home-hero-copy,.sector-hero-copy{padding:20px}.home-hero-media,.sector-hero-media{display:none}.two-col,.business-hero-grid{gap:20px}.stone{background:white}.notice{border:1px solid #aaa}.form-grid{display:block}.field{margin-bottom:15px}a{color:#000}.caption{font-size:9pt}.section,.story-feature,.project-card{break-inside:avoid}}

/* Final desktop optical alignment to the three approved v3 page references. */
@media(min-width:1201px){.about-intro{padding-bottom:49px}.energy-priorities h2{font-size:44px}.energy-integration{padding:60px 0}.energy-roots{padding:58px 0}.energy-roots h2{font-size:44px}.energy-roots p{font-size:15px}}
/* Keep intrinsic image/diagram widths from expanding narrow-screen grid columns. */
.two-col>* ,.business-hero-grid>* ,.about-heading>* ,.overview-grid>* ,.card-grid>* ,.product-grid>* ,.contact-layout>*{min-width:0}
.project-card .status-tag{max-width:calc(100% - 32px)}
@media(max-width:760px){.recognition .origin-photo{width:100%;max-width:340px}.system-node{min-width:0}.system-outputs span{overflow-wrap:break-word}.mini-timeline>*{min-width:0}}
@media(min-width:761px) and (max-width:1020px){.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v1.2 circular minerals: editorial modules and responsive product development. */
.circular-module h2{margin-bottom:26px;max-width:660px}
.cm-lead{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.cm-copy p{font-size:16px;line-height:1.7}
.cm-copy .text-link{margin-top:5px}
.cm-photo img{width:100%;aspect-ratio:1.42;object-fit:cover}
.cm-editorial{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}
.cm-steps{display:grid;grid-template-columns:repeat(var(--cm-count,3),minmax(0,1fr));gap:0;border-top:1px solid var(--line);margin-top:40px}
.cm-step{padding:28px 25px 0 0;min-width:0}
.cm-step:not(:first-child){padding-left:25px;border-left:1px solid var(--line)}
.cm-number{display:block;color:#806020;font-size:11px;letter-spacing:1.8px;margin-bottom:16px}
.cm-step h3{font-family:var(--sans);font-size:17px;font-weight:600;letter-spacing:0;margin-bottom:12px;line-height:1.4}
.cm-step p{font-size:14px;line-height:1.65}
.cm-material-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:42px}
.cm-material-card{background:#fff;border:1px solid var(--line);min-width:0}
.cm-material-card img{width:100%;aspect-ratio:2.2;object-fit:cover}
.cm-material-card>div{padding:26px 30px 30px}
.cm-material-card .eyebrow{font-size:9px;margin-bottom:14px}
.cm-material-card h3{font-size:31px;margin-bottom:16px}
.cm-material-card p{font-size:15px}
.cm-faq{margin-top:24px}
.cm-project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.cm-project-grid img{aspect-ratio:2.1}
.cm-project-grid .eyebrow{font-size:10px;margin-bottom:10px}
.cm-project-grid h3{margin-top:0}
.cm-evidence-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin-top:36px;border-top:1px solid var(--line)}
.cm-evidence-grid article{padding:26px 22px 0 0}
.cm-evidence-grid article+article{padding-left:22px;border-left:1px solid var(--line)}
.cm-evidence-grid h3{font:600 16px/1.45 var(--sans);letter-spacing:0;margin-bottom:12px}
.cm-evidence-grid p{font-size:13px;line-height:1.65}
.optional{font-size:11px;font-weight:400;color:var(--muted)}
.story-gallery{display:grid;gap:64px;max-width:1060px}
.story-gallery figure{display:grid;grid-template-columns:1.1fr 1fr;gap:50px;align-items:center;padding-bottom:50px;border-bottom:1px solid var(--line)}
.story-gallery img{width:100%;max-height:520px;object-fit:contain;background:var(--stone)}
.story-gallery h2{font-size:36px;margin-bottom:20px}
.story-gallery p{font-size:16px}
.article-body section:first-child h2{margin-top:0}
.contact-sidebar .contact-route:last-child{padding-bottom:0}
@media(max-width:1100px){.cm-lead,.cm-editorial{gap:36px}.cm-evidence-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.cm-evidence-grid article+article{border-left:0;padding-left:0}.cm-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.cm-step{padding:22px 20px 0 0}.cm-step:nth-child(odd){padding-left:0;border-left:0}.cm-material-card h3{font-size:28px}}
@media(max-width:760px){.cm-lead,.cm-editorial{grid-template-columns:1fr;gap:28px}.circular-module h2{margin-bottom:22px}.cm-copy p{font-size:16px}.cm-photo img{aspect-ratio:1.5}.cm-material-grid,.cm-project-grid{grid-template-columns:1fr}.cm-material-card>div{padding:24px}.cm-evidence-grid{grid-template-columns:1fr 1fr}.story-gallery figure{grid-template-columns:1fr;gap:24px}.story-gallery{gap:40px}.story-gallery img{max-height:none}}
@media(max-width:440px){.cm-steps{grid-template-columns:1fr;gap:0}.cm-step,.cm-step:not(:first-child){padding:22px 0;border-left:0;border-bottom:1px solid var(--line)}.cm-number{margin-bottom:9px}.cm-evidence-grid{grid-template-columns:1fr;gap:0}.cm-evidence-grid article,.cm-evidence-grid article+article{padding:22px 0;border:0;border-bottom:1px solid var(--line)}}

