@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');

:root { --ink:#071d3b; --navy:#0d3568; --cream:#eaf1f8; --paper:#f6f9fc; --gold:#c5a665; --muted:#71839a; --line:rgba(13,53,104,.15); --mono:'DM Mono',monospace; --sans:'Manrope',sans-serif; --serif:'Playfair Display',serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:var(--sans); font-size:15px; line-height:1.6; }
a { color:inherit; text-decoration:none; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.site-header { height:88px; padding:0 5.5vw; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid rgba(255,255,255,.12); position:absolute; z-index:4; width:100%; color:#fff; }
.brand { display:flex; align-items:center; gap:12px; letter-spacing:.01em; }
.brand-mark { width:34px; height:34px; color:var(--gold); display:block; }
.brand-mark svg { width:100%; height:100%; }
.brand-copy { display:grid; line-height:1.15; gap:3px; }
.brand-copy strong { font-size:13px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.brand-copy span { color:rgba(255,255,255,.58); font:10px var(--mono); letter-spacing:.06em; text-transform:uppercase; }
.site-nav { display:flex; align-items:center; gap:34px; font-size:12px; font-weight:700; letter-spacing:.04em; }
.site-nav > a:not(.nav-cta) { color:rgba(255,255,255,.68); transition:color .2s; }
.site-nav > a:hover { color:#fff; }
.nav-cta { padding:11px 16px; border:1px solid rgba(255,255,255,.34); border-radius:2px; color:#fff; }
.nav-cta span { color:var(--gold); margin-left:8px; }
.menu-toggle { display:none; }
.section-shell { padding-left:10vw; padding-right:10vw; }
.hero { min-height:730px; background:var(--ink); color:#fff; display:flex; align-items:center; position:relative; overflow:hidden; padding-top:90px; }
.hero:before { content:''; position:absolute; inset:0; opacity:.13; background-image:linear-gradient(rgba(181,196,207,.25) 1px,transparent 1px),linear-gradient(90deg,rgba(181,196,207,.25) 1px,transparent 1px); background-size:80px 80px; mask-image:linear-gradient(90deg,#000,transparent 78%); }
.hero-copy { position:relative; z-index:1; width:54%; padding-bottom:32px; }
.eyebrow,.section-index,.statement-kicker,.visual-label,.scroll-note { font:10px var(--mono); letter-spacing:.15em; text-transform:uppercase; }
.eyebrow { color:var(--gold); display:flex; align-items:center; gap:13px; margin:0 0 29px; }
.eyebrow-line { width:34px; height:1px; background:var(--gold); }
h1,h2,h3,p { margin-top:0; }
h1,h2 { font-weight:500; letter-spacing:-.05em; line-height:1.08; }
h1 { font-size:clamp(54px,7.1vw,108px); margin-bottom:30px; }
h1 em,h2 em { font-family:var(--serif); font-weight:500; }
.hero-text { max-width:440px; color:#b5c0c7; font-size:15px; line-height:1.85; }
.hero-actions { display:flex; align-items:center; gap:29px; margin-top:37px; }
.button { display:inline-flex; align-items:center; gap:21px; padding:15px 20px; font-weight:700; font-size:11px; letter-spacing:.04em; border-radius:2px; transition:transform .2s,background .2s; }
.button:hover { transform:translateY(-2px); }
.button-primary { background:var(--gold); color:var(--ink); }
.button-primary span,.button-light span { font-size:18px; line-height:0; }
.text-link { display:inline-flex; align-items:center; gap:13px; color:#fff; font-size:11px; font-weight:700; letter-spacing:.04em; border-bottom:1px solid rgba(255,255,255,.33); padding-bottom:5px; }
.text-link span { color:var(--gold); font-size:17px; }
.hero-visual { position:absolute; width:520px; height:520px; right:10vw; top:50%; transform:translateY(-42%); color:var(--gold); }
.hero-visual:before { content:''; position:absolute; inset:18%; border:1px solid rgba(199,164,103,.18); border-radius:50%; }
.visual-orbit { position:absolute; border:1px solid rgba(199,164,103,.5); border-radius:50%; transform:rotate(-31deg); }
.orbit-one { inset:11% 2%; }
.orbit-two { inset:2% 24%; transform:rotate(58deg); border-color:rgba(255,255,255,.15); }
.visual-core { width:142px; height:142px; position:absolute; left:calc(50% - 71px); top:calc(50% - 71px); border:1px solid var(--gold); display:grid; place-content:center; text-align:center; transform:rotate(45deg); background:rgba(7,19,31,.62); }
.visual-core:after { content:''; position:absolute; inset:10px; border:1px solid rgba(199,164,103,.3); }
.visual-core span,.visual-core small { transform:rotate(-45deg); }
.visual-core span { font:500 39px var(--serif); }
.visual-core small { font:9px var(--mono); letter-spacing:.16em; margin-top:3px; }
.visual-label { position:absolute; font-size:9px; color:#aab4b8; }
.label-top { top:13%; right:1%; }.label-bottom { bottom:13%; left:5%; color:var(--gold); }.label-bottom span { display:inline-block; width:22px; height:1px; background:var(--gold); margin:0 8px 3px; }
.crosshair { position:absolute; width:8px; height:8px; border:1px solid var(--gold); }.crosshair-a { left:13%; top:36%; }.crosshair-b { right:18%; bottom:28%; }
.scroll-note { position:absolute; left:10vw; bottom:42px; color:#7c8b94; display:flex; gap:10px; align-items:center; }.scroll-note span { height:32px; width:1px; background:var(--gold); display:inline-block; }
.intro { padding-top:150px; padding-bottom:157px; background:var(--paper); }
.section-index { color:#82909a; display:flex; align-items:center; gap:12px; }.section-index span { width:52px; height:1px; background:var(--gold); display:inline-block; }
.intro-layout { display:grid; grid-template-columns:1.1fr 1fr; gap:13vw; margin-top:67px; align-items:start; }
h2 { font-size:clamp(38px,4.8vw,70px); margin-bottom:0; }
.intro-copy { padding-top:10px; max-width:385px; color:#52616a; }.intro-copy p { line-height:1.9; margin-bottom:19px; }.intro-copy .text-link { color:var(--ink); margin-top:17px; border-color:#bdc2c2; }
.approach { background:#e5edf6; padding-top:130px; padding-bottom:140px; }
.approach-heading { display:flex; justify-content:space-between; align-items:end; margin-top:62px; margin-bottom:63px; }.approach-heading p { color:#6f7b80; max-width:220px; margin:0 2vw 5px 0; line-height:1.8; }
.principles { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(13,53,104,.16); border:1px solid rgba(13,53,104,.16); }.principle-card { background:#e5edf6; min-height:310px; padding:29px 32px 31px; position:relative; }.featured-card { background:var(--ink); color:#fff; }.card-number { font:10px var(--mono); color:#71839a; }.featured-card .card-number { color:var(--gold); }.card-icon { height:82px; margin:29px 0 28px; position:relative; width:90px; }.principle-card h3 { font-size:19px; letter-spacing:-.02em; margin-bottom:10px; }.principle-card p { color:#60738b; line-height:1.75; max-width:235px; font-size:13px; margin:0; }.featured-card p { color:#a1b3c6; }
.icon-signal { display:flex; align-items:end; gap:7px; }.icon-signal i { display:block; width:12px; background:var(--gold); }.icon-signal i:nth-child(1){height:25px}.icon-signal i:nth-child(2){height:47px}.icon-signal i:nth-child(3){height:70px}.icon-grid { display:grid; grid-template-columns:repeat(2,28px); grid-template-rows:repeat(2,28px); gap:5px; }.icon-grid i { border:1px solid var(--gold); }.icon-orbit:before,.icon-orbit:after { content:''; position:absolute; border:1px solid #aab1ae; border-radius:50%; width:62px; height:62px; transform:rotate(42deg); }.icon-orbit:after { width:29px; height:29px; top:17px; left:17px; border-color:var(--gold); }.icon-orbit i { position:absolute; width:6px;height:6px;background:var(--gold);border-radius:50%; left:58px;top:11px; }
.statement { padding-top:147px; padding-bottom:155px; text-align:center; }.statement-rule { height:1px; width:100%; background:var(--line); margin-bottom:54px; }.statement-kicker { color:#9b7b3e; margin-bottom:28px; }.statement blockquote { max-width:800px; margin:0 auto 40px; font:italic 500 clamp(27px,3.1vw,44px)/1.3 var(--serif); letter-spacing:-.03em; }.statement-meta { font:9px var(--mono); color:#899398; letter-spacing:.12em; display:flex; justify-content:center; gap:30px; }.statement-meta span+span:before { content:''; display:inline-block; width:20px; height:1px; background:var(--gold); margin:0 22px 3px 0; }
.contact { padding-bottom:100px; }.contact-panel { background:var(--navy); color:#fff; display:grid; grid-template-columns:1.1fr .9fr; padding:67px 7vw 69px; min-height:460px; position:relative; overflow:hidden; }.contact-panel:after { content:'CGQI'; position:absolute; font:500 220px var(--serif); right:-24px; bottom:-79px; color:rgba(255,255,255,.025); }.light-index { color:#9fadb1; }.contact-main h2 { margin-top:55px; }.contact-main p { max-width:325px; color:#aeb9bc; line-height:1.8; margin:26px 0 31px; }.button-light { color:var(--ink); background:var(--gold); }.contact-details { align-self:end; justify-self:end; width:230px; position:relative; z-index:1; }.detail-block { margin-top:23px; }.detail-block span { display:block; color:#758890; font:9px var(--mono); letter-spacing:.15em; text-transform:uppercase; margin-bottom:7px; }.detail-block address,.detail-block a { color:#e0e4e2; font-style:normal; font-size:12px; line-height:1.8; }.detail-block a:hover { color:var(--gold); }
.site-footer { min-height:122px; display:flex; align-items:center; justify-content:space-between; color:#637077; font-size:11px; }.footer-brand { color:var(--ink); font:700 21px var(--mono); letter-spacing:-.12em; }.footer-brand span { color:var(--gold); }.site-footer p { margin:0; line-height:1.7; }.site-footer p span { color:#99a3a5; font-size:10px; }.footer-right { display:flex; align-items:center; gap:27px; font:10px var(--mono); letter-spacing:.05em; }.footer-right a { color:var(--ink); }.footer-right a:hover { color:#9b7b3e; }
@media (max-width:800px) { .section-shell { padding-left:7vw; padding-right:7vw; }.site-header { height:73px; padding:0 7vw; }.brand-copy strong { font-size:11px; }.brand-copy span { font-size:8px; }.menu-toggle { display:flex; flex-direction:column; gap:5px; border:0; background:none; padding:10px 0 10px 10px; cursor:pointer; }.menu-toggle span:not(.sr-only) { width:24px; height:1px; background:#fff; display:block; }.site-nav { position:absolute; top:73px; left:0; right:0; background:var(--ink); padding:24px 7vw 30px; display:none; flex-direction:column; align-items:flex-start; gap:22px; border-top:1px solid rgba(255,255,255,.12); }.site-nav.is-open { display:flex; }.nav-cta { width:100%; text-align:center; }.hero { min-height:760px; padding-top:120px; align-items:flex-start; }.hero-copy { width:100%; }.hero-visual { width:370px; height:370px; right:-84px; top:auto; bottom:55px; transform:none; opacity:.75; }.scroll-note { left:7vw; bottom:31px; font-size:8px; }.hero-actions { flex-wrap:wrap; gap:20px; }.intro { padding-top:95px; padding-bottom:100px; }.intro-layout { grid-template-columns:1fr; gap:38px; margin-top:45px; }.approach { padding-top:90px; padding-bottom:95px; }.approach-heading { display:block; margin-top:43px; margin-bottom:42px; }.approach-heading p { margin-top:25px; }.principles { grid-template-columns:1fr; }.principle-card { min-height:260px; }.statement { padding-top:95px; padding-bottom:105px; }.statement-meta { display:block; line-height:2.2; }.statement-meta span+span:before { margin-right:10px; }.contact { padding-bottom:70px; }.contact-panel { grid-template-columns:1fr; padding:46px 9vw 52px; }.contact-main h2 { margin-top:44px; }.contact-details { justify-self:start; margin-top:48px; }.site-footer { padding-top:30px; padding-bottom:30px; display:grid; grid-template-columns:1fr auto; gap:23px 15px; }.footer-right { grid-column:1/-1; justify-content:space-between; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*:before,*:after { transition:none !important; } }

/* Shared styles for the secondary pages. */
.page-hero { min-height:455px; background:var(--ink); color:#fff; padding-top:170px; padding-bottom:80px; position:relative; overflow:hidden; }
.page-hero:after { content:'CGQI'; position:absolute; right:7vw; bottom:-68px; color:rgba(255,255,255,.035); font:500 220px var(--serif); letter-spacing:-.08em; }
.page-hero .eyebrow,.page-hero h1,.page-hero p { position:relative; z-index:1; }
.page-hero h1 { font-size:clamp(52px,7vw,98px); margin:27px 0 19px; }
.page-hero p { color:#aab7bc; max-width:440px; line-height:1.8; margin:0; }
.page-content { padding-top:112px; padding-bottom:125px; }
.about-grid { display:grid; grid-template-columns:1fr 1.05fr; gap:12vw; margin-top:59px; }
.about-grid h2 { font-size:clamp(35px,4.4vw,63px); }
.about-copy { color:#5e6b70; max-width:480px; }.about-copy p { line-height:1.95; margin-bottom:22px; }
.facts-strip { border-top:1px solid var(--line); border-bottom:1px solid var(--line); display:grid; grid-template-columns:repeat(3,1fr); margin-top:105px; padding:28px 0 25px; gap:20px; }.fact span { display:block; font:9px var(--mono); color:#9a7a43; letter-spacing:.15em; text-transform:uppercase; margin-bottom:8px; }.fact strong { font-size:15px; font-weight:600; }
.values { background:#e5edf6; padding-top:104px; padding-bottom:112px; }.values-heading { display:flex; justify-content:space-between; align-items:end; margin:56px 0 52px; }.values-heading p { max-width:270px; color:#60738b; line-height:1.8; margin:0 2vw 4px 0; }.value-list { border-top:1px solid rgba(13,53,104,.2); }.value-item { display:grid; grid-template-columns:100px 1fr 1fr; gap:25px; padding:29px 0; border-bottom:1px solid rgba(13,53,104,.2); }.value-item small { color:#9b7b3e; font:10px var(--mono); }.value-item h3 { margin:0; font-size:20px; }.value-item p { margin:0; color:#60738b; line-height:1.75; max-width:390px; }
.news-list { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); margin-top:60px; border:1px solid var(--line); }.news-card { background:var(--paper); min-height:340px; padding:27px 27px 30px; display:flex; flex-direction:column; }.news-card .news-meta { display:flex; justify-content:space-between; color:#9a7a43; font:9px var(--mono); letter-spacing:.1em; text-transform:uppercase; }.news-card h2 { font-size:26px; line-height:1.2; letter-spacing:-.035em; margin:51px 0 16px; }.news-card p { color:#68757a; line-height:1.8; font-size:13px; margin:0; }.news-card .read-more { margin-top:auto; padding-top:27px; color:var(--ink); font-size:11px; font-weight:700; }.news-card .read-more span { color:#9b7b3e; margin-left:8px; font-size:16px; }.editorial-note { margin-top:28px; color:#8a9598; font:10px var(--mono); letter-spacing:.03em; }
@media (max-width:800px) { .page-hero { min-height:420px; padding-top:135px; }.page-hero:after { font-size:130px; bottom:-35px; }.page-content { padding-top:80px; padding-bottom:90px; }.about-grid { grid-template-columns:1fr; gap:35px; margin-top:43px; }.facts-strip { grid-template-columns:1fr; gap:21px; margin-top:70px; }.values { padding-top:80px; padding-bottom:85px; }.values-heading { display:block; margin-top:42px; }.values-heading p { margin-top:25px; }.value-item { grid-template-columns:50px 1fr; gap:10px 18px; }.value-item p { grid-column:2; }.news-list { grid-template-columns:1fr; margin-top:43px; }.news-card { min-height:290px; }.news-card h2 { margin-top:38px; } }
