/* Shared reading system;
 each event owns its poster and chapter palette. */
:root{
--ink:#173c57;
--muted:#526779;
--accent:#086eaa;
--accent2:#c19a51;
--paper:#fff;
--tint:#e5f0f7;
--line:#bdcddb;
--hero:#dceaf4;
--deep:#103c60;
--on-deep-accent:#a8dfff;
--inner-ground:var(--deep);
--inner-ink:#fff;
--inner-label:#d8e9f6;
--inner-muted:#dce6ef;
--inner-image:none;
--radius:0px;
--max:1240px;
color-scheme:light}

*{
box-sizing:border-box}
html{
scroll-behavior:smooth;
scroll-padding-top:108px}

body{
margin:0;
color:var(--ink);
background:var(--paper);
font:16px/1.85 'Microsoft YaHei','PingFang SC','Noto Sans CJK SC',sans-serif;
-webkit-font-smoothing:antialiased}

a{
color:inherit;
text-decoration:none}
button{
font:inherit;
color:inherit;
cursor:pointer}
img{
display:block;
max-width:100%;
height:auto}
figure,p,h1,h2,h3,dl,dd{
margin:0}
ul{
padding-left:1.2em}

h1,h2,h3{
line-height:1.4;
letter-spacing:-.035em}
h1{
font-size:clamp(38px,3.8vw,58px);
font-weight:700}
h2{
font-size:clamp(28px,2.5vw,38px);
font-weight:700}
h3{
font-size:21px;
font-weight:700}
p{
color:var(--muted)}

.container{
width:min(var(--max),calc(100% - 80px));
margin-inline:auto}
.title-line{
display:block}
.phrase{
display:inline-block;
white-space:nowrap}

.section{
position:relative;
padding:56px 0;
border-top:2px solid var(--line)}
.paper{
background:var(--paper)}
.tint{
background:var(--tint)}

.section-head{
position:relative;
margin-bottom:30px;
max-width:100%;
padding-left:22px;
border-left:5px solid var(--accent)}
.section-head h2{
max-width:1000px}
.section-head>p:last-child:not(.eyebrow){
margin-top:12px;
max-width:820px}

.eyebrow{
display:flex;
align-items:center;
gap:10px;
font-size:13px;
font-weight:700;
letter-spacing:.08em;
color:var(--accent);
margin-bottom:12px}
.label-dot{
display:inline-block;
width:22px;
height:2px;
background:currentColor;
flex:0 0 auto}
.number{
font-size:14px;
font-weight:700;
letter-spacing:.05em;
color:var(--accent)}
.large-copy{
font-size:18px;
line-height:1.95}

.skip-link{
position:fixed;
top:-100px;
left:24px;
background:var(--accent);
color:white;
padding:10px 20px;
z-index:100}
.skip-link:focus{
top:12px}
:focus-visible{
outline:3px solid var(--accent2);
outline-offset:5px}

.button{
display:inline-flex;
align-items:center;
justify-content:center;
gap:24px;
min-height:50px;
padding:12px 24px;
font-size:15px;
font-weight:700;
line-height:1.5;
color:#fff;
background:var(--accent);
border:1px solid var(--accent);
border-radius:var(--radius);
transition:transform .18s,filter .18s;
white-space:nowrap}
.button:hover{
transform:translateY(-2px);
filter:brightness(.92)}
.button.secondary{
background:transparent;
color:var(--ink);
border-color:var(--line)}

.text-link{
display:inline-block;
font-size:15px;
font-weight:700;
color:var(--accent);
border-bottom:1px solid currentColor;
padding-block:5px}
.actions{
display:flex;
gap:14px;
flex-wrap:wrap;
margin-top:26px}
.section-action{
margin-top:28px}

.site-header{
position:sticky;
top:0;
background:var(--paper);
border-bottom:1px solid var(--line);
z-index:30}
.navigation{
display:flex;
align-items:center;
gap:24px;
min-height:88px}
.brand{
display:flex;
align-items:center;
gap:12px;
margin-right:auto;
min-width:0;
max-width:430px}
.brand img{
width:62px;
height:62px;
object-fit:contain;
flex:0 0 auto}
.brand strong{
display:block;
font-size:18px;
line-height:1.5;
font-weight:700;
white-space:nowrap}
.brand small{
display:block;
font-size:12px;
line-height:1.7;
color:var(--muted);
margin-top:2px}

.navigation nav{
display:flex;
gap:24px;
align-items:center}
.navigation nav a{
font-size:14px;
font-weight:700;
padding:10px 0;
position:relative;
white-space:nowrap}
.navigation nav a[aria-current=page]:after{
content:'';
height:3px;
position:absolute;
bottom:1px;
inset-inline:0;
background:var(--accent)}
.menu-toggle{
display:none}
.header-contact .button{
min-height:44px;
padding:8px 17px;
font-size:14px;
gap:14px}


/* Large-format posters;
 the facts sit in a separate, never-clipped strip. */
.hero{
background:var(--paper)}
.poster-stage{
position:relative;
isolation:isolate;
overflow:hidden;
background:var(--deep);
color:#fff}
.poster-content{
position:relative;
z-index:2;
min-height:590px;
display:flex;
flex-direction:column;
justify-content:center;
padding-block:62px 28px}
.hero-copy{
position:relative;
max-width:800px;
margin-bottom:55px}
.hero-copy h1{
line-height:1.45;
text-wrap:balance}
.hero-copy .eyebrow{
color:#d7ecff;
margin-bottom:26px}
.hero-slogan{
color:var(--on-deep-accent);
font-size:24px;
font-weight:600;
letter-spacing:.12em;
margin-top:24px}
.hero-description{
max-width:620px;
margin-top:18px;
color:#e5edf6;
font-size:17px;
line-height:1.9;
text-wrap:pretty}
.hero-copy .button{
background:#fff;
color:var(--deep);
border-color:#fff;
min-width:148px}
.hero-copy .button.secondary{
background:transparent;
color:inherit;
border-color:#ffffff80}

.poster-art{
position:absolute;
inset:0;
z-index:-1;
pointer-events:none}
.poster-footnote{
display:flex;
justify-content:space-between;
gap:24px;
align-items:center;
margin-top:auto;
padding-top:18px;
border-top:1px solid #ffffff50;
font-size:12px;
font-weight:600;
letter-spacing:.1em;
color:#e1edfa}
.poster-footnote>div{
display:flex;
gap:26px;
flex-wrap:wrap}
.hero-facts{
background:var(--paper);
border-bottom:4px solid var(--accent)}
.fact-strip{
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
border-inline:1px solid var(--line)}
.fact-strip>div{
padding:22px 26px;
min-width:0}
.fact-strip>div+div{
border-left:1px solid var(--line)}
.fact-label{
display:flex;
align-items:center;
gap:14px;
font-size:13px;
color:var(--muted)}
.fact-label b{
font-size:12px;
color:var(--accent);
font-weight:700}
.fact-strip strong{
display:block;
font-size:20px;
line-height:1.55;
margin:8px 0 0 30px}
.fact-strip strong.fact-date{
font-size:24px}

.organizations{
background:var(--tint);
border-bottom:1px solid var(--line)}
.organization-grid{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
padding-block:24px;
gap:30px}
.organization-grid>div{
display:flex;
flex-direction:column;
gap:6px;
padding-left:18px;
border-left:2px solid var(--accent)}
.organization-grid span{
font-size:12px;
color:var(--muted)}
.organization-grid strong{
font-size:16px;
line-height:1.75;
font-weight:600}

.overview-section{
background:var(--paper);
border-bottom:3px solid var(--accent)}
.overview-grid{
display:grid;
grid-template-columns:.6fr 1.4fr;
gap:66px}
.overview-grid .section-head{
margin:0;
align-self:start}
.participation-section{
background:var(--tint);
border-top:3px solid var(--accent)}
.participation-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:64px}
.participation-grid>div+div{
border-left:1px solid var(--line);
padding-left:40px}
.participation-grid.participation-stack{
grid-template-columns:minmax(0,1fr);
gap:28px}
.participation-grid.participation-stack>div+div{
border-left:0;
border-top:1px solid var(--line);
padding:24px 0 0}
.participation-groups{
font-size:20px;
font-weight:600;
color:var(--ink);
margin-bottom:12px}
.participation-grid .text-link{
margin-top:20px}
.participation-grid h3{
margin-bottom:14px}
.edition{
display:flex;
gap:22px;
font-size:13px;
color:var(--accent);
margin-top:20px;
flex-wrap:wrap;
border-top:1px solid var(--line);
padding-top:14px}

.projects-section{
background:var(--paper)}
.group-grid{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
border-top:1px solid var(--line);
border-left:1px solid var(--line);
background:var(--paper)}
.group-grid.count-4{
grid-template-columns:repeat(4,minmax(0,1fr))}
.group-grid.count-5{
grid-template-columns:minmax(0,1fr)}
.group-grid.count-5 .group-item{
display:grid;
grid-template-columns:32px 140px minmax(0,1fr);
gap:20px;
align-items:center}
.group-grid.count-5 h3{
margin:0}
.group-grid.count-5 p{
font-size:16px}
.group-item{
border-right:1px solid var(--line);
border-bottom:1px solid var(--line);
padding:22px 24px;
min-width:0}
.group-item h3{
margin:10px 0 5px;
font-size:19px}
.group-item p{
font-size:15px}
.context-note{
font-size:14px;
margin-top:18px;
line-height:1.85}

.project-grid{
display:grid;
gap:20px;
grid-template-columns:repeat(3,minmax(0,1fr))}
.project-grid.count-4{
grid-template-columns:repeat(4,minmax(0,1fr))}
.project-card{
border:1px solid var(--line);
border-radius:var(--radius);
overflow:hidden;
background:var(--paper);
display:flex;
flex-direction:column}
.project-body{
padding:25px;
display:flex;
flex:1;
flex-direction:column;
align-items:flex-start}
.project-type{
color:var(--accent);
font-size:13px;
font-weight:700;
letter-spacing:.03em;
margin-bottom:10px}
.project-body h3{
font-size:22px;
margin-bottom:14px}
.project-body>p:not(.project-type){
font-size:16px;
margin-bottom:22px}
.project-body .text-link{
margin-top:auto}
.project-picture img{
width:100%;
aspect-ratio:16/10;
object-fit:cover}

.comparison{
border:1px solid var(--line);
border-top:3px solid var(--accent);
background:var(--paper)}
.comparison-header,.comparison-row{
display:grid;
grid-template-columns:1.05fr 1.2fr 1.1fr 1.1fr;
gap:24px;
padding:20px 24px;
border-bottom:1px solid var(--line);
align-items:start}
.comparison-header{
padding-block:14px;
background:var(--deep);
color:#fff;
font-size:13px;
font-weight:700}
.comparison-row:nth-child(odd){
background:color-mix(in srgb,var(--tint) 42%,white)}
.comparison-row:last-child{
border-bottom:0}
.comparison-row h3{
font-size:17px;
line-height:1.7}
.comparison-row p{
font-size:15px;
line-height:1.8}
.comparison-row p+p{
margin-top:4px}
.mobile-label{
display:none}

.route-section{
background:var(--paper);
border-top:3px solid var(--accent)}
.steps{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:30px;
--step-gutter:58px;
border-top:1px solid var(--line)}
.steps.count-3{
grid-template-columns:minmax(0,1fr);
gap:0}
.steps.count-3 article{
display:grid;
grid-template-columns:var(--step-gutter) minmax(0,1fr);
gap:0 22px;
padding:24px 0;
border-bottom:1px solid var(--line)}
.steps.count-3 .step-number{
grid-column:1;
grid-row:1/3;
margin:0}
.steps.count-3 p{
grid-column:2}
.steps.count-4{
grid-template-columns:repeat(4,minmax(0,1fr))}
.steps article{
padding:25px 0 0}
.step-number{
display:block;
font-size:40px;
line-height:1.1;
font-weight:600;
color:var(--accent);
margin-bottom:20px}
.steps h3{
font-size:19px;
margin-bottom:10px}
.steps p{
font-size:16px;
line-height:1.9}

.schedule-section{
background:var(--deep);
color:white;
--muted:#cddde9;
--line:#ffffff35;
--accent:var(--on-deep-accent)}
.schedule-section .section-head>p{
color:#d9e5ee}
.timeline{
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
border-top:1px solid var(--line);
gap:30px}
.timeline.count-2{
grid-template-columns:repeat(2,minmax(0,1fr))}
.timeline-item{
padding-top:25px;
min-width:0}
.timeline-mark .number{
display:block;
font-size:12px;
margin-bottom:18px}
.date{
display:block;
line-height:1.5;
font-size:28px;
letter-spacing:-.04em;
font-variant-numeric:tabular-nums;
white-space:nowrap}
.timeline-content h3{
font-size:19px;
line-height:1.7;
margin-top:16px}
.timeline-content p{
font-size:15px;
line-height:1.9;
margin-top:10px;
color:inherit;
opacity:.85}
.schedule-section .button.secondary{
color:white;
border-color:#ffffff80}

.timeline.full{
display:block;
border-color:var(--line)}
.timeline.full .timeline-item{
display:grid;
grid-template-columns:340px 1fr;
gap:40px;
border-bottom:1px solid var(--line);
padding:28px 0}
.timeline.full .timeline-mark{
display:flex;
gap:24px;
align-items:center}
.timeline.full .number{
margin:0}
.timeline.full .date{
font-size:32px}
.timeline.full .timeline-content h3{
margin:0;
font-size:21px}
.timeline.full .timeline-content p{
font-size:16px;
color:var(--muted);
opacity:1}

.materials-section{
background:var(--tint);
border-top:3px solid var(--accent)}
.materials-grid{
display:grid;
grid-template-columns:1.1fr 1fr;
gap:60px}
.bullet-list{
margin:0;
padding-left:1.3em}
.bullet-list li{
padding:6px 0;
color:var(--muted);
line-height:1.9}
.bullet-list li::marker{
color:var(--accent)}
.preparation{
background:var(--paper);
padding:30px;
border-top:3px solid var(--accent);
align-self:start}
.preparation .section-head{
margin-bottom:18px;
padding:0;
border:0}
.preparation h2{
font-size:28px}
.preparation .button{
margin-top:24px}

.honors-section{
background:var(--tint);
border-top:3px solid var(--accent2)}
.honors-grid{
display:grid;
grid-template-columns:minmax(0,.83fr) minmax(0,1.17fr);
gap:70px;
align-items:center}
.certificate{
background:#fff;
padding:26px;
border:1px solid var(--line);
box-shadow:0 12px 30px #173c5712;
position:relative}
.certificate:before{
content:'';
position:absolute;
inset:8px;
border:1px solid var(--line);
pointer-events:none}
.certificate img{
width:100%;
max-height:460px;
object-fit:contain;
object-position:center}
.certificate figcaption{
font-size:13px;
text-align:center;
color:var(--muted);
margin-top:18px;
line-height:1.8}
.honor-list>div{
padding:18px 0;
border-bottom:1px solid var(--line)}
.honor-list>div:first-child{
padding-top:0}
.honor-list h3{
font-size:18px;
margin-bottom:7px}
.honor-list p{
font-size:16px}

.faq-section{
background:color-mix(in srgb,var(--paper) 75%,var(--tint));
border-top:3px solid var(--accent)}
.faq-grid{
display:grid;
grid-template-columns:.6fr 1.2fr;
gap:80px}
.faq-grid>.section-head{
align-self:start}
.faq-list details{
border-bottom:1px solid var(--line);
padding:19px 0}
.faq-list details:first-child{
border-top:1px solid var(--line)}
summary{
list-style:none;
cursor:pointer;
display:flex;
gap:24px;
justify-content:space-between;
font-weight:700;
line-height:1.8}
summary::-webkit-details-marker{
display:none}
summary span{
flex:0 0 auto;
color:var(--accent)}
details[open] summary span{
transform:rotate(45deg)}
.faq-list details p{
padding-top:13px;
max-width:800px}
.faq-grid .text-link{
margin-top:22px}

.cta{
padding:38px 0;
background:var(--deep);
color:white}
.cta-inner{
display:flex;
align-items:center;
justify-content:space-between;
gap:50px}
.cta h2{
font-size:30px}
.cta p{
color:#ffffffde;
max-width:740px;
margin-top:10px}
.cta .eyebrow{
color:white}
.cta .button{
background:#fff;
color:var(--accent);
border-color:#fff;
min-width:170px}
footer{
background:var(--paper);
padding:36px 0;
border-top:1px solid var(--line)}
.footer-grid{
display:grid;
grid-template-columns:1.4fr 1fr;
gap:60px}
.footer-grid strong{
font-size:17px;
line-height:1.8}
.footer-grid p{
font-size:13px;
margin-top:7px}
.footer-grid nav{
display:flex;
gap:20px;
flex-wrap:wrap;
justify-content:flex-end;
align-content:flex-start;
font-size:14px}
.mobile-contact{
display:none}


/* Inner pages: prominent section rules and clearly bounded chapters. */
.inner-hero{
position:relative;
isolation:isolate;
overflow:hidden;
background:var(--inner-ground);
color:var(--inner-ink);
padding:30px 0 40px;
border-bottom:5px solid var(--accent2)}
.inner-hero:before{
content:'';
position:absolute;
inset:0;
z-index:-1;
background-image:linear-gradient(90deg,var(--inner-ground) 20%,color-mix(in srgb,var(--inner-ground) 86%,transparent) 50%,color-mix(in srgb,var(--inner-ground) 30%,transparent)),var(--inner-image);
background-size:cover,auto 135%;
background-position:center,right center;
background-repeat:no-repeat}
.inner-hero h1{
font-size:42px}
.inner-hero .eyebrow{
color:var(--inner-label)}
.inner-hero>div>p:last-child{
margin-top:18px;
max-width:800px;
color:var(--inner-muted)}
.breadcrumb{
display:flex;
gap:12px;
align-items:center;
font-size:13px;
margin-bottom:24px;
color:var(--inner-label)}

.content-layout{
display:grid;
grid-template-columns:minmax(0,1fr) 255px;
gap:55px;
align-items:start}
.content-main{
min-width:0;
counter-reset:chapter}
.info-block{
padding:28px;
margin-bottom:28px;
background:var(--paper);
border:1px solid var(--line);
border-top:4px solid var(--accent);
scroll-margin-top:110px;
counter-increment:chapter}
.info-block:last-child{
margin-bottom:0}
.info-block>h2{
font-size:28px;
margin-bottom:24px;
padding-bottom:17px;
border-bottom:1px solid var(--line)}
.info-block>h2:before{
content:counter(chapter,decimal-leading-zero);
display:inline-block;
margin-right:15px;
font-size:16px;
letter-spacing:0;
color:var(--accent);
vertical-align:middle}
.info-block>p{
margin-bottom:16px}
.info-block .group-grid,.info-block .steps.count-4{
grid-template-columns:repeat(2,minmax(0,1fr))}
.info-block .group-grid.count-3{
grid-template-columns:repeat(3,minmax(0,1fr))}
.info-block .group-grid.count-5{
grid-template-columns:minmax(0,1fr)}
.info-block .honors-grid{
grid-template-columns:.8fr 1fr;
gap:26px}
.info-block .honors-grid h2{
font-size:25px}
.info-block .certificate{
padding:16px}
.content-layout:has(.info-block){
padding:26px;
background:var(--tint)}

.page-aside{
position:sticky;
top:118px;
border:1px solid var(--line);
border-top:4px solid var(--accent);
padding:24px;
background:var(--paper)}
.page-aside>strong{
font-size:18px;
line-height:1.6}
.page-aside>p{
font-size:13px;
margin-top:8px}
.page-aside nav{
margin-top:20px}
.page-aside nav a{
display:flex;
gap:10px;
justify-content:space-between;
border-bottom:1px solid var(--line);
padding:12px 0;
font-size:14px}
.page-aside .button{
margin-top:24px;
width:100%}

.requirements-meta{
display:grid;
grid-template-columns:1fr 1fr;
border-top:1px solid var(--line);
border-left:1px solid var(--line);
margin:22px 0;
background:var(--tint)}
.requirements-meta>div{
padding:16px 20px;
border-right:1px solid var(--line);
border-bottom:1px solid var(--line)}
dt{
font-size:13px;
color:var(--muted);
margin-bottom:5px}
dd{
font-size:15px}
.faq-page{
max-width:960px;
margin-inline:auto}

.document-section{
background:var(--tint)}
.document-grid{
display:grid;
grid-template-columns:420px 1fr;
gap:70px;
align-items:center}
.document-preview{
padding:14px;
background:white;
border:1px solid var(--line);
box-shadow:0 10px 25px #1b344812}
.document-preview img{
width:100%;
height:auto}
.document-grid>div>p:not(.eyebrow){
margin-top:16px;
max-width:560px}
.file-meta{
margin-top:26px}
.file-meta>div{
padding:12px 0;
border-bottom:1px solid var(--line)}
.file-meta dd{
font-size:16px}


/* Marine culture: deep-sea poster, blue exhibition chapters, nautical rules. */
.theme-ocean{
--ink:#113c67;
--muted:#48647a;
--accent:#006ca0;
--accent2:#53b7d6;
--deep:#082f65;
--tint:#d9edf8;
--line:#aac9dc;
--on-deep-accent:#a2e4f5;
--inner-ground:#082f65;
--inner-image:url('ocean-hero-v3.webp')}

.theme-ocean .poster-stage{
background:#082f65}
.theme-ocean .poster-art{
background:linear-gradient(90deg,#061e39b8 0%,#06284c66 35%,transparent 65%),url('ocean-hero-v3.webp') center/cover no-repeat}
.theme-ocean .poster-content{
min-height:620px}
.theme-ocean .hero-copy{
max-width:850px}
.theme-ocean .hero-copy h1{
font-size:clamp(39px,3.5vw,54px);
text-shadow:0 3px 20px #04264c}

.theme-ocean .projects-section{
background:#0d3b6a;
--ink:#fff;
--muted:#d3e4f1;
--accent:#a4e6ff;
--line:#547b9c;
--paper:#154a78;
color:var(--ink)}
.theme-ocean .project-card{
border-top:3px solid #7bbfdc}
.theme-ocean .project-card:nth-child(2){
border-top-color:#e4c179}
.theme-ocean .project-card:nth-child(3){
border-top-color:#8ccebf}
.theme-ocean .project-card:nth-child(4){
border-top-color:#b9b8ed}


/* Language: official ink title, cranes, river and blue sky. */
.theme-story{
--ink:#183c67;
--muted:#4b647d;
--accent:#1b5fa2;
--accent2:#c49b50;
--deep:#153e70;
--tint:#e2eef9;
--line:#b6cde1;
--paper:#fffefa;
--on-deep-accent:#edcf95;
--inner-ground:#e8f2fc;
--inner-ink:#153e70;
--inner-label:#1b5fa2;
--inner-muted:#476782;
--inner-image:url('poster-crane.webp')}

.theme-story .poster-stage{
background:#cce1f4 url('poster-paper.webp') center 52%/cover;
color:#153d69}
.theme-story .poster-content{
min-height:650px;
align-items:center;
text-align:center;
padding-top:36px}
.theme-story .hero-copy{
max-width:950px;
width:100%;
margin-bottom:35px}
.theme-story .hero-copy .eyebrow{
justify-content:center;
color:#244e76;
margin-bottom:8px}
.theme-story .hero-copy h1{
line-height:1.2;
font-size:38px}
.story-wordmark{
width:550px;
height:190px;
object-fit:contain;
margin:-16px auto -8px}
.story-subtitle{
font-size:33px;
font-weight:600;
letter-spacing:.12em}
.theme-story .hero-slogan{
color:#8a651e;
font-size:23px;
margin-top:18px;
letter-spacing:.23em}
.theme-story .hero-description{
margin-inline:auto;
color:#284f73;
max-width:700px;
font-size:16px}
.theme-story .hero-copy .button{
background:#194f85;
color:#fff;
border-color:#194f85}
.theme-story .hero-copy .button.secondary{
color:#194f85;
background:#ffffff70;
border-color:#6092bb}
.theme-story .actions{
justify-content:center}
.theme-story .poster-footnote{
width:100%;
border-color:#6e9abf;
color:#28527c}

.poster-crane{
position:absolute;
width:230px;
right:1%;
top:28%}
.poster-crane-small{
position:absolute;
width:150px;
left:1%;
bottom:19%;
transform:rotate(-10deg)}
.poster-sun{
position:absolute;
width:210px;
right:3%;
top:9%;
opacity:.6}
.poster-river{
position:absolute;
right:9%;
bottom:-55%;
height:95%;
width:auto;
opacity:.6}

.language-units{
border-top:2px solid var(--accent)}
.language-units article{
display:grid;
grid-template-columns:200px 200px 1fr 140px;
gap:26px;
align-items:center;
border-bottom:1px solid var(--line);
padding:28px 0}
.language-unit-photo{
width:100%}
.language-units h3{
font-size:26px}
.language-units article>p{
font-size:16px}
.language-units .text-link{
justify-self:end}
.theme-story .projects-section{
background:#eef5fb}
.theme-story .organizations{
background:#f5eddd}
.theme-story .honors-section{
background:#f1e7d3}


/* AILD: blue-white scientific graphics at architectural scale. */
.theme-labor{
--ink:#123657;
--muted:#4e6577;
--accent:#0066a5;
--accent2:#e69016;
--deep:#071f3c;
--tint:#e1f0f8;
--line:#adc8da;
--on-deep-accent:#9ce7ff;
--inner-ground:#071f3c;
--inner-image:url('labor-ai-hero-v3.webp')}

.theme-labor .poster-stage{
background:#071f3c;
color:#fff}
.theme-labor .poster-content{
min-height:610px}
.theme-labor .hero-copy{
max-width:810px}
.theme-labor .hero-copy h1{
font-size:clamp(40px,3.5vw,54px)}
.theme-labor .hero-copy .eyebrow{
color:#b7e6ff}
.theme-labor .hero-slogan{
color:var(--on-deep-accent);
font-size:22px;
letter-spacing:.06em}
.theme-labor .hero-description{
color:#e1edf6;
max-width:600px}
.theme-labor .hero-copy .button{
background:#f4fbff;
color:#123d66;
border-color:#f4fbff}
.theme-labor .hero-copy .button.secondary{
background:#071f3c66;
color:#eef9ff;
border-color:#b7e6ff90}

.theme-labor .poster-art{
background:linear-gradient(90deg,#04182e8c 0%,#04182e33 40%,transparent 68%),url('labor-ai-hero-v3.webp') center/cover no-repeat}
.theme-labor .poster-footnote{
color:#d5e9fa;
border-color:#b7d9f44d}

.labor-projects{
display:grid;
grid-template-columns:1fr 1fr;
gap:25px}
.labor-projects article{
position:relative;
overflow:hidden;
padding:32px;
background:#f0f6fb;
border:1px solid var(--line);
border-top:4px solid var(--accent)}
.labor-projects article+article{
background:#e2eff8;
border-top-color:#e69016}
.labor-projects .project-picture{
margin-bottom:24px}
.labor-projects .project-picture img{
aspect-ratio:16/9}
.labor-projects h3{
font-size:28px;
margin-bottom:17px}
.labor-projects>article>p:not(.project-type){
font-size:17px}
.labor-projects .text-link{
margin-top:20px}
.theme-labor .timeline{
grid-template-columns:repeat(3,minmax(0,1fr));
row-gap:22px}
.theme-labor .timeline.full{
display:block}


/* Psychology: official innovation blue, not generic wellness green. */
.theme-mind{
--ink:#173b65;
--muted:#506980;
--accent:#2260ba;
--accent2:#f0b84b;
--deep:#113d8d;
--tint:#e6effb;
--line:#b6cae7;
--radius:4px;
--on-deep-accent:#c3dfff;
--inner-ground:#143fb4;
--inner-image:url('innovation.png')}
.theme-mind .brand img{
width:164px;
height:49px}
.theme-mind .brand>span>strong{
font-size:15px}
.theme-mind .brand small{
font-size:11px}
.theme-mind .poster-stage{
background:#143fb4}
.theme-mind .hero-slogan{
color:#ffdc7c;
letter-spacing:.08em;
font-size:22px;
margin-top:0}
.theme-mind .hero-description{
max-width:800px;
margin-top:12px;
font-size:16px}
.theme-mind .projects-section{
background:#e6effb}
.theme-mind .section#groups{
background:var(--paper)}
.theme-mind .route-section{
background:var(--tint)}
.theme-mind .project-card{
border:1px solid #a9c3e5;
border-bottom:4px solid #4988d4}
.theme-mind .project-card:nth-child(2){
border-bottom-color:#51a144}
.theme-mind .project-card:nth-child(3){
border-bottom-color:#db8628}

.poster-heading{
padding-block:16px}
.poster-heading .eyebrow{
margin:0;
color:#e6efff}
.official-poster{
position:relative;
font-size:50px;
line-height:1.4}
.official-poster picture img{
width:100%;
height:auto}
.mobile-growth-art{
display:none}
.poster-title-text{
position:absolute;
width:1px;
height:1px;
padding:0;
margin:-1px;
overflow:hidden;
clip:rect(0,0,0,0);
white-space:nowrap;
border:0}
.poster-summary{
display:grid;
grid-template-columns:1fr auto;
gap:45px;
align-items:center;
padding-block:26px}
.poster-summary .actions{
margin:0;
flex-wrap:nowrap}
.poster-summary .button{
background:#fff;
border-color:#fff;
color:#143fb4}
.poster-summary .button.secondary{
color:#fff;
background:transparent;
border-color:#ffffff90}


/* Traditional sports: ceremonial typography and project-specific graphic forms. */
.theme-sport{
--ink:#43312b;
--muted:#706055;
--accent:#9a302a;
--accent2:#cba55a;
--deep:#63291f;
--tint:#ece3d5;
--line:#ccbbab;
--paper:#fffdf8;
--on-deep-accent:#efd2a0;
--inner-ground:#63291f;
--inner-image:url('sport-hero-v4.webp')}
.theme-sport .poster-stage{
background:#56231c}
.theme-sport .poster-content{
min-height:620px}
.theme-sport .hero-copy{
max-width:740px}
.theme-sport .hero-copy h1{
font-size:clamp(40px,4vw,60px);
letter-spacing:.025em;
color:#fff5df}
.theme-sport .hero-copy .eyebrow{
color:#f4d6a6}
.theme-sport .hero-slogan{
color:#f1cc89;
font-size:25px}
.theme-sport .hero-description{
max-width:550px;
color:#f1e0d0}
.theme-sport .poster-art{
background:linear-gradient(90deg,#30070a70 0%,#30070a33 40%,transparent 68%),url('sport-hero-v4.webp') center/cover no-repeat}
.theme-sport .hero-copy .button{
background:#e9c787;
color:#52291d;
border-color:#e9c787}
.theme-sport .hero-copy .button.secondary{
background:transparent;
color:#fff2df;
border-color:#e9c7879c}

.theme-sport .projects-section{
background:#713026;
--ink:#fff2df;
--accent:#f0ca8d;
--muted:#ebd4c0;
--line:#b07864;
color:var(--ink)}
.sport-projects{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:24px}
.sport-projects article{
overflow:hidden;
border:1px solid var(--line);
background:#7a342b}
.sport-project-photo img{
width:100%;
aspect-ratio:16/10;
object-fit:cover}
.sport-project-copy{
padding:24px}
.sport-project-title{
display:flex;
align-items:center;
gap:20px;
margin-bottom:12px}
.sport-project-title h3{
font-size:30px}
.sport-projects .text-link{
margin-top:22px}
.theme-sport .certificate img{
max-height:350px}


@media(min-width:1600px){
.container{
width:min(1320px,calc(100% - 100px))}
.poster-content{
min-height:660px}
.theme-story .poster-content{
min-height:690px}
}

@media(max-width:1200px){

 .container{
width:calc(100% - 56px)}
.navigation{
gap:16px}
.navigation nav{
gap:17px}
.brand strong{
font-size:16px}
.brand small{
font-size:11px}
.brand img{
width:54px;
height:54px}
.header-contact{
display:none}

 .hero-copy{
max-width:760px}
.hero-copy h1,.theme-ocean .hero-copy h1,.theme-labor .hero-copy h1,.theme-mind .hero-copy h1,.theme-sport .hero-copy h1{
font-size:46px}
.poster-content,.theme-ocean .poster-content,.theme-labor .poster-content,.theme-mind .poster-content,.theme-sport .poster-content{
min-height:580px}
.fact-strip>div{
padding:20px 18px}
.fact-strip strong{
font-size:18px;
margin-left:0}

 .overview-grid{
gap:40px}
.project-grid.count-4{
grid-template-columns:repeat(2,minmax(0,1fr))}
.timeline{
grid-template-columns:repeat(2,minmax(0,1fr))}
.date{
font-size:28px}
.language-units article{
grid-template-columns:170px 180px 1fr;
gap:20px}
.language-units .text-link{
grid-column:3;
justify-self:start}

 .content-layout{
grid-template-columns:minmax(0,1fr) 220px;
gap:28px}
.content-layout:has(.info-block){
padding:20px}
.info-block{
padding:22px}
.document-grid{
grid-template-columns:360px 1fr;
gap:45px}
.honors-grid{
gap:45px}
.timeline.full .timeline-item{
grid-template-columns:300px 1fr}
.timeline.full .date{
font-size:28px}

 .theme-mind .brand>span{
display:none}
.poster-crane{
width:175px;
right:-3%;
top:35%}
.poster-crane-small{
width:125px;
left:-4%}
.theme-labor .poster-art{
background-position:58% center}

}

@media(max-width:900px){

 .container{
width:calc(100% - 40px)}
.navigation{
min-height:78px;
position:relative;
gap:10px}
.menu-toggle{
display:flex;
align-items:center;
gap:12px;
background:transparent;
border:1px solid var(--line);
padding:9px 12px;
min-height:44px;
font-size:14px;
white-space:nowrap}
.navigation nav{
display:none;
position:absolute;
top:100%;
left:-20px;
right:-20px;
background:var(--paper);
padding:16px 20px 20px;
border-bottom:1px solid var(--line);
grid-template-columns:repeat(3,1fr);
gap:12px 20px;
box-shadow:0 15px 25px #20302a15}
.navigation nav.open{
display:grid}
.navigation nav a{
min-height:40px;
padding:6px 0}
.brand{
gap:10px;
max-width:calc(100% - 125px)}
.theme-mind .brand img{
width:150px}
.theme-mind .brand>span{
display:block}
.theme-mind .brand>span>strong{
display:none}
.theme-mind .brand small{
max-width:140px;
line-height:1.5;
font-size:10px}

 .section{
padding:44px 0}
.section-head{
margin-bottom:26px}
.overview-grid{
grid-template-columns:1fr;
gap:20px}
.large-copy{
font-size:17px}
.poster-content{
padding-top:42px}
.hero-copy{
max-width:690px}
.hero-copy h1,.theme-ocean .hero-copy h1,.theme-labor .hero-copy h1,.theme-mind .hero-copy h1,.theme-sport .hero-copy h1{
font-size:45px}
.hero-description{
max-width:570px}
.hero-slogan{
font-size:21px}
.theme-ocean .poster-art{
background-position:58% center}
.theme-labor .poster-art{
background-position:63% center}
.theme-sport .poster-art{
background-position:65% center}

 .fact-strip{
grid-template-columns:repeat(2,minmax(0,1fr))}
.fact-strip>div{
border-bottom:1px solid var(--line)}
.fact-strip>div:nth-child(3){
border-left:0}
.fact-strip>div:nth-child(n+3){
border-bottom:0}
.organization-grid{
gap:20px}
.group-grid,.group-grid.count-4{
grid-template-columns:repeat(2,minmax(0,1fr))}
.honors-grid{
gap:35px}
.faq-grid{
grid-template-columns:1fr;
gap:15px}
.materials-grid{
gap:30px}
.participation-grid{
gap:28px}
.participation-grid>div+div{
padding-left:24px}
.preparation{
padding:24px}

 .timeline,.theme-labor .timeline{
grid-template-columns:repeat(2,minmax(0,1fr));
gap:28px}
.date{
font-size:27px}
.comparison-header,.comparison-row{
gap:16px;
padding-inline:15px}
.comparison-row p{
font-size:15px}
.steps.count-4{
grid-template-columns:repeat(2,minmax(0,1fr))}
.project-body{
padding:21px}
.project-body h3{
font-size:21px}
.project-grid.count-3{
gap:14px}
.project-type{
font-size:12px}

 .content-layout{
grid-template-columns:1fr}
.page-aside{
display:none}
.document-grid{
grid-template-columns:300px 1fr;
gap:30px}
.document-grid h2{
font-size:28px}
.language-units article{
grid-template-columns:140px 150px 1fr;
gap:18px}
.labor-projects article{
padding:26px}
.sport-project-copy{
padding:20px}
.sport-project-title{
gap:12px}
.sport-project-title h3{
font-size:26px}
.inner-hero h1{
font-size:36px}

 .mobile-contact{
display:flex;
align-items:center;
justify-content:space-between;
gap:15px;
position:fixed;
bottom:0;
left:0;
right:0;
z-index:40;
background:var(--paper);
border-top:1px solid var(--line);
padding:10px 20px calc(10px + env(safe-area-inset-bottom))}
.mobile-contact>span{
font-size:12px;
font-weight:600;
line-height:1.6;
max-width:55%}
.mobile-contact .button{
min-height:56px;
min-width:145px;
font-size:16px}
.footer-grid{
padding-bottom:90px}
.footer-grid nav{
gap:14px}
.cta-inner{
gap:30px}
.cta h2{
font-size:28px}
.cta .button{
min-width:150px}

 .theme-story .poster-content{
min-height:610px}
.story-wordmark{
width:500px;
height:175px}
.story-subtitle{
font-size:29px}
.poster-crane{
width:140px;
top:33%;
opacity:.6}
.poster-crane-small{
width:100px;
opacity:.6}
.poster-sun{
width:160px;
opacity:.45}

}

@media(max-width:600px){

 body{
font-size:16px}
.container{
width:calc(100% - 36px)}
h1{
font-size:36px}
h2{
font-size:29px}
h3{
font-size:20px}
.section{
padding:36px 0;
border-top-width:2px}
.section-head{
margin-bottom:24px;
padding-left:15px;
border-left-width:4px}
.section-head>p:last-child:not(.eyebrow){
font-size:16px;
margin-top:10px}

 .navigation{
min-height:76px}
.brand img{
width:44px;
height:44px}
.brand{
max-width:calc(100% - 105px);
gap:8px}
.brand strong{
font-size:14px;
letter-spacing:-.03em}
.brand small{
font-size:10px;
line-height:1.5;
margin-top:3px}
.menu-toggle{
padding:8px 9px;
font-size:12px;
gap:8px;
min-height:44px}
.theme-mind .brand img{
width:148px;
height:45px}
.theme-mind .brand>span{
display:none}

 .poster-content,.theme-ocean .poster-content,.theme-labor .poster-content,.theme-mind .poster-content,.theme-sport .poster-content{
min-height:0;
padding-top:34px;
padding-bottom:22px;
justify-content:flex-start}
.hero-copy{
margin-bottom:24px;
max-width:100%}
.hero-copy h1,.theme-ocean .hero-copy h1,.theme-labor .hero-copy h1,.theme-mind .hero-copy h1,.theme-sport .hero-copy h1{
font-size:38px;
line-height:1.4;
letter-spacing:-.045em}
.hero-copy .phrase{
display:block}
.hero-copy .eyebrow{
font-size:11px;
letter-spacing:0;
gap:7px;
margin-bottom:22px}
.hero-slogan,.theme-labor .hero-slogan,.theme-sport .hero-slogan{
font-size:18px;
letter-spacing:.05em;
margin-top:18px}
.hero-description{
font-size:16px;
line-height:1.9;
margin-top:14px}
.actions{
margin-top:24px;
gap:10px}
.actions .button{
padding:12px 18px;
min-height:52px;
gap:18px;
font-size:15px;
min-width:0}
.poster-footnote{
display:block;
font-size:11px;
letter-spacing:.05em;
padding-top:14px;
margin-top:0}
.poster-footnote>span{
font-size:13px}
.poster-footnote>div{
gap:18px;
margin-top:6px}

 .theme-ocean .poster-art{
background:linear-gradient(90deg,#061e39e8,#06284c88),url('ocean-hero-v3-mobile.webp') 66% center/auto 100% no-repeat}
.theme-story .poster-content{
min-height:0;
padding-top:28px}
.theme-story .poster-stage{
background-image:url('poster-paper-mobile.webp')}
.theme-story .hero-copy .eyebrow{
margin-bottom:16px}
.theme-story .hero-copy h1{
font-size:30px;
line-height:1.5}
.story-wordmark{
width:100%;
height:auto;
margin:-18px auto -10px}
.story-subtitle{
font-size:23px;
letter-spacing:.02em}
.theme-story .hero-slogan{
font-size:18px;
letter-spacing:.1em;
margin-top:16px}
.theme-story .hero-description{
font-size:16px}
.poster-crane{
width:110px;
right:-30px;
top:58%;
opacity:.35}
.poster-crane-small{
width:85px;
left:-35px;
bottom:14%;
opacity:.3}
.poster-sun{
width:140px;
right:-20px;
top:7%;
opacity:.4}
.poster-river{
right:-10%;
bottom:-32%;
height:70%;
opacity:.45}

 .theme-labor .poster-art{
background:linear-gradient(90deg,#04182ef2,#04182e80),url('labor-ai-hero-v3-mobile.webp') 67% center/auto 100% no-repeat}
.theme-sport .poster-art{
background:linear-gradient(90deg,#30070af2,#30070a88),url('sport-hero-v4-mobile.webp') 70% center/auto 100% no-repeat}
.theme-sport .hero-copy h1{
letter-spacing:0}

 .poster-heading{
padding-block:20px 8px}
.poster-heading .eyebrow{
font-size:11px;
letter-spacing:0}
.official-poster{
font-size:36px;
padding:16px 18px 0}
.poster-title-text{
position:static;
display:block;
width:auto;
height:auto;
padding:0;
margin:0;
overflow:visible;
clip:auto;
white-space:normal}
.poster-title-text .phrase{
display:block}
.official-poster picture{
display:none}
.mobile-growth-art{
display:flex;
justify-content:center;
padding:10px 18px 0;
height:100px}
.mobile-growth-art img{
width:33.333%;
height:100%;
object-fit:contain}
.poster-summary{
display:block;
padding-block:0 24px}
.theme-mind .hero-slogan{
font-size:18px}
.poster-summary .actions{
margin-top:18px;
flex-wrap:wrap}

 .fact-strip>div{
padding:17px 12px}
.fact-strip strong{
font-size:17px;
line-height:1.6;
margin-top:7px}
.fact-label{
font-size:12px;
gap:10px}
.fact-label b{
font-size:10px}
.organization-grid{
grid-template-columns:1fr;
padding-block:24px;
gap:15px}
.organization-grid>div{
display:grid;
grid-template-columns:70px 1fr;
gap:10px;
align-items:start;
padding-left:12px}
.organization-grid span{
font-size:12px;
padding-top:2px}
.organization-grid strong{
font-size:15px}
.overview-grid{
gap:18px}
.participation-grid{
grid-template-columns:1fr;
gap:24px}
.participation-grid>div+div{
border-left:0;
border-top:1px solid var(--line);
padding:20px 0 0}
.participation-groups{
font-size:18px}
.large-copy{
font-size:16px}
.edition{
gap:5px;
font-size:12px;
flex-direction:column;
margin-top:16px}

 .project-grid.count-4,.project-grid.count-3{
grid-template-columns:1fr;
gap:18px}
.project-card{
display:block}
.project-body{
padding:20px}
.project-body h3{
font-size:23px}
.project-body>p:not(.project-type){
font-size:16px;
line-height:1.9;
margin-bottom:18px}

 .group-grid,.group-grid.count-4{
grid-template-columns:1fr}
.group-grid.count-5 .group-item{
grid-template-columns:27px minmax(0,1fr);
gap:0 12px}
.group-grid.count-5 .group-item .number{
grid-row:1}
.group-grid.count-5 .group-item p{
grid-column:1/-1;
margin-top:8px;
font-size:15px}
.group-item{
display:grid;
grid-template-columns:27px 1fr;
gap:0 12px;
padding:18px}
.group-item .number{
grid-column:1;
grid-row:1/3;
align-self:center;
font-size:13px}
.group-item h3{
font-size:19px;
margin:0}
.group-item p{
grid-column:2;
font-size:16px;
margin-top:4px}
.context-note{
font-size:14px;
line-height:1.9}

 .steps,.steps.count-4{
grid-template-columns:1fr;
gap:0;
--step-gutter:42px;
border-top:1px solid var(--line)}
.steps article{
display:grid;
grid-template-columns:42px 1fr;
gap:0 12px;
border-bottom:1px solid var(--line);
padding:22px 0}
.step-number{
grid-row:1/3;
grid-column:1;
font-size:29px;
line-height:1.4;
margin:0}
.steps h3{
font-size:19px;
line-height:1.6;
margin-bottom:6px}
.steps p{
font-size:16px;
grid-column:2}

 .timeline,.theme-labor .timeline{
display:block}
.timeline-item{
padding:23px 0;
border-bottom:1px solid var(--line);
display:block}
.timeline-mark{
display:flex;
align-items:center;
gap:15px}
.timeline-mark .number{
margin:0;
font-size:11px}
.date{
font-size:28px;
line-height:1.5}
.timeline-content h3{
font-size:19px;
margin-top:12px}
.timeline-content p{
font-size:16px;
margin-top:8px}
.timeline.full .timeline-item{
display:block;
padding:23px 0}
.timeline.full .timeline-mark{
gap:15px}
.timeline.full .date{
font-size:27px}
.timeline.full .timeline-content h3{
font-size:20px;
margin-top:13px}

 .comparison{
border:0;
background:transparent}
.comparison-header{
display:none}
.comparison-row{
display:grid;
grid-template-columns:1fr;
border:1px solid var(--line);
gap:0;
background:var(--paper);
border-radius:var(--radius);
overflow:hidden;
margin-top:16px;
padding:0}
.comparison-row:nth-child(odd){
background:var(--paper)}
.comparison-row:last-child{
border-bottom:1px solid var(--line)}
.comparison-row h3{
background:var(--deep);
color:#fff;
font-size:19px;
padding:14px 18px}
.comparison-row>div{
padding:15px 18px;
border-bottom:1px solid var(--line)}
.comparison-row>div:last-child{
border-bottom:0}
.comparison-row p{
font-size:16px;
line-height:1.85}
.mobile-label{
display:block;
font-size:12px;
color:var(--accent);
font-weight:700;
margin-bottom:6px}

 .materials-grid{
grid-template-columns:1fr;
gap:28px}
.bullet-list li{
padding:6px 0;
font-size:16px;
line-height:1.9}
.preparation{
padding:24px}
.preparation h2{
font-size:27px}
.preparation .button{
min-height:54px}
.honors-grid,.info-block .honors-grid{
grid-template-columns:1fr;
gap:30px}
.honors-grid .certificate{
max-width:370px;
width:100%;
margin-inline:auto;
padding:18px}
.certificate img{
max-height:420px}
.certificate figcaption{
font-size:13px;
margin-top:15px}
.honor-list h3{
font-size:19px}
.honor-list p{
font-size:16px}

 .faq-grid{
gap:0}
.faq-list details{
padding:19px 0}
.faq-list summary{
font-size:16px;
gap:18px}
.faq-list p{
font-size:16px;
padding-top:13px;
line-height:1.95}
.cta{
padding:32px 0}
.cta-inner{
display:block}
.cta h2{
font-size:28px}
.cta p{
font-size:16px;
line-height:1.9}
.cta .button{
min-height:56px;
margin-top:24px;
width:100%;
font-size:16px}
.footer-grid{
display:block;
padding-bottom:92px}
.footer-grid strong{
font-size:15px}
.footer-grid p{
font-size:12px}
.footer-grid nav{
margin-top:22px;
justify-content:flex-start;
gap:10px 20px;
font-size:14px}
.mobile-contact{
padding-inline:18px;
gap:10px}
.mobile-contact>span{
font-size:11px;
max-width:52%;
line-height:1.6}
.mobile-contact .button{
min-width:140px;
padding-inline:17px;
gap:16px}

 .inner-hero{
padding:25px 0 30px}
.inner-hero h1{
font-size:34px;
line-height:1.4}
.breadcrumb{
font-size:12px;
margin-bottom:22px}
.inner-hero .eyebrow{
font-size:11px;
gap:7px;
letter-spacing:0}
.inner-hero>div>p:last-child{
font-size:16px;
margin-top:15px}
.content-layout:has(.info-block){
padding:0;
background:transparent}
.info-block{
padding:21px 17px;
margin-bottom:24px;
border-top-width:4px}
.info-block>h2{
font-size:25px;
margin-bottom:20px;
padding-bottom:14px}
.info-block>h2:before{
margin-right:10px;
font-size:14px}
.info-block .group-grid,.info-block .group-grid.count-3,.info-block .steps{
grid-template-columns:1fr}
.requirements-meta{
grid-template-columns:1fr}
.requirements-meta>div{
padding:15px 16px}
dt{
font-size:12px}
dd{
font-size:16px;
line-height:1.8}

 .document-grid{
display:flex;
flex-direction:column-reverse;
gap:28px;
align-items:stretch}
.document-grid h2{
font-size:27px}
.document-preview{
padding:10px;
max-width:390px;
width:100%;
margin-inline:auto}
.file-meta{
margin-top:18px}
.file-meta>div{
display:grid;
grid-template-columns:80px 1fr;
gap:15px;
padding:12px 0}
.file-meta dt{
margin:0;
padding-top:2px}
.file-meta dd{
font-size:15px}

 .language-units article{
display:grid;
grid-template-columns:minmax(0,1fr);
gap:0 12px;
padding:20px 0}
.language-unit-photo{
margin-bottom:18px}
.language-units h3{
font-size:26px}
.language-units article>p{
grid-column:1;
font-size:16px;
margin-top:8px}
.language-units .text-link{
grid-column:1;
margin-top:14px;
justify-self:start}
.language-units .project-type{
font-size:12px}

 .labor-projects{
display:block}
.labor-projects article{
padding:25px 23px}
.labor-projects article+article{
margin-top:20px}
.labor-projects .project-picture{
margin-bottom:18px}
.labor-projects h3{
font-size:24px}
.labor-projects>article>p:not(.project-type){
font-size:16px}
.theme-mind .project-card{
display:block}
.theme-mind .project-picture img{
width:100%;
aspect-ratio:16/10;
object-fit:cover}
.theme-mind .project-body{
padding:22px}
.theme-mind .project-body h3{
font-size:23px}

 .sport-projects{
grid-template-columns:1fr;
gap:20px}
.sport-project-title{
margin-bottom:15px;
gap:20px}
.sport-project-title h3{
font-size:28px}
.sport-projects .project-type{
font-size:13px}
.sport-project-copy>p:not(.project-type){
font-size:16px}
.sport-projects .text-link{
margin-top:17px}
.theme-sport .certificate img{
max-height:260px}

}

@media(prefers-reduced-motion:reduce){
html{
scroll-behavior:auto}
*{
transition:none!important}
}

