:root{--r:#ed0033;--k:#050505;--w:#f2f0eb;--eyebrow:clamp(.8rem,.85vw,.98rem);--body:clamp(1.08rem,1.25vw,1.25rem)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--k);color:var(--w);font-family:Bahnschrift,"Arial Narrow","Segoe UI",sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}.skip{position:fixed;z-index:99;top:-60px;left:20px;background:#fff;color:#000;padding:12px}.skip:focus{top:20px}body>header{position:fixed;z-index:30;inset:0 0 auto;height:82px;padding:0 4vw;display:flex;align-items:center;background:rgba(0,0,0,.36);backdrop-filter:blur(12px);border-bottom:1px solid #ffffff30}body>header.scrolled{background:#050505}.brand img{width:125px;height:54px;object-fit:contain}body>header nav{margin-left:auto;display:flex;gap:32px;text-transform:uppercase;letter-spacing:.14em;font-size:var(--eyebrow)}body>header nav a:hover{color:var(--r)}body>header button{display:none}.hero{--p:0;height:180vh;position:relative;background:#4d0010}.frame{position:sticky;top:0;height:100vh;overflow:hidden}.frame img{width:100%;height:100%;object-fit:cover;transform:scale(calc(1.03 + var(--p)*.14));filter:saturate(.8) contrast(1.12)}.wash{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.84),rgba(0,0,0,.12) 70%),linear-gradient(rgba(237,0,51,calc(.72 - var(--p)*.55)),rgba(90,0,20,.38))}.copy{position:absolute;z-index:2;left:4vw;top:21vh;transform:translateY(calc(var(--p)*45vh))}.copy>p:not(.hero-statement),.overline,.cinema figcaption span,.redstory span,.versus span,.title>span,.circular span,.contact span{font-size:var(--eyebrow);font-weight:800;letter-spacing:.18em;text-transform:uppercase}.copy h1{font-size:clamp(5rem,12.5vw,13rem);line-height:.76;letter-spacing:-.075em;text-transform:uppercase;margin:4vh 0}.copy h1 i{color:var(--r);font-style:normal}.hero-statement{max-width:920px;margin:4vh 0 0;padding:24px 0 0;border-top:2px solid var(--w);font-size:clamp(1.6rem,2.65vw,2.65rem);font-weight:750;line-height:1.22;letter-spacing:-.018em;text-transform:none}.hero-statement strong{color:var(--w)}.scroll{position:absolute;z-index:2;right:4vw;top:48vh;transform:rotate(90deg);font-size:.68rem;letter-spacing:.16em}.black{padding:15vh 4vw}.black h2{font-size:clamp(3.5rem,7vw,8rem);line-height:.86;letter-spacing:-.06em;margin:7vh 0 12vh}.black h2 em{font-style:normal;color:var(--r)}.black h2 del{text-decoration-color:var(--r);text-decoration-thickness:.065em;color:#b9b4b1}.facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #444}.facts article{min-height:38vh;padding:5vh 2vw;border-right:1px solid #444;display:flex;flex-direction:column;justify-content:space-between}.facts strong{font-size:clamp(4rem,9vw,9rem);letter-spacing:-.07em;line-height:.8}.facts span{font-size:clamp(1.85rem,2.4vw,2.85rem);font-weight:800;line-height:1;text-transform:uppercase}.facts article:nth-child(2) span{font-size:clamp(2.15rem,2.8vw,3.25rem);letter-spacing:.01em}.cinema figure{margin:0;position:relative;height:105vh;overflow:hidden}.cinema img{width:100%;height:100%;object-fit:cover;filter:contrast(1.08)}.cinema figcaption{position:absolute;inset:auto 0 0;padding:8vh 4vw;background:linear-gradient(transparent,#000);display:flex;justify-content:space-between;align-items:end}.cinema figcaption b{font-size:clamp(3rem,7vw,8rem);line-height:.84;letter-spacing:-.06em;text-align:right}.cinema figure:nth-child(2) img{filter:grayscale(1) contrast(1.12)}.cinema figure:nth-child(2) figcaption{background:linear-gradient(transparent,var(--r))}.redstory{min-height:100vh;background:var(--r);padding:10vh 4vw;display:grid;grid-template-columns:1.15fr .85fr;align-items:center}.big{font-size:clamp(7rem,17vw,18rem);line-height:.65;letter-spacing:-.09em;font-weight:800;color:#000}.redstory>div:last-child{max-width:650px}.redstory h2{font-size:clamp(2.5rem,5vw,5.5rem);line-height:.9;letter-spacing:-.045em}.redstory p{font-size:1.15rem;line-height:1.5}.versus{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.versus>div{padding:11vh 4vw}.versus h2{font-size:clamp(3.2rem,6vw,7rem);line-height:.9;letter-spacing:-.05em}.old{background:#ddd9cf;color:#171717}.old h2{text-decoration:line-through;text-decoration-color:var(--r);text-decoration-thickness:5px}.new{background:#0b0b0b;border-left:16px solid var(--r)}.new h2{color:var(--r)}.new p{max-width:500px;color:#bbb;line-height:1.6}.process{padding:14vh 4vw;display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw}.title h2{font-size:clamp(3.5rem,7vw,8rem);line-height:.82;letter-spacing:-.065em;position:sticky;top:130px}.process ol{list-style:none;padding:0;margin:0}.process li{padding:4vh 0;border-top:1px solid #444;display:grid;grid-template-columns:70px 1fr;gap:10px}.process li b{color:var(--r)}.process li span{font-size:clamp(2rem,4vw,4.5rem);font-weight:800;letter-spacing:-.045em}.process li p{grid-column:2;color:#aaa}.circular{min-height:95vh;background:linear-gradient(110deg,rgba(0,0,0,.16),rgba(0,0,0,.56)),url("assets/images/fundament2.jpg") center/cover;display:flex;align-items:center;padding:8vh 4vw}.circular>div{max-width:960px}.circular h2{font-size:clamp(4rem,9vw,10rem);line-height:.8;letter-spacing:-.07em}.circular h2 b{color:var(--r)}.circular p{max-width:620px;font-size:1.2rem;line-height:1.55}.contact{min-height:82vh;background:var(--r);padding:10vh 4vw;display:grid;grid-template-columns:1.2fr .8fr;align-items:center}.contact h2{font-size:clamp(4rem,8vw,9rem);line-height:.82;letter-spacing:-.065em;margin:5vh 0}.contact>div:last-child{display:flex;flex-direction:column;align-items:flex-start;gap:22px}.contact a:first-child{background:#fff;color:#000;padding:18px 22px;font-weight:800}.contact a[href^="tel:"]{font-size:clamp(1.35rem,2vw,2rem);font-weight:700}.contact small{margin-top:25px;font-size:clamp(1.05rem,1.5vw,1.35rem);font-weight:650;line-height:1.4}footer{padding:8vh 4vw;display:grid;grid-template-columns:1fr auto;gap:40px;color:#888}footer img{width:180px}footer div{display:flex;gap:25px;color:#fff}.redstory p,.new p,.process li p,.circular p{font-size:var(--body);line-height:1.55}[data-reveal]{opacity:0;transform:translateY(30px);transition:.75s}[data-reveal].seen{opacity:1;transform:none}:focus-visible{outline:3px solid #fff;outline-offset:4px}
@media(max-width:820px){body>header{height:68px}body>header button{display:block;margin-left:auto;background:none;color:#fff;border:1px solid #777;padding:9px 12px}body>header nav{position:absolute;top:68px;left:0;right:0;background:#050505;padding:20px 4vw;display:none;flex-direction:column}body>header nav.open{display:flex}.copy h1{font-size:clamp(4.7rem,22vw,8rem)}.scroll{display:none}.facts{grid-template-columns:1fr}.facts article{min-height:35vh;border-right:0;border-bottom:1px solid #444}.cinema figure{height:82vh}.cinema figcaption{display:block}.cinema figcaption b{display:block;margin-top:25px;text-align:left}.redstory{grid-template-columns:1fr;gap:10vh}.versus{grid-template-columns:1fr}.new{border-left:0;border-top:12px solid var(--r)}.process{grid-template-columns:1fr}.title h2{position:static}.contact{grid-template-columns:1fr;gap:8vh}footer{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.frame img,.copy{transform:none!important}[data-reveal]{opacity:1;transform:none;transition:none}}

/* Mobile typography: prevent long display headings and body copy from overflowing narrow phones. */
@media(max-width:700px){
  html,body{max-width:100%;overflow-x:clip}
  body>header{padding-inline:4.5vw}
  .hero{height:155vh}
  .copy{left:4.5vw;right:4.5vw;top:17vh;max-width:none}
  .copy h1{font-size:clamp(3.35rem,15vw,4.45rem);line-height:.82;letter-spacing:-.055em;margin:3vh 0}
  .hero-statement{max-width:100%;padding-top:18px;font-size:clamp(1.2rem,5.4vw,1.48rem);line-height:1.3}
  .black{padding:11vh 4.5vw}
  .black h2{font-size:clamp(2.7rem,11.7vw,3.75rem);line-height:.9;margin:5vh 0 8vh}
  .facts article{min-height:27vh;padding:4vh 3vw}
  .facts strong{font-size:clamp(4.2rem,22vw,6rem)}
  .facts span,.facts article:nth-child(2) span{font-size:clamp(1.65rem,7.8vw,2.15rem)}
  .cinema figcaption{padding:7vh 4.5vw}
  .cinema figcaption b{font-size:clamp(2.65rem,11.5vw,3.65rem);line-height:.9}
  .big{font-size:clamp(4.4rem,22vw,6.3rem);line-height:.72}
  .redstory{padding:9vh 4.5vw;gap:6vh}
  .redstory h2,.versus h2,.title h2,.contact h2{font-size:clamp(2.8rem,12vw,3.8rem);line-height:.9}
  .versus>div{padding:9vh 4.5vw}
  .process{padding:11vh 4.5vw;gap:5vh}
  .process li{grid-template-columns:42px minmax(0,1fr)}
  .process li span{font-size:clamp(1.75rem,8.5vw,2.5rem)}
  .process li p{grid-column:2}
  .circular{min-height:90vh;padding:8vh 4.5vw}
  .circular h2{font-size:clamp(3rem,11.8vw,4rem);line-height:.86;letter-spacing:-.055em}
  .circular p,.redstory p,.new p,.process li p{font-size:1.08rem;line-height:1.55}
  .contact{padding:9vh 4.5vw;gap:5vh}
  .contact small{font-size:1.08rem}
  footer{padding-inline:4.5vw}
}
