
:root{
  --ink:#0f2531;--muted:#667886;--white:#ffffff;--line:#d7e4e6;--soft:#f4f8f9;
  --nav:#092e3c;--nav2:#0e4d5e;--teal:#0ea5a4;--green:#1bbf73;--cyan:#44d6e3;--sky:#7cc7ff;--gold:#d1ad4b;
  --shadow:0 22px 60px rgba(7,36,48,.14);--radius:20px;--max:1280px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Segoe UI",Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;line-height:1.58}
a{text-decoration:none;color:inherit}img{display:block;max-width:100%}.container{width:min(var(--max),92vw);margin:0 auto}
.topbar{position:sticky;top:0;z-index:120;background:rgba(9,46,60,.92);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.12)}
.topbar-inner{width:min(var(--max),92vw);margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 0}
.brand{display:flex;align-items:center;gap:12px;color:#fff}.brand-mark{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#fff,#c7fff2);display:grid;place-items:center;color:#083745;font-weight:900}.brand b{font-size:18px}.brand small{display:block;font-size:11px;opacity:.82;letter-spacing:.12em;text-transform:uppercase}.nav{display:flex;gap:20px;align-items:center}.nav a{color:#dff8f4;font-weight:700;font-size:14px}.nav a:hover{color:#fff}.menu-btn{display:none;border:1px solid rgba(255,255,255,.2);background:transparent;color:#fff;padding:10px 12px;border-radius:10px}
.hero{position:relative;overflow:hidden;background:#082c3a;color:#fff}.hero-slider{position:absolute;inset:0}.hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transform:scale(1.05);animation:heroFade 20s infinite}.hero-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,31,40,.9) 0%,rgba(7,31,40,.58) 42%,rgba(7,31,40,.34) 100%)}.hero-slide:nth-child(1){animation-delay:0s}.hero-slide:nth-child(2){animation-delay:6.6s}.hero-slide:nth-child(3){animation-delay:13.2s}
@keyframes heroFade{0%{opacity:0;transform:scale(1.055)}7%{opacity:1}30%{opacity:1}36%{opacity:0}100%{opacity:0;transform:scale(1)}}
.hero-content{position:relative;z-index:2;width:min(var(--max),92vw);margin:0 auto;padding:120px 0 110px;min-height:720px;display:flex;align-items:center}.hero-copy{max-width:830px}.eyebrow{margin:0 0 18px;font-size:11px;line-height:1;letter-spacing:.2em;text-transform:uppercase;color:#b8fff4;font-weight:900}
.hero h1,.page-hero h1{margin:0 0 24px;font-size:clamp(48px,6vw,88px);line-height:.94;letter-spacing:-.055em;font-weight:900;max-width:930px}.lead,.page-hero p{font-size:21px;max-width:790px;color:#eaf7f8}.cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:16px 24px;border-radius:999px;font-weight:900;font-size:15px;transition:.2s ease;cursor:pointer}.btn.primary{background:#fff;color:#0b3140}.btn.secondary{border:1px solid rgba(255,255,255,.38);color:#fff;background:transparent}.btn.dark{background:#0a5160;color:#fff}.btn:hover{transform:translateY(-1px)}
.hero-ticker{position:relative;z-index:2;background:rgba(255,255,255,.08);backdrop-filter:blur(12px);border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.08);overflow:hidden}.ticker-track{display:flex;gap:48px;white-space:nowrap;animation:marquee 30s linear infinite;padding:18px 0}.ticker-item{font-weight:800;color:#dff8f4;font-size:14px;letter-spacing:.08em;text-transform:uppercase}@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.section{padding:96px 0;border-bottom:1px solid var(--line)}.section.alt{background:linear-gradient(180deg,#f8fcfb,#eef8f7)}.section-head{display:grid;grid-template-columns:.92fr 1.08fr;gap:48px;align-items:end;margin-bottom:34px}.section-head p{font-size:18px;color:var(--muted);max-width:780px}.intro-grid,.register-wrap,.modal-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:44px;align-items:start}.intro-copy p{font-size:18px;color:var(--muted)} h2{margin:0 0 14px;font-size:clamp(36px,4vw,58px);line-height:1;letter-spacing:-.04em}
.editorial-image{width:100%;height:460px;object-fit:cover;border-radius:20px;box-shadow:var(--shadow)}.visual-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}.visual-strip img{width:100%;height:220px;object-fit:cover;border-radius:16px;border:1px solid var(--line);box-shadow:0 10px 24px rgba(7,36,48,.08)}
.credibility{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:32px}.cred-card{padding:24px;border-radius:18px;background:#fff;border:1px solid var(--line);box-shadow:0 8px 22px rgba(7,36,48,.05)}.cred-card b{display:block;font-size:20px;margin-bottom:8px}.cred-card span{color:var(--muted)}
.cards{display:grid;gap:24px}.products-grid{grid-template-columns:repeat(5,1fr)}.services-grid{grid-template-columns:repeat(2,1fr)}.partner-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}.markets-grid{grid-template-columns:repeat(5,1fr)}.resource-grid,.prompt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card,.resource-card,.prompt-card,.takeaway,.register-panel,.lead-form,.gift-content,.tab-panel{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 8px 22px rgba(7,36,48,.05)}.card{display:flex;flex-direction:column;overflow:hidden;min-height:100%}.card-image{width:100%;height:220px;object-fit:cover;background:#eaf3f3}.card-body{padding:22px;display:flex;flex-direction:column;gap:12px;flex:1}.card-tag{display:inline-flex;width:max-content;padding:8px 12px;border-radius:999px;background:#eef8f7;color:#0a5160;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.card h3{margin:0;font-size:28px;line-height:1.04;letter-spacing:-.03em}.card h4{margin:0;font-size:18px;line-height:1.34;color:#23414f}.card p{margin:0;color:var(--muted);font-size:16px}.open-product,.open-project{margin-top:auto;background:none;border:none;padding:0;color:#0a5160;font-size:15px;font-weight:900;cursor:pointer;text-align:left}.offerings{margin-top:4px}.offerings b{display:block;margin-bottom:8px;font-size:13px;text-transform:uppercase;letter-spacing:.12em;color:#56707d}.offerings ul{margin:0;padding-left:18px;color:#3a5561}.offerings li{margin-bottom:8px}
.market-card{background:linear-gradient(135deg,#0a3040,#0ea5a4);color:#fff;padding:28px;border-radius:18px;min-height:260px}.market-card .num{display:block;font-size:12px;font-weight:900;letter-spacing:.15em;color:#b8fff4;margin-bottom:16px}.market-card h3{font-size:22px;margin:0 0 12px;color:#fff}.market-card p{margin:0;color:#e5fcf8}.partner-logo-card{background:#fff;border:1px solid var(--line);padding:8px;border-radius:16px;box-shadow:0 8px 20px rgba(7,36,48,.05)}.partner-logo-card img{width:100%;height:94px;object-fit:contain}
.page-hero{background:linear-gradient(135deg,#0a3040,#0ea5a4);color:#fff;padding:106px 0 84px}.page-hero p{color:#e9fbf8}.project-mosaic{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.project-tile{position:relative;overflow:hidden;border-radius:0;min-height:250px;background:#123;padding:0;border:none;cursor:pointer;text-align:left}.project-tile img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}.project-tile:hover img{transform:scale(1.06)}.project-overlay{position:absolute;inset:auto 0 0 0;background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(8,49,64,.78) 60%,rgba(8,49,64,.88) 100%);padding:22px}.project-overlay small{display:block;color:#cffcf1;font-weight:800;text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px}.project-overlay h3{margin:0;color:#fff;font-size:19px;line-height:1.2}.project-note{font-size:17px;color:var(--muted);max-width:800px;margin:0 0 20px}
.prompt-toolbar,.tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px}.filter,.tab-btn{background:#fff;border:1px solid var(--line);padding:11px 14px;border-radius:999px;font-weight:900;color:#0a5160;cursor:pointer}.filter.active,.tab-btn.active{background:#0ea5a4;color:#fff}.prompt-card{padding:24px;display:flex;flex-direction:column;gap:10px;min-height:300px}.prompt-card small{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#7890a0;font-weight:900}.label{display:inline-flex;width:max-content;padding:7px 11px;border-radius:999px;background:#eef8f7;color:#0a5160;font-size:12px;font-weight:800}.copy-btn{margin-top:auto;border:none;background:#0a5160;color:#fff;padding:12px 14px;border-radius:10px;font-weight:900;cursor:pointer}
.register-panel,.gift-content,.tab-panel{padding:28px}.lead-form{padding:28px;display:grid;grid-template-columns:1fr 1fr;gap:18px}.lead-form .full{grid-column:1/-1}label{font-size:13px;font-weight:900;color:#2a4650}input,select,textarea{width:100%;margin-top:8px;padding:14px 14px;border-radius:12px;border:1px solid #cbdadc;font:inherit}textarea{min-height:130px;resize:vertical}.resource-card{padding:24px}.resource-card b{display:block;font-size:21px;margin-bottom:6px}.resource-card span{display:block;color:#617b87;margin-bottom:12px}.resource-card ul{margin:0;padding-left:18px;color:#35505c}.resource-card li{margin-bottom:9px}.takeaway-top{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.takeaway{padding:22px}.takeaway b{display:block;font-size:18px;margin-bottom:8px}#giftContent{display:none}#giftContent.unlocked{display:block}.map-frame{height:430px;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}.map-frame iframe{width:100%;height:100%;border:0}
.modal,.project-modal{position:fixed;inset:0;background:rgba(6,47,58,.74);z-index:220;display:none;align-items:center;justify-content:center;padding:18px}.modal.open,.project-modal.open{display:flex}.modal-dialog{width:min(1160px,96vw);max-height:92vh;overflow:auto;background:#fff;color:var(--ink);box-shadow:0 30px 120px rgba(0,0,0,.35);border-radius:18px}.modal-head{position:sticky;top:0;background:#fff;display:flex;justify-content:space-between;align-items:center;padding:22px 26px;border-bottom:1px solid var(--line);z-index:1}.modal-close{border:1px solid var(--line);background:#fff;width:42px;height:42px;border-radius:999px;font-size:24px;cursor:pointer}.modal-body{padding:26px}.gallery,.project-gallery{display:grid;grid-template-columns:1fr;gap:12px}.gallery img,.project-gallery img{width:100%;height:240px;object-fit:cover;border-radius:14px;border:1px solid var(--line);background:#eef8f7}.video-box,.project-meta div{background:#eef8f7;border:1px solid #d7eeea;border-radius:14px;padding:16px}.project-meta{display:grid;gap:10px;margin-top:18px}
footer{background:#092e3c;color:#d9f6f2;padding:40px 0}.footer-inner{width:min(var(--max),92vw);margin:0 auto;display:flex;justify-content:space-between;gap:24px}.footer-inner b{display:block;color:#fff}.footer-links{display:flex;gap:16px;flex-wrap:wrap}
@media(max-width:1260px){.products-grid{grid-template-columns:repeat(3,1fr)}.markets-grid,.partner-grid{grid-template-columns:repeat(3,1fr)}.project-mosaic{grid-template-columns:repeat(2,1fr)}.credibility{grid-template-columns:repeat(2,1fr)}}
@media(max-width:960px){.section-head,.intro-grid,.register-wrap,.modal-grid{grid-template-columns:1fr}.services-grid,.resource-grid,.prompt-grid,.takeaway-top{grid-template-columns:repeat(2,1fr)}.products-grid,.markets-grid,.partner-grid{grid-template-columns:repeat(2,1fr)}.hero-content{min-height:620px;padding:110px 0 90px}}
@media(max-width:760px){.menu-btn{display:block}.nav{display:none;position:absolute;top:76px;left:4vw;right:4vw;background:#0a3040;border:1px solid rgba(255,255,255,.14);padding:16px;border-radius:12px;flex-direction:column}.nav.open{display:flex}.topbar-inner{position:relative}.hero h1,.page-hero h1{font-size:44px}.lead,.page-hero p{font-size:18px}.hero-content{min-height:580px;padding:96px 0 72px}.visual-strip,.services-grid,.resource-grid,.prompt-grid,.takeaway-top,.products-grid,.markets-grid,.partner-grid,.project-mosaic,.credibility{grid-template-columns:1fr}.lead-form{grid-template-columns:1fr}.footer-inner{flex-direction:column}.brand small{display:none}}


/* v21 expanded services */
.services-grid{
  grid-template-columns:repeat(4,1fr);
}
.services-grid .card h3{
  font-size:24px;
}
.services-grid .card-body{
  padding:24px;
}
@media(max-width:1260px){
  .services-grid{grid-template-columns:repeat(3,1fr);}
}
@media(max-width:960px){
  .services-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:760px){
  .services-grid{grid-template-columns:1fr;}
}
