@font-face{font-family:Anton;src:url('assets/fonts/Anton-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Satoshi;src:url('assets/fonts/Satoshi-Medium.otf') format('opentype');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:Satoshi;src:url('assets/fonts/Satoshi-Bold.otf') format('opentype');font-style:normal;font-weight:700;font-display:swap}
:root{--red:#ff1d22;--paper:#f2eee5;--ink:#0d1722;--link:#bc241f;--hero:var(--red);--hero-ink:var(--ink);color-scheme:light;scroll-padding-top:30px}
:is(#page,.split-copy) *{box-sizing:border-box}
html{scroll-behavior:smooth;scrollbar-color:var(--ink) var(--paper)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Satoshi,sans-serif;font-size:17px;line-height:1.4;font-weight:500}
body:after{content:'';position:fixed;inset:0;pointer-events:none;z-index:80;opacity:.038;background:url('assets/home/grain.svg');background-size:160px;mix-blend-mode:multiply}
:is(#page,.split-copy) ::selection{background:var(--ink);color:var(--paper)}
:is(#main,.split-copy) a{color:inherit;text-decoration:none;touch-action:manipulation}
:is(#main,.split-copy) a:focus-visible,:is(#main,.split-copy) button:focus-visible{outline:2px solid currentColor;outline-offset:6px}
:is(#main,.split-copy) button,:is(#main,.split-copy) input{font:inherit}
:is(#page,.split-copy) svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7}
:is(#page,.split-copy) p,:is(#page,.split-copy) h1,:is(#page,.split-copy) h2,:is(#page,.split-copy) h3{margin:0}
:is(#page,.split-copy) h1,:is(#page,.split-copy) h2,:is(#page,.split-copy) h3{font-weight:400;font-family:Anton,sans-serif;font-synthesis:none}
:is(#page,.split-copy) button{cursor:pointer}
:is(#page,.split-copy) .skip{position:fixed;z-index:120;left:20px;top:-90px;padding:16px;background:var(--paper)}
:is(#page,.split-copy) .skip:focus{top:20px}
:is(#page,.split-copy) .arrow-link{display:inline-flex;gap:10px;align-items:center;border-bottom:1px solid currentColor;padding-bottom:4px;width:fit-content;line-height:1.4;transition:opacity .2s}
:is(#page,.split-copy) .arrow-link:hover{opacity:.65}
:is(#page,.split-copy) .arrow-link svg{width:17px;height:17px;flex:none}
:is(#page,.split-copy) .editorial-hero{position:relative;height:70vw;min-height:660px;max-height:1150px;background:var(--hero);color:var(--hero-ink);isolation:isolate;overflow:hidden}
:is(#page,.split-copy) .editorial-hero:before,:is(#page,.split-copy) .editorial-contact:before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 82% 40%,transparent 30%,#88191a10 80%);z-index:-1}
:is(#page,.split-copy) .editorial-header{position:relative;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:20px 3.6%;gap:30px}
:is(#page,.split-copy) .identity{display:flex;align-items:center;gap:34px}
:is(#page,.split-copy) .editorial-header .brand{width:132px;display:block;flex:none}
:is(#page,.split-copy) .editorial-header .brand img{display:block;width:100%;height:auto}
:is(#page,.split-copy) .identity-caption{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
:is(#page,.split-copy) .editorial-header nav{display:flex;align-items:center;gap:32px;font-size:14px;font-weight:700}
:is(#page,.split-copy) .editorial-header nav a{display:inline-flex;align-items:center;gap:8px}
:is(#page,.split-copy) .editorial-header nav a:hover{text-decoration:underline;text-underline-offset:5px}
:is(#page,.split-copy) .editorial-header nav svg{width:15px;height:15px}
:is(#page,.split-copy) .hero-headline{position:absolute;z-index:1;left:3.6%;top:15%;font-size:17.2vw;line-height:.88;letter-spacing:-.022em;text-transform:uppercase;transform:skewY(-8deg);transform-origin:left top}
:is(#page,.split-copy) .hero-headline span{display:block;white-space:nowrap}
:is(#page,.split-copy) .hero-material{position:absolute;z-index:2;bottom:-2.6%;left:0;width:100%;height:auto;pointer-events:none;user-select:none}
:is(#page,.split-copy) .hero-bottom{position:absolute;z-index:3;bottom:24px;left:3.6%;right:3.6%;display:flex;justify-content:space-between;align-items:flex-end;font-size:14px}
:is(#page,.split-copy) .hero-bottom>a{display:flex;gap:12px;align-items:center}
:is(#page,.split-copy) .hero-bottom svg{width:17px;height:17px}
:is(#page,.split-copy) .hero-bottom p{text-align:right;font-size:11px;max-width:200px}
:is(#page,.split-copy) .editorial-studio{position:relative;z-index:4;display:grid;grid-template-columns:51% 17% 32%;align-items:center;min-height:21vw;padding:28px 3.6%;background:var(--paper);overflow:visible}
:is(#page,.split-copy) .studio-headline{font-size:6.1vw;line-height:.98;letter-spacing:-.02em}
:is(#page,.split-copy) .studio-headline span{display:block}
:is(#page,.split-copy) .studio-card{position:relative;width:115%;z-index:5;transform:rotate(11deg);margin:-34px 0;justify-self:center;box-shadow:9px 20px 23px #0d172233;border-radius:8px}
:is(#page,.split-copy) .studio-card img{width:100%;height:auto;display:block;border-radius:8px}
:is(#page,.split-copy) .studio-copy{margin-left:32px;border-left:1px solid #0d172244;padding:6px 0 6px 36px;position:relative;z-index:6}
:is(#page,.split-copy) .studio-copy h3{font-size:2.5vw;line-height:1.1;text-transform:uppercase;margin-bottom:16px}
:is(#page,.split-copy) .studio-copy p{font-size:17px;line-height:1.4;margin-bottom:18px}
:is(#page,.split-copy) .studio-copy a{color:var(--link)}
:is(#page,.split-copy) .editorial-projects{position:relative;isolation:isolate;overflow:clip}
:is(#page,.split-copy) .project-feature{position:relative;min-height:510px;height:43vw;max-height:800px;color:var(--paper);isolation:isolate}
:is(#page,.split-copy) .project-feature:before{content:'';position:absolute;inset:0;z-index:-1;background:url('assets/home/grain.svg');background-size:200px;opacity:.15;mix-blend-mode:soft-light}
:is(#page,.split-copy) .monumental-feature{z-index:2;background:radial-gradient(ellipse at 77% 80%,#65523e 0%,#383129 45%,#1a2024 85%)}
:is(#page,.split-copy) .titan-feature{z-index:1;background:radial-gradient(ellipse at 20% 80%,#304c3b 0%,#173a30 45%,#16262a 85%)}
:is(#page,.split-copy) .project-copy{position:relative;z-index:4;width:43%;padding:42px 0 40px 3.6%}
:is(#page,.split-copy) .project-kicker{font-size:12px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:27px}
:is(#page,.split-copy) .project-copy h2{font-size:8.6vw;line-height:1;letter-spacing:-.023em;white-space:nowrap;margin-bottom:15px}
:is(#page,.split-copy) .project-meta{font-family:Anton,sans-serif;font-size:23px;line-height:1.12;text-transform:uppercase}
:is(#page,.split-copy) .project-description{font-size:17px;line-height:1.45;max-width:28ch;margin:28px 0 24px}
:is(#page,.split-copy) .project-copy .arrow-link{font-size:17px}
:is(#page,.split-copy) .project-copy .arrow-link svg{color:#ff6257}
:is(#page,.split-copy) .project-box{position:absolute;z-index:3;pointer-events:none;height:auto}
:is(#page,.split-copy) .monumental-feature .project-box{width:66%;right:-2%;top:-17%}
:is(#page,.split-copy) .titan-feature .project-box{width:64%;left:-2%;top:-10%}
:is(#page,.split-copy) .titan-feature .project-copy{margin-left:63%;width:37%;padding:15% 3.6% 40px 0}
:is(#page,.split-copy) .titan-feature .project-copy h2{font-size:7.8vw}
:is(#page,.split-copy) .all-projects{position:relative;z-index:5;background:var(--paper);display:flex;justify-content:center;align-items:center;padding:22px;font-size:15px}
:is(#page,.split-copy) .all-projects svg{color:var(--link)}
:is(#page,.split-copy) .editorial-development{position:relative;z-index:5;display:grid;grid-template-columns:50% 22% 28%;align-items:center;border-top:1px solid #0d172233;padding:30px 3.6%;background:var(--paper);gap:0}
:is(#page,.split-copy) .editorial-development h2{font-size:5.9vw;line-height:1;letter-spacing:-.02em}
:is(#page,.split-copy) .development-object{height:185px;border-left:1px solid #0d172233;padding:0 18px;display:flex;align-items:center;justify-content:center}
:is(#page,.split-copy) .development-object svg{width:100%;max-width:260px;height:100%;stroke-width:1}
:is(#page,.split-copy) .development-copy{padding-left:26px;font-size:16px}
:is(#page,.split-copy) .development-copy h3{font-family:Satoshi,sans-serif;font-size:20px;font-weight:700;margin-bottom:4px}
:is(#page,.split-copy) .development-copy .status{font-size:11px;letter-spacing:.045em;text-transform:uppercase;margin-bottom:10px}
:is(#page,.split-copy) .development-copy p{max-width:27ch}
:is(#page,.split-copy) .development-copy a{color:var(--link);margin-top:15px}
:is(#page,.split-copy) .editorial-contact{position:relative;isolation:isolate;background:var(--hero);color:var(--hero-ink);padding:30px 3.6% 24px;z-index:6}
:is(#page,.split-copy) .contact-heading{display:flex;justify-content:space-between;align-items:center;gap:30px}
:is(#page,.split-copy) .contact-heading h2{font-size:9.4vw;line-height:1.08;letter-spacing:-.023em;white-space:nowrap}
:is(#page,.split-copy) .contact-heading>a{color:var(--paper);width:9vw;flex:none;display:block}
:is(#page,.split-copy) .contact-heading>a svg{width:100%;height:auto;stroke-width:2.5}
:is(#page,.split-copy) .editorial-contact>.arrow-link{margin-top:10px;font-size:20px}
:root[data-dev-background] .editorial-hero,:root[data-dev-background] .editorial-contact{background:var(--dev-background);color:var(--dev-ink)}
:root[data-dev-background] body{background:var(--paper);color:var(--ink)}
:root[data-dev-background]{--paper:#f2eee5;--ink:#0d1722;--link:#bc241f;--accent:var(--ink);--hero:var(--dev-background);--hero-ink:var(--dev-ink)}
:is(#page,.split-copy) .dev-theme{font-size:13px}
:is(#page,.split-copy) .dev-theme-toggle{background:var(--paper);opacity:.85}
:is(#page,.split-copy) .dev-theme-heading h2{font-family:Satoshi,sans-serif;font-weight:700}
:is(#page,.split-copy) .dev-theme-panel{background:var(--paper)}
@media(min-width:1680px){:is(#page,.split-copy) .hero-headline{font-size:290px}
:is(#page,.split-copy) .hero-material{width:1640px;left:50%;transform:translateX(-50%)}
:is(#page,.split-copy) .hero-headline{left:calc(50% - 780px)}
}
@media(max-width:1000px){:is(#page,.split-copy) .identity{gap:18px}
:is(#page,.split-copy) .identity-caption{font-size:9px}
:is(#page,.split-copy) .editorial-header .brand{width:110px}
:is(#page,.split-copy) .editorial-header nav{gap:20px;font-size:12px}
:is(#page,.split-copy) .studio-copy{margin-left:20px;padding-left:22px}
:is(#page,.split-copy) .studio-copy p{font-size:14px}
:is(#page,.split-copy) .studio-copy h3{font-size:25px}
:is(#page,.split-copy) .project-copy{padding-top:30px}
:is(#page,.split-copy) .project-copy h2{font-size:8.4vw}
:is(#page,.split-copy) .project-description{font-size:15px;max-width:26ch;margin:20px 0}
:is(#page,.split-copy) .project-meta{font-size:20px}
:is(#page,.split-copy) .development-object{height:150px}
:is(#page,.split-copy) .development-copy{font-size:14px;padding-left:20px}
:is(#page,.split-copy) .development-copy h3{font-size:17px}
:is(#page,.split-copy) .development-copy .arrow-link{font-size:14px}
:is(#page,.split-copy) .editorial-development{padding-top:25px;padding-bottom:25px}
:is(#page,.split-copy) .project-feature{min-height:420px}
}
@media(max-width:680px){:root{scroll-padding-top:16px}
:is(#page,.split-copy) .editorial-hero{height:185vw;min-height:690px;max-height:950px}
:is(#page,.split-copy) .editorial-header{padding:20px 6%;align-items:flex-start}
:is(#page,.split-copy) .editorial-header .brand{width:93px}
:is(#page,.split-copy) .identity-caption{display:none}
:is(#page,.split-copy) .editorial-header nav{gap:17px;font-size:12px;flex-wrap:wrap;justify-content:flex-end;max-width:240px;padding-top:9px}
:is(#page,.split-copy) .editorial-header nav a:nth-child(2),:is(#page,.split-copy) .editorial-header nav a:nth-child(3){display:none}
:is(#page,.split-copy) .hero-headline{top:22%;left:6%;font-size:17.5vw;line-height:.94;transform:skewY(-7deg)}
:is(#page,.split-copy) .hero-material{width:142%;max-width:none;left:-22%;bottom:7%;}
:is(#page,.split-copy) .hero-bottom{left:6%;right:6%;bottom:22px;font-size:12px}
:is(#page,.split-copy) .hero-bottom p{display:none}
:is(#page,.split-copy) .editorial-studio{display:grid;grid-template-columns:66% 34%;padding:30px 6% 34px;min-height:0;gap:26px 0}
:is(#page,.split-copy) .studio-headline{font-size:10.2vw;line-height:1.02}
:is(#page,.split-copy) .studio-card{width:105%;margin:-70px -10px 0 0;transform:rotate(9deg);border-radius:5px;box-shadow:5px 12px 18px #0d172233}
:is(#page,.split-copy) .studio-card img{border-radius:5px}
:is(#page,.split-copy) .studio-copy{grid-column:1/-1;border-left:0;border-top:1px solid #0d172233;display:grid;grid-template-columns:1fr 1fr;margin:0;padding:24px 0 0;gap:10px 20px;align-items:start}
:is(#page,.split-copy) .studio-copy h3{font-size:25px;grid-row:1/3;max-width:7ch;line-height:1.1}
:is(#page,.split-copy) .studio-copy p{font-size:14px;margin-bottom:5px}
:is(#page,.split-copy) .studio-copy a{font-size:13px;grid-column:2}
:is(#page,.split-copy) .project-feature{height:auto;max-height:none;min-height:0;padding:30px 6% 0;overflow:hidden}
:is(#page,.split-copy) .project-copy{width:100%;padding:0}
:is(#page,.split-copy) .project-kicker{margin-bottom:20px;font-size:10px}
:is(#page,.split-copy) .project-copy h2{font-size:15.5vw;line-height:1.07;margin-bottom:10px}
:is(#page,.split-copy) .project-meta{font-size:17px}
:is(#page,.split-copy) .project-description{font-size:14px;line-height:1.45;max-width:31ch;margin:18px 0 16px}
:is(#page,.split-copy) .project-copy .arrow-link{font-size:14px}
:is(#page,.split-copy) .project-box{position:relative;display:block;width:120%!important;left:-10%!important;right:auto!important;top:auto!important;margin:-55px 0 -10px;z-index:3}
:is(#page,.split-copy) .titan-feature{padding-top:36px}
:is(#page,.split-copy) .titan-feature .project-copy{padding:0;margin:0;width:100%}
:is(#page,.split-copy) .titan-feature .project-copy h2{font-size:15.5vw}
:is(#page,.split-copy) .titan-feature .project-box{margin:-55px 0 -10px}
:is(#page,.split-copy) .all-projects{padding:20px;font-size:14px}
:is(#page,.split-copy) .editorial-development{padding:30px 6%;grid-template-columns:1fr 1fr;gap:25px 16px}
:is(#page,.split-copy) .editorial-development h2{font-size:10vw;grid-column:1/-1;line-height:1.02}
:is(#page,.split-copy) .development-object{height:150px;border-left:0;padding:0;justify-content:start}
:is(#page,.split-copy) .development-copy{padding:0;font-size:13px}
:is(#page,.split-copy) .development-copy h3{font-size:16px}
:is(#page,.split-copy) .development-copy .status{font-size:9px}
:is(#page,.split-copy) .development-copy a{font-size:13px}
:is(#page,.split-copy) .editorial-contact{padding:28px 6% 24px}
:is(#page,.split-copy) .contact-heading{gap:12px;align-items:flex-start}
:is(#page,.split-copy) .contact-heading h2{font-size:14.2vw;white-space:normal;max-width:5.7em;line-height:1.05}
:is(#page,.split-copy) .contact-heading>a{width:16vw;margin-top:6px}
:is(#page,.split-copy) .editorial-contact>.arrow-link{font-size:16px;margin-top:20px}
:is(#page,.split-copy) .dev-theme{top:auto;bottom:16px;transform:none}
:is(#page,.split-copy) .dev-theme-panel{top:auto;bottom:0;transform:none}
:is(#page,.split-copy) .dev-theme-toggle{width:32px;height:38px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
:is(#page,.split-copy) *{transition:none!important}
}
:is(#page,.split-copy) .hero-material{width:94%;left:6%;bottom:-7%}
@media(min-width:1680px){:is(#page,.split-copy) .hero-material{width:1640px;left:50%}
}
@media(max-width:680px){:is(#page,.split-copy) .hero-material{width:142%;left:-22%;bottom:7%}
:is(#page,.split-copy) .contact-heading h2{font-size:12.4vw;max-width:none}
:is(#page,.split-copy) .contact-heading h2 span{display:block;white-space:nowrap}
}
:root,:root[data-dev-background]{--paper:#fff;--hero:#0b0b0b;--hero-ink:#fff;--ink:#0d1722;--link:#bc241f}
:is(#page,.split-copy) .editorial-hero{height:78vw;min-height:760px;max-height:1240px}
:is(#page,.split-copy) .editorial-hero:before,:is(#page,.split-copy) .editorial-contact:before{background:none}
:is(#page,.split-copy) .editorial-header{padding:36px 3.6%;gap:38px}
:is(#page,.split-copy) .editorial-header .brand{width:140px}
:is(#page,.split-copy) .identity{gap:36px}
:is(#page,.split-copy) .hero-headline{top:17%;font-size:14.4vw;line-height:.87;left:3.6%}
:is(#page,.split-copy) .hero-material{width:81%;left:20%;bottom:-14%;transform:scale(1);transform-origin:70% 66%;transition:transform 1.6s cubic-bezier(.16,1,.3,1)}
:is(#page,.split-copy) .editorial-hero:hover .hero-material{transform:scale(1.015)}
:is(#page,.split-copy) .studio-card img{transition:transform 1.3s cubic-bezier(.16,1,.3,1)}
:is(#page,.split-copy) .studio-card:hover img{transform:scale(1.025)}
:is(#page,.split-copy) .project-feature{height:48vw;min-height:560px;max-height:850px;background:radial-gradient(ellipse at 70% 85%,var(--project-background,#383129),#172028 90%);overflow:hidden;color:#fff}
:is(#page,.split-copy) .project-window{position:absolute;inset:0;z-index:3;clip-path:inset(0);opacity:1;transition:clip-path 1.7s cubic-bezier(.16,1,.3,1),opacity 1.35s cubic-bezier(.16,1,.3,1)}
:is(#page,.split-copy) .monumental-feature .project-box{width:60%;right:-1%;top:-6%}
:is(#page,.split-copy) .titan-feature .project-box{width:60%;left:-1%;top:-6%}
:is(#page,.split-copy) .project-box{transform:scale(1);transform-origin:50% 55%;transition:transform 1.8s cubic-bezier(.16,1,.3,1)}
:is(#page,.split-copy) .project-feature:hover .project-box{transform:scale(1.025)}
:is(#page,.split-copy) .project-copy{padding-top:55px;pointer-events:none}
:is(#page,.split-copy) .project-copy a{pointer-events:auto}
:is(#page,.split-copy) .project-copy h2{font-size:8.1vw;white-space:normal;text-wrap:balance;line-height:1.07;max-width:9ch}
:is(#page,.split-copy) .project-copy .project-description{max-width:26ch}
:is(#page,.split-copy) .titan-feature .project-copy{margin-left:61%;width:39%;padding-top:15%}
:is(#page,.split-copy) .titan-feature .project-copy h2{font-size:7.5vw}
:is(#page,.split-copy) .project-feature[data-title-long] .project-copy h2{font-size:5.2vw;max-width:12ch}
:is(#page,.split-copy) .project-kicker{margin-bottom:22px}
:is(#page,.split-copy) .project-feature.is-armed .project-window{clip-path:inset(0 35%);opacity:.2}
:is(#page,.split-copy) .project-feature.is-armed .project-box{transform:scale(1.035)}
:is(#page,.split-copy) .project-feature.is-armed .project-copy{opacity:.35;transform:translateY(12px)}
:is(#page,.split-copy) .project-copy{transition:opacity 1.25s cubic-bezier(.16,1,.3,1) .15s,transform 1.4s cubic-bezier(.16,1,.3,1) .15s}
:is(#page,.split-copy) .editorial-contact{padding-top:48px;padding-bottom:54px}
:is(#page,.split-copy) .contact-heading h2{font-size:9vw}
:is(#page,.split-copy) .editorial-info{border:0;padding:48px;max-width:650px;width:calc(100% - 40px);max-height:85vh;overflow:auto;color:var(--ink);background:#fff;box-shadow:0 16px 80px #0004;font-size:15px;line-height:1.65}
:is(#page,.split-copy) .editorial-info::backdrop{background:#0b0b0bcc}
:is(#page,.split-copy) .editorial-info h2{font-size:32px;line-height:1.2;margin:0 28px 28px 0}
:is(#page,.split-copy) .editorial-info h3{font-family:Satoshi,sans-serif;font-size:18px;font-weight:700;margin-top:24px}
:is(#page,.split-copy) .editorial-info p{margin-top:16px}
:is(#page,.split-copy) .info-close{position:absolute;right:20px;top:20px;background:none;border:0;color:inherit;padding:8px}
@media(min-width:1680px){:is(#page,.split-copy) .hero-headline{font-size:242px;left:calc(50% - 780px)}
:is(#page,.split-copy) .hero-material{width:1360px;left:calc(50% - 503px);transform:scale(1)}
}
@media(max-width:1000px){:is(#page,.split-copy) .hero-material{bottom:-6%}
:is(#page,.split-copy) .editorial-header{padding-top:30px;padding-bottom:30px}
:is(#page,.split-copy) .identity{gap:24px}
:is(#page,.split-copy) .editorial-header .brand{width:125px}
:is(#page,.split-copy) .project-feature{min-height:460px}
:is(#page,.split-copy) .project-copy{padding-top:40px}
:is(#page,.split-copy) .project-description{max-width:23ch}
:is(#page,.split-copy) .project-feature[data-title-long] .project-copy h2{font-size:5.8vw}
}
@media(max-width:680px){:is(#page,.split-copy) .editorial-hero{height:187vw;min-height:700px;max-height:1000px}
:is(#page,.split-copy) .editorial-header{padding:26px 6%}
:is(#page,.split-copy) .editorial-header .brand{width:103px}
:is(#page,.split-copy) .hero-headline{top:24%;left:6%;font-size:17.5vw;line-height:.94}
:is(#page,.split-copy) .hero-material{width:125%;left:-10%;bottom:8%;transform:scale(1);transform-origin:65% 70%}
:is(#page,.split-copy) .editorial-hero:hover .hero-material{transform:scale(1.015)}
:is(#page,.split-copy) .project-feature{height:auto;min-height:0;max-height:none;padding:34px 6% 0}
:is(#page,.split-copy) .project-copy,:is(#page,.split-copy) .titan-feature .project-copy{padding:0;margin:0;width:100%;pointer-events:auto}
:is(#page,.split-copy) .project-copy h2,:is(#page,.split-copy) .titan-feature .project-copy h2{font-size:15.5vw;max-width:100%}
:is(#page,.split-copy) .project-feature[data-title-long] .project-copy h2{font-size:10vw;max-width:19ch}
:is(#page,.split-copy) .project-description{max-width:31ch!important}
:is(#page,.split-copy) .project-window{position:relative;inset:auto;margin:16px -6.8% 0;overflow:hidden}
:is(#page,.split-copy) .project-box,:is(#page,.split-copy) .titan-feature .project-box{position:relative;width:110%!important;left:-5%!important;right:auto!important;top:auto!important;margin:-9% 0 -5%}
:is(#page,.split-copy) .project-feature.is-armed .project-copy{transform:translateY(8px)}
:is(#page,.split-copy) .editorial-contact{padding:32px 6% 40px}
:is(#page,.split-copy) .contact-heading h2{font-size:12.4vw}
:is(#page,.split-copy) .editorial-info{padding:36px 24px}
:is(#page,.split-copy) .editorial-info h2{font-size:26px}
}
@media(prefers-reduced-motion:reduce){:is(#page,.split-copy) .project-feature.is-armed .project-window{clip-path:none;opacity:1}
:is(#page,.split-copy) .project-feature.is-armed .project-copy{opacity:1;transform:none}
:is(#page,.split-copy) .hero-material,:is(#page,.split-copy) .project-box,:is(#page,.split-copy) .project-feature:hover .project-box,:is(#page,.split-copy) .editorial-hero:hover .hero-material,:is(#page,.split-copy) .studio-card:hover img{transform:none}
:is(#page,.split-copy) .project-window,:is(#page,.split-copy) .project-copy,:is(#page,.split-copy) .project-box,:is(#page,.split-copy) .hero-material{transition:none}
}
html,body{overflow-x:clip}
:is(#page,.split-copy) .editorial-hero{height:calc(74vw - 145px);min-height:655px;max-height:1065px}
:is(#page,.split-copy) .editorial-header{z-index:10}
:is(#page,.split-copy) .hero-headline{pointer-events:none;top:calc(4.86vw - 10px);font-size:16.2vw;line-height:.9;transform:none;z-index:auto}
:is(#page,.split-copy) .hero-headline>span{position:relative;transform:translateX(var(--line-x,0px)) skewY(-8deg) skewX(var(--line-skew,0deg)) scaleX(var(--line-stretch,1));transform-origin:left top;z-index:1;opacity:var(--line-opacity,1)}
.hero-loading .hero-headline{visibility:hidden}
:is(#page,.split-copy) .hero-headline .hero-line-content{display:block;position:static;transform:none}
:is(#page,.split-copy) .hero-headline .hero-line-middle{z-index:3;color:var(--hero-ink);text-shadow:0 2px 12px #0d172270}
:is(#page,.split-copy) .hero-material,:is(#page,.split-copy) .editorial-hero:hover .hero-material{width:94%;left:3%;bottom:-9%;transform:translateY(var(--hero-parallax,0px));transform-origin:50% 60%;transition:none}
:is(#page,.split-copy) .hero-material-back{z-index:2;opacity:var(--hero-opacity,1)}
:is(#page,.split-copy) .hero-headline .hero-glyph{display:inline;position:static;white-space:pre;transform:none;opacity:var(--glyph-opacity,1)}
:is(#page,.split-copy) .editorial-hero:before{background:radial-gradient(ellipse at 62% 75%,#ffffff15,transparent 65%)}
:is(#page,.split-copy) .editorial-projects{overflow:visible;padding-top:0;background:#fff}
:is(#page,.split-copy) .project-feature{height:38vw;min-height:440px;max-height:660px;overflow:visible;isolation:auto;z-index:auto;background:transparent}
:is(#page,.split-copy) .project-feature:before{z-index:0;pointer-events:none;background:radial-gradient(ellipse at 70% 85%,var(--project-background,#383129),#172028 90%);opacity:1;mix-blend-mode:normal;clip-path:inset(0)}
:is(#page,.split-copy) .project-mission{font-size:17px;line-height:1.45;max-width:26ch;margin:20px 0 24px}
:is(#page,.split-copy) .project-copy{z-index:6;padding-top:40px;transition:none;mix-blend-mode:normal;color:#fff}
:is(#page,.split-copy) .project-copy h2{font-size:7.7vw;max-width:10ch}
:is(#page,.split-copy) .project-kicker{margin-bottom:18px}
:is(#page,.split-copy) .titan-feature .project-copy{padding-top:12%;margin-left:61%;width:39%}
:is(#page,.split-copy) .project-window{top:-24%;height:180%;bottom:auto;inset-inline:0;z-index:5;pointer-events:none;overflow:visible;clip-path:none;opacity:1;transition:none}
:is(#page,.split-copy) .titan-feature .project-window{top:-68%;z-index:3}
:is(#page,.split-copy) .monumental-feature .project-box{width:var(--project-box-width,min(72%,1200px));right:var(--project-box-edge,-4%);top:0}
:is(#page,.split-copy) .titan-feature .project-box{width:var(--project-box-width,min(72%,1200px));left:var(--project-box-edge,-4%);top:0}
:is(#page,.split-copy) .project-box,:is(#page,.split-copy) .project-feature:hover .project-box{transform:translateY(var(--box-parallax,0px)) scale(var(--box-scale,1));transform-origin:50% 57%;transition:none;filter:drop-shadow(0 24px 22px #0005)}
:root[data-scroll-motion] .project-feature:before{clip-path:inset(var(--background-inset,50%) 0 var(--background-inset,50%) 0)}
:root[data-scroll-motion] .project-box{opacity:var(--box-opacity,0)}
:root[data-scroll-motion] .project-copy{opacity:var(--copy-opacity,0);transform:translateY(var(--copy-y,10px))}
:root[data-scroll-motion] .project-copy .arrow-link{opacity:var(--link-opacity,0)}
:is(#page,.split-copy) .type-field{position:relative}
:is(#page,.split-copy) .type-spacer{display:block;opacity:0}
:is(#page,.split-copy) .type-ink{position:absolute;inset:0;display:block;white-space:inherit;overflow-wrap:inherit;user-select:none}
:is(#page,.split-copy) .type-field.is-typing .type-ink:after{content:'';display:inline-block;width:.045em;min-width:1px;height:.77em;background:currentColor;margin-left:.06em;vertical-align:-.02em;opacity:.6}
:root[data-scroll-motion] .project-feature:focus-within .project-copy{opacity:1;transform:none}
:root[data-scroll-motion] .project-feature:focus-within:before{clip-path:inset(0)}
:root[data-scroll-motion] .project-feature:focus-within .project-box{opacity:1}
:root[data-scroll-motion] .project-feature:focus-within .arrow-link{opacity:1}
:is(#page,.split-copy) .all-projects{z-index:7;padding-top:24px;padding-bottom:24px}
@media(min-width:1680px){:is(#page,.split-copy) .hero-headline{top:72px;font-size:272px;left:calc(50% - 780px)}
:is(#page,.split-copy) .hero-material,:is(#page,.split-copy) .editorial-hero:hover .hero-material{width:1579px;left:calc(50% - 789.5px)}
}
@media(max-width:1000px){:is(#page,.split-copy) .editorial-hero{min-height:636px}
:is(#page,.split-copy) .hero-headline{top:calc(4.86vw - 10px);font-size:16.2vw}
:is(#page,.split-copy) .hero-material,:is(#page,.split-copy) .editorial-hero:hover .hero-material{width:98%;left:1%;bottom:-6%}
:is(#page,.split-copy) .project-feature{min-height:330px}
:is(#page,.split-copy) .project-window{top:-10%}
:is(#page,.split-copy) .titan-feature .project-window{top:-66%}
:is(#page,.split-copy) .project-copy{padding-top:35px}
:is(#page,.split-copy) .titan-feature .project-copy{padding-top:14%}
:is(#page,.split-copy) .project-feature[data-title-long] .project-copy h2{font-size:5.6vw}
}
@media(max-width:680px){:is(#page,.split-copy) .editorial-hero{height:calc(190vw - 134px);min-height:586px;max-height:866px}
:is(#page,.split-copy) .hero-headline{top:36px;left:6%;font-size:17.5vw;line-height:.94}
:is(#page,.split-copy) .hero-headline>span{transform:translateX(var(--line-x,0px)) skewY(-7deg) skewX(var(--line-skew,0deg)) scaleX(var(--line-stretch,1))}
:is(#page,.split-copy) .hero-material,:is(#page,.split-copy) .editorial-hero:hover .hero-material{width:108%;left:-4%;bottom:0}
:is(#page,.split-copy) .project-feature{height:auto;min-height:0;max-height:none;padding:34px 6% 0}
:is(#page,.split-copy) .project-copy,:is(#page,.split-copy) .titan-feature .project-copy{padding:0;margin:0;width:100%}
:is(#page,.split-copy) .project-copy h2,:is(#page,.split-copy) .titan-feature .project-copy h2{font-size:15vw;max-width:100%}
:is(#page,.split-copy) .project-feature[data-title-long] .project-copy h2{font-size:10vw}
:is(#page,.split-copy) .project-mission{font-size:14px;margin:14px 0 16px}
:is(#page,.split-copy) .project-window,:is(#page,.split-copy) .titan-feature .project-window{position:relative;top:auto;inset:auto;height:auto;margin:-9px -6.8% -38px;z-index:5}
:is(#page,.split-copy) .project-box,:is(#page,.split-copy) .titan-feature .project-box{position:relative;width:118%!important;left:-9%!important;right:auto!important;top:auto!important;margin:-10% 0 -6%;filter:drop-shadow(0 16px 15px #0005)}
:is(#page,.split-copy) .titan-feature .project-window{position:absolute;inset-inline:0;top:-150px;height:470px;margin:0;z-index:3}
:is(#page,.split-copy) .titan-feature .project-box{margin:0}
:is(#page,.split-copy) .titan-feature{padding-top:0}
:is(#page,.split-copy) .titan-feature .project-copy{padding:245px 0 26px}
:is(#page,.split-copy) .all-projects{padding-top:18px;padding-bottom:18px}
}
@media(prefers-reduced-motion:reduce){:is(#page,.split-copy) .hero-material,:is(#page,.split-copy) .editorial-hero:hover .hero-material{transform:none}
:is(#page,.split-copy) .project-box,:is(#page,.split-copy) .project-feature:hover .project-box{transform:none}
:is(#page,.split-copy) .type-field.is-typing .type-ink:after{display:none}
}
:root[data-dev-foreground=dark] .hero-line-middle{text-shadow:none}
:is(#page,.split-copy) .editorial-hero{isolation:auto;overflow:visible}
:is(#page,.split-copy) .hero-headline>span:first-child{z-index:1;mix-blend-mode:normal;color:var(--hero-ink)}
:is(#page,.split-copy) .project-copy .arrow-link,:is(#page,.split-copy) .project-copy .arrow-link svg{color:#fff}
:is(#page,.split-copy) .studio-card{aspect-ratio:70 / 120;transform:none;background:none;box-shadow:none;border-radius:0}
:is(#page,.split-copy) .studio-card img,:is(#page,.split-copy) .studio-card:hover img{position:absolute;left:50%;top:auto;bottom:0;width:var(--card-width,100%);height:auto;opacity:1;transform:translateX(calc(-50% + var(--card-x,0px))) rotate(var(--card-angle,11deg)) scale(var(--card-scale,1));transform-origin:50% 100%;transition:none;box-shadow:9px 20px 23px #0d172233}
:is(#page,.split-copy) .hero-bottom>a{background:var(--nav-background);padding:6px 8px;margin-left:-8px}
:is(#page,.split-copy) .studio-card img:first-child,:is(#page,.split-copy) .studio-card:hover img:first-child{transform-origin:50% 50%}
:root{--nav-background:var(--dev-background,var(--hero));--nav-ink:var(--dev-ink,var(--hero-ink))}
:root body,:root[data-dev-background] body{background:var(--nav-background)}


/* Shared site chrome stays functional; the homepage provides its approved composition. */
:is(#page,.split-copy){background:var(--hero);max-width:none;overflow:visible}
:is(#page,.split-copy) #main{max-width:none;padding:0}
:is(#page,.split-copy) #main :is(h1,h2,h3){font-family:var(--font-headings,Anton),sans-serif;font-weight:var(--fw-headings,400)}
:is(#page,.split-copy) #main .hero-material{max-width:none;scale:var(--home-hero-size,1)}
:is(#page,.split-copy) .studio-card{width:calc(115% * var(--size-home-studio,1))}
body[data-hero=off] :is(#page,.split-copy) .editorial-hero{height:0;min-height:0;overflow:hidden}
body[data-hero=off] :is(#page,.split-copy) .hero-headline{position:absolute;width:1px;height:1px;clip-path:inset(50%)}
@media(max-width:680px){:is(#page,.split-copy) .studio-card{width:calc(105% * var(--size-home-studio,1))}}
:root{--font-headings:Anton;--font-body:Satoshi;--font-navigation:Figtree}
:is(#page,.split-copy) .site-header::before{background:var(--nav-background);box-shadow:0 0 0 100vmax var(--nav-background);border:0}

/* Imported global settings must not replace the approved homepage titles.
   The Accueil toggle can explicitly opt into the shared typography. */
body[data-home-editorial]:not([data-home-site-typography]) #main{--font-headings:Anton;--fw-headings:400}
/* The same header keeps its contrast when it sticks or a project opens. */
html.js[data-sticky-nav]:not(.project-open) :is(#page,.split-copy) .site-header.editorial-site-header::before,
html.project-open :is(#page,.split-copy) .site-header.editorial-site-header::before{background:var(--nav-background);box-shadow:0 0 0 100vmax var(--nav-background);border:0}

/* Header geometry and compaction come from site.css/site.js on every page. */
:is(#page,.split-copy) .site-header.editorial-site-header{color:var(--nav-ink);font-weight:400;line-height:normal}
:is(#page,.split-copy) .site-header .language-switcher button.active{color:var(--nav-ink);font-weight:650}
:is(#page,.split-copy) .site-header .language-switcher button:hover,:is(#page,.split-copy) .site-header .language-switcher button:focus-visible{color:var(--nav-ink)}
/* Keep the title lines and box in separate planes, above the sticky navigation. */
:is(#page,.split-copy) .hero-headline{z-index:auto}
:is(#page,.split-copy) .hero-headline>span:first-child{z-index:60}
:is(#page,.split-copy) .hero-headline .hero-line-middle{z-index:62}
:is(#page,.split-copy) .hero-material,:is(#page,.split-copy) .editorial-hero:hover .hero-material{transform:translateY(var(--hero-parallax,0px)) scale(var(--hero-entry-scale,1))}
:is(#page,.split-copy) .hero-material-back{z-index:61;opacity:calc(var(--hero-opacity,1) * var(--hero-entry-opacity,1))}
.hero-loading :is(#page,.split-copy) .hero-material-back{opacity:0}
@media(prefers-reduced-motion:reduce){:is(#page,.split-copy) .hero-material,:is(#page,.split-copy) .editorial-hero:hover .hero-material{transform:none}:is(#page,.split-copy) .hero-material-back{opacity:1}}

/* Keep both boxes around the same seam on wide screens, rather than pinning
   their capped images to opposite viewport edges. */
@media(min-width:1400px){
 :is(#page,.split-copy) .editorial-projects{--project-box-width:clamp(1000px,72vw,1400px);--project-box-edge:calc((100vw - var(--project-box-width))/2 - clamp(110px,13vw,250px))}
 :is(#page,.split-copy) .project-copy h2{font-size:clamp(80px,7.7vw,160px)}
 :is(#page,.split-copy) .project-feature[data-title-long] .project-copy h2{font-size:clamp(65px,5.2vw,110px)}
}

/* Match the shared boxed width and keep the composition at its 1600 px scale. */
html:not([data-layout="full"]) :is(#page,.split-copy) #main{max-width:1600px;margin-inline:auto}
@media(min-width:1600px){
 html:not([data-layout="full"]) :is(#page,.split-copy) .editorial-hero{height:1039px}
 html:not([data-layout="full"]) :is(#page,.split-copy) .hero-headline{top:67.76px;left:3.6%;font-size:259.2px}
 html:not([data-layout="full"]) :is(#page,.split-copy) .hero-material{width:94%;left:3%}
 html:not([data-layout="full"]) :is(#page,.split-copy) .editorial-studio{min-height:336px}
 html:not([data-layout="full"]) :is(#page,.split-copy) .studio-headline{font-size:97.6px}
 html:not([data-layout="full"]) :is(#page,.split-copy) .studio-copy h3{font-size:40px}
 html:not([data-layout="full"]) :is(#page,.split-copy) .project-feature{height:608px}
 html:not([data-layout="full"]) :is(#page,.split-copy) .editorial-projects{--project-box-width:1152px;--project-box-edge:16px}
 html:not([data-layout="full"]) :is(#page,.split-copy) .project-copy h2{font-size:123.2px}
 html:not([data-layout="full"]) :is(#page,.split-copy) .project-feature[data-title-long] .project-copy h2{font-size:83.2px}
 html:not([data-layout="full"]) :is(#page,.split-copy) .editorial-development h2{font-size:94.4px}
 html:not([data-layout="full"]) :is(#page,.split-copy) .contact-heading h2{font-size:144px}
 html:not([data-layout="full"]) :is(#page,.split-copy) .contact-heading>a{width:144px}
}

/* Paint section backgrounds to the viewport edges without widening their content. */
html:not([data-layout="full"]) :is(#page,.split-copy) #main{--home-background-outset:max(0px,calc((100vw - 1600px)/2))}
html:not([data-layout="full"]) :is(#page,.split-copy) :is(.editorial-studio,.editorial-development,.all-projects){border-image:linear-gradient(var(--paper),var(--paper)) fill 0 / 0 / 0 var(--home-background-outset)}
html:not([data-layout="full"]) :is(#page,.split-copy) .editorial-projects{border-image:linear-gradient(#fff,#fff) fill 0 / 0 / 0 var(--home-background-outset)}
html:not([data-layout="full"]) :is(#page,.split-copy) .project-feature:before{
 background:none;
 border-image:radial-gradient(ellipse at 70% 85%,var(--project-background,#383129),#172028 90%) fill 0 / 0 / 0 var(--home-background-outset);
 clip-path:inset(0 -100vmax);
}
:root[data-scroll-motion]:not([data-layout="full"]) .project-feature:before{clip-path:inset(var(--background-inset,50%) -100vmax var(--background-inset,50%))}
html:not([data-layout="full"]) :is(#page,.split-copy) .project-feature:focus-within:before{clip-path:inset(0 -100vmax)}

/* Keep the large animated artwork on compositor layers rather than repainting it each scroll frame. */
@media(prefers-reduced-motion:no-preference){
 #page :is(.hero-material,.hero-headline>span,.studio-card img,.project-box,.project-copy){will-change:transform,opacity}
 #page .project-feature:before{will-change:clip-path}
}
