
  :root {
    --ink: #15282f;
    --ink-2: #223941;
    --paper: #f8f8f6;
    --white: #fff;
    --faint: #f0f1ef;
    --border: #dce2df;
    --muted: #5c6c70;
    --copper: #ae745f;
    --copper-light: #dba88f;
    --teal: #9bbcb7;
    --max: 1210px;
  }
  * { box-sizing: border-box; }
  html { scroll-behavior: smooth; scroll-padding-top: 100px; }
  body { margin: 0; background: var(--paper); color: var(--ink); font-family: 'Segoe UI', 'Lato', Arial, sans-serif; font-size: 16px; -webkit-font-smoothing: antialiased; }
  body.menu-open { overflow: hidden; }
  button, a { -webkit-tap-highlight-color: transparent; }
  button { font-family: inherit; }
  a { color: inherit; }
  :focus-visible { outline: 3px solid var(--copper); outline-offset: 4px; }
  .container { width: min(var(--max), calc(100% - 96px)); margin: 0 auto; }
  .smallcaps { text-transform: uppercase; font-weight: 800; letter-spacing: .16em; font-size: 11px; line-height: 1.5; }
  .eyebrow { display: inline-flex; align-items: center; gap: 13px; color: var(--copper); }
  .eyebrow::before { content: ''; display: inline-block; width: 24px; height: 1px; background: currentColor; }
  .eyebrow.light { color: var(--copper-light); }
  h1, h2, h3, h4, p { margin-top: 0; }
  h1, h2, h3 { letter-spacing: -.046em; }
  h1 { font-size: clamp(52px, 5.6vw, 81px); line-height: 1.07; font-weight: 760; margin: 25px 0 25px; max-width: 750px; }
  h2 { font-size: clamp(35px, 3.4vw, 49px); line-height: 1.15; font-weight: 740; margin: 17px 0 18px; }
  h3 { font-size: 25px; line-height: 1.24; margin: 0 0 14px; }
  p { line-height: 1.67; }
  .lead { font-size: 18px; line-height: 1.72; }
  .button { display: inline-flex; justify-content: center; align-items: center; gap: 17px; padding: 15px 22px; border: 1px solid transparent; text-decoration: none; font-size: 14px; font-weight: 760; letter-spacing: .004em; border-radius: 4px; min-height: 51px; transition: background .2s, transform .2s, border-color .2s, color .2s; }
  .button:hover { transform: translateY(-2px); }
  .button-primary { color: #fff; background: var(--copper); }
  .button-primary:hover { background: #935d4a; }
  .button-light { color: var(--ink); background: #fff; }
  .button-light:hover { background: #f1f2ef; }
  .button-outline { color: #fff; background: transparent; border-color: #64767b; }
  .button-outline:hover { border-color: #fff; }
  .button svg { width: 18px; height: 18px; stroke-width: 1.8; }
  .site-header { z-index: 100; position: sticky; top: 0; width: 100%; background: rgba(248,248,246,.97); backdrop-filter: blur(12px); border-bottom: 1px solid #e6e9e5; }
  .header-inner { display: flex; align-items: center; justify-content: space-between; height: 88px; gap: 28px; }
  .brand { text-decoration: none; display: flex; align-items: center; gap: 12px; min-width: 190px; }
  .brand-icon { width: 38px; height: 38px; border: 1px solid #dbc0b5; background: var(--ink); color: var(--copper-light); display: grid; place-items: center; border-radius: 3px; position: relative; }
  .brand-icon::before, .brand-icon::after { content: ''; position: absolute; width: 9px; height: 1px; background: currentColor; }
  .brand-icon::before { top: 10px; left: -5px; }
  .brand-icon::after { bottom: 10px; right: -5px; }
  .brand-icon svg { width: 24px; height: 24px; }
  .brand-name { font-size: 19px; font-weight: 800; letter-spacing: -.045em; white-space: nowrap; }
  .brand-caption { display: block; font-size: 9px; letter-spacing: .15em; color: var(--muted); text-transform: uppercase; margin-top: 3px; font-weight: 800; }
  .main-nav { display: flex; gap: 31px; align-items: center; margin-left: auto; }
  .main-nav a { color: #385057; font-size: 14px; text-decoration: none; font-weight: 650; transition: color .2s; white-space: nowrap; }
  .main-nav a:hover { color: var(--copper); }
  .header-cta { margin-left: 9px; border: 1px solid var(--ink); color: var(--ink); background: transparent; padding: 11px 19px; border-radius: 3px; text-decoration: none; font-size: 13px; font-weight: 800; white-space: nowrap; transition: all .2s; }
  .header-cta:hover { color: #fff; background: var(--ink); }
  .menu-toggle { display: none; border: 0; background: transparent; color: var(--ink); cursor: pointer; padding: 10px; }
  .menu-toggle svg { width: 27px; height: 27px; }
  /* Hero */
  .hero { position: relative; overflow: hidden; color: #fff; background: #112127; }
  .hero::before { content: ''; position: absolute; inset: 0; background-image: linear-gradient(to right,rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.022) 1px,transparent 1px); background-size: 56px 56px; mask-image: linear-gradient(to right,transparent, black 56%, black); pointer-events: none; }
  .hero::after { content: ''; position: absolute; right: -340px; top: -450px; height: 1000px; width: 1000px; border: 1px solid rgba(193,146,119,.09); border-radius: 100%; box-shadow: 0 0 0 96px rgba(166,117,95,.025),0 0 0 190px rgba(166,117,95,.022); pointer-events: none; }
  .hero-inner { display: grid; grid-template-columns: minmax(0,1.16fr) minmax(350px,.84fr); min-height: 646px; gap: 26px; align-items: center; padding: 75px 0 83px; position: relative; z-index: 1; }
  .hero-copy { max-width: 760px; }
  .hero h1 span { color: var(--copper-light); }
  .hero .lead { max-width: 616px; color: #c3cfd0; margin-bottom: 36px; font-size: 18px; }
  .hero .actions { display: flex; flex-wrap: wrap; gap: 13px; align-items: center; }
  .hero-meta { display: flex; flex-wrap: wrap; gap: 22px; color: #a9b9b8; margin-top: 48px; font-size: 12px; font-weight: 690; letter-spacing: .04em; }
  .hero-meta span::before { content: ''; background: var(--copper); width: 5px; height: 5px; display: inline-block; border-radius: 50%; margin-right: 9px; vertical-align: 2px; }
  .hero-art { position: relative; align-self: center; display: flex; justify-content: center; align-items: center; min-height: 500px; }
  .art-frame { width: min(100%,415px); position: relative; aspect-ratio: 1/1; display: grid; place-items: center; border: 1px solid rgba(203,170,150,.20); background: radial-gradient(circle at 50% 45%, #2f454a 0, #22363b 42%, #192d33 72%, #1b3034 100%); box-shadow: 0 25px 90px rgba(0,0,0,.24); }
  .art-frame::before,.art-frame::after { content: ''; position: absolute; inset: 16px; border: 1px solid rgba(200,144,112,.16); pointer-events: none; }
  .art-frame::after { inset: 33px; border-color: rgba(220,175,153,.10); }
  .art-frame .original-logo { position: relative; z-index: 1; display: block; width: 82%; height: 82%; object-fit: cover; mix-blend-mode: lighten; opacity: .98; }
  .art-tag { position: absolute; z-index: 2; padding: 10px 12px; border: 1px solid rgba(187,156,136,.38); background: #14272dcc; backdrop-filter: blur(12px); color: #d1dedb; font-size: 10px; letter-spacing: .14em; text-transform: uppercase; font-weight: 750; }
  .art-tag.top { top: 18px; right: -21px; }
  .art-tag.bottom { bottom: 29px; left: -30px; }
  /* Statement strip */
  .principle-strip { background: #edf1ee; border-bottom: 1px solid var(--border); }
  .principles { padding: 22px 0; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
  .principle { display: flex; align-items: center; justify-content: center; gap: 10px; color: #395056; font-weight: 740; font-size: 12px; letter-spacing: .025em; border-right: 1px solid #ccd6d2; text-align: center; }
  .principle:last-child { border: 0; }
  .principle svg { width: 16px; height: 16px; stroke: var(--copper); flex-shrink: 0; }
  /* Shared sections */
  .section { padding: 108px 0; }
  .section-header { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 41px; }
  .section-header p { max-width: 450px; margin-bottom: 2px; color: var(--muted); }
  .section-header h2 { max-width: 690px; margin-bottom: 0; }
  /* Services */
  .services-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
  .service-card { padding: 34px 32px 30px; background: #fff; border: 1px solid #e0e5e1; min-height: 405px; display: flex; flex-direction: column; box-shadow: 0 16px 50px rgba(16,39,43,.027); transition: transform .2s, border-color .2s, box-shadow .2s; }
  .service-card:hover { transform: translateY(-4px); border-color: #c7b1a6; box-shadow: 0 25px 60px rgba(16,39,43,.065); }
  .service-top { display: flex; justify-content: space-between; align-items: start; margin-bottom: 37px; }
  .service-icon { width: 47px; height: 47px; border: 1px solid #e4d9d3; background: #faf4ef; color: var(--copper); display: grid; place-items: center; border-radius: 2px; }
  .service-icon svg { width: 23px; height: 23px; }
  .service-number { color: #9aaba9; font-size: 12px; letter-spacing: .1em; font-weight: 800; }
  .service-card h3 { font-size: 27px; }
  .service-card > p { color: #526469; font-size: 14px; line-height: 1.72; margin-bottom: 18px; }
  .list-compact { list-style: none; padding: 0; margin: 0 0 26px; }
  .list-compact li { padding: 9px 0; border-top: 1px solid #eef0ee; font-size: 13px; color: #42545a; display: flex; gap: 9px; align-items: start; }
  .list-compact li::before { content: ''; width: 5px; height: 5px; margin-top: 7px; background: var(--copper); flex-shrink: 0; }
  .service-bottom { margin-top: auto; display: flex; align-items: center; justify-content: space-between; gap: 14px; }
  .text-link { color: #a36b57; font-weight: 800; text-decoration: none; font-size: 13px; display: inline-flex; align-items: center; gap: 9px; }
  .text-link:hover { color: #724333; }
  .avail { color: #7b8d90; font-size: 11px; font-weight: 730; letter-spacing: .02em; text-align: right; }

  /* Complete services: compact disclosure catalogue preserves breadth without overwhelming the homepage. */
  .services-portfolio-link { margin-top: 24px; display: flex; justify-content: space-between; align-items: center; gap: 20px; border-top: 1px solid var(--border); padding: 25px 2px 0; }
  .services-portfolio-link span { color: #566a70; font-size: 13px; }
  .services-portfolio-link .text-link { white-space: nowrap; }
  .catalogue-section { background: #f0f3f0; border-top: 1px solid #e1e7e2; padding-top: 90px; padding-bottom: 98px; }
  .catalog-intro { display: flex; justify-content: space-between; align-items: end; gap: 40px; margin-bottom: 32px; }
  .catalog-intro h2 { margin-bottom: 0; }
  .catalog-intro p { max-width: 430px; margin: 0; color: #576b6c; font-size: 14px; }
  .catalog-list { border-top: 1px solid #cdd8d3; }
  .catalog-group { border-bottom: 1px solid #cdd8d3; background: transparent; }
  .catalog-group summary { cursor: pointer; display: flex; align-items: center; padding: 25px 14px 25px 3px; gap: 16px; list-style: none; min-height: 98px; }
  .catalog-group summary::-webkit-details-marker { display: none; }
  .catalog-group summary:hover .catalog-group-title { color: var(--copper); }
  .catalog-group-heading { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
  .catalog-group-title { font-size: 22px; font-weight: 760; letter-spacing: -.025em; color: var(--ink); transition: color .15s; }
  .catalog-group-subtitle { font-size: 13px; color: #667a79; }
  .catalog-count { font-size: 12px; font-weight: 750; letter-spacing: .03em; color: #6d7c7e; white-space: nowrap; }
  .catalog-future { margin-left: 10px; color: #9e604d; font-size: 10px; }
  .catalog-plus { border: 1px solid #d6c1b5; background: #fff; color: #a4725e; width: 34px; height: 34px; display: grid; place-items: center; font-size: 21px; font-weight: 400; flex-shrink: 0; }
  .catalog-group[open] .catalog-plus { transform: rotate(45deg); }
  .catalog-panel { background: #fff; border: 1px solid #dce5df; padding: 34px 34px 24px; margin: 0 0 18px; }
  .catalog-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 42px; row-gap: 0; }
  .catalog-item { padding: 19px 0; border-bottom: 1px solid #ebeeeb; }
  .catalog-item h4 { font-size: 15px; letter-spacing: -.015em; margin: 0 0 7px; font-weight: 760; }
  .catalog-item p { font-size: 12px; color: #637478; line-height: 1.6; margin: 0; }
  .catalog-cta { display: inline-flex; gap: 10px; padding: 22px 0 0; color: #a36b57; font-size: 13px; font-weight: 780; text-decoration: none; }
  .catalog-cta:hover { color: #794936; }
  .catalog-note { font-size: 12px; line-height: 1.6; color: #657574; margin: 21px 0 0; }
  /* Products: software and practical tools remain distinct from services. */
  .products-section { color: #fff; background: #152a31; position: relative; overflow: hidden; }
  .products-section::before { content: ''; position: absolute; width: 460px; height: 460px; border: 1px solid rgba(211,164,140,.07); border-radius: 100%; right: -180px; top: -230px; pointer-events: none; }
  .products-heading p { color: #c0cecc; }
  .product-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
  .product-card { display: flex; flex-direction: column; min-height: 325px; padding: 30px; border: 1px solid #476066; background: rgba(255,255,255,.035); position: relative; }
  .product-top { display: flex; justify-content: space-between; align-items: center; gap: 14px; margin-bottom: 27px; }
  .product-symbol { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid #805b50; background: #304247; color: #e4b099; flex-shrink: 0; }
  .product-symbol svg { width: 24px; height: 24px; }
  .product-type { font-size: 10px; letter-spacing: .055em; text-transform: uppercase; font-weight: 750; color: #cedbd6; text-align: right; }
  .product-card h3 { font-size: 23px; color: #fff; letter-spacing: -.025em; margin-bottom: 12px; }
  .product-card p { color: #c4d0d0; font-size: 14px; line-height: 1.7; }
  .product-outcome { display: flex; flex-direction: column; gap: 5px; margin-top: auto; padding-top: 15px; border-top: 1px solid #425960; }
  .product-outcome span { color: #a6bab7; text-transform: uppercase; font-size: 10px; font-weight: 750; letter-spacing: .1em; }
  .product-outcome strong { font-size: 12px; font-weight: 650; color: #f0e1d8; }
  .product-link { margin-top: 23px; color: #e2ab92; text-decoration: none; font-size: 13px; font-weight: 750; }
  .product-link:hover { color: #fff; }
  /* Approach */
  .approach { background: #ecf0ed; }
  .approach-inner { display: grid; grid-template-columns: .85fr 1.15fr; gap: 100px; }
  .approach-intro p { max-width: 440px; color: #5b6a6f; }
  .approach-intro h2 { max-width: 440px; }
  .step-stack { border-top: 1px solid #c9d3d0; }
  .step { display: grid; grid-template-columns: 53px 1fr; gap: 23px; padding: 22px 3px; border-bottom: 1px solid #c9d3d0; }
  .step-count { color: var(--copper); font-size: 11px; font-weight: 850; padding-top: 6px; }
  .step h3 { font-size: 18px; letter-spacing: -.015em; margin-bottom: 6px; }
  .step p { margin: 0; color: #5e6d6f; line-height: 1.6; font-size: 13px; max-width: 480px; }
  /* CTA & footer */
  .bottom-cta { background: #a87460; color: #fff; padding: 76px 0; }
  .cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 45px; }
  .bottom-cta h2 { max-width: 700px; font-size: clamp(32px,3.2vw,45px); margin-bottom: 10px; }
  .bottom-cta p { color: #f4e4db; margin: 0; }
  .site-footer { background: #102127; color: #d2ddda; padding: 55px 0 26px; }
  .footer-top { display: grid; grid-template-columns: 1.55fr 1fr 1fr; gap: 50px; padding-bottom: 50px; }
  .footer-brand .brand-name { color: #fff; font-size: 26px; }
  .footer-brand p { color: #98aaa9; font-size: 13px; max-width: 300px; line-height: 1.7; margin-top: 16px; }
  .footer-col h4 { text-transform: uppercase; font-size: 11px; letter-spacing: .16em; color: #bd8c77; margin: 5px 0 20px; }
  .footer-col a { display: block; color: #cbd7d4; text-decoration: none; font-size: 13px; margin: 0 0 13px; }
  .footer-col a:hover { color: #fff; }
  .footer-bottom { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; padding-top: 22px; border-top: 1px solid #34474b; font-size: 11px; color: #879a99; gap: 12px; }
  .footer-bottom span { letter-spacing: .02em; }
  .skip-link { position: absolute; top: -60px; left: 14px; color: #fff; z-index: 200; background: var(--ink); padding: 12px; }
  .skip-link:focus { top: 8px; }
  @media (max-width: 1150px) {
    .container { width: min(var(--max),calc(100% - 60px)); }
    .main-nav { gap: 19px; }
    .hero-inner { grid-template-columns: 1.18fr .82fr; }
    .art-tag.top { right: -5px; }
    .art-tag.bottom { left: -5px; }
    .approach-inner { gap: 65px; }
  }
  @media (max-width: 930px) {
    .header-inner { height: 72px; }
    .header-cta { margin-left: auto; }
    .menu-toggle { display: block; }
    .main-nav { display: none; position: absolute; top: 72px; left: 0; right: 0; background: #f8f8f6; padding: 16px 30px 30px; border-bottom: 1px solid #dce2df; flex-direction: column; align-items: stretch; gap: 0; box-shadow: 0 15px 30px rgba(0,0,0,.08); }
    .main-nav.is-open { display: flex; }
    .main-nav a { display: block; padding: 16px 10px; font-size: 17px; border-bottom: 1px solid #e5e8e5; }
    .hero-inner { grid-template-columns: 1fr; padding: 76px 0; gap: 45px; }
    .hero h1 { max-width: 720px; }
    .hero-art { min-height: 310px; justify-content: flex-start; }
    .art-frame { width: 335px; }
    .principles { grid-template-columns: repeat(2,1fr); row-gap: 20px; }
    .principle:nth-child(2) { border: 0; }
    .services-grid { grid-template-columns: 1fr 1fr; }
    .product-grid { grid-template-columns: 1fr 1fr; }
    .product-card:last-child { grid-column: span 2; min-height: 250px; }
    .service-card:last-child { grid-column: span 2; min-height: 320px; }
    .approach-inner { grid-template-columns: 1fr; gap: 38px; }
  }
  @media (max-width: 620px) {
    .container { width: calc(100% - 38px); }
    .header-inner { gap: 13px; }
    .brand { min-width: 0; }
    .brand-name { font-size: 18px; }
    .brand-icon { width: 33px; height: 33px; }
    .brand-caption { font-size: 8px; }
    .header-cta { display: none; }
    h1 { font-size: clamp(44px,11vw,64px); }
    .hero-inner { padding: 65px 0 58px; }
    .hero .lead { font-size: 16px; }
    .hero-meta { margin-top: 35px; gap: 12px; }
    .hero-art { min-height: 290px; justify-content: center; }
    .art-frame { width: min(87vw,315px); }
    .art-tag.top { right: -12px; }
    .art-tag.bottom { left: -11px; }
    .principles { grid-template-columns: 1fr 1fr; }
    .principle { font-size: 11px; padding: 0 6px; flex-direction: column; gap: 7px; }
    .section { padding: 74px 0; }
    .section-header { display: block; margin-bottom: 31px; }
    .section-header p { margin-top: 17px; }
    .services-grid { grid-template-columns: 1fr; }
    .product-grid { grid-template-columns: 1fr; }
    .product-card:last-child { grid-column: auto; min-height: 0; }
    .product-card { min-height: 0; padding: 26px; }
    .service-card, .service-card:last-child { grid-column: span 1; min-height: 0; }
    .service-card { padding: 30px 27px; }
    .service-top { margin-bottom: 26px; }
    .bottom-cta { padding: 59px 0; }
    .cta-inner { flex-direction: column; align-items: flex-start; gap: 25px; }
    .footer-top { grid-template-columns: 1fr 1fr; gap: 22px; }
    .footer-brand { grid-column: span 2; margin-bottom: 13px; }
    .site-footer { padding-top: 45px; }
  }
  @media (max-width: 930px) {
    .catalog-intro { display: block; }
    .catalog-intro p { max-width: 650px; margin-top: 20px; }
  }
  @media (max-width: 620px) {
    .services-portfolio-link { align-items: flex-start; flex-direction: column; gap: 10px; }
    .catalogue-section { padding-top: 70px; padding-bottom: 70px; }
    .catalog-intro { margin-bottom: 23px; }
    .catalog-group summary { gap: 9px; min-height: 90px; padding-right: 0; }
    .catalog-group-title { font-size: 18px; }
    .catalog-group-subtitle { font-size: 11px; line-height: 1.45; }
    .catalog-count { display: none; }
    .catalog-grid { grid-template-columns: 1fr; }
    .catalog-panel { padding: 16px 22px 22px; }
    .catalog-item { padding: 16px 0; }
  }
  @media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *,*::before,*::after { transition-duration: 0s!important; animation-duration: 0s!important; }
  }
  
/* Shared legal-page design */
.legal-hero { background: var(--ink); color: #fff; padding: clamp(68px,8vw,110px) 0 70px; }
.legal-hero .container { max-width: var(--max); }
.legal-hero .legal-kicker {color: var(--copper-light); margin-bottom: 18px;}
.legal-hero h1 {font-size:clamp(43px,5vw,66px);max-width:900px;margin:0 0 18px;}
.legal-hero p {max-width:760px;font-size:18px;color:#d8e1e2;margin-bottom:0;}
.legal-shell { padding: 62px 0 100px; }
.legal-wrap { display:grid; grid-template-columns:240px minmax(0,1fr); gap:70px; align-items:start; }
.legal-sidebar {position:sticky; top:110px; border-left:3px solid var(--copper); padding:8px 0 8px 24px;}
.legal-sidebar .smallcaps {color:var(--muted);margin:0 0 15px;}
.legal-sidebar a {display:block;text-decoration:none;color:var(--ink);font-size:14px;padding:8px 0;line-height:1.4;}
.legal-sidebar a:hover {color:#985a46;}
.legal-content {max-width:835px; min-width:0;}
.legal-content section {margin:0 0 45px;scroll-margin-top:110px;}
.legal-content h2 {font-size:29px;line-height:1.2;letter-spacing:-.03em;margin-bottom:14px;}
.legal-content p,.legal-content li {font-size:16px;color:#33484e;line-height:1.75;}
.legal-content ul {padding-left:24px;margin-top:12px;}
.legal-content li {padding-left:3px;margin:6px 0;}
.legal-content a {color:#8b4f3e;text-decoration:underline;text-underline-offset:3px;}
.legal-notice {padding:18px 22px;background:#f4e6dc;border-left:4px solid var(--copper);margin:0 0 34px;font-size:14px;line-height:1.65;color:#5b392e;}
.legal-meta {display:flex;gap:22px;flex-wrap:wrap;margin-top:22px;color:#cbd8da;font-size:13px;}
.legal-address {font-style:normal;line-height:1.75;}
@media(max-width:850px){.legal-wrap{grid-template-columns:1fr;gap:28px}.legal-sidebar{position:static;border-left:0;border-bottom:1px solid var(--border);padding:0 0 18px}.legal-sidebar a{display:inline-block;margin-right:18px}.legal-shell{padding:45px 0 70px}}
@media(max-width:520px){.legal-hero{padding:58px 0 52px}.legal-content h2{font-size:25px}.legal-notice{padding:15px}}


/* AI readiness: standalone and on-homepage */
.button-quiet { color: #ead2c5; border-color: rgba(222,176,151,.6); background: rgba(255,255,255,.03); }
.button-quiet:hover { background: rgba(255,255,255,.09); }
.assessment-section { background:#f9f8f5; border-top:1px solid #dfe4df; }
.assessment-intro {display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:end;margin-bottom:32px;}
.assessment-intro h2 {max-width:680px;}
.assessment-intro p {max-width:730px;color:#52666a;font-size:15px;}
.assessment-intro .assessment-note {font-size:12px;color:#65787b;}
.assessment-intro-side {display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #dfd7d1;background:white;}
.assessment-feature {padding:18px 14px;text-align:center;border-right:1px solid #e4dfdb;display:flex;flex-direction:column;gap:7px;}
.assessment-feature:last-child {border:0;}
.assessment-feature strong {font-size:36px;color:var(--copper);line-height:1;}
.assessment-feature span {font-size:11px;line-height:1.4;color:#526a70;}
.assessment-widget {background:#fff;border:1px solid #d8dedb;box-shadow:0 25px 70px rgba(15,42,45,.04);padding:clamp(24px,5vw,54px);max-width:940px;margin:auto;}
.assessment-widget [hidden] {display:none !important;}
.assessment-start {text-align:center;max-width:640px;margin:auto;}
.assessment-start h3 {font-size:30px;}
.assessment-start p {color:#52666a;}
.assessment-primary {margin-top:10px;cursor:pointer;}
.assessment-small {font-size:12px;color:#607476;margin:20px 0 0;}
.assessment-small a {color:#985e4b;text-decoration:underline;}
.assessment-topline {display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:13px;color:#7b5e51;margin-bottom:15px;}
.assessment-track {background:#eaecea;height:8px;margin-bottom:35px;}
.assessment-track span {background:var(--copper);height:8px;display:block;width:0%;transition:width .2s;}
.assessment-quiz h3 {font-size:clamp(22px,3vw,30px);max-width:730px;}
.assessment-help {font-size:13px;color:#66797b;margin-bottom:20px;}
.assessment-choices {border:0;margin:0;padding:0;}
.assessment-options {display:grid;gap:9px;}
.assessment-choice {display:flex;align-items:center;gap:13px;border:1px solid #d9e1db;padding:15px 17px;cursor:pointer;transition:background .15s;}
.assessment-choice:hover {background:#f9f4f0;border-color:#cb9b87;}
.assessment-choice:has(input:checked) {background:#f6ede7;border-color:#ae745f;box-shadow: inset 3px 0 #ae745f;}
.assessment-choice input {width:17px;height:17px;accent-color:var(--copper);flex:0 0 17px;}
.assessment-choice span {font-size:14px;color:#263e44;line-height:1.4;}
.assessment-controls {display:flex;justify-content:space-between;gap:12px;margin-top:29px;}
.assessment-secondary {border:1px solid #bdc9c5;background:#fff;color:#2b4148;cursor:pointer;}
.assessment-widget button:disabled {opacity:.4;cursor:not-allowed;}
.assessment-results h3 {font-size:26px;}
.assessment-scoreline {display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin:15px 0 30px;}
.assessment-big-score {color:#a56d58;font-size:clamp(46px,7vw,76px);line-height:1;font-weight:800;letter-spacing:-.06em;}
.assessment-maturity {display:grid;gap:4px;}
.assessment-maturity strong {font-size:22px;}
.assessment-maturity span {color:#586e70;font-size:13px;}
.assessment-result-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.assessment-result-card {padding:18px;border:1px solid #e3e7e4;background:#fcfdfb;}
.assessment-result-card .name-line {display:flex;justify-content:space-between;gap:10px;font-size:13px;font-weight:750;}
.assessment-bar {height:7px;background:#e7ebea;margin-top:13px;}
.assessment-bar span {height:7px;background:var(--copper);display:block;}
.assessment-plan {padding:24px;background:#f5f7f4;margin-top:24px;border-left:3px solid var(--copper);}
.assessment-plan h4 {font-size:18px;margin:0 0 10px;}
.assessment-plan ul {padding-left:22px;font-size:14px;line-height:1.65;color:#445c60;}
.assessment-lead {border-top:1px solid #d8dedb;margin-top:32px;padding-top:23px;}
.assessment-lead form {display:grid;gap:13px;}
.assessment-form-grid {display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.assessment-field label {display:block;font-size:12px;font-weight:750;margin-bottom:6px;color:#435e61;}
.assessment-field input {display:block;width:100%;border:1px solid #b9cbc7;padding:13px;background:#fff;font:inherit;font-size:14px;}
.assessment-consent {display:flex;align-items:start;gap:10px;font-size:12px;line-height:1.5;color:#506568;}
.assessment-consent input {margin-top:4px;accent-color:var(--copper);}
.assessment-lead .assessment-small {margin:0;}
.assessment-lead .button {justify-self:start;cursor:pointer;}
.assessment-alert {min-height:1.2em;font-size:13px;color:#566f66;}
.sr-only {position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;}
@media(max-width:850px){.assessment-intro{grid-template-columns:1fr;gap:18px}.assessment-intro-side{max-width:550px}}
@media(max-width:600px){.assessment-result-grid,.assessment-form-grid{grid-template-columns:1fr}.assessment-widget{padding:22px 17px}.assessment-topline{align-items:start;flex-direction:column}.assessment-controls .button{padding:12px}.assessment-feature strong{font-size:26px}.assessment-feature{padding:14px 8px}}
/* Legal content: user's previous policies, new typography and branding */
.policy-content {padding-top:55px;padding-bottom:100px;max-width:1000px;line-height:1.75;color:#344a50;}
.policy-content section {margin:0 0 20px;scroll-margin-top:100px;}
.policy-content h2 {font-size:clamp(24px,2.7vw,32px);color:#20373d;letter-spacing:-.025em;margin:39px 0 20px;padding-bottom:12px;border-bottom:1px solid #d9e1dc;}
.policy-content h3 {color:#345258;font-size:20px;margin:25px 0 12px;}
.policy-content p,.policy-content li {font-size:14px;line-height:1.8;}
.policy-content ul {padding-left:25px;}
.policy-content li {margin-bottom:8px;}
.policy-content a {color:#9e604c;text-decoration:underline;word-break:break-word;}
.policy-content a:hover {color:#6d3e30;}
.policy-content table {width:100%;border-collapse:collapse;margin:20px 0;display:block;overflow-x:auto;background:#fff;}
.policy-content th,.policy-content td {border:1px solid #d8e0dd;padding:13px;text-align:left;min-width:115px;vertical-align:top;font-size:12px;line-height:1.55;}
.policy-content th {background:#e9efeb;color:#2a4448;}
.policy-content .highlight-box,.policy-content .warning-box {background:#f3eee9;border-left:3px solid var(--copper);padding:16px 20px;margin:22px 0;}
.policy-content strong {color:#203a40;}
