:root{
  --white:#FFFFFF;
  --canvas:#EEF3F7;
  --ink:#16233A;
  --muted:#5B6878;
  --rule:#D6DEE6;
  --blue:#0B6AAE;
  --blue-dark:#084E80;
  --navy:#12305A;
  --wrap:1240px;
  --gut:clamp(16px,4vw,40px);
  --font:"Golos Text",system-ui,sans-serif;
  /* cross-stitch motif from the college logo */
  --stitch:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 9' shape-rendering='crispEdges' fill='%232BA6E1'%3E%3Cpath d='M4 0h1v1H4zM3 1h1v1H3zM5 1h1v1H5zM2 2h1v1H2zM4 2h1v1H4zM6 2h1v1H6zM10 2h1v1h-1zM1 3h1v1H1zM3 3h3v1H3zM7 3h1v1H7zM0 4h1v1H0zM2 4h2v1H2zM5 4h2v1H5zM8 4h1v1H8zM10 4h1v1h-1zM1 5h1v1H1zM3 5h3v1H3zM7 5h1v1H7zM2 6h1v1H2zM4 6h1v1H4zM6 6h1v1H6zM10 6h1v1h-1zM3 7h1v1H3zM5 7h1v1H5zM4 8h1v1H4z'/%3E%3C/svg%3E");
}

/* поверх Avada: белый фон на всю ширину, шрифт дизайна и в контенте страниц */
html,html body.ggk{background:var(--white);overflow-x:hidden}
body.ggk{margin:0;color:var(--ink);font-family:var(--font)}
body.ggk #main{font-family:var(--font)}
body.ggk #main :is(h1,h2,h3,h4,h5,h6){font-family:var(--font)}
.single-post #content h2.entry-title,.single-post #content .fusion-post-title{display:none}

/* базовые правила только для блоков дизайна — контент Avada их не получает */
:is(.ggk-header,.ggk-footer,.ggk-home,.page-head){font:400 1.0625rem/1.6 var(--font);color:var(--ink);box-sizing:border-box}
:is(.ggk-header,.ggk-footer,.ggk-home,.page-head) *{box-sizing:border-box}
:is(.ggk-header,.ggk-footer,.ggk-home,.page-head) a{color:inherit;text-underline-offset:.18em;text-decoration-thickness:1px}
:is(.ggk-header,.ggk-footer,.ggk-home,.page-head) a:hover{color:var(--blue)}
:is(.ggk-header,.ggk-footer,.ggk-home) img{display:block;max-width:100%;height:auto}
:is(.ggk-header,.ggk-footer,.ggk-home,.page-head) :is(h1,h2,h3){margin:0;font-family:var(--font);font-weight:600;letter-spacing:-.015em;line-height:1.15;color:inherit;text-transform:none}
:is(.ggk-header,.ggk-footer,.ggk-home) h2{font-size:clamp(1.6rem,2.6vw,2.1rem)}
:is(.ggk-header,.ggk-footer,.ggk-home) h3{font-size:1.15rem;line-height:1.3}
:is(.ggk-header,.ggk-footer,.ggk-home,.page-head) ul{list-style:none;margin:0;padding:0}
:is(.ggk-header,.ggk-footer,.ggk-home,.page-head) li{margin:0}
:is(.ggk-header,.ggk-footer,.ggk-home,.page-head) p{margin:0}
:is(.ggk-header,.ggk-footer,.ggk-home,.page-head) :focus-visible{outline:3px solid var(--blue);outline-offset:2px}
:is(.ggk-header,.ggk-footer,.ggk-home,.page-head) .wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--ink);color:#fff;padding:8px 14px}
.skip:focus{left:8px}
.stitch{height:27px;background:var(--stitch) 0 0/36px 27px repeat-x}

/* top bar: верхнее меню сайта (слабовидящие, соцсети) и контакты */
.top{background:var(--canvas);font-size:.875rem}
.top .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:4px 22px;min-height:42px;padding-block:6px}
.top .menu{display:flex;flex-wrap:wrap;align-items:center;gap:4px 18px}
.top a{text-decoration:none}
.top a:hover{text-decoration:underline}
.top img,.top .lang img{display:inline-block;vertical-align:middle;height:20px;width:auto;margin:0}
.top .contacts{margin-left:auto;display:flex;flex-wrap:wrap;gap:4px 22px;align-items:center}
.top .lang{display:flex;gap:6px;align-items:center}

/* header */
.masthead .wrap{display:flex;align-items:center;gap:20px 32px;padding-block:20px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:16px;text-decoration:none;max-width:460px}
.brand small{display:block;margin-top:2px;font-size:.85rem;font-weight:400;color:var(--muted)}
.brand img{width:92px}
.brand span{font-weight:600;font-size:1rem;line-height:1.3}
.ggk-header .search{margin:0 0 0 auto;display:flex;border:1px solid var(--rule);border-radius:3px}
.ggk-header .search input{font:inherit;font-size:.95rem;border:0;padding:9px 12px;width:220px;height:auto;background:transparent;color:var(--ink);box-shadow:none}
.ggk-header .search button{font:inherit;font-size:.95rem;font-weight:500;border:0;border-left:1px solid var(--rule);background:var(--canvas);color:var(--ink);padding:0 14px;cursor:pointer}
.ggk-header .play-game{background:var(--blue);color:#fff;font-weight:600;font-size:.95rem;text-decoration:none;border-radius:3px;padding:9px 16px;white-space:nowrap}
.ggk-header .play-game:hover{background:var(--blue-dark);color:#fff}
.ggk-header .burger{display:none;font:600 .95rem var(--font);background:none;border:1px solid var(--ink);border-radius:3px;padding:8px 14px;color:var(--ink);cursor:pointer}

/* главное меню сайта (wp_nav_menu) */
.ggk-header .nav{border-top:1px solid var(--rule)}
.ggk-header .nav>.wrap>ul{display:flex;flex-wrap:wrap;column-gap:clamp(12px,1.4vw,20px)}
.ggk-header .nav li{position:relative}
.ggk-header .nav>.wrap>ul>li>a{display:block;font-weight:500;font-size:clamp(.875rem,.6rem + .35vw,.9375rem);color:var(--ink);padding:12px 0;text-decoration:none}
.ggk-header .nav>.wrap>ul>li>a:hover,.ggk-header .nav>.wrap>ul>li:focus-within>a,.ggk-header .nav .current-menu-item>a,.ggk-header .nav .current-menu-ancestor>a{color:var(--blue)}
.ggk-header .nav .sub-menu{display:none;position:absolute;z-index:30;top:100%;left:0;min-width:280px;background:var(--white);border:1px solid var(--rule);border-top:3px solid var(--blue);padding:10px 0}
.ggk-header .nav .sub-menu .sub-menu{top:-13px;left:100%}
.ggk-header .nav>.wrap>ul>li:nth-last-child(-n+3)>.sub-menu{left:auto;right:0}
.ggk-header .nav>.wrap>ul>li:nth-last-child(-n+3) .sub-menu .sub-menu{left:auto;right:100%}
.ggk-header .nav li:hover>.sub-menu,.ggk-header .nav li:focus-within>.sub-menu{display:block}
.ggk-header .nav .sub-menu a{display:block;padding:7px 18px;text-decoration:none;font-size:.95rem;line-height:1.35}
.ggk-header .nav .sub-menu a:hover{background:var(--canvas);color:var(--ink)}
.ggk-header .nav .sub-toggle{display:none}

/* заголовок внутренних страниц */
.page-head{background:var(--canvas);padding:clamp(24px,3vw,36px) 0 clamp(32px,4vw,48px)}
.page-head h1{margin-top:20px;font-size:clamp(1.9rem,4vw,3rem);line-height:1.08;letter-spacing:-.025em;max-width:24ch}
.crumbs{font-size:.9rem;color:var(--muted)}
.page-head .crumbs a{color:var(--muted)}
.crumbs span+span::before{content:"/";margin:0 .5em;color:var(--rule)}

/* intro */
.intro{padding:clamp(40px,6vw,72px) 0 clamp(32px,4vw,48px)}
.intro .wrap{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:24px 56px;align-items:end}
.ggk-home .intro h1{font-size:clamp(2rem,4.6vw,3.6rem);line-height:1.05;letter-spacing:-.025em;font-weight:600}
.intro p{color:var(--muted);max-width:38ch}
.intro .links{margin-top:16px;display:flex;flex-wrap:wrap;gap:6px 20px;font-weight:500}

/* featured event */
.feature .wrap{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
.ggk-home .feature img,.feature .noimg{width:100%;height:100%;aspect-ratio:700/441;object-fit:cover;background:var(--canvas)}
.feature .caption{background:var(--navy);color:#fff;padding:clamp(24px,3.5vw,44px);display:flex;flex-direction:column;gap:16px}
.feature time{color:#A9C4E4;font-size:.95rem}
.ggk-home .feature h2{font-size:clamp(1.35rem,2.1vw,1.75rem);line-height:1.25;color:#fff}
.feature p{color:#D4E0EE}
.ggk-home .feature .caption a{margin-top:auto;font-weight:600;color:#fff}

/* news */
.block{padding:clamp(56px,7vw,88px) 0}
.block-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 24px;margin-bottom:28px}
.block-head a{font-weight:500}
.news-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:48px}
.ggk-home .news{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 28px}
.news a{text-decoration:none;display:block}
.ggk-home .news img,.news .noimg{display:block;width:100%;aspect-ratio:700/441;object-fit:cover;background:var(--canvas)}
.news .cat{display:block;margin-top:14px;font-size:.85rem;font-weight:500;color:var(--blue)}
.ggk-home .news h3{margin-top:4px;font-weight:500;font-size:1.08rem;line-height:1.35}
.news a:hover h3{text-decoration:underline;text-underline-offset:.18em}
.news time{display:block;margin-top:6px;font-size:.85rem;color:var(--muted)}
.side{display:grid;gap:40px;align-content:start}
.ggk-home .side h2{font-size:1.25rem;padding-bottom:12px;border-bottom:2px solid var(--ink)}
.side li{border-bottom:1px solid var(--rule)}
.side li a{display:block;padding:12px 0;text-decoration:none;font-weight:500;line-height:1.4}
.side li a:hover{text-decoration:underline}
.hotline{background:var(--canvas);padding:22px}
.ggk-home .hotline h2{border:0;padding:0;margin-bottom:8px}
.hotline p{font-size:.95rem;color:var(--muted);margin-bottom:10px}
.hotline a{font-weight:600}

/* sitemap by audience */
.audiences{background:var(--canvas)}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:32px}
.cols h3 a{text-decoration:none}
.cols h3 a:hover{text-decoration:underline}
.cols h3{padding-bottom:10px;margin-bottom:6px;border-bottom:2px solid var(--blue)}
.cols li a{display:block;padding:6px 0;text-decoration:none;line-height:1.4}
.cols li a:hover{text-decoration:underline;color:var(--ink)}

/* departments */
.depts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--rule)}
.dept{padding:24px 24px 28px;border-right:1px solid var(--rule)}
.dept:first-child{padding-left:0}
.dept:last-child{border-right:0;padding-right:0}
.dept h3 a{text-decoration:none}
.dept h3 a:hover{text-decoration:underline}
.dept ul{margin-top:16px;display:grid;gap:14px}
.dept li{font-size:.95rem;line-height:1.4}
.dept li span{display:block;color:var(--muted);font-size:.875rem;margin-top:2px}

/* college life */
.life{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.life a{text-decoration:none;display:block}
.ggk-home .life img{width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--canvas)}
.life h3{margin-top:14px}
.life p{color:var(--muted);font-size:.95rem;margin-top:4px}
.life a:hover h3{text-decoration:underline}
.more-life{margin-top:32px;display:flex;flex-wrap:wrap;gap:8px 28px;font-weight:500}

/* official resources */
.official{border-top:1px solid var(--rule);padding:28px 0;font-size:.95rem}
.official ul{display:flex;flex-wrap:wrap;gap:8px 32px}

/* footer */
.ggk-footer{background:var(--navy);color:#D4E0EE;font-size:.95rem}
.ggk-footer .stitch{background-color:var(--white)}
.ggk-footer .wrap{padding-block:48px 28px}
.foot{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr));gap:36px}
.ggk-footer h2{font-size:1rem;color:#fff;margin-bottom:12px}
.ggk-footer ul{display:grid;gap:6px}
.ggk-footer a{color:#fff}
.ggk-footer a:hover{color:#A9C4E4}
.ggk-footer address{font-style:normal;line-height:1.7}
.ggk-footer .phone{font-size:1.4rem;font-weight:600;text-decoration:none}
.legal{margin-top:40px;padding-top:20px;border-top:1px solid #2E4C78;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:.85rem;color:#A9C4E4}

@media (max-width:1100px){
  .brand{flex:1 1 0;min-width:0}
  .ggk-header .burger{display:block;margin-left:auto}
  .ggk-header .search{order:3;margin-left:0;width:100%}
  .ggk-header .search input{flex:1;width:auto}
  .ggk-header .play-game{order:4;width:100%;text-align:center}
  .ggk-header .nav{display:none}
  .ggk-header .nav.open{display:block}
  .ggk-header .nav>.wrap>ul{flex-direction:column;padding-bottom:16px}
  .ggk-header .nav>.wrap>ul>li{border-bottom:1px solid var(--rule)}
  .ggk-header .nav li{display:flex;flex-wrap:wrap;align-items:center}
  .ggk-header .nav li>a{flex:1 1 0}
  .ggk-header .nav>.wrap>ul>li>a{font-weight:700}
  .ggk-header .nav .sub-toggle{display:block;font:400 1.25rem/1 var(--font);color:var(--ink);background:none;border:0;padding:8px 4px 8px 16px;cursor:pointer}
  .ggk-header .nav .sub-toggle::after{content:"+"}
  .ggk-header .nav li.open>.sub-toggle::after{content:"−"}
  .ggk-header .nav .sub-menu,.ggk-header .nav .sub-menu .sub-menu,.ggk-header .nav li:hover>.sub-menu,.ggk-header .nav li:focus-within>.sub-menu{display:none;position:static;flex-basis:100%;min-width:0;border:0;padding:0 0 10px}
  .ggk-header .nav li.open>.sub-menu{display:block}
  .ggk-header .nav .sub-menu a{padding:6px 0 6px 14px}
  .intro .wrap,.feature .wrap,.news-layout{grid-template-columns:1fr}
  .depts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dept{padding:24px 24px 28px 0;border-right:0;border-bottom:1px solid var(--rule)}
  .foot{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:600px){
  .top .contacts{margin-left:0}
  .brand img{width:64px}
  .brand span{font-size:.9rem}
  .ggk-home .news,.depts,.life,.foot,.tests{grid-template-columns:1fr}
}

/* главная abit: без боковых отступов Avada у страницы «100% Width» */
body.ggk.home #main{padding:0}
body.ggk.home #main>.fusion-row{max-width:none}

/* тесты и опросы */
.tests{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;align-items:start}
.profitest{display:block;text-decoration:none}
.ggk-home .profitest img{width:100%;aspect-ratio:512/348;object-fit:cover;background:var(--white)}
.profitest h3{margin-top:14px}
.profitest p{color:var(--muted);font-size:.95rem;margin-top:4px}
.profitest:hover h3{text-decoration:underline}
.tests .side ul{border-top:2px solid var(--ink)}

/* опросы WP-Polls в стиле дизайна */
.ggk-home .poll{background:var(--white);border:1px solid var(--rule);padding:22px}
.ggk-home .side .poll{background:var(--canvas);border:0}
.ggk-home .poll p{margin:0 0 12px;text-align:left!important}
.ggk-home .poll strong{display:block;font-size:1.1rem;font-weight:600;line-height:1.3}
.ggk-home .poll li{display:flex;align-items:center;gap:8px;padding:4px 0;border:0}
.ggk-home .poll label{cursor:pointer}
.ggk-home .poll .Buttons{font:600 .95rem var(--font);color:#fff;background:var(--blue);border:0;border-radius:3px;padding:9px 16px;cursor:pointer}
.ggk-home .poll .Buttons:hover{background:var(--blue-dark)}
.ggk-home .poll a{color:var(--blue)}
@media (max-width:1100px){.tests{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.tests{grid-template-columns:1fr}}
