/* Ideenreich — component corrections, scoped to the DEV relaunch template. */
body.ir-site{--ir-ease:cubic-bezier(.23,1,.32,1);font-family:aglet-sans,Arial,sans-serif!important;font-size:18px;line-height:1.55}
body.ir-site :is(h1,h2,h3,h4,h5,h6,p,a,button,input,textarea,select,label,span,small,strong,li){font-family:aglet-sans,Arial,sans-serif!important}
body.ir-site :is(h1,h2,h3){letter-spacing:-.025em!important;font-weight:600!important}
body.ir-site h1{line-height:1.05}body.ir-site :is(h2,h3){line-height:1.12}
body.ir-site .eyebrow{font-size:14px;letter-spacing:.015em;text-transform:none}
body.ir-site .eyebrow:before{display:none}
body.ir-site .section-head .eyebrow{display:none}
body.ir-site .color-word{color:inherit!important;background:none!important;-webkit-text-fill-color:currentColor!important}
body.ir-site [data-reveal]{opacity:1!important;transform:none!important;transition:none!important}
body.ir-site .motion-hero{min-height:680px;height:auto;padding:85px 0 45px;isolation:isolate;overflow:hidden;background:#101014}
body.ir-site .hero-content{position:relative;z-index:1;min-height:550px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
body.ir-site .hero-content h1{font-size:clamp(68px,7.4vw,116px);max-width:800px;margin:30px 0;line-height:.98;letter-spacing:-.035em!important}
body.ir-site .hero-description{max-width:540px;width:48%;margin-top:0}
body.ir-site .hero-description p{font-size:21px;line-height:1.5;max-width:38ch}
body.ir-site .hero-foot{position:static;width:100%;margin-top:60px;display:flex;justify-content:space-between;gap:24px}
body.ir-site .ir-facet-art{position:absolute;left:auto;right:-2%;top:8%;width:45%;height:82%;opacity:.82;pointer-events:none;z-index:0}
body.ir-site .ir-facet-art svg{width:100%;height:100%;transform:rotate(-9deg)}
body.ir-site .motion-toggle{font-size:13px;padding:8px 15px;min-height:44px;cursor:pointer;white-space:normal}
body.ir-site .section-head{align-items:start;gap:50px}
body.ir-site .section-head>p{padding-top:8px;font-size:19px;max-width:48ch}
body.ir-site .service .num{display:none}
body.ir-site .service{grid-template-columns:minmax(200px,.7fr) minmax(0,1fr) 32px!important;gap:38px!important;padding:30px 0!important}
body.ir-site .service h3{font-size:30px;max-width:100%;line-height:1.13}body.ir-site .service p{font-size:18px;line-height:1.6}
body.ir-site .ir-reference-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:65px 40px}
body.ir-site .ir-reference-grid .project:nth-child(4n+1){grid-column:1 / -1;max-width:none}
body.ir-site .ir-reference-grid .project:nth-child(4n+1) figure{aspect-ratio:2.5}
body.ir-site .ir-reference-grid .project:nth-child(4n+1) figure>img{object-fit:contain!important;padding:32px!important}
body.ir-site .ir-type-cover{border-radius:0;background:#263b44}
body.ir-site .ir-type-cover i{display:none}
body.ir-site .ir-cover-label{font-size:13px;letter-spacing:0;text-transform:none}
body.ir-site .ir-cover-discipline{font-size:16px;line-height:1.5}
body.ir-site .ir-type-cover strong{letter-spacing:-.02em;line-height:1.1}
body.ir-site .ir-cover-md{background:#75442a}body.ir-site .ir-cover-buddies{background:#3d5744}
body.ir-site .project figure{border-radius:8px}
body.ir-site .project :is(img,.arrow),body.ir-site .button{transition:transform 200ms var(--ir-ease),color 200ms var(--ir-ease),background-color 200ms var(--ir-ease),border-color 200ms var(--ir-ease)}
body.ir-site .button{min-height:52px;line-height:1.2}
body.ir-site .button:active{transform:scale(.98)}
body.ir-site :is(a,button,input,textarea,select):focus-visible{outline:3px solid #20abcb;outline-offset:5px}
body.ir-site .ir-depth-content p{font-size:19px;line-height:1.65;max-width:68ch}
body.ir-site .ir-contact-card{border-radius:10px;box-shadow:none;border-top-width:4px}
body.ir-site .ir-contact-card :is(input,select,textarea){font-size:17px!important}
body.ir-site .ir-contact-intro h1{font-size:clamp(54px,5vw,80px);line-height:1.04}
body.ir-site .ir-contact-next>span{letter-spacing:0;text-transform:none;font-size:15px}
body.ir-site .ir-contact-hints span{font-size:14px}
body.ir-site .mobile-dialog,body.ir-site .mobile-dialog[open],body.ir-site .mobile-dialog.is-closing{animation:none!important}
body.ir-site .mobile-dialog[open] :is(.mobile-menu-kicker,.mobile-menu-links a,.mobile-menu-cta,.mobile-menu-bottom){animation:none!important}
/* Normal-flow gallery is the no-JS and reduced-motion baseline. */
body.ir-site .ir-film{padding:80px 0;background:#101014;color:#fff;scroll-margin-top:88px}
body.ir-site .ir-film-stage{display:grid;grid-template-columns:minmax(220px,.6fr) minmax(0,1.4fr);gap:40px;align-items:start}
body.ir-site .ir-film-intro{padding-top:12px}body.ir-site .ir-film-intro>p{font-size:16px;color:#bdbcc9;margin:0 0 18px}
body.ir-site .ir-film h2{color:#fff;font-size:clamp(38px,4.4vw,66px);margin:0 0 28px;line-height:1.04}
body.ir-site .ir-film .textlink{color:#fff!important;font-size:17px;display:inline-flex;gap:14px;align-items:center}
body.ir-site .ir-film-scenes{min-width:0}
body.ir-site .ir-film figure{margin:0 0 45px;padding:0;display:grid;grid-template-rows:auto 145px;gap:24px}
body.ir-site .ir-film figure img{width:100%;height:auto;aspect-ratio:2.2;object-fit:contain;display:block;background:#fff;border-radius:8px;padding:12px;box-sizing:border-box}
body.ir-site .ir-film figcaption{max-width:600px;padding:0 2px}
body.ir-site .ir-film h3{font-size:28px;color:#fff;margin:0 0 10px}
body.ir-site .ir-film figcaption p{font-size:18px;color:#bdbcc9;margin:0;max-width:48ch}
body.ir-site .ir-film-controls[hidden]{display:none}
body.ir-site .ir-film-controls{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center;gap:25px}
body.ir-site .ir-film-controls>a{color:#bdbcc9!important;font-size:14px}
body.ir-site .ir-film-chapters{display:flex;gap:25px;flex-wrap:wrap}
body.ir-site .ir-film-chapters button{border:0;border-bottom:2px solid #ffffff30;background:transparent;color:#bdbcc9;min-height:44px;padding:8px 0;font-size:16px;cursor:pointer;border-radius:0}
body.ir-site .ir-film-chapters button[aria-current]{color:#fff;border-color:#e71a66}
body.ir-site .ir-film.is-scroll{height:460svh;padding:0}
body.ir-site .ir-film.is-scroll .ir-film-stage{position:sticky;top:var(--ir-nav-height,88px);height:calc(100svh - var(--ir-nav-height,88px));min-height:540px;align-content:center;grid-template-rows:auto auto;row-gap:20px;overflow:hidden}
body.ir-site .ir-film.is-scroll .ir-film-scenes{display:grid;align-items:start}
body.ir-site .ir-film.is-scroll figure{grid-area:1 / 1;margin:0;opacity:0;visibility:hidden;pointer-events:none}
body.ir-site .ir-film.is-scroll figure:first-child{opacity:1;visibility:visible}
body.ir-site .ir-film.is-scroll figure img{max-height:47svh}
@media(hover:hover) and (pointer:fine){body.ir-site .project:hover img{transform:scale(1.025)!important}body.ir-site .project:hover h3{color:#43cce5!important}body.ir-site .ir-film .textlink:hover{color:#43cce5!important}body.ir-site .ir-film-chapters button:hover{color:#fff;border-color:#20abcb}}
@media(hover:none),(pointer:coarse){body.ir-site .project:hover img,body.ir-site .project:hover .arrow,body.ir-site .menu-close:hover svg,body.ir-site .mobile-menu-links a:hover .arrow{transform:none!important}body.ir-site .project:hover .project-title h3{color:#f7f7fa!important}body.ir-site .project:hover .project-title .arrow{background:transparent!important;color:#f7f7fa!important;border-color:#ffffff40!important}body.ir-site .button:hover{transform:none}}
@media(max-width:1000px){body.ir-site .hero-content h1{font-size:82px;max-width:650px}body.ir-site .ir-facet-art{right:-12%;opacity:.58}body.ir-site .ir-film-stage{grid-template-columns:.7fr 1.3fr;gap:25px}body.ir-site .ir-film h2{font-size:42px}}
@media(max-width:700px){body.ir-site{font-size:17px}body.ir-site .motion-hero{padding:40px 0 28px;min-height:0}body.ir-site .hero-content{min-height:0}body.ir-site .hero-content h1{font-size:clamp(52px,11.5vw,78px);line-height:1.02;margin:24px 0;max-width:100%}body.ir-site .hero-description{width:100%;max-width:100%}body.ir-site .hero-description p{font-size:19px;max-width:34ch}body.ir-site .ir-facet-art{display:none}body.ir-site .motion-hero:after{content:'';display:block;position:static;margin:36px 6% 0;width:88%;height:5px;background:linear-gradient(90deg,#f7980e 0 18%,#e71a66 18% 40%,#653a98 40% 62%,#20abcb 62% 82%,#8cc24b 82%);transform:none}body.ir-site .hero-foot{margin-top:30px;gap:10px;align-items:center}body.ir-site .scroll-link{font-size:13px;max-width:48%;line-height:1.3}body.ir-site .motion-toggle{max-width:48%;font-size:12px}body.ir-site .section-head{gap:20px}body.ir-site .section-head>p{font-size:18px}body.ir-site .service{grid-template-columns:minmax(0,1fr) 24px!important;gap:15px!important}body.ir-site .service p{grid-column:1;grid-row:2;font-size:17px}body.ir-site .service .arrow{grid-column:2;grid-row:1}body.ir-site .service h3{font-size:28px}body.ir-site .ir-reference-grid{grid-template-columns:1fr;gap:40px}body.ir-site .ir-reference-grid .project:nth-child(4n+1){grid-column:auto}body.ir-site .ir-reference-grid .project:nth-child(4n+1) figure{aspect-ratio:1.5}body.ir-site .ir-reference-grid .project:nth-child(4n+1) figure>img{padding:12px!important}body.ir-site .ir-depth-content p{font-size:18px}body.ir-site .ir-contact-intro h1{font-size:54px}body.ir-site .ir-contact-person strong{font-size:22px}body.ir-site .ir-film{padding:50px 0;scroll-margin-top:74px}body.ir-site .ir-film-stage{display:block}body.ir-site .ir-film-intro{padding-top:0;margin-bottom:24px}body.ir-site .ir-film-intro>p{font-size:13px;margin-bottom:8px}body.ir-site .ir-film h2{font-size:38px;margin:0 0 14px}body.ir-site .ir-film h2 br{display:none}body.ir-site .ir-film .textlink{font-size:15px}body.ir-site .ir-film figure{grid-template-rows:auto 110px;gap:20px}body.ir-site .ir-film figure img{padding:5px;aspect-ratio:1.85}body.ir-site .ir-film h3{font-size:25px;margin-bottom:8px}body.ir-site .ir-film figcaption p{font-size:16px}body.ir-site .ir-film.is-scroll{height:380svh}body.ir-site .ir-film.is-scroll .ir-film-stage{display:flex;flex-direction:column;justify-content:center;gap:0;min-height:550px;padding-top:22px;padding-bottom:20px}body.ir-site .ir-film.is-scroll .ir-film-intro{width:100%}body.ir-site .ir-film.is-scroll .ir-film-scenes{width:100%}body.ir-site .ir-film.is-scroll figure img{max-height:30svh}body.ir-site .ir-film-controls{width:100%;display:block;margin-top:10px}body.ir-site .ir-film-chapters{justify-content:space-between;gap:10px}body.ir-site .ir-film-chapters button{font-size:14px}body.ir-site .ir-film-controls>a{display:inline-block;margin-top:12px;font-size:12px}}
@media(max-height:650px){body.ir-site .ir-film.is-scroll .ir-film-stage{min-height:0}body.ir-site .ir-film-intro>p{display:none}body.ir-site .ir-film h2{font-size:32px;margin-bottom:12px}body.ir-site .ir-film.is-scroll figure{grid-template-rows:auto 85px;gap:12px}body.ir-site .ir-film.is-scroll figure img{max-height:27svh}body.ir-site .ir-film h3{font-size:22px}body.ir-site .ir-film figcaption p{font-size:15px}}
@media(prefers-reduced-motion:reduce){body.ir-site *,body.ir-site *:before,body.ir-site *:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}body.ir-site .project:hover img{transform:none!important}}

body.ir-site .ir-original-logo{padding:45px!important}
body.ir-site .ir-service-card>.eyebrow{display:none}
body.ir-site .ir-rich-hero h1 span{background:none!important;-webkit-text-fill-color:currentColor!important;color:inherit!important}
body.ir-site .ir-work-inset{padding-top:55px;padding-bottom:65px;display:grid;grid-template-columns:1.3fr 1fr;gap:60px;align-items:center}
body.ir-site .ir-work-inset figure{margin:0;background:#eeedf0;border-radius:8px;overflow:hidden}
body.ir-site .ir-work-inset img{display:block;width:100%;height:360px;object-fit:contain;padding:25px;box-sizing:border-box}
body.ir-site .ir-work-inset h2{font-size:40px;margin:0 0 24px}
body.ir-site .ir-work-inset a{color:#653a98!important;font-size:18px}
@media(max-width:700px){body.ir-site .ir-work-inset{grid-template-columns:1fr;gap:26px;padding-top:25px;padding-bottom:40px}body.ir-site .ir-work-inset img{height:280px;padding:16px}body.ir-site .ir-work-inset h2{font-size:32px}body.ir-site .ir-original-logo{padding:25px!important}}
/* Second visual pass: real work, correct service grid placement. */
body.ir-site .service .number{display:none}
body.ir-site .service h3{grid-column:1;grid-row:1}
body.ir-site .service p{grid-column:2;grid-row:1}
body.ir-site .service>.arrow{grid-column:3;grid-row:1}
body.ir-site .hero-content{padding-top:0;height:auto}
body.ir-site .motion-hero{padding-top:65px;max-height:none}
body.ir-site .hero-foot{padding:0;margin-top:38px}
body.ir-site .ir-work-art{position:absolute;inset:50px max(4%,calc((100vw - 1400px)/2)) 40px auto;width:32%;max-width:490px;height:auto;opacity:1;mask-image:none;z-index:0}
body.ir-site .ir-work-art:after{display:none}
body.ir-site .ir-work-art img{position:absolute;display:block;object-fit:contain;background:white;border-radius:4px;box-shadow:0 22px 45px #0004}
body.ir-site .ir-hero-catalog{height:82%;width:auto;right:0;top:0;transform:rotate(7deg)}
body.ir-site .ir-hero-web{width:100%;height:auto;left:-14%;bottom:0;transform:rotate(-5deg);border:10px solid #fff}
body.ir-site .ir-film{scroll-margin-top:0}
@media(max-width:1100px){body.ir-site .hero-content h1{font-size:80px;max-width:650px}body.ir-site .ir-work-art{width:29%;right:2%;top:160px;bottom:70px}body.ir-site .hero-description{width:58%}}
@media(max-width:700px){body.ir-site .hero-content h1{font-size:clamp(52px,11.5vw,78px)}body.ir-site .ir-work-art{display:none}body.ir-site .hero-description{width:100%}body.ir-site .motion-hero{padding-top:32px}body.ir-site .service h3{grid-column:1;grid-row:1}body.ir-site .service p{grid-column:1;grid-row:2}body.ir-site .service>.arrow{grid-column:2;grid-row:1}}
/* Keep artwork clear of copy and controls at intermediate widths. */
body.ir-site .ir-work-art{bottom:110px}
body.ir-site .motion-toggle{background:#101014!important;color:#f7f7fa!important;position:relative;z-index:2}
@media(min-width:701px) and (max-width:900px){body.ir-site .ir-work-art{display:none}body.ir-site .hero-description{width:100%;max-width:540px}body.ir-site .hero-content h1{font-size:76px;max-width:100%}}
/* Keep every reference paired; no empty desktop cell before a spanning card. */
body.ir-site .ir-reference-grid .project:nth-child(n){grid-column:auto}
body.ir-site .ir-reference-grid .project:nth-child(n) figure{aspect-ratio:1.5}

/* Same-page and deep-link focus: pointer users do not need an outline around a whole content region. Interactive controls and keyboard focus retain their styles. */
html.ir-pointer-navigation body.ir-site .ir-anchor-destination:focus{outline:none!important;box-shadow:none!important}
