/* KLM Smart Tax Service Version 1.0 — Fortune 500 public experience.
   Centered branding, American flag blue and charcoal foundations, controlled
   gold accents, strong contrast, compact spacing, and subtle motion. */
body.app-public{
  --corp-blue:var(--theme-primary);
  --corp-blue-2:var(--theme-primary-dark);
  --corp-charcoal:var(--theme-secondary);
  --corp-charcoal-2:var(--theme-secondary);
  --corp-gold:var(--theme-accent);
  --corp-gold-light:color-mix(in srgb,var(--theme-accent) 42%,white);
  --corp-ink:var(--theme-heading);
  --corp-copy:var(--theme-body);
  --corp-paper:var(--theme-surface);
  --corp-mist:var(--theme-page);
  --corp-line:var(--theme-border);
  --corp-shadow:0 12px 34px rgba(17,24,39,.11);
  background:linear-gradient(180deg,#fff 0,var(--corp-mist) 48%,#fff 100%);
  color:var(--corp-ink);
  color-scheme:light;
}

/* Content remains visible even if JavaScript is unavailable. */
body.app-public .reveal{opacity:1;transform:none}
body.app-public[data-motion="subtle"] .reveal,body.app-public[data-motion="standard"] .reveal,body.app-public[data-motion="theme_specific"] .reveal{animation:klmCorporateReveal .58s cubic-bezier(.2,.7,.2,1) both;animation-delay:var(--reveal-delay,0ms)}

body.app-public .corporate-topline{
  display:flex;align-items:center;justify-content:center;
  gap:clamp(14px,3vw,38px);min-height:31px;
  padding:5px clamp(12px,4vw,48px);overflow:auto;
  background:var(--corp-charcoal-2);border-bottom:2px solid var(--corp-gold);
  color:#f8fafc;font-size:.72rem;font-weight:780;letter-spacing:.02em;white-space:nowrap;
}
body.app-public .corporate-topline span{display:inline-flex;align-items:center;gap:7px}
body.app-public .corporate-topline span::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--corp-gold)}

body.app-public .site-header{
  position:sticky;top:0;z-index:50;min-height:60px;
  background:rgba(255,255,255,.97);border-bottom:1px solid var(--corp-line);
  box-shadow:0 6px 20px rgba(17,24,39,.07);backdrop-filter:blur(14px);
}
body.app-public .brand,body.app-public .topnav a,body.app-public .link-button,body.app-public .nav-toggle{color:var(--corp-ink)!important}
body.app-public .topnav a{font-weight:720}
body.app-public .topnav a:hover,body.app-public .topnav a:focus-visible{color:var(--corp-blue)!important;text-decoration:none}
body.app-public .nav-cta{background:var(--corp-blue);border-color:var(--corp-blue);color:#fff!important}
body.app-public .brand-logo{width:44px;height:44px;object-fit:contain}

body.app-public .page-shell{width:min(1400px,100%);max-width:none;padding:0 0 38px}
body.app-public .page-shell>section:not(.landing-hero):not(.corporate-proof-bar){width:min(1180px,calc(100% - 2rem));margin-left:auto;margin-right:auto}
body.app-public .landing-section{margin:clamp(18px,2.8vw,32px) 0}
body.app-public .compact-section{padding:1.05rem 0}
body.app-public .section-title.centered{margin-bottom:12px}

body.app-public .landing-hero{
  position:relative;display:grid;grid-template-columns:minmax(0,1.18fr) minmax(290px,.82fr);
  grid-template-rows:auto auto;gap:clamp(18px,3vw,40px);align-items:center;
  width:100%;min-height:430px;padding:clamp(24px,4vw,48px) max(clamp(18px,5vw,72px),calc((100vw - 1400px)/2 + 28px));
  overflow:hidden;border:0;border-radius:0;border-bottom:1px solid rgba(197,162,74,.58);
  background:linear-gradient(116deg,var(--corp-charcoal-2) 0%,var(--corp-blue) 58%,var(--corp-charcoal) 100%);
  color:#fff;box-shadow:none;
}
body.app-public .landing-hero::before{
  content:"";position:absolute;inset:-12%;pointer-events:none;
  background:radial-gradient(circle at 83% 14%,rgba(234,215,156,.15),transparent 27%),
             linear-gradient(118deg,transparent 0 62%,rgba(197,162,74,.10) 62.3% 63%,transparent 63.3%);
  animation:klmCorporateDrift 24s ease-in-out infinite alternate;
}
body.app-public .landing-hero>*{position:relative;z-index:1}
body.app-public .hero-brand-centered{
  grid-column:1/-1;display:flex;justify-content:center;align-items:center;
  min-height:94px;padding-bottom:7px;text-align:center;
}
body.app-public .hero-brand-centered::after{
  content:"";position:absolute;bottom:0;width:min(260px,55vw);height:1px;
  background:linear-gradient(90deg,transparent,var(--corp-gold-light),transparent);
}
body.app-public .hero-brand-centered img{
  display:block;width:min(260px,68vw);max-height:126px;object-fit:contain;
  filter:drop-shadow(0 10px 22px rgba(0,0,0,.25));
  animation:klmCorporateLogo 9s ease-in-out infinite;
}
body.app-public .hero-copy{align-self:center}
body.app-public .hero-copy .eyebrow,body.app-public .section-title .eyebrow,body.app-public .compact-band .eyebrow,body.app-public .hero-choice-note .eyebrow{color:var(--corp-gold-light)!important}
body.app-public .hero-copy h1{color:#fff!important;-webkit-text-fill-color:#fff!important;letter-spacing:-.04em;text-shadow:0 2px 16px rgba(0,0,0,.2)}
body.app-public .hero-copy p{color:#e5edf5!important;-webkit-text-fill-color:#e5edf5!important;max-width:690px}
body.app-public .trust-row{gap:7px}
body.app-public .trust-row span{background:rgba(17,24,39,.42);border-color:rgba(234,215,156,.38);color:#fff!important;padding:6px 9px}
body.app-public .hero-panel-clean{grid-template-columns:1fr;align-content:center}
body.app-public .hero-choice-note{
  padding:18px;border:1px solid rgba(234,215,156,.38);border-radius:12px;
  background:linear-gradient(145deg,rgba(17,24,39,.78),rgba(18,59,103,.68));
  box-shadow:0 14px 34px rgba(0,0,0,.17);color:#fff!important;
}
body.app-public .hero-choice-note h2{color:#fff!important;-webkit-text-fill-color:#fff!important}
body.app-public .hero-choice-note p{color:#e4edf6!important;-webkit-text-fill-color:#e4edf6!important}

body.app-public .button.primary,body.app-public .hero-actions .primary{
  background:var(--corp-gold);border-color:var(--corp-gold);color:#111827!important;-webkit-text-fill-color:#111827!important;
  box-shadow:0 8px 20px rgba(84,65,24,.20);
}
body.app-public .button.secondary,body.app-public .hero-actions .secondary{
  background:var(--corp-charcoal-2);border-color:var(--corp-gold);color:#fff!important;-webkit-text-fill-color:#fff!important;
}
body.app-public .button:hover{filter:none;transform:translateY(-1px);box-shadow:0 11px 25px rgba(17,24,39,.15)}

body.app-public .corporate-proof-bar{
  position:relative;z-index:4;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  width:min(1180px,calc(100% - 2rem));margin:-22px auto 18px;padding:0;overflow:hidden;
  border:1px solid var(--corp-line);border-top:3px solid var(--corp-gold);border-radius:8px;background:#fff;box-shadow:var(--corp-shadow);
}
body.app-public .corporate-proof-bar article{position:relative;min-height:70px;padding:13px 14px 12px 48px;border-right:1px solid #e2e7ed}
body.app-public .corporate-proof-bar article:last-child{border-right:0}
body.app-public .corporate-proof-bar i{position:absolute;left:14px;top:17px;display:grid;place-items:center;width:25px;height:25px;border:1px solid var(--corp-gold);border-radius:50%;background:#fff;color:var(--corp-blue);font-style:normal;font-weight:900;font-size:.75rem}
body.app-public .corporate-proof-bar b{display:block;color:var(--corp-ink)!important;font-size:.9rem}
body.app-public .corporate-proof-bar span{display:block;margin-top:2px;color:#536174!important;font-size:.72rem}

/* Public contrast contract. */
body.app-public :is(.filing-card,.steps-v306 article,.landing-content-card.theme-light,.faq-question-card,.faq-dialog-shell,.surface-light,.light-card,.theme-light){background:#fff!important;color:var(--corp-ink)!important;border-color:var(--corp-line)!important}
body.app-public :is(.filing-card,.steps-v306 article,.landing-content-card.theme-light,.faq-question-card,.faq-dialog-shell,.surface-light,.light-card,.theme-light) :is(h1,h2,h3,h4,h5,h6,strong,b,legend){color:var(--corp-ink)!important;-webkit-text-fill-color:var(--corp-ink)!important}
body.app-public :is(.filing-card,.steps-v306 article,.landing-content-card.theme-light,.faq-question-card,.faq-dialog-shell,.surface-light,.light-card,.theme-light) :is(p,li,small,label,span:not(.button):not(.pill):not(.landing-badge):not(.sponsor-label)){color:var(--corp-copy)!important;-webkit-text-fill-color:var(--corp-copy)!important}
body.app-public :is(.landing-content-card.theme-dark,.landing-content-card.theme-brand,.surface-dark,.dark-card,.theme-dark,.theme-brand,.compact-band){background:linear-gradient(145deg,var(--corp-charcoal-2),var(--corp-blue))!important;color:#fff!important;border-color:rgba(197,162,74,.72)!important}
body.app-public :is(.landing-content-card.theme-dark,.landing-content-card.theme-brand,.surface-dark,.dark-card,.theme-dark,.theme-brand,.compact-band) :is(h1,h2,h3,h4,h5,h6,strong,b,legend){color:#fff!important;-webkit-text-fill-color:#fff!important}
body.app-public :is(.landing-content-card.theme-dark,.landing-content-card.theme-brand,.surface-dark,.dark-card,.theme-dark,.theme-brand,.compact-band) :is(p,li,small,label,span:not(.button):not(.pill):not(.landing-badge):not(.sponsor-label)){color:#e5edf5!important;-webkit-text-fill-color:#e5edf5!important}

body.app-public .service-grid-v306,body.app-public .landing-feature-grid,body.app-public .landing-ad-grid{gap:12px}
body.app-public .filing-card,body.app-public .steps-v306 article,body.app-public .landing-content-card,body.app-public .faq-question-card{border-radius:10px;box-shadow:0 8px 24px rgba(17,24,39,.08)}
body.app-public .filing-card,body.app-public .landing-content-card{padding:18px}
body.app-public .filing-card:hover,body.app-public .landing-content-card:hover,body.app-public .faq-question-card:hover{transform:translateY(-2px);border-color:var(--corp-gold)!important;box-shadow:0 12px 30px rgba(17,24,39,.12)}
body.app-public .filing-card.featured{border:2px solid var(--corp-gold)!important}
body.app-public .card-tag{background:#f4e8c5;color:#4d3a08!important;-webkit-text-fill-color:#4d3a08!important;border-radius:3px}
body.app-public .card-icon{background:var(--corp-blue);border:2px solid var(--corp-gold);color:var(--corp-gold-light)}
body.app-public .section-title h2,body.app-public .compact-section h2{color:var(--corp-ink)!important;-webkit-text-fill-color:var(--corp-ink)!important}
body.app-public .section-title p,body.app-public .landing-disclaimer{color:#586678!important;-webkit-text-fill-color:#586678!important}
body.app-public .landing-badge,body.app-public .sponsor-label{background:#f2e2b7;color:#4d3907!important;-webkit-text-fill-color:#4d3907!important;border-radius:3px}
body.app-public .resource-wide-card{min-height:0}
body.app-public .faq-question-grid{gap:9px}
body.app-public .faq-question-card{min-height:96px;padding:13px 14px}
body.app-public .faq-question-card>span{color:var(--corp-blue)!important;-webkit-text-fill-color:var(--corp-blue)!important}
body.app-public .faq-question-card>small b{background:#e9eef4;color:var(--corp-blue)}
body.app-public .faq-dialog::backdrop{background:rgba(17,24,39,.72);backdrop-filter:blur(4px)}
body.app-public .faq-dialog-shell{border:1px solid var(--corp-line);border-top:4px solid var(--corp-gold)}
body.app-public .faq-dialog-close{background:#e9eef4;color:var(--corp-ink)}
body.app-public .ad-card{min-height:190px;border-style:solid}
body.app-public .ad-html-content,body.app-public .ad-html-content *{max-width:100%}
body.app-public .ad-html-content{color:inherit}
body.app-public .ad-html-content img{height:auto}
body.app-public .compact-band{padding:16px 18px;border-radius:9px}
body.app-public footer{background:var(--corp-charcoal-2);border-top:2px solid var(--corp-gold);color:#ced7e2}
body.app-public footer strong{color:var(--corp-gold-light)}

/* Public signature and token pages. */
body.app-public.public-transaction .page-shell{width:min(900px,calc(100% - 2rem));padding:34px 0 54px}
body.app-public.public-transaction .card{background:#fff;color:var(--corp-ink);border-color:var(--corp-line);box-shadow:var(--corp-shadow)}
body.app-public.public-transaction .card :is(h1,h2,h3,h4,strong,b,legend){color:var(--corp-ink)!important}
body.app-public.public-transaction .card :is(p,li,small,label,span:not(.button):not(.pill)){color:var(--corp-copy)!important}
body.app-public.public-transaction input,body.app-public.public-transaction select,body.app-public.public-transaction textarea{background:#fff;color:var(--corp-ink);border-color:#8e9cab}

/* Every theme keeps the same corporate discipline. */
body[data-theme="clean"].app-public .landing-hero{background:linear-gradient(116deg,#f8fafc,#e9eef4 62%,#f2e6c5);color:var(--corp-ink)}
body[data-theme="clean"].app-public .hero-copy h1,body[data-theme="clean"].app-public .hero-choice-note h2{color:var(--corp-ink)!important;-webkit-text-fill-color:var(--corp-ink)!important;text-shadow:none}
body[data-theme="clean"].app-public .hero-copy p,body[data-theme="clean"].app-public .hero-choice-note p{color:#3d4d60!important;-webkit-text-fill-color:#3d4d60!important}
body[data-theme="clean"].app-public .hero-choice-note{background:rgba(255,255,255,.9);border-color:#b8c5d2;color:var(--corp-ink)!important}
body[data-theme="clean"].app-public .trust-row span{background:#fff;border-color:#b7c4d1;color:#25364a!important}
body[data-theme="holiday"].app-public .landing-hero{background:linear-gradient(116deg,var(--corp-charcoal-2),#174335 58%,var(--corp-blue))}

body[data-motion="minimal"].app-public .landing-hero::before{animation-duration:36s}
body[data-motion="minimal"].app-public .hero-brand-centered img{animation-duration:14s}
body[data-motion="off"].app-public .reveal{animation:none!important}
body[data-motion="off"].app-public .landing-hero::before,body[data-motion="off"].app-public .hero-brand-centered img{animation:none!important}
@media(prefers-reduced-motion:reduce){body.app-public .reveal,body.app-public .landing-hero::before,body.app-public .hero-brand-centered img{animation:none!important}}

@keyframes klmCorporateReveal{from{opacity:.01;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes klmCorporateDrift{0%{transform:translate3d(-.5%,0,0) scale(1)}100%{transform:translate3d(.8%,.4%,0) scale(1.01)}}
@keyframes klmCorporateLogo{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}

@media(max-width:980px){
  body.app-public .landing-hero{grid-template-columns:1fr;padding:28px clamp(18px,5vw,42px)}
  body.app-public .corporate-proof-bar{grid-template-columns:1fr 1fr;margin-top:-17px}
  body.app-public .corporate-proof-bar article:nth-child(2){border-right:0}
  body.app-public .corporate-proof-bar article:nth-child(-n+2){border-bottom:1px solid #e2e7ed}
}
@media(max-width:700px){
  body.app-public .corporate-topline span:nth-child(n+3){display:none}
  body.app-public .page-shell>section:not(.landing-hero):not(.corporate-proof-bar){width:min(100% - 1rem,1180px)}
  body.app-public .landing-hero{padding:24px 16px 34px}
  body.app-public .hero-brand-centered{min-height:84px}
  body.app-public .hero-brand-centered img{width:min(220px,68vw)}
  body.app-public .corporate-proof-bar{width:min(100% - 1rem,1180px);grid-template-columns:1fr;margin-top:-14px}
  body.app-public .corporate-proof-bar article{border-right:0;border-bottom:1px solid #e2e7ed}
  body.app-public .corporate-proof-bar article:last-child{border-bottom:0}
  body.app-public .hero-actions .button{width:100%}
}

/* Authenticated application and installer: same executive foundation without
   broad light/dark content overrides. Existing workflow-specific layouts stay intact. */
body.app-authenticated,body.install-body{
  --bg:#111827;--panel:#1d2733;--panel2:#263443;--line:#405166;
  --text:#f8fafc;--muted:#c4cfdd;--blue:#2b639a;--blue2:#9bbfe3;
  --green:#55b783;--red:#f07c86;--gold:#c5a24a;
  background:radial-gradient(circle at 88% 0,rgba(43,99,154,.20),transparent 31rem),var(--bg);
  color:var(--text);color-scheme:dark;
}
body.app-authenticated .site-header{background:rgba(17,24,39,.95);border-bottom:2px solid rgba(197,162,74,.55);box-shadow:0 6px 20px rgba(0,0,0,.18)}
body.app-authenticated .brand,body.app-authenticated .topnav a,body.app-authenticated .link-button{color:#f8fafc!important}
body.app-authenticated .topnav a:hover,body.app-authenticated .topnav a.is-active{color:var(--corp-gold-light)!important}
body.app-authenticated .topnav a.is-active::after{background:var(--corp-gold)}
body.app-authenticated .primary,body.install-body .primary{background:linear-gradient(135deg,#356fa8,#244b72);border-color:#4b7fae;color:#fff}
body.app-authenticated .secondary,body.install-body .secondary{background:#273545;border-color:#52647a;color:#fff}
body.app-authenticated .card,body.install-body .card{border-radius:10px;border-color:#405166;background:linear-gradient(180deg,rgba(38,52,67,.96),rgba(26,36,48,.98));box-shadow:0 12px 34px rgba(0,0,0,.20)}
body.app-authenticated input,body.app-authenticated select,body.app-authenticated textarea,body.install-body input,body.install-body select,body.install-body textarea{border-radius:7px;background:#111b27;border-color:#52647a;color:#f8fafc}
body.app-authenticated input:focus,body.app-authenticated select:focus,body.app-authenticated textarea:focus,body.install-body input:focus,body.install-body select:focus,body.install-body textarea:focus{border-color:#83acd2;box-shadow:0 0 0 3px rgba(43,99,154,.22)}
body.app-authenticated .eyebrow,body.install-body .eyebrow{color:var(--corp-gold-light)}
body.app-authenticated footer{border-top:2px solid rgba(197,162,74,.45)}
body.app-authenticated .command-center-shell{border-radius:12px}
body.app-authenticated .command-button.primary{background:linear-gradient(135deg,#2b639a,#244b72)}
body.app-authenticated .command-hero::after{background:linear-gradient(135deg,rgba(43,99,154,.15),rgba(197,162,74,.10))}
body.install-body .install-wrap{margin:1.25rem auto}
body.install-body .install-wrap>.card{border-top:4px solid var(--corp-gold);padding:clamp(1.25rem,3vw,2rem)}
