@font-face{font-family:Rooftop;src:url("assets/RooftopBook.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Rooftop;src:url("assets/RooftopBookMedium.woff2") format("woff2");font-weight:500 800;font-display:swap}
:root{--ink:#111;--green:#41bd86;--surface:#f4f5f6;--radius:21px;--gap:12px;--side:clamp(16px,1.56vw,32px);font-family:Rooftop,Arial,sans-serif;color:var(--ink);background:var(--surface)}
*{box-sizing:border-box}
body{margin:0}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit;color:inherit}
button{cursor:pointer}
button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:2px solid #197953;outline-offset:3px}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-weight:500}
h1,h2,h3,.tag{text-transform:uppercase}
img{display:block;width:100%;height:100%;object-fit:cover}
[hidden]{display:none!important}
.wrap{padding-inline:var(--side)}
.top-stage{isolation:isolate;position:relative}
.hero{min-height:clamp(332px,27vw,495px);padding-top:clamp(20px,1.35vw,32px);padding-bottom:28px;display:flex;flex-direction:column;justify-content:space-between;gap:34px}
.hero-copy{padding-inline:clamp(8px,1.5vw,30px)}
.hero h1{font-size:clamp(52px,5.8vw,115px);line-height:1.05;letter-spacing:-.025em}
.hero-copy>p{font-size:clamp(19px,2.22vw,42px);margin-top:12px;line-height:1.16}
.hero-right{margin-left:auto;width:48%;display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3.4vw,70px);padding-right:4.2%;padding-bottom:8px;align-items:start}
.fact strong{font-size:clamp(45px,4.2vw,78px);line-height:1;font-weight:500}
.fact p{font-size:clamp(13px,1vw,18px);line-height:1.2;margin-top:10px;max-width:245px}
.hero-actions>div{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}
.hero-outline{height:clamp(55px,5.1vw,95px);border:1px solid;border-radius:19px;display:flex;align-items:center;justify-content:center;gap:9px;text-align:center;font-size:14px}
.hero-outline:hover{background:#ffffffa6}
.pill{min-height:39px;padding:9px 18px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:#fff;text-align:center;font-size:13px;line-height:1.15}
.pill:hover{background:#e6e8e9}
.pill.green{background:var(--green);color:#0a271b}
.pill.green:hover{background:#34a975}
.site-header{display:flex;gap:13px;align-items:center;position:sticky;top:0;z-index:5;padding-block:7px}
.logo{display:flex;align-items:center;flex:none;width:158px;height:51px}
.logo img{display:block;width:100%;height:auto}
.nav-bar{position:relative;display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:51px;padding:5px 7px 5px 18px;border-radius:999px;background:#ffffffc9;backdrop-filter:blur(16px)}
.nav-bar nav,.nav-tools,.footer nav{display:flex;align-items:center;gap:clamp(13px,1.8vw,38px);font-size:13px}
.nav-bar nav>a,.nav-drop>a{white-space:nowrap}
.nav-bar nav a:hover,.nav-bar nav [aria-current]{color:#187c51}
.nav-tools{gap:6px}
.nav-drop{position:relative}
.nav-drop>a{display:block;padding-block:12px}
.drop-panel{display:none;position:absolute;top:100%;left:-10px;min-width:220px;padding:8px;border-radius:16px;background:#fff;box-shadow:0 12px 35px #1b25221e}
.nav-drop:hover .drop-panel,.nav-drop:focus-within .drop-panel{display:grid}
.drop-panel a{padding:10px;border-radius:10px}
.drop-panel a:hover{background:var(--surface)}
.icon{width:39px;height:39px;border:0;border-radius:50%;background:#fff;display:inline-grid;place-items:center;flex:none}
.inside .nav-tools .icon,.contact-icon{background:var(--surface)}
.icon:hover,.widget:hover .arrow,.sector:hover .arrow{background:var(--green)}
svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}
.widgets{display:grid;grid-template-columns:1fr 1fr 2.04fr;gap:var(--gap);margin-top:6px}
.widget,.feature{min-height:clamp(204px,17.4vw,310px);position:relative;overflow:hidden;border-radius:var(--radius)}
.widget{padding:clamp(16px,1.55vw,30px)}
.widget h2{font-size:clamp(17px,1.55vw,30px);line-height:1.15;max-width:14ch}
.globe{color:#fff}
.globe .arrow,.sector>.arrow{position:absolute;bottom:7px;right:7px;color:var(--ink)}
.quick{background:linear-gradient(125deg,#4ac995,#0aab66);color:#08271b;padding-top:12px}
.tag{font-size:9px;letter-spacing:.08em;font-weight:500}
.quick .tag{background:#fff;border-radius:30px;display:inline-block;padding:5px 8px;color:#166343}
.quick ul{list-style:none;padding:0;margin:14px 0 0}
.quick li+li{border-top:1px solid #fff6}
.quick li a{display:grid;grid-template-columns:25px 1fr 17px;align-items:center;padding:clamp(7px,1vw,18px) 2px;font-size:clamp(12px,1.17vw,23px)}
.quick li a:hover{text-decoration:underline}
.quick li span{font-size:.8em}
.feature{display:grid;grid-template-columns:1fr 1fr;gap:10px;background:#ffffffc4;padding:7px}
.feature-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:7px;padding:6px 12px;position:relative}
.feature h2{font-size:clamp(15px,1.42vw,26px);text-transform:none;line-height:1.12;margin-top:auto}
.feature p{font-size:clamp(12px,1.05vw,20px);line-height:1.25;color:#444;margin-bottom:auto}
.feature-img{display:block;border-radius:15px;overflow:hidden;min-height:0}
.catalogue-preview{padding-block:clamp(44px,4.2vw,80px) clamp(44px,6vw,90px)}
.filters{display:flex;gap:3px;align-items:center;width:max-content;max-width:100%;overflow:auto;border-radius:999px;padding:4px;background:#fff9;margin-bottom:28px}
.filters button{background:none;border:0;padding:9px 16px;border-radius:999px;white-space:nowrap;font-size:13px}
.filters button[aria-pressed=true]{background:#fff;box-shadow:0 1px 5px #0001}
.catalogue-preview>h2,.activity h2,.page-head h1{font-size:clamp(30px,3.1vw,68px);line-height:1.1;letter-spacing:-.02em}
.catalogue-preview>h2{margin:0 0 17px 17px}
.listing,.sector-grid{display:grid;gap:var(--gap)}
.listing{grid-template-columns:repeat(3,minmax(0,1fr))}
.sector-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:var(--gap)}
.sector{display:block;position:relative;overflow:hidden;isolation:isolate;border-radius:var(--radius);min-height:clamp(255px,26vw,490px);background:#aab0ba}
.sector img{position:absolute;inset:0;z-index:-1;object-position:60% center}
.sector-copy{position:absolute;bottom:7px;left:7px;display:flex;flex-direction:column;justify-content:space-between;gap:18px;width:45%;min-width:min(230px,calc(100% - 60px));min-height:66%;border-radius:16px;padding:13px;background:linear-gradient(150deg,#e5e7edf2,#f9fafcf0)}
.sector h3{font-size:clamp(17px,1.58vw,29px);line-height:1.13}
.sector p{font-size:13px;line-height:1.25}
.activity{padding:clamp(45px,7vw,120px) 0;background:linear-gradient(100deg,#151a22d9,#202a2f93),url("assets/sector-building-1200.webp") center/cover;color:white}
.activity h2{max-width:14ch}
.activity-top>p{margin-top:15px;font-size:clamp(16px,1.6vw,28px)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap);margin:40px 0 18px}
.steps article{border-radius:var(--radius);padding:20px;background:#181a2080;border:1px solid #fff5;backdrop-filter:blur(10px);display:grid;gap:10px;min-height:143px}
.steps article span{margin-top:auto;color:#c9d2ce}
.activity .pill{color:#111;margin-right:6px}
.inside .site-header{padding-bottom:12px;background:#f4f5f6ef}
.page-head{min-height:clamp(240px,20vw,410px);border-radius:var(--radius);background:white;display:flex;flex-direction:column;padding:7px 19px 21px;gap:15px}
.crumbs{display:flex;align-items:center;gap:11px;font-size:12px;color:#65696b;margin-bottom:auto}
.crumbs a{color:var(--ink)}
.crumbs .pill{background:var(--surface);margin-left:-12px}
.page-head>p{max-width:390px;color:#555b5e;font-size:14px;line-height:1.28}
.content-panel{margin-top:var(--gap);padding:clamp(23px,4vw,70px);border-radius:var(--radius);background:white}
.content-panel h2{font-size:clamp(24px,2.6vw,52px)}
.content-panel p{max-width:620px;margin:12px 0 20px;line-height:1.4}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);margin-top:var(--gap)}
.detail-grid>img{border-radius:var(--radius);aspect-ratio:3/2;height:auto}
.detail-grid>.content-panel{margin:0}
.footer{margin-top:clamp(35px,5vw,80px);padding-bottom:18px}
.footer-top,.footer-end{background:#fff;padding:17px 19px;display:flex;align-items:center;gap:17px;border-radius:var(--radius)}
.footer-top{justify-content:space-between;flex-wrap:wrap}
.footer-end{justify-content:space-between;margin-top:6px;font-size:12px;color:#585d5c}
.footer-contacts{display:flex;flex-wrap:wrap;gap:16px 24px;margin-top:6px;padding:17px 19px;background:#fff;border-radius:var(--radius);font-style:normal}
.footer-contacts>div{flex:1 1 180px;min-width:0}
.footer-contacts span{display:block;margin-bottom:5px;font-size:11px;color:#585d5c}
.footer-contacts [data-contact]{font-size:14px;white-space:pre-line;overflow-wrap:anywhere}
.footer-contacts a:hover{text-decoration:underline;text-underline-offset:3px}
.footer nav{flex-wrap:wrap}
dialog{max-width:min(92vw,600px);width:100%;max-height:85vh;border:0;border-radius:var(--radius);background:white;color:var(--ink);padding:22px;box-shadow:0 20px 80px #0004}
dialog::backdrop{background:#191e2066;backdrop-filter:blur(6px)}
.dialog-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}
.dialog-top h2{font-size:24px}
.dialog-top .icon,.menu-grid .icon{background:var(--surface)}
.dialog-top button{font-size:23px}
input,select,textarea{width:100%;padding:12px 14px;background:var(--surface);border:1px solid #dde1e0;border-radius:12px}
textarea{resize:vertical}
.search-results{padding:0;list-style:none;margin-bottom:0}
.search-results li+li{border-top:1px solid #ddd}
.search-results a,.menu-grid>a{display:flex;align-items:center;justify-content:space-between;padding:12px 5px}
.search-results a:hover,.menu-grid>a:hover,.footer a:hover{color:#187c51}
.request-form{display:grid;grid-template-columns:1fr 1fr;gap:15px;max-width:750px}
.request-form label{display:grid;gap:6px;font-size:14px}
.wide{grid-column:1/-1}
.request-form .form-note{margin:10px 0 0;color:#555b5e;font-size:13px}
@media(max-width:920px){
 .hero-right{width:57%;padding-right:0}
 .widgets{grid-template-columns:1fr 1fr}
 .feature{grid-column:1/-1}
 .listing{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:690px){
 .hero{min-height:0;padding-top:24px;gap:24px}
 .hero h1{font-size:clamp(34px,8.1vw,56px)}
 .hero-right{width:100%;gap:12px;padding-inline:8px}
 .hero-actions>div{margin-top:9px;gap:6px}
 .hero-actions .pill{padding-inline:8px}
 .nav-bar{justify-content:flex-end}
 .nav-bar nav{display:none}
 .site-header{gap:8px}
 .site-header .logo{width:128px;height:45px}
 .nav-bar{height:45px;min-height:45px}
 .nav-bar{width:100%}
 .nav-tools .icon{width:34px;height:34px}
 .widgets{gap:8px}
 .widget{padding:12px;min-height:170px}
 .widget h2{font-size:16px}
 .quick li a{grid-template-columns:21px 1fr 12px}
 .listing,.sector-grid,.detail-grid,.steps,.request-form{grid-template-columns:1fr}
 .footer nav{order:1;width:100%}
 .filters button{padding-inline:11px}
 .sector{min-height:265px}
 .page-head{min-height:225px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important}}
.nav-bar nav{gap:clamp(10px,1.42vw,30px)}
.nav-bar .compact-nav{display:none}
.portal-section{margin-block:clamp(42px,6vw,100px)}
.section-title{display:flex;justify-content:space-between;align-items:end;gap:16px;margin:0 0 16px;padding-inline:clamp(0px,1.3vw,20px)}
.section-title h2,.inner-section>h2{font-size:clamp(27px,3.1vw,68px);line-height:1.1;letter-spacing:-.02em}
.section-title .pill{flex:none}
.jump{display:flex;flex-wrap:wrap;gap:7px;margin-block:var(--gap)}
.jump .pill{background:#e9ecee}
.jump .pill:hover{background:#dcefe6}
.content-panel .pill+.pill{margin-left:6px}
.inner-section{margin-top:var(--gap);padding-block:18px 5px}
.inner-section>h2,.inner-section>p{margin:0 0 14px clamp(0px,1.3vw,20px)}
.inner-section>p{color:#505655}
.note-grid,.story-grid,.partner-grid{display:grid;gap:var(--gap)}
.note-grid,.story-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.note-grid{margin-block:14px 20px}
.note-grid article,.story,.partner-card{padding:18px;background:#fff;border-radius:var(--radius);overflow:hidden;min-width:0}
.content-panel .note-grid article{background:var(--surface)}
.note-grid h3,.story h3,.partner-card h3{font-size:clamp(16px,1.6vw,24px);line-height:1.18}
.note-grid p,.story p,.partner-card p{font-size:14px;line-height:1.4;margin:9px 0 14px}
.note-grid .tag,.partner-card .tag,.story .tag{display:block;color:#38594b;margin-bottom:9px}
.story{padding:7px;display:flex;flex-direction:column}
.story>img{aspect-ratio:2/1;height:auto;border-radius:15px}
.illustration{position:relative;margin:0;overflow:hidden;border-radius:15px;background:#10242c}
.illustration figcaption{position:absolute;right:8px;bottom:8px;padding:4px 8px;border-radius:999px;background:#071821ed;color:#fff;font-size:11px}
.story>.illustration{aspect-ratio:2/1}
.editorial-detail>.illustration{aspect-ratio:3/2;align-self:start;border-radius:var(--radius)}
.editorial-detail>.illustration>img{position:absolute;inset:0}
.story>div{padding:15px;display:flex;flex-direction:column;align-items:flex-start;flex:1}
.story .pill{margin-top:auto}
.partner-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.partner-card{padding:7px;display:flex;flex-direction:column}
.partner-card>div+div{padding:13px;display:flex;align-items:flex-start;flex-direction:column;flex:1}
.partner-card .pill{margin-top:auto}
.partner-mark{height:118px;display:grid;place-items:center;padding:13px;text-align:center;border-radius:15px;background:var(--surface);font-size:clamp(15px,1.65vw,26px);font-weight:500}
.partner-mark img{object-fit:contain;max-height:84px;max-width:180px}
.spec-notes{margin:15px 0 22px;padding:0;list-style:none;max-width:900px}
.spec-notes li{padding:12px 0;border-top:1px solid #e7e9e9;display:grid;grid-template-columns:minmax(150px,1fr) 2.5fr;gap:15px}
.spec-notes span{color:#4b5450}
.portal-filters{margin:0 0 12px}
html{scroll-padding-top:86px}
#search .search-results{max-height:55vh;overflow:auto}
.calendar-widget{display:flex;flex-direction:column;gap:7px}
.calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:6px}
.calendar-heading>span+span{font-size:10px;font-weight:500}
.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;flex:1;align-items:center;font-size:12px;font-weight:500}
.calendar-days .week{font-size:8px;opacity:.8}
.calendar-days .marked{display:grid;place-items:center;border-radius:50%;width:23px;height:23px;justify-self:center;background:#fff;color:#135e3d}
@media(max-width:1050px){.nav-bar nav{display:none}.nav-bar{justify-content:flex-end}.partner-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:580px) and (max-width:1050px){.nav-bar .compact-nav{display:flex;margin-right:auto}}
@media(max-width:760px){.note-grid,.story-grid,.partner-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-title{align-items:start}.section-title .pill{flex:none}}
@media(max-width:510px){.note-grid,.story-grid{grid-template-columns:1fr}.section-title{flex-direction:column}.spec-notes li{grid-template-columns:1fr;gap:4px}.partner-mark{height:86px}.calendar-heading{align-items:start}.calendar-heading>span+span{display:none}.calendar-days .marked{width:18px;height:18px}.partner-card .pill{padding-inline:8px}}
:root{--green:#54cdbb}
.page-head--photo{--page-photo:var(--page-photo-desktop);color:#f4fbff;background:#092330;background-image:linear-gradient(90deg,#071821f5 3%,#071821d0 39%,#07182120 85%),var(--page-photo);background-size:cover;background-position:center}
.page-head--photo .crumbs,.page-head--photo .crumbs>a:not(.pill),.page-head--photo>p{color:#dcebf0}
.page-head--photo .crumbs .pill{color:#14343d;background:#eaf6f4}
.page-head--photo>p{max-width:460px}
.hero{
 --hero-art:url("assets/hero-forged-1536.webp");
 min-height:clamp(390px,37vw,620px);
 padding-block:clamp(40px,5vw,95px) clamp(38px,4.5vw,75px);
 justify-content:center;gap:clamp(24px,3.2vw,54px);
 color:#f4fbff;background:#061724;
 background-image:linear-gradient(90deg,#061724d9 0%,#06172481 51%,#06172400 82%),var(--hero-art);
 background-size:cover;background-position:center 53%;
}
.hero-copy,.hero-right{padding-inline:clamp(8px,2.5vw,48px)}
.hero-kicker{display:block;color:#85e2d8;text-transform:uppercase;letter-spacing:.17em;font-size:clamp(10px,1vw,15px);font-weight:500;margin-bottom:14px}
.hero h1{font-size:clamp(44px,5.7vw,104px);letter-spacing:-.035em}
.hero-copy>p{max-width:27ch;color:#dcebf0;line-height:1.26;font-size:clamp(17px,2vw,32px)}
.hero-right{width:auto;margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:14px 30px;padding-bottom:0}
.hero .fact{display:flex;align-items:center;gap:9px;border-right:1px solid #bddfea59;padding-right:22px}
.hero .fact strong{font-size:34px;color:#8be6db}
.hero .fact p{margin:0;max-width:145px;font-size:12px;color:#e0edf0}
.hero-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.hero-actions>div{display:flex;gap:7px;margin:0}
.hero-outline{height:auto;min-height:39px;border-radius:999px;border-color:#b8e1e080;padding:7px 12px;color:#f7fcfc}
.hero-outline:hover{background:#ffffff24}
.hero .pill{color:#10252d}
.hero .pill.green:hover,.pill.green:hover{background:#71d9c7}
.globe{background:#071821 linear-gradient(160deg,#071821dc,#07182105 80%);background-image:linear-gradient(160deg,#071821ee,#07182115 80%),url("assets/aluminium-precision-480.webp");background-size:cover;background-position:center}
.quick{background:linear-gradient(130deg,#82d7cc,#2d9f9e);color:#082a32}
.directory-filters{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:12px;margin-block:12px 16px}
.directory-filters label{display:grid;gap:5px;font-size:13px}
.directory-filters input,.directory-filters select{background:#fff}
.industry-map{height:clamp(225px,32vw,390px);position:relative;overflow:hidden;margin:16px 0;border-radius:18px;background:#e5eff0}
.map-guide{position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 29px,#164a5c13 29px 30px),repeating-linear-gradient(90deg,transparent 0 29px,#164a5c13 29px 30px),radial-gradient(ellipse at 36% 60%,#6fa8ab52,transparent 50%),radial-gradient(ellipse at 74% 39%,#6fa8ab43,transparent 50%)}
.map-point{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#123b49;color:#fff;font-size:12px}
.map-point:hover,.map-point:focus-visible{background:#166c68;z-index:1}
.map-regions{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:7px}
.map-regions a{display:flex;align-items:center;gap:8px;padding:8px;background:var(--surface);border-radius:12px;font-size:13px}
.map-regions a:hover{background:#dcefea}
.map-regions span{width:20px;height:20px;display:grid;place-items:center;background:#d5e7e7;color:#173b42;border-radius:50%;font-size:11px;flex:none}
.partner-profile-mark{max-width:260px;height:120px;margin-block:12px;padding:12px;background:var(--surface);border-radius:16px}
.partner-profile-mark img{object-fit:contain}
.media-video{display:block;width:min(100%,830px);max-height:440px;margin-top:15px;border-radius:15px;background:#061724}
.contact-panel [data-contact]{white-space:pre-line;overflow-wrap:anywhere}
.contact-panel [data-contact] a{text-decoration:underline;text-underline-offset:3px}
.admin-form{display:grid;gap:14px;max-width:540px;justify-items:start}
.admin-form label{width:100%;display:grid;gap:6px;font-size:14px}
.admin-form p,.admin-panel #admin-status{margin:0}
.admin-panel #admin-status:not(:empty){margin-bottom:16px}
.admin-actions{display:flex;gap:8px;flex-wrap:wrap}
.admin-actions .pill:not(.green){background:var(--surface)}
.request-form button:disabled,.admin-form button:disabled{opacity:.6;cursor:wait}
.story a:hover,.partner-card h3 a:hover,.note-grid h3 a:hover{color:#156a62}
.story .pill,.partner-card .pill,.note-grid .pill{background:#e9eeee}
.story .pill:hover,.partner-card .pill:hover,.note-grid .pill:hover{background:#dcefea}
@media(max-width:1200px){.hero{--hero-art:url("assets/hero-forged-1200.webp")}}
@media(max-width:800px){
 .hero{--hero-art:url("assets/hero-forged-800.webp")}
 .page-head--photo{--page-photo:var(--page-photo-small)}
 .activity{background-image:linear-gradient(100deg,#151a22d9,#202a2f93),url("assets/sector-building-800.webp")}
}
@media(max-width:690px){
 .hero{min-height:350px;background-position:64% center;background-image:linear-gradient(90deg,#061724ec,#06172480),var(--hero-art)}
 .hero h1{font-size:clamp(33px,8.4vw,57px)}
 .hero .fact{border-right:0;padding-right:0}
 .directory-filters{grid-template-columns:1fr}
 .map-point{width:23px;height:23px;font-size:10px}
}
@media(max-width:520px){.hero{--hero-art:image-set(url("assets/hero-forged-480.webp") 1x,url("assets/hero-forged-800.webp") 2x)}}
