:root{--ink:#252525;--accent:#255d68;--line:#d6d6d6;--soft:#f3f3f3}*{box-sizing:border-box}html{font-size:100%;scroll-padding-top:20px}body{margin:0;color:var(--ink);background:#fff;font:17px/1.7 Arial,Helvetica,sans-serif;overflow-wrap:break-word}h1,h2,h3,h4,p,a{font-family:inherit}a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}a:hover{color:#173c43}a:focus-visible,summary:focus-visible{outline:3px solid #a65300;outline-offset:4px}img{max-width:100%;height:auto}main:focus,[role=main]:focus{outline:none}.wrap{width:min(100%,1170px);margin:auto;padding:0 24px}.portfolio-header{background:#f3f3f3;border-bottom:1px solid #d6d6d6}.identity{padding-top:26px;padding-bottom:20px}.brand{display:inline-block;font-size:2rem;font-weight:700;line-height:1.2;letter-spacing:-.035em;color:#252525;text-decoration:none}.identity p{margin:6px 0 0;font-size:1rem;color:#555}.portfolio-nav{display:flex;gap:4px 24px;flex-wrap:wrap;padding-top:0;padding-bottom:12px}.portfolio-nav a{display:inline-block;padding:8px 0;min-height:44px;color:#333;font-weight:600;text-decoration:none;font-size:1rem}.portfolio-nav a[aria-current],.portfolio-nav a:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:7px}.skip-link,.skip-link.visually-hidden{position:absolute!important;z-index:10000;top:8px;left:8px;width:auto!important;height:auto!important;clip:auto!important;clip-path:none!important;transform:translateY(-200%);padding:12px 18px;background:white;color:#252525;font-weight:bold}.skip-link:focus,.skip-link.visually-hidden:focus{transform:translateY(0);outline:3px solid #a65300}.hero-new{padding:48px 0 40px;background:#fafafa;border-bottom:1px solid #e5e5e5}.hero-new h1{font-size:clamp(2rem,4.1vw,3.3rem);line-height:1.16;letter-spacing:-.035em;max-width:1000px;margin:10px 0 22px;font-weight:700}.lead{font-size:1.2rem;line-height:1.65;max-width:790px;color:#454545}.eyebrow{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:#455c61}.section-new{padding:38px 0 60px}.prose-new{max-width:1020px}.prose-new>p,.prose-new>ul,.prose-new>ol,.prose-new>dl{max-width:780px}.prose-new h2{font-size:1.7rem;line-height:1.3;margin:1.7em 0 .65em}.prose-new h2:first-child{margin-top:0}.prose-new h3{font-size:1.2rem;line-height:1.4}.cards-new{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:20px;margin:24px 0}.card-new{border:1px solid var(--line);border-top:3px solid #637c80;border-radius:3px;padding:24px;background:white;min-width:0}.card-new h3{font-size:1.25rem;margin:0 0 12px}.card-new p:last-child{margin-bottom:0}.btn-new{display:inline-block;margin:10px 12px 0 0;padding:11px 18px;background:#255d68;color:white;border:1px solid #255d68;border-radius:3px;text-decoration:none;font-weight:bold}.btn-new:hover,.btn-new:focus{background:#173c43;color:white}.btn-new.secondary{background:white;color:#255d68}.notice-new,.archive-note{padding:16px 20px;background:#f3f3f3;border-left:3px solid #637c80;font-size:.93rem;margin:20px 0}.project-summary{display:grid;grid-template-columns:150px 1fr;gap:12px 20px;padding:24px;border:1px solid #d6d6d6;background:#fafafa}.project-summary dt,dt{font-weight:bold}.project-summary dd{margin:0}dd{margin:0 0 18px}.technical-figure{margin:28px 0;padding:20px;border:1px solid #ddd;max-width:680px}.technical-figure svg{display:block;width:100%;max-width:420px;height:auto;margin:auto}.technical-figure figcaption{font-size:.9rem;color:#555;margin-top:14px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;margin:20px 0}caption{text-align:left;font-weight:bold;margin-bottom:12px}th,td{text-align:left;vertical-align:top;padding:14px;border:1px solid #ddd}th{background:#f3f3f3}.portfolio-footer{background:#f3f3f3;border-top:1px solid #ddd;padding:34px 0 22px;color:#333;font-size:1rem;clear:both}.portfolio-footer h2{font-size:1.2rem;margin-top:0}.portfolio-footer a{color:#255d68;display:inline-block;padding:5px 0}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:36px}.copyright{border-top:1px solid #d6d6d6;padding-top:20px;margin-top:20px;font-size:.95rem}.project-context{padding:12px 0 24px}.project-context h2{font-size:1.65rem}.project-context h3{font-size:1.15rem}.selected-work{padding:12px 0 30px}
/* The static archive uses native links rather than Drupal AJAX, tabs or sliders. */
body.fixed-header-enabled{padding-top:0!important}.fixed-header-enabled .portfolio-header{position:static}.tab-content>.tab-pane{display:block!important;opacity:1!important}.nav-tabs{display:none}.flexslider .slides>li{display:block!important;float:none!important;position:static!important;opacity:1!important;width:100%!important}.flexslider .slides{transform:none!important;width:auto!important}.flexslider{border:0;box-shadow:none}.flex-control-nav,.flex-direction-nav,.overlay{display:none!important}.view-content .views-row{max-width:100%}.image-preview img{height:auto}.image-wrapper{max-width:100%}.sidebar .block{margin-bottom:28px}#page h1{font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.25}#page .page-title{margin-top:30px}#page .prose-new h2{margin-top:1.5em}#page .card-new h3{font-size:1.25rem}#page .archive-note{margin-bottom:28px}.portfolio-header .identity,.portfolio-header .portfolio-nav{float:none}body .portfolio-footer h2{border:0}
@media(max-width:650px){.wrap{padding-left:20px;padding-right:20px}.identity{padding-top:22px;padding-bottom:16px}.brand{font-size:1.8rem}.portfolio-nav{gap:0 18px;padding-bottom:10px}.hero-new{padding:30px 0}.section-new{padding:26px 0 42px}.project-summary{display:block}.project-summary dt{margin-top:12px}.project-summary dt:first-child{margin-top:0}.project-summary dd{margin-bottom:12px}.card-new{padding:20px}.technical-figure{padding:12px;margin-left:0;margin-right:0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
button.btn-new{font:inherit;font-weight:bold;cursor:pointer}button:focus-visible{outline:3px solid #a65300;outline-offset:4px}[hidden]{display:none!important}
@media print{.portfolio-nav,.skip-link,.portfolio-footer{display:none}.hero-new,.section-new{padding:12px 0}.cards-new{display:block}.card-new,figure{break-inside:avoid}body{font-size:11pt}a{color:#222}.wrap{max-width:none}}


/* Orientation within profile, project and archive sections. */
.section-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px;margin:20px 0 30px;padding:14px 0;border-block:1px solid var(--line)}
.section-links a{display:inline-block;padding:8px 0;min-height:44px}.back-link{font-size:1rem;margin:0 0 18px}.back-link a{display:inline-block;padding:8px 0}.article-meta,.project-client{color:#555;font-size:.95rem}.card-new h2{font-size:1.25rem;margin:0 0 12px}.archive-cards .card-new p{font-size:1rem}.archive-cards .project-client{font-weight:bold}.archive-cards h3{line-height:1.4}
