@font-face{font-family:'EB Garamond';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/eb-garamond-regular.woff2') format('woff2')}
@font-face{font-family:'General Sans';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/general-sans-400-normal.woff2') format('woff2')}
@font-face{font-family:'General Sans';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/general-sans-500-normal.woff2') format('woff2')}
:root{--ink:#171717;--muted:#646464;--line:#e2e2e2;--paper:#f6f5f2;--sans:'General Sans',Arial,sans-serif;--serif:'EB Garamond',Georgia,serif;--ease-out:cubic-bezier(.23,1,.32,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0;color:var(--ink);background:var(--paper);font:15px/1.6 var(--sans);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}a{color:inherit}button,a,input,select,textarea{outline-offset:5px}:focus-visible{outline:2px solid var(--ink)}button{border-radius:999px}button:active,.button:active{transform:scale(.97)}.skip{position:fixed;top:-100px;left:20px;background:white;padding:15px;z-index:50}.skip:focus{top:12px}
.header{position:fixed;z-index:10;top:16px;left:5%;right:5%;max-width:1380px;margin:auto;height:70px;padding:0 22px;display:flex;align-items:center;justify-content:space-between;border:1px solid transparent;border-radius:999px;transition:background 200ms ease,border-color 200ms ease,box-shadow 200ms ease}.header.is-scrolled{background:#fffffff0;border-color:var(--line);box-shadow:0 6px 24px #00000008;backdrop-filter:blur(12px)}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-size:19px;letter-spacing:-.7px}.maker-mark{display:grid;place-items:center;width:28px;height:28px;background:var(--ink);color:white;font:22px/1 var(--serif);border-radius:5px}.header nav{display:flex;align-items:center;gap:32px;font-size:13px}.header nav a{text-decoration:none}.nav-contact,.button{display:inline-flex;justify-content:center;align-items:center;min-height:46px;padding:12px 23px;border:1px solid var(--ink);border-radius:999px;text-decoration:none;font-size:13px;line-height:1.3;transition:transform 160ms var(--ease-out),background 160ms ease,color 160ms ease,box-shadow 160ms ease}.nav-contact{background:white}.primary{background:var(--ink);color:white}.secondary{background:white;color:var(--ink);border-color:#d3d3d3}.button{min-height:50px;padding-inline:27px}
.hero{overflow:hidden;padding-top:155px}.hero-copy{position:relative;z-index:2;text-align:center;padding:0 24px;max-width:850px;margin:auto}.eyebrow{font:10px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;text-transform:uppercase;letter-spacing:1.6px;margin:0 0 24px;color:var(--muted)}h1{font:400 clamp(48px,6.1vw,88px)/1.02 var(--sans);letter-spacing:-.064em;margin:0 0 26px}.hero-description{font-size:17px;line-height:1.65;color:var(--muted);margin:0 0 27px}.hero-actions{display:flex;justify-content:center;gap:10px}.hero-copy>.eyebrow,.hero-copy>h1,.hero-description,.hero-actions{animation:arrive 850ms var(--ease-out) both}.hero-copy>h1{animation-delay:60ms}.hero-description{animation-delay:120ms}.hero-actions{animation-delay:180ms}.industrial-art{position:relative;width:100%;max-width:1800px;margin:-55px auto 0;isolation:isolate;mask-image:linear-gradient(transparent,#000 13%,#000 96%,transparent)}.industrial-art img{display:block;width:100%;height:auto}.industrial-art canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.hero-caption{display:flex;justify-content:space-between;margin:0 6%;padding:21px 0;border-bottom:1px solid var(--line);font:10px/1.5 ui-monospace,monospace;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}
.approach{max-width:1180px;margin:auto;padding:115px 38px;display:grid;grid-template-columns:1fr 2fr;gap:55px}.approach>.eyebrow{padding-top:15px}h2{font:400 clamp(35px,3.5vw,51px)/1.08 var(--serif);letter-spacing:-1.3px;margin:0 0 26px}.approach-copy>p{max-width:555px;color:var(--muted);font-size:16px;line-height:1.85}.invitations{max-width:1104px;margin:0 auto 100px;border-block:1px solid var(--line);padding:54px 0;display:grid;grid-template-columns:1fr 1fr}.invitations article{padding:0 65px}.invitations article:first-child{padding-left:0;border-right:1px solid var(--line)}.invitations article:last-child{padding-right:0}.invitations article>p:not(.eyebrow){max-width:380px;color:var(--muted);margin-bottom:26px}.invitations small{display:block;font-size:11px;color:var(--muted);margin-top:14px}.site-footer{max-width:1256px;padding:0 38px 30px;margin:auto}.footer-identity{display:flex;justify-content:space-between;align-items:center;margin-bottom:45px}.footer-identity p{color:var(--muted);font-family:var(--serif);font-size:23px}.footer-details nav{display:flex;gap:25px;align-items:center;margin-bottom:30px}.footer-details a,.footer-details button{font-size:12px;text-decoration:none}.footer-details button{border:0;background:transparent;padding:8px 12px}.footer-legal{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:11px}
.modal-open{overflow:hidden}dialog{width:min(610px,calc(100% - 32px));max-height:90svh;padding:54px;border:1px solid var(--line);border-radius:24px;background:white;color:var(--ink);box-shadow:0 24px 100px #0002}dialog::backdrop{background:#0006;backdrop-filter:blur(6px)}.close{position:absolute;right:16px;top:14px;width:40px;height:40px;background:#f5f5f5;border:0;font-size:25px;line-height:1}.dialog-note{font-size:12px;color:var(--muted);margin-bottom:22px}dialog>p{font-size:14px}dialog h2{font-size:43px}dialog .notice{font-size:12px;line-height:1.65;padding:16px;background:#f5f5f5;border-radius:12px;color:#505050}.application{width:min(700px,calc(100% - 32px))}form{margin-top:28px}label{display:block;font-size:12px;margin-bottom:19px}input,textarea,select{width:100%;display:block;background:white;border:1px solid #ccc;border-radius:10px;padding:12px;margin-top:7px;color:var(--ink);font-size:14px}textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.optional{color:var(--muted);font-size:10px}.form-fine{font-size:11px;color:var(--muted)}#form-status{font-size:13px}#contact-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}#contact-actions:empty{display:none}.noscript{padding:20px;text-align:center}
@keyframes arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(hover:hover) and (pointer:fine){.button:hover,.nav-contact:hover{transform:translateY(-2px);box-shadow:0 5px 15px #0001}.primary:hover{background:#363636}.secondary:hover,.nav-contact:hover,.footer-details button:hover,.close:hover{background:#eee}.header nav a:hover,.footer-details a:hover{text-decoration:underline;text-underline-offset:5px}}
@media(max-width:1200px){.invitations{margin-inline:6%}.industrial-art{margin-top:-15px}.hero{padding-top:145px}}
@media(max-width:650px){.header{top:10px;left:12px;right:12px;padding:0 12px;height:62px}.brand{font-size:17px;gap:7px}.maker-mark{width:25px;height:25px}.header nav>a{display:none}.nav-contact{font-size:12px;padding:10px 15px;min-height:40px}.hero{padding-top:125px}h1{font-size:clamp(38px,10vw,61px);letter-spacing:-.06em}.hero-copy{padding:0 20px}.eyebrow{font-size:9px;letter-spacing:1.1px;margin-bottom:23px}.hero-description{font-size:14px}.hero-actions{gap:8px}.hero-actions .button{padding:13px 18px;font-size:12px;min-height:46px}.industrial-art{width:150%;margin:10px 0 0 -25%}.hero-caption{font-size:8px;gap:20px;letter-spacing:.5px}.hero-caption span:last-child{text-align:right}.approach{display:block;padding:65px 25px}.approach-copy>p{font-size:14px}.invitations{display:block;margin:0 25px 55px;padding:0}.invitations article,.invitations article:first-child,.invitations article:last-child{padding:38px 0;border:0}.invitations article:first-child{border-bottom:1px solid var(--line)}h2{font-size:37px}.site-footer{padding:0 25px 20px}.footer-identity{display:block;margin-bottom:25px}.footer-identity p{font-size:20px;margin-top:14px}.footer-details nav{flex-wrap:wrap;gap:10px}.footer-legal{font-size:10px;gap:10px}dialog{padding:48px 24px 25px}dialog h2{font-size:37px}.form-row{grid-template-columns:1fr;gap:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-copy>*{animation:none!important}button,.button{transition:none!important}button:hover,.button:hover{transform:none!important}}

/* Paper, ink and a single continuous illustrated surface. */
.header.is-scrolled{background:#f6f5f2eb;border-color:#deddd8;box-shadow:none}.header{max-width:1320px}.hero{position:relative;isolation:isolate;min-height:1080px;padding-top:166px;display:flex;flex-direction:column}.hero-copy{max-width:1100px}.hero-copy h1{font-family:var(--serif);font-size:clamp(57px,6.9vw,98px);line-height:1.04;letter-spacing:-.055em;margin-bottom:28px}.hero-copy h1 em{font-weight:400}.hero-description{font-size:15px;line-height:1.8}.eyebrow{font-family:var(--sans);font-size:10px;letter-spacing:1.9px}.hero-copy>.eyebrow{margin-bottom:22px}.hero-actions{gap:12px}.industrial-art{position:absolute;z-index:-1;bottom:18px;left:-7%;width:114%;max-width:none;margin:0;mix-blend-mode:multiply;mask-image:linear-gradient(transparent 0%,#000 27%,#000 57%,transparent 97%);pointer-events:none}.industrial-art img{filter:grayscale(1) contrast(1.08)}.industrial-art canvas{mix-blend-mode:normal}.hero-caption{margin-top:auto;padding-bottom:28px;border:0;position:relative;color:#77746e}.hero::after{content:"";position:absolute;z-index:-2;inset:32% 0 0;background-image:radial-gradient(#24231d22 .55px,transparent .55px);background-size:5px 5px;mask-image:linear-gradient(transparent,#0002 45%,transparent);pointer-events:none}
.button,.nav-contact{min-height:48px;padding:13px 25px;font-weight:500;font-size:12px;letter-spacing:.05px;border-radius:14px;transition:transform 160ms var(--ease-out),background 180ms ease,color 180ms ease,box-shadow 180ms ease}.primary{background:#242421;border-color:#242421;box-shadow:inset 0 1px 0 #ffffff24,0 2px 3px #00000010}.secondary,.nav-contact{background:#ffffff66;border-color:#cbc9c2;box-shadow:inset 0 1px 0 #fff}.nav-contact{min-height:41px;padding:10px 18px;border-radius:12px}.brand{font-family:var(--sans)}.maker-mark{background:transparent;color:var(--ink);border:1px solid;border-radius:50%;font-family:var(--serif)}
.process{max-width:1240px;padding:90px 50px 100px;margin:auto}.process-heading{text-align:center;margin-bottom:60px}.process-heading h2{font-size:clamp(40px,4.5vw,62px);letter-spacing:-2.5px;margin-bottom:12px}.process-heading>p:last-child{font-size:14px;color:var(--muted);margin:0}.process-layout{display:grid;grid-template-columns: .85fr 1.3fr;gap:95px;align-items:center}.process-choice{display:flex;width:100%;gap:18px;text-align:left;align-items:center;padding:29px 0;background:none;border:0;border-bottom:1px solid #dcdad4;border-radius:0;box-shadow:none;transition:opacity 160ms ease;color:#77756f}.process-choice:first-child{border-top:1px solid #dcdad4}.stage-number{font-size:10px;font-variant-numeric:tabular-nums;align-self:flex-start;padding-top:9px}.process-choice strong{font:400 31px/1.3 var(--serif);display:block;letter-spacing:-1px}.process-choice small{font-size:11px;display:block;margin-top:6px}.choice-plus{margin-left:auto;font-size:21px;font-weight:400}.process-choice[aria-pressed=true]{color:var(--ink)}.process-choice[aria-pressed=true] .stage-number{text-decoration:underline;text-underline-offset:5px}.process-art{position:relative;min-height:310px;color:#45433e;background-image:radial-gradient(#8884 .6px,transparent .6px);background-size:12px 12px;mask-image:linear-gradient(transparent,#000 15%,#000 85%,transparent)}.process-drawing{display:block;width:100%;height:auto}.process-drawing text{font:7px ui-monospace,monospace;letter-spacing:1px;fill:currentColor}.drawing{opacity:0;transform:translateY(7px);transition:opacity 250ms ease,transform 250ms var(--ease-out)}[data-current=work] .drawing-work,[data-current=person] .drawing-person,[data-current=fit] .drawing-fit{opacity:1;transform:translateY(0)}.art-corner{position:absolute;font:15px monospace;color:#999}.corner-tl{top:12%;left:1%}.corner-br{bottom:12%;right:1%}.process-caption{padding:20px 25px 0;min-height:125px;text-align:center}.process-caption h3{font:400 23px/1.3 var(--serif);margin:0 0 12px;letter-spacing:-.5px}.process-caption p{font-size:12px;line-height:1.9;color:var(--muted);max-width:400px;margin:auto}.invitation{max-width:1120px;margin:0 auto 85px;padding:65px 30px 80px;text-align:center;border-top:1px solid #dcdad4}.audience-switch{display:inline-flex;padding:4px;border:1px solid #dedbd4;border-radius:999px;background:#edece7;margin:10px 0 36px;gap:3px}.audience-switch button{padding:10px 19px;min-height:40px;border:0;background:transparent;font-size:11px;color:var(--muted);transition:background 180ms ease,color 180ms ease,box-shadow 180ms ease}.audience-switch button[aria-pressed=true]{background:var(--paper);color:var(--ink);box-shadow:0 1px 4px #0001}.audience-copy h2{font-size:clamp(44px,5vw,70px);letter-spacing:-2px;line-height:1.1;margin-bottom:22px}.audience-copy p{font-size:13px;line-height:1.9;color:var(--muted);min-height:52px;margin:0 0 28px}.site-footer{border-top:1px solid #dedbd4;padding-top:38px;max-width:1140px}.footer-identity p{font-size:17px}.footer-details button{border-radius:10px}dialog{background:var(--paper)}input,select,textarea{background:#ffffff88}.close{background:#e9e7e1}
@media(hover:hover) and (pointer:fine){.button:hover,.nav-contact:hover{transform:translateY(-1px);box-shadow:0 4px 10px #00000012,inset 0 1px 0 #fff2}.primary:hover{background:#050505}.secondary:hover,.nav-contact:hover{background:#fff}.process-choice:hover{color:var(--ink);box-shadow:none;transform:none}.audience-switch button:hover{color:var(--ink)}}
@media(min-width:1600px){.hero{min-height:1200px}.industrial-art{bottom:-180px}}
@media(max-width:1000px){.hero{min-height:940px}.industrial-art{width:135%;left:-17.5%;bottom:0}.process{padding-inline:35px}.process-layout{gap:30px}.process-art{min-height:0}.process-choice strong{font-size:27px}.invitation{margin-inline:35px}}
@media(max-width:650px){.hero{padding-top:126px;min-height:840px}.hero-copy h1{font-size:clamp(39px,10.8vw,63px);letter-spacing:-1.9px}.hero-description{font-size:12px;max-width:310px;margin-inline:auto}.hero-copy{padding-inline:14px}.hero-actions .button{border-radius:13px;padding:13px 19px;font-size:11px}.nav-contact{font-size:10px;padding:9px 13px}.brand{font-size:15px}.industrial-art{width:205%;left:-71%;bottom:2px;mask-image:linear-gradient(transparent,#000 24%,#000 57%,transparent 96%)}.hero-caption{font-size:7px;padding-bottom:18px}.process{padding:45px 23px 65px}.process-heading{margin-bottom:30px}.process-heading h2{font-size:36px;letter-spacing:-1.5px}.process-layout{display:flex;flex-direction:column;gap:20px}.process-choices{display:flex;width:100%;gap:0;border-bottom:1px solid #dcdad4}.process-choice{padding:15px 6px;display:block;border:0;text-align:center;position:relative;flex:1}.process-choice:first-child{border-top:0}.stage-number{display:block;margin-bottom:7px}.process-choice strong{font-family:var(--sans);font-size:11px;letter-spacing:0}.process-choice small,.choice-plus{display:none}.process-choice[aria-pressed=true]:after{content:"";position:absolute;bottom:-1px;left:12px;right:12px;height:2px;background:var(--ink)}.process-detail{width:100%}.process-caption{padding:10px 8px 0;min-height:138px}.process-art{margin:0 -10px}.process-caption p{font-size:12px}.invitation{margin:0 23px 45px;padding:45px 0 55px}.invitation>.eyebrow{font-size:8px;letter-spacing:1px}.audience-switch{margin-bottom:28px}.audience-switch button{font-size:10px;padding:10px 14px}.audience-copy h2{font-size:46px}.audience-copy p{font-size:12px;min-height:76px}.site-footer{margin:0 23px;padding:30px 0 20px}.footer-identity p{font-size:15px}}
@media(prefers-reduced-motion:reduce){.drawing{transition:none;transform:none}}
.hero-copy{margin:0 auto}.industrial-art{bottom:-210px;mask-image:linear-gradient(transparent 0%,transparent 18%,#000 45%,#000 57%,transparent 82%)}
@media(min-width:1600px){.industrial-art{bottom:-380px}}
@media(max-width:1000px){.industrial-art{bottom:-140px}}
@media(max-width:650px){.industrial-art{bottom:-10px;mask-image:linear-gradient(transparent 0%,#000 32%,#000 60%,transparent 96%)}}
.hero{background:var(--paper)}
@media(min-width:651px){.industrial-art{mask-image:linear-gradient(transparent 0%,transparent 18%,#000 43%,#000 51%,transparent 75%)}}

/* A smaller railway vignette, with its own naturally feathered ink edges. */
.hero{min-height:0;padding-top:145px}.industrial-art{position:relative;inset:auto;width:min(100%,1000px);max-width:1000px;margin:-55px auto -85px;mask-image:radial-gradient(ellipse at center,#000 45%,transparent 73%);mix-blend-mode:multiply}.industrial-art img{filter:grayscale(1)}
@media(max-width:650px){.hero{padding-top:126px;min-height:0}.industrial-art{width:125%;max-width:none;left:-12.5%;margin:-15px 0 -35px}}

/* One-screen landing composition. Dialogs hold the detailed interactions. */
body{min-height:100svh;display:flex;flex-direction:column}.header{position:relative;top:auto;left:auto;right:auto;flex-shrink:0;width:90%;height:76px;margin:0 auto;padding:0 10px}.header.is-scrolled{background:none;backdrop-filter:none;box-shadow:none;border-color:transparent}main{flex:1;display:flex;min-height:0}.hero{width:100%;padding:24px 0 0;display:flex;flex-direction:column;min-height:0}.hero-copy h1{font-size:clamp(46px,5.3vw,76px);margin-bottom:17px}.hero-description{font-size:13px;line-height:1.7;margin-bottom:20px}.button{min-height:44px;padding:12px 23px}.industrial-art{width:min(72vw,740px);max-width:740px;left:auto;bottom:auto;position:relative;margin:-85px auto -105px;z-index:0;flex-shrink:0}.hero-copy{z-index:2}.hero::after{display:none}.compact-footer{width:88%;max-width:1180px;margin:0 auto;flex-shrink:0;border:0;padding:0 0 18px;position:relative}.factory-signature{width:250px;height:66px;margin:0 auto;color:#53524c;overflow:hidden}.factory-signature svg{display:block;width:100%;height:100%}.footer-rule{height:1px;background:#ceccc5}.footer-row{display:grid;grid-template-columns:1fr 1.2fr 1fr;align-items:center;padding-top:14px;gap:20px}.footer-row nav{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.footer-row button{font-size:11px;padding:5px 0;min-height:28px;border:0;background:none;border-radius:4px}.compact-footer .footer-identity{display:flex;flex-direction:column;justify-content:center;gap:4px;margin:0;text-align:center}.footer-identity .maker-mark{width:21px;height:21px;font-size:16px}.footer-name{font:19px/1.1 var(--serif);letter-spacing:-.5px}.compact-footer .footer-identity p{font-size:11px;color:#85827a;margin:0}.footer-meta{display:flex;flex-direction:column;align-items:flex-end;gap:8px;text-align:right}.footer-meta span{font-size:8px;color:#85827a}
@media(min-width:651px) and (min-height:700px){body{height:100svh}.hero{justify-content:flex-start}.industrial-art{flex:1;min-height:0;max-height:420px;margin: -28px auto -40px;width:min(68vw,760px)}.industrial-art img{height:100%;width:100%;object-fit:contain}.industrial-art canvas{display:none}}
@media(min-width:651px) and (max-height:800px){.header{height:64px}.hero{padding-top:12px}.hero-copy h1{font-size:55px}.hero-description{font-size:12px}.factory-signature{width:210px;height:55px}.footer-row{padding-top:10px}.compact-footer{padding-bottom:12px}}
@media(max-width:650px){.header{height:67px;width:calc(100% - 32px);padding:0}.hero{padding-top:25px}.hero-copy h1{font-size:clamp(36px,10.5vw,52px);line-height:1.08;margin-bottom:18px}.hero-description{font-size:11px;max-width:290px;margin-bottom:20px}.hero-actions .button{min-height:43px}.industrial-art{width:110%;max-width:none;left:-5%;margin:-30px 0 -40px}.compact-footer{width:88%;padding-bottom:17px}.factory-signature{width:205px;height:54px}.footer-row{grid-template-columns:1fr 1fr;gap:12px;padding-top:14px}.compact-footer .footer-identity{grid-column:1/-1;grid-row:1}.footer-row nav{gap:0}.footer-meta{align-self:end}.footer-meta span{max-width:145px;line-height:1.5}.footer-row button{font-size:10px}.compact-footer .footer-identity p{font-size:11px}}
/* Compact type and illustration stay together above the industrial footer. */
.hero{padding-top:16px}.hero-copy h1{font-size:clamp(40px,4.4vw,60px);line-height:1.07;margin-bottom:16px}.hero-description{font-size:12px;line-height:1.7;margin-bottom:18px}.industrial-art{flex:none;width:min(680px,70vw,calc((100svh - 370px)*1.5));max-width:680px;max-height:none;min-height:0;margin:-65px auto -45px;left:auto;inset:auto;position:relative}.industrial-art img{width:100%;height:auto;object-fit:fill}.industrial-art canvas{display:block}.factory-signature{width:220px;height:58px}
@media(max-width:650px){.hero{padding-top:24px}.hero-copy h1{font-size:clamp(33px,9.3vw,46px);letter-spacing:-1.5px}.hero-description{font-size:10.5px;max-width:275px}.industrial-art{width:110%;max-width:none;margin:-25px 0 -45px;left:-5%}.factory-signature{width:180px;height:47px}.footer-row{gap:9px;padding-top:11px}.compact-footer .footer-identity{gap:3px}.footer-name{font-size:17px}}
/* One illustration belongs to the footer, rather than two competing scenes. */
.compact-footer .industrial-art{width:min(680px,76vw,calc((100svh - 335px)*1.5));max-width:680px;margin:-60px auto -92px;left:auto;z-index:0}.compact-footer{isolation:isolate;background:var(--paper)}.footer-rule,.footer-row{position:relative;z-index:1}.footer-row{padding-top:18px}.footer-identity .maker-mark{width:25px;height:25px;font-size:18px}.footer-name{font-size:20px}.compact-footer .footer-identity p{font-size:12px}
@media(max-width:650px){.compact-footer .industrial-art{width:125%;max-width:none;margin:-30px -12.5% -54px;left:auto}.footer-row{padding-top:14px}.footer-name{font-size:18px}.compact-footer .footer-identity p{font-size:10px}.hero{padding-bottom:10px}}
.maker-mark,.footer-identity .maker-mark{border:0;border-radius:0;background:none;width:38px;height:32px;display:grid;place-items:center}.maker-mark img{display:block;width:44px;height:44px;object-fit:contain;max-width:none}.brand{font-family:var(--serif);font-size:25px;letter-spacing:-1px;gap:8px}.footer-identity .maker-mark{width:34px;height:28px}.footer-identity .maker-mark img{width:38px;height:38px}.footer-name{font-size:23px}
@media(max-width:650px){.brand{font-size:22px}.maker-mark{width:29px;height:27px}.maker-mark img{width:36px;height:36px}}
.compact-footer{isolation:auto;background:transparent}
/* Blend through to the paper surface and bring the scene toward the actions. */
.compact-footer .industrial-art{isolation:auto;transform:translateY(-38px);margin-bottom:-130px}.compact-footer .industrial-art img{mix-blend-mode:multiply}.compact-footer .industrial-art canvas{mix-blend-mode:multiply}.compact-footer{background:transparent;isolation:auto}.footer-row{padding-top:16px}
@media(max-width:650px){.compact-footer .industrial-art{transform:translateY(-20px);margin-bottom:-74px}}
.compact-footer .industrial-art{transform:none;margin-bottom:-92px}.compact-footer{padding-bottom:58px}
@media(max-width:650px){.compact-footer .industrial-art{margin-bottom:-54px;transform:none}.compact-footer{padding-bottom:30px}}

/* Keep the illustration attached to the hero, centered beneath its actions. */
.hero .industrial-art{width:min(680px,90vw,calc((100svh - 315px)*1.5));max-width:680px;flex:none;inset:auto;margin:-49px auto -70px;transform:none;isolation:auto}
.hero .industrial-art img,.hero .industrial-art canvas{mix-blend-mode:multiply}
.hero-copy h1 em{font-style:normal}
.hero-copy h1{letter-spacing:-.045em;line-height:1.1}
@media(max-width:650px){.hero .industrial-art{width:100%;margin:-14px auto -48px}.hero-copy h1{font-size:clamp(29px,8.3vw,44px)}.compact-footer{padding-bottom:24px}}

/* A restrained wordmark keeps the header legible at its small size. */
.header .brand{font-family:var(--sans);font-size:24px;font-weight:600;letter-spacing:-1.1px;line-height:1;text-decoration:none}
@media(max-width:650px){.header .brand{font-size:22px;letter-spacing:-.9px}}

/* The footer shares the landing page paper surface. */
.industrial-footer{width:100%;max-width:none;margin:0;padding:24px 6%;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--paper);color:var(--ink);border:0}
.footer-wordmark{font:600 21px/1 var(--sans);letter-spacing:-.8px;text-decoration:none}
.footer-legal-line{display:flex;align-items:center;gap:28px;font-size:10px;color:var(--muted)}
.footer-legal-line button{font:inherit;color:inherit;background:none;border:0;padding:8px 0;border-radius:4px;transition:color 160ms ease}
.footer-legal-line button:hover{color:var(--ink)}
.industrial-footer :focus-visible{outline-color:var(--ink)}
@media(max-width:650px){.industrial-footer{padding:22px 24px;gap:16px}.footer-wordmark{font-size:20px}.footer-legal-line{flex-direction:column;align-items:flex-end;gap:2px;font-size:8px}.footer-legal-line button{font-size:10px}}

.industrial-footer .footer-legal-line{margin-left:auto}

/* Immersive railway composition: generous scene, compact editorial heading. */
.hero{overflow:hidden;position:relative;min-height:0}
.hero-copy h1{font-family:var(--serif);font-size:clamp(42px,4.8vw,68px);line-height:1.04;letter-spacing:-.05em;font-weight:400}
.hero-description{font-size:13px;line-height:1.7}
.hero .industrial-art{width:min(1120px,108vw,calc((100svh - 245px)*2.35));max-width:none;margin:-65px auto -135px;flex:none;align-self:center}
.header .brand{font-family:var(--serif);font-size:29px;font-weight:500;letter-spacing:-1.1px}
@media(max-height:760px) and (min-width:651px){.hero-copy h1{font-size:48px}.hero-description{font-size:12px}.hero .industrial-art{margin-top:-60px}}
@media(max-width:650px){.hero-copy h1{font-size:clamp(33px,9vw,45px);letter-spacing:-.045em}.hero-description{font-size:11px;max-width:310px}.hero .industrial-art{width:175%;max-width:720px;margin:-48px auto -80px}.header .brand{font-size:27px}.hero-actions .button{font-size:12px}}
.hero::after{content:"";display:block;position:absolute;inset:auto 0 0;height:110px;z-index:1;pointer-events:none;background:linear-gradient(transparent,var(--paper));mask-image:none}
@media(max-width:650px){.hero .industrial-art{left:50%;transform:translateX(-50%);margin-left:0;margin-right:0;align-self:flex-start}}

/* Paper landing extension: work-led assessment and quiet editorial controls. */
body{height:auto}
main{display:block;flex:1}
.hero{min-height:900px}
.assessment{width:calc(100% - 172px);max-width:1268px;margin:35px auto 120px;padding-top:34px;border-top:1px solid #c9c6bf;display:grid;grid-template-columns:410px minmax(0,1fr);gap:86px}
.assessment-label{margin:0 0 19px;color:#686861;font-size:11px;font-weight:600;line-height:17px;letter-spacing:.15em;text-transform:uppercase}
.assessment-intro h2{font:400 52px/56px var(--serif);letter-spacing:0;margin:0 0 19px;color:#1f201d}
.assessment-intro>p:last-child{max-width:390px;margin:0;color:#50514d;font-size:16px;line-height:25px}
.assessment-stages{list-style:none;margin:0;padding:0}
.assessment-stages li{display:grid;grid-template-columns:205px minmax(0,1fr);gap:22px;min-height:112px;padding:20px 0;border-bottom:1px solid #c9c6bf}
.assessment-stages h3{margin:0;color:#1f201d;font:600 17px/26px var(--sans)}
.assessment-stages p{margin:0;color:#50514d;font:400 15px/24px var(--sans)}
.nav-contact,.button,dialog,.close,input,select,textarea{border-radius:2px}
dialog{box-shadow:none;background:var(--paper)}
.hero-copy>.eyebrow,.hero-copy>h1,.hero-description,.hero-actions{animation:none}
.nav-contact,.button,.footer-legal-line button{transition:none}
@media(hover:hover) and (pointer:fine){.button:hover,.nav-contact:hover{transform:none;box-shadow:none}.primary:hover{background:var(--ink)}.secondary:hover,.nav-contact:hover{background:var(--paper)}}
@media(max-width:1100px) and (min-width:651px){.assessment{width:calc(100% - 80px);grid-template-columns:36% minmax(0,1fr);gap:40px}.assessment-stages li{grid-template-columns:minmax(145px,35%) minmax(0,1fr);gap:15px}}
@media(max-width:650px){.hero{min-height:844px}.assessment{width:calc(100% - 48px);margin:26px auto 115px;padding-top:28px;display:block}.assessment-label{font-size:10px;line-height:15px;margin-bottom:14px}.assessment-intro h2{font-size:40px;line-height:44px;margin-bottom:14px}.assessment-intro h2 br{display:none}.assessment-intro>p:last-child{font-size:14px;line-height:22px;margin-bottom:25px}.assessment-stages li{grid-template-columns:38px minmax(0,1fr);column-gap:14px;row-gap:0;min-height:0;padding:17px 0 18px;border-top:1px solid #c9c6bf;border-bottom:0}.assessment-number{font-size:25px;line-height:29px}.assessment-stages h3{font-size:15px;line-height:21px}.assessment-stages p{grid-column:2;font-size:13px;line-height:20px;margin-top:5px}.footer-legal-line{flex-direction:row;align-items:center;gap:14px;flex-wrap:wrap;justify-content:flex-end}}

/* Crop the generated transparent wordmark to its ink bounds in the compact header. */
.header .brand{height:36px}
.brand-logo{position:relative;display:block;width:180px;height:26px;overflow:hidden;flex:none}
.brand-logo img{position:absolute;display:block;width:190px;height:auto;max-width:none;left:-5px;top:-20px}
@media(max-width:650px){.brand-logo{width:144px;height:21px}.brand-logo img{width:152px;left:-4px;top:-16px}}

/* One editorial opening: the engraving rises through the space beneath the copy. */
.hero{position:relative;min-height:824px;padding:56px 0 0}
.hero-copy{width:calc(100% - 172px);max-width:1268px;padding:0;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);gap:clamp(60px,9.6vw,138px);text-align:left;position:relative;z-index:2}
.hero-copy h1{font:400 clamp(52px,4.72vw,68px)/1.045 var(--serif);letter-spacing:-.05em;text-align:left;margin:0}
.hero-side{padding-top:28px;min-width:0}
.hero-description{font:400 16px/27px var(--sans);text-align:left;color:#505050;max-width:408px;margin:0}
.hero-actions{justify-content:flex-start;margin-top:38px}
.hero .industrial-art{position:absolute;top:44px;left:50%;bottom:auto;width:min(1380px,100vw);max-width:none;height:720px;min-height:0;margin:0;overflow:hidden;transform:translateX(-50%);mask-image:linear-gradient(#000 0%,#000 83%,transparent 100%)}
.hero .industrial-art img{display:block;width:100%;height:auto;object-fit:initial}
.hero .industrial-art canvas{width:100%;height:auto;mask-image:linear-gradient(transparent 0px,transparent 150px,#000 190px)}
.hero::after{display:none}
@media(max-width:1180px) and (min-width:651px){.hero{min-height:850px;padding-top:65px}.hero-copy{width:calc(100% - 96px);display:block}.hero-copy h1{max-width:720px;font-size:clamp(51px,5.5vw,65px)}.hero-side{max-width:460px;padding-top:24px}.hero-actions{margin-top:26px}.hero .industrial-art{top:190px;width:125vw;height:720px}}
@media(max-width:650px){.hero{min-height:707px;padding-top:33px}.hero-copy{display:block;width:calc(100% - 48px);max-width:none;margin:0 24px}.hero-copy h1{font-size:35px;line-height:36.5px;letter-spacing:-.045em}.hero-side{padding-top:17px}.hero-description{max-width:342px;font-size:14px;line-height:21px}.hero-actions{margin-top:37px;gap:12px}.hero .industrial-art{top:193px;left:50%;width:175%;height:auto;min-height:0;margin:0;transform:translateX(-50%);mask-image:none;overflow:visible}.hero .industrial-art canvas{mask-image:linear-gradient(transparent 0px,transparent 75px,#000 135px)}}

/* Loral Labs: one centered editorial story above the railway engraving. */
.header{width:calc(100% - 112px);max-width:1320px;height:86px;padding:0;border-bottom:1px solid #d8d6d0;border-radius:0}
.header .brand{height:auto;gap:13px;letter-spacing:0;white-space:nowrap}
.brand-name{font:400 35px/.85 var(--serif);letter-spacing:-.07em}
.brand-labs{font:600 10px/1 var(--sans);letter-spacing:.25em;border-left:1px solid #aaa69e;padding-left:13px;margin-top:5px}
.hero{min-height:940px;padding:61px 0 0}
.hero-copy{display:flex;flex-direction:column;align-items:center;width:calc(100% - 48px);max-width:900px;gap:0;text-align:center}
.hero-kicker{margin:0 0 16px;color:#74716b;font:600 10px/1.5 var(--sans);letter-spacing:.2em;text-transform:uppercase}
.hero-copy h1{font:400 clamp(58px,5.65vw,86px)/.99 var(--serif);letter-spacing:-.06em;text-align:center;margin:0 0 21px}
.hero-description{max-width:590px;margin:0;color:#55534f;font:400 15px/1.7 var(--sans);text-align:center}
.hero-actions{justify-content:center;margin-top:24px;gap:10px}
.hero .industrial-art{top:283px;left:50%;width:min(1290px,102vw);height:690px;transform:translateX(-50%);mask-image:linear-gradient(transparent 0%,#000 15%,#000 82%,transparent 100%)}
.hero .industrial-art canvas{mask-image:linear-gradient(transparent 0px,transparent 120px,#000 165px)}
@media(max-width:1180px) and (min-width:651px){.header{width:calc(100% - 80px)}.hero{min-height:875px;padding-top:58px}.hero-copy{display:flex;width:calc(100% - 80px);max-width:850px}.hero-copy h1{max-width:none;font-size:clamp(56px,6.6vw,78px)}.hero-description{max-width:580px}.hero .industrial-art{top:294px;width:120vw;height:620px}}
@media(max-width:650px){.header{width:calc(100% - 40px);height:70px}.header .brand{height:auto;gap:9px}.brand-name{font-size:29px}.brand-labs{font-size:8px;letter-spacing:.19em;padding-left:9px;margin-top:3px}.hero{min-height:668px;padding-top:45px}.hero-copy{display:flex;width:calc(100% - 40px);max-width:440px;margin:0 auto}.hero-kicker{font-size:9px;margin-bottom:15px}.hero-copy h1{font-size:clamp(43px,11.2vw,62px);line-height:1.01;letter-spacing:-.06em;margin-bottom:18px;text-align:center}.hero-description{font-size:12px;line-height:1.55;max-width:345px;text-align:center}.hero-actions{margin-top:22px;gap:8px}.hero-actions .button{padding:11px 14px;min-height:42px}.hero .industrial-art{top:292px;left:50%;width:180%;max-width:720px;height:auto;overflow:visible;mask-image:linear-gradient(transparent 0%,#000 15%,#000 70%,transparent 94%)}.hero .industrial-art canvas{mask-image:linear-gradient(transparent 0px,transparent 60px,#000 115px)}}
.hero .industrial-art #factory-art{filter:none;mix-blend-mode:normal}
/* The title and controls borrow from print typography, without the header rule or numbered rows. */
.header{border-bottom:0}
.nav-contact{border-radius:9px}
@media(min-width:651px) and (max-width:900px){.hero-copy h1{font-size:clamp(64px,8.2vw,78px)}.assessment{display:block}.assessment-intro{max-width:560px;margin-bottom:30px}.assessment-stages li{grid-template-columns:minmax(170px,32%) minmax(0,1fr)}}
@media(max-width:650px){.assessment-stages li{grid-template-columns:1fr;gap:0}.assessment-stages p{grid-column:1}}
