/* Shared Genius website standard; scoped to the current Group homepage. */
body.gg-home #main{
 --gg-section-space:80px;
 --gg-title:clamp(34px,3.8vw,54px);
 --gg-gap:40px;
}
body.gg-home #main :is(h1,h2,h3){font-synthesis:none;text-wrap:balance}
body.gg-home #main :is(p,li){text-wrap:pretty}
body.gg-home #main h2{
 font-size:var(--gg-title);font-weight:500;line-height:1.09;letter-spacing:-.042em;
}
body.gg-home #main h2 em{font-weight:650}
body.gg-home #main .section{padding-block:var(--gg-section-space)}
body.gg-home #main .directions{padding-top:44px}
body.gg-home #main .eyebrow{
 font-size:11px;font-weight:600;line-height:1.5;letter-spacing:.075em;margin-bottom:16px;
}
body.gg-home #main .section-head{
 display:flex;align-items:start;justify-content:space-between;gap:56px;margin-bottom:36px;
}
body.gg-home #main .section-head>div{min-width:0}
body.gg-home #main .section-head>p{
 flex:0 1 350px;padding-top:32.5px;font-size:15px;line-height:1.65;max-width:350px;
}
body.gg-home #main :is(.section-head,.process-head,.trust-inner)>.eyebrow{color:var(--muted)}
/* The approved wave remains intact; text has a closer, quieter first-screen rhythm. */
body.gg-home #home{padding-top:44px;padding-bottom:36px}
body.gg-home #home>.eyebrow{margin-bottom:18px}
body.gg-home #home h1{
 max-width:1250px;font-size:clamp(52px,5.9vw,88px);font-weight:500;line-height:1.06;letter-spacing:-.045em;
}
body.gg-home #home h1 em{font-weight:650}
body.gg-home #home .hero-copy{
 grid-template-columns:minmax(0,1.32fr) minmax(0,.78fr);align-items:start;gap:64px;margin-top:28px;
}
body.gg-home #home .hero-copy>p{font-size:18px;line-height:1.65;max-width:730px}
body.gg-home #home .hero-actions{justify-content:flex-end;gap:20px;padding-top:3px}
body.gg-home #home .direction-strip{
 border:0;margin-top:38px;padding-top:0;gap:24px;
}
body.gg-home #home .direction-strip a{
 position:relative;min-width:0;min-height:64px;gap:4px;align-items:start;justify-content:center;
 border-radius:8px;transition:color .2s;
}
body.gg-home #home .direction-strip strong{font-size:17px;font-weight:650}
body.gg-home #home .direction-strip span{font-size:12px;line-height:1.5}
body.gg-home #home .direction-strip a::after{
 content:'';width:18px;height:2px;background:var(--carrot);transform:scaleX(0);transform-origin:left;transition:transform .2s;
}
body.gg-home #home .direction-strip a:focus-visible::after{transform:scaleX(1)}
/* Common scale and clear top axes for the five direction announcements. */
body.gg-home #main .direction{margin-bottom:24px}
body.gg-home #main .direction:last-child{margin-bottom:0}
body.gg-home #main .direction-main{padding:40px}
body.gg-home #main .direction .brand-row{margin-bottom:28px;min-height:32px;gap:24px}
body.gg-home #main .direction .brand-role{font-size:12px;line-height:1.5}
body.gg-home #main .direction .direction-main h3{
 font-size:clamp(28px,2.6vw,38px);font-weight:500;line-height:1.14;letter-spacing:-.035em;
}
body.gg-home #main .direction .direction-main h3 em{font-weight:650}
body.gg-home #main .direction-intro{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start}
body.gg-home #main :is(.direction-intro>div>p,.creative-grid>div>p,.desk-showcase-copy>p){
 font-size:15px;line-height:1.7;margin-top:20px;
}
body.gg-home #main .direction-actions{margin-top:26px}
body.gg-home #main .feature-list{gap:24px}
body.gg-home #main .feature-list a{border-top:0;padding-top:0;border-radius:4px}
body.gg-home #main .feature-list strong{font-size:15px;line-height:1.4;font-weight:650;margin-bottom:8px}
body.gg-home #main .feature-list span{font-size:13px;line-height:1.65;opacity:.85}
body.gg-home #main .desk-showcase{
 grid-template-columns:minmax(0,1.06fr) minmax(0,1fr);gap:48px;align-items:start;
}
body.gg-home #main .desk-showcase-copy>p{max-width:490px}
body.gg-home #main .desk-mac{width:100%;max-width:550px;margin:0 0 0 auto}
body.gg-home #main .desk-mac figcaption{font-size:11px;line-height:1.5;margin-top:12px}
body.gg-home #main .desk-video-actions{justify-content:flex-end;margin-top:8px}
body.gg-home #main .desk-video-actions button{display:inline-flex;align-items:center;gap:12px;min-height:36px;font-size:12px;line-height:1.5}
body.gg-home #main .direction-desk .feature-list{
 grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;margin-top:32px;
}
body.gg-home #main .desk-bottom{
 gap:28px;margin-top:28px;padding-top:0;border-top:0;align-items:center;
}
body.gg-home #main .desk-stat{gap:18px}
body.gg-home #main .desk-stat b{font-size:34px}
body.gg-home #main .desk-stat span{font-size:12px;line-height:1.5;max-width:210px}
body.gg-home #main .desk-models{gap:10px;font-size:12px}
body.gg-home #main .desk-models a{padding:11px 14px;min-height:42px}
body.gg-home #main .creative-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start}
body.gg-home #main .creative-proof{gap:18px;align-items:start}
body.gg-home #main .creative-proof .proof-ollin{margin-top:0}
body.gg-home #main .creative-links{gap:8px 18px;margin-top:22px}
body.gg-home #main .special-link{margin-top:24px}
/* Useful controls, with separate selected, hover, focus and pressed states. */
body.gg-home #main :is(.stage-list,.task-list){align-content:start;gap:8px}
body.gg-home #main :is(.stage-list,.task-list) button{
 min-width:0;min-height:58px;align-self:start;align-items:center;
 border:1px solid #e1e1e9;padding:13px 16px;border-radius:13px 13px 4px 13px;
 box-shadow:none;transition:background .2s,color .2s,border-color .2s,transform .12s;
}
body.gg-home #main .stage-list .stage-name{font-size:15px;line-height:1.4;font-weight:600}
body.gg-home #main :is(.stage-list,.task-list) button::after{
 content:'';width:22px;height:22px;flex:0 0 22px;margin-left:auto;background:currentColor;
 -webkit-mask:url('assets/brand-plus.svg') center/contain no-repeat;mask:url('assets/brand-plus.svg') center/contain no-repeat;
 opacity:.35;transition:opacity .2s,transform .2s;
}
body.gg-home #main .stage-list button[aria-selected=true]{background:#fff3ee;color:var(--ink);border-color:var(--carrot)}
body.gg-home #main .stage-list button[aria-selected=true] .stage-index{color:var(--carrot)}
body.gg-home #main :is(.stage-list,.task-list) button[aria-selected=true]::after{opacity:1;background:var(--carrot)}
body.gg-home #main :is(.stage-list,.task-list) button:focus-visible{outline:2px solid var(--carrot);outline-offset:3px}
body.gg-home #main :is(.stage-list,.task-list) button:active{transform:translateY(1px)}
body.gg-home #main :is(.stage-list,.task-list) button:active::after{transform:scale(.88)}
body.gg-home #main .process-head{
 display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);column-gap:56px;max-width:none;align-items:start;
}
body.gg-home #main .process-head>.eyebrow{grid-column:1/-1}
body.gg-home #main .process-head>p{font-size:15px;line-height:1.65;margin-top:0;max-width:440px}
body.gg-home #main .process-layout{
 grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:40px;margin-top:36px;align-items:start;
}
body.gg-home #main .stage-panel{padding:32px;min-height:520px;border-radius:24px 24px 5px 24px}
body.gg-home #main .stage-panel .eyebrow{font-size:10px;line-height:1.55;margin-bottom:20px;max-width:470px}
body.gg-home #main .stage-panel h3{font-size:30px;line-height:1.15;font-weight:500;margin:0 0 18px}
body.gg-home #main .stage-panel p{font-size:15px;line-height:1.65}
body.gg-home #main .stage-panel ul{font-size:14px;line-height:1.7;margin-block:18px}
body.gg-home #main .stage-case{margin-top:24px;padding-top:18px}
body.gg-home #main .stage-case a{line-height:1.5}
body.gg-home #main .process-foot{margin-top:28px}
body.gg-home #main .process-foot p{font-size:13px;line-height:1.6;max-width:620px}
body.gg-home #main .task-layout{
 grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:40px;align-items:start;
}
body.gg-home #main .task-list button{
 gap:16px;color:#f4f4f8;border-color:#ffffff20;font-size:15px;font-weight:550;line-height:1.45;
}
body.gg-home #main .task-list button[aria-selected=true]{background:#383844;border-color:var(--carrot)}
body.gg-home #main .task-list .task-index{display:none}
body.gg-home #main .task-result{
 border:0;padding:30px;background:#ffffff06;border-radius:24px 24px 5px 24px;
}
body.gg-home #main .task-result h3{font-size:30px;line-height:1.2;font-weight:500;max-width:none}
body.gg-home #main .task-result p{font-size:15px;line-height:1.65;margin-top:18px}
body.gg-home #main .task-result h4{font-size:10px;line-height:1.55;letter-spacing:.075em;font-weight:600}
body.gg-home #main .task-result .evaluation{border:0;padding-top:0;margin-top:24px}
body.gg-home #main .task-result .evaluation p{font-size:14px;line-height:1.65;margin-top:8px}
body.gg-home #main .task-directions{margin-block:24px}
body.gg-home #main .task-direction-links{gap:10px}
body.gg-home #main .task-direction-links a{padding:13px;border-radius:12px 12px 4px 12px}
body.gg-home #main .task-direction-links strong{font-size:12px;line-height:1.45;font-weight:600}
body.gg-home #main .task-direction-links span{font-size:11px}
body.gg-home #main .task-example{border:0;padding:0;margin-top:22px;font-size:12px;line-height:1.6}
body.gg-home #main .task-result .button{margin-top:24px}
/* Evidence blocks share the section scale without losing their own compact formats. */
body.gg-home #main .case-filters{gap:8px;margin-bottom:28px}
body.gg-home #main .case-filters button{
 min-height:42px;font-size:13px;line-height:1.4;border-radius:12px 12px 4px 12px;
 padding:10px 16px;transition:background .2s,color .2s,border-color .2s,transform .12s;
}
body.gg-home #main .case-filters button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:white}
body.gg-home #main .case-filters button:focus-visible{outline:2px solid var(--carrot);outline-offset:3px}
body.gg-home #main .case-filters button:active{transform:translateY(1px)}
body.gg-home #main .case-grid{gap:36px 26px}
body.gg-home #main .case-card h3{font-weight:550;line-height:1.25;font-size:24px;letter-spacing:-.03em}
body.gg-home #main .case-client{font-size:11px;font-weight:600;line-height:1.5}
body.gg-home #main .cases-end{margin-top:28px;align-items:center}
body.gg-home #main .cases-more{margin-top:32px}
body.gg-home #main .trust{padding-block:64px}
body.gg-home #main .trust-inner{grid-template-columns:minmax(0,1.05fr) minmax(0,1.25fr);gap:56px;align-items:start}
body.gg-home #main .trust-showcase{padding-top:32.5px}
body.gg-home #main .trust h2{font-size:var(--gg-title)}
body.gg-home #main .trust-intro{font-size:14px;line-height:1.65;max-width:410px;margin-top:20px}
body.gg-home #main .trust-controls{justify-content:flex-end;margin-top:16px}
body.gg-home #main .trust-controls>span{display:none}
body.gg-home #main .trust-controls button{
 display:inline-flex;gap:10px;align-items:center;min-height:38px;padding:8px 13px;
 font-size:12px;border-radius:10px 10px 3px 10px;transition:background .2s,color .2s,border-color .2s;
}
body.gg-home #main .trust-controls button::after{
 content:'';width:16px;height:16px;background:var(--carrot);-webkit-mask:url('assets/brand-plus.svg') center/contain no-repeat;mask:url('assets/brand-plus.svg') center/contain no-repeat;
}
body.gg-home #main .knowledge-grid{gap:40px}
body.gg-home #main .knowledge-grid .article{border:0;padding-top:0}
body.gg-home #main .knowledge-grid .article h3{font-size:28px;line-height:1.22;font-weight:500}
body.gg-home #main .knowledge-grid .article p{font-size:15px;line-height:1.65}
body.gg-home .review-links{display:none}
/* Keyboard interaction receives the same brand response as pointer interaction. */
body.gg-home #main .button:focus-visible{color:white}
body.gg-home #main .button:focus-visible::before{transform:translate(-50%,-50%) scale(1)}
body.gg-home #main .button:focus-visible .clasp::before{transform:translateX(4px)}
body.gg-home #main .button:focus-visible .clasp::after{transform:translateX(-4px)}
body.gg-home #main .feature-list a:focus-visible strong{color:var(--carrot)}
@media(hover:hover){
 body.gg-home #home .direction-strip a:hover::after{transform:scaleX(1)}
 body.gg-home #main .stage-list button:hover{background:var(--ink);color:white;border-color:var(--ink)}
 body.gg-home #main .stage-list button:hover .stage-index{color:#bfc0cc}
 body.gg-home #main :is(.stage-list,.task-list) button:hover::after{opacity:1;transform:scale(1.1);background:var(--carrot)}
 body.gg-home #main .task-list button:hover{background:#454551;border-color:#686875}
 body.gg-home #main .case-filters button:hover{background:#fff3ee;color:var(--ink);border-color:var(--carrot)}
 body.gg-home #main .case-filters button[aria-pressed=true]:hover{background:var(--ink);color:white}
 body.gg-home #main .desk-models a:hover{background:#ffffff0e;border-color:var(--carrot)}
 body.gg-home #main .feature-list a:hover strong{color:var(--carrot);text-decoration:none}
}
@media(min-width:1800px){body.gg-home #home{padding-top:48px}body.gg-home #home h1{font-size:90px}}
@media(max-width:1100px){
 body.gg-home #home .hero-copy{grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr);gap:32px}
 body.gg-home #home .hero-actions{justify-content:flex-start;gap:14px}
 body.gg-home #main .direction-main{padding:32px}
 body.gg-home #main :is(.direction-intro,.desk-showcase,.creative-grid){gap:32px}
 body.gg-home #main .direction-desk .feature-list{grid-template-columns:repeat(2,minmax(0,1fr))}
 body.gg-home #main .trust-inner{gap:32px}
}
@media(max-width:960px){
 body.gg-home #main{--gg-section-space:64px;--gg-title:clamp(34px,4.6vw,44px)}
 body.gg-home #home{padding-top:36px;padding-bottom:24px}
 body.gg-home #home h1{font-size:clamp(46px,6.7vw,66px)}
 body.gg-home #home .hero-copy{grid-template-columns:minmax(0,1fr);gap:24px;margin-top:24px}
 body.gg-home #home .hero-actions{justify-content:flex-start;padding:0}
 body.gg-home #home .hero-copy>p{max-width:680px;font-size:17px}
 body.gg-home #home .direction-strip{margin-top:30px;gap:16px}
 body.gg-home #home .direction-strip strong{font-size:15px}
 body.gg-home #main .section-head{display:block;margin-bottom:32px}
 body.gg-home #main .section-head>p{max-width:680px;padding:0;margin-top:20px}
 body.gg-home #main .direction-intro{grid-template-columns:minmax(0,1fr);gap:28px}
 body.gg-home #main .desk-showcase{grid-template-columns:minmax(0,1fr) minmax(0,1.06fr);gap:28px}
 body.gg-home #main .desk-mac{max-width:480px}
 body.gg-home #main .creative-grid{grid-template-columns:minmax(0,1fr);gap:30px}
 body.gg-home #main .creative-proof{max-width:620px}
 body.gg-home #main .process-head{grid-template-columns:minmax(0,1fr)}
 body.gg-home #main .process-head>p{margin-top:20px;max-width:680px}
 body.gg-home #main :is(.process-layout,.task-layout){grid-template-columns:minmax(0,1fr);gap:28px}
 body.gg-home #main :is(.stage-list,.task-list){grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 body.gg-home #main :is(.stage-list,.task-list) button{min-height:72px;height:100%;font-size:14px;padding:12px}
 body.gg-home #main .stage-list .stage-name{font-size:14px}
 body.gg-home #main .stage-list .stage-index{font-size:10px;width:18px}
 body.gg-home #main .stage-panel{min-height:0}
 body.gg-home #main .task-result{padding:28px}
 body.gg-home #main .trust-inner{grid-template-columns:minmax(0,1fr);gap:28px}
 body.gg-home #main .trust-showcase{padding-top:0}
 body.gg-home #main .trust-intro{max-width:620px}
}
@media(max-width:700px){
 body.gg-home #main{--gg-title:clamp(32px,8.2vw,40px);--gg-section-space:56px}
 body.gg-home #main .directions{padding-top:32px}
 body.gg-home #home{padding-top:28px;padding-bottom:18px}
 body.gg-home #home>.eyebrow{font-size:10px;letter-spacing:.055em;margin-bottom:18px}
 body.gg-home #home h1{font-size:clamp(36px,9.8vw,58px);line-height:1.07;letter-spacing:-.042em}
 body.gg-home #home h1 br{display:none}
 body.gg-home #home h1 em{display:block;margin-top:5px}
 body.gg-home #home .hero-copy>p{font-size:16px;line-height:1.65}
 body.gg-home #home .hero-copy{gap:22px;margin-top:22px}
 body.gg-home #home .hero-actions{gap:16px;flex-wrap:wrap}
 body.gg-home #home .hero-actions .button{font-size:13px;min-height:50px}
 body.gg-home #home .hero-actions .text-link{font-size:13px}
 body.gg-home #home .direction-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;margin-top:28px}
 body.gg-home #home .direction-strip a{min-height:54px}
 body.gg-home #home .direction-strip a:last-child{grid-column:auto}
 body.gg-home #main .section-head{margin-bottom:28px}
 body.gg-home #main .eyebrow{font-size:10px;margin-bottom:14px}
 body.gg-home #main .direction{border-radius:22px 22px 5px 22px}
 body.gg-home #main .direction-main{padding:26px 22px}
 body.gg-home #main .direction .brand-row{gap:12px;margin-bottom:24px}
 body.gg-home #main .direction .brand-row .brand-role{font-size:11px;max-width:none}
 body.gg-home #main .direction .direction-main h3{font-size:28px;line-height:1.15}
 body.gg-home #main :is(.direction-intro>div>p,.creative-grid>div>p,.desk-showcase-copy>p){font-size:15px;line-height:1.65;margin-top:18px}
 body.gg-home #main .desk-showcase{grid-template-columns:minmax(0,1fr);gap:28px}
 body.gg-home #main .desk-mac{width:100%;max-width:480px;margin-inline:auto}
 body.gg-home #main .direction-actions{margin-top:22px}
 body.gg-home #main .direction-desk .feature-list{margin-top:26px;gap:22px 18px}
 body.gg-home #main .feature-list{gap:22px 18px}
 body.gg-home #main .feature-list strong{font-size:14px;line-height:1.4}
 body.gg-home #main .feature-list span{font-size:13px;line-height:1.6}
 body.gg-home #main .desk-bottom{grid-template-columns:minmax(0,1fr);gap:22px;margin-top:28px}
 body.gg-home #main .desk-stat b{font-size:32px}
 body.gg-home #main .desk-models{flex-wrap:wrap;justify-content:flex-start;gap:10px}
 body.gg-home #main .desk-models a{padding:10px 12px}
 body.gg-home #main .creative-proof{gap:16px}
 body.gg-home #main .stage-panel{padding:26px 22px;border-radius:20px 20px 5px 20px}
 body.gg-home #main .stage-panel h3{font-size:27px}
 body.gg-home #main .stage-panel .eyebrow{font-size:10px;margin-bottom:16px;padding-right:32px}
 body.gg-home #main .motion-mark{width:27px;height:27px;right:20px;top:24px}
 body.gg-home #main .task-result{padding:24px 20px;border-radius:20px 20px 5px 20px}
 body.gg-home #main .task-result h3{font-size:27px}
 body.gg-home #main .task-result p{font-size:14px;line-height:1.65}
 body.gg-home #main .task-direction-links a{padding:11px}
 body.gg-home #main .task-direction-links strong{font-size:12px}
 body.gg-home #main .process-foot{display:block}
 body.gg-home #main .process-foot p{margin-bottom:20px}
 body.gg-home #main .case-card h3{font-size:20px;line-height:1.25}
 body.gg-home #main .case-grid{gap:28px}
 body.gg-home #main .case-title{gap:10px;grid-template-columns:minmax(0,1fr) 20px}
 body.gg-home #main .case-link-line{max-width:20px}
 body.gg-home #main .case-filters{gap:8px}
 body.gg-home #main .case-filters button{font-size:12px;padding:10px 12px}
 body.gg-home #main .cases-end{display:block}
 body.gg-home #main .case-source-links{gap:18px 24px}
 body.gg-home #main .trust{padding-block:48px}
 body.gg-home #main .trust h2 br{display:none}
 body.gg-home #main .trust-intro{font-size:14px}
 body.gg-home #main .knowledge-grid{gap:32px}
 body.gg-home #main .knowledge-grid .article h3{font-size:25px}
}
@media(max-width:390px){
 body.gg-home #main .direction-main{padding:24px 20px}
 body.gg-home #main .direction .direction-main h3{font-size:27px}
 body.gg-home #main .stage-list .stage-name{font-size:12px}
 body.gg-home #main :is(.stage-list,.task-list) button{padding:11px 9px;gap:8px;font-size:12px;min-height:72px}
 body.gg-home #main :is(.stage-list,.task-list) button::after{width:17px;height:17px;flex-basis:17px}
}
@media(hover:none){
 body.gg-home #main .button:not(.black,.violet):not(:focus-visible){color:var(--ink)}
 body.gg-home #main .button:not(:focus-visible)::before{transform:translate(-50%,-50%) scale(0)}
 body.gg-home #main .direction-pharma .button:not(:focus-visible){color:white}
}
@media(prefers-reduced-motion:reduce){
 body.gg-home #main *,body.gg-home #main *::before,body.gg-home #main *::after{scroll-behavior:auto!important;transition:none!important}
 body.gg-home #main :is(.stage-list,.task-list,.case-filters) button:active{transform:none}
}
body.gg-home #main :is(a,button):focus-visible{outline:2px solid var(--carrot);outline-offset:4px}
@media(max-width:360px){
 body.gg-home #main .direction .feature-list{grid-template-columns:minmax(0,1fr)}
 body.gg-home #main .task-list button::after{display:none}
 body.gg-home #main .task-list button{overflow-wrap:break-word}
}
body.gg-home #main .direction-desk .direction-logo img{filter:brightness(0) invert(1)}
