*{box-sizing:border-box}body{margin:0;background:#fff;color:#000;font-family:Arial,Helvetica,sans-serif}#viewport{position:fixed;inset:0 0 50px;overflow:auto;scrollbar-width:none;outline:none}#viewport::-webkit-scrollbar{display:none}#canvas{position:relative;width:2240px;padding:0 70px 70px;display:grid;grid-template-columns:repeat(3,650px);column-gap:75px;transform-origin:top left}.column{min-width:0}section{scroll-margin:30px}h1,h2,h3,p,figure{margin:0}h1{font-size:112px;line-height:.88;letter-spacing:-4px;font-weight:800;margin-top:12px}.top-cut{height:55px;overflow:hidden;font-size:25px;line-height:1.1;margin-top:-18px}h2{font-size:58px;line-height:1.03;font-weight:400;letter-spacing:-2px}h3{font-size:36px;line-height:1.07;letter-spacing:-1px}p{font-size:26px;line-height:1.24}.tracked{font-size:51px;letter-spacing:5px;margin-top:20px}.reverse-bar{background:#000;color:#fff;overflow:hidden;padding:7px 10px;font-size:48px;letter-spacing:5px;line-height:1.05}.reverse-bar span{display:block;transform:rotate(180deg)}.thin{font-family:'Helvetica Neue',Arial,sans-serif;font-weight:200;letter-spacing:-3px}.model{margin:30px 0 24px;font-size:76px;white-space:nowrap}.lead{font-size:43px;line-height:1.15;font-weight:500;letter-spacing:-1px}.echo{font-size:35px;line-height:1.05}.reverse-echo{transform:rotate(180deg);margin:12px 0 22px;color:#444;text-shadow:1px 2px #bbb}.framed{border:13px solid #000;background:#000;margin:30px 0 65px}.framed video{display:block;width:100%;height:auto;background:white}.framed figcaption{font-size:63px;line-height:1.1;color:#fff;white-space:nowrap;letter-spacing:-4px}.italic{font-style:italic;font-size:84px;line-height:1.08}.underlined{border-bottom:24px solid #000;padding-bottom:12px;margin-bottom:18px}.small,.repeated-copy p{font-size:25px;line-height:1.22}.repeated-copy p{margin-top:8px}.end{font-size:111px;white-space:nowrap;background:linear-gradient(#d0d0d0 0 70%,#fff 70%);margin-bottom:14px;line-height:1.25}.narrative-repeat{margin-top:55px}.bold{font-weight:750;font-size:33px;line-height:1.05}.narrative-repeat h3{font-size:40px;margin-bottom:10px}.fade-repeats p{font-weight:750;font-size:33px;line-height:1.05;margin-top:16px}.fade-repeats p:nth-child(1){color:#999}.fade-repeats p:nth-child(2){color:#ccc}.fade-repeats p:nth-child(3){color:#eee}.venn{display:flex;align-items:center;justify-content:space-between;margin:65px 0 55px;height:350px}.venn span{font-size:340px;font-weight:200;line-height:1;font-family:Arial}.venn img{width:285px;height:auto}.big{font-size:107px;line-height:1;letter-spacing:-3px;font-weight:800;margin-bottom:20px}.section-label{font:16px 'Courier New',monospace;letter-spacing:2px;margin-bottom:15px}.expertise-group{margin:30px 0}.expertise-group h3{font-size:37px;font-weight:750;margin-bottom:8px}.expertise-group p{font-size:40px;line-height:1.13}.morse{font:45px 'Courier New',monospace;line-height:1.1;overflow:hidden;margin:25px 0 40px}.method{list-style:none;padding:0;counter-reset:method}.method li{counter-increment:method;position:relative;padding-left:48px;margin-bottom:26px}.method li:before{content:counter(method,decimal-leading-zero);position:absolute;left:0;top:5px;font:20px 'Courier New',monospace}.method h3{font-size:40px;font-weight:800}.method p{font-size:28px;margin-top:6px}.grid-pattern{margin-top:30px;padding:25px 10px;background-image:linear-gradient(45deg,transparent 48%,#ddd 49%,#ddd 51%,transparent 52%),linear-gradient(-45deg,transparent 48%,#ddd 49%,#ddd 51%,transparent 52%);background-size:28px 28px}.grid-pattern p{font-size:42px;line-height:1.12;font-weight:700;margin-bottom:20px}.mirror-brand{font-size:109px;line-height:.94;letter-spacing:-3px;font-weight:800;transform:rotate(180deg);text-align:left;margin:50px 0;overflow:hidden}.top-brand{height:275px;margin:-10px 0 32px;display:flex;justify-content:flex-start;align-items:flex-start}.purpose-title{font-size:45px;line-height:1.03;letter-spacing:-1px;margin-top:18px}.purpose-repeat{font-size:43px;line-height:.75;letter-spacing:-1px;margin-bottom:28px}.principle{font-size:78px;line-height:1.05}.principle-copy{font-size:79px;line-height:1.02;margin-top:8px}.decision{font-size:28px;margin:20px 0 45px}.collective{font-size:50px;letter-spacing:5px}.cultural{margin:0 0 20px}.collective-copy{font-size:29px}.lower{margin-top:100px}.lower p{margin:24px 0}.text-link{font-size:26px!important;border-bottom:2px solid #000!important;padding-bottom:6px!important;margin:0 0 25px}.lower .reverse-bar{margin-top:40px}footer{grid-column:1/-1;background:#000;color:white;padding:28px 30px;display:flex;justify-content:space-between;align-items:center;margin-top:90px;font-size:22px}footer strong{font-weight:400}footer span{font-size:18px;font-style:italic}.explore{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;height:50px;background:white;border-top:1px solid #ddd;padding:0 24px;font-size:12px;z-index:5}nav{display:flex;gap:24px}button{font:inherit;border:0;background:transparent;padding:8px 0;cursor:pointer;color:#000}button:hover,button.active{color:#ed1608}button:focus-visible{outline:2px solid #ed1608;outline-offset:4px}@media(max-width:767px){#viewport{bottom:48px}#canvas{width:1400px;padding:0 35px 40px;grid-template-columns:repeat(3,410px);gap:50px}h1{font-size:71px;letter-spacing:-3px}.tracked{font-size:32px;letter-spacing:3px}.reverse-bar{font-size:30px;letter-spacing:3px}.model{font-size:48px}.lead{font-size:28px}.echo{font-size:23px}p{font-size:19px}.framed{border-width:8px;margin-bottom:40px}.framed figcaption{font-size:40px;letter-spacing:-3px}.italic{font-size:54px}.underlined{border-width:15px}.small,.repeated-copy p{font-size:18px}.end{font-size:70px}.bold,.fade-repeats p{font-size:23px}.narrative-repeat h3{font-size:28px}.venn{height:240px;margin:40px 0}.venn span{font-size:225px}.venn img{width:180px}.big{font-size:68px}.expertise-group h3{font-size:26px}.expertise-group p{font-size:27px}.method h3{font-size:28px}.method p{font-size:20px}.method li{padding-left:35px}.method li:before{font-size:16px}.grid-pattern p{font-size:28px}.mirror-brand{font-size:69px}.top-brand{height:173px}.purpose-title{font-size:29px}.purpose-repeat{font-size:27px}.principle,.principle-copy{font-size:50px}.collective{font-size:31px}.collective-copy{font-size:20px}.decision{font-size:20px}.explore{padding:0 12px;height:48px}.explore>span{display:none}nav{width:100%;gap:18px;overflow:auto;font-size:12px;white-space:nowrap}footer{display:block;font-size:22px}footer span{display:block;margin-top:12px;font-size:16px}}

.contact-email{display:inline-block;color:inherit;font-size:25px;line-height:1.4;text-decoration:none;border-bottom:2px solid #000;overflow-wrap:anywhere;max-width:100%;}.contact-email:hover{color:#ed1608;border-color:#ed1608}.contact-email:focus-visible{outline:2px solid #ed1608;outline-offset:5px}@media(max-width:767px){.contact-email{font-size:18px}}

nav a,.text-link{color:inherit;text-decoration:none;cursor:pointer;}nav a{padding:8px 0;}nav a:hover,nav a.active,.text-link:hover{color:#ed1608;}nav a:focus-visible,.text-link:focus-visible{outline:2px solid #ed1608;outline-offset:4px}.text-link{display:inline-block;}

/* Mobile reading mode: one vertical narrative, with the desktop canvas untouched. */
@media(max-width:820px){
  html,body{width:100%;max-width:100%;overflow:hidden}
  #viewport{position:fixed;inset:0 0 56px;overflow-x:hidden;overflow-y:auto;overscroll-behavior-x:none;scroll-behavior:smooth;touch-action:pan-y}
  #canvas{position:relative;display:flex;flex-direction:column;width:100%;max-width:100%;padding:0 18px 64px;gap:0;transform:none!important;zoom:1!important}
  .column{display:contents}
  #canvas section{width:100%;max-width:100%;min-width:0;padding:58px 0;margin:0;border-top:1px solid #d8d8d8;scroll-margin-top:16px;overflow:hidden}
  #manifesto{order:1;padding-top:20px!important;border-top:0!important}
  .middle>section:first-child{order:2}
  #purpose{order:3}
  #method{order:4}
  #expertise{order:5}
  #work{order:6}
  #society{order:7}
  #contact{order:8;padding-bottom:72px!important}
  footer{order:9;width:calc(100% + 36px);margin:0 0 0 -18px;padding:26px 18px;display:block}
  .mirror-brand{display:none}
  h1{font-size:clamp(3.15rem,16vw,4.2rem);line-height:.9;letter-spacing:-2.8px;margin-top:8px}
  h2{font-size:2.4rem;line-height:1.02;letter-spacing:-1.4px}
  h3{font-size:1.7rem;line-height:1.08;letter-spacing:-.5px}
  p{font-size:1.08rem;line-height:1.38}
  .top-cut{height:35px;margin-top:-10px;font-size:1rem;line-height:1.05}
  .tracked{font-size:1.7rem;line-height:1.08;letter-spacing:2.5px;margin-top:18px}
  .reverse-bar{padding:8px;font-size:1.45rem;line-height:1.05;letter-spacing:2px}
  .thin{letter-spacing:-1.5px}
  .model{margin:28px 0 20px;font-size:2.9rem;line-height:1;white-space:normal}
  .lead{font-size:1.55rem;line-height:1.18;letter-spacing:-.5px}
  .echo{font-size:1.2rem;line-height:1.08}
  .reverse-echo{margin:14px 0 25px}
  .framed{width:100%;border-width:6px;margin:28px 0 42px}
  .framed video{display:block;width:100%;height:auto}
  .framed figcaption{padding:4px 3px;font-size:2.15rem;line-height:1;letter-spacing:-2px;white-space:normal}
  .italic{font-size:2.75rem;line-height:1.05}
  .underlined{border-bottom-width:10px;padding-bottom:10px;margin-bottom:18px}
  .small,.repeated-copy p{font-size:1rem;line-height:1.35}
  .repeated-copy p{margin-top:9px}
  .repeated-copy p:nth-child(3){display:none}
  .end{font-size:3.5rem;line-height:1.08;white-space:normal;margin-bottom:18px}
  .narrative-repeat{margin-top:40px}
  .narrative-repeat h3{font-size:1.8rem}
  .bold,.fade-repeats p{font-size:1.35rem;line-height:1.12}
  .fade-repeats p:nth-child(3){display:none}
  .venn{width:100%;height:auto;margin:42px 0 0;gap:8px;justify-content:center}
  .venn span{flex:0 0 auto;font-size:6rem;line-height:1}
  .venn img{display:block;width:min(68vw,280px);height:auto;min-width:0}
  .big{font-size:3.65rem;line-height:.95;letter-spacing:-2.5px;margin-bottom:26px}
  .section-label{font-size:.78rem;letter-spacing:1.5px;margin-bottom:14px}
  .expertise-group{margin:34px 0}
  .expertise-group h3{font-size:1.55rem;margin-bottom:10px}
  .expertise-group p{font-size:1.45rem;line-height:1.2}
  .morse{font-size:1.7rem;line-height:1.15;margin:28px 0 0}
  .method{margin:0}
  .method li{padding-left:42px;margin-bottom:28px}
  .method li:before{top:3px;font-size:.9rem}
  .method h3{font-size:1.65rem}
  .method p{font-size:1.05rem;line-height:1.35;margin-top:5px}
  .grid-pattern{margin-top:38px;padding:22px 10px;background-size:24px 24px}
  .grid-pattern p{font-size:1.65rem;line-height:1.1;margin-bottom:18px}
  .purpose-title{font-size:2rem;line-height:1.03;margin-top:28px}
  .purpose-repeat{font-size:1.45rem;line-height:.86;margin:8px 0 28px}
  .principle{font-size:3rem;line-height:1}
  .principle-copy{font-size:2.65rem;line-height:1.02;margin-top:12px}
  .decision{font-size:1.05rem;line-height:1.35;margin:20px 0 42px}
  .collective{font-size:1.7rem;line-height:1.08;letter-spacing:2.5px}
  .cultural{margin:0 0 22px}
  .collective-copy{font-size:1.1rem;line-height:1.38}
  .lower{margin-top:0}
  .lower p{margin:22px 0}
  .lower .reverse-bar{margin-top:34px}
  .text-link{font-size:1.1rem!important;margin-bottom:10px}
  .contact-email{font-size:1rem;line-height:1.45}
  footer strong{font-size:1.25rem;line-height:1.1}
  footer span{display:block;margin-top:10px;font-size:.9rem;line-height:1.35}
  .explore{height:56px;padding:0 14px;background:rgba(255,255,255,.97);backdrop-filter:blur(8px)}
  .explore>span,#overview{display:none}
  nav{width:100%;gap:22px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;white-space:nowrap;font-size:.78rem;-webkit-overflow-scrolling:touch}
  nav::-webkit-scrollbar{display:none}
  nav a{flex:0 0 auto;padding:18px 0}
}
