@charset "UTF-8";
/* ==========================================================================
   ALUCORNER – arculati réteg (2026)
   Fekete / antracit + fehér, letisztult, prémium építészeti megjelenés.
   A régi css/style.css után töltődik be, azt felülírja.
   ========================================================================== */

:root{
	--ac-black:      #0B0B0C;
	--ac-ink:        #121417;
	--ac-surface:    #16181B;
	--ac-surface-2:  #1D2024;
	--ac-line:       rgba(255,255,255,.10);
	--ac-line-soft:  rgba(255,255,255,.06);
	--ac-white:      #FFFFFF;
	--ac-muted:      #A7ACB2;
	--ac-muted-2:    #7E848B;
	--ac-accent:     #C19664;
	--ac-accent-2:   #D9B486;
	--ac-radius:     2px;
	--ac-header-h:   88px;
	--ac-header-h-s: 68px;
	--ac-max:        1240px;
	--ac-max-wide:   1560px;
	--ac-ease:       cubic-bezier(.4,0,.2,1);
}

/* ---------- alap ---------- */
html{ -webkit-text-size-adjust:100%; }
body,html{ font-family:'Open Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif; }
body{ background-color:#fff; color:#3A3F45; overflow-x:hidden; }
body.ac-home{ background-color:var(--ac-black); color:#D7DBDF; }

*,*:before,*:after{ box-sizing:border-box; }
img{ max-width:100%; }

a{ text-decoration:none; }
a:focus-visible,button:focus-visible{ outline:2px solid var(--ac-accent); outline-offset:3px; }

/* a régi fix 1200px-es konténer helyett rugalmas */
.site{ width:auto !important; max-width:var(--ac-max); margin:0 auto; padding-left:24px; padding-right:24px; }

/* ---------- tipográfia ---------- */
.ac-eyebrow{
	display:block; font-size:12px; letter-spacing:.22em; text-transform:uppercase;
	color:var(--ac-accent); font-weight:600; margin-bottom:14px;
}
.ac-h2{
	font-family:'Roboto','Open Sans',sans-serif; font-weight:700; letter-spacing:.04em;
	font-size:34px; line-height:1.18; margin:0 0 18px 0; color:var(--ac-white);
	text-transform:uppercase;
}
body.ac-sub .ac-h2{ color:var(--ac-ink); }
.ac-lead{ font-size:16px; line-height:1.75; color:var(--ac-muted); margin:0; }
body.ac-sub .ac-lead{ color:#5A6068; }

/* ---------- gombok ---------- */
.ac-btn{
	display:inline-flex; align-items:center; justify-content:center; gap:10px;
	font-family:'Roboto','Open Sans',sans-serif;
	font-size:12.5px; font-weight:600; letter-spacing:.16em; text-transform:uppercase;
	padding:15px 30px; border:1px solid var(--ac-accent); color:var(--ac-accent);
	background:transparent; border-radius:var(--ac-radius); cursor:pointer;
	transition:background-color .28s var(--ac-ease), color .28s var(--ac-ease), border-color .28s var(--ac-ease), transform .28s var(--ac-ease);
	line-height:1;
}
.ac-btn:hover{ background:var(--ac-accent); color:#141414; border-color:var(--ac-accent); }
.ac-btn--solid{ background:var(--ac-accent); color:#141414; }
.ac-btn--solid:hover{ background:var(--ac-accent-2); border-color:var(--ac-accent-2); }
.ac-btn--light{ border-color:rgba(255,255,255,.35); color:#fff; }
.ac-btn--light:hover{ background:#fff; color:#141414; border-color:#fff; }
.ac-btn--lg{ padding:18px 38px; font-size:13px; }
.ac-btn--sm{ padding:12px 22px; font-size:11.5px; }

/* ==========================================================================
   FEJLÉC
   ========================================================================== */
/* Fontos: a fejlecen NINCS backdrop-filter/transform, mert az uj tartalmazo
   blokkot hozna letre, es a mobil menu (position:fixed) beleragadna. */
header.ac-header{
	position:sticky; top:0; z-index:900;
	background:#0B0B0C;
	border-bottom:1px solid var(--ac-line-soft);
	transition:box-shadow .3s var(--ac-ease), border-color .3s var(--ac-ease);
}
header.ac-header.is-stuck{
	border-bottom-color:var(--ac-line);
	box-shadow:0 10px 34px rgba(0,0,0,.55);
}

.ac-header__inner{
	max-width:var(--ac-max-wide); margin:0 auto; padding:0 28px;
	height:var(--ac-header-h);
	display:flex; align-items:center; gap:20px;
	transition:height .3s var(--ac-ease);
}
header.ac-header.is-stuck .ac-header__inner{ height:var(--ac-header-h-s); }

.ac-logo{ display:flex; align-items:center; flex:0 0 auto; }
.ac-logo img{
	display:block; height:56px; width:auto; border:0;
	transition:height .3s var(--ac-ease);
}
header.ac-header.is-stuck .ac-logo img{ height:44px; }

/* --- fő navigáció --- */
.ac-nav{ flex:1 1 auto; display:flex; justify-content:center; min-width:0; }
.ac-nav__head{ display:none; }
.ac-nav__cta{ display:none; }

.ac-nav ul#jsddm{
	display:flex; align-items:center; justify-content:center; flex-wrap:nowrap;
	gap:0; margin:0; padding:0; list-style:none; width:auto;
}
.ac-nav ul#jsddm li{ list-style:none; display:block; position:relative; }
.ac-nav ul#jsddm li.f > a{
	display:block; position:relative;
	padding:10px 11px; margin:0;
	color:rgba(255,255,255,.86);
	font-family:'Roboto','Open Sans',sans-serif;
	font-size:12px; font-weight:500; letter-spacing:.07em; text-transform:uppercase;
	white-space:nowrap; background:none; text-shadow:none;
	transition:color .25s var(--ac-ease);
}
.ac-nav ul#jsddm li.f > a:after{
	content:""; position:absolute; left:11px; right:11px; bottom:2px; height:1px;
	background:var(--ac-accent); transform:scaleX(0); transform-origin:center;
	transition:transform .3s var(--ac-ease);
}
.ac-nav ul#jsddm li.f > a:hover,
.ac-nav ul#jsddm li.f > a.active{ color:#fff; background:none; }
.ac-nav ul#jsddm li.f > a:hover:after,
.ac-nav ul#jsddm li.f > a.active:after{ transform:scaleX(1); }

/* almenü */
.ac-nav ul#jsddm li ul{
	position:absolute; top:100%; left:50%; transform:translateX(-50%) translateY(6px);
	min-width:250px; width:auto; margin:0; padding:8px 0;
	background:#15171A; border:1px solid var(--ac-line);
	box-shadow:0 20px 50px rgba(0,0,0,.55);
	opacity:0; visibility:hidden; pointer-events:none; display:block;
	transition:opacity .22s var(--ac-ease), transform .22s var(--ac-ease), visibility .22s;
	z-index:1200;
}
.ac-nav ul#jsddm li:hover > ul,
.ac-nav ul#jsddm li:focus-within > ul{
	opacity:1; visibility:visible; pointer-events:auto; transform:translateX(-50%) translateY(0);
}
.ac-nav ul#jsddm li ul li{ display:block; background:none; }
.ac-nav ul#jsddm li ul li a{
	display:block; width:auto; float:none; text-align:left;
	padding:11px 20px; margin:0; border:0; font-size:13px; letter-spacing:.04em;
	color:rgba(255,255,255,.75); text-transform:none; background:none;
	transition:color .2s var(--ac-ease), background-color .2s var(--ac-ease);
}
.ac-nav ul#jsddm li ul li a:hover{ background:rgba(193,150,100,.14); color:#fff; }

/* --- fejléc jobb oldal --- */
.ac-header__actions{ flex:0 0 auto; display:flex; align-items:center; gap:14px; margin-left:auto; }
.ac-header__cta{ white-space:nowrap; }

.ac-burger{
	display:none; width:46px; height:46px; padding:0; border:1px solid var(--ac-line);
	background:transparent; border-radius:var(--ac-radius); cursor:pointer;
	flex-direction:column; align-items:center; justify-content:center; gap:5px;
}
.ac-burger span{
	display:block; width:20px; height:1.5px; background:#fff; border-radius:2px;
	transition:transform .3s var(--ac-ease), opacity .2s var(--ac-ease);
}
.ac-burger.is-open span:nth-child(1){ transform:translateY(6.5px) rotate(45deg); }
.ac-burger.is-open span:nth-child(2){ opacity:0; }
.ac-burger.is-open span:nth-child(3){ transform:translateY(-6.5px) rotate(-45deg); }

.ac-scrim{
	position:fixed; inset:0; background:rgba(0,0,0,.6); z-index:890;
	opacity:0; visibility:hidden; transition:opacity .3s var(--ac-ease), visibility .3s;
}
body.ac-nav-open .ac-scrim{ opacity:1; visibility:visible; }
body.ac-nav-open{ overflow:hidden; }

/* a régi mobil menü gomb kikapcsolása */
.mobileMenu{ display:none !important; }

/* ==========================================================================
   HERO
   ========================================================================== */
.ac-hero{ position:relative; overflow:hidden; background:var(--ac-black); }
.ac-hero__media{
	position:absolute; inset:0;
	background:#0B0B0C url('../hpimages/hero-home.jpg') no-repeat center center;
	background-size:cover;
}
.ac-hero__slider{ position:absolute; inset:0; margin:0; border:0; background:none; box-shadow:none; }
.ac-hero__slider .slides,
.ac-hero__slider .slides li{ height:100%; margin:0; padding:0; list-style:none; }
.ac-hero__slider .slides img{ width:100%; height:100%; object-fit:cover; display:block; }
.ac-hero__shade{
	position:absolute; inset:0;
	background:linear-gradient(90deg, rgba(8,8,9,.96) 0%, rgba(8,8,9,.90) 32%, rgba(8,8,9,.58) 60%, rgba(8,8,9,.26) 100%);
}
.ac-hero__inner{
	position:relative; z-index:2;
	max-width:var(--ac-max); margin:0 auto; padding:96px 24px 104px;
	min-height:440px; display:flex; flex-direction:column; justify-content:center;
}
.ac-hero__title{
	font-family:'Roboto','Open Sans',sans-serif;
	color:#fff; font-weight:700; text-transform:uppercase;
	font-size:40px; line-height:1.18; letter-spacing:.01em;
	margin:0 0 22px 0; max-width:780px;
}
.ac-hero__lead{
	color:rgba(255,255,255,.82); font-size:17px; line-height:1.65;
	margin:0 0 34px 0; max-width:480px;
}
.ac-hero__actions{ display:flex; flex-wrap:wrap; gap:14px; }
.ac-hero--plain .ac-hero__inner{ min-height:0; padding:0; }

/* ==========================================================================
   FŐOLDAL – szekciók
   ========================================================================== */
body.ac-home article{ background:var(--ac-black); }
body.ac-home .middleText{ background:none; padding:0; }

.ac-section{ padding:82px 0; }
.ac-section--tight{ padding:64px 0; }
.ac-section--dark{ background:var(--ac-black); }
.ac-section--surface{ background:var(--ac-ink); }

.ac-sectionHead{ text-align:center; max-width:820px; margin:0 auto 48px; }
.ac-sectionHead .ac-h2{ margin-bottom:16px; }
.ac-sectionHead .ac-rule{
	width:56px; height:2px; background:var(--ac-accent); margin:0 auto 20px; border:0;
}

/* --- bevezető szöveg (cikk 1) --- */
.ac-intro{ text-align:center; max-width:900px; margin:0 auto; }
.ac-section--dark .ac-intro{ padding-bottom:6px; }
.ac-intro h1,.ac-intro h2{
	font-family:'Roboto','Open Sans',sans-serif; color:#fff; font-weight:700;
	text-transform:uppercase; letter-spacing:.02em;
	font-size:34px; line-height:1.2; margin:0 0 26px 0;
}
.ac-intro h3{ color:#fff; font-size:20px; }
.ac-intro p{ color:var(--ac-muted); font-size:16px; line-height:1.8; padding:0 0 18px 0; }
.ac-intro > p:first-child{ font-size:19px; line-height:1.7; color:#DDE1E5; padding-bottom:24px; }
.ac-intro p span{ font-size:inherit !important; }
.ac-intro strong,.ac-intro b{ color:#fff; font-weight:600; }
.ac-intro p:last-child{ padding-bottom:0; }
.ac-intro a{ color:var(--ac-accent); }

/* ==========================================================================
   3 KATEGÓRIA BLOKK (képes)
   ========================================================================== */
.ac-cats{ background:var(--ac-black); padding:0; }
.ac-cats--padded{ padding:88px 0; }
.ac-cats__grid{
	display:grid; grid-template-columns:repeat(3,1fr); gap:14px;
	max-width:var(--ac-max-wide); margin:0 auto; padding:0 28px;
}
.ac-cat{
	position:relative; display:block; overflow:hidden; isolation:isolate;
	min-height:520px; background:#101214; border-radius:var(--ac-radius);
	color:#fff;
}
.ac-cat__media{
	position:absolute; inset:0; display:block;
	background-position:center center; background-size:cover; background-repeat:no-repeat;
	transform:scale(1.02);
	transition:transform 1.1s var(--ac-ease), filter .6s var(--ac-ease);
	filter:saturate(.95);
}
.ac-cat:hover .ac-cat__media{ transform:scale(1.09); filter:saturate(1.05); }
.ac-cat__shade{
	position:absolute; inset:0; display:block;
	background:linear-gradient(180deg, rgba(8,9,10,.10) 0%, rgba(8,9,10,.12) 38%, rgba(8,9,10,.72) 72%, rgba(8,9,10,.94) 100%);
	transition:background .5s var(--ac-ease);
}
.ac-cat:hover .ac-cat__shade{
	background:linear-gradient(180deg, rgba(8,9,10,.16) 0%, rgba(8,9,10,.22) 38%, rgba(8,9,10,.80) 72%, rgba(8,9,10,.97) 100%);
}
.ac-cat__body{
	position:absolute; left:0; right:0; bottom:0; z-index:2; display:block;
	padding:36px 30px 34px; text-align:center;
}
.ac-cat__title{
	display:block; font-family:'Roboto','Open Sans',sans-serif;
	font-size:23px; font-weight:700; letter-spacing:.05em; text-transform:uppercase;
	color:#fff; margin:0 0 12px 0; line-height:1.25;
	text-shadow:0 2px 18px rgba(0,0,0,.55);
}
.ac-cat__sub{
	display:block; font-size:14px; line-height:1.6; color:rgba(255,255,255,.80);
	max-width:34ch; margin:0 auto;
}
.ac-cat__line{
	display:block; width:44px; height:1px; background:rgba(255,255,255,.45);
	margin:20px auto 0; transition:width .4s var(--ac-ease), background-color .4s var(--ac-ease);
}
.ac-cat:hover .ac-cat__line{ width:78px; background:var(--ac-accent); }

/* ==========================================================================
   PROJEKTEK
   ========================================================================== */
.ac-projects__grid{
	display:grid; grid-template-columns:repeat(3,1fr); gap:26px;
	list-style:none; margin:0; padding:0;
}
.ac-projects__grid li{ margin:0; padding:0; float:none; width:auto; list-style:none; display:flex; }
.ac-project{
	display:flex; flex-direction:column; width:100%;
	background:var(--ac-surface); border:1px solid var(--ac-line-soft);
	border-radius:var(--ac-radius); overflow:hidden;
	transition:border-color .3s var(--ac-ease), transform .3s var(--ac-ease);
}
.ac-project:hover{ border-color:rgba(193,150,100,.5); transform:translateY(-3px); }
.ac-project .pic{ display:block; flex:0 0 auto; height:0; padding-bottom:64%; position:relative; overflow:hidden; }
.ac-project .pic img{
	position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
	transition:transform .8s var(--ac-ease);
}
.ac-project:hover .pic img{ transform:scale(1.06); }
.ac-project__body{ display:block; padding:22px 22px 24px; }
.ac-project__title{
	display:block; font-family:'Roboto','Open Sans',sans-serif; font-size:16px; font-weight:600;
	letter-spacing:.04em; text-transform:uppercase; color:#fff; margin:0; line-height:1.4;
}
.ac-project__title + .ac-project__lead{ margin-top:10px; }
.ac-project__lead{ font-size:14px; line-height:1.65; color:var(--ac-muted); }
.ac-project__lead p{ padding:0 0 8px 0; }
body.ac-sub .ac-project{ background:#fff; border-color:#E4E7EA; }
body.ac-sub .ac-project__title{ color:var(--ac-ink); }
body.ac-sub .ac-project__lead{ color:#5A6068; }

.ac-actions{ text-align:center; margin-top:46px; }

/* üres állapot */
.ac-empty{
	border:1px dashed var(--ac-line); border-radius:var(--ac-radius);
	padding:46px 28px; text-align:center; color:var(--ac-muted); background:var(--ac-ink);
}
body.ac-sub .ac-empty{ background:#F6F7F8; border-color:#DDE1E5; color:#606770; }

/* ==========================================================================
   CTA sáv
   ========================================================================== */
.ac-cta{
	background:var(--ac-ink); border-top:1px solid var(--ac-line-soft);
	border-bottom:1px solid var(--ac-line-soft); padding:62px 0;
}
.ac-cta__inner{
	display:flex; align-items:center; justify-content:space-between; gap:32px; flex-wrap:wrap;
}
.ac-cta__text{ flex:1 1 420px; }
.ac-cta__text h2{
	font-family:'Roboto','Open Sans',sans-serif; color:#fff; font-size:26px; font-weight:700;
	letter-spacing:.03em; text-transform:uppercase; margin:0 0 10px 0;
}
.ac-cta__text p{ color:var(--ac-muted); margin:0; padding:0; font-size:15px; }
.ac-cta__actions{ display:flex; gap:14px; flex-wrap:wrap; }

/* ==========================================================================
   ALOLDALAK – finomhangolás (világos tartalom, sötét fejléc/lábléc)
   ========================================================================== */
body.ac-sub .middleText{ background:#fff; padding:44px 0 56px; }
body.ac-sub .titleBox{ border-bottom:1px solid #E2E6EA; height:auto; padding-bottom:14px; margin-bottom:32px; }
body.ac-sub .titleBox h1{
	background:none; padding:0; font-family:'Roboto','Open Sans',sans-serif;
	font-weight:700; text-transform:uppercase; letter-spacing:.03em; font-size:30px; color:var(--ac-ink);
}
body.ac-sub .leftMenu{ list-style:none; margin:0; padding:0; }
body.ac-sub .leftMenu li a{
	display:block; padding:13px 16px; border-bottom:1px solid #E6E9EC; color:#3A3F45;
	font-size:14px; letter-spacing:.02em; transition:all .25s var(--ac-ease);
}
body.ac-sub .leftMenu li a:hover{ background:var(--ac-ink); color:#fff; }
body.ac-sub .btnBig,
body.ac-sub .pinkBtn{
	display:inline-block; padding:14px 28px; background:var(--ac-ink); color:#fff;
	font-size:12px; letter-spacing:.14em; text-transform:uppercase; font-weight:600;
}
body.ac-sub .btnBig:hover,
body.ac-sub .pinkBtn:hover{ background:var(--ac-accent); color:#141414; }
.likesharebox{ border-top:1px solid #E6E9EC; margin-top:32px; padding-top:18px; }

/* ==========================================================================
   LÁBLÉC
   ========================================================================== */
footer.ac-footer{
	background:var(--ac-black); color:#B9BEC4; margin-top:0;
	border-top:1px solid var(--ac-line-soft);
}
.ac-footer__top{
	display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:48px;
	padding:70px 0 56px;
}
.ac-footer__brand img{ height:64px; width:auto; display:block; margin-bottom:22px; }
.ac-footer__info{ font-size:14px; line-height:1.75; color:var(--ac-muted); max-width:36ch; }
.ac-footer__info p{ padding:0 0 14px 0; }
.ac-footer__info b,.ac-footer__info strong{ color:#fff; font-weight:600; }

.ac-footer__title{
	font-family:'Roboto','Open Sans',sans-serif; font-size:12px; font-weight:700;
	letter-spacing:.2em; text-transform:uppercase; color:#fff; margin:0 0 20px 0;
}
.ac-footer__list{ list-style:none; margin:0; padding:0; }
.ac-footer__list li{ margin:0 0 11px 0; }
.ac-footer__list a{
	color:var(--ac-muted); font-size:14px; letter-spacing:.02em;
	transition:color .22s var(--ac-ease);
}
.ac-footer__list a:hover{ color:var(--ac-accent); }
.ac-footer__mail{
	display:inline-flex; align-items:center; gap:9px; color:#fff !important;
	font-size:15px; font-weight:600; letter-spacing:.02em;
}
.ac-footer__mail:hover{ color:var(--ac-accent) !important; }
.ac-footer__cta{ margin-top:24px; }

.ac-footer__bottom{
	border-top:1px solid var(--ac-line-soft); padding:22px 0 26px;
	display:flex; justify-content:space-between; align-items:center; gap:18px; flex-wrap:wrap;
	font-size:12px; color:var(--ac-muted-2);
}
.ac-footer__bottom a{ color:var(--ac-muted-2); }
.ac-footer__bottom a:hover{ color:var(--ac-accent); }
.ac-footer__social{ display:flex; gap:14px; align-items:center; }

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media screen and (max-width:1440px){
	.ac-nav ul#jsddm li.f > a{ padding:9px 8px; font-size:11px; letter-spacing:.05em; }
	.ac-nav ul#jsddm li.f > a:after{ left:8px; right:8px; }
	.ac-logo img{ height:50px; }
	.ac-header__inner{ padding:0 20px; gap:14px; }
	.ac-header__cta{ padding:11px 16px; font-size:11px; letter-spacing:.1em; }
	.ac-hero__title{ font-size:38px; max-width:720px; }
}

@media screen and (max-width:1200px){
	.ac-nav ul#jsddm li.f > a{ padding:9px 6px; font-size:10.5px; letter-spacing:.03em; }
	.ac-logo img{ height:44px; }
}

@media screen and (max-width:1080px){
	:root{ --ac-header-h:74px; --ac-header-h-s:62px; }

	.ac-burger{ display:flex; }
	.ac-header__cta{ display:none; }

	.ac-nav{
		position:fixed; top:0; right:0; bottom:0; width:min(360px,86vw);
		background:#111315; border-left:1px solid var(--ac-line);
		display:block; z-index:1000; padding:0;
		transform:translateX(100%); transition:transform .38s var(--ac-ease);
		overflow-y:auto; -webkit-overflow-scrolling:touch;
		box-shadow:-24px 0 60px rgba(0,0,0,.5);
	}
	body.ac-nav-open .ac-nav{ transform:translateX(0); }

	.ac-nav__head{
		display:flex; align-items:center; justify-content:space-between;
		padding:18px 20px; border-bottom:1px solid var(--ac-line);
	}
	.ac-nav__head img{ height:38px; width:auto; display:block; }
	.ac-nav__close{
		width:40px; height:40px; border:0; background:transparent; color:#fff;
		font-size:26px; line-height:1; cursor:pointer; padding:0;
	}

	.ac-nav ul#jsddm{ display:block; padding:8px 0; text-align:left; }
	.ac-nav ul#jsddm li{ display:block; text-align:left; }
	.ac-nav ul#jsddm li.f > a{
		display:flex; align-items:center; justify-content:space-between; gap:12px;
		text-align:left; padding:15px 20px; font-size:13px; letter-spacing:.1em;
		border-bottom:1px solid var(--ac-line-soft); white-space:normal;
	}
	.ac-nav ul#jsddm li.f > a:before{
		content:""; order:2; flex:0 0 auto; width:7px; height:7px;
		border-right:1.5px solid rgba(255,255,255,.38);
		border-top:1.5px solid rgba(255,255,255,.38);
		transform:rotate(45deg); transition:border-color .25s var(--ac-ease);
	}
	.ac-nav ul#jsddm li.f > a:hover:before{ border-color:var(--ac-accent); }
	.ac-nav ul#jsddm li.f > a:after{ display:none; }
	.ac-nav ul#jsddm li.f > a:hover,
	.ac-nav ul#jsddm li.f > a.active{ background:rgba(193,150,100,.10); color:var(--ac-accent); }

	.ac-nav ul#jsddm li ul{
		position:static; transform:none; opacity:1; visibility:visible; pointer-events:auto;
		min-width:0; width:auto; border:0; box-shadow:none; background:rgba(255,255,255,.03);
		padding:4px 0;
	}
	.ac-nav ul#jsddm li ul li a{ padding:12px 20px 12px 34px; font-size:12.5px; text-align:left; }

	.ac-nav__cta{ display:flex; margin:20px; width:calc(100% - 40px); }

	.ac-hero__inner{ min-height:380px; padding:72px 24px 78px; }
	.ac-hero__title{ font-size:38px; }

	.ac-cats__grid{ grid-template-columns:repeat(3,1fr); gap:10px; padding:0 20px; }
	.ac-cat{ min-height:420px; }
	.ac-cat__title{ font-size:19px; }
	.ac-cat__sub{ font-size:13px; }

	.ac-projects__grid{ grid-template-columns:repeat(2,1fr); }
	.ac-footer__top{ grid-template-columns:1fr 1fr; gap:36px; }
}

@media screen and (max-width:820px){
	.ac-section{ padding:62px 0; }
	.ac-h2,.ac-intro h1,.ac-intro h2{ font-size:26px; }
	.ac-hero__title{ font-size:30px; max-width:100%; }
	.ac-hero__lead{ font-size:15px; }
	.ac-hero__inner{ min-height:320px; padding:56px 24px 60px; }
	.ac-hero__shade{
		background:linear-gradient(180deg, rgba(8,8,9,.78) 0%, rgba(8,8,9,.72) 40%, rgba(8,8,9,.90) 100%);
	}

	.ac-cats__grid{ grid-template-columns:1fr; gap:12px; }
	.ac-cat{ min-height:340px; }
	.ac-cat__body{ padding:28px 24px 30px; }

	.ac-projects__grid{ grid-template-columns:1fr; gap:18px; }

	.ac-cta{ padding:48px 0; }
	.ac-cta__inner{ flex-direction:column; align-items:flex-start; }
	.ac-cta__text h2{ font-size:22px; }

	.ac-footer__top{ grid-template-columns:1fr; gap:34px; padding:52px 0 40px; }
	.ac-footer__bottom{ flex-direction:column; align-items:flex-start; text-align:left; }

	body.ac-sub .leftBox,
	body.ac-sub .rightBox{ float:none; width:auto; }
}

@media screen and (max-width:520px){
	.site{ padding-left:18px; padding-right:18px; }
	.ac-header__inner{ padding:0 16px; }
	.ac-logo img{ height:42px; }
	header.ac-header.is-stuck .ac-logo img{ height:38px; }
	.ac-hero__title{ font-size:26px; }
	.ac-btn{ padding:14px 22px; font-size:11.5px; letter-spacing:.12em; }
	.ac-btn--lg{ padding:16px 26px; font-size:12px; }
	.ac-cat{ min-height:300px; }
	.ac-cat__title{ font-size:18px; }
	.ac-cats__grid{ padding:0 18px; }
}

@media (prefers-reduced-motion: reduce){
	*,*:before,*:after{ animation-duration:.001ms !important; transition-duration:.001ms !important; }
}
