.fabs-page{--fabs-accent:#b42d3b;--fabs-soft:#f1f7fa;background:#fff;color:var(--ink)}
.fabs-shell{width:min(1320px,calc(100% - 60px));margin-inline:auto}
.fabs-section{padding-block:86px}
.fabs-page p{line-height:1.75}
.fabs-page h2{font-size:clamp(32px,3.5vw,50px);line-height:1.12;letter-spacing:-.04em;margin:0}
.fabs-page h3{font-size:23px;line-height:1.25;margin:0 0 12px}
.fabs-heading{max-width:790px;margin-bottom:38px}
.fabs-heading>p:last-child:not(.fabs-label){color:var(--muted);font-size:18px;margin:20px 0 0}
.fabs-label{color:var(--fabs-accent);font-size:12px;font-weight:800;letter-spacing:.12em;margin:0 0 15px}
.fabs-lead{font-size:21px;line-height:1.65!important}
.fabs-hero{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.fabs-hero:before{content:"";position:absolute;width:540px;height:540px;left:-270px;top:65px;border:1px solid #ffffff16;border-radius:50%;pointer-events:none}
.fabs-hero__inner{position:relative;display:grid;grid-template-columns:.85fr 1.15fr;gap:58px;align-items:center;padding-block:48px 40px}
.fabs-hero__copy{min-width:0}
.fabs-logo{display:block;width:90px;height:90px;object-fit:contain;margin-bottom:17px}
.fabs-hero h1{font-size:clamp(65px,7vw,94px);line-height:1;letter-spacing:-.05em;margin:0 0 22px}
.fabs-hero h1 span{display:block;font-size:clamp(22px,2.2vw,31px);line-height:1.25;letter-spacing:-.025em;margin-top:14px}
.fabs-hero__intro{font-size:17px;color:#d2e6f1;max-width:440px;margin-bottom:25px}
.fabs-hero .button{background:#007fbf;max-width:100%;white-space:normal;text-align:left}
.fabs-hero__photo{margin:0;min-width:0}
.fabs-hero__photo img{display:block;width:100%;height:auto}
.fabs-hero__photo figcaption{font-size:12px;color:#c4dfec;padding:12px 0 0}
.fabs-section-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:0 25px;border-bottom:1px solid var(--line);padding:15px 0}
.fabs-section-nav a{font-size:12px;line-height:1.5;letter-spacing:.015em;padding:12px 0;color:var(--muted)}
.fabs-section-nav a:hover{color:var(--ink)}
.fabs-about{display:grid;grid-template-columns:1.15fr .85fr;gap:65px}
.fabs-about>div:first-child>p:last-child{color:var(--muted)}
.fabs-purpose{border-left:3px solid var(--fabs-accent);padding-left:30px}
.fabs-purpose ul{padding-left:18px;color:var(--muted);margin:20px 0 0}
.fabs-purpose li{padding-left:4px;margin-bottom:14px;line-height:1.6}
.fabs-history{background:var(--fabs-soft)}
.fabs-timeline{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.fabs-timeline li{display:grid;grid-template-columns:160px minmax(0,1fr);gap:40px;padding:27px 0;border-bottom:1px solid var(--line)}
.fabs-timeline time{font-size:36px;line-height:1.2;color:#006da8;font-weight:800;letter-spacing:-.05em}
.fabs-timeline p{max-width:820px;color:var(--muted);margin:0}
.fabs-timeline h3{margin-bottom:8px}
.fabs-text-link{display:inline-flex;gap:15px;color:#006da8;font-size:12px;font-weight:800;margin-top:16px;min-height:36px;align-items:center}
.fabs-history-details{margin-top:28px;color:var(--muted)}
.fabs-history-details summary{cursor:pointer;padding:14px 0;color:var(--ink);font-weight:700}
.fabs-history-details>div{padding:20px 0;max-width:930px}
.fabs-history-details h3{font-size:19px}
.fabs-history-details p+h3{margin-top:25px}
.fabs-teams{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:27px}
.fabs-teams article{border-top:3px solid var(--fabs-accent);padding-top:22px;min-width:0}
.fabs-team-number{display:block;color:var(--muted);font-size:12px;font-weight:800;margin-bottom:20px}
.fabs-teams h3{font-size:27px;margin-bottom:9px}
.fabs-team-category{font-size:12px;font-weight:800;color:#006da8;text-transform:uppercase;min-height:36px}
.fabs-teams article>p:last-child{font-size:15px;color:var(--muted)}
.fabs-team-photo{margin:35px 0 0}
.fabs-team-photo img{display:block;max-width:100%;width:100%;height:auto}
.fabs-page figcaption{font-size:12px;line-height:1.5;margin-top:10px;color:var(--muted)}
.fabs-hero__photo figcaption{color:#c4dfec;margin:0}
.fabs-competitions{background:#062b46;color:#fff}
.fabs-competitions .fabs-label{color:#f3aeb6}
.fabs-competitions .fabs-heading>p:last-child{color:#c4dfec}
.fabs-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #ffffff35;gap:0 35px}
.fabs-results article{padding:26px 0 22px;border-bottom:1px solid #ffffff35;min-width:0}
.fabs-results span{font-size:11px;font-weight:700;color:#c4dfec;letter-spacing:.07em}
.fabs-results h3{font-size:23px;margin:18px 0 12px}
.fabs-results strong{display:block;font-size:28px;line-height:1.3;color:#8cdbfa;margin-bottom:12px}
.fabs-results p{color:#c4dfec;font-size:14px;margin:0}
.fabs-competition-note{color:#c4dfec;max-width:880px;font-size:15px;margin:30px 0 0}
.fabs-podium{background:#fff}
.fabs-podium__heading{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:start;margin-bottom:40px}
.fabs-podium h2{font-size:clamp(38px,4.2vw,61px)}
.fabs-podium__heading>div:last-child>p:last-child{color:var(--muted)}
.fabs-podium__photo{margin:0;max-width:1120px}
.fabs-podium__photo img{display:block;width:100%;height:auto}
.fabs-podium__archive{display:grid;grid-template-columns:1fr .65fr .65fr;gap:45px;align-items:center;margin-top:40px}
.fabs-podium__archive>p{font-size:18px;color:var(--muted)}
.fabs-podium__archive figure{margin:0;max-width:330px}
.fabs-podium__archive img{display:block;width:100%;height:auto}
.fabs-development{display:grid;grid-template-columns:1.1fr .9fr;gap:65px;align-items:start}
.fabs-development>div>p:not(.fabs-lead){color:var(--muted)}
.fabs-development ul{list-style:none;margin:25px 0;padding:0}
.fabs-development li{padding:16px 0;border-bottom:1px solid var(--line);color:var(--muted);line-height:1.65}
.fabs-development li strong{color:var(--ink)}
.fabs-development>figure{margin:0;min-width:0}
.fabs-development img{display:block;width:100%;height:auto}
.fabs-development-note{font-size:13px}
.fabs-development-photos{display:grid;grid-template-columns:1.1fr .9fr;align-items:start;gap:30px;margin-top:30px}
.fabs-development-photos figure{margin:0;min-width:0}
.fabs-development-photos img{display:block;width:100%;height:auto}
.fabs-authorities{background:var(--fabs-soft)}
.fabs-authority-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 55px;margin:0}
.fabs-authority-list>div{padding:25px 0;border-top:1px solid var(--line);min-width:0}
.fabs-authority-list dt{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:10px}
.fabs-authority-list dd{margin:0;font-size:clamp(23px,2.4vw,31px);line-height:1.3;font-weight:700;letter-spacing:-.025em}
.fabs-authority-source{font-size:12px;color:var(--muted);margin:20px 0 0}
.fabs-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;align-items:start}
.fabs-gallery figure{margin:0;min-width:0}
.fabs-gallery img{display:block;width:100%;height:auto}
.fabs-cades{display:grid;grid-template-columns:85px 1fr auto;gap:30px;align-items:center;padding-block:35px 40px;border-top:1px solid var(--line)}
.fabs-cades>img{width:85px;height:auto}
.fabs-cades h2{font-size:28px;margin-bottom:8px}
.fabs-cades p{color:var(--muted);font-size:14px;margin:0}
.fabs-cades .button{max-width:100%;text-align:left}
.fabs-source{padding-bottom:40px;color:var(--muted);font-size:12px;margin-bottom:0}
[data-theme="dark"] .fabs-page{--fabs-accent:#f3aeb6;--fabs-soft:#142a3b;background:#0c1b28}
[data-theme="dark"] .fabs-podium{background:#0c1b28}
[data-theme="dark"] .fabs-timeline time,[data-theme="dark"] .fabs-text-link,[data-theme="dark"] .fabs-team-category{color:#70d0ff}
.fabs-history-details summary:focus-visible{outline:3px solid #efb72b;outline-offset:5px}
@media(max-width:1050px){
  .fabs-hero__inner{gap:35px}
  .fabs-about,.fabs-podium__heading,.fabs-development{gap:35px}
  .fabs-teams{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
  .fabs-team-category{min-height:0}
  .fabs-cades{grid-template-columns:85px 1fr}
  .fabs-cades .button{grid-column:2;justify-self:start}
}
@media(max-width:760px){
  .fabs-shell{width:calc(100% - 40px)}
  .fabs-section{padding-block:58px}
  .fabs-hero__inner{grid-template-columns:1fr;gap:30px;padding-block:35px}
  .fabs-hero h1{font-size:76px}
  .fabs-hero h1 span{font-size:27px}
  .fabs-logo{width:78px;height:78px}
  .fabs-section-nav{display:flex;justify-content:flex-start;gap:0 22px}
  .fabs-section-nav a{font-size:11px}
  .fabs-about,.fabs-podium__heading,.fabs-development{grid-template-columns:1fr;gap:28px}
  .fabs-purpose{padding-left:22px}
  .fabs-lead{font-size:19px}
  .fabs-timeline li{grid-template-columns:85px minmax(0,1fr);gap:20px}
  .fabs-timeline time{font-size:28px}
  .fabs-results{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}
  .fabs-results strong{font-size:24px}
  .fabs-podium__archive{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}
  .fabs-podium__archive>p{grid-column:1/-1;margin:0}
  .fabs-development>figure{max-width:575px}
  .fabs-development-photos{grid-template-columns:1fr;gap:24px}
  .fabs-gallery{grid-template-columns:1fr;gap:30px}
  .fabs-gallery figure{max-width:600px}
  .fabs-cades{gap:22px}
  .fabs-cades .button{grid-column:1/-1;white-space:normal}
}
@media(max-width:460px){
  .fabs-hero h1{font-size:70px}
  .fabs-hero h1 span{font-size:23px}
  .fabs-hero__intro{font-size:16px}
  .fabs-timeline li{grid-template-columns:62px minmax(0,1fr);gap:16px}
  .fabs-timeline time{font-size:23px}
  .fabs-timeline h3{font-size:21px}
  .fabs-timeline p{font-size:15px}
  .fabs-teams,.fabs-authority-list{grid-template-columns:1fr}
  .fabs-results{grid-template-columns:1fr}
  .fabs-cades{grid-template-columns:65px minmax(0,1fr)}
  .fabs-cades>img{width:65px}
  .fabs-cades h2{font-size:24px}
}
@media(prefers-reduced-motion:reduce){.fabs-page{scroll-behavior:auto}}
