/* Fig palette: screen approximations of DMC 336, 553, 772 and 900. */
.project-art.support-art{background:var(--orange-ink);color:var(--paper)}.support-art .risk-note,.support-art .exception-count strong,.support-art .preview-rows b{color:var(--paper)}.support-art .preview-rows,.support-art .exception-count{border-color:#e7af8d}
:root{--navy:#253b73;--violet:#a3638b;--violet-ink:#774268;--green:#e4ecd4;--orange:#d15807;--orange-ink:#a94206;--paper:#faf8f2;--white:#fffefb;--ink:#253b73;--muted:#5b6478;--line:#d9ddd3;--serif:Georgia,'Times New Roman',serif;--sans:'Segoe UI',Arial,sans-serif;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.65 var(--sans)}a{color:inherit;text-underline-offset:5px}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--orange);outline-offset:6px}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.12;letter-spacing:-.04em}h2{font-size:clamp(2.15rem,3.4vw,3.35rem);font-weight:650}h3{font-size:1.5rem}em{font-family:var(--serif);font-weight:400}img{max-width:100%;height:auto;display:block}.section-wrap{width:min(1180px,calc(100% - 80px));margin-inline:auto}.section-pad{padding-block:100px}.skip{position:fixed;left:1rem;top:-100px;z-index:100;background:var(--navy);color:white;padding:10px 20px}.skip:focus{top:10px}
.site-header{position:sticky;top:0;background:rgba(250,248,242,.97);border-bottom:1px solid var(--line);z-index:30}.nav-wrap{width:min(1180px,calc(100% - 80px));height:88px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:32px}.wordmark{font-size:2rem;font-weight:750;letter-spacing:-.07em;text-decoration:none;line-height:1}.wordmark span{color:var(--orange)}nav{display:flex;align-items:center;gap:30px}nav a{font-size:.92rem;text-decoration:none;transition:color .15s}nav a:hover,nav a[aria-current]{color:var(--violet-ink)}nav a[aria-current]{text-decoration:underline;text-decoration-thickness:2px}.nav-contact{border:1px solid var(--navy);padding:9px 18px;border-radius:6px}.menu-toggle{display:none}
.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center;padding-block:76px 86px}.eyebrow{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;font-weight:650;color:var(--violet-ink);margin-bottom:22px}.hero h1{font-size:clamp(3.5rem,5.2vw,5rem);font-weight:650;line-height:1.07;letter-spacing:-.055em}.hero h1 em{color:var(--violet)}.hero-description{font-size:1.1rem;line-height:1.8;margin-top:24px;max-width:500px;color:var(--muted)}.button-row{display:flex;align-items:center;gap:28px;margin-top:32px}.button{display:inline-flex;gap:32px;align-items:center;justify-content:space-between;text-decoration:none;padding:14px 22px;border-radius:6px;font-weight:600}.primary{background:var(--navy);color:var(--paper);transition:background .15s,transform .15s}.primary:hover{background:var(--violet-ink);transform:translateY(-2px)}.text-link{font-size:.95rem;font-weight:600;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:4px;display:inline-block}.hero-facts{display:flex;gap:35px;margin:40px 0 0;padding-top:25px;border-top:1px solid var(--line)}.hero-facts dt{font-size:1.85rem;font-weight:600;letter-spacing:-.05em;line-height:1.2}.hero-facts dd{font-size:.78rem;margin:6px 0 0;color:var(--muted)}
.hero-project{background:var(--navy);color:var(--green);padding:34px 34px 24px;border-radius:18px;box-shadow:14px 14px 0 var(--green)}.hero-project-top{display:flex;justify-content:space-between;gap:16px;font-size:.76rem;border-bottom:1px solid #7485a3;padding-bottom:24px}.hero-project h2{font-size:clamp(2.5rem,3.8vw,3.65rem);margin-top:40px;font-weight:500;letter-spacing:-.05em}.hero-project h2 em{color:#e8bed9}.hero-project>p{color:#d0d6e1;margin-top:24px;font-size:1rem}.workflow-mini{display:grid;grid-template-columns:repeat(3,1fr);margin-top:38px;gap:8px}.workflow-mini span{padding:13px 10px;border-top:1px solid #788aa7;font-size:.9rem}.hero-project-foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #7485a3;padding-top:20px;margin-top:15px;gap:10px}.hero-project-foot>span{font-size:.76rem}.hero-project-foot a{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:var(--green);color:var(--navy);text-decoration:none;font-size:1.5rem}
.expertise{background:var(--green)}.section-heading{display:flex;justify-content:space-between;gap:60px;align-items:end;margin-bottom:48px}.section-heading>p{max-width:360px;color:var(--muted);font-size:1rem}.section-heading .eyebrow{margin-bottom:14px}.capability-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.capability-grid article{border-top:1px solid #9baa91;padding:25px 0 0}.card-label{font-size:.76rem;letter-spacing:.1em;color:var(--violet-ink)}.capability-grid h3{font-size:1.85rem;margin:22px 0 18px;font-weight:600;line-height:1.22}.capability-grid p{font-size:1rem;color:#4f5c5b;max-width:340px}.card-bottom{display:block;margin-top:26px;color:var(--navy);font-size:.85rem;font-weight:600}
.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px 34px}.project{min-width:0}.project-art{height:286px;border-radius:12px;text-decoration:none;display:block;overflow:hidden;padding:28px;transition:transform .2s}.project-art:hover{transform:translateY(-4px)}.project-copy{padding:24px 2px 0}.tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.tags span{font-size:.74rem;padding:3px 10px;border:1px solid var(--line);border-radius:20px;color:var(--muted)}.project h3{font-size:1.55rem;font-weight:650;letter-spacing:-.035em}.project h3 a{text-decoration:none}.project-copy p{color:var(--muted);margin-block:16px 20px}.project-links{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.project-links>a:not(.text-link){font-size:.86rem;color:var(--violet-ink)}.risk-art{background:var(--navy);color:var(--green)}.preview-top{display:flex;justify-content:space-between;gap:10px;font-size:.67rem;letter-spacing:.05em}.risk-preview-metrics{display:flex;justify-content:space-between;align-items:center;margin-top:20px}.risk-preview-metrics>div:first-child>span{display:block;font-size:.76rem}.risk-preview-metrics strong{display:block;font-weight:500;letter-spacing:-.04em;font-size:3.4rem;line-height:1.2}.risk-preview-metrics small{font-size:1.5rem}.risk-preview-metrics .risk-note{color:#ffd1b3}.exception-count{display:flex;gap:12px;align-items:center;border-left:1px solid #7686a6;padding-left:23px}.exception-count strong{font-size:2.3rem;color:#e8bed9}.exception-count span{font-size:.74rem;line-height:1.4}.preview-rows{display:flex;gap:20px;margin-top:24px;padding-top:15px;border-top:1px solid #7485a3}.preview-rows div{flex:1;font-size:.73rem}.preview-rows b{display:block;font-weight:400;color:#bdcba7}.preview-label{font-size:.72rem;letter-spacing:.06em}.support-art{background:var(--orange);color:var(--paper)}.health-art{background:#eee2ed;color:var(--navy)}.hero-stat{font-size:4.7rem;letter-spacing:-.055em;line-height:1.15;margin-top:23px;font-weight:450}.hero-stat span{font-size:2.3rem;color:var(--violet-ink)}.health-art>p{font-size:.87rem;color:var(--violet-ink)}.model-path{display:flex;gap:12px;margin-top:24px;align-items:center;flex-wrap:wrap}.model-path span{font-size:.73rem;border:1px solid currentColor;border-radius:20px;padding:4px 12px}.energy-art{background:var(--green)}.energy-outputs{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:28px}.energy-outputs div{display:flex;flex-direction:column}.energy-outputs span,.energy-outputs small{font-size:.78rem}.energy-outputs strong{font-size:2.9rem;font-weight:450;line-height:1.4;letter-spacing:-.05em}.housing-art{background:#efe5db;padding:20px 26px}.housing-art img{width:100%;height:230px;object-fit:contain;margin-top:8px;mix-blend-mode:multiply}.anchor-alias{display:block;scroll-margin-top:100px}
.about-section{background:#eee5ec}.about-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:86px;align-items:center}.about-card{background:var(--violet-ink);color:var(--paper);padding:38px;border-radius:14px}.about-card>p{font-size:.75rem;letter-spacing:.1em;color:#f0cfe5}.about-card h2{font-size:clamp(2.2rem,3.5vw,3.1rem);line-height:1.3;margin-top:44px;font-weight:450;letter-spacing:-.03em}.about-card em{color:var(--green)}.about-card-footer{border-top:1px solid #bb92ae;margin-top:52px;padding-top:22px;display:flex;flex-direction:column;gap:3px;font-size:.86rem}.about-card-footer span:last-child{font-size:.73rem;color:#ebd7e4}.about-copy>.eyebrow{margin-bottom:18px}.about-copy>p:not(.eyebrow){margin-top:22px;color:var(--muted)}.tool-label{display:block;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;margin-top:28px}.tool-tags{padding:0;margin:14px 0 24px;list-style:none;display:flex;gap:8px;flex-wrap:wrap}.tool-tags li{border:1px solid #ccb7c6;border-radius:20px;font-size:.8rem;padding:4px 14px;background:rgba(255,255,255,.24)}
.experience-list article{display:grid;grid-template-columns:.6fr 1.2fr 1fr;gap:35px;border-top:1px solid var(--line);padding:28px 0}.experience-list article>span{font-size:.87rem;color:var(--violet-ink)}.experience-list h3{font-size:1.25rem;letter-spacing:-.02em;line-height:1.35}.experience-list p{font-size:.95rem;color:var(--muted)}.experience-list article>div>p{margin-top:8px;font-size:.85rem}.contact-section{background:var(--navy);color:var(--green)}.contact-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:70px;align-items:center}.contact-section .eyebrow{color:#e8bed9}.contact-section h2{font-size:clamp(2.15rem,3.5vw,3.2rem);line-height:1.23}.contact-section h2 em{color:#e8bed9}.contact-links{display:flex;flex-direction:column;gap:4px}.contact-links a{padding:15px 0;border-bottom:1px solid #7485a3;font-size:1rem;text-decoration:none;display:flex;justify-content:space-between;gap:20px;overflow-wrap:anywhere}.contact-links a:hover{color:#ffd1b3}.site-footer{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-block:35px}.site-footer p,.site-footer>a:last-child{font-size:.8rem;color:var(--muted)}
@media(max-width:1000px){.section-wrap,.nav-wrap{width:calc(100% - 48px)}nav{gap:20px}.hero{gap:35px}.hero-project{padding:26px}.hero h1{font-size:3.8rem}.hero-facts{gap:24px}.hero-description{font-size:1rem}.button-row{gap:18px;flex-wrap:wrap}.section-pad{padding-block:72px}.section-heading{gap:35px}.about-grid{gap:35px}.project-art{padding:22px}.exception-count{padding-left:12px;gap:8px}.risk-preview-metrics strong{font-size:2.8rem}.exception-count strong{font-size:2rem}.experience-list article{grid-template-columns:.6fr 1.3fr 1fr;gap:20px}.contact-grid{gap:35px}.contact-links a{font-size:.9rem}}
@media(max-width:900px){html{scroll-padding-top:80px}.nav-wrap{height:72px}.menu-toggle{display:flex;gap:12px;background:none;border:1px solid var(--line);border-radius:6px;padding:7px 12px;color:var(--navy);font-size:.85rem;cursor:pointer}nav{display:none;position:absolute;top:72px;left:0;right:0;padding:20px 24px;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:5px}nav.is-open{display:flex}nav a{padding:12px 5px}.nav-contact{margin-top:6px;padding:12px}.hero{grid-template-columns:1fr;padding-block:45px 65px;gap:45px}.hero h1{font-size:clamp(3.2rem,9vw,4.3rem)}.hero-description{max-width:540px;font-size:1.05rem}.hero-project{max-width:540px;width:calc(100% - 12px)}.hero-project h2{font-size:3.3rem;margin-top:28px}.hero-project>p{margin-top:15px}.workflow-mini{margin-top:28px}.hero-facts{gap:25px}.hero-facts dd{font-size:.73rem}.section-heading{display:block;margin-bottom:32px}.section-heading>p{margin-top:23px;max-width:540px}.section-pad{padding-block:62px}.capability-grid{grid-template-columns:1fr;gap:30px}.capability-grid h3 br{display:none}.capability-grid h3{font-size:1.7rem;margin-top:12px}.capability-grid p{max-width:600px}.card-bottom{margin-top:16px}.project-grid{grid-template-columns:1fr;gap:42px}.project-art{height:282px}.project-copy{padding-top:20px}.risk-preview-metrics strong{font-size:3.5rem}.exception-count strong{font-size:2.5rem}.about-grid{grid-template-columns:1fr;gap:44px}.about-card{padding:30px}.about-card h2{font-size:2.65rem;margin-top:28px}.about-card-footer{margin-top:35px}.experience-list article{grid-template-columns:1fr;gap:12px}.contact-grid{grid-template-columns:1fr;gap:30px}.contact-links a{font-size:1rem}.site-footer{flex-wrap:wrap;padding-block:30px}.site-footer p{order:3;flex-basis:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
.data-science-section{background:var(--white);border-top:1px solid var(--line)}
.project-art{height:auto;min-height:300px;display:flex;flex-direction:column;padding:28px}.project-art .preview-title{font-size:clamp(1.85rem,3vw,2.65rem);font-weight:550;line-height:1.15;letter-spacing:-.04em;margin-top:24px}.project-art .preview-title em{font-weight:400}.project-art .preview-caption{font-size:1rem;margin-top:14px;color:inherit}.project-art .model-path{padding-top:24px;margin-top:auto;gap:8px}.project-art .preview-label,.project-art .model-path span{font-size:.875rem}.project-art .preview-label{line-height:1.5}.project-art .model-path span{padding:3px 10px}.housing-art{color:var(--navy)}
