:root{color-scheme:dark;--ink:#101b32;--text:#f5f7fb;--muted:#b6c2d6;--mint:#ffad65;--line:#344159;--light:#f5f7fa}
*{box-sizing:border-box}html{scroll-padding-top:24px}body{margin:0;background:var(--ink);color:var(--text);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}a:focus-visible{outline:3px solid #edac43;outline-offset:6px;border-radius:3px}img{display:block;max-width:100%;height:auto}.wrap{width:min(1180px,calc(100% - 64px));margin-inline:auto}.skip{position:absolute;left:16px;top:-100px;background:white;color:var(--ink);padding:10px;z-index:10}.skip:focus{top:12px}.header{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-block:30px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;font-size:24px;font-weight:750;letter-spacing:-.6px}.brand-light{font-weight:400}.brand-mark{position:relative;display:grid;place-items:center;border:1px solid #62758d;border-radius:10px;width:40px;height:40px;margin-right:12px;color:var(--mint);font-weight:800}.brand-mark span{position:absolute;right:2px;top:-7px;font-size:18px;background:var(--ink)}nav{display:flex;align-items:center;gap:28px;font-size:14px}.nav-contact{padding:10px 18px;border:1px solid #53617a;border-radius:8px}.hero{display:grid;grid-template-columns:1.35fr 1fr;gap:72px;align-items:center;padding-block:90px 100px}.eyebrow{color:var(--mint);font-size:13px;font-weight:650;letter-spacing:2px;margin:0 0 24px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(40px,4.4vw,64px);line-height:1.08;letter-spacing:-2.4px;margin-bottom:28px}h1 span{color:var(--mint)}.intro{color:var(--muted);font-size:18px;max-width:540px;margin-bottom:32px}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px}.button{display:inline-flex;gap:24px;align-items:center;justify-content:center;padding:15px 21px;border-radius:8px;font-weight:650}.primary{background:var(--mint);color:var(--ink)}.primary:hover{background:#a1f0e3;text-decoration:none}.text-link{font-weight:600;font-size:15px}.hero-note{font-size:14px;color:var(--muted);margin:25px 0 0}.spotlight{border:1px solid #34455e;border-radius:22px;background:linear-gradient(145deg,#263650,#152139);overflow:hidden;box-shadow:0 24px 60px #030a182b}.spotlight-top{display:flex;justify-content:space-between;gap:18px;padding:24px 26px;font-size:12px;letter-spacing:1.4px;color:#c3cfe2}.spotlight img{width:220px;margin:20px auto 30px;border-radius:42px;filter:drop-shadow(0 18px 24px #060d2060)}.spotlight-caption{text-align:center;padding:0 18px 28px}.spotlight-caption p{font-weight:650;font-size:23px;margin-bottom:2px}.spotlight-caption span{color:var(--muted);font-size:15px}.spotlight-link{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #41506b;padding:20px 26px;font-weight:600;background:#253651;font-size:15px}.app-section{background:var(--light);color:var(--ink);padding:88px 0 44px;color-scheme:light}.app-section .eyebrow{color:#237165}h2{font-size:clamp(30px,3.2vw,43px);letter-spacing:-1.3px;line-height:1.17;margin-bottom:0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:48px}.dark-link{color:#205c56}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.feature-grid article{padding:0 30px;border-left:1px solid #d4dce6;display:flex;flex-direction:column}.feature-grid article:first-child{padding-left:0;border-left:0}.feature-grid article:last-child{padding-right:0}.feature-number{font-family:ui-monospace,monospace;color:#347d71;font-size:14px;margin-bottom:18px}h3{font-size:23px;line-height:1.35;letter-spacing:-.45px;margin-bottom:14px}.feature-grid p{color:#536076;margin-bottom:28px}.feature-label{font-size:12px;letter-spacing:1.1px;font-weight:650;margin-top:auto;color:#536076}.app-links{display:flex;gap:24px;flex-wrap:wrap;margin-top:48px;padding-top:24px;border-top:1px solid #d4dce6;font-size:14px}.app-links span{color:#536076}.app-links a{font-weight:600}.about{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding-block:88px}.about-copy{color:var(--muted);font-size:18px;padding-top:36px}.about-copy .text-link{color:var(--mint)}.contact{display:flex;justify-content:space-between;gap:36px;align-items:center;background:#1b2c42;border:1px solid #3a4c64;padding:44px;border-radius:18px;margin-bottom:80px}.contact .eyebrow{margin-bottom:18px}.contact h2{font-size:34px}.contact p:last-child{max-width:410px;margin:18px 0 0;color:var(--muted)}.contact-email{color:var(--mint);font-size:clamp(17px,2vw,24px);font-weight:600;overflow-wrap:anywhere}.footer{display:flex;justify-content:space-between;gap:40px;border-top:1px solid var(--line);padding-block:36px 44px;color:var(--muted)}.footer-brand{font-size:21px;color:var(--text);font-weight:700}.footer p{font-size:13px;margin:6px 0 0}.footer nav{flex-wrap:wrap;justify-content:flex-end;gap:10px 24px;max-width:650px}.footer nav span{flex-basis:100%;text-align:right;font-size:13px;color:#90a0b9}
@media(max-width:900px){.header{flex-wrap:wrap;gap:22px}.header nav{flex-wrap:wrap;gap:14px 24px}.hero{gap:35px;padding-block:65px}.hero h1{font-size:46px}.actions{gap:18px}.feature-grid article{padding-inline:20px}.section-heading{align-items:start;flex-direction:column}.about{gap:40px}.contact{align-items:start;flex-direction:column}.footer{flex-direction:column;gap:24px}.footer nav{justify-content:flex-start}.footer nav span{text-align:left}}
@media(max-width:640px){.wrap{width:calc(100% - 40px)}.header{padding-block:22px}.header nav{gap:14px 20px}.nav-contact{padding:5px 12px}.hero{grid-template-columns:1fr;padding-block:50px 55px;gap:38px}.hero h1{font-size:clamp(37px,9vw,48px);letter-spacing:-1.6px}.intro{font-size:17px}.eyebrow{font-size:12px;letter-spacing:1.5px;margin-bottom:20px}.spotlight{max-width:450px;width:100%}.spotlight-top{padding:20px;font-size:11px;letter-spacing:1px}.spotlight img{width:190px}.app-section{padding-block:55px 35px}.section-heading{margin-bottom:34px}.feature-grid{grid-template-columns:1fr;gap:26px}.feature-grid article,.feature-grid article:first-child,.feature-grid article:last-child{padding:0 0 26px;border-left:0;border-bottom:1px solid #d4dce6}.feature-grid article:last-child{border-bottom:0;padding-bottom:0}.feature-number{margin-bottom:10px}.feature-grid p{margin-bottom:16px}.app-links{gap:14px 20px;margin-top:30px}.app-links span{flex-basis:100%}.about{grid-template-columns:1fr;gap:24px;padding-block:55px}.about-copy{padding-top:0;font-size:17px}.contact{padding:26px 22px;margin-bottom:45px;gap:25px}.contact h2{font-size:30px}.footer{padding-block:28px 35px}.footer nav{gap:14px 20px}}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
.brand-logo{width:72px;height:72px;flex-shrink:0;object-fit:contain;border-radius:12px;background:white;margin-right:12px}.brand-light{color:var(--mint)}.footer-brand{display:flex;align-items:center}.footer-brand .brand-logo{width:52px;height:52px}.brand-banner{margin-top:32px;border-radius:18px;overflow:hidden;background:#f5f7fa}.brand-banner img{width:100%;aspect-ratio:3.15;object-fit:cover;object-position:center}.hero{padding-top:60px}.primary:hover{background:#ffc18a}.dark-link,.app-card a{color:#923e0c}.catalog-section .eyebrow,.app-section .eyebrow,.app-card .app-type,.feature-number{color:#923e0c}
@media(max-width:640px){.brand-logo{width:60px;height:60px}.brand-banner{margin-top:24px;border-radius:10px}.hero{padding-top:36px}}
.catalog-section{background:var(--light);color:var(--ink);padding:80px 0 36px;color-scheme:light}.catalog-section .eyebrow{color:#237165}.catalog-section .section-heading{margin-bottom:24px}.catalog-intro{max-width:740px;color:#536076;margin-bottom:36px}.app-catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.app-card{display:flex;flex-direction:column;align-items:flex-start;background:white;border:1px solid #d4dce6;border-radius:16px;padding:26px;min-width:0}.app-card img{width:64px;height:64px;object-fit:contain;border-radius:14px;background:#f5f7fa;margin-bottom:22px}.app-card .app-type{color:#347d71;font-size:13px;font-weight:650;margin-bottom:6px}.app-card h3{font-size:21px;line-height:1.4;margin-bottom:24px;overflow-wrap:anywhere}.app-card a{margin-top:auto;padding-block:8px;color:#205c56;font-size:15px;font-weight:650;display:flex;gap:18px;align-items:center;min-height:44px}.app-card:hover{border-color:#719c94;box-shadow:0 8px 22px #101b3209}
@media(max-width:900px){.app-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.catalog-section{padding-top:52px}.app-catalog{grid-template-columns:1fr;gap:18px}.app-card{padding:24px}.app-card h3{margin-bottom:18px}.app-card img{margin-bottom:18px}}

/* White portal theme and bounded artwork sizes, shared by every section. */
:root { color-scheme: light; --text: #152238; --muted: #566275; --mint: #b5440b; --line: #e3e7ed; --light: #fff; }
body { background: #fff; }
.header { padding-block: 16px; gap: 24px; }
.brand { font-size: 23px; }
.brand-logo { width: 52px; height: 52px; border-radius: 9px; margin-right: 10px; }
.nav-contact { border-color: var(--line); color: var(--mint); }
.brand-banner { width: min(760px, calc(100% - 64px)); margin-top: 24px; border-radius: 12px; }
.hero { gap: 48px; padding-block: 36px 56px; }
h1 { font-size: clamp(36px, 4vw, 54px); margin-bottom: 22px; }
.intro { font-size: 17px; margin-bottom: 24px; }
.eyebrow { margin-bottom: 18px; }
.primary { background: var(--mint); color: #fff; }
.primary:hover { background: #943507; }
.spotlight { max-width: 340px; width: 100%; justify-self: end; border-color: #f0dacb; background: #fffaf6; box-shadow: 0 8px 26px #15223808; }
.spotlight-top { color: var(--muted); font-size: 10px; letter-spacing: 1px; padding: 16px 18px; }
.spotlight img { width: 132px; height: 132px; object-fit: contain; margin: 8px auto 18px; border-radius: 24px; filter: none; }
.spotlight-caption { padding-bottom: 20px; }
.spotlight-caption p { font-size: 20px; }
.spotlight-link { background: #fff; color: var(--mint); border-color: #f0dacb; padding: 15px 18px; font-size: 14px; }
.catalog-section { border-top: 1px solid var(--line); padding-top: 56px; }
.catalog-section .eyebrow, .app-section .eyebrow, .app-card .app-type, .app-card a, .feature-number, .dark-link { color: var(--mint); }
.app-card { padding: 22px; }
.app-card img { width: 48px; height: 48px; border-radius: 10px; margin-bottom: 16px; }
.app-card h3 { font-size: 19px; margin-bottom: 16px; }
.app-card:hover { border-color: #dca27c; }
.app-section { padding-top: 52px; }
.about { padding-block: 56px; }
.contact { background: #fffaf6; border-color: #f0dacb; margin-bottom: 56px; }
.footer-brand .brand-logo { width: 40px; height: 40px; }
.footer nav span { color: var(--muted); }
@media(max-width:900px) { .hero { gap: 32px; } }
@media(max-width:640px) {
  .header { padding-block: 14px; gap: 14px; }
  .brand { font-size: 21px; }
  .brand-logo { width: 44px; height: 44px; }
  .brand-banner { width: calc(100% - 40px); max-width: 420px; margin-top: 20px; border-radius: 8px; }
  .hero { padding-block: 28px 36px; gap: 28px; }
  .hero h1 { font-size: clamp(32px, 9vw, 42px); }
  .spotlight { justify-self: center; max-width: 310px; }
  .spotlight img { width: 120px; height: 120px; }
  .catalog-section, .app-section { padding-top: 36px; }
  .app-card { padding: 20px; }
  .about { padding-block: 36px; }
  .contact { margin-bottom: 36px; }
}
