:root {
  --atelier-ink: #081f43;
  --atelier-paper: #f2f7ff;
  --atelier-accent: #0b4fd3;
  --atelier-line: #d8e3f2;
  --navy: #081f43;
  --blue: #0b4fd3;
  --cyan: #68d4ff;
}
body { background: var(--atelier-paper); color: var(--atelier-ink); }
.public-page { background: var(--atelier-paper); color: var(--atelier-ink); font-family: Arial, Helvetica, sans-serif; }
.public-page h1, .public-page h2, .public-page h3 { color: var(--atelier-ink); }
.public-page .site-header { background: var(--atelier-paper); color: var(--atelier-ink); border-bottom: 1px solid var(--atelier-line); box-shadow: none; }
.public-page .brand-copy strong { letter-spacing: -.04em; font-size: 21px; }
.public-page .main-nav a { color: var(--atelier-ink); font-size: 14px; }
.public-page .main-nav .header-cta, .public-page .button-primary { background: var(--atelier-accent); border-color: var(--atelier-accent); color: #fff; }
.public-page .button { border-radius: 4px; min-height: 50px; font-size: 15px; white-space: normal; line-height: 1.4; text-align: center; }
.public-page .kicker, .public-page .eyebrow { color: var(--atelier-accent); }
.public-page .page-hero { background: var(--atelier-paper); border-bottom: 1px solid var(--atelier-line); }
.public-page .page-hero h1 { font-weight: 800; letter-spacing: -.04em; line-height: 1.06; }
.public-page em { color: var(--atelier-accent); }
.public-page footer { background: var(--atelier-ink); color: white; }
.public-page footer a, .public-page footer .brand-copy strong { color: white; }
.home-page .atelier-hero, .home-page .atelier-section { padding-inline: clamp(20px, 5vw, 80px); }
.atelier-hero { padding-top: 44px; }
.atelier-meta { display: flex; justify-content: space-between; gap: 20px; font: 13px/1.5 monospace; border-bottom: 1px solid var(--atelier-line); padding-bottom: 18px; text-transform: uppercase; letter-spacing: .06em; }
.home-page .atelier-title { font-size: clamp(42px, 6.6vw, 104px); line-height: 1.06; letter-spacing: -.035em; font-weight: 800; margin: 42px 0 28px; max-width: 1400px; text-transform: none; }
.atelier-title span { display: block; color: var(--atelier-accent); }
.atelier-intro { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 32px; align-items: end; margin-bottom: 38px; }
.home-page .atelier-intro p, .home-page .atelier-section p { font-size: 17px; line-height: 1.7; letter-spacing: normal; max-width: 670px; color: #52637d; }
.home-page .hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 0; }
.atelier-intro .hero-actions { justify-content: flex-end; }
.atelier-photo { position: relative; margin: 0; background: #d8e3f2; }
.atelier-photo img { width: 100%; height: 430px; object-fit: cover; object-position: center 36%; display: block; }
.atelier-photo figcaption { position: absolute; bottom: 22px; left: 22px; right: 22px; background: var(--atelier-paper); padding: 18px 24px; max-width: 380px; display: grid; gap: 8px; }
.atelier-photo figcaption span { font: 12px/1.5 monospace; text-transform: uppercase; }
.atelier-photo figcaption strong { font-size: 24px; line-height: 1.25; letter-spacing: -.02em; }

.atelier-section { padding-block: 80px; border-bottom: 1px solid var(--atelier-line); scroll-margin-top: 100px; }
.atelier-section-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 40px; margin-bottom: 40px; }
.atelier-section-head > span, .atelier-tool-number { font: 13px/1.5 monospace; text-transform: uppercase; letter-spacing: .06em; }
.home-page .atelier-section h2 { font-size: clamp(34px, 4.4vw, 64px); line-height: 1.12; letter-spacing: -.03em; margin: 0 0 20px; }
.atelier-tools { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.atelier-tool { min-width: 0; background: white; border: 1px solid var(--atelier-line); border-top: 3px solid var(--atelier-accent); padding: clamp(24px, 3vw, 42px); display: flex; flex-direction: column; align-items: flex-start; }
.atelier-tool-number { color: var(--atelier-accent); }
.home-page .atelier-tool h3 { font-size: clamp(32px, 3.5vw, 48px); line-height: 1.16; letter-spacing: -.025em; margin: 28px 0 12px; }
.home-page .atelier-tool h4 { font-size: 20px; line-height: 1.4; letter-spacing: normal; margin: 0 0 14px; color: var(--atelier-ink); }
.atelier-tool ul { padding-left: 20px; margin: 8px 0 24px; line-height: 1.8; color: #52637d; }
.atelier-tool li { padding-left: 3px; }
.atelier-tool li::marker { color: var(--atelier-accent); }
.atelier-tool .atelier-link { margin-top: auto; }
.atelier-link { display: inline-flex; align-items: center; gap: 24px; color: inherit; font-size: 16px; font-weight: bold; line-height: 1.5; text-decoration: none; padding: 12px 0; border-bottom: 1px solid currentColor; }
.atelier-link:hover { color: var(--atelier-accent); }
.atelier-process { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; border-top: 1px solid #ffffff33; }
.atelier-process article { min-width: 0; padding: 26px 0 8px; }
.atelier-process article > span { font: 13px/1.5 monospace; color: var(--cyan); }
.home-page .atelier-process h3 { font-size: 24px; line-height: 1.25; letter-spacing: -.015em; margin: 28px 0 14px; }
.atelier-dark { background: var(--atelier-ink); color: var(--atelier-paper); }
.public-page .atelier-dark h2, .public-page .atelier-dark h3 { color: var(--atelier-paper); }
.home-page .atelier-dark p { color: #bdcce1; }
.atelier-software-cta { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 40px; align-items: center; }
.atelier-software-cta .hero-actions { justify-content: flex-end; }
.atelier-software-cta .kicker { display: block; margin-bottom: 20px; }
.atelier-products { background: white; }
.atelier-product-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
.atelier-product-grid article { min-width: 0; border: 1px solid var(--atelier-line); background: var(--atelier-paper); }
.atelier-product-grid img { width: 100%; height: 300px; object-fit: cover; display: block; }
.atelier-product-grid article > div { padding: 28px; }
.home-page .atelier-product-grid h3 { font-size: 28px; line-height: 1.2; letter-spacing: -.02em; margin: 14px 0; }
.public-page .plan-card, .public-page .next-card, .public-page .product-card, .public-page .faq-item { border-radius: 0; box-shadow: none; border-color: var(--atelier-line); }
.public-page .final-cta { background: var(--atelier-ink); }
.public-page .final-cta h2, .public-page .tool-section.dark h2, .public-page .tool-section.dark h3 { color: #fff; }
.public-page .button-cyan { background: var(--atelier-accent); color: white; border-color: var(--atelier-accent); }
.public-page :focus-visible { outline: 3px solid var(--atelier-accent); outline-offset: 4px; }
.public-page .portal-auth-story h1, .public-page .wt-intro h1, .public-page .wt-intro h2 { color: #f2f7ff; }
@media (max-width: 1000px) {
  .atelier-intro, .atelier-software-cta { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .atelier-intro .hero-actions, .atelier-software-cta .hero-actions { justify-content: flex-start; }
  .atelier-process { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 780px) {
  .atelier-hero { padding-top: 25px; }
  .atelier-meta { font-size: 12px; }
  .atelier-meta span:last-child { display: none; }
  .home-page .atelier-title { font-size: clamp(40px, 7.6vw, 60px); margin-top: 30px; }
  .atelier-section-head { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .atelier-section { padding-block: 52px; }
  .atelier-photo img { height: 340px; }
  .atelier-photo figcaption { left: 12px; bottom: 12px; right: 12px; max-width: 320px; padding: 16px; }
  .atelier-photo figcaption strong { font-size: 21px; }

  .atelier-tools, .atelier-product-grid { grid-template-columns: minmax(0, 1fr); }
  .public-page .main-nav { background: var(--atelier-paper); }
}
@media (max-width: 600px) {
  .atelier-process { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .atelier-process article + article { border-top: 1px solid #ffffff33; }
  .home-page .atelier-process h3 { margin-top: 16px; }
  .atelier-product-grid img { height: 250px; }
  .atelier-product-grid article > div { padding: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  * { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}












.contact-page { background:#f2f6fc; color:#081f43; }
.contact-page .contact-hero { padding:86px max(5vw,24px) 60px; background:#081f43; color:#fff; border-bottom:5px solid #0b4fd3; }
.contact-page .contact-hero .kicker { color:#68d4ff; font-size:14px; letter-spacing:.18em; }
.contact-page .contact-hero h1 { color:#fff; font-size:clamp(44px,6vw,88px); line-height:1.06; letter-spacing:-.055em; margin:22px 0; }
.contact-page .contact-hero h1 em { color:#68d4ff; font-style:normal; }
.contact-page .page-lede { color:#cbd8eb; font-size:18px; line-height:1.65; max-width:660px; }
.contact-page .contact-grid { max-width:1360px; padding:56px max(5vw,24px) 88px; margin:auto; display:grid; grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr); gap:32px; align-items:start; }
.contact-page .contact-card { background:white; padding:36px; border:1px solid #dbe5f2; border-radius:12px; box-shadow:0 12px 40px #09234808; }
.contact-page .contact-card>span { color:#0b4fd3; font-size:13px; font-weight:700; letter-spacing:.12em; }
.contact-page .contact-card h2 { font-size:36px; letter-spacing:-.04em; margin:14px 0; }
.contact-page .contact-card>p { color:#61728c; font-size:16px; line-height:1.6; }
.contact-page .contact-form { margin-top:28px; gap:22px; }
.contact-page .contact-form label>span { font-size:12px; letter-spacing:.08em; color:#314867; }
.contact-page .contact-form input,.contact-page .contact-form textarea { font-size:16px; background:#f8faff; border:1px solid #cdd9e9; border-radius:6px; padding:14px; color:#081f43; width:100%; box-sizing:border-box; }
.contact-page .contact-form textarea { min-height:140px; resize:vertical; }
.contact-page .contact-form :is(input,textarea):focus { outline:2px solid #0b4fd3; outline-offset:2px; }
.contact-page .contact-form button { background:#0b4fd3; border:0; border-radius:6px; font-size:16px; padding:17px 22px; }
.contact-page .contact-aside { display:grid; gap:16px; }
.contact-page .contact-fact { background:#fff; color:#081f43; border:1px solid #dbe5f2; border-radius:10px; padding:26px; }
.contact-page .contact-fact small { color:#0b4fd3; font-size:12px; letter-spacing:.12em; }
.contact-page .contact-fact strong { font-size:22px; line-height:1.35; overflow-wrap:anywhere; }
.contact-page .contact-fact span { font-size:16px; color:#61728c; line-height:1.6; }
.contact-page .contact-fact a { color:#0b4fd3; }
@media(max-width:800px) { .contact-page .contact-grid { grid-template-columns:1fr; padding:28px 20px 48px; }.contact-page .contact-card { padding:24px; } }


/* Public copy uses muted ink; the app component token named muted is a surface color. */
.public-page { --muted:#52637d; }
.products-page .product-card { background:#fff; color:#081f43; }
.products-page .product-content h3 { color:#081f43; }
.products-page :is(.page-lede,.product-summary,.product-note) { color:#52637d; }
.products-page .product-content .check-list { color:#3f536f; font-size:15px; line-height:1.6; }
.products-page .product-note { font-size:16px; }
.products-page :is(.product-note,.product-actions) .text-link { color:#0b4fd3; }
.public-page .final-cta h2 { color:#fff; }

.physical-product-price { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 12px; margin:12px 0 18px; color:#0b4fd3; }
.physical-product-price strong { font-size:clamp(28px,3vw,38px); line-height:1.2; letter-spacing:-.035em; }
.physical-product-price span { font-size:15px; line-height:1.5; color:#52637d; }

/* A stationary platform statement replaces the moving software strip. */
.home-page .atelier-platform-banner{display:block;background:#0b4fd3;color:#fff;padding:34px max(5vw,24px);text-align:center;border-block:1px solid #649bff}
.home-page .atelier-platform-banner h2{color:#fff!important;font-size:clamp(23px,2.3vw,34px);line-height:1.25;letter-spacing:-.02em;margin:0 auto 12px;max-width:1100px}
.home-page .atelier-platform-banner p{color:#edf5ff!important;font-size:clamp(14px,1.2vw,17px);line-height:1.65;max-width:960px;margin:0 auto}
.platform-banner-break{display:none}
@media(max-width:650px){.platform-banner-break{display:block}.home-page .atelier-platform-banner{padding:28px 22px}}
