:root{--ink:#202522;--muted:#626962;--accent:#9b8156;--paper:#fff;--wash:#f6f6f2;--line:#e1e4de;--dark:#232d28;--green-wash:#eaf0e9;--max:1256px;--gutter:clamp(22px,4.7vw,76px);--header:88px;--review:38px;--radius:2px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:145px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--gcp-font-family);-webkit-font-smoothing:antialiased;font-size:20.8px;line-height:1.55}body.modal-open{overflow:hidden}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button{color:inherit}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{border:0;background:none}a:focus-visible,button:focus-visible,input:focus-visible,[contenteditable=true]:focus-visible{outline:3px solid #96743d;outline-offset:5px}p,h1,h2,h3,h4,figure{margin:0}h1,h2,h3,h4{font-weight:var(--gcp-weight-regular);letter-spacing:-.038em;line-height:1.12}h1,h2{white-space:pre-line}h1{font-size:clamp(52px,5.85vw,88.4px);line-height:1.05;letter-spacing:-.056em}h2{font-size:clamp(44.2px,4.355vw,62.4px);line-height:1.13}h3{font-size:32.5px;line-height:1.22;letter-spacing:-.025em}h4{font-size:22.1px;letter-spacing:-.015em;font-weight:var(--gcp-weight-strong)}p{color:var(--muted)}[hidden]{display:none!important}.container{width:calc(100% - var(--gutter)*2);max-width:var(--max);margin-inline:auto}.eyebrow{font-size:13px;font-weight:var(--gcp-weight-strong);letter-spacing:.16em;line-height:1.5;color:var(--muted);text-transform:uppercase}.arrow{display:inline-block;font-family:var(--gcp-font-family);font-size:24.7px;line-height:1;transition:transform .18s}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;background:var(--ink);color:#fff;padding:15px 20px;font-size:15.6px;font-weight:var(--gcp-weight-regular);line-height:1.3;border:1px solid var(--ink);border-radius:var(--radius);transition:background .18s,border-color .18s}.button:hover{background:#3c4940;border-color:#3c4940}.button:hover .arrow,.text-link:hover .arrow{transform:translate(2px,-2px)}.button.small{padding:12px 16px;font-size:14.3px}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;font-size:15.6px;line-height:1.4;font-weight:var(--gcp-weight-strong);padding:9px 0;border-bottom:1px solid #b8bdb4}.text-link:hover{color:#765f39}.footnote{font-size:14.3px;line-height:1.6;color:var(--muted)}.section{padding-block:94px}.section>.eyebrow,.section>.container>.eyebrow{margin-bottom:26px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:72px}.section-heading{margin-bottom:44px;align-items:start}.section-intro{font-size:19.5px;line-height:1.75;max-width:500px}.section-intro p+p{margin-top:18px}.tinted{background:var(--wash)}.index{font-size:14.3px;letter-spacing:.06em;color:var(--accent)}.skip-link{position:fixed;top:8px;left:8px;z-index:200;background:#fff;padding:12px;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.noscript{padding:16px;background:#f5e4bb;text-align:center}
/* Review controls are intentionally retained in saved review files. */
.review-bar{min-height:38px;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:0 var(--gutter);background:#efece5;color:#4a4c42;font-size:13px;letter-spacing:.015em;position:relative;z-index:41;border-bottom:1px solid #dfd8c9}.review-identity{display:flex;align-items:center;gap:10px;white-space:nowrap}.review-identity b{font-size:11.7px;letter-spacing:.11em;font-weight:var(--gcp-weight-strong)}.review-dot{width:4px;height:4px;background:#8a744d;border-radius:50%}.review-actions{display:flex;align-items:center;gap:3px;flex-shrink:0}.review-actions button{padding:8px 10px;font-size:13px;white-space:nowrap;border-radius:2px}.review-actions button:hover,.review-actions button[aria-pressed=true]{background:#dad3c4}.review-actions .save-btn{background:#4c4e43;color:#fff;padding:5px 10px}.review-actions .save-btn:hover{background:#333a31}.edit-tip{position:relative;background:#fff4d9;font-size:14.3px;padding:9px var(--gutter);color:#665126;border-bottom:1px solid #eadbb4}.edit-only{display:none!important}body.editing .edit-only{display:flex!important}.review-note{background:#f4eee1;border-left:2px solid #b6a078;padding:11px 14px;color:#746143;font-size:13px;line-height:1.55;margin-top:14px}.clean-preview .review-bar,.clean-preview .review-only,.clean-preview .edit-only{display:none!important}.review-return{position:fixed;bottom:20px;right:22px;padding:10px 14px;background:#efece5;color:#333c32;border:1px solid #cbc3b2;font-size:14.3px;border-radius:3px;z-index:42;box-shadow:0 4px 20px #0001}body.editing [data-copy]:not(.review-bar [data-copy]):not(.asset-controls [data-copy]):not(.edit-tip [data-copy]):not(button [data-copy]):not(a [data-copy]):not(label [data-copy]){outline:1px dashed #b7a16c;outline-offset:3px;cursor:text;border-radius:1px}body.editing [data-copy]:focus{outline:2px solid #a4894a}body.editing .site-header{top:0}
/* Navigation */
.site-header{position:sticky;top:0;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);z-index:40}.header-inner{height:var(--header);display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:inline-flex;align-items:center;flex-shrink:0;color:var(--ink)}.brand-type{display:flex;flex-direction:column;align-items:flex-start}.brand-main{font-family:var(--gcp-font-family);font-size:46.8px;line-height:1;letter-spacing:-.055em}.brand-sub{font-size:9.1px;font-weight:var(--gcp-weight-regular);letter-spacing:.23em;line-height:1.2;margin-top:7px;margin-left:2px}.brand img{max-width:158px;max-height:48px;object-fit:contain}.main-nav{display:flex;align-items:center;gap:28px;margin-left:auto}.main-nav a{font-size:14.3px;padding-block:12px;position:relative;color:#454c45}.main-nav a:hover{color:#876e42}.main-nav a.is-active:after{content:'';position:absolute;bottom:3px;left:0;right:0;height:1px;background:var(--accent)}.header-right{display:flex;align-items:center;gap:22px;margin-left:14px}.language-switch{display:flex;align-items:center;gap:5px;font-size:13px;color:#959a92}.language-switch button{padding:9px 2px;font-size:13px;color:#7c847a}.language-switch button[aria-pressed=true]{color:var(--ink);font-weight:var(--gcp-weight-strong)}.language-switch>span{font-size:11.7px}.menu-toggle{display:none;width:36px;height:36px;padding:8px 2px}.menu-toggle span{display:block;width:25px;height:1px;background:var(--ink);margin:6px auto;transition:transform .15s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-nav{padding:10px var(--gutter) 20px;display:flex;flex-direction:column;border-top:1px solid var(--line);background:#fff}.mobile-nav a{padding:12px 0;border-bottom:1px solid var(--line);font-size:19.5px}.logo-upload{font-size:11.7px;color:#7e633a;border:1px dashed #b59d77;padding:6px;line-height:1.2;max-width:72px}
/* Hero & restrained CSS-only image placeholders. Never presented as property photographs. */
.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center;padding-top:66px;padding-bottom:66px}.hero-copy>.eyebrow{margin-bottom:25px;max-width:460px}.hero-description{font-size:19.5px;line-height:1.8;margin-top:27px;max-width:430px}.hero-actions{display:flex;align-items:center;gap:26px;margin-top:31px}.hero-actions .text-link{font-size:14.3px;gap:16px}.hero-location{display:flex;align-items:center;gap:11px;margin-top:55px;font-size:10.4px;letter-spacing:.07em;color:#737c70}.crosshair{color:var(--accent);font-size:35.1px;font-weight:var(--gcp-weight-regular);line-height:1}.hero-figure{margin:0;min-width:0}.hero-figure figcaption{font-size:10.4px;line-height:1.5;color:#697265;display:flex;align-items:start;gap:20px;justify-content:space-between;margin-top:11px}.hero-figure figcaption>span:last-child{flex-shrink:0;font-size:10.4px;letter-spacing:.07em}.visual{position:relative;overflow:hidden;isolation:isolate;background:#d9dfd5}.visual-art{position:absolute;inset:0;overflow:hidden;background:#dde2d8}.hero-visual{height:462px}.building{position:absolute;background:#c0c8bb;transform-origin:bottom center}.building:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0,transparent 48px,#8e9b8d99 49px,#8e9b8d99 52px),repeating-linear-gradient(90deg,transparent 0,transparent 25px,#e3e8de66 26px,#e3e8de66 40px);opacity:.8}.building-one{width:73%;height:79%;left:24%;bottom:-7%;transform:skewY(-13deg);background:#a6b0a1;box-shadow:-12px 0 0 #778874}.building-two{width:45%;height:72%;left:-10%;bottom:-12%;transform:skewY(17deg);background:#dde1d6;box-shadow:8px 0 0 #adb8a8}.building-two:after{opacity:.32;background:repeating-linear-gradient(0deg,transparent 0,transparent 47px,#5f775a77 48px,#5f775a77 53px),repeating-linear-gradient(90deg,transparent 0,transparent 22px,#75887066 23px,#75887066 29px)}.building-three{width:17%;height:51%;left:84%;bottom:-5%;transform:skewY(-13deg);background:#647660}.building-three:after{opacity:.25}.ground{position:absolute;left:0;right:0;bottom:0;height:7%;background:#72836b;clip-path:polygon(0 100%,100% 0,100% 100%);opacity:.2}.placeholder-caption{position:absolute;z-index:3;left:12px;bottom:11px;right:12px;font-size:10.4px;line-height:1.45;color:#334230;background:#e9eee4ed;padding:5px 8px;width:fit-content;max-width:calc(100% - 24px)}.user-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;z-index:2}.visual.has-image .visual-art,.visual.has-image>.placeholder-caption{visibility:hidden}.asset-controls{position:absolute;z-index:5;left:10px;right:10px;bottom:10px;display:flex;gap:5px;flex-wrap:wrap;align-items:center}.asset-controls button{background:#fff;border:1px solid #b8baa9;border-radius:2px;padding:8px 9px;font-size:13px;box-shadow:0 1px 6px #0001;line-height:1.2}.asset-controls .upload{display:flex;align-items:center;gap:12px}.asset-controls button .arrow{font-size:19.5px}.asset-controls .asset-remove{font-size:11.7px}.position-control{width:100%;background:#fffef7ef;padding:6px 9px;gap:8px;font-size:11.7px;display:flex;align-items:center;border:1px solid #c9cbbd}.position-control input{width:100%;min-width:0;accent-color:#76633d}.editing .placeholder-caption{top:10px;bottom:auto}.facts{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:26px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:36px}.fact{padding-left:26px;border-left:1px solid var(--line)}.fact:first-child{padding-left:0;border-left:0}.fact strong{display:block;font-size:29.9px;font-weight:var(--gcp-weight-regular);letter-spacing:-.025em;line-height:1.3}.fact>span{display:block;margin-top:7px;font-size:13px;line-height:1.5;color:var(--muted)}
/* Content sections */
.platform-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:45px}.capability{padding-top:22px;border-top:1px solid var(--line)}.capability h3{font-size:32.5px;margin:22px 0 15px}.capability p{font-size:16.9px;line-height:1.75;max-width:345px}.platform-bottom{border-top:1px solid var(--line);padding-top:21px;margin-top:32px;display:flex;align-items:center;gap:17px;font-size:14.3px;color:#676f63}.small-cross{font-size:24.7px;color:var(--accent)}.strategy-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.strategy-card{background:#f7f5ef;border:1px solid #ddd8cc;padding:34px 33px 0;display:flex;flex-direction:column}.strategy-card>.eyebrow{color:var(--accent);margin-bottom:17px}.strategy-card>h3{font-size:36.4px;line-height:1.2;min-height:68px}.strategy-intro{font-size:18.2px;line-height:1.65;margin:10px 0 26px;min-height:46px;max-width:440px}.strategy-points{display:flex;flex-direction:column}.strategy-point{display:flex;align-items:flex-start;gap:17px;padding:17px 0;border-top:1px solid #d9d5ca}.point-mark{font-size:11.7px;color:var(--accent);line-height:2;flex-shrink:0;margin-top:1px}.strategy-point h4{font-size:16.9px;letter-spacing:0;line-height:1.4;margin-bottom:7px}.strategy-point p{font-size:15.6px;line-height:1.7}.strategy-result{background:#eeede6;padding:22px 24px;margin:15px -33px 0;min-height:125px}.strategy-result>.eyebrow{color:#7b815e;margin-bottom:9px;font-size:10.4px}.strategy-result>p:last-child{font-size:16.9px;line-height:1.55;color:var(--ink)}.strategy-grid+.footnote{margin-top:18px;max-width:900px;font-size:13px}.dark{background:var(--dark);color:#f1f1eb}.dark .eyebrow{color:#a5b39e}.dark p{color:#c1cbbd}.dark .section-intro{max-width:480px}.dark h2{font-weight:var(--gcp-weight-regular)}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:48px}.process-number{display:flex;justify-content:space-between;align-items:center;color:#b1b7a1;border-top:1px solid #63705c;padding-top:17px;font-size:15.6px;margin-bottom:26px}.process-number>span:last-child{font-size:29.9px;font-weight:var(--gcp-weight-regular);line-height:1;opacity:.7}.process-grid h3{font-size:29.9px;margin-bottom:15px;font-weight:var(--gcp-weight-regular)}.process-grid p{font-size:15.6px;line-height:1.8}.project-filters{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:25px}.project-filters button{font-size:13px;padding:9px 14px;border:1px solid var(--line);color:var(--muted);border-radius:2px}.project-filters button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}.project-filters button:hover{border-color:#889a80}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch}.project-card{border:1px solid var(--line);background:#fff;display:flex;flex-direction:column;min-width:0}.project-visual{height:215px;flex-shrink:0}.project-body{padding:22px 22px 20px;display:flex;flex-direction:column;flex:1}.project-body>.eyebrow{font-size:10.4px;letter-spacing:.12em;margin-bottom:12px}.project-body h3{font-size:29.9px;min-height:57px;margin-bottom:15px}.project-description{font-size:15.6px;line-height:1.75;margin-bottom:22px;min-height:83px}.project-stat{padding-top:17px;border-top:1px solid var(--line);margin-top:auto}.project-stat strong{display:block;font-weight:var(--gcp-weight-regular);font-size:36.4px;letter-spacing:-.03em;line-height:1.3}.project-stat>span{display:block;font-size:13px;color:var(--muted);margin-top:3px}.project-status{display:flex;align-items:center;gap:7px;font-size:11.7px;color:#697462;margin:18px 0 13px;line-height:1.5}.status-dot{width:5px;height:5px;background:#647f56;border-radius:50%;flex-shrink:0}.status-dot.draft{background:#b39052}.project-body>.text-link{width:100%;font-size:13px}.project-grid+.footnote{margin-top:23px;font-size:13px}.scene-1 .visual-art{background:#e5e2d6}.scene-1 .building-one{background:#c4bca5;width:60%;height:82%;left:44%;bottom:-7%;transform:skewY(-11deg);box-shadow:-8px 0 0 #968f79}.scene-1 .building-two{height:56%;width:56%;left:-2%;background:#d9d3bf;transform:skewY(12deg)}.scene-1 .building-three{background:#8e947d;left:85%;width:20%;height:58%}.scene-1 .building:after{background:repeating-linear-gradient(0deg,transparent 0,transparent 27px,#7a7d6844 28px,#7a7d6844 31px),repeating-linear-gradient(90deg,transparent 0,transparent 18px,#faf8ea77 19px,#faf8ea77 28px)}.scene-2 .building-one{width:95%;height:60%;left:20%;background:#afb4b4;transform:skewY(-6deg);box-shadow:-8px 0 0 #798486}.scene-2 .building-two{width:26%;height:77%;left:0%;background:#dbe0dd;transform:skewY(14deg)}.scene-2 .visual-art{background:#e0e5e3}.scene-2 .building-three{background:#738078}.scene-2 .building:after{background:repeating-linear-gradient(0deg,transparent 0,transparent 26px,#61716d66 27px,#61716d66 30px),repeating-linear-gradient(90deg,transparent 0,transparent 16px,#e9eeebaa 17px,#e9eeebaa 24px)}.scene-3 .visual-art{background:#e5e0d9}.scene-3 .building-one{width:65%;height:93%;left:44%;background:#b5a797;transform:skewY(-18deg);box-shadow:-7px 0 0 #9b8976}.scene-3 .building-two{background:#e0d7c9;width:55%;height:54%;left:-5%;transform:skewY(12deg)}.scene-3 .building:after{background:repeating-linear-gradient(0deg,transparent 0,transparent 20px,#8e7f6e55 21px,#8e7f6e55 23px),repeating-linear-gradient(90deg,transparent 0,transparent 15px,#faf3e988 16px,#faf3e988 22px)}.scene-3 .building-three{display:none}.energy-section{background:var(--green-wash)}.energy-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.energy-grid>div>.eyebrow{margin-bottom:26px}.energy-intro{font-size:18.2px;line-height:1.85;margin-top:26px;max-width:470px}.energy-grid>div>.footnote{margin-top:24px;max-width:450px;font-size:13px}.energy-steps{display:flex;flex-direction:column;justify-content:center}.energy-steps article{display:flex;gap:20px;border-top:1px solid #c4cebf;padding:25px 0}.energy-steps h3{font-size:26px;margin-bottom:12px}.energy-steps p{font-size:15.6px;line-height:1.8;max-width:400px}.energy-steps .index{color:#6a795b;line-height:2}.partnership-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:38px;padding-top:7px}.partnership-grid article{border-top:1px solid var(--line);padding-top:22px}.partnership-grid h3{font-size:28.6px;margin-bottom:14px}.partnership-grid p{font-size:16.9px;line-height:1.75}.partner-reference{display:flex;align-items:center;justify-content:space-between;gap:40px;border-top:1px solid var(--line);padding-top:30px;margin-top:38px}.partner-reference .eyebrow{font-size:10.4px;margin-bottom:10px}.partner-reference h3{font-size:26px;letter-spacing:-.015em;margin-bottom:10px}.partner-reference .footnote{font-size:13px}.partner-reference .text-link{flex-shrink:0}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.portrait{height:350px;background:#e1e4db}.portrait .visual-art{background:#e2e6dd}.portrait-victor .visual-art{background:#e2e1d9}.portrait-clemens .visual-art{background:#dce2e1}.portrait .visual-art:before{content:'';position:absolute;inset:13px;border:1px solid #81897530}.portrait .visual-art:after{content:'';position:absolute;left:15%;right:15%;bottom:0;height:45%;border-top:1px solid #81897533;border-left:1px solid #81897533;border-right:1px solid #81897533;border-radius:50% 50% 0 0}.initials{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--gcp-font-family);font-size:100.1px;font-weight:var(--gcp-weight-regular);color:#939c874d;letter-spacing:-.04em;padding-bottom:22px}.portrait-label{position:absolute;bottom:23px;left:0;right:0;text-align:center;font-size:10.4px;letter-spacing:.2em;color:#738169}.team-copy{padding-top:24px}.team-copy>.eyebrow{font-size:10.4px;letter-spacing:.12em;margin-bottom:10px}.team-copy h3{font-size:32.5px;margin-bottom:7px}.team-role{font-size:14.3px;color:#75816a}.team-bio{font-size:15.6px;line-height:1.8;margin-top:19px;min-height:107px}.team-copy .text-link{font-size:13px;width:100%;margin-top:15px}.support-team{border-top:1px solid var(--line);padding-top:30px;margin-top:44px}.support-team>h3{font-size:23.4px;margin-bottom:21px}.support-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.support-grid article{display:flex;gap:18px;align-items:flex-start;min-width:0}.small-portrait{height:170px;width:156px;flex-shrink:0}.small-portrait .initials{font-size:70.2px;padding-bottom:0}.small-portrait .portrait-label{display:none}.small-portrait .visual-art:before{inset:6px}.small-portrait .visual-art:after{display:none}.small-portrait .asset-controls{left:4px;right:4px;bottom:4px}.small-portrait .asset-controls button{font-size:10.4px;padding:4px;gap:2px;line-height:1}.small-portrait .asset-controls .arrow{display:none}.small-portrait .position-control{padding:2px;gap:0;flex-direction:column;font-size:9.1px}.support-grid h4{font-size:16.9px;font-weight:var(--gcp-weight-regular);margin-bottom:6px}.support-grid p{font-size:13px}.support-team+.footnote{font-size:13px;margin-top:27px;max-width:960px}.contact-section .section-heading{margin-bottom:35px}.contact-email{font-size:clamp(26px,4.225vw,59.8px);line-height:1.4;letter-spacing:-.025em;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #68775e;padding:0 0 25px;margin-bottom:36px;overflow-wrap:anywhere;gap:25px}.contact-email>span{font-size:52px;font-weight:var(--gcp-weight-regular);color:#c0c7b5;flex-shrink:0}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.contact-grid h3{font-size:28.6px;font-weight:var(--gcp-weight-regular);margin-bottom:13px}.contact-grid p{font-size:15.6px;line-height:1.8;min-height:45px}.contact-grid .text-link{color:#e0e7d6;font-size:13px;width:100%;border-color:#5c6f53;margin-top:19px}.contact-grid .text-link:hover{color:#fff}.contact-bottom{display:flex;align-items:center;justify-content:space-between;gap:40px;border-top:1px solid #42553b;margin-top:33px;padding-top:25px}.contact-bottom .text-link{font-size:14.3px;flex-shrink:0;color:#e5e7df}.contact-bottom .footnote{font-size:11.7px;max-width:455px;line-height:1.6}.site-footer{padding-top:47px;padding-bottom:20px}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:50px;padding-bottom:38px}.footer-brand .brand-main{font-size:39px}.footer-brand .brand-sub{font-size:7.8px}.footer-grid>div>p{font-size:13px;line-height:1.75;margin-top:18px;white-space:pre-line}.footer-grid address{font-style:normal;font-size:14.3px;line-height:1.8;padding-top:5px}.footer-grid address strong{display:block;margin-bottom:10px;font-weight:var(--gcp-weight-strong)}.footer-grid address>span{color:var(--muted)}.footer-bottom{border-top:1px solid var(--line);padding-top:20px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:11.7px;color:#747b70}.footer-bottom>div{display:flex;gap:21px;flex-wrap:wrap}.footer-bottom a:hover{text-decoration:underline}.footer-disclaimer{font-size:11.7px;line-height:1.7;color:#7a7f74;margin-top:20px}
/* Accessible native dialog */
dialog{border:0;padding:0;background:#fff;color:var(--ink);width:min(760px,calc(100vw - 36px));max-height:88vh;max-height:88dvh;box-shadow:0 30px 110px #1119;border-radius:3px;overflow:auto}dialog::backdrop{background:#142018a6;backdrop-filter:blur(3px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:17px 30px;position:sticky;top:0;background:#fff;z-index:3}.dialog-brand{font-size:10.4px;letter-spacing:.12em;color:#7a846e}.dialog-close{width:33px;height:33px;font-size:36.4px;line-height:1;font-weight:var(--gcp-weight-regular);border:1px solid var(--line);border-radius:2px;color:#737d68}.dialog-close:hover{background:var(--wash)}#dialog-content{padding:35px 39px 39px}#dialog-content>h2{font-size:45.5px;line-height:1.16;margin:10px 0 22px;white-space:normal}#dialog-content>.eyebrow{font-size:11.7px}#dialog-content>.dialog-intro{font-size:18.2px;line-height:1.75;margin-bottom:24px}.dialog-block{padding:21px 0;border-top:1px solid var(--line)}.dialog-block h3{font-size:22.1px;line-height:1.35;letter-spacing:-.01em;margin-bottom:12px}.dialog-block p{font-size:16.9px;line-height:1.8;white-space:pre-line}.dialog-block:last-of-type{margin-bottom:9px}.dialog-sources{border-top:1px solid var(--line);padding-top:22px;margin-top:9px}.dialog-sources h3{font-size:20.8px;margin-bottom:15px}.dialog-sources a{display:block;font-size:15.6px;padding:6px 0;text-decoration:underline;text-underline-offset:3px}.dialog-local{font-size:14.3px;padding:16px;background:var(--wash);margin-top:22px;line-height:1.75}.dialog-bio{font-size:18.2px;line-height:1.9;white-space:pre-line;margin-bottom:25px}.toast{position:fixed;z-index:120;bottom:24px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100vw - 36px);background:#263323;color:#fff;box-shadow:0 4px 25px #0003;border-radius:3px;padding:13px 19px;font-size:15.6px;line-height:1.5;text-align:center}
/* Responsive */
@media(min-width:1500px){:root{--max:1280px}.hero{gap:80px}.hero-visual{height:490px}}
@media(max-width:1150px){.main-nav{gap:18px}.header-inner{gap:15px}.header-right{gap:17px;margin-left:4px}.hero{gap:38px;padding-block:52px}.hero-visual{height:425px}h1{font-size:71.5px}.two-col{gap:40px}.section{padding-block:78px}.section-heading{margin-bottom:35px}.hero-location{font-size:9.1px;margin-top:35px}.strategy-card{padding:28px 26px 0}.strategy-result{margin-inline:-26px}.strategy-card>h3{font-size:33.8px}.energy-grid{gap:55px}.portrait{height:310px}.small-portrait{height:75px;width:64px}.project-body{padding:20px 18px}.project-stat strong{font-size:31.2px}.project-description{min-height:106px}.team-bio{min-height:132px}.review-identity b{font-size:10.4px}.review-actions button{font-size:11.7px;padding-inline:8px}.review-identity{gap:7px}}
@media(max-width:900px){:root{--gutter:30px;--header:78px}.main-nav{display:none}.menu-toggle{display:block}.header-right{margin-left:auto}.hero{gap:30px;grid-template-columns:1.05fr 1fr}.hero-visual{height:415px}.hero h1{font-size:62.4px}.hero>.hero-copy>.eyebrow{font-size:10.4px}.hero-description{font-size:16.9px}.hero-actions{flex-direction:column;align-items:flex-start;gap:13px;margin-top:23px}.hero-location{font-size:9.1px;line-height:1.8;gap:8px;margin-top:27px}.hero-location .crosshair{font-size:31.2px}.hero-figure figcaption{font-size:9.1px}.facts{gap:22px}.fact{padding-left:20px}.fact strong{font-size:27.3px}.fact>span{font-size:11.7px}.two-col{gap:32px}.section-intro{font-size:16.9px}h2{font-size:46.8px}.platform-grid{gap:24px}.capability h3{font-size:28.6px}.capability p{font-size:15.6px}.strategy-grid{gap:20px}.strategy-card{padding:25px 23px 0}.strategy-result{margin-inline:-23px}.strategy-card>h3{font-size:29.9px;min-height:60px}.strategy-intro{font-size:15.6px;min-height:59px}.strategy-point h4{font-size:15.6px}.strategy-point p{font-size:14.3px}.strategy-point{gap:12px}.strategy-result>p:last-child{font-size:15.6px}.process-grid{grid-template-columns:1fr 1fr;gap:34px 40px}.project-grid{grid-template-columns:1fr 1fr;gap:22px}.project-card:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.project-card:last-child .visual{height:100%;min-height:300px}.project-card:last-child .project-body h3{min-height:0}.project-card:last-child .project-description{min-height:0}.project-description{min-height:84px}.project-body h3{font-size:29.9px}.project-grid:has(.project-card[hidden]){grid-template-columns:1fr 1fr}.project-grid:has(.project-card[hidden]) .project-card:last-child{grid-column:auto;display:flex}.project-grid:has(.project-card[hidden]) .project-card:last-child .visual{height:215px;min-height:0}.energy-grid{gap:38px}.energy-intro{font-size:16.9px}.energy-steps h3{font-size:23.4px}.energy-steps p{font-size:14.3px}.partnership-grid{gap:23px}.partnership-grid h3{font-size:27.3px}.partnership-grid p{font-size:15.6px}.partner-reference h3{font-size:22.1px}.partner-reference .text-link{font-size:13px;gap:15px}.team-grid{gap:20px}.portrait{height:260px}.team-copy h3{font-size:28.6px}.team-copy>.eyebrow{min-height:25px;font-size:9.1px;line-height:1.6}.team-bio{font-size:14.3px;min-height:137px}.support-grid{gap:16px}.support-grid article{gap:14px;align-items:flex-start}.support-grid h4{font-size:14.3px}.support-grid p{font-size:11.7px}.small-portrait{width:106px;height:126px}.initials{font-size:78px}.small-portrait .initials{font-size:57.2px}.contact-grid{gap:24px}.contact-grid h3{font-size:26px}.contact-grid p{font-size:14.3px;min-height:62px}.contact-grid .text-link{font-size:11.7px;gap:12px}.footer-grid{gap:30px;grid-template-columns:1.3fr 1fr 1fr}.review-identity>span:not(.review-dot){display:none}.review-dot{display:none}.review-actions{gap:0}.review-bar{gap:6px}.review-actions button{padding-inline:7px}.contact-bottom .footnote{max-width:360px;font-size:10.4px}}
@media(max-width:650px){:root{--gutter:23px;--header:76px}html{scroll-padding-top:100px}.review-bar{padding:6px 13px;min-height:62px;align-items:flex-start;gap:3px;flex-direction:column}.review-identity{line-height:1.4}.review-identity b{font-size:10.4px}.review-actions{width:100%;justify-content:space-between}.review-actions button{font-size:11.7px;padding:5px 8px}.review-actions .save-btn{padding:5px 9px}.brand-main{font-size:41.6px}.brand-sub{font-size:7.8px}.header-right{gap:12px}.nav-contact{display:none}.header-inner{gap:10px}.language-switch{gap:3px}.brand img{max-width:134px;max-height:45px}.hero{grid-template-columns:1fr;gap:35px;padding-top:44px;padding-bottom:31px}.hero h1{font-size:clamp(50.7px,11.83vw,71.5px);max-width:520px}.hero-copy>.eyebrow{font-size:10.4px;margin-bottom:19px;max-width:310px;line-height:1.8}.hero-description{font-size:18.2px;line-height:1.85;max-width:490px;margin-top:21px}.hero-actions{flex-direction:row;align-items:center;flex-wrap:wrap;gap:17px;margin-top:24px}.hero-actions .button{font-size:13px;padding:13px 15px;gap:17px}.hero-actions .text-link{font-size:13px;gap:13px}.hero-location{font-size:9.1px;max-width:340px;margin-top:28px}.hero-visual{height:340px}.hero-figure figcaption{font-size:9.1px;line-height:1.65;gap:15px}.hero-figure figcaption>span:last-child{font-size:9.1px}.placeholder-caption{font-size:9.1px;padding:4px 6px;line-height:1.5}.facts{padding-block:0;grid-template-columns:1fr;gap:0}.fact{padding:16px 0;border-left:0;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:18px;justify-content:space-between}.fact:last-child{border-bottom:0}.fact strong{font-size:23.4px;flex:0 0 125px}.fact>span{font-size:11.7px;line-height:1.6;text-align:right;max-width:190px;margin-top:0}.section{padding-block:62px}.section>.eyebrow,.section>.container>.eyebrow{margin-bottom:20px}.eyebrow{font-size:11.7px}.section-heading{grid-template-columns:1fr;gap:23px;margin-bottom:29px}h2{font-size:45.5px;line-height:1.16}.section-intro{font-size:18.2px;max-width:none}.section-intro p+p{margin-top:14px}.platform-grid{grid-template-columns:1fr;gap:24px;margin-top:34px}.capability{padding-top:17px;display:grid;grid-template-columns:28px 1fr;column-gap:11px}.capability .index{margin-top:7px;grid-row:1/3}.capability h3{margin:0 0 10px;font-size:31.2px}.capability p{font-size:16.9px;max-width:none;grid-column:2}.platform-bottom{margin-top:26px;padding-top:16px;align-items:flex-start;gap:12px;font-size:13px}.platform-bottom .small-cross{line-height:1}.strategy-grid{grid-template-columns:1fr;gap:23px}.strategy-card{padding:28px 26px 0}.strategy-card>h3{font-size:35.1px;min-height:0;max-width:310px}.strategy-intro{font-size:16.9px;margin-top:17px;min-height:0}.strategy-point h4{font-size:16.9px}.strategy-point p{font-size:15.6px;line-height:1.75}.strategy-point{gap:14px;padding:18px 0}.strategy-result{margin-inline:-26px;padding:22px 26px;min-height:0}.strategy-result>p:last-child{font-size:16.9px}.strategy-grid+.footnote{font-size:11.7px}.process-grid{gap:30px 26px;margin-top:36px}.process-grid h3{font-size:28.6px;margin-bottom:12px}.process-grid p{font-size:14.3px;line-height:1.85}.process-number{padding-top:13px;margin-bottom:22px;font-size:13px}.process-number>span:last-child{font-size:23.4px}.project-filters{gap:5px;margin-bottom:20px}.project-filters button{font-size:11.7px;padding:8px 12px}.project-grid{grid-template-columns:1fr;gap:25px}.project-card:last-child{grid-column:auto;display:flex}.project-card:last-child .visual{height:240px;min-height:0}.project-visual{height:240px}.project-body{padding:23px 24px}.project-body h3{font-size:33.8px;min-height:0;max-width:390px}.project-description{font-size:16.9px;min-height:0;margin-bottom:21px}.project-stat strong{font-size:37.7px}.project-stat>span{font-size:14.3px}.project-status{font-size:13px;margin-top:19px}.project-body>.text-link{font-size:14.3px}.project-body>.eyebrow{font-size:10.4px}.project-grid:has(.project-card[hidden]){grid-template-columns:1fr}.project-grid:has(.project-card[hidden]) .project-card:last-child .visual{height:240px}.project-grid+.footnote{font-size:11.7px}.energy-grid{grid-template-columns:1fr;gap:30px}.energy-grid>div>.eyebrow{margin-bottom:21px}.energy-intro{font-size:18.2px;margin-top:22px}.energy-grid>div>.footnote{font-size:11.7px;margin-top:19px}.energy-steps article{padding:23px 0;gap:18px}.energy-steps h3{font-size:28.6px}.energy-steps p{font-size:15.6px;max-width:none}.energy-steps article:last-child{padding-bottom:0}.partnership-grid{grid-template-columns:1fr;gap:24px}.partnership-grid h3{font-size:29.9px}.partnership-grid p{font-size:16.9px;line-height:1.8}.partner-reference{flex-direction:column;gap:22px;align-items:flex-start;margin-top:30px;padding-top:26px}.partner-reference h3{font-size:24.7px}.partner-reference .text-link{font-size:14.3px}.team-grid{grid-template-columns:1fr;gap:34px}.portrait{height:auto;aspect-ratio:4/4.25}.portrait .initials{font-size:114.4px}.team-copy{padding-top:21px}.team-copy>.eyebrow{min-height:0;font-size:10.4px;margin-bottom:10px}.team-copy h3{font-size:35.1px}.team-role{font-size:15.6px}.team-bio{font-size:16.9px;min-height:0;margin-top:16px}.team-copy .text-link{margin-top:15px;font-size:14.3px}.support-team{margin-top:32px;padding-top:26px}.support-grid{grid-template-columns:1fr;gap:19px}.support-grid article{gap:18px;align-items:flex-start}.small-portrait{width:140px;height:152px;aspect-ratio:auto}.small-portrait .initials{font-size:75.4px}.support-grid h4{font-size:20.8px}.support-grid p{font-size:14.3px}.support-team+.footnote{font-size:11.7px}.review-note{font-size:11.7px;line-height:1.65;padding:10px 12px}.contact-section .section-heading{margin-bottom:26px}.contact-email{font-size:clamp(22.1px,6.5vw,37.7px);letter-spacing:-.03em;padding-bottom:22px;gap:8px;margin-bottom:28px}.contact-email>span{font-size:33.8px}.contact-grid{grid-template-columns:1fr;gap:27px}.contact-grid h3{font-size:29.9px;margin-bottom:10px}.contact-grid p{font-size:16.9px;min-height:0}.contact-grid .text-link{margin-top:14px;font-size:14.3px}.contact-bottom{flex-direction:column;align-items:flex-start;gap:23px;margin-top:30px;padding-top:22px}.contact-bottom .text-link{font-size:14.3px}.contact-bottom .footnote{font-size:11.7px;max-width:none}.site-footer{padding-top:37px}.footer-grid{grid-template-columns:1fr 1fr;gap:26px 19px;padding-bottom:28px}.footer-grid>div{grid-column:1/-1}.footer-grid>div>p{font-size:14.3px;line-height:1.8;max-width:330px}.footer-grid address{font-size:13px}.footer-grid address strong{font-size:13px}.footer-bottom{flex-direction:column;align-items:flex-start;gap:17px;font-size:11.7px}.footer-bottom>div{gap:23px}.footer-disclaimer{font-size:10.4px}.dialog-top{padding:12px 20px}.dialog-brand{font-size:9.1px}#dialog-content{padding:25px 23px 28px}#dialog-content>h2{font-size:39px}#dialog-content>.dialog-intro{font-size:15.6px}.dialog-block h3{font-size:20.8px}.dialog-block p{font-size:15.6px}.dialog-block{padding:18px 0}.dialog-bio{font-size:16.9px}.dialog-local{font-size:13px;padding:13px}.dialog-sources a{font-size:14.3px}.edit-tip{font-size:13px;line-height:1.6}.logo-upload{font-size:10.4px;padding:4px;max-width:55px}.editing .header-right{gap:7px}.review-return{font-size:13px;padding:9px 11px;right:14px;bottom:14px}.toast{font-size:14.3px;padding:12px 16px}}
@media(max-width:360px){:root{--gutter:19px}.hero h1{font-size:48.1px}.hero-actions{gap:12px}.hero-actions .button{font-size:11.7px;padding:12px}.hero-actions .text-link{font-size:11.7px}.process-grid{gap:24px 20px}h2{font-size:41.6px}.strategy-card{padding-inline:22px}.strategy-result{margin-inline:-22px}.review-actions button{font-size:10.4px;padding-inline:6px}.contact-email{font-size:22.1px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media print{.review-bar,.edit-tip,.review-return,.asset-controls,.menu-toggle,.project-filters,.header-right,.main-nav,.logo-upload,dialog,.toast,.review-only{display:none!important}.site-header{position:static}.container{width:100%}body{font-size:14.3px}.hero{padding:25px 0;gap:30px}.hero h1{font-size:45.5px}.hero-visual{height:250px}.section{padding:32px 0}h2{font-size:36.4px}.dark{background:#fff;color:#111}.dark p,.dark .eyebrow{color:#333}.strategy-card,.project-card,.team-card{break-inside:avoid}.strategy-grid,.project-grid{gap:15px}.portrait{height:250px}.footnote{font-size:10.4px}a[href^="mailto"]{color:#111}.contact-email{font-size:33.8px}.section-heading{gap:25px}.review-note{display:none}.footer-disclaimer{display:block!important}.tinted,.energy-section{background:#fafafa}}

/* GCP v02 — cinematic film landing. No external libraries, fonts or tracking. */
:root{--review-offset:0px}
html{scroll-padding-top:calc(var(--header) + var(--review-offset) + 24px)}
.review-bar{position:fixed;inset:0 0 auto;z-index:61}
.edit-tip{position:fixed;top:calc(var(--review-offset) + var(--header));left:0;right:0;z-index:43}
.site-header{position:fixed;left:0;right:0;top:var(--review-offset);background:rgba(255,255,255,.97);transition:background .25s,border-color .25s,color .25s;box-shadow:none}
body.editing .site-header{top:var(--review-offset)}
.site-header.is-over-film{background:transparent;border-bottom-color:rgba(255,255,255,.18);color:#fff}
.is-over-film .brand,.is-over-film .main-nav a,.is-over-film .language-switch button{color:#fff}
.is-over-film .language-switch>span{color:#fff8}
.is-over-film .language-switch button:not([aria-pressed=true]){color:#fffb}
.is-over-film #brand-image{filter:brightness(0) invert(1)}
.is-over-film .nav-contact{background:#ffffff08;border-color:#ffffff85;color:white}
.is-over-film .nav-contact:hover{background:#ffffff20;border-color:white}
.is-over-film .menu-toggle span{background:white}
.is-over-film .main-nav a:hover{color:#e2d0ad}
.is-over-film .main-nav a.is-active:after{background:#e2d0ad}
.mobile-nav a{color:var(--ink)}
.mobile-nav{box-shadow:0 16px 25px #0001}
.landing-reel{position:relative;height:175vh;height:175svh;background:#19221d}
.reel-anchor{position:absolute;top:47vh;top:47svh;left:0;width:1px;height:1px;pointer-events:none}
.reel-stage{position:sticky;top:0;height:100vh;height:100svh;min-height:530px;overflow:hidden;isolation:isolate;--reel-copy:1;--reel-brand:0;--reel-dark:.52;--reel-lift:0px;--reel-scale:1;--reel-progress:0}
.reel-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;transform:scale(var(--reel-scale));background:#19221d;z-index:-3}
.reel-vignette{position:absolute;inset:0;background:linear-gradient(180deg,#0b18195e 0%,#09151508 34%,#04120f18 65%,#06140f9c 100%);z-index:-2;pointer-events:none}
.reel-shade{position:absolute;inset:0;background:#07120e;opacity:var(--reel-dark);z-index:-1;pointer-events:none}
.reel-wordmark{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:0;padding:100px var(--gutter);color:#fff;opacity:var(--reel-brand);pointer-events:none;transform:translateY(-12px)}
.reel-wordmark .brand-type{align-items:center}
.reel-wordmark .brand-main{font-size:clamp(114.4px,14.95vw,223.6px);line-height:.95;letter-spacing:-.063em}
.reel-wordmark .brand-sub{font-size:clamp(11.7px,1.144vw,16.9px);letter-spacing:.37em;margin-top:23px;margin-left:8px}
.reel-wordmark #reel-brand-image{max-width:min(430px,65vw);max-height:160px;object-fit:contain;filter:brightness(0) invert(1)}
.reel-kicker{font-size:10.4px;letter-spacing:.19em;color:#fff9;line-height:1.8;margin-top:49px;text-align:center}
.reel-content{height:100%;display:flex;align-items:center;padding-top:calc(var(--header) + var(--review-offset) + 22px);padding-bottom:108px}
.reel-copy{color:#fff;width:100%;opacity:var(--reel-copy);transform:translateY(var(--reel-lift));position:relative}
.reel-copy .hero-copy{max-width:1060px}
.reel-copy .hero-copy>.eyebrow{font-size:13px;letter-spacing:.18em;color:#e1ddcd;margin-bottom:25px;max-width:none}
.reel-copy h1{font-size:clamp(59.8px,7.28vw,106.6px);line-height:1.05;letter-spacing:-.052em;max-width:1080px;font-weight:var(--gcp-weight-regular);color:#fff;text-wrap:balance}
.reel-copy .hero-description{font-size:19.5px;line-height:1.8;max-width:510px;margin-top:25px;color:#ffffffe0}
.reel-copy .hero-actions{display:flex;flex-direction:row;align-items:center;gap:29px;margin-top:30px}
.reel-copy .hero-actions .button{background:#faf9f4;border-color:#faf9f4;color:#25342b;padding:16px 20px;font-size:15.6px}
.reel-copy .hero-actions .button:hover{background:white;border-color:white}
.reel-copy .hero-actions .text-link{color:#fff;border-color:#ffffff77;font-size:14.3px}
.reel-copy .hero-actions .text-link:hover{border-color:#fff}
.reel-copy .hero-location{display:none}
.reel-bottom{position:absolute;bottom:59px;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:24px;color:#fff;z-index:3}
.reel-discover{display:inline-flex;align-items:center;gap:15px;font-size:13px;letter-spacing:.035em;color:#fff;min-height:44px}
.reel-arrow{display:flex;align-items:center;justify-content:center;border:1px solid #ffffff70;border-radius:50%;height:42px;width:42px;font-size:27.3px;transition:background .2s,transform .2s}
.reel-discover:hover .reel-arrow{background:#ffffff1a;transform:translateY(3px)}
.reel-index{font-size:9.1px;letter-spacing:.14em;color:#ffffffb5;display:flex;align-items:center;gap:17px;line-height:1.6}
.reel-index i{width:31px;height:1px;background:#ffffff65;display:block}
.reel-playback{display:flex;align-items:center;gap:10px;font-size:11.7px;letter-spacing:.025em;min-height:44px;color:white;padding:0}
.reel-control-icon{height:36px;width:36px;border:1px solid #ffffff65;border-radius:50%;display:grid;place-items:center}
.reel-control-icon svg{width:16px;height:16px;fill:none;stroke:white;stroke-width:1.5}
.reel-control-icon .play-glyph{display:none;fill:white;stroke:none}
.reel-playback.is-paused .pause-glyph{display:none}
.reel-playback.is-paused .play-glyph{display:block}
.reel-playback:hover .reel-control-icon{background:#ffffff20;border-color:white}
.reel-progress{position:absolute;left:0;bottom:0;width:100%;height:2px;background:#ffffff18}
.reel-progress>span{display:block;height:100%;width:100%;transform:scaleX(var(--reel-progress));transform-origin:left;background:#c6b083}
.film-in-view .review-return{background:#12201880;border-color:#ffffff35;color:#ffffffc9;backdrop-filter:blur(8px);font-size:11.7px;padding:7px 10px;box-shadow:none;bottom:12px;right:17px}
body.editing .reel-copy{opacity:1!important;visibility:visible!important;transform:none!important}
body.editing .reel-shade{opacity:.65!important}
body.editing .reel-wordmark{opacity:0!important}
body.editing .reel-copy [contenteditable]{outline-color:#e7d5ae}
body.editing .reel-content{padding-top:calc(var(--header) + var(--review-offset) + 60px)}
#main>.facts{margin-top:0;padding-top:40px;padding-bottom:36px;border-top:0}
@media(min-width:1700px){.reel-copy h1{font-size:113.1px}}
@media(max-width:1100px){.reel-copy h1{font-size:clamp(61.1px,7.93vw,89.7px)}.reel-index{display:none}.reel-copy .hero-copy{max-width:870px}}
@media(max-width:650px){.reel-stage{min-height:570px}.reel-wordmark{transform:translateY(-24px)}.reel-wordmark .brand-main{font-size:135.2px}.reel-wordmark .brand-sub{font-size:11.7px;margin-top:17px;letter-spacing:.29em}.reel-kicker{font-size:9.1px;letter-spacing:.1em;max-width:260px;margin-top:34px}.reel-content{padding-top:calc(var(--header) + var(--review-offset) + 16px);padding-bottom:113px}.reel-copy .hero-copy>.eyebrow{font-size:10.4px;line-height:1.75;letter-spacing:.12em;max-width:300px;margin-bottom:20px}.reel-copy h1{font-size:clamp(46.8px,13.26vw,61.1px);line-height:1.08;letter-spacing:-.05em;text-wrap:initial;max-width:500px}.reel-copy .hero-description{font-size:16.9px;line-height:1.75;margin-top:21px;max-width:390px}.reel-copy .hero-actions{gap:19px;margin-top:24px;flex-wrap:wrap}.reel-copy .hero-actions .button{font-size:13px;padding:13px 15px;gap:20px}.reel-copy .hero-actions .text-link{font-size:13px;gap:11px}.reel-bottom{bottom:57px;gap:12px}.reel-discover{gap:11px;font-size:11.7px}.reel-arrow{width:36px;height:36px;font-size:24.7px}.reel-playback{gap:8px;font-size:10.4px}.reel-control-icon{width:32px;height:32px}.film-in-view .review-return{right:12px;bottom:10px;font-size:10.4px}.reel-copy .hero-copy{max-width:none}#main>.facts{padding-top:27px;padding-bottom:26px}}
@media(max-width:380px){.reel-copy h1{font-size:46.8px}.reel-copy .hero-actions{gap:15px}.reel-copy .hero-actions .button{font-size:11.7px;gap:15px;padding:12px}.reel-copy .hero-actions .text-link{font-size:11.7px;gap:9px}.reel-copy .hero-description{font-size:15.6px}}
@media(max-height:720px) and (min-width:651px){.reel-copy h1{font-size:70.2px}.reel-copy .hero-copy>.eyebrow{margin-bottom:16px}.reel-copy .hero-description{font-size:16.9px;line-height:1.65;margin-top:18px;max-width:550px}.reel-copy .hero-actions{margin-top:20px}.reel-content{padding-bottom:92px}.reel-bottom{bottom:30px}.reel-kicker{margin-top:30px}}
@media(max-height:700px) and (max-width:650px){.reel-copy h1{font-size:44.2px}.reel-copy .hero-copy>.eyebrow{margin-bottom:13px;font-size:9.1px}.reel-copy .hero-description{font-size:15.6px;line-height:1.55;margin-top:17px}.reel-copy .hero-actions{margin-top:19px}.reel-content{padding-bottom:98px}.reel-bottom{bottom:39px}.reel-copy .hero-actions .button{padding-top:11px;padding-bottom:11px}.reel-playback #reel-playback-label{display:none}}
@media(prefers-reduced-motion:reduce){.landing-reel{height:auto}.reel-stage{position:relative;min-height:640px;--reel-copy:1!important;--reel-brand:0!important;--reel-dark:.58!important;--reel-lift:0px!important;--reel-scale:1!important}.reel-copy{opacity:1!important;transform:none!important;visibility:visible!important}.reel-wordmark{opacity:0!important}.reel-progress{display:none}}
@media print{.landing-reel{height:auto;background:white}.reel-stage{height:auto;min-height:0;position:relative}.reel-video,.reel-vignette,.reel-shade,.reel-wordmark,.reel-bottom,.reel-progress{display:none!important}.reel-content{padding:30px 0;display:block}.reel-copy{opacity:1!important;transform:none!important;visibility:visible!important;color:#111}.reel-copy h1,.reel-copy p,.reel-copy .hero-copy>.eyebrow{color:#111}.reel-copy h1{font-size:46.8px}.reel-copy .hero-actions{display:none}.site-header{position:static}}

/* v03: merge notes only; established layout and typography are retained. */
.translation-note{padding:10px 13px;margin:-16px 0 25px;border-left:2px solid var(--accent);background:#f2eee5;color:#746143;font-size:14.3px;line-height:1.65}
.dialog-reviewed-facts{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 16px;border-top:1px solid var(--line);padding-top:17px;margin-top:12px}
.dialog-reviewed-facts strong{font-size:29.9px;letter-spacing:-.025em;font-weight:var(--gcp-weight-regular)}
.dialog-reviewed-facts span{font-size:15.6px;color:var(--muted)}
@media print{.translation-note{display:none}}



/* GCP v04 — strategy footers: equal start/end lines, content-driven height.
   The flex layout remains a fallback. Subgrid shares the footer track across
   both desktop cards, including after edits or language changes. */
.strategy-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
}
.strategy-card {
  --strategy-inset: 33px;
  min-width: 0;
}
.strategy-card > .strategy-points {
  flex: 1 0 auto;
  padding-bottom: 15px;
  min-width: 0;
}
.strategy-card > .strategy-result {
  flex: 0 0 auto;
  min-width: 0;
  margin: 0 calc(-1 * var(--strategy-inset));
  padding: 22px var(--strategy-inset);
  border-top: 1px solid var(--line);
}
.strategy-result > p {
  overflow-wrap: anywhere;
}
@media (max-width: 1150px) {
  .strategy-card { --strategy-inset: 26px; }
}
@media (max-width: 900px) {
  .strategy-card { --strategy-inset: 23px; }
}
@media (min-width: 651px) {
  @supports (grid-template-rows: subgrid) {
    .strategy-grid { row-gap: 0; }
    .strategy-card {
      display: grid;
      grid-template-rows: subgrid;
      grid-row: span 5;
      row-gap: 0;
    }
  }
}
@media (max-width: 650px) {
  .strategy-grid { grid-template-columns: minmax(0, 1fr); }
  .strategy-card { --strategy-inset: 26px; }
  .strategy-card > .strategy-result { min-height: 0; }
}
@media (max-width: 360px) {
  .strategy-card { --strategy-inset: 22px; }
}



/* GCP 06 — source-derived operating model, isolated to the Platform section.
   Geometry is vector; visible labels are normal editable HTML. */
#platform {
  --op-green: #29463f;
  --op-sand: #d0b396;
  --op-blue: #55728a;
}
#platform .op-layout {
  display: grid;
  grid-template-columns: minmax(0,1.1fr) minmax(0,1fr);
  gap: clamp(36px,5.6vw,80px);
  align-items: center;
  margin-top: 42px;
}
#platform .op-figure { min-width:0; margin:0; }
#platform .op-model-heading {
  color:var(--muted); font-size:13px; font-weight:var(--gcp-weight-strong); line-height:1.6;
  letter-spacing:.12em; text-transform:uppercase; text-align:center;
  margin:0 0 24px;
}
#platform .op-diagram {
  position:relative; width:100%; max-width:590px;
  aspect-ratio:600 / 550; margin-inline:auto;
}
#platform .op-vectors { display:block; width:100%; height:100%; overflow:visible; }
#platform .op-shape { transition:filter .2s ease; }
#platform .op-shape--inv {fill:var(--op-green)}
#platform .op-shape--dev {fill:var(--op-sand)}
#platform .op-shape--am {fill:var(--op-blue)}
#platform .op-node {
  position:absolute; display:flex; flex-direction:column; align-items:center;
  justify-content:center; gap:12px; width:38%; padding:8px 0;
  transform:translate(-50%,-50%); text-align:center;
  color:#fff; line-height:1.25;
}
#platform .op-node--inv {left:50%;top:37.2%}
#platform .op-node--dev {left:25%;top:85.2%;color:#24251f}
#platform .op-node--am {left:75%;top:85.2%}
#platform .op-node-index {
  display:block; font-size:13px; font-weight:var(--gcp-weight-regular); letter-spacing:.16em;
  opacity:.8; border-bottom:1px solid currentColor; padding:0 0 8px;
}
#platform .op-node-name {
  font-size:clamp(15.6px,1.43vw,20.8px);font-weight:var(--gcp-weight-regular);
  letter-spacing:-.015em;line-height:1.3;
}
#platform .op-node:focus-visible {outline:2px solid currentColor;outline-offset:1px}
#platform .op-centre {
  position:absolute;left:50%;top:56.7%;width:29%;
  transform:translateX(-50%);display:flex;flex-direction:column;
  align-items:center;gap:17px;text-align:center;pointer-events:none;
}
#platform .op-brand-image {width:100%;height:auto;max-height:50px;object-fit:contain}
#platform .op-brand-fallback {font-size:41.6px;letter-spacing:-.04em;color:var(--ink)}
#platform .op-brand-caption {
  white-space:pre-line;max-width:100%;font-size:10.4px;line-height:1.6;
  color:#626962;letter-spacing:.15em;
}
#platform .op-model-caption {
  margin:18px auto 0;max-width:480px;color:var(--muted);
  font-size:13px;line-height:1.7;letter-spacing:.025em;text-align:center;
}
#platform .op-capabilities {min-width:0;}
#platform .op-capability {
  --op-tone:var(--op-green);position:relative;
  padding:24px 0 24px 25px;border-top:1px solid var(--line);
  scroll-margin-top:140px;
}
#platform .op-capability:last-child{border-bottom:1px solid var(--line)}
#platform .op-capability--dev{--op-tone:var(--op-sand)}
#platform .op-capability--am{--op-tone:var(--op-blue)}
#platform .op-capability::before {
  content:'';position:absolute;left:0;top:28px;width:3px;height:26px;
  background:var(--op-tone);transition:height .2s ease;
}
#platform .op-cap-title {display:flex;align-items:baseline;gap:13px;}
#platform .op-cap-number {color:#788078;font-size:11.7px;letter-spacing:.08em;flex:0 0 auto}
#platform .op-cap-title h3 {font-size:35.1px;line-height:1.23;letter-spacing:-.025em}
#platform .op-cap-tagline {font-size:15.6px;line-height:1.6;color:#4b554c;margin-top:8px}
#platform .op-cap-description {font-size:16.9px;line-height:1.8;margin-top:14px;max-width:470px}
#platform .op-layout[data-op-active="inv"] .op-shape--inv,
#platform .op-layout[data-op-active="dev"] .op-shape--dev,
#platform .op-layout[data-op-active="am"] .op-shape--am {filter:brightness(1.09)}
#platform .op-layout[data-op-active="inv"] .op-capability--inv::before,
#platform .op-layout[data-op-active="dev"] .op-capability--dev::before,
#platform .op-layout[data-op-active="am"] .op-capability--am::before {height:66px}
#platform .platform-bottom {margin-top:38px;}
body.editing #platform .op-centre {pointer-events:auto}
body.editing #platform .op-brand-caption {max-width:100%;overflow-wrap:anywhere;}
@media (max-width:1150px) {
  #platform .op-layout {gap:38px}
  #platform .op-cap-title h3 {font-size:31.2px}
  #platform .op-capability {padding:20px 0 20px 22px}
  #platform .op-capability::before {top:24px}
  #platform .op-cap-description {font-size:15.6px;margin-top:11px}
  #platform .op-centre {gap:11px}
  #platform .op-brand-caption {font-size:9.1px;letter-spacing:.08em}
}
@media (max-width:900px) {
  #platform .op-layout {grid-template-columns:minmax(0,1fr);gap:36px;margin-top:33px}
  #platform .op-diagram {max-width:530px}
  #platform .op-node-name {font-size:19.5px}
  #platform .op-capabilities {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}
  #platform .op-capability {padding:20px 0 0 0;border-bottom:0!important}
  #platform .op-capability::before {left:0;top:-2px;height:3px;width:34px}
  #platform .op-cap-title {gap:9px}
  #platform .op-cap-title h3 {font-size:27.3px;min-height:52px}
  #platform .op-cap-description {font-size:15.6px}
  #platform .op-layout[data-op-active] .op-capability::before {height:3px}
}
@media (max-width:650px) {
  #platform .op-layout {gap:32px}
  #platform .op-model-heading {font-size:11.7px;letter-spacing:.08em;margin-bottom:20px;max-width:300px;margin-inline:auto}
  #platform .op-node {gap:8px;width:40%}
  #platform .op-node-name {font-size:clamp(13.65px,4.095vw,19.5px)}
  #platform .op-node-index {font-size:11.7px;padding-bottom:6px}
  #platform .op-centre {top:56.8%;gap:9px}
  #platform .op-brand-caption {font-size:7.8px;line-height:1.5;letter-spacing:.03em}
  #platform .op-model-caption {font-size:13px;line-height:1.75;max-width:300px;margin-top:20px}
  #platform .op-capabilities {display:block}
  #platform .op-capability {padding:23px 0 23px 23px;scroll-margin-top:110px}
  #platform .op-capability:last-child {border-bottom:1px solid var(--line)!important}
  #platform .op-capability::before {left:0;top:27px;width:3px;height:25px!important}
  #platform .op-cap-title {gap:11px}
  #platform .op-cap-title h3 {font-size:32.5px;min-height:0}
  #platform .op-cap-tagline {font-size:15.6px;margin-top:8px}
  #platform .op-cap-description {font-size:16.9px;line-height:1.8;margin-top:12px}
  #platform .platform-bottom {margin-top:28px}
}
@media (prefers-reduced-motion:reduce) {
  #platform .op-shape,#platform .op-capability::before {transition:none}
}
@media print {
  #platform .op-layout {grid-template-columns:1fr 1fr;gap:30px}
  #platform .op-capabilities {display:block}
  #platform .op-cap-title h3 {font-size:24.7px;min-height:0}
  #platform .op-cap-description {font-size:13px}
  #platform .op-model-heading {font-size:10.4px}
  #platform .op-figure {break-inside:avoid}
}



/* v11: independently centred titles; no anchor transforms animated. */
/* Six source-logo pieces -> three disciplines. Layout anchors are never animated.
   Geometry lives in SVG coordinates; only the whole completed stage can breathe. */
#platform .op-diagram {aspect-ratio:600 / 354;isolation:isolate;overflow:visible;}
#platform .op-stage {position:relative;width:100%;height:100%;transform:none;}
#platform .op-vectors {overflow:visible;}
#platform .op-shape {transition:filter .2s ease;transform:none;}
/* The title has its own permanent optical anchor. The small index is
   positioned above it, outside normal flow, so it cannot pull the title down. */
#platform .op-node {
  display:block;width:34%;gap:0;padding:0;z-index:2;
  transform:translate(-50%,-50%);
  opacity:var(--op-label-opacity,1);
}
#platform .op-node--inv {left:50%;top:31.954%;}
#platform .op-node--dev {left:25.4167%;top:76.757%;color:#24251f;}
#platform .op-node--am {left:74.5833%;top:76.757%;}
#platform .op-node-index {
  position:absolute;left:50%;bottom:calc(100% + 9px);
  transform:translateX(-50%);font-size:13px;line-height:1.15;
  padding:0 0 5px;opacity:.65;white-space:nowrap;
}
#platform .op-node-name {display:block;font-size:clamp(15.6px,1.352vw,19.5px);line-height:1.2;max-width:100%;}
#platform .op-centre {
  top:55.3%;left:50%;width:26%;gap:7px;z-index:2;
  transform:translateX(-50%);
  opacity:var(--op-label-opacity,1);
}
#platform .op-brand-image {max-height:none;width:100%;height:auto;object-fit:contain;}
#platform .op-brand-caption {font-size:9.1px;line-height:1.4;letter-spacing:.08em;}
#platform .op-brand-fallback {font-size:33.8px;line-height:1;}
#platform .op-model-caption {opacity:var(--op-label-opacity,1);}
#platform .op-layout.is-op-idle .op-stage {
  animation:gcpPlatformBreathe 12s ease-in-out infinite;
  will-change:transform;
}
@keyframes gcpPlatformBreathe {
  0%,100%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(0,-1px,0)}
}
#platform .op-motion-controls {
  display:flex;align-items:center;justify-content:center;gap:8px 16px;
  flex-wrap:wrap;margin:19px auto 0;min-height:32px;
}
#platform .op-motion-controls button {
  display:inline-flex;align-items:center;gap:5px;padding:7px 2px;
  min-height:32px;font-size:13px;line-height:1.5;color:#70766e;
  border-bottom:1px solid #d9dcd5;
}
#platform .op-motion-controls button:hover {color:var(--ink);border-color:var(--ink);}
#platform .op-motion-controls button:disabled {opacity:.45;cursor:default;}
#platform .op-review-timeline {
  border-top:1px solid var(--line);margin-top:18px;padding-top:16px;
  display:grid;gap:10px;max-width:520px;margin-inline:auto;
}
.clean-preview #platform .op-review-timeline {display:none!important;}
#platform .op-review-timeline label {font-size:13px;color:var(--muted);}
#platform .op-review-timeline input {
  width:100%;margin:0;accent-color:var(--op-green);cursor:pointer;
  min-width:0;min-height:24px;
}
#platform .op-step-buttons {display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;}
#platform .op-step-buttons button {
  padding:6px 2px;border:1px solid #dddcd4;color:#687167;background:#fafaf7;
  font-size:13px;min-height:32px;
}
#platform .op-step-buttons button[aria-pressed=true] {background:var(--op-green);border-color:var(--op-green);color:#fff;}
#platform #op-motion-status {font-size:13px;line-height:1.6;color:var(--muted);}
@media(max-width:1150px) {
  #platform .op-node {gap:0;padding:0;}
  #platform .op-node-index {font-size:11.7px;padding-bottom:4px;bottom:calc(100% + 7px);}
  #platform .op-centre {gap:5px;}
  #platform .op-brand-caption {font-size:7.8px;letter-spacing:.04em;}
}
@media(max-width:900px) {
  #platform .op-node {gap:0;padding:0;}
  #platform .op-node-name {font-size:19.5px;}
  #platform .op-node-index {font-size:13px;padding-bottom:5px;bottom:calc(100% + 8px);}
  #platform .op-centre {gap:7px;}
  #platform .op-brand-caption {font-size:9.1px;}
}
@media(max-width:650px) {
  #platform .op-node {gap:0;padding:0;width:35%;}
  #platform .op-node-index {font-size:10.4px;line-height:1.15;padding-bottom:3px;bottom:calc(100% + 5px);}
  #platform .op-node-name {font-size:clamp(13px,3.77vw,18.2px);line-height:1.2;}
  #platform .op-centre {top:53%;gap:4px;}
  #platform .op-brand-caption {font-size:7.15px;line-height:1.35;letter-spacing:.025em;}
  #platform .op-brand-fallback {font-size:26px;}
  #platform .op-motion-controls {gap:7px 14px;margin-top:15px;}
}
@media(max-width:360px) {
  #platform .op-centre {gap:3px;}
  #platform .op-brand-caption {font-size:6.5px;letter-spacing:0;}
}
@media(prefers-reduced-motion:reduce) {
  #platform .op-stage {animation:none!important;transform:none!important;}
}
body.editing #platform .op-stage {animation:none!important;transform:none!important;}
body.editing #platform .op-node,body.editing #platform .op-centre,
body.editing #platform .op-model-caption {opacity:1!important;}
@media print {
  #platform .op-motion-controls,#platform .op-review-timeline {display:none!important;}
  #platform .op-stage {animation:none!important;transform:none!important;}
}


@media(max-width:650px) {
  /* A two-line treatment keeps the longer title clear of the sloping edges. */
  #platform .op-node--am .op-node-name {max-width:12ch;margin-inline:auto;}
}



/* v12: implementation of the 12-page comments PDF. Existing explicit font
   sizes above have been increased once by 1.30. The strategy labels below are
   2.00x their original v11 size, not 1.30x2.00. Images and logos are unchanged. */
:root {--strategy-band:#eeede6;}
.section-heading>*,.section-intro,.team-copy,.project-body,.footer-grid>*{min-width:0;}
.section-intro,.op-cap-description,.energy-intro{max-width:none;}
.main-nav a,.language-switch button,.nav-contact {white-space:nowrap;}
.reel-kicker,.reel-index{color:#fff;font-weight:var(--gcp-weight-regular);text-shadow:0 1px 4px #0008;}
.reel-index i{background:#ffffffcf;}
.reel-kicker{max-width:680px;}
.reel-copy .hero-description{max-width:665px;}
.reel-copy h1{max-width:100%;}
.reel-stage{height:max(100svh,var(--reel-fit-height,530px));}
.landing-reel{height:calc(max(100svh,var(--reel-fit-height,530px)) + 75svh);}
#main>.facts{padding-block:40px;}
.fact>span{max-width:none;}
#strategies .strategy-grid{gap:0 26px;}
#strategies .strategy-card {padding:0;display:flex;flex-direction:column;min-width:0;background:#f7f5ef;}
#strategies .strategy-card-head{background:var(--strategy-band);padding:30px var(--strategy-inset);border-bottom:1px solid #d9d5ca;min-width:0;display:flex;flex-direction:column;}
#strategies .strategy-card-head>.eyebrow{font-size:20px;line-height:1.4;color:var(--accent);letter-spacing:.12em;margin-bottom:19px;}
#strategies .strategy-card-head>h3{font-size:36.4px;line-height:1.18;min-height:0;max-width:none;overflow-wrap:break-word;}
#strategies .strategy-card-head>.strategy-intro{font-size:18.2px;line-height:1.65;max-width:none;min-height:0;margin:24px 0 0;}
#strategies .strategy-card>.strategy-points{padding:10px var(--strategy-inset) 20px;}
#strategies .strategy-point{padding:22px 0;gap:17px;}
#strategies .strategy-point:first-child{border-top:0;}
#strategies .strategy-point>div{min-width:0;}
#strategies .strategy-card>.strategy-result{margin:0;padding:26px var(--strategy-inset);background:var(--strategy-band);min-height:0;}
#strategies .strategy-result>.eyebrow{margin-bottom:11px;}
@supports(grid-template-rows:subgrid){
  @media(min-width:901px){
    #strategies .strategy-card{display:grid;grid-template-rows:subgrid;grid-row:span 3;row-gap:0;}
  }
}
#approach .process-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:30px;}
#approach .process-grid article{min-width:0;}
#approach .process-grid h3{overflow-wrap:break-word;}
#platform .op-layout{align-items:center;}
#platform .op-node--inv{left:50%;top:34.3%;}
#platform .op-node--dev{left:26.08625%;top:78.7%;}
#platform .op-node--am{left:73.91375%;top:78.7%;}
#platform .op-node{width:32%;}
#platform .op-node--am .op-node-name{max-width:12ch;margin-inline:auto;}
#platform .op-model-caption{max-width:none;}
#platform .op-centre{top:55%;width:26%;}
#platform .op-brand-caption{max-width:100%;}
.team-card{display:flex;flex-direction:column;min-width:0;}
.team-card>.portrait{flex-shrink:0;}
.team-card .team-copy{display:flex;flex-direction:column;flex:1;}
.team-card .team-bio{min-height:0;flex:1;margin-bottom:10px;}
.team-card .team-copy>.text-link{margin-top:15px;}
.team-role{color:#52694f;}
#team .support-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
.support-added-card{align-items:flex-start!important;}
.support-added-copy{min-width:0;flex:1;}
.support-added-copy>.text-link{font-size:13px;margin-top:10px;width:100%;}
.team-extension-tools{gap:20px;align-items:center;border:1px dashed #b7a16c;padding:18px;margin-top:28px;}
.team-extension-tools p{font-size:14px;line-height:1.6;}
.team-extension-tools button{flex-shrink:0;}
.team-remove{font-size:12px;padding:8px 0;color:#835737;}
.contact-email>.contact-email-address{font-size:inherit;font-weight:inherit;color:inherit;line-height:inherit;min-width:0;flex:0 1 auto;overflow-wrap:normal;}
.contact-email>.contact-email-arrow{flex-shrink:0;}
@media(max-width:1150px){
 .main-nav{gap:14px;}.header-right{gap:14px;}
 #strategies .strategy-card-head>h3{font-size:33.8px;}
 #approach .process-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;}
 .project-body h3{min-height:0;}.project-description{min-height:0;}
 #platform .op-layout{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:36px;}
}
@media(max-width:1000px){
 .main-nav{display:none;}.menu-toggle{display:block;}.header-right{margin-left:auto;}
 #platform .op-layout{grid-template-columns:minmax(0,1fr);}
 #platform .op-capabilities{display:block;}
 #platform .op-diagram{max-width:590px;}
 #platform .op-capability{padding:25px 0 25px 25px;}
 #platform .op-capability::before{top:30px;left:0;width:3px;height:26px!important;}
 #platform .op-cap-title h3{min-height:0;}
 #platform .op-capability:last-child{border-bottom:1px solid var(--line)!important;}
}
@media(max-width:900px){
 #strategies .strategy-grid{grid-template-columns:minmax(0,1fr);row-gap:26px;}
 #strategies .strategy-card{display:flex;grid-row:auto;}
 #strategies .strategy-card-head>.strategy-intro{font-size:16.9px;}
 .team-grid{grid-template-columns:minmax(0,1fr);gap:36px;}
 .team-card{display:grid;grid-template-columns:minmax(220px,.85fr) minmax(0,1fr);gap:26px;}
 .team-card>.portrait{height:100%;min-height:350px;}
 .team-card>.team-copy{padding-top:0;}
 #team .support-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;}
 .reel-index{display:none;}
}
@media(max-width:650px){
 .reel-kicker{max-width:310px;}
 .reel-copy .hero-description{max-width:none;}
 .reel-copy .hero-copy>.eyebrow{max-width:none;}
 .reel-content{padding-bottom:123px;}
 .fact{display:block;padding-block:22px;}
 .fact strong{font-size:23.4px;}
 .fact>span{text-align:left;margin-top:8px;max-width:none;}
 #strategies .strategy-card-head>.eyebrow{font-size:18px;}
 #strategies .strategy-card-head>h3{font-size:35.1px;}
 #strategies .strategy-point{gap:14px;}
 #strategies .strategy-card-head{padding-block:27px;}
 #approach .process-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 24px;}
 #platform .op-diagram{width:calc(100% + 16px);max-width:none;margin-left:-8px;}
 #platform .op-node--am .op-node-name{max-width:12ch;}
 #platform .op-node--inv{top:36%;}
 #platform .op-node--dev,#platform .op-node--am{top:80.3%;}
 #platform .op-centre{top:53%;gap:4px;}
 #platform .op-brand-caption{letter-spacing:0;}
 #platform .op-model-caption{font-size:13px;}
 .team-card{display:flex;gap:0;}
 .team-card>.portrait{height:auto;min-height:0;}
 .team-card>.team-copy{padding-top:24px;}
 #team .support-grid{grid-template-columns:1fr;}
 .team-extension-tools{flex-direction:column;align-items:flex-start;}
 .contact-email{font-size:clamp(22.1px,6.5vw,37.7px);}
 .contact-email>.contact-email-address{white-space:normal;}
 .contact-grid h3{overflow-wrap:break-word;}
 .footer-grid{gap:28px 20px;}
 .footer-grid address{overflow-wrap:break-word;}
 .footer-grid address strong{font-size:inherit;}
 .review-actions{gap:4px;flex-wrap:wrap;justify-content:flex-start;}
}
@media(max-width:400px){
 #approach .process-grid{grid-template-columns:1fr;}
 #strategies .strategy-card-head>h3{font-size:33.8px;}
 #platform .op-node-index{bottom:calc(100% + 5px);}
 #platform .op-brand-caption{font-size:6.5px;}
 .footer-grid{grid-template-columns:1fr;}
}
@media(prefers-reduced-motion:reduce){.landing-reel{height:auto;}}
@media print{
 .landing-reel{height:auto;}.reel-stage{height:auto;}
 .team-extension-tools,.team-remove{display:none!important;}
 #approach .process-grid{grid-template-columns:repeat(5,minmax(0,1fr));}
}


.energy-grid,.energy-grid>*,.energy-steps article,.energy-steps article>div{min-width:0}.energy-grid h2,.energy-steps h3{overflow-wrap:break-word}

/* Everything is scoped to this independent news module; no v13 selectors. */
#gcp-news-template {
 --gn-ink:#202522;--gn-muted:#626962;--gn-accent:#9b8156;--gn-paper:#fff;
 --gn-wash:#f6f6f2;--gn-line:#e1e4de;--gn-dark:#232d28;--gn-band:#eeede6;
 --gn-gutter:clamp(23px,4.7vw,76px);--gn-max:1256px;
 background:var(--gn-paper);color:var(--gn-ink);font-family:var(--gcp-font-family);
 font-size:18px;line-height:1.55;-webkit-font-smoothing:antialiased;
}
#gcp-news-template *,#gcp-news-template *::before,#gcp-news-template *::after {box-sizing:border-box;}
#gcp-news-template [hidden] {display:none!important;}
#gcp-news-template button,#gcp-news-template input {font:inherit;color:inherit;}
#gcp-news-template button {cursor:pointer;touch-action:manipulation;}
#gcp-news-template button {border:0;background:none;}
#gcp-news-template img {display:block;max-width:100%;}
#gcp-news-template :is(h1,h2,h3,h4,p,figure,blockquote,dl,dd) {margin:0;}
#gcp-news-template :is(h1,h2,h3,h4) {font-weight:var(--gcp-weight-regular);letter-spacing:-.038em;line-height:1.15;}
#gcp-news-template p {color:var(--gn-muted);}
#gcp-news-template :is(button,a,input,[contenteditable=true]):focus-visible {outline:2px solid var(--gn-accent);outline-offset:5px;}
#gcp-news-template .gn-wrap {width:calc(100% - var(--gn-gutter)*2);max-width:var(--gn-max);margin-inline:auto;}
#gcp-news-template .gn-shell {border-bottom:1px solid var(--gn-line);}
#gcp-news-template .gn-shell-inner {min-height:91px;display:flex;gap:28px;align-items:center;justify-content:space-between;padding-block:16px;}
#gcp-news-template .gn-brand {width:148px;height:auto;flex-shrink:0;}
#gcp-news-template .gn-shell-label {margin-left:auto;text-align:right;}
#gcp-news-template .gn-shell-label strong {display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:var(--gcp-weight-strong);}
#gcp-news-template .gn-shell-label span {display:block;font-size:11px;color:var(--gn-muted);margin-top:4px;}
#gcp-news-template .gn-language {display:flex;gap:8px;align-items:center;border-left:1px solid var(--gn-line);padding-left:28px;flex:0 0 auto;font-size:12px;}
#gcp-news-template .gn-language button {padding:10px 2px;font-size:13px;color:var(--gn-muted);}
#gcp-news-template .gn-language button[aria-pressed=true] {color:var(--gn-ink);font-weight:var(--gcp-weight-strong);}
#gcp-news-template .gn-language>span {color:#a7aaa2;}
#gcp-news-template .gn-tools {border-bottom:1px solid #ddd8cc;background:#f7f5ef;}
#gcp-news-template .gn-tools-inner {display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:49px;flex-wrap:wrap;padding-block:7px;}
#gcp-news-template .gn-tool-buttons {display:flex;gap:6px;align-items:center;flex-wrap:wrap;}
#gcp-news-template .gn-tool-button {font-size:12px;padding:7px 12px;min-height:35px;border:1px solid transparent;border-radius:2px;}
#gcp-news-template .gn-tool-button:hover,#gcp-news-template .gn-tool-button[aria-pressed=true] {border-color:#c5bdad;background:#eeede6;}
#gcp-news-template .gn-tool-button.gn-save {background:var(--gn-dark);color:#fff;border:1px solid var(--gn-dark);}
#gcp-news-template .gn-toolbar-right {display:flex;gap:22px;align-items:center;flex-wrap:wrap;}
#gcp-news-template .gn-draft-toggle {display:inline-flex;gap:8px;align-items:center;font-size:12px;cursor:pointer;min-height:35px;}
#gcp-news-template .gn-draft-toggle input {accent-color:var(--gn-dark);width:15px;height:15px;margin:0;}
#gcp-news-template .gn-save-state {font-size:11px;color:var(--gn-muted);}
#gcp-news-template .gn-save-state.gn-dirty {color:#896126;}
#gcp-news-template .gn-hint {padding:13px 0 0;font-size:13px;line-height:1.7;color:#7f652d;}
#gcp-news-template .gn-section {padding-block:76px 55px;}
#gcp-news-template .gn-eyebrow {font-size:13px;font-weight:var(--gcp-weight-strong);letter-spacing:.16em;line-height:1.5;color:var(--gn-muted);text-transform:uppercase;margin-bottom:26px;}
#gcp-news-template .gn-heading-row {display:grid;grid-template-columns:1fr 1fr;gap:72px;margin-bottom:44px;align-items:start;}
#gcp-news-template .gn-heading {font-size:clamp(44.2px,4.355vw,62.4px);line-height:1.13;letter-spacing:-.038em;white-space:pre-line;}
#gcp-news-template .gn-section-intro {font-size:19.5px;line-height:1.75;max-width:520px;padding-top:4px;}
#gcp-news-template .gn-feature {display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,1fr);background:#f7f5ef;border:1px solid #ddd8cc;}
#gcp-news-template .gn-figure {position:relative;min-width:0;min-height:380px;overflow:hidden;background:#e7e9df;}
#gcp-news-template .gn-photo-button {display:block;width:100%;height:100%;padding:0;position:absolute;inset:0;}
#gcp-news-template .gn-photo {width:100%;height:100%;object-fit:cover;object-position:50% 73%;transition:transform .35s ease;}
#gcp-news-template .gn-photo-button:hover .gn-photo {transform:scale(1.025);}
#gcp-news-template .gn-photo-location {position:absolute;left:22px;bottom:22px;background:#fffef7ed;padding:7px 11px;font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--gn-ink);pointer-events:none;max-width:calc(100% - 44px);}
#gcp-news-template .gn-feature-body {display:flex;flex-direction:column;min-width:0;padding:31px 32px 26px;}
#gcp-news-template .gn-meta {display:flex;align-items:center;justify-content:space-between;gap:10px 18px;flex-wrap:wrap;}
#gcp-news-template .gn-meta>span,#gcp-news-template .gn-meta>time {font-size:11px;letter-spacing:.10em;text-transform:uppercase;color:var(--gn-muted);}
#gcp-news-template .gn-badge {border:1px solid #d0c7b5;color:#826a43!important;background:#f6f2e8;padding:4px 8px;font-size:10px!important;letter-spacing:.055em!important;white-space:nowrap;}
#gcp-news-template .gn-feature-title {font-size:clamp(27px,2.45vw,35.1px);line-height:1.2;letter-spacing:-.025em;margin-top:21px;}
#gcp-news-template .gn-excerpt {font-size:16.9px;line-height:1.72;margin-top:18px;}
#gcp-news-template .gn-read {display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 0 8px;min-height:42px;border-bottom:1px solid #b8bdb4;width:100%;font-size:14.3px;font-weight:var(--gcp-weight-strong);text-align:left;}
#gcp-news-template .gn-read:hover {color:#765f39;border-color:#9b8156;}
#gcp-news-template .gn-arrow {font-size:22px;font-weight:var(--gcp-weight-regular);line-height:1;transition:transform .18s;}
#gcp-news-template .gn-read:hover .gn-arrow {transform:translate(2px,-2px);}
#gcp-news-template .gn-feature-body>.gn-read {margin-top:23px;}
#gcp-news-template .gn-facts {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:25px;padding-top:20px;border-top:1px solid #d9d5ca;}
#gcp-news-template .gn-fact {min-width:0;}
#gcp-news-template .gn-fact dt {font-size:26px;letter-spacing:-.025em;line-height:1.25;white-space:nowrap;}
#gcp-news-template .gn-fact dd {font-size:10.5px;line-height:1.55;color:var(--gn-muted);margin-top:4px;}
#gcp-news-template .gn-archive {margin-top:36px;}
#gcp-news-template .gn-archive-heading {display:flex;justify-content:space-between;gap:22px;align-items:baseline;margin-bottom:20px;}
#gcp-news-template .gn-archive-heading h3 {font-size:23.4px;letter-spacing:-.015em;}
#gcp-news-template .gn-archive-heading p {font-size:12px;}
#gcp-news-template .gn-archive-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;}
#gcp-news-template .gn-card {border:1px solid var(--gn-line);background:var(--gn-paper);padding:24px;display:grid;grid-template-columns:134px minmax(0,1fr);gap:24px;align-items:start;min-width:0;}
#gcp-news-template .gn-thumb {min-height:144px;height:144px;}
#gcp-news-template .gn-card-title {font-size:23.4px;line-height:1.22;letter-spacing:-.02em;margin-top:12px;}
#gcp-news-template .gn-card .gn-excerpt {font-size:14.3px;margin-top:12px;line-height:1.65;}
#gcp-news-template .gn-card .gn-read {font-size:13px;margin-top:10px;}
#gcp-news-template .gn-card.gn-template-card {border-style:dashed;background:#fcfcfa;}
#gcp-news-template .gn-placeholder {height:144px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:13px;background:#eeede6;color:#837152;}
#gcp-news-template .gn-placeholder>span:first-child {font-size:32px;font-weight:var(--gcp-weight-regular);line-height:1;}
#gcp-news-template .gn-placeholder>span:last-child {font-size:10px;letter-spacing:.16em;}
#gcp-news-template .gn-archive-note {font-size:12px;line-height:1.7;margin-top:25px;max-width:940px;}
#gcp-news-template .gn-editorial {margin:0 auto 35px;border-top:1px solid var(--gn-line);padding-top:21px;}
#gcp-news-template .gn-editorial summary {font-size:14px;color:var(--gn-muted);cursor:pointer;}
#gcp-news-template .gn-editorial-inner {display:grid;grid-template-columns:1fr 1fr;gap:18px 38px;margin-top:22px;}
#gcp-news-template .gn-editorial p {font-size:13px;line-height:1.8;}
#gcp-news-template .gn-foot {border-top:1px solid var(--gn-line);}
#gcp-news-template .gn-foot-inner {display:flex;align-items:center;justify-content:space-between;gap:22px;padding-block:21px 28px;}
#gcp-news-template .gn-foot-inner span {font-size:10px;letter-spacing:.12em;color:var(--gn-muted);}
#gcp-news-template .gn-foot-inner p {font-size:11px;}
#gcp-news-template .gn-photo-tools {display:none;position:absolute;inset:10px 10px auto;z-index:3;gap:7px;flex-wrap:wrap;align-items:center;}
#gcp-news-template.gn-editing .gn-photo-tools {display:flex;}
#gcp-news-template .gn-photo-tools button {background:#fffffff2;border:1px solid #c7c5b7;font-size:11px;padding:6px 8px;}
#gcp-news-template .gn-photo-tools label {background:#fffffff2;padding:7px 8px;font-size:11px;display:flex;gap:9px;align-items:center;flex:1 0 100%;min-width:0;}
#gcp-news-template .gn-photo-tools input {min-width:0;width:100%;accent-color:var(--gn-accent);}
#gcp-news-template .gn-edit-only {display:none;}
#gcp-news-template.gn-editing .gn-edit-only {display:block;}
#gcp-news-template .gn-date-field {font-size:12px;margin-top:14px;color:var(--gn-muted);}
#gcp-news-template .gn-date-field input {display:block;width:100%;background:#fff;border:1px solid var(--gn-line);padding:8px;margin-top:5px;}
#gcp-news-template [contenteditable] {outline:1px dashed #b7a16c;outline-offset:4px;cursor:text;white-space:pre-wrap;}
#gcp-news-template [contenteditable]:focus {outline:2px solid #9b8156;}
#gcp-news-template .gn-reader {margin:auto;padding:0;width:min(980px,calc(100vw - 38px));max-width:none;max-height:90vh;max-height:90dvh;overflow:auto;overscroll-behavior:contain;border:1px solid #d5d8cf;background:var(--gn-paper);color:var(--gn-ink);box-shadow:0 28px 95px #1115;border-radius:2px;}
#gcp-news-template .gn-reader::backdrop {background:#132018a8;backdrop-filter:blur(3px);}
#gcp-news-template .gn-reader-top {position:sticky;top:0;z-index:5;background:#fffffff5;border-bottom:1px solid var(--gn-line);min-height:66px;padding:12px 34px;display:flex;align-items:center;justify-content:space-between;gap:20px;}
#gcp-news-template .gn-reader-top>span {font-size:10px;letter-spacing:.12em;color:var(--gn-muted);}
#gcp-news-template .gn-reader-top-right {display:flex;align-items:center;gap:20px;}
#gcp-news-template .gn-reader-top .gn-language {border:0;padding-left:0;gap:7px;}
#gcp-news-template .gn-close {font-size:28px!important;font-weight:var(--gcp-weight-regular);width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--gn-line)!important;line-height:1;}
#gcp-news-template .gn-close:hover {background:var(--gn-wash);}
#gcp-news-template .gn-reader-content {padding:34px 52px 44px;}
#gcp-news-template .gn-reader-content>h2 {font-size:clamp(30px,3.3vw,45.5px);line-height:1.13;margin-top:18px;letter-spacing:-.028em;}
#gcp-news-template .gn-byline {display:flex;gap:12px 24px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-top:24px;padding-bottom:24px;border-bottom:1px solid var(--gn-line);font-size:13px;color:var(--gn-muted);}
#gcp-news-template .gn-reader-cover {margin-top:26px;height:auto;min-height:0;aspect-ratio:1.927;}
#gcp-news-template .gn-reader-cover>img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
#gcp-news-template .gn-reader-lead {font-size:21px;line-height:1.65;color:var(--gn-ink);margin-top:28px;}
#gcp-news-template .gn-reader-facts {margin-block:28px 10px;background:#f7f5ef;padding:22px 26px;border-top:1px solid #ddd8cc;border-bottom:1px solid #ddd8cc;}
#gcp-news-template .gn-reader-facts dt {font-size:30px;}
#gcp-news-template .gn-reader-facts dd {font-size:12px;}
#gcp-news-template .gn-prose-section {margin-top:32px;}
#gcp-news-template .gn-prose-section h3 {font-size:25px;letter-spacing:-.018em;line-height:1.25;margin-bottom:16px;}
#gcp-news-template .gn-prose-section p {font-size:17px;line-height:1.9;white-space:pre-line;}
#gcp-news-template .gn-prose-section p+p {margin-top:16px;}
#gcp-news-template .gn-quote {padding:25px 30px;border-left:2px solid var(--gn-accent);background:#f7f5ef;margin-top:30px;}
#gcp-news-template .gn-quote>p {font-size:21px;color:var(--gn-ink);line-height:1.55;letter-spacing:-.01em;}
#gcp-news-template .gn-quote>cite {display:block;font-size:11px;font-style:normal;letter-spacing:.06em;color:var(--gn-muted);margin-top:17px;}
#gcp-news-template .gn-article-note {border-top:1px solid var(--gn-line);margin-top:32px;padding-top:22px;}
#gcp-news-template .gn-article-note strong {display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:var(--gcp-weight-regular);color:#7d6a49;margin-bottom:8px;}
#gcp-news-template .gn-article-note p {font-size:12px;line-height:1.7;}
#gcp-news-template .gn-reader-bottom {margin-top:27px;display:flex;justify-content:space-between;gap:20px;align-items:center;}
#gcp-news-template .gn-reader-bottom button {font-size:13px;padding:10px 0;border-bottom:1px solid #b8bdb4;}
#gcp-news-template .gn-toast {position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--gn-dark);color:#fff;padding:12px 20px;font-size:13px;line-height:1.6;max-width:calc(100% - 32px);z-index:20;box-shadow:0 8px 30px #0002;}
#gcp-news-template .gn-review-return {position:fixed;bottom:18px;right:22px;z-index:6;background:#efece5;padding:10px 15px;font-size:12px;border:1px solid #cbc3b2;}
#gcp-news-template.gn-clean .gn-tools,#gcp-news-template.gn-clean .gn-hint,#gcp-news-template.gn-clean .gn-editorial {display:none!important;}
#gcp-news-template .gn-empty {padding-block:15px;font-size:15px;}
@media(min-width:1500px){#gcp-news-template{--gn-max:1280px;}}
@media(max-width:1150px){
 #gcp-news-template .gn-heading-row{gap:40px;}
 #gcp-news-template .gn-section{padding-block:64px 45px;}
 #gcp-news-template .gn-feature-body{padding:25px;}
 #gcp-news-template .gn-feature-title{font-size:30px;}
 #gcp-news-template .gn-excerpt{font-size:15.6px;}
 #gcp-news-template .gn-card{grid-template-columns:105px minmax(0,1fr);gap:18px;padding:20px;}
 #gcp-news-template .gn-card-title{font-size:21px;}
 #gcp-news-template .gn-fact dt{font-size:23px;}
}
@media(max-width:900px){
 #gcp-news-template{--gn-gutter:30px;}
 #gcp-news-template .gn-heading{font-size:46.8px;}
 #gcp-news-template .gn-section-intro{font-size:16.9px;}
 #gcp-news-template .gn-feature{grid-template-columns:1fr;}
 #gcp-news-template .gn-feature>.gn-figure{min-height:0;aspect-ratio:1.927;}
 #gcp-news-template .gn-feature-body{padding:28px;}
 #gcp-news-template .gn-feature-title{font-size:33.8px;}
 #gcp-news-template .gn-excerpt{font-size:16.9px;}
 #gcp-news-template .gn-facts{max-width:none;gap:20px;}
 #gcp-news-template .gn-fact dt{font-size:28px;}
 #gcp-news-template .gn-archive-grid{grid-template-columns:1fr;}
 #gcp-news-template .gn-card{grid-template-columns:150px minmax(0,1fr);padding:24px;gap:24px;}
 #gcp-news-template .gn-card-title{font-size:25px;}
 #gcp-news-template .gn-shell-label span{max-width:220px;}
 #gcp-news-template .gn-reader-content{padding:28px 34px 36px;}
}
@media(max-width:650px){
 #gcp-news-template{--gn-gutter:23px;}
 #gcp-news-template .gn-shell-inner{gap:15px;min-height:80px;flex-wrap:wrap;}
 #gcp-news-template .gn-brand{width:125px;}
 #gcp-news-template .gn-shell-label{display:none;}
 #gcp-news-template .gn-language{margin-left:auto;padding-left:16px;}
 #gcp-news-template .gn-tools-inner{gap:4px;align-items:flex-start;}
 #gcp-news-template .gn-tool-buttons{gap:0;}
 #gcp-news-template .gn-toolbar-right{justify-content:space-between;width:100%;}
 #gcp-news-template .gn-tool-button{font-size:11px;padding:6px 9px;}
 #gcp-news-template .gn-heading-row{grid-template-columns:1fr;gap:20px;margin-bottom:29px;}
 #gcp-news-template .gn-heading{font-size:clamp(35px,9.9vw,45.5px);line-height:1.16;}
 #gcp-news-template .gn-section{padding-top:47px;}
 #gcp-news-template .gn-eyebrow{font-size:11.7px;margin-bottom:20px;}
 #gcp-news-template .gn-section-intro{font-size:18.2px;line-height:1.75;}
 #gcp-news-template .gn-feature-body{padding:22px;}
 #gcp-news-template .gn-feature-title{font-size:29px;line-height:1.2;margin-top:17px;}
 #gcp-news-template .gn-excerpt{font-size:16px;}
 #gcp-news-template .gn-meta{gap:8px;}
 #gcp-news-template .gn-meta>span,#gcp-news-template .gn-meta>time{font-size:10px;}
 #gcp-news-template .gn-feature-body>.gn-read{margin-top:18px;}
 #gcp-news-template .gn-photo-location{left:12px;bottom:12px;font-size:8px;max-width:calc(100% - 24px);}
 #gcp-news-template .gn-facts{gap:12px;margin-top:22px;padding-top:18px;grid-template-columns:1fr 1.25fr 1fr;}
 #gcp-news-template .gn-fact dt{font-size:20px;}
 #gcp-news-template .gn-fact dd{font-size:10px;}
 #gcp-news-template .gn-archive-heading{display:block;}
 #gcp-news-template .gn-archive-heading p{margin-top:7px;}
 #gcp-news-template .gn-card{grid-template-columns:1fr;padding:20px;gap:20px;}
 #gcp-news-template .gn-thumb{height:180px;min-height:180px;}
 #gcp-news-template .gn-placeholder{height:72px;min-height:72px;flex-direction:row;gap:12px;}
 #gcp-news-template .gn-card-title{font-size:23px;}
 #gcp-news-template .gn-card .gn-excerpt{font-size:14.3px;}
 #gcp-news-template .gn-editorial-inner{grid-template-columns:1fr;gap:14px;}
 #gcp-news-template .gn-foot-inner{display:block;}
 #gcp-news-template .gn-foot-inner p{margin-top:8px;}
 #gcp-news-template .gn-reader{width:calc(100vw - 18px);max-height:94vh;max-height:94dvh;}
 #gcp-news-template .gn-reader-top{padding:10px 18px;gap:10px;}
 #gcp-news-template .gn-reader-top>span{font-size:9px;max-width:110px;}
 #gcp-news-template .gn-reader-top-right{gap:12px;}
 #gcp-news-template .gn-reader-content{padding:24px 22px 28px;}
 #gcp-news-template .gn-reader-content>h2{font-size:31px;line-height:1.16;}
 #gcp-news-template .gn-reader-lead{font-size:18.2px;line-height:1.75;}
 #gcp-news-template .gn-prose-section p{font-size:16px;line-height:1.85;}
 #gcp-news-template .gn-prose-section h3{font-size:24px;}
 #gcp-news-template .gn-reader-facts{padding:20px 14px;gap:10px;}
 #gcp-news-template .gn-reader-facts dt{font-size:20px;}
 #gcp-news-template .gn-reader-facts dd{font-size:9px;}
 #gcp-news-template .gn-quote{padding:21px;}
 #gcp-news-template .gn-quote>p{font-size:19px;}
 #gcp-news-template .gn-reader-bottom{flex-wrap:wrap;}
}
@media(max-width:380px){
 #gcp-news-template{--gn-gutter:19px;}
 #gcp-news-template .gn-card{grid-template-columns:1fr;}
 #gcp-news-template .gn-thumb{height:150px;}
 #gcp-news-template .gn-placeholder{height:80px;min-height:80px;}
 #gcp-news-template .gn-feature-body{padding:19px;}
 #gcp-news-template .gn-feature-title{font-size:27px;}
 #gcp-news-template .gn-reader-content{padding-inline:18px;}
 #gcp-news-template .gn-reader-content>h2{font-size:28px;}
 #gcp-news-template .gn-reader-facts dt{font-size:18px;}
}
@media(prefers-reduced-motion:reduce){
 #gcp-news-template *,#gcp-news-template *::before,#gcp-news-template *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important;}
}
@media print{
 #gcp-news-template .gn-tools,#gcp-news-template .gn-hint,#gcp-news-template .gn-editorial,#gcp-news-template .gn-review-return,#gcp-news-template .gn-photo-tools,#gcp-news-template .gn-read,#gcp-news-template .gn-language{display:none!important;}
 #gcp-news-template .gn-wrap{width:100%;}
 #gcp-news-template .gn-section{padding:25px 0;}
 #gcp-news-template .gn-feature,#gcp-news-template .gn-card{break-inside:avoid;}
 #gcp-news-template .gn-heading{font-size:36px;}
 #gcp-news-template .gn-reader{position:static;max-height:none;overflow:visible;box-shadow:none;width:100%;}
}


/* v16: only the new press release opts into the uncropped portrait format. */
#gcp-news-template .gn-reader-cover--portrait {
 float:right;width:39%;max-width:340px;aspect-ratio:941 / 1672;
 margin:28px 0 24px 30px;
}
#gcp-news-template .gn-reader-cover--portrait>img {object-fit:contain;}
#gcp-news-template .gn-dateline {font-weight:var(--gcp-weight-strong);}
#gcp-news-template .gn-reader-cover--portrait ~ .gn-quote,
#gcp-news-template .gn-reader-cover--portrait ~ .gn-article-note {clear:both;}
@media(max-width:650px){
 #gcp-news-template .gn-reader-cover--portrait {float:none;width:min(100%,300px);margin:26px auto 0;}
}

/* v15 host integration: local resets and consistent section gutters only. */
#gcp-news-template[data-gn-integrated] {--gn-gutter:var(--gutter);--gn-max:var(--max);}
#gcp-news-template[data-gn-integrated] .gn-section {padding-block:94px;}
#gcp-news-template[data-gn-integrated] .gn-card-title {font-weight:var(--gcp-weight-regular);}
#gcp-news-template[data-gn-integrated] .gn-toast {z-index:140;}
#gcp-news-template[data-gn-integrated] h2:not(.gn-heading) {white-space:normal;}
@media(max-width:1150px){#gcp-news-template[data-gn-integrated] .gn-section{padding-block:78px;}}
@media(max-width:650px){#gcp-news-template[data-gn-integrated] .gn-section{padding-block:62px;}}
@media print{#gcp-news-template[data-gn-integrated] .gn-section{padding-block:32px;}}



/* v20 — latest user-supplied reference image, side swatches labelled
   "New colour". Head and Value Creation share the upper/lower swatch;
   the middle uses the pale middle swatch. Only colour values are changed.
   Type, spacing, responsive layout and all non-strategy styling retained. */
#strategies .strategy-card:nth-child(1) {
  --strategy-head: #eaf0e8;
  --strategy-band: #eaf0e8;
  --strategy-body: #f2f5f1;
  --strategy-label: #4b6646;
}
#strategies .strategy-card:nth-child(2) {
  --strategy-head: #eaf1f2;
  --strategy-band: #eaf1f2;
  --strategy-body: #f2f7f8;
  --strategy-label: #45767b;
}
#strategies .strategy-card {
  background: var(--strategy-body);
}
#strategies .strategy-card > .strategy-points {
  background: var(--strategy-body);
}
#strategies .strategy-card > .strategy-card-head {
  background: var(--strategy-head);
}
#strategies .strategy-card > .strategy-result {
  background: var(--strategy-band);
}
#strategies .strategy-card-head > .eyebrow,
#strategies .strategy-result > .eyebrow {
  color: var(--strategy-label);
  font-size: 24px;
  font-weight:var(--gcp-weight-strong);
  line-height: 1.3;
  letter-spacing: 0;
  text-transform: uppercase;
}
@media (max-width: 1150px) {
  #strategies .strategy-card-head > .eyebrow,
  #strategies .strategy-result > .eyebrow { font-size: 22px; }
}
@media (max-width: 650px) {
  #strategies .strategy-card-head > .eyebrow,
  #strategies .strategy-result > .eyebrow { font-size: 20px; }
}
@media print {
  #strategies .strategy-card,
  #strategies .strategy-card > .strategy-card-head,
  #strategies .strategy-card > .strategy-points,
  #strategies .strategy-card > .strategy-result {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}



/* v20 address supplement only: existing styling and all other sections retained. */
.site-footer .footer-grid--three-locations {
  grid-template-columns: minmax(0,1.6fr) repeat(3,minmax(0,1fr));
}
@media (max-width:1000px) {
  .site-footer .footer-grid--three-locations {grid-template-columns:repeat(3,minmax(0,1fr));}
  .site-footer .footer-grid--three-locations > div {grid-column:1 / -1;}
}
@media (max-width:650px) {
  .site-footer .footer-grid--three-locations {grid-template-columns:minmax(0,1fr);}
}



/* v20 Frankfurt / typography-only revision.
   Reference: the highlighted Investments heading, tagline and description.
   One system-font stack; no external font files, imports or new dependencies.
   Existing hierarchy, colours, media and layout are retained. Section-title
   sizes are minimally calibrated to the unified tracking to preserve line fit.
   Regular text and deliberate bold emphasis use explicit weights only. */
:root {
  --gcp-font-family: Arial, Helvetica, sans-serif;
  --gcp-weight-regular: 400;
  --gcp-weight-strong: 700;
  --gcp-heading-tracking: -.025em;
  --gcp-section-title-size: clamp(42px,4.19vw,60px);
}
/* Also covers the independently scoped news module, both native dialogs,
   controls and editable text created after the initial page render. */
body, body * {
  font-family: var(--gcp-font-family) !important;
  font-style: normal;
  font-stretch: normal;
}
body {
  font-weight: var(--gcp-weight-regular);
  font-kerning: normal;
}
/* Use the same letterforms and tracking as the Investments heading;
   section hierarchy remains in the existing responsive font sizes. */
body :is(h1,h2,h3),
#gcp-news-template :is(h1,h2,h3) {
  font-weight: var(--gcp-weight-regular) !important;
  letter-spacing: var(--gcp-heading-tracking) !important;
}
/* Calibrate the same section-title scale across all main sections. */
#main .section h2,
#gcp-news-template .gn-heading {
  font-size: var(--gcp-section-title-size);
}
@media(max-width:900px) {
  :root { --gcp-section-title-size:45px; }
}
@media(max-width:650px) {
  :root { --gcp-section-title-size:44px; }
  /* Avoid clipping long German words without squeezing the letterforms. */
  html[lang="de"] .reel-copy h1 {
    font-size:clamp(35px,11.8vw,60px) !important;
  }
}
@media(max-width:360px) {
  :root { --gcp-section-title-size:40px; }
}
/* Body copy is never condensed by ad-hoc negative letter spacing. */
body :is(p,li,dt,dd,blockquote,cite):not(.eyebrow):not(.gn-eyebrow):not(.op-model-heading):not(.op-brand-caption):not(.reel-kicker),
#gcp-news-template :is(.gn-section-intro,.gn-excerpt,.gn-card-excerpt,.gn-lead,.gn-text,.gn-quote>p) {
  letter-spacing: normal;
}
/* Short, deliberately bold headings and the approved strategy labels
   remain emphases in the same Arial family, not additional typefaces. */
body h4 { letter-spacing: normal !important; }
body :is(.initials,.brand-main,.op-brand-fallback) {
  font-family: var(--gcp-font-family) !important;
  font-weight: var(--gcp-weight-regular);
}



/* v20 / Mobile parity, 24 September 2026.
   The same DOM, site-data and gn-data supply every viewport. No mobile copy,
   replacement photographs, historic colour values or withdrawn graphics.
   These final media rules override legacy small-screen styles only. */
@media screen and (max-width:1150px) {
  /* v13's doubled portraits must not be undone by the older tablet rule. */
  #team .support-grid .small-portrait {width:128px;height:150px;flex:0 0 128px;aspect-ratio:auto;}
  #team .support-grid article > div:last-child {min-width:0;overflow-wrap:break-word;}
}
@media screen and (max-width:1000px) {
  html {-webkit-text-size-adjust:100%;text-size-adjust:100%;}
  :root {--gcp-mobile-copy-size:17px;--gcp-mobile-intro-size:18px;}
  .section-intro,.energy-intro {font-size:var(--gcp-mobile-intro-size);line-height:1.75;}
  #platform .op-cap-description,.strategy-point p,.strategy-result>p:last-child,
  #approach .process-grid p,.project-description,.team-bio,
  .energy-steps p,.partnership-grid p,.contact-grid p,
  #gcp-news-template .gn-excerpt,#gcp-news-template .gn-card .gn-excerpt,
  #gcp-news-template .gn-prose-section p {
    font-size:var(--gcp-mobile-copy-size);line-height:1.75;
  }
  .team-role,.support-grid p,#platform .op-cap-tagline {font-size:16px;line-height:1.6;}
  .fact>span,.project-stat>span,.project-status,.footer-grid address,
  .footer-grid>div>p {font-size:14px;line-height:1.7;}
  .footnote,.footer-disclaimer,.footer-bottom,
  #gcp-news-template .gn-article-note p,#gcp-news-template .gn-archive-note,
  #gcp-news-template .gn-archive-heading p {font-size:13px;line-height:1.7;}
  .main-nav {display:none;}
  .menu-toggle {display:block;width:44px;height:44px;flex:0 0 44px;}
  .header-right {gap:8px;min-width:0;}
  .language-switch {gap:3px;}
  .language-switch button {min-width:34px;min-height:44px;padding:9px 3px;font-size:13px;}
  #mobile-nav {
    max-height:calc(100vh - var(--header) - var(--review-offset) - 12px);
    max-height:calc(100dvh - var(--header) - var(--review-offset) - 12px);
    overflow-y:auto;overscroll-behavior:contain;
    padding-bottom:max(20px,env(safe-area-inset-bottom));
  }
  #mobile-nav a {display:flex;align-items:center;min-height:48px;padding-block:10px;font-size:18px;}
  #mobile-nav a.is-active {color:var(--ink);font-weight:var(--gcp-weight-strong);}
  #platform .op-motion-controls {gap:6px 14px;}
  #platform .op-motion-controls button {min-height:44px;padding:10px 3px;font-size:13px;}
  .project-filters button {min-height:44px;font-size:13px;}
  .team-copy .text-link,.project-body>.text-link,.contact-grid .text-link,
  .contact-bottom .text-link,.partner-reference .text-link,
  #gcp-news-template .gn-read {min-height:44px;font-size:14px;line-height:1.5;}
  .button {min-height:44px;}
  .reel-bottom {flex-wrap:wrap;row-gap:10px;}
  .reel-index {display:flex;order:3;flex:0 0 100%;justify-content:center;gap:10px;font-size:10px;letter-spacing:.05em;line-height:1.65;}
  .reel-index i {width:18px;flex:0 0 18px;}
  .reel-content {padding-bottom:160px;}
  .reel-playback #reel-playback-label {display:inline;}
  .reel-kicker {color:#fff;font-size:12px;line-height:1.7;}
  #gcp-news-template .gn-section-intro {font-size:var(--gcp-mobile-intro-size);line-height:1.75;}
  #gcp-news-template .gn-meta>span,#gcp-news-template .gn-meta>time,
  #gcp-news-template .gn-fact dd,#gcp-news-template .gn-quote>cite {font-size:12px;line-height:1.55;}
  #content-dialog,#gcp-news-template .gn-reader {overscroll-behavior:contain;-webkit-overflow-scrolling:touch;}
  .dialog-close,#gcp-news-template .gn-close {min-width:44px;width:44px;min-height:44px;height:44px;flex:0 0 44px;}
  .dialog-block p,.dialog-bio {font-size:17px;line-height:1.75;}
  #dialog-content,.gn-reader-content {overflow-wrap:break-word;}
  #gcp-news-template .gn-reader-top .gn-language button {min-width:34px;min-height:44px;}
  #gcp-news-template .gn-reader-bottom button {min-height:44px;}
  .review-return {min-height:40px;bottom:max(12px,env(safe-area-inset-bottom));}
  .review-actions button {min-height:40px;}
  .position-control input,#gcp-news-template .gn-photo-tools input {min-height:32px;}
  #gcp-news-template input[type=date] {font-size:16px;min-height:44px;}
}
@media screen and (max-width:900px) {
  #team .support-grid .small-portrait {width:140px;height:152px;flex-basis:140px;}
  #team .support-grid {gap:28px 22px;}
  #team .support-grid article {gap:16px;}
  #team .support-grid h4 {font-size:21px;line-height:1.25;}
  #strategies .strategy-card {grid-template-rows:none;grid-row:auto;}
  #strategies .strategy-point h4 {font-size:17px;line-height:1.4;}
  #strategies .strategy-card-head>.strategy-intro {font-size:18px;line-height:1.65;}
}
@media screen and (max-width:760px) {
  .section-heading.two-col,#gcp-news-template .gn-heading-row {grid-template-columns:minmax(0,1fr);gap:24px;}
  .energy-grid {grid-template-columns:minmax(0,1fr);gap:34px;}
  .section-heading.two-col>* {max-width:none;}
}
@media screen and (max-width:650px) {
  :root {--gcp-section-title-size:clamp(36px,10vw,44px);--gutter:23px;}
  .section {padding-block:62px;}
  .section>.eyebrow,.section>.container>.eyebrow,
  #gcp-news-template .gn-eyebrow {font-size:12px;line-height:1.6;}
  #main .section h2,#gcp-news-template .gn-heading {overflow-wrap:break-word;line-height:1.16;}
  html .reel-copy h1,html[lang=de] .reel-copy h1 {
    font-size:clamp(36px,11vw,54px)!important;line-height:1.1;overflow-wrap:break-word;
  }
  .reel-copy .hero-copy>.eyebrow {font-size:12px;line-height:1.65;letter-spacing:.1em;}
  .reel-copy .hero-description {font-size:17px;line-height:1.65;}
  .reel-copy .hero-actions {gap:12px 20px;}
  .reel-copy .hero-actions .button,.reel-copy .hero-actions .text-link {font-size:14px;min-height:44px;}
  .reel-content {padding-bottom:166px;}
  .reel-bottom {bottom:calc(48px + env(safe-area-inset-bottom));gap:10px 12px;}
  .reel-discover {font-size:12px;min-height:44px;gap:8px;}
  .reel-playback {font-size:12px;min-height:44px;gap:7px;}
  .reel-index {font-size:9px;justify-content:flex-start;gap:9px;}
  .reel-kicker {max-width:100%;font-size:11px;line-height:1.7;}
  .fact>span {font-size:14px;}
  #platform .op-cap-title h3 {font-size:32px;line-height:1.2;}
  #platform .op-capability {padding:24px 0 24px 24px;}
  #platform .op-capability::before {top:28px;}
  #platform .op-cap-description {max-width:none;}
  #strategies .strategy-card {--strategy-inset:24px;}
  #strategies .strategy-card-head>h3 {font-size:clamp(28px,7.9vw,34px);line-height:1.2;}
  #strategies .strategy-card-head>.eyebrow,
  #strategies .strategy-result>.eyebrow {font-size:20px;font-weight:var(--gcp-weight-strong);line-height:1.3;}
  #strategies .strategy-card>.strategy-result {min-height:0;}
  #approach .process-grid {grid-template-columns:minmax(0,1fr);gap:28px;}
  #approach .process-grid h3 {font-size:28px;line-height:1.2;}
  #approach .process-number {margin-bottom:16px;}
  .project-body h3,.team-copy h3 {font-size:30px;line-height:1.2;}
  .project-body>.eyebrow,.team-copy>.eyebrow {font-size:12px;line-height:1.6;}
  .project-card .project-visual,.project-card:last-child .project-visual,
  .project-grid:has(.project-card[hidden]) .project-card:last-child .project-visual {
    height:auto;min-height:0;aspect-ratio:1.45;flex-shrink:0;
  }
  .team-card>.portrait {height:auto;min-height:0;aspect-ratio:4 / 4.25;}
  #team .support-grid {grid-template-columns:minmax(0,1fr);}
  #team .support-grid article {align-items:center;gap:18px;}
  .energy-steps h3,.partnership-grid h3,.contact-grid h3 {font-size:28px;line-height:1.25;}
  .contact-email {font-size:clamp(24px,6.5vw,34px);}
  .site-footer .footer-grid--three-locations {grid-template-columns:minmax(0,1fr);gap:28px;}
  .footer-grid address strong {font-size:16px;}
  .footer-grid address {font-size:15px;}
  .footer-bottom a {display:inline-flex;align-items:center;min-height:44px;}
  #gcp-news-template .gn-feature-title {font-size:30px;line-height:1.2;}
  #gcp-news-template .gn-card-title {font-size:27px;line-height:1.23;}
  #gcp-news-template .gn-thumb {height:auto;min-height:0;aspect-ratio:1.45;}
  #gcp-news-template .gn-card[data-gn-card=victor-stritt-partner] .gn-thumb {aspect-ratio:4 / 3;}
  #gcp-news-template .gn-photo-location {font-size:10px;line-height:1.5;}
  #gcp-news-template .gn-facts {grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
  #gcp-news-template .gn-fact dt {font-size:21px;line-height:1.2;overflow-wrap:normal;}
  #gcp-news-template .gn-fact {min-width:0;}
  #gcp-news-template .gn-meta {gap:8px 12px;flex-wrap:wrap;}
  #content-dialog,#gcp-news-template .gn-reader {
    width:calc(100vw - 20px);max-width:calc(100vw - 20px);
    max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);margin:auto;
  }
  #dialog-content,#gcp-news-template .gn-reader-content {padding:24px 22px 28px;}
  #dialog-content>h2,#gcp-news-template .gn-reader-content>h2 {font-size:32px;line-height:1.18;}
  .dialog-top,#gcp-news-template .gn-reader-top {padding:10px 16px;gap:10px;}
  #gcp-news-template .gn-reader-top-right {gap:8px;}
  #gcp-news-template .gn-reader-top .gn-language {padding-left:0;}
  #gcp-news-template .gn-reader-cover--portrait {float:none;width:min(100%,300px);margin:26px auto 0;}
  #gcp-news-template .gn-reader-lead {font-size:19px;line-height:1.7;}
  #gcp-news-template .gn-quote>p {font-size:20px;line-height:1.65;}
  #gcp-news-template .gn-prose-section h3 {font-size:26px;line-height:1.25;}
  #gcp-news-template .gn-reader-facts {padding:18px 12px;}
  #gcp-news-template .gn-reader-bottom {flex-wrap:wrap;gap:12px 20px;}
  body.editing {--header:116px;}
  body.editing .header-inner {flex-wrap:wrap;align-content:center;row-gap:4px;}
  body.editing .logo-upload {order:3;flex:0 0 100%;width:100%;max-width:none;min-height:32px;text-align:center;font-size:12px;}
  body.editing .edit-tip {font-size:12px;line-height:1.5;max-height:78px;overflow-y:auto;}
  body.editing .reel-content {padding-top:calc(var(--header) + var(--review-offset) + 92px);}
  .asset-controls button {min-height:36px;}
  .small-portrait .asset-controls button {font-size:11px;min-height:28px;}
}
@media screen and (max-width:360px) {
  :root {--gutter:19px;}
  .brand img {max-width:124px;}
  #strategies .strategy-card {--strategy-inset:20px;}
  #platform .op-cap-title h3 {font-size:30px;}
  #gcp-news-template .gn-feature-body {padding:19px;}
  #gcp-news-template .gn-feature-title {font-size:28px;}
  #gcp-news-template .gn-card-title {font-size:25px;}
  #gcp-news-template .gn-facts {grid-template-columns:minmax(0,1fr);row-gap:13px;}
  #gcp-news-template .gn-fact {display:flex;justify-content:space-between;align-items:baseline;gap:14px;}
  #gcp-news-template .gn-fact dd {text-align:right;max-width:55%;margin-top:0;}
  #dialog-content,#gcp-news-template .gn-reader-content {padding-inline:18px;}
  .reel-index {font-size:8px;gap:8px;}
}



/* Team feedback: all changes scoped to the requested sections. Strategy-card
   colours and the full typography/mobile system are intentionally preserved. */
#strategies {background:#f0f0ea;}
#energy {background:#e2ebdf;}
#partnerships {background:#dde8ec;}
#team {background:#f0ede7;}
#news,#gcp-news-template[data-gn-integrated] {background:#fff;}
#energy .energy-steps article {border-color:#b9c8b4;}
#team .support-team {border-color:#cecac1;}
#approach .process-number {min-height:48px;}
#approach .process-number > span:only-child {font-size:inherit;font-weight:inherit;line-height:inherit;opacity:1;}
#platform .op-centre {top:53.2%;width:24%;gap:7px;}
#platform .op-brand-caption {max-width:none;width:max-content;white-space:pre;font-size:8.5px;line-height:1.35;letter-spacing:.04em;}
#platform .op-brand-image {max-width:100%;}
#platform .gtf-mobile-brand-caption {display:none;}
/* Editorial image: reuse the existing project source without adding a second
   asset-editor surface. The three supplied partnership texts stay intact. */
#partnerships .gtf-partner-layout {display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:clamp(28px,4.8vw,66px);align-items:stretch;}
#partnerships .gtf-partner-figure {margin:0;display:flex;flex-direction:column;min-width:0;background:#fff;}
#partnerships .gtf-partner-photo {display:block;width:100%;height:320px;min-height:0;object-fit:cover;object-position:50% 73%;}
#partnerships .gtf-partner-caption {padding:24px 28px 26px;border:1px solid #c3d1d5;border-top:0;flex:1;}
#partnerships .gtf-partner-caption .eyebrow {font-size:11px;letter-spacing:.13em;margin-bottom:12px;}
#partnerships .gtf-partner-caption h3 {font-size:26px;line-height:1.22;margin:0 0 16px;}
#partnerships .gtf-partner-caption .text-link {width:100%;font-size:14px;min-height:44px;font-weight:var(--gcp-weight-regular);}
#partnerships .partnership-grid {display:flex;flex-direction:column;gap:0;padding:0;}
#partnerships .partnership-grid article {padding:25px 0 24px;border-color:#b7cbd0;}
#partnerships .partnership-grid article:first-child {padding-top:22px;}
#partnerships .partnership-grid article:last-child {padding-bottom:0;}
#partnerships .partnership-grid h3 {font-size:28px;line-height:1.24;margin-bottom:13px;}
#partnerships .partnership-grid p {max-width:none;}
#partnerships .partner-reference {border-color:#b7cbd0;}
.gtf-download-type {font-size:12px;letter-spacing:.08em;color:#c1cbbd;margin-left:6px;white-space:nowrap;}
#profile-download {gap:14px;min-height:44px;}
.gtf-legal-notice {padding:18px 20px;background:#f4eee1;border-left:3px solid #aa8c50;margin:0 0 25px;font-size:15px;line-height:1.7;color:#665638;}
.gtf-legal-facts {margin:0 0 25px;display:grid;grid-template-columns:160px minmax(0,1fr);gap:14px 24px;font-size:16px;line-height:1.7;}
.gtf-legal-facts dt {font-weight:var(--gcp-weight-strong);}
.gtf-legal-facts dd {margin:0;white-space:pre-line;overflow-wrap:anywhere;color:var(--muted);}
.gtf-legal-actions {display:flex;gap:22px;flex-wrap:wrap;margin-top:25px;border-top:1px solid var(--line);padding-top:18px;}
.gtf-legal-actions a {display:inline-flex;align-items:center;min-height:44px;font-size:14px;text-decoration:underline;text-underline-offset:4px;}
#content-dialog .gtf-legal-intro {font-size:17px;line-height:1.75;margin:0 0 24px;}
@media(max-width:1150px){
 #platform .op-brand-caption {font-size:7.5px;}
 #platform .op-centre {gap:4px;top:52.2%;}
 #partnerships .gtf-partner-photo {height:300px;}
}
@media(max-width:1000px){
 #platform .op-brand-caption {font-size:8.5px;}
 #partnerships .gtf-partner-layout {gap:28px;}
 #partnerships .gtf-partner-caption {padding:22px;}
}
@media(max-width:760px){
 #partnerships .gtf-partner-layout {grid-template-columns:minmax(0,1fr);gap:28px;}
 #partnerships .gtf-partner-photo {height:auto;aspect-ratio:1.6;}
 #partnerships .gtf-partner-caption {padding:22px;}
 #partnerships .partnership-grid h3 {font-size:28px;}
}
@media(max-width:650px){
 #platform .op-centre {top:55%;width:24%;gap:0;}
 #platform .op-centre .op-brand-caption {display:none;}
 #platform .gtf-mobile-brand-caption {display:block;text-align:center;font-size:10px;line-height:1.6;letter-spacing:.08em;white-space:normal;margin:17px auto 0;opacity:var(--op-label-opacity,1);}
 #platform .op-model-caption {margin-top:11px;}
 #approach .process-number {min-height:38px;}
 .gtf-legal-facts {grid-template-columns:minmax(0,1fr);gap:4px;font-size:16px;}
 .gtf-legal-facts dd {margin-bottom:15px;}
 .gtf-legal-notice {font-size:15px;padding:15px;}
 #profile-download {flex-wrap:wrap;justify-content:flex-start;column-gap:13px;}
 .gtf-download-type {font-size:11px;margin-left:0;}
}
@media print{
 #strategies,#energy,#partnerships,#team {background:#fff;}
 #partnerships .gtf-partner-layout {grid-template-columns:1fr 1fr;}
 #partnerships .gtf-partner-photo {height:190px;}
}



/* Approved profile drafts. Scoped to cards and person detail; all other
   typography, photos, section backgrounds and mobile rules remain intact. */
#team .team-grid>.team-card {display:flex;flex-direction:column;min-width:0;}
#team .team-grid>.team-card>.portrait {flex-shrink:0;}
#team .team-grid .team-copy {display:flex;flex-direction:column;flex:1;min-width:0;}
#team .team-grid .team-copy>h3 {margin:0 0 8px;}
#team .team-grid .team-role {margin:0 0 12px;line-height:1.6;overflow-wrap:break-word;}
#team .team-grid .team-copy>.eyebrow {margin:0;line-height:1.65;letter-spacing:.075em;overflow-wrap:break-word;}
#team .team-grid .team-bio {margin:18px 0 22px;min-height:0;overflow-wrap:break-word;}
#team .team-grid .team-copy>.text-link {margin-top:auto;}
#dialog-content .gcp-profile-detail {min-width:0;}
#dialog-content .gcp-profile-name {font-size:42px;line-height:1.18;margin:0 0 10px;white-space:normal;overflow-wrap:break-word;}
#dialog-content .gcp-profile-role {font-size:21px;line-height:1.5;color:var(--ink);margin:0 0 14px;}
#dialog-content .gcp-profile-focus {font-size:12px;line-height:1.65;letter-spacing:.075em;color:var(--muted);margin:0;}
#dialog-content .gcp-profile-rule {width:30px;height:2px;background:var(--accent);margin:24px 0;}
#dialog-content .gcp-profile-detail .dialog-bio {font-size:17px;line-height:1.8;white-space:pre-line;margin:0 0 30px;}
#dialog-content .gcp-profile-note {border-top:1px solid var(--line);padding-top:20px;font-size:12px;line-height:1.7;}
@media(min-width:651px){
 #team .team-grid .team-copy>h3 {min-height:2.44em;}
 #team .team-grid .team-role {min-height:3.2em;}
 #team .team-grid .team-copy>.eyebrow {min-height:3.3em;}
}
@media(min-width:1151px){
 #team .team-grid .team-copy>h3 {min-height:1.22em;}
 #team .team-grid .team-role {min-height:1.6em;}
}
@media(min-width:651px) and (max-width:900px){
 /* Preserve the established tablet portrait/text split. A column-flex
    override here would conflict with the inherited 100% photo height. */
 #team .team-grid>.team-card {display:grid;grid-template-columns:minmax(220px,.85fr) minmax(0,1fr);gap:26px;}
 #team .team-grid .team-copy>h3,
 #team .team-grid .team-role,
 #team .team-grid .team-copy>.eyebrow {min-height:0;}
}
@media(max-width:650px){
 #team .team-grid .team-copy>.eyebrow {font-size:12px;min-height:0;}
 #team .team-grid .team-role {margin-bottom:12px;}
 #dialog-content .gcp-profile-name {font-size:32px;line-height:1.2;}
 #dialog-content .gcp-profile-role {font-size:18px;}
 #dialog-content .gcp-profile-focus {font-size:12px;}
 #dialog-content .gcp-profile-detail .dialog-bio {font-size:17px;line-height:1.75;}
}

/* Static deployment only: no local editing tools. */
html { --review-offset: 0px; }
.gcp-deployment .review-bar,.gcp-deployment .review-return,.gcp-deployment .edit-only,
.gcp-deployment .op-review-timeline {display:none!important;}
