:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:#17233d;background:#f5f8fc;font-synthesis:none;font-size:16px;line-height:1.65}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;min-width:320px} body{--primary:#0d335f;--accent:#19c8aa;--ink:#13223b;--pale:#f3faf8;--panel:#fff;--top:#0e2d52;--hero-radius:30px;--card-radius:20px}
body.theme-finance-atlas{--primary:#112c53;--accent:#12c8a6;--ink:#12233c;--pale:#eaf9f5;--top:#081e3d}
body.theme-build-industrial{--primary:#242b37;--accent:#ff8d2f;--ink:#20252d;--pale:#fff2e7;--top:#202730;--hero-radius:16px;--card-radius:14px}
body.theme-commerce-gradient{--primary:#2a1767;--accent:#7751ef;--ink:#261a50;--pale:#f5f0ff;--top:#24135f;--hero-radius:26px}
body.theme-auto-night{--primary:#132335;--accent:#12bfee;--ink:#10283f;--pale:#ecfaff;--top:#0a172b;--hero-radius:24px;--card-radius:15px}
body.theme-utility-fresh{--primary:#125cb4;--accent:#08bfea;--ink:#122c50;--pale:#ecf8ff;--top:#0f538e;--hero-radius:32px}
a{color:var(--primary)}a:hover{text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}h1,h2,h3{line-height:1.18;letter-spacing:-.035em;color:var(--ink)}h1{font-size:clamp(2rem,4.8vw,3.85rem);margin:18px 0}h2{font-size:clamp(1.42rem,2.2vw,2.05rem);margin:.55em 0}p{margin:.6em 0 1em}.site-shell{max-width:1210px;margin:0 auto;padding:0 28px}.site-header{background:#fff;box-shadow:0 1px 0 #e7eaf1;position:relative;z-index:30}.header-content{height:92px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand-link{display:flex;align-items:center;min-width:0}.brand-link img{display:block;width:clamp(170px,20vw,238px);max-height:60px;object-fit:contain;object-position:left center}.desktop-nav{display:flex;align-items:center;gap:clamp(12px,2.6vw,34px)}.desktop-nav a{font-size:.89rem;text-decoration:none;color:var(--ink);font-weight:680}.desktop-nav a:hover{color:var(--accent)}.menu-toggle{display:none;background:transparent;border:0;gap:5px;flex-direction:column;padding:12px}.menu-toggle span{display:block;width:24px;height:2.5px;background:var(--ink);border-radius:9px}.mobile-nav{background:#fff;border-top:1px solid #edf0f5;padding:14px 28px 24px;box-shadow:0 15px 30px #0001}.mobile-nav a{display:block;color:var(--ink);padding:11px 12px;text-decoration:none;font-weight:650}.mobile-nav[hidden]{display:none}.hero{margin:34px 0 26px;border-radius:var(--hero-radius);overflow:hidden;display:grid;grid-template-columns:1.14fr .86fr;min-height:400px;background:var(--top);color:#fff;box-shadow:0 20px 40px #09182c15}.hero-copy{padding:clamp(28px,4.7vw,60px);align-self:center}.hero-copy h1{color:#fff;max-width:620px}.hero-intro{font-size:1.08rem;color:#dbe7f4;max-width:540px}.pill{font-weight:800;letter-spacing:.12em;display:inline-block;color:#fff;border:1px solid #ffffff5a;padding:5px 13px;border-radius:50px;font-size:11px}.hero-highlights{display:flex;flex-wrap:wrap;gap:12px 20px;margin:22px 0;color:#b7f2e8;font-size:.83rem}.theme-build-industrial .hero-highlights{color:#ffc490}.theme-commerce-gradient .hero-highlights{color:#e4d4ff}.theme-auto-night .hero-highlights{color:#9ce9ff}.theme-utility-fresh .hero-highlights{color:#ccfaff}.text-link{color:#fff;font-weight:700;text-underline-offset:5px}.hero-visual{display:flex;align-items:center;justify-content:center;gap:22px;flex-direction:column;position:relative;overflow:hidden;background:radial-gradient(circle at center, color-mix(in srgb,var(--accent) 25%,transparent), transparent 70%)}.visual-grid{position:absolute;inset:0;background:linear-gradient(#ffffff0f 1px,transparent 1px),linear-gradient(90deg,#ffffff0f 1px,transparent 1px);background-size:35px 35px;transform:perspective(500px) rotateX(20deg) scale(1.5)}.hero-visual img,.visual-label{z-index:1}.hero-visual img{filter:drop-shadow(0 16px 24px #0006);border-radius:28px;transform:rotate(-5deg)}.visual-label{font-size:.78rem;letter-spacing:.18em;color:#e6fbff}.content-card{background:#fff;box-shadow:0 7px 30px #102b4a0b;border:1px solid #e6ecf3;border-radius:var(--card-radius);padding:clamp(24px,4vw,44px);margin-bottom:24px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:26px}.section-heading h2{margin:.1em 0}.section-heading p{color:#64748b;font-size:.9rem}.eyebrow{color:var(--primary);font-size:.73rem;letter-spacing:.13em;font-weight:800}.calculator{display:grid;grid-template-columns:1fr 1fr;gap:28px}.calc-fields form{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}.calc-fields label{color:#42536c;font-size:.85rem;font-weight:650;margin:8px 0 0;grid-column:span 2}.calc-fields input,.message-form input,.message-form textarea{display:block;width:100%;border:1px solid #cbd5e1;border-radius:12px;padding:12px 14px;color:#192e49;background:#fff;grid-column:span 2;outline-color:var(--accent)}.calc-fields input:focus,.message-form input:focus,.message-form textarea:focus{outline:2px solid var(--accent);border-color:transparent}.button-primary{border:0;background:var(--primary);color:#fff;text-decoration:none;font-weight:780;padding:14px 20px;border-radius:12px;display:inline-block;text-align:center;transition:transform .15s,filter .15s}.button-primary:hover{transform:translateY(-1px);filter:brightness(1.12)}.calc-fields .button-primary{grid-column:span 2;margin-top:14px}.calc-privacy{display:block;margin-top:15px;color:#77869a}.results{background:var(--pale);padding:clamp(20px,3vw,35px);border-radius:16px;min-width:0}.results .eyebrow{margin:0 0 14px}.result-row{border-bottom:1px solid #c2d1dc76;padding:15px 0;display:flex;align-items:center;justify-content:space-between;gap:16px}.result-row span{color:#475569;font-size:.85rem}.result-row strong{color:var(--ink);font-size:1.06rem;white-space:nowrap}.result-row.featured{display:block}.result-row.featured span{display:block}.result-row.featured strong{font-size:clamp(2rem,3.7vw,2.7rem);display:block;margin-top:4px}.result-disclaimer{font-size:.83rem;color:#64748b;margin:20px 0 0}.form-error{color:#a52222;font-weight:700}.feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.feature-grid .content-card{margin-bottom:24px}.feature-grid p{color:#556579}.hint{color:#7991a4}.prose{max-width:930px;margin:35px auto;min-height:260px}.prose p,.prose li{color:#4f6076}.prose details{padding:18px 0;border-bottom:1px solid #e5e8ee}.prose summary{font-weight:750;cursor:pointer}.prose .formula{background:var(--pale);padding:18px;border-radius:12px;color:#1d3c59}.message-form{display:flex;flex-direction:column;gap:9px;margin-top:24px}.message-form label{font-weight:720;font-size:.9rem;margin-top:12px}.message-form .button-primary{align-self:start;margin-top:14px}.form-help{font-size:.8rem;color:#64748b}.form-success{background:#dcfce7;border:1px solid #8edbb0;padding:12px 14px;color:#14532d!important;border-radius:12px}.notice{background:#fff3db;color:#7a4900!important;padding:15px;border-radius:10px}.hp-field{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.site-footer{background:#0b1527;color:#d1dbea;margin-top:60px}.footer-layout{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px;padding-top:56px;padding-bottom:52px}.footer-logo{width:207px;height:50px;object-fit:contain;background:#f8faff;border-radius:10px;padding:7px}.site-footer p{color:#9eafc2;max-width:310px;font-size:.89rem}.footer-links{display:flex;flex-direction:column;gap:12px}.footer-links strong{color:#fff;margin-bottom:3px}.footer-links a{color:#bdccdb;text-decoration:none;font-size:.9rem}.footer-links a:hover{color:#fff}.footer-bottom{border-top:1px solid #ffffff1c;color:#95a6ba;padding:18px 0;font-size:.79rem}.share-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:18px}.share-row button{background:#ffffff16;border:1px solid #ffffff22;border-radius:10px;color:#fff;padding:7px 10px;font-size:.84rem}.floating-cta{position:fixed;bottom:20px;left:20px;z-index:60;color:#fff!important;background:var(--primary);border:1px solid #ffffff33;padding:12px 20px;text-decoration:none;border-radius:999px;overflow:hidden;box-shadow:0 8px 25px #0004;font-size:.85rem;font-weight:750}.floating-cta::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent,#ffffff5e,transparent);transform:translateX(-130%);animation:sheen 3.2s infinite}.floating-cta span{position:relative;z-index:1}.floating-cta:hover{filter:brightness(1.2)}@keyframes sheen{0%,35%{transform:translateX(-130%)}80%,100%{transform:translateX(130%)}}.back-to-top{position:fixed;right:22px;bottom:22px;z-index:61;background:var(--primary);color:#fff;border:0;width:46px;height:46px;border-radius:14px;box-shadow:0 5px 18px #0003;font-size:1.5rem}.back-to-top[hidden]{display:none}
@media(max-width:920px){.desktop-nav{gap:12px}.desktop-nav a{font-size:.82rem}.calculator{gap:18px}.site-shell{padding:0 20px}}
@media(max-width:740px){.header-content{height:76px}.desktop-nav{display:none}.menu-toggle{display:flex}.site-shell{padding:0 16px}.brand-link img{width:185px;height:51px}.hero{grid-template-columns:1fr;margin:20px 0 20px;min-height:auto}.hero-copy{padding:32px 26px}.hero h1{font-size:2.3rem}.hero-visual{min-height:210px}.hero-visual img{width:110px;height:110px}.calculator,.feature-grid,.footer-layout{grid-template-columns:1fr}.section-heading{display:block}.section-heading p{margin-top:7px}.content-card{padding:24px 20px;margin-bottom:18px}.footer-layout{gap:26px;padding-top:42px;padding-bottom:32px}.footer-logo{max-width:205px}.floating-cta{bottom:15px;left:14px;max-width:calc(100vw - 90px);font-size:.78rem;padding:11px 14px}.back-to-top{right:13px;bottom:15px}.site-footer{margin-top:35px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}


/* Nasdaq link directory: stable, crawlable links; ticker pages are noindex until data-complete. */
.stock-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.stock-card{position:relative;display:flex;flex-direction:column;min-width:0;padding:15px 38px 15px 16px;
 border:1px solid #dae3ee;border-radius:14px;text-decoration:none;background:#fbfdff;transition:transform .15s,border-color .15s}
.stock-card:hover{transform:translateY(-2px);border-color:var(--accent)}
.stock-card strong{font-size:1.05rem;color:var(--primary);letter-spacing:.035em}
.stock-card span:not(.stock-card-arrow){font-size:.78rem;color:#607087;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.stock-card-arrow{position:absolute;right:16px;top:calc(50% - 12px);font-size:1.1rem;color:var(--accent)}
.directory-footnote{color:#61738a;font-size:.82rem;margin:18px 0 12px}
.directory-browse{font-weight:770;text-underline-offset:4px}
.stock-directory h1,.stock-profile h1{font-size:clamp(1.7rem,3.6vw,2.8rem)}
.stock-directory{margin-top:36px}
.stock-search{margin:25px 0 20px}
.stock-search label{display:block;font-weight:720;margin-bottom:8px;color:var(--ink)}
.stock-search-fields{display:flex;gap:12px;flex-wrap:wrap}
.stock-search input{padding:12px 14px;border:1px solid #cbd5e1;border-radius:12px;min-width:230px;flex:1;max-width:650px}
.stock-directory-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 16px}
.stock-directory-list a{display:flex;gap:12px;text-decoration:none;align-items:center;padding:11px 12px;border:1px solid #ebeff5;border-radius:9px}
.stock-directory-list a:hover{background:var(--pale)}
.stock-directory-list strong{font-size:.85rem;min-width:66px;color:var(--primary)}
.stock-directory-list span:nth-child(2){flex:1;font-size:.83rem;color:#526378;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.stock-directory-list span:last-child{color:var(--accent)}
.directory-count{font-size:.86rem;color:#526378;margin:0 0 16px}
.directory-pagination{display:flex;gap:18px;align-items:center;justify-content:center;margin:25px 0}
.directory-pagination a{border:1px solid #bdcad9;padding:6px 14px;border-radius:9px;text-decoration:none;font-weight:650}
.stock-profile{margin-top:36px}.stock-profile .profile-company{color:var(--primary);margin-bottom:15px}
.stock-profile .calculator{margin-top:25px}.stock-breadcrumb{font-size:.79rem;color:#63718a;margin-bottom:24px}
.stock-breadcrumb a{color:#657185}


/* V1.2: unified CTA surface for float, desktop/mobile nav, calculator Try, and primary actions.
   The waves and sweep are clipped INSIDE the button, never animated outside its bounds. */
.button-primary,.calc-try-link,.nav-cta,.floating-cta{
 position:relative;isolation:isolate;overflow:hidden;box-sizing:border-box;
 display:inline-flex;justify-content:center;align-items:center;gap:9px;
 min-height:45px;padding:12px 19px;border:2px solid var(--primary);
 border-radius:999px;background:#fff;color:var(--primary)!important;
 text-decoration:none;font-size:.89rem;line-height:1.35;font-weight:800;
 text-align:center;box-shadow:none;
 transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease;
 animation:none;
}
/* Both effects are clipped by overflow:hidden on the BUTTON, including on small screens. */
.button-primary::before,.calc-try-link::before,.nav-cta::before,.floating-cta::before{
 content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
 border-radius:inherit;
 background:radial-gradient(circle at 50% 50%,transparent 37%,color-mix(in srgb,var(--accent) 45%,transparent) 39%,transparent 47%);
 transform:scale(.12);opacity:0;
 animation:contained-cta-ripple 3.6s ease-out infinite;
}
.button-primary::after,.calc-try-link::after,.nav-cta::after,.floating-cta::after{
 content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
 border-radius:inherit;
 background:linear-gradient(102deg,transparent 19%,#9cece633 42%,#84bcf34d 50%,transparent 80%);
 transform:translateX(-120%);
 animation:contained-cta-sheen 3.6s ease-in-out infinite;
}
.button-primary>span,.calc-try-link>span,.nav-cta>span,.floating-cta>span{position:relative;z-index:1}
.button-primary:hover,.calc-try-link:hover,.nav-cta:hover,.floating-cta:hover{
 background:var(--pale);color:var(--primary)!important;border-color:var(--primary);transform:translateY(-1px);filter:none;
}
.button-primary:focus-visible,.calc-try-link:focus-visible,.nav-cta:focus-visible,.floating-cta:focus-visible{
 outline:3px solid var(--accent);outline-offset:3px;
}
@keyframes contained-cta-ripple{
 0%,11%{transform:scale(.12);opacity:0}
 16%{opacity:.8}
 57%{transform:scale(1.75);opacity:0}
 100%{transform:scale(1.75);opacity:0}
}
@keyframes contained-cta-sheen{
 0%,32%{transform:translateX(-120%)}
 72%,100%{transform:translateX(120%)}
}
/* Shared look, different layout responsibilities; no independent animation overrides. */
.desktop-nav .nav-cta,.mobile-nav .nav-cta{color:var(--primary)!important;border-color:var(--primary);background:#fff;white-space:normal}
.desktop-nav .nav-cta{padding:9px 13px;font-size:.78rem;min-height:42px}
.mobile-nav .nav-cta{display:flex;margin:15px 12px 4px;min-height:44px}
.calc-fields .calc-try-link{grid-column:span 2;display:flex;width:100%;margin-top:7px}
.calc-fields .button-primary{grid-column:span 2;display:flex;width:100%;margin-top:14px}
.floating-cta{
 position:fixed;left:50%;right:auto;bottom:24px;transform:translateX(-50%);
 z-index:60;width:max-content;min-width:210px;max-width:calc(100vw - 45px);
 white-space:normal;overflow:hidden;
}
.floating-cta:hover{transform:translateX(-50%) translateY(-1px)}
/* The browse-all link is truly centered rather than left-aligned inline text. */
.directory-browse-row{display:flex;align-items:center;justify-content:center;text-align:center;margin:18px 0 0}
.directory-browse{display:inline-block;font-weight:770;text-underline-offset:4px}
@media(max-width:1080px){
 .desktop-nav{gap:9px}
 .desktop-nav a{font-size:.8rem}
 .desktop-nav .nav-cta{font-size:.75rem;padding:8px 10px}
}
@media(max-width:740px){
 .floating-cta{left:50%;bottom:80px;transform:translateX(-50%);min-width:180px;max-width:calc(100vw - 42px);font-size:.81rem;padding:11px 15px}
 .floating-cta:hover{transform:translateX(-50%) translateY(-1px)}
 .stock-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .stock-directory-list{grid-template-columns:1fr}
 .stock-card{padding:12px 27px 12px 12px}
 .stock-card-arrow{right:10px}
}
@media(max-width:400px){.stock-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){
 .button-primary::before,.calc-try-link::before,.nav-cta::before,.floating-cta::before,
 .button-primary::after,.calc-try-link::after,.nav-cta::after,.floating-cta::after{animation:none!important}
 .button-primary,.calc-try-link,.nav-cta,.floating-cta{transition:none!important}
 .stock-card{transition:none!important}
}


/* V1.3: Only the three Try CTA placements are animated.
   All Try surfaces retain the V1 solid theme-colored background and white text.
   The wave expands OUTSIDE the border; the soft light sweep stays INSIDE. */
.button-primary,
.button-primary:hover {
  position:relative;
  isolation:auto;
  overflow:visible;
  box-sizing:border-box;
  background:#fff!important;
  color:var(--primary)!important;
  border:2px solid var(--primary);
  box-shadow:none!important;
  border-radius:12px;
  filter:none!important;
  transform:none!important;
  transition:none!important;
  animation:none!important;
}
.button-primary::before,.button-primary::after {
  content:none!important;
  animation:none!important;
}
/* Anchor-only Try CTA buttons; desktop and mobile nav share this definition. */
.calc-try-link,.nav-cta,.floating-cta,
.desktop-nav .nav-cta,.mobile-nav .nav-cta,
.calc-try-link:hover,.nav-cta:hover,.floating-cta:hover,
.desktop-nav .nav-cta:hover,.mobile-nav .nav-cta:hover {
  position:relative;
  isolation:isolate;
  overflow:visible!important;
  box-sizing:border-box;
  background:var(--primary)!important;
  color:#fff!important;
  border:2px solid var(--primary);
  border-radius:999px;
  font-weight:800;
  text-decoration:none;
  box-shadow:0 7px 18px #0c183326;
  filter:none!important;
  transition:none!important;
  animation:none!important;
}
.calc-try-link::before,.nav-cta::before,.floating-cta::before {
  content:"";
  position:absolute;
  inset:-3px;
  z-index:-1;
  pointer-events:none;
  border:2px solid var(--accent);
  border-radius:inherit;
  background:transparent;
  transform:scale(1);
  opacity:0;
  animation:v13-cta-outside-wave 3.8s ease-out infinite;
}
.calc-try-link::after,.nav-cta::after,.floating-cta::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  border-radius:inherit;
  clip-path:inset(0 round 999px);
  background:linear-gradient(105deg,transparent 22%,#ffffff65 44%,#ffffff28 50%,transparent 68%) no-repeat;
  background-size:270% 100%;
  background-position:120% 0;
  transform:none;
  opacity:1;
  animation:v13-cta-inside-sheen 3.8s ease-in-out infinite;
}
.calc-try-link>span,.nav-cta>span,.floating-cta>span{position:relative;z-index:1;pointer-events:none}
/* Floating CTA must remain fixed to viewport; shared anchor style is otherwise relative. */
.floating-cta{position:fixed!important;left:50%;bottom:24px;z-index:60;max-width:calc(100vw - 45px);transform:translateX(-50%)!important}
.floating-cta:hover{transform:translateX(-50%)!important}
@media(max-width:740px){.floating-cta{bottom:80px}}

/* Wave physically starts at the outline, then scales beyond it. */
@keyframes v13-cta-outside-wave {
  0%,8%{transform:scale(1);opacity:0}
  14%{opacity:.78}
  57%,100%{transform:scale(1.23);opacity:0}
}
@keyframes v13-cta-inside-sheen {
  0%,34%{background-position:120% 0;opacity:0}
  38%{opacity:1}
  75%{background-position:-120% 0;opacity:1}
  100%{background-position:-120% 0;opacity:0}
}
@media(prefers-reduced-motion:reduce) {
  .calc-try-link::before,.nav-cta::before,.floating-cta::before,
  .calc-try-link::after,.nav-cta::after,.floating-cta::after{animation:none!important;opacity:0!important}
  .calc-try-link,.nav-cta,.floating-cta{transition:none!important}
}

/* V1.7: accessible select support for timezone/options widgets, consistent with inputs. */
.calc-fields select {
    display:block;width:100%;grid-column:span 2;min-width:0;
    background:#fff;color:#192e49;border:1px solid #cbd5e1;
    border-radius:12px;padding:12px 14px;font:inherit;
    outline-color:var(--accent);
}
.calc-fields select:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }
.results .result-row strong {white-space:normal;overflow-wrap:anywhere;text-align:right;}
.result-row.featured strong {text-align:left;}
@media(max-width:520px){
  .calc-fields form{grid-template-columns:minmax(0,1fr)}
  .calc-fields label,.calc-fields input,.calc-fields select,.calc-fields .button-primary,.calc-fields .calc-try-link{grid-column:1}
  .result-row{flex-wrap:wrap}
  .result-row strong{max-width:100%;}
}

/* V1.9: actual SVG arrow, never a font/text glyph. */
.back-to-top:not([hidden]){display:flex;align-items:center;justify-content:center}
.back-to-top svg{display:block;width:24px;height:24px;flex:none;pointer-events:none}
