PageSourceSearch

https://www.writeworks.ai/resources/blogs

html writeworks.ai collected 2026-10-05 14:56:14 UTC 224,209 bytes, 1,210 lines download raw bytes

1<!DOCTYPE html><html data-dpl-id="dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t" lang="en" class="inter_f74c0ea4-module__zgkesq__variable geist_mono_4504b28f-module__1Y6WlG__variable"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/0661roev0y-k9.css?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t" data-precedence="next"/><link rel="stylesheet" href="/_next/static/chunks/0l4g.r848s_h3.css?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/08t~o.yobi~go.js?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t"/>
1<script src="/_next/static/chunks/09ldgfut49bkz.js?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t" async=""></script>
1<script src="/_next/static/chunks/0mkgpa4-hqmvn.js?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t" async=""></script>
1<script src="/_next/static/chunks/0zwgw5srdb6bo.js?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t" async=""></script>
1<script src="/_next/static/chunks/turbopack-06ejj1.v2dus6.js?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t" async=""></script>
1<script src="/_next/static/chunks/020n.0cgpzp.c.js?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t" async=""></script>
1<script src="/_next/static/chunks/0-6gi10qv0306.js?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t" async=""></script>
1<script src="/_next/static/chunks/1786s1k-zywe5.js?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t" async=""></script>
1<link rel="preload" href="https://cdn.jsdelivr.net/npm/@tabler/icons-webfont@latest/tabler-icons.min.css" as="style"/><link rel="preload" href="https://www.googletagmanager.com/gtm.js?id=GTM-TK82G3V8" as="script"/><meta name="next-size-adjust" content=""/><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@tabler/icons-webfont@latest/tabler-icons.min.css"/>
1<script src="/_next/static/chunks/03~yq9q893hmn.js?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t" noModule=""></script>
1</head><body class="inter_f74c0ea4-module__zgkesq__variable geist_mono_4504b28f-module__1Y6WlG__variable antialiased"><div hidden=""><!--$?--><template id="B:0"></template><!--/$--></div>
1<script>((a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=["light","dark"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c="class"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d),i.classList.add(f&&f[b]?f[b]:b)):i.setAttribute(a,b)}),c=b,h&&j.includes(c)&&(i.style.colorScheme=c)}if(d)k(d);else try{let a=localStorage.getItem(b)||c,d=g&&"system"===a?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a;k(d)}catch(a){}})("class","theme","light",null,["light","dark"],null,false,true)</script>
1<script>
2    window.dataLayer = window.dataLayer || [];
3    function gtag(){dataLayer.push(arguments);}
4    gtag('consent', 'default', {"analytics_storage":"denied","ad_storage":"denied","ad_user_data":"denied","ad_personalization":"denied","functionality_storage":"denied","personalization_storage":"denied","security_storage":"granted","wait_for_update":500});
5    
6    gtag('set', 'ads_data_redaction', true);
7    gtag('set', 'url_passthrough', true);
8  </script>
8<script type="application/ld+json">{"@context":"https://schema.org","@type":"Organization","name":"WriteWorks","url":"https://www.writeworks.ai","logo":"https://www.writeworks.ai/icon.svg","description":"WriteWorks is the content engineering platform for AI search visibility. Track visibility and citations across Google, ChatGPT, Claude, Gemini, and Perplexity, and ship content engineered to be found and cited.","sameAs":["https://www.linkedin.com/company/writeworks-ai/","https://www.instagram.com/writeworks.ai/","https://www.facebook.com/writeworks.ai/","https://x.com/writeworks"],"contactPoint":[{"@type":"ContactPoint","contactType":"sales","email":"[email protected]","url":"https://www.writeworks.ai/contact","availableLanguage":["English"]},{"@type":"ContactPoint","contactType":"customer support","email":"[email protected]","availableLanguage":["English"]}]}</script>
8<script type="application/ld+json">{"@context":"https://schema.org","@type":"WebSite","name":"WriteWorks","url":"https://www.writeworks.ai","potentialAction":{"@type":"SearchAction","target":"https://www.writeworks.ai/resources?search={search_term_string}","query-input":"required name=search_term_string"},"publisher":{"@type":"Organization","name":"WriteWorks","url":"https://www.writeworks.ai"}}</script>
8<nav class="ww-nav fixed top-0 left-0 right-0 z-[100]" style="background:transparent;padding-top:14px"><style>
9        .ww-nav { --nav-surface: rgba(255,255,255,0.96); --nav-shadow: 0 6px 24px rgba(20,20,20,0.07); --bg: #FFFFFF; --s1: #FFFFFF; --s2: #F5F5F5; --s3: #EFEFEF; --b1: rgba(10,10,10,0.07); --b2: rgba(10,10,10,0.11); --b3: rgba(10,10,10,0.16); --tx: #0A0A0A; --tx2: #717171; --tx3: #A1A1A1; --tx4: #C4C4C4; --ww-green: #22C55E; --green-bg: rgba(34,197,94,0.10); --green-bg-2: rgba(34,197,94,0.16); --fh: var(--font-sans, 'Inter'), system-ui, sans-serif; --fm: var(--font-mono, 'Geist Mono'), ui-monospace, monospace; }
10
11        .ww-nav .nav-link { padding: 7px 14px; font-family: var(--fh); font-size: 13px; font-weight: 600; letter-spacing: 0.01em; color: #3A3A38; text-decoration: none; border-radius: 7px; transition: color 0.15s, background 0.15s; cursor: pointer; background: none; border: none; display: inline-flex; align-items: center; gap: 5px; }
12        .ww-nav .nav-link:hover { color: var(--tx); background: rgba(17,17,17,0.04); }
13        .ww-nav .nav-link.active, .ww-nav .nav-link.open { color: var(--ww-green); }
14        .ww-nav .nav-chev { width: 12px; height: 12px; transition: transform 0.2s; opacity: 0.7; }
15        .ww-nav .nav-link.open .nav-chev { transform: rotate(180deg); color: var(--ww-green); opacity: 1; }
16
17        .ww-nav .nav-cta { font-family: var(--fh); font-size: 12px; font-weight: 700; letter-spacing: 0.01em; border-radius: 5px; padding: 9px 18px; text-decoration: none; transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease, border-color 0.15s ease; display: inline-flex; align-items: center; gap: 6px; }
18        .ww-nav .nav-cta.login { color: var(--tx); background: transparent; border: 1px solid var(--b3); }
19        .ww-nav .nav-cta.login:hover { border-color: var(--tx4); background: var(--s2); }
20        .ww-nav .nav-cta.signup { color: #FFFFFF; background: #000000; border: 1px solid #000000; box-shadow: 4px 4px 0 rgba(34,197,94,0.18); }
21        .ww-nav .nav-cta.signup:hover { background: #1a1a1a; box-shadow: 6px 6px 0 rgba(34,197,94,0.18); transform: translate(-2px,-2px); }
22        .ww-nav .nav-cta.signup:active { box-shadow: 2px 2px 0 rgba(34,197,94,0.18); transform: translate(1px,1px); }
23        .ww-nav .nav-cta.signup i { font-size: 13px; }
24
25        /* Desktop dropdown panel */
26        .ww-nav .dd-wrap { position: absolute; top: calc(100% + 6px); left: 50%; transform: translateX(-50%); padding: 0 16px 0; width: 100%; max-width: 1180px; pointer-events: none; animation: ww-dd-in 0.18s ease-out; }
27        @keyframes ww-dd-in { from { opacity: 0; transform: translate(-50%, -6px); } to { opacity: 1; transform: translate(-50%, 0); } }
28        .ww-nav .dd-panel { background: #FFFFFF; border: 1px solid var(--b2); border-radius: 14px; box-shadow: 0 18px 50px rgba(20,20,20,0.12); padding: 18px 18px 14px; pointer-events: auto; position: relative; overflow: hidden; }
29        .ww-nav .dd-panel::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(34,197,94,0.5), transparent); }
30        .ww-nav .dd-grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
31        .ww-nav .dd-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
32        .ww-nav .dd-grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 6px 14px; }
33
34        .ww-nav .dd-col { background: transparent; border: none; border-radius: 0; padding: 2px 8px; display: flex; flex-direction: column; }
35        .ww-nav .dd-col .dd-head { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border: 1px solid var(--b2); border-radius: 999px; font-family: var(--fm); font-size: 9.5px; font-weight: 800; color: var(--tx); text-transform: uppercase; letter-spacing: 0.12em; align-self: flex-start; margin: 0 0 12px; }
36        .ww-nav .dd-col .dd-head .dot { width: 5px; height: 5px; border-radius: 50%; background: var(--ww-green); }
37
38        .ww-nav .dd-link { display: flex; align-items: center; gap: 8px; padding: 7px 6px; font-family: var(--fh); font-size: 13px; font-weight: 400; color: #3A3A38; text-decoration: none; border-radius: 6px; transition: all 0.15s; }
39        .ww-nav .dd-link i { font-size: 11px; color: var(--tx4); transition: transform 0.15s, color 0.15s; flex-shrink: 0; }
40        .ww-nav .dd-link:hover { color: var(--tx); background: rgba(17,17,17,0.04); }
41        .ww-nav .dd-link:hover i { color: var(--ww-green); transform: translateX(3px); }
42
43        .ww-nav .dd-view-all { display: inline-flex; align-items: center; gap: 5px; margin-top: 10px; padding: 8px 10px; font-family: var(--fh); font-size: 11.5px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; color: var(--ww-green); text-decoration: none; border-top: 1px solid var(--b1); }
44        .ww-nav .dd-view-all i { font-size: 12px; transition: transform 0.15s; }
45        .ww-nav .dd-view-all:hover i { transform: translateX(3px); }
46
47        .ww-nav .dd-single { padding: 4px 0; }
48        .ww-nav .dd-single-head { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border: 1px solid var(--b2); border-radius: 999px; font-family: var(--fm); font-size: 9.5px; font-weight: 800; color: var(--tx); text-transform: uppercase; letter-spacing: 0.12em; margin: 0 0 14px; }
49        .ww-nav .dd-single-head .dot { width: 5px; height: 5px; border-radius: 50%; background: var(--ww-green); }
50
51        /* Desktop mega-menu (left rail · centre · promo card · CTA bar) */
52        .ww-nav .mega { display: grid; grid-template-columns: 236px minmax(0, 1fr) 300px; background: #FFFFFF; border: 1px solid var(--b2); border-radius: 14px; box-shadow: 0 18px 50px rgba(20,20,20,0.12); overflow: hidden; position: relative; pointer-events: auto; }
53        .ww-nav .mega::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(34,197,94,0.5), transparent); z-index: 2; }
54
55        .ww-nav .mega-rail { grid-column: 1; grid-row: 1; background: var(--s2); border-right: 1px solid var(--b1); padding: 22px 14px; display: flex; flex-direction: column; }
56        .ww-nav .mega-rail-title { font-family: var(--fh); font-size: 15px; font-weight: 800; color: var(--tx); letter-spacing: -0.01em; padding: 0 12px; margin-bottom: 14px; }
57        .ww-nav .mega-rail-item { display: flex; align-items: center; justify-content: space-between; gap: 8px; width: 100%; padding: 10px 12px; border: 0; background: none; cursor: pointer; border-radius: 5px; font-family: var(--fh); font-size: 14px; font-weight: 600; color: var(--tx2); text-align: left; transition: background 0.12s, color 0.12s; }
58        .ww-nav .mega-rail-item i { font-size: 14px; color: var(--tx4); transition: color 0.12s, transform 0.12s; }
59        .ww-nav .mega-rail-item:hover { color: var(--tx); }
60        .ww-nav .mega-rail-item.is-active { background: var(--green-bg); color: var(--ww-green); }
61        .ww-nav .mega-rail-item.is-active i { color: var(--ww-green); transform: translateX(2px); }
62        .ww-nav .mega-rail-viewall { display: inline-flex; align-items: center; gap: 6px; margin-top: 14px; padding: 10px 12px; font-family: var(--fh); font-size: 13px; font-weight: 700; color: var(--ww-green); text-decoration: none; }
63        .ww-nav .mega-rail-viewall i { transition: transform 0.15s; }
64        .ww-nav .mega-rail-viewall:hover i { transform: translateX(3px); }
65
66        .ww-nav .mega-main { grid-column: 2; grid-row: 1; padding: 26px 30px; min-width: 0; }
67        .ww-nav .mega-heading { font-family: var(--fh); font-size: 22px; font-weight: 700; color: var(--tx); letter-spacing: -0.02em; line-height: 1.15; margin: 0 0 8px; text-transform: capitalize; }
68        .ww-nav .mega-blurb { font-family: var(--fb); font-size: 14px; line-height: 1.55; color: var(--tx2); margin: 0 0 18px; max-width: 460px; }
69        .ww-nav .mega-outline-btn { display: inline-flex; align-items: center; gap: 6px; padding: 9px 18px; border: 1px solid var(--b3); border-radius: 5px; font-family: var(--fh); font-size: 13px; font-weight: 700; color: var(--tx); text-decoration: none; transition: border-color 0.15s, background 0.15s, color 0.15s; margin-bottom: 24px; }
70        .ww-nav .mega-outline-btn:hover { border-color: var(--ww-green); background: var(--green-bg); color: var(--ww-green); }
71        .ww-nav .mega-group-label { display: block; font-family: var(--fm); font-size: 10px; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; color: var(--tx3); margin: 0 0 12px; }
72        /* Feature list — flows top-to-bottom down each column (not scattered row-fill),
73           with a subtle hairline separating each item. */
74        .ww-nav .mega-grid { columns: 3; column-gap: 28px; }
75        /* Numbered rail: the number is a fixed-width gutter so family labels
76           align regardless of whether the number is one or two digits. */
77        .ww-nav .mega-rail-num { font-family: var(--fm); font-size: 11px; font-weight: 700; color: var(--tx4); width: 14px; flex-shrink: 0; text-align: left; }
78        .ww-nav .mega-rail-item.is-active .mega-rail-num { color: var(--ww-green); }
79        .ww-nav .mega-rail-lbl { flex: 1; }
80        .ww-nav .mega-heading-num { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 6px; background: var(--green-bg); color: var(--ww-green); font-family: var(--fm); font-size: 11px; font-weight: 700; margin-right: 9px; vertical-align: 2px; }
81        /* The family's own page, pinned above its sub-features. */
82        .ww-nav .mega-home { display: inline-flex; align-items: center; gap: 6px; font-family: var(--fh); font-size: 13px; font-weight: 600; color: var(--ww-green); margin-bottom: 18px; }
83        .ww-nav .mega-home i { font-size: 12px; transition: transform 0.15s; }
84        .ww-nav .mega-home:hover i { transform: translateX(3px); }
85        /* Two columns for sub-features: three was too narrow for labels like
86           "Competitor share of voice", which wrapped mid-phrase. */
87        .ww-nav .mega-grid-cols { columns: 2; column-gap: 32px; }
88        .ww-nav .mega-link { display: block; break-inside: avoid; padding: 9px 0; border-bottom: 1px solid var(--b1); font-family: var(--fh); font-size: 14px; font-weight: 500; color: var(--tx); text-decoration: none; transition: color 0.12s, transform 0.12s; }
89        .ww-nav .mega-link:hover { color: var(--ww-green); transform: translateX(2px); }
90
91        .ww-nav .mega-promo { grid-column: 3; grid-row: 1; align-self: start; margin: 18px 18px 18px 0; padding: 22px; background: var(--green-bg); border: 1px solid rgba(34,197,94,0.22); border-radius: 12px; display: flex; flex-direction: column; }
92        .ww-nav .mega-promo h4 { font-family: var(--fh); font-size: 16px; font-weight: 700; color: var(--tx); margin: 0 0 8px; letter-spacing: -0.01em; }
93        .ww-nav .mega-promo p { font-family: var(--fb); font-size: 13px; line-height: 1.55; color: var(--tx2); margin: 0 0 18px; }
94        .ww-nav .mega-promo-cta { display: inline-flex; align-items: center; justify-content: center; gap: 6px; align-self: flex-start; padding: 10px 18px; background: #000000; color: #FFFFFF; border: 1px solid #000000; border-radius: 5px; font-family: var(--fh); font-size: 13px; font-weight: 700; text-decoration: none; box-shadow: 3px 3px 0 rgba(34,197,94,0.18); transition: transform 0.15s, box-shadow 0.15s, background 0.15s; }
95        .ww-nav .mega-promo-cta:hover { background: #1a1a1a; box-shadow: 5px 5px 0 rgba(34,197,94,0.18); transform: translate(-2px,-2px); }
96        .ww-nav .mega-promo-cta i { font-size: 13px; }
97
98        .ww-nav .mega-bottom { grid-column: 1 / -1; grid-row: 2; display: block; text-align: center; padding: 14px; background: var(--s2); border-top: 1px solid var(--b1); font-family: var(--fh); font-size: 14px; font-weight: 700; color: var(--ww-green); text-decoration: none; transition: background 0.15s; }
99        .ww-nav .mega-bottom:hover { background: var(--s3); }
100
101        /* Mobile */
102        .ww-nav .mobile-panel { background: var(--bg); border-bottom: 1px solid var(--b2); }
103        .ww-nav .m-inner { padding: 8px 18px 22px; display: flex; flex-direction: column; gap: 6px; }
104        .ww-nav .m-tile { background: var(--s1); border: 1px solid var(--b1); border-radius: 12px; overflow: hidden; }
105        .ww-nav .m-row { width: 100%; display: flex; align-items: center; justify-content: space-between; padding: 16px 18px; font-family: var(--fh); font-size: 15px; font-weight: 600; color: var(--tx); background: none; border: 0; cursor: pointer; text-decoration: none; text-align: left; }
106        .ww-nav .m-row .m-chev { font-size: 16px; color: var(--tx3); transition: transform 0.2s, color 0.15s; }
107        .ww-nav .m-row.is-open { color: var(--ww-green); }
108        .ww-nav .m-row.is-open .m-chev { transform: rotate(180deg); color: var(--ww-green); }
109        .ww-nav .m-row-arrow { font-size: 14px; color: var(--ww-green); }
110        .ww-nav .m-body { padding: 4px 14px 14px; border-top: 1px solid var(--b1); background: var(--s2); }
111        .ww-nav .m-section-head { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border: 1px solid var(--b2); border-radius: 999px; font-family: var(--fm); font-size: 9px; font-weight: 800; color: var(--tx); text-transform: uppercase; letter-spacing: 0.12em; margin: 14px 0 6px 4px; }
112        .ww-nav .m-section-head:first-child { margin-top: 12px; }
113        .ww-nav .m-section-head .dot { width: 5px; height: 5px; border-radius: 50%; background: var(--ww-green); }
114        .ww-nav .m-link { display: flex; align-items: center; justify-content: space-between; padding: 10px 12px; border-radius: 8px; font-family: var(--fh); font-size: 14px; font-weight: 400; color: #3A3A38; text-decoration: none; transition: all 0.15s; }
115        .ww-nav .m-link i { font-size: 13px; color: var(--tx4); transition: transform 0.15s, color 0.15s; }
116        .ww-nav .m-link:active, .ww-nav .m-link:hover { color: var(--tx); background: rgba(17,17,17,0.04); }
117        .ww-nav .m-link:hover i { color: var(--ww-green); transform: translateX(3px); }
118        .ww-nav .m-link.view-all { color: var(--ww-green); font-weight: 600; font-size: 12.5px; letter-spacing: 0.04em; text-transform: uppercase; margin-top: 4px; padding-top: 12px; border-top: 1px solid var(--b1); border-radius: 0; }
119        .ww-nav .m-link.view-all i { color: var(--ww-green); }
120
121        .ww-nav .m-ctas { display: flex; flex-direction: column; gap: 10px; margin-top: 10px; padding-top: 18px; border-top: 1px solid var(--b1); }
122      </style><div class="flex items-center justify-between px-5 md:px-7 mx-auto" style="max-width:1120px;padding-top:11px;padding-bottom:11px;background:var(--nav-surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--nav-shadow)"><a class="ww-logo-mark" style="text-decoration:none;font-size:0.92rem;flex-shrink:0" href="/">WRITEWORKS<span class="ww-logo-dot" aria-hidden="true"></span></a><div class="hidden md:flex items-center gap-1" style="position:absolute;
122left:50%;transform:translateX(-50%)"><button class="nav-link ">Platform <i class="ti ti-chevron-down nav-chev"></i></button><button class="nav-link ">Solutions <i class="ti ti-chevron-down nav-chev"></i></button><button class="nav-link ">Resources <i class="ti ti-chevron-down nav-chev"></i></button><a class="nav-link" href="/pricing">Pricing</a></div><div class="hidden md:flex items-center gap-2" style="flex-shrink:0"><a class="nav-cta login" href="https://platform.writeworks.ai/login">Log in</a><a class="nav-cta signup" href="https://platform.writeworks.ai/sign-up">Free Trial <i class="ti ti-arrow-right"></i></a></div><button class="md:hidden p-2" aria-label="Toggle menu" style="color:var(--tx);background:none;border:none"><i class="ti ti-menu-2" style="font-size:22px"></i></button></div></nav><div class="hw-resource-shell"><!--$?--><template id="B:1"></template><!--/$--></div><footer class="hw-footer" style="border-top:1px solid rgba(255,255,255,0.06);padding:60px 48px 36px;background:#0A0A0A"><div class="hw-footer-grid mx-auto" style="max-width:1200px"><div class="hw-footer-brand"><div class="ww-logo-mark" style="margin-bottom:14px;font-size:1.05rem;color:#FFFFFF">WRITEWORKS<span class="ww-logo-dot" aria-hidden="true"></span></div><p style="font-family:var(--sans);font-size:0.92rem;color:rgba(255,255,255,0.6);line-height:1.6;max-width:280px">The content engineering platform for AI search. Measure your visibility across 10+ AI platforms, then ship the content that changes it.</p><a href="https://platform.writeworks.ai/sign-up" class="hw-footer-cta">Free Trial <i class="ti ti-arrow-right" aria-hidden="true"></i></a></div><div class="hw-footer-col"><div class="hw-footer-col-desktop"><h5 class="hw-footer-heading">Solutions</h5><a class="hw-footer-link" href="/solutions/content-teams">For Content Teams</a><a class="hw-footer-link" href="/solutions/growth-leaders">For Growth Leaders</a><a class="hw-footer-link" href="/solutions/product-marketers">For Product Marketers</a><a class="hw-footer-link" href="/use-cases/rank-on-chatgpt">Rank on ChatGPT</a><a class="hw-footer-link" href="/use-cases/track-perplexity">Track Perplexity</a><a class="hw-footer-link" href="/use-cases/google-ai-overviews">Win Google AI Overviews</a><button type="button" class="hw-footer-more" aria-expanded="false">Show 4 more<i class="ti ti-chevron-down" style="transform:rotate(0)"></i></button></div><div class="hw-footer-col-mobile"><button class="hw-footer-toggle" aria-expanded="false"><span class="hw-footer-heading">Solutions</span><i class="ti ti-chevron-down" style="font-size:16px;transition:transform 0.25s;transform:rotate(0)"></i></button></div></div><div class="hw-footer-col"><div class="hw-footer-col-desktop"><h5 class="hw-footer-heading">Platform</h5><a class="hw-footer-link" href="/platform">Platform Overview</a><a class="hw-footer-link" href="/platform/features">All Features</a><a class="hw-footer-link" href="/platform/features/ai-search-visibility">AI Search Visibility</a><a class="hw-footer-link" href="/platform/features/ai-optimisation">AI Optimisation</a><a class="hw-footer-link" href="/platform/features/prompt-research">Prompt Research</a><a class="hw-footer-link" href="/platform/features/content-engine">Content Engine</a><button type="button" class="hw-footer-more" aria-expanded="false">Show 3 more<i class="ti ti-chevron-down" style="transform:rotate(0)"></i></button></div><div class="hw-footer-col-mobile"><button class="hw-footer-toggle" aria-expanded="false"><span class="hw-footer-heading">Platform</span><i class="ti ti-chevron-down" style="font-size:16px;transition:transform 0.25s;transform:rotate(0)"></i></button></div></div><div class="hw-footer-col"><div class="hw-footer-col-desktop"><h5 class="hw-footer-heading">Resources</h5><a class="hw-footer-link" href="/resources">All Resources</a><a class="hw-footer-link" href="/resources/product-updates">Product Updates</a><a class="hw-footer-link" href="/resources/news">News</a><a class="hw-footer-link" href="/ai-updates">AI Model Updates</a><a class="hw-footer-link" href="/resources/blogs">Blog Posts</a><a class="hw-footer-link" href="/resources/case-studies">Case Studies</a><button type="button" class="hw-footer-more" aria-expanded="false">Show 1 more<i class="ti ti-chevron-down" style="transform:rotate(0)"></i></button></div><div class="hw-footer-col-mobile"><button class="hw-footer-toggle" aria-expanded="false"><span class="hw-footer-heading">Resources</span><i class="ti ti-chevron-down" style="font-size:16px;transition:transform 0.25s;transform:rotate(0)"></i></button></div></div><div class="hw-footer-col"><div class="hw-footer-col-desktop"><h5 class="hw-footer-heading">Company</h5><a class="hw-footer-link" href="/about">About Us</a><a class="hw-footer-link" href="/privacy">Privacy Policy</a><a class="hw-footer-link" href="/careers">Careers</a><a class="hw-footer-link" href="/pricing">Pricing</a><a class="hw-footer-link" href="/contact">Contact</a><a class="hw-footer-link" href="/sitemap">Sitemap</a><button type="button" class="hw-footer-more" aria-expanded="false">Show 1 more<i class="ti ti-chevron-down" style="transform:rotate(0)"></i></button></div><div class="hw-footer-col-mobile"><button class="hw-footer-toggle" aria-expanded="false"><span class="hw-footer-heading">Company</span><i class="ti ti-chevron-down" style="font-size:16px;transition:transform 0.25s;transform:rotate(0)"></i></button></div></div></div><div class="hw-footer-bottom mx-auto" style="max-width:1200px;margin-top:40px;padding-top:20px;border-top:2px solid rgba(255,255,255,0.12)"><p style="font-family:var(--sans);font-size:0.85rem;color:rgba(255,255,255,0.4)">© 2025 WriteWorks. All rights reserved.</p><div class="hw-footer-bottom-end"><nav class="hw-footer-social" aria-label="WriteWorks on social media"><a href="https://www.linkedin.com/company/writeworks-ai/" target="_blank" rel="noopener noreferrer" aria-label="WriteWorks on LinkedIn" title="LinkedIn"><i class="ti ti-brand-linkedin" aria-hidden="true"></i></a><a href="https://www.instagram.com/writeworks.ai/" target="_blank" rel="noopener noreferrer" aria-label="WriteWorks on Instagram" title="Instagram"><i class="ti ti-brand-instagram" aria-hidden="true"></i></a><a href="https://www.facebook.com/writeworks.ai/" target="_blank" rel="noopener noreferrer" aria-label="WriteWorks on Facebook" title="Facebook"><i class="ti ti-brand-facebook" aria-hidden="true"></i></a></nav><div class="hw-theme-toggle" role="group" aria-label="Colour theme" style="visibility:hidden"><button type="button" aria-pressed="true" class="is-active"><svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sun" aria-hidden="true"><circle cx="12" cy="12" r="4"></circle><path d="M12 2v2"></path><path d="M12 20v2"></path><path d="m4.93 4.93 1.41 1.41"></path><path d="m17.66 17.66 1.41 1.41"></path><path d="M2 12h2"></path><path d="M20 12h2"></path><path d="m6.34 17.66-1.41 1.41"></path><path d="m19.07 4.93-1.41 1.41"></path></svg>Light</button><button type="button" aria-pressed="false"><svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon" aria-hidden="true"><path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"></path></svg>Dark</button><style>
123        .hw-theme-toggle {
124          display: inline-flex;
125          align-items: center;
126          gap: 2px;
127          padding: 2px;
128          border: 1px solid rgba(255,255,255,0.12);
129          border-radius: 5px;
130          background: rgba(255,255,255,0.03);
131        }
132        .hw-theme-toggle button {
133          display: inline-flex;
134          align-items: center;
135          gap: 5px;
136          padding: 5px 10px;
137          border: 0;
138          border-radius: 4px;
139          background: transparent;
140          color: rgba(255,255,255,0.55);
141          font-family: var(--font-sans, 'Inter'), system-ui, sans-serif;
142          font-size: 12px;
143          font-weight: 500;
144          line-height: 1;
145          cursor: pointer;
146          transition: color 0.15s ease, background 0.15s ease;
147        }
148        .hw-theme-toggle button:hover { color: #FFFFFF; }
149        .hw-theme-toggle button.is-active {
150          background: rgba(255,255,255,0.10);
151          color: #FFFFFF;
152        }
153        .hw-theme-toggle button:focus-visible {
154          outline: 2px solid #22C55E;
155          outline-offset: 1px;
156        }
157      </style></div></div></div><style>
158        .hw-footer { --bg: #0A0A0A; --s1: #111111; --s2: #171717; --b1: rgba(255,255,255,0.06); --b2: rgba(255,255,255,0.10); --b3: rgba(255,255,255,0.16);
158 --tx: #FFFFFF; --tx2: #A0A0A0; --tx3: #666666; --tx4: #444444; --ww-green: #22C55E; --fh: var(--font-sans, 'Inter'), system-ui, sans-serif; --fm: var(--font-mono, 'Geist Mono'), ui-monospace, monospace; }
159
160        /* Free-trial CTA — dark-surface variant of the theme button
161           (inverted fill, same green hard shadow + 5px radius). */
162        .hw-footer-cta { display: inline-flex; align-items: center; gap: 8px; margin-top: 20px; padding: 12px 24px; font-family: var(--fh); font-size: 14px; font-weight: 700; letter-spacing: -0.005em; color: #000000; background: #FFFFFF; border: 1px solid #FFFFFF; border-radius: 5px; box-shadow: 4px 4px 0 rgba(34,197,94,0.18); text-decoration: none; transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease; }
163        .hw-footer-cta:hover { background: #F0F0F0; box-shadow: 6px 6px 0 rgba(34,197,94,0.18); transform: translate(-2px,-2px); }
164        .hw-footer-cta:active { box-shadow: 2px 2px 0 rgba(34,197,94,0.18); transform: translate(1px,1px); }
165        .hw-footer-cta i { font-size: 14px; }
166
167        .hw-footer-heading {
168          display: inline-flex;
169          align-items: center;
170          gap: 6px;
171          padding: 4px 10px;
172          border: 1px solid var(--b2);
173          border-radius: 999px;
174          font-family: var(--fm);
175          font-size: 9.5px;
176          font-weight: 700;
177          text-transform: uppercase;
178          letter-spacing: 0.12em;
179          color: var(--tx2);
180          margin: 0 0 14px;
181        }
182        .hw-footer-heading::before {
183          content: '';
184          width: 5px;
185          height: 5px;
186          border-radius: 50%;
187          background: var(--ww-green);
188        }
189        .hw-footer-link {
190          display: flex;
191          align-items: center;
192          gap: 8px;
193          padding: 6px 0;
194          font-family: var(--fh);
195          font-size: 13.5px;
196          color: #CFCFCF;
197          text-decoration: none;
198          line-height: 1.45;
199          transition: color 0.15s, transform 0.15s;
200        }
201        .hw-footer-link::before {
202          content: '→';
203          font-size: 13px;
204          color: var(--tx4);
205          transition: transform 0.15s, color 0.15s;
206          flex-shrink: 0;
207          line-height: 1;
208        }
209        .hw-footer-link:hover { color: var(--tx); }
210        .hw-footer-link:hover::before { color: var(--ww-green); transform: translateX(3px); }
211        .hw-footer-more {
212          display: inline-flex;
213          align-items: center;
214          gap: 5px;
215          margin-top: 10px;
216          padding: 6px 0;
217          background: none;
218          border: none;
219          cursor: pointer;
220          font-family: var(--fh);
221          font-size: 11.5px;
222          font-weight: 600;
223          letter-spacing: 0.04em;
224          text-transform: uppercase;
225          color: var(--ww-green);
226          transition: opacity 0.15s;
227        }
228        .hw-footer-more:hover { opacity: 0.85; }
229        .hw-footer-more i { font-size: 13px; transition: transform 0.2s; }
230        .hw-footer-grid {
231          display: grid;
232          grid-template-columns: 2fr 1.5fr 1fr 1fr 1fr;
233          gap: 40px;
234        }
235        .hw-footer-bottom {
236          display: flex;
237          justify-content: space-between;
238          align-items: center;
239          flex-wrap: wrap;
240          gap: 12px;
241        }
242        .hw-footer-bottom-end { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
243        .hw-footer-social { display: flex; align-items: center; gap: 6px; }
244        .hw-footer-social a { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border: 1px solid var(--b2); border-radius: 5px; color: var(--tx2); text-decoration: none; transition: color 0.15s ease, border-color 0.15s ease, background 0.15s ease; }
245        .hw-footer-social a:hover { color: var(--tx); border-color: var(--b3); background: var(--s2); }
246        .hw-footer-social a:focus-visible { outline: 2px solid var(--ww-green); outline-offset: 2px; }
247        .hw-footer-social i { font-size: 18px; }
248        .hw-footer-col-desktop { display: block; }
249        .hw-footer-col-mobile { display: none; }
250
251        @media (max-width: 1024px) {
252          .hw-footer-grid {
253            grid-template-columns: 1fr 1fr !important;
254            gap: 32px !important;
255          }
256          .hw-footer-brand { text-align: left; }
257        }
258        @media (max-width: 640px) {
259          .hw-footer { padding: 40px 20px 28px !important; }
260          .hw-footer-grid {
261            grid-template-columns: 1fr !important;
262            gap: 10px !important;
263          }
264          .hw-footer-brand {
265            text-align: left;
266            padding-bottom: 22px;
267            margin-bottom: 8px;
268            border-bottom: 1px solid var(--b1);
269          }
270          .hw-footer-brand p { margin: 0; max-width: 100%; }
271
272          .hw-footer-col-desktop { display: none; }
273          .hw-footer-col-mobile { display: block; }
274          .hw-footer-col { background: var(--s1); border: 1px solid var(--b1); border-radius: 12px; overflow: hidden; }
275
276          .hw-footer-toggle {
277            width: 100%;
278            display: flex;
279            align-items: center;
280            justify-content: space-between;
281            padding: 16px 18px;
282            background: none;
283            border: none;
284            cursor: pointer;
285            font-family: var(--fh);
286            font-size: 15px;
287            font-weight: 500;
288            color: var(--tx);
289            text-align: left;
290          }
291          .hw-footer-toggle .hw-footer-heading {
292            display: inline;
293            padding: 0;
294            border: 0;
295            border-radius: 0;
296            font-family: var(--fh);
297            font-size: 15px;
298            font-weight: 500;
299            text-transform: none;
300            letter-spacing: 0;
301            color: inherit;
302            margin: 0;
303          }
304          .hw-footer-toggle .hw-footer-heading::before { display: none; }
305          .hw-footer-toggle[aria-expanded="true"] { color: var(--ww-green); }
306          .hw-footer-toggle[aria-expanded="true"] i { color: var(--ww-green) !important; }
307          .hw-footer-toggle i {
308            font-size: 16px;
309            color: var(--tx3);
310            transition: transform 0.2s, color 0.15s;
311            flex-shrink: 0;
312          }
313
314          .hw-footer-collapse {
315            padding: 4px 14px 14px;
316            border-top: 1px solid var(--b1);
317            background: var(--s2);
318            text-align: left;
319          }
320          .hw-footer-collapse .hw-footer-link {
321            padding: 10px 12px;
322            border-radius: 8px;
323            justify-content: space-between;
324            font-size: 14px;
325          }
326          .hw-footer-collapse .hw-footer-link::before { display: none; }
327          .hw-footer-collapse .hw-footer-link::after {
328            content: '→';
329            font-size: 15px;
330            color: var(--tx4);
331            transition: transform 0.15s, color 0.15s;
332            line-height: 1;
333          }
334          .hw-footer-collapse .hw-footer-link:hover { background: rgba(255,255,255,0.03); color: var(--tx); }
335          .hw-footer-collapse .hw-footer-link:hover::after { color: var(--ww-green); transform: translateX(3px); }
336          .hw-footer-more {
337            margin-top: 10px;
338            padding: 10px 12px;
339            border-top: 1px solid var(--b1);
340            border-radius: 0;
341            width: 100%;
342            justify-content: flex-start;
343          }
344
345          .hw-footer-bottom {
346            flex-direction: column;
347            align-items: flex-start;
348            text-align: left;
349            margin-top: 28px !important;
350            padding-top: 18px !important;
351          }
352        }
353      </style></footer>
353<script>requestAnimationFrame(function(){$RT=performance.now()});</script>
353<script src="/_next/static/chunks/08t~o.yobi~go.js?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t" id="_R_" async=""></script>
353<div hidden id="S:1"><template id="P:2"></template><!--$?--><template id="B:3"></template><!--/$--></div>
353<script>(self.__next_f=self.__next_f||[]).push([0])</script>
353<script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n3:I[56243,[\"/_next/static/chunks/020n.0cgpzp.c.js?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t\",\"/_next/static/chunks/0-6gi10qv0306.js?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t\",\"/_next/static/chunks/1786s1k-zywe5.js?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t\"],\"LoadingBoundaryProvider\"]\n4:I[56243,[\"/_next/static/chunks/020n.0cgpzp.c.js?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t\",\"/_next/static/chunks/0-6gi10qv0306.js?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t\",\"/_next/static/chunks/1786s1k-zywe5.js?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t\"],\"default\"]\n5:I[47537,[\"/_next/static/chunks/020n.0cgpzp.c.js?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t\",\"/_next/static/chunks/0-6gi10qv0306.js?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t\",\"/_next/static/chunks/1786s1k-zywe5.js?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t\"],\"default\"]\n7:I[63881,[\"/_next/static/chunks/020n.0cgpzp.c.js?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t\",\"/_next/static/chunks/0-6gi10qv0306.js?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t\",\"/_next/static/chunks/1786s1k-zywe5.js?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t\"],\"OutletBoundary\"]\n8:\"$Sreact.suspense\"\nb:I[63881,[\"/_next/static/chunks/020n.0cgpzp.c.js?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t\",\"/_next/static/chunks/0-6gi10qv0306.js?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t\",\"/_next/static/chunks/1786s1k-zywe5.js?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t\"],\"ViewportBoundary\"]\nd:I[63881,[\"/_next/static/chunks/020n.0cgpzp.c.js?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t\",\"/_next/static/chunks/0-6gi10qv0306.js?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t\",\"/_next/static/chunks/1786s1k-zywe5.js?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t\"],\"MetadataBoundary\"]\nf:I[80487,[\"/_next/static/chunks/020n.0cgpzp.c.js?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t\",\"/_next/static/chunks/0-6gi10qv0306.js?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t\",\"/_next/static/chunks/1786s1k-zywe5.js?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t\"],\"default\",1]\n:HL[\"/_next/static/chunks/0661roev0y-k9.css?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t\",\"style\"]\n:HL[\"/_next/static/chunks/0l4g.r848s_h3.css?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t\",\"style\"]\n:HL[\"/_next/static/media/797e433ab948586e-s.p.08e28id.o-okb.woff2?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n"])</script>
353<script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"resources\",\"blogs\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"resources\",{\"children\":[[\"category\",\"blogs\",\"d\",null],{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",4]},\"$undefined\",\"$undefined\",24],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0661roev0y-k9.css?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0l4g.r848s_h3.css?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/020n.0cgpzp.c.js?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/0-6gi10qv0306.js?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/1786s1k-zywe5.js?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t\",\"async\":true,\"nonce\":\"$undefined\"}]],\"$L2\"]}],{\"children\":[[\"$\",\"$L3\",null,{\"loading\":[null,[],[]],\"children\":[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"div\",null,{\"className\":\"hw-resource-shell\",\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]]}]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[\"$L6\",null,[\"$\",\"$L7\",null,{\"children\":[\"$\",\"$8\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@9\"}]}]]}],{},null,false,null]},null,false,\"$@a\"]},null,false,null]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$Lb\",null,{\"children\":\"$Lc\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Ld\",null,{\"children\":[\"$\",\"$8\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Le\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$f\",[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0661roev0y-k9.css?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0l4g.r848s_h3.css?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]]],\"S\":false,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\"}\n"])</script>
353<script>self.__next_f.push([1,"10:[]\na:\"$W10\"\nc:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script>
353<script>self.__next_f.push([1,"11:I[89554,[\"/_next/static/chunks/020n.0cgpzp.c.js?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t\",\"/_next/static/chunks/0-6gi10qv0306.js?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t\",\"/_next/static/chunks/1786s1k-zywe5.js?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t\"],\"ThemeProvider\"]\n12:I[15723,[\"/_next/static/chunks/020n.0cgpzp.c.js?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t\",\"/_next/static/chunks/0-6gi10qv0306.js?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t\",\"/_next/static/chunks/1786s1k-zywe5.js?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t\"],\"GoogleTagManager\"]\n13:I[13293,[\"/_next/static/chunks/020n.0cgpzp.c.js?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t\",\"/_next/static/chunks/0-6gi10qv0306.js?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t\",\"/_next/static/chunks/1786s1k-zywe5.js?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t\"],\"Header\"]\n:HL[\"https://cdn.jsdelivr.net/npm/@tabler/icons-webfont@latest/tabler-icons.min.css\",\"style\"]\n"])</script>
353<script>self.__next_f.push([1,"2:[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"inter_f74c0ea4-module__zgkesq__variable geist_mono_4504b28f-module__1Y6WlG__variable\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"link\",null,{\"rel\":\"stylesheet\",\"href\":\"https://cdn.jsdelivr.net/npm/@tabler/icons-webfont@latest/tabler-icons.min.css\"}],\"\"]}],[\"$\",\"body\",null,{\"className\":\"inter_f74c0ea4-module__zgkesq__variable geist_mono_4504b28f-module__1Y6WlG__variable antialiased\",\"children\":[\"$\",\"$L11\",null,{\"attribute\":\"class\",\"defaultTheme\":\"light\",\"enableSystem\":false,\"disableTransitionOnChange\":true,\"children\":[[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"\\n    window.dataLayer = window.dataLayer || [];\\n    function gtag(){dataLayer.push(arguments);}\\n    gtag('consent', 'default', {\\\"analytics_storage\\\":\\\"denied\\\",\\\"ad_storage\\\":\\\"denied\\\",\\\"ad_user_data\\\":\\\"denied\\\",\\\"ad_personalization\\\":\\\"denied\\\",\\\"functionality_storage\\\":\\\"denied\\\",\\\"personalization_storage\\\":\\\"denied\\\",\\\"security_storage\\\":\\\"granted\\\",\\\"wait_for_update\\\":500});\\n    \\n    gtag('set', 'ads_data_redaction', true);\\n    gtag('set', 'url_passthrough', true);\\n  \"}}],[\"$\",\"$L12\",null,{\"gtmId\":\"GTM-TK82G3V8\"}],\"\",\"\",[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Organization\\\",\\\"name\\\":\\\"WriteWorks\\\",\\\"url\\\":\\\"https://www.writeworks.ai\\\",\\\"logo\\\":\\\"https://www.writeworks.ai/icon.svg\\\",\\\"description\\\":\\\"WriteWorks is the content engineering platform for AI search visibility. Track visibility and citations across Google, ChatGPT, Claude, Gemini, and Perplexity, and ship content engineered to be found and cited.\\\",\\\"sameAs\\\":[\\\"https://www.linkedin.com/company/writeworks-ai/\\\",\\\"https://www.instagram.com/writeworks.ai/\\\",\\\"https://www.facebook.com/writeworks.ai/\\\",\\\"https://x.com/writeworks\\\"],\\\"contactPoint\\\":[{\\\"@type\\\":\\\"ContactPoint\\\",\\\"contactType\\\":\\\"sales\\\",\\\"email\\\":\\\"[email protected]\\\",\\\"url\\\":\\\"https://www.writeworks.ai/contact\\\",\\\"availableLanguage\\\":[\\\"English\\\"]},{\\\"@type\\\":\\\"ContactPoint\\\",\\\"contactType\\\":\\\"customer support\\\",\\\"email\\\":\\\"[email protected]\\\",\\\"availableLanguage\\\":[\\\"English\\\"]}]}\"}}],[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"WebSite\\\",\\\"name\\\":\\\"WriteWorks\\\",\\\"url\\\":\\\"https://www.writeworks.ai\\\",\\\"potentialAction\\\":{\\\"@type\\\":\\\"SearchAction\\\",\\\"target\\\":\\\"https://www.writeworks.ai/resources?search={search_term_string}\\\",\\\"query-input\\\":\\\"required name=search_term_string\\\"},\\\"publisher\\\":{\\\"@type\\\":\\\"Organization\\\",\\\"name\\\":\\\"WriteWorks\\\",\\\"url\\\":\\\"https://www.writeworks.ai\\\"}}\"}}],[\"$\",\"$L13\",null,{}],[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\"
353:\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}],\"$L14\",\"$L15\"]}]}]]}]\n"])</script>
353<script>self.__next_f.push([1,"16:I[76841,[\"/_next/static/chunks/020n.0cgpzp.c.js?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t\",\"/_next/static/chunks/0-6gi10qv0306.js?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t\",\"/_next/static/chunks/1786s1k-zywe5.js?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t\"],\"Footer\"]\n17:I[81888,[\"/_next/static/chunks/020n.0cgpzp.c.js?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t\",\"/_next/static/chunks/0-6gi10qv0306.js?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t\",\"/_next/static/chunks/1786s1k-zywe5.js?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t\"],\"CookieConsent\"]\n18:I[81888,[\"/_next/static/chunks/020n.0cgpzp.c.js?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t\",\"/_next/static/chunks/0-6gi10qv0306.js?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t\",\"/_next/static/chunks/1786s1k-zywe5.js?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t\"],\"DEFAULT_BANNER_COPY\"]\n14:[\"$\",\"$L16\",null,{}]\n15:[\"$\",\"$L17\",null,{\"region\":\"gdpr\",\"copy\":\"$18\",\"serverHasConsent\":false}]\n"])</script>
353<script>self.__next_f.push([1,"19:I[53076,[\"/_next/static/chunks/020n.0cgpzp.c.js?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t\",\"/_next/static/chunks/0-6gi10qv0306.js?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t\",\"/_next/static/chunks/1786s1k-zywe5.js?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t\"],\"IconMark\"]\n9:null\n"])</script>
353<script>self.__next_f.push([1,"e:[[\"$\",\"title\",\"0\",{\"children\":\"Blog Posts: AEO \u0026 AI Search Insights | WriteWorks\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Latest thinking on AI search visibility, AEO, citation tracking, and the content engine behind every answer engine.\"}],[\"$\",\"meta\",\"2\",{\"name\":\"author\",\"content\":\"WriteWorks\"}],[\"$\",\"meta\",\"3\",{\"name\":\"keywords\",\"content\":\"content engineering platform,content intelligence,ai optimisation intelligence,ai search performance,ai search visibility,ai citation tracking software,ai content writing software,prompt research software,content optimization software,ai visibility tool,tracked prompts,share of voice,Google AI Overviews,agent analytics\"}],[\"$\",\"meta\",\"4\",{\"name\":\"creator\",\"content\":\"WriteWorks\"}],[\"$\",\"meta\",\"5\",{\"name\":\"publisher\",\"content\":\"WriteWorks\"}],[\"$\",\"link\",\"6\",{\"rel\":\"canonical\",\"href\":\"https://www.writeworks.ai/resources/blogs\"}],[\"$\",\"meta\",\"7\",{\"property\":\"og:title\",\"content\":\"The Content Engineering Platform for AI Search\"}],[\"$\",\"meta\",\"8\",{\"property\":\"og:description\",\"content\":\"See where you stand across 10+ AI platforms, then ship the content that changes it. The content engineering platform for AI search.\"}],[\"$\",\"meta\",\"9\",{\"property\":\"og:url\",\"content\":\"https://www.writeworks.ai\"}],[\"$\",\"meta\",\"10\",{\"property\":\"og:site_name\",\"content\":\"WriteWorks\"}],[\"$\",\"meta\",\"11\",{\"property\":\"og:locale\",\"content\":\"en_US\"}],[\"$\",\"meta\",\"12\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"13\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"14\",{\"name\":\"twitter:title\",\"content\":\"The Content Engineering Platform for AI Search\"}],[\"$\",\"meta\",\"15\",{\"name\":\"twitter:description\",\"content\":\"See where you stand across 10+ AI platforms, then ship the content that changes it. The content engineering platform for AI search.\"}],[\"$\",\"link\",\"16\",{\"rel\":\"icon\",\"href\":\"/icon.svg?icon.0lcjc3gw6e4u6.svg\",\"sizes\":\"any\",\"type\":\"image/svg+xml\"}],[\"$\",\"$L19\",\"17\",{}]]\n"])</script>
353<title>Blog Posts: AEO &amp; AI Search Insights | WriteWorks</title><meta name="description" content="Latest thinking on AI search visibility, AEO, citation tracking, and the content engine behind every answer engine."/><meta name="author" content="WriteWorks"/><meta name="keywords" content="content engineering platform,content intelligence,ai optimisation intelligence,ai search performance,ai search visibility,ai citation tracking software,ai content writing software,prompt research software,content optimization software,ai visibility tool,tracked prompts,share of voice,Google AI Overviews,agent analytics"/><meta name="creator" content="WriteWorks"/><meta name="publisher" content="WriteWorks"/><link rel="canonical" href="https://www.writeworks.ai/resources/blogs"/><meta property="og:title" content="The Content Engineering Platform for AI Search"/><meta property="og:description" content="See where you stand across 10+ AI platforms, then ship the content that changes it. The content engineering platform for AI search."/><meta property="og:url" content="https://www.writeworks.ai"/><meta property="og:site_name" content="WriteWorks"/><meta property="og:locale" content="en_US"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="The Content Engineering Platform for AI Search"/><meta name="twitter:description" content="See where you stand across 10+ AI platforms, then ship the content that changes it. The content engineering platform for AI search."/><link rel="icon" href="/icon.svg?icon.0lcjc3gw6e4u6.svg" sizes="any" type="image/svg+xml"/>
353<script>document.querySelectorAll('body link[rel="icon"], body link[rel="apple-touch-icon"]').forEach(el => document.head.appendChild(el))</script>
353<div hidden id="S:3"></div>
353<script>$RB=[];$RV=function(a){$RT=performance.now();for(var b=0;b<a.length;b+=2){var c=a[b],e=a[b+1];null!==e.parentNode&&e.parentNode.removeChild(e);var f=c.parentNode;if(f){var g=c.previousSibling,h=0;do{if(c&&8===c.nodeType){var d=c.data;if("/$"===d||"/&"===d)if(0===h)break;else h--;else"$"!==d&&"$?"!==d&&"$~"!==d&&"$!"!==d&&"&"!==d||h++}d=c.nextSibling;f.removeChild(c);c=d}while(c);for(;e.firstChild;)f.insertBefore(e.firstChild,c);g.data="$";g._reactRetry&&requestAnimationFrame(g._reactRetry)}}a.length=0};
354$RC=function(a,b){if(b=document.getElementById(b))(a=document.getElementById(a))?(a.previousSibling.data="$~",$RB.push(a,b),2===$RB.length&&("number"!==typeof $RT?requestAnimationFrame($RV.bind(null,$RB)):(a=performance.now(),setTimeout($RV.bind(null,$RB),2300>a&&2E3<a?2300-a:$RT+300-a)))):b.parentNode.removeChild(b)};$RC("B:3","S:3")</script>
354<div hidden id="S:0"></div>
354<script>$RC("B:0","S:0")</script>
354<script>self.__next_f.push([1,"1a:T13057,"])</script>
354<script>self.__next_f.push([1,"\n:root {\n  --bg: #FFFFFF;\n  --s1: #FAFAFA;\n  --s2: #F5F5F5;\n  --s3: #EFEFEF;\n  --s4: #E5E5E5;\n  --b1: rgba(10,10,10,0.06);\n  --b2: rgba(10,10,10,0.10);\n  --b3: rgba(10,10,10,0.16);\n  --b4: rgba(10,10,10,0.24);\n  --tx: #0A0A0A;\n  --tx2: #717171;\n  --tx3: #A1A1A1;\n  --tx4: #C4C4C4;\n  --ww-green: #22C55E;\n  --green-bg: rgba(34,197,94,0.10);\n  --green-bg-2: rgba(34,197,94,0.16);\n  --ww-rose: #E7000B;\n  --fh: var(--font-sans, 'Inter'), system-ui, sans-serif;\n  --fb: var(--font-sans, 'Inter'), system-ui, sans-serif;\n  --fm: var(--font-mono, 'Geist Mono'), ui-monospace, monospace;\n  --sp-sec: 56px;\n}\n/* overflow-x: clip (not hidden) prevents horizontal overflow WITHOUT turning\n   this into a scroll container — hidden would break position: sticky descendants\n   (e.g. the article TOC). */\n.ww-page { background: var(--bg); color: var(--tx); font-family: var(--fb); -webkit-font-smoothing: antialiased; overflow-x: clip; position: relative; min-height: 100vh; }\n.ww-page a { color: inherit; text-decoration: none; }\n.ww-page button { font-family: inherit; cursor: pointer; }\n.ww-page ul { list-style: none; padding: 0; margin: 0; }\n.ww-page *, .ww-page *::before, .ww-page *::after { box-sizing: border-box; }\n.ww-page .container { max-width: 1180px; margin: 0 auto; padding: 0 32px; }\n.ww-page .container-narrow { max-width: 820px; margin: 0 auto; padding: 0 32px; }\n\n.ww-page .section { padding: var(--sp-sec) 0; position: relative; }\n.ww-page .section + .section { border-top: 1px solid var(--b1); }\n.ww-page .sec-head { text-align: center; max-width: 700px; margin: 0 auto 36px; }\n.ww-page .sec-head.left { text-align: left; margin-left: 0; }\n.ww-page .eyebrow { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border: 1px solid var(--b2); border-radius: 999px; font-family: var(--fm); font-size: 10px; font-weight: 700; color: var(--tx2); text-transform: uppercase; letter-spacing: 0.12em; margin-bottom: 16px; }\n.ww-page .eyebrow .dot { width: 5px; height: 5px; border-radius: 50%; background: var(--ww-green); }\n.ww-page .sec-head h2 { font-family: var(--fh); font-size: 26px; font-weight: 600; line-height: 1.12; letter-spacing: -0.025em; margin: 0 0 10px; color: var(--tx); }\n.ww-page .sec-head p { font-size: 15px; color: var(--tx2); line-height: 1.55; margin: 0; font-weight: 400; }\n\n.ww-page .crumbs { padding: 96px max(56px, calc((min(100%, 1440px) - 1216px) / 2)) 0; max-width: 1440px; margin: 0 auto; font-family: var(--fm); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--tx2); display: flex; align-items: center; flex-wrap: wrap; row-gap: 4px; }\n.ww-page .crumbs.crumbs-center { justify-content: center; text-align: center; }\n.ww-page .crumbs a { color: var(--tx3); transition: color 0.15s; }\n.ww-page .crumbs a:hover { color: var(--ww-green); }\n.ww-page .crumbs .sep { margin: 0 10px; color: var(--tx4); }\n.ww-page .crumbs .current { color: var(--tx); font-weight: 700; }\n\n/* Room either side of the hero content: at least 56px of gradient, up to 112px on wide screens,\n   with the text and visual still in the same 1216px column as the nav and breadcrumb. */\n.ww-page .hero { --hero-pad-x: max(56px, calc((min(100%, 1440px) - 1216px) / 2)); padding: 40px var(--hero-pad-x) 56px; position: relative; max-width: 1440px; margin: 0 auto; }\n.ww-page .hero.center { text-align: center; }\n.ww-page .hero-glow { position: absolute; top: 0; right: -100px; width: 700px; height: 600px; pointer-events: none; background: transparent; z-index: 0; filter: blur(40px); }\n.ww-page .hero-inner { position: relative; z-index: 2; }\n/* Solutions hero: homepage-style gradient mesh background */\n.ww-page .hero-mesh-on { overflow: hidden; }\n.ww-page .hero-mesh { position: absolute; inset: -30% -10% -10% -10%; z-index: 0; pointer-events: none; background: radial-gradient(38% 42% at 18% 22%, rgba(34,197,94,0.18), transparent 70%), radial-gradient(34% 38% at 85% 12%, rgba(96,165,250,0.13), transparent 70%), radial-gradient(44% 46% at 78% 88%, rgba(34,197,94,0.11), transparent 72%), radial-gradient(38% 42% at 14
354% 92%, rgba(167,139,250,0.11), transparent 72%); filter: blur(38px); }\n.ww-page .hero-inner.split { display: grid; grid-template-columns: 1.2fr 1fr; gap: 48px; align-items: center; }\n.ww-page .hero-inner.center { text-align: center; max-width: 760px; margin: 0 auto; }\n.ww-page .hero .eyebrow { margin-bottom: 20px; }\n.ww-page .hero h1 { font-family: var(--fh); font-size: 32px; font-weight: 600; line-height: 1.08; letter-spacing: -0.025em; color: var(--tx); margin: 0 0 18px; }\n.ww-page .hero-inner.split h1 { max-width: 620px; }\n.ww-page .hero-sub { font-size: 16px; line-height: 1.55; color: var(--tx2); font-weight: 400; margin: 0 0 26px; }\n.ww-page .hero-inner.split .hero-sub { max-width: 540px; }\n.ww-page .hero-inner.center .hero-sub { margin-left: auto; margin-right: auto; max-width: 600px; }\n.ww-page .hero-ctas { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 14px; }\n.ww-page .hero-inner.center .hero-ctas { justify-content: center; }\n.ww-page .btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 12px 24px; border-radius: 5px; font-family: var(--fh); font-size: 14px; font-weight: 700; transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease, border-color 0.15s ease; cursor: pointer; border: 1px solid transparent; }\n.ww-page .btn-primary { background: #000000; color: #FFFFFF; border-color: #000000; box-shadow: 4px 4px 0 rgba(34,197,94,0.18); }\n.ww-page .btn-primary:hover { background: #1a1a1a; box-shadow: 6px 6px 0 rgba(34,197,94,0.18); transform: translate(-2px,-2px); }\n.ww-page .btn-primary:active { box-shadow: 2px 2px 0 rgba(34,197,94,0.18); transform: translate(1px,1px); }\n.ww-page .btn-secondary { background: transparent; color: var(--tx); border-color: var(--b3); }\n.ww-page .btn-secondary:hover { border-color: var(--b4); background: rgba(10,10,10,0.03); }\n@media (max-width: 720px) { .ww-page .btn { width: 100%; } .ww-page .hero-ctas { flex-direction: column; align-items: stretch; } }\n.ww-page .hero-helper { font-family: var(--fm); font-size: 11px; color: var(--tx3); letter-spacing: 0.04em; text-transform: uppercase; }\n.ww-page .hero-helper .check { color: var(--ww-green); }\n.ww-page .hero-bullets { display: inline-flex; gap: 18px; flex-wrap: wrap; justify-content: center; margin-top: 14px; }\n.ww-page .hero-bullets span { display: inline-flex; align-items: center; gap: 6px; font-family: var(--fm); font-size: 11px; color: var(--tx2); letter-spacing: 0.06em; text-transform: uppercase; }\n.ww-page .hero-bullets i { color: var(--ww-green); font-size: 13px; }\n\n.ww-page .hero-stat-panel { background: linear-gradient(180deg, var(--s2) 0%, var(--s1) 100%); border: 1px solid var(--b2); border-radius: 5px; padding: 24px 24px 8px; position: relative; overflow: hidden; }\n.ww-page .hero-stat-panel::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(34,197,94,0.5), transparent); }\n.ww-page .hsp-head { font-family: var(--fm); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--tx3); margin-bottom: 6px; display: flex; align-items: center; gap: 6px; }\n.ww-page .hsp-head .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--ww-green); animation: ww-page-pulse 2.5s ease-in-out infinite; }\n@keyframes ww-page-pulse { 0%,100% { opacity: 0.5; } 50% { opacity: 1; } }\n.ww-page .hsp-title { font-family: var(--fh); font-size: 13px; font-weight: 500; color: var(--tx); margin: 0 0 14px; }\n.ww-page .hsp-list { display: flex; flex-direction: column; }\n.ww-page .hsp-item { display: flex; align-items: baseline; justify-content: space-between; padding: 14px 0; border-bottom: 1px solid var(--b1); }\n.ww-page .hsp-item:last-child { border: none; }\n.ww-page .hsp-val { font-family: var(--fh); font-size: 26px; font-weight: 600; letter-spacing: -0.025em; line-height: 1; color: var(--ww-green); }\n.ww-page .hsp-lbl { font-size: 12px; color: var(--tx2); text-align: right; max-width: 130px; }\n\n/* Hero citation deck — a lightly-rotated stack of cards, matching the motif\n   used by the generated article covers (lib/marketing/feature-cover.ts on the\n   platform side). Replaces the old fake-browser \"hero-tracker\" mock; carries\n   the same data. Markup lives in components/hero-deck.tsx. */\n.ww-page .hero-deck { position: relative; }\n\n/* Ghosted header — the old chrome bar's label / URL / LIVE pill */\n.ww-page .hd-head { display: flex; align-items: center; gap: 9px; }\n.ww-page .hd-spark { font-size: 13px; line-height: 1; color: var(--tx4); }\n.ww-page .hd-head-t { font-family: var(--fh); font-size: 19px; font-weight: 600; letter-spacing: -0.02em; color: var(--tx4); }\n.ww-page .hd-live { font-family: var(--fm); font-size: 9px; font-weight: 700; letter-spacing: 0.08em; padding: 3px 8px; border-radius: 999px; background: #DCF3E6; color: #0F8A53; display: inline-flex; align-items: center; gap: 5px; flex-shrink: 0; }\n.ww-page .hd-live::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: var(--ww-green); animation: ww-page-pulse 2.5s ease-in-out infinite; }\n.ww-page .hd-head-sub { font-family: var(--fb); font-size: 12.5px; color: var(--tx4); margin: 5px 0 0; }\n\n/* The stack */\n.ww-page .hd-stack { margin-top: 20px; transform: rotate(-4deg); transform-origin: 55% 50%; }\n.ww-page .hd-card { border: 1px solid var(--b1); border-radius: 14px; background: var(--bg); padding: 18px 20px; }\n.ww-page .hd-ghost { background: var(--s2); border-color: rgba(10,10,10,0.045); }\n/* The overlapped edge of each ghost gets extra padding, so the front card\n   covers dead space instead of slicing through a title or a chip row. */\n.ww-page .hd-a { margin: 0 46px -32px 0; padding-bottom: 44px; }\n.ww-page .hd-b { margin: -32px 0 0 50px; padding-top: 46px; }\n.ww-page .hd-front { position: relative; z-index: 2; margin: 0 -4px; padding: 20px 22px; transform: rotate(1.6deg); box-shadow: 0 18px 40px rgba(10,10,10,0.12), 0 2px 6px rgba(10,10,10,0.05); }\n\n/* Card content */\n.ww-page .hd-card-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }\n.ww-page .hd-card-t { font-family: var(--fh); font-size: 17px; font-weight: 600; letter-spacing: -0.02em; line-height: 1.28; color: var(--tx); }\n/* Let the quoted prompt wrap to two lines — a single long line makes the\n   front card wide and thin, which reads as a bar rather than a card. */\n.ww-page .hd-front .hd-card-t { max-width: 19ch; }\n.ww-page .hd-ghost .hd-card-t { font-weight: 500; color: var(--tx4); }\n.ww-page .hd-lbl { display: block; font-family: var(--fm); font-size: 9.5px; letter-spacing: 0.09em; text-transform: uppercase; color: var(--tx3); }\n.ww-page .hd-lbl-sp { margin-top: 14px; }\n.ww-page .hd-ghost .hd-lbl { color: var(--tx4); }\n.ww-page .hd-status { flex-shrink: 0; text-align: right; }\n.ww-page .hd-status .hd-lbl { margin-bottom: 6px; }\n.ww-page .hd-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }\n.ww-page .hd-status .hd-chip { margin-top: 0; }\n.ww-page .hd-chip { font-family: var(--fm); font-size: 10.5px; font-weight: 700; letter-spacing: 0.02em; padding: 5px 10px; border-radius: 999px; background: var(--s3); color: var(--tx3); white-space: nowrap; }\n.ww-page .hd-ghost .hd-chip { background: rgba(10,10,10,0.035); color: var(--tx4); }\n.ww-page .hd-chip.is-cited, .ww-page .hd-chip.is-new { background: #DCF3E6; color: #0F8A53; }
354\n.ww-page .hd-chip.is-miss { background: rgba(231,0,11,0.08); color: var(--ww-rose); }\n\n@media (max-width: 1024px) {\n  .ww-page .hd-stack { transform: rotate(-2.5deg); }\n  .ww-page .hd-a { margin-right: 22px; }\n  .ww-page .hd-b { margin-left: 24px; }\n}\n/* Below ~480px the tilt costs more width than it buys, so sit it upright. */\n@media (max-width: 480px) {\n  .ww-page .hd-stack { transform: none; }\n  .ww-page .hd-front { transform: none; margin: 0; }\n  .ww-page .hd-a { margin: 0 0 -26px; }\n  .ww-page .hd-b { margin: -26px 0 0; }\n  .ww-page .hd-card-top { flex-direction: column; gap: 10px; }\n  .ww-page .hd-status { text-align: left; }\n}\n@media (prefers-reduced-motion: reduce) {\n  .ww-page .hd-live::before { animation: none; }\n}\n\n/* Stats bar (attributed) */\n.ww-page .stats-bar { padding: 36px 0; border-bottom: 1px solid var(--b1); }\n.ww-page .stats-bar-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; max-width: 1180px; margin: 0 auto; padding: 0 32px; }\n/* This is now the only stat-card treatment on the site — the homepage's\n   equivalent strip (.proof-card) was removed, so keep the radius, padding,\n   hover lift and tabular figures here as the reference if one ever returns.\n   Figures are tabular so digits do not jitter between values. */\n.ww-page .stat-card { background: var(--s1); border: 1px solid var(--b1); border-radius: 14px; padding: 32px 22px; text-align: center; transition: border-color 0.25s, transform 0.25s; }\n.ww-page .stat-card:hover { border-color: var(--b2); transform: translateY(-3px); }\n.ww-page .stat-v { font-family: var(--fh); font-size: 32px; font-weight: 600; letter-spacing: -0.025em; font-variant-numeric: tabular-nums; line-height: 1; margin-bottom: 8px; }\n.ww-page .stat-l { font-size: 14px; color: var(--tx2); line-height: 1.5; margin-bottom: 8px; }\n.ww-page .stat-src { font-family: var(--fm); font-size: 10px; color: var(--tx4); letter-spacing: 0.06em; text-transform: uppercase; }\n@media (max-width: 1024px) { .ww-page .stats-bar-grid { grid-template-columns: repeat(2, 1fr); padding: 0 24px; } }\n@media (max-width: 720px) { .ww-page .stats-bar-grid { padding: 0 20px; } }\n\n/* Bright centered logo strip (override for solutions) */\n.ww-page .logos-bright .logos-row span { color: var(--tx); opacity: 0.85; }\n.ww-page .logos-bright .logos-row span:hover { opacity: 1; color: var(--tx); }\n.ww-page .logos-bright .logos-label { color: var(--tx2); font-size: 12px; letter-spacing: 0.14em; }\n\n/* Challenge cards (rose icons) */\n.ww-page .challenge-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; max-width: 1180px; margin: 0 auto; }\n/* Column layout so the sparkline pins to the bottom of every card — card text\n   varies in length, and a chart that floats at a different height in each\n   card reads as broken alignment. */\n.ww-page .challenge-card { background: var(--s1); border: 1px solid var(--b1); border-radius: 5px; padding: 22px 22px; transition: border-color 0.25s; display: flex; flex-direction: column; }\n.ww-page .challenge-card:hover { border-color: var(--b2); }\n.ww-page .challenge-card .ic-badge { margin-bottom: 14px; background: rgba(251,113,133,0.08); color: var(--ww-rose); }\n.ww-page .challenge-card h3 { font-family: var(--fh); font-size: 15px; font-weight: 600; margin: 0 0 6px; color: var(--tx); letter-spacing: -0.01em; }\n/* The paragraph grows to absorb the slack, which pins the sparkline to the\n   bottom of every card. Doing this with an auto top margin on the figure\n   instead collapses its gap to zero on the tallest card in the row, and the\n   divider ends up touching the last line of text. */\n.ww-page .challenge-card p { font-size: 13px; line-height: 1.55; color: var(--tx2); margin: 0; flex: 1 1 auto; }\n\n/* Declining sparkline (components/challenge-trend.tsx) */\n.ww-page .challenge-trend { margin: 18px 0 0; padding: 14px 0 0; border-top: 1px solid var(--b1); display: block; }\n.ww-page .challenge-trend svg { display: block; width: 100%; height: auto; overflow: visible; }\n.ww-page .ct-cap { display: flex; align-items: center; gap: 6px; margin-top: 8px; font-family: var(--fm); font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--tx3); }\n/* The arrow is the non-colour half of the encoding — it must survive CVD and\n   forced-colours, so it is a glyph, not a rotated coloured bar. */\n.ww-page .ct-arrow { color: var(--ww-rose); font-size: 12px; line-height: 1; font-weight: 700; }\n@media (max-width: 1024px) { .ww-page .challenge-grid { grid-template-columns: repeat(2, 1fr); } }\n@media (max-width: 720px) { .ww-page .challenge-grid { grid-template-columns: 1fr; } }\n\n/* Solution cards with mini screenshots */\n.ww-page .solutions-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; max-width: 1180px; margin: 0 auto; }\n.ww-page .sol2-card { background: var(--s1); border: 1px solid var(--b1); border-radius: 5px; padding: 0; overflow: hidden; display: flex; flex-direction: column; transition: all 0.25s; }\n.ww-page .sol2-card:hover { border-color: var(--b2); transform: translateY(-2px); }\n.ww-page .sol2-body { padding: 24px 24px 20px; }\n.ww-page .sol2-card .ic-badge { margin-bottom: 14px; }\n.ww-page .sol2-card h3 { font-family: var(--fh); font-size: 17px; font-weight: 600; margin: 0 0 8px; color: var(--tx); letter-spacing: -0.01em; }\n.ww-page .sol2-card p { font-size: 13.5px; line-height: 1.55; color: var(--tx2); margin: 0; }\n.ww-page .sol-shot { background: var(--s2); border-top: 1px solid var(--b1); padding: 16px 18px; min-height: 140px; display: flex; flex-direction: column; gap: 8px; }\n.ww-page .sol-shot-head { font-family: var(--fm); font-size: 9px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--tx3); display: flex; align-items: center; gap: 6px; }\n.ww-page .sol-shot-head i { color: var(--ww-green); font-size: 11px; }\n.ww-page .sol-shot-pulse { width: 5px; height: 5px; border-radius: 50%; background: var(--ww-green); animation: ww-page-pulse 2.5s ease-in-out infinite; display: inline-block; }\n.ww-page .sol-shot-row { display: grid; grid-template-columns: 110px 1fr 40px; gap: 8px; align-items: center; font-size: 11px; color: var(--tx2); padding: 6px 0; border-bottom: 1px dashed var(--b1); }\n.ww-page .sol-shot-row:last-child { border: 0; }\n.ww-page .sol-shot-row .name { font-family: var(--fm); font-size: 10px; color: var(--tx3); text-transform: uppercase; letter-spacing: 0.04em; }\n.ww-page .sol-shot-track { height: 4px; background: var(--s4); border-radius: 4px; overflow: hidden; }\n.ww-page .sol-shot-fill { height: 100%; background: var(--ww-green); border-radius: 4px; }\n.ww-page .sol-shot-val { font-family: var(--fm); font-size: 10px; font-weight: 700; color: var(--ww-green); text-align: right; }\n.ww-page .sol-shot-engine { display: flex; align-items: center; justify-content: space-between; font-size: 11px; padding: 6px 0; border-bottom: 1px dashed var(--b1); }\n.ww-page .sol-shot-engine:last-child { border: 0; }\n.ww-page .sol-shot-engine .e-name { font-family: var(--fm); font-size: 10px; color: var(--tx2); text-transform: uppercase; letter-spacing: 0.04em; }\n.ww-page .sol-shot-engine .e-val { font-family: var(--fm); font-size: 10px; font-weight: 700; color: var(--ww-green); }\n.ww-page .sol-shot-engine .e-val.miss { color: var(--ww-rose); }\n.ww-page .sol-shot-quote { font-size: 12px; line-height: 1.55; color: var(--tx2); padding: 8px 0; }\n.ww-page .sol-shot-quote .tag { display: inline-flex; align-items: center; gap: 3px; font-family: var(--fm); font-size: 8.5px; padding: 1.5px 5px; border-radius: 3px; background: var(--green-bg); color: var(--ww-green); font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; margin: 0 2px; }\n.ww-page .sol-shot-pipeline { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }\n.ww-page .sol-shot-pcell { background: var(--s1); border: 1px solid var(--b1); border-radius: 5px; padding: 10px 12px; }\n.ww-page .sol-shot-pcell .v { font-family: var(--fh); font-size: 18px; font-weight: 600; color: var(--tx); letter-spacing: -0.02em; line-height: 1; }\n.ww-page .sol-shot-pcell .l { font-family: var(--fm); font-size: 9px; color: var(--tx3); margin-top: 4px; letter-spacing: 0.06em; text-transform: uppercase; }\n@media (max-width: 1024px) { .ww-page .solutions-grid { grid-template-columns: 1fr; } }\n\n/* Testimonial */\n.ww-page .testimonial { max-width: 920px; margin: 0 auto; background: var(--s1); border: 1px solid var(--b2); border-radius: 5px; padding: 36px 38px; position: relative; overflow: hidden; }\n.ww-page .testimonial::before { content: ''; position: absolute; top: -50%; right: -10%; width: 380px; height: 380px; background: radial-gradient(circle, rgba(34,197,94,0.06) 0%, transparent 60%); pointer-events: none; }\n.ww-page .test-bar { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; padding-bottom: 16px; border-bottom: 1px solid var(--b1); position: relative; z-index: 2; }\n.ww-page .test-logo { font-family: var(--fh); font-size: 20px; font-weight: 700; color: var(--tx); letter-spacing: -0.01em; }\n.ww-page .test-metric-badge { font-family: var(--fm); font-size: 10px; padding: 5px 12px; border-radius: 6px; background: var(--green-bg-2); color: var(--ww-green); letter-spacing: 0.06em; text-transform: uppercase; font-weight: 700; }\n.ww-page .test-quote { font-family: var(--fh); font-size: 19px; font-weight: 400; line-height: 1.4; letter-spacing: -0.015em; color: var(--tx); margin: 0 0 22px; position: relative; z-index: 2; }\n.ww-page .test-foot { display: flex; align-items: center; gap: 14px; position: relative; z-index: 2; }\n.ww-page .test-avatar-grad { width: 44px; height: 44px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: var(--fh); font-weight: 700; font-size: 15px; color: #fff; flex-shrink: 0; }\n.ww-page .test-author-meta { display: flex; flex-direction: column; gap: 2px; }\n.ww-page .test-author-name { font-family: var(--fh); font-size: 14px; font-weight: 600; color: var(--tx); display: inline-flex; align-items: center; gap: 6px; }\n.ww-page .test-author-name i { font-size: 13px; color: #60A5FA; }\n.ww-page .test-author-role { font-size: 12px; color: var(--tx3); }\n@media (max-width: 720px) { .ww-page .testimonial { padding: 26px 22px; } .ww-page .test-quote { font-size: 17px; } }\n\n/* Featured case study */\n.ww-page .case { max-width: 1080px; margin: 0 auto; background: linear-gradient(135deg, var(--s2) 0%, var(--s1) 100%); border: 1px solid var(--b2); border-radius: 5px; padding: 36px 38px; display: grid; grid-template-columns: 1.2fr 1fr; gap: 36px; align-items: center; position: relative; overflow: hidden; }\n.ww-page .case::before { content: ''; position: absolute; top: -40%; right: -10%; width: 420px; height: 420px; background: radial-gradient(circle, rgba(34,197,94,0.07) 0%, transparent 60%); pointer-events: none; }\n.ww-page .case-tag { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 6px; background: var(--green-bg); color: var(--ww-green); font-family: var(--fm); font-size: 10px; letter-spacing: 0.06em; text-transform: uppercase; font-weight: 700; margin-bottom: 14px; position: relative; z-index: 2; }\n.ww-page .case-logo { font-family: var(--fh); font-size: 22px; font-weight: 700; color: var(--tx); margin-bottom: 14px; letter-spacing: -0.02em; position: relative; z-index: 2; }\n.ww-page .case-quote { font-family: var(--fh); font-size: 18px; font-weight: 400; line-height: 1.4; letter-spacing: -0.015em; color: var(--tx); margin: 0 0 20px; position: relative; z-index: 2; }\n.ww-page .case-link { display: inline-flex; align-items: center; gap: 6px; font-family: var(--fh); font-size: 13px; font-weight: 600; color: #60A5FA; position: relative; z-index: 2; }\n.ww-page .case-link:hover { color: var(--ww-green); }\n.ww-page .case-metrics { display: flex; flex-direction: column; gap: 10px; position: relative; z-index: 2; }\n.ww-page .case-metric { padding: 18px 20px; border-radius: 5px; background: var(--s1); border: 1px solid var(--b1); }\n.ww-page .case-metric .v { font-family: var(--fh); font-size: 26px; font-weight: 600; letter-spacing: -0.02em; line-height: 1; margin-bottom: 4px; }\n.ww-page .case-metric .l { font-size: 12px; color: var(--tx2); line-height: 1.4; }\n@media (max-width: 1024px) { .ww-page .case { grid-template-columns: 1fr; padding: 28px; } }\n@media (max-width: 720px) { .ww-page .case-quote { font-size: 16px; } }\n\n.ww-page .ic-badge { width: 36px; height: 36px; border-radius: 5px; display: flex; align-items: center; justify-content: center; font-size: 16px; background: var(--green-bg); color: var(--ww-green); flex-shrink: 0; }\n\n.ww-page .card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; max-width: 1180px; margin: 0 auto; }\n.ww-page .card-grid.cols-4 { grid-template-columns: repeat(4, 1fr); }\n.ww-page .card { background: var(--s1); border: 1px solid var(--b1); border-radius: 5px; padding: 22px 22px; transition: all 0.25s; display: flex; flex-direction: column; }\n.ww-page .card:hover { border-color: var(--b2); transform: translateY(-2px); }\n.ww-page .card .ic-badge { margin-bottom: 14px; }\n.ww-page .card h3 { font-family: var(--fh); font-size: 15px; font-weight: 600; margin: 0 0 6px; color: var(--tx); letter-spacing: -0.01em; }\n.ww-page .card p { font-size: 13px; line-height: 1.55; color: var(--tx2); margin: 0; }\n\n.ww-page .sol-card { background: var(--s1); border: 1px solid var(--b1); border-radius: 5px; padding: 22px 22px; transition: all 0.25s; display: flex; flex-direction: column; }\n.ww-page .sol-card:hover { border-color: var(--ww-green); transform: translateY(-2px); }\n.ww-page .sol-card .top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }\n.ww-page .sol-card h3 { font-family: var(--fh); font-size: 15px; font-weight: 600; margin: 0 0 6px; color: var(--tx); letter-spacing: -0.01em; }\n.ww-page .sol-card p { font-size: 13px; line-height: 1.55; color: var(--tx2); margin: 0 0 14px; flex: 1; }\n.ww-page .sol-card .pill { font-family: var(--fm); font-size: 9.5px; font-weight: 700; padding: 4px 9px; border-radius: 999px; background: var(--green-bg-2); color: var(--ww-green); letter-spacing: 0.04em; text-transform: uppercase; }\n.ww-page .sol-card .link { font-family: var(--fh); font-size: 12px; font-weight: 600; color: var(--ww-green); display: inline-flex; align-items: center; gap: 4px; text-transform: uppercase; letter-spacing: 0.04em; }\n.ww-page .sol-card .link i { transition: transform 0.15s; }\n.ww-page .sol-card:hover .link i { transform: translateX(3px); }\n\n.ww-page .jobs-table { max-width: 1080px; margin: 0 auto; background: var(--s1); border: 1px solid var(--b1); border-radius: 5px; overflow: hidden; }\n.ww-page .jt-head { display: grid; grid-template-columns: 1.6fr 1fr 1fr 0.8fr; padding: 12px 22px; background: var(--s2); border-bottom: 1px solid var(--b1); font-family: var(--fm); font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--tx3); }\n.ww-page .jt-row { display: grid; grid-template-columns: 1.6fr 1fr 1fr 0.8fr; padding: 14px 22px; border-bottom: 1px solid var(--b1); align-items: center; transition: background 0.1s; }\n.ww-page .jt-row:last-child { border: none; }\n.ww-page .jt-row:hover { background: var(--s2); }\n.ww-page .jt-task { font-family: var(--fh); font-size: 14px; font-weight: 500; color: var(--tx); }\n.ww-page .jt-before { font-family: var(--fm); font-size: 11px; color: var(--ww-rose); }\n.ww-page .jt-after { font-family: var(--fm); font-size: 11px; color: var(--ww-green); }\n.ww-page .jt-saved { font-family: var(--fm); font-size: 11px; font-weight: 700; padding: 3px 9px; border-radius: 5px; background: var(--green-bg-2); color: var(--ww-green); text-align: center; letter-spacing: 0.04em; justify-self: end; }\n\n.ww-page .feature-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; max-width: 1080px; margin: 0 auto; }\n.ww-page .feature-list .feat { background: var(--s1); border: 1px solid var(--b1); border-radius: 5px; padding: 14px 16px; display: flex; align-items: center; gap: 10px; font-size: 13.5px; color: var(--tx); font-family: var(--fh); font-weight: 500; }\n.ww-page .feature-list .feat i { c
354olor: var(--ww-green); font-size: 14px; flex-shrink: 0; }\n\n.ww-page .faq-list { max-width: 720px; margin: 0 auto; }\n.ww-page .faq-item { border-bottom: 1px solid var(--b1); }\n.ww-page .faq-item:first-child { border-top: 1px solid var(--b1); }\n.ww-page .faq-item summary { list-style: none; cursor: pointer; padding: 18px 4px; display: flex; align-items: center; justify-content: space-between; gap: 16px; font-family: var(--fh); font-size: 15px; font-weight: 500; color: var(--tx); transition: color 0.15s; }\n.ww-page .faq-item summary::-webkit-details-marker { display: none; }\n.ww-page .faq-item summary:hover { color: var(--ww-green); }\n.ww-page .faq-item summary .plus { font-family: var(--fm); font-size: 18px; color: var(--tx3); transition: transform 0.2s, color 0.15s; flex-shrink: 0; }\n.ww-page .faq-item[open] summary { color: var(--ww-green); }\n.ww-page .faq-item[open] summary .plus { transform: rotate(45deg); color: var(--ww-green); }\n.ww-page .faq-item .faq-body { padding: 0 4px 20px; font-size: 14px; color: var(--tx2); line-height: 1.6; max-width: 660px; }\n\n.ww-page .related { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; max-width: 1180px; margin: 0 auto; }\n.ww-page .related-col h3 { font-family: var(--fm); font-size: 10px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--tx3); margin: 0 0 12px; }\n.ww-page .related-col ul { display: flex; flex-direction: column; gap: 2px; }\n.ww-page .related-col a { font-family: var(--fh); font-size: 13px; color: var(--tx2); padding: 6px 0; display: inline-flex; align-items: center; gap: 6px; transition: color 0.15s; }\n.ww-page .related-col a:hover { color: var(--ww-green); }\n.ww-page .related-col a i { font-size: 11px; color: var(--ww-green); }\n\n/* Pricing tiers */\n.ww-page .tiers { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; max-width: 1080px; margin: 0 auto; }\n.ww-page .tier { background: var(--s1); border: 1px solid var(--b1); border-radius: 5px; padding: 28px 24px; display: flex; flex-direction: column; transition: border-color 0.25s; position: relative; }\n.ww-page .tier:hover { border-color: var(--b2); }\n.ww-page .tier.featured { border-color: var(--ww-green); background: linear-gradient(180deg, var(--s2) 0%, var(--s1) 100%); }\n.ww-page .tier-badge { align-self: flex-start; padding: 4px 10px; border-radius: 999px; background: var(--green-bg-2); color: var(--ww-green); font-family: var(--fm); font-size: 9.5px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; margin-bottom: 14px; }\n.ww-page .tier h3 { font-family: var(--fh); font-size: 17px; font-weight: 600; margin: 0 0 10px; color: var(--tx); letter-spacing: -0.01em; }\n.ww-page .tier-price { display: flex; align-items: baseline; gap: 4px; margin-bottom: 10px; }\n.ww-page .tier-price .num { font-family: var(--fh); font-size: 36px; font-weight: 600; color: var(--tx); letter-spacing: -0.025em; line-height: 1; }\n.ww-page .tier-price .pre { font-family: var(--fm); font-size: 11px; font-weight: 500; letter-spacing: 0.06em; text-transform: uppercase; color: var(--tx3); }\n.ww-page .tier-yearly { margin: -2px 0 12px; font-size: 13px; line-height: 1.5; color: var(--tx2); }\n.ww-page .tier-save { display: inline-block; margin-left: 4px; padding: 1px 7px; border-radius: 999px; font-size: 11px; font-weight: 600; color: var(--green-ink, #0E7C58); background: var(--green-pale, rgba(34,197,94,0.14)); }\n.ww-page .tier-price .per { font-family: var(--fm); font-size: 12px; color: var(--tx3); }\n.ww-page .billing-toggle { display: flex; width: fit-content; margin: 0 auto 28px; padding: 4px; gap: 4px; border: 1px solid var(--b2); border-radius: 999px; background: var(--s1); }\n.ww-page .billing-toggle button { display: inline-flex; align-items: center; gap: 6px; padding: 8px 18px; border: 0; border-radius: 999px; background: transparent; font: inherit; font-size: 14px; font-weight: 500; color: var(--tx2); cursor: pointer; transition: background .15s, color .15s; }\n.ww-page .billing-toggle button:hover { color: var(--tx); }\n.ww-page .billing-toggle button.active { background: var(--bg, #fff); color: var(--tx); box-shadow: 0 1px 3px rgba(0,0,0,0.12); }\n.ww-page .billing-toggle button:focus-visible { outline: 2px solid var(--ww-green); outline-offset: 2px; }\n.ww-page .billing-toggle .tier-save { margin-left: 0; }\n.ww-page .tier-desc { font-size: 13px; color: var(--tx2); line-height: 1.55; margin: 0 0 20px; }\n.ww-page .tier-list { display: flex; flex-direction: column; gap: 8px; flex: 1; margin: 0 0 20px; }\n.ww-page .tier-list li { font-size: 13px; color: var(--tx2); display: flex; align-items: flex-start; gap: 8px; line-height: 1.5; }\n.ww-page .tier-list li i { color: var(--ww-green); font-size: 13px; margin-top: 3px; flex-shrink: 0; }\n.ww-page .tier .btn { width: 100%; }\n\n/* Comparison table */\n.ww-page .compare-wrap { max-width: 1080px; margin: 0 auto; background: var(--s1); border: 1px solid var(--b1); border-radius: 5px; overflow: hidden; }\n.ww-page .ct-head { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; padding: 14px 22px; background: var(--s2); border-bottom: 1px solid var(--b1); font-family: var(--fm); font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--tx3); }\n.ww-page .ct-head span { text-align: center; }\n.ww-page .ct-head span:first-child { text-align: left; }\n.ww-page .ct-row { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; padding: 14px 22px; border-bottom: 1px solid var(--b1); align-items: center; }\n.ww-page .ct-row:last-child { border: none; }\n.ww-page .ct-row:hover { background: var(--s2); }\n.ww-page .ct-name { font-family: var(--fh); font-size: 13px; font-weight: 500; color: var(--tx); }\n.ww-page .ct-val { font-family: var(--fm); font-size: 12px; color: var(--tx2); text-align: center; }\n.ww-page .ct-yes { color: var(--ww-green); font-size: 16px; text-align: center; }\n.ww-page .ct-no { color: var(--tx4); font-size: 16px; text-align: center; }\n\n/* Contact form */\n.ww-page .form-card { background: var(--s1); border: 1px solid var(--b1); border-radius: 5px; padding: 32px 30px; max-width: 720px; margin: 0 auto; }\n.ww-page .form-card h2 { font-family: var(--fh); font-size: 22px; font-weight: 600; margin: 0 0 8px; color: var(--tx); letter-spacing: -0.02em; }\n.ww-page .form-card .form-intro { font-size: 14px; color: var(--tx2); margin: 0 0 24px; }\n.ww-page .form-card form { display: flex; flex-direction: column; gap: 14px; }\n.ww-page .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }\n.ww-page .form-field { display: flex; flex-direction: column; gap: 6px; }\n.ww-page .form-label { font-family: var(--fm); font-size: 10px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--tx3); }
354\n.ww-page .form-input, .ww-page .form-select, .ww-page .form-textarea { background: var(--bg); border: 1px solid var(--b2); border-radius: 5px; padding: 11px 14px; color: var(--tx); font-family: var(--fb); font-size: 14px; transition: border-color 0.2s; }\n.ww-page .form-input:focus, .ww-page .form-select:focus, .ww-page .form-textarea:focus { outline: none; border-color: var(--ww-green); }\n.ww-page .form-textarea { resize: vertical; min-height: 120px; }\n\n/* Contact methods */\n.ww-page .contact-card { background: var(--s1); border: 1px solid var(--b1); border-radius: 5px; padding: 24px 22px; transition: border-color 0.25s; }\n.ww-page .contact-card:hover { border-color: var(--b2); }\n.ww-page .contact-card .ic-badge { margin-bottom: 14px; }\n.ww-page .contact-card h3 { font-family: var(--fh); font-size: 15px; font-weight: 600; margin: 0 0 6px; color: var(--tx); }\n.ww-page .contact-card p { font-size: 13px; color: var(--tx2); line-height: 1.55; margin: 0 0 12px; }\n.ww-page .contact-card a { color: var(--ww-green); font-family: var(--fm); font-size: 12.5px; font-weight: 500; }\n.ww-page .contact-card a:hover { text-decoration: underline; }\n\n/* Team cards */\n.ww-page .team-card { background: var(--s1); border: 1px solid var(--b1); border-radius: 5px; overflow: hidden; transition: border-color 0.25s; }\n.ww-page .team-card:hover { border-color: var(--b2); }\n.ww-page .team-avatar { aspect-ratio: 1; background: linear-gradient(135deg, var(--s2) 0%, var(--s3) 100%); display: flex; align-items: center; justify-content: center; border-bottom: 1px solid var(--b1); font-family: var(--fh); font-size: 38px; font-weight: 700; color: var(--ww-green); letter-spacing: -0.02em; }\n.ww-page .team-body { padding: 20px 22px; }\n.ww-page .team-body h3 { font-family: var(--fh); font-size: 16px; font-weight: 600; margin: 0 0 4px; color: var(--tx); }\n.ww-page .team-role { font-family: var(--fm); font-size: 10px; font-weight: 700; color: var(--ww-green); letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 10px; }\n.ww-page .team-body p { font-size: 13px; color: var(--tx2); line-height: 1.55; margin: 0; }\n\n/* Timeline */\n.ww-page .timeline { max-width: 760px; margin: 0 auto; }\n.ww-page .timeline-item { display: grid; grid-template-columns: 70px 1fr; gap: 24px; padding: 18px 0; border-bottom: 1px solid var(--b1); align-items: start; }\n.ww-page .timeline-item:last-child { border: none; }\n.ww-page .timeline-year { font-family: var(--fm); font-size: 11px; font-weight: 700; color: var(--ww-green); letter-spacing: 0.1em; padding-top: 2px; }\n.ww-page .timeline-content h3 { font-family: var(--fh); font-size: 16px; font-weight: 600; margin: 0 0 4px; color: var(--tx); }\n.ww-page .timeline-content p { font-size: 13.5px; color: var(--tx2); line-height: 1.55; margin: 0; }\n\n/* Testimonial cards (3-col) */\n.ww-page .test-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; max-width: 1180px; margin: 0 auto; }\n.ww-page .test-card { background: var(--s1); border: 1px solid var(--b1); border-radius: 5px; padding: 24px 22px; display: flex; flex-direction: column; }\n.ww-page .test-stars { color: #FBBF24; margin-bottom: 10px; font-size: 13px; letter-spacing: 1px; }\n.ww-page .test-metric { font-family: var(--fm); font-size: 10px; font-weight: 700; color: var(--ww-green); letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 12px; }\n.ww-page .test-card blockquote { font-size: 13.5px; color: var(--tx); line-height: 1.6; margin: 0 0 18px; flex: 1; }\n.ww-page .test-author { display: flex; align-items: center; gap: 10px; padding-top: 14px; border-top: 1px solid var(--b1); }\n.ww-page .test-avatar { width: 32px; height: 32px; border-radius: 50%; background: var(--green-bg-2); color: var(--ww-green); display: flex; align-items: center; justify-content: center; font-family: var(--fh); font-size: 11px; font-weight: 700; flex-shrink: 0; }\n.ww-page .test-name { font-family: var(--fh); font-size: 13px; font-weight: 500; color: var(--tx); }\n.ww-page .test-role { font-size: 11px; color: var(--tx3); }\n\n/* Logo strip */\n.ww-page .logos { padding: 28px 0; border-top: 1px solid var(--b1); border-bottom: 1px solid var(--b1); max-width: 1180px; margin: 0 auto; }\n.ww-page .logos-label { font-family: var(--fm); font-size: 11px; text-transform: uppercase; letter-spacing: 0.12em; color: var(--tx3); text-align: center; margin: 0 0 18px; }\n/* Customer logos share the engine-grid tile treatment used on the homepage:\n   auto-fill tiles, mark left and name right, same border, radius and hover\n   lift. Was a loose centred flex row, which read as a different c
354omponent from\n   every other tile grid on the site. */\n.ww-page .logos-row { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 10px; max-width: 1100px; margin: 0 auto; }\n.ww-page .logos-row span { display: flex; align-items: center; gap: 10px; padding: 13px 14px; border: 1px solid var(--b1); border-radius: 12px; background: var(--s1); font-family: var(--fh); font-size: 13px; font-weight: 500; color: var(--tx); letter-spacing: -0.005em; line-height: 1.25; transition: border-color 0.2s, transform 0.2s; }\n.ww-page .logos-row span:hover { border-color: var(--b2); transform: translateY(-2px); }\n.ww-page .logos-row span img { width: 22px; height: 22px; border-radius: 4px; object-fit: contain; flex-shrink: 0; }\n@media (max-width: 600px) { .ww-page .logos-row { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); } }\n\n/* Two-column split text+visual */\n.ww-page .two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; max-width: 1180px; margin: 0 auto; align-items: start; }\n.ww-page .two-col h2 { font-family: var(--fh); font-size: 26px; font-weight: 600; line-height: 1.12; letter-spacing: -0.025em; color: var(--tx); margin: 0 0 16px; }\n.ww-page .two-col p { font-size: 14px; color: var(--tx2); line-height: 1.65; margin: 0 0 14px; }\n\n/* Numbered list (solution map) */\n.ww-page .num-list { display: flex; flex-direction: column; gap: 10px; max-width: 880px; margin: 0 auto; }\n.ww-page .num-row { display: grid; grid-template-columns: 36px 1fr; gap: 16px; align-items: start; padding: 18px 20px; background: var(--s1); border: 1px solid var(--b1); border-radius: 5px; transition: border-color 0.25s; }\n.ww-page .num-row:hover { border-color: var(--b2); }\n.ww-page .num-circle { width: 32px; height: 32px; border-radius: 50%; background: var(--green-bg-2); color: var(--ww-green); display: flex; align-items: center; justify-content: center; font-family: var(--fh); font-size: 13px; font-weight: 600; flex-shrink: 0; }\n.ww-page .num-title { font-family: var(--fm); font-size: 10px; font-weight: 700; color: var(--ww-green); letter-spacing: 0.1em; text-transform: uppercase; margin-bottom: 4px; }\n.ww-page .num-body { font-size: 13.5px; color: var(--tx2); line-height: 1.55; }\n\n/* Search input */\n.ww-page .search-wrap { position: relative; max-width: 560px; margin: 4px auto 0; }\n.ww-page .search-wrap i { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); font-size: 16px; color: var(--tx3); pointer-events: none; }\n.ww-page .search-input { width: 100%; background: var(--s1); border: 1px solid var(--b2); border-radius: 5px; padding: 12px 16px 12px 44px; color: var(--tx); font-family: var(--fb); font-size: 14px; transition: border-color 0.2s; }\n.ww-page .search-input::placeholder { color: var(--tx3); }\n.ww-page .search-input:focus { outline: none; border-color: var(--ww-green); }\n\n/* Filter pills */\n.ww-page .pills { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }\n.ww-page .pill { font-family: var(--fm); font-size: 11px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; padding: 8px 14px; border-radius: 999px; border: 1px solid var(--b2); background: transparent; color: var(--tx2); cursor: pointer; transition: all 0.15s; }\n.ww-page .pill:hover { border-color: var(--b3); color: var(--tx); }\n.ww-page .pill.active { background: var(--green-bg-2); border-color: var(--ww-green); color: var(--ww-green); }\n\n/* Featured resource card (wide hero card) */\n.ww-page .res-featured { display: grid; grid-template-columns: 1fr 1fr; gap: 0; max-width: 1180px; margin: 0 auto 18px; background: var(--s1); border: 1px solid var(--b2); border-radius: 5px; overflow: hidden; text-decoration: none; color: inherit; position: relative; transition: border-color 0.25s; }\n.ww-page .res-featured:hover { border-color: var(--b3); }\n.ww-page .res-featured::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(34,197,94,0.5), transparent); z-index: 2; }\n.ww-page .res-featured-img { position: relative; aspect-ratio: 16 / 10; background: var(--s2); overflow: hidden; }\n.ww-page .res-featured-img img { width: 100%; height: 100%; object-fit: cover; display: block; }\n.ww-page .res-featured-img::after { content: ''; position: absolute; inset: 0; background: linear-gradient(135deg, transparent 50%, rgba(20,20,20,0.10) 100%); pointer-events: none; }\n.ww-page .res-featured-body { padding: 36px 38px; display: flex; flex-direction: column; justify-content: center; }\n.ww-page .res-featured .featured-tag { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 999px; background: var(--green-bg); color: var(--ww-green); font-family: var(--fm); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 700; margin-bottom: 14px; align-self: flex-start; }\n.ww-page .res-featured .featured-tag i { font-size: 11px; }\n.ww-page .res-featured h2 { font-family: var(--fh); font-size: clamp(20px, 2.4vw, 28px); font-weight: 600; letter-spacing: -0.02em; line-height: 1.2; margin: 0 0 12px; color: var(--tx); }\n.ww-page .res-featured p { font-size: 14.5px; line-height: 1.6; color: var(--tx2); margin: 0 0 18px; }\n.ww-page .res-featured-meta { display: flex; align-items: center; gap: 16px; font-family: var(--fm); font-size: 11px; color: var(--tx3); letter-spacing: 0.04em; padding-top: 16px; border-top: 1px solid var(--b1); }\n.ww-page .res-featured-meta span { display: inline-flex; align-items: center; gap: 5px; }\n.ww-page .res-featured-meta i { font-size: 13px; color: var(--ww-green); }\n.ww-page .res-featured-cta { margin-left: auto; display: inline-flex; align-items: center; gap: 5px; color: var(--ww-green); font-family: var(--fh); font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; }\n.ww-page .res-featured-cta i { transition: transform 0.15s; }\n.ww-page .res-featured:hover .res-featured-cta i { transform: translateX(3px); }\n@media (max-width: 900px) {\n  .ww-page .res-featured { grid-template-columns: 1fr; }\n  .ww-page .res-featured-body { padding: 26px 22px; }\n}\n\n/* Resource cards */\n.ww-page .res-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; max-width: 1180px; margin: 0 auto; }\n.ww-page .res-card { background: var(--s1); border: 1px solid var(--b1); border-radius: 5px; overflow: hidden; display: flex; flex-direction: column; cursor: pointer; transition: all 0.25s; text-decoration: none; color: inherit; }\n.ww-page .res-card:hover { border-color: var(--b2); transform: translateY(-3px); }\n.ww-page .res-img { position: relative; aspect-ratio: 16 / 9; background: var(--s2); overflow: hidden; }\n.ww-page .res-img img { width: 100%; height: 100%; object-fit: cover; display: block; }\n.ww-page .res-cat { position: absolute; top: 12px; left: 12px; font-family: var(--fm); font-size: 9.5px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; background: var(--bg); color: var(--ww-green); padding: 4px 10px; border-radius: 999px; border: 1px solid var(--b2); }\n.ww-page .res-body { padding: 20px 22px; display: flex; flex-direction: column; flex: 1; }\n.ww-page .res-body h3 { font-family: var(--fh); font-size: 16px; font-weight: 600; margin: 0 0 8px; color: var(--tx); letter-spacing: -0.01em; line-height: 1.3; }\n.ww-page .res-body .res-desc { font-size: 13px; color: var(--tx2); line-height: 1.55; margin: 0 0 16px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; flex: 1; }\n.ww-page .res-meta { display: flex; flex-direction: column; gap: 8px; padding-top: 14px; border-top: 1px solid var(--b1); }\n.ww-page .res-author { display: inline-flex; align-items: center; gap: 6px; font-family: var(--fm); font-size: 11px; color: var(--tx3); }\n.ww-page .res-author:hover { color: var(--ww-green); }\n.ww-page .res-author i { font-size: 12px; }\n.ww-page .res-meta-row { display: flex; align-items: center; justify-content: space-between; font-family: var(--fm); font-size: 11px; color: var(--tx3); }\n.ww-page .res-meta-row .left { display: flex; gap: 12px; }\n.ww-page .res-meta-row span { display: inline-flex; align-items: center; gap: 4px; }\n.ww-page .res-meta-row i { font-size: 12px; }\n.ww-page .res-meta-row .arrow { color: var(--ww-green); font-size: 14px; }\n\n/* Tag chip */\n.ww-page .tag-chip { display: inline-flex; align-items: center; gap: 4px; font-family: var(--fm); font-size: 11px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; padding: 5px 11px; border-radius: 5px; background: #000000; color: #FFFFFF; border: 1px solid #000000; transition: background 0.15s, transform 0.15s; }\n.ww-page .tag-chip:hover { background: #1a1a1a; transform: translateY(-1px); }\n\n/* Author hero card */\n.ww-page .author-card { display: flex; align-items: center; gap: 18px; max-width: 720px; margin: 0 auto; padding: 22px 24px; background: var(--s1); border: 1px solid var(--b1); border-radius: 5px; }\n.ww-page .author-avatar { width: 64px; height: 64px; border-radius: 50%; background: linear-gradient(135deg, var(--s2), var(--s3)); display: flex; align-items: center; justify-content: center; font-family: var(--fh); font-size: 22px; font-weight: 700; color: var(--ww-green); flex-shrink: 0; }\n.ww-page .author-meta h2 { font-family: var(--fh); font-size: 20px; font-weight: 600; margin: 0 0 4px; color: var(--tx); }\n.ww-page .author-meta p { font-size: 13px; color: var(--tx2); margin: 0; }\n\n/* Careers roles list */\n.ww-page .roles-list { display: flex; flex-direction: column; gap: 10px; max-width: 1080px; margin: 0 auto; }\n.ww-page .role-row { display: grid; grid-template-columns: 1fr 220px 24px; gap: 18px; align-items: center; padding: 22px 24px; background: var(--s1); border: 1px solid var(--b1); border-radius: 5px; transition: all 0.2s; text-decoration: none; color: inherit; }\n.ww-page .role-row:hover { border-color: var(--ww-green); transform: translateY(-2px); }\n.ww-page .role-meta { min-width: 0; }\n.ww-page .role-team { display: inline-flex; align-items: center; gap: 6px; padding: 3px 9px; border-radius: 6px; background: var(--green-bg); color: var(--ww-green); font-family: var(--fm); font-size: 9.5px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 8px; }\n.ww-page .role-row h3 { font-family: var(--fh); font-size: 17px; font-weight: 600; letter-spacing: -0.01em; margin: 0 0 4px; color: var(--tx); }\n.ww-page .role-row p { font-size: 13.5px; line-height: 1.5; color: var(--tx2); margin: 0; }\n.ww-page .role-tags { display: flex; flex-direction: column; gap: 6px; align-items: flex-end; flex-shrink: 0; }\n.ww-page .role-tag { display: inline-flex; align-items: center; gap: 5px; font-family: var(--fm); font-size: 10.5px; color: var(--tx2); }\n.ww-page .role-tag i { font-size: 12px; color: var(--ww-green); }\n.ww-page .role-arrow { font-size: 18px; color: var(--tx3); transition: color 0.15s, transform 0.15s; flex-shrink: 0; }\n.ww-page .role-row:hover .role-arrow { color: var(--ww-green); transform: translateX(3px); }\n@media (max-width: 720px) {\n  .ww-page .role-row { grid-template-columns: 1fr; padding: 18px; gap: 12px; }\n  .ww-page .role-tags { flex-direction: row; align-items: flex-start; }\n  .ww-page .role-arrow { display: none; }\n}\n\n/* Author landing hero (full profile) */\n.ww-page .author-hero-card { max-width: 1080px; margin: 0 auto; padding: 40px 44px; background: linear-gradient(135deg, var(--s2) 0%, var(--s1) 100%); border: 1px solid var(--b2); border-radius: 5px; display: grid; grid-template-columns: 96px 1fr; gap: 28px; align-items: center; position: relative; overflow: hidden; }\n.ww-page .author-hero-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(34,197,94,0.5), transparent); }\n.ww-page .author-hero-card::after { content: ''; position: absolute; top: -40%; right: -10%; width: 420px; height: 420px; background: radial-gradient(circle, rgba(34,197,94,0.07) 0%, transparent 60%); pointer-events: none; }\n.ww-page .author-hero-avatar { width: 96px; height: 96px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: var(--fh); font-weight: 700; font-size: 36px; color: #fff; flex-shrink: 0; position: relative; z-index: 2; box-shadow: 0 8px 24px rgba(20,20,20,0.10); }\n.ww-page .author-hero-body { position: relative; z-index: 2; }\n.ww-page .author-hero-body .eyebrow { margin-bottom: 12px; }\n.ww-page .author-hero-name { font-family: var(--fh); font-size: clamp(26px, 3vw, 36px); font-weight: 500; letter-spacing: -0.025em; margin: 0 0 10px; color: var(--tx); display: inline-flex; align-items: center; gap: 8px; }\n.ww-page .author-hero-name i { font-size: 22px; color: #60A5FA; }\n.ww-page .author-hero-bio { font-size: 15px; line-height: 1.6; color: var(--tx2); margin: 0 0 22px; max-width: 680px; }\n.ww-page .author-hero-stats { display: flex; gap: 24px; flex-wrap: wrap; padding-top: 18px; border-top: 1px solid var(--b1); }\n.ww-page .ahs-cell { min-width: 0; }\n.ww-page .ahs-v { font-family: var(--fh); font-size: 26px; font-weight: 600; letter-spacing: -0.02em; color: var(--ww-green); line-height: 1; margin-bottom: 4px; }\n.ww-page .ahs-l { font-family: var(--fm); font-size: 10px; color: var(--tx3); letter-spacing: 0.08em; text-transform: uppercase; }\n@media (max-width: 720px) {\n  .ww-page .author-hero-card { grid-template-columns: 1fr; padding: 28px 24px; text-align: left; gap: 18px; }\n  .ww-page .author-hero-avatar { width: 72px; height: 72px; font-size: 28px; }\n  .ww-page .author-hero-name { font-size: 24px; }\n  .ww-page .author-hero-stats { gap: 18px; }\n  .ww-page .ahs-v { font-size: 22px; }\n}
354\n\n/* Article (long-form) */\n.ww-page .article-hero { max-width: 760px; margin: 0 auto; padding-top: 16px; text-align: center; }\n.ww-page .article-hero h1 { font-family: var(--fh); font-size: clamp(28px, 4vw, 42px); font-weight: 600; line-height: 1.12; letter-spacing: -0.025em; color: var(--tx); margin: 12px 0 16px; }\n.ww-page .article-hero .article-meta { display: inline-flex; align-items: center; gap: 16px; flex-wrap: wrap; justify-content: center; font-family: var(--fm); font-size: 11px; color: var(--tx3); letter-spacing: 0.06em; text-transform: uppercase; margin-bottom: 24px; }\n.ww-page .article-hero .article-meta span { display: inline-flex; align-items: center; gap: 6px; }\n.ww-page .article-hero .article-meta i { font-size: 13px; color: var(--ww-green); }\n.ww-page .article-cover { max-width: 960px; margin: 0 auto; aspect-ratio: 16 / 9; border-radius: 5px; overflow: hidden; border: 1px solid var(--b2); background: var(--s1); }\n.ww-page .article-cover img { width: 100%; height: 100%; object-fit: cover; display: block; }\n.ww-page .article-body { max-width: 720px; margin: 0 auto; color: var(--tx); font-size: 16px; line-height: 1.7; }\n.ww-page .article-body h2 { font-family: var(--fh); font-size: 26px; font-weight: 600; margin: 40px 0 14px; letter-spacing: -0.02em; color: var(--tx); }\n.ww-page .article-body h3 { font-family: var(--fh); font-size: 20px; font-weight: 600; margin: 28px 0 10px; letter-spacing: -0.01em; color: var(--tx); }\n.ww-page .article-body p { color: var(--tx2); margin: 0 0 18px; }\n.ww-page .article-body a { color: var(--ww-green); text-decoration: underline; text-underline-offset: 3px; }\n.ww-page .article-body ul, .ww-page .article-body ol { margin: 0 0 18px; padding-left: 22px; color: var(--tx2); }\n.ww-page .article-body ul { list-style: disc; }\n.ww-page .article-body ol { list-style: decimal; }\n.ww-page .article-body li { margin-bottom: 6px; }\n.ww-page .article-body blockquote { border-left: 3px solid var(--ww-green); padding: 4px 0 4px 18px; margin: 22px 0; color: var(--tx); font-style: italic; }\n.ww-page .article-body code { font-family: var(--fm); font-size: 13px; background: var(--s2); border: 1px solid var(--b1); padding: 2px 6px; border-radius: 4px; color: var(--ww-green); }\n.ww-page .article-body pre { background: var(--s1); border: 1px solid var(--b1); border-radius: 5px; padding: 18px; overflow-x: auto; margin: 0 0 22px; }\n.ww-page .article-body pre code { background: none; border: none; padding: 0; color: var(--tx); }\n.ww-page .article-body img { max-width: 100%; border-radius: 5px; margin: 22px 0; }\n.ww-page .article-tags { display: flex; gap: 6px; flex-wrap: wrap; max-width: 720px; margin: 32px auto 0; align-items: center; }\n.ww-page .article-tags .tags-label { display: inline-flex; align-items: center; gap: 6px; padding: 5px 11px; border: 1px solid var(--b2); border-radius: 5px; font-family: var(--fm); font-size: 9.5px; font-weight: 700; color: var(--tx2); text-transform: uppercase; letter-spacing: 0.12em; }\n.ww-page .article-tags .tags-label::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: var(--tx); }\n\n/* Article cover with green gradient top accent */\n.ww-page .article-cover-card { max-width: 960px; margin: 0 auto; aspect-ratio: 16 / 9; border-radius: 5px; overflow: hidden; border: 1px solid var(--b2); background: var(--s1); position: relative; box-shadow: none; }\n.ww-page .article-cover-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(34,197,94,0.5), transparent); z-index: 2; }\n.ww-page .article-cover-card img { width: 100%; height: 100%; object-fit: cover; display: block; }\n\n/* Article meta row in hero */\n.ww-page .article-meta-row { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 6px; justify-content: center; margin: 0 auto 24px; padding: 6px 14px; border: 1px solid var(--b2); border-radius: 999px; background: var(--s1); font-family: var(--fm); font-size: 11px; color: var(--tx2); letter-spacing: 0.04em; }\n.ww-page .article-meta-row span, .ww-page .article-meta-row a { display: inline-flex; align-items: center; gap: 5px; color: inherit; }\n.ww-page .article-meta-row a:hover { color: var(--ww-green); }\n.ww-page .article-meta-row .sep { color: var(--tx4); }\n.ww-page .article-meta-row i { font-size: 12px; color: var(--ww-green); }\n\n/* Editorial article + sticky \"On this page\" TOC layout */\n.ww-page .article-layout { max-width: 1080px; margin: 0 auto; padding: 0 32px; display: grid; grid-template-columns: 236px minmax(0, 1fr); gap: 64px; align-items: start; }\n.ww-page .article-main { min-width: 0; max-width: 760px; }\n/* TOC sits in the left rail (comes after the main content in the DOM). */\n/* align-self: stretch overrides the grid's align-items:start so the TOC cell\n   fills the full row height, giving the sticky inner room to travel. */\n.ww-page .article-layout .article-toc { order: -1; align-self: stretch; }\n.ww-page .article-layout .article-hero { max-width: none; margin: 0; padding-top: 0; text-align: left; }\n.ww-page .article-layout .article-hero .eyebrow { margin-bottom: 14px; }\n.ww-page .article-layout .article-hero h1 { margin: 6px 0 16px; }\n.ww-page .article-layout .article-cover-card { max-width: none; margin: 24px 0 0; }\n.ww-page .article-layout .article-body { max-width: none; margin: 0; }\n.ww-page .article-layout .article-tags { max-width: none; margin-left: 0; margin-right: 0; }\n.ww-page .article-hero-desc { font-size: 18px; color: var(--tx2); line-height: 1.6; margin: 0 0 22px; }\n.ww-page .article-meta-left { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; font-family: var(--fm); font-size: 12px; color: var(--tx2); letter-spacing: 0.02em; margin: 0; }\n.ww-page .article-meta-left a, .ww-page .article-meta-left span { display: inline-flex; align-items: center; gap: 6px; color: inherit; }\n.ww-page .article-meta-left a:hover { color: var(--ww-green); }\n.ww-page .article-meta-left .sep { color: var(--tx4); }\n.ww-page .article-meta-left i { font-size: 13px; color: var(--ww-green); }\n\n.ww-page .article-toc { position: relative; }\n.ww-page .article-toc-inner { position: sticky; top: 100px; max-height: calc(100vh - 130px); overflow-y: auto; }\n.ww-page .article-toc-head { display: block; font-family: var(--fm); font-size: 10px; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; color: var(--tx); margin: 0 0 14px; padding-left: 15px; }\n.ww-page .article-toc nav ul { display: flex; flex-direction: column; gap: 1px; border-left: 1px solid var(--b2); }\n.ww-page .article-toc nav a { display: block; padding: 6px 0 6px 15px; margin-left: -1px; border-left: 2px solid transparent; font-size: 12.5px; line-height: 1.45; color: var(--tx2); transition: color 0.15s, border-color 0.15s; }\n.ww-page .article-toc nav li.sub a { padding-left: 28px; font-size: 12px; }\n.ww-page .article-toc nav a:hover { color: var(--tx); }\n.ww-page .article-toc nav a.active { color: var(--tx); border-left-color: var(--tx); font-weight: 600; }\n@media (max-width: 1024px) {\n  .ww-page .article-layout { grid-template-columns: 1fr; padding: 0 24px; gap: 0; }\n  .ww-page .article-toc { display: none; }\n}\n@media (max-width: 720px) {\n  .ww-page .article-layout { padding: 0 20px; }\n  .ww-page .article-hero-desc { font-size: 16px; }\n}\n\n/* Key highlights (Key takeaways) card */\n.ww-page .kh-card { background: var(--s1); border: 1px solid var(--b2); border-radius: 5px; padding: 26px 28px 22px; margin: 0 0 32px; position: relative; overflow: hidden; }\n.ww-page .kh-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(34,197,94,0.5), transparent); }\n.ww-page .kh-tag { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 6px; background: var(--green-bg); color: var(--ww-green); font-family: var(--fm); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 700; margin-bottom: 16px; }\n.ww-page .kh-list { display: flex; flex-direction: column; gap: 12px; }\n.ww-page .kh-item { display: flex; gap: 14px; align-items: flex-start; font-size: 14.5px; line-height: 1.55; color: var(--tx); }\n.ww-page .kh-num { flex-shrink: 0; width: 24px; height: 24px; border-radius: 50%; background: var(--green-bg-2); color: var(--ww-green); display: flex; align-items: center; justify-content: center; font-family: var(--fh); font-size: 12px; font-weight: 700;
354 margin-top: 1px; }\n\n/* Read in your favourite LLM */\n.ww-page .read-in-llm { background: var(--s1); border: 1px solid var(--b2); border-radius: 5px; padding: 22px 24px; margin: 0 0 32px; position: relative; overflow: hidden; }\n.ww-page .read-in-llm::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(96,165,250,0.5), transparent); }\n.ww-page .ril-head { display: flex; flex-direction: column; gap: 6px; margin-bottom: 16px; }\n.ww-page .ril-tag { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 6px; background: rgba(96,165,250,0.10); color: #60A5FA; font-family: var(--fm); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 700; align-self: flex-start; }\n.ww-page .ril-sub { font-size: 13px; color: var(--tx2); line-height: 1.5; }\n.ww-page .ril-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }\n.ww-page .ril-btn { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid var(--b1); border-radius: 5px; background: var(--s2); color: var(--tx); font-family: var(--fh); font-size: 13px; font-weight: 500; transition: all 0.15s; text-decoration: none; min-width: 0; cursor: pointer; }\n.ww-page .ril-btn:hover { border-color: var(--b3); background: var(--s3); transform: translateY(-1px); }\n.ww-page .ril-btn.ril-btn-active { border-color: var(--ww-green); background: var(--green-bg); }\n/* Neutral tile now that it holds a real brand favicon rather than a white\n   glyph on a brand-coloured square: the logos carry their own colour, and a\n   coloured backing would fight them — Google's four-colour mark on a blue\n   tile especially. Same surface treatment as the engines wall. */\n.ww-page .ril-icon { width: 28px; height: 28px; border-radius: 7px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; background: var(--s3); border: 1px solid var(--b1); overflow: hidden; }\n.ww-page .ril-icon img { width: 20px; height: 20px; object-fit: contain; border-radius: 3px; }\n.ww-page .ril-icon-fallback { font-family: var(--fh); font-size: 13px; font-weight: 600; color: var(--tx2); }\n.ww-page .ril-name { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }\n.ww-page .ril-arrow { font-size: 14px; color: var(--tx3); flex-shrink: 0; transition: color 0.15s, transform 0.15s; }\n.ww-page .ril-btn:hover .ril-arrow { color: var(--ww-green); transform: translate(2px, -2px); }\n.ww-page .ril-btn.ril-btn-active .ril-arrow { color: var(--ww-green); }\n\n/* Confirmation banner */\n.ww-page .ril-banner { display: flex; align-items: flex-start; gap: 12px; padding: 14px 16px; margin: 0 0 14px; background: var(--green-bg); border: 1px solid rgba(34,197,94,0.30); border-radius: 5px; animation: ril-banner-in 0.25s ease-out; }\n@keyframes ril-banner-in { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } }\n.ww-page .ril-banner-fail { background: rgba(251,191,36,0.08); border-color: rgba(251,191,36,0.3); }\n.ww-page .ril-banner-icon { width: 26px; height: 26px; border-radius: 50%; background: var(--ww-green); color: var(--bg); display: flex; align-items: center; justify-content: center; font-size: 14px; flex-shrink: 0; }\n.ww-page .ril-banner-fail .ril-banner-icon { background: #FBBF24; color: #1F1300; }\n.ww-page .ril-banner-body { display: flex; flex-direction: column; gap: 4px; font-size: 13px; line-height: 1.5; color: var(--tx); flex: 1; min-width: 0; }\n.ww-page .ril-banner-body strong { font-family: var(--fh); font-size: 13.5px; font-weight: 600; color: var(--tx); }\n.ww-page .ril-banner-body span { color: var(--tx2); }\n.ww-page .ril-banner-body kbd { font-family: var(--fm); font-size: 11px; font-weight: 700; padding: 2px 7px; border: 1px solid var(--b3); border-bottom-width: 2px; border-radius: 5px; background: var(--s2); color: var(--tx); margin: 0 2px; }\n.ww-page .ril-banner-fallback { margin-top: 8px; width: 100%; min-height: 80px; padding: 10px 12px; border: 1px solid var(--b2); border-radius: 5px; background: var(--s1); color: var(--tx); font-family: var(--fm); font-size: 12px; line-height: 1.5; resize: vertical; }\n.ww-page .ril-banner-link { display: inline-flex; align-items: center; gap: 6px; margin-top: 10px; padding: 8px 14px; background: var(--ww-green); color: var(--bg); border-radius: 5px; font-family: var(--fh); font-size: 13px; font-weight: 600; text-decoration: none; align-self: flex-start; transition: background 0.15s, transform 0.15s; }\n.ww-page .ril-banner-link:hover { background: rgba(34,197,94,0.85); transform: translateY(-1px); }\n.ww-page .ril-banner-link i { font-size: 14px; }\n.ww-page .ril-banner-fallback:focus { outline: 1px solid var(--ww-green); outline-offset: 0; }\n\n@media (max-width: 720px) {\n  .ww-page .read-in-llm { padding: 18px; }\n  .ww-page .ril-grid { grid-template-columns: 1fr 1fr; }\n  .ww-page .ril-name { font-size: 12.5px; }\n  .ww-page .ril-banner { padding: 12px 14px; }\n}\n@media (max-width: 420px) {\n  .ww-page .ril-grid { grid-template-columns: 1fr; }\n}\n\n/* Inline mid-article CTA */\n.ww-page .inline-cta { display: grid; grid-template-columns: 1fr auto; gap: 20px; align-items: center; padding: 26px 28px; margin: 36px 0; background: linear-gradient(135deg, var(--s2) 0%, var(--s1) 100%); border: 1px solid var(--b2); border-radius: 5px; position: relative; overflow: hidden; }\n.ww-page .inline-cta::before { content: ''; position: absolute; top: -40%; right: -10%; width: 320px; height: 320px; background: radial-gradient(circle, rgba(34,197,94,0.08) 0%, transparent 60%); pointer-events: none; }\n.ww-page .inline-cta-body { position: relative; z-index: 2; }\n.ww-page .inline-cta-tag { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 6px; background: var(--green-bg); color: var(--ww-green); font-family: var(--fm); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 700; margin-bottom: 10px; }\n.ww-page .inline-cta h3 { font-family: var(--fh); font-size: 18px; font-weight: 600; letter-spacing: -0.015em; line-height: 1.3; color: var(--tx); margin: 0 0 6px; }\n.ww-page .inline-cta p { font-size: 13.5px; color: var(--tx2); line-height: 1.5; margin: 0; }\n.ww-page .inline-cta .btn { position: relative; z-index: 2; flex-shrink: 0; }\n@media (max-width: 720px) {\n  .ww-page .inline-cta { grid-template-columns: 1fr; padding: 22px; }\n  .ww-page .inline-cta .btn { width: 100%; justify-content: center; }\n}\n\n/* Author card (testimonial-style avatar gradient) */\n.ww-page .author-card-new { display: flex; gap: 16px; align-items: flex-start; padding: 24px 26px; margin-top: 32px; background: var(--s1); border: 1px solid var(--b1); border-radius: 5px; text-decoration: none; transition: border-color 0.25s; }\n.ww-page .author-card-new:hover { border-color: var(--b2); }\n.ww-page .author-card-new .author-avatar-grad { width: 52px; height: 52px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: var(--fh); font-weight: 700; font-size: 18px; color: #fff; flex-shrink: 0; background: linear-gradient(135deg, #22C55E 0%, #60A5FA 100%); }\n.ww-page .author-card-new-body { flex: 1; min-width: 0; }\n.ww-page .author-card-new-tag { font-family: var(--fm); font-size: 9.5px; font-weight: 700; color: var(--tx3); text-transform: uppercase; letter-spacing: 0.12em; margin-bottom: 8px; display: block; }\n.ww-page .author-card-new h4 { font-family: var(--fh); font-size: 16px; font-weight: 600; color: var(--tx); margin: 0 0 2px; display: inline-flex; align-items: center; gap: 6px; }\n.ww-page .author-card-new h4 i { font-size: 14px; color: #60A5FA; }\n.ww-page .author-card-new .role { font-family: var(--fm); font-size: 10.5px; color: var(--ww-green); text-transform: uppercase; letter-spacing: 0.08em; margin: 0 0 10px; }\n.ww-page .author-card-new .bio { font-size: 13px; color: var(--tx2); line-height: 1.6; margin: 0 0 12px; }\n.ww-page .author-card-new .author-link { display: inline-flex; align-items: center; gap: 4px; font-family: var(--fh); font-size: 12px; font-weight: 600; color: var(--ww-green); text-transform: uppercase; letter-spacing: 0.04em; }
354\n.ww-page .author-card-new .author-link i { font-size: 12px; transition: transform 0.15s; }\n.ww-page .author-card-new:hover .author-link i { transform: translateX(3px); }\n\n.ww-page .show-more { text-align: center; margin-top: 28px; }\n.ww-page .show-more button { background: transparent; color: var(--tx); border: 1px solid var(--b3); border-radius: 5px; padding: 11px 20px; font-family: var(--fh); font-size: 13px; font-weight: 600; display: inline-flex; align-items: center; gap: 8px; transition: all 0.2s; }\n.ww-page .show-more button:hover { border-color: var(--ww-green); color: var(--ww-green); }\n.ww-page .show-more button i { transition: transform 0.2s; }\n.ww-page .show-more button.open i { transform: rotate(180deg); }\n\n.ww-page .cta-wrap { padding: 56px 32px 96px; }\n.ww-page .cta-section { padding: 56px 40px; max-width: 1080px; margin: 0 auto; border: 1px solid var(--b2); border-radius: 5px; text-align: center; position: relative; overflow: hidden; background: linear-gradient(180deg, var(--s2) 0%, var(--s1) 100%); }\n.ww-page .cta-section::before { content: ''; position: absolute; top: -50%; left: 50%; transform: translateX(-50%); width: 600px; height: 600px; background: radial-gradient(circle, rgba(34,197,94,0.06) 0%, transparent 60%); pointer-events: none; }\n.ww-page .cta-section .eyebrow { margin-bottom: 14px; }\n.ww-page .cta-section h2 { font-family: var(--fh); font-size: clamp(24px, 2.8vw, 34px); font-weight: 600; letter-spacing: -0.025em; margin: 0 0 12px; position: relative; z-index: 2; color: var(--tx); line-height: 1.1; }\n.ww-page .cta-section p { font-size: 15px; color: var(--tx2); margin: 0 auto 24px; max-width: 520px; position: relative; z-index: 2; font-weight: 400; line-height: 1.55; }\n.ww-page .cta-btns { display: flex; justify-content: center; gap: 10px; position: relative; z-index: 2; flex-wrap: wrap; }\n.ww-page .cta-helper { font-family: var(--fm); font-size: 11px; color: var(--tx3); margin-top: 16px; letter-spacing: 0.06em; text-transform: uppercase; position: relative; z-index: 2; }\n\n.ww-page .grid-bg { position: absolute; inset: 0; pointer-events: none; z-index: 0; background-image: linear-gradient(rgba(17,17,17,0.015) 1px, transparent 1px), linear-gradient(90deg, rgba(17,17,17,0.015) 1px, transparent 1px); background-size: 80px 80px; opacity: 0.6; }\n\n@media (max-width: 1024px) {\n  :root { --sp-sec: 48px; }\n  .ww-page .crumbs { padding: 88px 24px 0; }\n  .ww-page .hero { padding: 32px 24px 48px; }\n  .ww-page .hero-inner.split { grid-template-columns: 1fr; gap: 32px; align-items: stretch; }\n  .ww-page .hero-inner.split h1 { max-width: 100%; }\n  .ww-page .card-grid, .ww-page .card-grid.cols-4 { grid-template-columns: repeat(2, 1fr); }\n  .ww-page .feature-list { grid-template-columns: repeat(2, 1fr); }\n  .ww-page .related { grid-template-columns: repeat(2, 1fr); }\n  .ww-page .tiers, .ww-page .test-grid, .ww-page .res-grid { grid-template-columns: repeat(2, 1fr); }\n  .ww-page .two-col { grid-template-columns: 1fr; gap: 28px; }\n  .ww-page .container, .ww-page .container-narrow { padding: 0 24px; }\n  .ww-page .cta-wrap { padding: 56px 24px 96px; }\n  .ww-page .grid-bg { background-size: 50px 50px; }\n  .ww-page .compare-wrap { overflow-x: auto; }\n  .ww-page .ct-head, .ww-page .ct-row { min-width: 700px; }\n  .ww-page .article-layout { grid-template-columns: 1fr !important; }\n}\n@media (max-width: 720px) {\n  :root { --sp-sec: 40px; }\n  .ww-page .crumbs { padding: 96px 20px 0; font-size: 10px; }\n  .ww-page .crumbs .sep { margin: 0 8px; }\n  .ww-page .hero { padding: 28px 20px 40px; }\n  .ww-page .hero h1 { font-size: clamp(26px, 7vw, 34px); }\n  .ww-page .hero-sub { font-size: 15px; margin-bottom: 22px; }\n  .ww-page .hero-stat-panel { padding: 20px 20px 6px; }\n  .ww-page .hsp-val { font-size: 22px; }\n  .ww-page .hero-ctas { flex-direction: column; align-items: stretch; }\n  .ww-page .hero-ctas .btn { width: 100%; }\n  .ww-page .card-grid, .ww-page .card-grid.cols-4, .ww-page .feature-list, .ww-page .related, .ww-page .tiers, .ww-page .test-grid, .ww-page .res-grid { grid-template-columns: 1fr; }\n  .ww-page .author-card { flex-direction: column; text-align: center; gap: 12px; }\n  .ww-page .article-body { font-size: 15px; }\n  .ww-page .form-row { grid-template-columns: 1fr; }\n  .ww-page .timeline-item { grid-template-columns: 60px 1fr; gap: 14px; }\n  .ww-page .sec-head { margin-bottom: 28px; }\n  .ww-page .sec-head h2 { font-size: clamp(22px, 5.5vw, 28px); }\n  .ww-page .sec-head p { font-size: 14px; }\n  .ww-page .jt-head, .ww-page .jt-row { grid-template-columns: 1.4fr 0.7fr 0.7fr; padding: 12px 16px; gap: 8px; }\n  .ww-page .jt-head \u003e :nth-child(4), .ww-page .jt-row \u003e :nth-child(4) { display: none; }\n  .ww-page .jt-task { font-size: 13px; }\n  .ww-page .cta-wrap { padding: 40px 20px 64px; }\n  .ww-page .cta-section { padding: 40px 22px; border-radius: 5px; }\n  .ww-page .cta-section h2 { font-size: clamp(22px, 5.5vw, 28px); }\n  .ww-page .cta-btns { flex-direction: column; align-items: stretch; }\n  .ww-page .cta-btns .btn { width: 100%; }\n  .ww-page .container, .ww-page .container-narrow { padding: 0 20px; }\n  .ww-page .card, .ww-page .sol-card { padding: 20px 18px; }\n}\n@media (max-width: 420px) {\n  :root { --sp-sec: 32px; }\n  .ww-page .crumbs { padding: 96px 16px 0; font-size: 9.5px; letter-spacing: 0.06em; }\n  .ww-page .crumbs .sep { margin: 0 6px; }\n  .ww-page .hero { padding: 24px 16px 32px; }\n  .ww-page .container, .ww-page .container-narrow { padding: 0 16px; }\n  .ww-page .cta-section { padding: 32px 18px; }\n  .ww-page .cta-wrap { padding: 32px 16px 48px; }\n  .ww-page .faq-item summary { font-size: 14px; padding: 16px 2px; }\n  .ww-page .faq-item .faq-body { font-size: 13.5px; }\n  .ww-page .jt-head, .ww-page .jt-row { padding: 10px 12px; }\n  .ww-page .jt-task { font-size: 12.5px; }\n  .ww-page .hsp-val { font-size: 20px; }\n  .ww-page .hsp-lbl { font-size: 11px; }\n}\n\n/* Heading size, weight and tracking are owned by the enforced scale in\n   app/globals.css, which ports the platform's values and wins here through\n   !important. The per-section sizes declared above are therefore inert, and\n   kept so the old scale can be restored from one place. Casing only here. */\n.ww-page h1, .ww-page h2, .ww-page h3, .ww-page h4, .ww-
354page h5 { text-transform: capitalize; }\n/* Quotes and brand logos stay light / as-written. */\n.ww-page .faq-item summary { font-weight: 700 !important; }\n.ww-page .test-quote, .ww-page .case-quote, .ww-page .test-logo, .ww-page .case-logo { font-weight: 400 !important; text-transform: none; }\n/* Long-form article prose keeps readable, sentence-case headings. */\n.ww-page .article-body h2, .ww-page .article-body h3 { font-weight: 600 !important; text-transform: none; letter-spacing: -0.01em; }\n.ww-page .feature-list .feat, .ww-page .jt-task { font-weight: 600; }\n\n/* Alternating gradient / white section backgrounds (colour-varied) */\n.ww-page-tinted section { background-repeat: no-repeat; }\n.ww-page-tinted section:nth-of-type(even) { background-image: none; }\n.ww-page-tinted section:nth-of-type(10n+1) { background-image: radial-gradient(60% 70% at 8% -8%, rgba(34,197,94,0.13), transparent 60%), radial-gradient(55% 65% at 96% 108%, rgba(34,197,94,0.07), transparent 62%); }\n.ww-page-tinted section:nth-of-type(10n+3) { background-image: radial-gradient(60% 70% at 92% -8%, rgba(96,165,250,0.13), transparent 60%), radial-gradient(55% 65% at 4% 108%, rgba(96,165,250,0.07), transparent 62%); }\n.ww-page-tinted section:nth-of-type(10n+5) { background-image: radial-gradient(60% 70% at 10% 108%, rgba(167,139,250,0.13), transparent 60%), radial-gradient(55% 65% at 90% -8%, rgba(167,139,250,0.07), transparent 62%); }\n.ww-page-tinted section:nth-of-type(10n+7) { background-image: radial-gradient(62% 72% at 88% 108%, rgba(251,191,36,0.11), transparent 60%), radial-gradient(55% 65% at 6% -8%, rgba(251,191,36,0.06), transparent 62%); }\n.ww-page-tinted section:nth-of-type(10n+9) { background-image: radial-gradient(62% 60% at 50% -10%, rgba(34,211,238,0.11), transparent 60%), radial-gradient(55% 60% at 50% 110%, rgba(34,211,238,0.06), transparent 62%); }\n.ww-page-tinted .hero.hero-mesh-on { background-image: none !important; }\n/* Dark mode: middle sections on plain black (the washes only suit light mode). */\n.dark .ww-page-tinted section:not(.hero) { background-image: none; background-color: var(--bg); }\n      "])</script>
354<script>self.__next_f.push([1,"6:[[\"$\",\"style\",null,{\"children\":\"$1a\"}],\"$L1b\"]\n"])</script>
354<script>self.__next_f.push([1,"1c:I[96868,[\"/_next/static/chunks/020n.0cgpzp.c.js?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t\",\"/_next/static/chunks/0-6gi10qv0306.js?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t\",\"/_next/static/chunks/1786s1k-zywe5.js?dpl=dpl_ABzGf1Evfr3T8NFa56SCG8Cs9u8t\"],\"\"]\n1d:Tda0,"])</script>
354<script>self.__next_f.push([1,"\n        .ww-final-cta { padding: 56px 32px 96px; }\n        .ww-final-cta-card {\n          max-width: 1080px; margin: 0 auto; padding: 56px 40px;\n          border: 1px solid #E5E5E5; border-radius: 5px;\n          background: linear-gradient(180deg, #FAFAFA 0%, #F5F5F5 100%);\n          text-align: center; position: relative; overflow: hidden;\n        }\n        .ww-final-cta-card::before {\n          content: ''; position: absolute; top: -50%; left: 50%; transform: translateX(-50%);\n          width: 600px; height: 600px; pointer-events: none;\n          background: radial-gradient(circle, rgba(34,197,94,0.06) 0%, transparent 60%);\n        }\n        .ww-final-cta-card h2 {\n          font-family: var(--sans, 'Inter', system-ui, sans-serif);\n          font-size: clamp(24px, 2.8vw, 34px); font-weight: 600; letter-spacing: -0.025em;\n          text-transform: capitalize; color: #0A0A0A; line-height: 1.1;\n          margin: 0 0 12px; position: relative; z-index: 2;\n        }\n        .ww-final-cta-desc {\n          font-family: var(--sans, 'Inter', system-ui, sans-serif);\n          font-size: 15px; line-height: 1.55; color: #717171;\n          max-width: 560px; margin: 0 auto 24px; position: relative; z-index: 2;\n        }\n        .ww-final-cta-btns {\n          display: flex; justify-content: center; gap: 10px; flex-wrap: wrap;\n          position: relative; z-index: 2;\n        }\n        .ww-final-cta .ww-final-cta-primary, .ww-final-cta .ww-final-cta-secondary {\n          display: inline-flex; align-items: center; justify-content: center; gap: 8px;\n          font-family: var(--sans, 'Inter', system-ui, sans-serif);\n          font-size: 14px; font-weight: 700; letter-spacing: -0.005em;\n          padding: 12px 24px; border-radius: 5px; text-decoration: none;\n          transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease, border-color 0.15s ease;\n        }\n        /* Compound selectors so the button colours beat the shell's\n           .ww-page a color:inherit (0,0,1,1) rule that would otherwise\n           render the primary label in the dark page text colour. */\n        .ww-final-cta .ww-final-cta-primary {\n          color: #FFFFFF; background: #000000; border: 1px solid #000000;\n          box-shadow: 4px 4px 0 rgba(34,197,94,0.18);\n        }\n        .ww-final-cta .ww-final-cta-primary i { color: #FFFFFF; }\n        .ww-final-cta .ww-final-cta-primary:hover { color: #FFFFFF; background: #1a1a1a; box-shadow: 6px 6px 0 rgba(34,197,94,0.18); transform: translate(-2px,-2px); }\n        .ww-final-cta .ww-final-cta-primary:active { color: #FFFFFF; box-shadow: 2px 2px 0 rgba(34,197,94,0.18); transform: translate(1px,1px); }\n        .ww-final-cta .ww-final-cta-secondary {\n          color: #0A0A0A; background: transparent; border: 1px solid #E5E5E5;\n        }\n        .ww-final-cta .ww-final-cta-secondary:hover { background: #F5F5F5; border-color: #A1A1A1; }\n        .ww-final-cta-helper {\n          font-family: var(--mono, 'Geist Mono', ui-monospace, monospace);\n          font-size: 11px; color: #717171; margin: 16px 0 0; letter-spacing: 0.06em;\n          text-transform: uppercase; position: relative; z-index: 2;\n        }\n        @media (max-width: 720px) {\n          .ww-final-cta { padding: 40px 20px 64px; }\n          .ww-final-cta-card { padding: 40px 22px; }\n          .ww-final-cta-btns { flex-direction: column; align-items: stretch; }\n          .ww-final-cta-primary, .ww-final-cta-secondary { width: 100%; }\n        }\n      "])</script>
354<script>self.__next_f.push([1,"1b:[\"$\",\"div\",null,{\"className\":\"ww-page\",\"children\":[[\"$\",\"div\",null,{\"className\":\"grid-bg\",\"aria-hidden\":\"true\"}],[[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"CollectionPage\\\",\\\"url\\\":\\\"https://www.writeworks.ai/resources/blogs\\\",\\\"name\\\":\\\"Blog Posts: AEO \u0026 AI Search Insights\\\",\\\"description\\\":\\\"Latest thinking on AI search visibility, AEO, citation tracking, and the content engine behind every answer engine.\\\",\\\"isPartOf\\\":{\\\"@type\\\":\\\"WebSite\\\",\\\"name\\\":\\\"WriteWorks\\\",\\\"url\\\":\\\"https://www.writeworks.ai\\\"}}\"}}],[\"$\",\"nav\",null,{\"className\":\"crumbs crumbs-center\",\"aria-label\":\"Breadcrumb\",\"children\":[[\"$\",\"$L1c\",null,{\"href\":\"/\",\"children\":\"Home\"}],[\"$\",\"span\",null,{\"className\":\"sep\",\"children\":\"/\"}],[\"$\",\"$L1c\",null,{\"href\":\"/resources\",\"children\":\"Resources\"}],[\"$\",\"span\",null,{\"className\":\"sep\",\"children\":\"/\"}],[\"$\",\"span\",null,{\"className\":\"current\",\"children\":\"Blog posts\"}]]}],[\"$\",\"section\",null,{\"className\":\"hero\",\"children\":[[\"$\",\"div\",null,{\"className\":\"hero-glow\",\"aria-hidden\":\"true\"}],[\"$\",\"div\",null,{\"className\":\"hero-inner center\",\"children\":[[\"$\",\"span\",null,{\"className\":\"eyebrow\",\"children\":[[\"$\",\"span\",null,{\"className\":\"dot\"}],\" \",\"Blog\"]}],[\"$\",\"h1\",null,{\"children\":\"Blog Posts: AEO \u0026 AI Search Insights\"}],[\"$\",\"p\",null,{\"className\":\"hero-sub\",\"children\":\"Latest thinking on AI search visibility, AEO, citation tracking, and the content engine behind every answer engine.\"}]]}]]}],[\"$\",\"section\",null,{\"className\":\"section\",\"children\":[\"$\",\"div\",null,{\"className\":\"container\",\"children\":[\"$\",\"div\",null,{\"style\":{\"textAlign\":\"center\",\"padding\":\"60px 0\"},\"children\":[[\"$\",\"p\",null,{\"style\":{\"color\":\"var(--tx2)\",\"fontSize\":15,\"marginBottom\":16},\"children\":[\"No \",\"blog posts\",\" available yet.\"]}],[\"$\",\"$L1c\",null,{\"href\":\"/resources\",\"className\":\"btn btn-secondary\",\"children\":\"View all resources\"}]]}]}]}],[\"$\",\"section\",null,{\"className\":\"ww-final-cta\",\"children\":[[\"$\",\"div\",null,{\"className\":\"ww-final-cta-card\",\"children\":[[\"$\",\"h2\",null,{\"children\":\"Stop reading. Start winning AI search.\"}],[\"$\",\"p\",null,{\"className\":\"ww-final-cta-desc\",\"children\":\"See exactly where you stand on ChatGPT, Claude, Gemini, and Perplexity, then ship the content that earns the citation.\"}],[\"$\",\"div\",null,{\"className\":\"ww-final-cta-btns\",\"children\":[[\"$\",\"a\",null,{\"href\":\"https://platform.writeworks.ai/sign-up\",\"className\":\"ww-final-cta-primary\",\"children\":[\"Start free trial\",\" \",[\"$\",\"i\",null,{\"className\":\"ti ti-arrow-right\",\"aria-hidden\":\"true\"}]]}],[\"$\",\"$L1c\",null,{\"href\":\"/pricing\",\"className\":\"ww-final-cta-secondary\",\"children\":\"See pricing\"}]]}],\"$undefined\"]}],[\"$\",\"style\",null,{\"children\":\"$1d\"}]]}]]]}]\n"])</script>
354<div hidden id="S:2"><style>
355:root {
356  --bg: #FFFFFF;
357  --s1: #FAFAFA;
358  --s2: #F5F5F5;
359  --s3: #EFEFEF;
360  --s4: #E5E5E5;
361  --b1: rgba(10,10,10,0.06);
362  --b2: rgba(10,10,10,0.10);
363  --b3: rgba(10,10,10,0.16);
364  --b4: rgba(10,10,10,0.24);
365  --tx: #0A0A0A;
366  --tx2: #717171;
367  --tx3: #A1A1A1;
368  --tx4: #C4C4C4;
369  --ww-green: #22C55E;
370  --green-bg: rgba(34,197,94,0.10);
371  --green-bg-2: rgba(34,197,94,0.16);
372  --ww-rose: #E7000B;
373  --fh: var(--font-sans, 'Inter'), system-ui, sans-serif;
374  --fb: var(--font-sans, 'Inter'), system-ui, sans-serif;
375  --fm: var(--font-mono, 'Geist Mono'), ui-monospace, monospace;
376  --sp-sec: 56px;
377}
378/* overflow-x: clip (not hidden) prevents horizontal overflow WITHOUT turning
379   this into a scroll container — hidden would break position: sticky descendants
380   (e.g. the article TOC). */
381.ww-page { background: var(--bg); color: var(--tx); font-family: var(--fb); -webkit-font-smoothing: antialiased; overflow-x: clip; position: relative; min-height: 100vh; }
382.ww-page a { color: inherit; text-decoration: none; }
383.ww-page button { font-family: inherit; cursor: pointer; }
384.ww-page ul { list-style: none; padding: 0; margin: 0; }
385.ww-page *, .ww-page *::before, .ww-page *::after { box-sizing: border-box; }
386.ww-page .container { max-width: 1180px; margin: 0 auto; padding: 0 32px; }
387.ww-page .container-narrow { max-width: 820px; margin: 0 auto; padding: 0 32px; }
388
389.ww-page .section { padding: var(--sp-sec) 0; position: relative; }
390.ww-page .section + .section { border-top: 1px solid var(--b1); }
391.ww-page .sec-head { text-align: center; max-width: 700px; margin: 0 auto 36px; }
392.ww-page .sec-head.left { text-align: left; margin-left: 0; }
393.ww-page .eyebrow { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border: 1px solid var(--b2); border-radius: 999px; font-family: var(--fm); font-size: 10px; font-weight: 700; color: var(--tx2); text-transform: uppercase; letter-spacing: 0.12em; margin-bottom: 16px; }
394.ww-page .eyebrow .dot { width: 5px; height: 5px; border-radius: 50%; background: var(--ww-green); }
395.ww-page .sec-head h2 { font-family: var(--fh); font-size: 26px; font-weight: 600; line-height: 1.12; letter-spacing: -0.025em; margin: 0 0 10px; color: var(--tx); }
396.ww-page .sec-head p { font-size: 15px; color: var(--tx2); line-height: 1.55; margin: 0; font-weight: 400; }
397
398.ww-page .crumbs { padding: 96px max(56px, calc((min(100%, 1440px) - 1216px) / 2)) 0; max-width: 1440px; margin: 0 auto; font-family: var(--fm); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--tx2); display: flex; align-items: center; flex-wrap: wrap; row-gap: 4px; }
399.ww-page .crumbs.crumbs-center { justify-content: center; text-align: center; }
400.ww-page .crumbs a { color: var(--tx3); transition: color 0.15s; }
401.ww-page .crumbs a:hover { color: var(--ww-green); }
402.ww-page .crumbs .sep { margin: 0 10px; color: var(--tx4); }
403.ww-page .crumbs .current { color: var(--tx); font-weight: 700; }
404
405/* Room either side of the hero content: at least 56px of gradient, up to 112px on wide screens,
406   with the text and visual still in the same 1216px column as the nav and breadcrumb. */
407.ww-page .hero { --hero-pad-x: max(56px, calc((min(100%, 1440px) - 1216px) / 2)); padding: 40px var(--hero-pad-x) 56px; position: relative; max-width: 1440px; margin: 0 auto; }
408.ww-page .hero.center { text-align: center; }
409.ww-page .hero-glow { position: absolute; top: 0; right: -100px; width: 700px; height: 600px; pointer-events: none; background: transparent; z-index: 0; filter: blur(40px); }
410.ww-page .hero-inner { position: relative; z-index: 2; }
411/* Solutions hero: homepage-style gradient mesh background */
412.ww-page .hero-mesh-on { overflow: hidden; }
413.ww-page .hero-mesh { position: absolute; inset: -30% -10% -10% -10%; z-index: 0; pointer-events: none; background: radial-gradient(38% 42% at 18% 22%, rgba(34,197,94,0.18), transparent 70%), radial-gradient(34% 38% at 85% 12%, rgba(96,165,250,0.13), transparent 70%), radial-gradient(44% 46% at 78% 88%, rgba(34,197,94,0.11), transparent 72%), radial-gradient(38% 42% at 14
413% 92%, rgba(167,139,250,0.11), transparent 72%); filter: blur(38px); }
414.ww-page .hero-inner.split { display: grid; grid-template-columns: 1.2fr 1fr; gap: 48px; align-items: center; }
415.ww-page .hero-inner.center { text-align: center; max-width: 760px; margin: 0 auto; }
416.ww-page .hero .eyebrow { margin-bottom: 20px; }
417.ww-page .hero h1 { font-family: var(--fh); font-size: 32px; font-weight: 600; line-height: 1.08; letter-spacing: -0.025em; color: var(--tx); margin: 0 0 18px; }
418.ww-page .hero-inner.split h1 { max-width: 620px; }
419.ww-page .hero-sub { font-size: 16px; line-height: 1.55; color: var(--tx2); font-weight: 400; margin: 0 0 26px; }
420.ww-page .hero-inner.split .hero-sub { max-width: 540px; }
421.ww-page .hero-inner.center .hero-sub { margin-left: auto; margin-right: auto; max-width: 600px; }
422.ww-page .hero-ctas { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 14px; }
423.ww-page .hero-inner.center .hero-ctas { justify-content: center; }
424.ww-page .btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 12px 24px; border-radius: 5px; font-family: var(--fh); font-size: 14px; font-weight: 700; transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease, border-color 0.15s ease; cursor: pointer; border: 1px solid transparent; }
425.ww-page .btn-primary { background: #000000; color: #FFFFFF; border-color: #000000; box-shadow: 4px 4px 0 rgba(34,197,94,0.18); }
426.ww-page .btn-primary:hover { background: #1a1a1a; box-shadow: 6px 6px 0 rgba(34,197,94,0.18); transform: translate(-2px,-2px); }
427.ww-page .btn-primary:active { box-shadow: 2px 2px 0 rgba(34,197,94,0.18); transform: translate(1px,1px); }
428.ww-page .btn-secondary { background: transparent; color: var(--tx); border-color: var(--b3); }
429.ww-page .btn-secondary:hover { border-color: var(--b4); background: rgba(10,10,10,0.03); }
430@media (max-width: 720px) { .ww-page .btn { width: 100%; } .ww-page .hero-ctas { flex-direction: column; align-items: stretch; } }
431.ww-page .hero-helper { font-family: var(--fm); font-size: 11px; color: var(--tx3); letter-spacing: 0.04em; text-transform: uppercase; }
432.ww-page .hero-helper .check { color: var(--ww-green); }
433.ww-page .hero-bullets { display: inline-flex; gap: 18px; flex-wrap: wrap; justify-content: center; margin-top: 14px; }
434.ww-page .hero-bullets span { display: inline-flex; align-items: center; gap: 6px; font-family: var(--fm); font-size: 11px; color: var(--tx2); letter-spacing: 0.06em; text-transform: uppercase; }
435.ww-page .hero-bullets i { color: var(--ww-green); font-size: 13px; }
436
437.ww-page .hero-stat-panel { background: linear-gradient(180deg, var(--s2) 0%, var(--s1) 100%); border: 1px solid var(--b2); border-radius: 5px; padding: 24px 24px 8px; position: relative; overflow: hidden; }
438.ww-page .hero-stat-panel::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(34,197,94,0.5), transparent); }
439.ww-page .hsp-head { font-family: var(--fm); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--tx3); margin-bottom: 6px; display: flex; align-items: center; gap: 6px; }
440.ww-page .hsp-head .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--ww-green); animation: ww-page-pulse 2.5s ease-in-out infinite; }
441@keyframes ww-page-pulse { 0%,100% { opacity: 0.5; } 50% { opacity: 1; } }
442.ww-page .hsp-title { font-family: var(--fh); font-size: 13px; font-weight: 500; color: var(--tx); margin: 0 0 14px; }
443.ww-page .hsp-list { display: flex; flex-direction: column; }
444.ww-page .hsp-item { display: flex; align-items: baseline; justify-content: space-between; padding: 14px 0; border-bottom: 1px solid var(--b1); }
445.ww-page .hsp-item:last-child { border: none; }
446.ww-page .hsp-val { font-family: var(--fh); font-size: 26px; font-weight: 600; letter-spacing: -0.025em; line-height: 1; color: var(--ww-green); }
447.ww-page .hsp-lbl { font-size: 12px; color: var(--tx2); text-align: right; max-width: 130px; }
448
449/* Hero citation deck — a lightly-rotated stack of cards, matching the motif
450   used by the generated article covers (lib/marketing/feature-cover.ts on the
451   platform side). Replaces the old fake-browser "hero-tracker" mock; carries
452   the same data. Markup lives in components/hero-deck.tsx. */
453.ww-page .hero-deck { position: relative; }
454
455/* Ghosted header — the old chrome bar's label / URL / LIVE pill */
456.ww-page .hd-head { display: flex; align-items: center; gap: 9px; }
457.ww-page .hd-spark { font-size: 13px; line-height: 1; color: var(--tx4); }
458.ww-page .hd-head-t { font-family: var(--fh); font-size: 19px; font-weight: 600; letter-spacing: -0.02em; color: var(--tx4); }
459.ww-page .hd-live { font-family: var(--fm); font-size: 9px; font-weight: 700; letter-spacing: 0.08em; padding: 3px 8px; border-radius: 999px; background: #DCF3E6; color: #0F8A53; display: inline-flex; align-items: center; gap: 5px; flex-shrink: 0; }
460.ww-page .hd-live::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: var(--ww-green); animation: ww-page-pulse 2.5s ease-in-out infinite; }
461.ww-page .hd-head-sub { font-family: var(--fb); font-size: 12.5px; color: var(--tx4); margin: 5px 0 0; }
462
463/* The stack */
464.ww-page .hd-stack { margin-top: 20px; transform: rotate(-4deg); transform-origin: 55% 50%; }
465.ww-page .hd-card { border: 1px solid var(--b1); border-radius: 14px; background: var(--bg); padding: 18px 20px; }
466.ww-page .hd-ghost { background: var(--s2); border-color: rgba(10,10,10,0.045); }
467/* The overlapped edge of each ghost gets extra padding, so the front card
468   covers dead space instead of slicing through a title or a chip row. */
469.ww-page .hd-a { margin: 0 46px -32px 0; padding-bottom: 44px; }
470.ww-page .hd-b { margin: -32px 0 0 50px; padding-top: 46px; }
471.ww-page .hd-front { position: relative; z-index: 2; margin: 0 -4px; padding: 20px 22px; transform: rotate(1.6deg); box-shadow: 0 18px 40px rgba(10,10,10,0.12), 0 2px 6px rgba(10,10,10,0.05); }
472
473/* Card content */
474.ww-page .hd-card-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
475.ww-page .hd-card-t { font-family: var(--fh); font-size: 17px; font-weight: 600; letter-spacing: -0.02em; line-height: 1.28; color: var(--tx); }
476/* Let the quoted prompt wrap to two lines — a single long line makes the
477   front card wide and thin, which reads as a bar rather than a card. */
478.ww-page .hd-front .hd-card-t { max-width: 19ch; }
479.ww-page .hd-ghost .hd-card-t { font-weight: 500; color: var(--tx4); }
480.ww-page .hd-lbl { display: block; font-family: var(--fm); font-size: 9.5px; letter-spacing: 0.09em; text-transform: uppercase; color: var(--tx3); }
481.ww-page .hd-lbl-sp { margin-top: 14px; }
482.ww-page .hd-ghost .hd-lbl { color: var(--tx4); }
483.ww-page .hd-status { flex-shrink: 0; text-align: right; }
484.ww-page .hd-status .hd-lbl { margin-bottom: 6px; }
485.ww-page .hd-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
486.ww-page .hd-status .hd-chip { margin-top: 0; }
487.ww-page .hd-chip { font-family: var(--fm); font-size: 10.5px; font-weight: 700; letter-spacing: 0.02em; padding: 5px 10px; border-radius: 999px; background: var(--s3); color: var(--tx3); white-space: nowrap; }
488.ww-page .hd-ghost .hd-chip { background: rgba(10,10,10,0.035); color: var(--tx4); }
489.ww-page .hd-chip.is-cited, .ww-page .hd-chip.is-new { background: #DCF3E6; color: #0F8A53; }
490.ww-page .hd-chip.is-miss { background: rgba(231,0,11,0.08); color: var(--ww-rose); }
491
492@media (max-width: 1024px) {
493  .ww-page .hd-stack { transform: rotate(-2.5deg); }
494  .ww-page .hd-a { margin-right: 22px; }
495  .ww-page .hd-b { margin-left: 24px; }
496}
497/* Below ~480px the tilt costs more width than it buys, so sit it upright. */
498@media (max-width: 480px) {
499  .ww-page .hd-stack { transform: none; }
500  .ww-page .hd-front { transform: none; margin: 0; }
501  .ww-page .hd-a { margin: 0 0 -26px; }
502  .ww-page .hd-b { margin: -26px 0 0; }
503  .ww-page .hd-card-top { flex-direction: column; gap: 10px; }
504  .ww-page .hd-status { text-align: left; }
505}
506@media (prefers-reduced-motion: reduce) {
507  .ww-page .hd-live::before { animation: none; }
508}
509
510/* Stats bar (attributed) */
511.ww-page .stats-bar { padding: 36px 0; border-bottom: 1px solid var(--b1); }
512.ww-page .stats-bar-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; max-width: 1180px; margin: 0 auto; padding: 0 32px; }
513/* This is now the only stat-card treatment on the site — the homepage's
514   equivalent strip (.proof-card) was removed, so keep the radius, padding,
515   hover lift and tabular figures here as the reference if one ever returns.
516   Figures are tabular so digits do not jitter between values. */
517.ww-page .stat-card { background: var(--s1); border: 1px solid var(--b1); border-radius: 14px; padding: 32px 22px; text-align: center; transition: border-color 0.25s, transform 0.25s; }
518.ww-page .stat-card:hover { border-color: var(--b2); transform: translateY(-3px); }
519.ww-page .stat-v { font-family: var(--fh); font-size: 32px; font-weight: 600; letter-spacing: -0.025em; font-variant-numeric: tabular-nums; line-height: 1; margin-bottom: 8px; }
520.ww-page .stat-l { font-size: 14px; color: var(--tx2); line-height: 1.5; margin-bottom: 8px; }
521.ww-page .stat-src { font-family: var(--fm); font-size: 10px; color: var(--tx4); letter-spacing: 0.06em; text-transform: uppercase; }
522@media (max-width: 1024px) { .ww-page .stats-bar-grid { grid-template-columns: repeat(2, 1fr); padding: 0 24px; } }
523@media (max-width: 720px) { .ww-page .stats-bar-grid { padding: 0 20px; } }
524
525/* Bright centered logo strip (override for solutions) */
526.ww-page .logos-bright .logos-row span { color: var(--tx); opacity: 0.85; }
527.ww-page .logos-bright .logos-row span:hover { opacity: 1; color: var(--tx); }
528.ww-page .logos-bright .logos-label { color: var(--tx2); font-size: 12px; letter-spacing: 0.14em; }
529
530/* Challenge cards (rose icons) */
531.ww-page .challenge-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; max-width: 1180px; margin: 0 auto; }
532/* Column layout so the sparkline pins to the bottom of every card — card text
533   varies in length, and a chart that floats at a different height in each
534   card reads as broken alignment. */
535.ww-page .challenge-card { background: var(--s1); border: 1px solid var(--b1); border-radius: 5px; padding: 22px 22px; transition: border-color 0.25s; display: flex; flex-direction: column; }
536.ww-page .challenge-card:hover { border-color: var(--b2); }
537.ww-page .challenge-card .ic-badge { margin-bottom: 14px; background: rgba(251,113,133,0.08); color: var(--ww-rose); }
538.ww-page .challenge-card h3 { font-family: var(--fh); font-size: 15px; font-weight: 600; margin: 0 0 6px; color: var(--tx); letter-spacing: -0.01em; }
539/* The paragraph grows to absorb the slack, which pins the sparkline to the
540   bottom of every card. Doing this with an auto top margin on the figure
541   instead collapses its gap to zero on the tallest card in the row, and the
542   divider ends up touching the last line of text. */
543.ww-page .challenge-card p { font-size: 13px; line-height: 1.55; color: var(--tx2); margin: 0; flex: 1 1 auto; }
544
545/* Declining sparkline (components/challenge-trend.tsx) */
546.ww-page .challenge-trend { margin: 18px 0 0; padding: 14px 0 0; border-top: 1px solid var(--b1); display: block; }
547.ww-page .challenge-trend svg { display: block; width: 100%; height: auto; overflow: visible; }
548.ww-page .ct-cap { display: flex; align-items: center; gap: 6px; margin-top: 8px; font-family: var(--fm); font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--tx3); }
549/* The arrow is the non-colour half of the encoding — it must survive CVD and
550   forced-colours, so it is a glyph, not a rotated coloured bar. */
551.ww-page .ct-arrow { color: var(--ww-rose); font-size: 12px; line-height: 1; font-weight: 700; }
552@media (max-width: 1024px) { .ww-page .challenge-grid { grid-template-columns: repeat(2, 1fr); } }
553@media (max-width: 720px) { .ww-page .challenge-grid { grid-template-columns: 1fr; } }
554
555/* Solution cards with mini screenshots */
556.ww-page .solutions-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; max-width: 1180px; margin: 0 auto; }
557.ww-page .sol2-card { background: var(--s1); border: 1px solid var(--b1); border-radius: 5px; padding: 0; overflow: hidden; display: flex; flex-direction: column; transition: all 0.25s; }
558.ww-page .sol2-card:hover { border-color: var(--b2); transform: translateY(-2px); }
559.ww-page .sol2-body { padding: 24px 24px 20px; }
560.ww-page .sol2-card .ic-badge { margin-bottom: 14px; }
561.ww-page .sol2-card h3 { font-family: var(--fh); font-size: 17px; font-weight: 600; margin: 0 0 8px; color: var(--tx); letter-spacing: -0.01em; }
562.ww-page .sol2-card p { font-size: 13.5px; line-height: 1.55; color: var(--tx2); margin: 0; }
563.ww-page .sol-shot { background: var(--s2); border-top: 1px solid var(--b1); padding: 16px 18px; min-height: 140px; display: flex; flex-direction: column; gap: 8px; }
564.ww-page .sol-shot-head { font-family: var(--fm); font-size: 9px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--tx3); display: flex; align-items: center; gap: 6px; }
565.ww-page .sol-shot-head i { color: var(--ww-green); font-size: 11px; }
566.ww-page .sol-shot-pulse { width: 5px; height: 5px; border-radius: 50%; background: var(--ww-green); animation: ww-page-pulse 2.5s ease-in-out infinite; display: inline-block; }
567.ww-page .sol-shot-row { display: grid; grid-template-columns: 110px 1fr 40px; gap: 8px; align-items: center; font-size: 11px; color: var(--tx2); padding: 6px 0; border-bottom: 1px dashed var(--b1); }
568.ww-page .sol-shot-row:last-child { border: 0; }
569.ww-page .sol-shot-row .name { font-family: var(--fm); font-size: 10px; color: var(--tx3); text-transform: uppercase; letter-spacing: 0.04em; }
570.ww-page .sol-shot-track { height: 4px; background: var(--s4); border-radius: 4px; overflow: hidden; }
571.ww-page .sol-shot-fill { height: 100%; background: var(--ww-green); border-radius: 4px; }
572.ww-page .sol-shot-val { font-family: var(--fm); font-size: 10px; font-weight: 700; color: var(--ww-green); text-align: right; }
573.ww-page .sol-shot-engine { display: flex; align-items: center; justify-content: space-between; font-size: 11px; padding: 6px 0; border-bottom: 1px dashed var(--b1); }
574.ww-page .sol-shot-engine:last-child { border: 0; }
575.ww-page .sol-shot-engine .e-name { font-family: var(--fm); font-size: 10px; color: var(--tx2); text-transform: uppercase; letter-spacing: 0.04em; }
576.ww-page .sol-shot-engine .e-val { font-family: var(--fm); font-size: 10px; font-weight: 700; color: var(--ww-green); }
577.ww-page .sol-shot-engine .e-val.miss { color: var(--ww-rose); }
578.ww-page .sol-shot-quote { font-size: 12px; line-height: 1.55; color: var(--tx2); padding: 8px 0; }
579.ww-page .sol-shot-quote .tag { display: inline-flex; align-items: center; gap: 3px; font-family: var(--fm); font-size: 8.5px; padding: 1.5px 5px; border-radius: 3px; background: var(--green-bg); color: var(--ww-green); font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; margin: 0 2px; }
580.ww-page .sol-shot-pipeline { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
581.ww-page .sol-shot-pcell { background: var(--s1); border: 1px solid var(--b1); border-radius: 5px; padding: 10px 12px; }
582.ww-page .sol-shot-pcell .v { font-family: var(--fh); font-size: 18px; font-weight: 600; color: var(--tx); letter-spacing: -0.02em; line-height: 1; }
583.ww-page .sol-shot-pcell .l { font-family: var(--fm); font-size: 9px; color: var(--tx3); margin-top: 4px; letter-spacing: 0.06em; text-transform: uppercase; }
584@media (max-width: 1024px) { .ww-page .solutions-grid { grid-template-columns: 1fr; } }
585
586/* Testimonial */
587.ww-page .testimonial { max-width: 920px; margin: 0 auto; background: var(--s1); border: 1px solid var(--b2); border-radius: 5px; padding: 36px 38px; position: relative; overflow: hidden; }
588.ww-page .testimonial::before { content: ''; position: absolute; top: -50%; right: -10%; width: 380px; height: 380px; background: radial-gradient(circle, rgba(34,197,94,0.06) 0%, transparent 60%); pointer-events: none; }
589.ww-page .test-bar { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; padding-bottom: 16px; border-bottom: 1px solid var(--b1); position: relative; z-index: 2; }
590.ww-page .test-logo { font-family: var(--fh); font-size: 20px; font-weight: 700; color: var(--tx); letter-spacing: -0.01em; }
591.ww-page .test-metric-badge { font-family: var(--fm); font-size: 10px; padding: 5px 12px; border-radius: 6px; background: var(--green-bg-2); color: var(--ww-green); letter-spacing: 0.06em; text-transform: uppercase; font-weight: 700; }
592.ww-page .test-quote { font-family: var(--fh); font-size: 19px; font-weight: 400; line-height: 1.4; letter-spacing: -0.015em; color: var(--tx); margin: 0 0 22px; position: relative; z-index: 2; }
593.ww-page .test-foot { display: flex; align-items: center; gap: 14px; position: relative; z-index: 2; }
594.ww-page .test-avatar-grad { width: 44px; height: 44px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: var(--fh); font-weight: 700; font-size: 15px; color: #fff; flex-shrink: 0; }
595.ww-page .test-author-meta { display: flex; flex-direction: column; gap: 2px; }
596.ww-page .test-author-name { font-family: var(--fh); font-size: 14px; font-weight: 600; color: var(--tx); display: inline-flex; align-items: center; gap: 6px; }
597.ww-page .test-author-name i { font-size: 13px; color: #60A5FA; }
598.ww-page .test-author-role { font-size: 12px; color: var(--tx3); }
599@media (max-width: 720px) { .ww-page .testimonial { padding: 26px 22px; } .ww-page .test-quote { font-size: 17px; } }
600
601/* Featured case study */
602.ww-page .case { max-width: 1080px; margin: 0 auto; background: linear-gradient(135deg, var(--s2) 0%, var(--s1) 100%); border: 1px solid var(--b2); border-radius: 5px; padding: 36px 38px; display: grid; grid-template-columns: 1.2fr 1fr; gap: 36px; align-items: center; position: relative; overflow: hidden; }
603.ww-page .case::before { content: ''; position: absolute; top: -40%; right: -10%; width: 420px; height: 420px; background: radial-gradient(circle, rgba(34,197,94,0.07) 0%, transparent 60%); pointer-events: none; }
604.ww-page .case-tag { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 6px; background: var(--green-bg); color: var(--ww-green); font-family: var(--fm); font-size: 10px; letter-spacing: 0.06em; text-transform: uppercase; font-weight: 700; margin-bottom: 14px; position: relative; z-index: 2; }
605.ww-page .case-logo { font-family: var(--fh); font-size: 22px; font-weight: 700; color: var(--tx); margin-bottom: 14px; letter-spacing: -0.02em; position: relative; z-index: 2; }
606.ww-page .case-quote { font-family: var(--fh); font-size: 18px; font-weight: 400; line-height: 1.4; letter-spacing: -0.015em; color: var(--tx); margin: 0 0 20px; position: relative; z-index: 2; }
607.ww-page .case-link { display: inline-flex; align-items: center; gap: 6px; font-family: var(--fh); font-size: 13px; font-weight: 600; color: #60A5FA; position: relative; z-index: 2; }
608.ww-page .case-link:hover { color: var(--ww-green); }
609.ww-page .case-metrics { display: flex; flex-direction: column; gap: 10px; position: relative; z-index: 2; }
610.ww-page .case-metric { padding: 18px 20px; border-radius: 5px; background: var(--s1); border: 1px solid var(--b1); }
611.ww-page .case-metric .v { font-family: var(--fh); font-size: 26px; font-weight: 600; letter-spacing: -0.02em; line-height: 1; margin-bottom: 4px; }
612.ww-page .case-metric .l { font-size: 12px; color: var(--tx2); line-height: 1.4; }
613@media (max-width: 1024px) { .ww-page .case { grid-template-columns: 1fr; padding: 28px; } }
614@media (max-width: 720px) { .ww-page .case-quote { font-size: 16px; } }
615
616.ww-page .ic-badge { width: 36px; height: 36px; border-radius: 5px; display: flex; align-items: center; justify-content: center; font-size: 16px; background: var(--green-bg); color: var(--ww-green); flex-shrink: 0; }
617
618.ww-page .card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; max-width: 1180px; margin: 0 auto; }
619.ww-page .card-grid.cols-4 { grid-template-columns: repeat(4, 1fr); }
620.ww-page .card { background: var(--s1); border: 1px solid var(--b1); border-radius: 5px; padding: 22px 22px; transition: all 0.25s; display: flex; flex-direction: column; }
621.ww-page .card:hover { border-color: var(--b2); transform: translateY(-2px); }
622.ww-page .card .ic-badge { margin-bottom: 14px; }
623.ww-page .card h3 { font-family: var(--fh); font-size: 15px; font-weight: 600; margin: 0 0 6px; color: var(--tx); letter-spacing: -0.01em; }
624.ww-page .card p { font-size: 13px; line-height: 1.55; color: var(--tx2); margin: 0; }
625
626.ww-page .sol-card { background: var(--s1); border: 1px solid var(--b1); border-radius: 5px; padding: 22px 22px; transition: all 0.25s; display: flex; flex-direction: column; }
627.ww-page .sol-card:hover { border-color: var(--ww-green); transform: translateY(-2px); }
628.ww-page .sol-card .top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
629.ww-page .sol-card h3 { font-family: var(--fh); font-size: 15px; font-weight: 600; margin: 0 0 6px; color: var(--tx); letter-spacing: -0.01em; }
630.ww-page .sol-card p { font-size: 13px; line-height: 1.55; color: var(--tx2); margin: 0 0 14px; flex: 1; }
631.ww-page .sol-card .pill { font-family: var(--fm); font-size: 9.5px; font-weight: 700; padding: 4px 9px; border-radius: 999px; background: var(--green-bg-2); color: var(--ww-green); letter-spacing: 0.04em; text-transform: uppercase; }
632.ww-page .sol-card .link { font-family: var(--fh); font-size: 12px; font-weight: 600; color: var(--ww-green); display: inline-flex; align-items: center; gap: 4px; text-transform: uppercase; letter-spacing: 0.04em; }
633.ww-page .sol-card .link i { transition: transform 0.15s; }
634.ww-page .sol-card:hover .link i { transform: translateX(3px); }
635
636.ww-page .jobs-table { max-width: 1080px; margin: 0 auto; background: var(--s1); border: 1px solid var(--b1); border-radius: 5px; overflow: hidden; }
637.ww-page .jt-head { display: grid; grid-template-columns: 1.6fr 1fr 1fr 0.8fr; padding: 12px 22px; background: var(--s2); border-bottom: 1px solid var(--b1); font-family: var(--fm); font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--tx3); }
638.ww-page .jt-row { display: grid; grid-template-columns: 1.6fr 1fr 1fr 0.8fr; padding: 14px 22px; border-bottom: 1px solid var(--b1); align-items: center; transition: background 0.1s; }
639.ww-page .jt-row:last-child { border: none; }
640.ww-page .jt-row:hover { background: var(--s2); }
641.ww-page .jt-task { font-family: var(--fh); font-size: 14px; font-weight: 500; color: var(--tx); }
642.ww-page .jt-before { font-family: var(--fm); font-size: 11px; color: var(--ww-rose); }
643.ww-page .jt-after { font-family: var(--fm); font-size: 11px; color: var(--ww-green); }
644.ww-page .jt-saved { font-family: var(--fm); font-size: 11px; font-weight: 700; padding: 3px 9px; border-radius: 5px; background: var(--green-bg-2); color: var(--ww-green); text-align: center; letter-spacing: 0.04em; justify-self: end; }
645
646.ww-page .feature-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; max-width: 1080px; margin: 0 auto; }
647.ww-page .feature-list .feat { background: var(--s1); border: 1px solid var(--b1); border-radius: 5px; padding: 14px 16px; display: flex; align-items: center; gap: 10px; font-size: 13.5px; color: var(--tx); font-family: var(--fh); font-weight: 500; }
648.ww-page .feature-list .feat i { color: var(--ww-green); font-size: 14px; flex-shrink: 0; }
649
650.ww-page .faq-list { max-width: 720px; margin: 0 auto; }
651.ww-page .faq-item { border-bottom: 1px soli
651d var(--b1); }
652.ww-page .faq-item:first-child { border-top: 1px solid var(--b1); }
653.ww-page .faq-item summary { list-style: none; cursor: pointer; padding: 18px 4px; display: flex; align-items: center; justify-content: space-between; gap: 16px; font-family: var(--fh); font-size: 15px; font-weight: 500; color: var(--tx); transition: color 0.15s; }
654.ww-page .faq-item summary::-webkit-details-marker { display: none; }
655.ww-page .faq-item summary:hover { color: var(--ww-green); }
656.ww-page .faq-item summary .plus { font-family: var(--fm); font-size: 18px; color: var(--tx3); transition: transform 0.2s, color 0.15s; flex-shrink: 0; }
657.ww-page .faq-item[open] summary { color: var(--ww-green); }
658.ww-page .faq-item[open] summary .plus { transform: rotate(45deg); color: var(--ww-green); }
659.ww-page .faq-item .faq-body { padding: 0 4px 20px; font-size: 14px; color: var(--tx2); line-height: 1.6; max-width: 660px; }
660
661.ww-page .related { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; max-width: 1180px; margin: 0 auto; }
662.ww-page .related-col h3 { font-family: var(--fm); font-size: 10px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--tx3); margin: 0 0 12px; }
663.ww-page .related-col ul { display: flex; flex-direction: column; gap: 2px; }
664.ww-page .related-col a { font-family: var(--fh); font-size: 13px; color: var(--tx2); padding: 6px 0; display: inline-flex; align-items: center; gap: 6px; transition: color 0.15s; }
665.ww-page .related-col a:hover { color: var(--ww-green); }
666.ww-page .related-col a i { font-size: 11px; color: var(--ww-green); }
667
668/* Pricing tiers */
669.ww-page .tiers { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; max-width: 1080px; margin: 0 auto; }
670.ww-page .tier { background: var(--s1); border: 1px solid var(--b1); border-radius: 5px; padding: 28px 24px; display: flex; flex-direction: column; transition: border-color 0.25s; position: relative; }
671.ww-page .tier:hover { border-color: var(--b2); }
672.ww-page .tier.featured { border-color: var(--ww-green); background: linear-gradient(180deg, var(--s2) 0%, var(--s1) 100%); }
673.ww-page .tier-badge { align-self: flex-start; padding: 4px 10px; border-radius: 999px; background: var(--green-bg-2); color: var(--ww-green); font-family: var(--fm); font-size: 9.5px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; margin-bottom: 14px; }
674.ww-page .tier h3 { font-family: var(--fh); font-size: 17px; font-weight: 600; margin: 0 0 10px; color: var(--tx); letter-spacing: -0.01em; }
675.ww-page .tier-price { display: flex; align-items: baseline; gap: 4px; margin-bottom: 10px; }
676.ww-page .tier-price .num { font-family: var(--fh); font-size: 36px; font-weight: 600; color: var(--tx); letter-spacing: -0.025em; line-height: 1; }
677.ww-page .tier-price .pre { font-family: var(--fm); font-size: 11px; font-weight: 500; letter-spacing: 0.06em; text-transform: uppercase; color: var(--tx3); }
678.ww-page .tier-yearly { margin: -2px 0 12px; font-size: 13px; line-height: 1.5; color: var(--tx2); }
679.ww-page .tier-save { display: inline-block; margin-left: 4px; padding: 1px 7px; border-radius: 999px; font-size: 11px; font-weight: 600; color: var(--green-ink, #0E7C58); background: var(--green-pale, rgba(34,197,94,0.14)); }
680.ww-page .tier-price .per { font-family: var(--fm); font-size: 12px; color: var(--tx3); }
681.ww-page .billing-toggle { display: flex; width: fit-content; margin: 0 auto 28px; padding: 4px; gap: 4px; border: 1px solid var(--b2); border-radius: 999px; background: var(--s1); }
682.ww-page .billing-toggle button { display: inline-flex; align-items: center; gap: 6px; padding: 8px 18px; border: 0; border-radius: 999px; background: transparent; font: inherit; font-size: 14px; font-weight: 500; color: var(--tx2); cursor: pointer; transition: background .15s, color .15s; }
683.ww-page .billing-toggle button:hover { color: var(--tx); }
684.ww-page .billing-toggle button.active { background: var(--bg, #fff); color: var(--tx); box-shadow: 0 1px 3px rgba(0,0,0,0.12); }
685.ww-page .billing-toggle button:focus-visible { outline: 2px solid var(--ww-green); outline-offset: 2px; }
686.ww-page .billing-toggle .tier-save { margin-left: 0; }
687.ww-page .tier-desc { font-size: 13px; color: var(--tx2); line-height: 1.55; margin: 0 0 20px; }
688.ww-page .tier-list { display: flex; flex-direction: column; gap: 8px; flex: 1; margin: 0 0 20px; }
689.ww-page .tier-list li { font-size: 13px; color: var(--tx2); display: flex; align-items: flex-start; gap: 8px; line-height: 1.5; }
690.ww-page .tier-list li i { color: var(--ww-green); font-size: 13px; margin-top: 3px; flex-shrink: 0; }
691.ww-page .tier .btn { width: 100%; }
692
693/* Comparison table */
694.ww-page .compare-wrap { max-width: 1080px; margin: 0 auto; background: var(--s1); border: 1px solid var(--b1); border-radius: 5px; overflow: hidden; }
695.ww-page .ct-head { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; padding: 14px 22px; background: var(--s2); border-bottom: 1px solid var(--b1); font-family: var(--fm); font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--tx3); }
696.ww-page .ct-head span { text-align: center; }
697.ww-page .ct-head span:first-child { text-align: left; }
698.ww-page .ct-row { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; padding: 14px 22px; border-bottom: 1px solid var(--b1); align-items: center; }
699.ww-page .ct-row:last-child { border: none; }
700.ww-page .ct-row:hover { background: var(--s2); }
701.ww-page .ct-name { font-family: var(--fh); font-size: 13px; font-weight: 500; color: var(--tx); }
702.ww-page .ct-val { font-family: var(--fm); font-size: 12px; color: var(--tx2); text-align: center; }
703.ww-page .ct-yes { color: var(--ww-green); font-size: 16px; text-align: center; }
704.ww-page .ct-no { color: var(--tx4); font-size: 16px; text-align: center; }
705
706/* Contact form */
707.ww-page .form-card { background: var(--s1); border: 1px solid var(--b1); border-radius: 5px; padding: 32px 30px; max-width: 720px; margin: 0 auto; }
708.ww-page .form-card h2 { font-family: var(--fh); font-size: 22px; font-weight: 600; margin: 0 0 8px; color: var(--tx); letter-spacing: -0.02em; }
709.ww-page .form-card .form-intro { font-size: 14px; color: var(--tx2); margin: 0 0 24px; }
710.ww-page .form-card form { display: flex; flex-direction: column; gap: 14px; }
711.ww-page .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
712.ww-page .form-field { display: flex; flex-direction: column; gap: 6px; }
713.ww-page .form-label { font-family: var(--fm); font-size: 10px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--tx3); }
714.ww-page .form-input, .ww-page .form-select, .ww-page .form-textarea { background: var(--bg); border: 1px solid var(--b2); border-radius: 5px; padding: 11px 14px; color: var(--tx); font-family: var(--fb); font-size: 14px; transition: border-color 0.2s; }
715.ww-page .form-input:focus, .ww-page .form-select:focus, .ww-page .form-textarea:focus { outline: none; border-color: var(--ww-green); }
716.ww-page .form-textarea { resize: vertical; min-height: 120px; }
717
718/* Contact methods */
719.ww-page .contact-card { background: var(--s1); border: 1px solid var(--b1); border-radius: 5px; padding: 24px 22px; transition: border-color 0.25s; }
720.ww-page .contact-card:hover { border-color: var(--b2); }
721.ww-page .contact-card .ic-badge { margin-bottom: 14px; }
722.ww-page .contact-card h3 { font-family: var(--fh); font-size: 15px; font-weight: 600; margin: 0 0 6px; color: var(--tx); }
723.ww-page .contact-card p { font-size: 13px; color: var(--tx2); line-height: 1.55; margin: 0 0 12px; }
724.ww-page .contact-card a { color: var(--ww-green); font-family: var(--fm); font-size: 12.5px; font-weight: 500; }
725.ww-page .contact-card a:hover { text-decoration: underline; }
726
727/* Team cards */
728.ww-page .team-card { background: var(--s1); border: 1px solid var(--b1); border-radius: 5px; overflow: hidden; transition: border-color 0.25s; }
729.ww-page .team-card:hover { border-color: var(--b2); }
730.ww-page .team-avatar { aspect-ratio: 1; background: linear-gradient(135deg, var(--s2) 0%, var(--s3) 100%); display: flex; align-items: center; justify-content: center; border-bottom: 1px solid var(--b1); font-family: var(--fh); font-size: 38px; font-weight: 700; color: var(--ww-green); letter-spacing: -0.02em; }
731.ww-page .team-body { padding: 20px 22px; }
732.ww-page .team-body h3 { font-family: var(--fh); font-size: 16px; font-weight: 600; margin: 0 0 4px; color: var(--tx); }
733.ww-page .team-role { font-family: var(--fm); font-size: 10px; font-weight: 700; color: var(--ww-green); letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 10px; }
734.ww-page .team-body p { font-size: 13px; color: var(--tx2); line-height: 1.55; margin: 0; }
735
736/* Timeline */
737.ww-page .timeline { max-width: 760px; margin: 0 auto; }
738.ww-page .timeline-item { display: grid; grid-template-columns: 70px 1fr; gap: 24px; padding: 18px 0; border-bottom: 1px solid var(--b1); align-items: start; }
739.ww-page .timeline-item:last-child { border: none; }
740.ww-page .timeline-year { font-family: var(--fm); font-size: 11px; font-weight: 700; color: var(--ww-green); letter-spacing: 0.1em; padding-top: 2px; }
741.ww-page .timeline-content h3 { font-family: var(--fh); font-size: 16px; font-weight: 600; margin: 0 0 4px; color: var(--tx); }
742.ww-page .timeline-content p { font-size: 13.5px; color: var(--tx2); line-height: 1.55; margin: 0; }
743
744/* Testimonial cards (3-col) */
745.ww-page .test-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; max-width: 1180px; margin: 0 auto; }
746.ww-page .test-card { background: var(--s1); border: 1px solid var(--b1); border-radius: 5px; padding: 24px 22px; display: flex; flex-direction: column; }
747.ww-page .test-stars { color: #FBBF24; margin-bottom: 10px; font-size: 13px; letter-spacing: 1px; }
748.ww-page .test-metric { font-family: var(--fm); font-size: 10px; font-weight: 700; color: var(--ww-green); letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 12px; }
749.ww-page .test-card blockquote { font-size: 13.5px; color: var(--tx); line-height: 1.6; margin: 0 0 18px; flex: 1; }
750.ww-page .test-author { display: flex; align-items: center; gap: 10px; padding-top: 14px; border-top: 1px solid var(--b1); }
751.ww-page .test-avatar { width: 32px; height: 32px; border-radius: 50%; background: var(--green-bg-2); color: var(--ww-green); display: flex; align-items: center; justify-content: center; font-family: var(--fh); font-size: 11px; font-weight: 700; flex-shrink: 0; }
752.ww-page .test-name { font-family: var(--fh); font-size: 13px; font-weight: 500; color: var(--tx); }
753.ww-page .test-role { font-size: 11px; color: var(--tx3); }
754
755/* Logo strip */
756.ww-page .logos { padding: 28px 0; border-top: 1px solid var(--b1); border-bottom: 1px solid var(--b1); max-width: 1180px; margin: 0 auto; }
757.ww-page .logos-label { font-family: var(--fm); font-size: 11px; text-transform: uppercase; letter-spacing: 0.12em; color: var(--tx3); text-align: center; margin: 0 0 18px; }
758/* Customer logos share the engine-grid tile treatment used on the homepage:
759   auto-fill tiles, mark left and name right, same border, radius and hover
760   lift. Was a loose centred flex row, which read as a different c
760omponent from
761   every other tile grid on the site. */
762.ww-page .logos-row { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 10px; max-width: 1100px; margin: 0 auto; }
763.ww-page .logos-row span { display: flex; align-items: center; gap: 10px; padding: 13px 14px; border: 1px solid var(--b1); border-radius: 12px; background: var(--s1); font-family: var(--fh); font-size: 13px; font-weight: 500; color: var(--tx); letter-spacing: -0.005em; line-height: 1.25; transition: border-color 0.2s, transform 0.2s; }
764.ww-page .logos-row span:hover { border-color: var(--b2); transform: translateY(-2px); }
765.ww-page .logos-row span img { width: 22px; height: 22px; border-radius: 4px; object-fit: contain; flex-shrink: 0; }
766@media (max-width: 600px) { .ww-page .logos-row { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); } }
767
768/* Two-column split text+visual */
769.ww-page .two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; max-width: 1180px; margin: 0 auto; align-items: start; }
770.ww-page .two-col h2 { font-family: var(--fh); font-size: 26px; font-weight: 600; line-height: 1.12; letter-spacing: -0.025em; color: var(--tx); margin: 0 0 16px; }
771.ww-page .two-col p { font-size: 14px; color: var(--tx2); line-height: 1.65; margin: 0 0 14px; }
772
773/* Numbered list (solution map) */
774.ww-page .num-list { display: flex; flex-direction: column; gap: 10px; max-width: 880px; margin: 0 auto; }
775.ww-page .num-row { display: grid; grid-template-columns: 36px 1fr; gap: 16px; align-items: start; padding: 18px 20px; background: var(--s1); border: 1px solid var(--b1); border-radius: 5px; transition: border-color 0.25s; }
776.ww-page .num-row:hover { border-color: var(--b2); }
777.ww-page .num-circle { width: 32px; height: 32px; border-radius: 50%; background: var(--green-bg-2); color: var(--ww-green); display: flex; align-items: center; justify-content: center; font-family: var(--fh); font-size: 13px; font-weight: 600; flex-shrink: 0; }
778.ww-page .num-title { font-family: var(--fm); font-size: 10px; font-weight: 700; color: var(--ww-green); letter-spacing: 0.1em; text-transform: uppercase; margin-bottom: 4px; }
779.ww-page .num-body { font-size: 13.5px; color: var(--tx2); line-height: 1.55; }
780
781/* Search input */
782.ww-page .search-wrap { position: relative; max-width: 560px; margin: 4px auto 0; }
783.ww-page .search-wrap i { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); font-size: 16px; color: var(--tx3); pointer-events: none; }
784.ww-page .search-input { width: 100%; background: var(--s1); border: 1px solid var(--b2); border-radius: 5px; padding: 12px 16px 12px 44px; color: var(--tx); font-family: var(--fb); font-size: 14px; transition: border-color 0.2s; }
785.ww-page .search-input::placeholder { color: var(--tx3); }
786.ww-page .search-input:focus { outline: none; border-color: var(--ww-green); }
787
788/* Filter pills */
789.ww-page .pills { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
790.ww-page .pill { font-family: var(--fm); font-size: 11px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; padding: 8px 14px; border-radius: 999px; border: 1px solid var(--b2); background: transparent; color: var(--tx2); cursor: pointer; transition: all 0.15s; }
791.ww-page .pill:hover { border-color: var(--b3); color: var(--tx); }
792.ww-page .pill.active { background: var(--green-bg-2); border-color: var(--ww-green); color: var(--ww-green); }
793
794/* Featured resource card (wide hero card) */
795.ww-page .res-featured { display: grid; grid-template-columns: 1fr 1fr; gap: 0; max-width: 1180px; margin: 0 auto 18px; background: var(--s1); border: 1px solid var(--b2); border-radius: 5px; overflow: hidden; text-decoration: none; color: inherit; position: relative; transition: border-color 0.25s; }
796.ww-page .res-featured:hover { border-color: var(--b3); }
797.ww-page .res-featured::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(34,197,94,0.5), transparent); z-index: 2; }
798.ww-page .res-featured-img { position: relative; aspect-ratio: 16 / 10; background: var(--s2); overflow: hidden; }
799.ww-page .res-featured-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
800.ww-page .res-featured-img::after { content: ''; position: absolute; inset: 0; background: linear-gradient(135deg, transparent 50%, rgba(20,20,20,0.10) 100%); pointer-events: none; }
801.ww-page .res-featured-body { padding: 36px 38px; display: flex; flex-direction: column; justify-content: center; }
802.ww-page .res-featured .featured-tag { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 999px; background: var(--green-bg); color: var(--ww-green); font-family: var(--fm); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 700; margin-bottom: 14px; align-self: flex-start; }
803.ww-page .res-featured .featured-tag i { font-size: 11px; }
804.ww-page .res-featured h2 { font-family: var(--fh); font-size: clamp(20px, 2.4vw, 28px); font-weight: 600; letter-spacing: -0.02em; line-height: 1.2; margin: 0 0 12px; color: var(--tx); }
805.ww-page .res-featured p { font-size: 14.5px; line-height: 1.6; color: var(--tx2); margin: 0 0 18px; }
806.ww-page .res-featured-meta { display: flex; align-items: center; gap: 16px; font-family: var(--fm); font-size: 11px; color: var(--tx3); letter-spacing: 0.04em; padding-top: 16px; border-top: 1px solid var(--b1); }
807.ww-page .res-featured-meta span { display: inline-flex; align-items: center; gap: 5px; }
808.ww-page .res-featured-meta i { font-size: 13px; color: var(--ww-green); }
809.ww-page .res-featured-cta { margin-left: auto; display: inline-flex; align-items: center; gap: 5px; color: var(--ww-green); font-family: var(--fh); font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; }
810.ww-page .res-featured-cta i { transition: transform 0.15s; }
811.ww-page .res-featured:hover .res-featured-cta i { transform: translateX(3px); }
812@media (max-width: 900px) {
813  .ww-page .res-featured { grid-template-columns: 1fr; }
814  .ww-page .res-featured-body { padding: 26px 22px; }
815}
816
817/* Resource cards */
818.ww-page .res-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; max-width: 1180px; margin: 0 auto; }
819.ww-page .res-card { background: var(--s1); border: 1px solid var(--b1); border-radius: 5px; overflow: hidden; display: flex; flex-direction: column; cursor: pointer; transition: all 0.25s; text-decoration: none; color: inherit; }
820.ww-page .res-card:hover { border-color: var(--b2); transform: translateY(-3px); }
821.ww-page .res-img { position: relative; aspect-ratio: 16 / 9; background: var(--s2); overflow: hidden; }
822.ww-page .res-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
823.ww-page .res-cat { position: absolute; top: 12px; left: 12px; font-family: var(--fm); font-size: 9.5px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; background: var(--bg); color: var(--ww-green); padding: 4px 10px; border-radius: 999px; border: 1px solid var(--b2); }
824.ww-page .res-body { padding: 20px 22px; display: flex; flex-direction: column; flex: 1; }
825.ww-page .res-body h3 { font-family: var(--fh); font-size: 16px; font-weight: 600; margin: 0 0 8px; color: var(--tx); letter-spacing: -0.01em; line-height: 1.3; }
826.ww-page .res-body .res-desc { font-size: 13px; color: var(--tx2); line-height: 1.55; margin: 0 0 16px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; flex: 1; }
827.ww-page .res-meta { display: flex; flex-direction: column; gap: 8px; padding-top: 14px; border-top: 1px solid var(--b1); }
828.ww-page .res-author { display: inline-flex; align-items: center; gap: 6px; font-family: var(--fm); font-size: 11px; color: var(--tx3); }
829.ww-page .res-author:hover { color: var(--ww-green); }
830.ww-page .res-author i { font-size: 12px; }
831.ww-page .res-meta-row { display: flex; align-items: center; justify-content: space-between; font-family: var(--fm); font-size: 11px; color: var(--tx3); }
832.ww-page .res-meta-row .left { display: flex; gap: 12px; }
833.ww-page .res-meta-row span { display: inline-flex; align-items: center; gap: 4px; }
834.ww-page .res-meta-row i { font-size: 12px; }
835.ww-page .res-meta-row .arrow { color: var(--ww-green); font-size: 14px; }
836
837/* Tag chip */
838.ww-page .tag-chip { display: inline-flex; align-items: center; gap: 4px; font-family: var(--fm); font-size: 11px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; padding: 5px 11px; border-radius: 5px; background: #000000; color: #FFFFFF; border: 1px solid #000000; transition: background 0.15s, transform 0.15s; }
839.ww-page .tag-chip:hover { background: #1a1a1a; transform: translateY(-1px); }
840
841/* Author hero card */
842.ww-page .author-card { display: flex; align-items: center; gap: 18px; max-width: 720px; margin: 0 auto; padding: 22px 24px; background: var(--s1); border: 1px solid var(--b1); border-radius: 5px; }
843.ww-page .author-avatar { width: 64px; height: 64px; border-radius: 50%; background: linear-gradient(135deg, var(--s2), var(--s3)); display: flex; align-items: center; justify-content: center; font-family: var(--fh); font-size: 22px; font-weight: 700; color: var(--ww-green); flex-shrink: 0; }
844.ww-page .author-meta h2 { font-family: var(--fh); font-size: 20px; font-weight: 600; margin: 0 0 4px; color: var(--tx); }
845.ww-page .author-meta p { font-size: 13px; color: var(--tx2); margin: 0; }
846
847/* Careers roles list */
848.ww-page .roles-list { display: flex; flex-direction: column; gap: 10px; max-width: 1080px; margin: 0 auto; }
849.ww-page .role-row { display: grid; grid-template-columns: 1fr 220px 24px; gap: 18px; align-items: center; padding: 22px 24px; background: var(--s1); border: 1px solid var(--b1); border-radius: 5px; transition: all 0.2s; text-decoration: none; color: inherit; }
850.ww-page .role-row:hover { border-color: var(--ww-green); transform: translateY(-2px); }
851.ww-page .role-meta { min-width: 0; }
852.ww-page .role-team { display: inline-flex; align-items: center; gap: 6px; padding: 3px 9px; border-radius: 6px; background: var(--green-bg); color: var(--ww-green); font-family: var(--fm); font-size: 9.5px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 8px; }
853.ww-page .role-row h3 { font-family: var(--fh); font-size: 17px; font-weight: 600; letter-spacing: -0.01em; margin: 0 0 4px; color: var(--tx); }
854.ww-page .role-row p { font-size: 13.5px; line-height: 1.5; color: var(--tx2); margin: 0; }
855.ww-page .role-tags { display: flex; flex-direction: column; gap: 6px; align-items: flex-end; flex-shrink: 0; }
856.ww-page .role-tag { display: inline-flex; align-items: center; gap: 5px; font-family: var(--fm); font-size: 10.5px; color: var(--tx2); }
857.ww-page .role-tag i { font-size: 12px; color: var(--ww-green); }
858.ww-page .role-arrow { font-size: 18px; color: var(--tx3); transition: color 0.15s, transform 0.15s; flex-shrink: 0; }
859.ww-page .role-row:hover .role-arrow { color: var(--ww-green); transform: translateX(3px); }
860@media (max-width: 720px) {
861  .ww-page .role-row { grid-template-columns: 1fr; padding: 18px; gap: 12px; }
862  .ww-page .role-tags { flex-direction: row; align-items: flex-start; }
863  .ww-page .role-arrow { display: none; }
864}
865
866/* Author landing hero (full profile) */
867.ww-page .author-hero-card { max-width: 1080px; margin: 0 auto; padding: 40px 44px; background: linear-gradient(135deg, var(--s2) 0%, var(--s1) 100%); border: 1px solid var(--b2); border-radius: 5px; display: grid; grid-template-columns: 96px 1fr; gap: 28px; align-items: center; position: relative; overflow: hidden; }
868.ww-page .author-hero-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(34,197,94,0.5), transparent); }
869.ww-page .author-hero-card::after { content: ''; position: absolute; top: -40%; right: -10%; width: 420px; height: 420px; background: radial-gradient(circle, rgba(34,197,94,0.07) 0%, transparent 60%); pointer-events: none; }
870.ww-page .author-hero-avatar { width: 96px; height: 96px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: var(--fh); font-weight: 700; font-size: 36px; color: #fff; flex-shrink: 0; position: relative; z-index: 2; box-shadow: 0 8px 24px rgba(20,20,20,0.10); }
871.ww-page .author-hero-body { position: relative; z-index: 2; }
872.ww-page .author-hero-body .eyebrow { margin-bottom: 12px; }
873.ww-page .author-hero-name { font-family: var(--fh); font-size: clamp(26px, 3vw, 36px); font-weight: 500; letter-spacing: -0.025em; margin: 0 0 10px; color: var(--tx); display: inline-flex; align-items: center; gap: 8px; }
874.ww-page .author-hero-name i { font-size: 22px; color: #60A5FA; }
875.ww-page .author-hero-bio { font-size: 15px; line-height: 1.6; color: var(--tx2); margin: 0 0 22px; max-width: 680px; }
876.ww-page .author-hero-stats { display: flex; gap: 24px; flex-wrap: wrap; padding-top: 18px; border-top: 1px solid var(--b1); }
877.ww-page .ahs-cell { min-width: 0; }
878.ww-page .ahs-v { font-family: var(--fh); font-size: 26px; font-weight: 600; letter-spacing: -0.02em; color: var(--ww-green); line-height: 1; margin-bottom: 4px; }
879.ww-page .ahs-l { font-family: var(--fm); font-size: 10px; color: var(--tx3); letter-spacing: 0.08em; text-transform: uppercase; }
880@media (max-width: 720px) {
881  .ww-page .author-hero-card { grid-template-columns: 1fr; padding: 28px 24px; text-align: left; gap: 18px; }
882  .ww-page .author-hero-avatar { width: 72px; height: 72px; font-size: 28px; }
883  .ww-page .author-hero-name { font-size: 24px; }
884  .ww-page .author-hero-stats { gap: 18px; }
885  .ww-page .ahs-v { font-size: 22px; }
886}
887
888/* Article (long-form) */
889.ww-page .article-hero { max-width: 760px; margin: 0 auto; padding-top: 16px; text-align: center; }
890.ww-page .article-hero h1 { font-family: var(--fh); font-size: clamp(28px, 4vw, 42px); font-weight: 600; line-height: 1.12; letter-spacing: -0.025em; color: var(--tx); margin: 12px 0 16px; }
891.ww-page .article-hero .article-meta { display: inline-flex; align-items: center; gap: 16px; flex-wrap: wrap; justify-content: center; font-family: var(--fm); font-size: 11px; color: var(--tx3); letter-spacing: 0.06em; text-transform: uppercase; margin-bottom: 24px; }
892.ww-page .article-hero .article-meta span { display: inline-flex; align-items: center; gap: 6px; }
893.ww-page .article-hero .article-meta i { font-size: 13px; color: var(--ww-green); }
894.ww-page .article-cover { max-width: 960px; margin: 0 auto; aspect-ratio: 16 / 9; border-radius: 5px; overflow: hidden; border: 1px solid var(--b2); background: var(--s1); }
895.ww-page .article-cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
896.ww-page .article-body { max-width: 720px; margin: 0 auto; color: var(--tx); font-size: 16px; line-height: 1.7; }
897.ww-page .article-body h2 { font-family: var(--fh); font-size: 26px; font-weight: 600; margin: 40px 0 14px; letter-spacing: -0.02em; color: var(--tx); }
898.ww-page .article-body h3 { font-family: var(--fh); font-size: 20px; font-weight: 600; margin: 28px 0 10px; letter-spacing: -0.01em; color: var(--tx); }
899.ww-page .article-body p { color: var(--tx2); margin: 0 0 18px; }
900.ww-page .article-body a { color: var(--ww-green); text-decoration: underline; text-underline-offset: 3px; }
901.ww-page .article-body ul, .ww-page .article-body ol { margin: 0 0 18px; padding-left: 22px; color: var(--tx2); }
902.ww-page .article-body ul { list-style: disc; }
903.ww-page .article-body ol { list-style: decimal; }
904.ww-page .article-body li { margin-bottom: 6px; }
905.ww-page .article-body blockquote { border-left: 3px solid var(--ww-green); padding: 4px 0 4px 18px; margin: 22px 0; color: var(--tx); font-style: italic; }
906.ww-page .article-body code { font-family: var(--fm); font-size: 13px; background: var(--s2); border: 1px solid var(--b1); padding: 2px 6px; border-radius: 4px; color: var(--ww-green); }
907.ww-page .article-body pre { background: var(--s1); border: 1px solid var(--b1); border-radius: 5px; padding: 18px; overflow-x: auto; margin: 0 0 22px; }
908.ww-page .article-body pre code { background: none; border: none; padding: 0; color: var(--tx); }
909.ww-page .article-body img { max-width: 100%; border-radius: 5px; margin: 22px 0; }
910.ww-page .article-tags { display: flex; gap: 6px; flex-wrap: wrap; max-width: 720px; margin: 32px auto 0; align-items: center; }
911.ww-page .article-tags .tags-label { display: inline-flex; align-items: center; gap: 6px; padding: 5px 11px; border: 1px solid var(--b2); border-radius: 5px; font-family: var(--fm); font-size: 9.5px; font-weight: 700; color: var(--tx2); text-transform: uppercase; letter-spacing: 0.12em; }
912.ww-page .article-tags .tags-label::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: var(--tx); }
913
914/* Article cover with green gradient top accent */
915.ww-page .article-cover-card { max-width: 960px; margin: 0 auto; aspect-ratio: 16 / 9; border-radius: 5px; overflow: hidden; border: 1px solid var(--b2); background: var(--s1); position: relative; box-shadow: none; }
916.ww-page .article-cover-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(34,197,94,0.5), transparent); z-index: 2; }
917.ww-page .article-cover-card img { width: 100%; height: 100%; object-fit: cover; display: block; }
918
919/* Article meta row in hero */
920.ww-page .article-meta-row { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 6px; justify-content: center; margin: 0 auto 24px; padding: 6px 14px; border: 1px solid var(--b2); border-radius: 999px; background: var(--s1); font-family: var(--fm); font-size: 11px; color: var(--tx2); letter-spacing: 0.04em; }
921.ww-page .article-meta-row span, .ww-page .article-meta-row a { display: inline-flex; align-items: center; gap: 5px; color: inherit; }
922.ww-page .article-meta-row a:hover { color: var(--ww-green); }
923.ww-page .article-meta-row .sep { color: var(--tx4); }
924.ww-page .article-meta-row i { font-size: 12px; color: var(--ww-green); }
925
926/* Editorial article + sticky "On this page" TOC layout */
927.ww-page .article-layout { max-width: 1080px; margin: 0 auto; padding: 0 32px; display: grid; grid-template-columns: 236px minmax(0, 1fr); gap: 64px; align-items: start; }
928.ww-page .article-main { min-width: 0; max-width: 760px; }
929/* TOC sits in the left rail (comes after the main content in the DOM). */
930/* align-self: stretch overrides the grid's align-items:start so the TOC cell
931   fills the full row height, giving the sticky inner room to travel. */
932.ww-page .article-layout .article-toc { order: -1; align-self: stretch; }
933.ww-page .article-layout .article-hero { max-width: none; margin: 0; padding-top: 0; text-align: left; }
934.ww-page .article-layout .article-hero .eyebrow { margin-bottom: 14px; }
935.ww-page .article-layout .article-hero h1 { margin: 6px 0 16px; }
936.ww-page .article-layout .article-cover-card { max-width: none; margin: 24px 0 0; }
937.ww-page .article-layout .article-body { max-width: none; margin: 0; }
938.ww-page .article-layout .article-tags { max-width: none; margin-left: 0; margin-right: 0; }
939.ww-page .article-hero-desc { font-size: 18px; color: var(--tx2); line-height: 1.6; margin: 0 0 22px; }
940.ww-page .article-meta-left { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; font-family: var(--fm); font-size: 12px; color: var(--tx2); letter-spacing: 0.02em; margin: 0; }
941.ww-page .article-meta-left a, .ww-page .article-meta-left span { display: inline-flex; align-items: center; gap: 6px; color: inherit; }
942.ww-page .article-meta-left a:hover { color: var(--ww-green); }
943.ww-page .article-meta-left .sep { color: var(--tx4); }
944.ww-page .article-meta-left i { font-size: 13px; color: var(--ww-green); }
945
946.ww-page .article-toc { position: relative; }
947.ww-page .article-toc-inner { position: sticky; top: 100px; max-height: calc(100vh - 130px); overflow-y: auto; }
948.ww-page .article-toc-head { display: block; font-family: var(--fm); font-size: 10px; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; color: var(--tx); margin: 0 0 14px; padding-left: 15px; }
949.ww-page .article-toc nav ul { display: flex; flex-direction: column; gap: 1px; border-left: 1px solid var(--b2); }
950.ww-page .article-toc nav a { display: block; padding: 6px 0 6px 15px; margin-left: -1px; border-left: 2px solid transparent; font-size: 12.5px; line-height: 1.45; color: var(--tx2); transition: color 0.15s, border-color 0.15s; }
951.ww-page .article-toc nav li.sub a { padding-left: 28px; font-size: 12px; }
952.ww-page .article-toc nav a:hover { color: var(--tx); }
953.ww-page .article-toc nav a.active { color: var(--tx); border-left-color: var(--tx); font-weight: 600; }
954@media (max-width: 1024px) {
955  .ww-page .article-layout { grid-template-columns: 1fr; padding: 0 24px; gap: 0; }
956  .ww-page .article-toc { display: none; }
957}
958@media (max-width: 720px) {
959  .ww-page .article-layout { padding: 0 20px; }
960  .ww-page .article-hero-desc { font-size: 16px; }
961}
962
963/* Key highlights (Key takeaways) card */
964.ww-page .kh-card { background: var(--s1); border: 1px solid var(--b2); border-radius: 5px; padding: 26px 28px 22px; margin: 0 0 32px; position: relative; overflow: hidden; }
965.ww-page .kh-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(34,197,94,0.5), transparent); }
966.ww-page .kh-tag { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 6px; background: var(--green-bg); color: var(--ww-green); font-family: var(--fm); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 700; margin-bottom: 16px; }
967.ww-page .kh-list { display: flex; flex-direction: column; gap: 12px; }
968.ww-page .kh-item { display: flex; gap: 14px; align-items: flex-start; font-size: 14.5px; line-height: 1.55; color: var(--tx); }
969.ww-page .kh-num { flex-shrink: 0; width: 24px; height: 24px; border-radius: 50%; background: var(--green-bg-2); color: var(--ww-green); display: flex; align-items: center; justify-content: center; font-family: var(--fh); font-size: 12px; font-weight: 700;
969 margin-top: 1px; }
970
971/* Read in your favourite LLM */
972.ww-page .read-in-llm { background: var(--s1); border: 1px solid var(--b2); border-radius: 5px; padding: 22px 24px; margin: 0 0 32px; position: relative; overflow: hidden; }
973.ww-page .read-in-llm::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(96,165,250,0.5), transparent); }
974.ww-page .ril-head { display: flex; flex-direction: column; gap: 6px; margin-bottom: 16px; }
975.ww-page .ril-tag { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 6px; background: rgba(96,165,250,0.10); color: #60A5FA; font-family: var(--fm); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 700; align-self: flex-start; }
976.ww-page .ril-sub { font-size: 13px; color: var(--tx2); line-height: 1.5; }
977.ww-page .ril-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
978.ww-page .ril-btn { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid var(--b1); border-radius: 5px; background: var(--s2); color: var(--tx); font-family: var(--fh); font-size: 13px; font-weight: 500; transition: all 0.15s; text-decoration: none; min-width: 0; cursor: pointer; }
979.ww-page .ril-btn:hover { border-color: var(--b3); background: var(--s3); transform: translateY(-1px); }
980.ww-page .ril-btn.ril-btn-active { border-color: var(--ww-green); background: var(--green-bg); }
981/* Neutral tile now that it holds a real brand favicon rather than a white
982   glyph on a brand-coloured square: the logos carry their own colour, and a
983   coloured backing would fight them — Google's four-colour mark on a blue
984   tile especially. Same surface treatment as the engines wall. */
985.ww-page .ril-icon { width: 28px; height: 28px; border-radius: 7px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; background: var(--s3); border: 1px solid var(--b1); overflow: hidden; }
986.ww-page .ril-icon img { width: 20px; height: 20px; object-fit: contain; border-radius: 3px; }
987.ww-page .ril-icon-fallback { font-family: var(--fh); font-size: 13px; font-weight: 600; color: var(--tx2); }
988.ww-page .ril-name { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
989.ww-page .ril-arrow { font-size: 14px; color: var(--tx3); flex-shrink: 0; transition: color 0.15s, transform 0.15s; }
990.ww-page .ril-btn:hover .ril-arrow { color: var(--ww-green); transform: translate(2px, -2px); }
991.ww-page .ril-btn.ril-btn-active .ril-arrow { color: var(--ww-green); }
992
993/* Confirmation banner */
994.ww-page .ril-banner { display: flex; align-items: flex-start; gap: 12px; padding: 14px 16px; margin: 0 0 14px; background: var(--green-bg); border: 1px solid rgba(34,197,94,0.30); border-radius: 5px; animation: ril-banner-in 0.25s ease-out; }
995@keyframes ril-banner-in { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } }
996.ww-page .ril-banner-fail { background: rgba(251,191,36,0.08); border-color: rgba(251,191,36,0.3); }
997.ww-page .ril-banner-icon { width: 26px; height: 26px; border-radius: 50%; background: var(--ww-green); color: var(--bg); display: flex; align-items: center; justify-content: center; font-size: 14px; flex-shrink: 0; }
998.ww-page .ril-banner-fail .ril-banner-icon { background: #FBBF24; color: #1F1300; }
999.ww-page .ril-banner-body { display: flex; flex-direction: column; gap: 4px; font-size: 13px; line-height: 1.5; color: var(--tx); flex: 1; min-width: 0; }
1000.ww-page .ril-banner-body strong { font-family: var(--fh); font-size: 13.5px; font-weight: 600; color: var(--tx); }
1001.ww-page .ril-banner-body span { color: var(--tx2); }
1002.ww-page .ril-banner-body kbd { font-family: var(--fm); font-size: 11px; font-weight: 700; padding: 2px 7px; border: 1px solid var(--b3); border-bottom-width: 2px; border-radius: 5px; background: var(--s2); color: var(--tx); margin: 0 2px; }
1003.ww-page .ril-banner-fallback { margin-top: 8px; width: 100%; min-height: 80px; padding: 10px 12px; border: 1px solid var(--b2); border-radius: 5px; background: var(--s1); color: var(--tx); font-family: var(--fm); font-size: 12px; line-height: 1.5; resize: vertical; }
1004.ww-page .ril-banner-link { display: inline-flex; align-items: center; gap: 6px; margin-top: 10px; padding: 8px 14px; background: var(--ww-green); color: var(--bg); border-radius: 5px; font-family: var(--fh); font-size: 13px; font-weight: 600; text-decoration: none; align-self: flex-start; transition: background 0.15s, transform 0.15s; }
1005.ww-page .ril-banner-link:hover { background: rgba(34,197,94,0.85); transform: translateY(-1px); }
1006.ww-page .ril-banner-link i { font-size: 14px; }
1007.ww-page .ril-banner-fallback:focus { outline: 1px solid var(--ww-green); outline-offset: 0; }
1008
1009@media (max-width: 720px) {
1010  .ww-page .read-in-llm { padding: 18px; }
1011  .ww-page .ril-grid { grid-template-columns: 1fr 1fr; }
1012  .ww-page .ril-name { font-size: 12.5px; }
1013  .ww-page .ril-banner { padding: 12px 14px; }
1014}
1015@media (max-width: 420px) {
1016  .ww-page .ril-grid { grid-template-columns: 1fr; }
1017}
1018
1019/* Inline mid-article CTA */
1020.ww-page .inline-cta { display: grid; grid-template-columns: 1fr auto; gap: 20px; align-items: center; padding: 26px 28px; margin: 36px 0; background: linear-gradient(135deg, var(--s2) 0%, var(--s1) 100%); border: 1px solid var(--b2); border-radius: 5px; position: relative; overflow: hidden; }
1021.ww-page .inline-cta::before { content: ''; position: absolute; top: -40%; right: -10%; width: 320px; height: 320px; background: radial-gradient(circle, rgba(34,197,94,0.08) 0%, transparent 60%); pointer-events: none; }
1022.ww-page .inline-cta-body { position: relative; z-index: 2; }
1023.ww-page .inline-cta-tag { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 6px; background: var(--green-bg); color: var(--ww-green); font-family: var(--fm); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 700; margin-bottom: 10px; }
1024.ww-page .inline-cta h3 { font-family: var(--fh); font-size: 18px; font-weight: 600; letter-spacing: -0.015em; line-height: 1.3; color: var(--tx); margin: 0 0 6px; }
1025.ww-page .inline-cta p { font-size: 13.5px; color: var(--tx2); line-height: 1.5; margin: 0; }
1026.ww-page .inline-cta .btn { position: relative; z-index: 2; flex-shrink: 0; }
1027@media (max-width: 720px) {
1028  .ww-page .inline-cta { grid-template-columns: 1fr; padding: 22px; }
1029  .ww-page .inline-cta .btn { width: 100%; justify-content: center; }
1030}
1031
1032/* Author card (testimonial-style avatar gradient) */
1033.ww-page .author-card-new { display: flex; gap: 16px; align-items: flex-start; padding: 24px 26px; margin-top: 32px; background: var(--s1); border: 1px solid var(--b1); border-radius: 5px; text-decoration: none; transition: border-color 0.25s; }
1034.ww-page .author-card-new:hover { border-color: var(--b2); }
1035.ww-page .author-card-new .author-avatar-grad { width: 52px; height: 52px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: var(--fh); font-weight: 700; font-size: 18px; color: #fff; flex-shrink: 0; background: linear-gradient(135deg, #22C55E 0%, #60A5FA 100%); }
1036.ww-page .author-card-new-body { flex: 1; min-width: 0; }
1037.ww-page .author-card-new-tag { font-family: var(--fm); font-size: 9.5px; font-weight: 700; color: var(--tx3); text-transform: uppercase; letter-spacing: 0.12em; margin-bottom: 8px; display: block; }
1038.ww-page .author-card-new h4 { font-family: var(--fh); font-size: 16px; font-weight: 600; color: var(--tx); margin: 0 0 2px; display: inline-flex; align-items: center; gap: 6px; }
1039.ww-page .author-card-new h4 i { font-size: 14px; color: #60A5FA; }
1040.ww-page .author-card-new .role { font-family: var(--fm); font-size: 10.5px; color: var(--ww-green); text-transform: uppercase; letter-spacing: 0.08em; margin: 0 0 10px; }
1041.ww-page .author-card-new .bio { font-size: 13px; color: var(--tx2); line-height: 1.6; margin: 0 0 12px; }
1042.ww-page .author-card-new .author-link { display: inline-flex; align-items: center; gap: 4px; font-family: var(--fh); font-size: 12px; font-weight: 600; color: var(--ww-green); text-transform: uppercase; letter-spacing: 0.04em; }
1043.ww-page .author-card-new .author-link i { font-size: 12px; transition: transform 0.15s; }
1044.ww-page .author-card-new:hover .author-link i { transform: translateX(3px); }
1045
1046.ww-page .show-more { text-align: center; margin-top: 28px; }
1047.ww-page .show-more button { background: transparent; color: var(--tx); border: 1px solid var(--b3); border-radius: 5px; padding: 11px 20px; font-family: var(--fh); font-size: 13px; font-weight: 600; display: inline-flex; align-items: center; gap: 8px; transition: all 0.2s; }
1048.ww-page .show-more button:hover { border-color: var(--ww-green); color: var(--ww-green); }
1049.ww-page .show-more button i { transition: transform 0.2s; }
1050.ww-page .show-more button.open i { transform: rotate(180deg); }
1051
1052.ww-page .cta-wrap { padding: 56px 32px 96px; }
1053.ww-page .cta-section { padding: 56px 40px; max-width: 1080px; margin: 0 auto; border: 1px solid var(--b2); border-radius: 5px; text-align: center; position: relative; overflow: hidden; background: linear-gradient(180deg, var(--s2) 0%, var(--s1) 100%); }
1054.ww-page .cta-section::before { content: ''; position: absolute; top: -50%; left: 50%; transform: translateX(-50%); width: 600px; height: 600px; background: radial-gradient(circle, rgba(34,197,94,0.06) 0%, transparent 60%); pointer-events: none; }
1055.ww-page .cta-section .eyebrow { margin-bottom: 14px; }
1056.ww-page .cta-section h2 { font-family: var(--fh); font-size: clamp(24px, 2.8vw, 34px); font-weight: 600; letter-spacing: -0.025em; margin: 0 0 12px; position: relative; z-index: 2;
1056 color: var(--tx); line-height: 1.1; }
1057.ww-page .cta-section p { font-size: 15px; color: var(--tx2); margin: 0 auto 24px; max-width: 520px; position: relative; z-index: 2; font-weight: 400; line-height: 1.55; }
1058.ww-page .cta-btns { display: flex; justify-content: center; gap: 10px; position: relative; z-index: 2; flex-wrap: wrap; }
1059.ww-page .cta-helper { font-family: var(--fm); font-size: 11px; color: var(--tx3); margin-top: 16px; letter-spacing: 0.06em; text-transform: uppercase; position: relative; z-index: 2; }
1060
1061.ww-page .grid-bg { position: absolute; inset: 0; pointer-events: none; z-index: 0; background-image: linear-gradient(rgba(17,17,17,0.015) 1px, transparent 1px), linear-gradient(90deg, rgba(17,17,17,0.015) 1px, transparent 1px); background-size: 80px 80px; opacity: 0.6; }
1062
1063@media (max-width: 1024px) {
1064  :root { --sp-sec: 48px; }
1065  .ww-page .crumbs { padding: 88px 24px 0; }
1066  .ww-page .hero { padding: 32px 24px 48px; }
1067  .ww-page .hero-inner.split { grid-template-columns: 1fr; gap: 32px; align-items: stretch; }
1068  .ww-page .hero-inner.split h1 { max-width: 100%; }
1069  .ww-page .card-grid, .ww-page .card-grid.cols-4 { grid-template-columns: repeat(2, 1fr); }
1070  .ww-page .feature-list { grid-template-columns: repeat(2, 1fr); }
1071  .ww-page .related { grid-template-columns: repeat(2, 1fr); }
1072  .ww-page .tiers, .ww-page .test-grid, .ww-page .res-grid { grid-template-columns: repeat(2, 1fr); }
1073  .ww-page .two-col { grid-template-columns: 1fr; gap: 28px; }
1074  .ww-page .container, .ww-page .container-narrow { padding: 0 24px; }
1075  .ww-page .cta-wrap { padding: 56px 24px 96px; }
1076  .ww-page .grid-bg { background-size: 50px 50px; }
1077  .ww-page .compare-wrap { overflow-x: auto; }
1078  .ww-page .ct-head, .ww-page .ct-row { min-width: 700px; }
1079  .ww-page .article-layout { grid-template-columns: 1fr !important; }
1080}
1081@media (max-width: 720px) {
1082  :root { --sp-sec: 40px; }
1083  .ww-page .crumbs { padding: 96px 20px 0; font-size: 10px; }
1084  .ww-page .crumbs .sep { margin: 0 8px; }
1085  .ww-page .hero { padding: 28px 20px 40px; }
1086  .ww-page .hero h1 { font-size: clamp(26px, 7vw, 34px); }
1087  .ww-page .hero-sub { font-size: 15px; margin-bottom: 22px; }
1088  .ww-page .hero-stat-panel { padding: 20px 20px 6px; }
1089  .ww-page .hsp-val { font-size: 22px; }
1090  .ww-page .hero-ctas { flex-direction: column; align-items: stretch; }
1091  .ww-page .hero-ctas .btn { width: 100%; }
1092  .ww-page .card-grid, .ww-page .card-grid.cols-4, .ww-page .feature-list, .ww-page .related, .ww-page .tiers, .ww-page .test-grid, .ww-page .res-grid { grid-template-columns: 1fr; }
1093  .ww-page .author-card { flex-direction: column; text-align: center; gap: 12px; }
1094  .ww-page .article-body { font-size: 15px; }
1095  .ww-page .form-row { grid-template-columns: 1fr; }
1096  .ww-page .timeline-item { grid-template-columns: 60px 1fr; gap: 14px; }
1097  .ww-page .sec-head { margin-bottom: 28px; }
1098  .ww-page .sec-head h2 { font-size: clamp(22px, 5.5vw, 28px); }
1099  .ww-page .sec-head p { font-size: 14px; }
1100  .ww-page .jt-head, .ww-page .jt-row { grid-template-columns: 1.4fr 0.7fr 0.7fr; padding: 12px 16px; gap: 8px; }
1101  .ww-page .jt-head > :nth-child(4), .ww-page .jt-row > :nth-child(4) { display: none; }
1102  .ww-page .jt-task { font-size: 13px; }
1103  .ww-page .cta-wrap { padding: 40px 20px 64px; }
1104  .ww-page .cta-section { padding: 40px 22px; border-radius: 5px; }
1105  .ww-page .cta-section h2 { font-size: clamp(22px, 5.5vw, 28px); }
1106  .ww-page .cta-btns { flex-direction: column; align-items: stretch; }
1107  .ww-page .cta-btns .btn { width: 100%; }
1108  .ww-page .container, .ww-page .container-narrow { padding: 0 20px; }
1109  .ww-page .card, .ww-page .sol-card { padding: 20px 18px; }
1110}
1111@media (max-width: 420px) {
1112  :root { --sp-sec: 32px; }
1113  .ww-page .crumbs { padding: 96px 16px 0; font-size: 9.5px; letter-spacing: 0.06em; }
1114  .ww-page .crumbs .sep { margin: 0 6px; }
1115  .ww-page .hero { padding: 24px 16px 32px; }
1116  .ww-page .container, .ww-page .container-narrow { padding: 0 16px; }
1117  .ww-page .cta-section { padding: 32px 18px; }
1118  .ww-page .cta-wrap { padding: 32px 16px 48px; }
1119  .ww-page .faq-item summary { font-size: 14px; padding: 16px 2px; }
1120  .ww-page .faq-item .faq-body { font-size: 13.5px; }
1121  .ww-page .jt-head, .ww-page .jt-row { padding: 10px 12px; }
1122  .ww-page .jt-task { font-size: 12.5px; }
1123  .ww-page .hsp-val { font-size: 20px; }
1124  .ww-page .hsp-lbl { font-size: 11px; }
1125}
1126
1127/* Heading size, weight and tracking are owned by the enforced scale in
1128   app/globals.css, which ports the platform's values and wins here through
1129   !important. The per-section sizes declared above are therefore inert, and
1130   kept so the old scale can be restored from one place. Casing only here. */
1131.ww-page h1, .ww-page h2, .ww-page h3, .ww-page h4, .ww-page h5 { text-transform: capitalize; }
1132/* Quotes and brand logos stay light / as-written. */
1133.ww-page .faq-item summary { font-weight: 700 !important; }
1134.ww-page .test-quote, .ww-page .case-quote, .ww-page .test-logo, .ww-page .case-logo { font-weight: 400 !important; text-transform: none; }
1135/* Long-form article prose keeps readable, sentence-case headings. */
1136.ww-page .article-body h2, .ww-page .article-body h3 { font-weight: 600 !important; text-transform: none; letter-spacing: -0.01em; }
1137.ww-page .feature-list .feat, .ww-page .jt-task { font-weight: 600; }
1138
1139/* Alternating gradient / white section backgrounds (colour-varied) */
1140.ww-page-tinted section { background-repeat: no-repeat; }
1141.ww-page-tinted section:nth-of-type(even) { background-image: none; }
1142.ww-page-tinted section:nth-of-type(10n+1) { background-image: radial-gradient(60% 70% at 8% -8%, rgba(34,197,94,0.13), transparent 60%), radial-gradient(55% 65% at 96% 108%, rgba(34,197,94,0.07), transparent 62%); }
1143.ww-page-tinted section:nth-of-type(10n+3) { background-image: radial-gradient(60% 70% at 92% -8%, rgba(96,165,250,0.13), transparent 60%), radial-gradient(55% 65% at 4% 108%, rgba(96,165,250,0.07), transparent 62%); }
1144.ww-page-tinted section:nth-of-type(10n+5) { background-image: radial-gradient(60% 70% at 10% 108%, rgba(167,139,250,0.13), transparent 60%), radial-gradient(55% 65% at 90% -8%, rgba(167,139,250,0.07), transparent 62%); }
1145.ww-page-tinted section:nth-of-type(10n+7) { background-image: radial-gradient(62% 72% at 88% 108%, rgba(251,191,36,0.11), transparent 60%), radial-gradient(55% 65% at 6% -8%, rgba(251,191,36,0.06), transparent 62%); }
1146.ww-page-tinted section:nth-of-type(10n+9) { background-image: radial-gradient(62% 60% at 50% -10%, rgba(34,211,238,0.11), transparent 60%), radial-gradient(55% 60% at 50% 110%, rgba(34,211,238,0.06), transparent 62%); }
1147.ww-page-tinted .hero.hero-mesh-on { background-image: none !important; }
1148/* Dark mode: middle sections on plain black (the washes only suit light mode). */
1149.dark .ww-page-tinted section:not(.hero) { background-image: none; background-color: var(--bg); }
1150      </style><div class="ww-page"><div class="grid-bg" aria-hidden="true"></div>
1150<script type="application/ld+json">{"@context":"https://schema.org","@type":"CollectionPage","url":"https://www.writeworks.ai/resources/blogs","name":"Blog Posts: AEO & AI Search Insights","description":"Latest thinking on AI search visibility, AEO, citation tracking, and the content engine behind every answer engine.","isPartOf":{"@type":"WebSite","name":"WriteWorks","url":"https://www.writeworks.ai"}}</script>
1150<nav class="crumbs crumbs-center" aria-label="Breadcrumb"><a href="/">Home</a><span class="sep">/</span><a href="/resources">Resources</a><span class="sep">/</span><span class="current">Blog posts</span></nav><section class="hero"><div class="hero-glow" aria-hidden="true"></div><div class="hero-inner center"><span class="eyebrow"><span class="dot"></span> <!-- -->Blog</span><h1>Blog Posts: AEO &amp; AI Search Insights</h1><p class="hero-sub">Latest thinking on AI search visibility, AEO, citation tracking, and the content engine behind every answer engine.</p></div></section><section class="section"><div class="container"><div style="text-align:center;padding:60px 0"><p style="color:var(--tx2);font-size:15px;margin-bottom:16px">No <!-- -->blog posts<!-- --> available yet.</p><a class="btn btn-secondary" href="/resources">View all resources</a></div></div></section><section class="ww-final-cta"><div class="ww-final-cta-card"><h2>Stop reading. Start winning AI search.</h2><p class="ww-final-cta-desc">See exactly where you stand on ChatGPT, Claude, Gemini, and Perplexity, then ship the content that earns the citation.</p><div class="ww-final-cta-btns"><a href="https://platform.writeworks.ai/sign-up" class="ww-final-cta-primary">Start free trial<!-- --> <i class="ti ti-arrow-right" aria-hidden="true"></i></a><a class="ww-final-cta-secondary" href="/pricing">See pricing</a></div></div><style>
1151        .ww-final-cta { padding: 56px 32px 96px; }
1152        .ww-final-cta-card {
1153          max-width: 1080px; margin: 0 auto; padding: 56px 40px;
1154          border: 1px solid #E5E5E5; border-radius: 5px;
1155          background: linear-gradient(180deg, #FAFAFA 0%, #F5F5F5 100%);
1156          text-align: center; position: relative; overflow: hidden;
1157        }
1158        .ww-final-cta-card::before {
1159          content: ''; position: absolute; top: -50%; left: 50%; transform: translateX(-50%);
1160          width: 600px; height: 600px; pointer-events: none;
1161          background: radial-gradient(circle, rgba(34,197,94,0.06) 0%, transparent 60%);
1162        }
1163        .ww-final-cta-card h2 {
1164          font-family: var(--sans, 'Inter', system-ui, sans-serif);
1165          font-size: clamp(24px, 2.8vw, 34px); font-weight: 600; letter-spacing: -0.025em;
1166          text-transform: capitalize; color: #0A0A0A; line-height: 1.1;
1167          margin: 0 0 12px; position: relative; z-index: 2;
1168        }
1169        .ww-final-cta-desc {
1170          font-family: var(--sans, 'Inter', system-ui, sans-serif);
1171          font-size: 15px; line-height: 1.55; color: #717171;
1172          max-width: 560px; margin: 0 auto 24px; position: relative; z-index: 2;
1173        }
1174        .ww-final-cta-btns {
1175          display: flex; justify-content: center; gap: 10px; flex-wrap: wrap;
1176          position: relative; z-index: 2;
1177        }
1178        .ww-final-cta .ww-final-cta-primary, .ww-final-cta .ww-final-cta-secondary {
1179          display: inline-flex; align-items: center; justify-content: center; gap: 8px;
1180          font-family: var(--sans, 'Inter', system-ui, sans-serif);
1181          font-size: 14px; font-weight: 700; letter-spacing: -0.005em;
1182          padding: 12px 24px; border-radius: 5px; text-decoration: none;
1183          transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease, border-color 0.15s ease;
1184        }
1185        /* Compound selectors so the button colours beat the shell's
1186           .ww-page a color:inherit (0,0,1,1) rule that would otherwise
1187           render the primary label in the dark page text colour. */
1188        .ww-final-cta .ww-final-cta-primary {
1189          color: #FFFFFF; background: #000000; border: 1px solid #000000;
1190          box-shadow: 4px 4px 0 rgba(34,197,94,0.18);
1191        }
1192        .ww-final-cta .ww-final-cta-primary i { color: #FFFFFF; }
1193        .ww-final-cta .ww-final-cta-primary:hover { color: #FFFFFF; background: #1a1a1a; box-shadow: 6px 6px 0 rgba(34,197,94,0.18); transform: translate(-2px,-2px); }
1194        .ww-final-cta .ww-final-cta-primary:active { color: #FFFFFF; box-shadow: 2px 2px 0 rgba(34,197,94,0.18); transform: translate(1px,1px); }
1195        .ww-final-cta .ww-final-cta-secondary {
1196          color: #0A0A0A; background: transparent; border: 1px solid #E5E5E5;
1197        }
1198        .ww-final-cta .ww-final-cta-secondary:hover { background: #F5F5F5; border-color: #A1A1A1; }
1199        .ww-final-cta-helper {
1200          font-family: var(--mono, 'Geist Mono', ui-monospace, monospace);
1201          font-size: 11px; color: #717171; margin: 16px 0 0; letter-spacing: 0.06em;
1202          text-transform: uppercase; position: relative; z-index: 2;
1203        }
1204        @media (max-width: 720px) {
1205          .ww-final-cta { padding: 40px 20px 64px; }
1206          .ww-final-cta-card { padding: 40px 22px; }
1207          .ww-final-cta-btns { flex-direction: column; align-items: stretch; }
1208          .ww-final-cta-primary, .ww-final-cta-secondary { width: 100%; }
1209        }
1210      </style></section></div></div>
1210<script>$RS=function(a,b){a=document.getElementById(a);b=document.getElementById(b);for(a.parentNode.removeChild(a);a.firstChild;)b.parentNode.insertBefore(a.firstChild,b);b.parentNode.removeChild(b)};$RS("S:2","P:2")</script>
1210<script>$RC("B:1","S:1")</script>
1210</body></html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.