@font-face{font-family:Newsreader;src:url('/assets/fonts/newsreader-latin.woff2') format('woff2');font-style:normal;font-weight:400 600;font-display:swap}
@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-latin.woff2') format('woff2');font-style:normal;font-weight:200 800;font-display:swap}
:root{
 --paper:#f8f6f1;--surface:#f0ede6;--surface-light:#fcfbf8;--ink:#272825;--muted:#676963;--rule:#d9d6cd;--cherry:#742a39;--entry-ground:#672737;--entry-ink:#f8f5ed;
 --serif:Newsreader,Georgia,'Times New Roman',serif;--sans:Manrope,'Helvetica Neue',sans-serif;
 --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s6:24px;--s8:32px;--s10:40px;--s12:48px;--s16:64px;--s20:80px;--s24:96px;--s32:128px;
 --gutter:clamp(24px,5.55vw,96px);--shell:1320px;--header-height:96px;--section:clamp(80px,9vw,144px);
 --heading:clamp(2.5rem,4.8vw,4.75rem);--reading:clamp(1.125rem,1.06rem + .35vw,1.375rem);--ui:clamp(.75rem,.72rem + .1vw,.875rem);--small:.6875rem;
 --ease:cubic-bezier(.22,1,.36,1);--quick:180ms;--flow:650ms;--arrival:800ms;
 --entry-letter-duration:850ms;--entry-letter-stagger:65ms;--entry-group-delay:360ms;--entry-group-duration:700ms;
 --entry-hold:1400ms;--entry-exit:700ms;--entry-font-wait:450ms;--entry-letter-travel:110%;--entry-brand-exit:-12vh;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + var(--s6));scrollbar-gutter:stable}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;-webkit-font-smoothing:antialiased}
body,button,a{touch-action:manipulation}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;border:0;border-radius:0;background:none;cursor:pointer}
button:disabled{cursor:default}button[aria-busy=true]{cursor:wait}
figure,p,h1,h2,h3{margin:0}img{display:block;max-width:100%;height:auto}
h1,h2,h3{font-family:var(--serif);font-weight:500;font-optical-sizing:auto;letter-spacing:-.035em}
h1{font-size:var(--heading);line-height:1.12}h2{font-size:clamp(2rem,3.4vw,3.375rem);line-height:1.15}
::selection{background:var(--cherry);color:var(--paper)}
:focus-visible{outline:2px solid var(--cherry);outline-offset:6px}
a:active,button:not(:disabled):active{opacity:.75}
[hidden]{display:none!important}
.content-shell{max-width:var(--shell);margin-inline:auto;padding-inline:var(--gutter)}
.skip-link{position:fixed;left:var(--gutter);top:var(--s4);z-index:30;transform:translateY(-200%);padding:var(--s4);background:var(--cherry);color:var(--paper)}
.skip-link:focus{transform:none}
.site-header{height:var(--header-height);position:fixed;inset:0 0 auto;z-index:10;background:var(--paper);padding-inline:var(--gutter);display:flex;align-items:center;gap:var(--s8)}
.small-wordmark,.footer-wordmark{font-family:var(--serif);font-weight:500;font-optical-sizing:auto;letter-spacing:-.045em;line-height:.95;display:flex;flex-direction:column;align-items:center}
.small-wordmark{font-size:32px;padding-block:var(--s3)}
.small-wordmark>span,.footer-wordmark>span{font-family:var(--sans);font-weight:500;letter-spacing:.45em;padding-left:.45em;font-size:7px;line-height:1.3;margin-top:var(--s2)}
.primary-nav{display:flex;align-items:center;gap:var(--s10);margin-left:auto;font-size:var(--ui)}
.primary-nav a{min-height:44px;display:flex;align-items:center;position:relative;white-space:nowrap}
.primary-nav a::after{content:'';height:1px;background:currentColor;position:absolute;inset:auto 0 var(--s2);transform:scaleX(0);transform-origin:left;transition:transform var(--quick) var(--ease)}
.primary-nav a:hover::after,.primary-nav a[aria-current]::after{transform:scaleX(1)}
.primary-nav a[aria-current]{font-weight:600}
.language-control{display:flex;align-items:center;gap:var(--s1);margin-left:var(--s8);font-size:11px}
.language-control button{min-width:44px;min-height:44px;font-weight:500;font-size:inherit}
.language-control>span{color:var(--muted)}
.language-control button[aria-pressed=true]{text-decoration:underline;text-underline-offset:5px}
.language-control button:hover{text-decoration:underline;text-underline-offset:5px}
.home-message{text-align:center;padding-top:calc(var(--header-height) + var(--s24));padding-bottom:var(--section)}
.home-message h1{font-size:clamp(2.75rem,5vw,4.75rem);line-height:1.07;max-width:950px;margin-inline:auto}
.home-message h1>span{display:block}
.message-rule{display:block;width:40px;height:1px;background:var(--cherry);margin:var(--s10) auto}
.message-copy{max-width:650px;margin-inline:auto;font-family:var(--serif);font-size:var(--reading);line-height:1.65;font-weight:400;letter-spacing:0}
.message-copy p+p{margin-top:var(--s6)}
.brothers-art{width:min(400px,80%);margin:var(--s10) auto 0;mix-blend-mode:multiply}
.brothers-art img{width:100%;filter:contrast(1.05)}
.home-message .text-link{margin-top:var(--s8)}
.text-link{display:inline-flex;align-items:center;gap:var(--s8);min-height:48px;border-bottom:1px solid var(--rule);font-size:var(--ui);line-height:1.5;padding-block:var(--s2)}
.text-link>span:last-child{transition:transform var(--quick) var(--ease)}
.text-link>span[aria-hidden]{color:var(--cherry);font-size:22px}
.text-link:hover{border-color:var(--cherry)}
.text-link:hover>span:last-child[aria-hidden]{transform:translate(3px,-3px)}
.page-main{padding-top:calc(var(--header-height) + var(--s8));padding-bottom:var(--section)}
.breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s3);font-size:var(--small);color:var(--muted)}
.breadcrumbs a{min-height:44px;display:inline-flex;align-items:center;text-decoration:underline;text-decoration-color:var(--rule);text-underline-offset:4px}
.breadcrumbs a:hover{text-decoration-color:var(--ink);color:var(--ink)}
.breadcrumbs [aria-current]{color:var(--ink)}
.page-intro{text-align:center;padding-top:var(--s16);padding-bottom:var(--s20)}
.page-intro p{font-family:var(--serif);font-size:var(--reading);line-height:1.6;letter-spacing:0;max-width:560px;margin:var(--s6) auto 0}
.sector-feature{background:var(--surface)}
.sector-feature-link{display:grid;grid-template-columns:1fr 1fr;min-height:400px}
.sector-copy{padding:var(--s12);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.sector-number{font-size:var(--small);letter-spacing:.04em;line-height:1.8;display:flex;gap:var(--s3);font-variant-numeric:tabular-nums;color:var(--muted)}
.sector-copy h2{margin-top:var(--s8)}
.sector-copy p{font-family:var(--serif);font-size:var(--reading);line-height:1.6;margin-top:var(--s6)}
.sector-action{display:flex;align-items:center;gap:var(--s8);min-height:48px;border-bottom:1px solid var(--rule);margin-top:var(--s8);font-size:var(--ui)}
.sector-action>span:last-child{color:var(--cherry);font-size:24px;transition:transform var(--quick) var(--ease)}
.sector-feature-link:hover .sector-action>span:last-child{transform:translate(3px,-3px)}
.sector-identity{display:flex;align-items:center;justify-content:center;flex-direction:column;padding:var(--s10);gap:var(--s6);background:var(--surface-light)}
.sector-rue{width:min(90%,320px)}
.identity-rule{width:40px;height:1px;background:var(--rule)}
/* Original logo pixels: show source x0–510/y140–552 only, excluding the Italian
   tagline at y564. The neutral paper becomes white, then multiplies away.
   This is a display-only knockout; the archived source is never redrawn. */
.pizza-lockup{position:relative;overflow:hidden;aspect-ratio:510/412;mix-blend-mode:multiply}
.pizza-lockup img{position:absolute;width:301.17647059%;max-width:none;left:0;top:-33.98058252%;height:auto;filter:grayscale(1) contrast(2) brightness(1.05)}
.sector-identity .pizza-lockup{width:180px}
.future-sectors{display:grid;grid-template-columns:1fr 1fr;column-gap:var(--s16);margin-top:var(--s12)}
.sector-future{padding:var(--s8) 0 var(--s12);border-top:1px solid var(--rule)}
.sector-future h2{font-size:clamp(1.875rem,2.7vw,2.75rem);margin-top:var(--s6)}
.sector-future p{font-size:var(--ui);line-height:1.6;color:var(--muted);margin-top:var(--s3)}
.directory-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--s6);border-top:1px solid var(--rule);padding-top:var(--s6);margin-bottom:var(--s8);font-size:var(--small);letter-spacing:.08em;color:var(--muted)}
.directory-heading>span:last-child{letter-spacing:0}
.brand-directory{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s10);align-items:start}
.house{scroll-margin-top:var(--s8)}
.brand-link{display:block}
.brand-visual{aspect-ratio:1.28;display:grid;place-items:center;background:var(--surface);overflow:hidden}
.rue-visual{background:var(--surface-light)}
.rue-logo{width:72%;height:auto;transition:transform var(--flow) var(--ease)}
.brand-link:hover .rue-logo{transform:scale(1.02)}
.pizza-visual{background:var(--surface-light)}
.pizza-visual .pizza-lockup{width:66%}
.brand-meta{min-height:88px;border-bottom:1px solid var(--rule);display:flex;align-items:center;justify-content:space-between;gap:var(--s6);padding-block:var(--s4)}
.brand-meta h2{font-size:clamp(1.5rem,2.1vw,2rem);letter-spacing:-.025em;font-weight:500;line-height:1.25}
.brand-arrow{display:grid;place-items:center;width:44px;height:44px;font-size:22px;color:var(--cherry);transition:transform var(--quick) var(--ease)}
.brand-link:hover .brand-arrow{transform:translate(3px,-3px)}
.return-projects{margin-top:var(--s16)}
.careers-intro{text-align:center;max-width:720px;margin-inline:auto;padding-top:var(--s16)}
.careers-intro h2{font-size:clamp(1.75rem,3.4vw,2.5rem)}
.careers-copy{font-family:var(--serif);font-size:var(--reading);line-height:1.7;max-width:560px;margin:var(--s6) auto 0}
.careers-status{padding:var(--s8);margin:var(--s12) auto 0;background:var(--surface);max-width:560px}
.eyebrow{font-size:var(--small);letter-spacing:.12em;line-height:1.8;color:var(--muted)}
.careers-status p{font-family:var(--serif);font-size:1.125rem;line-height:1.6;margin-top:var(--s4)}
.careers-intro .text-link{margin-top:var(--s8)}
.site-footer{text-align:center;padding-top:var(--s20);padding-bottom:var(--s10);border-top:1px solid var(--rule)}
.footer-wordmark{font-size:clamp(2rem,2.8vw,2.5rem);width:max-content;margin-inline:auto;padding-block:var(--s3);min-height:60px}
.footer-wordmark>span{font-size:8px}
.social-row{display:flex;align-items:center;justify-content:center;gap:var(--s3);margin-top:var(--s4)}
.social-item{display:grid;place-items:center;width:44px;height:44px;color:var(--muted)}
.social-note{font-size:var(--small);color:var(--muted);line-height:1.5;margin-top:var(--s1)}
.footer-nav{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;column-gap:var(--s8);row-gap:var(--s2);border-top:1px solid var(--rule);padding-top:var(--s6);margin-top:var(--s12);font-size:var(--small)}
.footer-nav a{display:inline-flex;align-items:center;min-height:44px}
.footer-nav a:hover,.footer-nav a[aria-current]{text-decoration:underline;text-underline-offset:5px}
.copyright{font-size:10px;letter-spacing:.035em;line-height:1.6;margin-top:var(--s4);color:var(--muted)}
.network-status{position:fixed;z-index:30;bottom:var(--s4);left:var(--gutter);right:var(--gutter);max-width:720px;padding:var(--s4) var(--s6);background:var(--ink);color:var(--paper);font-size:var(--ui);line-height:1.7}
.network-status:not([hidden]){display:flex;align-items:center;gap:var(--s6)}
.network-status button{min-height:44px;text-decoration:underline;flex:none}
.network-status :focus-visible{outline-color:var(--paper)}
/* A lettered brand entrance, not a loading-progress claim. Runtime timing reads
   the tokens above; the independent HTML watchdog is the fail-open backstop. */
.entrance{display:none;position:fixed;inset:0;z-index:100;place-items:center;color:var(--entry-ink)}
.entry-armed .entrance{display:grid!important}
.entry-armed{overflow:hidden}
.entrance-panel{position:absolute;inset:0;background:var(--entry-ground);transform:translateY(0);transition:transform var(--entry-exit) var(--ease)}
.entry-armed .entrance-panel{will-change:transform}
.entrance-brand{position:relative;z-index:1;text-align:center;display:flex;flex-direction:column;align-items:center;transition:opacity 450ms var(--ease),transform var(--entry-exit) var(--ease)}
.entrance-name{display:flex;font-family:var(--serif);font-size:clamp(4rem,16vw,14rem);font-weight:500;line-height:1;font-optical-sizing:auto}
.entrance-letter{display:block;overflow:hidden;padding:.12em .035em;margin-inline:-.035em}
.entrance-letter>span{display:block;transform:translateY(var(--entry-letter-travel));opacity:0}
.entry-playing .entrance-letter>span{animation:entry-letter var(--entry-letter-duration) var(--ease) calc(var(--letter)*var(--entry-letter-stagger)) both}
.entrance-group{font-size:clamp(10px,.85vw,13px);letter-spacing:.65em;padding-left:.65em;margin-top:var(--s2);opacity:0;transform:translateY(12px)}
.entry-playing .entrance-group{animation:entry-group var(--entry-group-duration) var(--ease) var(--entry-group-delay) both}
.entrance-rule{display:block;width:48px;height:1px;background:currentColor;margin-top:var(--s10);transform:scaleX(0);opacity:.55}
.entry-playing .entrance-rule{animation:entry-rule var(--entry-letter-duration) var(--ease) var(--entry-group-delay) both}
@keyframes entry-letter{to{transform:translateY(0);opacity:1}}
@keyframes entry-group{to{transform:translateY(0);opacity:1}}
@keyframes entry-rule{to{transform:scaleX(1)}}
.entrance [data-skip-intro]{position:absolute;right:var(--gutter);bottom:max(var(--s8),env(safe-area-inset-bottom));z-index:2;min-height:44px;display:flex;align-items:center;gap:var(--s6);font-size:var(--ui);transition:opacity var(--quick) var(--ease)}
.entrance :focus-visible{outline-color:var(--entry-ink)}
.entry-revealing .entrance-panel{transform:translateY(-101%)}
.entry-revealing .entrance-brand{opacity:0;transform:translateY(var(--entry-brand-exit))}
.entry-revealing .entrance [data-skip-intro]{color:var(--cherry)}
.entry-revealing .entrance :focus-visible{outline-color:var(--cherry)}
.home-message h1,.home-message .message-copy{transition:opacity var(--arrival) var(--ease),transform var(--arrival) var(--ease)}
.entry-armed:not(.entry-revealing) .home-message h1,.entry-armed:not(.entry-revealing) .home-message .message-copy{opacity:0;transform:translateY(18px)}
@media(max-width:900px){
 :root{--header-height:88px}
 .sector-copy{padding:var(--s8)}.sector-identity{padding:var(--s8)}
 .sector-copy h2{font-size:clamp(2rem,4.8vw,3rem)}
 .brand-directory{gap:var(--s8)}
}
@media(max-width:700px){
 :root{--header-height:88px;--section:80px;--entry-letter-travel:85%;--entry-brand-exit:-7vh}
 .site-header{gap:var(--s3)}.small-wordmark{font-size:27px}.small-wordmark>span{font-size:6px}
 .primary-nav{font-size:11px;gap:var(--s4)}
 .language-control{margin-left:0;gap:0}.language-control>span,.language-control button[aria-pressed=true]{display:none}
 .home-message{padding-top:calc(var(--header-height) + var(--s16))}
 .home-message h1{font-size:clamp(2.05rem,8.5vw,3.5rem);line-height:1.14;letter-spacing:-.025em}
 .message-rule{margin-block:var(--s8)}
 .message-copy{font-size:1.125rem;line-height:1.65;max-width:34ch}
 .message-copy p+p{margin-top:var(--s6)}
 .brothers-art{width:84%;max-width:340px;margin-top:var(--s8)}
 .home-message .text-link{margin-top:var(--s6)}
 .page-main{padding-top:calc(var(--header-height) + var(--s4))}
 .page-intro{padding-top:var(--s10);padding-bottom:var(--s12)}
 .page-intro h1,.careers-intro h1{font-size:clamp(2.5rem,11vw,3.75rem)}
 .page-intro p{font-size:1.125rem;margin-top:var(--s6)}
 .breadcrumbs{gap:var(--s2)}
 .sector-feature-link{grid-template-columns:1fr}
 .sector-copy{padding:var(--s8);min-height:300px}
 .sector-copy h2{margin-top:var(--s6);font-size:2.5rem}
 .sector-copy p{margin-top:var(--s4)}
 .sector-action{margin-top:var(--s6)}
 .sector-identity{padding:var(--s10);gap:var(--s6)}
 .sector-rue{width:min(96%,300px)}
 .sector-identity .pizza-lockup{width:180px}
 .future-sectors{gap:0 var(--s6);margin-top:var(--s10)}
 .sector-future{padding-block:var(--s6) var(--s8)}
 .sector-future .sector-number{flex-direction:column;gap:var(--s1);letter-spacing:0}
 .sector-future h2{font-size:clamp(1.75rem,7vw,2.5rem)}
 .sector-future p{font-size:11px}
 .brand-directory{grid-template-columns:1fr;gap:var(--s12)}
 .brand-meta{min-height:76px}.brand-meta h2{font-size:1.625rem}
 .return-projects{margin-top:var(--s12)}
 .careers-intro{padding-top:var(--s10)}
 .careers-status{padding:var(--s6)}
 .site-footer{padding-top:var(--s12);padding-bottom:var(--s8)}
 .footer-nav{column-gap:var(--s6);margin-top:var(--s8)}
 .network-status:not([hidden]){flex-direction:column;align-items:flex-start;gap:var(--s2)}
}
@media(max-width:360px){.site-header{gap:var(--s2)}.small-wordmark{font-size:24px}.primary-nav{font-size:10px;gap:var(--s3)}.home-message h1{font-size:2rem}.sector-copy{padding:var(--s6)}.sector-copy h2{font-size:2.125rem}}
@media(prefers-reduced-motion:no-preference){
 @view-transition{navigation:auto}
 ::view-transition-old(root){animation:page-out 150ms ease-out both}
 ::view-transition-new(root){animation:page-in 250ms var(--ease) both}
 @keyframes page-out{to{opacity:0}}@keyframes page-in{from{opacity:0}}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}.entry-armed{overflow:auto}
 *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .entry-armed .entrance{display:none!important}
 .home-message h1,.home-message .message-copy{opacity:1!important;transform:none!important}
}
