@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--navy:#071D4A;--gold:#F2C300;--paper:#fff;--section:#F5F8F6;--ink:#071D4A;--footer:#06163A;--head:#fff;--shell:1320px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:500;line-height:1.08;letter-spacing:-.035em}h1{font-size:clamp(3.2rem,6.3vw,6.8rem)}h2{font-size:clamp(2.3rem,4vw,4.6rem)}h3{line-height:1.2}.cpg-shell{width:min(var(--shell),calc(100% - 88px));margin-inline:auto}.cpg-skip{position:absolute;left:10px;top:-100px;padding:12px;background:#fff;z-index:100}.cpg-skip:focus{top:10px}.cpg-header{position:relative;z-index:20;background:var(--head);box-shadow:0 6px 20px #14253d12}.cpg-header-inner{height:98px;display:flex;align-items:center;justify-content:space-between;gap:28px}.cpg-brand{flex:none}.cpg-brand img{width:auto;height:var(--logo-height);max-width:196px;object-fit:contain}.cpg-nav{display:flex;align-items:center;gap:clamp(13px,1.55vw,28px);margin-left:auto}.cpg-nav a{font-size:var(--menu-size);font-weight:700;white-space:nowrap;position:relative}.cpg-nav a:hover{color:var(--green)}.cpg-nav a:first-child:after{position:absolute;content:'';height:2px;background:var(--gold);left:0;right:0;bottom:-12px}.cpg-header-cta,.cpg-button{display:inline-flex;align-items:center;justify-content:center;gap:21px;white-space:nowrap;font-weight:700;font-size:13px;min-height:48px;padding:13px 22px;border-radius:2px;transition:transform .2s ease,background-color .2s ease}.cpg-header-cta{background:var(--gold);margin-left:12px}.cpg-header-cta:hover,.cpg-button:hover{transform:translateY(-2px)}.cpg-menu-toggle{display:none;background:none;border:0;font-size:26px;color:var(--navy)}.cpg-hero{height:min(680px,70vw);min-height:560px;position:relative;overflow:hidden;background:#0c2337;color:#fff}.cpg-hero-slide{position:absolute;inset:0}.cpg-hero-slide[hidden]{display:none}.cpg-hero-photo{width:100%;height:100%;object-fit:cover;object-position:center 42%}.cpg-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#071b2de8 0%,#0b213bd6 24%,#0b213b72 48%,#0b213b05 76%)}.cpg-hero-content{position:absolute;inset:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding-block:60px;pointer-events:none}.cpg-hero-content>*{pointer-events:auto}.cpg-hero h1{max-width:760px;margin:26px 0 20px}.cpg-hero h1 em{color:var(--gold);font-weight:400}.cpg-hero-content>p{max-width:500px;line-height:1.6;font-size:17px;margin-bottom:28px;color:#e7edf2}.cpg-overline{display:inline-flex;align-items:center;gap:12px;color:#008D4A;letter-spacing:.19em;font-size:10px;font-weight:800;text-transform:uppercase}.cpg-overline:before{content:'';height:1px;width:32px;background:var(--gold)}.cpg-overline-light{color:#f4ede0}.cpg-actions{display:flex;gap:12px;flex-wrap:wrap}.cpg-button-gold{background:var(--gold);color:#071D4A;border:1px solid var(--gold)}.cpg-button-outline{color:#fff;border:1px solid #ffffffa6;background:#ffffff10}.cpg-carousel-controls{position:absolute;bottom:22px;right:max(44px,calc((100vw - var(--shell))/2));z-index:5;display:flex;align-items:center;gap:10px;background:#06163Ac9;border:1px solid #ffffff55;color:#fff;padding:6px 12px}.cpg-carousel-controls button{background:none;border:0;color:#fff;font-size:17px;padding:5px}.cpg-carousel-controls [data-pause]{font-size:11px;margin-left:6px}.cpg-carousel-count{font-size:11px;letter-spacing:.14em}.cpg-ribbon{background:var(--banner-band);color:#fff}.cpg-ribbon-grid{display:grid;grid-template-columns:repeat(4,1fr)}.cpg-ribbon-item{display:flex;align-items:center;gap:14px;min-height:108px;padding:22px 18px;border-right:1px solid #ffffff30}.cpg-ribbon-item:first-child{padding-left:0}.cpg-ribbon-item:last-child{border:0}.cpg-ribbon-item strong{color:var(--gold);font-family:'Playfair Display',Georgia,serif;font-size:28px;font-weight:500;white-space:nowrap}.cpg-ribbon-item span{font-size:12px;line-height:1.4;color:#d8e0e9}.cpg-section{padding-block:100px}.cpg-section-heading{display:flex;justify-content:space-between;gap:60px;align-items:end;margin-bottom:34px}.cpg-section-heading h2{margin:18px 0 0}.cpg-section-heading>p{max-width:380px;color:#536375;line-height:1.65;margin:0 0 6px;font-size:14px}.cpg-segments{background:var(--section)}.cpg-segment-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.cpg-segment-card{min-width:0;background:#fff;border:1px solid #e7e6e2;box-shadow:0 10px 30px #15243d0d;transition:transform .2s,box-shadow .2s}.cpg-segment-card:hover{transform:translateY(-5px);box-shadow:0 16px 35px #15243d20}.cpg-segment-image{aspect-ratio:1.1;overflow:hidden}.cpg-segment-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.cpg-segment-card:hover img{transform:scale(1.04)}.cpg-segment-body{padding:20px 22px 22px;min-height:190px;position:relative}.cpg-segment-tag{font-size:10px;font-weight:800;letter-spacing:.15em;color:#008D4A;text-transform:uppercase}.cpg-segment-body h3{font-family:'Playfair Display',Georgia,serif;font-size:24px;font-weight:500;margin:10px 0}.cpg-segment-body p{font-size:13px;line-height:1.5;color:#5f6d7b;max-width:210px}.cpg-circle-arrow{position:absolute;right:20px;bottom:20px;border:1px solid var(--gold);color:#008D4A;width:28px;height:28px;border-radius:50%;display:grid;place-items:center}.cpg-methods{background:#fff}.cpg-method-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.cpg-method{border:1px solid #edeae5;background:#fff;padding:24px 18px;min-height:230px;box-shadow:0 8px 20px #071D4A09}.cpg-method-num{font-family:'Playfair Display',Georgia,serif;color:var(--gold);font-size:34px}.cpg-method h3{font-size:16px;margin:26px 0 9px}.cpg-method p{font-size:12px;color:#6b7785;line-height:1.5}.cpg-structure{display:grid;grid-template-columns:1fr 1fr 19%;min-height:520px;background:#071D4A;color:#fff}.cpg-structure-main{position:relative;overflow:hidden}.cpg-structure-main>img{width:100%;height:100%;object-fit:cover}.cpg-image-disclosure{position:absolute;bottom:15px;left:15px;background:#06163Acb;padding:7px 10px;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.cpg-structure-copy{padding:70px clamp(30px,4vw,70px);align-self:center}.cpg-structure-copy h2{font-size:clamp(2.4rem,3.3vw,4.1rem);margin:18px 0}.cpg-structure-copy p{max-width:480px;color:#c7d4df;font-size:14px;line-height:1.7}.cpg-structure-copy ul{list-style:none;padding:8px 0;margin:15px 0 26px;display:grid;gap:10px}.cpg-structure-copy li{display:flex;align-items:center;gap:11px;font-size:13px}.cpg-structure-copy li span{background:var(--gold);color:#071D4A;border-radius:50%;width:19px;height:19px;display:grid;place-items:center;font-size:12px}.cpg-structure-photos{display:grid;grid-template-rows:repeat(3,1fr);gap:6px;padding:6px 6px 6px 0}.cpg-structure-photos button{padding:0;border:0;overflow:hidden}.cpg-structure-photos img{width:100%;height:100%;object-fit:cover}.cpg-about{background:var(--section)}.cpg-about-grid{display:grid;grid-template-columns:1fr 1.15fr .75fr;gap:44px;align-items:center}.cpg-about h2{margin:17px 0}.cpg-about p{line-height:1.75;color:#546478;font-size:14px}.cpg-text-link{display:inline-flex;gap:16px;align-items:center;color:#008D4A;font-weight:800;font-size:13px;border-bottom:1px solid var(--gold);padding-bottom:8px;margin-top:14px}.cpg-about-visual{position:relative}.cpg-about-visual img{width:100%;aspect-ratio:4/3;object-fit:cover}.cpg-about-visual span{position:absolute;bottom:-16px;left:-16px;background:var(--gold);font-family:'Playfair Display',Georgia,serif;padding:19px 24px;font-size:20px}.cpg-about-points{display:grid;gap:16px}.cpg-about-points>div{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid #ece8e1;padding:16px;font-size:13px;font-weight:700;line-height:1.4}.cpg-gold-dot{display:block;flex:none;width:30px;height:30px;border:1px solid var(--gold);border-radius:50%;position:relative}.cpg-gold-dot:after{content:'✓';color:#008D4A;position:absolute;inset:0;display:grid;place-items:center}.cpg-gallery{background:#fff}.cpg-gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.cpg-gallery-grid button{position:relative;border:0;padding:0;text-align:left;overflow:hidden;height:310px}.cpg-gallery-grid img{width:100%;height:100%;object-fit:cover}.cpg-gallery-grid button:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#081e31b8)}.cpg-gallery-grid span{position:absolute;left:24px;bottom:20px;z-index:1;color:white;font-family:'Playfair Display',Georgia,serif;font-size:27px}.cpg-article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.cpg-article-grid a{padding:28px;border:1px solid #e8e7e4}.cpg-article-grid h3{font-family:'Playfair Display',Georgia,serif;font-size:22px}.cpg-article-grid p{color:#697484;font-size:13px}.cpg-article-grid span{font-weight:700;color:#008D4A}.cpg-cta{position:relative;background:#0c243e;color:white;min-height:360px;display:flex;align-items:center;overflow:hidden}.cpg-cta>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 38%;opacity:.24}.cpg-cta:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#071b2dea,#071D4Aa8 55%,#071D4A20)}.cpg-cta-inner{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:30px;padding-block:60px}.cpg-cta h2{margin:16px 0}.cpg-cta h2 em{color:var(--gold)}.cpg-cta p{color:#d3dce6;max-width:600px;line-height:1.6}.cpg-faq{background:var(--section)}.cpg-faq-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px}.cpg-faq h2{margin-top:20px}.cpg-faq details{border-bottom:1px solid #d8d8d2;padding:20px 0}.cpg-faq summary{font-size:15px;font-weight:700;list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:15px}.cpg-faq summary::-webkit-details-marker{display:none}.cpg-faq summary span{color:#008D4A}.cpg-faq details p{margin:14px 30px 0 0;color:#647080;line-height:1.6;font-size:14px}.cpg-visit{background:#fff}.cpg-visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}.cpg-visit h2{margin:18px 0}.cpg-visit-grid>div:first-child>p{color:#5e6f7f;line-height:1.65;max-width:490px}.cpg-contact-lines{border-top:1px solid #e5e3de;margin-top:26px;padding-top:8px}.cpg-contact-lines p{margin:18px 0;color:#273a4d;font-size:14px}.cpg-contact-lines strong{display:block;color:#008D4A;text-transform:uppercase;letter-spacing:.13em;font-size:10px;margin-bottom:5px}.cpg-visit-form-wrap{background:#F5F8F6;border:1px solid #DAE8DC;padding:38px}.cpg-visit-form h3,.cpg-preview-form h3{font-family:'Playfair Display',Georgia,serif;font-size:34px;font-weight:500;margin-bottom:9px}.cpg-visit-form>p,.cpg-preview-form>p{color:#6a7685;font-size:13px;line-height:1.6}.cpg-visit-form label{display:block;font-size:12px;font-weight:700;margin:13px 0}.cpg-visit-form input:not([type=checkbox]),.cpg-visit-form select,.cpg-visit-form textarea,.cpg-preview-form input{display:block;width:100%;border:1px solid #d7d8d8;background:white;padding:13px;margin-top:6px;border-radius:2px;outline-color:var(--gold)}.cpg-visit-form .cpg-consent{display:flex;align-items:start;gap:8px;font-weight:400;line-height:1.5}.cpg-consent input{accent-color:#008D4A;margin-top:2px}.cpg-consent a{text-decoration:underline}.cpg-visit-form .cpg-button,.cpg-preview-form .cpg-button{width:100%;border:0;margin-top:10px}.cpg-trap{position:absolute!important;left:-10000px}.form-status{font-size:13px}.continue-wa{display:block;padding-top:12px;text-decoration:underline}.cpg-map-wrap{margin-top:50px}.cpg-map-wrap iframe{width:100%;border:0}.cpg-footer{background:var(--footer);color:#f5f5f5;padding-top:70px}.cpg-footer-main{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:50px;padding-bottom:70px}.cpg-footer-main img{width:200px;max-height:82px;object-fit:contain;object-position:left;background:#fff;padding:8px;border-radius:3px}.cpg-footer-main p,.cpg-footer-main a{font-size:13px;color:#c2ceda;line-height:1.7}.cpg-footer-main>div{display:flex;flex-direction:column;align-items:start;gap:8px}.cpg-footer-main strong{font-size:13px;margin-bottom:13px}.cpg-footer-main a:hover{color:var(--gold)}.cpg-footer-bottom{border-top:1px solid #ffffff30;padding:22px 0;display:flex;justify-content:space-between;font-size:11px;color:#a7b5c4}.cpg-detail,.cpg-page-head{padding-block:80px}.cpg-detail{background:#F7FBF8}.cpg-back{display:inline-block;font-size:13px;margin-bottom:35px;color:var(--green)}.cpg-detail-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:55px;align-items:center}.cpg-detail h1,.cpg-page-head h1{font-size:clamp(3rem,5vw,5rem);margin:20px 0}.cpg-detail p,.cpg-page-head p{font-size:15px;color:#5a6c7b;line-height:1.7}.cpg-detail-lead{font-size:20px!important;color:#193b5b!important}.cpg-detail ul{padding-left:20px;line-height:2}.cpg-detail-grid img{width:100%;height:500px;object-fit:cover}.cpg-space-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding-bottom:90px}.cpg-space-grid button{border:1px solid #e1e0dc;background:white;text-align:left;padding:0 0 18px}.cpg-space-grid img{width:100%;height:230px;object-fit:cover;margin-bottom:15px}.cpg-space-grid strong,.cpg-space-grid span{display:block;padding:0 18px}.cpg-space-grid span{font-size:12px;color:#697685;margin-top:6px}.cpg-lightbox{width:min(1000px,94vw);max-height:92vh;padding:0;border:0;background:#fff;box-shadow:0 20px 80px #0006}.cpg-lightbox::backdrop{background:#051524c9}.cpg-lightbox>img{width:100%;max-height:70vh;object-fit:contain;background:#0a1724}.cpg-lightbox>div{padding:20px 28px}.cpg-lightbox h2{font-size:25px;margin-bottom:4px}.cpg-lightbox p{font-size:13px;color:#5a6877}.cpg-lightbox-close{position:absolute;right:10px;top:10px;width:40px;height:40px;background:#fff;border:0;font-size:25px;z-index:1}
@media(max-width:1150px){.cpg-header-inner{height:82px}.cpg-nav{gap:12px}.cpg-nav a{font-size:11px}.cpg-header-cta{font-size:11px;padding:10px}.cpg-method-grid{grid-template-columns:repeat(3,1fr)}.cpg-structure{grid-template-columns:1fr 1fr}.cpg-structure-photos{display:none}.cpg-about-grid{grid-template-columns:1fr 1fr}.cpg-about-points{grid-column:1/-1;grid-template-columns:repeat(4,1fr)}}
@media(max-width:820px){.cpg-shell{width:min(100% - 36px,var(--shell))}.cpg-header-inner{height:76px}.cpg-brand img{height:min(var(--logo-height),55px)}.cpg-menu-toggle{display:block;margin-left:auto}.cpg-header-cta{display:none}.cpg-nav{display:none;position:absolute;top:76px;left:0;right:0;background:#fff;box-shadow:0 16px 24px #071D4A22;padding:20px;flex-direction:column;align-items:stretch;gap:0}.cpg-nav.is-open{display:flex}.cpg-nav a{padding:12px 0;font-size:14px;border-bottom:1px solid #eee}.cpg-nav a:first-child:after{display:none}.cpg-hero{height:610px;min-height:0}.cpg-hero-photo{object-position:65% center}.cpg-hero-shade{background:linear-gradient(90deg,#071b2df2 0%,#0b213bb5 55%,#0b213b14 100%)}.cpg-hero h1{font-size:clamp(2.9rem,8vw,4.6rem);max-width:520px}.cpg-hero-content>p{max-width:450px}.cpg-ribbon-grid{grid-template-columns:repeat(2,1fr)}.cpg-ribbon-item{min-height:95px;border-bottom:1px solid #ffffff30}.cpg-ribbon-item:nth-child(2){border-right:0}.cpg-section{padding-block:72px}.cpg-segment-grid{grid-template-columns:repeat(2,1fr)}.cpg-structure{grid-template-columns:1fr}.cpg-structure-main{height:400px}.cpg-structure-copy{padding:55px 35px}.cpg-about-grid{grid-template-columns:1fr 1fr}.cpg-about-points{grid-template-columns:repeat(2,1fr)}.cpg-visit-grid,.cpg-detail-grid{gap:36px}.cpg-footer-main{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.cpg-header-inner{height:68px}.cpg-nav{top:68px}.cpg-brand img{height:51px}.cpg-hero{height:650px}.cpg-hero-photo{object-position:65% center}.cpg-hero-shade{background:linear-gradient(90deg,#071b2df2,#0b213ba6),linear-gradient(0deg,#071b2d88,transparent 45%)}.cpg-hero-content{justify-content:flex-end;padding-bottom:72px}.cpg-hero h1{font-size:clamp(2.9rem,12vw,4.5rem);margin:16px 0}.cpg-hero-content>p{font-size:14px}.cpg-carousel-controls{right:18px;bottom:14px}.cpg-actions{gap:8px}.cpg-button{font-size:11px;padding:12px 14px;min-height:44px}.cpg-ribbon-grid{grid-template-columns:1fr 1fr}.cpg-ribbon-item{padding:14px 10px;align-items:start;flex-direction:column;gap:4px;min-height:90px}.cpg-ribbon-item strong{font-size:22px}.cpg-ribbon-item span{font-size:10px}.cpg-section-heading{display:block}.cpg-section-heading>p{margin-top:15px}.cpg-segment-grid{gap:12px}.cpg-segment-image{aspect-ratio:1}.cpg-segment-body{padding:12px;min-height:160px}.cpg-segment-body h3{font-size:19px}.cpg-segment-body p{font-size:11px}.cpg-circle-arrow{right:9px;bottom:8px}.cpg-method-grid{grid-template-columns:repeat(2,1fr)}.cpg-method{min-height:185px;padding:16px}.cpg-method h3{font-size:14px;margin:15px 0 7px}.cpg-method p{font-size:11px}.cpg-structure-main{height:280px}.cpg-structure-copy{padding:48px 20px}.cpg-about-grid{display:block}.cpg-about-visual{margin:35px 0}.cpg-about-points{grid-template-columns:repeat(2,1fr)}.cpg-about-points>div{padding:11px;font-size:11px}.cpg-gallery-grid{grid-template-columns:1fr}.cpg-gallery-grid button{height:240px}.cpg-cta-inner{display:block}.cpg-cta .cpg-button{margin-top:14px}.cpg-faq-grid,.cpg-visit-grid,.cpg-detail-grid{display:block}.cpg-faq-grid>div+div,.cpg-visit-form-wrap,.cpg-detail-grid img{margin-top:30px}.cpg-visit-form-wrap{padding:22px}.cpg-footer-main{grid-template-columns:repeat(2,1fr);gap:30px}.cpg-footer-main>div:first-child{grid-column:1/-1}.cpg-footer-bottom{gap:15px;flex-wrap:wrap}.cpg-detail-grid img{height:280px}.cpg-space-grid{grid-template-columns:1fr}.cpg-space-grid img{height:230px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

:root{--green:#008D4A}.cpg-header{border-bottom:3px solid var(--green)}.cpg-nav a:hover,.cpg-text-link,.cpg-overline{color:var(--green)}.cpg-overline-light{color:#fff}.cpg-overline:before,.cpg-nav a:first-child:after{background:var(--green)}.cpg-segment-tag,.cpg-circle-arrow{color:var(--green)}.cpg-circle-arrow{border-color:var(--green)}.cpg-button-gold,.cpg-header-cta{background:var(--button);color:var(--button-text);border-color:var(--button)}.cpg-button-gold:hover,.cpg-header-cta:hover{background:#ffe13b}.cpg-method-num{color:var(--green)}.cpg-contact-lines strong{color:var(--green)}.cpg-about-visual span{background:var(--gold);color:var(--navy)}
@media(max-width:820px){.cpg-section-heading{display:block}.cpg-section-heading>p{margin-top:16px;max-width:580px}}

/* CPG directions and map */
.cpg-route-links{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}.cpg-route-link{display:inline-flex;align-items:center;justify-content:center;min-height:43px;padding:10px 16px;border-radius:3px;font-size:12px;font-weight:800;transition:transform .2s ease,box-shadow .2s ease}.cpg-route-link:hover{transform:translateY(-2px);box-shadow:0 7px 20px #071D4A20}.cpg-route-map{background:var(--gold);color:var(--navy)}.cpg-route-uber{background:var(--navy);color:#fff}.cpg-route-bus{background:var(--green);color:#fff}.cpg-route-note{font-size:11px!important;color:#647080!important;margin-top:11px}.cpg-map-wrap{border-top:4px solid var(--gold);padding-top:12px}.cpg-map-wrap iframe{display:block;border-radius:5px;box-shadow:0 10px 34px #071D4A15}

/* Compact banner, complete photo framing and discreet pedagogical logos. */
.cpg-hero{height:min(550px,58vw);min-height:470px}
.cpg-hero h1{font-size:clamp(3.1rem,5.5vw,5.9rem)}
.cpg-structure-main>img{object-position:left center}
.cpg-about-visual img{aspect-ratio:16/9;height:auto;object-fit:contain}
.cpg-about-visual span{left:14px;bottom:14px}
.cpg-about-logo-card{position:absolute;z-index:2;top:20px;left:20px;width:120px;height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:#fff;border-radius:16px;box-shadow:0 8px 24px #071D4A36;pointer-events:none}
.cpg-about-logo-mark{width:68px;height:66px;background:url('cpg-logo.png') -10px -5px/253px 89px no-repeat}
.cpg-about-logo-word{width:99px;height:27px;background:url('cpg-logo.png') -45px -12px/148px 52px no-repeat}
.cpg-method{min-height:240px;padding:18px 14px}
.cpg-method h3{margin:4px 0 8px}
.cpg-method-logo{display:block;width:88px;height:88px;margin:0 auto 15px;background-image:url('cpg-metodologias-referencia.png');background-repeat:no-repeat;background-size:363px 381px}
.cpg-method-logo-amplia{background-position:0 -33px}
.cpg-method-logo-lider{background-position:-94px -33px}
.cpg-method-logo-mind{background-position:0 -127px}
.cpg-method-logo-empreendedorismo{background-position:-94px -127px}
.cpg-method-logo-computacional{background-position:0 -220px}
.cpg-method-logo-esportes{background-position:-94px -220px}
.cpg-method-logo-custom{object-fit:contain;background:none}
@media(max-width:820px){.cpg-hero{height:520px;min-height:0}}
@media (min-width:561px) and (max-width:820px){.cpg-about-logo-card{top:12px;left:12px;transform:scale(.65);transform-origin:top left}}
@media(max-width:560px){.cpg-hero{height:570px}.cpg-hero h1{font-size:clamp(2.65rem,10vw,4.2rem)}.cpg-method{min-height:220px}.cpg-about-visual span{font-size:15px;padding:11px 14px}}
@media(max-width:560px){.cpg-about-logo-card{top:12px;left:12px;transform:scale(.72);transform-origin:top left}}

/* Keep the public navigation visible while scrolling. */
.cpg-header{position:sticky;top:0;z-index:50;box-shadow:0 8px 26px rgba(7,29,74,.18)}
.cpg-header-inner{height:auto;min-height:max(98px,calc(var(--logo-height) + 18px))}
.cpg-brand img{width:auto;height:auto;max-height:var(--logo-height);max-width:300px}
.cpg-nav{min-width:0;flex-wrap:wrap;justify-content:center;row-gap:4px}
html{scroll-padding-top:max(112px,calc(var(--logo-height) + 30px))}
@media(min-width:901px) and (max-width:1200px){
 .cpg-header-inner{gap:14px}
 .cpg-brand img{max-width:clamp(170px,19vw,230px)}
 .cpg-nav{gap:clamp(8px,1vw,14px)}
 .cpg-nav a{font-size:var(--menu-size)}
 .cpg-header-cta{margin-left:0;padding:10px 14px;font-size:11px}
}
@media(max-width:900px){
 .cpg-header-inner{height:auto;min-height:max(76px,calc(var(--logo-height) + 16px))}
 .cpg-brand img{max-width:calc(100vw - 110px)}
 .cpg-menu-toggle{display:block;margin-left:auto}
 .cpg-header-cta{display:none}
 .cpg-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--head);box-shadow:0 16px 24px #071D4A22;padding:20px;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:0}
 .cpg-nav.is-open{display:flex}
 .cpg-nav a{padding:12px 0;font-size:var(--menu-size);border-bottom:1px solid #eee}
 .cpg-nav a:first-child:after{display:none}
 html{scroll-padding-top:max(90px,calc(var(--logo-height) + 30px))}
}
@media(max-width:560px){.cpg-header-inner{min-height:max(68px,calc(var(--logo-height) + 14px))}}

/* Footer signature and fine texture, using the school's editable colors. */
.cpg-footer{position:relative;border-top:4px solid var(--gold);background-color:var(--footer);background-image:radial-gradient(circle,rgba(255,255,255,.065) .8px,transparent 1.2px);background-size:12px 12px}
.cpg-footer:before{content:"";position:absolute;top:10px;left:0;right:0;height:5px;background:var(--green);pointer-events:none}
.cpg-footer-main,.cpg-footer-bottom{position:relative;z-index:1}
.cpg-footer-bottom{align-items:center;gap:20px}
.cpg-footer-credit{display:flex;flex-direction:column;align-items:flex-end;gap:4px;margin-left:auto;text-align:right}
.cpg-footer-credit span{font-size:10px;line-height:1.2;letter-spacing:.16em;text-transform:uppercase;color:#d1dce8}
.cpg-footer-credit a{display:block;line-height:0}
.cpg-footer-credit img{display:block;width:var(--footer-credit-width,124px);max-width:100%;height:auto;max-height:160px;object-fit:contain}
.cpg-footer-bottom.credit-centered{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
.credit-centered>span{grid-column:1;grid-row:1}
.credit-centered>a{grid-column:3;grid-row:1;justify-self:end}
.credit-centered .cpg-footer-credit{grid-column:2;grid-row:1;margin-left:0;align-items:center;text-align:center}
@media(max-width:560px){.cpg-footer-credit{width:100%;margin-left:0}}
@media(max-width:560px){.cpg-footer-bottom.credit-centered{display:flex;justify-content:space-between}.credit-centered .cpg-footer-credit{order:3;width:100%;align-items:center}}
.cpg-footer-social{display:flex;align-items:center;gap:10px;margin-top:10px}
.cpg-footer-social a{display:grid;place-items:center;width:34px;height:34px;border:1px solid #ffffff65;border-radius:50%;color:#fff;transition:background .2s,border-color .2s}
.cpg-footer-social a:hover{background:var(--green);border-color:var(--green)}
.cpg-footer-social svg{width:17px;height:17px}
.cpg-whatsapp-float{position:fixed;right:20px;bottom:36px;z-index:45;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#16a765;color:#fff;box-shadow:0 5px 18px #04142f55;transition:transform .2s,background .2s}
.cpg-whatsapp-float:hover{transform:translateY(-3px);background:#0b8f52}
.cpg-whatsapp-float svg{width:29px;height:29px}
@media(max-width:560px){.cpg-whatsapp-float{right:14px;bottom:28px;width:48px;height:48px}.cpg-whatsapp-float svg{width:27px;height:27px}}
