@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/archivo-vietnamese-wght-normal-XAtsl5Q_.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/archivo-latin-ext-wght-normal-C4zznr8T.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/archivo-latin-wght-normal-E0tuGl4L.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff)format("woff")}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}.study{--paper:#f4f3ea;--ink:#17243b;--accent:#254fbd;--second:#b5392b;--muted:#536174;--rule:#cfd5cf;--soft:#e8ece7;--display:"Bricolage Grotesque", sans-serif;--body:"Instrument Sans", sans-serif;background:var(--paper);min-width:320px;color:var(--ink);font:400 17px/1.65 var(--body);-webkit-font-smoothing:antialiased;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;margin:0;padding-bottom:70px}.study h1,.study h2,.study h3{font-family:var(--display);text-wrap:balance;margin:0}.study h1{letter-spacing:-.055em;font-size:clamp(2.6rem,6.5vw,5.7rem);font-weight:700;line-height:1.02}.study h2{letter-spacing:-.04em;font-size:clamp(2rem,4vw,3.6rem);font-weight:650;line-height:1.08}.study h3{letter-spacing:-.025em;font-size:1.45rem;font-weight:650;line-height:1.18}.study p{text-wrap:pretty;margin:0}.study a{color:inherit;text-underline-offset:4px}.study button{font:inherit;cursor:pointer}.study svg{max-width:100%;height:auto}.study figure{margin:0}.study [hidden]{display:none!important}.study :focus-visible{outline:2px solid var(--second);outline-offset:4px}.study ::selection{color:var(--paper);background:var(--accent)}.study .shell{width:min(1280px,100%);margin-inline:auto;padding-inline:clamp(22px,4.5vw,64px)}.study .skip-link{z-index:100;color:var(--paper);background:var(--ink);padding:12px 20px;position:fixed;top:10px;left:16px;transform:translateY(-180%)}.study .skip-link:focus{transform:none}.study .review-context{color:#334056;background:#e7e9ed;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:8px clamp(22px,4.5vw,64px);font:12px/1.5 system-ui,sans-serif;display:flex}.study .review-context>span:last-child{gap:6px;display:flex}.study .site-header{justify-content:space-between;align-items:center;gap:20px;padding-block:26px;display:flex}.study .brand{font:700 26px/1 var(--display);letter-spacing:-.045em;align-items:center;gap:11px;text-decoration:none;display:inline-flex}.study .brand-mark{border:2px solid;width:21px;height:21px;position:relative;transform:rotate(-9deg)}.study .brand-mark:after{content:"";border:1px solid;position:absolute;inset:4px}.study .site-header nav{flex-wrap:wrap;align-items:center;gap:10px 26px;display:flex}.study .site-header nav a{align-items:center;min-height:40px;font-size:14px;text-decoration:none;display:inline-flex}.study .site-header nav a:not(.header-contact):hover{text-decoration:underline}.study .site-header .header-contact{border-bottom:2px solid var(--accent)}.study .site-header .header-contact:hover{color:var(--accent)}.study .hero{padding-block:clamp(44px,7vw,100px) 64px}.study .intro-note{color:var(--muted);margin-bottom:28px;font-size:14px}.study .hero-intro{max-width:48ch;margin-top:30px;font-size:clamp(17px,1.65vw,21px);line-height:1.65}.study .hero-actions{flex-wrap:wrap;align-items:center;gap:16px 26px;margin-top:32px;display:flex}.study .action{background:var(--accent);min-height:48px;color:var(--paper);border:1px solid var(--accent);justify-content:center;align-items:center;padding:12px 22px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.study .action:hover{text-underline-offset:5px;text-decoration:underline}.study .text-link{align-items:center;min-height:44px;font-size:15px;font-weight:600;text-decoration-thickness:1px;display:inline-flex}.study .margin-note{color:var(--muted);border-left:2px solid var(--second);margin-top:36px;padding-left:18px;font-size:14px;line-height:1.5}.study .working-drawing{width:100%;color:var(--accent);display:block}.study .hero-drawing figcaption,.study .diagram-caption{color:var(--muted);padding-top:14px;font-size:13px}.study .section{padding-block:clamp(56px,7vw,96px)}.study .section-heading{grid-template-columns:1.15fr 1fr;align-items:end;gap:24px 64px;margin-bottom:38px;display:grid}.study .section-heading>p{max-width:52ch;color:var(--muted)}.study .section-note{color:var(--accent);margin-bottom:18px;font-size:13px}.study .service-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;display:grid}.study .service{border-top:2px solid var(--accent);padding-top:24px}.study .service h3{font-size:23px}.study .service p{margin-top:18px;font-size:15px}.study .service>span{color:var(--muted);margin-top:24px;font-size:12px;display:block}.study .project-filters{border-bottom:1px solid var(--rule);flex-wrap:wrap;gap:8px 22px;padding-bottom:12px;display:flex}.study .project-filters button{min-height:44px;color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;padding:8px 0;font-size:15px}.study .project-filters button[aria-pressed=true]{border-color:var(--accent);color:var(--ink);font-weight:600}.study .filter-count{color:var(--muted);margin-block:16px 26px;font-size:12px}.study .project-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px;display:grid}.study .project-entry{border-top:1px solid var(--rule);min-width:0;padding:28px 0;scroll-margin-top:24px}.study .project-heading{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 16px;margin-bottom:18px;font-size:11px;line-height:1.5;display:flex}.study .project-stage{color:var(--second);border:1px solid;padding:2px 7px}.study .project-title h3{font-size:30px}.study .project-title>p{max-width:48ch;margin-top:14px;font-size:16px}.study details>summary{cursor:pointer;justify-content:space-between;align-items:baseline;gap:16px;min-height:48px;list-style:none;display:flex}.study details>summary::-webkit-details-marker{display:none}.study summary>span{flex:none;font-size:20px;transition:transform .15s}.study details[open]>summary>span{transform:rotate(45deg)}.study .project-details{margin-top:20px}.study .project-details>summary{color:var(--accent);border-top:1px solid var(--rule);align-items:center;font-size:14px}.study .project-description{padding-top:12px;font-size:15px}.study .project-description p{max-width:65ch}.study .project-description ul{margin-block:20px;padding-left:20px}.study .project-description li+li{margin-top:6px}.study .project-tags{color:var(--muted);margin-bottom:12px;font-size:12px}.study .catalog-note{color:var(--muted);max-width:70ch;margin-top:24px;font-size:14px}.study .ownership-section{background:var(--soft)}.study .ownership-layout{grid-template-columns:1fr 1fr;gap:64px;display:grid}.study .ownership-intro{max-width:40ch;margin-top:26px;font-size:19px}.study .ownership-content dl{margin:0 0 26px}.study .ownership-content dl>div{border-bottom:1px solid var(--rule);grid-template-columns:100px 1fr;gap:22px;padding:20px 0;display:grid}.study .ownership-content dl>div:first-child{padding-top:0}.study .ownership-content dt{font-weight:600}.study .ownership-content dd{margin:0;font-size:15px}.study .ownership-content>p{max-width:66ch;margin-bottom:16px;font-size:14px}.study .process-list{grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.study .process-list li{min-width:0;padding:0 28px 0 0;position:relative}.study .process-list li:not(:last-child):before{content:"";background:var(--rule);height:1px;position:absolute;top:21px;left:0;right:0}.study .step-number{border:1px solid var(--accent);width:44px;height:44px;color:var(--accent);background:var(--paper);border-radius:50%;justify-content:center;align-items:center;margin-bottom:22px;display:flex;position:relative}.study .step-name{color:var(--muted);font-size:12px}.study .process-list h3{margin-block:8px 16px;font-size:24px}.study .process-list p{font-size:15px}.study .process-list .step-outcome{color:var(--accent);border-top:1px solid var(--rule);margin-top:20px;padding-top:14px;font-size:13px}.study .faq-section{border-top:1px solid var(--rule)}.study .faq-list{max-width:860px;margin-left:auto}.study .faq-list details{border-bottom:1px solid var(--rule)}.study .faq-list summary{padding-block:22px;font-weight:500}.study .faq-list details>p{max-width:66ch;color:var(--muted);padding-bottom:24px;font-size:15px}.study .contact-section{background:var(--accent);color:var(--paper)}.study .contact-layout{grid-template-columns:1.2fr 1fr;gap:64px;display:grid}.study .contact-section .section-note{color:inherit}.study .contact-layout>div>p:not(.section-note){max-width:42ch;margin-top:22px}.study .contact-email{font-family:var(--display);overflow-wrap:anywhere;margin-top:28px;font-size:clamp(21px,2.8vw,33px);display:inline-block}.study .contact-note{border:1px solid;align-self:start;padding:28px}.study .contact-note>p{font-size:14px;margin:0!important}.study .contact-note ul{margin-block:24px;padding-left:20px;font-size:16px}.study .contact-note li+li{margin-top:8px}.study .contact-note .action{background:var(--paper);color:var(--accent)}.study .contact-note>span{margin-top:14px;font-size:12px;display:block}.study .site-footer{grid-template-columns:1fr 1fr;gap:30px;padding-block:40px;font-size:14px;display:grid}.study .site-footer p{margin-top:12px}.study .privacy{max-width:56ch;margin-top:16px;font-size:12px}.study .privacy summary{text-underline-offset:4px;min-height:36px;text-decoration:underline}.study .site-footer .review-credit{color:var(--muted);border-top:1px solid var(--rule);grid-column:1/-1;padding-top:20px;font-size:12px}.drawing .hero{grid-template-columns:1.12fr 1fr;align-items:center;gap:54px;display:grid}.drawing h1{font-size:clamp(2.1rem,5.6vw,4.8rem)}.drawing .hero-drawing{border:1px solid var(--rule);background:#fafaf3;padding:20px;transform:rotate(2deg)}.drawing .hero-drawing figcaption{padding:14px 4px 0}.drawing .hero-drawing:before{content:"";opacity:.8;background:#d5d9c8;width:86px;height:22px;margin:-32px auto 16px;display:block;transform:rotate(-4deg)}.drawing .services-section{border-block:1px solid var(--rule)}.drawing .projects-section{grid-template-columns:220px minmax(0,1fr);column-gap:50px;display:grid}.drawing .projects-section>.section-heading{grid-area:1/1/5;display:block}.drawing .projects-section .section-heading h2{font-size:35px}.drawing .projects-section .section-heading>p{margin-top:24px;font-size:15px}.drawing .projects-section>:not(.section-heading){grid-column:2}.drawing .project-list{grid-template-columns:1fr}.drawing .project-title{grid-template-columns:1fr 1.2fr;gap:16px;display:grid}.drawing .project-title h3{font-size:27px}.drawing .project-title>p{margin-top:0}.drawing .project-heading{justify-content:start}.drawing .project-stage{transform:rotate(-2deg)}.bluebook{--paper:#213d77;--ink:#f5f0dd;--accent:#f6c665;--second:#f6c665;--muted:#cfd8e8;--rule:#617ba6;--soft:#193363;--display:"Archivo", sans-serif;--body:"IBM Plex Sans", sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.bluebook .hero{border-top:1px solid var(--rule);padding-top:46px}.bluebook .cover-heading{border-left:1px solid var(--rule);padding-left:44px}.bluebook .cover-heading h1{letter-spacing:-.045em;font-size:clamp(3.7rem,11vw,9rem);font-weight:750;font-stretch:85%;line-height:.96}.bluebook .cover-heading .intro-note{margin-bottom:24px}.bluebook .cover-bottom{grid-template-columns:.85fr 1.15fr;align-items:start;gap:80px;margin-top:48px;display:grid}.bluebook .hero-intro{margin-top:0}.bluebook .notebook-insert{color:#213d77;background:#ede5cd;border-top:8px solid #f5f0dd;grid-template-columns:1fr 1.12fr;gap:12px 8px;padding:30px;display:grid;transform:rotate(2deg)}.bluebook .notebook-insert .insert-title{font-size:12px}.bluebook .notebook-insert>p{font-size:29px;line-height:1.18;font-family:var(--display);grid-column:1;font-weight:600}.bluebook .notebook-insert .working-drawing{color:#213d77;--accent:#213d77;grid-area:1/2/4;align-self:center}.bluebook .insert-foot{grid-column:1;margin-top:12px;font-size:12px}.bluebook .projects-section{border-top:1px solid var(--rule)}.bluebook .project-list{grid-template-columns:1fr}.bluebook .project-entry{grid-template-columns:180px 1fr;gap:0 40px;padding-block:30px;display:grid}.bluebook .project-heading{flex-direction:column;justify-content:start;gap:8px;margin-bottom:0;display:flex}.bluebook .project-stage{color:var(--accent)}.bluebook .project-title{grid-template-columns:.9fr 1.1fr;align-items:baseline;gap:24px;display:grid}.bluebook .project-title>p{margin:0}.bluebook .project-details{grid-column:2;margin-top:10px}.bluebook .project-details summary{border:0;gap:20px;width:fit-content}.bluebook .contact-section{--accent:#ede5cd;--paper:#213d77}.bluebook .section-note{color:var(--accent)}.proof{--paper:#f9f8f4;--ink:#272822;--accent:#ab3321;--second:#21499d;--muted:#64645a;--rule:#d7d3ca;--soft:#edd4ce}.proof .site-header{border-bottom:2px solid var(--ink)}.proof .hero{padding-top:58px}.proof .proof-heading{grid-template-columns:.55fr 1.8fr;align-items:start;gap:40px;display:grid}.proof .proof-heading h1{color:var(--accent);letter-spacing:-.075em;font-size:clamp(3.5rem,9vw,8rem);font-weight:800;line-height:.95}.proof .proof-brief{padding-top:8px;font-size:16px}.proof .registration-mark{color:var(--second);margin-top:28px;font-family:sans-serif;font-size:50px;line-height:1;display:inline-block}.proof .proof-bottom{grid-template-columns:.82fr 1.18fr;align-items:end;gap:54px;margin-top:42px;display:grid}.proof .hero-intro{margin:0;font-size:18px}.proof .print-strip{background:var(--accent);color:var(--paper);grid-template-columns:1fr 20px 1.35fr 20px 1fr;align-items:center;gap:8px;padding:34px 26px 60px;display:grid;position:relative}.proof .print-strip>div{flex-direction:column;gap:12px;display:flex}.proof .print-strip span{font-size:11px;line-height:1.4}.proof .print-strip strong{font-family:var(--display);font-size:23px;line-height:1.1}.proof .print-strip i{background:currentColor;height:1px}.proof .print-strip figcaption{font-size:12px;position:absolute;bottom:20px;left:26px}.proof .projects-section .section-heading{border-top:2px solid var(--ink);padding-top:42px}.proof .project-list{gap:26px}.proof .project-entry{border:1px solid var(--rule);border-top:5px solid var(--accent);padding:26px}.proof .project-entry:nth-child(3n+2){border-top-color:var(--second)}.proof .project-title h3{font-size:36px;font-weight:800}.proof .project-stage{border:0;border-bottom:1px solid;padding:0}.proof .service-list{grid-template-columns:1fr 1fr;gap:42px 70px}.proof .service{border-color:var(--ink)}.proof .contact-section h2{font-size:clamp(3rem,6vw,5rem);font-weight:800}.connections{--paper:#edf3f3;--ink:#17394b;--accent:#09635d;--second:#ad4939;--muted:#4c6370;--rule:#bbcdd1;--soft:#dce9e6;--display:"Archivo", sans-serif;--body:"IBM Plex Sans", sans-serif}.connections .hero{padding-top:38px}.connections .hero>.hero-copy{text-align:center;max-width:800px;margin-inline:auto}.connections .hero .intro-note{margin-bottom:18px}.connections h1{letter-spacing:-.05em;font-size:clamp(3rem,6vw,4.7rem);font-weight:650}.connections .hero-intro{max-width:62ch;margin:20px auto 0;font-size:18px}.connections .hero-actions{justify-content:center;margin-top:24px}.connections .connection-board{border:1px solid var(--rule);background:#f9fcfb;margin-top:36px;padding:30px}.connections .example-controls{flex-wrap:wrap;gap:8px;margin-bottom:28px;display:flex}.connections .example-controls button{border:1px solid var(--rule);min-height:44px;color:var(--ink);background:0 0;border-radius:4px;padding:10px 16px;font-size:14px}.connections .example-controls button[aria-pressed=true]{background:var(--accent);color:#fff;border-color:var(--accent)}.connections .connection-result{background-image:radial-gradient(#bbcdd1 1px,#0000 1px);background-size:18px 18px;grid-template-columns:1fr .65fr 1fr;align-items:center;gap:24px;padding:32px 20px;display:grid}.connections .connection-input,.connections .connection-output{border:1px solid var(--rule);background:#f9fcfb;min-width:0;padding:24px}.connections .connection-output{border:2px solid var(--accent)}.connections .connection-result span{color:var(--muted);font-size:12px;display:block}.connections .connection-result strong{font-size:22px;font-family:var(--display);margin-top:14px;line-height:1.25;display:block}.connections .connection-result p{margin-top:14px;font-size:14px}.connections .connection-output a{color:var(--accent);min-height:40px;padding-top:16px;font-size:13px;display:inline-flex}.connections .connection-bridge{color:var(--accent);text-align:center}.connections .connection-bridge svg{width:100%}.connections .connection-bridge span{color:var(--accent);background:#f9fcfb}.connections .service-list{grid-template-columns:1fr 1fr;gap:34px 80px}.connections .projects-section{border-block:1px solid var(--rule)}.connections .project-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 32px}.connections .project-title h3{font-size:25px}.connections .project-heading{flex-direction:column;gap:10px}.connections .project-stage{color:var(--accent);border:0;padding:0}.connections .project-title>p{font-size:15px}.connections .ownership-content dl>div{grid-template-columns:105px 1fr}.handover{--paper:#f1eadc;--ink:#2d3338;--accent:#284cb8;--second:#34614b;--muted:#696150;--rule:#cdc4b4;--soft:#e6dece;--body:"IBM Plex Sans", sans-serif}.handover .hero{padding-top:36px}.handover .book-spread{border:1px solid var(--rule);background:#faf7ef;grid-template-columns:1fr 1fr;display:grid;box-shadow:0 8px 0 -1px #e2d9c6,0 9px #cdc4b4}.handover .book-page{min-width:0;padding:clamp(24px,3vw,44px)}.handover .book-page:first-child{border-right:1px solid var(--rule);flex-direction:column;display:flex;box-shadow:inset -14px 0 16px -16px #292f3655}.handover h1{letter-spacing:-.05em;font-size:clamp(2.3rem,4.3vw,4rem);line-height:1.1}.handover .hero-intro{font-size:18px}.handover .page-note{color:var(--muted);margin-top:auto;padding-top:40px;font-size:12px}.handover .book-page-drawing{background:#f7f3e9}.handover .insert-title{color:var(--muted);margin-bottom:22px;font-size:14px}.handover .delivery-index{margin:18px 0 0}.handover .delivery-index>div{border-top:1px solid var(--rule);grid-template-columns:112px 1fr;gap:16px;padding-block:10px;font-size:12px;display:grid}.handover .delivery-index dt{font-weight:600}.handover .delivery-index dd{margin:0}.handover .project-list{border-top:1px solid var(--rule);grid-template-columns:1fr 1fr;gap:0}.handover .project-entry{border:0;border-bottom:1px solid var(--rule);padding:30px}.handover .project-entry:nth-child(odd){border-right:1px solid var(--rule)}.handover .project-stage{color:var(--second);border:0;padding:0}.handover .project-title h3{font-size:30px}.handover .ownership-layout{grid-template-columns:.8fr 1.2fr}.handover .ownership-section{padding-block:56px}.handover .ownership-intro{font-size:17px}.handover .service-list{gap:28px}.handover .contact-section{--accent:#34614b}@media (width<=1050px){.study .site-header{flex-wrap:wrap}.study .site-header nav{gap:10px 20px}.study .hero{padding-block:40px 56px}.study .service-list{grid-template-columns:1fr 1fr;gap:30px}.study .section-heading,.study .ownership-layout,.study .contact-layout{gap:36px}.study .process-list{grid-template-columns:1fr 1fr;gap:36px}.study .process-list li{padding-right:0}.study .process-list li:before{display:none}.drawing .hero{gap:28px}.drawing .projects-section{grid-template-columns:1fr}.drawing .projects-section>.section-heading{grid-area:auto/1;display:grid}.drawing .projects-section>:not(.section-heading){grid-column:1}.drawing .projects-section .section-heading>p{margin:0}.bluebook .cover-bottom{gap:40px}.bluebook .notebook-insert{grid-template-columns:1fr}.bluebook .notebook-insert .working-drawing{grid-area:auto/1;max-width:260px}.bluebook .project-entry{grid-template-columns:140px 1fr;gap:0 26px}.bluebook .project-title{display:block}.bluebook .project-title>p{margin-top:12px}.proof .proof-bottom{grid-template-columns:1fr;gap:30px}.proof .proof-bottom .hero-copy{grid-template-columns:1.4fr 1fr;align-items:end;gap:30px;display:grid}.proof .proof-bottom .hero-actions{margin:0}.connections .project-list{grid-template-columns:1fr 1fr}.connections .connection-result{grid-template-columns:1fr 80px 1fr;gap:12px;padding-inline:0}.connections .connection-input,.connections .connection-output{padding:18px}}@media (width<=720px){.study{font-size:16px}.study .review-context{gap:4px 14px}.study .review-context>span:last-child{display:none}.study .site-header{gap:18px;padding-block:24px 16px}.study .site-header nav{justify-content:space-between;gap:6px 14px;width:100%}.study .site-header nav a{font-size:13px}.study .section{padding-block:52px}.study .section-heading{grid-template-columns:1fr;gap:22px}.study .section-note{margin-bottom:12px}.study .section-heading>p{font-size:16px}.study .intro-note{margin-bottom:22px}.study .hero-intro{margin-top:24px}.study .service-list,.study .project-list,.study .ownership-layout,.study .contact-layout,.study .site-footer{grid-template-columns:1fr}.study .service-list{gap:28px}.study .project-list{gap:0}.study .project-entry{padding-block:24px}.study .project-title h3{font-size:28px}.study .ownership-layout,.study .contact-layout{gap:30px}.study .ownership-content dl>div{grid-template-columns:84px 1fr;gap:18px}.study .ownership-intro{font-size:17px}.study .contact-note{padding:22px}.study .site-footer{gap:26px}.study .hero-actions{gap:12px 22px}.drawing .hero{grid-template-columns:1fr;gap:36px}.drawing h1{max-width:600px;font-size:clamp(2.1rem,8vw,3.8rem)}.drawing .hero-drawing{margin:0 5px}.drawing .margin-note{margin-top:26px}.drawing .project-title{grid-template-columns:1fr;gap:10px}.bluebook .cover-heading{padding-left:22px}.bluebook .cover-heading h1{font-size:clamp(3rem,12vw,5.5rem)}.bluebook .cover-bottom{grid-template-columns:1fr;gap:36px;margin-top:30px}.bluebook .hero-intro{margin-top:0}.bluebook .notebook-insert{grid-template-columns:1fr 1fr;padding:22px;transform:rotate(1deg)}.bluebook .notebook-insert .working-drawing{grid-area:1/2/4}.bluebook .notebook-insert>p{font-size:25px}.bluebook .project-entry{display:block}.bluebook .project-heading{flex-direction:row;margin-bottom:14px}.proof .proof-heading{flex-direction:column;gap:26px;display:flex}.proof .proof-brief{align-items:start;gap:18px;width:100%;font-size:13px;display:flex}.proof .proof-brief .intro-note{margin:0;font-size:13px}.proof .registration-mark{margin:0 0 0 auto;font-size:34px}.proof .proof-heading h1{letter-spacing:-.055em;font-size:clamp(3.1rem,11vw,5.2rem)}.proof .proof-bottom{margin-top:28px}.proof .proof-bottom .hero-copy{display:block}.proof .proof-bottom .hero-actions{margin-top:26px}.proof .print-strip{grid-template-columns:1fr 12px 1.1fr 12px 1fr;gap:5px;padding:24px 18px 60px}.proof .print-strip strong{font-size:19px}.proof .print-strip figcaption{left:18px}.proof .project-list{gap:18px}.proof .project-entry{padding:22px}.proof .project-title h3{font-size:32px}.connections h1{font-size:clamp(2.8rem,9vw,4.5rem)}.connections .hero>.hero-copy{text-align:left}.connections .hero-actions{justify-content:start}.connections .connection-board{margin-top:34px;padding:18px}.connections .example-controls{flex-direction:column;gap:6px}.connections .example-controls button{text-align:left}.connections .connection-result{grid-template-columns:1fr;gap:0;padding-block:0}.connections .connection-bridge{justify-content:center;align-items:center;height:95px;display:flex}.connections .connection-bridge svg{width:110px;height:60px;transform:rotate(90deg)}.connections .connection-bridge span{margin-left:-15px}.connections .project-heading{flex-direction:row}.handover .hero{padding-top:24px}.handover .book-spread{grid-template-columns:1fr}.handover .book-page{padding:26px}.handover .book-page:first-child{border-right:0;border-bottom:1px solid var(--rule);box-shadow:none}.handover h1{font-size:clamp(2.2rem,8.5vw,3.9rem)}.handover .hero-intro{font-size:17px}.handover .project-entry{padding-inline:0}.handover .project-entry:nth-child(odd){border-right:0}.handover .delivery-index>div{grid-template-columns:98px 1fr;gap:12px}}@media (width<=440px){.study .shell{padding-inline:20px}.study .process-list{grid-template-columns:1fr;gap:24px}.study .process-list li{gap:20px;display:flex}.study .step-number{flex-shrink:0;width:34px;height:34px}.study .process-list h3{font-size:22px}.study .site-header nav{column-gap:10px}.study .site-header nav a{font-size:12px}.drawing .hero-drawing{padding:12px}.drawing .hero-drawing:before{margin-top:-24px}.bluebook .notebook-insert{grid-template-columns:1fr}.bluebook .notebook-insert .working-drawing{grid-area:auto/1;width:100%;max-width:none}.handover .book-page{padding:22px}.handover h1{font-size:32px}.handover .delivery-index>div{grid-template-columns:1fr;gap:2px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}@media print{.study{padding-bottom:0}.study .project-filters,.study .filter-count{display:none}.study .hero,.study .section{break-inside:avoid}}.workbench{--paper:#f7f9f5;--ink:#20343a;--accent:#1d5a86;--second:#2f6559;--muted:#54666a;--rule:#cad5d1;--soft:#e8efeb;--display:"Bricolage Grotesque",sans-serif;--body:"Instrument Sans",sans-serif}.flowbook{--paper:#f3eee3;--ink:#273651;--accent:#365997;--second:#985044;--muted:#626979;--rule:#cdc7b8;--soft:#e7e3d8}.assembly{--paper:#f6f8fb;--ink:#182b51;--accent:#314bcc;--second:#3d6558;--muted:#58657c;--rule:#c5cdde;--soft:#e7ecf6;--display:"Archivo",sans-serif;--body:"IBM Plex Sans",sans-serif}.flowline{--paper:#edf4ef;--ink:#1b423a;--accent:#216c5e;--second:#385da0;--muted:#52685f;--rule:#bfcdc4;--soft:#dfeae1}.ownwork{--paper:#faf6e9;--ink:#24344a;--accent:#2e479b;--second:#8a5621;--muted:#57657a;--rule:#cdcabf;--soft:#ecebdf;--body:"Instrument Sans",sans-serif}.study .ownership-line{border-block:1px solid var(--rule);flex-wrap:wrap;align-items:center;gap:16px 30px;margin-top:36px;padding-block:22px;font-size:13px;display:flex}.study .ownership-line>span:before{content:"✓";color:var(--accent);margin-right:9px}.study .ownership-line a{color:var(--accent);margin-left:auto}.study .sketch-caption{color:var(--accent);font-size:13px}.workbench .site-header{border-bottom:1px solid var(--rule)}.workbench .hero{padding-top:54px}.workbench .bench-layout{grid-template-columns:1fr 1fr;align-items:start;gap:60px;display:grid}.workbench h1{letter-spacing:-.055em;font-size:clamp(2.7rem,4.8vw,4.2rem);line-height:1.05}.workbench .hero-intro{max-width:40ch;font-size:19px}.workbench .hero-actions{justify-content:start}.workbench .bench-annotation{border-left:2px solid var(--second);color:var(--muted);margin-top:36px;padding-left:18px;font-size:14px}.workbench .bench-sketch{border:1px solid var(--rule);background:#fffefa;padding:22px}.workbench .connection-board{background:0 0;border:0;margin-top:18px;padding:0}.workbench .example-controls{gap:5px;margin-bottom:20px}.workbench .example-controls button{border-radius:0;flex:1;padding:8px;font-size:12px}.workbench .connection-result{grid-template-columns:1fr;gap:0;padding:0}.workbench .connection-input,.workbench .connection-output{background:#fffefa;padding:18px 22px}.workbench .connection-result strong{margin-top:8px;font-size:24px}.workbench .connection-result p{margin-top:8px}.workbench .connection-bridge{justify-content:center;align-items:center;height:64px;display:flex}.workbench .connection-bridge svg{width:90px;height:45px;transform:rotate(90deg)}.workbench .connection-bridge span{background:#fffefa}.workbench .diagram-caption{font-size:12px}.workbench .projects-section{border-top:0}.workbench .project-list{grid-template-columns:1fr}.workbench .project-entry{grid-template-columns:175px 1fr;column-gap:40px;display:grid}.workbench .project-heading{flex-direction:column;grid-row:1/3;justify-content:start}.workbench .project-title{grid-template-columns:1fr 1.15fr;gap:30px;display:grid}.workbench .project-title h3{font-size:30px}.workbench .project-title>p{margin:0}.workbench .project-details{grid-column:2}.flowbook .flowbook-spread{border:1px solid var(--rule);box-shadow:0 6px 0 -1px #e2dece,0 7px 0 var(--rule);background:#fcfaf3;grid-template-columns:1fr 1fr;display:grid}.flowbook .flowbook-brief{border-right:1px solid var(--rule);background:linear-gradient(270deg,#d5d0c630,#0000 16px);flex-direction:column;padding:38px;display:flex}.flowbook h1{font-size:clamp(2.5rem,4.3vw,3.7rem);line-height:1.08}.flowbook .hero-intro{font-size:18px}.flowbook .book-signature{margin-top:auto;padding-top:44px;font-size:13px}.flowbook .book-signature>span{color:var(--second)}.flowbook .book-signature p{margin-top:8px}.flowbook .flowbook-process{background:#f6f5ec;padding:38px}.flowbook .flowbook-process ol{margin:26px 0 0;padding:0;list-style:none}.flowbook .flowbook-process li{gap:18px;padding-bottom:22px;display:flex;position:relative}.flowbook .flowbook-process li:not(:last-child):before{content:"";background:var(--rule);width:1px;position:absolute;top:32px;bottom:0;left:16px}.flowbook .route-number{border:1px solid var(--accent);width:33px;height:33px;color:var(--accent);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:13px;display:flex}.flowbook .flowbook-process details{border-bottom:1px solid var(--rule);flex:1;min-width:0}.flowbook .flowbook-process summary{min-height:44px;font-size:19px;font-weight:600}.flowbook .flowbook-process details>div{padding-block:14px 22px}.flowbook .flowbook-process h2{margin-bottom:14px;font-size:23px}.flowbook .flowbook-process details p{font-size:15px}.flowbook .flowbook-process .route-outcome{color:var(--accent);margin-top:18px;font-size:13px}.flowbook .route-caption{color:var(--muted);margin-top:6px;font-size:12px}.flowbook .projects-section{grid-template-columns:240px 1fr;gap:0 50px;display:grid}.flowbook .projects-section>.section-heading{grid-row:1/6;display:block}.flowbook .projects-section .section-heading h2{font-size:36px}.flowbook .projects-section .section-heading>p{margin-top:24px;font-size:15px}.flowbook .projects-section>:not(.section-heading){grid-column:2}.flowbook .project-list{grid-template-columns:1fr}.flowbook .project-entry{padding-inline:0}.flowbook .project-entry:nth-child(odd){border-right:0}.flowbook .contact-section{--accent:#365997}.assembly .hero{padding-top:30px;display:block}.assembly .assembly-heading{grid-template-columns:1.05fr 1fr;align-items:center;gap:48px;display:grid}.assembly h1{font-size:clamp(3rem,5vw,4.4rem);font-weight:650}.assembly .hero-intro{margin-top:0;font-size:18px}.assembly .delivery-explorer{border-block:1px solid var(--rule);background:#fff;grid-template-columns:1.05fr 1fr;gap:48px;margin-top:32px;padding:24px;display:grid}.assembly .delivery-figure{color:var(--accent)}.assembly .delivery-figure svg{width:100%;display:block}.assembly .delivery-figure figcaption{color:var(--muted);margin-top:14px;font-size:12px}.assembly [data-layer]{--layer-top:#f6f8fb;--layer-side:#e9edf7;color:#7a8fbc;transition:color .4s,transform .4s}.assembly .layer-top{fill:var(--layer-top);transition:fill .4s}.assembly .layer-side{fill:var(--layer-side);transition:fill .4s}.assembly .layer-label{fill:var(--muted)}.assembly [data-selected-layer=code] [data-layer=code],.assembly [data-selected-layer=documents] [data-layer=documents],.assembly [data-selected-layer=hosting] [data-layer=hosting]{--layer-top:#dce4ff;--layer-side:#c2cff7;color:var(--accent);transform:translateY(-4px)}.assembly [data-selected-layer=code] [data-layer=code] .layer-label,.assembly [data-selected-layer=documents] [data-layer=documents] .layer-label,.assembly [data-selected-layer=hosting] [data-layer=hosting] .layer-label{fill:var(--accent);font-weight:600}.assembly .delivery-reader{align-self:center}.assembly .delivery-controls{flex-wrap:wrap;gap:8px;margin-bottom:24px;display:flex}.assembly .delivery-controls button{border:1px solid var(--rule);min-height:44px;color:var(--accent);background:0 0;padding:9px 12px;font-size:13px}.assembly .delivery-controls button[aria-pressed=true]{background:var(--accent);color:#fff;border-color:var(--accent)}.assembly .delivery-playback-row{align-items:center;gap:20px;margin-top:20px;display:flex}.assembly .delivery-countdown{flex:1;align-items:center;gap:14px;min-width:0;display:flex}.assembly .delivery-countdown-track{background:var(--rule);flex:1;height:3px;overflow:hidden}.assembly [data-delivery-progress]{background:var(--accent);transform-origin:0;height:100%;display:block;transform:scaleX(0)}.assembly .delivery-countdown-label{min-width:110px;color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.assembly .delivery-description{display:grid}.assembly .delivery-panel{opacity:1;grid-area:1/1;min-width:0;transition:opacity .25s}.assembly .delivery-panel[aria-hidden=true]{visibility:hidden;opacity:0}.assembly .delivery-description h2{max-width:24ch;font-size:30px;line-height:1.2}.assembly .delivery-description p{margin-top:20px;font-size:16px}.assembly .delivery-panel>span{color:var(--muted);margin-top:20px;font-size:12px;display:block}.assembly .delivery-playback{width:170px;min-height:44px;color:var(--muted);text-align:left;background:0 0;border:0;flex:none;justify-content:flex-end;align-items:center;gap:9px;padding:8px 0;font-size:12px;display:inline-flex}.assembly .delivery-playback:hover{color:var(--accent)}.assembly [data-playback-icon]{justify-content:center;align-items:center;width:20px;font-size:18px;display:inline-flex}.assembly .projects-section{display:block}.assembly .projects-section>.section-heading{display:grid}.assembly .projects-section .section-heading>p{margin:0;font-size:17px}.assembly .project-list{grid-template-columns:1fr 1fr}.assembly .project-title{display:block}.assembly .project-title>p{margin-top:14px}.assembly .project-stage{transform:none}.flowline .site-header{border-bottom:1px solid var(--rule)}.flowline .flowline-heading{grid-template-columns:1.25fr 1fr;align-items:end;gap:60px;display:grid}.flowline h1{font-size:clamp(2.8rem,4.8vw,4.2rem);line-height:1.05}.flowline .hero-intro{margin:0;font-size:18px}.flowline .hero-actions{justify-content:start}.flowline .flowline-map{border:1px solid var(--rule);background:#f8fbf7;margin-top:42px;padding:26px}.flowline .connection-board{background:0 0;border:0;grid-template-columns:165px 1fr;gap:20px 30px;margin-top:24px;padding:0;display:grid}.flowline .example-controls{flex-direction:column;gap:8px;margin:0}.flowline .example-controls button{text-align:left;border-radius:0}.flowline .connection-result{grid-template-columns:1fr 90px 1fr;gap:12px;padding:0}.flowline .connection-input,.flowline .connection-output{background:#f8fbf7;padding:20px}.flowline .connection-result strong{font-size:23px}.flowline .connection-bridge span{background:#f8fbf7;font-size:11px}.flowline .diagram-caption{grid-column:2;padding:0}.flowline .service-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}.flowline .project-list{grid-template-columns:1fr}.flowline .project-entry{grid-template-columns:190px 1fr;column-gap:40px;display:grid}.flowline .project-heading{grid-row:1/3;justify-content:start}.flowline .project-title{grid-template-columns:1fr 1fr;gap:30px;display:grid}.flowline .project-title>p{margin:0}.flowline .project-title h3{font-size:30px}.flowline .project-details{grid-column:2}.ownwork .ownership-envelope{border:1px solid var(--rule);background:#fffdf5;grid-template-columns:48px 1.12fr 1fr;display:grid;box-shadow:5px 6px #d9dbc9}.ownwork .document-spine{writing-mode:vertical-rl;color:#fffdf5;background:var(--accent);justify-content:space-between;align-items:center;gap:24px;padding:24px 10px;font-size:12px;display:flex;transform:rotate(180deg)}.ownwork .ownership-brief{border-right:1px solid var(--rule);padding:36px}.ownwork h1{font-size:clamp(2.3rem,3.7vw,3.3rem);line-height:1.1}.ownwork .hero-intro{font-size:18px}.ownwork .handover-signature{color:var(--accent);margin-top:34px;font-size:14px}.ownwork .hosting-choice-sheet{background:#edf0e8;align-content:center;padding:36px}.ownwork .hosting-choice{border:0;margin:0 0 28px;padding:0}.ownwork .hosting-choice legend{margin-bottom:18px;font-size:15px;font-weight:600}.ownwork .hosting-choice label{border:1px solid var(--rule);cursor:pointer;background:#fafcf6;align-items:center;gap:12px;padding:14px 12px;font-size:14px;display:flex}.ownwork .hosting-choice label+label{margin-top:8px}.ownwork .hosting-choice label:has(:checked){border-color:var(--accent)}.ownwork .hosting-choice input{width:18px;height:18px;accent-color:var(--accent);flex:none}.ownwork .hosting-answer{min-height:195px}.ownwork .hosting-answer h2{font-size:29px;line-height:1.15}.ownwork .hosting-answer p{margin-top:18px;font-size:15px}.ownwork .hosting-footnote{color:var(--muted);margin-top:16px;font-size:12px}.ownwork .project-entry{background:#fffdf540}.ownwork .contact-section{--accent:#2e479b}@media (width<=1050px){.workbench .bench-layout{gap:30px}.workbench .project-title,.flowline .project-title{display:block}.workbench .project-title>p,.flowline .project-title>p{margin-top:12px}.flowbook .flowbook-brief,.flowbook .flowbook-process{padding:28px}.flowbook .projects-section{grid-template-columns:180px 1fr;gap:0 30px}.assembly .assembly-heading,.flowline .flowline-heading{gap:35px}.assembly .delivery-explorer{gap:30px;padding:24px 0}.flowline .connection-board{grid-template-columns:1fr}.flowline .example-controls{flex-flow:wrap}.flowline .diagram-caption{grid-column:1}.flowline .service-list{grid-template-columns:1fr 1fr}.ownwork .ownership-envelope{grid-template-columns:34px 1fr 1fr}.ownwork .ownership-brief,.ownwork .hosting-choice-sheet{padding:24px}}@media (width<=720px){.study .ownership-line{gap:12px 20px;margin-top:28px;font-size:12px}.study .ownership-line a{width:100%;margin-left:0}.workbench .bench-layout,.flowbook .flowbook-spread,.assembly .assembly-heading,.assembly .delivery-explorer,.flowline .flowline-heading{grid-template-columns:1fr}.workbench h1,.flowbook h1,.assembly h1,.flowline h1{font-size:clamp(2.4rem,8.3vw,3.6rem)}.workbench .hero{padding-top:30px}.workbench .bench-sketch{padding:18px}.workbench .example-controls{flex-direction:row}.workbench .connection-board{margin-top:18px}.workbench .connection-bridge span{margin-left:0}.workbench .project-entry,.flowline .project-entry{display:block}.workbench .project-heading,.flowline .project-heading{flex-direction:row}.flowbook .flowbook-brief{border-right:0;border-bottom:1px solid var(--rule)}.flowbook .flowbook-brief,.flowbook .flowbook-process{padding:24px}.flowbook .flowbook-process li{gap:14px}.flowbook .projects-section,.flowbook .projects-section>.section-heading{display:block}.flowbook .projects-section .section-heading>p{margin-top:20px}.assembly .hero-intro{margin-top:0}.assembly .delivery-explorer{gap:30px;margin-top:28px;padding:22px}.assembly .delivery-controls{margin-bottom:22px}.assembly .delivery-playback-row{gap:16px}.assembly .delivery-countdown{flex-direction:column;align-items:stretch;gap:6px}.assembly .delivery-countdown-track{flex:none}.assembly .delivery-countdown-label{white-space:nowrap;min-width:0;font-size:11px}.assembly .delivery-playback{width:128px}.assembly .delivery-description{min-height:0}.assembly .delivery-description h2{font-size:28px}.assembly .project-list{grid-template-columns:1fr}.flowline .flowline-map{margin-top:30px;padding:20px}.flowline .example-controls{flex-direction:column}.flowline .connection-result{grid-template-columns:1fr;gap:0}.flowline .service-list,.ownwork .ownership-envelope{grid-template-columns:1fr}.ownwork .document-spine{writing-mode:horizontal-tb;padding:12px 24px;transform:none}.ownwork .ownership-brief{border-right:0;border-bottom:1px solid var(--rule)}.ownwork h1{font-size:clamp(2rem,7.4vw,3rem)}.ownwork .hosting-answer{min-height:0;margin-bottom:16px}}@media (prefers-reduced-motion:reduce){.assembly .delivery-explorer *{transition:none}}.assembly .section{padding-block:60px}.assembly .section-heading{gap:30px 56px;margin-bottom:30px}.assembly h2{font-size:clamp(2rem,3.4vw,3rem)}.assembly .site-header nav{gap:8px 22px}.assembly .site-header nav a{min-height:44px;font-size:15px}.assembly .hero{padding-block:48px 58px}.assembly .assembly-heading{grid-template-columns:1.2fr 1fr}.assembly h1{letter-spacing:-.045em;font-size:clamp(2.5rem,4.5vw,4rem);line-height:1.08}.assembly .hero-intro{font-size:19px}.assembly .hero-reassurance{color:var(--muted);margin-top:22px;font-size:14px}.assembly .services-section{border-block:1px solid var(--rule)}.assembly .service-list{gap:28px}.assembly .service{flex-direction:column;padding-top:18px;display:flex}.assembly .service h3{font-size:23px}.assembly .service p{margin-block:16px;font-size:16px}.assembly .service .text-link{margin-top:auto;font-size:14px;line-height:1.5}.assembly .projects-section .section-heading h2{font-size:clamp(2rem,3.4vw,3rem)}.assembly .featured-projects{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;display:grid}.assembly .hero-product-link{color:var(--accent);margin-top:8px;font-size:14px}.assembly .case-study.lead-project{border-top:3px solid var(--accent);background:#fff;grid-template-columns:1.1fr 1fr;gap:40px;margin-bottom:36px;padding:36px;display:grid}.assembly .lead-project-copy .case-status{font-size:14px;display:inline-block}.assembly .case-study.lead-project h3{letter-spacing:-.045em;margin-block:18px 12px;font-size:56px}.assembly .lead-project .lead-project-title{margin-bottom:18px;font-size:27px;line-height:1.3}.assembly .lead-project-copy>p:not(.lead-project-title){max-width:42ch;font-size:17px}.assembly .lead-project .action{margin-top:24px}.assembly .lead-project-actions{flex-wrap:wrap;align-items:center;gap:12px 24px;margin-top:24px;display:flex}.assembly .lead-project-actions .action{margin-top:0}.assembly .case-summary{margin-block:24px;font-size:16px}.assembly .lead-project-drawing{color:var(--accent);align-self:center}.assembly .lead-project-drawing svg{width:100%;display:block}.assembly .lead-project-drawing figcaption{color:var(--muted);margin-top:12px;font-size:13px}.assembly .case-study{flex-direction:column;min-width:0;display:flex}.assembly .case-drawing{border-block:1px solid var(--rule);color:var(--accent);padding:14px 0}.assembly .case-drawing svg{width:100%;display:block}.assembly .case-drawing figcaption{color:var(--muted);font-size:13px}.assembly .case-audience{color:var(--muted);margin-block:22px 10px;font-size:14px}.assembly .case-study h3{font-size:30px}.assembly .case-type{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:12px;font-size:13px;display:flex}.assembly .case-status{color:var(--second);border:1px solid var(--rule);padding:2px 7px}.assembly .case-story{margin:24px 0}.assembly .case-story>div+div{margin-top:18px}.assembly .case-story dt{margin-bottom:4px;font-size:14px;font-weight:600}.assembly .case-story dd{margin:0;font-size:16px}.assembly .case-actions{flex-direction:column;align-items:start;gap:4px;margin-top:auto;display:flex}.assembly .case-actions a{font-size:14px}.assembly .more-projects{border-block:1px solid var(--rule);margin-top:40px}.assembly .more-projects>summary{align-items:center;padding-block:20px;font-size:18px;font-weight:500}.assembly .more-projects-body{padding-block:4px 24px}.assembly .more-projects-body>p{color:var(--muted);max-width:68ch;margin-bottom:20px;font-size:16px}.assembly .project-heading{justify-content:space-between;font-size:13px}.assembly .project-entry{padding-block:24px}.assembly .project-title h3{font-size:25px}.assembly .project-details{font-size:15px}.assembly .project-details ul{padding-left:20px}.assembly .filter-count{font-size:13px}.assembly .section-invitation{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-top:24px;display:flex}.assembly .section-invitation p{font-size:18px}.assembly .about-section{border-top:1px solid var(--rule);grid-template-columns:1fr 1fr;gap:56px;display:grid}.assembly .about-copy p+p{margin-top:18px}.assembly .about-copy .text-link{margin-top:16px}.assembly .process-section{border-top:1px solid var(--rule)}.assembly .process-list{gap:24px}.assembly .process-list li{padding-right:0}.assembly .process-list li:not(:last-child):before{right:-24px}.assembly .process-list h3{font-size:23px}.assembly .process-list p{font-size:16px}.assembly .first-step{background:var(--soft);grid-template-columns:1fr 1.2fr;gap:16px 40px;margin-top:36px;padding:26px;display:grid}.assembly .first-step h3{font-size:23px}.assembly .first-step p{font-size:16px}.assembly .first-step .text-link{grid-column:2}.assembly .ownership-section{background:var(--soft)}.assembly .delivery-explorer{margin-top:0}.assembly .delivery-description h3{max-width:24ch;font-size:28px;line-height:1.2}.assembly .delivery-panel>span,.assembly .delivery-figure figcaption{font-size:13px}.assembly .ownership-terms{color:var(--muted);max-width:80ch;margin-top:20px;font-size:14px}.assembly .faq-section{grid-template-columns:1fr 1.2fr;gap:40px;display:grid}.assembly .faq-section .section-heading{display:block}.assembly .faq-list{width:100%;margin:0}.assembly .faq-list details>p{font-size:16px}.assembly .contact-layout{gap:48px}.assembly .copy-email{min-height:44px;color:inherit;text-underline-offset:4px;background:0 0;border:0;margin-top:12px;padding:8px 0;font-size:15px;text-decoration:underline;display:block}.assembly .contact-layout .copy-status{min-height:24px;margin-top:8px;font-size:14px}.assembly .manual-email{margin-top:12px}.assembly .manual-email label{margin-bottom:6px;font-size:14px;display:block}.assembly .manual-email input{width:100%;max-width:360px;color:var(--ink);background:var(--paper);border:1px solid var(--paper);font:inherit;padding:12px}.assembly .project-interest{border-top:1px solid;margin-bottom:20px;padding-top:16px}.assembly .project-interest p{font-size:15px}.assembly .project-interest button{min-height:44px;color:inherit;background:0 0;border:0;padding:8px 0;font-size:14px;text-decoration:underline}.assembly .contact-note .contact-reassurance{font-size:14px;margin-top:18px!important}.assembly .contact-note>span{font-size:13px}.assembly .footer-links{flex-wrap:wrap;gap:0 20px;margin-top:20px;display:flex}.assembly .footer-links a{align-items:center;min-height:44px;display:inline-flex}.assembly .sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@media (width<=1050px){.assembly .assembly-heading{grid-template-columns:1fr 1fr;gap:30px}.assembly .featured-projects{gap:24px}.assembly .case-study h3{font-size:26px}.assembly .service-list{grid-template-columns:1fr 1fr}.assembly .faq-section{grid-template-columns:1fr;gap:0}.assembly .case-study.lead-project{grid-template-columns:1fr;gap:24px}.assembly .lead-project-drawing svg{max-height:200px}.assembly .lead-project-drawing text{font-size:20px}}@media (width<=900px){.assembly .featured-projects{grid-template-columns:1fr;gap:36px}.assembly .case-drawing svg{max-height:180px}.assembly .case-drawing text[font-size="15"]{font-size:16px}}@media (width<=720px){.assembly .section{padding-block:40px}.assembly .site-header{gap:16px;position:relative}.assembly .site-header nav{justify-content:start;gap:0 20px}.assembly .site-header nav a{font-size:14px}.assembly .site-header .header-contact{position:absolute;top:16px;right:20px}.assembly .hero{padding-block:28px 36px}.assembly .assembly-heading{grid-template-columns:1fr;gap:24px}.assembly h1{font-size:clamp(2.1rem,8.2vw,3.2rem)}.assembly .hero-intro{font-size:18px}.assembly .hero-actions{margin-top:22px}.assembly .hero-reassurance{margin-top:16px}.assembly .section-heading{gap:20px;margin-bottom:26px}.assembly .service-list{grid-template-columns:1fr;gap:24px}.assembly .service p{margin-block:12px 8px}.assembly .featured-projects{grid-template-columns:1fr;gap:36px}.assembly .case-study.lead-project{grid-template-columns:1fr;gap:24px;padding:24px}.assembly .case-study.lead-project h3{font-size:clamp(1.8rem,8vw,2.875rem)}.assembly .lead-project-drawing svg{max-height:180px}.assembly .case-drawing{grid-template-columns:1fr;padding-block:0 12px;display:grid}.assembly .case-drawing svg{max-height:140px}.assembly .case-study h3{font-size:29px}.assembly .case-audience{margin-top:18px}.assembly .case-story{margin-block:20px 12px}.assembly .case-story>div{grid-template-columns:72px 1fr;gap:12px;display:grid}.assembly .case-story>div+div{margin-top:14px}.assembly .case-actions{flex-flow:wrap;gap:4px 20px}.assembly .more-projects{margin-top:30px}.assembly .about-section{grid-template-columns:1fr;gap:24px}.assembly .process-list{grid-template-columns:1fr}.assembly .process-list li{gap:18px;display:flex}.assembly .step-number{flex:none;width:36px;height:36px}.assembly .first-step{grid-template-columns:1fr;gap:16px;margin-top:28px;padding:22px}.assembly .first-step .text-link{grid-column:1}.assembly .delivery-explorer{padding:18px}.assembly .delivery-description h3{font-size:26px}.assembly .delivery-figure svg{max-height:220px}.assembly .contact-layout{gap:24px}.assembly .contact-note{padding:22px}}.assembly.purple-bulb{--paper:#faf8fd;--ink:#2d2144;--accent:#8243ef;--muted:#6a6078;--rule:#d7cee5;--soft:#efe9f8}.purple-bulb .brand-bulb{flex:none;width:32px;height:32px;display:block}.purple-bulb .case-drawing [fill=\#f6f8fb],.purple-bulb .lead-project-drawing [fill=\#f6f8fb]{fill:var(--paper)}.purple-bulb .case-drawing [fill=\#dce4ff],.purple-bulb .lead-project-drawing [fill=\#dce4ff]{fill:var(--soft)}.purple-bulb [data-layer]{--layer-top:#faf8fd;--layer-side:#efe9f8;color:#9786b1}.purple-bulb [data-selected-layer=code] [data-layer=code],.purple-bulb [data-selected-layer=documents] [data-layer=documents],.purple-bulb [data-selected-layer=hosting] [data-layer=hosting]{--layer-top:#e9dcfc;--layer-side:#d4bdf7;color:var(--accent)}@media (width<=720px){.purple-bulb .brand{gap:8px;font-size:24px}.purple-bulb .brand-bulb{width:28px;height:28px}}.study.assembly{--display:"Archivo Variable",sans-serif;padding-bottom:0}.study .contact-section :focus-visible{outline-color:var(--paper)}
