.has-sub{position:relative}
.submenu-toggle{display:none;background:none;border:0;padding:0;cursor:pointer}
.submenu{position:absolute;top:100%;left:0;min-width:210px;background:#fff;border-radius:10px;box-shadow:var(--shadow);padding:.5rem;opacity:0;visibility:hidden;transform:translateY(10px);transition:.28s var(--ease);border-top:3px solid var(--accent)}
.submenu--cols{min-width:480px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:0 .25rem}
.has-sub:hover>.submenu{opacity:1;visibility:visible;transform:translateY(0)}
.submenu a{display:block;padding:.55rem .8rem;border-radius:7px;font-size:.85rem;font-weight:500;transition:.2s}
.submenu a:hover{background:var(--gray-2);color:var(--accent-dark);padding-left:1.05rem}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.8rem}
.card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .45s var(--ease),box-shadow .45s var(--ease)}
.card:hover{transform:translateY(-10px);box-shadow:var(--shadow)}
.card__media{overflow:hidden;aspect-ratio:3/2}
.card__media img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.card:hover .card__media img{transform:scale(1.08)}
.card__body{padding:1.6rem}
.card__body h3{font-size:1.25rem;font-weight:800;text-transform:uppercase;margin-bottom:.6rem}
.card__body p{color:var(--muted);font-size:.95rem;margin-bottom:1rem}
.card__link{font-weight:700;color:var(--gold-text);text-transform:uppercase;font-size:.8rem;letter-spacing:.05em;display:inline-flex;gap:.4rem;transition:gap .25s}
.card__link span{transition:transform .25s}
.card__link:hover span{transform:translateX(5px)}
#related-services .card{cursor:pointer}
#related-services .card .card__link::after{content:"";position:absolute;inset:0;z-index:1}
#related-services .card:hover .card__link{gap:.7rem}
.services__cta{text-align:center;margin-top:3rem}
.projects{background:var(--gray-2)}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.tile{position:relative;overflow:hidden;border-radius:12px;aspect-ratio:3/4;box-shadow:var(--shadow-sm)}
.tile img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.tile:hover img{transform:scale(1.12)}
.tile figcaption{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:1.3rem;color:#fff;background:linear-gradient(to top,rgba(0,0,0,.78) 0,rgba(0,0,0,.15) 50%,transparent 100%);opacity:0;transform:translateY(12px);transition:.4s var(--ease)}
.tile:hover figcaption{opacity:1;transform:translateY(0)}
.tile figcaption span{font-weight:800;text-transform:uppercase;font-size:1.05rem}
.tile figcaption em{color:var(--accent);font-style:normal;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}
.why{background:var(--dark);position:relative;overflow:hidden}
.why::before{content:"";position:absolute;top:-120px;right:-120px;width:360px;height:360px;background:radial-gradient(circle,rgba(0,145,222,.18),transparent 70%)}
.why__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.4rem;position:relative}
.why__item{text-align:center;color:#dfe3e5}
.why__num{font-size:4rem;font-weight:900;color:var(--accent);line-height:1}
.why__num::after{content:"+";font-size:2.4rem}
.why__ic{font-size:3.2rem;color:var(--accent);line-height:1;margin-bottom:.6rem;display:inline-flex;align-items:center;justify-content:center}
.why__ic svg{width:64px;height:64px;display:block}
.why__item h3{color:#fff;font-size:1.25rem;font-weight:800;text-transform:uppercase;margin:.9rem 0 .6rem}
.why__item p{color:#aeb4b7;font-size:.95rem}
.reviews{background:var(--gray)}
.review{background:#fff;border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow-sm);position:relative;transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.review:hover{transform:translateY(-8px);box-shadow:var(--shadow)}
.review::before{content:"\201C";position:absolute;top:-18px;left:18px;font-size:5rem;color:var(--accent);font-family:Georgia,serif;line-height:1;opacity:.55}
.review__stars{color:var(--accent);letter-spacing:.15em;margin-bottom:.8rem}
.review p{font-size:1rem;font-style:italic;color:var(--ink);margin-bottom:1rem}
.review footer{font-weight:800;text-transform:uppercase;font-size:.85rem;letter-spacing:.04em}
.cta{background:linear-gradient(120deg,#1c1f21,#2c3134);color:#fff;text-align:center;padding:clamp(4rem,8vw,6.5rem) 0;position:relative;overflow:hidden}
.cta::after{content:"";position:absolute;left:-100px;bottom:-100px;width:300px;height:300px;background:radial-gradient(circle,rgba(0,145,222,.2),transparent 70%)}
.cta__inner{position:relative;max-width:680px;margin:0 auto}
.cta h2{font-size:clamp(1.8rem,4vw,2.8rem);font-weight:900;text-transform:uppercase;margin-bottom:.8rem}
.cta p{color:#cfd4d6;margin-bottom:2rem;font-size:1.05rem}
.cta p.cta__licence{margin-top:-1.2rem;margin-bottom:2rem;font-size:.85rem;opacity:.8}
.cta__actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.footer{background:var(--gray-2);color:var(--muted);font-size:.92rem;border-top:1px solid rgba(0,0,0,.06)}
.footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr 1fr;gap:2.5rem;padding:3.5rem 0 2.5rem}
.footer__areas{columns:2;column-gap:1.2rem}
.footer__areas li{break-inside:avoid}
.footer__logo{height:42px;width:auto;margin-bottom:1rem;filter:brightness(0) invert(1)}
.footer__brand p{margin-bottom:.8rem;max-width:320px}
.footer__contact a{color:var(--accent);font-weight:700}
.footer__licence{margin-top:.6rem;font-size:.82rem;opacity:.85}
.footer__col h4{color:var(--dark);text-transform:uppercase;font-size:.85rem;letter-spacing:.1em;margin-bottom:1rem}
.footer__col ul li{margin-bottom:.55rem}
.footer__col ul a{transition:.2s}
.footer__col ul a:hover{color:var(--accent);padding-left:4px}
.footer__social{display:flex;gap:.6rem}
.footer__bar{border-top:1px solid rgba(0,0,0,.1);padding:1.2rem 0;font-size:.8rem}
.to-top{position:fixed;right:24px;bottom:24px;width:48px;height:48px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:1.3rem;box-shadow:var(--shadow-sm);opacity:0;visibility:hidden;transform:translateY(15px);transition:.35s var(--ease);z-index:50}
.to-top.show{opacity:1;visibility:visible;transform:translateY(0)}
.to-top:hover{background:var(--accent-dark);transform:translateY(-4px)}
.reveal{opacity:0;transform:translateY(40px);transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:var(--d,0s)}
.reveal.in{opacity:1;transform:none}
@media(max-width:1024px){.gallery{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.cards{grid-template-columns:1fr;gap:1.4rem}.why__grid{grid-template-columns:1fr;gap:2rem}.footer__grid{grid-template-columns:1fr 1fr}.submenu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border-top:0;padding:0 0 .5rem 1rem;display:none}.submenu--cols{grid-template-columns:1fr}.has-sub.open>.submenu{display:block}.submenu-toggle{display:flex;align-items:center;justify-content:center;width:44px;min-height:44px;flex:0 0 auto;color:var(--ink)}.submenu-toggle span{display:block;width:11px;height:11px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translate(-2px,-2px);transition:transform .25s var(--ease)}.has-sub.open>.submenu-toggle span{transform:rotate(225deg) translate(-2px,-2px)}}
@media(max-width:560px){.gallery{grid-template-columns:1fr}.footer__grid{grid-template-columns:1fr}}
.tile[data-tilt]{transform-style:preserve-3d;transition:transform .25s var(--ease),box-shadow .25s var(--ease);will-change:transform}
.tile[data-tilt] img{transition:transform .8s var(--ease)}
.tile[data-tilt].tilting{box-shadow:0 24px 50px rgba(0,0,0,.28)}
.tile[data-tilt]::after{content:"";position:absolute;inset:0;border-radius:12px;pointer-events:none;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.22),transparent 45%);opacity:0;transition:opacity .3s;z-index:2}
.tile[data-tilt].tilting::after{opacity:1}
.card{position:relative;isolation:isolate}
.card::before{content:"";position:absolute;inset:0;border-radius:var(--radius);padding:2px;z-index:-1;background:linear-gradient(130deg,var(--accent),transparent 35%,transparent 65%,var(--blue));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .4s var(--ease)}
.card:hover::before{opacity:1}
.why{padding-top:0}
.why__divider{line-height:0;margin-bottom:clamp(2.5rem,6vw,4.5rem)}
.why__divider svg{width:100%;height:80px;display:block}
.why__divider path{fill:var(--dark)}
.projects+.why .why__divider path,.why .why__divider path{fill:var(--dark)}
.why__item .why__ic{display:inline-block;transition:transform .4s var(--ease)}
.why__item:hover .why__ic{transform:translateY(-6px) scale(1.08)}
.reveal[data-reveal=left]{transform:translateX(-50px)}
.reveal[data-reveal=right]{transform:translateX(50px)}
.reveal[data-reveal=zoom]{transform:scale(.9)}
.reveal[data-reveal].in{transform:none}
.glow-cursor{position:fixed;top:0;left:0;width:420px;height:420px;border-radius:50%;margin:-210px 0 0 -210px;pointer-events:none;z-index:40;opacity:0;background:radial-gradient(circle,rgba(0,145,222,.18),rgba(0,145,222,.06) 40%,transparent 70%);transition:opacity .35s var(--ease);will-change:transform}
.glow-cursor.show{opacity:1}
.marquee{background:var(--dark);color:#fff;overflow:hidden;white-space:nowrap;border-top:3px solid var(--accent);border-bottom:3px solid var(--accent)}
.marquee__track{display:inline-flex;will-change:transform;animation:marquee 26s linear infinite}
.marquee:hover .marquee__track{animation-play-state:paused}
.marquee__group{display:inline-flex;align-items:center;padding:1rem 0}
.marquee__group span{font-weight:900;text-transform:uppercase;letter-spacing:.05em;font-size:clamp(1.1rem,2.2vw,1.7rem);padding:0 1.4rem}
.marquee__group i{color:var(--accent);font-style:normal;font-size:.7em;opacity:.9}
.blueprint{display:block;width:160px;height:24px;margin:.9rem auto 0;overflow:visible}
.blueprint circle,.blueprint line,.blueprint path{fill:none;stroke:var(--accent);stroke-width:2;stroke-dasharray:var(--len,300);stroke-dashoffset:var(--len,300);transition:stroke-dashoffset 1.1s var(--ease)}
.blueprint.draw circle,.blueprint.draw line,.blueprint.draw path,.in .blueprint path,.reveal.in .blueprint path{stroke-dashoffset:0}
.ba{max-width:860px;margin:3.5rem auto 0}
.ba__title{text-align:center;font-weight:800;text-transform:uppercase;font-size:1.2rem;margin-bottom:1.2rem;letter-spacing:.03em}
.ba__frame{position:relative;width:100%;aspect-ratio:16/10;border-radius:14px;overflow:hidden;box-shadow:var(--shadow);user-select:none;touch-action:none;cursor:ew-resize}
.ba__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.ba__before{position:absolute;inset:0;width:50%;overflow:hidden;will-change:width}
.ba__before .ba__img{width:auto;min-width:100%;height:100%}
.ba__frame .ba__before .ba__img{position:absolute;left:0;top:0;width:var(--fw,860px);max-width:none}
.ba__tag{position:absolute;bottom:14px;z-index:3;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;padding:.35rem .7rem;border-radius:50px;background:rgba(0,0,0,.6);color:#fff;backdrop-filter:blur(3px)}
.ba__tag--before{left:14px}
.ba__tag--after{right:14px;background:var(--accent);color:var(--dark)}
.ba__handle{position:absolute;top:0;bottom:0;left:50%;width:4px;background:var(--accent);transform:translateX(-50%);z-index:4;cursor:ew-resize}
.ba__line{position:absolute;inset:0}
.ba__grip{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:1.2rem;font-weight:700;box-shadow:0 4px 14px rgba(0,0,0,.35)}
.ba__handle:focus-visible{outline:3px solid #fff;outline-offset:2px}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}.tile[data-tilt]{transform:none!important}.marquee__track{animation:none!important}.glow-cursor{display:none}.blueprint circle,.blueprint line,.blueprint path{stroke-dashoffset:0!important}.what-we-do__ring{animation:none!important}}
button.to-top{font-size:1.3rem;cursor:pointer;border:none;font-family:inherit}
.about-leader{background:var(--white)}
.about-leader__grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}
.about-leader__para{color:var(--muted);font-size:1rem;line-height:1.78;margin:1.4rem 0 1.8rem}
.about-leader__list{display:flex;flex-direction:column;gap:.8rem}
.about-leader__list li{display:flex;align-items:flex-start;gap:.8rem;font-size:.95rem;font-weight:600;color:var(--ink);line-height:1.5}
.about-leader__list li::before{content:"";flex-shrink:0;width:22px;height:22px;margin-top:1px;border-radius:50%;background:var(--accent);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 12 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 6l3 3 5-5' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center}
.about-leader__cards{display:flex;flex-direction:column;gap:1.4rem}
.value-card{background:var(--gray-2);border-radius:var(--radius);padding:1.5rem;display:flex;gap:1.1rem;align-items:flex-start;border-left:4px solid var(--accent);transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .25s;position:relative;overflow:hidden}
.value-card::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(0,145,222,.05),transparent);opacity:0;transition:opacity .35s;pointer-events:none}
.value-card:hover{transform:translateX(6px);box-shadow:var(--shadow);background:#fff}
.value-card:hover::after{opacity:1}
.value-card__ic{flex-shrink:0;width:48px;height:48px;border-radius:12px;background:var(--accent);color:#fff;display:grid;place-items:center;transition:transform .3s var(--ease)}
.value-card:hover .value-card__ic{transform:scale(1.1) rotate(-4deg)}
.value-card__ic svg{width:22px;height:22px}
.value-card__content h3{font-size:.82rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em;color:var(--dark);margin-bottom:.35rem}
.value-card__content p{font-size:.88rem;color:var(--muted);line-height:1.65;margin:0}
.why-about{isolation:isolate}
.why-about::after{content:"";position:absolute;bottom:-80px;left:-80px;width:280px;height:280px;background:radial-gradient(circle,rgba(0,145,222,.14),transparent 70%);pointer-events:none}
.what-we-do{background:var(--gray-2)}
.what-we-do__layout{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.what-we-do__title{text-align:left}
.what-we-do__title+.blueprint{margin-left:0}
.what-we-do__content p{color:var(--muted);font-size:1.05rem;line-height:1.82;margin:1.4rem 0 2rem}
.what-we-do__image{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);aspect-ratio:4/3;position:relative}
.what-we-do__image::after{content:"";position:absolute;inset:0;border-radius:var(--radius);background:linear-gradient(135deg,rgba(0,145,222,.12),transparent 60%);opacity:0;transition:opacity .4s var(--ease)}
.what-we-do__image:hover::after{opacity:1}
.what-we-do__image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s var(--ease)}
.what-we-do__image:hover img{transform:scale(1.06)}
.team{background:var(--white)}
.team__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.6rem;margin-top:.5rem}
.team__card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .4s var(--ease),box-shadow .4s var(--ease);position:relative;isolation:isolate}
.team__card::after{content:"";position:absolute;inset:0;border-radius:var(--radius);background:linear-gradient(to top,rgba(0,0,0,.55) 0,transparent 50%);opacity:0;transition:opacity .35s var(--ease);pointer-events:none;z-index:1}
.team__card:hover{transform:translateY(-8px);box-shadow:var(--shadow)}
.team__card:hover::after{opacity:1}
.team__photo{width:100%;aspect-ratio:3/2;overflow:hidden;background:var(--gray-2);position:relative;display:block}
.team__photo img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;transition:transform .7s var(--ease)}
.team__card:hover .team__photo img{transform:scale(1.07)}
.team__photo--initials{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--dark) 0,#3a4046 100%)}
.team__photo--initials span{font-size:2.2rem;font-weight:900;color:var(--accent);letter-spacing:.06em;user-select:none}
.team__info{padding:1rem 1.1rem 1.2rem;position:relative;z-index:2}
.team__info h3{font-size:.95rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--dark);margin-bottom:.25rem;transition:color .25s}
.team__card:hover .team__info h3{color:var(--accent-dark)}
.team__info span{font-size:.78rem;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.1em}
@media(max-width:1100px){.team__grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.about-leader__grid{grid-template-columns:1fr;gap:2.5rem}.what-we-do__layout{grid-template-columns:1fr;gap:2.5rem}.what-we-do__image{aspect-ratio:16/9}.team__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.team__grid{grid-template-columns:1fr 1fr}}
@media(max-width:380px){.team__grid{grid-template-columns:1fr}}
.contact-main{background:var(--white)}
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:4.5rem;align-items:start}
.contact-cards{display:flex;flex-direction:column;gap:1.2rem;margin-top:2rem}
.contact-card{display:flex;gap:1.2rem;align-items:flex-start;background:var(--gray-2);border-radius:var(--radius);padding:1.4rem 1.6rem;border-left:4px solid var(--accent);transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .25s;position:relative;overflow:hidden}
.contact-card::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(0,145,222,.06),transparent);opacity:0;transition:opacity .35s;pointer-events:none}
.contact-card:hover{transform:translateX(6px);box-shadow:var(--shadow);background:#fff}
.contact-card:hover::after{opacity:1}
.contact-card__ic{flex-shrink:0;width:48px;height:48px;border-radius:12px;background:var(--accent);color:#fff;display:grid;place-items:center;transition:transform .3s var(--ease)}
.contact-card:hover .contact-card__ic{transform:scale(1.1) rotate(-4deg)}
.contact-card__ic svg{width:22px;height:22px}
.contact-card__body h3{font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em;color:var(--dark);margin-bottom:.35rem}
.contact-card__body address,.contact-card__body p{font-size:.95rem;color:var(--muted);font-style:normal;line-height:1.65;margin:0}
.contact-card__body a{color:var(--accent);font-weight:600;transition:color .2s}
.contact-card__body a:hover{color:var(--accent-dark)}
.contact-form-wrap{position:relative}
.contact-form-box{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:2.8rem;position:relative;overflow:hidden;border-top:4px solid var(--accent)}
.contact-form-box::before{content:"";position:absolute;top:-80px;right:-80px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(0,145,222,.12),transparent 65%);pointer-events:none}
.contact-form-box__heading{font-size:1.75rem;font-weight:900;text-transform:uppercase;letter-spacing:-.01em;color:var(--dark);margin-bottom:.5rem}
.contact-form-box__sub{font-size:.95rem;color:var(--muted);margin-bottom:2rem;line-height:1.6}
.contact-form{display:flex;flex-direction:column;gap:1.4rem}
.contact-form__row{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.contact-form__group{display:flex;flex-direction:column;gap:.45rem}
.contact-form__group label{font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--dark)}
.contact-form__group label abbr{text-decoration:none;color:var(--accent);margin-left:.2rem}
.contact-form__input-wrap{position:relative}
.contact-form__input-wrap input,.contact-form__input-wrap textarea{width:100%;background:var(--gray-2);border:2px solid transparent;border-radius:10px;padding:.85rem 1.1rem;font-family:Raleway,system-ui,sans-serif;font-size:.95rem;font-weight:500;color:var(--ink);transition:border-color .25s var(--ease),background .25s,box-shadow .25s;outline:0;resize:none}
.contact-form__input-wrap input::placeholder,.contact-form__input-wrap textarea::placeholder{color:#a0a8ad}
.contact-form__input-wrap input:focus,.contact-form__input-wrap textarea:focus{border-color:var(--accent);background:#fff;box-shadow:0 0 0 4px rgba(0,145,222,.1)}
.contact-form__line{position:absolute;bottom:0;left:50%;right:50%;height:2px;background:var(--accent);border-radius:0 0 10px 10px;transition:left .3s var(--ease),right .3s var(--ease);pointer-events:none}
.contact-form__input-wrap input:focus~.contact-form__line,.contact-form__input-wrap textarea:focus~.contact-form__line{left:0;right:0}
.contact-form__input-wrap input.invalid,.contact-form__input-wrap textarea.invalid{border-color:#e05252;background:#fff9f9}
.contact-form__error{font-size:.78rem;font-weight:700;color:#e05252;min-height:1.1em;opacity:0;transform:translateY(-4px);transition:opacity .2s,transform .2s}
.contact-form__error.show{opacity:1;transform:translateY(0)}
.contact-form__submit{width:100%;justify-content:center;margin-top:.4rem}
.contact-form__success[hidden]{display:none}
.contact-form__success{display:flex;align-items:center;gap:.75rem;background:rgba(0,145,222,.08);border:2px solid var(--accent);border-radius:10px;padding:1rem 1.2rem;font-size:.95rem;font-weight:700;color:var(--accent-dark);margin-top:.5rem}
.contact-form__success svg{flex-shrink:0;width:22px;height:22px;stroke:var(--accent)}
.contact-map-strip{background:var(--gray-2);overflow:hidden}
.contact-map-strip__inner{width:100%;max-width:var(--maxw);margin-inline:auto;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transform:translateY(0)}
.contact-map-strip iframe{display:block;filter:grayscale(25%) contrast(1.05)}
.why-contact{isolation:isolate}
.why-contact::after{content:"";position:absolute;bottom:-80px;right:-80px;width:280px;height:280px;background:radial-gradient(circle,rgba(0,145,222,.14),transparent 70%);pointer-events:none}
@media(max-width:1024px){.contact-layout{gap:3rem}}
@media(max-width:900px){.contact-layout{grid-template-columns:1fr;gap:2.5rem}.contact-form-box{padding:2rem}}
@media(max-width:560px){.contact-form__row{grid-template-columns:1fr}.contact-form-box{padding:1.5rem}.contact-form-box__heading{font-size:1.4rem}.contact-map-strip iframe{height:300px}}
a.tile{display:block;color:inherit;text-decoration:none}
a.tile:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.footer__logo{height:78px;width:auto;margin-bottom:1rem;filter:none}
.footer__contact a{color:var(--accent);font-weight:700;display:inline-block}
.footer__contact a:hover{color:var(--accent-dark)}
.reviews-slider{position:relative;max-width:1100px;margin:0 auto;padding-inline:64px}
.reviews-slider__viewport{overflow:hidden;border-radius:var(--radius);padding:1.4rem 0}
.reviews-slider__track{display:flex;gap:1.6rem;will-change:transform;transition:transform .55s var(--ease);touch-action:pan-y}
.reviews-slider__track .review{flex:0 0 calc((100% - 3.2rem)/ 3);margin:0;background:#fff;border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow-sm);position:relative;transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.reviews-slider__track .review::before{content:"\201C";position:absolute;top:-18px;left:18px;font-size:5rem;color:var(--accent);font-family:Georgia,serif;line-height:1;opacity:.55}
.reviews-slider__track .review:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.reviews-slider__arrow{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:0;background:var(--accent);color:#fff;font-size:1.6rem;line-height:1;cursor:pointer;display:grid;place-items:center;box-shadow:var(--shadow-sm);transition:.25s var(--ease);z-index:3}
.reviews-slider__arrow:hover{background:var(--accent-dark);color:#fff;transform:translateY(-50%) scale(1.05)}
.reviews-slider__arrow--prev{left:0}
.reviews-slider__arrow--next{right:0}
.reviews-slider__dots{display:flex;gap:.5rem;justify-content:center;margin-top:1.4rem}
.reviews-slider__dot{width:10px;height:10px;border-radius:50%;border:0;background:rgba(0,0,0,.18);cursor:pointer;transition:.25s var(--ease)}
.reviews-slider__dot.active{background:var(--accent);transform:scale(1.25)}
@media(max-width:1024px){.reviews-slider__track .review{flex:0 0 calc((100% - 1.6rem)/ 2)}}
@media(max-width:700px){.reviews-slider{padding-inline:0;padding-bottom:70px}.reviews-slider__track .review{flex:0 0 100%}.reviews-slider__arrow{top:auto;bottom:0;transform:none}.reviews-slider__arrow:hover{transform:scale(1.05)}.reviews-slider__arrow--prev{left:calc(50% - 90px)}.reviews-slider__arrow--next{right:calc(50% - 90px)}.reviews-slider__dots{position:absolute;bottom:13px;left:0;right:0;margin-top:0}}
.contact-map-strip{padding:0;background:var(--white)}
.contact-map-strip__inner{width:100%;max-width:none;margin:0;border-radius:0;box-shadow:none}
.contact-map-strip iframe{display:block;width:100%;height:480px;filter:grayscale(20%) contrast(1.05)}
@media(max-width:900px){.contact-map-strip iframe{height:380px}}
.contact-main+.why-contact .why__divider path{fill:#fff}
.cta{background:linear-gradient(120deg,var(--accent-dark),var(--accent))}
.cta p{color:rgba(255,255,255,.92)}
.cta::after{background:radial-gradient(circle,rgba(255,255,255,.18),transparent 70%)}
.svc-contact-form{background:var(--gray-2)}
.svc-contact-form__wrap{max-width:760px;margin:0 auto}
.svc-contact-form__wrap .contact-form-box{padding:2.6rem}
@media(max-width:560px){.svc-contact-form__wrap .contact-form-box{padding:1.6rem}}
.why{background:#fff}
.why::after,.why::before{display:none}
.why .why__divider path{fill:#fff}
.why .why__item{color:var(--ink)}
.why .why__item h3{color:var(--dark)}
.why .why__item p{color:var(--muted)}
.why .why__num{color:var(--accent)}
.team__card[data-bio]{cursor:pointer}
.team__card[data-bio]:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.team-modal{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:1.5rem;opacity:0;visibility:hidden;transition:opacity .3s var(--ease),visibility .3s var(--ease)}
.team-modal.open{opacity:1;visibility:visible}
.team-modal__overlay{position:absolute;inset:0;background:rgba(13,15,16,.6);backdrop-filter:blur(3px)}
.team-modal__dialog{position:relative;z-index:1;background:#fff;border-radius:var(--radius);width:min(560px,100%);max-height:90vh;overflow:auto;box-shadow:var(--shadow);border-top:5px solid var(--accent);transform:translateY(18px) scale(.98);transition:transform .35s var(--ease)}
.team-modal.open .team-modal__dialog{transform:none}
.team-modal__close{position:absolute;top:.8rem;right:.8rem;z-index:2;width:40px;height:40px;border:0;border-radius:50%;background:var(--gray-2);color:var(--dark);font-size:1.6rem;line-height:1;cursor:pointer;display:grid;place-items:center;transition:background .2s,transform .2s}
.team-modal__close:hover{background:var(--accent);color:#fff;transform:rotate(90deg)}
.team-modal__photo{width:100%;aspect-ratio:3/2;overflow:hidden;background:var(--gray-2)}
.team-modal__photo img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}
.team-modal__photo--initials{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--dark) 0,#3a4046 100%)}
.team-modal__photo--initials span{font-size:3rem;font-weight:900;color:var(--accent);letter-spacing:.06em}
.team-modal__body{padding:1.6rem 1.8rem 2rem}
.team-modal__name{font-size:1.4rem;font-weight:900;text-transform:uppercase;color:var(--dark);margin-bottom:.25rem}
.team-modal__role{display:inline-block;font-size:.78rem;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.1em;margin-bottom:1rem}
.team-modal__bio p{color:var(--muted);font-size:.98rem;line-height:1.75;margin-bottom:.9rem}
.team-modal__bio p:last-child{margin-bottom:0}
body.modal-open{overflow:hidden}
.proj-modal{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:clamp(1rem,3vw,2rem);opacity:0;visibility:hidden;transition:opacity .3s var(--ease),visibility .3s var(--ease)}
.proj-modal.open{opacity:1;visibility:visible}
.proj-modal__overlay{position:absolute;inset:0;background:rgba(13,15,16,.62);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.proj-modal__dialog{position:relative;z-index:1;background:#fff;border-radius:var(--radius);width:min(1080px,100%);max-height:92vh;overflow:hidden;box-shadow:var(--shadow);border-top:5px solid var(--accent);transform:translateY(20px) scale(.985);transition:transform .35s var(--ease);display:flex;flex-direction:column}
.proj-modal.open .proj-modal__dialog{transform:none}
.proj-modal__close{position:absolute;top:.75rem;right:.75rem;z-index:3;width:42px;height:42px;border:0;border-radius:50%;background:var(--gray-2);color:var(--dark);cursor:pointer;display:grid;place-items:center;transition:background .2s,transform .25s var(--ease)}
.proj-modal__close svg{width:20px;height:20px}
.proj-modal__close:hover{background:var(--accent);color:#fff;transform:rotate(90deg)}
.proj-modal__scroll{overflow:auto;padding:clamp(1.4rem,3vw,2.2rem)}
.proj-modal__head{margin-bottom:1.4rem;padding-right:2.5rem}
.proj-modal__kicker{display:inline-block;font-size:.72rem;font-weight:800;color:var(--accent);text-transform:uppercase;letter-spacing:.14em;margin-bottom:.4rem}
.proj-modal__title{font-size:clamp(1.5rem,3vw,2.1rem);font-weight:900;text-transform:uppercase;letter-spacing:.02em;color:var(--dark);line-height:1.1;margin:0}
.proj-modal__title::after{content:"";display:block;width:60px;height:4px;background:var(--accent);margin-top:.7rem;border-radius:2px}
.proj-modal__body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:clamp(1.4rem,3vw,2.4rem);align-items:start}
.proj-modal__subtitle{font-size:.85rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--dark);margin:0 0 .7rem}
.proj-modal__copy{position:sticky;top:0;align-self:start}
.proj-modal__copy p{color:var(--muted);font-size:1rem;line-height:1.8;margin:0 0 1rem}
.proj-modal__copy p:last-child{margin-bottom:0}
.proj-carousel{display:flex;flex-direction:column;gap:1rem;min-width:0}
.proj-carousel__viewport{position:relative;overflow:hidden;border-radius:var(--radius);background:var(--gray-2);box-shadow:var(--shadow-sm)}
.proj-carousel__track{display:flex;width:100%;transition:transform .45s var(--ease);will-change:transform}
.proj-carousel__slide{flex:0 0 100%;width:100%;min-width:0}
.proj-carousel__slide .gallery__item{width:100%;aspect-ratio:4/3;border-radius:0;box-shadow:none;background:var(--gray-2);cursor:zoom-in}
.proj-carousel__slide .gallery__item:hover{transform:none;box-shadow:none}
.proj-carousel__slide .gallery__item img{width:100%;height:100%;object-fit:contain;background:#101213}
.proj-modal__dialog--solo .proj-carousel__slide .gallery__item img{object-fit:cover}
.proj-carousel__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(13,15,16,.55);color:#fff;display:grid;place-items:center;cursor:pointer;transition:background .25s var(--ease),transform .25s var(--ease)}
.proj-carousel__nav:hover{background:var(--accent);transform:translateY(-50%) scale(1.08);border-color:var(--accent)}
.proj-carousel__nav svg{width:20px;height:20px}
.proj-carousel__prev{left:.75rem}
.proj-carousel__next{right:.75rem}
.proj-carousel__counter{position:absolute;top:.7rem;right:.75rem;z-index:2;background:rgba(13,15,16,.6);color:#fff;border-radius:999px;padding:.25rem .7rem;font-size:.74rem;font-weight:800;letter-spacing:.08em}
.proj-carousel__dots{display:flex;flex-wrap:wrap;justify-content:center;gap:.45rem}
.proj-carousel__dot{width:10px;height:10px;border-radius:50%;border:0;padding:0;cursor:pointer;background:rgba(13,15,16,.22);transition:background .25s var(--ease),transform .25s var(--ease)}
.proj-carousel__dot:hover{background:rgba(13,15,16,.4)}
.proj-carousel__dot.is-active{background:var(--accent);transform:scale(1.25)}
.proj-carousel__dot:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.proj-carousel--single .proj-carousel__counter,.proj-carousel--single .proj-carousel__dots,.proj-carousel--single .proj-carousel__nav{display:none}
.proj-modal__dialog--nocopy .proj-modal__body{grid-template-columns:1fr}
.proj-modal__dialog--nocopy .proj-carousel__slide .gallery__item{aspect-ratio:16/10}
@media (max-width:820px){.proj-modal__body{grid-template-columns:1fr;gap:1.4rem}.proj-modal__copy{position:static}}
@media (prefers-reduced-motion:reduce){.proj-carousel__track,.proj-modal,.proj-modal__close,.proj-modal__dialog{transition:none}}
.proj-section{padding:5rem 0}
.proj-section+.proj-section{padding-top:0}
.proj-section__head{margin-bottom:2.2rem;padding-top:1.5rem}
.proj-section__title{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:var(--dark);margin-bottom:.6rem;position:relative;display:inline-block}
.proj-section__title::after{content:"";position:absolute;left:0;bottom:-10px;width:64px;height:3px;background:var(--accent);border-radius:2px}
.proj-section__sub{display:inline-block;font-size:.78rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:.55rem}
.proj-section__about{background:var(--gray-2);border-left:4px solid var(--accent);border-radius:var(--radius);padding:1.6rem 1.8rem;margin:1.6rem 0 2rem}
.proj-section__about h3{font-size:.85rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:.7rem}
.proj-section__about p{color:var(--muted);font-size:1rem;line-height:1.78;margin:0}
.proj-section__about p+p{margin-top:1rem}
.proj-section__scope{background:#fff;border:1px solid var(--gray-2);border-left:4px solid var(--accent);border-radius:var(--radius);padding:1.6rem 1.8rem;margin:0 0 2rem;box-shadow:var(--shadow-sm)}
.proj-section__scope h3{font-size:.85rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:.9rem}
.proj-section__scope ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.55rem}
.proj-section__scope li{position:relative;padding-left:1.6rem;color:var(--muted);font-size:.98rem;line-height:1.7}
.proj-section__scope li::before{content:"";position:absolute;left:0;top:.65rem;width:.55rem;height:.55rem;border-radius:50%;background:var(--accent)}
.gallery{display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.gallery--lg{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
.gallery__item{position:relative;border-radius:var(--radius);overflow:hidden;cursor:zoom-in;background:var(--gray-2);box-shadow:var(--shadow-sm);aspect-ratio:4/3;transition:transform .5s var(--ease),box-shadow .5s var(--ease);border:0;padding:0;display:block;width:100%;font-family:inherit}
.gallery__item:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.gallery__item:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.gallery__item img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .8s var(--ease),filter .4s var(--ease)}
.gallery__item:hover img{transform:scale(1.06)}
.gallery__item::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.55) 100%);opacity:0;transition:opacity .4s var(--ease);pointer-events:none}
.gallery__item:hover::after{opacity:1}
.gallery__cap{position:absolute;left:0;right:0;bottom:0;padding:.85rem 1rem;color:#fff;font-weight:800;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;transform:translateY(8px);opacity:0;transition:transform .4s var(--ease),opacity .4s var(--ease);pointer-events:none;text-align:left}
.gallery__item:hover .gallery__cap{transform:translateY(0);opacity:1}
.gallery__zoom{position:absolute;top:.75rem;right:.75rem;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.92);color:var(--accent);display:grid;place-items:center;opacity:0;transform:scale(.85);transition:opacity .35s var(--ease),transform .35s var(--ease);pointer-events:none}
.gallery__item:hover .gallery__zoom{opacity:1;transform:scale(1)}
.gallery__zoom svg{width:18px;height:18px}
.proj-feature{display:grid;grid-template-columns:1.15fr 1fr;gap:2.4rem;align-items:stretch;margin-bottom:2rem}
.proj-feature__media{position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);aspect-ratio:4/3;cursor:zoom-in;border:0;padding:0;background:var(--gray-2);width:100%;display:block}
.proj-feature__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s var(--ease)}
.proj-feature__media:hover img{transform:scale(1.04)}
.proj-feature__body{display:flex;flex-direction:column;justify-content:center}
@media (max-width:900px){.proj-feature{grid-template-columns:1fr;gap:1.4rem}}
.proj-cats{display:grid;gap:1.4rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.proj-cat{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:4/5;box-shadow:var(--shadow-sm);text-decoration:none;display:block;color:#fff;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.proj-cat:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.proj-cat img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease),filter .5s var(--ease)}
.proj-cat:hover img{transform:scale(1.07)}
.proj-cat::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(37,40,42,.15) 0,rgba(37,40,42,.85) 100%)}
.proj-cat__body{position:absolute;left:0;right:0;bottom:0;padding:1.4rem 1.5rem;z-index:2;transform:translateY(8px);transition:transform .5s var(--ease)}
.proj-cat:hover .proj-cat__body{transform:translateY(0)}
.proj-cat__kicker{display:block;font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:.35rem}
.proj-cat__title{font-size:1.4rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase;margin-bottom:.45rem}
.proj-cat__desc{font-size:.92rem;opacity:.9;line-height:1.5;margin-bottom:.75rem}
.proj-cat__cta{display:inline-flex;align-items:center;gap:.4rem;font-weight:800;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase}
.proj-cat__cta span{transition:transform .35s var(--ease)}
.proj-cat:hover .proj-cat__cta span{transform:translateX(4px)}
.proj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.5rem;list-style:none;padding:0;margin:0}
.proj-grid>li{list-style:none;padding:0;margin:0}
.proj-card{position:relative;border-radius:var(--radius);overflow:hidden;background:var(--dark);box-shadow:var(--shadow-sm);text-decoration:none;color:#fff;display:block;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.proj-card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}
.proj-card__thumb{position:relative;overflow:hidden;aspect-ratio:4/3}
.proj-card__thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s var(--ease),filter .5s var(--ease)}
.proj-card:hover .proj-card__thumb img{transform:scale(1.08);filter:brightness(.85)}
.proj-card__overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(37,40,42,.75) 100%);opacity:0;transition:opacity .4s var(--ease)}
.proj-card:hover .proj-card__overlay{opacity:1}
.proj-card__body{padding:1rem 1.2rem 1.1rem;background:#fff}
.proj-card__name{font-size:.95rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--dark);line-height:1.3;margin-bottom:.55rem}
.proj-card__cta{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);transition:gap .3s var(--ease)}
.proj-card:hover .proj-card__cta{gap:.6rem}
.proj-card__cta svg{flex-shrink:0;transition:transform .3s var(--ease)}
.proj-card:hover .proj-card__cta svg{transform:translateX(3px)}
@media (max-width:600px){.proj-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}}
.lightbox{position:fixed;inset:0;z-index:1000;display:none;background:rgba(15,18,20,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);opacity:0;transition:opacity .35s var(--ease)}
.lightbox.open{display:flex;opacity:1}
.lightbox__stage{position:relative;margin:auto;display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:clamp(1rem,4vw,3rem)}
.lightbox__img{max-width:min(94vw,1500px);max-height:88vh;border-radius:10px;box-shadow:0 30px 80px rgba(0,0,0,.6);object-fit:contain;display:block;opacity:0;transform:scale(.96);transition:opacity .4s var(--ease),transform .5s var(--ease);cursor:zoom-out;background:#111}
.lightbox.open .lightbox__img.ready{opacity:1;transform:scale(1)}
.lightbox__caption{position:absolute;left:0;right:0;bottom:1.2rem;text-align:center;color:#fff;font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:.85rem;text-shadow:0 2px 6px rgba(0,0,0,.7);opacity:0;transition:opacity .4s .15s var(--ease)}
.lightbox.open .lightbox__caption.ready{opacity:.92}
.lightbox__counter{position:absolute;top:1.2rem;left:1.4rem;color:#fff;opacity:.65;font-weight:700;letter-spacing:.1em;font-size:.78rem}
.lightbox__btn{position:absolute;top:1.2rem;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.18);display:grid;place-items:center;cursor:pointer;transition:background .25s var(--ease),transform .25s var(--ease)}
.lightbox__btn:hover{background:var(--accent);transform:scale(1.07);border-color:var(--accent)}
.lightbox__close{right:1.4rem}
.lightbox__close svg{width:18px;height:18px}
.lightbox__nav{top:50%;transform:translateY(-50%);width:52px;height:52px}
.lightbox__nav:hover{transform:translateY(-50%) scale(1.07)}
.lightbox__prev{left:1.4rem}
.lightbox__next{right:1.4rem}
.lightbox__nav svg{width:22px;height:22px}
@media (max-width:640px){.lightbox__nav{width:42px;height:42px}.lightbox__prev{left:.6rem}.lightbox__next{right:.6rem}.lightbox__close{right:.8rem;top:.8rem}.lightbox__counter{top:.8rem;left:.8rem}}
@media (prefers-reduced-motion:reduce){.lightbox,.lightbox__img{transition:none}.gallery__item img,.proj-card__thumb img,.proj-cat img,.proj-feature__media img{transition:none}}
.post-toc{background:#f8f9fa;border-radius:var(--radius);border-left:4px solid var(--accent);padding:1.4rem 1.6rem;margin-bottom:2rem}
.post-toc__title{font-size:.9rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em;color:var(--dark);margin:0 0 .9rem}
.post-toc__toggle{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;background:0 0;border:0;padding:0;margin:0;cursor:pointer;font:inherit;color:inherit;text-align:left;letter-spacing:inherit;text-transform:inherit}
.post-toc__toggle:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:4px}
.post-toc__chevron{flex-shrink:0;color:var(--accent);transition:transform .3s var(--ease)}
.post-toc.is-collapsed .post-toc__chevron{transform:rotate(-90deg)}
.post-toc.is-collapsed .post-toc__title{margin-bottom:0}
.post-toc__nav{margin:0;overflow:hidden;max-height:1500px;opacity:1;transition:max-height .35s var(--ease),opacity .25s var(--ease)}
.post-toc.is-collapsed .post-toc__nav{max-height:0;opacity:0}
.post-toc__list{list-style:none;padding:0;margin:0;counter-reset:toc-counter;display:flex;flex-direction:column;gap:.3rem}
.post-toc__list li{counter-increment:toc-counter}
.post-toc__list a{display:flex;align-items:baseline;gap:.5rem;color:var(--dark);font-size:.88rem;font-weight:600;line-height:1.45;text-decoration:none;transition:color .2s;padding:.15rem 0}
.post-toc__list a::before{content:counter(toc-counter) ".";color:var(--accent);font-weight:800;font-size:.78rem;min-width:1.4rem;flex-shrink:0}
.post-toc__list a:hover{color:var(--accent)}
.post-toc__list .toc-h3 a{padding-left:1.4rem;font-size:.83rem;font-weight:500;color:var(--muted)}
.post-toc__list .toc-h3{counter-increment:none}
.post-toc__list .toc-h3 a::before{display:none}
.post-toc__empty{display:none}
.proj-xlinks{padding-top:1rem;padding-bottom:3rem}
.proj-xlinks__row{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.1rem}
.proj-xlink{display:inline-flex;align-items:center;gap:.4rem;background:var(--gray-2);border:1px solid var(--gray);border-radius:50px;padding:.7rem 1.4rem;font-weight:700;font-size:.85rem;color:var(--dark);transition:background .25s,transform .25s var(--ease),box-shadow .25s}
.proj-xlink:hover{background:var(--accent);color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.proj-xlinks__svc{font-size:.95rem;color:var(--muted)}
.proj-xlinks__svc a{color:var(--accent);font-weight:700}
.about-credentials .credentials-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;margin:0 0 2rem;padding:0}
.about-credentials .credentials-stats li{background:var(--gray-2);border-radius:var(--radius);padding:1.4rem 1rem;text-align:center;box-shadow:var(--shadow-sm)}
.credentials-stats__num{display:block;font-size:2rem;font-weight:800;color:var(--accent);line-height:1}
.credentials-stats__label{display:block;margin-top:.5rem;font-size:.82rem;color:var(--muted)}
.about-credentials .credentials-body{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:2rem;align-items:start}
.about-credentials .credentials-body p{margin:0 0 1.1rem;max-width:75ch}
.about-credentials .credentials-body p:last-child{margin-bottom:0}
.about-credentials .credentials-licence{list-style:none;margin:1.4rem 0 0;padding:1.2rem 1.4rem;display:grid;gap:.5rem;background:var(--gray-2);border-left:4px solid var(--accent);border-radius:var(--radius);max-width:75ch}
.about-credentials .credentials-licence li{font-size:.95rem;color:var(--ink)}
.about-credentials .credentials-licence a{color:var(--accent);font-weight:700;text-decoration:none}
.about-credentials .credentials-licence a:hover{text-decoration:underline}
.about-credentials .credentials-detail{margin:0;max-width:75ch;align-self:start;display:grid;gap:0;border:1px solid var(--gray);border-radius:var(--radius);overflow:hidden}
.about-credentials .credentials-detail__row{display:grid;grid-template-columns:1fr 1fr;padding:.75rem 1.2rem;font-size:.9rem;border-bottom:1px solid var(--gray)}
.about-credentials .credentials-detail__row:last-child{border-bottom:0}
.about-credentials .credentials-detail__row:nth-child(even){background:var(--gray-2)}
.about-credentials .credentials-detail dt{font-weight:700;color:var(--dark)}
.about-credentials .credentials-detail dd{color:var(--ink)}
@media(min-width:901px) and (max-width:1150px){.about-credentials .credentials-detail__row{grid-template-columns:1fr}.about-credentials .credentials-detail dd{margin-top:.2rem}}
@media(max-width:900px){.about-credentials .credentials-body{grid-template-columns:1fr;gap:0}.about-credentials .credentials-detail{margin:1.4rem 0 0}.about-credentials .credentials-body p:last-child{margin-bottom:1.1rem}}
@media(max-width:600px){.about-credentials .credentials-detail__row{grid-template-columns:1fr}.about-credentials .credentials-detail dd{margin-top:.2rem}}
.team__card--author .team__bio{margin:.6rem 0 0;font-size:.9rem;line-height:1.6;color:var(--muted)}
.about-faq{background:var(--gray-2)}
.about-faq .faq-list{display:grid;gap:1.1rem;max-width:860px;margin-inline:auto}
.about-faq .faq-item{background:#fff;border-left:4px solid var(--accent);border-radius:var(--radius);padding:1.3rem 1.5rem;box-shadow:var(--shadow-sm)}
.about-faq .faq-q{font-size:1.08rem;color:var(--dark);margin:0 0 .5rem}
.about-faq .faq-a{margin:0;color:var(--ink);line-height:1.65}
@media(max-width:860px){.about-credentials .credentials-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.about-credentials .credentials-stats{grid-template-columns:1fr}}
.post-related-links{background:var(--gray-2);border-radius:var(--radius);padding:1.5rem 1.7rem;margin-top:1.5rem}
.post-related-links h2{font-size:1.25rem;margin:0 0 .6rem;color:var(--dark)}
.post-related-links p{margin:0 0 .9rem}
.post-related-links__list{display:grid;gap:.55rem;padding:0;margin:0}
.post-related-links__list li{position:relative;padding-left:1.3rem}
.post-related-links__list li::before{content:"\2192";position:absolute;left:0;color:var(--accent);font-weight:800}
.post-related-links__list a{color:var(--accent-dark);font-weight:700;border-bottom:1px solid transparent;transition:border-color .2s}
.post-related-links__list a:hover{border-bottom-color:var(--accent-dark)}
@media(max-width:900px){.reveal[data-reveal=left],.reveal[data-reveal=right]{transform:translateY(40px)}.contact-form-wrap,.contact-form-box,.about-leader__cards,.value-card{min-width:0;max-width:100%}.about-leader__cards{grid-template-columns:1fr}}
.post-scope-note{width:min(92%,var(--maxw));margin:1.6rem auto 0;background:#fff;border:1px solid var(--gray-2);border-left:4px solid var(--accent-dark);border-radius:var(--radius);padding:1rem 1.2rem;font-size:.95rem;line-height:1.7;color:var(--muted)}
.post-scope-note strong{color:var(--dark)}
.post-scope-note ul{list-style:none;margin:.6rem 0 0;padding:0;display:grid;gap:.4rem}
.post-scope-note li{position:relative;padding-left:1.2rem}
.post-scope-note li::before{content:"\2192";position:absolute;left:0;color:var(--accent);font-weight:800}
.post-scope-note a{color:var(--accent-dark);font-weight:700;border-bottom:1px solid transparent;transition:border-color .2s}
.post-scope-note a:hover{border-bottom-color:var(--accent-dark)}
