@charset "UTF-8";
/* Vermilion / paper / ice. An editorial portfolio with brand identity cards. */
:root{color-scheme:light;--paper:#f4f0e8;--ink:#242d2b;--red:#c83724;--line:#c8c9bd;--blue:#dce8ed;--petrol:#193e40;--muted:#5f6961;--display:'Bricolage Grotesque',Arial,sans-serif;--sans:'IBM Plex Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;-webkit-font-smoothing:antialiased}::selection{background:var(--red);color:var(--paper)}
.sk-portfolio{overflow:clip}.sk-portfolio a{color:inherit;text-decoration:none}.sk-portfolio button,.sk-portfolio input,.sk-portfolio textarea{font:inherit}.sk-portfolio button,.sk-portfolio summary{cursor:pointer}.sk-portfolio h1,.sk-portfolio h2,.sk-portfolio h3,.sk-portfolio h4,.sk-portfolio p{margin:0}.sk-portfolio svg{display:block}.sk-portfolio img{display:block;width:100%;height:100%;object-fit:cover}.sk-portfolio .icon-definitions{position:absolute;width:0;height:0;overflow:hidden}.sk-portfolio .icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.sk-portfolio .wrap{width:min(1552px,100%);padding-inline:clamp(24px,5vw,76px);margin-inline:auto}.sk-portfolio :focus-visible{outline:2px solid var(--red);outline-offset:5px}.sk-portfolio .skip-link{position:fixed;top:-100px;left:24px;padding:15px 24px;background:var(--ink);color:white;z-index:100}.sk-portfolio .skip-link:focus{top:15px}.sk-portfolio .underlined-link{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid;padding-bottom:8px;font-size:16px;font-weight:500}.sk-portfolio .underlined-link>span{font-size:23px;transition:transform .2s}.sk-portfolio .underlined-link:hover>span{transform:translate(3px,-3px)}
/* A quiet masthead, not a floating navigation pill. */
.sk-portfolio .site-header{display:flex;align-items:center;gap:36px;height:115px}.sk-portfolio .wordmark{font-family:var(--display);font-size:43px;font-weight:700;line-height:1;letter-spacing:-.085em;white-space:nowrap}.sk-portfolio .wordmark span{color:var(--red)}.sk-portfolio .header-note{font-size:12px;line-height:1.45;letter-spacing:.015em}.sk-portfolio .nav{display:flex;align-items:center;gap:30px;margin-left:auto}.sk-portfolio .nav a{font-size:14px;line-height:1.5;position:relative}.sk-portfolio .nav a:after{content:'';height:1px;background:var(--red);position:absolute;bottom:-4px;left:0;right:100%;transition:right .2s}.sk-portfolio .nav a:hover:after,.sk-portfolio .nav a.is-active:after{right:0}.sk-portfolio .nav sup{font-size:10px;margin-left:2px;color:var(--red)}.sk-portfolio .header-contact{margin-left:35px;display:flex;align-items:center;gap:28px;font-size:14px;border-bottom:1px solid var(--ink);padding-block:9px}.sk-portfolio .header-contact span{font-size:20px}.sk-portfolio .menu-toggle{display:none}
/* The name is the identity. No stock hero or slogan panel. */
.sk-portfolio .hero{padding-top:32px;padding-bottom:0}.sk-portfolio .hero-eyebrow{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:22px;font-size:12px;letter-spacing:.055em}.sk-portfolio .hero-eyebrow>span:last-child{color:#657168}.sk-portfolio .hero-layout{display:grid;grid-template-columns:1.65fr 1fr;align-items:end;gap:50px;margin-top:45px;margin-bottom:44px}.sk-portfolio h1{font-family:var(--display);font-size:clamp(90px,10.7vw,164px);font-weight:600;line-height:.86;letter-spacing:-.075em;font-variation-settings:'opsz' 96,'wdth' 85;position:relative}.sk-portfolio h1>span{color:var(--red)}.sk-portfolio .hero-asterisk{display:inline-block;width:.47em;height:.47em;stroke:var(--red);stroke-width:11;margin-left:28px;margin-bottom:.04em;transform:rotate(8deg)}.sk-portfolio .hero-intro{padding-bottom:7px;max-width:370px;justify-self:end}.sk-portfolio .hero-intro .hero-intro-lead{font-family:var(--display);font-size:clamp(22px,2.05vw,31px);line-height:1.2;font-weight:500;letter-spacing:-.035em;margin-bottom:21px;color:var(--ink)}.sk-portfolio .hero-intro>p{font-size:16px;line-height:1.75;color:var(--muted)}.sk-portfolio .hero-intro .underlined-link{margin-top:25px;min-width:190px;font-size:14px}.sk-portfolio .hero-facts{display:flex;align-items:center;gap:34px;padding-top:28px;padding-bottom:38px}.sk-portfolio .hero-facts>span{font-size:12px;color:var(--muted);display:flex;align-items:baseline;gap:8px;white-space:nowrap}.sk-portfolio .hero-facts strong{font-family:var(--display);font-size:24px;font-weight:500;letter-spacing:-.05em;color:var(--ink)}.sk-portfolio .hero-facts>span.hero-facts-end{font-size:10px;white-space:normal;margin-left:auto;letter-spacing:.035em;max-width:240px;align-items:center;line-height:1.5;gap:20px}.sk-portfolio .hero-facts-end>span{font-size:30px;color:var(--red)}
/* Complete interface covers stay visible at every viewport size. */
.sk-portfolio .section-label{display:flex;justify-content:space-between;align-items:baseline;gap:25px;border-top:1px solid var(--line);padding-top:20px;font-size:13px;line-height:1.5}.sk-portfolio .section-label>span:first-child{font-weight:500}.sk-portfolio .section-label>span:last-child{color:var(--muted);font-size:12px}.sk-portfolio .work{padding-bottom:92px}.sk-portfolio .work-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:70px 42px;padding-top:36px;align-items:start}.sk-portfolio .work-project{min-width:0}.sk-portfolio .project-schools{grid-column:span 7}.sk-portfolio .project-fire{grid-column:span 5;margin-top:125px}.sk-portfolio .project-cosboa{grid-column:1/-1}.sk-portfolio .project-onevote{grid-column:span 5}.sk-portfolio .project-clipcast{grid-column:span 7;margin-top:110px}.sk-portfolio .project-top{display:flex;justify-content:space-between;gap:20px;font-size:12px;line-height:1.5;color:var(--muted);margin-bottom:13px}.sk-portfolio .project-image{display:block;position:relative;overflow:hidden;background:#d8dbd1;aspect-ratio:3/2}.sk-portfolio .project-fire .project-image{aspect-ratio:3/2}.sk-portfolio .project-cosboa .project-image{aspect-ratio:3/2}.sk-portfolio .project-onevote .project-image{aspect-ratio:3/2}.sk-portfolio .project-clipcast .project-image{aspect-ratio:3/2}.sk-portfolio .project-image img{transition:transform .65s cubic-bezier(.2,.65,.3,1)}.sk-portfolio .project-image:hover img{filter:brightness(.97)}.sk-portfolio .image-link-label{position:absolute;bottom:20px;right:20px;background:var(--paper);color:var(--ink);padding:12px 16px;font-size:13px;opacity:0;transform:translateY(7px);transition:opacity .2s,transform .2s}.sk-portfolio .project-image:hover .image-link-label,.sk-portfolio .project-image:focus-visible .image-link-label{opacity:1;transform:translateY(0)}.sk-portfolio .project-title{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-top:19px}.sk-portfolio .project-title h2{font-family:var(--display);font-size:clamp(25px,2.4vw,36px);font-weight:500;letter-spacing:-.045em;line-height:1.2}.sk-portfolio .project-title>span{font-size:27px;color:var(--red)}.sk-portfolio .project-title a:hover{color:var(--red)}.sk-portfolio .project-category{font-size:14px;color:var(--muted);margin-top:7px}.sk-portfolio .project-notes{border-top:1px solid var(--line);margin-top:20px}.sk-portfolio .project-notes>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:13px;padding-block:14px}.sk-portfolio summary::-webkit-details-marker{display:none}.sk-portfolio .project-notes>summary>span{font-size:23px;line-height:1;transition:transform .2s}.sk-portfolio .project-notes[open]>summary>span{transform:rotate(45deg)}.sk-portfolio .project-story{padding:15px 0 22px;max-width:680px}.sk-portfolio .project-story h3{font-family:var(--display);font-size:26px;font-weight:500;letter-spacing:-.035em;line-height:1.2;margin-bottom:16px}.sk-portfolio .project-story>p{font-size:16px;line-height:1.75;color:var(--muted)}.sk-portfolio .story-details{margin-top:23px}.sk-portfolio .story-details h4{font-size:14px;font-weight:600;margin-bottom:11px}.sk-portfolio .story-details ul{padding-left:18px;margin:0}.sk-portfolio .story-details li{font-size:14px;line-height:1.65;color:var(--muted);padding-left:3px;margin-block:6px}.sk-portfolio .story-details li::marker{color:var(--red)}.sk-portfolio .tags{display:flex;flex-wrap:wrap;gap:8px 15px;margin-block:23px}.sk-portfolio .tags>span{font-size:12px;color:#69746c;border-bottom:1px solid #babfb3;padding-bottom:4px}.sk-portfolio .text-link{display:inline-flex;align-items:center;gap:18px;font-size:14px;border:0;border-bottom:1px solid;padding:0 0 7px;background:none;color:var(--red)}.sk-portfolio .text-link>.icon{width:16px;height:16px}.sk-portfolio .art-note{font-size:12px;line-height:1.7;color:var(--muted);border-top:1px solid var(--line);padding-top:18px;margin-top:48px;max-width:650px}
/* Services as an edited list on a single blue surface. */
.sk-portfolio .expertise{background:var(--blue);color:var(--petrol);padding-block:48px 50px;--line:#afc4c9;--muted:#4d696e}.sk-portfolio .expertise-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:45px;margin-top:43px;margin-bottom:45px}.sk-portfolio .expertise-intro h2,.sk-portfolio .about h2,.sk-portfolio .lab-heading h2{font-family:var(--display);font-size:clamp(47px,5.1vw,76px);font-weight:500;letter-spacing:-.065em;line-height:1.02}.sk-portfolio .expertise-intro>p{font-size:18px;line-height:1.65;max-width:375px;padding-bottom:4px}.sk-portfolio .service{border-top:1px solid var(--line);display:grid;grid-template-columns:40px 1.4fr 1fr 35px;gap:35px;padding:32px 0;align-items:start}.sk-portfolio .service:last-child{border-bottom:1px solid var(--line)}.sk-portfolio .service-number{font-size:13px;padding-top:5px}.sk-portfolio .service h3{font-family:var(--display);font-size:27px;font-weight:500;line-height:1.2;letter-spacing:-.035em;margin-bottom:14px}.sk-portfolio .service p{font-size:16px;line-height:1.65;color:#4d696e;max-width:470px}.sk-portfolio .service ul{list-style:none;padding:0;margin:4px 0 0}.sk-portfolio .service li{font-size:14px;line-height:1.6;margin-bottom:9px}.sk-portfolio .service>a{font-size:32px;line-height:1;text-align:right;transition:transform .2s}.sk-portfolio .service>a:hover{transform:translate(3px,-3px)}.sk-portfolio .system-drawer{margin-top:32px}.sk-portfolio .system-drawer>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:30px;font-size:14px}.sk-portfolio .system-drawer>summary>span:last-child{display:flex;align-items:center;gap:25px;font-size:12px}.sk-portfolio .system-drawer summary b{font-size:25px;font-weight:400;transition:transform .2s}.sk-portfolio .system-drawer[open] summary b{transform:rotate(45deg)}.sk-portfolio .system-drawer-content{display:grid;grid-template-columns:1fr 1.2fr;gap:65px;padding-top:35px;align-items:center}.sk-portfolio .system-drawer-content h3{font-family:var(--display);font-size:36px;font-weight:500;line-height:1.2;letter-spacing:-.04em;margin-bottom:25px}.sk-portfolio .system-drawer-content p{font-size:16px;line-height:1.75;color:var(--muted);max-width:365px}.sk-portfolio .system-drawer-content .system-key{font-size:12px;margin-top:23px;letter-spacing:.05em}.sk-portfolio .system-visual{background:#163c3e;color:#dce8ed;border:1px solid #477174;min-width:0}.sk-portfolio .visual-header{display:flex;justify-content:space-between;align-items:center;padding:15px 18px;border-bottom:1px solid #477174}.sk-portfolio .mono{font-size:12px;letter-spacing:.025em}.sk-portfolio .visual-status{font-size:12px;color:#a9c7c9}.sk-portfolio .diagram-stage{position:relative;touch-action:pan-y;cursor:grab;user-select:none}.sk-portfolio .diagram-stage.is-dragging{cursor:grabbing}.sk-portfolio #system-diagram{width:100%;aspect-ratio:600/490;height:auto}.sk-portfolio .diagram-cross{display:none}.sk-portfolio .diagram-hint{position:absolute;bottom:12px;text-align:center;width:100%;color:#b0c8ca;font-size:10px}.sk-portfolio .visual-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #477174;padding:15px 18px}.sk-portfolio .visual-footer>span{display:flex;align-items:center;gap:15px}.sk-portfolio .visual-footer strong{font-size:12px;font-weight:500}.sk-portfolio .visual-index{color:#a9c7c9}.sk-portfolio .model-navigation{display:flex;gap:5px}.sk-portfolio .model-navigation button{width:34px;height:32px;background:none;border:1px solid #789a9c;color:#f4f0e8;font-size:20px}.sk-portfolio .model-navigation button:hover{background:#dce8ed;color:#193e40}.sk-portfolio .system-visual :focus-visible{outline-color:#fb957e}
/* Personal context and independent work. */
.sk-portfolio .about{padding-block:80px 90px}.sk-portfolio .about-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:80px;padding-top:55px}.sk-portfolio .about-place{font-size:14px;color:var(--red);display:block;margin-bottom:21px}.sk-portfolio .about h2{font-size:clamp(45px,4.75vw,69px)}.sk-portfolio .about-time{display:block;font-size:12px;letter-spacing:.05em;margin-top:33px;color:var(--muted)}.sk-portfolio .about-copy>p{font-size:16px;line-height:1.8;margin-top:20px;color:var(--muted);max-width:550px}.sk-portfolio .about-copy>p.about-lead{font-family:var(--display);font-size:28px;line-height:1.35;letter-spacing:-.035em;color:var(--ink);margin-top:0}.sk-portfolio .about-copy .underlined-link{margin-top:28px;font-size:14px}.sk-portfolio .lab{padding-bottom:95px}.sk-portfolio .lab-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-block:39px 41px}.sk-portfolio .lab-heading>p{font-size:17px;line-height:1.7;color:var(--muted);max-width:350px}.sk-portfolio .lab-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:27px;align-items:start}.sk-portfolio .lab-card{min-width:0}.sk-portfolio .lab-card:nth-child(2){margin-top:60px}.sk-portfolio .lab-card:nth-child(3){margin-top:120px}.sk-portfolio .lab-image{aspect-ratio:3/2;overflow:hidden;background:#ded9cc}.sk-portfolio .lab-image img{transition:transform .5s}.sk-portfolio .lab-card:hover img{filter:brightness(.97)}.sk-portfolio .lab-name{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:19px}.sk-portfolio .lab-name h3{font-family:var(--display);font-size:28px;letter-spacing:-.05em;font-weight:500}.sk-portfolio .lab-name>span{font-size:23px;color:var(--red)}.sk-portfolio .lab-card>p{font-size:16px;line-height:1.6;color:var(--muted);margin-top:10px;max-width:350px}.sk-portfolio .lab-tech{font-size:12px;color:var(--muted);margin-top:16px;display:block}
/* Contact: one clear, oversized invitation. */
.sk-portfolio .contact{background:var(--red);color:var(--paper);padding-block:43px 38px;--line:#ef8f79;--muted:#f4f0e8}.sk-portfolio .contact h2{font-family:var(--display);font-size:clamp(70px,11vw,164px);line-height:.94;letter-spacing:-.075em;font-weight:500;margin-block:44px 45px}.sk-portfolio .contact-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;border-top:1px solid var(--line);padding-top:25px}.sk-portfolio .contact-bottom p{font-size:16px;line-height:1.7;color:#f4f0e8}.sk-portfolio .contact-bottom>a{display:flex;align-items:center;gap:22px;font-family:var(--display);font-size:clamp(18px,2.1vw,31px);letter-spacing:-.04em;border-bottom:1px solid #ed9f8a;padding-bottom:9px}.sk-portfolio .contact-bottom>a>span{font-size:30px}.sk-portfolio .contact :focus-visible{outline-color:var(--paper)}.sk-portfolio .contact-brief{margin-top:27px;border-top:1px solid #e77860}.sk-portfolio .contact-brief>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:25px;padding-top:20px;font-size:14px;color:#f4f0e8}.sk-portfolio .contact-brief>summary>span{font-size:25px;transition:transform .2s}.sk-portfolio .contact-brief[open]>summary>span{transform:rotate(45deg)}.sk-portfolio .contact-brief form{max-width:900px;padding-top:30px}.sk-portfolio .form-row{display:grid;grid-template-columns:1fr 1fr;gap:25px}.sk-portfolio .contact-brief label{display:flex;flex-direction:column;gap:10px;font-size:14px;margin-bottom:23px}.sk-portfolio .contact-brief input,.sk-portfolio .contact-brief textarea{font-size:16px;background:#fff1df;color:#332d28;padding:16px;border:1px solid #f3b69f;width:100%;border-radius:0;resize:vertical}.sk-portfolio .contact-brief input::placeholder,.sk-portfolio .contact-brief textarea::placeholder{color:#756e63}.sk-portfolio .form-footer{display:flex;justify-content:space-between;align-items:center;gap:25px}.sk-portfolio .form-footer>p{font-size:13px;color:#f4f0e8}.sk-portfolio .button{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:55px;padding:16px 25px;font-size:14px;background:var(--paper);color:var(--red);border:1px solid var(--paper)}.sk-portfolio .button:disabled{opacity:.6;cursor:default}.sk-portfolio .button:hover:not(:disabled){background:#193e40;border-color:#193e40;color:var(--paper)}.sk-portfolio .form-status{font-size:14px;margin-top:17px;line-height:1.6;max-width:680px}.sk-portfolio .footer{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-block:35px}.sk-portfolio .footer .wordmark{font-size:32px}.sk-portfolio .footer p,.sk-portfolio .footer>span,.sk-portfolio .footer>a:last-child{font-size:12px;color:var(--muted)}.sk-portfolio .footer>a:last-child{color:var(--ink)}
@keyframes arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){.sk-portfolio .hero-layout{animation:arrive .65s ease-out}}
@media(min-width:1600px){.sk-portfolio h1{font-size:174px}.sk-portfolio .hero-layout{gap:65px}.sk-portfolio .hero-intro{max-width:385px}}
@media(max-width:1100px){.sk-portfolio .site-header{gap:25px;height:105px}.sk-portfolio .header-contact{margin-left:16px}.sk-portfolio .nav{gap:22px}.sk-portfolio .hero-layout{grid-template-columns:1.5fr 1fr;gap:38px}.sk-portfolio h1{font-size:11vw}.sk-portfolio .hero-asterisk{margin-left:17px}.sk-portfolio .hero-intro-lead{font-size:25px}.sk-portfolio .hero-intro>p{font-size:15px}.sk-portfolio .hero-facts{gap:25px}.sk-portfolio .hero-facts>span.hero-facts-end{max-width:180px;font-size:10px}.sk-portfolio .work-grid{gap:58px 32px}.sk-portfolio .project-fire{margin-top:100px}.sk-portfolio .project-clipcast{margin-top:75px}.sk-portfolio .service{gap:23px;grid-template-columns:30px 1.3fr 1fr 28px}.sk-portfolio .service h3{font-size:25px}.sk-portfolio .service ul{font-size:13px}.sk-portfolio .expertise-intro>p{max-width:320px;font-size:16px}.sk-portfolio .about-layout{gap:60px}.sk-portfolio .lab-grid{gap:23px}.sk-portfolio .contact-bottom{gap:30px}.sk-portfolio .contact-bottom p{font-size:14px}.sk-portfolio .contact-bottom>a{font-size:22px}}
@media(max-width:800px){.sk-portfolio .wrap{padding-inline:30px}.sk-portfolio .site-header{gap:21px;height:90px}.sk-portfolio .header-note{display:none}.sk-portfolio .nav{gap:24px}.sk-portfolio .header-contact{margin-left:17px}.sk-portfolio .hero{padding-top:25px}.sk-portfolio .hero-eyebrow{font-size:10px;padding-top:19px}.sk-portfolio .hero-layout{margin-top:37px;gap:30px;grid-template-columns:1.3fr 1fr}.sk-portfolio h1{font-size:10.5vw}.sk-portfolio .hero-asterisk{margin-left:15px}.sk-portfolio .hero-intro{max-width:280px;padding:0}.sk-portfolio .hero-intro .hero-intro-lead{font-size:23px;margin-bottom:15px}.sk-portfolio .hero-intro>p{font-size:14px}.sk-portfolio .hero-intro p br{display:none}.sk-portfolio .hero-intro .underlined-link{margin-top:19px;font-size:13px;min-width:165px}.sk-portfolio .hero-facts{flex-wrap:wrap;gap:16px 30px;padding-top:7px;padding-bottom:30px}.sk-portfolio .hero-facts>span.hero-facts-end{display:none}.sk-portfolio .hero-facts strong{font-size:22px}.sk-portfolio .work-grid{gap:48px 25px;padding-top:28px}.sk-portfolio .project-fire{margin-top:80px}.sk-portfolio .project-clipcast{margin-top:70px}.sk-portfolio .project-title h2{font-size:26px}.sk-portfolio .project-category{font-size:13px;line-height:1.5}.sk-portfolio .project-top{font-size:11px}.sk-portfolio .project-title{margin-top:16px;gap:10px}.sk-portfolio .project-title>span{font-size:22px}.sk-portfolio .project-notes{margin-top:16px}.sk-portfolio .project-story h3{font-size:25px}.sk-portfolio .work{padding-bottom:60px}.sk-portfolio .expertise{padding-block:36px}.sk-portfolio .expertise-intro{gap:35px;margin-block:35px}.sk-portfolio .expertise-intro h2{font-size:54px}.sk-portfolio .expertise-intro>p{max-width:275px}.sk-portfolio .service{grid-template-columns:24px 1.2fr 1fr 24px;gap:20px}.sk-portfolio .service h3{font-size:23px}.sk-portfolio .service p{font-size:15px}.sk-portfolio .service li{font-size:13px}.sk-portfolio .service>a{font-size:27px}.sk-portfolio .system-drawer-content{gap:35px}.sk-portfolio .system-drawer-content h3{font-size:29px}.sk-portfolio .system-drawer-content p{font-size:14px}.sk-portfolio .visual-status{display:none}.sk-portfolio .visual-footer{padding:12px}.sk-portfolio .visual-footer>span{flex-direction:column;align-items:flex-start;gap:4px}.sk-portfolio .diagram-hint{font-size:9px}.sk-portfolio .about{padding-block:55px 60px}.sk-portfolio .about-layout{gap:43px;padding-top:39px}.sk-portfolio .about h2{font-size:49px}.sk-portfolio .about-copy>p.about-lead{font-size:25px}.sk-portfolio .about-time{font-size:10px}.sk-portfolio .lab{padding-bottom:65px}.sk-portfolio .lab-heading h2{font-size:55px}.sk-portfolio .lab-heading>p{font-size:16px;max-width:265px}.sk-portfolio .lab-grid{gap:20px}.sk-portfolio .lab-card:nth-child(2){margin-top:40px}.sk-portfolio .lab-card:nth-child(3){margin-top:80px}.sk-portfolio .lab-name h3{font-size:25px}.sk-portfolio .lab-card>p{font-size:14px}.sk-portfolio .lab-tech{font-size:11px}.sk-portfolio .contact h2{font-size:100px}.sk-portfolio .contact-bottom{flex-direction:column;align-items:flex-start;gap:23px}.sk-portfolio .contact-bottom p{font-size:16px}.sk-portfolio .contact-bottom>a{font-size:26px}.sk-portfolio .footer{gap:22px;flex-wrap:wrap}.sk-portfolio .footer>span{display:none}}
@media(max-width:600px){.sk-portfolio .wrap{padding-inline:23px}.sk-portfolio .site-header{height:85px;gap:22px;position:relative;z-index:10}.sk-portfolio .wordmark{font-size:38px}.sk-portfolio .header-contact{margin-left:auto;font-size:13px;gap:17px}.sk-portfolio .menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:32px;height:36px;background:none;border:0;padding:6px}.sk-portfolio .menu-toggle>span{width:20px;height:2px;background:var(--ink);transition:transform .2s}.sk-portfolio .menu-toggle[aria-expanded=true]>span:first-child{transform:translateY(4px) rotate(45deg)}.sk-portfolio .menu-toggle[aria-expanded=true]>span:last-child{transform:translateY(-4px) rotate(-45deg)}.sk-portfolio .nav{display:none;position:absolute;top:84px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);padding:10px 23px 25px;border-bottom:1px solid var(--line)}.sk-portfolio .nav.is-open{display:flex}.sk-portfolio .nav a{font-size:18px;padding:14px 0;border-top:1px solid var(--line)}.sk-portfolio .hero{padding-top:10px}.sk-portfolio .hero-eyebrow{font-size:10px;letter-spacing:.02em;line-height:1.5;padding-top:17px}.sk-portfolio .hero-eyebrow>span:last-child{display:none}.sk-portfolio .hero-layout{display:block;margin-top:36px;margin-bottom:30px}.sk-portfolio h1{font-size:clamp(75px,17vw,104px);line-height:.88;letter-spacing:-.08em}.sk-portfolio .hero-asterisk{width:.43em;height:.43em;margin-left:23px;margin-bottom:.02em}.sk-portfolio .hero-intro{max-width:none;margin-top:30px;display:grid;grid-template-columns:1fr;gap:14px}.sk-portfolio .hero-intro .hero-intro-lead{font-size:23px;line-height:1.25;max-width:310px;margin:0}.sk-portfolio .hero-intro .hero-intro-lead br{display:none}.sk-portfolio .hero-intro>p{font-size:16px;line-height:1.6;max-width:320px}.sk-portfolio .hero-intro .underlined-link{font-size:14px;margin-top:3px;min-width:0;justify-self:start;gap:42px}.sk-portfolio .hero-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding-top:0;padding-bottom:30px}.sk-portfolio .hero-facts>span{flex-direction:column;gap:6px;font-size:12px;align-items:flex-start}.sk-portfolio .hero-facts strong{font-size:25px}.sk-portfolio .section-label{font-size:13px;gap:17px;padding-top:17px;align-items:flex-start}.sk-portfolio .section-label>span:last-child{font-size:10px;text-align:right;max-width:165px;line-height:1.6}.sk-portfolio .work-grid{display:block;padding-top:28px}.sk-portfolio .work-project{margin:0 0 38px}.sk-portfolio .work-project:last-child{margin-bottom:0}.sk-portfolio .project-image,.sk-portfolio .project-fire .project-image,.sk-portfolio .project-cosboa .project-image,.sk-portfolio .project-onevote .project-image,.sk-portfolio .project-clipcast .project-image{aspect-ratio:3/2}.sk-portfolio .project-top{font-size:12px}.sk-portfolio .project-title h2{font-size:29px}.sk-portfolio .project-title{margin-top:17px}.sk-portfolio .project-category{font-size:14px}.sk-portfolio .project-notes>summary{font-size:14px;padding-block:14px}.sk-portfolio .project-story h3{font-size:28px}.sk-portfolio .project-story>p{font-size:16px}.sk-portfolio .tags>span{font-size:12px}.sk-portfolio .image-link-label{bottom:15px;right:15px;font-size:12px;padding:10px 14px}.sk-portfolio .art-note{margin-top:26px;font-size:12px}.sk-portfolio .work{padding-bottom:42px}.sk-portfolio .expertise{padding-block:29px 33px}.sk-portfolio .expertise-intro{display:block;margin-top:31px;margin-bottom:32px}.sk-portfolio .expertise-intro h2{font-size:56px}.sk-portfolio .expertise-intro>p{font-size:16px;max-width:none;line-height:1.7;margin-top:25px}.sk-portfolio .service{grid-template-columns:23px 1fr 25px;gap:13px;padding-block:27px}.sk-portfolio .service-number{font-size:12px}.sk-portfolio .service h3{font-size:25px}.sk-portfolio .service p{font-size:16px}.sk-portfolio .service ul{grid-column:2;grid-row:2;margin-top:2px}.sk-portfolio .service li{font-size:14px;margin-bottom:8px}.sk-portfolio .service>a{grid-column:3;grid-row:1;font-size:27px}.sk-portfolio .system-drawer>summary{align-items:flex-start;gap:20px;font-size:14px}.sk-portfolio .system-drawer>summary>span:last-child{font-size:0;gap:0}.sk-portfolio .system-drawer>summary b{font-size:25px}.sk-portfolio .system-drawer-content{display:block;padding-top:28px}.sk-portfolio .system-drawer-content h3{font-size:33px}.sk-portfolio .system-drawer-content p{font-size:16px;max-width:none}.sk-portfolio .system-visual{margin-top:25px}.sk-portfolio .visual-header{padding:13px}.sk-portfolio .visual-footer>span{flex-direction:row;align-items:center;gap:9px}.sk-portfolio .visual-footer strong{font-size:12px}.sk-portfolio .visual-index{font-size:10px}.sk-portfolio .diagram-hint{font-size:9px}.sk-portfolio .about{padding-block:42px}.sk-portfolio .about-layout{display:block;padding-top:33px}.sk-portfolio .about h2{font-size:56px}.sk-portfolio .about-place{font-size:14px;margin-bottom:17px}.sk-portfolio .about-time{font-size:12px;margin-top:22px}.sk-portfolio .about-copy{margin-top:32px}.sk-portfolio .about-copy>p.about-lead{font-size:26px;line-height:1.4}.sk-portfolio .about-copy>p{font-size:16px}.sk-portfolio .lab{padding-bottom:45px}.sk-portfolio .lab-heading{display:block;margin-block:31px}.sk-portfolio .lab-heading h2{font-size:56px}.sk-portfolio .lab-heading>p{font-size:16px;margin-top:22px;max-width:none}.sk-portfolio .lab-grid{grid-template-columns:1fr;gap:35px}.sk-portfolio .lab-card:nth-child(2),.sk-portfolio .lab-card:nth-child(3){margin-top:0}.sk-portfolio .lab-image{aspect-ratio:3/2}.sk-portfolio .lab-name h3{font-size:29px}.sk-portfolio .lab-card>p{font-size:16px;max-width:none}.sk-portfolio .lab-tech{font-size:12px;margin-top:12px}.sk-portfolio .contact{padding-block:28px}.sk-portfolio .contact h2{font-size:clamp(68px,15vw,88px);margin-block:32px}.sk-portfolio .contact-bottom{gap:22px;padding-top:22px}.sk-portfolio .contact-bottom p{font-size:16px}.sk-portfolio .contact-bottom p br{display:none}.sk-portfolio .contact-bottom>a{font-size:clamp(15px,4.1vw,23px);gap:12px;max-width:100%;letter-spacing:-.045em}.sk-portfolio .contact-bottom>a>span{font-size:23px}.sk-portfolio .contact-brief>summary{font-size:14px}.sk-portfolio .form-row{grid-template-columns:1fr;gap:0}.sk-portfolio .form-footer{flex-direction:column;align-items:flex-start;gap:20px}.sk-portfolio .footer{display:grid;grid-template-columns:1fr 1fr;gap:20px 12px;padding-block:28px}.sk-portfolio .footer>.wordmark{grid-column:1/-1}.sk-portfolio .footer p{font-size:11px}.sk-portfolio .footer>a:last-child{font-size:12px;justify-self:end}}
@media(max-width:359px){.sk-portfolio .wrap{padding-inline:18px}.sk-portfolio h1{font-size:73px}.sk-portfolio .hero-asterisk{margin-left:13px}.sk-portfolio .hero-eyebrow{font-size:9px}.sk-portfolio .project-title h2{font-size:26px}.sk-portfolio .hero-facts>span{font-size:11px}.sk-portfolio .contact-bottom>a{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.sk-portfolio *,.sk-portfolio *:before,.sk-portfolio *:after{animation:none!important;transition:none!important}}
@media print{body{background:white;color:#111}.sk-portfolio .site-header,.sk-portfolio .menu-toggle,.sk-portfolio .system-drawer,.sk-portfolio .contact-brief,.sk-portfolio .hero-asterisk{display:none}.sk-portfolio .hero-layout{display:block}.sk-portfolio h1{font-size:70px}.sk-portfolio .work-grid{display:block}.sk-portfolio .work-project{margin:30px 0;break-inside:avoid}.sk-portfolio .project-image{max-height:300px}.sk-portfolio .contact h2{font-size:65px}.sk-portfolio .wrap{padding:20px}}

/* Keep the first project within easy reach on laptop viewports. */
@media(min-width:801px){.sk-portfolio .site-header{height:100px}.sk-portfolio .hero{padding-top:20px}.sk-portfolio .hero-layout{margin-top:34px;margin-bottom:25px}.sk-portfolio .hero-facts{padding-top:10px;padding-bottom:30px}}
@media(max-width:359px){.sk-portfolio h1{font-size:65px}}

@media(min-width:601px){.sk-portfolio .lab-card:nth-child(3) .lab-image{aspect-ratio:3/2}}

.sk-portfolio .project-sites{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:17px;font-size:14px;line-height:1.6}.sk-portfolio .project-sites a{border-bottom:1px solid var(--line);padding-block:5px}.sk-portfolio .project-sites a:hover{color:var(--red);border-color:currentColor}.sk-portfolio .project-title-divider{color:var(--muted);font-weight:400}.sk-portfolio .project-image img,.sk-portfolio .lab-image img{object-fit:contain;transition:filter .2s}

/* Brand identities sit on their own color fields, with room to breathe. */
.sk-portfolio .brand-card{display:flex;align-items:center;justify-content:center;position:relative;isolation:isolate;overflow:hidden;padding:32px;aspect-ratio:3/2;border-radius:4px;background:var(--brand-surface);color:var(--brand-ink,var(--ink))}
.sk-portfolio .brand-card .brand-logo{display:block;width:65%;height:auto;max-width:350px;max-height:48%;object-fit:contain;transform:none;filter:none;transition:transform .3s ease}
.sk-portfolio a.brand-card:hover .brand-logo,.sk-portfolio .lab-card:hover .brand-logo{transform:translateY(-4px);filter:none}
.sk-portfolio .brand-schools{--brand-surface:#dce8fa}
.sk-portfolio .brand-schools .brand-logo{width:58%;max-width:310px}
.sk-portfolio .brand-fire{--brand-surface:#eeeefa}
.sk-portfolio .brand-fire .brand-logo{width:88%;max-width:362px;mix-blend-mode:multiply}
.sk-portfolio .brand-onevote{--brand-surface:#e1eaff;--brand-ink:#213e86}
.sk-portfolio .brand-clipcast{--brand-surface:#ffe1dc}
.sk-portfolio .brand-eventcrew{--brand-surface:#ffede2}
.sk-portfolio .brand-keel{--brand-surface:#0b292f;--brand-ink:#eef2f1}
.sk-portfolio .brand-paso{--brand-surface:#e9e3db}
.sk-portfolio .brand-lockup{display:flex;align-items:center;justify-content:center;gap:22px;max-width:100%}
.sk-portfolio .brand-card .brand-onevote-symbol{width:65px;height:112px;max-height:none;max-width:none}
.sk-portfolio .brand-onevote-name{font-family:var(--display);font-size:clamp(25px,2.4vw,37px);font-weight:600;letter-spacing:-.04em;white-space:nowrap}
.sk-portfolio .brand-card .brand-keel-symbol{width:68px;height:56px;max-height:none;max-width:none}
.sk-portfolio .brand-keel-name{font-family:var(--display);font-size:clamp(27px,3.2vw,47px);font-weight:600;letter-spacing:.1em;line-height:1}
.sk-portfolio .brand-eventcrew .brand-logo,.sk-portfolio .brand-paso .brand-logo{width:85%;max-width:300px}
.sk-portfolio .project-cosboa .brand-pair{display:grid;grid-template-columns:1fr 1fr;aspect-ratio:3/1;padding:0;gap:0}
.sk-portfolio .brand-tile{display:flex;align-items:center;justify-content:center;align-self:stretch;position:relative;min-width:0;padding:35px;background:var(--brand-surface)}
.sk-portfolio .brand-cosboa{--brand-surface:#18365c}
.sk-portfolio .brand-peak{--brand-surface:#466875}
.sk-portfolio .brand-pair .brand-logo{width:70%;max-width:350px;max-height:60%}
.sk-portfolio .brand-peak .brand-logo{width:58%;max-width:280px}
.sk-portfolio .brand-pair:hover .image-link-label{opacity:0;transform:translateY(7px)}
.sk-portfolio .brand-tile:hover .image-link-label,.sk-portfolio .brand-tile:focus-visible .image-link-label{opacity:1;transform:translateY(0)}
.sk-portfolio .brand-tile:hover .brand-logo{transform:translateY(-4px)}
.sk-portfolio .brand-tile:focus-visible{outline-offset:-6px;outline-color:#fff;z-index:1}
@media(max-width:800px){.sk-portfolio .brand-card{padding:25px}.sk-portfolio .brand-lockup{gap:16px}.sk-portfolio .brand-card .brand-onevote-symbol{width:45px;height:78px}.sk-portfolio .brand-onevote-name{font-size:24px}.sk-portfolio .lab-card .brand-lockup{gap:10px}.sk-portfolio .brand-card .brand-keel-symbol{width:45px;height:37px}.sk-portfolio .brand-keel-name{font-size:27px}}
@media(max-width:600px){.sk-portfolio .project-cosboa .brand-pair{aspect-ratio:3/2}.sk-portfolio .brand-tile{padding:15px}.sk-portfolio .brand-pair .brand-logo{width:92%;max-height:65%}.sk-portfolio .brand-peak .brand-logo{width:85%}.sk-portfolio .brand-card .brand-logo{max-height:55%}.sk-portfolio .brand-schools .brand-logo{width:66%}.sk-portfolio .brand-card .brand-onevote-symbol{height:88px;max-height:none;width:51px}.sk-portfolio .brand-onevote-name{font-size:30px}.sk-portfolio .brand-card .brand-keel-symbol{width:65px;height:53px;max-height:none}.sk-portfolio .brand-keel-name{font-size:40px}.sk-portfolio .brand-eventcrew .brand-logo,.sk-portfolio .brand-paso .brand-logo{width:78%}.sk-portfolio .brand-tile .image-link-label{font-size:11px;right:8px;bottom:8px;padding:7px 9px}}
@media(prefers-reduced-motion:reduce){.sk-portfolio .brand-card .brand-logo{transition:none}.sk-portfolio a.brand-card:hover .brand-logo,.sk-portfolio .lab-card:hover .brand-logo,.sk-portfolio .brand-tile:hover .brand-logo{transform:none}}
