/* Public CSG presentation, extending the original approved design. */
/* All site-owned chromatic surfaces use true blue; brand artwork is unchanged. */
.csg-showcase-invitation{font:500 clamp(1.4rem,2vw,1.8rem)/1.3 var(--serif);color:#fff}
.csg-showcase-invitation .text-link{display:flex;width:max-content;max-width:100%;margin-top:8px;color:#d3def3;font:650 14px/1.4 var(--sans);border-bottom-color:#8b9dc5}
html{scroll-behavior:smooth;scroll-padding-top:24px}
.site-nav .start-link{background:linear-gradient(130deg,#102348,#071227);border-color:#182e59}
.site-nav a{position:relative}
.site-nav a:not(.start-link):hover{border-bottom-color:#164094}
.hero.csg-hero{min-height:620px;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);border-bottom:1px solid rgba(154,178,225,.22)}
.csg-hero .hero-copy{padding:62px 0;background-image:linear-gradient(rgba(183,200,235,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(183,200,235,.035) 1px,transparent 1px),radial-gradient(ellipse at 85% 35%,rgba(44,81,155,.4),transparent 65%),linear-gradient(130deg,#050b17,#0b1d40 80%);background-size:90px 90px,90px 90px,auto,auto}
.csg-hero .hero-copy:after{content:"";position:absolute;width:600px;height:600px;border-radius:50%;right:-400px;bottom:-400px;border:1px solid rgba(151,179,234,.2);box-shadow:0 0 0 85px rgba(151,179,234,.025),0 0 0 170px rgba(151,179,234,.025);pointer-events:none}
.csg-hero .hero-inner{width:min(660px,calc(100% - 64px));padding-right:44px}
.csg-hero h1{font-size:clamp(3.5rem,5.25vw,5.5rem);line-height:1.025;letter-spacing:-.045em;margin:22px 0 25px}
.csg-hero h1 span{display:block;color:#c5d4f2}
.csg-hero .hero-tagline{font-size:clamp(1.08rem,1.35vw,1.3rem);line-height:1.6;font-weight:650;margin:0 0 17px}
.csg-hero .hero-detail{font-size:1rem;line-height:1.75;color:#c0c9da;max-width:495px;margin:0}
.csg-hero .hero-visual{min-height:620px}
.csg-hero .hero-visual:after{background:linear-gradient(90deg,rgba(8,20,44,.18),transparent 25%),linear-gradient(0deg,rgba(3,11,28,.82),transparent 55%)}
.csg-hero .hero-visual img{object-position:43% center}
.csg-hero .vision-statement{left:35px;right:30px;bottom:33px;padding:20px 0 20px 25px;background:transparent;backdrop-filter:none;box-shadow:none;border-left:2px solid #a9bfea;font-size:clamp(1.75rem,2.4vw,2.6rem);line-height:1.1;animation:none}
.hero-actions .button{border-color:#c8d3e8;background:linear-gradient(115deg,#f1f3f7,#bfc8d9);box-shadow:0 8px 28px rgba(0,0,0,.16);border-radius:4px}
.hero-actions .text-link{color:#d3def3;border-bottom-color:rgba(199,213,242,.55)}
.csg-stage-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:48px;margin-bottom:36px}
.csg-stage-heading h2,.csg-invitation h2{font:500 clamp(2.55rem,4.5vw,4.5rem)/1.02 var(--serif);letter-spacing:-.035em;margin:14px 0 0}
.csg-stage-heading h2 em,.csg-invitation h2 em{font-weight:400;color:#b6c9ef}
.csg-stage-heading>p{font-size:1rem;line-height:1.75;color:#bbc6dd;margin:0 0 5px}
.csg-company-stage{position:relative;isolation:isolate;padding:57px 0 34px;overflow:hidden;background:radial-gradient(ellipse at 70% 10%,rgba(29,66,140,.4),transparent 70%),linear-gradient(165deg,#08142b,#0c1e43 60%,#0a1833);scroll-margin-top:0}
.csg-company-stage:before{content:"";position:absolute;z-index:-1;left:-20%;right:-20%;top:35%;height:1px;background:linear-gradient(90deg,transparent,rgba(166,190,237,.16),transparent);transform:rotate(-8deg);pointer-events:none}
.csg-company-stage .csg-stage-heading{margin-bottom:30px}
.csg-company-stage .csg-stage-heading h2{font-size:clamp(2.7rem,4.15vw,4rem)}
.csg-brand-gallery{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-block:1px solid rgba(163,182,221,.22);padding:28px 0 24px}
.csg-brand{min-width:0;padding:0 14px;border-right:1px solid rgba(163,182,221,.16);color:#fff;text-decoration:none;position:relative;display:block}
.csg-brand:first-child{padding-left:0}.csg-brand:last-child{border-right:0;padding-right:0}
.csg-brand-art{height:100px;display:flex;align-items:center;justify-content:center;position:relative;margin-bottom:19px}
.csg-brand-art img{width:100%;height:100%;object-fit:contain;object-position:center;filter:drop-shadow(0 4px 8px rgba(0,0,0,.18))}
.csg-brand-art.edm{height:100px;padding:18px 0}.csg-brand-art.edm img{object-fit:contain;background:transparent;border-radius:0;filter:none}
.csg-brand-art.lrc img{max-width:60px;max-height:85px}
.csg-brand-caption{display:flex;justify-content:space-between;gap:6px;align-items:flex-start}
.csg-brand h3{font:650 14px/1.45 var(--sans);letter-spacing:-.012em;margin:0 0 9px;text-wrap:initial}
.csg-brand-arrow{font-size:15px;line-height:1.5;color:#a9c0ef;flex:0 0 auto}
.csg-brand p{font-size:12px;line-height:1.6;color:#b8c3da;margin:0}
.csg-brand-link:hover h3{color:#bcd0f9}.csg-brand-link:hover .csg-brand-arrow{color:#fff}
.csg-gallery-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-top:18px}
.csg-gallery-bottom>span{color:#acbad6;font-size:13px}.csg-gallery-bottom .text-link{font-size:13px;color:#d4dff6;border-bottom-color:#8b9ec5}
.csg-motion-stage{padding:62px 0 80px;background:radial-gradient(ellipse at 50% 0,rgba(16,43,96,.45),transparent 62%),linear-gradient(180deg,#0a1833,#071124)}
.csg-motion-stage .csg-stage-heading h2{font-size:clamp(2.5rem,4vw,3.9rem)}
.csg-film-frame{max-width:1050px;margin:0 auto;position:relative;padding:10px;border:1px solid rgba(153,177,224,.22);background:linear-gradient(140deg,rgba(119,148,206,.12),rgba(255,255,255,.025));border-radius:10px;box-shadow:0 26px 65px rgba(0,0,0,.24)}
.csg-film-frame:before{content:"";position:absolute;top:-1px;left:16%;right:16%;height:1px;background:linear-gradient(90deg,transparent,#b7caf1,transparent)}
.csg-film-frame video{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#fff;border-radius:4px}
.csg-services-stage{padding:60px 0 66px;background:linear-gradient(135deg,#142c5d,#0b1e43 55%,#07142e);border-top:1px solid rgba(159,182,229,.15)}
.csg-services-stage .csg-stage-heading h2{max-width:730px;font-size:clamp(2.5rem,4vw,3.8rem)}
.csg-services-stage .csg-stage-heading h2 em{display:block}
.csg-service-rail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:46px;margin-top:35px}
.csg-service-rail article{border-top:1px solid rgba(175,193,230,.5);padding-top:20px}
.csg-service-index{font:500 .8rem/1 var(--sans);color:#a7badf;display:block;margin-bottom:20px}
.csg-service-rail h3{font:500 clamp(1.75rem,2.3vw,2.3rem)/1.13 var(--serif);margin:0 0 17px;letter-spacing:-.02em}
.csg-service-rail p{font-size:15px;line-height:1.75;color:#c4cddf;margin:0;max-width:360px}
.csg-invitation{padding:68px 0;background:radial-gradient(ellipse at 10% 70%,rgba(22,59,133,.35),transparent 65%),linear-gradient(120deg,#071229,#070e1c);border-top:1px solid rgba(160,180,221,.16)}
.csg-invitation>.shell{display:flex;align-items:center;justify-content:space-between;gap:50px}
.csg-invitation h2{font-size:clamp(3rem,4.5vw,4.7rem)}
.csg-invitation p{margin:23px 0 0;color:#c0c9dc;max-width:440px;line-height:1.7}
.csg-invitation-action{display:flex;flex-direction:column;align-items:flex-start;gap:25px}
.csg-invitation .button{border-radius:4px;background:linear-gradient(120deg,#f0f2f7,#bec9de)}
.csg-email{font-size:15px;color:#d3def3;text-decoration-color:#798baf;text-underline-offset:7px;overflow-wrap:anywhere}
.site-footer{padding:47px 0 24px}.footer-grid{gap:42px}.technical-contact p{line-height:1.6}.scope-note{margin-top:28px;padding:17px 0;font-size:12px}.footer-bottom{padding-top:16px;font-size:12px}.footer-bottom p{margin-bottom:0}.footer-nav{gap:5px}.footer-nav a{font-size:14px;min-height:28px}.technical-contact p{font-size:13px}.footer-nav strong,.technical-contact strong{font-size:12px}.technical-contact strong:not(:first-child){margin-top:22px}
@media(prefers-reduced-motion:no-preference){.csg-hero .hero-inner{animation:csg-arrive .65s cubic-bezier(.16,.65,.25,1) both}.csg-hero .vision-statement{animation:csg-arrive .8s cubic-bezier(.16,.65,.25,1) .12s both}.csg-brand-art,.csg-brand-arrow{transition:transform .25s ease}.csg-brand-link:hover .csg-brand-art{transform:translateY(-4px)}.csg-brand-link:hover .csg-brand-arrow{transform:translate(2px,-2px)}.csg-entered{animation:csg-arrive .6s cubic-bezier(.16,.65,.25,1) both}@keyframes csg-arrive{from{opacity:.45;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}}
@media(max-width:1200px){.csg-brand-gallery{grid-template-columns:repeat(8,minmax(0,1fr));row-gap:28px}.csg-brand{grid-column:span 2;padding:0 20px}.csg-brand:first-child{padding-left:20px}.csg-brand:nth-child(4){border-right:0}.csg-brand:nth-child(5){grid-column:2/span 2}.csg-brand:last-child{padding-right:20px}.csg-brand-art{height:105px}.csg-brand h3{font-size:15px}.csg-hero .hero-inner{width:calc(100% - 40px);padding-right:30px}.csg-hero h1{font-size:4.1rem}.csg-hero .hero-copy{padding-block:45px}.csg-service-rail{gap:32px}}
@media(max-width:820px){.hero.csg-hero{grid-template-columns:1fr;min-height:0}.csg-hero .hero-copy{padding:41px 0 35px}.csg-hero .hero-inner{width:min(680px,calc(100% - 44px));padding:0;margin-inline:auto}.csg-hero h1{font-size:clamp(3.1rem,8vw,4.1rem);max-width:630px;margin:18px 0 22px}.csg-hero h1 span{display:inline}.csg-hero .hero-detail{max-width:620px;font-size:1rem}.csg-hero .hero-tagline{font-size:1.12rem;line-height:1.5}.csg-hero .hero-actions{margin-top:25px;flex-direction:row;gap:20px;align-items:center}.csg-hero .hero-visual{min-height:0;display:block}.csg-hero .hero-visual>img{width:100%;height:330px;object-fit:cover;object-position:center 44%}.csg-hero .hero-visual:after{display:block;background:linear-gradient(0deg,rgba(3,11,28,.87),transparent 75%)}.csg-hero .vision-statement{position:absolute;left:24px;right:24px;bottom:22px;padding:9px 0 9px 18px;background:none;font-size:1.75rem;border-left-width:2px}.csg-stage-heading{gap:28px;align-items:flex-start;flex-direction:column;margin-bottom:25px}.csg-stage-heading>p{font-size:15px;margin:0}.csg-stage-heading h2,.csg-company-stage .csg-stage-heading h2{font-size:3rem}.csg-company-stage{padding-top:39px;padding-bottom:28px}.csg-brand-gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 0;padding:20px 0}.csg-brand{padding:0 16px}.csg-brand:first-child{padding-left:16px}.csg-brand:nth-child(even){border-right:0}.csg-brand:nth-child(5){grid-column:span 2}.csg-brand:last-child{grid-column:2/span 2;padding-right:16px;border:0}.csg-brand-art{height:90px;margin-bottom:10px}.csg-brand-art.edm{height:90px;padding:15px 0}.csg-brand h3{font-size:14px;line-height:1.5}.csg-brand p{font-size:12px}.csg-gallery-bottom{display:block}.csg-gallery-bottom>span{display:block;font-size:13px;margin-bottom:10px}.csg-motion-stage{padding:43px 0 48px}.csg-motion-stage .csg-stage-heading h2{font-size:2.8rem}.csg-film-frame{padding:5px;border-radius:6px}.csg-services-stage{padding:41px 0 44px}.csg-services-stage .csg-stage-heading h2{font-size:2.8rem}.csg-service-rail{grid-template-columns:1fr;gap:25px;margin-top:28px}.csg-service-rail article{padding-top:20px;position:relative}.csg-service-index{position:absolute;top:27px;right:0}.csg-service-rail h3{font-size:2rem;padding-right:35px;margin-bottom:13px}.csg-service-rail p{max-width:630px}.csg-invitation{padding:43px 0}.csg-invitation>.shell{display:block}.csg-invitation h2{font-size:3.4rem}.csg-invitation-action{margin-top:30px;gap:20px}.csg-email{font-size:14px}.site-footer{padding-top:37px}.footer-grid{gap:26px}.footer-brand{max-width:240px}.scope-note{margin-top:20px}.footer-bottom{gap:8px}}
@media(max-width:460px){.csg-hero h1{font-size:clamp(2.8rem,11.75vw,3.45rem);line-height:1.025}.csg-hero .hero-tagline{font-size:17px}.csg-hero .hero-detail{font-size:15px}.csg-hero .hero-actions{gap:18px}.csg-hero .button{padding:14px 16px;font-size:13px}.csg-hero .text-link{font-size:13px}.csg-hero .hero-visual>img{height:290px}.csg-hero .vision-statement{font-size:1.5rem;bottom:19px}.csg-stage-heading h2,.csg-company-stage .csg-stage-heading h2{font-size:2.7rem}.csg-brand{padding:0 12px}.csg-brand:first-child{padding-left:12px}.csg-brand:last-child{padding-right:12px}.csg-brand-art{height:84px}.csg-brand-art.edm{height:84px;padding:16px 0}.csg-brand h3{font-size:13px}.csg-brand p{font-size:11px}.csg-brand-art.lrc img{max-height:73px}.csg-motion-stage .csg-stage-heading h2,.csg-services-stage .csg-stage-heading h2{font-size:2.5rem}.csg-invitation h2{font-size:3rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.csg-hero .hero-inner,.csg-hero .vision-statement,.csg-entered{animation:none!important;transform:none!important;opacity:1!important}.csg-brand-art,.csg-brand-arrow{transition:none!important}.csg-brand-link:hover .csg-brand-art,.csg-brand-link:hover .csg-brand-arrow{transform:none!important}}

/* Each original mark has its own space; the homepage stays an introduction. */
.csg-brand-gallery{grid-template-columns:repeat(8,minmax(0,1fr));gap:14px;border:0;padding:0}
.csg-brand,.csg-brand:first-child,.csg-brand:last-child{grid-column:span 2;padding:18px 20px;border:1px solid rgba(168,188,229,.24);border-radius:6px;background:linear-gradient(145deg,rgba(34,55,98,.66),rgba(6,16,36,.7));box-shadow:inset 0 1px 0 rgba(215,227,250,.05)}
.csg-brand:nth-child(5){grid-column:span 2}
.csg-brand:nth-child(4),.csg-brand:nth-child(even){border-right:1px solid rgba(168,188,229,.24)}
.csg-brand-art,.csg-brand-art.edm{height:82px;margin-bottom:16px;padding:8px 12px}
.csg-brand-art.edm img{object-fit:contain;background:transparent;border-radius:0}
.csg-brand-art.lrc img{max-height:76px}
.csg-brand h3{font-size:14px;margin-bottom:6px}.csg-brand p{font-size:12px}
.csg-brand-link:hover{border-color:#a1b5dd;background:linear-gradient(145deg,rgba(45,71,122,.7),rgba(9,21,46,.8))}
.csg-brand-link:hover .csg-brand-art{transform:none}
.csg-company-stage{padding-block:40px 30px}
.csg-company-stage .csg-stage-heading h2{font-size:clamp(2.4rem,3.7vw,3.5rem)}
.csg-motion-stage{padding-block:32px 42px}
.csg-motion-stage .csg-stage-heading{margin-bottom:24px}.csg-motion-stage .csg-stage-heading>p{display:none}
.csg-film-frame{max-width:920px}
.csg-support-links{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:22px;max-width:570px}
.csg-support-links a{color:#d7e1f5;font-size:14px;text-underline-offset:5px;padding-block:8px}
.csg-home-footer{padding-block:24px 18px}
.csg-footer-row{display:flex;align-items:center;justify-content:space-between;gap:25px}
.csg-footer-row>a{display:block;width:175px;flex:0 0 auto;background:#fff;border-radius:3px;padding:7px 10px}
.csg-footer-row img{display:block;width:100%;height:auto}
.csg-footer-row nav{display:flex;flex-wrap:wrap;gap:10px 26px}
.csg-footer-row nav a{font-size:13px;color:inherit;padding-block:9px;text-underline-offset:4px}
.csg-home-footer .scope-note{margin-top:12px;padding-block:10px}.csg-home-footer .footer-bottom{padding-top:10px}
@media(max-width:820px){
 .csg-hero .hero-copy{padding-block:30px}.csg-hero .hero-visual>img{height:205px}
 .csg-brand-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .csg-brand,.csg-brand:first-child,.csg-brand:last-child,.csg-brand:nth-child(5){grid-column:auto;padding:13px 12px}
 .csg-brand-art,.csg-brand-art.edm{height:66px;padding:6px;margin-bottom:10px}
 .csg-brand-art.lrc img{max-height:68px}
 .csg-brand h3{font-size:13px;line-height:1.35}.csg-brand p{font-size:12px;line-height:1.45}
 .csg-company-stage .csg-stage-heading{gap:12px}.csg-company-stage .csg-stage-heading h2{font-size:2.35rem}.csg-company-stage .csg-stage-heading h2 br{display:none}
 .csg-company-stage .csg-stage-heading>p br{display:none}
 .csg-gallery-bottom>span{display:none}.csg-gallery-bottom{padding-top:14px}
 .csg-motion-stage .csg-stage-heading{gap:0}.csg-motion-stage .csg-stage-heading h2{font-size:2.2rem}
 .csg-invitation{padding-block:32px}.csg-invitation h2{font-size:2.7rem}.csg-invitation h2 br{display:none}
 .csg-invitation p{margin-top:17px}.csg-invitation-action{margin-top:20px;gap:16px}
 .csg-footer-row{align-items:flex-start;gap:18px;flex-direction:column}.csg-footer-row>a{width:140px}
 .csg-footer-row nav{gap:2px 20px}.csg-home-footer .footer-bottom{display:block}.csg-home-footer .footer-bottom p:last-child{display:none}
}

/* Match the white presentation panels; frame empty source margins without altering the artwork. */
.csg-brand-art.edm,.csg-brand-art.left-coast{background:#fff;border-radius:3px}
.csg-brand-art.edm img,.csg-brand-art.left-coast img{object-fit:contain;background:transparent;border-radius:0;filter:none}
.business-mark.edm,.business-mark.left-coast{background:#fff}
.csg-brand-art.edm img,.business-mark.edm img{object-view-box:inset(25% 5% 26% 7%)}
.csg-brand-art.left-coast img,.business-mark.left-coast img{object-view-box:inset(18% 2% 22% 2%)}
.page-hero{min-height:340px;padding:60px 0 44px}
.page-hero h1{font-size:clamp(2.6rem,4.8vw,4.6rem)}
.section,.editorial,.stewardship{padding-block:56px}
.support-card{min-height:0;padding:28px}.support-card h3{font-size:2rem}.service-list{margin-top:20px;padding-top:16px}
.process-step{min-height:0}.process-step strong{margin-top:26px}
.image-break,.image-break img{min-height:0;height:300px}
.work-stories-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.work-story{padding:20px}
.business-mark{height:110px;margin-bottom:12px;padding:12px}.work-story h2{font-size:1.65rem}.work-story p{font-size:15px;margin-bottom:0}
.work-stories-grid>.work-story:last-child{grid-column:auto;width:auto}
.policy-hero,.policy-content{padding-block:48px}
.site-footer .scope-note,.site-footer .technical-contact p{font-size:16px;line-height:1.7;color:#162b54;max-width:78ch}
.site-footer .footer-bottom{font-size:14px;line-height:1.6}
.site-footer .scope-note a{font-weight:650;text-decoration:underline;text-underline-offset:3px}
.site-footer .csg-footer-row nav a,.site-footer .footer-nav a{font-size:15px;min-height:44px;display:inline-flex;align-items:center}
.policy-sections{max-width:76ch;gap:22px}
.policy-sections p,.policy-sections li{font-size:17px;line-height:1.75}
.policy-sections h2{line-height:1.2}
.policy-sections a{text-decoration:underline;text-underline-offset:3px}
.stewardship .eyebrow,.feature-band .eyebrow{color:#164094}
@media(max-width:1000px){.work-stories-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){
 .page-hero{min-height:0;padding-block:34px}.page-hero p{font-size:1.05rem;margin-top:18px}.page-hero h1{font-size:2.7rem}
 .section,.editorial,.stewardship{padding-block:34px}.section-head{margin-bottom:24px}.editorial-grid,.steward-grid{gap:28px}
 .quote-panel{position:static;padding:26px}.quote-panel blockquote{font-size:2.1rem}.steward-copy h2{font-size:2.5rem}
 .work-stories-grid{grid-template-columns:1fr;gap:14px}.work-story{display:grid;grid-template-columns:100px minmax(0,1fr);column-gap:16px;padding:18px}
 .work-story .business-mark{grid-column:1;grid-row:1/3;height:95px;margin:0;padding:8px}.work-story h2{grid-column:2;margin:0 0 10px;font-size:1.35rem;align-self:center}.work-story p{grid-column:1/-1;margin-top:10px;font-size:15px}.work-story .business-site-link{grid-column:1/-1;font-size:14px;padding-top:12px}
 .support-card{padding:23px}.support-card h3{font-size:1.9rem;margin:20px 0 14px}.service-list li{padding-block:7px;font-size:15px}
 .process-grid{gap:18px}.process-step{padding:24px}.process-step strong{margin-top:18px}.process-step h3{font-size:1.7rem}
 .content-card,.contact-note{padding:22px}.content-stack{gap:16px}
 .feature-band{padding-block:34px}.feature-photo{min-height:0}.feature-photo img{max-height:240px}.feature-grid{gap:26px}.feature-copy h2{font-size:2.3rem}
 .image-break,.image-break img{height:230px}.image-break .overlay{font-size:1.7rem;padding:25px 20px}
 .policy-hero,.policy-content{padding-block:32px}.policy-layout{gap:24px}.policy-sections section{padding:20px}.policy-sections h2{font-size:1.5rem}
}
