/* Homepage only. Colour, clear choices and room for the mission. */
.gg-home, .gg-signup { --gg-ink:#241437; --gg-purple:#6831ad; --gg-pink:#ff75c9; --gg-blue:#8aceff; color:var(--gg-ink); font-family:'Nunito Sans',sans-serif; font-size:17px; line-height:1.6; box-sizing:border-box; }
.gg-home { display:block; width:100%; max-width:none; background:#fcf9ff; text-align:left; overflow:hidden; }
.gg-home *, .gg-signup * { box-sizing:border-box; }
.gg-home h1, .gg-home h2, .gg-home h3, .gg-signup h2 { color:var(--gg-ink); text-align:left; line-height:1.16; margin:0 0 20px; }
.gg-home h1, .gg-home h2, .gg-signup h2 { font-family:'Nasalization','Nunito Sans',sans-serif; letter-spacing:-.045em; }
.gg-home h2 { font-size:clamp(28px,3.1vw,43px); }
.gg-home h3 { font-size:23px; }
.gg-home p { margin:0 0 18px; }
.gg-home a, .gg-signup a { text-underline-offset:4px; }
.gg-home a:hover, .gg-signup a:hover { text-decoration:underline; }
.gg-home :focus-visible, .gg-signup :focus-visible { outline:3px solid #297ce5; outline-offset:5px; }
.gg-home .gg-eyebrow, .gg-signup .gg-eyebrow { margin:0 0 18px; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.13em; line-height:1.5; }
.gg-hero { background:radial-gradient(ellipse at 80% 10%,#533283 0,transparent 48%),linear-gradient(120deg,#1f153a,#282056 70%,#213b70); color:white; padding:68px max(32px,calc((100vw - 1180px)/2)); display:grid; grid-template-columns:1.3fr 1fr; gap:45px; align-items:center; position:relative; }
.gg-hero:before { content:''; position:absolute; top:0; left:0; right:0; height:5px; background:linear-gradient(90deg,#ff69ba,#a67dff,#71d0ff); }
.gg-hero .gg-eyebrow { color:#dcc7fb; }
.gg-hero h1 { color:#fff; font-size:clamp(40px,4.6vw,64px); margin-bottom:22px; }
.gg-hero h1 span { color:#ff91d6; }
.gg-intro { font-size:20px; line-height:1.55; max-width:580px; color:#eee7f7; }
.gg-actions { display:flex; flex-wrap:wrap; gap:17px 24px; align-items:center; margin:25px 0 16px; }
.gg-button { display:inline-flex; align-items:center; justify-content:center; gap:18px; background:#ff8bcf; color:#241437; border:2px solid transparent; border-radius:12px; padding:15px 24px; font:800 17px/1.3 'Nunito Sans',sans-serif; text-decoration:none; cursor:pointer; box-shadow:0 5px 0 #b4458d; transition:transform .18s,box-shadow .18s,background .18s; }
.gg-button:hover { transform:translateY(-2px); background:#ffa8dc; box-shadow:0 7px 0 #b4458d; text-decoration:none; }
.gg-button:active { transform:translateY(3px); box-shadow:0 2px 0 #b4458d; }
.gg-preview-link { color:#badeff; font-size:15px; }
.gg-hero .gg-trial-note { font-size:14px; line-height:1.5; color:#f2e9ff; max-width:470px; margin-bottom:8px; }
.gg-hero .gg-price-note { font-size:13px; color:#d1c5e3; line-height:1.5; margin-bottom:20px; }
.gg-price-note a { text-decoration:underline; white-space:nowrap; }
.gg-hero .gg-free-note { font-size:14px; color:#e6daf5; border-top:1px solid #69567e; padding-top:16px; margin-bottom:0; }
.gg-free-note button { border:0; padding:0; background:none; color:#c5e7ff; font:800 14px/1.8 'Nunito Sans',sans-serif; cursor:pointer; text-decoration:underline; text-underline-offset:4px; }
.gg-hero-art { min-height:400px; position:relative; display:grid; align-content:center; padding:30px 15px; }
.gg-orbit { position:absolute; border:1px solid #ae8fda66; width:360px; height:360px; border-radius:50%; top:10px; left:0; }
.gg-orbit-two { width:280px; height:280px; top:50px; left:40px; border-style:dashed; }
.gg-project-note { position:relative; background:#f5e8ff; color:#2b1840; padding:32px; border-radius:8px 26px 8px 8px; transform:rotate(-5deg); box-shadow:10px 14px 0 #14102666; }
.gg-project-note>span { font-size:11px; font-weight:800; letter-spacing:.17em; color:#6f398a; }
.gg-project-note strong { display:block; font-size:29px; line-height:1.3; margin:18px 0; }
.gg-project-note p { margin:0; font-size:17px; }
.gg-match-note { background:#c4eaff; color:#25204f; border-radius:10px; padding:17px 19px; font-size:16px; font-weight:800; position:relative; margin:18px 0 0 32px; transform:rotate(3deg); box-shadow:7px 8px 0 #14102666; }
.gg-note-dot { display:inline-block; width:10px; height:10px; border-radius:50%; background:#6442ba; margin-right:9px; }
.gg-sticker { position:absolute; top:4px; right:-6px; background:#ff91ce; color:#381737; font-family:'Permanent Marker',cursive; font-size:18px; line-height:1.25; padding:17px; border-radius:50%; transform:rotate(12deg); }
.gg-spark { color:#96d5ff; position:absolute; font-size:48px; }
.gg-spark-one { top:-30px; left:10px; animation:gg-twinkle 5s ease-in-out infinite; }
.gg-spark-two { bottom:-12px; right:0; color:#ff9bd5; font-size:36px; animation:gg-twinkle 5s 2s ease-in-out infinite; }
@keyframes gg-twinkle { 0%,100% { transform:rotate(-10deg) scale(.85); } 50% { transform:rotate(10deg) scale(1.08); } }
.gg-proof-strip { display:flex; gap:30px; justify-content:space-between; align-items:center; padding:28px max(32px,calc((100vw - 1180px)/2)); background:#eee5fb; border-bottom:1px solid #e0d3ee; }
.gg-proof-strip p { margin:0; flex:0 0 240px; }
.gg-proof-strip strong { display:block; font-size:29px; line-height:1.2; color:#63308b; }
.gg-proof-strip span { font-size:12px; }
.gg-proof-strip blockquote { margin:0; font-size:18px; }
.gg-proof-strip cite, .gg-story cite { display:block; font-style:normal; font-size:13px; font-weight:800; margin-top:10px; }
.gg-proof-strip>a { color:#59328c; font-size:14px; white-space:nowrap; }
.gg-section { max-width:1180px; margin:auto; padding:76px 0; }
.gg-preview, .gg-story { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
.gg-section .gg-eyebrow { color:#7b348e; }
.gg-section h2 span { color:#7139ac; }
.gg-section-copy p { max-width:480px; }
.gg-text-link, .gg-text-button { color:#67319a; text-decoration:underline; font-weight:800; }
.gg-example-card { border:1px solid #dbc9e9; border-radius:20px; overflow:hidden; background:white; box-shadow:10px 12px 0 #eaddf4; }
.gg-example-top { background:#59318a; color:#fff; display:flex; justify-content:space-between; padding:12px 24px; font-size:13px; font-weight:800; letter-spacing:.05em; }
.gg-example-project { padding:20px 24px; background:#f2e9fc; }
.gg-label { display:block; color:#754d8b; font-size:11px; text-transform:uppercase; letter-spacing:.08em; font-weight:800; margin-bottom:8px; }
.gg-example-project p { margin:0; font-size:16px; }
.gg-example-result { padding:23px 24px 8px; }
.gg-example-result h3 { font-size:24px; margin-bottom:15px; }
.gg-home .gg-amount { color:#613198; font-size:28px; font-weight:800; line-height:1.3; }
.gg-amount span { display:block; font-size:12px; font-weight:400; color:#675672; }
.gg-example-result p, .gg-example-result a { font-size:14px; }
.gg-check { background:#edf6ff; padding:12px; border-radius:8px; }
.gg-example-result a { color:#583296; text-decoration:underline; }
.gg-home .gg-example-caption { padding:12px 24px 20px; margin:0; color:#6d6175; font-size:11px; line-height:1.6; }
.gg-how { border-top:1px solid #e2d5ec; }
.gg-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; margin-top:35px; }
.gg-steps article { border-top:3px solid #e77fbe; padding-top:20px; }
.gg-steps article:nth-child(2) { border-color:#a085d9; }
.gg-steps article:nth-child(3) { border-color:#72bce9; }
.gg-step-number { color:#8b539b; font-size:12px; font-weight:800; letter-spacing:.1em; display:block; margin-bottom:18px; }
.gg-steps p { font-size:16px; }
.gg-story { border-top:1px solid #e2d5ec; }
.gg-story blockquote { margin:0 0 18px; font-size:18px; line-height:1.7; }
.gg-small { font-size:13px; line-height:1.6; color:#675772; }
.gg-video-wrap video { display:block; width:100%; border:1px solid #d5c2e5; border-radius:15px; background:#211436; }
.gg-video-wrap>a { display:inline-block; margin-top:16px; }
.gg-pricing { background:#f0e8f9; border:1px solid #e2d3ed; border-radius:24px; padding:48px; }
.gg-pricing>p { max-width:740px; }
.gg-price-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin:28px 0; }
.gg-price-card { position:relative; border:1px solid #d7c5e8; background:#fff; border-radius:14px; padding:28px; }
.gg-price-card h3 { font-size:20px; }
.gg-home .gg-price { font-size:45px; line-height:1.2; font-weight:800; margin-bottom:12px; color:#572c85; }
.gg-price span { font-size:15px; }
.gg-price-card>p:last-child { font-size:14px; margin:0; }
.gg-price-annual { border:2px solid #8552b2; }
.gg-price-badge { background:#684098; color:#fff; position:absolute; right:15px; top:-13px; padding:3px 13px; border-radius:20px; font-size:11px; font-weight:800; }
.gg-detail { border-top:1px solid #d3bfe4; padding:20px 0; }
.gg-detail summary { cursor:pointer; font-weight:800; font-size:17px; }
.gg-detail p { font-size:15px; margin:16px 0; max-width:790px; }
.gg-text-button { border:0; background:none; padding:0; cursor:pointer; font:800 15px 'Nunito Sans',sans-serif; }
.gg-community { text-align:center; }
.gg-community h2 { text-align:center; }
.gg-member-link { display:block; margin:35px 0; }
.gg-awards { display:flex; gap:35px; align-items:center; justify-content:center; padding-top:20px; }
.gg-awards img { max-width:110px; max-height:95px; width:auto; height:auto; }
.gg-awards p { font-size:14px; margin:0; }
.gg-last-call { background:#26153f; color:#eee3ff; padding:55px 24px; text-align:center; }
.gg-last-call h2 { color:white; text-align:center; }
.gg-last-call h2 span { color:#ff9bd5; }
.gg-last-call p:not(.gg-eyebrow) { font-size:14px; margin:24px auto 8px; }
.gg-last-call>a { font-size:14px; color:#badeff; }
.gg-home .gg-video-caption { font-size:14px; font-weight:800; color:#67319a; margin-top:16px; }
.gg-reviews { max-width:1180px; }
.gg-reviews>.gg-text-link { display:inline-block; margin-top:12px; }
.gg-social { padding:30px 20px; text-align:center; }
.gg-social p { font-size:15px; margin-bottom:10px; }
.gg-social a { font-size:13px; margin:0 9px; text-decoration:underline; }
.gg-signup { border:2px solid #ab7ccd; border-radius:20px; width:calc(100% - 30px); max-width:500px; max-height:90dvh; padding:30px; box-shadow:0 20px 80px #16062866; background:#fcf8ff; text-align:left; }
.gg-signup::backdrop { background:#190d31bb; backdrop-filter:blur(4px); }
.gg-signup h2 { font-size:29px; padding-right:20px; }
.gg-signup .gg-eyebrow { color:#763895; font-size:10px; padding-right:26px; }
.gg-signup>p { font-size:14px; line-height:1.5; }
.gg-signup .gg-signup-progress { font-size:11px; font-weight:800; color:#734c89; padding-bottom:12px; border-bottom:1px solid #e1ccec; }
.gg-close { position:absolute; right:12px; top:9px; width:40px; height:40px; border:0; border-radius:50%; background:none; color:#5c3673; cursor:pointer; font-size:30px; }
.gg-close:hover { background:#efd9fb; }
.gg-signup form label { display:block; font-size:14px; font-weight:800; margin:16px 0 5px; }
.gg-signup form label span { font-weight:400; }
.gg-signup input:not(.gg-honeypot) { width:100%; min-width:0; margin:0; border:1px solid #ba9bcc; border-radius:8px; padding:12px; font:16px 'Nunito Sans',sans-serif; background:#fff; color:#241437; }
.gg-signup form .gg-button { width:100%; margin-top:24px; }
.gg-signup .gg-small { margin:20px 0 0; font-size:12px; }
.gg-signup .gg-small a { text-decoration:underline; }
.gg-honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
@media(max-width:1250px) { .gg-section { margin-left:32px; margin-right:32px; } }
@media(max-width:900px) { .gg-hero { grid-template-columns:1fr; padding:42px 32px; } .gg-hero-copy { max-width:650px; } .gg-hero-art { display:none; } .gg-preview,.gg-story { gap:32px; } .gg-proof-strip { gap:20px; } .gg-proof-strip p { flex-basis:190px; } .gg-proof-strip>a { display:none; } }
@media(max-width:650px) {
    .gg-home { font-size:16px; }
    .gg-hero { padding:25px 20px 28px; }
    .gg-hero .gg-eyebrow { font-size:10px; letter-spacing:.07em; margin-bottom:14px; }
    .gg-hero h1 { font-size:clamp(30px,8.5vw,46px); margin-bottom:16px; }
    .gg-intro { font-size:16px; line-height:1.5; }
    .gg-hero .gg-actions { gap:16px; margin:19px 0 14px; }
    .gg-hero .gg-button { width:100%; padding:14px 18px; font-size:16px; }
    .gg-hero .gg-preview-link { font-size:13px; }
    .gg-hero .gg-trial-note { font-size:12px; }
    .gg-hero .gg-price-note { font-size:12px; margin-bottom:15px; }
    .gg-hero .gg-free-note { font-size:13px; padding-top:13px; }
    .gg-proof-strip { padding:24px 20px; flex-direction:column; gap:12px; align-items:flex-start; }
    .gg-proof-strip p { flex-basis:auto; }
    .gg-proof-strip strong { font-size:25px; }
    .gg-proof-strip blockquote { font-size:16px; }
    .gg-section { margin-left:20px; margin-right:20px; padding-top:42px; padding-bottom:42px; }
    .gg-preview,.gg-story { grid-template-columns:1fr; gap:26px; }
    .gg-home h2 { font-size:29px; }
    .gg-steps { grid-template-columns:1fr; gap:20px; margin-top:24px; }
    .gg-step-number { margin-bottom:10px; }
    .gg-steps h3 { margin-bottom:12px; }
    .gg-example-card { box-shadow:5px 6px 0 #eaddf4; }
    .gg-example-top,.gg-example-project,.gg-example-result { padding-left:20px; padding-right:20px; }
    .gg-example-result h3 { font-size:22px; }
    .gg-pricing { padding:28px 20px; margin:0 12px; border-radius:16px; }
    .gg-price-grid { grid-template-columns:1fr; gap:24px; }
    .gg-price-card { padding:24px; }
    .gg-pricing .gg-button { width:100%; }
    .gg-detail summary { font-size:16px; }
    .gg-awards { gap:15px; flex-wrap:wrap; }
    .gg-awards p { order:3; flex-basis:100%; }
    .gg-awards img { max-height:80px; }
    .gg-last-call { padding:38px 20px; }
    .gg-last-call h2 { font-size:28px; }
    .gg-signup { padding:26px 20px; }
    .gg-signup h2 { font-size:25px; }
}
@media(prefers-reduced-motion:reduce) { .gg-home *, .gg-signup * { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }

@media(max-width:700px) {
    .gg-homepage #headstrapline { display:block; width:fit-content; max-width:calc(100% - 24px); margin:6px 12px 0; font-size:14px; }
    .gg-homepage #headstrapline::after { content:" \2726"; }
}
