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 & 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 & 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.