:root {
  --bg: #fff9f0; --ink: #242330; --accent: #ff6c59; --second: #5d74ff;
  --wrap: min(1280px, calc(100% - 48px));
  color: var(--ink); background: var(--bg); font-family: Arial, sans-serif; line-height: 1.65;
}
* { box-sizing: border-box; }
body { margin: 0; overflow-x: hidden; }
img { display: block; width: 100%; height: auto; object-fit: cover; }
a { color: inherit; }
.skip { position: fixed; left: 8px; top: 8px; transform: translateY(-150%); background: white; padding: .5rem; z-index: 99; }
.skip:focus { transform: none; }
.cg-head { width: var(--wrap); margin: auto; min-height: 84px; display: flex; align-items: center; gap: 2rem; border-bottom: 3px solid; }
.cg-brand { font-size: 1.35rem; font-weight: 900; text-decoration: none; margin-right: auto; }
.cg-head nav { display: flex; gap: 1.25rem; }
.cg-head nav a { text-decoration: none; }
.cg-toggle { display: none; border: 1px solid; background: var(--accent); padding: .55rem .8rem; }
.eyebrow { text-transform: uppercase; letter-spacing: .08em; font-size: .72rem; font-weight: 800; }
h1 { font-size: clamp(3.3rem, 7vw, 7.8rem); line-height: .94; letter-spacing: -.065em; margin: .35rem 0 1.2rem; }
h2 { font-size: clamp(2rem, 4vw, 4.2rem); line-height: 1.05; letter-spacing: -.04em; }
.button { display: inline-block; background: var(--accent); color: var(--ink); border: 2px solid var(--ink); padding: .7rem 1rem; font-weight: 800; text-decoration: none; }
.cg-hero,.cg-cover,.cg-stage,.cg-map,.cg-intro { width: var(--wrap); margin: 2rem auto 0; display: grid; grid-template-columns: .8fr 1.2fr; gap: 2rem; align-items: center; }
.cg-hero figure,.cg-cover figure,.cg-intro figure { margin: 0; }
.cg-hero img,.cg-cover img,.cg-stage>img,.cg-map>figure img,.cg-intro img { height: 680px; }
.cg-cover { display:block; }.cg-cover h1 { max-width: 980px; }.cg-cover p { max-width: 680px; }.cg-cover figure { margin-top: 3rem; }
.cg-bench,.cg-issue,.cg-field,.cg-route,.cg-inputs { width: var(--wrap); margin: 6rem auto; display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; }
.cg-bench img,.cg-issue img,.cg-field img,.cg-route img,.cg-inputs img { height: 480px; }
.cg-strip,.cg-columns,.cg-tiles,.cg-research { width: var(--wrap); margin: 5rem auto; display:grid; grid-template-columns: repeat(3,1fr); border-top:2px solid; }
.cg-strip article,.cg-columns article,.cg-tiles article,.cg-research article { padding:2rem; border-right:1px solid; }
.cg-wide,.cg-photo { margin: 5rem 0; display:grid; grid-template-columns: 1.5fr .5fr; background:var(--second); }
.cg-wide img,.cg-photo img { height:600px; }.cg-wide figcaption,.cg-photo div { padding:3rem; align-self:end; }
.cg-signal,.cg-scale,.cg-questions { width:min(980px,calc(100% - 48px)); margin:7rem auto; }
.wave { height:90px; background:repeating-linear-gradient(90deg,var(--accent) 0 3px,transparent 3px 11px); clip-path:polygon(0 45%,8% 10%,16% 80%,24% 25%,32% 70%,40% 5%,48% 85%,56% 20%,64% 75%,72% 35%,80% 90%,88% 15%,100% 50%,100% 58%,0 58%); }
.cg-mix { display:grid; grid-template-columns:.55fr 1.5fr .55fr; background:var(--ink); color:var(--bg); align-items:center; }.cg-mix img { height:580px; }.cg-mix article { padding:2rem; }
.cg-scale { display:grid; grid-template-columns:.7fr 1.3fr; gap:3rem; align-items:center; }.cg-scale blockquote { font-size:1.55rem; }.cg-scale img { height:480px; }
.cg-questions { display:grid; grid-template-columns:1fr 1fr; gap:4rem; }
.cg-research { grid-template-columns:repeat(3,1fr) 1.4fr; }.cg-research img { height:360px; }
.cg-page { width:var(--wrap); margin:3rem auto; display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:end; }.cg-page img { height:520px; }
.cg-prose,.cg-legal,.cg-form { width:min(900px,calc(100% - 48px)); margin:5rem auto; }.cg-prose p,.cg-legal p { max-width:72ch; }.cg-legal section { border-top:1px solid; }.cg-form{padding:2rem;border:2px solid}.cg-form label{display:block;font-weight:700;margin:1rem 0}.cg-form input,.cg-form select,.cg-form textarea{display:block;width:100%;padding:.8rem;margin-top:.35rem;border:1px solid;background:transparent;color:inherit}
.cg-foot { margin-top:6rem; background:var(--ink); color:var(--bg); padding:3rem max(24px,calc((100% - 1280px)/2)); display:grid; grid-template-columns:1fr 1fr auto; gap:2rem; }.cg-foot address { font-style:normal; }
@media(max-width:800px){ .cg-head nav{display:none;position:absolute;top:75px;left:24px;right:24px;background:var(--bg);padding:1rem;border:2px solid;flex-direction:column;z-index:9}.cg-head nav.open{display:flex}.cg-toggle{display:block} .cg-hero,.cg-stage,.cg-map,.cg-intro,.cg-bench,.cg-issue,.cg-field,.cg-route,.cg-inputs,.cg-page,.cg-questions,.cg-scale{grid-template-columns:1fr} .cg-strip,.cg-columns,.cg-tiles,.cg-research,.cg-mix,.cg-foot{grid-template-columns:1fr} h1{font-size:3.7rem} .cg-hero img,.cg-cover img,.cg-stage>img,.cg-map>figure img,.cg-intro img{height:420px} }

/* Site-specific privacy choice */
.cg-consent{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:40;width:min(720px,calc(100% - 32px));display:flex;align-items:center;gap:.75rem;padding:1rem 1.2rem;background:#fff;color:#102732;border:3px solid #102732}.cg-consent p{margin:0 auto 0 0}.cg-consent button{padding:.65rem .9rem;border:2px solid #102732;background:#dbe8e2;font-weight:800}.cg-consent button[data-accept]{background:#102732;color:#fff}.cg-consent.is-hidden{display:none}@media(max-width:680px){.cg-consent{align-items:stretch;flex-wrap:wrap}.cg-consent p{width:100%}}