/* Boomerang Media: shared styles (used by every page). Page-specific styles stay inside each page. */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap');
:root{--o:#f7931e;--r:#f15a24;--b:#31a7ef;--k:#000;--w:#fff;--grad:linear-gradient(90deg,#f7931e,#f15a24);--f:'Righteous','Arial Rounded MT Bold',sans-serif;--t:'Inter',system-ui,sans-serif;--line:rgba(255,255,255,.16);--mut:rgba(255,255,255,.74)}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:5.5rem;-webkit-text-size-adjust:100%}
body{background:var(--k);color:var(--w);font:400 1rem/1.65 var(--t);overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}img,video{max-width:100%;display:block}
:focus-visible{outline:2px solid var(--b);outline-offset:3px}
h1,h2,h3{font-family:var(--f);font-weight:400;line-height:1.05;text-transform:lowercase;letter-spacing:-.01em}
h1{font-size:clamp(2.6rem,8.5vw,6.4rem);max-width:13ch;line-height:1}
h2{font-size:clamp(1.9rem,5vw,3.4rem)}
.wrap{width:min(1180px,100% - 2.5rem);margin-inline:auto}
section{padding:clamp(4.5rem,10vw,8rem) 0}
.alt{background:#0b0b0b}
.lbl{font:400 .85rem var(--f);text-transform:lowercase;color:var(--o);letter-spacing:.1em;margin-bottom:.9rem;display:inline-flex;align-items:center;gap:.7rem}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.8rem 1.6rem;border-radius:8px;background:var(--grad);color:#000;font:400 .95rem var(--f);text-transform:lowercase;border:0;transition:transform .3s,box-shadow .3s}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(241,90,36,.45)}
.btn.ghost{background:none;color:#fff;border:1.5px solid rgba(255,255,255,.5)}.btn.ghost:hover{background:#fff;color:#000}

/* header */
nav{position:fixed;top:calc(.8rem + env(safe-area-inset-top,0px));left:0;right:0;margin-inline:auto;z-index:100;width:min(1180px,100%);border-radius:8px;background:rgba(18,18,18,.55);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.14);padding:.5rem .55rem .5rem 1.3rem;transition:background .4s,box-shadow .4s}
nav.sc{background:rgba(10,10,10,.88);box-shadow:0 12px 40px rgba(0,0,0,.45)}
nav .wrap{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.logo{display:flex;align-items:center;gap:.5rem;font:400 1.25rem var(--f);text-transform:lowercase}.logo svg{height:22px;width:auto}.logo img{width:auto;height:44px;max-height:54px}
.nl{display:flex;align-items:center;gap:1.6rem;font:400 .9rem var(--f);text-transform:lowercase}
.nl a:not(.btn){padding:.4rem 0;border-bottom:2px solid transparent;transition:border-color .3s}.nl a.act,.nl a:not(.btn):hover{border-color:var(--o)}
.nl .btn{min-height:42px;padding:.5rem 1.2rem}
#burger{display:none;width:48px;height:48px;border:0;border-radius:8px;background:rgba(255,255,255,.12);position:relative}
#burger i{position:absolute;left:14px;right:14px;height:2px;background:#fff;transition:.3s}#burger i:first-child{top:19px}#burger i:last-child{top:27px}
#burger.open i:first-child{top:23px;transform:rotate(45deg)}#burger.open i:last-child{top:23px;transform:rotate(-45deg)}
#menu{position:fixed;inset:0;z-index:90;background:#000;display:none;flex-direction:column;justify-content:center;gap:.3rem;padding:6rem 1.5rem 2rem}
#menu.open{display:flex}#menu a:not(.btn){font:400 2rem var(--f);text-transform:lowercase;padding:.5rem 0;border-bottom:1px solid var(--line)}#menu .btn{margin-top:1.4rem;align-self:flex-start}
@media(max-width:860px){.nl{display:none}#burger{display:block}}

/* footer */
footer{background:#000;padding:3.5rem 0 1.5rem}
.fg{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2rem}@media(max-width:760px){.fg{grid-template-columns:1fr}}
footer h4{font:400 .85rem var(--f);text-transform:lowercase;color:var(--o);margin-bottom:.8rem}footer ul{list-style:none}footer li{margin-bottom:.4rem}footer a:hover{color:var(--o)}
.gi{font:400 clamp(2.6rem,15vw,11rem)/1 var(--f);text-align:center;margin-top:2.5rem;letter-spacing:-.02em;text-transform:lowercase;color:rgba(255,255,255,.06);white-space:nowrap}
.fb2{margin-top:2.5rem;padding-top:.5rem;display:flex;flex-wrap:wrap;gap:1rem 2rem;justify-content:space-between;font-size:.88rem;color:var(--mut)}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}

/* shared: admin bar, section headings, reveal, filters, project cards */
.sh{margin-bottom:clamp(2rem,5vw,3.5rem);max-width:720px}.sh p{margin-top:1rem;color:var(--mut)}
.rv{opacity:0;transform:translateY(22px);transition:opacity .7s,transform .7s}.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}}
.filters{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:2rem}
.fb{min-height:44px;padding:.5rem 1.1rem;border-radius:8px;border:1.5px solid var(--line);background:none;font:400 .85rem var(--f);text-transform:lowercase;transition:.3s}
.fb:hover,.fb[aria-pressed=true]{background:var(--grad);color:#000;border-color:transparent}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:1.2rem}
.pc{box-shadow:0 20px 50px rgba(0,0,0,.35);transition:transform .5s,box-shadow .5s;position:relative;aspect-ratio:4/5;border-radius:8px;overflow:hidden;background:#111;display:block;width:100%}
.pc[hidden]{display:none}
.pc:hover{transform:translateY(-8px);box-shadow:0 30px 70px rgba(241,90,36,.35)}
.pc .bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .7s}
.pc:hover .bg,.pc:focus-visible .bg{transform:scale(1.07)}
.pc::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.88))}
.pc .ct{position:absolute;z-index:2;left:1.2rem;right:1.2rem;bottom:1.2rem}
.pc small{font:400 .75rem var(--f);text-transform:lowercase;color:var(--o);letter-spacing:.08em}
.pc h3{font-size:1.4rem;margin:.3rem 0}.pc .more{display:block;font-size:.9rem;color:var(--mut);opacity:0;transform:translateY(8px);transition:.4s}
.pc:hover .more,.pc:focus-visible .more{opacity:1;transform:none}
@media(hover:none){.pc .more{opacity:1;transform:none}}
.g1{background-image:linear-gradient(135deg,#31a7ef,#000 60%,#f7931e)}.g2{background-image:linear-gradient(135deg,#f7931e,#f15a24 50%,#000)}.g3{background-image:linear-gradient(135deg,#f15a24,#31a7ef 60%,#000)}.g4{background-image:linear-gradient(135deg,#1b1b1b,#f15a24)}.g5{background-image:linear-gradient(135deg,#000,#31a7ef)}

/* Poppins everywhere */
:root{--f:'Poppins',system-ui,sans-serif;--t:'Poppins',system-ui,sans-serif}
body{font-family:var(--t)}
h1,h2,h3{font-weight:600}
h1{font-size:clamp(2.3rem,7vw,5.4rem)}
#ph h1{font-size:clamp(2.3rem,6.5vw,5rem)}
.btn,.lbl,.fb,.eyebrow,.pc small,.steps b,.meta dt,.tile,.svc summary,.svc .bd em,.logo,#menu a:not(.btn),footer h4,.back,.next a.nx,.gi{font-weight:600}
.nl{font-weight:500}
nav{left:0!important;right:0!important;margin-inline:auto!important;translate:none!important;width:min(1180px,100% - 2.5rem)!important}

.pc::after{display:none}
.pc .ct{left:0;right:0;bottom:0;padding:2.4rem 1.2rem 1.1rem;background:linear-gradient(transparent,rgba(0,0,0,1))}
.pc .bg video{width:100%;height:100%;object-fit:cover}
.reels{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}
.reels figure{aspect-ratio:9/16;border-radius:8px;overflow:hidden;background:#161616}
.reels video{width:100%;height:100%;object-fit:cover}

.svc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem}
.svc-card{display:flex;flex-direction:column;gap:.6rem;border:1px solid var(--line);border-radius:8px;background:#0d0d0d;padding:clamp(1.5rem,3vw,2.2rem);transition:border-color .3s,background .3s}
.svc-card:hover{border-color:rgba(247,147,30,.55);background:#111}
.svc-card .n{font:600 1rem var(--f);color:var(--o)}
.svc-card h3{font-size:clamp(1.4rem,2.6vw,2rem)}
.svc-card em{font-style:normal;color:#fff;font-weight:600}
.svc-card p{color:var(--mut);flex:1}
.svc-card .btn{margin-top:1rem;align-self:flex-start}
@media(max-width:760px){.svc-grid{grid-template-columns:1fr}}

a.logo svg {
    display: none !important;
}

.pc h3{
    color: white !important;
}
}