/*
Theme Name: Gema
Author: Gema
Version: 2.2.2
*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+Display:ital,wght@0,400;0,700;0,900;1,400&family=Noto+Serif:ital,wght@0,400;0,500;0,700;1,400&family=Rubik:wght@400;500;600;700&display=swap');
:root{--foolo-bg:#F2F6F3;--foolo-bg-alt:#E1E9E3;--foolo-text:#15201A;--foolo-text-secondary:#4F5C55;--foolo-accent:#2C5C4A;--foolo-accent-light:#DDE9E3;--foolo-accent-dark:#1A3D30;--foolo-border:#BFCDC5;--foolo-card-bg:#FFFFFF;--foolo-f-display:'Noto Serif Display',serif;--foolo-f-body:'Noto Serif',serif;--foolo-f-ui:'Rubik',sans-serif;--foolo-radius:0px;--foolo-radius-lg:4px;--foolo-shadow:none;--foolo-shadow-lg:0 1px 0 rgba(0,0,0,0.08);--foolo-h1:4rem;--foolo-h2:2.4rem;--foolo-h3:1.5rem;--foolo-body-size:1.15rem;--foolo-line-height:1.75;--foolo-section-py:2rem}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{background:var(--foolo-bg);color:var(--foolo-text);font-family:var(--foolo-f-body);font-size:var(--foolo-body-size);line-height:var(--foolo-line-height)}
a{color:var(--foolo-accent);text-decoration:underline}
a:hover{color:var(--foolo-accent-dark)}
h1{font-family:var(--foolo-f-display);font-size:var(--foolo-h1);line-height:1.15;font-weight:900}
h2{font-family:var(--foolo-f-display);font-size:var(--foolo-h2);line-height:1.25;font-weight:700;margin-bottom:1rem}
h3{font-family:var(--foolo-f-display);font-size:var(--foolo-h3);font-weight:700;margin-bottom:0.75rem}
p{margin-bottom:1.25rem}
img{max-width:100%;height:auto;display:block}
.u-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.u-kicker{font-family:var(--foolo-f-ui);font-size:0.78rem;font-weight:600;text-transform:uppercase;letter-spacing:0.12em;color:var(--foolo-accent);display:block;margin-bottom:0.5rem}
.u-label{font-family:var(--foolo-f-ui);font-size:0.78rem;font-weight:600;text-transform:uppercase;letter-spacing:0.15em;color:var(--foolo-text-secondary)}
.u-divider{height:5px;background:linear-gradient(90deg,var(--foolo-accent),var(--foolo-accent-dark));border:none;margin:var(--foolo-section-py) 0}
.c-btn{display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;padding:0.8rem 1.6rem;border-radius:var(--foolo-radius);border:2px solid transparent;font-weight:600;cursor:pointer;transition:all 0.2s;min-height:44px;min-width:120px;box-sizing:border-box;white-space:nowrap;flex-shrink:0;line-height:1.2;font-family:var(--foolo-f-ui);font-size:0.95rem;text-decoration:none}
.c-btn--primary{background:var(--foolo-accent);color:#fff}
.c-btn--primary:hover{background:var(--foolo-accent-dark);color:#fff}
.c-btn--outline{background:transparent;border-color:var(--foolo-accent);color:var(--foolo-accent)}
.c-btn--outline:hover{background:var(--foolo-accent);color:#fff}
.c-btn--sm{padding:0.5rem 1rem;min-height:36px;min-width:80px;font-size:0.85rem}
.c-nav{background:var(--foolo-card-bg);border-bottom:1px solid var(--foolo-border);position:sticky;top:0;z-index:100}
.c-nav__inner{display:flex;align-items:center;justify-content:space-between;padding:0 2rem;height:60px;max-width:1400px;margin:0 auto}
.c-nav__logo{font-family:var(--foolo-f-display);font-size:1.4rem;font-weight:900;color:var(--foolo-text);text-decoration:none;display:flex;align-items:center;gap:6px}
.c-nav__logo-mark{display:inline-block;width:12px;height:12px;border-radius:50%;background:var(--foolo-accent);flex-shrink:0}
.c-nav__links{display:flex;align-items:center;gap:0.25rem;list-style:none}
.c-nav__links a{font-family:var(--foolo-f-ui);font-size:0.88rem;font-weight:500;color:var(--foolo-text);text-decoration:none;padding:0.4rem 0.6rem;border-radius:var(--foolo-radius-lg)}
.c-nav__links a:hover{color:var(--foolo-accent)}
.c-nav__burger{display:none;background:none;border:none;cursor:pointer;padding:0.5rem;flex-direction:column;gap:5px}
.c-nav__burger span{display:block;width:24px;height:2px;background:var(--foolo-text);transition:all 0.2s}
.c-nav__mobile{display:none;position:fixed;top:60px;left:0;width:280px;height:calc(100vh - 60px);background:var(--foolo-card-bg);border-right:1px solid var(--foolo-border);padding:1.5rem;z-index:99;overflow-y:auto;transform:translateX(-100%);transition:transform 0.3s ease}
.c-nav__mobile.is-open{transform:translateX(0)}
.c-nav__mobile ul{list-style:none}
.c-nav__mobile li{border-bottom:1px solid var(--foolo-border)}
.c-nav__mobile a{display:block;padding:0.75rem 0;font-family:var(--foolo-f-ui);font-size:1rem;color:var(--foolo-text);text-decoration:none}
body.nav-open{transform:translateX(280px);transition:transform 0.3s ease}
.s-hero{padding:var(--foolo-section-py) max(2rem, calc((100% - 1400px) / 2));position:relative;overflow:hidden}
.s-hero__diagonal{position:absolute;top:0;left:0;width:100%;height:8px;background:var(--foolo-accent);transform:skewY(-3deg);transform-origin:top left;pointer-events:none}
.s-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:3rem;align-items:start}
.s-hero__content{max-width:720px}
.s-hero__abstract{background:var(--foolo-bg-alt);padding:1.25rem;margin:1.5rem 0;border-left:4px solid var(--foolo-accent)}
.s-hero__byline{font-family:var(--foolo-f-ui);font-size:0.85rem;color:var(--foolo-text-secondary);margin:0.75rem 0 0}
.s-section{padding:var(--foolo-section-py) max(2rem, calc((100% - 1400px) / 2))}
.s-section--alt{background:var(--foolo-bg-alt)}
.s-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:3rem;align-items:start;padding:var(--foolo-section-py) max(2rem, calc((100% - 1400px) / 2))}
.s-main{max-width:720px}
.s-sidebar{position:sticky;top:80px}
.s-sidebar__block{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--foolo-border)}
.s-sidebar__block:last-child{border-bottom:none}
.s-sidebar__title{font-family:var(--foolo-f-ui);font-size:0.78rem;font-weight:700;text-transform:uppercase;letter-spacing:0.15em;color:var(--foolo-text-secondary);margin-bottom:1rem}
.c-card{background:var(--foolo-card-bg);border:1px solid var(--foolo-border);padding:1.25rem;box-shadow:var(--foolo-shadow-lg)}
.c-card--flush{border:none;border-bottom:1px solid var(--foolo-border);padding:0.75rem 0;background:transparent;box-shadow:none}
.c-card__kicker{font-family:var(--foolo-f-ui);font-size:0.72rem;font-weight:600;text-transform:uppercase;letter-spacing:0.1em;color:var(--foolo-accent);margin-bottom:0.35rem}
.c-card__title{font-family:var(--foolo-f-display);font-size:1.1rem;font-weight:700;line-height:1.3;margin-bottom:0.4rem}
.c-card__meta{font-family:var(--foolo-f-ui);font-size:0.78rem;color:var(--foolo-text-secondary)}
.c-card__title a{color:var(--foolo-text);text-decoration:none}
.c-card__title a:hover{color:var(--foolo-accent)}
.c-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;margin:1.5rem 0}
.c-cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin:1.5rem 0}
.c-timeline{list-style:none;margin:1.5rem 0}
.c-timeline__item{display:grid;grid-template-columns:100px 1fr;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--foolo-border)}
.c-timeline__date{font-family:var(--foolo-f-ui);font-size:0.78rem;color:var(--foolo-text-secondary);padding-top:0.25rem}
.foolo-cta{background:var(--foolo-accent-light);border:1px solid var(--foolo-border);padding:2.5rem;text-align:center;margin:2rem 0}
.foolo-cta h3{font-family:var(--foolo-f-display);font-size:1.6rem;margin-bottom:0.75rem;color:var(--foolo-accent-dark)}
.foolo-cta p{color:var(--foolo-text-secondary);max-width:500px;margin:0 auto 1.5rem}
.foolo-cta__form{display:flex;gap:0.75rem;justify-content:center;flex-wrap:wrap;margin-top:1rem}
.foolo-cta__form input[type=email]{padding:0.8rem 1rem;border:1px solid var(--foolo-border);font-family:var(--foolo-f-ui);font-size:0.95rem;min-width:240px;background:var(--foolo-card-bg);color:var(--foolo-text)}
.foolo-section{padding:var(--foolo-section-py) 2rem}
.c-pull-quote{font-style:italic;font-size:2.5rem;line-height:1.2;max-width:600px;margin:2.5rem auto;text-align:center;color:var(--foolo-accent-dark);padding:1.5rem 0;border-top:2px solid var(--foolo-accent);border-bottom:2px solid var(--foolo-accent)}
.c-pull-quote__attr{display:block;font-size:1rem;font-style:normal;color:var(--foolo-text-secondary);margin-top:0.75rem}
.article-figure{width:calc(100% + 4rem);margin-inline:-2rem;margin-block:2rem}
.article-figure img{width:100%;height:260px;object-fit:cover;background:var(--foolo-bg-alt)}
.article-figure figcaption{font-family:var(--foolo-f-ui);font-size:0.8rem;font-style:italic;color:var(--foolo-text-secondary);padding:0.5rem 2rem}
.c-footnote{font-size:0.85rem;color:var(--foolo-text-secondary);border-top:1px solid var(--foolo-border);padding-top:1rem;margin-top:2rem}
.c-footnote ol{padding-left:1.5rem}
.c-footnote li{margin-bottom:0.5rem}
sup a{color:var(--foolo-accent);font-size:0.7em}
.c-cats-list{list-style:none}
.c-cats-list li{border-bottom:1px solid var(--foolo-border)}
.c-cats-list a{display:block;padding:0.5rem 0;font-family:var(--foolo-f-ui);font-size:0.9rem;color:var(--foolo-text);text-decoration:none}
.c-cats-list a:hover{color:var(--foolo-accent)}
.c-popular-list{list-style:none;counter-reset:popular}
.c-popular-list li{counter-increment:popular;display:grid;grid-template-columns:2rem 1fr;gap:0.5rem;padding:0.6rem 0;border-bottom:1px solid var(--foolo-border);align-items:start}
.c-popular-list li::before{content:counter(popular);font-family:var(--foolo-f-ui);font-weight:700;font-size:1.1rem;color:var(--foolo-accent)}
.c-popular-list a{font-family:var(--foolo-f-body);font-size:0.9rem;color:var(--foolo-text);text-decoration:none;line-height:1.4}
.c-popular-list a:hover{color:var(--foolo-accent)}
.c-form{display:flex;flex-direction:column;gap:1.25rem}
.c-form__group{display:flex;flex-direction:column;gap:0.4rem}
.c-form__label{font-family:var(--foolo-f-ui);font-size:0.85rem;font-weight:600;color:var(--foolo-text)}
.c-form__input,.c-form__select,.c-form__textarea{padding:0.75rem 1rem;border:1px solid var(--foolo-border);background:var(--foolo-card-bg);font-family:var(--foolo-f-body);font-size:0.95rem;color:var(--foolo-text);width:100%}
.c-form__textarea{min-height:140px;resize:vertical}
.c-form__checkbox{display:flex;align-items:flex-start;gap:0.75rem;font-size:0.9rem}
.c-form__checkbox input{margin-top:0.2rem;flex-shrink:0}
.c-contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:3rem;padding:var(--foolo-section-py) 2rem}
.c-contact-info h3{font-size:1.1rem;margin-bottom:1rem}
.c-contact-info p,.c-contact-info address{font-style:normal;line-height:1.8;margin-bottom:1rem}
.c-map iframe{width:100%;height:320px;border:1px solid var(--foolo-border)}
.c-transit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;padding:var(--foolo-section-py) 2rem}
.c-transit-card{background:var(--foolo-card-bg);border:1px solid var(--foolo-border);padding:1.25rem}
.c-receipt{max-width:540px;margin:4rem auto;padding:2rem;background:var(--foolo-card-bg);border:1px solid var(--foolo-border);position:relative}
.c-receipt::after{content:'';position:absolute;bottom:-8px;left:0;width:100%;height:8px;background:repeating-linear-gradient(90deg,transparent,transparent 8px,var(--foolo-bg) 8px,var(--foolo-bg) 10px),repeating-linear-gradient(90deg,var(--foolo-border) 0,var(--foolo-border) 1px,transparent 1px)}
.c-receipt__divider{border:none;border-top:1px dashed var(--foolo-border);margin:1.25rem 0}
.c-receipt__label{font-family:var(--foolo-f-ui);font-size:0.8rem;font-weight:700;text-transform:uppercase;letter-spacing:0.15em;color:var(--foolo-text-secondary);display:block;margin-bottom:0.35rem}
.c-receipt__value{font-family:var(--foolo-f-body);font-style:italic}
.c-404{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}
.c-404__art{background:var(--foolo-bg-alt);display:flex;align-items:center;justify-content:center}
.c-404__content{padding:4rem;display:flex;flex-direction:column;justify-content:center}
.c-404__content h1{font-size:3rem;margin-bottom:1rem}
.c-404__content p{color:var(--foolo-text-secondary);max-width:400px;margin-bottom:2rem}
.s-masthead{font-size:clamp(3rem,12vw,9rem);line-height:0.9;text-align:center;padding-block:4rem;overflow:hidden;font-family:var(--foolo-f-display);font-weight:900;color:var(--foolo-bg-alt);background:var(--foolo-accent-dark)}
.c-team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin:2rem 0}
.c-team-card{background:var(--foolo-card-bg);border:1px solid var(--foolo-border);padding:1.25rem}
.c-team-card__portrait{aspect-ratio:1;object-fit:cover;width:100%;background:var(--foolo-bg-alt);margin-bottom:1rem}
.c-beats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin:2rem 0}
.c-beat-card{background:var(--foolo-accent-light);border:1px solid var(--foolo-border);padding:1.25rem}
.c-principles{list-style:none;counter-reset:principle;margin:1.5rem 0}
.c-principles li{counter-increment:principle;padding:1rem 0;border-bottom:1px solid var(--foolo-border);padding-left:3rem;position:relative}
.c-principles li::before{content:counter(principle,decimal-leading-zero);position:absolute;left:0;font-family:var(--foolo-f-ui);font-weight:700;font-size:1.1rem;color:var(--foolo-accent)}
.c-footer{background:var(--foolo-accent-dark);color:var(--foolo-bg);padding:6rem 2rem 3rem}
.c-footer__blurb{max-width:720px;margin:0 auto 3rem;text-align:center;font-size:1rem;line-height:1.8;color:var(--foolo-accent-light)}
.c-footer__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-bottom:3rem;max-width:1000px;margin-left:auto;margin-right:auto}
.c-footer__col h4{font-family:var(--foolo-f-ui);font-size:0.78rem;font-weight:700;text-transform:uppercase;letter-spacing:0.15em;color:var(--foolo-accent-light);margin-bottom:1rem}
.c-footer__col ul{list-style:none}
.c-footer__col li{margin-bottom:0.5rem}
.c-footer__col a{color:var(--foolo-bg-alt);text-decoration:none;font-size:0.9rem}
.c-footer__col a:hover{color:#fff}
.c-footer__logotype{font-family:var(--foolo-f-display);font-size:8rem;font-weight:900;text-align:center;color:var(--foolo-accent);line-height:1;padding-bottom:2rem;letter-spacing:-4px}
.c-footer__bottom{border-top:1px solid rgba(255,255,255,0.1);padding-top:1.5rem;font-size:0.82rem;color:var(--foolo-accent-light);text-align:center}
.c-footer__bottom a{color:var(--foolo-accent-light)}
.c-footer__contact{text-align:center;margin-bottom:2rem;font-size:0.9rem;color:var(--foolo-accent-light)}
.c-footer__contact a{color:var(--foolo-accent-light)}
.cc-consent{position:fixed;bottom:0;left:0;right:0;z-index:9999;pointer-events:none}
.cc-banner{background:var(--foolo-accent-dark);color:var(--foolo-bg);padding:1.25rem 2rem;display:flex;align-items:center;gap:2rem;flex-wrap:wrap;justify-content:space-between;pointer-events:all;border-top:3px solid var(--foolo-accent)}
.cc-banner.is-hidden{display:none}
.cc-banner__text h3{font-family:var(--foolo-f-ui);font-size:1rem;font-weight:700;margin-bottom:0.3rem}
.cc-banner__text p{font-size:0.85rem;color:var(--foolo-accent-light);margin:0}
.cc-banner__actions{display:flex;gap:0.75rem;flex-wrap:wrap}
.cc-banner__actions button{font-family:var(--foolo-f-ui);font-size:0.85rem;font-weight:600;cursor:pointer;padding:0.6rem 1.2rem;border:1px solid var(--foolo-accent-light);min-height:36px}
.cc-banner__actions button[data-cc-action=accept-all]{background:var(--foolo-accent);color:#fff;border-color:var(--foolo-accent)}
.cc-banner__actions button[data-cc-action=reject-all]{background:transparent;color:var(--foolo-accent-light)}
.cc-banner__actions button[data-cc-action=open]{background:transparent;color:var(--foolo-accent-light)}
.cc-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.7);z-index:10000;align-items:center;justify-content:center;pointer-events:all}
.cc-modal.is-open{display:flex}
.cc-modal__box{background:var(--foolo-card-bg);max-width:540px;width:90%;padding:2rem;max-height:80vh;overflow-y:auto}
.cc-modal__box h3{font-family:var(--foolo-f-display);font-size:1.4rem;margin-bottom:1rem}
.cc-modal__category{border:1px solid var(--foolo-border);padding:1rem;margin-bottom:0.75rem}
.cc-modal__category h4{font-size:0.95rem;font-weight:600;margin-bottom:0.35rem;display:flex;justify-content:space-between;align-items:center}
.cc-modal__category p{font-size:0.85rem;color:var(--foolo-text-secondary);margin:0}
.cc-toggle{position:relative;display:inline-block;width:40px;height:22px;flex-shrink:0}
.cc-toggle input{opacity:0;width:0;height:0}
.cc-toggle__slider{position:absolute;inset:0;background:var(--foolo-border);cursor:pointer;transition:0.2s}
.cc-toggle input:checked+.cc-toggle__slider{background:var(--foolo-accent)}
.cc-toggle__slider::before{content:'';position:absolute;height:16px;width:16px;left:3px;bottom:3px;background:#fff;transition:0.2s}
.cc-toggle input:checked+.cc-toggle__slider::before{transform:translateX(18px)}
.cc-modal__actions{display:flex;gap:0.75rem;margin-top:1.5rem;flex-wrap:wrap}
@media(max-width:900px){.s-hero__grid,.s-layout{grid-template-columns:1fr}.s-sidebar{position:static}.c-cards-3{grid-template-columns:1fr}.c-contact-grid{grid-template-columns:1fr}.c-transit-grid{grid-template-columns:1fr}.c-404{grid-template-columns:1fr}.c-beats-grid{grid-template-columns:repeat(2,1fr)}.c-footer__grid{grid-template-columns:1fr}}
@media(max-width:640px){.c-nav__links{display:none}.c-nav__burger{display:flex}.c-transit-grid{grid-template-columns:1fr}.c-beats-grid{grid-template-columns:1fr}.c-footer__logotype{font-size:4rem}h1{font-size:2.5rem}.foolo-cta__form{flex-direction:column;align-items:center}}

.c-table{display:grid}.c-table__row{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--foolo-border)}.c-table__cell{padding:0.75rem 1rem}.c-table__cell--head{font-weight:700;background:var(--foolo-bg-alt)}