/* BRANDON TEXT — lokalne webfonty z paczki klienta.
   Instalacja: umieść fonts.zip w katalogu głównym i uruchom ZAINSTALUJ_FONTY_BRANDON.bat. */
@font-face{font-family:"Brandon Text";src:url("../assets/fonts/brandon/brandon-text-light.woff2") format("woff2"),url("../assets/fonts/brandon/brandon-text-light.woff") format("woff");font-style:normal;font-weight:300;font-display:swap}
@font-face{font-family:"Brandon Text";src:url("../assets/fonts/brandon/brandon-text-regular.woff2") format("woff2"),url("../assets/fonts/brandon/brandon-text-regular.woff") format("woff");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Brandon Text";src:url("../assets/fonts/brandon/brandon-text-bold.woff2") format("woff2"),url("../assets/fonts/brandon/brandon-text-bold.woff") format("woff");font-style:normal;font-weight:700;font-display:swap}

:root{
  --red:#de1d3e;
  --brown:#3d2b1f;
  --ivory:#fbfcec;
  --text:#111;
  --muted:#8f8f8f;
  --line:#e4e4e4;
  --container:1586px;
  --gutter:clamp(20px,8.7vw,167px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--text);background:#fff;font-family:"Brandon Text",Arial,sans-serif;font-size:16px;line-height:1.45;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,select{font:inherit}
button{cursor:pointer}
.container{width:min(var(--container),calc(100% - (var(--gutter) * 2)));margin-inline:auto}
.section{padding:120px 0}
.section--white{background:#fff}
.section--ivory{background:var(--ivory)}
.section-dark{color:#fff;background:#111}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-weight:500;letter-spacing:-.035em;line-height:1.13}
h2{font-size:clamp(34px,2.3vw,44px)}
.eyebrow{display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--line);padding-bottom:25px;font-size:14px;margin-bottom:75px}
.eyebrow span{width:8px;height:8px;background:var(--red);flex:none}
.eyebrow--light{border-color:rgba(255,255,255,.45)}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:67px;padding:0 42px;font-size:14px;font-weight:600;transition:.25s ease}
.button--light{background:#fff;color:#111}
.button--dark{background:#000;color:#fff;min-height:82px;padding-inline:45px}
.button:hover{transform:translateY(-2px)}
.text-link{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:14px}
.text-link span{font-size:18px;font-weight:400}
.text-link--light{color:#fff}
.site-header{position:absolute;z-index:20;top:0;left:0;width:100%;height:112px;color:#fff}
.site-header--light{position:relative;height:94px;color:#111;border-bottom:1px solid #e7e7e7;background:#fff}
.brand{width:104px;height:104px;position:absolute;left:32px;top:26px;z-index:2}
.brand img{width:100%;height:100%;object-fit:contain}
.site-header--light .brand{left:24px;top:15px;width:245px;height:63px}
.site-header--light .brand img{object-fit:contain;object-position:left center}
.desktop-nav{position:absolute;top:39px;left:50%;transform:translateX(-50%);display:flex;gap:24px;white-space:nowrap;font-size:12px}
.desktop-nav a{opacity:.92}
.site-header--light .desktop-nav{font-size:14px;top:39px}
.header-cta{position:absolute;right:32px;top:13px;background:#fff;color:#111;padding:25px 42px;font-size:13px;font-weight:600}
.site-header--light .header-cta{background:#000;color:#fff;right:24px}
.menu-toggle{display:none;position:absolute;z-index:31;right:20px;top:25px;width:48px;height:48px;background:transparent;border:0;color:inherit}
.menu-toggle span{display:block;width:28px;height:1px;background:currentColor;margin:8px auto;transition:.25s ease}

/* HOME */
.hero{min-height:1084px;position:relative;display:flex;align-items:flex-end;background-image:linear-gradient(to bottom,rgba(0,0,0,0) 30%,rgba(0,0,0,.88) 100%),url("../assets/images/home-hero.jpg");background-size:cover;background-position:center}
.hero__content{padding-bottom:130px}
.hero h1{font-size:clamp(48px,3.75vw,72px);max-width:920px;margin-bottom:35px;color:#fff}
.hero p{max-width:600px;font-size:18px;margin-bottom:50px;color:#fff}
.hero__actions{display:flex;align-items:center;gap:70px}
.hero__line{position:absolute;bottom:92px;left:50%;transform:translateX(-50%);border-top:1px solid rgba(255,255,255,.35)}
.hero__line span{display:block;width:40%;border-top:2px solid rgba(255,255,255,.85);transform:translateY(-1px)}
.intro{min-height:670px}
.intro__grid{display:grid;grid-template-columns:1fr 1fr;gap:120px}
.intro__grid h2{font-size:clamp(38px,2.3vw,44px)}
.intro__grid h2 em{color:#8b8b8b;font-style:normal}
.intro__copy{font-size:14px;max-width:640px;position:relative;padding-bottom:120px}
.scroll-cue{position:absolute;bottom:0;left:0;width:106px;height:106px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:#c8c8c8;font-size:58px;font-weight:200}
.featured-project{height:1081px;position:relative;background-image:linear-gradient(rgba(0,0,0,.22),rgba(0,0,0,.36)),url("../assets/images/featured-project.jpg");background-size:cover;background-position:center;display:flex;align-items:flex-end;padding-bottom:102px;color:#fff}
.featured-project__content{padding-bottom:80px}
.project-meta{display:flex;align-items:center;gap:24px;margin-bottom:45px;font-size:14px}
.project-meta span{background:var(--red);padding:16px 24px}
.featured-project__grid{display:grid;grid-template-columns:1.4fr .78fr;gap:160px;align-items:start}
.featured-project h2{font-size:clamp(44px,3vw,58px);max-width:950px}
.featured-project__copy{font-size:18px}
.featured-project__copy p{margin-top:45px}
.project-tabs{position:absolute;left:0;right:0;bottom:0;height:102px;display:grid;grid-template-columns:repeat(6,1fr);background:rgba(0,0,0,.28);backdrop-filter:blur(8px)}
.project-tabs button{border:0;border-right:1px solid rgba(255,255,255,.2);background:transparent;color:#fff;text-align:left;padding:25px 35px;font-size:12px}
.project-tabs button.is-active{background:#fff;color:#111}
.stats{padding-bottom:0}
.stats h2{margin-bottom:60px}
.stats h2 em{font-style:normal;color:#8b8b8b}
.stats__grid{display:grid;grid-template-columns:repeat(4,1fr)}
.stats__grid article{min-height:285px;padding:52px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.stats__grid article:nth-child(4n){border-right:0}
.stats__grid article:nth-child(n+5){border-bottom:0}
.stats__grid strong{display:block;font-size:40px;font-weight:500;letter-spacing:-.04em;margin-bottom:28px}
.stats__grid p{max-width:250px;color:var(--muted);font-size:15px}
.client-logos{height:156px;border-top:1px solid #ddd;border-bottom:1px solid #ddd;background:#fff}
.client-logos__inner{height:100%;display:grid;grid-template-columns:repeat(8,1fr)}
.client-logos img{width:100%;height:100%;object-fit:contain;padding:24px 35px;border-right:1px solid #ddd;background:#fff}
.sectors{min-height:968px;padding:120px 0;background-image:linear-gradient(rgba(0,27,70,.32),rgba(0,0,0,.45)),url("../assets/images/offer-sectors-bg.jpg");background-size:cover;background-position:center}
.sectors h2{margin-bottom:55px}
.sectors__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;min-height:448px}
.sector-card{border:0;border-left:1px solid rgba(255,255,255,.45);border-right:1px solid rgba(255,255,255,.45);background:transparent;color:#fff;text-align:left;padding:48px 46px;display:flex;flex-direction:column;justify-content:space-between;transition:.25s ease}
.sector-card strong{font-size:24px;font-weight:500;line-height:1.13;letter-spacing:-.03em}
.sector-card span{font-size:14px;font-weight:700}
.sector-card.is-active{background:var(--ivory);color:#171717}
.sector-card.is-active strong{font-size:34px}
.why-us{padding-bottom:120px}
.why-us__layout{display:grid;grid-template-columns:1fr 1.85fr;gap:120px}
.why-us__lead{position:sticky;top:130px;align-self:start}
.why-us__lead h2{max-width:520px;margin-bottom:44px}
.why-us__items{border-top:1px solid #dedede}
.reason{display:grid;grid-template-columns:300px 1fr;gap:55px;padding:30px 0;border-bottom:1px solid #dedede}
.reason__title{display:flex;flex-direction:column;gap:20px}
.reason__title h3{font-size:24px;margin:0;max-width:280px}
.reason__icon{color:var(--red);font-size:36px;line-height:1}
.reason p{font-size:14px;margin:0;line-height:1.35}
.experience{min-height:943px;padding:120px 0;background-image:url("../assets/images/about-hero.jpg");background-size:cover;background-position:center;position:relative}
.experience:after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.18);pointer-events:none}
.experience .container{position:relative;z-index:1}
.experience h2{max-width:760px}
.experience__panel{width:min(706px,47%);margin-left:auto;margin-top:120px;background:var(--brown);padding:80px;color:#fff;clip-path:polygon(0 0,100% 0,100% 92%,92% 100%,0 100%)}
.experience__panel p{font-size:15px;line-height:1.4}
.consultation{padding-top:90px;padding-bottom:0;overflow:hidden}
.consultation__inner{text-align:center}
.consultation h2{font-size:clamp(46px,4.4vw,84px);line-height:1.1;margin-bottom:30px}
.consultation h2 em{color:#000;font-style:italic;font-weight:500}
.consultation p{max-width:660px;margin:0 auto 25px}
.consultation__gallery{display:grid;grid-template-columns:1.1fr .65fr 1.35fr 1.08fr .72fr;gap:32px;align-items:center;margin-top:-20px;transform:translateY(120px)}
.consultation__gallery figure{margin:0;overflow:hidden;background:#eee}
.consultation__gallery figure:nth-child(1){height:450px}
.consultation__gallery figure:nth-child(2){height:500px;transform:translateY(70px)}
.consultation__gallery figure:nth-child(3){height:580px;transform:translateY(115px)}
.consultation__gallery figure:nth-child(4){height:520px;transform:translateY(45px)}
.consultation__gallery figure:nth-child(5){height:440px}
.consultation__gallery img{width:100%;height:100%;object-fit:cover}
.consultation__gallery figure:nth-child(2) img{object-position:25% center}
.consultation__gallery figure:nth-child(4) img{object-position:75% center}
.manifesto{height:982px;overflow:hidden;padding-top:330px}
.manifesto__inner{text-align:center}
.manifesto h2{font-family:"Brandon Text",Arial,sans-serif;font-size:44px;letter-spacing:-.04em;margin-bottom:110px}
.manifesto__cards{display:grid;grid-template-columns:repeat(3,446px);justify-content:space-between;text-align:left;gap:80px}
.manifesto-card{height:514px;padding:38px;background:var(--ivory);clip-path:polygon(0 0,90% 0,100% 10%,100% 100%,0 100%)}
.manifesto-card--brown{background:var(--brown);color:#fff}
.manifesto-card--dark{background:#111;color:#fff}
.manifesto-card h3{font-size:24px;border-bottom:1px solid currentColor;padding-bottom:20px}
.manifesto-card p{font-size:14px;line-height:1.5}

/* PROJECTS PAGE */
.projects-main{padding-top:0;background:#fff}
.projects-intro{padding:31px 0 24px}
.breadcrumb{display:flex;align-items:center;gap:8px;color:#aeaeae;font-size:14px;margin-bottom:18px}
.breadcrumb img{width:16px;height:16px}
.projects-title{font-size:58px;margin:0 0 48px}
.project-status-tabs{display:inline-flex;border:1px solid #e2e2e2;padding:4px;margin-bottom:30px}
.project-status-tabs button{border:0;background:#fff;padding:18px 28px;font-size:16px;font-weight:500;line-height:1.14}
.project-status-tabs button.is-active{background:#f0f0f0}
.projects-filters{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:25px;margin-bottom:24px}
.filter-label{display:flex;align-items:center;gap:24px;font-size:16px;font-weight:500;height:56px}
.filter-label:after{content:"";width:1px;height:56px;background:#ddd}
.category-filters{display:flex;gap:8px;align-items:stretch;min-width:0}
.category-filters button{min-height:56px;border:1px solid #e4e4e4;background:#fff;padding:11px 18px;font-size:14px;font-weight:500;text-align:left;line-height:1.18}
.category-filters button.is-active{background:#f0f0f0}
.year-filter{display:flex;align-items:center;gap:24px;height:56px}
.year-filter:before{content:"";width:1px;height:56px;background:#ddd}
.year-filter label{font-size:16px;font-weight:500}
.year-select-wrap{position:relative}
.year-select-wrap select{appearance:none;height:56px;border:1px solid #e4e4e4;background:#fff;padding:0 50px 0 18px;font-size:14px;color:#111}
.year-select-wrap img{position:absolute;right:18px;top:50%;width:14px;height:14px;transform:translateY(-50%);pointer-events:none}
.projects-gallery{--gap:14px;--tile:calc((100vw - 70px)/4);display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(6,var(--tile));gap:var(--gap);padding:0 14px 14px;border-top:1px solid #ddd}
.gallery-item{position:relative;overflow:hidden;background:#ddd}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
.gallery-item:hover img{transform:scale(1.02)}
.gallery-item.is-hidden{display:none}
.gallery-item:nth-child(1){grid-column:1/3;grid-row:1}
.gallery-item:nth-child(2){grid-column:3/5;grid-row:1}
.gallery-item:nth-child(3){grid-column:1/4;grid-row:2/4}
.gallery-item:nth-child(4){grid-column:4;grid-row:2}
.gallery-item:nth-child(5){grid-column:4;grid-row:3}
.gallery-item:nth-child(6){grid-column:1/3;grid-row:4}
.gallery-item:nth-child(7){grid-column:3/5;grid-row:4}
.gallery-item:nth-child(8){grid-column:1;grid-row:5}
.gallery-item:nth-child(9){grid-column:1;grid-row:6}
.gallery-item:nth-child(10){grid-column:2/5;grid-row:5/7}
.gallery-item__overlay{position:absolute;inset:auto 0 0;padding:35px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.7));opacity:0;transition:.3s ease}
.gallery-item:hover .gallery-item__overlay{opacity:1}
.gallery-item__overlay strong{font-size:24px;font-weight:500}

/* FOOTER */
.site-footer{background:var(--brown);color:#fff;padding:120px 0 40px;min-height:744px}
.footer__main{text-align:center}
.footer__logo{width:156px;height:204px;object-fit:contain;margin:0 auto 25px}
.footer__main address{font-style:normal;color:#cac9c4;font-family:"Brandon Text",Arial,sans-serif;font-size:14px;line-height:1.5}
.socials{display:flex;justify-content:center;margin-top:30px}
.socials a{width:48px;height:29px;border-right:1px solid rgba(255,255,255,.08);display:grid;place-items:center;font-size:12px}
.socials img{width:100%;height:100%;object-fit:contain}
.footer__bottom{position:relative;margin-top:100px;border-top:1px solid rgba(255,255,255,.13)}
.footer__bottom nav{display:flex;gap:38px;padding:38px 0;font-size:13px;flex-wrap:wrap}
.footer__legal{border-top:1px solid rgba(255,255,255,.08);padding-top:28px;color:#ac9a8f;font-size:13px;display:flex;justify-content:space-between}
.back-to-top{position:absolute;right:0;top:-104px;width:103px;height:103px;border:1px solid rgba(255,255,255,.12);display:grid;place-items:center;font-size:38px}
body.menu-open{overflow:hidden}

@media(max-width:1450px){
  .desktop-nav{gap:16px;font-size:11px}
  .site-header--light .desktop-nav{font-size:12px}
  .site-header--light .brand{width:200px}
  .category-filters{overflow-x:auto;padding-bottom:4px}
  .category-filters button{white-space:nowrap}
}
@media(max-width:1200px){
  :root{--gutter:40px}
  .desktop-nav{display:none}
  .header-cta{right:90px}
  .menu-toggle{display:block}
  .site-header.menu-active .desktop-nav{display:flex;position:fixed;inset:0;transform:none;background:var(--brown);color:#fff;flex-direction:column;align-items:center;justify-content:center;gap:28px;font-size:22px;z-index:30}
  .site-header.menu-active .header-cta{display:none}
  .featured-project__grid{gap:60px}
  .project-tabs{overflow-x:auto;grid-template-columns:repeat(6,240px)}
  .stats__grid{grid-template-columns:repeat(2,1fr)}
  .stats__grid article:nth-child(2n){border-right:0}
  .client-logos__inner{grid-template-columns:repeat(4,1fr)}.client-logos{height:312px}
  .sectors__grid{grid-template-columns:repeat(2,1fr)}
  .why-us__layout{grid-template-columns:1fr;gap:50px}.why-us__lead{position:static}
  .experience__panel{width:62%}
  .manifesto__cards{grid-template-columns:repeat(3,1fr);gap:30px}
  .projects-filters{grid-template-columns:1fr;gap:15px}
  .filter-label:after,.year-filter:before{display:none}
  .year-filter{justify-content:flex-start}
}
@media(max-width:768px){
  :root{--gutter:20px}
  .section{padding:72px 0}
  .site-header{height:88px}.brand{left:20px;top:15px;width:70px;height:70px}.header-cta{display:none}.menu-toggle{right:12px;top:16px}
  .site-header--light{height:82px}.site-header--light .brand{left:16px;top:15px;width:190px;height:50px}.site-header--light .menu-toggle{display:block}
  .hero{min-height:760px}.hero__content{padding-bottom:120px}.hero h1{font-size:44px}.hero p{font-size:16px}.hero__actions{align-items:flex-start;flex-direction:column;gap:28px}.hero__line{bottom:70px}
  .eyebrow{margin-bottom:50px}
  .intro{min-height:auto}.intro__grid{grid-template-columns:1fr;gap:35px}.intro__copy{padding-bottom:130px}
  .featured-project{height:870px;padding-bottom:84px}.featured-project__content{padding-bottom:110px}.featured-project__grid{grid-template-columns:1fr;gap:20px}.featured-project h2{font-size:36px}.featured-project__copy p{font-size:15px;margin-top:20px}
  .stats__grid{grid-template-columns:1fr}.stats__grid article{border-right:0;min-height:210px;padding:35px 15px}.stats__grid strong{font-size:34px}
  .client-logos{height:auto}.client-logos__inner{grid-template-columns:repeat(2,1fr)}.client-logos img{height:112px}
  .sectors{padding:72px 0;min-height:auto}.sectors__grid{grid-template-columns:1fr}.sector-card{min-height:210px}.sector-card.is-active strong{font-size:28px}
  .reason{grid-template-columns:1fr;gap:18px}
  .experience{min-height:980px;padding:72px 0}.experience h2{font-size:34px}.experience__panel{width:100%;margin-top:240px;padding:45px 30px}
  .consultation{padding-top:70px}.consultation h2{font-size:43px}.consultation__gallery{grid-template-columns:repeat(5,62vw);gap:15px;overflow-x:auto;transform:translateY(65px);padding-bottom:20px}.consultation__gallery figure{height:420px!important;transform:none!important}
  .manifesto{height:auto;overflow:visible;padding-top:150px;padding-bottom:70px}.manifesto h2{font-size:31px;margin-bottom:60px}.manifesto__cards{grid-template-columns:1fr}.manifesto-card{height:auto;min-height:360px}
  .projects-intro{padding-top:36px}.projects-title{font-size:40px;margin-bottom:35px}.project-status-tabs{display:flex;overflow-x:auto;max-width:100%}.project-status-tabs button{white-space:nowrap;padding:14px 20px}
  .category-filters{overflow-x:auto}.category-filters button{min-height:50px;font-size:12px}.filter-label{height:auto}.year-filter{height:auto;flex-wrap:wrap}.year-filter label{width:100%}
  .projects-gallery{display:flex;flex-direction:column;padding:0 10px 10px;gap:10px}.gallery-item{height:62vw;min-height:250px}.gallery-item:nth-child(n){grid-column:auto;grid-row:auto}.gallery-item:nth-child(3),.gallery-item:nth-child(10){height:110vw;max-height:700px}
  .site-footer{padding-top:80px}.footer__bottom{margin-top:70px}.footer__bottom nav{gap:20px;flex-direction:column}.footer__legal{flex-direction:column;gap:15px}.back-to-top{width:70px;height:70px;top:-85px}
}

/* SINGLE ARCHITECTURAL PROJECT — OTTONE */
.site-header--overlay{height:94px;background:rgba(0,0,0,.25);backdrop-filter:blur(22px)}
.site-header--overlay .brand--wide{left:24px;top:15px;width:245px;height:63px}
.site-header--overlay .brand--wide img{width:100%;height:100%;object-fit:contain;object-position:left center;filter:brightness(0) invert(1)}
.site-header--overlay .header-cta{top:13px;right:24px;color:#111;background:#fff}
.project-detail{background:#fff}
.project-detail__hero{height:802px;position:relative;color:#fff;overflow:hidden}
.project-detail__hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%}
.project-detail__hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.52),rgba(0,0,0,.08) 60%),rgba(0,0,0,.25)}
.project-detail__hero-content{height:100%;position:relative;display:grid;grid-template-columns:1fr 1fr;gap:150px;align-items:center;padding-top:70px}
.project-detail__hero h1{font-size:clamp(48px,3.75vw,72px);line-height:1.3;letter-spacing:-.045em;margin:0;max-width:760px}
.project-detail__hero-copy{font-size:18px;line-height:1.45;max-width:560px;margin-left:auto}
.project-detail__hero-copy p:last-child{margin-bottom:0}
.project-lead{padding-top:100px;padding-bottom:100px}
.project-lead .eyebrow{margin-bottom:46px}
.project-two-column{display:grid;grid-template-columns:minmax(0,592px) minmax(0,647px);justify-content:space-between;gap:100px;align-items:start}
.project-two-column h2{font-size:44px;margin:0;max-width:592px}
.project-rich-copy{font-size:14px;line-height:1.35}
.project-rich-copy p{margin-bottom:18px}
.project-rich-copy strong{font-weight:700}
.project-overview{position:relative;background:var(--brown);color:#fff;padding-bottom:0}
.project-overview__image{height:517px;margin:0 14px;overflow:hidden}
.project-overview__image img{width:100%;height:100%;object-fit:cover;object-position:center 50%}
.project-overview__panel{min-height:454px;padding:104px 0 78px;background:var(--brown)}
.project-overview__grid{display:grid;grid-template-columns:642px 1fr;gap:170px}
.project-overview .eyebrow{margin-bottom:5px;padding-bottom:22px}
.project-overview article>p{max-width:430px;font-size:14px;line-height:1.35;margin-top:0}
.project-facts{margin:0;display:grid;gap:9px;font-size:14px}
.project-facts div{display:grid;grid-template-columns:180px 1fr;gap:42px}
.project-facts dt{font-weight:300;color:rgba(255,255,255,.78)}
.project-facts dd{margin:0;font-weight:600}
.project-story{padding-top:112px;padding-bottom:92px}
.project-story--compact{padding-top:68px}
.project-story .project-two-column{margin-bottom:50px}
.project-slider{position:relative}
.project-slider__track{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.project-slider__track figure{height:432px;margin:0;overflow:hidden;background:#eee}
.project-slider__track img{width:100%;height:100%;object-fit:cover;transition:opacity .2s ease}
.project-slider__controls{display:flex;align-items:center;justify-content:flex-end;gap:0;margin-top:32px}
.project-slider__controls button{width:54px;height:54px;border:0;display:grid;place-items:center;background:#fff}
.project-slider__controls button:last-child{background:#000}
.project-slider__controls button img{width:17px;height:17px;object-fit:contain}
.project-slider__count{font-size:12px;margin-right:auto;letter-spacing:.06em;color:#777}
.project-result{padding-top:64px;padding-bottom:120px}
.project-result__intro{text-align:center;max-width:647px;margin:0 auto 60px}
.project-result__intro h2{font-size:44px;margin-bottom:25px}
.project-result__intro p{font-size:14px;line-height:1.35}
.project-result__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.project-result__grid figure{height:321px;margin:0;overflow:hidden;background:#eee}
.project-result__grid img{width:100%;height:100%;object-fit:cover}
.project-testimonial{padding:120px 0}
.project-testimonial__card{min-height:610px;background:#fff;display:grid;grid-template-columns:40% 60%;align-items:stretch;padding:60px}
.project-testimonial__portrait{position:relative;background:#d7d7d7;clip-path:polygon(0 0,100% 0,100% 72%,72% 100%,0 100%)}
.project-testimonial__portrait span{position:absolute;right:0;bottom:0;width:28%;height:28%;background:#fff}
.project-testimonial__content{padding:25px 70px 20px}
.mini-label{display:flex;align-items:center;gap:12px;font-size:14px;margin-bottom:38px}
.mini-label span{width:8px;height:8px;background:var(--red)}
.project-testimonial__content h2{font-size:44px;margin-bottom:36px}
.project-testimonial__content p{font-size:14px;line-height:1.4;max-width:610px;margin-bottom:35px}
.project-testimonial__content strong,.project-testimonial__content small{display:block;font-size:14px}
.project-testimonial__content small{font-weight:400;margin-top:3px}
.project-contact{height:616px;background:var(--brown);color:#fff;display:grid;grid-template-columns:50% 50%;overflow:hidden}
.project-contact__portrait{position:relative;overflow:hidden}
.project-contact__portrait img{width:100%;height:100%;object-fit:cover;object-position:center 28%;filter:grayscale(1)}
.project-contact__content{padding:76px 11% 0 9%;position:relative}
.project-contact__content h2{font-size:58px;margin-bottom:34px}
.project-contact__content>p{font-size:14px;line-height:1.4;max-width:540px}
.project-contact__person{position:absolute;left:0;right:0;bottom:0;min-height:221px;background:#3a291e;padding:64px 14%;display:grid;grid-template-columns:1fr 1fr;gap:70px}
.project-contact__person strong,.project-contact__person span,.project-contact__person small,.project-contact__person a{display:block}
.project-contact__person strong{font-size:24px;margin-bottom:5px}
.project-contact__person span,.project-contact__person a{font-size:14px}
.project-contact__person small{text-transform:uppercase;font-size:12px;font-weight:600;margin-bottom:22px;padding-left:18px;position:relative}
.project-contact__person small:before{content:"";position:absolute;left:0;top:3px;width:8px;height:8px;background:var(--red)}
.related-projects{padding-top:120px;padding-bottom:120px}
.related-projects .eyebrow{margin-bottom:38px}
.related-projects h2{font-size:44px;margin-bottom:52px}
.related-projects__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.related-card{height:634px;position:relative;overflow:hidden;background:#eee;display:block}
.related-card>img{width:100%;height:100%;object-fit:cover}
.related-card>h3{position:absolute;left:14px;right:14px;bottom:14px;margin:0;padding:26px 34px;background:#fff;font-size:24px;font-weight:400;letter-spacing:-.02em}
.related-card--featured .related-card__panel{position:absolute;left:14px;right:14px;bottom:14px;min-height:361px;background:#fff;padding:32px 34px;clip-path:polygon(0 0,100% 0,100% 85%,88% 100%,0 100%)}
.related-card__panel h3{font-size:24px;font-weight:400;margin-bottom:20px;padding-bottom:18px;border-bottom:1px solid #d8d8d8}
.related-card__panel p{font-size:18px;line-height:1.42;margin-bottom:40px}
.related-card__panel .button{min-height:58px;font-size:12px;padding-inline:24px}

@media(max-width:1450px){
  .project-detail__hero-content{gap:70px}
  .project-overview__grid{grid-template-columns:1fr 1fr;gap:90px}
  .project-testimonial__content{padding-inline:45px}
}
@media(max-width:1200px){
  .site-header--overlay .brand--wide{width:210px}
  .project-detail__hero-content{grid-template-columns:1fr;gap:30px;align-content:center}
  .project-detail__hero-copy{margin-left:0;max-width:700px}
  .project-two-column{grid-template-columns:1fr 1fr;gap:60px}
  .project-overview__grid{gap:55px}
  .project-slider__track figure{height:33vw;min-height:300px}
  .project-result__grid{grid-template-columns:repeat(2,1fr)}
  .project-testimonial__card{grid-template-columns:38% 62%;padding:40px}
  .project-testimonial__content h2{font-size:34px}
  .project-contact__content{padding-left:7%;padding-right:7%}
  .project-contact__content h2{font-size:46px}
  .project-contact__person{padding-inline:8%}
  .related-projects__grid{gap:18px}
}
@media(max-width:768px){
  .site-header--overlay{height:88px}
  .site-header--overlay .brand--wide{left:16px;top:14px;width:190px;height:56px}
  .project-detail__hero{height:auto;min-height:760px}
  .project-detail__hero-image{object-position:60% center}
  .project-detail__hero-content{padding-top:130px;padding-bottom:60px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end}
  .project-detail__hero h1{font-size:42px;line-height:1.18}
  .project-detail__hero-copy{font-size:15px}
  .project-lead{padding-top:70px;padding-bottom:70px}
  .project-two-column{grid-template-columns:1fr;gap:30px}
  .project-two-column h2{font-size:34px}
  .project-overview__image{height:72vw;min-height:330px;margin-inline:10px}
  .project-overview__panel{padding:65px 0}
  .project-overview__grid{grid-template-columns:1fr;gap:50px}
  .project-facts div{grid-template-columns:130px 1fr;gap:20px}
  .project-story{padding:70px 0 45px}
  .project-slider__track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;padding-bottom:10px}
  .project-slider__track figure{width:82vw;min-width:82vw;height:66vw;min-height:280px;scroll-snap-align:start}
  .project-slider__controls{margin-top:10px}
  .project-result{padding-top:50px;padding-bottom:70px}
  .project-result__intro h2{font-size:36px}
  .project-result__grid{grid-template-columns:1fr 1fr;gap:8px}
  .project-result__grid figure{height:42vw;min-height:150px}
  .project-testimonial{padding:70px 0}
  .project-testimonial__card{display:block;padding:20px}
  .project-testimonial__portrait{height:300px;margin-bottom:35px}
  .project-testimonial__content{padding:0 5px 20px}
  .project-testimonial__content h2{font-size:31px}
  .project-contact{height:auto;display:block}
  .project-contact__portrait{height:440px}
  .project-contact__content{padding:55px 20px 0}
  .project-contact__content h2{font-size:42px}
  .project-contact__person{position:relative;margin:55px -20px 0;padding:45px 20px;grid-template-columns:1fr;gap:35px}
  .related-projects{padding:70px 0}
  .related-projects h2{font-size:34px}
  .related-projects__grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:16px;padding-bottom:10px}
  .related-card{width:84vw;min-width:84vw;height:540px;scroll-snap-align:start}
  .related-card--featured .related-card__panel{min-height:330px}
}

/* OFFER PAGE */
.offer-main{background:#fff}
.offer-page .site-header--overlay .desktop-nav a.is-current{opacity:1;font-weight:600}
.offer-hero{height:802px;position:relative;overflow:hidden;color:#fff}
.offer-hero__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.offer-hero__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.55),rgba(0,0,0,.12) 66%),linear-gradient(0deg,rgba(0,0,0,.25),rgba(0,0,0,.05))}
.offer-hero__content{position:relative;height:100%;padding-top:235px}
.breadcrumb--light{color:rgba(255,255,255,.65)}
.offer-hero__grid{display:grid;grid-template-columns:1.35fr .65fr;gap:150px;align-items:end;margin-top:22px}
.offer-hero h1{font-size:clamp(52px,3.75vw,72px);line-height:1.3;max-width:900px;margin:0;letter-spacing:-.045em}
.offer-hero__grid p{font-size:18px;line-height:1.45;max-width:420px;margin:0 0 15px auto}
.offer-jump{height:193px;display:grid;grid-template-columns:repeat(3,529px);justify-content:center;background:#fff}
.offer-jump a{position:relative;border:1px solid #dbdbdb;border-top:0;padding:62px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-content:center;gap:18px 20px}
.offer-jump a:first-child:before,.offer-jump a:first-child:after{content:"";position:absolute;top:0;bottom:0;width:167px;background:#f9f9f9;border:1px solid #dbdbdb}
.offer-jump a:first-child:before{right:100%}.offer-jump a:first-child:after{left:calc(100% + 1058px)}
.offer-jump span{grid-column:1/3;color:#d0d0d0;font-size:24px}
.offer-jump strong{font-size:24px;font-weight:500;letter-spacing:-.03em}
.offer-jump b{font-size:22px;font-weight:400}
.offer-first{padding-top:120px;padding-bottom:120px}
.offer-first .eyebrow{margin-bottom:70px}
.offer-first__heading h2{font-size:44px;max-width:510px;margin-bottom:62px}
.offer-first__heading em,.offer-process__lead em{font-style:normal;color:#868686}
.offer-first__copy{display:grid;grid-template-columns:1fr 1fr;gap:150px;font-size:18px;line-height:1.52}
.offer-first__copy article{max-width:675px}
.offer-first__copy p{margin-bottom:20px}
.offer-first__copy strong{font-weight:600}
.offer-sectors{height:968px;position:relative;overflow:hidden;color:#fff;padding-top:120px}
.offer-sectors__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.offer-sectors__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,22,65,.55),rgba(0,0,0,.78)),rgba(0,17,62,.38)}
.offer-sectors__content{position:relative}
.offer-sectors .eyebrow{margin-bottom:70px}
.offer-sectors h2{font-size:44px;max-width:550px;margin-bottom:62px}
.offer-sector-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;height:448px}
.offer-sector-card{border:0;border-left:1px solid rgba(255,255,255,.4);border-right:1px solid rgba(255,255,255,.4);background:transparent;color:#fff;text-align:left;padding:48px 46px;display:flex;flex-direction:column;justify-content:space-between;min-width:0;transition:background .25s,color .25s,flex .25s}
.offer-sector-card strong{font-size:24px;line-height:1.13;font-weight:500;letter-spacing:-.035em}
.offer-sector-card>div{display:none;font-size:14px;line-height:1.35}
.offer-sector-card b{display:block;font-weight:600;margin-bottom:18px}
.offer-sector-card p{margin-bottom:35px}
.offer-sector-card a{display:inline-flex;align-items:center;gap:10px;font-weight:700}
.offer-sector-card.is-active{background:var(--ivory);color:#191919}
.offer-sector-card.is-active strong{font-size:34px;max-width:485px}
.offer-sector-card.is-active>div{display:block}
.offer-process{padding-top:120px;padding-bottom:120px}
.offer-process .eyebrow{margin-bottom:65px}
.offer-process__layout{display:grid;grid-template-columns:1fr 1.38fr;gap:150px;align-items:start}
.offer-process__lead{position:sticky;top:80px}
.offer-process__lead h2{font-size:44px;max-width:500px}
.offer-timeline{position:relative;padding-left:48px}
.offer-timeline:before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:#ddd}
.offer-step{display:grid;grid-template-columns:42px 1fr;gap:18px;padding-bottom:66px;position:relative}
.offer-step:last-child{padding-bottom:0}
.offer-step:before{content:"";position:absolute;left:-53px;top:17px;width:10px;height:10px;background:#fff;border:2px solid var(--red);border-radius:50%}
.offer-step img{width:42px;height:42px;object-fit:contain}
.offer-step span{display:block;color:var(--red);font-size:14px;font-weight:600;text-transform:uppercase;margin-bottom:18px}
.offer-step h3{font-size:24px;margin:0 0 28px;font-weight:500}
.offer-step p{font-size:14px;line-height:1.45;margin:0;color:#191919}
.offer-faq{background:#fafafa;padding-top:120px;padding-bottom:120px}
.offer-faq .eyebrow{margin-bottom:65px}
.offer-faq__layout{display:grid;grid-template-columns:430px 1fr;gap:100px}
.offer-faq__lead{display:flex;flex-direction:column;min-height:680px}
.offer-faq__lead h2{font-size:44px;max-width:470px}
.offer-faq__contact{margin-top:auto;max-width:372px;font-size:14px;line-height:1.45}
.offer-faq__contact strong{display:block;margin-bottom:10px}
.offer-faq__contact p{margin-bottom:25px}
.offer-faq__contact .button{min-height:58px;padding-inline:28px}
.faq-list{border-top:1px solid #eaeaea}
.faq-item{border-bottom:1px solid #eaeaea}
.faq-item button{width:100%;border:0;background:transparent;padding:22px 14px;display:grid;grid-template-columns:90px 1fr 22px;gap:15px;text-align:left;align-items:start;color:#111}
.faq-item button span{color:#cdcdcd}
.faq-item button strong{font-size:14px;font-weight:600;line-height:1.3}
.faq-item button b{font-size:18px;font-weight:400;text-align:right}
.faq-item.is-open{background:#f8f8f8}
.faq-answer{display:none;padding:0 50px 24px 119px;font-size:14px;line-height:1.45;max-width:720px}
.faq-answer p{margin:0}
.faq-item.is-open .faq-answer{display:block}
.offer-consultation{padding-top:112px;overflow:hidden;background:#fff}
.offer-consultation__head{text-align:center;position:relative;z-index:2}
.offer-consultation h2{font-size:clamp(54px,4.4vw,84px);line-height:1.14;font-weight:400;margin-bottom:36px}
.offer-consultation h2 em{font-style:italic;font-weight:500}
.offer-consultation__head>p{font-size:18px;max-width:710px;margin:0 auto 40px}
.offer-consultation__head .button{font-size:15px;max-width:500px}
.offer-consultation__gallery{height:590px;display:grid;grid-template-columns:1.05fr .62fr 1.28fr 1.05fr .62fr;gap:24px;align-items:end;margin-top:-12px;transform:translateY(80px)}
.offer-consultation__gallery figure{margin:0;overflow:hidden;background:#eee}
.offer-consultation__gallery figure:nth-child(1){height:440px}
.offer-consultation__gallery figure:nth-child(2){height:500px;transform:translateY(55px)}
.offer-consultation__gallery figure:nth-child(3){height:565px;transform:translateY(105px)}
.offer-consultation__gallery figure:nth-child(4){height:505px;transform:translateY(35px)}
.offer-consultation__gallery figure:nth-child(5){height:430px}
.offer-consultation__gallery img{width:100%;height:100%;object-fit:cover}
.offer-consultation__gallery figure:nth-child(1) img{object-position:68% center}
.offer-consultation__gallery figure:nth-child(2) img{object-position:22% center}
.offer-consultation__gallery figure:nth-child(4) img{object-position:center}
.offer-page .site-footer{position:relative;z-index:3}

@media(max-width:1450px){
  .offer-hero__grid{gap:80px}
  .offer-jump{grid-template-columns:repeat(3,1fr);padding-inline:var(--gutter)}
  .offer-jump a:first-child:before,.offer-jump a:first-child:after{display:none}
  .offer-first__copy{gap:80px}
  .offer-process__layout{gap:80px}
  .offer-faq__layout{grid-template-columns:360px 1fr;gap:65px}
}
@media(max-width:1200px){
  .offer-hero__grid{grid-template-columns:1fr;gap:30px}
  .offer-hero__grid p{margin-left:0;max-width:650px}
  .offer-jump{height:170px}
  .offer-jump a{padding:42px 28px}
  .offer-first__copy{gap:45px}
  .offer-sector-grid{grid-template-columns:repeat(2,1fr);height:auto}
  .offer-sector-card{min-height:260px}
  .offer-sectors{height:auto;min-height:1050px;padding-bottom:120px}
  .offer-process__layout{grid-template-columns:1fr 1.4fr;gap:55px}
  .offer-faq__layout{grid-template-columns:1fr;gap:55px}
  .offer-faq__lead{min-height:auto}
  .offer-faq__contact{margin-top:45px}
}
@media(max-width:768px){
  .offer-hero{height:auto;min-height:760px}
  .offer-hero__image{object-position:52% center}
  .offer-hero__content{padding-top:160px;padding-bottom:70px;display:flex;flex-direction:column;justify-content:flex-end}
  .offer-hero h1{font-size:43px;line-height:1.16}
  .offer-hero__grid p{font-size:15px}
  .offer-jump{height:auto;display:block;padding:0 20px}
  .offer-jump a{height:125px;padding:30px 25px;border-top:0}
  .offer-jump span{font-size:18px}.offer-jump strong{font-size:21px}
  .offer-first{padding-top:70px;padding-bottom:70px}
  .offer-first__heading h2{font-size:35px;margin-bottom:40px}
  .offer-first__copy{grid-template-columns:1fr;gap:25px;font-size:15px}
  .offer-sectors{padding-top:70px;padding-bottom:70px;min-height:auto}
  .offer-sectors h2{font-size:35px;margin-bottom:40px}
  .offer-sector-grid{grid-template-columns:1fr}
  .offer-sector-card{min-height:210px;padding:35px 28px}
  .offer-sector-card.is-active{min-height:390px}
  .offer-sector-card.is-active strong{font-size:28px}
  .offer-process{padding-top:70px;padding-bottom:70px}
  .offer-process__layout{grid-template-columns:1fr;gap:45px}
  .offer-process__lead{position:static}
  .offer-process__lead h2{font-size:35px}
  .offer-timeline{padding-left:34px}
  .offer-step{grid-template-columns:38px 1fr;gap:14px;padding-bottom:52px}
  .offer-step:before{left:-39px}
  .offer-step img{width:38px;height:38px}
  .offer-step h3{font-size:21px;margin-bottom:18px}
  .offer-faq{padding-top:70px;padding-bottom:70px}
  .offer-faq__lead h2{font-size:35px}
  .faq-item button{grid-template-columns:38px 1fr 20px;padding:20px 8px}
  .faq-answer{padding:0 35px 22px 61px}
  .offer-consultation{padding-top:70px}
  .offer-consultation h2{font-size:42px}
  .offer-consultation__head>p{font-size:15px}
  .offer-consultation__head .button{min-height:72px;padding:15px 24px}
  .offer-consultation__gallery{height:500px;grid-template-columns:repeat(5,65vw);gap:12px;overflow-x:auto;align-items:center;transform:translateY(50px);padding-bottom:10px}
  .offer-consultation__gallery figure{height:400px!important;transform:none!important}
}


/* Shared navigation and brand corrections — v6 */
.brand.brand--wide{left:24px;top:15px;width:245px;height:63px}
.brand.brand--wide img{width:100%;height:100%;object-fit:contain;object-position:left center}
.site-header:not(.site-header--light) .brand.brand--wide img{filter:brightness(0) invert(1)}
.site-header--light .brand.brand--wide img{filter:none}
.socials img{width:16px;height:16px;object-fit:contain}
.socials a[aria-label="LinkedIn"] img{width:15px;height:15px}
@media (max-width:1200px){
  .site-header .brand.brand--wide{width:210px;height:54px;left:20px;top:17px}
}
@media (max-width:720px){
  .site-header .brand.brand--wide,
  .site-header--light .brand.brand--wide,
  .site-header--overlay .brand.brand--wide{left:16px;top:14px;width:190px;height:56px}
}
@media (max-width:390px){
  .site-header .brand.brand--wide,
  .site-header--light .brand.brand--wide,
  .site-header--overlay .brand.brand--wide{width:168px;height:52px}
}


/* ABOUT PAGE — node 1:6976 */
.about-page .site-header--light .desktop-nav a.is-current{font-weight:600}
.about-main{background:#fff}
.about-hero{height:1045px;position:relative;overflow:hidden;background:#fff}
.about-hero__image{position:absolute;left:14px;right:14px;top:12px;width:calc(100% - 28px);height:939px;object-fit:cover;object-position:center top}
.about-hero__content{height:100%;position:relative;padding-top:28px}
.about-hero .breadcrumb{color:#111;margin-bottom:28px}
.about-hero h1{font-size:clamp(52px,3.75vw,72px);line-height:1.3;max-width:800px;margin:0;position:relative;z-index:2;text-transform:uppercase}
.about-hero__lead{position:absolute;right:0;bottom:28px;width:min(620px,44%);display:grid;grid-template-columns:14px 1fr;gap:46px;align-items:start;font-size:18px;line-height:1.45}
.about-hero__lead i{display:block;width:14px;height:14px;background:var(--red);margin-top:6px}
.about-founder{padding-top:120px;padding-bottom:120px}
.about-founder .eyebrow{margin-bottom:48px}
.about-founder__grid{display:grid;grid-template-columns:minmax(0,777px) minmax(420px,649px);justify-content:space-between;gap:100px;align-items:start}
.about-founder h2{font-size:44px;max-width:600px;margin-bottom:82px}
.about-copy{font-size:18px;line-height:1.45}
.about-copy p{margin-bottom:22px}
.about-copy strong{font-weight:600}
.about-founder__portrait{margin:0;height:768px;overflow:hidden}
.about-founder__portrait img{width:100%;height:100%;object-fit:cover}
.about-generation{height:950px;position:relative;overflow:hidden;color:#fff}
.about-generation__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.about-generation__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(61,43,31,.94) 0,rgba(61,43,31,.84) 56%,rgba(61,43,31,0) 56%)}
.about-generation__content{position:relative;height:100%;padding-top:169px}
.about-generation .eyebrow{width:50%;margin-bottom:44px;border-color:rgba(255,255,255,.45)}
.about-generation h2{font-size:44px;max-width:680px;margin-bottom:72px}
.about-generation .about-copy{width:49%;max-width:777px;font-size:18px}
.about-copy--light{color:#fff}
.about-team{padding-top:180px;padding-bottom:175px}
.about-team .eyebrow{margin-bottom:48px}
.about-team h2{font-size:44px;margin-bottom:52px}
.about-team__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px 30px}
.about-team__grid figure{margin:0;height:426px;overflow:hidden;background:#eee}
.about-team__grid img{width:100%;height:100%;object-fit:cover}
.about-pillars{padding-top:148px;padding-bottom:148px}
.about-pillars .eyebrow{margin-bottom:44px}
.about-pillars h2{font-size:44px;text-transform:uppercase;margin-bottom:75px}
.about-pillars__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}
.about-pillars__grid article{min-height:290px;border-bottom:1px solid #cfcfcf;padding-bottom:35px}
.about-pillars__grid h3{font-size:24px;line-height:1.15;margin-bottom:28px;min-height:58px}
.about-pillars__grid p{font-size:14px;line-height:1.45;color:#262626;margin:0}
.about-numbers{background:var(--brown);color:#fff;padding-top:148px;padding-bottom:0}
.about-numbers .eyebrow{margin-bottom:42px}
.about-numbers h2{font-size:44px;margin-bottom:52px}
.about-numbers__grid{display:grid;grid-template-columns:repeat(4,1fr)}
.about-numbers__grid article{height:285px;padding:50px;border-right:1px solid #634d3f;border-bottom:1px solid #634d3f}
.about-numbers__grid article:nth-child(4n){border-right:0}
.about-numbers__grid article:nth-child(n+5){border-bottom:0}
.about-numbers__grid strong{display:block;font-size:44px;font-weight:500;letter-spacing:-.04em;margin-bottom:18px;white-space:nowrap}
.about-numbers__grid p{font-size:18px;line-height:1.38;max-width:295px;margin:0}
.about-clients{background:var(--brown)}
.about-clients__grid{display:grid;grid-template-columns:repeat(8,1fr)}
.about-clients__grid>div{height:158px;background:#fff;border:1px solid #d5d5d5;display:grid;place-items:center;padding:24px}
.about-clients img{width:100%;height:100%;object-fit:contain}
.about-cta{height:768px;position:relative;overflow:hidden;color:#fff}
.about-cta>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.about-cta__shade{position:absolute;inset:0;background:rgba(0,0,0,.48)}
.about-cta__content{position:relative;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.about-cta h2{font-size:clamp(48px,3.75vw,72px);line-height:1.3;max-width:1120px;margin-bottom:42px}
.about-cta .button{min-height:74px;padding-inline:42px;text-transform:uppercase;font-weight:500}

@media(max-width:1450px){
  .about-founder__grid{grid-template-columns:minmax(0,1.1fr) minmax(400px,.9fr);gap:70px}
  .about-founder__portrait{height:680px}
  .about-copy{font-size:16px}
  .about-team__grid{gap:20px}
  .about-team__grid figure{height:360px}
  .about-pillars__grid{gap:22px}
  .about-numbers__grid article{padding:38px}
  .about-numbers__grid strong{font-size:38px}
}
@media(max-width:1200px){
  .about-hero{height:900px}.about-hero__image{height:790px}.about-hero__lead{width:55%}
  .about-founder__grid{grid-template-columns:1fr 1fr;gap:50px}.about-founder h2{margin-bottom:50px}.about-founder__portrait{height:620px}
  .about-generation__shade{background:linear-gradient(90deg,rgba(61,43,31,.94),rgba(61,43,31,.82) 66%,rgba(61,43,31,.12))}.about-generation .eyebrow,.about-generation .about-copy{width:62%}
  .about-team__grid{grid-template-columns:repeat(2,1fr)}.about-team__grid figure{height:52vw;max-height:560px}
  .about-pillars__grid{grid-template-columns:repeat(2,1fr);gap:45px 30px}
  .about-numbers__grid{grid-template-columns:repeat(2,1fr)}.about-numbers__grid article:nth-child(2n){border-right:0}.about-numbers__grid article:nth-child(n+5){border-bottom:1px solid #634d3f}.about-numbers__grid article:nth-child(n+7){border-bottom:0}
  .about-clients__grid{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:768px){
  .about-hero{height:760px}.about-hero__image{left:8px;right:8px;top:8px;width:calc(100% - 16px);height:610px;object-position:62% center}.about-hero__content{padding-top:22px}.about-hero h1{font-size:39px;line-height:1.18;max-width:95%}.about-hero__lead{left:20px;right:20px;bottom:26px;width:auto;grid-template-columns:10px 1fr;gap:18px;font-size:14px}.about-hero__lead i{width:10px;height:10px}
  .about-founder{padding-top:72px;padding-bottom:72px}.about-founder__grid{grid-template-columns:1fr}.about-founder h2{font-size:34px;margin-bottom:40px}.about-founder__portrait{height:115vw;max-height:690px;order:-1}.about-copy{font-size:15px}
  .about-generation{height:auto;min-height:900px}.about-generation__shade{background:rgba(61,43,31,.84)}.about-generation__content{padding-top:74px;padding-bottom:74px}.about-generation .eyebrow,.about-generation .about-copy{width:100%}.about-generation h2{font-size:35px;margin-bottom:42px}
  .about-team{padding-top:72px;padding-bottom:72px}.about-team h2{font-size:35px}.about-team__grid{grid-template-columns:repeat(2,1fr);gap:10px}.about-team__grid figure{height:62vw;max-height:none}
  .about-pillars{padding-top:72px;padding-bottom:72px}.about-pillars h2{font-size:35px}.about-pillars__grid{grid-template-columns:1fr;gap:35px}.about-pillars__grid article{min-height:auto}.about-pillars__grid h3{min-height:auto}
  .about-numbers{padding-top:72px}.about-numbers h2{font-size:35px}.about-numbers__grid{grid-template-columns:1fr}.about-numbers__grid article{height:auto;min-height:210px;border-right:0!important;border-bottom:1px solid #634d3f!important;padding:35px 24px}.about-numbers__grid article:last-child{border-bottom:0!important}.about-numbers__grid strong{font-size:35px;white-space:normal}.about-numbers__grid p{font-size:16px}
  .about-clients__grid{grid-template-columns:repeat(2,1fr)}.about-clients__grid>div{height:120px;padding:18px}
  .about-cta{height:620px}.about-cta h2{font-size:38px}.about-cta .button{min-height:64px;padding-inline:26px}
}

/* AWARDS PAGE */
.awards-main{background:#fff}
.awards-intro{height:198px;padding-top:27px;border-bottom:1px solid #ddd}
.awards-intro .breadcrumb{margin-bottom:7px;color:#111}
.awards-intro h1{font-size:58px;line-height:1.14;margin:0;font-weight:500;letter-spacing:-.035em}
.awards-gallery{--award-gap:14px;--award-tile:calc((100vw - 70px)/4);display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,var(--award-tile));gap:var(--award-gap);padding:14px;background:#fff}
.award-tile{position:relative;overflow:hidden;margin:0;background:#ddd}
.award-tile img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.award-tile:hover img{transform:scale(1.015)}
.award-tile:nth-child(1){grid-column:1;grid-row:1}
.award-tile:nth-child(2){grid-column:2;grid-row:1}
.award-tile:nth-child(3){grid-column:3/5;grid-row:1/3}
.award-tile:nth-child(4){grid-column:1;grid-row:2}
.award-tile:nth-child(5){grid-column:2;grid-row:2}
.award-tile:nth-child(6){grid-column:1/3;grid-row:3/5}
.award-tile:nth-child(7){grid-column:3;grid-row:3}
.award-tile:nth-child(8){grid-column:4;grid-row:3}
.award-tile:nth-child(9){grid-column:3;grid-row:4}
.award-tile:nth-child(10){grid-column:4;grid-row:4}
.award-tile__caption{position:absolute;left:14px;right:14px;bottom:14px;min-height:98px;padding:22px 24px;background:rgba(232,232,232,.96);display:flex;flex-direction:column;justify-content:center;color:#111}
.award-tile__caption span{font-size:12px;line-height:1.2;margin-bottom:10px}
.award-tile__caption strong{font-size:18px;line-height:1.25;font-weight:500;letter-spacing:-.02em}

@media(max-width:900px){
  .awards-intro{height:auto;padding:28px 0 42px}.awards-intro h1{font-size:48px}
  .awards-gallery{--award-tile:calc((100vw - 42px)/2);grid-template-columns:repeat(2,1fr);grid-template-rows:none;grid-auto-rows:var(--award-tile)}
  .award-tile:nth-child(n){grid-column:auto;grid-row:auto}
  .award-tile:nth-child(3),.award-tile:nth-child(6){grid-column:1/3;grid-row:span 2}
}
@media(max-width:560px){
  .awards-intro h1{font-size:40px}
  .awards-gallery{--award-tile:calc(100vw - 28px);grid-template-columns:1fr;grid-auto-rows:var(--award-tile)}
  .award-tile:nth-child(n){grid-column:1;grid-row:auto}
  .award-tile:nth-child(3),.award-tile:nth-child(6){grid-column:1;grid-row:span 1}
  .award-tile__caption{left:10px;right:10px;bottom:10px;min-height:88px;padding:18px 20px}
}

/* BLOG / AKTUALNOŚCI */
.blog-main{background:#fff}
.blog-intro{padding-top:20px;padding-bottom:65px}
.blog-intro .container{position:relative}
.blog-intro .breadcrumb{margin-bottom:2px;color:#111}
.blog-intro h1{text-align:center;font-size:58px;line-height:1.15;margin:0;font-weight:500;letter-spacing:-.04em}
.blog-list{width:min(1045px,calc(100% - 40px));margin:0 auto;padding:0 0 120px;display:flex;flex-direction:column;gap:48px}
.blog-card{height:451px;display:grid;grid-template-columns:506px minmax(0,539px);align-items:start;position:relative}
.blog-card__image{display:block;width:506px;height:451px;overflow:hidden;position:relative;z-index:2;background:#eee}
.blog-card__image img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .45s ease}
.blog-card:hover .blog-card__image img{transform:scale(1.015)}
.blog-card__body{height:391px;margin-top:30px;border:1px solid #dadada;padding:62px 56px 43px 63px;display:flex;flex-direction:column;align-items:flex-start;position:relative;background:#fff}
.blog-card h2{font-size:24px;line-height:1.3;margin:0 0 14px;font-weight:500;letter-spacing:-.03em}
.blog-card__meta{font-size:12px;line-height:1.35;margin:0 0 20px;display:flex;gap:11px;align-items:center}
.blog-card__body>p:not(.blog-card__meta){font-size:14px;line-height:1.3;margin:0;max-width:407px}
.blog-card__more{margin-top:auto;align-self:flex-end;display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:700}
.blog-card__more span{font-size:15px;font-weight:400;line-height:1}
.blog-card--reverse{grid-template-columns:minmax(0,539px) 506px}
.blog-card--reverse .blog-card__image{grid-column:2;grid-row:1}
.blog-card--reverse .blog-card__body{grid-column:1;grid-row:1;padding-left:63px;padding-right:56px}
.blog-page .desktop-nav a.is-current{font-weight:600}

@media(max-width:1100px){
  .blog-list{width:min(900px,calc(100% - 60px))}
  .blog-card,.blog-card--reverse{height:auto;grid-template-columns:1fr 1fr}
  .blog-card__image{width:100%;height:43vw;max-height:430px}
  .blog-card__body{height:calc(43vw - 30px);max-height:400px;min-height:340px;padding:48px 42px 35px}
}
@media(max-width:768px){
  .blog-intro{padding-top:28px;padding-bottom:46px}.blog-intro h1{text-align:left;font-size:40px;margin-top:14px}
  .blog-list{width:calc(100% - 40px);padding-bottom:72px;gap:42px}
  .blog-card,.blog-card--reverse{display:flex;flex-direction:column;height:auto}
  .blog-card__image,.blog-card--reverse .blog-card__image{order:1;width:100%;height:76vw;max-height:520px}
  .blog-card__body,.blog-card--reverse .blog-card__body{order:2;width:100%;height:auto;min-height:330px;max-height:none;margin-top:0;padding:34px 28px 28px}
  .blog-card h2{font-size:22px}.blog-card__body>p:not(.blog-card__meta){font-size:13px}.blog-card__more{margin-top:38px}
}


/* V12 OFFLINE — LOCAL ASSETS + COMPLETE VIEW SET */
.site-header:not(.site-header--light) .brand img{filter:brightness(0) invert(1)}
.site-header--light .brand img{filter:none}
.desktop-nav a.is-current{font-weight:700}
.socials a{font-family:Arial,sans-serif;font-weight:700;color:#fff}
.socials a span{font-size:12px;line-height:1;text-transform:lowercase}
.breadcrumb{display:flex;gap:9px;align-items:center;font-size:13px;color:#777;margin-bottom:70px;flex-wrap:wrap}.breadcrumb a:hover{color:#111}.breadcrumb--light{color:rgba(255,255,255,.75)}
.section-heading{max-width:760px;margin-bottom:60px}
/* sector pages */
.sector-hero{padding:70px 0 0;background:#fff;overflow:hidden}.sector-hero__grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:end;margin-bottom:70px}.sector-hero h1{font-size:clamp(44px,3.75vw,72px);max-width:930px;margin:0}.sector-hero__grid p{max-width:560px;margin-left:auto;font-size:18px}.sector-hero>img{width:100%;height:660px;object-fit:cover;background:#f4f4f1}.sector-intro__grid{display:grid;grid-template-columns:1fr 1fr;gap:110px}.sector-intro__grid h2{font-size:44px;max-width:600px}.sector-intro__grid p{font-size:15px;max-width:650px}.sector-av{padding-bottom:120px}.sector-av__image{height:820px;background:#f8f8f2;overflow:hidden}.sector-av__image img{width:100%;height:100%;object-fit:cover}.sector-features{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #d9d9d2}.sector-feature{padding:44px 32px 55px;border-right:1px solid #d9d9d2}.sector-feature:last-child{border-right:0}.sector-feature span{font-size:13px;color:var(--red)}.sector-feature h3{font-size:22px;margin:55px 0 22px}.sector-feature p{font-size:14px;color:#555}.sector-projects{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.sector-project-card{border:1px solid #ddd;background:#fff}.sector-project-card>img{width:100%;height:460px;object-fit:cover}.sector-project-card>div{padding:28px}.sector-project-card small{color:var(--red)}.sector-project-card h3{font-size:24px;margin:12px 0 30px}.sector-cta{min-height:680px;background-image:linear-gradient(rgba(0,0,0,.5),rgba(0,0,0,.5)),var(--sector-bg);background-size:cover;background-position:center;display:flex;align-items:center;text-align:center;color:#fff}.sector-cta h2{font-size:clamp(42px,3.7vw,70px);margin-bottom:45px}
/* contact */
.contact-hero{display:grid;grid-template-columns:1fr 1fr;min-height:980px}.contact-hero__copy{padding:100px max(60px,8.7vw)}.contact-hero h1{font-size:72px;margin:70px 0 28px}.contact-hero__copy>p{max-width:600px}.contact-hero>img{width:100%;height:100%;object-fit:cover}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:70px;border-top:1px solid #ddd;padding-top:30px}.contact-details small{display:block;color:var(--red);font-weight:700;margin-bottom:15px}.contact-paths{padding:60px 0}.contact-paths .container{display:grid;grid-template-columns:repeat(3,1fr);gap:70px}.contact-paths article{border-top:1px solid #bbb;padding-top:25px}.contact-paths h3{font-size:20px}.contact-paths p,.contact-paths a{font-size:14px}.contact-form-section{background:var(--brown);color:#fff;padding:120px 0}.contact-form-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:120px}.contact-form-grid h2{font-size:50px}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:28px}.contact-form label,.career-form label{display:flex;flex-direction:column;gap:10px;font-size:13px}.contact-form label:nth-child(n+3){grid-column:1/-1}.contact-form input,.contact-form select,.contact-form textarea,.career-form input,.career-form select{background:transparent;color:inherit;border:0;border-bottom:1px solid rgba(255,255,255,.35);padding:14px 0;outline:0}.contact-form textarea{border:1px solid rgba(255,255,255,.35);padding:15px}.contact-form select option{color:#111}.contact-form button{justify-self:start}
/* publications */
.simple-title{padding:70px 0 80px}.simple-title h1{font-size:72px}.publication-grid{display:grid;grid-template-columns:repeat(6,1fr);padding-bottom:120px}.publication-logo{height:130px;border-right:1px solid #ddd;border-bottom:1px solid #ddd;display:grid;place-items:center}.publication-logo:nth-child(6n){border-right:0}.publication-logo span{font-size:24px;font-weight:700;color:#222}.publication-logo span:before{content:'◉';color:#f0bc25;font-size:12px;margin-right:7px}
/* career */
.career-hero{min-height:950px;position:relative;color:#fff;overflow:hidden}.career-hero>img,.career-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.career-shade{background:linear-gradient(90deg,rgba(13,31,43,.86),rgba(13,31,43,.35))}.career-content{position:relative;z-index:1;min-height:950px;display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.career-content h1{font-size:72px}.career-content>div>p{max-width:550px}.career-content ul{padding-left:20px;margin-top:45px}.career-form{background:#fff;color:#111;padding:55px;display:flex;flex-direction:column;gap:25px}.career-form h2{font-size:34px}.career-form input,.career-form select{border-color:#bbb}.file-label input{border:1px dashed #aaa;padding:18px}
/* image fidelity */
.projects-gallery img,.about-team img,.award-item img,.blog-card__image img{image-rendering:auto}
@media(max-width:1200px){.desktop-nav{max-height:100vh;overflow:auto;padding:100px 20px}.sector-features{grid-template-columns:repeat(2,1fr)}.sector-feature:nth-child(2){border-right:0}.sector-project-card>img{height:360px}.contact-hero h1{font-size:58px}.publication-grid{grid-template-columns:repeat(4,1fr)}.publication-logo:nth-child(6n){border-right:1px solid #ddd}.publication-logo:nth-child(4n){border-right:0}}
@media(max-width:768px){.site-header--light .brand,.site-header--overlay .brand--wide{width:180px;height:46px;top:17px}.site-header:not(.site-header--light) .brand img{filter:brightness(0) invert(1)}.sector-hero{padding-top:28px}.sector-hero__grid,.sector-intro__grid{grid-template-columns:1fr;gap:28px}.sector-hero h1{font-size:40px}.sector-hero__grid p{font-size:15px;margin-left:0}.sector-hero>img{height:72vw;min-height:330px}.sector-av{padding-bottom:72px}.sector-av__image{height:80vw;min-height:360px}.sector-features{grid-template-columns:1fr}.sector-feature{border-right:0;padding-inline:0}.sector-projects{grid-template-columns:1fr}.sector-project-card>img{height:95vw;max-height:520px}.sector-cta{min-height:580px;padding:70px 0}.sector-cta h2{font-size:38px}.contact-hero{grid-template-columns:1fr;min-height:0}.contact-hero__copy{padding:40px 20px 60px}.contact-hero h1{font-size:44px;margin-top:35px}.contact-hero>img{height:80vw}.contact-details{grid-template-columns:1fr;gap:20px}.contact-paths .container{grid-template-columns:1fr}.contact-form-grid{grid-template-columns:1fr;gap:50px}.contact-form{grid-template-columns:1fr}.contact-form label:nth-child(n){grid-column:auto}.contact-form-grid h2{font-size:38px}.simple-title h1{font-size:46px}.publication-grid{grid-template-columns:repeat(2,1fr);padding-bottom:70px}.publication-logo:nth-child(4n){border-right:1px solid #ddd}.publication-logo:nth-child(2n){border-right:0}.career-content{grid-template-columns:1fr;gap:40px;padding-top:80px;padding-bottom:70px}.career-content h1{font-size:46px}.career-form{padding:30px 22px}.career-hero,.career-content{min-height:1100px}.footer__logo{width:170px;height:auto;max-height:100px;margin-bottom:35px}}

.year-select-wrap{position:relative}.year-select-wrap:after{content:'⌄';position:absolute;right:15px;top:50%;transform:translateY(-55%);pointer-events:none;font-size:16px}.year-select-wrap select{padding-right:42px}
.slider-arrow{font-size:18px;line-height:1}.offer-step__glyph{width:42px;height:42px;border:1px solid #111;display:grid!important;place-items:center;color:#111!important;font-size:12px!important;margin:0!important}.offer-step img{display:none}
@media(max-width:768px){.site-header,.site-header--light,.site-header--overlay{height:70px}.site-header--overlay{background:#fff;color:#111;backdrop-filter:none}.site-header:not(.site-header--light) .brand img{filter:none}.site-header--light .brand,.site-header--overlay .brand--wide,.site-header .brand{left:16px;top:14px;width:42px;height:42px;overflow:hidden}.site-header .brand img{width:146px;height:42px;max-width:none;object-fit:contain;object-position:left center}.menu-toggle{top:11px;right:9px}.offer-step__glyph{width:38px;height:38px}}


/* =========================================================
   V14 — FIGMA REFINED SECTORS / PUBLICATIONS / CONTACT / CAREER
   Photos are deliberately local neutral placeholders.
   ========================================================= */
.site-header--sector{height:94px;background:rgba(0,0,0,.12);backdrop-filter:blur(12px)}
.site-header--sector .brand.brand--wide{left:24px;top:15px;width:245px;height:63px}
.site-header--sector .brand img{filter:none!important;object-fit:contain;object-position:left center}
.site-header--sector .desktop-nav{top:39px;font-size:14px}
.site-header--sector .header-cta{top:13px;right:24px;background:#fff;color:#111}
.sector-page{background:#fff}
.sector__hero{height:802px;position:relative;color:#fff;overflow:hidden}
.sector__hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sector__hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.7),rgba(0,0,0,.28) 58%,rgba(0,0,0,.38))}
.sector__hero-inner{position:relative;z-index:1;height:100%;padding-top:210px}
.sector__hero .breadcrumb{margin-bottom:12px;color:rgba(255,255,255,.72)}
.sector__hero-copy{height:460px;display:grid;grid-template-columns:minmax(0,912px) minmax(360px,528px);justify-content:space-between;align-items:end;border-bottom:1px solid rgba(255,255,255,.35);padding-bottom:88px}
.sector__hero h1{font-size:clamp(50px,3.75vw,72px);line-height:1.13;text-transform:uppercase;max-width:1020px;margin:0}
.sector__hero-copy p{font-size:18px;line-height:1.45;margin:0 0 0 auto;max-width:528px}
.sector__vision{padding:120px 0 44px}
.sector__vision .eyebrow{margin-bottom:68px}
.sector__vision-grid{display:grid;grid-template-columns:672px 678px;justify-content:space-between;gap:100px}
.sector__vision-grid p{font-size:16px;line-height:1.48;margin:0}
.sector__collage{height:777px;margin:0 14px 120px;position:relative;overflow:hidden;background:var(--brown)}
.sector__collage>img{width:100%;height:100%;object-fit:cover}
.sector__pillars-wrap{background:var(--ivory);padding:120px 0 110px}
.sector__pillars-wrap .eyebrow{margin-bottom:68px;text-transform:uppercase}
.sector__pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.sector__pillar{min-height:450px;padding:42px 39px 38px;background:rgba(255,255,255,.2);border:1px solid rgba(61,43,31,.1);display:flex;flex-direction:column}
.sector__pillar-num{font-size:12px;border-bottom:1px solid rgba(61,43,31,.25);padding-bottom:18px;display:flex;align-items:center;gap:8px}
.sector__pillar-num span{width:8px;height:8px;background:var(--red)}
.sector__pillar-icon{font-size:37px;margin-top:34px;height:42px}
.sector__pillar h3{font-size:22px;line-height:1.08;margin:29px 0 20px;min-height:48px}
.sector__pillar p{font-size:14px;line-height:1.48;margin:0}
.sector__cases{padding:130px 0 120px}
.sector__cases .eyebrow{margin-bottom:42px}
.sector__cases h2{font-size:50px;margin-bottom:68px}
.sector__projects{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.sector__project{height:634px;position:relative;overflow:hidden;background:var(--brown)}
.sector__project-media,.sector__project-media img{width:100%;height:100%}
.sector__project-media img{object-fit:cover}
.sector__project-panel{position:absolute;left:14px;right:14px;bottom:14px;min-height:81px;background:var(--ivory);padding:30px 34px;clip-path:polygon(0 0,100% 0,100% calc(100% - 42px),calc(100% - 42px) 100%,0 100%);transition:.25s ease}
.sector__project.is-active .sector__project-panel{min-height:361px}
.sector__project h3{font-size:22px;margin-bottom:24px}
.sector__project p{font-size:14px;line-height:1.5;max-width:415px;margin-bottom:48px}
.sector__project:not(.is-active) p,.sector__project:not(.is-active) .text-link{display:none}
.sector__cta{height:768px;position:relative;color:#fff;overflow:hidden;display:flex;align-items:center}
.sector__cta>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sector__cta-shade{position:absolute;inset:0;background:rgba(0,0,0,.52)}
.sector__cta-inner{position:relative;z-index:1;text-align:center}
.sector__cta h2{font-size:clamp(54px,4.05vw,78px);line-height:1.09;max-width:1370px;margin:0 auto 28px}
.sector__cta p{max-width:778px;margin:0 auto 34px;font-size:16px}
.sector__cta .button{text-transform:uppercase}

/* Publications */
.publications-v14{padding:70px 0 120px}
.publications-v14 .breadcrumb{margin-bottom:55px}
.publications-v14 h1{font-size:72px;margin-bottom:80px}
.publication-v14__grid{display:grid;grid-template-columns:repeat(7,1fr);border-left:1px solid #ddd;border-top:1px solid #ddd}
.publication-v14__cell{height:154px;border-right:1px solid #ddd;border-bottom:1px solid #ddd;display:grid;place-items:center;background:#fff}
.publication-v14__fake-logo{display:flex;align-items:center;gap:5px;color:#272727;font-family:Arial,sans-serif;opacity:.55}
.publication-v14__fake-logo i{display:block;width:10px;height:10px;border-radius:50%;background:#bdbdbd}
.publication-v14__fake-logo span{font-size:18px;font-weight:700;letter-spacing:-.08em}
.publication-v14__cell:first-child .publication-v14__fake-logo{opacity:1}
.publication-v14__cell:first-child .publication-v14__fake-logo i{background:#f4bd19}

/* Contact */
.contact-v14__hero{display:grid;grid-template-columns:1fr 1fr;min-height:956px;background:#f4f4f2}
.contact-v14__copy{padding:72px max(60px,8.7vw) 80px}
.contact-v14__copy .breadcrumb{margin-bottom:74px}
.contact-v14__copy h1{font-size:72px;text-transform:uppercase;max-width:650px;margin-bottom:34px}
.contact-v14__lead{max-width:590px;font-size:17px;margin-bottom:70px}
.contact-v14__facts{border-top:1px solid #d3d3d3}
.contact-v14__facts article{display:grid;grid-template-columns:180px 1fr;padding:24px 0;border-bottom:1px solid #d3d3d3;gap:30px}
.contact-v14__facts small,.contact-v14__paths small{font-size:11px;color:#6e6e6e}
.contact-v14__facts p{font-size:14px;margin:0;line-height:1.5}
.contact-v14__image{width:100%;align-self:center;overflow:visible}
.contact-v14__image img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain}
.contact-v14__paths{padding:65px 0 90px}
.contact-v14__paths .container{display:grid;grid-template-columns:repeat(3,1fr);gap:72px}
.contact-v14__paths article{border-top:1px solid #bdbdbd;padding-top:22px}
.contact-v14__paths h3{font-size:19px;min-height:44px;margin:24px 0}
.contact-v14__paths p{font-size:14px;margin:0}
.contact-v14__form{background:var(--brown);color:#fff;padding:120px 0}
.contact-v14__form .eyebrow{border-color:rgba(255,255,255,.25);margin-bottom:68px}
.contact-v14__form-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:120px}
.contact-v14__form h2{font-size:50px;max-width:540px}
.contact-v14__form form{display:grid;grid-template-columns:1fr 1fr;gap:36px 28px}
.contact-v14__form label{display:flex;flex-direction:column;font-size:13px;gap:8px}
.contact-v14__form label.wide{grid-column:1/-1}
.contact-v14__form input,.contact-v14__form textarea{background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.38);color:#fff;padding:14px 0;outline:0;font:inherit}
.contact-v14__form textarea{border:1px solid rgba(255,255,255,.38);padding:16px;resize:vertical}
.contact-v14__form button{justify-self:start}

/* Career */
.career-v14{min-height:1110px;position:relative;color:#fff;overflow:hidden;padding:150px 0 80px}
.career-v14__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.career-v14__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,27,38,.9),rgba(13,27,38,.54))}
.career-v14__grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1.02fr;gap:100px;align-items:start}
.career-v14__copy{padding-top:30px}
.career-v14__copy .breadcrumb{margin-bottom:60px}
.career-v14__copy h1{font-size:72px;text-transform:uppercase;margin-bottom:40px}
.career-v14__copy>p{max-width:610px;font-size:15px;line-height:1.55}
.career-v14__recruit{margin:50px 0;border-top:1px solid rgba(255,255,255,.35);padding-top:22px}
.career-v14__recruit small{font-size:11px}
.career-v14__recruit p{font-size:14px;margin:15px 0 0}
.career-v14__copy h3{font-size:18px;margin-top:45px}
.career-v14__copy ul{padding-left:20px;font-size:14px;line-height:1.65;max-width:650px}
.career-v14__form{background:#fff;color:#111;min-height:760px;padding:72px 70px;display:flex;flex-direction:column;gap:34px}
.career-v14__form h2{font-size:42px;margin-bottom:22px}
.career-v14__form label{display:flex;flex-direction:column;font-size:13px;gap:8px}
.career-v14__form input{border:0;border-bottom:1px solid #bbb;padding:14px 0;outline:0;font:inherit}
.career-v14__file{border:1px dashed #aaa;padding:22px!important}
.career-v14__file input{border:0!important;padding:10px 0 0!important}
.career-v14__form button{align-self:flex-start;margin-top:auto}

@media(max-width:1200px){
  .site-header--sector .desktop-nav{display:none}
  .site-header--sector .header-cta{right:90px}
  .site-header--sector .menu-toggle{display:block}
  .sector__hero-copy{grid-template-columns:1fr .75fr;gap:50px}
  .sector__vision-grid{grid-template-columns:1fr 1fr}
  .sector__pillars{grid-template-columns:repeat(2,1fr)}
  .publication-v14__grid{grid-template-columns:repeat(4,1fr)}
  .contact-v14__copy{padding-left:50px;padding-right:50px}
  .career-v14__grid{gap:50px}
}
@media(max-width:768px){
  .site-header--sector{position:relative;height:70px;background:#fff;color:#111;backdrop-filter:none;border-bottom:1px solid #ededed}
  .site-header--sector .brand.brand--wide{left:16px;top:14px;width:42px;height:42px;overflow:hidden}
  .site-header--sector .brand img{width:146px;height:42px;max-width:none;object-fit:contain;object-position:left center;filter:none!important}
  .site-header--sector .header-cta{display:none}
  .site-header--sector .menu-toggle{top:11px;right:9px}
  .sector__hero{height:804px}
  .sector__hero-inner{padding-top:42px}
  .sector__hero .breadcrumb{margin-bottom:48px}
  .sector__hero-copy{height:auto;display:block;border-bottom:0;padding-bottom:0}
  .sector__hero h1{font-size:38px;line-height:1.14;margin-top:260px}
  .sector__hero-copy p{font-size:14px;margin-top:28px}
  .sector__vision{padding:58px 0 44px}
  .sector__vision .eyebrow{margin-bottom:44px}
  .sector__vision-grid{grid-template-columns:1fr;gap:25px}
  .sector__vision-grid p{font-size:14px}
  .sector__collage{height:520px;margin:0 0 72px}
  
  .sector__pillars-wrap{padding:58px 0 66px}
  .sector__pillars-wrap .eyebrow{margin-bottom:38px}
  .sector__pillars{grid-template-columns:1fr;gap:0}
  .sector__pillar{min-height:0;border-left:0;border-right:0;border-bottom:0;padding:30px 0 36px}
  .sector__pillar h3{font-size:20px;min-height:0;margin-top:22px}
  .sector__pillar p{font-size:14px}
  .sector__cases{padding:64px 0 72px}
  .sector__cases h2{font-size:38px;margin-bottom:42px}
  .sector__projects{grid-template-columns:1fr;gap:30px}
  .sector__project{height:560px}
  .sector__project.is-active .sector__project-panel{min-height:250px}
  .sector__project-panel{left:12px;right:12px;bottom:12px;padding:25px}
  .sector__project:not(.is-active) .sector__project-panel{min-height:88px}
  .sector__cta{height:630px}
  .sector__cta h2{font-size:38px}
  .sector__cta p{font-size:14px}
  .publication-v14__grid{grid-template-columns:repeat(2,1fr)}
  .publications-v14{padding:38px 0 72px}
  .publications-v14 h1{font-size:44px;margin-bottom:48px}
  .publication-v14__cell{height:142px}
  .contact-v14__hero{grid-template-columns:1fr;min-height:0}
  .contact-v14__copy{padding:38px 14px 58px}
  .contact-v14__copy .breadcrumb{margin-bottom:50px}
  .contact-v14__copy h1{font-size:44px;margin-bottom:28px}
  .contact-v14__lead{font-size:14px;margin-bottom:45px}
  .contact-v14__facts article{grid-template-columns:1fr;gap:14px}
  .contact-v14__image{height:auto}
  .contact-v14__image img{width:100%;height:auto;object-fit:contain}
  .contact-v14__paths{padding:0 0 70px}
  .contact-v14__paths .container{display:flex;flex-direction:column-reverse;gap:0}
  .contact-v14__paths article{padding:27px 0}
  .contact-v14__form{padding:62px 0}
  .contact-v14__form-grid{grid-template-columns:1fr;gap:38px}
  .contact-v14__form h2{font-size:38px}
  .contact-v14__form form{grid-template-columns:1fr}
  .contact-v14__form label.wide{grid-column:auto}
  .career-v14{padding:54px 0 0;min-height:0}
  .career-v14__grid{grid-template-columns:1fr;gap:40px;width:100%}
  .career-v14__copy{padding:0 14px 30px}
  .career-v14__copy .breadcrumb{margin-bottom:52px}
  .career-v14__copy h1{font-size:44px}
  .career-v14__form{min-height:620px;padding:45px 28px}
  .career-v14__form h2{font-size:36px}
}


/* ========================================================================== 
   UI KIT / INTERACTIONS — Figma node 153:9838
   ========================================================================== */
:root{--ui-red:#de1d3e;--ui-ease:cubic-bezier(.22,.61,.36,1)}

/* CTA: inactive black/white → hover red, as in UI Kit. */
.button,.header-cta{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border:0;
  transition:background-color .28s var(--ui-ease),color .28s var(--ui-ease),box-shadow .28s var(--ui-ease);
}
.button{min-height:72px;padding:0 42px;font-size:16px;font-weight:500;line-height:1}
.button--dark{min-height:72px;background:#000;color:#fff}
.button--light{min-height:72px;background:#fff;color:#111}
.button:hover,.button:focus-visible,.header-cta:hover,.header-cta:focus-visible{
  background:var(--ui-red)!important;
  color:#fff!important;
  transform:none;
}
.header-cta{min-height:72px;display:inline-flex;align-items:center;justify-content:center;padding:0 42px;font-size:16px;font-weight:500;line-height:1}
.button:focus-visible,.header-cta:focus-visible,.desktop-nav a:focus-visible{outline:2px solid var(--ui-red);outline-offset:3px}

/* Navbar: red text + red rule on hover/current, matching UI Kit active state. */
.desktop-nav a{
  position:relative;
  opacity:1;
  transition:color .22s ease;
}
.desktop-nav a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  height:1px;
  bottom:-21px;
  background:var(--ui-red);
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .28s var(--ui-ease);
}
.desktop-nav a:hover,.desktop-nav a:focus-visible,.desktop-nav a.is-current{color:var(--ui-red)}
.desktop-nav a:hover::after,.desktop-nav a:focus-visible::after,.desktop-nav a.is-current::after{transform:scaleX(1)}
.site-header--overlay .desktop-nav a::after{bottom:-20px}
.footer__bottom nav a{transition:color .22s ease}
.footer__bottom nav a:hover,.footer__bottom nav a:focus-visible{color:var(--ui-red)}

/* Filters from UI kit. */
.category-filters button,.project-status-tabs button{
  transition:color .2s ease,background-color .2s ease,border-color .2s ease;
}
.category-filters button:hover,.category-filters button:focus-visible,
.project-status-tabs button:hover,.project-status-tabs button:focus-visible{
  color:var(--ui-red);
}

/* Home header changes to the white UI-kit navbar once the page starts moving. */
.home-page .site-header{
  transition:background-color .32s ease,color .32s ease,box-shadow .32s ease,backdrop-filter .32s ease;
}
.home-page .site-header.is-scrolled{
  position:fixed;
  height:94px;
  background:rgba(255,255,255,.96);
  color:#111;
  border-bottom:1px solid rgba(0,0,0,.08);
  box-shadow:0 8px 28px rgba(0,0,0,.04);
  backdrop-filter:blur(18px);
}
.home-page .site-header.is-scrolled .brand--wide img{filter:none}
.home-page .site-header.is-scrolled .header-cta{background:#000;color:#fff}
.home-page .site-header.is-scrolled .menu-toggle{color:#111}

/* ========================================================================== 
   HOME MOTION — based on supplied "rekomendacje animacje - str. główna.mp4"
   ========================================================================== */
.has-motion .home-page .hero h1,
.has-motion .home-page .hero p,
.has-motion .home-page .hero__actions,
.has-motion .home-page .hero__line{
  opacity:0;
  transform:translate3d(0,28px,0);
  transition:opacity .75s var(--ui-ease),transform .9s var(--ui-ease);
}
.has-motion .home-page.is-loaded .hero h1{opacity:1;transform:none;transition-delay:.12s}
.has-motion .home-page.is-loaded .hero p{opacity:1;transform:none;transition-delay:.28s}
.has-motion .home-page.is-loaded .hero__actions{opacity:1;transform:none;transition-delay:.42s}
.has-motion .home-page.is-loaded .hero__line{opacity:1;transform:translateX(-50%);transition-delay:.55s}
.home-page .hero{background-attachment:scroll}

.motion-reveal{
  opacity:0;
  transform:translate3d(0,42px,0);
  transition:opacity .72s var(--ui-ease),transform .9s var(--ui-ease);
  transition-delay:var(--motion-delay,0ms);
  will-change:transform,opacity;
}
.motion-reveal.motion-from-left{transform:translate3d(-54px,0,0)}
.motion-reveal.motion-from-right{transform:translate3d(54px,0,0)}
.motion-reveal.is-visible{opacity:1;transform:translate3d(0,0,0)}

/* Case-study image starts as a cut-out and opens to full bleed while scrolling. */
.featured-project{
  overflow:hidden;
  isolation:isolate;
  background:var(--brown);
  background-image:none!important;
}
.featured-project__visual{
  position:absolute;
  inset:0;
  z-index:-1;
  background-image:linear-gradient(rgba(0,0,0,.22),rgba(0,0,0,.36)),url("../assets/images/featured-project.jpg");
  background-size:cover;
  background-position:center;
  clip-path:polygon(44% 8%,56% 8%,62% 16%,62% 84%,56% 92%,44% 92%,38% 84%,38% 16%);
  transform:scale(1.055);
  will-change:clip-path,transform;
}
.has-motion .featured-project__content,.has-motion .featured-project .project-tabs{
  opacity:0;
  transform:translate3d(0,30px,0);
  transition:opacity .55s ease,transform .7s var(--ui-ease);
}
.has-motion .featured-project.project-open .featured-project__content,
.has-motion .featured-project.project-open .project-tabs{opacity:1;transform:none}
.featured-project.project-open .featured-project__content{transition-delay:.1s}
.featured-project.project-open .project-tabs{transition-delay:.18s}

/* Project tabs and sector cards react before click, not only after click. */
.project-tabs button{transition:background-color .25s ease,color .25s ease}
.project-tabs button:hover,.project-tabs button:focus-visible{background:rgba(255,255,255,.92);color:#111}
.sector-card{transition:background-color .38s var(--ui-ease),color .38s var(--ui-ease),flex .38s var(--ui-ease)}
.sector-card:hover,.sector-card:focus-visible{background:var(--ivory);color:#171717}
.sector-card:hover strong,.sector-card:focus-visible strong{font-size:34px}

.stats__grid article.motion-reveal{transform:translate3d(0,55px,0)}
.stats__grid article.motion-reveal.is-visible{transform:none}
.stats__grid strong{font-variant-numeric:tabular-nums}
.client-logos img.motion-reveal{transform:translate3d(24px,0,0)}
.client-logos img.motion-reveal.is-visible{transform:none}

.experience{background-attachment:fixed}
.experience__panel{will-change:transform,opacity}

.consultation__gallery figure{
  will-change:transform;
  transition:transform .08s linear;
}

.manifesto-card{
  will-change:transform;
  transition:opacity .55s ease,transform .12s linear;
}

@media (max-width:1100px){
  .desktop-nav a::after{display:none}
  .home-page .site-header.is-scrolled{height:82px}
}
@media (max-width:700px){
  .button{min-height:64px;padding-inline:28px;font-size:14px}
  .home-page .site-header.is-scrolled{height:82px}
  .experience{background-attachment:scroll}
  .consultation__gallery figure{transition:transform .35s ease}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .motion-reveal,.has-motion .home-page .hero h1,.has-motion .home-page .hero p,.has-motion .home-page .hero__actions,.has-motion .home-page .hero__line,
  .has-motion .featured-project__content,.has-motion .featured-project .project-tabs{opacity:1!important;transform:none!important}
  .featured-project__visual{clip-path:none!important;transform:none!important}
}


/* HOME v20 fixes */

.home-page .site-header.site-header--overlay{
  display:grid;
  grid-template-columns:245px minmax(0,1fr) auto;
  align-items:center;
  gap:24px;
  padding:15px 24px 0;
  height:94px;
}
.home-page .site-header.site-header--overlay .brand--wide{
  position:relative;left:auto;top:auto;width:245px;height:63px;
}
.home-page .site-header.site-header--overlay .desktop-nav{
  position:relative;left:auto;top:auto;transform:none;justify-self:center;min-width:0;display:flex;justify-content:center;
}
.home-page .site-header.site-header--overlay .header-cta{
  position:relative;right:auto;top:auto;justify-self:end;white-space:nowrap;
}
.home-page .site-header.is-scrolled.site-header--overlay{
  padding-top:0;
}
.home-page .site-header.is-scrolled.site-header--overlay .brand--wide,
.home-page .site-header.is-scrolled.site-header--overlay .desktop-nav,
.home-page .site-header.is-scrolled.site-header--overlay .header-cta{top:auto}
.hero{background:#111;background-image:none!important;overflow:hidden}
.hero__slides{position:absolute;inset:0;z-index:0}
.hero__slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transform:scale(1.04);transition:opacity .9s ease,transform 7s ease}
.hero__slide::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.12) 12%,rgba(0,0,0,.2) 35%,rgba(0,0,0,.88) 100%)}
.hero__slide.is-active{opacity:1;transform:scale(1)}
.hero__content,.hero__line{position:relative;z-index:1}
.hero__title,.hero__text,.hero__cta-primary,.hero__cta-secondary{transition:opacity .35s ease,transform .35s ease}
.hero.is-switching .hero__title,.hero.is-switching .hero__text,.hero.is-switching .hero__cta-primary,.hero.is-switching .hero__cta-secondary{opacity:0;transform:translateY(12px)}
.featured-project__link,.featured-project__text,.featured-project__title,.project-meta__tag,.project-meta__years{transition:opacity .3s ease,transform .3s ease}
.featured-project.is-switching .featured-project__link,.featured-project.is-switching .featured-project__text,.featured-project.is-switching .featured-project__title,.featured-project.is-switching .project-meta__tag,.featured-project.is-switching .project-meta__years{opacity:0;transform:translateY(14px)}
.project-tabs button{position:relative;overflow:hidden;padding-bottom:34px}
.project-tabs button::after{
  content:"";position:absolute;left:0;bottom:0;height:3px;width:100%;
  transform-origin:left center;transform:scaleX(var(--tab-progress,0));
  background:var(--red);transition:transform .12s linear,background-color .25s ease;
}
.project-tabs button.is-active::after{background:var(--red)}
.project-tabs button.is-active{background:#fff;color:#111}
.featured-project__visual{background-position:center center}
.experience{padding-bottom:120px;margin-bottom:70px;overflow:visible}
.experience__panel{
  margin-top:235px;
  transform:translateY(110px);
  box-shadow:0 32px 80px rgba(0,0,0,.26);
}
.consultation{padding-top:90px;padding-bottom:120px}
.consultation__inner{position:relative}
.consultation__gallery{
  position:relative;
  height:760px;
  display:grid;
  grid-template-columns:1.02fr .54fr 1.34fr 1.06fr .72fr;
  gap:24px;
  align-items:start;
  margin-top:40px;
  transform:none;
}
.consultation__gallery figure{position:relative}
.consultation__gallery figure:nth-child(1){height:370px;transform:translateY(140px)}
.consultation__gallery figure:nth-child(2){height:300px;transform:translateY(250px)}
.consultation__gallery figure:nth-child(3){height:560px;transform:translateY(100px)}
.consultation__gallery figure:nth-child(4){height:420px;transform:translateY(155px)}
.consultation__gallery figure:nth-child(5){height:330px;transform:translateY(48px)}
.consultation__gallery figure img{box-shadow:0 14px 38px rgba(0,0,0,.08)}
.consultation__gallery figure:nth-child(1) img{object-position:48% center}
.consultation__gallery figure:nth-child(2) img{object-position:18% center}
.consultation__gallery figure:nth-child(3) img{object-position:center}
.consultation__gallery figure:nth-child(4) img{object-position:64% center}
.consultation__gallery figure:nth-child(5) img{object-position:center}
.manifesto{height:1450px;padding-top:0;overflow:visible;position:relative}
.manifesto__inner{position:relative;min-height:1450px}
.manifesto__title{position:sticky;top:140px;z-index:1;text-align:center;padding-top:220px}
.manifesto__title h2{margin:0 auto;max-width:1060px}
.manifesto__cards{position:relative;z-index:2;margin-top:320px;align-items:start}
.manifesto-card{box-shadow:0 20px 60px rgba(0,0,0,.08)}
@media(max-width:1100px){
  .home-page .site-header.site-header--overlay{grid-template-columns:210px minmax(0,1fr) auto;padding-inline:20px}
  .home-page .site-header.site-header--overlay .brand--wide{width:210px;height:54px}
  .consultation__gallery{height:620px;gap:16px}
  .consultation__gallery figure:nth-child(1){height:300px}
  .consultation__gallery figure:nth-child(2){height:250px}
  .consultation__gallery figure:nth-child(3){height:470px}
  .consultation__gallery figure:nth-child(4){height:350px}
  .consultation__gallery figure:nth-child(5){height:280px}
  .manifesto{height:1320px}
  .manifesto__inner{min-height:1320px}
  .manifesto__cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
}
@media(max-width:768px){
  .home-page .site-header.site-header--overlay{display:block;height:70px;padding:0}
  .hero__slides,.hero__slide{background-position:center}
  .experience{margin-bottom:0;padding-bottom:0}
  .experience__panel{transform:none;margin-top:220px;box-shadow:none}
  .consultation{padding-bottom:40px}
  .consultation__gallery{grid-template-columns:repeat(5,68vw);height:auto;overflow-x:auto;gap:12px;padding-bottom:10px}
  .consultation__gallery figure:nth-child(n){height:400px!important;transform:none!important}
  .manifesto{height:auto;padding-top:120px}
  .manifesto__inner{min-height:0}
  .manifesto__title{position:relative;top:auto;padding-top:0}
  .manifesto__cards{margin-top:54px;grid-template-columns:1fr}
}


/* ========================================================================== 
   HOME v21 — Figma section geometry + motion corrections
   ========================================================================== */

/* Navbar: links occupy the complete navbar height, underline sits on its lower edge. */
.site-header--light .desktop-nav,
.site-header--overlay .desktop-nav,
.site-header--sector .desktop-nav{
  top:0;
  height:94px;
  align-items:stretch;
}
.site-header--light .desktop-nav a,
.site-header--overlay .desktop-nav a,
.site-header--sector .desktop-nav a{
  display:flex;
  height:100%;
  align-items:center;
  position:relative;
}
.site-header--light .desktop-nav a::after,
.site-header--overlay .desktop-nav a::after,
.site-header--sector .desktop-nav a::after{
  bottom:0!important;
}
.home-page .site-header.site-header--overlay .desktop-nav{
  height:79px;
  align-self:end;
}
.home-page .site-header.is-scrolled.site-header--overlay .desktop-nav{
  height:94px;
  align-self:center;
}

/* Case Study after hero — exact two-column proportions from Figma:
   left 558px, right 642px inside the 1586px content grid. */
.intro .container{overflow:visible}
.intro__grid{
  grid-template-columns:minmax(0,558px) minmax(0,642px);
  justify-content:space-between;
  gap:0;
  width:100%;
}
.intro__grid h2{width:558px;max-width:100%}
.intro__copy{width:642px;max-width:100%;margin-left:auto}

/* About/experience — NO parallax. Figma uses an 838px image inside a 943px section,
   while the brown 706x511 panel continues 105px below the photo. */
.experience{
  height:943px;
  min-height:943px;
  padding:0;
  margin:0 0 120px;
  overflow:visible;
  background:none!important;
  background-attachment:scroll!important;
  isolation:isolate;
}
.experience::before{
  content:"";
  position:absolute;
  z-index:-2;
  left:0;right:0;top:0;
  height:838px;
  background:url("../assets/images/about-hero.jpg") center center/cover no-repeat;
}
.experience::after{
  content:"";
  position:absolute;
  z-index:-1;
  left:0;right:0;top:0;bottom:auto;
  height:838px;
  background:rgba(0,0,0,.18);
  pointer-events:none;
}
.experience .container{
  position:relative;
  height:943px;
  z-index:1;
}
.experience .eyebrow{
  position:absolute;
  left:0;right:0;top:120px;
  margin:0;
}
.experience h2{
  position:absolute;
  left:0;top:220px;
  width:726px;
  max-width:48%;
  margin:0;
}
.experience__panel{
  position:absolute;
  right:0;
  top:432px;
  width:706px;
  max-width:47%;
  height:511px;
  margin:0;
  padding:80px 78px;
  transform:none!important;
  background:var(--brown);
  box-shadow:none;
}

/* Consultation: the actual design is a full-screen 1920x957 composition.
   The five visible tiles are slices placed at x=-66 / 437 / 706 / 1246 / 1650.
   Extreme images are intentionally higher than the middle. */
.consultation{
  position:relative;
  height:957px;
  min-height:957px;
  padding:0;
  overflow:hidden;
}
.consultation__inner{
  width:100%;
  max-width:none;
  height:957px;
  margin:0;
  position:relative;
  text-align:center;
}
.consultation h2{
  position:absolute;
  z-index:4;
  top:0;
  left:max(20px,calc((100vw - 1586px)/2));
  right:max(20px,calc((100vw - 1586px)/2));
  margin:0;
  font-size:84px;
  line-height:1.14;
  text-align:left;
  white-space:nowrap;
}
.consultation h2 em{
  display:block;
  margin-left:396px;
  color:#000;
  font-style:italic;
}
.consultation__inner>p{
  position:absolute;
  z-index:4;
  top:234px;
  left:50%;
  width:656px;
  max-width:calc(100vw - 40px);
  transform:translateX(-50%);
  margin:0;
  font-size:18px;
  line-height:1.4;
}
.consultation__inner>.button{
  position:absolute;
  z-index:5;
  top:316px;
  left:50%;
  min-height:77px;
  transform:translateX(-50%);
}
.consultation__inner>.button:hover{transform:translateX(-50%) translateY(-2px)}
.consultation__gallery{
  position:absolute;
  z-index:1;
  top:216px;
  left:-66px;
  width:calc(100vw + 66px);
  height:741px;
  margin:0;
  display:grid;
  grid-template-columns:23.716% 11.934% 25.579% 18.731% 13.595%;
  column-gap:1.611%;
  align-items:start;
  transform:none;
  overflow:visible;
}
.consultation__gallery figure{
  position:relative;
  width:100%;
  margin:0;
  overflow:hidden;
  background:#eee;
  will-change:transform;
}
.consultation__gallery figure:nth-child(1){height:418px;top:0}
.consultation__gallery figure:nth-child(2){height:418px;top:177px}
.consultation__gallery figure:nth-child(3){height:496px;top:245px}
.consultation__gallery figure:nth-child(4){height:496px;top:177px}
.consultation__gallery figure:nth-child(5){height:527px;top:18px}
.consultation__gallery img{width:100%;height:100%;object-fit:cover}
.consultation__gallery figure:nth-child(1) img{object-position:center}
.consultation__gallery figure:nth-child(2) img{object-position:center}
.consultation__gallery figure:nth-child(3) img{object-position:center}
.consultation__gallery figure:nth-child(4) img{object-position:center}
.consultation__gallery figure:nth-child(5) img{object-position:center}

/* Manifesto: Figma's hidden continuation shows the intended order:
   01 left, 02 right, 03 left. The viewport is pinned and the cards travel upward
   over a stationary heading. Pinning ends before the footer. */
.manifesto{
  height:2150px;
  min-height:2150px;
  padding:0;
  overflow:visible;
  position:relative;
  background:#fff;
}
.manifesto__pin-zone{
  height:1950px;
  position:relative;
}
.manifesto__viewport{
  position:sticky;
  top:0;
  height:982px;
  overflow:hidden;
  background:#fff;
}
.manifesto__inner{
  height:982px;
  position:relative;
  text-align:center;
}
.manifesto__title{
  position:absolute;
  z-index:1;
  top:392px;
  left:50%;
  width:min(1448px,calc(100vw - 120px));
  padding:0;
  transform:translateX(-50%);
  text-align:center;
}
.manifesto__title h2{
  margin:0;
  font-size:44px;
  line-height:1.14;
}
.manifesto__cards{
  position:absolute;
  z-index:2;
  inset:0;
  display:block;
  margin:0;
}
.manifesto-card{
  position:absolute;
  width:446px;
  max-width:36vw;
  margin:0;
  transition:none;
}
.manifesto-card:nth-child(1){
  left:-12px;
  top:680px;
  height:514px;
}
.manifesto-card:nth-child(2){
  right:-10px;
  top:1161px;
  height:480px;
}
.manifesto-card:nth-child(3){
  left:-12px;
  top:1732px;
  height:478px;
}

/* Slider rhythm — slightly quicker, matching the recommendation video better. */
.hero__slide{transition:opacity .6s ease,transform 4.8s ease}
.featured-project__title,
.featured-project__text,
.featured-project__link,
.project-meta__tag,
.project-meta__years{transition-duration:.22s}

/* Desktop/tablet fallbacks */
@media(max-width:1400px){
  .intro__grid{grid-template-columns:minmax(0,42%) minmax(0,45%);gap:10%}
  .intro__grid h2,.intro__copy{width:auto}
  .consultation h2{font-size:clamp(58px,4.4vw,84px)}
  .consultation h2 em{margin-left:20vw}
}
@media(max-width:1100px){
  .experience h2{max-width:60%}
  .experience__panel{max-width:56%;padding:60px}
  .manifesto-card{max-width:42vw}
}
@media(max-width:768px){
  .site-header--light .desktop-nav,
  .site-header--overlay .desktop-nav,
  .site-header--sector .desktop-nav{height:auto}
  .intro__grid{grid-template-columns:1fr;gap:30px}
  .intro__copy{width:auto;margin-left:0}
  .experience{
    height:auto;min-height:980px;margin-bottom:0;padding:72px 0;background-image:url("../assets/images/about-hero.jpg")!important;background-size:cover!important;
  }
  .experience::before,.experience::after{display:none}
  .experience .container{height:auto}
  .experience .eyebrow,.experience h2,.experience__panel{position:relative;left:auto;right:auto;top:auto}
  .experience .eyebrow{margin-bottom:58px}
  .experience h2{max-width:100%;width:auto;margin-bottom:220px}
  .experience__panel{width:100%;max-width:none;height:auto;padding:45px 30px}
  .consultation{
    height:auto;min-height:900px;padding:70px 0 20px;
  }
  .consultation__inner{height:auto;min-height:830px}
  .consultation h2{
    position:relative;top:auto;left:auto;right:auto;
    padding:0 20px;font-size:43px;text-align:center;white-space:normal;
  }
  .consultation h2 em{margin-left:0}
  .consultation__inner>p{
    position:relative;top:auto;left:auto;transform:none;width:auto;margin:28px 20px 24px;font-size:15px;
  }
  .consultation__inner>.button{
    position:relative;top:auto;left:auto;transform:none;
  }
  .consultation__inner>.button:hover{transform:translateY(-2px)}
  .consultation__gallery{
    position:relative;top:auto;left:auto;width:100%;height:470px;margin-top:48px;
    display:grid;grid-template-columns:repeat(5,68vw);column-gap:12px;overflow-x:auto;padding:0 20px;
  }
  .consultation__gallery figure:nth-child(n){
    top:auto;height:400px!important;transform:none!important;
  }
  .manifesto{height:auto;min-height:0;padding:120px 0 70px}
  .manifesto__pin-zone{height:auto}
  .manifesto__viewport{position:relative;top:auto;height:auto;overflow:visible}
  .manifesto__inner{height:auto}
  .manifesto__title{
    position:relative;top:auto;left:auto;width:auto;transform:none;padding:0;
  }
  .manifesto__title h2{font-size:31px}
  .manifesto__cards{
    position:relative;inset:auto;display:grid;grid-template-columns:1fr;gap:24px;margin-top:60px;
  }
  .manifesto-card:nth-child(n){
    position:relative;left:auto;right:auto;top:auto;width:100%;max-width:none;height:auto;min-height:360px;transform:none!important;
  }
}


/* ========================================================================== 
   HOME / HEADER v22
   ========================================================================== */

/* Desktop navbar follows the UI-kit geometry on every page:
   logo left, full-height links centered, CTA right. */
@media (min-width:1101px){
  .site-header,
  .site-header--light,
  .site-header--overlay,
  .site-header--sector,
  .home-page .site-header.site-header--overlay{
    height:94px;
    display:grid;
    grid-template-columns:245px minmax(0,1fr) 247px;
    align-items:center;
    column-gap:24px;
    padding:0 24px;
  }

  .site-header .brand.brand--wide,
  .site-header--light .brand.brand--wide,
  .site-header--overlay .brand.brand--wide,
  .site-header--sector .brand.brand--wide,
  .home-page .site-header.site-header--overlay .brand--wide{
    position:relative;
    left:auto;
    top:auto;
    width:245px;
    height:63px;
    align-self:center;
    justify-self:start;
  }

  .site-header .desktop-nav,
  .site-header--light .desktop-nav,
  .site-header--overlay .desktop-nav,
  .site-header--sector .desktop-nav,
  .home-page .site-header.site-header--overlay .desktop-nav,
  .home-page .site-header.is-scrolled.site-header--overlay .desktop-nav{
    position:relative;
    left:auto;
    top:auto;
    transform:none;
    width:max-content;
    max-width:100%;
    height:94px;
    align-self:center;
    justify-self:center;
    display:flex;
    align-items:stretch;
    justify-content:center;
    gap:24px;
  }

  .site-header .desktop-nav a{
    display:flex;
    align-items:center;
    justify-content:center;
    height:100%;
    padding:0;
  }

  .site-header .desktop-nav a::after{
    bottom:0!important;
  }

  .site-header .header-cta,
  .site-header--light .header-cta,
  .site-header--overlay .header-cta,
  .site-header--sector .header-cta,
  .home-page .site-header.site-header--overlay .header-cta{
    position:relative;
    right:auto;
    top:auto;
    width:247px;
    min-width:247px;
    height:67px;
    min-height:67px;
    padding:0 42px;
    align-self:center;
    justify-self:end;
    display:flex;
    align-items:center;
    justify-content:center;
    line-height:1;
    white-space:nowrap;
  }

  /* On scroll the home navbar keeps exactly the same vertical centering. */
  .home-page .site-header.is-scrolled{
    height:94px;
    padding:0 24px;
  }
}

/* HOME HERO: the first section is a single static photo from the Figma design.
   Only the text/CTA entrance remains animated. */
.home-page .hero{
  min-height:1084px;
  background-image:
    linear-gradient(to bottom,rgba(0,0,0,0) 38%,rgba(0,0,0,.62) 76%,rgba(0,0,0,.90) 100%),
    url("../assets/images/home-hero.jpg")!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}
.home-page .hero__slides{display:none!important}

.home-page .hero__content{
  position:relative;
  z-index:1;
  width:min(1586px,calc(100% - 40px));
  margin-inline:auto;
  padding-bottom:137px;
}
.home-page .hero__content h1{
  max-width:912px;
}
.home-page .hero__content p{
  max-width:597px;
}

.home-page .hero__line{
  position:absolute!important;
  z-index:1;
  left:50%;
  bottom:94px;
  width:min(1586px,calc(100% - 40px));
  margin:0;
  transform:translateX(-50%)!important;
}

/* The manifesto heading is intentionally static. It must never inherit
   the generic .motion-reveal transform, otherwise translateX(-50%) is lost
   and the heading jumps to the right. */
.manifesto__title{
  opacity:1!important;
  transform:translateX(-50%)!important;
  transition:none!important;
  will-change:auto!important;
}
.manifesto__title.motion-reveal,
.manifesto__title.motion-reveal.is-visible{
  opacity:1!important;
  transform:translateX(-50%)!important;
}

/* Mobile keeps the normal flow. */
@media(max-width:768px){
  .home-page .hero__content{
    width:calc(100% - 40px);
    padding-bottom:120px;
  }
  .home-page .hero__line{
    width:calc(100% - 40px);
    bottom:70px;
  }
  .manifesto__title,
  .manifesto__title.motion-reveal,
  .manifesto__title.motion-reveal.is-visible{
    transform:none!important;
  }
}

/* ========================================================================== 
   HOME / FOOTER v23 — final alignment polish
   ========================================================================== */

/* Home navbar starts fully transparent over the hero; it becomes white only
   after the scroll state is applied by JS. */
.home-page .site-header.site-header--overlay:not(.is-scrolled){
  background:transparent!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  box-shadow:none!important;
  border-bottom:0!important;
}

/* Preserve the reveal animation without breaking the 50% centering of the
   consultation lead paragraph. */
.consultation__inner>p.motion-reveal{
  left:50%;
  transform:translateX(-50%) translateY(42px);
}
.consultation__inner>p.motion-reveal.is-visible{
  left:50%;
  transform:translateX(-50%) translateY(0);
}

/* Manifesto heading: no translate-based centering at all. The title spans the
   whole inner container and the h2 is centered inside it, so it cannot drift. */
.manifesto__title,
.manifesto__title.motion-reveal,
.manifesto__title.motion-reveal.is-visible{
  left:0!important;
  right:0!important;
  width:100%!important;
  transform:none!important;
  text-align:center!important;
}
.manifesto__title h2{
  width:min(1448px,100%);
  max-width:1448px;
  margin:0 auto!important;
  text-align:center!important;
}

/* Footer: the lower navigation row has no separator above it. The back-to-top
   control sits on the same horizontal band as the footer menu. */
.footer__bottom{
  border-top:0!important;
}
.back-to-top{
  top:0!important;
}

@media(max-width:768px){
  .consultation__inner>p.motion-reveal,
  .consultation__inner>p.motion-reveal.is-visible{
    left:auto;
    transform:none;
  }
  .manifesto__title,
  .manifesto__title.motion-reveal,
  .manifesto__title.motion-reveal.is-visible{
    left:auto!important;
    right:auto!important;
    width:auto!important;
    transform:none!important;
  }
  .back-to-top{
    top:0!important;
  }
}


/* ==========================================================================
   ASSET REFERENCES v24 — supplied source files are added by the integrator.
   ========================================================================== */

.scroll-cue{
  font-size:0!important;
}
.scroll-cue img{
  display:block;
  width:54px;
  height:61px;
  object-fit:contain;
}

.reason__icon{
  width:38px;
  height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 38px;
  font-size:0;
}
.reason__icon img{
  display:block;
  width:38px;
  height:38px;
  object-fit:contain;
}

.socials a{
  display:flex!important;
  align-items:center;
  justify-content:center;
}
.socials a img{
  display:block;
  width:auto!important;
  height:auto!important;
  max-width:22px;
  max-height:18px;
  object-fit:contain;
}
.socials a[aria-label="LinkedIn"] img{
  width:16px!important;
  height:16px!important;
}
.socials a[aria-label="Pinterest"] img{
  width:16px!important;
  height:16px!important;
}
.socials a[aria-label="Instagram"] img{
  width:16px!important;
  height:16px!important;
}
.socials a[aria-label="Facebook"] img{
  width:16px!important;
  height:16px!important;
}
.socials a[aria-label="YouTube"] img{
  width:22px!important;
  height:16px!important;
}

.back-to-top{
  font-size:0!important;
}
.back-to-top img{
  display:block;
  width:22px;
  height:25px;
  object-fit:contain;
}


/* ==========================================================================
   v25 — remaining WHY-US icons + footer back-to-top geometry
   ========================================================================== */

.back-to-top{
  width:95px!important;
  height:95px!important;
  min-width:95px;
  min-height:95px;
  top:0!important;
  display:flex!important;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
}

.back-to-top img{
  width:22px;
  height:25px;
  object-fit:contain;
}

@media(max-width:768px){
  .back-to-top{
    width:70px!important;
    height:70px!important;
    min-width:70px;
    min-height:70px;
  }
}


/* v26 baseline — Home locked */
.client-logos {
  margin-top: 100px;
}


/* ==========================================================================
   OFERTA v28 — Figma refinement
   Home remains frozen; rules below are scoped to .offer-page.
   ========================================================================== */

/* Hero decorative line from Figma. */
.offer-page .offer-hero__content{
  position:relative;
  z-index:2;
}
.offer-page .offer-hero__line-art{
  position:absolute;
  z-index:2;
  left:0;
  right:0;
  top:0;
  height:100%;
  pointer-events:none;
}
.offer-page .offer-hero__line{
  position:absolute;
  display:block;
  background:rgba(255,255,255,.78);
  transform-origin:left center;
}
.offer-page .offer-hero__line--main{
  left:8.8%;
  right:8.7%;
  top:64.2%;
  height:1px;
}
.offer-page .offer-hero__line--accent{
  left:8.8%;
  width:33.4%;
  top:64.2%;
  height:2px;
  background:rgba(255,255,255,.92);
}
.offer-page .offer-hero__line--left-diagonal{
  left:0;
  top:75.7%;
  width:12.3%;
  height:1px;
  transform:rotate(-45deg);
}
.offer-page .offer-hero__line--right-diagonal{
  left:91.3%;
  top:64.2%;
  width:12.3%;
  height:1px;
  transform:rotate(-45deg);
}

/* Under-hero navigation — arrow visually follows the Figma 'received' direction. */
.offer-page .offer-jump b{
  line-height:1;
  display:flex;
  align-items:center;
  justify-content:center;
}

/* Timeline: real icons instead of numbered boxes. */
.offer-page .offer-timeline{
  --timeline-progress:0;
  position:relative;
  padding-left:48px;
}
.offer-page .offer-timeline::before{
  content:"";
  position:absolute;
  z-index:0;
  left:0;
  top:17px;
  bottom:17px;
  width:1px;
  background:#e8e8e8;
}
.offer-page .offer-timeline::after{
  content:"";
  position:absolute;
  z-index:1;
  left:-1px;
  top:17px;
  width:3px;
  height:calc((100% - 34px) * var(--timeline-progress));
  max-height:calc(100% - 34px);
  background:#5a4032;
  border-radius:2px;
  transition:height .08s linear;
}
.offer-page .offer-step{
  position:relative;
  z-index:2;
}
.offer-page .offer-step::before{
  content:"";
  position:absolute;
  z-index:3;
  left:-54px;
  top:15px;
  width:12px;
  height:12px;
  box-sizing:border-box;
  border:0;
  border-radius:50%;
  background:#ededed;
  transition:
    width .26s ease,
    height .26s ease,
    left .26s ease,
    top .26s ease,
    background-color .26s ease,
    box-shadow .26s ease;
}
.offer-page .offer-step.is-passed::before,
.offer-page .offer-step.is-active::before{
  left:-57px;
  top:12px;
  width:18px;
  height:18px;
  background:#5a4032;
}
.offer-page .offer-step.is-active::before{
  box-shadow:0 0 0 14px rgba(90,64,50,.12);
}
.offer-page .offer-step__glyph{
  width:42px!important;
  height:42px!important;
  min-width:42px;
  display:flex!important;
  align-items:center;
  justify-content:center;
  border:0!important;
  padding:0!important;
  margin:0!important;
  color:inherit!important;
  background:transparent!important;
}
.offer-page .offer-step__glyph img{
  display:block!important;
  width:42px!important;
  height:42px!important;
  object-fit:contain;
}
.offer-page .offer-step>div>span{
  color:var(--red);
}

/* Reuse the approved Home consultation composition and its pictures. */
.offer-page .consultation{
  margin-top:0;
}
.offer-page .consultation__gallery figure{
  will-change:transform;
}

/* Mobile */
@media(max-width:768px){
  .offer-page .offer-hero__line--left-diagonal,
  .offer-page .offer-hero__line--right-diagonal{
    width:19%;
  }
  .offer-page .offer-timeline{
    padding-left:34px;
  }
  .offer-page .offer-timeline::before{
    left:0;
  }
  .offer-page .offer-timeline::after{
    left:-1px;
  }
  .offer-page .offer-step::before{
    left:-40px;
  }
  .offer-page .offer-step.is-passed::before,
  .offer-page .offer-step.is-active::before{
    left:-43px;
  }
  .offer-page .offer-step__glyph{
    width:38px!important;
    height:38px!important;
    min-width:38px;
  }
  .offer-page .offer-step__glyph img{
    width:38px!important;
    height:38px!important;
  }
}


/* ==========================================================================
   OFERTA v30 — exact Figma hero lines + initial blurred header
   ========================================================================== */

/* Figma node 1:3844:
   94px header, rgba(0,0,0,.25), backdrop blur 43.85px. */
.offer-page .offer-header{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:94px;
  color:#fff;
  background:rgba(0,0,0,.25)!important;
  -webkit-backdrop-filter:blur(43.85px);
  backdrop-filter:blur(43.85px);
  border-bottom:0!important;
}
.offer-page .offer-header .desktop-nav a{
  color:#fff;
}
.offer-page .offer-header .brand img{
  filter:brightness(0) invert(1);
}
.offer-page .offer-header .header-cta{
  background:#fff!important;
  color:#111!important;
}

/* Exact line artwork exported from Figma Group 407 / node 1:3838.
   In the 802px hero the group starts at y=194 and is 499px high. */
.offer-page .offer-hero__line-art{
  position:absolute;
  z-index:2;
  left:0;
  top:194px;
  width:100%;
  height:499px;
  display:block;
  object-fit:fill;
  pointer-events:none;
}

/* Figma: hero copy is below the horizontal rule.
   Rule y ~= 515px; body text starts at y ~= 562px. */
.offer-page .offer-hero__grid{
  position:relative;
}
.offer-page .offer-hero__grid p{
  position:absolute;
  z-index:3;
  top:327px;
  right:0;
  width:410px;
  max-width:410px;
  margin:0;
  font-size:18px;
  line-height:1.4;
}

/* Keep title above line artwork. */
.offer-page .offer-hero__grid h1,
.offer-page .breadcrumb{
  position:relative;
  z-index:3;
}

/* Remove the former hand-built line parts completely. */
.offer-page .offer-hero__line{
  display:none!important;
}

@media(max-width:1100px){
  .offer-page .offer-hero__line-art{
    top:24.2%;
    height:auto;
  }
  .offer-page .offer-hero__grid p{
    top:315px;
    width:360px;
    max-width:42vw;
  }
}

@media(max-width:768px){
  .offer-page .offer-header{
    height:70px;
    background:rgba(0,0,0,.25)!important;
    -webkit-backdrop-filter:blur(24px);
    backdrop-filter:blur(24px);
    color:#fff;
  }
  .offer-page .offer-header .brand img{
    filter:brightness(0) invert(1)!important;
  }
  .offer-page .offer-hero__line-art{
    top:30%;
    width:150%;
    max-width:none;
    left:-25%;
  }
  .offer-page .offer-hero__grid p{
    position:relative;
    top:auto;
    right:auto;
    width:auto;
    max-width:650px;
    margin-top:150px;
  }
}


/* ==========================================================================
   OFERTA v31 — hero copy position + no extra shade
   ========================================================================== */

.offer-page .offer-hero__grid p{
  top:215px!important;
}

/* Shade removed from HTML; keep any legacy rule inert. */
.offer-page .offer-hero__shade{
  display:none!important;
}


/* ==========================================================================
   PROJECT DETAIL v32 — slider arrows + fullscreen gallery/lightbox
   ========================================================================== */

/* The NEXT button is black, so its arrow must be white. */
.project-slider__controls button:last-child .slider-arrow{
  color:#fff!important;
}

/* Image is interactive and opens the fullscreen project gallery. */
.project-slider__track figure{
  cursor:zoom-in;
}
.project-slider__track figure img{
  user-select:none;
  -webkit-user-drag:none;
}

/* Fullscreen gallery — intentionally dependency-free, Fancybox-like UX. */
.project-lightbox{
  position:fixed;
  z-index:99999;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(7,7,7,.96);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .24s ease,visibility .24s ease;
}
.project-lightbox.is-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.project-lightbox__stage{
  position:absolute;
  inset:68px 96px 72px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.project-lightbox__image{
  display:block;
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain;
  transform:scale(.985);
  opacity:0;
  transition:opacity .22s ease,transform .28s ease;
}
.project-lightbox.is-open .project-lightbox__image{
  transform:scale(1);
  opacity:1;
}
.project-lightbox.is-changing .project-lightbox__image{
  opacity:0;
  transform:scale(.99);
}
.project-lightbox__close,
.project-lightbox__nav{
  position:absolute;
  z-index:3;
  appearance:none;
  border:0;
  background:transparent;
  color:#fff;
  padding:0;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
}
.project-lightbox__close{
  top:22px;
  right:28px;
  width:48px;
  height:48px;
  font-size:42px;
  font-weight:200;
  line-height:1;
}
.project-lightbox__nav{
  top:50%;
  width:72px;
  height:96px;
  transform:translateY(-50%);
  font-size:42px;
  line-height:1;
}
.project-lightbox__prev{left:16px}
.project-lightbox__next{right:16px}
.project-lightbox__close:hover,
.project-lightbox__nav:hover{
  opacity:.65;
}
.project-lightbox__meta{
  position:absolute;
  z-index:3;
  left:50%;
  bottom:24px;
  width:min(820px,calc(100% - 180px));
  transform:translateX(-50%);
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:22px;
  color:#fff;
  font-size:12px;
  line-height:1.35;
}
.project-lightbox__counter{
  color:rgba(255,255,255,.62);
  letter-spacing:.08em;
  white-space:nowrap;
}
.project-lightbox__caption{
  text-align:center;
  color:rgba(255,255,255,.86);
}
.project-lightbox__hint{
  color:rgba(255,255,255,.45);
  white-space:nowrap;
}
body.project-lightbox-open{
  overflow:hidden;
}

@media(max-width:768px){
  .project-lightbox__stage{
    inset:70px 14px 92px;
  }
  .project-lightbox__nav{
    top:auto;
    bottom:20px;
    width:56px;
    height:56px;
    transform:none;
    font-size:32px;
  }
  .project-lightbox__prev{left:14px}
  .project-lightbox__next{right:14px}
  .project-lightbox__close{
    top:12px;
    right:10px;
    width:50px;
    height:50px;
  }
  .project-lightbox__meta{
    left:74px;
    right:74px;
    bottom:36px;
    width:auto;
    transform:none;
    display:block;
    text-align:center;
  }
  .project-lightbox__counter{
    display:block;
    margin-bottom:4px;
  }
  .project-lightbox__hint{
    display:none;
  }
}


/* ==========================================================================
   PROJECT DETAIL v33 — equal CTA position in featured related cards
   ========================================================================== */

.related-card--featured .related-card__panel{
  display:flex;
  flex-direction:column;
}

.related-card--featured .related-card__panel .button{
  margin-top:auto;
  align-self:flex-start;
}


/* ==========================================================================
   PROJECT DETAIL v34 — featured related card expands on hover
   ========================================================================== */

/*
 * Desktop:
 * - featured card starts like a normal related card: only the title strip is visible,
 * - hover/focus expands it into the full .related-card__panel,
 * - only the CTA inside the expanded panel is a link.
 */
@media (hover:hover) and (pointer:fine) {
  .related-card--featured .related-card__panel{
    height:92px;
    min-height:0!important;
    overflow:hidden;
    padding:26px 34px;
    transition:
      height .42s cubic-bezier(.22,.61,.36,1),
      padding .42s cubic-bezier(.22,.61,.36,1);
  }

  .related-card--featured .related-card__panel h3{
    margin:0;
    padding:0;
    border-bottom-color:transparent;
    transition:
      margin .32s ease,
      padding .32s ease,
      border-color .32s ease;
  }

  .related-card--featured .related-card__panel p,
  .related-card--featured .related-card__panel .button{
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(14px);
    transition:
      opacity .22s ease,
      transform .32s ease,
      visibility 0s linear .22s;
  }

  .related-card--featured:hover .related-card__panel,
  .related-card--featured:focus .related-card__panel,
  .related-card--featured:focus-within .related-card__panel{
    height:361px;
    padding:32px 34px;
  }

  .related-card--featured:hover .related-card__panel h3,
  .related-card--featured:focus .related-card__panel h3,
  .related-card--featured:focus-within .related-card__panel h3{
    margin-bottom:20px;
    padding-bottom:18px;
    border-bottom-color:#d8d8d8;
  }

  .related-card--featured:hover .related-card__panel p,
  .related-card--featured:hover .related-card__panel .button,
  .related-card--featured:focus .related-card__panel p,
  .related-card--featured:focus .related-card__panel .button,
  .related-card--featured:focus-within .related-card__panel p,
  .related-card--featured:focus-within .related-card__panel .button{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
    transition:
      opacity .28s ease .14s,
      transform .36s ease .10s,
      visibility 0s;
  }
}

/* Touch devices have no reliable hover, so keep the complete panel visible. */
@media (hover:none), (pointer:coarse) {
  .related-card--featured .related-card__panel{
    height:auto;
    min-height:330px;
  }
}


/* ==========================================================================
   PROJECT DETAIL v35 — one related card open at a time
   ========================================================================== */

/* All related cards use the same panel model. */
.related-projects__grid .related-card--featured .related-card__panel{
  position:absolute;
  left:14px;
  right:14px;
  bottom:14px;
  display:flex;
  flex-direction:column;
  min-height:0!important;
  background:#fff;
  clip-path:polygon(0 0,100% 0,100% 85%,88% 100%,0 100%);
}

/* Desktop default: closed title strip. */
@media (hover:hover) and (pointer:fine){
  .related-projects__grid .related-card--featured .related-card__panel{
    height:92px;
    padding:26px 34px;
    overflow:hidden;
    transition:
      height .42s cubic-bezier(.22,.61,.36,1),
      padding .42s cubic-bezier(.22,.61,.36,1);
  }

  .related-projects__grid .related-card--featured .related-card__panel h3{
    margin:0;
    padding:0;
    border-bottom:1px solid transparent;
    transition:
      margin .32s ease,
      padding .32s ease,
      border-color .32s ease;
  }

  .related-projects__grid .related-card--featured .related-card__panel p,
  .related-projects__grid .related-card--featured .related-card__panel .button{
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(14px);
    transition:
      opacity .22s ease,
      transform .32s ease,
      visibility 0s linear .22s;
  }

  /* ONLY .is-active is expanded.
     First card starts active; JS moves active state to hovered/focused card. */
  .related-projects__grid .related-card--featured.is-active .related-card__panel{
    height:361px;
    padding:32px 34px;
  }

  .related-projects__grid .related-card--featured.is-active .related-card__panel h3{
    margin-bottom:20px;
    padding-bottom:18px;
    border-bottom-color:#d8d8d8;
  }

  .related-projects__grid .related-card--featured.is-active .related-card__panel p,
  .related-projects__grid .related-card--featured.is-active .related-card__panel .button{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
    transition:
      opacity .28s ease .14s,
      transform .36s ease .10s,
      visibility 0s;
  }

  .related-projects__grid .related-card--featured.is-active .related-card__panel .button{
    margin-top:auto;
    align-self:flex-start;
  }

  /* Disable old v34 hover/focus expansion; state is controlled by .is-active. */
  .related-projects__grid .related-card--featured:hover .related-card__panel,
  .related-projects__grid .related-card--featured:focus .related-card__panel,
  .related-projects__grid .related-card--featured:focus-within .related-card__panel{
    height:92px;
    padding:26px 34px;
  }
  .related-projects__grid .related-card--featured.is-active:hover .related-card__panel,
  .related-projects__grid .related-card--featured.is-active:focus .related-card__panel,
  .related-projects__grid .related-card--featured.is-active:focus-within .related-card__panel{
    height:361px;
    padding:32px 34px;
  }
}

/* Touch: keep cards fully readable. */
@media (hover:none), (pointer:coarse){
  .related-projects__grid .related-card--featured .related-card__panel{
    height:auto!important;
    min-height:330px!important;
    padding:32px 34px!important;
  }
  .related-projects__grid .related-card--featured .related-card__panel .button{
    margin-top:auto;
    align-self:flex-start;
  }
}


/* ==========================================================================
   O NAS v36 — rebuilt against Figma desktop 1:6976 / mobile 1:12244
   Everything is scoped under .about-page.
   ========================================================================== */

.about-page .av-about{
  background:#fff;
  color:#111;
}
.about-page .av-about h1,
.about-page .av-about h2,
.about-page .av-about h3,
.about-page .av-about p{
  margin-top:0;
}
.about-page .av-about-eyebrow{
  height:38px;
  display:flex;
  align-items:flex-start;
  gap:14px;
  border-bottom:1px solid #d9d9d9;
  font-size:14px;
  line-height:1.14;
}
.about-page .av-about-eyebrow i{
  width:8px;
  height:8px;
  flex:0 0 8px;
  margin-top:1px;
  background:#de1d3e;
}
.about-page .av-about-eyebrow--light{
  color:#fff;
  border-color:#634d3f;
}

/* HERO — desktop: y 94–1045 in Figma */
.about-page .av-about-hero{
  height:951px;
  position:relative;
  overflow:hidden;
}
.about-page .av-about-hero__inner{
  position:relative;
  height:100%;
  padding-top:28px;
}
.about-page .av-about-breadcrumb{
  position:relative;
  z-index:4;
  margin:0 0 28px;
  color:#111;
}
.about-page .av-about-hero__title{
  position:relative;
  z-index:4;
  margin:0;
  width:790px;
  font-size:72px;
  line-height:1.3;
  font-weight:500;
  letter-spacing:-.02em;
}
.about-page .av-about-hero__title--mobile{display:none}
.about-page .av-about-hero__media{
  position:absolute;
  z-index:1;
  left:calc((100vw - min(1586px, calc(100vw - 48px)))/-2 + 14px);
  top:12px;
  width:calc(100vw - 28px);
  height:939px;
  margin:0;
  overflow:hidden;
  clip-path:polygon(0 25%,31% 25%,38% 0,100% 0,100% 82%,92% 100%,0 100%);
  background:#efefef;
}
.about-page .av-about-hero__media::after{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(255,255,255,.05);
  pointer-events:none;
}
.about-page .av-about-hero__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:grayscale(1);
}
.about-page .av-about-hero__lead{
  position:absolute;
  z-index:4;
  right:0;
  bottom:28px;
  width:620px;
  display:grid;
  grid-template-columns:14px 1fr;
  gap:46px;
  align-items:start;
  font-size:18px;
  line-height:1.45;
}
.about-page .av-about-hero__lead i{
  width:14px;
  height:14px;
  background:#de1d3e;
  margin-top:5px;
}

/* FOUNDATION */
.about-page .av-about-foundation{
  padding:120px 0;
}
.about-page .av-about-foundation .av-about-eyebrow{
  margin-bottom:47px;
}
.about-page .av-about-foundation__grid{
  display:grid;
  grid-template-columns:777px 649px;
  justify-content:space-between;
  gap:80px;
  align-items:start;
}
.about-page .av-about-foundation h2{
  width:561px;
  margin-bottom:78px;
  font-size:44px;
  line-height:1.14;
  font-weight:500;
}
.about-page .av-about-copy{
  font-size:18px;
  line-height:1.48;
}
.about-page .av-about-copy p{
  margin-bottom:20px;
}
.about-page .av-about-copy strong{
  font-weight:500;
}
.about-page .av-about-foundation__shape{
  width:649px;
  height:768px;
  margin:35px 0 0;
  background:#d9d9d9;
  clip-path:polygon(16% 0,100% 0,100% 86%,84% 100%,0 100%,0 16%);
}

/* NEXT GENERATION */
.about-page .av-about-generation{
  position:relative;
  height:950px;
  overflow:hidden;
  background:#3d2b1f;
  color:#fff;
}
.about-page .av-about-generation__visual{
  position:absolute;
  inset:0 0 0 56.2%;
  overflow:hidden;
}
.about-page .av-about-generation__visual img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 28%;
  filter:grayscale(1);
  transform:scale(1.02);
}
.about-page .av-about-generation__brown{
  position:absolute;
  inset:0 auto 0 0;
  width:56.2%;
  background:
    linear-gradient(rgba(61,43,31,.90),rgba(61,43,31,.90)),
    url("../assets/images/about-hero.jpg") center/cover;
}
.about-page .av-about-generation__inner{
  position:relative;
  z-index:2;
  padding-top:169px;
}
.about-page .av-about-generation .av-about-eyebrow{
  width:777px;
  margin-bottom:47px;
}
.about-page .av-about-generation h2{
  width:642px;
  margin:0 0 75px;
  font-size:44px;
  line-height:1.14;
  font-weight:500;
}
.about-page .av-about-generation .av-about-copy{
  width:777px;
}
.about-page .av-about-copy--light{
  color:#fff;
}

/* TEAM */
.about-page .av-about-team{
  padding:181px 0 175px;
}
.about-page .av-about-team .av-about-eyebrow{
  margin-bottom:47px;
}
.about-page .av-about-team h2{
  margin:0 0 52px;
  font-size:44px;
  line-height:1.14;
  font-weight:500;
}
.about-page .av-about-team__grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:32px 30px;
}
.about-page .av-about-team__grid figure{
  height:426px;
  margin:0;
  overflow:hidden;
  background:#e7e7e7;
}
.about-page .av-about-team__grid img{
  width:100%;
  height:100%;
  object-fit:cover;
}

/* PILLARS */
.about-page .av-about-pillars{
  min-height:788px;
  padding:149px 0 135px;
  background:#fbfcec;
}
.about-page .av-about-pillars .av-about-eyebrow{
  margin-bottom:47px;
}
.about-page .av-about-pillars h2{
  margin:0 0 72px;
  font-size:44px;
  line-height:1.14;
  font-weight:500;
}
.about-page .av-about-pillars__label-mobile{display:none}
.about-page .av-about-pillars__grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:30px;
}
.about-page .av-about-pillars__grid article{
  min-height:289px;
  padding-bottom:28px;
  border-bottom:1px solid #d2d2d2;
}
.about-page .av-about-pillars__grid h3{
  min-height:58px;
  margin:0 0 22px;
  font-size:24px;
  line-height:1.14;
  font-weight:500;
}
.about-page .av-about-pillars__grid p{
  margin:0;
  color:#262626;
  font-size:14px;
  line-height:1.45;
}

/* NUMBERS */
.about-page .av-about-numbers{
  min-height:1178px;
  padding:148px 0 0;
  background:#3d2b1f;
  color:#fff;
}
.about-page .av-about-numbers .av-about-eyebrow{
  margin-bottom:46px;
}
.about-page .av-about-numbers h2{
  margin:0 0 55px;
  font-size:44px;
  line-height:1.14;
  font-weight:500;
}
.about-page .av-about-numbers__grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
}
.about-page .av-about-numbers__grid article{
  height:285px;
  padding:50px;
  border-right:1px solid #634d3f;
  border-bottom:1px solid #634d3f;
}
.about-page .av-about-numbers__grid article:nth-child(4n){
  border-right:0;
}
.about-page .av-about-numbers__grid article:nth-child(n+5){
  border-bottom:0;
}
.about-page .av-about-numbers__grid strong{
  display:block;
  margin:0 0 18px;
  font-size:44px;
  line-height:1.14;
  font-weight:500;
  white-space:nowrap;
}
.about-page .av-about-numbers__grid p{
  width:min(295px,100%);
  margin:0;
  font-size:18px;
  line-height:1.35;
}
.about-page .av-about-clients{
  display:grid;
  grid-template-columns:repeat(8,1fr);
  margin-top:120px;
}
.about-page .av-about-clients>div{
  height:158px;
  padding:24px;
  display:grid;
  place-items:center;
  background:#fff;
  border:1px solid #d5d5d5;
}
.about-page .av-about-clients img{
  width:100%;
  height:100%;
  object-fit:contain;
}

/* CTA */
.about-page .av-about-cta{
  position:relative;
  height:758px;
  overflow:hidden;
  color:#fff;
}
.about-page .av-about-cta>img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.about-page .av-about-cta__shade{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.42);
}
.about-page .av-about-cta__inner{
  position:relative;
  z-index:2;
  height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.about-page .av-about-cta h2{
  width:min(1052px,90%);
  margin:0 0 40px;
  font-size:72px;
  line-height:1.3;
  font-weight:500;
}
.about-page .av-about-cta .button{
  min-width:310px;
  min-height:77px;
  padding:28px 42px;
}

/* TABLET */
@media(max-width:1200px){
  .about-page .av-about-hero__title{font-size:58px}
  .about-page .av-about-foundation__grid{grid-template-columns:1.05fr .95fr;gap:60px}
  .about-page .av-about-foundation__shape{width:100%}
  .about-page .av-about-generation__brown{width:62%}
  .about-page .av-about-generation__visual{left:58%}
  .about-page .av-about-generation .av-about-eyebrow,
  .about-page .av-about-generation .av-about-copy{width:58%}
  .about-page .av-about-team__grid{gap:20px}
  .about-page .av-about-team__grid figure{height:360px}
  .about-page .av-about-pillars__grid{gap:20px}
  .about-page .av-about-numbers__grid article{padding:38px}
  .about-page .av-about-numbers__grid strong{font-size:36px}
}

/* MOBILE — follows Figma 1:12244 */
@media(max-width:768px){
  .about-page .site-header{
    height:70px;
  }

  .about-page .av-about-hero{
    height:686px;
  }
  .about-page .av-about-hero__inner{
    padding-top:18px;
  }
  .about-page .av-about-breadcrumb{
    margin-bottom:18px;
    font-size:14px;
  }
  .about-page .av-about-hero__title--desktop{display:none}
  .about-page .av-about-hero__title--mobile{
    display:block;
    width:362px;
    max-width:100%;
    font-size:38px;
    line-height:1.3;
    letter-spacing:0;
  }
  .about-page .av-about-hero__media{
    left:0;
    top:165px;
    width:100%;
    height:351px;
    clip-path:polygon(0 15%,25% 15%,33% 0,100% 0,100% 85%,92% 100%,0 100%);
  }
  .about-page .av-about-hero__media img{
    object-position:center;
  }
  .about-page .av-about-hero__lead{
    left:3px;
    right:auto;
    bottom:10px;
    width:calc(100% - 3px);
    grid-template-columns:14px 1fr;
    gap:20px;
    padding-right:12px;
    font-size:14px;
    line-height:1.42;
  }

  .about-page .av-about-eyebrow{
    height:37px;
    font-size:14px;
  }

  .about-page .av-about-foundation{
    padding:70px 0 34px;
  }
  .about-page .av-about-foundation .av-about-eyebrow{
    margin-bottom:32px;
  }
  .about-page .av-about-foundation__grid{
    display:flex;
    flex-direction:column;
    gap:42px;
  }
  .about-page .av-about-foundation h2{
    width:100%;
    margin-bottom:35px;
    font-size:24px;
    line-height:1.14;
  }
  .about-page .av-about-copy{
    font-size:14px;
    line-height:1.43;
  }
  .about-page .av-about-copy p{
    margin-bottom:16px;
  }
  .about-page .av-about-foundation__shape{
    width:100%;
    height:443px;
    margin:0;
    clip-path:polygon(17% 0,100% 0,100% 85%,83% 100%,0 100%,0 17%);
  }

  .about-page .av-about-generation{
    height:995px;
    display:flex;
    flex-direction:column;
  }
  .about-page .av-about-generation__brown{
    position:absolute;
    inset:0 0 auto 0;
    width:100%;
    height:626px;
    background:#3d2b1f;
  }
  .about-page .av-about-generation__visual{
    inset:auto 0 0 0;
    height:369px;
  }
  .about-page .av-about-generation__visual img{
    object-position:center 25%;
  }
  .about-page .av-about-generation__inner{
    padding-top:48px;
  }
  .about-page .av-about-generation .av-about-eyebrow{
    width:100%;
    margin-bottom:31px;
  }
  .about-page .av-about-generation h2{
    width:324px;
    max-width:100%;
    margin:0 0 35px;
    font-size:24px;
    line-height:1.14;
  }
  .about-page .av-about-generation .av-about-copy{
    width:100%;
  }

  .about-page .av-about-team{
    padding:48px 0 43px;
  }
  .about-page .av-about-team .av-about-eyebrow{
    margin-bottom:31px;
  }
  .about-page .av-about-team h2{
    margin-bottom:24px;
    font-size:24px;
    line-height:1.14;
  }
  .about-page .av-about-team__grid{
    grid-template-columns:repeat(2,1fr);
    gap:14px 8px;
  }
  .about-page .av-about-team__grid figure{
    height:221px;
  }

  .about-page .av-about-pillars{
    min-height:1025px;
    padding:58px 0 54px;
  }
  .about-page .av-about-pillars .av-about-eyebrow{
    margin-bottom:31px;
  }
  .about-page .av-about-pillars__label-desktop{display:none}
  .about-page .av-about-pillars__label-mobile{display:inline}
  .about-page .av-about-pillars h2{
    margin-bottom:40px;
    font-size:24px;
    line-height:1.14;
  }
  .about-page .av-about-pillars__grid{
    grid-template-columns:1fr;
    gap:32px;
  }
  .about-page .av-about-pillars__grid article{
    min-height:0;
    padding-bottom:26px;
  }
  .about-page .av-about-pillars__grid h3{
    min-height:0;
    margin-bottom:20px;
    font-size:18px;
  }
  .about-page .av-about-pillars__grid p{
    font-size:14px;
  }

  .about-page .av-about-numbers{
    min-height:1216px;
    padding:48px 0 0;
  }
  .about-page .av-about-numbers .av-about-eyebrow{
    margin-bottom:31px;
  }
  .about-page .av-about-numbers h2{
    margin-bottom:24px;
    font-size:24px;
    line-height:1.14;
  }
  .about-page .av-about-numbers__grid{
    grid-template-columns:1fr;
  }
  .about-page .av-about-numbers__grid article{
    height:auto;
    min-height:118px;
    padding:24px 0;
    border-right:0!important;
    border-bottom:1px solid #463327!important;
  }
  .about-page .av-about-numbers__grid article:last-child{
    border-bottom:0!important;
  }
  .about-page .av-about-numbers__grid strong{
    margin-bottom:20px;
    font-size:24px;
    white-space:normal;
  }
  .about-page .av-about-numbers__grid p{
    width:100%;
    font-size:14px;
  }
  .about-page .av-about-clients{
    grid-template-columns:repeat(4,1fr);
    margin-top:0;
  }
  .about-page .av-about-clients>div{
    height:66px;
    padding:10px;
  }
  .about-page .av-about-clients>div:nth-child(n+5){
    display:none;
  }

  .about-page .av-about-cta{
    height:602px;
  }
  .about-page .av-about-cta>img{
    object-position:center;
  }
  .about-page .av-about-cta h2{
    width:352px;
    max-width:100%;
    margin-bottom:34px;
    font-size:38px;
    line-height:1.3;
  }
  .about-page .av-about-cta .button{
    width:100%;
    min-width:0;
    min-height:77px;
  }
}


/* ==========================================================================
   O NAS v39 — safe corrections only; original v36 CSS preserved above
   ========================================================================== */

/* Desktop: generation photo covers the entire section.
   The brown translucent layer lives only under the left-side text area. */
@media (min-width:769px){
  .about-page .av-about-generation{
    background:
      url("../assets/images/about-generation.png?v=75")
      center center / cover no-repeat!important;
  }

  .about-page .av-about-generation__visual{
    display:none!important;
  }

  .about-page .av-about-generation__brown{
    display:block!important;
    position:absolute!important;
    inset:0 auto 0 0!important;
    width:56.2%!important;
    background:rgba(61,43,31,.80)!important;
  }
}

/* Mobile keeps the dedicated Figma composition: brown text block + image below. */
@media (max-width:768px){
  .about-page .av-about-generation{
    background:#3d2b1f!important;
  }

  .about-page .av-about-generation__visual{
    display:block!important;
  }

  .about-page .av-about-generation__visual img{
    content:url("../assets/images/about-generation.png?v=75");
  }

  .about-page .av-about-generation__brown{
    background:#3d2b1f!important;
  }
}

/* CTA image already includes the required darkening. */
.about-page .av-about-cta__shade{
  display:none!important;
}


/* ==========================================================================
   O NAS v40 — hero uses the exported image as the shape + exact Figma title
   ========================================================================== */

/* about-hero.png already contains the geometric shape, so do not add another
   clipped/grey shape or overlay around it. */
.about-page .av-about-hero__media{
  clip-path:none!important;
  background:transparent!important;
}
.about-page .av-about-hero__media::after{
  display:none!important;
}

/* Figma node 1:7235:
   Brandon Text Medium, 72px, line-height 1.3, lowercase. */
.about-page .av-about-hero__title--desktop{
  font-family:"Brandon Text", Arial, sans-serif!important;
  font-size:72px!important;
  line-height:1.3!important;
  font-weight:500!important;
  letter-spacing:0!important;
  text-transform:lowercase!important;
}

/* Keep the dedicated mobile typography from the mobile Figma frame. */
@media(max-width:768px){
  .about-page .av-about-hero__media{
    clip-path:none!important;
    background:transparent!important;
  }
  .about-page .av-about-hero__media::after{
    display:none!important;
  }
}


/* O NAS — hero lead correction */
@media(min-width:769px){
  .about-page .av-about-hero__lead{
    width:540px!important;
    grid-template-columns:14px 1fr!important;
    gap:20px!important;
    font-size:16px!important;
    line-height:1.45!important;
  }

  .about-page .av-about-hero__lead i{
    margin-top:4px!important;
  }
}


/* ========================================================================== 
   COMMERCIAL SECTOR — Figma alignment
   Clean semantic class names only; no package/version identifiers.
   ========================================================================== */

/* Hero — Figma node 1:4354 / 1:4355. */
.sector-page--commercial .sector__hero-img{z-index:0}
.sector-page--commercial .sector__hero-shade{z-index:1}
.sector-page--commercial .sector__hero-lines{
  position:absolute;
  z-index:2;
  left:-0.4166667vw;
  top:194px;
  width:108.4375vw;
  max-width:none;
  height:auto;
  pointer-events:none;
}
.sector-page--commercial .sector__hero-inner{
  z-index:3;
  height:100%;
  padding-top:0;
}
.sector-page--commercial .sector__hero .breadcrumb{
  position:absolute;
  left:0;
  top:240px;
  margin:0;
}
.sector-page--commercial .sector__hero-copy{
  height:100%;
  display:block;
  border-bottom:0;
  padding:0;
}
.sector-page--commercial .sector__hero h1{
  position:absolute;
  left:0;
  top:273px;
  width:912px;
  max-width:912px;
  margin:0;
  font-family:"Brandon Text",Arial,sans-serif;
  font-size:72px;
  line-height:1.3;
  font-weight:500;
  letter-spacing:0;
  text-transform:none;
}
.sector-page--commercial .sector__hero-copy p{
  position:absolute;
  right:0;
  top:562px;
  width:528px;
  max-width:528px;
  margin:0;
  font-size:18px;
  line-height:normal;
}

/* Vision copy follows the 18px Figma typography. */
.sector-page--commercial .sector__vision-grid p{
  font-size:18px;
  line-height:normal;
}

/* Collage: only the supplied photo. No fake AV text/cut layer. */
.sector-page--commercial .sector__collage{
  background:transparent;
}
.sector-page--commercial .sector__collage>img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

/* Figma cards are solid white. */
.sector__pillar{
  background:#fff!important;
}
.sector__pillar-icon{
  color:var(--red);
}

/* Case study cards: one panel expanded at a time. */
@media (hover:hover) and (pointer:fine){
  .sector__project-panel{
    height:81px!important;
    min-height:81px!important;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    transition:
      height .42s cubic-bezier(.22,.61,.36,1),
      min-height .42s cubic-bezier(.22,.61,.36,1),
      padding .42s cubic-bezier(.22,.61,.36,1);
  }
  .sector__project-panel h3{
    flex:0 0 auto;
  }
  .sector__project-panel p,
  .sector__project-panel .text-link{
    display:block!important;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(12px);
    transition:
      opacity .22s ease,
      transform .32s ease,
      visibility 0s linear .22s;
  }
  .sector__project-panel .text-link{
    margin-top:auto;
    align-self:flex-start;
  }
  .sector__project.is-active .sector__project-panel{
    height:361px!important;
    min-height:361px!important;
  }
  .sector__project.is-active .sector__project-panel p,
  .sector__project.is-active .sector__project-panel .text-link{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
    transition:
      opacity .28s ease .12s,
      transform .34s ease .08s,
      visibility 0s;
  }
}

@media(max-width:768px){
  .sector-page--commercial .sector__hero-lines{
    display:none;
  }
  .sector-page--commercial .sector__hero-inner{
    padding-top:42px;
  }
  .sector-page--commercial .sector__hero .breadcrumb{
    position:static;
    margin-bottom:48px;
  }
  .sector-page--commercial .sector__hero-copy{
    height:auto;
    display:block;
  }
  .sector-page--commercial .sector__hero h1{
    position:static;
    width:auto;
    max-width:none;
    margin-top:260px;
    font-size:38px;
    line-height:1.14;
  }
  .sector-page--commercial .sector__hero-copy p{
    position:static;
    width:auto;
    max-width:none;
    margin-top:28px;
    font-size:14px;
    line-height:1.45;
  }
  .sector-page--commercial .sector__vision-grid p{
    font-size:14px;
    line-height:1.48;
  }

  .sector__project-panel{
    display:flex;
    flex-direction:column;
  }
  .sector__project-panel p,
  .sector__project-panel .text-link{
    display:block!important;
  }
  .sector__project:not(.is-active) .sector__project-panel{
    min-height:88px!important;
    height:88px!important;
    overflow:hidden;
  }
  .sector__project:not(.is-active) .sector__project-panel p,
  .sector__project:not(.is-active) .sector__project-panel .text-link{
    opacity:0;
    visibility:hidden;
    pointer-events:none;
  }
  .sector__project.is-active .sector__project-panel{
    min-height:250px!important;
    height:250px!important;
  }
  .sector__project.is-active .sector__project-panel .text-link{
    margin-top:auto;
    align-self:flex-start;
  }
}

/* V43 commercial tweaks */
.site-header--sector .brand.brand--wide{
  width:245px;
  height:63px;
}
.site-header--sector .brand.brand--wide img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:left center;
}
.sector__project-panel{
  background:#fff !important;
}


/* Obiekty komercyjne — case study CTA */
.sector__project-panel .button.button--dark{
  min-height:54px;
  padding:0 28px;
  background:#000;
  color:#fff;
  font-size:12px;
  font-weight:500;
  line-height:1;
  text-decoration:none;
  gap:14px;
}

.sector__project-panel .button.button--dark span{
  color:#fff;
  font-size:16px;
}


/* Obiekty komercyjne — pillar icons */
.sector__pillar{
  background:#fff;
}
.sector__pillar-icon{
  margin-top:34px;
  height:52px;
  display:flex;
  align-items:center;
}
.sector__pillar-icon img{
  display:block;
  width:auto;
  max-width:54px;
  max-height:42px;
}


/* Obiekty komercyjne — header logo same visual treatment as Oferta */
.site-header--sector .brand.brand--wide img{
  filter:brightness(0) invert(1)!important;
}

/* Case study CTA — same proportions as on project detail related cards */
.sector__project-panel .button.button--dark{
  min-height:58px!important;
  padding:0 24px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:0!important;
  font-size:12px!important;
  font-weight:500!important;
  line-height:1!important;
  text-align:center!important;
  background:#000!important;
  color:#fff!important;
}


/* Obiekty komercyjne — case study CTA hover */
.sector__project-panel .button.button--dark:hover,
.sector__project-panel .button.button--dark:focus-visible{
  background:var(--ui-red)!important;
  color:#fff!important;
}


/* ==========================================================================
   SEKTOR MIESZKANIOWY — Figma alignment
   Semantic class names only.
   ========================================================================== */

/* Figma hero: 1920×802, black overlay opacity 52%, title and body positioned
   against the same 1584px grid as the commercial sector page. */
.sector-page--residential .sector__hero-img{
  z-index:0;
}
.sector-page--residential .sector__hero-shade{
  z-index:1;
  background:rgba(0,0,0,.52);
}
.sector-page--residential .sector__hero-lines{
  position:absolute;
  z-index:2;
  left:-0.4166667vw;
  top:194px;
  width:108.4375vw;
  max-width:none;
  height:auto;
  pointer-events:none;
}
.sector-page--residential .sector__hero-inner{
  z-index:3;
  height:100%;
  padding-top:0;
}
.sector-page--residential .sector__hero .breadcrumb{
  position:absolute;
  left:0;
  top:240px;
  margin:0;
}
.sector-page--residential .sector__hero-copy{
  height:100%;
  display:block;
  border-bottom:0;
  padding:0;
}
.sector-page--residential .sector__hero h1{
  position:absolute;
  left:0;
  top:273px;
  width:912px;
  max-width:912px;
  margin:0;
  font-family:"Brandon Text",Arial,sans-serif;
  font-size:72px;
  line-height:1.3;
  font-weight:500;
  letter-spacing:0;
  text-transform:none;
}
.sector-page--residential .sector__hero-copy p{
  position:absolute;
  right:0;
  top:562px;
  width:528px;
  max-width:528px;
  margin:0;
  font-size:18px;
  line-height:normal;
}

/* Figma vision typography. */
.sector-page--residential .sector__vision-grid p{
  font-size:18px;
  line-height:normal;
}

/* Supplied collage is already the full exported artwork. */
.sector-page--residential .sector__collage{
  background:transparent;
}
.sector-page--residential .sector__collage>img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

/* Figma pillar cards: 372×439, white background, 38px icons. */
.sector-page--residential .sector__pillar{
  min-height:439px;
  background:#fff!important;
}
.sector-page--residential .sector__pillar-icon{
  height:42px;
  margin-top:34px;
  display:flex;
  align-items:center;
}
.sector-page--residential .sector__pillar-icon img{
  display:block;
  width:38px;
  height:38px;
  object-fit:contain;
}

/* Residential case-study panel follows the same interaction established
   on the commercial sector page: first open, hover/focus switches card. */
.sector-page--residential .sector__project-panel{
  background:#fff!important;
}
.sector-page--residential .sector__project.is-active .sector__project-panel{
  height:361px!important;
  min-height:361px!important;
}
.sector-page--residential .sector__project-panel h3{
  font-size:24px;
}
.sector-page--residential .sector__project.is-active .sector__project-panel p{
  font-size:18px;
  line-height:normal;
}
.sector-page--residential .sector__project-panel .button.button--dark{
  min-height:54px!important;
  padding:0 28px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#000!important;
  color:#fff!important;
  font-size:14px!important;
  line-height:1!important;
  text-align:center!important;
}
.sector-page--residential .sector__project-panel .button.button--dark:hover,
.sector-page--residential .sector__project-panel .button.button--dark:focus-visible{
  background:var(--ui-red)!important;
  color:#fff!important;
}

/* Header logo matches the white treatment used on Oferta. */
.sector-page--residential .site-header--sector .brand.brand--wide img{
  filter:brightness(0) invert(1)!important;
}

@media(max-width:768px){
  .sector-page--residential .sector__hero-lines{
    display:none;
  }
  .sector-page--residential .sector__hero-inner{
    padding-top:42px;
  }
  .sector-page--residential .sector__hero .breadcrumb{
    position:static;
    margin-bottom:48px;
  }
  .sector-page--residential .sector__hero-copy{
    height:auto;
    display:block;
  }
  .sector-page--residential .sector__hero h1{
    position:static;
    width:auto;
    max-width:none;
    margin-top:260px;
    font-size:38px;
    line-height:1.14;
  }
  .sector-page--residential .sector__hero-copy p{
    position:static;
    width:auto;
    max-width:none;
    margin-top:28px;
    font-size:14px;
    line-height:1.45;
  }
  .sector-page--residential .sector__vision-grid p{
    font-size:14px;
    line-height:1.48;
  }
  .sector-page--residential .sector__pillar{
    min-height:0;
  }
  .sector-page--residential .sector__project.is-active .sector__project-panel{
    min-height:250px!important;
    height:250px!important;
  }
  .sector-page--residential .sector__project.is-active .sector__project-panel p{
    font-size:14px;
    line-height:1.45;
  }
}


/* ==========================================================================
   HOTELE / CONDOHOTELE / RESORTY SPA — Figma alignment
   ========================================================================== */

.sector-page--hotel .sector__hero-img{
  z-index:0;
}
.sector-page--hotel .sector__hero-lines{
  position:absolute;
  z-index:2;
  left:-8px;
  top:194px;
  width:2082px;
  max-width:none;
  height:498px;
  pointer-events:none;
}
.sector-page--hotel .sector__hero-inner{
  z-index:3;
  height:100%;
  padding-top:0;
}
.sector-page--hotel .sector__hero .breadcrumb{
  position:absolute;
  left:2px;
  top:240px;
  margin:0;
}
.sector-page--hotel .sector__hero-copy{
  height:100%;
  display:block;
  border-bottom:0;
  padding:0;
}
.sector-page--hotel .sector__hero h1{
  position:absolute;
  left:2px;
  top:273px;
  width:1021px;
  max-width:1021px;
  margin:0;
  font-family:"Brandon Text",Arial,sans-serif;
  font-size:72px;
  line-height:1.3;
  font-weight:500;
  letter-spacing:0;
  text-transform:none;
}
.sector-page--hotel .sector__hero-copy p{
  position:absolute;
  right:17px;
  top:562px;
  width:511px;
  max-width:511px;
  margin:0;
  font-size:18px;
  line-height:normal;
}

/* Vision copy follows the 18px Figma typography. */
.sector-page--hotel .sector__vision-grid p{
  font-size:18px;
  line-height:normal;
}

/* Complete exported collage: image only, no additional generated AV shape. */
.sector-page--hotel .sector__collage{
  background:transparent;
}
.sector-page--hotel .sector__collage>img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

/* Four hospitality pillars: white 372×453 cards, supplied 38px icons. */
.sector-page--hotel .sector__pillar{
  min-height:453px;
  background:#fff!important;
}
.sector-page--hotel .sector__pillar-icon{
  height:42px;
  margin-top:34px;
  display:flex;
  align-items:center;
}
.sector-page--hotel .sector__pillar-icon img{
  display:block;
  width:38px;
  height:38px;
  object-fit:contain;
}
.sector-page--hotel .sector__pillar h3{
  font-size:24px;
  line-height:1.14;
}

/* Case-study interaction is driven by the existing generic JS:
   first card active, hover/focus moves active state to another card. */
.sector-page--hotel .sector__project-panel{
  background:#fff!important;
}
.sector-page--hotel .sector__project.is-active .sector__project-panel{
  height:361px!important;
  min-height:361px!important;
}
.sector-page--hotel .sector__project-panel h3{
  font-size:24px;
}
.sector-page--hotel .sector__project.is-active .sector__project-panel p{
  font-size:18px;
  line-height:normal;
}
.sector-page--hotel .sector__project-panel .button.button--dark{
  min-height:54px!important;
  padding:0 28px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:0!important;
  background:#000!important;
  color:#fff!important;
  font-size:14px!important;
  font-weight:500!important;
  line-height:1!important;
  text-align:center!important;
}
.sector-page--hotel .sector__project-panel .button.button--dark:hover,
.sector-page--hotel .sector__project-panel .button.button--dark:focus-visible{
  background:var(--ui-red)!important;
  color:#fff!important;
}

/* Same white header logo treatment as Oferta. */
.sector-page--hotel .site-header--sector .brand.brand--wide img{
  filter:brightness(0) invert(1)!important;
}

/* Hotel CTA export already contains the intended dark visual treatment. */
.sector-page--hotel .sector__cta-shade{
  display:none!important;
}

@media(max-width:768px){
  .sector-page--hotel .sector__hero-lines{
    display:none;
  }
  .sector-page--hotel .sector__hero-inner{
    padding-top:42px;
  }
  .sector-page--hotel .sector__hero .breadcrumb{
    position:static;
    margin-bottom:48px;
  }
  .sector-page--hotel .sector__hero-copy{
    height:auto;
    display:block;
  }
  .sector-page--hotel .sector__hero h1{
    position:static;
    width:auto;
    max-width:none;
    margin-top:260px;
    font-size:38px;
    line-height:1.14;
  }
  .sector-page--hotel .sector__hero-copy p{
    position:static;
    width:auto;
    max-width:none;
    margin-top:28px;
    font-size:14px;
    line-height:1.45;
  }
  .sector-page--hotel .sector__vision-grid p{
    font-size:14px;
    line-height:1.48;
  }
  .sector-page--hotel .sector__pillar{
    min-height:0;
  }
  .sector-page--hotel .sector__project.is-active .sector__project-panel{
    min-height:250px!important;
    height:250px!important;
  }
  .sector-page--hotel .sector__project.is-active .sector__project-panel p{
    font-size:14px;
    line-height:1.45;
  }
}


/* ==========================================================================
   SZPITALE / HEALTHCARE / OPIEKA SENIORALNA — Figma alignment
   ========================================================================== */

/* Hero: Figma 1:6704 / 1:6706 / 1:6712 */
.sector-page--healthcare .sector__hero-img{
  z-index:0;
}
.sector-page--healthcare .sector__hero-lines{
  position:absolute;
  z-index:2;
  left:-8px;
  top:194px;
  width:2082px;
  max-width:none;
  height:498px;
  pointer-events:none;
}
.sector-page--healthcare .sector__hero-inner{
  z-index:3;
  height:100%;
  padding-top:0;
}
.sector-page--healthcare .sector__hero .breadcrumb{
  position:absolute;
  left:2px;
  top:240px;
  margin:0;
}
.sector-page--healthcare .sector__hero-copy{
  height:100%;
  display:block;
  border-bottom:0;
  padding:0;
}
.sector-page--healthcare .sector__hero h1{
  position:absolute;
  left:2px;
  top:273px;
  width:1021px;
  max-width:1021px;
  margin:0;
  font-family:"Brandon Text",Arial,sans-serif;
  font-size:72px;
  line-height:1.3;
  font-weight:500;
  letter-spacing:0;
  text-transform:none;
}
.sector-page--healthcare .sector__hero-copy p{
  position:absolute;
  right:0;
  top:562px;
  width:528px;
  max-width:528px;
  margin:0;
  font-size:18px;
  line-height:normal;
}

/* Vision — same two-column typography as Figma. */
.sector-page--healthcare .sector__vision-grid p{
  font-size:18px;
  line-height:normal;
}

/* The uploaded collage is already the complete AV-shaped export. */
.sector-page--healthcare .sector__collage{
  background:transparent;
}
.sector-page--healthcare .sector__collage>img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

/* Figma 1:6767 — white 372×471 cards, icons 38×38. */
.sector-page--healthcare .sector__pillar{
  min-height:471px;
  background:#fff!important;
}
.sector-page--healthcare .sector__pillar-icon{
  height:42px;
  margin-top:34px;
  display:flex;
  align-items:center;
}
.sector-page--healthcare .sector__pillar-icon img{
  display:block;
  width:38px;
  height:38px;
  object-fit:contain;
}
.sector-page--healthcare .sector__pillar h3{
  font-size:24px;
  line-height:1.14;
}

/* Case studies: same accordion behaviour as Commercial / Residential / Hotel. */
.sector-page--healthcare .sector__project-panel{
  background:#fff!important;
}
.sector-page--healthcare .sector__project.is-active .sector__project-panel{
  height:361px!important;
  min-height:361px!important;
}
.sector-page--healthcare .sector__project-panel h3{
  font-size:24px;
}
.sector-page--healthcare .sector__project.is-active .sector__project-panel p{
  font-size:18px;
  line-height:normal;
}
.sector-page--healthcare .sector__project-panel .button.button--dark{
  min-height:54px!important;
  padding:0 28px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:0!important;
  background:#000!important;
  color:#fff!important;
  font-size:14px!important;
  font-weight:500!important;
  line-height:1!important;
  text-align:center!important;
  text-decoration:none!important;
}
.sector-page--healthcare .sector__project-panel .button.button--dark:hover,
.sector-page--healthcare .sector__project-panel .button.button--dark:focus-visible{
  background:var(--ui-red)!important;
  color:#fff!important;
}

/* Header logo: same white visual as Oferta. */
.sector-page--healthcare .site-header--sector .brand.brand--wide img{
  filter:brightness(0) invert(1)!important;
}

/* User-supplied CTA image already has the intended final treatment. */
.sector-page--healthcare .sector__cta-shade{
  display:none!important;
}

/* Figma CTA 1:6923 / 1:6934 */
.sector-page--healthcare .sector__cta{
  height:768px;
}
.sector-page--healthcare .sector__cta-inner{
  width:min(1368px,calc(100% - 48px));
  max-width:1368px;
  text-align:center;
}
.sector-page--healthcare .sector__cta h2{
  width:100%;
  max-width:1368px;
  margin-left:auto;
  margin-right:auto;
  font-size:72px;
  line-height:1.3;
  font-weight:500;
}
.sector-page--healthcare .sector__cta p{
  width:778px;
  max-width:100%;
  margin-left:auto;
  margin-right:auto;
  font-size:18px;
  line-height:normal;
}
.sector-page--healthcare .sector__cta .button{
  min-height:67px;
  padding:28px 42px;
  font-size:16px;
}

@media(max-width:768px){
  .sector-page--healthcare .sector__hero-lines{
    display:none;
  }
  .sector-page--healthcare .sector__hero-inner{
    padding-top:42px;
  }
  .sector-page--healthcare .sector__hero .breadcrumb{
    position:static;
    margin-bottom:48px;
  }
  .sector-page--healthcare .sector__hero-copy{
    height:auto;
    display:block;
  }
  .sector-page--healthcare .sector__hero h1{
    position:static;
    width:auto;
    max-width:none;
    margin-top:260px;
    font-size:38px;
    line-height:1.14;
  }
  .sector-page--healthcare .sector__hero-copy p{
    position:static;
    width:auto;
    max-width:none;
    margin-top:28px;
    font-size:14px;
    line-height:1.45;
  }
  .sector-page--healthcare .sector__vision-grid p{
    font-size:14px;
    line-height:1.48;
  }
  .sector-page--healthcare .sector__pillar{
    min-height:0;
  }
  .sector-page--healthcare .sector__project.is-active .sector__project-panel{
    min-height:250px!important;
    height:250px!important;
  }
  .sector-page--healthcare .sector__project.is-active .sector__project-panel p{
    font-size:14px;
    line-height:1.45;
  }
  .sector-page--healthcare .sector__cta{
    height:602px;
  }
  .sector-page--healthcare .sector__cta-inner{
    width:calc(100% - 32px);
  }
  .sector-page--healthcare .sector__cta h2{
    font-size:38px;
    line-height:1.3;
  }
  .sector-page--healthcare .sector__cta p{
    width:100%;
    font-size:14px;
    line-height:1.45;
  }
}


/* ==========================================================================
   UNIFIED MOBILE NAVIGATION
   One menu system for Home and every subpage.
   ========================================================================== */

.mobile-menu-brand,
.mobile-nav__actions{
  display:none;
}

@media(max-width:1200px){
  /*
   * The desktop consultation CTA is never allowed to sit beside / over the
   * mobile navigation. The same action is available inside the menu itself.
   */
  .site-header .header-cta,
  .site-header--light .header-cta,
  .site-header--overlay .header-cta,
  .site-header--sector .header-cta{
    display:none!important;
  }

  /* One identical hamburger everywhere. */
  .site-header .menu-toggle,
  .site-header--light .menu-toggle,
  .site-header--overlay .menu-toggle,
  .site-header--sector .menu-toggle,
  .home-page .site-header.site-header--overlay .menu-toggle{
    display:block!important;
    position:absolute!important;
    top:15px!important;
    right:14px!important;
    width:50px!important;
    height:50px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:50%!important;
    background:#111!important;
    color:#fff!important;
    z-index:104!important;
    box-shadow:0 8px 24px rgba(0,0,0,.12);
    transition:background-color .25s ease,border-color .25s ease,transform .25s ease;
  }
  .site-header .menu-toggle span{
    position:absolute;
    left:50%;
    width:22px!important;
    height:1px!important;
    margin:0!important;
    background:currentColor!important;
    transform:translateX(-50%);
    transform-origin:center;
    transition:top .25s ease,transform .25s ease,opacity .18s ease;
  }
  .site-header .menu-toggle span:nth-child(1){top:17px}
  .site-header .menu-toggle span:nth-child(2){top:24px}
  .site-header .menu-toggle span:nth-child(3){top:31px}

  /*
   * Full-screen, fully opaque menu layer.
   * 100dvh + -webkit-overflow-scrolling fixes Safari's long-menu scrolling.
   */
  .site-header.menu-active .desktop-nav,
  .site-header--light.menu-active .desktop-nav,
  .site-header--overlay.menu-active .desktop-nav,
  .site-header--sector.menu-active .desktop-nav,
  .home-page .site-header.site-header--overlay.menu-active .desktop-nav,
  .home-page .site-header.is-scrolled.site-header--overlay.menu-active .desktop-nav{
    display:flex!important;
    position:fixed!important;
    inset:0!important;
    width:100%!important;
    height:100dvh!important;
    min-height:100svh!important;
    max-height:100dvh!important;
    margin:0!important;
    padding:
      106px
      max(22px,calc((100vw - 600px)/2))
      max(28px,env(safe-area-inset-bottom))!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    transform:none!important;
    background:#f7f5ef!important;
    color:#111!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:0!important;
    white-space:normal!important;
    font-size:inherit!important;
    z-index:100!important;
  }

  /* Remove all desktop underline / height rules from the open mobile menu. */
  .site-header.menu-active .desktop-nav > a{
    counter-increment:mobile-menu-item;
    position:relative!important;
    display:grid!important;
    grid-template-columns:38px minmax(0,1fr);
    align-items:center!important;
    width:100%!important;
    height:auto!important;
    min-height:56px!important;
    padding:13px 4px!important;
    border-bottom:1px solid rgba(17,17,17,.14);
    color:#111!important;
    font-size:21px!important;
    font-weight:400!important;
    line-height:1.12!important;
    letter-spacing:-.02em!important;
    opacity:1!important;
    text-align:left!important;
  }
  .site-header.menu-active .desktop-nav{
    counter-reset:mobile-menu-item;
  }
  .site-header.menu-active .desktop-nav > a::before{
    content:counter(mobile-menu-item,decimal-leading-zero);
    display:block;
    color:#9a948c;
    font-size:10px;
    font-weight:500;
    letter-spacing:.06em;
  }
  .site-header.menu-active .desktop-nav > a::after{
    display:none!important;
  }
  .site-header.menu-active .desktop-nav > a.is-current{
    color:var(--ui-red)!important;
  }
  .site-header.menu-active .desktop-nav > a.is-current::before{
    color:var(--ui-red);
  }

  .site-header.menu-active .desktop-nav > a:hover,
  .site-header.menu-active .desktop-nav > a:focus-visible{
    color:var(--ui-red)!important;
    outline:none!important;
  }

  /* Dedicated open-menu logo — identical on every page. */
  .site-header.menu-active > .brand{
    visibility:hidden!important;
  }
  .site-header.menu-active .mobile-menu-brand{
    display:flex!important;
    position:fixed!important;
    top:15px!important;
    left:22px!important;
    width:205px!important;
    height:54px!important;
    z-index:103!important;
    align-items:center;
  }
  .site-header.menu-active .mobile-menu-brand img{
    display:block;
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:left center!important;
    filter:none!important;
  }

  /*
   * Keep only the small top controls above the menu.
   * This prevents any page-specific desktop header background / blur from
   * showing through or covering the full-screen nav.
   */
  .site-header.menu-active,
  .site-header--light.menu-active,
  .site-header--overlay.menu-active,
  .site-header--sector.menu-active,
  .home-page .site-header.site-header--overlay.menu-active,
  .home-page .site-header.is-scrolled.site-header--overlay.menu-active{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    height:82px!important;
    min-height:82px!important;
    padding:0!important;
    display:block!important;
    background:transparent!important;
    color:#111!important;
    border:0!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    z-index:101!important;
  }

  /* Hamburger -> close icon. */
  .site-header.menu-active .menu-toggle{
    position:fixed!important;
    top:15px!important;
    right:14px!important;
    background:#fff!important;
    color:#111!important;
    border:1px solid rgba(17,17,17,.14)!important;
    box-shadow:none!important;
  }
  .site-header.menu-active .menu-toggle span:nth-child(1){
    top:24px!important;
    transform:translateX(-50%) rotate(45deg)!important;
  }
  .site-header.menu-active .menu-toggle span:nth-child(2){
    opacity:0!important;
  }
  .site-header.menu-active .menu-toggle span:nth-child(3){
    top:24px!important;
    transform:translateX(-50%) rotate(-45deg)!important;
  }

  /* CTA is part of the menu flow — never fixed over links. */
  .mobile-nav__actions{
    display:flex!important;
    flex-direction:column;
    gap:18px;
    margin-top:30px;
    padding-top:0;
  }
  .mobile-nav__cta{
    display:flex!important;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:64px;
    padding:0 26px;
    background:#111;
    color:#fff!important;
    font-size:15px!important;
    font-weight:500!important;
    line-height:1!important;
    text-align:center;
    transition:background-color .22s ease,color .22s ease;
  }
  .mobile-nav__cta:hover,
  .mobile-nav__cta:focus-visible{
    background:var(--ui-red);
    color:#fff!important;
    outline:none;
  }
  .mobile-nav__meta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 4px;
    color:#89837d;
    font-size:10px;
    line-height:1;
    letter-spacing:.08em;
    text-transform:uppercase;
  }

  body.menu-open{
    overflow:hidden!important;
  }
}

@media(max-width:520px){
  .site-header.menu-active .desktop-nav,
  .site-header--light.menu-active .desktop-nav,
  .site-header--overlay.menu-active .desktop-nav,
  .site-header--sector.menu-active .desktop-nav,
  .home-page .site-header.site-header--overlay.menu-active .desktop-nav{
    padding-left:18px!important;
    padding-right:18px!important;
    padding-top:92px!important;
  }

  .site-header.menu-active .mobile-menu-brand{
    left:18px!important;
    top:14px!important;
    width:176px!important;
    height:48px!important;
  }

  .site-header .menu-toggle,
  .site-header.menu-active .menu-toggle{
    width:46px!important;
    height:46px!important;
    top:13px!important;
    right:12px!important;
  }
  .site-header .menu-toggle span:nth-child(1){top:15px}
  .site-header .menu-toggle span:nth-child(2){top:22px}
  .site-header .menu-toggle span:nth-child(3){top:29px}
  .site-header.menu-active .menu-toggle span:nth-child(1),
  .site-header.menu-active .menu-toggle span:nth-child(3){top:22px!important}

  .site-header.menu-active .desktop-nav > a{
    grid-template-columns:34px minmax(0,1fr);
    min-height:52px!important;
    padding:11px 2px!important;
    font-size:19px!important;
  }

  .mobile-nav__actions{
    margin-top:24px;
  }
  .mobile-nav__cta{
    min-height:60px;
    font-size:14px!important;
  }
}


/* ==========================================================================
   MOBILE HEADER / BURGER — final unified correction
   ========================================================================== */

@media(max-width:1200px){

  /* Force desktop navigation OFF while the mobile menu is closed.
     This explicitly fixes Home, whose desktop grid rules previously won. */
  .site-header:not(.menu-active) .desktop-nav,
  .site-header--light:not(.menu-active) .desktop-nav,
  .site-header--overlay:not(.menu-active) .desktop-nav,
  .site-header--sector:not(.menu-active) .desktop-nav,
  .home-page .site-header.site-header--overlay:not(.menu-active) .desktop-nav,
  .home-page .site-header.is-scrolled.site-header--overlay:not(.menu-active) .desktop-nav{
    display:none!important;
  }

  /* Mobile header is not a reduced desktop grid. */
  .site-header,
  .site-header--light,
  .site-header--overlay,
  .site-header--sector,
  .home-page .site-header.site-header--overlay,
  .home-page .site-header.is-scrolled.site-header--overlay{
    display:block!important;
    height:78px!important;
    min-height:78px!important;
    padding:0!important;
  }

  /*
   * Proper mobile logo position with real breathing room from both edges.
   * Override old 42px/cropped-logo rules from the legacy mobile CSS.
   */
  .site-header > .brand,
  .site-header > .brand.brand--wide,
  .site-header--light > .brand,
  .site-header--overlay > .brand,
  .site-header--overlay > .brand.brand--wide,
  .site-header--sector > .brand,
  .site-header--sector > .brand.brand--wide,
  .home-page .site-header.site-header--overlay > .brand.brand--wide{
    position:absolute!important;
    left:18px!important;
    top:14px!important;
    width:184px!important;
    height:50px!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    z-index:20!important;
  }

  .site-header > .brand img,
  .site-header > .brand.brand--wide img,
  .site-header--light > .brand img,
  .site-header--overlay > .brand img,
  .site-header--sector > .brand img,
  .home-page .site-header.site-header--overlay > .brand.brand--wide img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    object-fit:contain!important;
    object-position:left center!important;
  }

  /* Burger: transparent hit-area, exactly two strokes.
     Top stroke is full width, lower stroke intentionally shorter. */
  .site-header .menu-toggle,
  .site-header--light .menu-toggle,
  .site-header--overlay .menu-toggle,
  .site-header--sector .menu-toggle,
  .home-page .site-header.site-header--overlay .menu-toggle{
    display:block!important;
    position:absolute!important;
    top:15px!important;
    right:14px!important;
    width:48px!important;
    height:48px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:#111!important;
    z-index:104!important;
    cursor:pointer;
  }

  /* Transparent hero / sector headers use white strokes until scrolled. */
  .home-page .site-header.site-header--overlay:not(.is-scrolled):not(.menu-active) .menu-toggle,
  .sector-page .site-header--sector:not(.menu-active) .menu-toggle{
    color:#fff!important;
  }

  .site-header .menu-toggle span{
    position:absolute!important;
    right:7px!important;
    left:auto!important;
    display:block!important;
    height:2px!important;
    margin:0!important;
    padding:0!important;
    background:currentColor!important;
    border-radius:999px;
    transform-origin:center!important;
    transition:
      width .28s cubic-bezier(.22,.61,.36,1),
      top .28s cubic-bezier(.22,.61,.36,1),
      transform .32s cubic-bezier(.22,.61,.36,1),
      opacity .18s ease,
      background-color .2s ease!important;
  }

  .site-header .menu-toggle span:nth-child(1){
    top:18px!important;
    width:26px!important;
  }

  .site-header .menu-toggle span:nth-child(2){
    top:28px!important;
    width:17px!important;
  }

  /* No third line — keep legacy selectors inert. */
  .site-header .menu-toggle span:nth-child(3){
    display:none!important;
  }

  /* Open state: the short line grows and both strokes animate into an X. */
  .site-header.menu-active .menu-toggle{
    position:fixed!important;
    top:15px!important;
    right:14px!important;
    width:48px!important;
    height:48px!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    color:#111!important;
  }

  .site-header.menu-active .menu-toggle span:nth-child(1){
    top:23px!important;
    width:26px!important;
    transform:rotate(45deg)!important;
  }

  .site-header.menu-active .menu-toggle span:nth-child(2){
    top:23px!important;
    width:26px!important;
    opacity:1!important;
    transform:rotate(-45deg)!important;
  }

  /* The dedicated open-menu logo keeps the same edge spacing. */
  .site-header.menu-active .mobile-menu-brand{
    top:14px!important;
    left:18px!important;
    width:184px!important;
    height:50px!important;
  }
}

@media(max-width:520px){
  .site-header,
  .site-header--light,
  .site-header--overlay,
  .site-header--sector,
  .home-page .site-header.site-header--overlay,
  .home-page .site-header.is-scrolled.site-header--overlay{
    height:72px!important;
    min-height:72px!important;
  }

  .site-header > .brand,
  .site-header > .brand.brand--wide,
  .site-header--light > .brand,
  .site-header--overlay > .brand,
  .site-header--overlay > .brand.brand--wide,
  .site-header--sector > .brand,
  .site-header--sector > .brand.brand--wide,
  .home-page .site-header.site-header--overlay > .brand.brand--wide{
    left:16px!important;
    top:12px!important;
    width:164px!important;
    height:46px!important;
  }

  .site-header .menu-toggle,
  .site-header.menu-active .menu-toggle{
    top:12px!important;
    right:10px!important;
    width:46px!important;
    height:46px!important;
  }

  .site-header .menu-toggle span{
    right:6px!important;
  }

  .site-header .menu-toggle span:nth-child(1){
    top:17px!important;
    width:25px!important;
  }

  .site-header .menu-toggle span:nth-child(2){
    top:27px!important;
    width:16px!important;
  }

  .site-header.menu-active .menu-toggle span:nth-child(1),
  .site-header.menu-active .menu-toggle span:nth-child(2){
    top:22px!important;
    width:25px!important;
  }

  .site-header.menu-active .mobile-menu-brand{
    left:16px!important;
    top:12px!important;
    width:164px!important;
    height:46px!important;
  }
}


/* ==========================================================================
   LANGUAGE SWITCH — PL | EN
   ========================================================================== */

.language-switch{
  display:flex;
  align-items:center;
  gap:6px;
  flex:0 0 auto;
  margin-right:4px;
  color:inherit;
  font-size:12px;
  line-height:1;
  white-space:nowrap;
}
.site-header--light .language-switch,
.site-header--sector .language-switch{
  font-size:14px;
}

.language-switch__item{
  color:inherit;
  opacity:.72;
  text-decoration:none;
  transition:color .2s ease,opacity .2s ease;
}
.language-switch__item.is-active{
  color:var(--ui-red);
  opacity:1;
  font-weight:600;
}
.language-switch a.language-switch__item:hover,
.language-switch a.language-switch__item:focus-visible{
  color:var(--ui-red);
  opacity:1;
  outline:none;
}
.language-switch__separator{
  opacity:.38;
  font-weight:400;
}

/* On the transparent/dark headers the switch follows the menu colour. */
.site-header--overlay:not(.is-scrolled) .language-switch,
.site-header--sector .language-switch{
  color:#fff;
}
.site-header--overlay.is-scrolled .language-switch,
.site-header--light .language-switch{
  color:#111;
}

/* Keep the active PL accent red in every header state. */
.site-header .language-switch__item.is-active{
  color:var(--ui-red)!important;
}

@media(max-width:1200px){
  /*
   * The same switch appears at the top of the opened mobile menu.
   * It is not numbered like the main navigation links.
   */
  .site-header.menu-active .language-switch{
    display:flex!important;
    align-self:flex-start;
    margin:0 0 20px 4px!important;
    padding:0!important;
    color:#111!important;
    font-size:13px!important;
    gap:7px;
  }

  .site-header.menu-active .language-switch__item{
    color:#111;
    opacity:.58;
  }

  .site-header.menu-active .language-switch__item.is-active{
    color:var(--ui-red)!important;
    opacity:1;
  }

  .site-header.menu-active .language-switch a.language-switch__item:hover,
  .site-header.menu-active .language-switch a.language-switch__item:focus-visible{
    color:var(--ui-red)!important;
    opacity:1;
  }

  .site-header.menu-active .language-switch__separator{
    color:#111;
    opacity:.28;
  }
}


/* ==========================================================================
   CLIENT FEEDBACK — FEATURED PROJECT / LANGUAGE SWITCH
   ========================================================================== */

/* PL | EN: final item on the right side of the desktop menu. */
.language-switch{
  order:999;
  margin-left:18px!important;
  margin-right:0!important;
}

/* Mobile: same switch at the top, aligned to the right. */
@media(max-width:1200px){
  .site-header.menu-active .language-switch{
    order:-1;
    align-self:flex-end!important;
    margin:0 4px 20px 0!important;
  }
}

/* Real two-layer crossfade for project imagery. */
.featured-project__visual{
  background-image:none!important;
}
.featured-project__visual-layer{
  position:absolute;
  inset:0;
  display:block;
  background-size:cover;
  background-position:center center;
  opacity:0;
  transform:scale(1.012);
  transition:
    opacity .78s cubic-bezier(.22,.61,.36,1),
    transform 1.05s cubic-bezier(.22,.61,.36,1);
  will-change:opacity,transform;
}
.featured-project__visual-layer.is-active{
  opacity:1;
  transform:scale(1);
}

/* Softer text change: less vertical travel and a slower fade. */
.featured-project__link,
.featured-project__text,
.featured-project__title,
.project-meta__tag,
.project-meta__years{
  transition:
    opacity .42s ease,
    transform .48s cubic-bezier(.22,.61,.36,1)!important;
}
.featured-project.is-switching .featured-project__link,
.featured-project.is-switching .featured-project__text,
.featured-project.is-switching .featured-project__title,
.featured-project.is-switching .project-meta__tag,
.featured-project.is-switching .project-meta__years{
  opacity:0;
  transform:translateY(6px);
}

/*
 * JS updates progress every requestAnimationFrame.
 * No transform tween = no delayed "reflection"/backward-looking movement.
 */
.project-tabs button::after{
  transition:background-color .25s ease!important;
}

@media(prefers-reduced-motion:reduce){
  .featured-project__visual-layer{
    transition:none!important;
    transform:none!important;
  }
}


/* ==========================================================================
   CLIENT FEEDBACK — calmer featured-project transition
   ========================================================================== */

.featured-project__visual-layer{
  transform:none!important;
  transition:opacity 1.45s cubic-bezier(.45,0,.55,1)!important;
  will-change:opacity;
}
.featured-project__visual-layer.is-active{
  transform:none!important;
}

.featured-project__link,
.featured-project__text,
.featured-project__title,
.project-meta__tag,
.project-meta__years{
  transition:opacity .72s ease!important;
  transform:none!important;
}
.featured-project.is-switching .featured-project__link,
.featured-project.is-switching .featured-project__text,
.featured-project.is-switching .featured-project__title,
.featured-project.is-switching .project-meta__tag,
.featured-project.is-switching .project-meta__years{
  opacity:0;
  transform:none!important;
}


/* ==========================================================================
   CLIENT FEEDBACK — HOME CLIENT LOGOS
   Old ARCHI-VISION investor logos stay in place for now.
   ========================================================================== */

.home-page .client-logos{
  height:188px!important;
  overflow:hidden;
}

.home-page .client-logos__inner{
  height:100%;
}

.home-page .client-logos img{
  height:100%!important;
  padding:30px 36px!important;
  filter:grayscale(1) saturate(0);
  opacity:.58;
  transform:scale(1);
  transition:
    filter .42s ease,
    opacity .42s ease,
    transform .42s cubic-bezier(.22,.61,.36,1);
}

.home-page .client-logos img:hover,
.home-page .client-logos img:focus-visible{
  filter:grayscale(0) saturate(1);
  opacity:1;
  transform:scale(1.035);
}

@media(max-width:1100px){
  .home-page .client-logos{
    height:376px!important;
  }

  .home-page .client-logos img{
    padding:28px 34px!important;
  }
}

@media(max-width:640px){
  .home-page .client-logos{
    height:auto!important;
  }

  .home-page .client-logos img{
    height:132px!important;
    padding:24px 28px!important;
  }
}

@media(hover:none){
  .home-page .client-logos img{
    filter:grayscale(1) saturate(0);
    opacity:.66;
  }
}


/* ========================================================================== 
   CLIENT FEEDBACK — larger LOCAL client logos + stronger hover state
   ========================================================================== */
.home-page .client-logos{
  height:224px!important;
}
.home-page .client-logos__inner{
  height:100%;
}
.home-page .client-logos .client-logo{
  width:100%;
  height:100%!important;
  object-fit:contain;
  padding:20px 22px!important;
  background:#fff;
  border-right:1px solid #ddd;
  filter:grayscale(1) contrast(.72) brightness(1.12);
  opacity:.34;
  transform:scale(.94);
  transition:
    filter .38s ease,
    opacity .38s ease,
    transform .45s cubic-bezier(.22,.61,.36,1);
}
.home-page .client-logos .client-logo:hover,
.home-page .client-logos .client-logo:focus-visible{
  filter:none!important;
  opacity:1!important;
  transform:scale(1.08);
  outline:none;
}
@media(max-width:1100px){
  .home-page .client-logos{height:448px!important}
  .home-page .client-logos .client-logo{padding:18px 22px!important}
}
@media(max-width:640px){
  .home-page .client-logos{height:auto!important}
  .home-page .client-logos .client-logo{height:154px!important;padding:18px 20px!important}
}


/* ==========================================================================
   CLIENT FEEDBACK — HOME SECTORS GRID
   ========================================================================== */

@media(min-width:1101px){
  .home-page .sectors__grid{
    grid-template-columns:var(--sector-columns,2fr 1fr 1fr 1fr)!important;
    transition:grid-template-columns .46s cubic-bezier(.22,.61,.36,1);
  }

  .home-page .sector-card{
    min-width:0;
    transition:
      background-color .38s var(--ui-ease),
      color .38s var(--ui-ease),
      border-color .38s var(--ui-ease);
  }

  /*
   * Every inactive tile has the same 1fr width.
   * Whichever tile becomes active receives the same 2fr width
   * that the first tile has in the default state.
   */
  .home-page .sector-card:hover strong,
  .home-page .sector-card:focus-visible strong,
  .home-page .sector-card:hover span,
  .home-page .sector-card:focus-visible span{
    color:var(--ui-red)!important;
  }

  .home-page .sector-card strong,
  .home-page .sector-card span{
    transition:
      color .3s ease,
      font-size .38s var(--ui-ease);
  }
}

/* Touch/tablet layouts keep their existing equal grid without hover resizing. */
@media(max-width:1100px){
  .home-page .sectors__grid{
    --sector-columns:none;
  }
}


/* ==========================================================================
   CLIENT FEEDBACK — STATS / MOTION REVEAL TEXT
   ========================================================================== */

/* The explanatory copy in the animated stat cards uses the same dark tone
   as the <strong> value above it instead of the muted grey. */
.stats__grid article.motion-reveal.is-visible p{
  color:#171717!important;
}


/* ==========================================================================
   CLIENT FEEDBACK — FINAL PARTNER LOGOS + EXPERIENCE BACKGROUND
   ========================================================================== */

/* Experience: use the exact supplied portrait as the section background. */
.home-page .experience::before{
  background-image:url("../assets/images/experience-team.jpg")!important;
  background-position:center center!important;
  background-size:cover!important;
}
@media(max-width:768px){
  .home-page .experience{
    background-image:url("../assets/images/experience-team.jpg")!important;
    background-position:center center!important;
    background-size:cover!important;
  }
}

/* Partner strip — 10 exact local logo pairs supplied by the client. */
.home-page .client-logos{
  height:236px!important;
  overflow:hidden;
}
.home-page .client-logos__inner{
  height:100%;
  display:grid!important;
  grid-template-columns:repeat(10,minmax(0,1fr))!important;
}
.home-page .client-logo-item{
  position:relative;
  min-width:0;
  height:100%;
  overflow:hidden;
  background:#fff;
  border-right:1px solid #ddd;
  outline:none;
}
.home-page .client-logo-item:last-child{
  border-right:0;
}
.home-page .client-logo-item .client-logo{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  padding:8px 10px!important;
  margin:0!important;
  background:#fff!important;
  border:0!important;
  filter:none!important;
  transform:none!important;
  transition:opacity .36s ease!important;
}
.home-page .client-logo-item .client-logo--light{
  opacity:1!important;
}
.home-page .client-logo-item .client-logo--dark{
  opacity:0!important;
}
.home-page .client-logo-item:hover .client-logo--light,
.home-page .client-logo-item:focus-visible .client-logo--light,
.home-page .client-logo-item:focus-within .client-logo--light{
  opacity:0!important;
}
.home-page .client-logo-item:hover .client-logo--dark,
.home-page .client-logo-item:focus-visible .client-logo--dark,
.home-page .client-logo-item:focus-within .client-logo--dark{
  opacity:1!important;
}

/* Motion reveal applies to the whole tile, never to each overlaid image. */
.home-page .client-logo-item.motion-reveal{
  transform:translate3d(24px,0,0);
}
.home-page .client-logo-item.motion-reveal.is-visible{
  transform:none;
}

@media(max-width:1599px) and (min-width:1101px){
  .home-page .client-logos{
    height:420px!important;
  }
  .home-page .client-logos__inner{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    grid-template-rows:repeat(2,1fr);
  }
  .home-page .client-logo-item{
    border-bottom:1px solid #ddd;
  }
}

@media(max-width:1100px){
  .home-page .client-logos{
    height:500px!important;
  }
  .home-page .client-logos__inner{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    grid-template-rows:repeat(2,1fr);
  }
  .home-page .client-logo-item .client-logo{
    padding:10px 12px!important;
  }
}

@media(max-width:640px){
  .home-page .client-logos{
    height:auto!important;
  }
  .home-page .client-logos__inner{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:none;
  }
  .home-page .client-logo-item{
    height:155px!important;
    border-bottom:1px solid #ddd;
  }
  .home-page .client-logo-item .client-logo{
    height:100%!important;
    padding:8px 10px!important;
  }
}


/* ==========================================================================
   EXPERIENCE — heading moved away from the portrait
   ========================================================================== */

@media(min-width:769px){
  .home-page .experience .eyebrow{
    top:52px!important;
  }

  .home-page .experience h2{
    top:106px!important;
    max-width:46%!important;
    line-height:1.08;
  }
}


/* ==========================================================================
   EXPERIENCE — content-driven panel height
   ========================================================================== */

@media(min-width:769px){
  .home-page .experience{
    height:auto!important;
    min-height:943px!important;
  }

  .home-page .experience .container{
    height:auto!important;
    min-height:943px!important;
    padding-top:432px;
  }

  .home-page .experience__panel{
    position:relative!important;
    top:auto!important;
    right:auto!important;
    height:auto!important;
    min-height:511px;
    margin:0 0 0 auto!important;
  }
}


/* ==========================================================================
   CLIENT FEEDBACK — FOOTER CONTACT + SOCIAL HOVER
   ========================================================================== */

.site-footer address a{
  color:inherit;
  text-decoration:none;
  transition:color .24s ease;
}
.site-footer address a:hover,
.site-footer address a:focus-visible{
  color:var(--ui-red);
  outline:none;
}

.site-footer .socials a{
  position:relative;
  color:#fff;
  transition:background-color .24s ease;
}

/*
 * Render the existing local PNG icons as masks.
 * This gives a true #fff -> var(--ui-red) change instead of an approximate
 * CSS filter, regardless of the PNG's source colour.
 */
.site-footer .socials a img{
  opacity:0!important;
  pointer-events:none;
}

.site-footer .socials a::before{
  content:"";
  display:block;
  width:16px;
  height:16px;
  background:#fff;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-position:center;
  mask-position:center;
  -webkit-mask-size:contain;
  mask-size:contain;
  transition:
    background-color .24s ease,
    transform .24s cubic-bezier(.22,.61,.36,1);
}

.site-footer .socials a[aria-label="Facebook"]::before{
  -webkit-mask-image:url("../assets/images/facebook-icon.png");
  mask-image:url("../assets/images/facebook-icon.png");
}
.site-footer .socials a[aria-label="Instagram"]::before{
  -webkit-mask-image:url("../assets/images/instagram-icon.png");
  mask-image:url("../assets/images/instagram-icon.png");
}
.site-footer .socials a[aria-label="LinkedIn"]::before{
  -webkit-mask-image:url("../assets/images/linkedin-icon.png");
  mask-image:url("../assets/images/linkedin-icon.png");
}
.site-footer .socials a[aria-label="Pinterest"]::before{
  -webkit-mask-image:url("../assets/images/pinterest-icon.png");
  mask-image:url("../assets/images/pinterest-icon.png");
}
.site-footer .socials a[aria-label="YouTube"]::before{
  width:22px;
  height:16px;
  -webkit-mask-image:url("../assets/images/youtube-icon.png");
  mask-image:url("../assets/images/youtube-icon.png");
}

.site-footer .socials a:hover::before,
.site-footer .socials a:focus-visible::before{
  background:var(--ui-red);
  transform:translateY(-1px);
}

.site-footer .socials a:focus-visible{
  outline:1px solid var(--ui-red);
  outline-offset:3px;
}


/* ==========================================================================
   PROJECTS FILTER — compact visible cards after category/status/year change
   ========================================================================== */

/* Number of rows now follows the number of visible cards instead of staying
   locked to the original 6-row layout. */
.projects-gallery{
  grid-template-rows:repeat(var(--gallery-rows,6),var(--tile))!important;
}

/* Hidden projects take no grid space at all. */
.projects-gallery .gallery-item.is-hidden{
  display:none!important;
}

/* A very short fade softens the regrouping without delaying the reflow. */
.projects-gallery .gallery-item{
  transition:opacity .2s ease;
}
.projects-gallery.is-filtering .gallery-item:not(.is-hidden){
  opacity:.72;
}
.projects-gallery.is-empty{
  display:none!important;
}

@media(max-width:768px){
  /*
   * Mobile remains a simple single-column list. Inline desktop slot
   * coordinates must not interfere with that layout.
   */
  .projects-gallery .gallery-item:not(.is-hidden){
    grid-column:1!important;
    grid-row:auto!important;
  }
  .projects-gallery{
    grid-template-rows:none!important;
  }
}


/* ==========================================================================
   DESKTOP HEADER — unified compact nav on all pages except Home / Oferta
   ========================================================================== */

/*
 * Home and Oferta already have the correct compact navigation.
 * All other desktop headers now use the same menu scale so the additional
 * PL | EN switch fits without colliding with the logo or CTA.
 */
@media(min-width:1201px){
  body:not(.home-page):not(.offer-page) .site-header .desktop-nav{
    font-size:12px!important;
    gap:20px!important;
  }

  body:not(.home-page):not(.offer-page) .site-header .language-switch{
    font-size:12px!important;
    gap:5px!important;
    margin-left:10px!important;
    margin-right:0!important;
  }
}

/* Slightly tighter desktop state for narrower laptops, before mobile kicks in. */
@media(min-width:1201px) and (max-width:1450px){
  body:not(.home-page):not(.offer-page) .site-header .desktop-nav{
    font-size:11px!important;
    gap:14px!important;
  }

  body:not(.home-page):not(.offer-page) .site-header .language-switch{
    font-size:11px!important;
    margin-left:6px!important;
  }

  body:not(.home-page):not(.offer-page) .site-header .header-cta{
    padding-left:28px!important;
    padding-right:28px!important;
    font-size:14px!important;
  }

  body:not(.home-page):not(.offer-page) .site-header > .brand,
  body:not(.home-page):not(.offer-page) .site-header > .brand.brand--wide{
    width:220px!important;
  }
}


/* ==========================================================================
   PROJECT RESULT GRID — fullscreen gallery
   ========================================================================== */

.project-result__grid figure{
  cursor:zoom-in;
}

.project-result__grid figure img{
  user-select:none;
  -webkit-user-drag:none;
  transition:transform .35s cubic-bezier(.22,.61,.36,1);
}

@media(hover:hover){
  .project-result__grid figure:hover img{
    transform:scale(1.025);
  }
}


/* ==========================================================================
   CLIENT FEEDBACK — OFERTA / offer-jump + offer-sector-grid
   ========================================================================== */

/* Górne skróty: spokojne przejście tekstu na czerwony. */
.offer-page .offer-jump a{
  transition:
    background-color .3s ease,
    color .3s ease;
}
.offer-page .offer-jump a strong,
.offer-page .offer-jump a b,
.offer-page .offer-jump a span{
  transition:
    color .3s ease,
    transform .3s cubic-bezier(.22,.61,.36,1);
}
.offer-page .offer-jump a:hover strong,
.offer-page .offer-jump a:focus-visible strong,
.offer-page .offer-jump a:hover b,
.offer-page .offer-jump a:focus-visible b,
.offer-page .offer-jump a:hover span,
.offer-page .offer-jump a:focus-visible span{
  color:var(--ui-red)!important;
}
.offer-page .offer-jump a:focus-visible{
  outline:none;
}

/*
 * Sekcja sektorów działa dokładnie jak analogiczny grid na Home:
 * aktywny kafel = 2fr, wszystkie pozostałe = 1fr.
 * Hover/focus przenosi aktywność i szerokość na wskazany kafel.
 */
@media(min-width:1101px){
  .offer-page .offer-sector-grid{
    grid-template-columns:var(--offer-sector-columns,2fr 1fr 1fr 1fr)!important;
    transition:grid-template-columns .46s cubic-bezier(.22,.61,.36,1);
  }

  .offer-page .offer-sector-card{
    min-width:0;
    transition:
      background-color .38s var(--ui-ease),
      color .38s var(--ui-ease),
      border-color .38s var(--ui-ease);
  }

  .offer-page .offer-sector-card strong,
  .offer-page .offer-sector-card b,
  .offer-page .offer-sector-card p,
  .offer-page .offer-sector-card a{
    transition:
      color .3s ease,
      font-size .38s var(--ui-ease);
  }

  .offer-page .offer-sector-card:hover strong,
  .offer-page .offer-sector-card:focus-visible strong,
  .offer-page .offer-sector-card:hover b,
  .offer-page .offer-sector-card:focus-visible b,
  .offer-page .offer-sector-card:hover p,
  .offer-page .offer-sector-card:focus-visible p,
  .offer-page .offer-sector-card:hover a,
  .offer-page .offer-sector-card:focus-visible a{
    color:var(--ui-red)!important;
  }

  .offer-page .offer-sector-card:focus-visible{
    outline:none;
  }
}

/* Tablet/mobile zachowują dotychczasowy stały układ bez rozszerzania kolumn. */
@media(max-width:1100px){
  .offer-page .offer-sector-grid{
    --offer-sector-columns:none;
  }
}


/* ==========================================================================
   ABOUT — supplied portraits + interactive team
   ========================================================================== */

/* Foundation portrait: exact supplied photo, clipped by the existing shape. */
.about-page .av-about-foundation__shape{
  background:#d9d9d9;
}
.about-page .av-about-foundation__shape img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 26%;
}

/* Supplied wide Łukasz portrait in the generation section. */
.about-page .av-about-generation__visual img{
  object-position:center center!important;
  transform:none!important;
  filter:none!important;
}

/* Team cards */
.about-page .av-about-team__grid{
  align-items:stretch;
}

.about-page .av-team-card{
  display:block;
  width:100%;
  height:426px;
  padding:0;
  margin:0;
  border:0;
  background:#e7e7e7;
  color:#fff;
  text-align:left;
  cursor:pointer;
  overflow:hidden;
}

.about-page .av-team-card__media{
  position:relative;
  display:block;
  width:100%;
  height:100%;
  overflow:hidden;
}

.about-page .av-team-card img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .55s cubic-bezier(.22,.61,.36,1);
}

.about-page .av-team-card__overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,0) 42%,rgba(0,0,0,.72) 100%);
  opacity:0;
  transition:opacity .35s ease;
}

.about-page .av-team-card__caption{
  position:absolute;
  left:28px;
  right:28px;
  bottom:26px;
  z-index:2;
  display:flex;
  flex-direction:column;
  gap:6px;
  opacity:0;
  transform:translateY(16px);
  transition:
    opacity .35s ease,
    transform .4s cubic-bezier(.22,.61,.36,1);
}

.about-page .av-team-card__caption strong{
  font-size:20px;
  line-height:1.15;
  font-weight:500;
}

.about-page .av-team-card__caption span{
  font-size:13px;
  line-height:1.35;
  opacity:.9;
}

@media(hover:hover){
  .about-page .av-team-card:hover img{
    transform:scale(1.025);
  }
  .about-page .av-team-card:hover .av-team-card__overlay{
    opacity:1;
  }
  .about-page .av-team-card:hover .av-team-card__caption{
    opacity:1;
    transform:none;
  }
}

.about-page .av-team-card:focus-visible{
  outline:2px solid var(--ui-red);
  outline-offset:3px;
}
.about-page .av-team-card:focus-visible .av-team-card__overlay,
.about-page .av-team-card:focus-visible .av-team-card__caption{
  opacity:1;
  transform:none;
}

/* Expanded profile modal */
.av-team-modal{
  position:fixed;
  inset:0;
  z-index:10050;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:34px;
  visibility:hidden;
  opacity:0;
  pointer-events:none;
  transition:
    opacity .3s ease,
    visibility .3s ease;
}

.av-team-modal.is-open{
  visibility:visible;
  opacity:1;
  pointer-events:auto;
}

.av-team-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(10,10,10,.82);
  backdrop-filter:blur(5px);
}

.av-team-modal__dialog{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(300px,42%) 1fr;
  width:min(1080px,calc(100vw - 68px));
  max-height:calc(100vh - 68px);
  overflow:auto;
  background:#fff;
  color:#151515;
  box-shadow:0 28px 80px rgba(0,0,0,.3);
}

.av-team-modal__media{
  min-height:590px;
  background:#e7e7e7;
}

.av-team-modal__media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.av-team-modal__content{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:64px 70px;
}

.av-team-modal__content .av-about-eyebrow{
  margin-bottom:30px;
}

.av-team-modal__content h3{
  margin:0 0 12px;
  font-size:42px;
  line-height:1.05;
  font-weight:500;
}

.av-team-modal__role{
  margin:0 0 34px;
  color:var(--ui-red);
  font-size:15px;
  line-height:1.35;
}

.av-team-modal__bio{
  margin:0;
  max-width:600px;
  font-size:18px;
  line-height:1.55;
}

.av-team-modal__close{
  position:absolute;
  top:20px;
  right:20px;
  z-index:3;
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  padding:0;
  border:1px solid rgba(0,0,0,.15);
  background:#fff;
  color:#111;
  font:300 31px/1 Arial,sans-serif;
  cursor:pointer;
  transition:
    color .22s ease,
    border-color .22s ease,
    background-color .22s ease;
}

.av-team-modal__close:hover,
.av-team-modal__close:focus-visible{
  border-color:var(--ui-red);
  background:var(--ui-red);
  color:#fff;
  outline:none;
}

body.av-team-modal-open{
  overflow:hidden;
}

@media(max-width:768px){
  .about-page .av-team-card{
    height:221px;
  }

  /* No hover on touch: keep the identity visible. */
  .about-page .av-team-card__overlay{
    opacity:1;
    background:linear-gradient(180deg,rgba(0,0,0,0) 44%,rgba(0,0,0,.68) 100%);
  }

  .about-page .av-team-card__caption{
    left:14px;
    right:14px;
    bottom:14px;
    gap:3px;
    opacity:1;
    transform:none;
  }

  .about-page .av-team-card__caption strong{
    font-size:14px;
  }

  .about-page .av-team-card__caption span{
    font-size:10px;
  }

  .av-team-modal{
    align-items:flex-end;
    padding:0;
  }

  .av-team-modal__dialog{
    display:block;
    width:100%;
    max-height:92dvh;
  }

  .av-team-modal__media{
    min-height:0;
    height:300px;
  }

  .av-team-modal__media img{
    object-position:center 24%;
  }

  .av-team-modal__content{
    padding:34px 24px 42px;
  }

  .av-team-modal__content .av-about-eyebrow{
    margin-bottom:22px;
  }

  .av-team-modal__content h3{
    padding-right:42px;
    font-size:28px;
  }

  .av-team-modal__role{
    margin-bottom:22px;
    font-size:13px;
  }

  .av-team-modal__bio{
    font-size:15px;
  }

  .av-team-modal__close{
    top:14px;
    right:14px;
    width:42px;
    height:42px;
  }
}


/* ==========================================================================
   ABOUT V75 — single-source hard fix
   ========================================================================== */

/* "Nowe pokolenie": original layout, user-supplied photo. */
.about-page .av-about-generation{
  position:relative!important;
  height:950px!important;
  overflow:hidden!important;
  background:#3d2b1f!important;
  color:#fff!important;
}

.about-page .av-about-generation__visual{
  position:absolute!important;
  inset:0 0 0 56.2%!important;
  z-index:0!important;
  display:block!important;
  overflow:hidden!important;
}

.about-page .av-about-generation__visual img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:72% center!important;
  filter:none!important;
  transform:none!important;
}

.about-page .av-about-generation__brown{
  position:absolute!important;
  inset:0 auto 0 0!important;
  width:56.2%!important;
  z-index:1!important;
  background:#3d2b1f!important;
}

.about-page .av-about-generation__inner{
  position:relative!important;
  z-index:2!important;
}

/* Clients: exact same 10 supplied pairs as Home, enlarged, 5 x 2. */
.about-page .av-about-clients.client-logos{
  display:block!important;
  width:100%!important;
  height:440px!important;
  margin-top:120px!important;
  padding:0!important;
  overflow:hidden!important;
  background:#fff!important;
}

.about-page .av-about-clients.client-logos > .client-logos__inner{
  display:grid!important;
  width:100%!important;
  height:100%!important;
  padding:0!important;
  margin:0!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  grid-template-rows:repeat(2,minmax(0,1fr))!important;
  place-items:stretch!important;
  background:#fff!important;
  border:0!important;
}

.about-page .av-about-clients .client-logo-item{
  position:relative!important;
  display:block!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  overflow:hidden!important;
  background:#fff!important;
  border:0!important;
  border-right:1px solid #ddd!important;
  border-bottom:1px solid #ddd!important;
  outline:none!important;
}

.about-page .av-about-clients .client-logo-item .client-logo{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  padding:0!important;
  margin:0!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#fff!important;
  border:0!important;
  filter:none!important;
  transform:scale(1.16)!important;
  transform-origin:center!important;
  transition:opacity .32s ease!important;
}

.about-page .av-about-clients .client-logo--light{
  opacity:1!important;
}
.about-page .av-about-clients .client-logo--dark{
  opacity:0!important;
}

.about-page .av-about-clients .client-logo-item:hover .client-logo--light,
.about-page .av-about-clients .client-logo-item:focus-visible .client-logo--light,
.about-page .av-about-clients .client-logo-item:focus-within .client-logo--light{
  opacity:0!important;
}
.about-page .av-about-clients .client-logo-item:hover .client-logo--dark,
.about-page .av-about-clients .client-logo-item:focus-visible .client-logo--dark,
.about-page .av-about-clients .client-logo-item:focus-within .client-logo--dark{
  opacity:1!important;
}

@media(max-width:768px){
  .about-page .av-about-generation{
    height:auto!important;
    min-height:995px!important;
  }

  .about-page .av-about-generation__visual{
    inset:auto 0 0 0!important;
    width:100%!important;
    height:369px!important;
  }

  .about-page .av-about-generation__visual img{
    object-position:72% center!important;
  }

  .about-page .av-about-generation__brown{
    inset:0 0 auto 0!important;
    width:100%!important;
    height:626px!important;
  }

  .about-page .av-about-clients.client-logos{
    height:auto!important;
    margin-top:0!important;
  }

  .about-page .av-about-clients.client-logos > .client-logos__inner{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:none!important;
  }

  .about-page .av-about-clients .client-logo-item{
    height:155px!important;
  }

  .about-page .av-about-clients .client-logo-item .client-logo{
    transform:scale(1.08)!important;
  }
}


/* ==========================================================================
   ABOUT V76 — light padding around client logos
   ========================================================================== */

.about-page .av-about-clients .client-logo-item .client-logo{
  padding:14px 16px!important;
  transform:scale(1.08)!important;
}

@media(max-width:768px){
  .about-page .av-about-clients .client-logo-item .client-logo{
    padding:10px 12px!important;
    transform:scale(1.04)!important;
  }
}
