/* Openmind portfolio / archive and case study. All project copy remains editable in Gutenberg. */
.om-portfolio-page,.om-case-page{color:#101316;background:#f7f7f4}
.om-portfolio-page *,.om-case-page *{box-sizing:border-box}
.om-portfolio-page a,.om-case-page a{text-decoration:none}
.om-portfolio-hero,.om-case-hero{background:#101316;color:#f7f7f4;position:relative;overflow:hidden;isolation:isolate}
.om-portfolio-hero:before,.om-case-hero:before{content:'';position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(90deg,transparent 0 calc(12.5% - 1px),#ffffff0b calc(12.5% - 1px) 12.5%),repeating-linear-gradient(0deg,transparent 0 124px,#ffffff08 124px 125px)}
.om-portfolio-hero:after{content:'';width:min(60vw,820px);aspect-ratio:1;position:absolute;right:-18%;top:-49%;z-index:-1;border:1px solid #8bd7e444;border-radius:50%;box-shadow:0 0 0 86px #ffffff04,0 0 0 172px #ffffff03,0 0 0 258px #ffffff03}
.om-portfolio-hero-inner{min-height:620px;max-width:1440px;margin:auto;padding:clamp(100px,11vw,160px) clamp(22px,5vw,82px) 78px;display:flex;flex-direction:column;justify-content:center;position:relative}
.om-portfolio-eyebrow,.om-portfolio-list-head>p,.om-case-heading>p,.om-case-topline,.om-case-chapter,.om-case-meta span,.om-case-contact>span,.om-case-next>span:first-child{font:700 11px/1.3 'DM Sans',sans-serif;letter-spacing:.19em;text-transform:uppercase}
.om-portfolio-eyebrow{color:#58d4f0!important;margin:0 0 36px!important}
.om-portfolio-hero h1,.om-case-hero h1,.om-case-contact h2,.om-portfolio-outro h2{font-family:'Space Grotesk',sans-serif;font-weight:700;line-height:.88;letter-spacing:-.09em}
.om-portfolio-hero h1{font-size:clamp(76px,10vw,160px);max-width:1050px;margin:0 0 37px}
.om-portfolio-hero h1 em,.om-case-contact h2 em,.om-portfolio-outro h2 em{font-style:normal;color:transparent;-webkit-text-stroke:1.5px currentColor}
.om-portfolio-hero h1 em{-webkit-text-stroke:1.5px #f7f7f4}
.om-case-contact h2 em,.om-portfolio-outro h2 em{-webkit-text-stroke:1.5px #101316}
.om-portfolio-hero-inner>p:not(.om-portfolio-eyebrow){max-width:570px;font-size:clamp(17px,1.6vw,22px);line-height:1.5;color:#c9d3d4;margin:0}
.om-portfolio-hero-index{position:absolute;right:clamp(22px,5vw,82px);bottom:45px;color:#91a3a7;font:700 10px 'DM Sans',sans-serif;letter-spacing:.18em}
.om-portfolio-list{max-width:1440px;padding:100px clamp(22px,5vw,82px) 160px;margin:auto}
.om-portfolio-list-head{border-top:1px solid #bfc8c7;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:22px 0 35px}
.om-portfolio-list-head>p{margin:0!important;color:#53676c}
.om-portfolio-filters{display:flex;flex-wrap:wrap;gap:7px}
.om-portfolio-filters button{appearance:none;background:transparent;border:1px solid #adb8b8;border-radius:100px;padding:10px 17px;color:#101316;font:700 11px 'DM Sans',sans-serif;cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.om-portfolio-filters button:hover,.om-portfolio-filters button.is-active{background:#101316;border-color:#101316;color:#fff}
.om-portfolio-filters button:focus-visible,.om-portfolio-card a:focus-visible,.om-case-page a:focus-visible{outline:3px solid #168bad;outline-offset:4px}
.om-portfolio-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(20px,2.5vw,40px);row-gap:clamp(65px,7vw,110px)}
.om-portfolio-card{grid-column:span 6;min-width:0}
.om-portfolio-card:nth-child(4n+1){grid-column:span 7}
.om-portfolio-card:nth-child(4n+2){grid-column:span 5;padding-top:100px}
.om-portfolio-card:nth-child(4n+3){grid-column:span 5}
.om-portfolio-card:nth-child(4n+4){grid-column:span 7;padding-top:75px}
.om-portfolio-card[hidden]{display:none!important}
.om-portfolio-card a{display:block;color:#101316}
.om-portfolio-card-art{height:clamp(350px,39vw,580px);position:relative;overflow:hidden;background:#e9eeee}
.om-portfolio-card:nth-child(2) .om-portfolio-card-art{background:#f9e9f0}
.om-portfolio-card:nth-child(3) .om-portfolio-card-art{background:#e7f4f5}
.om-portfolio-card:nth-child(4) .om-portfolio-card-art{background:#e8eddd}
.om-portfolio-card-art img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.8,.2,1)}
.om-portfolio-card:nth-child(1) .om-portfolio-card-art img,.om-portfolio-card:nth-child(2) .om-portfolio-card-art img,.om-portfolio-card:nth-child(4) .om-portfolio-card-art img{object-fit:contain}
.om-portfolio-card:hover img{transform:scale(1.045)}
.om-portfolio-card-arrow{position:absolute;right:18px;bottom:18px;width:45px;height:45px;border-radius:50%;display:grid;place-items:center;background:#f7f7f4;color:#101316;font-size:23px;transition:transform .3s,background .3s}
.om-portfolio-card:hover .om-portfolio-card-arrow{transform:rotate(45deg);background:#58d4f0}
.om-portfolio-card-placeholder{position:absolute;inset:0;display:grid;place-items:center;font:700 clamp(40px,5vw,80px) 'Space Grotesk',sans-serif;letter-spacing:-.08em}
.om-portfolio-card-meta{border-top:1px solid #9eaaa8;padding-top:17px;margin-top:19px;display:flex;justify-content:space-between;gap:15px;color:#5a696c;font:700 10px 'DM Sans',sans-serif;letter-spacing:.15em;text-transform:uppercase}
.om-portfolio-card h2{font:700 clamp(40px,4.5vw,70px)/.95 'Space Grotesk',sans-serif;letter-spacing:-.08em;margin:18px 0 13px}
.om-portfolio-card p{font-size:15px;line-height:1.5;color:#596767;max-width:570px;margin:0}
.om-projects-more-wrap{margin:55px 0 0!important;text-align:right}
.om-projects-more{display:inline-flex;align-items:center;min-height:51px;padding:12px 20px;border:1px solid #101316;border-radius:100px;color:#101316;font:700 12px 'DM Sans',sans-serif;text-decoration:none;transition:background .25s,color .25s}
.om-projects-more:hover{background:#101316;color:#fff}
.om-portfolio-outro{background:#58d4f0;color:#101316;padding:clamp(85px,11vw,160px) clamp(22px,5vw,82px);text-align:center}
.om-portfolio-outro>span{font:700 11px 'DM Sans',sans-serif;letter-spacing:.2em}
.om-portfolio-outro h2{font-size:clamp(66px,9vw,140px);margin:25px auto 40px;max-width:1000px}
.om-portfolio-outro a,.om-case-contact a{display:inline-block;background:#101316;color:#fff;border:1px solid #101316;border-radius:100px;padding:17px 26px;font:700 13px 'DM Sans',sans-serif;transition:transform .3s,background .3s,color .3s}
.om-portfolio-outro a:hover,.om-case-contact a:hover{transform:translateY(-4px);background:transparent;color:#101316}

.om-case-hero{min-height:610px;padding:28px clamp(22px,5vw,82px) 65px;display:flex;flex-direction:column;justify-content:space-between}
.om-case-hero:after{content:'';position:absolute;right:-11%;top:15%;width:46vw;aspect-ratio:1;border:1px solid #58d4f044;border-radius:50%;box-shadow:0 0 0 70px #ffffff04,0 0 0 140px #ffffff03;z-index:-1}
.om-case-topline{display:flex;align-items:center;justify-content:space-between;gap:20px;color:#a3b7b9}
.om-case-topline a{color:#f7f7f4;transition:color .25s}
.om-case-topline a:hover{color:#58d4f0}
.om-case-heading{width:100%;max-width:1440px;margin:110px auto 0}
.om-case-heading>p{color:#58d4f0;margin:0 0 25px}
.om-case-heading h1{display:flex;align-items:flex-start;justify-content:space-between;gap:30px;font-size:clamp(84px,12vw,190px);margin:0 0 40px}
.om-case-heading h1 span{font:400 clamp(40px,5vw,75px)/1 'Space Grotesk',sans-serif;color:#58d4f0;letter-spacing:0;margin-top:15px}
.om-case-heading-bottom{display:flex;align-items:end;justify-content:space-between;gap:40px;border-top:1px solid #ffffff40;padding-top:28px}
.om-case-heading-bottom p{max-width:720px;color:#d0d8d8;font-size:clamp(19px,2.2vw,30px);line-height:1.35;margin:0}
.om-case-heading-bottom span{color:#8fa7a9;font:700 10px 'DM Sans',sans-serif;letter-spacing:.14em;white-space:nowrap}
.om-case-cover{background:#e9eeee;margin:0!important;position:relative;min-height:400px;display:grid;place-items:center}
.om-case-cover img{display:block;width:100%;max-height:850px;object-fit:contain}
.om-case-cover figcaption{position:absolute;bottom:20px;left:clamp(22px,5vw,82px);background:#101316;color:#f7f7f4;padding:11px 14px;font:700 10px 'DM Sans',sans-serif;letter-spacing:.16em}
.om-case-meta{display:grid;grid-template-columns:repeat(3,1fr);max-width:1440px;margin:auto;padding:45px clamp(22px,5vw,82px);border-bottom:1px solid #cbd0cd;gap:25px}
.om-case-meta>div{display:flex;flex-direction:column;gap:12px}
.om-case-meta span{color:#668087}
.om-case-meta strong{font:700 clamp(20px,2vw,29px) 'Space Grotesk',sans-serif;letter-spacing:-.04em}
.om-case-story{max-width:1440px;margin:auto;padding:clamp(95px,10vw,150px) clamp(22px,5vw,82px) clamp(100px,12vw,170px)}
.om-case-story .om-case-chapter{color:#168bad;font-size:11px;font-weight:700;letter-spacing:.19em;margin:0 0 28px}
.om-case-story h2{max-width:1100px;font:700 clamp(55px,7vw,115px)/.95 'Space Grotesk',sans-serif;letter-spacing:-.08em;margin:0 0 28px}
.om-case-story>p:not(.om-case-chapter){max-width:760px;font-size:clamp(19px,2vw,26px);line-height:1.45;color:#4d5b5d;margin:0 0 100px}
.om-case-story .wp-block-image{margin:0 0 clamp(20px,3vw,50px)}
.om-case-story .wp-block-image img{display:block;width:100%;height:auto;max-height:950px;object-fit:contain;background:#eaeeeb}
.om-case-story .wp-block-image:nth-last-child(1){width:75%;margin-left:auto}
.om-case-contact{background:#58d4f0;color:#101316;padding:clamp(90px,10vw,150px) clamp(22px,5vw,82px);position:relative;overflow:hidden}
.om-case-contact:after{content:'';position:absolute;width:440px;aspect-ratio:1;border:55px solid #1013161c;border-radius:50%;right:-130px;top:-130px;pointer-events:none}
.om-case-contact h2{max-width:1000px;font-size:clamp(68px,9vw,145px);margin:30px 0}
.om-case-contact p{font-size:20px;max-width:560px;margin:0 0 35px}
.om-case-next{display:grid;grid-template-columns:1fr auto;gap:15px;align-items:center;background:#101316;color:#fff!important;padding:80px clamp(22px,5vw,82px);position:relative;transition:background .3s}
.om-case-next:hover{background:#1d2a2d}
.om-case-next>span:first-child{grid-column:1/-1;color:#58d4f0}
.om-case-next strong{font:700 clamp(70px,10vw,150px)/.9 'Space Grotesk',sans-serif;letter-spacing:-.09em}
.om-case-next-arrow{font:400 clamp(45px,6vw,95px) 'Space Grotesk',sans-serif;color:#58d4f0}
.wp-site-blocks:has(.om-portfolio-page) > p:empty,.wp-site-blocks:has(.om-case-page) > p:empty,.om-portfolio-page > p:empty,.om-case-page > p:empty{display:none}
.wp-site-blocks > .om-portfolio-page,.wp-site-blocks > .om-case-page{margin-block-start:0}
@media(max-width:900px){
  .om-portfolio-hero-inner{min-height:550px}.om-portfolio-list{padding-top:65px}.om-portfolio-list-head{align-items:start;flex-direction:column}
  .om-portfolio-card:nth-child(n){grid-column:span 6;padding-top:0}.om-portfolio-card-art{height:400px}
  .om-case-hero{min-height:550px}.om-case-heading{margin-top:90px}.om-case-heading-bottom span{display:none}
}
@media(max-width:650px){
  .om-portfolio-hero-inner{min-height:570px;padding:110px 22px 65px}.om-portfolio-hero h1{font-size:clamp(66px,15vw,94px)}.om-portfolio-hero-index{left:22px;right:auto;bottom:25px}
  .om-portfolio-list{padding:65px 20px 100px}.om-portfolio-filters{gap:6px}.om-portfolio-filters button{padding:9px 13px;font-size:10px}
  .om-portfolio-grid{display:block}.om-portfolio-card:nth-child(n){padding:0;margin:0 0 75px}.om-portfolio-card-art{height:clamp(300px,95vw,480px)}.om-portfolio-card h2{font-size:51px}.om-portfolio-card p{font-size:14px}
  .om-case-hero{min-height:540px;padding:22px 21px 45px}.om-case-topline{font-size:9px}.om-case-topline span{font-size:8px}.om-case-heading{margin-top:75px}.om-case-heading>p{font-size:10px}
  .om-case-heading h1{font-size:clamp(66px,16vw,105px);gap:10px;overflow-wrap:anywhere}.om-case-heading h1 span{font-size:35px;margin-top:7px}.om-case-heading-bottom p{font-size:19px}
  .om-case-cover{min-height:300px}.om-case-cover figcaption{font-size:8px;bottom:10px;left:10px}.om-case-meta{grid-template-columns:1fr 1fr;padding:35px 21px;gap:25px}.om-case-meta>div:last-child{display:none}.om-case-meta strong{font-size:18px}
  .om-case-story{padding:85px 21px 110px}.om-case-story h2{font-size:clamp(55px,12vw,75px)}.om-case-story>p:not(.om-case-chapter){font-size:18px;margin-bottom:80px}.om-case-story .wp-block-image:nth-last-child(1){width:100%}
  .om-case-contact{padding:90px 21px}.om-case-contact h2{font-size:clamp(65px,14vw,90px)}.om-case-contact p{font-size:18px}.om-case-next{padding:70px 21px}.om-case-next strong{font-size:clamp(61px,13vw,90px)}
}
@media(prefers-reduced-motion:reduce){.om-portfolio-card-art img,.om-portfolio-card-arrow,.om-portfolio-filters button,.om-case-next,.om-case-contact a,.om-portfolio-outro a{transition:none}}
