:root{--navy:#0b1728;--slate:#526174;--pale:#f2f5f7;--white:#fff;--cyan:#b8e6e7;--green:#bfe1cf}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--pale);color:var(--navy);font-family:"DM Sans",sans-serif}
a{color:inherit;text-decoration:none}
header{height:78px;padding:0 5vw;background:rgba(255,255,255,.95);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:20;border-bottom:1px solid #d9e0e5}
.gm-brand{display:block;width:220px;flex:0 0 220px}
.gm-brand img{display:block;width:100%;height:auto}
header nav{display:flex;gap:25px;font-size:13px;color:#2f3d4c;font-weight:500}
.top-cta,.contact a{background:var(--navy);color:#fff;border-radius:12px;padding:13px 19px;font-weight:600;font-size:13px}
.header-actions{display:flex;align-items:center;gap:9px}
.back-cta{border:1px solid #cfd8df;border-radius:12px;padding:12px 15px;font-weight:600;font-size:12px;color:var(--navy);white-space:nowrap}
.ag-menu{display:none}
.gm-hero{background:radial-gradient(circle at 85% 10%,#234c5a 0,transparent 28%),linear-gradient(140deg,#071321,#132438);color:#fff;padding:100px 8vw;display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;align-items:center;min-height:720px}
.label{text-transform:uppercase;letter-spacing:3px;font-size:11px;font-weight:700;color:var(--cyan)}
.label.dark{color:#637283}
.gm-hero h1,.section h2,.kingston h2{font:400 clamp(45px,5.8vw,78px)/1.02 "Libre Caslon Display",serif;letter-spacing:-2px;margin:22px 0}
.gm-hero h1 em{color:var(--cyan);font-style:normal}
.hero-copy>p:not(.label){max-width:700px;color:#c7d0da;font-size:18px;line-height:1.7}
.actions{display:flex;gap:15px;margin-top:35px}
.actions a{padding:15px 20px;border:1px solid #647386;border-radius:12px;font-size:13px}
.actions .primary{background:#fff;color:var(--navy)}
.hero-card{background:#fff;color:var(--navy);padding:35px;border-radius:28px}
.hero-card .label{color:#657487}
.hero-card h2{font-size:28px}
.hero-card ul{list-style:none;padding:0;margin:25px 0 0;display:grid;gap:8px}
.hero-card li{background:var(--pale);padding:13px 16px;border-radius:12px}
.hero-card li:before{content:"✓";color:#15805c;margin-right:10px}
.section{padding:100px 8vw}
.gm-intro,.investors,.grandev{display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw}
.gm-intro>div:last-child,.investors>div:last-child,.grandev>p{font-size:17px;line-height:1.8;padding-top:30px;color:#596879}
.benefits{padding-top:0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.benefits div,.drivers span{background:#fff;padding:24px;border:1px solid #dce2e7;border-radius:16px;font-weight:600}
.services{background:#fff}
.services>h2{max-width:820px}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:55px}
.service-grid article{background:var(--pale);padding:28px;border:1px solid #dbe2e7;border-radius:22px}
.service-grid i{font-style:normal;font-size:11px;color:#758493}
.service-grid h3{font-size:20px;margin-top:35px}
.service-grid p{line-height:1.65;color:#5d6b7b;font-size:14px}
.kingston{display:grid;grid-template-columns:1fr 1fr;background:var(--navy);color:#fff}
.kingston-image{position:relative;min-height:680px}
.kingston-image img{width:100%;height:100%;object-fit:cover}
.kingston-image small{position:absolute;bottom:15px;right:20px;background:rgba(11,23,40,.72);color:#fff;padding:6px 9px;border-radius:6px}
.kingston-images{position:relative;min-height:680px;display:grid;grid-template-rows:1fr 1fr;gap:3px;background:var(--navy)}
.kingston-images figure{margin:0;min-height:0;overflow:hidden}
.kingston-images img{width:100%;height:100%;display:block;object-fit:cover}
.kingston-images small{position:absolute;bottom:15px;right:20px;background:rgba(11,23,40,.72);padding:6px 9px;border-radius:6px}
.kingston-copy{padding:9vw 7vw}
.kingston-copy>p:not(.label){color:#c1ccd7;line-height:1.8}
.mini-grid,.drivers{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:30px}
.mini-grid span,.partner-list span{padding:15px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12);border-radius:12px}
.partners{background:#101d2e;color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:10vw}
.partners>div>p:not(.label){color:#bec9d4;line-height:1.8}
.partner-list{display:grid;gap:10px}
.investors{background:#eef2f5}
.drivers span{font-size:13px;padding:16px}
.grandev{background:#fff}
.contact{text-align:center;background:linear-gradient(135deg,#0b1728,#17384b);color:#fff}
.contact h2{margin:18px}
.contact>p:not(.label){max-width:660px;margin:20px auto 38px;color:#c3cdd6;line-height:1.7}
.contact a{display:inline-block;background:#fff;color:var(--navy);padding:16px 23px}
footer{padding:45px 6vw;background:#fff;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;color:#657383;font-size:12px}
footer strong,footer small{display:block}
footer strong{font-size:20px;color:var(--navy)}
footer p{text-align:right}
.footer-brand-group{display:flex;align-items:center;gap:28px;min-width:0}
.footer-logo{display:block;width:280px;max-width:100%;flex:0 0 280px}
.footer-logo img{display:block;width:100%;height:auto}
.footer-values{list-style:none;margin:0;padding:0;line-height:1.9;white-space:nowrap;color:#334357}
.footer-values li::before{content:"•";margin-right:9px;color:var(--navy)}
.footer-grandev{text-align:center}
@media(max-width:850px){header{height:70px}
.gm-brand{width:180px;flex-basis:180px}
.top-cta{display:none}
.back-cta{padding:9px 11px;font-size:11px}
.ag-menu{display:block;background:none;border:1px solid;padding:8px 12px}
header nav{display:none;position:absolute;top:70px;left:0;right:0;background:#fff;padding:25px 5vw;flex-direction:column}
header nav.open{display:flex}
.gm-hero,.gm-intro,.kingston,.partners,.investors,.grandev{grid-template-columns:1fr}
.gm-hero{padding:75px 7vw}
.section{padding:75px 7vw}
.benefits,.service-grid{grid-template-columns:1fr 1fr}
.kingston-image{min-height:480px}
.kingston-images{min-height:620px}
.kingston-copy{padding:75px 7vw}
footer{grid-template-columns:1fr;gap:20px}
footer p{text-align:left}
.footer-grandev{text-align:center}
}
@media(max-width:520px){.benefits,.service-grid,.mini-grid,.drivers{grid-template-columns:1fr}
.gm-brand{width:145px;flex-basis:145px}
.back-cta{font-size:0;padding:9px 11px}
.back-cta:after{content:"← GranDev";font-size:11px}
.actions{flex-direction:column}
.footer-brand-group{align-items:flex-start;flex-direction:column;gap:14px}
.footer-logo{width:260px;flex-basis:auto}
}
