:root{--bg:#fff;--surface:#fbfbfc;--panel:#fff;--ink:#091057;--ink-2:#2a325e;--muted:#5c6485;--brand:#ec8305;--brand-2:#024caa;--line:#dbd3d3;--radius:18px;--shadow:0 10px 30px rgba(9,16,87,.08);--maxw:1160px}*{box-sizing:border-box}html{height:100%;scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:Manrope,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.6;margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{display:block;height:auto;max-width:100%}a{color:inherit;text-decoration:none}.container{margin-inline:auto;max-width:var(--maxw);padding:0 clamp(16px,4vw,28px);width:100%}.skip-link{left:-9999px;position:absolute}.skip-link:focus{background:#fff;border-radius:.5rem;color:#111;left:1rem;padding:.5rem .75rem;top:1rem;z-index:9999}.site-header{-webkit-backdrop-filter:saturate(1.2) blur(6px);backdrop-filter:saturate(1.2) blur(6px);background:var(--ink);border-bottom:1px solid var(--line);position:fixed;top:0;width:100%;z-index:60}.header-row{justify-content:space-between;min-height:100px}.brand,.header-row{align-items:center;display:flex}.brand{color:#fff;font-weight:900;gap:.7rem;letter-spacing:.06em}.brand-logo{border-radius:6px;filter:drop-shadow(0 2px 6px rgba(2,76,170,.15));height:65px;-o-object-fit:contain;object-fit:contain;width:70px}.nav-toggle{background:transparent;border:0;cursor:pointer;display:none;height:44px;width:44px}.nav-toggle span{background:#fff;border-radius:2px;display:block;height:2px;opacity:.8;position:relative;width:22px}.nav-toggle span+span{margin-top:5px}.nav-list{align-items:center;display:flex;gap:1.2rem}.nav-list li{list-style:none}.nav-list a{color:#fff;font-weight:700;opacity:.85}.nav-list a.is-active,.nav-list a:hover{color:var(--line);opacity:1}.btn{align-items:center;border:1px solid transparent;border-radius:999px;cursor:pointer;display:inline-flex;font-weight:800;gap:.6rem;padding:.85rem 1.2rem}.btn-primary{background:var(--brand)}.btn-primary,.btn-secondary{border-color:transparent;color:#fff}.btn-secondary{background:var(--ink)}.btn-primary:hover{filter:brightness(.95)}.btn-ghost{background:transparent;border-color:var(--brand-2);color:var(--brand-2)}.btn-ghost:hover{background:color-mix(in oklab,var(--brand-2) 10%,#fff)}.fullpage{height:100%;overflow-y:auto;scroll-snap-type:y mandatory}.section{align-items:center;background:var(--panel);border-bottom:1px solid var(--line);display:flex;min-height:100vh;position:relative;scroll-snap-align:start}.hero{background-color:#54545457;overflow:hidden}.hero-bg{background:url(/build/assets/home-3JwkQB-R.webp) top/cover no-repeat;inset:0;position:absolute;z-index:-1}.hero-content{margin-inline:auto;max-width:1000px;text-align:center;top:50px}.hero-title{color:var(--ink);font-size:clamp(3rem,9vw,7rem);font-weight:900;letter-spacing:.01em;line-height:1.05;margin:.2rem 0 .6rem;text-shadow:0 6px 18px rgba(2,76,170,.08)}.hero-sub{color:#fff;font-size:clamp(1.2rem,1.6vw,2.2rem);margin:0 0 1.4rem;text-shadow:0 0 5px #000}.hero-tags{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin:0 0 1.2rem}.hero-tags a{background:var(--ink);border-radius:999px;color:var(--line);padding:.35rem .7rem}.about{background:var(--surface);background:#eee}.about .about-wrap{align-items:center;display:grid;gap:clamp(24px,4vw,48px);grid-template-columns:1.1fr .9fr}.eyebrow{color:var(--brand);font-weight:800;letter-spacing:.18em;margin:0 0 .6rem;text-transform:uppercase}.about h2{color:var(--ink);font-size:clamp(1.6rem,3.2vw,2.4rem);margin:.2rem 0 1rem}.about p:first-child{color:var(--brand)}.about p{color:var(--ink)}.photo-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.photo-card img{aspect-ratio:4/5;-o-object-fit:cover;object-fit:cover;width:100%}.photo-card figcaption{background:var(--surface);border-top:1px solid var(--line);color:var(--muted);font-size:.9rem;padding:.8rem 1rem}.categories{background:var(--primary-color)}.categories h2{color:var(--surface);margin:.2rem 0 1.2rem}.cat-grid{display:grid;gap:clamp(14px,2vw,22px);grid-template-columns:repeat(5,1fr)}.cat-card{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);min-height:52vh;overflow:hidden;position:relative}.cat-image{background:var(--img) center/cover no-repeat;filter:saturate(.98) contrast(1);inset:0;position:absolute}.cat-card:after{background:linear-gradient(180deg,#fff0 35%,#ffffffd9);content:"";inset:0;position:absolute}.cat-overlay{display:grid;inset:0;padding:1.2rem;place-content:end center;position:absolute;text-align:center;z-index:1}.cat-overlay h3{color:var(--ink);font-size:clamp(1.1rem,1.8vw,1.6rem);margin:0 0 .35rem}.cat-overlay p{color:var(--ink-2);margin:.1rem auto;max-width:40ch}.contact{background:var(--panel)}.contact h2{color:var(--ink);margin:.2rem 0 1.2rem}.contact-form{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);margin-top:16px;padding:clamp(16px,3vw,24px)}.form-grid{display:grid;gap:clamp(12px,2vw,18px);grid-template-columns:repeat(3,1fr)}.field{display:flex;flex-direction:column;gap:.35rem}.field label{color:var(--ink);font-weight:700}.field input,.field textarea{background:#fff;border:1px solid var(--line);border-radius:12px;color:var(--ink);font:inherit;outline:none;padding:.8rem .9rem}.field input:focus,.field textarea:focus{border-color:color-mix(in oklab,var(--brand-2) 40%,#ccc);box-shadow:0 0 0 3px color-mix(in oklab,var(--brand-2) 12%,#fff)}.field-span{grid-column:1/-1}.hidden{height:1px;left:-9999px;overflow:hidden;position:absolute;width:1px}.actions{align-items:center;display:flex;flex-wrap:wrap;gap:.8rem;grid-column:1/-1;margin-top:.3rem}.form-status{color:var(--muted);margin:0}.form-alert{border-radius:12px;font-size:.95rem;margin-bottom:12px;padding:.75rem 1rem}.form-alert.ok{background:#f1fff4;border:1px solid #b9f0c4;color:#0e6a2b}.form-alert.error{background:#fff5f5;border:1px solid #f1c4c4;color:#861c1c}@media(max-width:1024px){.form-grid{grid-template-columns:1fr 1fr}}@media(max-width:720px){.form-grid{grid-template-columns:1fr}}.site-footer{background:var(--ink);border-top:1px solid var(--line);padding:28px 0 20px}.foot-top{display:grid;gap:1.25rem 2rem;grid-template-columns:minmax(220px,1fr) minmax(420px,2fr)}.foot-brand,.foot-top{align-items:flex-start}.foot-brand{color:#fff;display:flex;flex-direction:column;font-weight:900;gap:.6rem}.foot-brand img{border-radius:6px;height:70px;-o-object-fit:contain;object-fit:contain;width:70px}.foot-info{color:#fff;font-size:.95rem;line-height:1.6}.foot-info .label{color:#bbb}.foot-info .company{margin-bottom:.25rem}.foot-info address{font-style:normal;margin:.2rem 0 0}.foot-info a{color:var(--brand);text-decoration:underline;text-underline-offset:3px}.foot-info a:hover{color:color-mix(in oklab,var(--brand) 80%,#000)}.foot-bottom{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.foot-copy{color:#bbb;font-size:.95rem}@media(max-width:720px){.foot-top{grid-template-columns:1fr}.foot-bottom{padding-top:14px}}@media(max-width:1024px){#categories .container,#team .container,#what-we-do .container{padding:40px clamp(16px,4vw,28px)}.about{min-height:auto}.about-media{display:none}.brand-logo{height:52px;width:40px}.header-row{min-height:60px;padding:0 clamp(16px,4vw,28px)}.hero-bg{background-position:100%}.about .about-wrap{grid-template-columns:1fr}.team-grid{display:flex;flex-wrap:wrap;justify-content:center}.team-grid .person-card{width:45%}.cat-grid{display:flex;flex-wrap:wrap;justify-content:space-evenly}.cat-grid .cat-card{width:30%}.team-grid{grid-template-columns:1fr 1fr}}@media(max-width:720px){.person-actions{justify-content:center}.nav-toggle{display:inline-flex;flex-direction:column}.team-grid .person-card{width:80%}.person-card{grid-template-columns:1fr;text-align:center}.owl-carousel .owl-item img{margin:0 auto}.cat-grid .cat-card{width:45%}.nav-list{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);display:none;flex-direction:column;padding:12px;position:absolute;right:-25px;top:45px;width:100vw}.nav-list a,.nav-list a.is-active,.nav-list a:hover{color:var(--primary-color)}.nav-list a{border-radius:10px;display:block;padding:.8rem 1rem}.nav-list.is-open{display:flex}.cat-grid{grid-template-columns:repeat(2,1fr)}}
