/* Preserve-mode public design. DM Sans, gold logo, peach accent and blue/sand
   surround are retained. Product UI and form routes deliberately opt out.
   Shape rule: 24px sections, 40px hero, pill interactive controls.
   Dials: DESIGN_VARIANCE 3, MOTION_INTENSITY 3, VISUAL_DENSITY 4. */
.public-shell:has(.public-hero),
.public-shell:has(.public-copy):not(:has(form)) {
  --public-ink: #ededed;
  --public-accent: #efb6a3;
  --public-surface: #111c2a;
  --public-edge: #566171;
  max-width: 1328px;
  padding: 24px 32px 48px;
  color: var(--public-ink);
}
/* Scope every refinement to informational routes, preserving all forms. */
.public-shell:is(:has(.public-hero),:has(.public-copy)):not(:has(form)) {
  .public-nav {padding: 8px 20px; gap: 12px; margin-bottom: 28px; border-color: var(--public-edge); box-shadow: none;}
  .public-nav .links {flex-wrap: nowrap; gap: 4px;}
  .public-nav .links a {font-size: 14px; white-space: nowrap; padding: 10px 14px;}
  .public-nav .brand-name {font-size: 23px;}
  .public-nav .brand small {font-size: 10px; letter-spacing: .1em;}
  .public-nav > .btn.secondary {background: transparent; color: #ededed!important; border-color: #8995a6; font-size: 13px; padding: 10px 14px; white-space: nowrap;}
  .public-nav > .btn.secondary:hover {background: #273549;}
  .public-nav .links .btn {background: #ededed; color: #161616!important;}
  .public-nav .links .btn:hover {background: #fff; color: #161616!important;}
  main {background: var(--public-surface); border-radius: 40px; overflow: clip;}
  .public-hero {margin: 0; padding: 48px 48px 52px; min-height: 0; border: 0; border-radius: 40px 40px 0 0;}
  .public-hero > div {max-width: none; width: 100%;}
  .public-hero h1 {font-size: clamp(36px,4.5vw,60px); line-height: 1.12; letter-spacing: -.045em; max-width: 1080px; margin: 22px 0; text-wrap: balance;}
  .public-hero p {font-size: 18px; line-height: 1.65; max-width: 65ch;}
  .public-hero .actions {margin-top: 28px; gap: 14px;}
  .public-hero .eyebrow {font-size: 12px; letter-spacing: .1em;}
  .public-hero::before {animation-duration: 36s;}
  .public-section {margin: 0; padding: 52px 48px;}
  .public-section > .header-frame {background: none; border: 0; padding: 0; margin: 0 0 32px; border-radius: 0;}
  .public-section > .header-frame::before {display: none;}
  .public-section > h2,.public-section .header-frame h2 {font-size: clamp(28px,3vw,36px); line-height: 1.2; letter-spacing: -.03em; color: var(--public-accent); margin: 0 0 16px;}
  .public-section > p,.public-section > .eyebrow {color: #ededed;}
  .public-section > .eyebrow {font-size: 14px; text-transform: none; letter-spacing: 0;}
  .public-section .header-frame .eyebrow {font-size: 14px; text-transform: none; letter-spacing: 0; color: #c2c2c2;}
  .public-section .header-frame p {max-width: 65ch; margin-bottom: 0;}
  .public-cards {gap: 32px;}
  .public-cards .card {background: transparent; border: 0; border-radius: 0; padding: 0; backdrop-filter: none; box-shadow: none;}
  .public-cards .card h2,.public-cards .card h3 {font-size: 22px; line-height: 1.3; color: var(--public-accent);}
  .public-cards .card p {font-size: 17px; line-height: 1.7; max-width: 58ch; color: #d7dce2;}
  /* Benefits: one continuous editorial list, rather than another card grid. */
  .public-section:has(+ .public-section .step-number) .public-cards {display: block;}
  .public-section:has(+ .public-section .step-number) .public-cards .card {display: grid; grid-template-columns: 1fr 1.6fr; gap: 16px 48px; padding: 24px 0; border-top: 1px solid var(--public-edge);}
  .public-section:has(+ .public-section .step-number) .cardtop {align-self: start; margin: 0;}
  .public-section:has(+ .public-section .step-number) .card p {margin: 0;}
  /* Process: connected horizontal sequence, not elevated cards. */
  .public-section:has(.step-number) {background: #192536;}
  .public-section:has(.step-number) .public-cards {column-gap: 36px;}
  .public-section:has(.step-number) .card {display: flex; flex-direction: column; align-items: start; border-top: 1px solid #8995a6; padding-top: 24px;}
  .step-number {order: -1; border: 0; border-radius: 0; padding: 0; font-size: 15px; color: #efb6a3; margin-bottom: 20px;}
  .public-section:last-child > .card {background: #66382e; border: 0; border-radius: 24px; padding: 32px; box-shadow: none;}
  .public-section:last-child > .card h2 {color: #ededed; font-size: 28px;}
  .public-section:last-child > .card p {font-size: 17px;}
  .public-copy {max-width: 920px; padding: 40px 48px;}
  .public-copy .header-frame {border: 0; border-radius: 24px; padding: 32px; margin-bottom: 36px;}
  .public-copy h1 {font-size: clamp(32px,4vw,48px); line-height: 1.15; letter-spacing: -.035em;}
  .public-copy > .card {background: none; border: 0; border-radius: 0; border-top: 1px solid var(--public-edge); padding: 28px 0; backdrop-filter: none;}
  .public-copy p,.public-copy li {max-width: 65ch; line-height: 1.75;}
  .faq details {background: transparent; border: 0; border-bottom: 1px solid var(--public-edge); border-radius: 0; padding: 18px 0; margin: 0; backdrop-filter: none;}
  .faq summary {color: #efb6a3; font-size: 18px; line-height: 1.5;}
  .faq .faq-answer {color: #ededed;}
  .public-footer {margin-top: 32px; border-color: var(--public-edge); box-shadow: none;}
  a:focus-visible,summary:focus-visible,button:focus-visible {outline: 3px solid #efb6a3; outline-offset: 5px;}
  .btn {white-space: nowrap;}
}
@media (max-width: 1023px) {
  .public-shell:is(:has(.public-hero),:has(.public-copy)):not(:has(form)) {
    .public-nav {flex-wrap: wrap; border-radius: 24px;}
    .public-nav > .btn.secondary {margin-left: auto;}
  }
}
@media (max-width: 767px) {
  .public-shell:is(:has(.public-hero),:has(.public-copy)):not(:has(form)) {
    padding: 16px 16px 32px;
    .public-nav {padding: 16px; gap: 14px;}
    .public-nav .links {width: 100%; flex-wrap: wrap; justify-content: start; gap: 4px;}
    .public-nav .links a {font-size: 14px; padding: 10px 12px;}
    .public-nav > .btn.secondary {margin-left: 0;}
    main {border-radius: 24px;}
    .public-hero {padding: 32px 24px; border-radius: 24px 24px 0 0;}
    .public-hero h1 {font-size: clamp(30px,6.5vw,44px); letter-spacing: -.035em;}
    .public-hero p {font-size: 17px;}
    .public-hero .eyebrow {font-size: 11px;}
    .public-section {padding: 36px 24px;}
    .public-cards {grid-template-columns: 1fr; gap: 24px;}
    .public-section:has(+ .public-section .step-number) .public-cards .card {grid-template-columns: 1fr; gap: 8px;}
    .public-section:last-child > .card {padding: 24px;}
    .public-copy {padding: 24px;}
    .public-copy .header-frame {padding: 24px;}
    .btn {max-width: 100%; white-space: normal; text-align: center;}
    .public-footer {padding: 24px;}
  }
}
@media (prefers-reduced-motion: reduce) {
  .public-shell .public-hero::before {animation: none; transform: none;}
}
@media (forced-colors: active) {
  .public-shell:is(:has(.public-hero),:has(.public-copy)):not(:has(form)) {
    main,.public-section,.public-section:last-child > .card {background: Canvas; color: CanvasText;}
    .public-nav > .btn.secondary,.public-nav .links .btn {color: ButtonText!important; background: ButtonFace;}
    .public-cards .card p,.public-section > h2,.public-section .header-frame h2,.public-cards .card h2,.public-cards .card h3,.step-number,.faq summary {color: CanvasText;}
  }
}
/* Existing enhancement scripts wrap headings in .exterior-heading. */
.public-shell:has(.public-hero) {
  .public-section > .exterior-heading {background: transparent; border: 0; border-radius: 0; padding: 0; margin: 0 0 32px; box-shadow: none;}
  .exterior-heading h2 {color: #efb6a3; font-size: clamp(28px,3vw,36px); line-height: 1.2; letter-spacing: -.03em;}
  .exterior-heading p {color: #d7dce2; max-width: 65ch;}
  .exterior-heading .eyebrow {color: #c2c2c2; text-transform: none; letter-spacing: 0; font-size: 14px;}
  .public-hero .btn {border-radius: 9999px;}
}
@media (max-width: 480px) {
  .public-shell:is(:has(.public-hero),:has(.public-copy)):not(:has(form)) {
    .public-nav {padding: 12px; gap: 8px; margin-bottom: 20px;}
    .public-nav .links {display: grid; grid-template-columns: 1fr 1fr; gap: 0;}
    .public-nav .links a {justify-content: center; padding: 8px; font-size: 13px;}
    .public-hero {padding: 24px 20px;}
    .public-hero h1 {font-size: 28px; margin: 16px 0;}
    .public-hero p {font-size: 16px; line-height: 1.55;}
    .public-hero .actions {gap: 8px; margin-top: 20px;}
    .public-hero .actions .btn {font-size: 14px; padding: 10px 14px;}
  }
}
/* User-approved wordmark and social alignment, across public routes. */
.public-nav .brand-lockup,.footer-logo-line {display:flex;align-items:center;gap:12px;}
.public-nav .brand-lockup .brand-name,.footer-logo-line strong {margin:0;line-height:1.2;}
.public-nav .brand-lockup .mark {flex-shrink:0;display:grid;place-items:center;}
.public-footer .social-icons a {display:grid;place-items:center;width:48px;height:48px;min-width:48px;min-height:48px;padding:0;line-height:1;box-sizing:border-box;}
.public-footer .social-icons a svg {display:block;width:22px;height:22px;margin:0;flex:none;}
.public-footer .social-icons {display:flex;flex-wrap:wrap;gap:12px;}
.public-shell .btn,.public-shell summary {min-height:48px;}
.public-shell input,.public-shell select,.public-shell textarea {min-height:48px;}
/* Clear pointer and keyboard feedback using the retained peach accent. */
@media (hover:hover) {
 .public-shell a.btn:hover,.public-shell .public-nav a.btn:hover,.public-footer .social-icons a:hover {background:#efb6a3!important;color:#161616!important;border-color:#efb6a3;}
 .public-shell a:not(.btn):not(.brand-lockup):hover {color:#efb6a3;text-decoration:underline;text-underline-offset:4px;}
 .public-shell .public-nav a:not(.btn):hover {background:#29364a;}
}
.public-shell a.btn:focus-visible,.public-footer .social-icons a:focus-visible {outline:3px solid #efb6a3;outline-offset:4px;}
@media (hover:hover) {
 .shell .btn:hover,.shell .btn.secondary:hover {background:#efb6a3;color:#161616!important;border-color:#efb6a3;}
 .shell .nav button:hover {background:#29364a;color:#efb6a3;}
}
.shell .hero:not(:has(.seal)) {grid-template-columns:1fr;}
/* Public sections use the same blue family as the connected workspace. */
.public-shell:has(.public-hero) .public-section {background:#1e3147;}
.public-shell:has(.public-hero) .public-section:has(.step-number) {background:#294159;}
.public-shell:has(.public-hero) .public-section:last-child {background:#142436;}
.public-shell:has(.public-hero) .public-section:last-child > .card {background:#35475c;}
.public-shell:has(.public-hero) .public-section + .public-section {border-top:1px solid #9aabbc;}
@media(forced-colors:active) {
 .public-shell:has(.public-hero) .public-section,.public-shell:has(.public-hero) .public-section:last-child > .card {background:Canvas;border-color:CanvasText;}
}
