:root{--gutter:max(24px,calc((100vw - var(--wp--style--global--content-size))/2))}.wp-site-blocks{padding:0}.wp-site-blocks>*{margin-block-start:0}.wp-block-post-content{margin:0}.wp-block-template-part{margin:0}.wp-block-post-content>.section,.wp-block-post-content>.subhero{max-width:none}.header{box-sizing:border-box}body.admin-bar .header{top:32px}.desktop-nav>li{list-style:none}.menu-dialog nav>li{list-style:none}.wp-block-post-content .hero-story{max-width:none}.project-preview{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .3s}.project:hover .project-preview.ready{opacity:1}.project:nth-child(n+4){padding-top:0}.logo-set a{flex-shrink:0}.logo-set img{max-width:none}@media(max-width:782px){body.admin-bar .header{top:46px}}@media(max-width:640px){:root{--gutter:24px}}
/* Hero: reserve separate areas for the top labels, scene content and bottom controls. */
@media (prefers-reduced-motion:no-preference) and (min-height:600px){
 .hero-pin{box-sizing:border-box}
 .hero-beat{top:185px;bottom:115px;transform:none;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
 .hero-beat h1{font-size:min(11.5vw,17svh,180px);line-height:.9}
 .hero-beat h2{font-size:min(8vw,12svh,128px);line-height:1}
 .beat-final h2{font-size:min(7.5vw,11svh,120px);line-height:1}
 .beat-final .actions{margin-top:28px;gap:28px}
 .hero-bottom{bottom:28px;min-height:32px}
 body.admin-bar .hero-pin{top:32px;height:calc(100svh - 32px)}
}
@media (prefers-reduced-motion:no-preference) and (min-height:600px) and (max-width:782px){
 body.admin-bar .hero-pin{top:46px;height:calc(100svh - 46px)}
}
@media (prefers-reduced-motion:no-preference) and (min-height:600px) and (max-width:640px){
 .hero-beat{top:145px;bottom:110px}
 .hero-beat h1{font-size:min(19vw,13svh)}
 .hero-beat h2,.beat-final h2{font-size:min(16vw,9svh);line-height:1}
 .beat-final .actions{margin-top:22px;gap:12px 22px}
 .hero-bottom{bottom:22px;flex-wrap:wrap;gap:10px 18px}
 .hero-bottom .hero-timeline{display:none}
}
/* Short landscape windows use document flow instead of an overcrowded pinned scene. */
@media (max-height:599px){
 .hero-story{height:auto}
 .hero-pin{position:relative;height:auto;min-height:100svh;padding:165px var(--gutter) 110px}
 .hero-beat{position:relative;top:auto;left:auto;right:auto;bottom:auto;transform:none!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;margin:40px 0}
 .hero-beat h1{font-size:clamp(52px,9vw,100px)}
 .hero-beat h2{font-size:clamp(42px,7vw,80px)}
 .hero-bottom{bottom:24px}
}

/* Clear final scene and a single accessible next-section control. */
.hero-bottom{justify-content:center!important;bottom:24px!important;min-height:48px}
.hero-next{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid rgba(255,255,255,.5);border-radius:50%;font-size:26px;line-height:1;color:white}
.hero-next:hover{background:var(--cyan);color:var(--ink);border-color:var(--cyan)}
.beat-final h2{max-width:none;font-size:min(6.2vw,10svh,108px);line-height:1.02}
@media(max-width:640px){.beat-final h2{font-size:min(10vw,8svh)}.hero-bottom{bottom:18px!important}}

/* Page-based desktop navigation; use the full menu on narrower screens. */
.desktop-nav{gap:20px;margin-right:0;font-size:13px}.header{gap:24px}.hero-topline{justify-content:flex-end}
@media(max-width:1200px){.desktop-nav{display:none}}

.iri-service-menu{position:relative}.iri-service-menu summary{display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none}.iri-service-menu summary::-webkit-details-marker{display:none}.iri-service-menu summary:focus-visible{outline:2px solid var(--cyan);outline-offset:6px}.iri-service-links{position:absolute;top:calc(100% + 18px);left:-20px;min-width:250px;padding:12px;background:#071116;border:1px solid #33454d;box-shadow:0 18px 40px #0005;z-index:40}.desktop-nav .iri-service-links a{display:block;padding:12px;font-size:14px;color:white}.desktop-nav .iri-service-links a:hover{background:#183138}.desktop-nav .iri-service-links a:after{display:none}.menu-dialog .iri-service-menu summary{font-family:var(--display);font-size:clamp(36px,5vw,80px)}.menu-dialog .iri-service-links{position:static;border:0;box-shadow:none;background:transparent;padding:12px 0 20px 24px}.menu-dialog .iri-service-links a{font-size:clamp(22px,3vw,38px)}



/* Header 1.1.11: clear spacing, contact action and responsive navigation. */
.header{height:104px;gap:40px;padding-inline:var(--gutter);border-bottom:1px solid rgba(255,255,255,.12)}
.header .logo{width:154px;flex-shrink:0}
.header .desktop-nav{display:flex;align-items:center;gap:34px;margin-left:auto;margin-right:0;font-size:14px;line-height:1.4;white-space:nowrap}
.header .desktop-nav>a,.header .iri-service-menu>summary{padding-block:14px}
.header .nav-right{gap:20px;margin-left:0;flex-shrink:0}
.header .nav-cta{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:48px;padding:12px 20px;border:1px solid var(--cyan);border-radius:4px;background:var(--cyan);color:#071116;font-size:13px;font-weight:700;line-height:1.3;white-space:nowrap}
.header .nav-cta span{color:inherit;font-size:21px;line-height:1}
.header .nav-cta:hover{background:#a4fff7;border-color:#a4fff7}
.header .nav-cta:focus-visible{outline:2px solid white;outline-offset:4px}
.header .menu-toggle{display:none}
.header .iri-service-menu summary{gap:10px}
.header .iri-service-menu summary>span{font-size:16px;transition:transform .2s}
.header .iri-service-menu[open] summary>span{transform:rotate(180deg)}
.header .iri-service-links{top:100%;left:-18px;min-width:260px;padding:10px;border-radius:6px;border-color:#34474d;box-shadow:0 16px 40px #0006}
.header .iri-service-links a{padding:13px 14px;border-radius:3px;line-height:1.4}
@media(max-width:1100px){
 .header{gap:24px;height:90px}
 .header .desktop-nav{display:none}
 .header .nav-right{margin-left:auto;gap:24px}
 .header .menu-toggle{display:grid;width:42px;min-height:44px;align-content:center;padding:10px 4px}
}
@media(max-width:640px){
 .header{height:82px;gap:16px}
 .header .logo{width:116px}
 .header .nav-right{gap:12px}
 .header .nav-cta{min-height:42px;padding:10px 12px;font-size:11px;gap:8px;white-space:normal;max-width:160px}
 .header .nav-cta span{font-size:18px}
 .header .menu-toggle{width:32px}
}

/* Consistent CSS chevron, independent of the text font. */
.iri-service-menu summary>span{display:inline-block;flex:0 0 7px;width:7px;height:7px;overflow:hidden;font-size:0!important;line-height:0;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg)!important;transition:transform .2s ease}
.iri-service-menu[open] summary>span{transform:translateY(2px) rotate(225deg)!important}
.header .iri-service-menu summary{align-items:center;gap:12px}

/* Portfolio: breathing room after the hero and two equally sized project cards. */
.portfolio-section{padding-top:72px;padding-bottom:100px}
.portfolio-section .filters{margin-bottom:48px;padding-bottom:24px;gap:12px}
.portfolio-section .work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:56px 36px}
.portfolio-section .project{grid-column:auto;min-width:0;padding-top:0}
.portfolio-section .project .project-media{aspect-ratio:16/10}
.portfolio-section .project-meta{gap:20px}
.portfolio-section .project-meta h3{font-size:clamp(26px,2.5vw,40px)}
@media(max-width:640px){
 .portfolio-section{padding-top:40px;padding-bottom:64px}
 .portfolio-section .filters{gap:6px;margin-bottom:32px;padding-bottom:18px}
 .portfolio-section .filters button{padding:10px 14px}
 .portfolio-section .work-grid{grid-template-columns:minmax(0,1fr);gap:36px}
}
