/* V31 r3 · Raspberry lettering, soft stationery, fewer competing labels. */
.luwiWordmark { display:inline-flex; flex:0 0 auto; align-items:baseline; gap:.015em; color:#bd225a; font-family:"Arial Rounded MT Bold","Trebuchet MS",ui-rounded,system-ui,sans-serif; font-weight:900; font-style:normal; font-size:1.18em; line-height:1.12; letter-spacing:-.055em; white-space:nowrap; isolation:isolate; }
.luwiWordmark > span { display:inline-block; transform-origin:50% 80%; transition:transform 180ms ease; }
.luwiWordmark > span:nth-child(1) { transform:rotate(-5deg); color:#c22258; }
.luwiWordmark > span:nth-child(2) { transform:translateY(.025em); color:#ad2b63; }
.luwiWordmark > span:nth-child(3) { transform:rotate(4deg); color:#ad3678; }
.luwiWordmark > span:nth-child(4) { transform:rotate(-4deg); color:#c22258; }
.brand .luwiWordmark { font-size:1.35em; }
.policyBrand .luwiWordmark { font-size:30px; color:#bd225a; }
.policyBrand .luwiWordmark > span { padding:0; border:0; margin:0; background:none; border-radius:0; font:inherit; letter-spacing:inherit; }
.orbIdentity > b .luwiWordmark { font-size:1.1em; }
.brand { min-height:48px; align-items:center; color:#bd225a; }
.policyBrand { gap:12px; align-items:center; color:#bd225a!important; }
.orbIdentity > b { color:#bd225a; }
.hero h1 { text-wrap:balance; }
.hero .miniLabel, .cardKicker, .eyebrow { letter-spacing:.08em; }
.authCard > h2 { margin-bottom:20px; font-size:22px; color:#633747; }
.tabs { gap:8px; }
.tab.active { box-shadow:inset 0 -2px 0 #f8b6cc; }
.welcomeMini { min-height:116px; padding-block:14px; border-radius:28px 28px 28px 10px; }
.welcomeMini b { color:#863651; font-size:clamp(21px,4vw,27px); }
.welcomeMini p { margin:5px 0 0; }
.welcomeMini .mascotHello { display:none; }
.welcomeMini .liveMascot { scale:1; }
.sectionHeading > span { border-radius:13px 15px 12px 15px; transform:rotate(-5deg); box-shadow:0 3px 0 #f7e3b3; }
.setupCard .sectionHeading h3 { color:#5d3749; }
.setupCard .fileNote { margin-bottom:16px; }
.setupCard .startNote { font-size:12px; margin-block:10px 0; }
.featureChips { gap:8px; }
.featureChips > span { padding:9px 13px; font-size:12px; }
.voiceStatus { max-width:min(100%,340px); text-align:left; }
.voiceHint:empty { display:none; }
.sessionClock { border-radius:20px 20px 20px 8px; }
.orbIdentity { gap:10px; flex-wrap:wrap; justify-content:center; }
.resultIntro h1 { font-size:clamp(24px,5vw,34px); color:#74324b; }
.scoreBand { border-radius:12px 12px 12px 4px; }
.resultColumns h3 { color:#76344f; }
.historyItem { border-radius:22px 22px 22px 8px; }
.historyScore { font-variant-numeric:tabular-nums; }
.accountDanger { border-top:1px solid #f0d9e3; margin-top:24px; padding-top:18px; }
.accountDanger > summary { color:#a72c53; font-weight:750; cursor:pointer; min-height:44px; align-content:center; }
.policyPage { max-width:780px; }
.policyPage > h1, .policyPage > header > h1 { color:#873351; text-wrap:balance; }
.policyPage > header { padding-bottom:22px; margin-bottom:22px; }
.policySection { background:rgba(255,255,255,.87); border:1px solid #f0d9e3; border-radius:20px 20px 20px 7px; padding:0 20px; margin:12px 0; box-shadow:0 4px 0 #faedf1; }
.policySection > summary { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:68px; cursor:pointer; list-style:none; }
.policySection > summary::-webkit-details-marker { display:none; }
.policySection > summary::after { content:"+"; flex:0 0 28px; height:28px; text-align:center; line-height:26px; font-size:20px; color:#ae2b60; background:#fff0f6; border-radius:50%; }
.policySection[open] > summary::after { content:"−"; }
.policySection > summary h2 { color:#71374e; margin:0; font-size:17px; line-height:1.4; }
.policySectionBody { padding:0 0 16px; line-height:1.75; overflow-wrap:anywhere; }
.policySectionBody > :first-child { margin-top:0; }
.policySectionBody > :last-child { margin-bottom:0; }
.policySectionBody form { margin:18px 0; }
.policyPage footer { color:#745363; }
.policyPage form { border-radius:22px 22px 22px 8px; }
.masterSummary > div { border-radius:18px 18px 18px 6px; }
.masterSummary strong { color:#943255; font-variant-numeric:tabular-nums; }
.masterTable th { color:#773951; }
.masterPager .tab { min-height:44px; }
:is(.policySection,.accountDanger) > summary:focus-visible { outline:3px solid #c72d65; outline-offset:4px; border-radius:12px; }
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .brand:hover .luwiWordmark > span:nth-child(2), .policyBrand:hover .luwiWordmark > span:nth-child(2) { transform:translateY(-.06em) rotate(-4deg); }
  .brand:hover .luwiWordmark > span:nth-child(3), .policyBrand:hover .luwiWordmark > span:nth-child(3) { transform:translateY(-.03em) rotate(1deg); }
}
@media (max-width:480px) {
  .brand .luwiWordmark { font-size:1.25em; }
  .welcomeMini { padding:12px 16px; gap:16px; }
  .welcomeMini .mascotStage { flex-basis:80px; width:80px; height:88px; }
  .welcomeMini .mascot { width:80px; height:80px; }
  .featureChips { justify-content:flex-start; }
  .featureChips > span { padding:7px 10px; font-size:11px; }
  .policySection { padding-inline:16px; }
  .policySection > summary { min-height:62px; }
  .policySection > summary h2 { font-size:16px; }
  .policySectionBody { font-size:14px; }
}
@media (prefers-reduced-motion:reduce) { .luwiWordmark > span { transition:none; } }
@media print {
  .policySection { box-shadow:none; break-inside:avoid; }
  .policySection:not([open]) > .policySectionBody { display:block !important; }
  .policySection > summary::after { display:none; }
}
