/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[2].use[1]!./node_modules/next/dist/build/webpack/loaders/next-font-loader/index.js??ruleSet[1].rules[14].oneOf[2].use[2]!./node_modules/next/font/google/target.css?{"path":"src/app/layout.tsx","import":"Fraunces","arguments":[{"subsets":["latin"],"variable":"--font-display-serif","display":"swap","style":["normal","italic"]}],"variableName":"display"} ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* vietnamese */
@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url(/_next/static/media/f3deaf8281908ff2-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url(/_next/static/media/c62081b071647022-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url(/_next/static/media/6ba5f591ae6c56f6-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/_next/static/media/fb526027db1fc1ae-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/_next/static/media/4da3161b738b07dd-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/_next/static/media/af4bf8399d1aacdf-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}@font-face {font-family: 'Fraunces Fallback';src: local("Times New Roman");ascent-override: 84.71%;descent-override: 22.09%;line-gap-override: 0.00%;size-adjust: 115.45%
}.__className_c5b148 {font-family: 'Fraunces', 'Fraunces Fallback'
}.__variable_c5b148 {--font-display-serif: 'Fraunces', 'Fraunces Fallback'
}

/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[2].use[1]!./node_modules/next/dist/build/webpack/loaders/next-font-loader/index.js??ruleSet[1].rules[14].oneOf[2].use[2]!./node_modules/next/font/google/target.css?{"path":"src/app/layout.tsx","import":"Plus_Jakarta_Sans","arguments":[{"subsets":["latin"],"variable":"--font-jakarta","display":"swap"}],"variableName":"jakarta"} ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* cyrillic-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url(/_next/static/media/6fe53d21e6e7ebd8-s.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* vietnamese */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url(/_next/static/media/8ebc6e9dde468c4a-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url(/_next/static/media/9e7b0a821b9dfcb4-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url(/_next/static/media/636a5ac981f94f8b-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}@font-face {font-family: 'Plus Jakarta Sans Fallback';src: local("Arial");ascent-override: 98.88%;descent-override: 21.15%;line-gap-override: 0.00%;size-adjust: 104.98%
}.__className_646807 {font-family: 'Plus Jakarta Sans', 'Plus Jakarta Sans Fallback';font-style: normal
}.__variable_646807 {--font-jakarta: 'Plus Jakarta Sans', 'Plus Jakarta Sans Fallback'
}

/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[2].use[1]!./node_modules/next/dist/build/webpack/loaders/next-font-loader/index.js??ruleSet[1].rules[14].oneOf[2].use[2]!./node_modules/next/font/google/target.css?{"path":"src/app/layout.tsx","import":"Inter","arguments":[{"subsets":["latin"],"variable":"--font-inter","display":"swap"}],"variableName":"inter"} ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/_next/static/media/ba9851c3c22cd980-s.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/_next/static/media/21350d82a1f187e9-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/_next/static/media/df0a9ae256c0569c-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/_next/static/media/8e9860b6e62d6359-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}@font-face {font-family: 'Inter Fallback';src: local("Arial");ascent-override: 90.44%;descent-override: 22.52%;line-gap-override: 0.00%;size-adjust: 107.12%
}.__className_f367f3 {font-family: 'Inter', 'Inter Fallback';font-style: normal
}.__variable_f367f3 {--font-inter: 'Inter', 'Inter Fallback'
}

/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[2].use[1]!./node_modules/next/dist/build/webpack/loaders/next-font-loader/index.js??ruleSet[1].rules[14].oneOf[2].use[2]!./node_modules/next/font/google/target.css?{"path":"src/app/layout.tsx","import":"JetBrains_Mono","arguments":[{"subsets":["latin"],"variable":"--font-mono-cr","display":"swap"}],"variableName":"mono"} ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* cyrillic-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url(/_next/static/media/886030b0b59bc5a7-s.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url(/_next/static/media/0aa834ed78bf6d07-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url(/_next/static/media/67957d42bae0796d-s.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url(/_next/static/media/f911b923c6adde36-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url(/_next/static/media/939c4f875ee75fbb-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url(/_next/static/media/bb3ef058b751a6ad-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}@font-face {font-family: 'JetBrains Mono Fallback';src: local("Arial");ascent-override: 75.79%;descent-override: 22.29%;line-gap-override: 0.00%;size-adjust: 134.59%
}.__className_3c557b {font-family: 'JetBrains Mono', 'JetBrains Mono Fallback';font-style: normal
}.__variable_3c557b {--font-mono-cr: 'JetBrains Mono', 'JetBrains Mono Fallback'
}

/*!*****************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[3]!./src/app/globals.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************/
/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
@layer properties;
@layer theme, base, components, utilities;
@layer theme {
  :root, :host {
    --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
      "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --font-mono: var(--font-mono-cr), "JetBrains Mono", ui-monospace, monospace;
    --spacing: 0.25rem;
    --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
    --default-transition-duration: 150ms;
    --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
    --color-bg: #FAF6EE;
    --color-bg-deep: #F4EFE2;
    --color-cream: #FFFBF2;
    --color-ink: #1A1E1B;
    --color-ink-soft: #3E443F;
    --color-ink-mute: #6B6F66;
    --color-sage: #84A98C;
    --color-sage-deep: #5D8267;
    --color-clay: #D08B5B;
    --color-clay-deep: #A86A3F;
    --color-coral: #C56B5C;
    --color-coral-deep: #A4513F;
    --color-rule: #E5DDD0;
    --font-display: var(--font-display-serif), "Fraunces", Georgia, "Times New Roman", serif;
    --font-body: var(--font-jakarta), "Plus Jakarta Sans", -apple-system, system-ui, sans-serif;
    --ease-soft: cubic-bezier(0.4, 0, 0.2, 1);
  }
}
@layer base {
  *, ::after, ::before, ::backdrop, ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }
  html, :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }
  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }
  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }
  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }
  b, strong {
    font-weight: bolder;
  }
  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }
  small {
    font-size: 80%;
  }
  sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  :-moz-focusring {
    outline: auto;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol, ul, menu {
    list-style: none;
  }
  img, svg, video, canvas, audio, iframe, embed, object {
    display: block;
    vertical-align: middle;
  }
  img, video {
    max-width: 100%;
    height: auto;
  }
  button, input, select, optgroup, textarea, ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    border-radius: 0;
    background-color: transparent;
    opacity: 1;
  }
  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }
  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }
  ::file-selector-button {
    margin-inline-end: 4px;
  }
  ::placeholder {
    opacity: 1;
  }
  @supports (not (-webkit-appearance: -apple-pay-button))  or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentcolor;
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }
  textarea {
    resize: vertical;
  }
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }
  ::-webkit-datetime-edit {
    display: inline-flex;
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }
  ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }
  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }
  :-moz-ui-invalid {
    box-shadow: none;
  }
  button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button {
    appearance: button;
  }
  ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}
@layer utilities {
  .collapse {
    visibility: collapse;
  }
  .invisible {
    visibility: hidden;
  }
  .visible {
    visibility: visible;
  }
  .absolute {
    position: absolute;
  }
  .fixed {
    position: fixed;
  }
  .relative {
    position: relative;
  }
  .static {
    position: static;
  }
  .sticky {
    position: sticky;
  }
  .mt-4 {
    margin-top: calc(var(--spacing) * 4);
  }
  .mt-5 {
    margin-top: calc(var(--spacing) * 5);
  }
  .mt-6 {
    margin-top: calc(var(--spacing) * 6);
  }
  .mt-9 {
    margin-top: calc(var(--spacing) * 9);
  }
  .mt-10 {
    margin-top: calc(var(--spacing) * 10);
  }
  .mt-12 {
    margin-top: calc(var(--spacing) * 12);
  }
  .mt-16 {
    margin-top: calc(var(--spacing) * 16);
  }
  .mb-3 {
    margin-bottom: calc(var(--spacing) * 3);
  }
  .mb-4 {
    margin-bottom: calc(var(--spacing) * 4);
  }
  .mb-5 {
    margin-bottom: calc(var(--spacing) * 5);
  }
  .mb-6 {
    margin-bottom: calc(var(--spacing) * 6);
  }
  .mb-7 {
    margin-bottom: calc(var(--spacing) * 7);
  }
  .mb-8 {
    margin-bottom: calc(var(--spacing) * 8);
  }
  .mb-10 {
    margin-bottom: calc(var(--spacing) * 10);
  }
  .mb-12 {
    margin-bottom: calc(var(--spacing) * 12);
  }
  .mb-14 {
    margin-bottom: calc(var(--spacing) * 14);
  }
  .block {
    display: block;
  }
  .contents {
    display: contents;
  }
  .flex {
    display: flex;
  }
  .grid {
    display: grid;
  }
  .hidden {
    display: none;
  }
  .inline {
    display: inline;
  }
  .inline-block {
    display: inline-block;
  }
  .inline-flex {
    display: inline-flex;
  }
  .table {
    display: table;
  }
  .min-h-screen {
    min-height: 100vh;
  }
  .w-full {
    width: 100%;
  }
  .flex-1 {
    flex: 1;
  }
  .grow {
    flex-grow: 1;
  }
  .transform {
    transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
  }
  .grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .grid-cols-\[28px_1fr_auto\] {
    grid-template-columns: 28px 1fr auto;
  }
  .flex-col {
    flex-direction: column;
  }
  .flex-wrap {
    flex-wrap: wrap;
  }
  .items-baseline {
    align-items: baseline;
  }
  .items-center {
    align-items: center;
  }
  .items-end {
    align-items: flex-end;
  }
  .justify-between {
    justify-content: space-between;
  }
  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }
  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }
  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }
  .gap-6 {
    gap: calc(var(--spacing) * 6);
  }
  .gap-9 {
    gap: calc(var(--spacing) * 9);
  }
  .self-center {
    align-self: center;
  }
  .rounded {
    border-radius: 0.25rem;
  }
  .rounded-full {
    border-radius: calc(infinity * 1px);
  }
  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }
  .border-b {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }
  .border-dotted {
    --tw-border-style: dotted;
    border-style: dotted;
  }
  .fill-rule {
    fill: var(--color-rule);
  }
  .py-2 {
    padding-block: calc(var(--spacing) * 2);
  }
  .py-4 {
    padding-block: calc(var(--spacing) * 4);
  }
  .pt-4 {
    padding-top: calc(var(--spacing) * 4);
  }
  .pt-10 {
    padding-top: calc(var(--spacing) * 10);
  }
  .text-left {
    text-align: left;
  }
  .text-right {
    text-align: right;
  }
  .font-display {
    font-family: var(--font-display);
  }
  .uppercase {
    text-transform: uppercase;
  }
  .italic {
    font-style: italic;
  }
  .ordinal {
    --tw-ordinal: ordinal;
    font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);
  }
  .line-through {
    text-decoration-line: line-through;
  }
  .underline {
    text-decoration-line: underline;
  }
  .shadow {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .outline {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
  }
  .filter {
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .ease-in-out {
    --tw-ease: var(--ease-in-out);
    transition-timing-function: var(--ease-in-out);
  }
  .sm\:flex {
    @media (width >= 40rem) {
      display: flex;
    }
  }
  .sm\:grid-cols-3 {
    @media (width >= 40rem) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
  .md\:grid-cols-2 {
    @media (width >= 48rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  .md\:grid-cols-3 {
    @media (width >= 48rem) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
  .md\:grid-cols-6 {
    @media (width >= 48rem) {
      grid-template-columns: repeat(6, minmax(0, 1fr));
    }
  }
  .lg\:grid-cols-\[1\.4fr_1fr\] {
    @media (width >= 64rem) {
      grid-template-columns: 1.4fr 1fr;
    }
  }
}
nextjs-portal {
  display: none !important;
}
@layer base {
  html {
    background: var(--color-bg);
    color: var(--color-ink);
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.65;
    font-weight: 400;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
  }
  body {
    background: var(--color-bg);
    background-image: radial-gradient(circle at 20% 15%, rgba(208, 139, 91, 0.05), transparent 40%),
      radial-gradient(circle at 85% 60%, rgba(132, 169, 140, 0.04), transparent 45%),
      radial-gradient(circle at 50% 90%, rgba(197, 107, 92, 0.03), transparent 50%);
    background-attachment: fixed;
    min-height: 100vh;
    position: relative;
    overflow-x: hidden;
  }
  body::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 1;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.1  0 0 0 0 0.1  0 0 0 0 0.1  0 0 0 0.04 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
    opacity: 0.55;
    mix-blend-mode: multiply;
  }
  ::selection {
    background: var(--color-clay);
    color: var(--color-cream);
  }
}
.serif {
  font-family: var(--font-display);
  font-weight: 400;
}
.italic-serif {
  font-family: var(--font-display);
  font-style: normal;
  font-weight: 400;
}
.mono {
  font-family: var(--font-mono);
  font-weight: 300;
}
.eyebrow {
  font-size: 14px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--color-clay-deep);
  font-weight: 600;
}
.eyebrow::before {
  content: "";
  display: inline-block;
  width: 28px;
  height: 1px;
  background: var(--color-clay);
  vertical-align: middle;
  margin-right: 14px;
  transform: translateY(-2px);
}
.kicker {
  font-size: 14px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-ink-mute);
  font-weight: 500;
}
.section-num {
  font-family: var(--font-mono);
  font-weight: 400;
  font-size: 14px;
  color: var(--color-clay);
  letter-spacing: 0.08em;
}
.wrap {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 56px;
  position: relative;
  z-index: 2;
}
@media (max-width: 880px) {
  .wrap {
    padding: 0 24px;
  }
}
.hair {
  border-top: 1px solid var(--color-rule);
}
.hair-dotted {
  border-top: 1px dotted var(--color-rule);
}
.brand {
  font-family: var(--font-display);
  font-style: normal;
  font-size: 26px;
  letter-spacing: -0.005em;
  color: var(--color-ink);
  display: inline-flex;
  align-items: baseline;
  gap: 10px;
}
.brand-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--color-clay);
  display: inline-block;
  transform: translateY(-3px);
}
.bignum {
  font-family: var(--font-display);
  font-style: normal;
  font-weight: 400;
  font-size: clamp(92px, 13vw, 164px);
  line-height: 1.0;
  letter-spacing: -0.01em;
  color: var(--color-coral);
  position: relative;
  display: inline-block;
}
.bignum .currency {
  font-size: 0.5em;
  vertical-align: 0.55em;
  color: var(--color-coral-deep);
  font-style: normal;
  margin-right: 4px;
}
.bignum.premium {
  color: var(--color-sage-deep);
}
.bignum.premium .currency {
  color: var(--color-sage-deep);
}
.listing-card {
  padding: 24px 0;
  border-top: 1px solid var(--color-rule);
  border-bottom: 1px solid var(--color-rule);
}
.listing-card-label {
  font-size: 14px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-ink-mute);
  margin-bottom: 10px;
}
.listing-card-title {
  font-family: var(--font-display);
  font-size: 24px;
  line-height: 1.2;
  letter-spacing: -0.01em;
  margin-bottom: 14px;
}
.listing-meta-row {
  display: flex;
  justify-content: space-between;
  border-bottom: 1px dotted var(--color-rule);
  padding: 6px 0;
  font-size: 14px;
  color: var(--color-ink-soft);
}
.listing-meta-row:last-child {
  border-bottom: none;
}
.listing-meta-row b {
  font-weight: 500;
  color: var(--color-ink);
  font-family: var(--font-mono);
  font-size: 14px;
}
.sub-bar {
  position: relative;
  height: 2px;
  background: var(--color-rule);
  border-radius: 2px;
}
.sub-bar .fill {
  position: absolute;
  inset: 0 auto 0 0;
  border-radius: 2px;
  background: var(--color-sage);
}
.sub-bar.below .fill {
  background: var(--color-coral);
}
.sub-bar .threshold {
  position: absolute;
  top: -6px;
  width: 1px;
  height: 14px;
  background: var(--color-ink);
  opacity: 0.4;
}
.amen-row {
  padding: 20px 0;
  border-bottom: 1px dotted var(--color-rule);
  display: flex;
  align-items: center;
  gap: 18px;
}
.amen-row:last-child {
  border-bottom: none;
}
.amen-glyph {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--color-bg-deep);
  color: var(--color-clay-deep);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.amen-glyph svg {
  width: 14px;
  height: 14px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.amen-row .nm {
  font-family: var(--font-display);
  font-size: 23px;
  letter-spacing: 0;
  flex: 1;
}
.amen-row .tag {
  font-family: var(--font-mono);
  font-size: 14px;
  color: var(--color-clay-deep);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.amen-row .tag.hard {
  color: var(--color-coral-deep);
}
.cr-scan-shell {
  display: flex;
  align-items: stretch;
  gap: 0;
  border-bottom: 1px solid var(--color-ink);
  transition: border-color 200ms var(--ease-soft);
}
.cr-scan-shell:focus-within {
  border-color: var(--color-coral-deep);
}
.cr-scan-input {
  flex: 1;
  background: transparent;
  border: none;
  outline: none;
  font-family: var(--font-display);
  font-style: normal;
  font-size: clamp(20px, 2.4vw, 28px);
  color: var(--color-ink);
  padding: 16px 4px 16px 0;
  min-width: 0;
}
.cr-scan-input::placeholder {
  color: var(--color-ink-mute);
  font-style: normal;
}
.cr-cta {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0 4px;
  font-family: var(--font-mono);
  font-size: 14px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--color-ink);
  transition: color 200ms var(--ease-soft);
}
.cr-cta:hover:not(:disabled) {
  color: var(--color-coral-deep);
}
.cr-cta:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}
.cr-cta .arrow {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: 1px solid currentColor;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-style: normal;
  font-size: 16px;
  line-height: 1;
}
.cr-cta-ghost {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: transparent;
  border: none;
  cursor: pointer;
  font-family: var(--font-mono);
  font-size: 14px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-ink-mute);
  transition: color 200ms var(--ease-soft);
}
.cr-cta-ghost:hover {
  color: var(--color-ink);
}
.reveal {
  opacity: 0;
  transform: translateY(14px);
  animation: cr-reveal 1.1s var(--ease-soft) forwards;
}
@keyframes cr-reveal {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.reveal[data-d="1"] {
  animation-delay: 80ms;
}
.reveal[data-d="2"] {
  animation-delay: 200ms;
}
.reveal[data-d="3"] {
  animation-delay: 320ms;
}
.reveal[data-d="4"] {
  animation-delay: 440ms;
}
.reveal[data-d="5"] {
  animation-delay: 560ms;
}
.reveal[data-d="6"] {
  animation-delay: 680ms;
}
.reveal[data-d="7"] {
  animation-delay: 800ms;
}
.reveal[data-d="8"] {
  animation-delay: 920ms;
}
.reveal[data-d="9"] {
  animation-delay: 1040ms;
}
@media print {
  html, body {
    background: #fff !important;
    color: #111 !important;
  }
  body::before {
    display: none !important;
  }
  body {
    background-image: none !important;
  }
  .no-print {
    display: none !important;
  }
  .reveal {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
  }
  details > summary {
    list-style: none !important;
    pointer-events: none !important;
  }
  details > summary::-webkit-details-marker {
    display: none;
  }
  details {
    display: block !important;
  }
  details > *:not(summary) {
    display: block !important;
  }
  .wrap {
    max-width: 100% !important;
    padding: 0 !important;
  }
  section {
    break-inside: avoid;
  }
  @page {
    margin: 14mm 12mm;
  }
}
@property --tw-rotate-x {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-y {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-z {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-x {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-y {
  syntax: "*";
  inherits: false;
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-ordinal {
  syntax: "*";
  inherits: false;
}
@property --tw-slashed-zero {
  syntax: "*";
  inherits: false;
}
@property --tw-numeric-figure {
  syntax: "*";
  inherits: false;
}
@property --tw-numeric-spacing {
  syntax: "*";
  inherits: false;
}
@property --tw-numeric-fraction {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-ring-inset {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0px;
}
@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}
@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false;
}
@property --tw-ease {
  syntax: "*";
  inherits: false;
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    *, ::before, ::after, ::backdrop {
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-border-style: solid;
      --tw-ordinal: initial;
      --tw-slashed-zero: initial;
      --tw-numeric-figure: initial;
      --tw-numeric-spacing: initial;
      --tw-numeric-fraction: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-outline-style: solid;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-ease: initial;
    }
  }
}

/*!**************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[3]!./src/app/report-editorial.css ***!
  \**************************************************************************************************************************************************************************************************************************************************************************/
/* Editorial report styles — from the approved design-2-editorial mockup, scoped
   under .cr-editorial so they never collide with the app's globals, and wired to
   the fonts the app already loads via next/font (--font-display/-body/-mono). */

.cr-editorial {
  --bg: #FAF6EE;
  --ink: #1A1E1B;
  --sage: #84A98C;
  --clay: #D08B5B;
  --coral: #C56B5C;
  --rule: #E5DDD0;
  --paper-2: #F3ECDF;
  --ink-60: #5A5E59;
  --ink-40: #8A8D87;
  --maxw: 1040px;

  background: var(--bg);
  color: var(--ink);
  font-family: var(--font-body);
  font-weight: 400;
  line-height: 1.62;
  font-size: 16.5px;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
.cr-editorial * { box-sizing: border-box; }
.cr-editorial .wrap { max-width: var(--maxw); margin: 0 auto; padding: 0 40px; }

.cr-editorial .fr { font-family: var(--font-display); font-optical-sizing: auto; font-style: normal; }
.cr-editorial .mono { font-family: var(--font-mono); font-variant-numeric: tabular-nums; }
.cr-editorial .eyebrow { font-size: 11.5px; letter-spacing: .22em; text-transform: uppercase; font-weight: 600; color: var(--clay); }
.cr-editorial .eyebrow.sage { color: var(--sage); }
.cr-editorial .eyebrow.coral { color: var(--coral); }
.cr-editorial .eyebrow.ink { color: var(--ink-40); }
.cr-editorial h1, .cr-editorial h2, .cr-editorial h3 { font-family: var(--font-display); font-weight: 500; font-style: normal; margin: 0; line-height: 1.06; letter-spacing: -.012em; }
.cr-editorial a { color: inherit; text-decoration: none; }
.cr-editorial .hair { border: 0; border-top: 1px solid var(--rule); margin: 0; }
.cr-editorial .hair-ink { border-top: 1.5px solid var(--ink); }

/* cover / masthead */
.cr-editorial .cover { padding: 64px 0 40px; }
.cr-editorial .masthead { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; padding-bottom: 20px; }
.cr-editorial .brandmark { display: flex; align-items: center; gap: 12px; }
.cr-editorial .brandmark .dot { width: 10px; height: 10px; border-radius: 50%; background: var(--clay); }
.cr-editorial .brandmark .name { font-family: var(--font-display); font-weight: 600; font-size: 18px; letter-spacing: .01em; }
.cr-editorial .masthead .meta-right { text-align: right; font-size: 12px; color: var(--ink-60); line-height: 1.7; }
.cr-editorial .masthead .meta-right .mono { color: var(--ink); }
.cr-editorial .cover-body { padding: 40px 0 8px; }
.cr-editorial .cover-eyebrow { margin-bottom: 22px; }
.cr-editorial .cover h1 { font-size: clamp(38px, 6.4vw, 68px); font-weight: 400; letter-spacing: -.02em; max-width: 14ch; }
.cr-editorial .cover .listing-meta { margin-top: 22px; font-size: 14px; color: var(--ink-60); max-width: 60ch; }
.cr-editorial .pull-row { display: grid; grid-template-columns: 1.35fr 1fr; gap: 0; margin-top: 48px; border-top: 1.5px solid var(--ink); }
.cr-editorial .pull-figure { padding: 30px 36px 30px 0; border-right: 1px solid var(--rule); }
.cr-editorial .pull-figure .lead { font-size: 12px; letter-spacing: .18em; text-transform: uppercase; color: var(--coral); font-weight: 600; }
.cr-editorial .pull-figure .big { font-family: var(--font-display); font-weight: 400; font-size: clamp(52px, 9vw, 84px); line-height: .92; letter-spacing: -.03em; color: var(--ink); margin-top: 10px; }
.cr-editorial .pull-figure .big .unit { font-size: .34em; color: var(--ink-60); letter-spacing: 0; }
.cr-editorial .pull-figure .sub { margin-top: 14px; font-size: 13.5px; color: var(--ink-60); max-width: 34ch; }
.cr-editorial .verdict-block { padding: 30px 0 30px 36px; }
.cr-editorial .verdict-block .grade-line { display: flex; align-items: baseline; gap: 14px; margin-bottom: 14px; }
.cr-editorial .verdict-block .grade { font-family: var(--font-display); font-weight: 500; font-size: 40px; line-height: 1; color: var(--coral); }
.cr-editorial .verdict-block .grade-meta { font-size: 12px; letter-spacing: .04em; color: var(--ink-60); text-transform: uppercase; }
.cr-editorial .verdict-block .score-bar { height: 6px; background: var(--paper-2); border: 1px solid var(--rule); border-radius: 3px; overflow: hidden; margin: 4px 0 18px; }
.cr-editorial .verdict-block .score-bar > i { display: block; height: 100%; background: var(--clay); }
.cr-editorial .verdict-block p { font-size: 14px; color: var(--ink); margin: 0; line-height: 1.6; }

/* contents */
/* display:block overrides Tailwind's `.contents` utility (display:contents), whose box
   generates no geometry and silently drops the padding below. */
.cr-editorial .contents { display: block; padding: 64px 0 12px; }
.cr-editorial .contents-head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 18px; }
.cr-editorial .contents-head h2 { font-size: 15px; letter-spacing: .04em; font-weight: 600; }
.cr-editorial .toc-row { display: grid; grid-template-columns: 46px 1fr auto auto; gap: 18px; align-items: center; padding: 14px 0; border-top: 1px solid var(--rule); }
.cr-editorial .toc-row:hover .toc-name { color: var(--clay); }
.cr-editorial .toc-num { font-family: var(--font-mono); font-size: 13px; color: var(--ink-40); }
.cr-editorial .toc-name { font-family: var(--font-display); font-size: 18px; font-weight: 500; transition: color .15s; }
.cr-editorial .toc-name .hl { display: block; font-family: var(--font-body); font-size: 12.5px; color: var(--ink-60); font-weight: 400; margin-top: 3px; line-height: 1.45; max-width: 62ch; }
.cr-editorial .toc-grade { font-family: var(--font-display); font-size: 22px; font-weight: 500; width: 46px; text-align: right; }
.cr-editorial .toc-sev { width: 11px; height: 11px; border-radius: 50%; }
.cr-editorial .sev-ok { background: var(--sage); }
.cr-editorial .sev-watch { background: var(--clay); }
.cr-editorial .sev-loss { background: var(--coral); }
.cr-editorial .g-ok { color: var(--sage); }
.cr-editorial .g-watch { color: var(--clay); }
.cr-editorial .g-loss { color: var(--coral); }

/* section scaffold */
.cr-editorial section.diag { padding: 56px 0 8px; }
.cr-editorial .sec-head { display: grid; grid-template-columns: auto 1fr auto; gap: 22px; align-items: start; padding-bottom: 26px; }
.cr-editorial .sec-num { font-family: var(--font-display); font-weight: 300; font-size: 54px; line-height: .8; color: var(--rule); letter-spacing: -.03em; }
.cr-editorial .sec-titlewrap .eyebrow { margin-bottom: 8px; }
.cr-editorial .sec-titlewrap h2 { font-size: clamp(26px, 4vw, 38px); font-weight: 400; letter-spacing: -.02em; max-width: 18ch; }
.cr-editorial .sec-grade { text-align: right; }
.cr-editorial .sec-grade .g { font-family: var(--font-display); font-size: 34px; font-weight: 500; line-height: 1; }
.cr-editorial .sec-grade .s { font-family: var(--font-mono); font-size: 11px; color: var(--ink-40); letter-spacing: .05em; margin-top: 6px; }
.cr-editorial .insight { font-family: var(--font-display); font-weight: 300; font-size: clamp(19px, 2.6vw, 24px); line-height: 1.42; letter-spacing: -.01em; color: var(--ink); max-width: 48ch; margin: 0 0 4px; padding-left: 22px; border-left: 2px solid var(--clay); }
.cr-editorial section.diag.loss .insight { border-left-color: var(--coral); }
.cr-editorial section.diag.ok .insight { border-left-color: var(--sage); }

/* key/value */
.cr-editorial .kv { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 0; margin: 34px 0 8px; border-top: 1px solid var(--rule); }
.cr-editorial .kv .cell { padding: 16px 18px 16px 0; border-bottom: 1px solid var(--rule); }
.cr-editorial .kv .k { font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-40); font-weight: 600; }
.cr-editorial .kv .v { font-family: var(--font-display); font-size: 26px; font-weight: 500; margin-top: 6px; line-height: 1; }

/* table */
.cr-editorial .dtable { width: 100%; border-collapse: collapse; margin-top: 28px; font-size: 13.5px; }
.cr-editorial .dtable th { text-align: left; font-weight: 600; font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-40); padding: 0 14px 10px 0; border-bottom: 1.5px solid var(--ink); }
.cr-editorial .dtable th.r, .cr-editorial .dtable td.r { text-align: right; padding-right: 0; }
.cr-editorial .dtable td { padding: 13px 14px 13px 0; border-bottom: 1px solid var(--rule); vertical-align: middle; }
.cr-editorial .dtable td.mono { font-family: var(--font-mono); font-size: 13px; }
.cr-editorial .dtable tr.host td { background: rgba(208, 139, 91, .07); font-weight: 600; }
.cr-editorial .dtable .tname { font-weight: 500; }

.cr-editorial .blocktitle { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--ink-40); font-weight: 600; margin: 38px 0 0; }
.cr-editorial .caption-note { font-size: 12px; color: var(--ink-40); margin-top: 10px; }

.cr-editorial .mbar { display: flex; align-items: center; gap: 10px; }
.cr-editorial .mbar .track { flex: 1; height: 6px; background: var(--paper-2); border-radius: 3px; overflow: hidden; min-width: 60px; max-width: 140px; }
.cr-editorial .mbar .track > i { display: block; height: 100%; }
.cr-editorial .mbar .pct { font-family: var(--font-mono); font-size: 12px; color: var(--ink-60); width: 38px; text-align: right; }

.cr-editorial .tierdot { display: inline-flex; align-items: center; gap: 7px; }
.cr-editorial .tierdot .d { width: 8px; height: 8px; border-radius: 50%; flex: none; }
.cr-editorial .tier-essential { background: var(--ink-40); }
.cr-editorial .tier-high-impact { background: var(--clay); }
.cr-editorial .tier-market-specific { background: var(--sage); }
.cr-editorial .tier-nice-to-have { background: var(--rule); border: 1px solid var(--ink-40); }
.cr-editorial .has-yes { color: var(--sage); font-weight: 600; }
.cr-editorial .has-no { color: var(--coral); font-weight: 600; }

.cr-editorial .twocol { display: grid; grid-template-columns: 1.1fr 1fr; gap: 48px; align-items: start; margin-top: 8px; }
.cr-editorial .twocol.narrow { grid-template-columns: 1fr 1fr; }

.cr-editorial .reco { margin: 40px 0 4px; padding: 6px 0 6px 26px; border-left: 2.5px solid var(--sage); }
.cr-editorial .reco .eyebrow { color: var(--sage); margin-bottom: 10px; display: block; }
.cr-editorial .reco p { font-family: var(--font-display); font-weight: 300; font-size: 19px; line-height: 1.5; margin: 0; max-width: 58ch; }

/* photos */
.cr-editorial .photogrid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 26px 30px; margin-top: 30px; }
.cr-editorial .photo .imgwrap { position: relative; border: 1px solid var(--rule); background: var(--paper-2); aspect-ratio: 4/3; overflow: hidden; }
.cr-editorial .photo .imgwrap img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cr-editorial .photo .tag { position: absolute; top: 10px; left: 10px; font-family: var(--font-mono); font-size: 10px; letter-spacing: .06em; text-transform: uppercase; padding: 4px 8px; background: rgba(26, 30, 27, .82); color: #FAF6EE; border-radius: 2px; }
.cr-editorial .photo .tag.blank { background: rgba(197, 107, 92, .92); }
.cr-editorial .photo .cap { margin-top: 12px; }
.cr-editorial .photo .cap .lbl { font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-40); font-weight: 600; }
.cr-editorial .photo .cap .before { font-size: 13px; color: var(--ink-60); margin: 3px 0 9px; }
.cr-editorial .photo .cap .before.empty { color: var(--coral); }
.cr-editorial .photo .cap .after { font-family: var(--font-display); font-size: 15.5px; font-weight: 400; line-height: 1.4; color: var(--ink); }

.cr-editorial .ratio-big { display: flex; align-items: baseline; gap: 14px; }
.cr-editorial .ratio-big .num { font-family: var(--font-display); font-size: 64px; font-weight: 400; line-height: .9; color: var(--coral); letter-spacing: -.02em; }
.cr-editorial .ratio-big .lbl { font-size: 13px; color: var(--ink-60); max-width: 24ch; }

/* reviews */
.cr-editorial .reviews { margin-top: 6px; }
.cr-editorial .rev { padding: 16px 0; border-bottom: 1px solid var(--rule); display: grid; grid-template-columns: auto 1fr; gap: 18px; }
.cr-editorial .rev .rmeta { font-size: 12px; color: var(--ink-40); }
.cr-editorial .rev .rmeta .nm { font-weight: 600; color: var(--ink); font-size: 13.5px; display: block; }
.cr-editorial .rev .stars { color: var(--clay); font-size: 12px; letter-spacing: 1px; margin-top: 3px; }
.cr-editorial .rev .stars .off { color: var(--rule); }
.cr-editorial .rev .rtext { font-family: var(--font-display); font-weight: 300; font-size: 15.5px; line-height: 1.5; }

/* ask cols */
.cr-editorial .askcols { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; margin-top: 30px; }
.cr-editorial .askcol h4 { font-family: var(--font-body); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; font-weight: 600; margin: 0 0 14px; padding-bottom: 10px; border-bottom: 1.5px solid var(--ink); }
.cr-editorial .askcol.you h4 { color: var(--coral); }
.cr-editorial .askcol.they h4 { color: var(--sage); }
.cr-editorial .askcol .item { padding: 11px 0; border-bottom: 1px solid var(--rule); display: flex; justify-content: space-between; gap: 14px; align-items: baseline; }
.cr-editorial .askcol .item .ch { font-size: 14px; }
.cr-editorial .askcol .item .ct { font-family: var(--font-mono); font-size: 11px; color: var(--ink-40); white-space: nowrap; }

/* footer */
.cr-editorial footer.report-foot { padding: 56px 0 72px; margin-top: 48px; border-top: 1.5px solid var(--ink); }
.cr-editorial .foot-grid { display: grid; grid-template-columns: 1.3fr 1fr; gap: 40px; align-items: start; }
.cr-editorial .foot-grid .lede { font-family: var(--font-display); font-weight: 300; font-size: 18px; line-height: 1.5; max-width: 40ch; }
.cr-editorial .foot-econ { font-size: 12.5px; color: var(--ink-60); line-height: 1.7; }
.cr-editorial .foot-econ .row { display: flex; justify-content: space-between; padding: 8px 0; border-bottom: 1px solid var(--rule); }
.cr-editorial .foot-econ .row .v { font-family: var(--font-mono); color: var(--ink); }
.cr-editorial .foot-econ .note { margin-top: 14px; font-size: 11.5px; color: var(--ink-40); }
.cr-editorial .colophon { margin-top: 40px; font-size: 11px; letter-spacing: .04em; color: var(--ink-40); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; }

.cr-editorial .chart { width: 100%; height: auto; margin-top: 28px; overflow: visible; }
.cr-editorial .chart text { font-family: var(--font-mono); }

@media (max-width: 760px) {
  .cr-editorial .wrap { padding: 0 22px; }
  .cr-editorial .pull-row { grid-template-columns: 1fr; }
  .cr-editorial .pull-figure { border-right: 0; border-bottom: 1px solid var(--rule); padding-right: 0; }
  .cr-editorial .verdict-block { padding-left: 0; }
  .cr-editorial .twocol, .cr-editorial .twocol.narrow { grid-template-columns: 1fr; gap: 28px; }
  .cr-editorial .askcols { grid-template-columns: 1fr; gap: 28px; }
  .cr-editorial .photogrid { grid-template-columns: 1fr; }
  .cr-editorial .toc-row { grid-template-columns: 36px 1fr auto; }
  .cr-editorial .toc-sev { display: none; }
  .cr-editorial .sec-head { grid-template-columns: auto 1fr; }
  .cr-editorial .sec-grade { grid-column: 1 / -1; text-align: left; }
}

/* ---------- Paywall: locked sections + upsell (free report) ---------- */
.diag.locked { opacity: 1; }
.diag.locked .lock-body {
  margin-top: 22px;
  border: 1px dashed var(--rule);
  border-radius: 8px;
  padding: 34px 28px;
  text-align: center;
  background: rgba(0,0,0,0.015);
}
.diag.locked .lock-badge {
  display: inline-block;
  font-size: 10.5px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--clay);
  border: 1px solid var(--clay);
  border-radius: 999px;
  padding: 4px 12px;
  margin-bottom: 14px;
}
.diag.locked .lock-msg {
  font-size: 15px;
  color: var(--ink-60);
  max-width: 46ch;
  margin: 0 auto 18px;
}
.diag.locked .lock-cta {
  display: inline-block;
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--clay);
  text-decoration: none;
  border-bottom: 1px solid var(--clay);
  padding-bottom: 2px;
}

.unlock-cta {
  margin: 56px auto;
  max-width: 720px;
  text-align: center;
  background: var(--ink);
  color: var(--paper, #faf6ee);
  border-radius: 12px;
  padding: 48px 40px;
}
.unlock-cta .eyebrow.ink { color: var(--clay); }
.unlock-cta h2 { font-size: 30px; margin: 10px 0 14px; color: var(--paper, #faf6ee); }
.unlock-cta p { font-size: 15px; color: rgba(250,246,238,0.78); max-width: 52ch; margin: 0 auto 26px; }
.unlock-cta .unlock-btn {
  display: inline-block;
  background: var(--clay);
  color: #fff;
  font-size: 16px;
  padding: 14px 32px;
  border-radius: 8px;
  text-decoration: none;
}

/* ---------- Unlock price (50% launch discount) ---------- */
.unlock-cta .unlock-price { margin: 16px 0 24px; display: flex; align-items: center; justify-content: center; gap: 13px; flex-wrap: wrap; }
.unlock-cta .unlock-price .reg { text-decoration: line-through; color: rgba(250,246,238,0.5); font-size: 18px; }
.unlock-cta .unlock-price .now { font-size: 32px; font-weight: 700; color: var(--clay); }
.unlock-cta .unlock-price .off { font-size: 11px; letter-spacing: .07em; text-transform: uppercase; background: var(--clay); color: #fff; border-radius: 999px; padding: 5px 12px; }

/* ---------- Per-section "what it is / how it's calculated" blurb ---------- */
.sec-intro { margin: 16px 0 4px; padding: 13px 17px; background: rgba(0,0,0,0.025); border-left: 3px solid var(--clay); border-radius: 0 8px 8px 0; }
.sec-intro-text { font-size: 13.5px; line-height: 1.55; color: var(--ink-60); margin: 0; }
.sec-intro-ask { font-size: 12px; color: var(--clay); margin: 8px 0 0; font-weight: 500; }

/* ================= Cire side rails (black nav + green opportunity) ================= */
.cr-shell { --paper: #faf6ee; display: flex; min-height: 100vh; background: var(--paper); align-items: flex-start; }

/* Left: black brand + section-nav rail */
.cire-rail {
  width: 340px; flex: none; background: #111; color: #fff; padding: 26px 26px 24px;
  position: sticky; top: 0; align-self: flex-start; height: 100vh; overflow-y: auto;
  display: flex; flex-direction: column; gap: 16px;
}
.cire-rail-brand { display: flex; flex-direction: column; gap: 12px; }
.cire-rail-logo { height: 30px; width: auto; max-width: 150px; object-fit: contain; align-self: flex-start; background: #fff; padding: 7px 11px; border-radius: 7px; }
.cire-rail-sub { font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.5); }
.cire-rail-health { display: flex; align-items: baseline; gap: 9px; }
.cire-rail-health .g { font-family: var(--font-display); font-size: 30px; font-weight: 700; color: #34d17a; line-height: 1; }
.cire-rail-health .s { font-size: 11.5px; color: rgba(255,255,255,.6); line-height: 1.35; }
.cire-rail-nav { display: flex; flex-direction: column; gap: 1px; }
.cire-rail-nav .cr-nav-row { display: flex; align-items: center; gap: 9px; padding: 6px 9px; border-radius: 7px; text-decoration: none; color: rgba(255,255,255,.72); }
.cire-rail-nav .cr-nav-row:hover { background: rgba(255,255,255,.06); color: #fff; }
.cire-rail-nav .cr-nav-row .n { flex: none; width: 18px; font-size: 10.5px; color: rgba(255,255,255,.32); font-variant-numeric: tabular-nums; }
.cire-rail-nav .cr-nav-row .t { flex: 1; min-width: 0; font-size: 12px; line-height: 1.25; }
.cire-rail-nav .cr-nav-row .g { flex: none; font-family: var(--font-display); font-size: 15px; font-weight: 600; }
.cire-rail-foot { margin-top: auto; padding-top: 13px; border-top: 1px solid rgba(255,255,255,.14); font-size: 10.5px; color: rgba(255,255,255,.45); line-height: 1.6; }

.cr-main { flex: 1; min-width: 0; background: var(--bg); }
.cr-hero-mount { display: block; }

/* Right: green opportunity rail */
.cr-oppo-rail {
  width: 328px; flex: none; background: #01752f; color: #fff; padding: 30px 26px;
  position: sticky; top: 0; align-self: flex-start; height: 100vh; overflow-y: auto;
  display: flex; flex-direction: column;
}
.cr-oppo-eye { font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: rgba(255,255,255,.72); font-weight: 600; }
.cr-oppo-sum { padding-bottom: 20px; margin-bottom: 20px; border-bottom: 1px solid rgba(255,255,255,.22); }
.cr-oppo-grade { font-family: var(--font-display); font-size: 44px; font-weight: 700; line-height: 1; margin-top: 4px; }
.cr-oppo-money { font-family: var(--font-display); font-size: 27px; font-weight: 700; line-height: 1; margin-top: 14px; color: #fff; }
.cr-oppo-scoreline { font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: rgba(255,255,255,.72); margin-top: 4px; }
.cr-oppo-body h2 { font-family: var(--font-display); font-size: 25px; line-height: 1.12; font-weight: 600; margin: 8px 0 10px; color: #fff; }
.cr-oppo-body p { font-size: 12.5px; color: rgba(255,255,255,.9); line-height: 1.5; }
.cr-oppo-focus { list-style: none; margin: 6px 0 0; padding: 0; display: flex; flex-direction: column; gap: 13px; }
.cr-oppo-focus li { display: flex; gap: 11px; align-items: baseline; }
.cr-oppo-focus .g { font-family: var(--font-display); font-size: 19px; font-weight: 700; line-height: 1; min-width: 20px; }
.cr-oppo-focus-txt { display: flex; flex-direction: column; gap: 2px; }
.cr-oppo-focus-txt .nm { color: #fff; font-weight: 600; font-size: 13.5px; line-height: 1.25; }
.cr-oppo-focus-txt .hl { color: rgba(255,255,255,.75); font-size: 12px; line-height: 1.35; }
.cr-oppo-chips { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 18px; }
.cr-oppo-chip { background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.28); border-radius: 999px; padding: 6px 11px; font-size: 11.5px; }
.cr-oppo-foot { margin-top: auto; padding-top: 16px; font-size: 10.5px; color: rgba(255,255,255,.62); line-height: 1.5; }

/* Stack the rails on narrow screens: left rail -> compact top bar (nav hidden; the
   in-body "Contents at a glance" serves navigation), opportunity rail -> card at end. */
@media (max-width: 1080px) {
  .cr-shell { flex-direction: column; align-items: stretch; }
  .cire-rail, .cr-oppo-rail { width: auto; height: auto; position: static; overflow: visible; }
  .cire-rail { flex-direction: row; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 22px; }
  .cire-rail-brand { flex-direction: row; align-items: center; gap: 12px; }
  .cire-rail-sub { display: none; }
  .cire-rail-nav, .cire-rail-foot { display: none; }
  .cire-rail-health { margin-left: auto; }
  .cr-oppo-rail { order: 3; flex-direction: column; }
}

.cr-hook { padding: 56px 0 30px; }
.cr-hook-row { display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; }
.eyebrow.cire { color: #01752f; }
.cr-hook-grade { font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-60); }
.cr-hook-grade .fr { font-size: 15px; color: #01752f; font-weight: 700; }
.cr-hook-title { font-size: 21px; font-weight: 600; color: var(--ink-60); margin-bottom: 28px; }
.cr-hook-label { font-size: 18px; color: var(--ink-60); }
.cr-hook-num { font-size: 92px; font-weight: 700; line-height: 0.95; color: #01752f; letter-spacing: -0.025em; margin-top: 4px; }
.cr-hook-unit { font-size: 27px; color: var(--ink-60); font-weight: 400; }
.cr-hook-how { font-size: 17px; line-height: 1.55; max-width: 54ch; color: var(--ink); margin-top: 20px; }
.cr-hook-trust { display: inline-flex; align-items: center; gap: 8px; margin-top: 20px; font-size: 13px; color: #015024; background: #e9f3ec; border: 1px solid #cfe6d6; border-radius: 999px; padding: 8px 15px; }
.cr-editorial .cr-hook-cta { display: block; width: fit-content; margin-top: 28px; background: #01752f; color: #fff; font-weight: 600; font-size: 15px; padding: 14px 28px; border-radius: 10px; text-decoration: none; box-shadow: 0 6px 18px rgba(1,117,47,0.18); transition: background .15s ease, transform .15s ease; }
.cr-editorial .cr-hook-cta:hover { background: #015a24; transform: translateY(-1px); color: #fff; }

/* Above-the-fold explainer (how it's calculated / why trust it / how to capture it) */
.cr-hook-explain { margin-top: 20px; max-width: 56ch; }
.cr-hook-explain p { font-size: 14px; line-height: 1.55; color: var(--ink); margin-top: 9px; }
.cr-hook-explain p:first-child { margin-top: 0; }
.cr-hook-explain .lab { color: #01752f; font-weight: 700; }
.cr-hook-explain b { font-weight: 600; }

/* ================= New dark, full-bleed above-the-fold hero (locked design) ================= */
.cr-editorial .cr-hook.cr-hero {
  position: relative; padding: 0; margin: 0; width: 100%;
  min-height: 700px; overflow: hidden; background: #050505; color: #fff;
  display: flex; align-items: center; isolation: isolate;
}
.cr-hero .cr-hero-photo { position: absolute; inset: 0; background-size: cover; background-position: center 42%; filter: saturate(1.05) contrast(1.02); z-index: 0; }
.cr-hero .cr-hero-grad {
  position: absolute; inset: 0; z-index: 1;
  background:
    linear-gradient(180deg, rgba(5,5,5,.72) 0%, rgba(5,5,5,.34) 30%, rgba(5,5,5,.40) 62%, rgba(5,5,5,.94) 100%),
    linear-gradient(90deg, rgba(5,5,5,.92) 0%, rgba(5,5,5,.66) 34%, rgba(5,5,5,.24) 68%, rgba(5,5,5,.40) 100%),
    radial-gradient(120% 90% at 18% 50%, rgba(1,117,47,.24) 0%, rgba(1,117,47,0) 55%);
}
.cr-hero .cr-hero-topbar { position: absolute; top: 0; left: 0; right: 0; height: 4px; z-index: 4; background: linear-gradient(90deg,#01752f 0%,#34d17a 48%,#01752f 100%); }
.cr-hero .cr-hero-top { position: absolute; top: 24px; left: 0; right: 0; z-index: 4; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 0 clamp(22px,5%,56px); }
.cr-hero .cr-hero-brand { display: flex; align-items: center; gap: 14px; padding: 9px 15px; border-radius: 11px; background: rgba(10,14,12,.46); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border: 1px solid rgba(255,255,255,.12); }
/* content-box so the box renders at 40px total (24px logo + 8px padding), matching the
   approved mockup's .ah-logo — the app's global border-box was shrinking it. */
.cr-hero .cr-hero-logo { box-sizing: content-box; height: 24px; width: auto; display: block; background: #fff; padding: 8px 12px; border-radius: 8px; }
.cr-hero .cr-hero-bdiv { width: 1px; height: 20px; background: rgba(255,255,255,.28); }
.cr-hero .cr-hero-btag { font-size: 11px; letter-spacing: .24em; text-transform: uppercase; color: rgba(255,255,255,.66); font-weight: 600; }
.cr-hero .cr-hero-listing { font-size: 10.5px; letter-spacing: .18em; text-transform: uppercase; color: rgba(255,255,255,.6); font-weight: 600; display: flex; align-items: center; gap: 9px; max-width: 46%; overflow: hidden; }
.cr-hero .cr-hero-listing { white-space: nowrap; text-overflow: ellipsis; }
.cr-hero .cr-hero-dot { width: 6px; height: 6px; border-radius: 50%; background: #34d17a; box-shadow: 0 0 10px rgba(52,209,122,.9); flex: none; }
.cr-hero .cr-hero-content { position: relative; z-index: 3; width: 100%; max-width: 1000px; padding: 94px clamp(22px,5%,64px) 42px; }
.cr-hero .cr-hero-eyebrow { display: inline-flex; align-items: center; gap: 9px; font-size: 11.5px; letter-spacing: .2em; text-transform: uppercase; font-weight: 600; color: #34d17a; margin-bottom: 15px; }
.cr-hero .cr-hero-eyebrow .ico { display: inline-flex; width: 20px; height: 20px; align-items: center; justify-content: center; border-radius: 6px; background: rgba(52,209,122,.18); border: 1px solid rgba(52,209,122,.4); font-size: 11px; }
/* The approved hero mockup sets its sans-serif text in Inter (not the app's Plus Jakarta
   Sans body font); the money row is Fraunces including the lead. Match both. */
.cr-editorial .cr-hero { font-family: var(--font-inter), "Inter", system-ui, -apple-system, sans-serif; }
.cr-hero .cr-hero-money { font-family: var(--font-display); line-height: 1.02; letter-spacing: -.01em; margin-bottom: 10px; text-shadow: 0 2px 26px rgba(0,0,0,.55); }
.cr-hero .cr-hero-money .lead { display: block; font-size: clamp(20px,3vw,30px); font-weight: 500; color: rgba(255,255,255,.92); margin-bottom: 2px; }
.cr-hero .cr-hero-money .big { display: inline; font-size: clamp(58px,10vw,112px); font-weight: 700; color: #34d17a; text-shadow: 0 0 46px rgba(52,209,122,.4), 0 6px 40px rgba(0,0,0,.5); }
.cr-hero .cr-hero-money .tail { display: inline; font-size: clamp(22px,4vw,40px); font-weight: 500; color: rgba(255,255,255,.94); margin-left: 12px; }
.cr-hero .cr-hero-sub { font-size: 15px; color: rgba(255,255,255,.78); margin-bottom: 26px; max-width: 560px; line-height: 1.5; text-shadow: 0 1px 14px rgba(0,0,0,.6); }
.cr-hero .cr-hero-drivers { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 13px; margin-bottom: 28px; max-width: 900px; }
.cr-hero .cr-hero-tile { position: relative; padding: 15px 16px 15px 18px; border-radius: 13px; background: rgba(10,13,11,.56); border: 1px solid rgba(255,255,255,.13); -webkit-backdrop-filter: blur(9px); backdrop-filter: blur(9px); display: flex; gap: 12px; align-items: flex-start; }
.cr-hero .cr-hero-tile::before { content: ""; position: absolute; left: 0; top: 15px; bottom: 15px; width: 3px; border-radius: 3px; background: #34d17a; }
.cr-hero .cr-hero-tico { flex: none; width: 34px; height: 34px; border-radius: 10px; background: rgba(52,209,122,.16); border: 1px solid rgba(52,209,122,.32); display: flex; align-items: center; justify-content: center; }
.cr-hero .cr-hero-tico svg { width: 17px; height: 17px; display: block; }
.cr-hero .cr-hero-tlabel { font-size: 10.5px; letter-spacing: .18em; text-transform: uppercase; font-weight: 700; color: #34d17a; margin-bottom: 5px; }
.cr-hero .cr-hero-ttxt p { font-size: 12.5px; line-height: 1.46; color: rgba(255,255,255,.9); margin: 0; }
.cr-hero .cr-hero-ttxt .hi, .cr-hero .cr-hero-ttxt .amen { color: #fff; font-weight: 600; }
.cr-hero .cr-hero-cta-row { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; margin-top: 4px; }
.cr-editorial .cr-hero .cr-hero-cta { display: inline-flex; align-items: center; gap: 11px; width: fit-content; margin-top: 0; background: #01752f; color: #fff; font-size: 15px; font-weight: 600; letter-spacing: .01em; padding: 15px 26px; border-radius: 12px; border: 1px solid rgba(255,255,255,.14); box-shadow: 0 14px 34px -10px rgba(1,117,47,.7), inset 0 1px 0 rgba(255,255,255,.2); text-decoration: underline; text-underline-offset: 2px; }
.cr-editorial .cr-hero .cr-hero-cta:hover { background: #015a24; color: #fff; transform: translateY(-1px); }
.cr-hero .cr-hero-cta .arw { display: inline-flex; width: 18px; height: 18px; align-items: center; justify-content: center; }
.cr-hero .cr-hero-cta .arw svg { width: 16px; height: 16px; display: block; }
.cr-hero .cr-hero-cta-note { font-size: 12.5px; color: rgba(255,255,255,.66); line-height: 1.4; text-shadow: 0 1px 10px rgba(0,0,0,.6); white-space: nowrap; }
.cr-hero .cr-hero-scroll { position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%); z-index: 4; display: flex; flex-direction: column; align-items: center; gap: 6px; }
.cr-hero .cr-hero-mouse { width: 20px; height: 30px; border: 1.5px solid rgba(255,255,255,.38); border-radius: 11px; position: relative; }
.cr-hero .cr-hero-mouse::after { content: ""; position: absolute; top: 6px; left: 50%; transform: translateX(-50%); width: 3px; height: 6px; border-radius: 2px; background: #34d17a; }
.cr-hero .cr-hero-stxt { font-size: 10px; letter-spacing: .24em; text-transform: uppercase; color: rgba(255,255,255,.42); font-weight: 600; }
.cr-hero .cr-hero-cta-note b { color: rgba(255,255,255,.9); font-weight: 600; }
@media (max-width: 700px) {
  .cr-editorial .cr-hook.cr-hero { min-height: 0; }
  .cr-hero .cr-hero-content { padding-top: 84px; padding-bottom: 34px; }
  .cr-hero .cr-hero-scroll { display: none; }
  .cr-hero .cr-hero-drivers { grid-template-columns: 1fr; max-width: 460px; }
  .cr-hero .cr-hero-listing { display: none; }
}

/* Chat widget anchoring — keep the FAB/teaser/panel OFF the green opportunity rail on
   desktop (they'd be green-on-green + hidden); bottom-right on mobile where rails stack. */
.cr-chat-fab, .cr-chat-panel { position: fixed; bottom: 22px; right: 22px; z-index: 50; }
.cr-chat-teaser { position: fixed; bottom: 84px; right: 22px; z-index: 50; }
@media (min-width: 1081px) {
  .cr-chat-fab, .cr-chat-panel, .cr-chat-teaser { right: 336px; }
}

/* Optional "back to contents" pill — appears on scroll (bottom-left, clear of the chat FAB) */
.cr-back-to-contents {
  position: fixed; bottom: 22px; left: 22px; z-index: 49;
  display: inline-flex; align-items: center; gap: 6px;
  background: #111; color: #fff; border: 1px solid rgba(255,255,255,.16);
  border-radius: 999px; padding: 10px 16px 10px 14px;
  font-family: var(--font-body); font-size: 13px; font-weight: 600; cursor: pointer;
  box-shadow: 0 8px 24px rgba(0,0,0,.28); transition: background .15s ease, transform .15s ease;
}
.cr-back-to-contents:hover { background: #222; transform: translateY(-1px); }
.cr-back-to-contents .arw { font-size: 14px; line-height: 1; }

/* ---------- Chat widget: proactive teaser + animations (unscoped — widget sits outside .cr-editorial) ---------- */
@keyframes cr-chat-pop { from { opacity: 0; transform: translateY(14px) scale(.96); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes cr-chat-pulse { 0% { box-shadow: 0 8px 28px rgba(1,117,47,.3), 0 0 0 0 rgba(1,117,47,.5); } 70% { box-shadow: 0 8px 28px rgba(1,117,47,.3), 0 0 0 16px rgba(1,117,47,0); } 100% { box-shadow: 0 8px 28px rgba(1,117,47,.3), 0 0 0 0 rgba(1,117,47,0); } }
@keyframes cr-chat-dot { 0%, 60%, 100% { transform: translateY(0); opacity: .35; } 30% { transform: translateY(-5px); opacity: 1; } }
.cr-chat-teaser { animation: cr-chat-pop .38s cubic-bezier(.22,1,.36,1) both; }
.cr-chat-fab-pulse { animation: cr-chat-pulse 2.6s ease-out infinite; }
.cr-chat-dots { display: inline-flex; align-items: center; height: 18px; }
.cr-chat-dots i { width: 7px; height: 7px; border-radius: 50%; background: #01752f; margin: 0 2px; display: inline-block; animation: cr-chat-dot 1.3s infinite ease-in-out; }
.cr-chat-dots i:nth-child(2) { animation-delay: .16s; }
.cr-chat-dots i:nth-child(3) { animation-delay: .32s; }
@media (prefers-reduced-motion: reduce) { .cr-chat-teaser, .cr-chat-fab-pulse, .cr-chat-dots i { animation: none; } }

