/* Step 27: additions ONLY inside existing services. Independent of base website styles. */
.gg27-section,.gg27-design{box-sizing:border-box;position:relative;}
.gg27-section *,.gg27-design *{box-sizing:border-box}
.gg27-shell{width:min(1210px,calc(100% - 88px));margin-inline:auto}
.gg27-dark{background:#101218;color:#f7f6f3;padding:88px 0 82px}
.gg27-kicker{display:inline-flex;align-items:center;gap:11px;font:750 10px/1.5 Inter,Arial,sans-serif;letter-spacing:.13em;color:#df7737;text-transform:uppercase}
.gg27-kicker i{display:block;width:24px;height:2px;background:#ff6b00;flex:none}
.gg27-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.72fr);gap:8%;align-items:end;margin-bottom:31px}
.gg27-head h2,.gg27-media-copy h2,.gg27-design-header h2{margin:17px 0 0;font-family:'Plus Jakarta Sans',Inter,sans-serif;font-size:clamp(38px,5vw,67px);font-weight:750;letter-spacing:-.07em;line-height:1.11}
.gg27-head h2 em,.gg27-media-copy h2 em{font-style:normal;color:#ff7e33}
.gg27-summary,.gg27-media-copy p{font-size:14px;line-height:1.9;color:#c1c4cd;max-width:490px}
.gg27-summary{margin:0 0 7px}
.gg27-video{margin:0}
.gg27-video video{width:100%;height:auto;display:block;background:#050608;object-fit:contain;border:1px solid #42454c}
.gg27-video-landscape video{aspect-ratio:16/9}
.gg27-video figcaption{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid rgba(255,255,255,.18);padding-top:15px;margin-top:14px;color:#a8abb5;font:700 10px/1.5 Inter,Arial,sans-serif;letter-spacing:.11em}
.gg27-source{color:#8c909e;font-size:11px;line-height:1.8;margin:18px 0 0;max-width:870px}
.gg27-media-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.68fr);gap:clamp(30px,7vw,120px);align-items:center}
.gg27-media-copy{max-width:575px}
.gg27-media-copy p{margin:24px 0 0}
.gg27-video-portrait{max-width:380px;justify-self:end;width:100%}
.gg27-video-portrait video{aspect-ratio:9/16;max-height:660px;object-fit:contain}
.gg27-video-portrait figcaption{font-size:9px}
.gg27-design{background:#f6f4f0;color:#202126;padding:85px 0 90px}
.gg27-design-header{max-width:910px;margin:0 0 36px}
.gg27-design-header h2{color:#202126;margin:17px 0}
.gg27-design-header h2 em{color:#d95d17;font-style:normal}
.gg27-design-header>p{font-size:14px;line-height:1.85;color:#646770;max-width:750px;margin:0}
.gg27-concept-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;margin:0 0 65px}
.gg27-concept-card{min-width:0;border-top:1px solid #cec9c2;padding-top:20px}
.gg27-concept-card-head{min-height:171px}
.gg27-concept-card-head span{font:750 9px Inter,Arial,sans-serif;color:#be5c26;letter-spacing:.11em}
.gg27-concept-card h3{font-family:'Plus Jakarta Sans',Inter,sans-serif;font-size:clamp(22px,2.1vw,29px);line-height:1.2;letter-spacing:-.045em;margin:12px 0}
.gg27-concept-card p{font-size:12px;line-height:1.75;color:#666870;max-width:550px;margin:0 0 21px}
.gg27-concept-images{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;scrollbar-width:thin;padding-bottom:9px}
.gg27-concept-images a{display:block;flex:0 0 82%;scroll-snap-align:start;background:#e5e1da;aspect-ratio:16/9;overflow:hidden;border:1px solid #dedbd6}
.gg27-concept-images img{width:100%;height:100%;object-fit:contain;display:block;transition:transform .3s}
.gg27-concept-images a:hover img{transform:scale(1.025)}
.gg27-calendar-feature{padding:34px 0 0;border-top:1px solid #cec9c2;display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.68fr);gap:9%;align-items:center}
.gg27-calendar-copy h3{font-family:'Plus Jakarta Sans',Inter,sans-serif;letter-spacing:-.05em;line-height:1.2;font-size:clamp(26px,3.6vw,43px);margin:20px 0}
.gg27-calendar-copy p{font-size:13px;line-height:1.85;color:#666870;max-width:500px}
.gg27-calendar-copy a{display:inline-flex;gap:12px;font-size:12px;font-weight:750;color:#a94c17;text-decoration:none;border-bottom:1px solid #c77942;padding:0 0 8px;margin-top:12px}
.gg27-calendar-preview{display:block;justify-self:center;max-width:300px;max-height:465px;overflow:hidden;border:1px solid #ddd7ce;box-shadow:0 15px 36px rgba(20,23,27,.12)}
.gg27-calendar-preview img{width:100%;height:auto;max-height:450px;object-fit:contain;display:block}
.gg27-section a:focus-visible,.gg27-design a:focus-visible{outline:3px solid #ff6b00;outline-offset:3px}
@media(max-width:850px){.gg27-shell{width:calc(100% - 42px)}.gg27-head,.gg27-media-grid,.gg27-calendar-feature{grid-template-columns:1fr;gap:24px}.gg27-video-portrait{justify-self:center}.gg27-concept-grid{gap:34px 20px}.gg27-concept-card-head{min-height:200px}}
@media(max-width:580px){.gg27-dark{padding:62px 0 60px}.gg27-head h2,.gg27-media-copy h2,.gg27-design-header h2{font-size:clamp(35px,10vw,48px)}.gg27-kicker{font-size:9px;letter-spacing:.08em}.gg27-concept-grid{grid-template-columns:1fr}.gg27-concept-card-head{min-height:auto}.gg27-concept-images a{flex-basis:88%}.gg27-design{padding:65px 0}.gg27-calendar-feature{padding-top:26px}.gg27-video figcaption{font-size:9px;letter-spacing:.05em}.gg27-media-copy p{font-size:13px}}
@media(prefers-reduced-motion:reduce){.gg27-concept-images img{transition:none}}
