@font-face{font-family:Nido Display;src:url('assets/fonts/Anton-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
:root{--cyan:#19b6cc;--gray:#b8b8b3;--paper:#fff;--ink:#090909}
h1,h2,.display-title,.section-title,.stage-title,.contact-title,.place-copy h2,.modal-project-title,.work-contact h2,.word-ribbon span,.reel-copy h1{font-family:'Nido Display',Impact,sans-serif;font-weight:400;letter-spacing:-.025em;line-height:1.02}
section[id]{scroll-margin-top:90px}.nido-nav{min-height:82px;background:#090909ed}.navbar-brand img{width:165px}.nido-nav .nav-link{font-size:14px}
/* The full video becomes a smaller reel on the right as the user scrolls. */
.hero-reel-stage{height:190svh;min-height:0;background:var(--ink);isolation:isolate}
.hero-reel-sticky{position:sticky;top:0;height:100svh;min-height:0;overflow:hidden}
.reel-window{inset:auto;top:var(--reel-top,82px);left:var(--reel-left,0px);width:var(--reel-width,100%);height:var(--reel-height,calc(100% - 82px));border-radius:var(--reel-radius,0px);overflow:hidden}
.reel-video{object-fit:cover;transform:none;background:#090909}
.reel-shade{background:#000;opacity:var(--reel-shade,.38)}
.reel-copy{top:clamp(115px,17vh,170px);left:4vw;width:43vw;max-width:670px;padding:0;background:none;backdrop-filter:none;opacity:var(--copy-opacity,1);transform:translateX(var(--copy-x,0px))}
.reel-copy h1{font-size:clamp(3rem,6.1vw,6.7rem);line-height:1.02;margin:0 0 1.5rem}
.reel-copy h1 span{margin:0;display:block}.reel-copy h1 .title-white{color:#fff}
.reel-copy>p:not(.eyebrow){font-size:clamp(1rem,1.25vw,1.2rem);max-width:530px;margin:0;line-height:1.45}
.reel-copy .eyebrow{font-size:.8rem;margin-bottom:1.3rem}
.motion-toggle{position:absolute;right:4vw;bottom:26px;z-index:5;border:1px solid #fff8;border-radius:30px;background:#0009;color:white;padding:.6rem 1rem;font-size:.875rem}
/* The bridge has its own opaque surfaces; no part of the video can show below it. */
.ribbon-bridge{position:relative;height:clamp(100px,10vw,150px);background:var(--gray);overflow:hidden;isolation:isolate}
.ribbon-bridge::before{content:"";position:absolute;inset:-30px -5px 50%;background:var(--ink);transform:skewY(-1.2deg);transform-origin:center bottom}
.ribbon-bridge .word-ribbon{position:absolute;z-index:1;top:50%;bottom:auto;left:-1%;width:102%;background:white;transform:translateY(-50%) skewY(-1.2deg);border:0;box-shadow:none;overflow:hidden}
.word-ribbon span{flex:none;font-size:clamp(1.6rem,3vw,3rem);padding:.75rem 0;word-spacing:.1em;animation:ribbon 48s linear infinite}
.section-pad{padding:clamp(5.5rem,9vw,9rem) 0}.section-title{font-size:clamp(3rem,5.6vw,6.5rem)}.stage-title{font-size:clamp(4rem,8.7vw,9.6rem);max-width:1240px}.consultancy{background:var(--gray);padding-top:10rem}.consultancy .section-title{max-width:920px}.lead-copy{font-size:clamp(1.1rem,1.5vw,1.4rem);line-height:1.5}.question-stream span{font-size:clamp(1rem,1.5vw,1.4rem);padding:1rem 0}.opportunity{background:white}.opportunity .stage-copy{max-width:640px;font-size:1.25rem}.work{background:#090909}.work-heading .section-title{max-width:690px}.work-intro{max-width:440px;font-size:1rem}.project-grid,.portfolio-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:var(--mosaic-unit,80px);gap:12px;margin-top:3rem}
.project-card:nth-child(n),.portfolio-card:nth-child(n){grid-column:var(--tile-column,span 6);grid-row:var(--tile-row,span 2);margin:0;border-radius:0;min-width:0;width:auto;height:auto;align-self:stretch}
.project-card img,.portfolio-card img{object-fit:cover}.project-card::before,.portfolio-card::before{display:none!important}.project-card:hover img,.project-card:focus-visible img,.project-card:active img,.portfolio-card:hover img,.portfolio-card:focus-visible img{filter:grayscale(1);transform:scale(1.055) rotate(-1deg)}.project-overlay strong{font-size:clamp(1.3rem,2vw,2rem)}.work-all-link{margin-top:4rem;font-size:1.2rem}.portfolio-page{padding:150px 5vw 100px}.portfolio-page>.section-title{max-width:900px}.services{background:#b8b8b3}.services .section-title{font-size:clamp(3rem,4.5vw,5rem)}.services .accordion-item{padding:0 1.3rem}.services .accordion-button{font-size:clamp(1.05rem,1.5vw,1.5rem);gap:.85rem}.services .accordion-body{padding:0 0 1.6rem 2.1rem;font-size:1rem}.services .accordion-button strong{font-weight:700}.services-intro .lead-copy{font-size:1.05rem}.team{background:#fff}.person img{aspect-ratio:4/5;object-position:center 30%}.team-grid>div:nth-child(n){padding-top:0}.person-photo{display:block;overflow:hidden;padding:0!important}.person img{translate:0 var(--portrait-y,0px);scale:1.07;transition:filter .4s ease,transform .4s ease;will-change:translate}.person:hover img,.person:focus-visible img{filter:grayscale(0);transform:translateY(-5px)}.team-proof{max-width:1120px;margin:3rem auto;font-size:1.3rem}.place{background:#b8b8b3}.place-copy h2{font-size:clamp(3rem,4.5vw,5rem)}.place-copy p{font-size:1rem}.place-image{position:relative}.place-image .carousel,.place-image .carousel-inner,.place-image .carousel-item{height:100%;min-height:650px}.place-image .carousel-item img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.place-caption{position:absolute;z-index:2;bottom:24px;left:24px;margin:0;padding:10px 16px;background:#090909bb;color:#fff}.contact-title{font-size:clamp(4.2rem,11vw,12rem);line-height:1.08}.contact-title .title-white{color:#fff}.contact-copy{font-size:clamp(1.2rem,1.7vw,1.6rem)}.footer{padding-right:100px}.footer img{width:170px}.social-icons{flex-wrap:wrap}.whatsapp-float.is-hidden{opacity:0;pointer-events:none}.project-thumbs{grid-template-columns:repeat(auto-fill,minmax(75px,1fr))}.modal-project-title{overflow-wrap:anywhere;line-height:1.06}.modal-backdrop{--bs-backdrop-opacity:.85}.reveal{opacity:1;transform:none}.motion-ready .reveal{opacity:0;transform:translateY(25px)}.motion-ready .reveal.is-visible{opacity:1;transform:none}

@media(max-width:991px){.nido-nav .navbar-collapse{background:#090909}.consultancy{padding-top:5rem}.section-title{font-size:clamp(3rem,7vw,5rem)}.services-intro{position:static}.place-image .carousel,.place-image .carousel-inner,.place-image .carousel-item{min-height:460px}.footer>div{flex-wrap:wrap}.services .section-title{max-width:750px}.reel-copy h1{font-size:6.5vw}.reel-copy{width:44vw}.reel-copy>p:not(.eyebrow){font-size:1rem}}
@media(max-width:767px){
 .hero-reel-stage{height:180svh}.reel-copy{top:110px;left:5vw;width:90vw;max-width:none}.reel-copy h1{font-size:clamp(2.5rem,9vw,4rem);max-width:650px;line-height:1.04;margin-bottom:1rem}.reel-copy .eyebrow{margin-bottom:1rem}.reel-copy>p:not(.eyebrow){font-size:1rem;max-width:600px}.motion-toggle{right:5vw;bottom:18px}
 .project-grid,.portfolio-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:var(--mosaic-unit,50px);gap:8px}
 .project-card:nth-child(n),.portfolio-card:nth-child(n){grid-column:var(--mobile-tile-column,span 1);grid-row:var(--mobile-tile-row,span 2);margin:0;width:auto;height:auto;align-self:stretch}
 .project-overlay{inset:auto .65rem .65rem;gap:.3rem}.project-overlay strong{font-size:clamp(.95rem,3.4vw,1.5rem);line-height:1.15;overflow-wrap:anywhere}.project-overlay small{display:none}.portfolio-card .project-overlay{font-size:inherit}.project-card:hover .project-overlay{transform:none}
 .person img{max-height:520px}.team-grid{row-gap:2rem}
}
@media(max-width:575px){.word-ribbon span{font-size:1.7rem}.section-pad{padding:5rem 0}.consultancy{padding-top:4rem}.stage-title{font-size:14vw}.place-image .carousel,.place-image .carousel-inner,.place-image .carousel-item{min-height:350px}.footer{padding-right:0;padding-bottom:110px}.contact-title{font-size:17vw}.contact-meta address{text-align:left!important}.portfolio-page{padding:130px 1rem 5rem}.project-story{position:static}}
/* Small landscape screens and reduced motion use a static, fully readable composition. */
@media(max-height:619px){.hero-reel-stage{height:auto;min-height:900px}.hero-reel-sticky{position:relative;height:900px}.reel-copy{top:120px;opacity:1;transform:none}.reel-window{top:82px;left:0;width:100%;height:818px;border-radius:0}.reel-shade{opacity:.5}}
@media(prefers-reduced-motion:reduce){.hero-reel-stage{height:auto;min-height:900px}.hero-reel-sticky{position:relative;height:900px}.reel-window{top:82px;left:0;width:100%;height:818px;border-radius:0;background:#111}.reel-video{display:block;transform:none}.reel-shade{opacity:.48}.reel-copy{opacity:1;transform:none}.motion-ready .reveal{opacity:1;transform:none}.word-ribbon span{animation:none}.person img{translate:none;transform:none;will-change:auto}}
