/* Page-owned editorial styling; the shared header, footer and consent shell remain owned by their accepted stylesheets. */
body[data-helper-page]{--method-ink:#1d1d21;--method-paper:#edebeb;--method-violet:#7430ea;--method-magenta:#dd1672;--method-muted:#66636c;background:#edebeb;color:var(--method-ink);font-family:Onest,Arial,sans-serif;padding-top:200px}
body[data-helper-page] .gg-header{position:absolute;inset:0 0 auto;min-height:125px;background:#f5f3f5;color:#1d1d21;box-shadow:0 1px 0 rgb(29 29 33 / 8%)}
.method-page{width:min(100%,1440px);margin:0 auto;padding:44px clamp(24px,7vw,104px) 112px;color:var(--method-ink)}
.method-page *{box-sizing:border-box}
.method-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.36fr);gap:clamp(36px,8vw,112px);align-items:center;min-height:430px;padding:64px clamp(24px,5vw,72px);border-radius:24px;background:#7430ea;color:#fff;overflow:hidden}
.method-hero::after{content:"";position:absolute;width:390px;height:390px;right:-108px;bottom:-190px;border:1px solid rgb(255 255 255 / 25%);border-radius:50%;box-shadow:0 0 0 42px rgb(255 255 255 / 7%),0 0 0 84px rgb(255 255 255 / 6%)}
.method-hero__copy,.method-hero__aside{position:relative;z-index:1}.method-kicker{margin:0 0 16px;color:#7430ea;font-size:12px;font-weight:800;letter-spacing:.16em;line-height:1.5;text-transform:uppercase}.method-hero .method-kicker{color:#f6b0d0}
.method-page h1,.method-page h2,.method-page h3{margin:0;font-family:Involve,Onest,Arial,sans-serif;letter-spacing:-.035em}
.method-page h1{max-width:760px;color:#fff;font-size:clamp(42px,5vw,70px);font-weight:700;line-height:1.04}
.method-lede{max-width:720px;margin:24px 0 30px;color:#f4efff;font-size:18px;line-height:1.7}
.method-button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:54px;padding:14px 20px;border:0;border-radius:999px;background:#dd1672;color:#fff;font:700 15px/1.3 Onest,Arial,sans-serif;text-decoration:none;cursor:pointer;transition:transform .18s ease,background-color .18s ease}.method-button:hover{background:#bd0e60;color:#fff;text-decoration:none;transform:translateY(-2px)}
.method-hero__aside{align-self:stretch;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:28px 10px}.principle-mark{display:block;color:#fff;font-size:68px;font-weight:800;letter-spacing:-.1em;line-height:.9}.principle-mark span{display:inline-block;margin-left:8px;color:#f6b0d0;font-size:20px;letter-spacing:.06em}.method-hero__aside p{margin:24px 0;color:#fff;font-size:19px;font-weight:700;line-height:1.55}.aside-rule{width:70px;height:5px;border-radius:6px;background:#f6b0d0}
.method-section{position:relative;display:grid;grid-template-columns:56px minmax(0,1fr);gap:clamp(20px,4vw,60px);padding:88px clamp(8px,3.3vw,48px);border-bottom:1px solid #d1cfd2}.method-section:last-child{border-bottom:0}.section-number{padding-top:4px;color:#7430ea;font-size:14px;font-weight:800;letter-spacing:.12em}.section-content{min-width:0;max-width:980px}.method-page h2{max-width:850px;margin:0 0 22px;color:#1d1d21;font-size:clamp(32px,4vw,48px);line-height:1.12}.section-content>p:not(.method-kicker){max-width:820px;color:#46434b;font-size:17px;line-height:1.75}.section-content>p+p{margin-top:18px}
.purpose-section{grid-template-columns:56px minmax(0,1fr) minmax(210px,.42fr);align-items:center}.purpose-note{padding:26px;border-radius:16px;background:#f7ddec;color:#321a36}.purpose-note p{margin:14px 0 0;font-size:16px;font-weight:700;line-height:1.55}.note-symbol{color:#dd1672;font-size:30px}
.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:34px}.detail-card{min-height:190px;padding:23px;border:1px solid #d5d2d7;border-radius:14px;background:#f8f7f8}.detail-index{display:inline-grid;width:34px;height:34px;place-items:center;border-radius:50%;background:#7430ea;color:#fff;font-size:13px;font-weight:800}.method-page h3{margin-top:20px;font-size:19px;line-height:1.3}.detail-card p{margin:9px 0 0;color:#625f68;font-size:14px;line-height:1.6}
.category-visual{position:relative;min-height:250px;margin-top:34px;border-radius:18px;background:#21172e;overflow:hidden}.category-orbit{position:absolute;top:50%;left:50%;border:1px solid rgb(255 255 255 / 24%);border-radius:50%;transform:translate(-50%,-50%) rotate(-18deg)}.orbit-one{width:70%;height:150px}.orbit-two{width:52%;height:204px;transform:translate(-50%,-50%) rotate(28deg)}.orbit-core{position:absolute;top:50%;left:50%;display:grid;width:118px;height:118px;place-content:center;border-radius:50%;background:#7430ea;color:white;font-weight:800;line-height:1.4;text-align:center;transform:translate(-50%,-50%)}.orbit-label{position:absolute;padding:8px 13px;border:1px solid rgb(255 255 255 / 28%);border-radius:999px;background:#30243c;color:#fff;font-size:13px}.orbit-label--one{top:20%;left:18%}.orbit-label--two{right:15%;top:28%}.orbit-label--three{bottom:15%;left:42%}
.language-callout{display:flex;gap:22px;align-items:flex-start;margin-top:30px;padding:26px 30px;border-left:5px solid #dd1672;border-radius:0 14px 14px 0;background:#f7ddec}.quote-mark{color:#dd1672;font-family:Georgia,serif;font-size:56px;line-height:.8}.language-callout p{margin:0;color:#321a36;font-size:18px;font-weight:700;line-height:1.6}
.text-link{display:inline-flex;gap:12px;align-items:center;margin-top:20px;color:#5b20c4;font-weight:800;text-underline-offset:4px}.link-path{display:flex;align-self:center;align-items:center;gap:14px;justify-content:center;padding:18px;border-radius:999px;background:#21172e;color:#fff;font-size:13px;font-weight:700}.link-path b{color:#f6b0d0;font-size:20px}
.update-track{display:grid;grid-template-columns:1fr 44px 1fr 44px 1fr;align-items:center;margin-top:36px;padding:24px;border-radius:16px;background:#f8f7f8}.update-track>div{display:grid;grid-template-columns:18px 1fr;gap:5px 10px;align-items:center}.update-track strong{font-size:13px}.update-track small{grid-column:2;color:#716d76;font-size:11px;line-height:1.4}.update-track i{height:1px;background:#c5bdcd}.track-dot{width:13px;height:13px;border-radius:50%;background:#7430ea;box-shadow:0 0 0 5px #e8dfff}.track-dot--open{background:#dd1672;box-shadow:0 0 0 5px #f9d6e7}
.limits-panel{display:flex;gap:18px;margin-top:32px;padding:24px;border:1px solid #dfb5cc;border-radius:14px;background:#f7ddec}.limits-icon{display:grid;flex:0 0 38px;width:38px;height:38px;place-items:center;border-radius:50%;background:#dd1672;color:#fff;font-weight:800}.limits-panel h3{margin:0;font-size:18px}.limits-panel p{margin:8px 0 0;color:#51414c;font-size:15px;line-height:1.6}
.contact-section{padding-bottom:24px}.correction-form{margin-top:32px;padding:clamp(20px,4vw,36px);border-radius:18px;background:#f8f7f8}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.form-field{display:grid;gap:8px}.form-field label{font-size:14px;font-weight:800}.form-field input,.form-field textarea{width:100%;min-height:50px;padding:13px 14px;border:1px solid #bcb8c1;border-radius:8px;background:#fff;color:#1d1d21;font:inherit}.form-field textarea{min-height:140px;resize:vertical}.form-field input:focus,.form-field textarea:focus{outline:3px solid #d9c3ff;outline-offset:1px;border-color:#7430ea}.form-field--wide{grid-column:1/-1}.field-hint{color:#716d76;font-size:12px}.field-error{min-height:0;color:#a30f52;font-size:13px}.field-error:not(:empty){padding:5px 8px;border-radius:5px;background:#fbe4ef}.form-field [aria-invalid="true"]{border-color:#a30f52}.form-status{min-height:1em;color:#a30f52;font-size:14px}.form-submit{margin-top:12px;background:#7430ea}.form-submit:hover{background:#5c20c8}
/* Retired catalogue experiment: .legacy-rank-chip { display:inline-flex; border:1px solid #7430ea; background:#f5efff; } .legacy-rank-chip[data-evidence="missing"]::after { content:"Details awaiting editorial review"; } Kept only as a design note; the current guide has no scoring badges. */
@media(max-width:900px){.method-page{padding-inline:28px}.method-hero{grid-template-columns:1fr minmax(170px,.35fr);gap:26px;padding-inline:34px}.purpose-section{grid-template-columns:42px minmax(0,1fr)}.purpose-note{grid-column:2;max-width:520px}.detail-grid{grid-template-columns:1fr}.detail-card{min-height:0}}
@media(max-width:620px){body[data-helper-page]{padding-top:200px}.method-page{padding:26px 16px 72px}.method-hero{grid-template-columns:1fr;gap:10px;min-height:0;padding:34px 24px;border-radius:18px}.method-hero__aside{display:grid;grid-template-columns:70px 1fr;align-items:center;gap:0 18px;padding:10px 0 0}.principle-mark{font-size:48px}.principle-mark span{font-size:14px}.method-hero__aside p{margin:0;font-size:14px}.aside-rule{display:none}.method-page h1{font-size:clamp(36px,10vw,52px)}.method-lede{font-size:16px;line-height:1.65}.method-section,.purpose-section{grid-template-columns:34px minmax(0,1fr);gap:12px;padding:56px 2px}.method-page h2{font-size:clamp(29px,8vw,38px)}.section-content>p:not(.method-kicker){font-size:15px}.purpose-note{grid-column:2}.category-visual{min-height:210px}.orbit-one{width:82%;height:130px}.orbit-two{width:66%;height:178px}.update-track{grid-template-columns:1fr;gap:16px;padding:20px}.update-track>i{width:1px;height:20px;margin-left:6px}.update-track>div{grid-template-columns:18px 1fr}.form-grid{grid-template-columns:1fr}.form-field--wide{grid-column:auto}.link-path{grid-column:2;flex-wrap:wrap}.method-button{max-width:100%}}
@media(max-width:360px){.method-page{padding-inline:12px}.method-hero{padding-inline:18px}.method-section,.purpose-section{grid-template-columns:26px minmax(0,1fr);gap:8px}.method-kicker{font-size:10px}.language-callout{gap:12px;padding:20px 16px}.language-callout p{font-size:16px}.category-visual{min-height:190px}}
@media(prefers-reduced-motion:reduce){.method-page *, .method-page *::before, .method-page *::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
.method-page.reveal-ready [data-product-contract="TZ_2"]{opacity:0;transform:translateY(18px);transition:opacity .48s ease,transform .48s cubic-bezier(.2,.7,.2,1)}
.method-page.reveal-ready [data-product-contract="TZ_2"].is-settled{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.method-page.reveal-ready [data-product-contract="TZ_2"]{opacity:1;transform:none;transition:none}}
.method-page .listing-section,.method-page .category-section,.method-page .language-section,.method-page .links-section,.method-page .updates-section,.method-page .limits-section{display:grid}
.method-page .hero-subtitle{margin:14px 0 0;color:#fff;font-size:clamp(22px,2.5vw,30px);line-height:1.2;letter-spacing:-.02em}.hero-support{max-width:720px;margin:0 0 28px;color:#e8dcff;font-size:15px;line-height:1.65}
body[data-helper-page] .gg-header{position:absolute!important;background:#f5f3f5!important;color:#1d1d21!important}
.method-hero__aside{isolation:isolate}.editorial-art{position:absolute;z-index:-1;right:-45px;bottom:-45px;width:min(100%,330px);height:330px;object-fit:contain;object-position:center;opacity:.22;filter:saturate(.8)}
/* Retired editorial routing sketch, preserved as a non-running design note:
   const candidateLane = new Map();
   for (const entry of importedListings) {
     const themes = normaliseVisibleThemes(entry.tags || []);
     const deviceNotes = (entry.platforms || []).filter(label => label && label.length < 48);
     const categoryKey = themes.sort().join('|') || 'needs-editorial-context';
     if (!candidateLane.has(categoryKey)) candidateLane.set(categoryKey, []);
     candidateLane.get(categoryKey).push({ title: entry.title, deviceNotes, reviewed: false });
   }
   // An editor would inspect each grouping for duplicate labels and misleading claims.
   // It deliberately assigns no points, winner status, or promise of suitability.
   return [...candidateLane.entries()].map(([theme, listings]) => ({ theme, listings }));
   This proposal was not adopted; live category labels remain a browsing aid. */
.method-page .hero-subtitle{font-family:Involve,Onest,Arial,sans-serif;font-weight:700}
body[data-helper-page]{--homepage-region-edge-color:#edebeb!important;background-color:#edebeb!important;color:#1d1d21!important;padding-top:200px!important;font-family:Onest,Arial,sans-serif!important}
@media(max-width:600px){.method-hero__aside .editorial-art{right:0}}
