.product-video{--product-color:#187566}
.product-pdf{--product-color:#a44740}
.product-cad{--product-color:#386ab6}
.product-vector{--product-color:#865b9b}
/* Shared presentation for the five public sites; never loaded by /app. */
body{margin:0;background:#f6f8f7;color:#20333c;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.8;--ink:#20333c;--muted:#596b73;--paper:#f6f8f7;--line:#dce4e5;--green:#187566;--deep:#20333c;--wash:#edf4f1;--tint:#edf4f1}
*,*::before,*::after{box-sizing:border-box}
body .shell,body .wrap,body .series-shell{width:min(1180px,calc(100% - 64px));margin-inline:auto}
main h1{font-size:clamp(38px,5.2vw,68px);line-height:1.2;letter-spacing:-.045em;color:#20333c;font-weight:750}
main h2{font-size:clamp(26px,3vw,38px);line-height:1.4;letter-spacing:-.035em;color:#20333c}
main h3{line-height:1.5;letter-spacing:-.02em;color:#20333c}
main p,main li{line-height:1.9}main a{color:#187566;text-underline-offset:4px}
body .button,body .button-primary,body .button.primary,body .series-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:12px 22px;border:1px solid #20333c;border-radius:8px;background:#20333c;color:#fff;text-decoration:none;font-size:14px;font-weight:650;line-height:1.5;box-shadow:none}
body .button.secondary,body .button.outline{background:#fff;color:#20333c;border-color:#dce4e5}
body .button:hover,body .series-button:hover{background:#187566;color:#fff;border-color:#187566}
body a:focus-visible,body button:focus-visible,body input:focus-visible,body select:focus-visible,body textarea:focus-visible{outline:3px solid #386ab6;outline-offset:4px}
body .eyebrow,body .video-kicker,body .series-kicker{font-size:12px;line-height:1.6;font-weight:700;letter-spacing:.14em;color:#596b73}
body .hero,body .video-hero{padding-top:72px;padding-bottom:56px}
body .section,body .video-section,body .series-section{padding-top:56px;padding-bottom:56px}
body .feature-grid>article,body .download-grid>article,body .video-cards>article,body .series-product,body .features>article{border:1px solid #dce4e5;border-radius:14px;background:#fff;box-shadow:none}
body .feature-grid>article{padding:24px}
body .download-section .download-note{color:#596b73}
body .site-header{background:#fff;border-bottom:1px solid #dce4e5;backdrop-filter:none;position:relative}
body .site-footer{background:#eef2f0;border-top:1px solid #dce4e5;color:#20333c}
body .series-footer-nav{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px;padding:24px 0;border-top:1px solid #dce4e5;font-size:13px;line-height:1.6}
body .series-footer-nav a{color:#20333c;text-decoration:none;font-weight:600}
body .series-footer-nav a:hover{text-decoration:underline;color:#187566}
body .series-developer-profile{margin:0 0 24px;text-align:left}
body .series-developer-profile h2{margin:0 0 6px;font-size:clamp(25px,3vw,32px);line-height:1.45;letter-spacing:-.025em}
body .series-developer-profile .series-roman-name{margin:0 0 18px;font-size:14px;letter-spacing:.08em;color:#596b73}
body .series-developer-profile .series-credentials{display:block;list-style:disc;margin:0;padding-left:1.4em;font-size:15px;color:#20333c}
body .series-developer-profile .series-credentials li{display:list-item;margin:6px 0;padding:0;line-height:1.8;overflow-wrap:anywhere}
body .series-maker,body .video-maker,body .developer-card,body .series-profile-section{border-top:1px solid #dce4e5;padding-top:48px;padding-bottom:48px}
body .series-maker img,body .video-maker img,body .developer-card>img{width:160px;height:160px;object-fit:cover;border-radius:20px;flex-shrink:0}
body .series-profile-section{margin-top:32px;margin-bottom:32px}
@media(max-width:700px){body .shell,body .wrap,body .series-shell{width:calc(100% - 36px)}body .hero,body .video-hero{padding-top:40px;padding-bottom:36px}body .section,body .video-section,body .series-section{padding-top:36px;padding-bottom:36px}body .series-maker,body .video-maker,body .developer-card{display:flex;flex-direction:column;align-items:flex-start;gap:24px}body .series-developer-profile .series-credentials{font-size:14px}body .series-header>.series-shell{gap:18px}body .series-footer-nav{gap:12px 18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Keep light surfaces and their text colors together when replacing legacy themes. */
body .developer-section,body .learn-band,body .download-section{background:#edf4f1;color:#20333c}
body .developer-copy>p:not(.section-label),body .download-section h2+p,body .site-footer .footer-main p,body .site-footer .footer-bottom{color:#596b73}
body .developer-copy .section-label,body .download-section .eyebrow{color:#596b73}
body .developer-section .light-link,body .site-footer .brand,body .site-footer a{color:#20333c}
body .developer-section .light-link:hover,body .download-section a:not(.button):hover{color:#187566}
body .developer-copy>.series-developer-profile{margin-top:28px}
body .developer-photo{border-color:#dce4e5;background:#fff;border-radius:20px;overflow:hidden}
body .developer-copy h2{font-size:clamp(26px,3vw,38px)}
body .developer-profile{flex-wrap:wrap}
body .developer-profile figcaption{flex:1 1 220px}

body main img{max-width:100%;height:auto}
body .developer-photo{width:180px;max-width:100%;padding:9px}
body .developer-photo img{width:160px;height:160px;object-fit:cover;aspect-ratio:1}
body .developer-grid{grid-template-columns:180px minmax(0,1fr);gap:36px}
body .learn-links a>span{color:#596b73}
body .learn-links a:hover{color:#187566}
@media(max-width:700px){body .developer-grid{grid-template-columns:1fr;gap:24px}}

@media(max-width:700px){body .series-hub h1,body .hero h1,body .video-hero h1{font-size:clamp(30px,9vw,40px);line-height:1.3;letter-spacing:-.045em}}

body .hero h1,body .video-hero h1{font-family:inherit;font-size:clamp(38px,4vw,56px);line-height:1.3}
body .series-author{display:flex;align-items:center;gap:18px;width:fit-content;max-width:620px;margin:28px 0 24px;padding:18px 22px;background:#fff;border:1px solid #dce4e5;border-radius:14px}
body .series-author img{width:72px;height:72px;object-fit:cover;border-radius:12px;flex-shrink:0}
body .series-author .series-author-name{margin:0 0 3px;font-size:17px;font-weight:700;color:#20333c}
body .series-author .series-author-publisher{margin:0 0 6px;font-size:12px;color:#596b73}
body .series-author a{font-size:13px;font-weight:650;color:#187566;text-underline-offset:4px}
@media(max-width:700px){body .series-author{gap:14px;padding:16px;width:100%;align-items:flex-start}body .series-author img{width:56px;height:56px}body .series-author .series-author-name{font-size:16px}body .hero h1,body .video-hero h1{font-size:clamp(30px,9vw,40px)}}

/* Shared developer introduction, based on the supplied reference layout. */
body .series-developer-card{display:grid;grid-template-columns:140px minmax(0,1fr);align-items:start;gap:30px;margin:40px auto;padding:40px 0;border:0;background:transparent;color:#20333c;max-width:100%}
body .series-developer-card>img{display:block;width:140px;height:140px;max-width:140px;object-fit:cover;border-radius:50%;border:0;margin:10px 0 0}
body .series-developer-card>.series-kicker,body .series-developer-card .series-kicker{color:#187566;margin:0 0 12px;font-size:12px;letter-spacing:.16em}
body .series-developer-card h2{text-wrap:balance;font-size:clamp(26px,3vw,32px);line-height:1.5;margin:0 0 20px;letter-spacing:.02em}
body .series-developer-card .series-developer-profile{margin:0 0 20px}
body .series-developer-card .series-developer-profile h3{font-size:20px;line-height:1.5;margin:0 0 4px;letter-spacing:0}
body .series-developer-card .series-roman-name{margin:0 0 10px}
body .series-developer-card .series-credentials{font-size:14px}
body .series-developer-card .series-developer-message{margin:0 0 16px;font-size:15px;line-height:1.9}
body .series-developer-card nav{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:14px}
body .series-developer-card nav a{color:#187566;text-underline-offset:4px}
@media(max-width:700px){body .series-developer-card{grid-template-columns:1fr;gap:22px;padding:28px 0;margin-block:28px}body .series-developer-card>img{margin:0;width:120px;height:120px;max-width:120px}}
