/* ITUMUN 2027 production brand system. Loaded after legacy component styles. */
@import url('./fonts/raleway/fonts.css');
:root{color-scheme:dark;--bg:#191919;--bg-2:#202020;--surface:#242424;--surface-soft:#333;--text:#f5f3ed;--muted:#c0beb7;--line:#484845;--accent:#fbbe38;--accent-dark:#e9a921;--blue:#3f709f;--radius:0px;--shadow:none}
body,input,select,textarea,button{font-family:Raleway,Arial,sans-serif}body{background:var(--bg);color:var(--text)}h1,h2,h3{font-weight:900;letter-spacing:-.045em}button,a,input,textarea,select{outline-offset:4px}::selection{background:var(--accent);color:#333}.container{width:calc(100% - 10.8vw);max-width:1420px}
.site-header{background:#191919;border-bottom:1px solid var(--line);backdrop-filter:none}.navbar{min-height:100px}.brand-logo{filter:brightness(0) invert(1)}.nav-links a{font-size:12px;font-weight:700}.nav-links a.active-page{color:#8bb4da}
.primary-button,.nav-apply,.member-primary,.fee-card a,.conference-apply-button{border-radius:0!important;background:var(--accent)!important;color:#333!important;box-shadow:none!important;font-weight:800}.secondary-button,.member-secondary{border-radius:0;box-shadow:none}.hero{display:block;min-height:0;padding:155px 0 65px;background:var(--bg)}.hero::after,.hero-shape,.hero-dots{display:none}.hero-content{display:grid;grid-template-columns:1.1fr 1fr;column-gap:7%;max-width:1420px;text-align:left}.hero-date{grid-column:1;align-self:end;color:var(--text);font-size:10px;letter-spacing:.14em;margin:0 0 24px}.hero h1{grid-column:1;font-size:clamp(70px,9.4vw,145px);line-height:.89;letter-spacing:-.065em;text-align:left;max-width:none;margin:0;color:var(--text);text-shadow:none}.hero h1 .brand-blue{color:var(--blue)}.hero-subtitle{grid-column:1;margin:28px 0 24px;max-width:430px;color:var(--text);font-size:12px;line-height:1.8;font-weight:700}.brand-hero-photo{grid-column:2;grid-row:1/4;position:relative;min-width:0;margin:0 0 28px;align-self:stretch}.brand-hero-photo>img{height:100%;width:100%;min-height:460px;object-fit:cover;filter:grayscale(1) contrast(1.1)}.brand-photo-caption{position:absolute;right:0;top:0;background:var(--bg);padding:14px 0 17px 20px;font-size:9px;font-weight:800;letter-spacing:.12em}.brand-stamp{position:absolute;left:-50px;bottom:25px;width:135px;height:150px;background:var(--accent);color:#333;clip-path:polygon(50% 0,93% 25%,93% 75%,50% 100%,7% 75%,7% 25%);transform:rotate(-9deg);display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:9px;letter-spacing:.08em;font-weight:800}.brand-stamp strong{font-size:60px;letter-spacing:-.07em;line-height:1.2}.hero-info{grid-column:1/3;display:grid;grid-template-columns:1fr 1fr 1fr;gap:28px;padding-top:25px;border-top:1px solid var(--line)}.hero-info>div{border:0;border-radius:0;background:none;box-shadow:none;padding:0;min-width:0}.hero-info-label{font-size:9px;letter-spacing:.13em}.hero-countdown{justify-content:flex-start}.hero-apply-card{display:flex;justify-content:flex-end;align-items:center}.hero-apply{min-width:200px;padding:18px 25px}.hero-loaded .hero-content>*{transition-delay:0ms!important}.hero-content>.hero-date,.hero-content>h1,.hero-content>.hero-subtitle,.hero-content>.hero-info{opacity:1;transform:none}
.section,.section.training-page,.section.account-page,#fees,.leadership,.conference-statistics,.previous-conferences,.sponsors,.committees,.schedule,.location,.support,.memories,.faq,.about{background:var(--bg)}.section{padding:80px 0}.section-heading,.section-heading.centered{text-align:left;max-width:none;margin-bottom:40px}.section-heading h2,.training-heading h1{font-size:clamp(38px,5.8vw,84px);line-height:1.04;font-weight:900;letter-spacing:-.05em}.section-heading>p{max-width:650px;font-size:13px}.eyebrow{color:#8bb4da;font-size:10px;letter-spacing:.13em}.conference-quote{background:var(--blue);border-radius:0}.conference-quote blockquote{font-weight:700;color:var(--text)}
.committee-card,.fee-card,.leadership-letter,.archive-card,.sponsor-card,.faq-item,.training-gate,.training-current,.training-sidebar,.account-card,.application-period-panel,.member-dialog,.committee-dialog,.support-card,.location-card,.about-card{border-radius:0!important;box-shadow:none!important;border-color:var(--line);background:var(--surface)}.committee-card::after{display:none}.committee-card:hover{background:var(--surface);border-color:var(--blue);box-shadow:none;transform:translateY(-4px)}.committee-card-image img,.leadership-photo img,.gallery-item img,.archive-card img{filter:grayscale(1);transition:filter .3s}.committee-card:hover img,.gallery-item:hover img{filter:grayscale(0)}.committee-card-content{padding:25px}.committee-card-content h3{font-size:29px;min-height:2.5em;justify-content:center;text-align:center}.committee-card p.committee-agenda-label{color:#8bb4da;font-size:9px}.committee-agenda-preview{text-align:center}.committee-explore{color:var(--text);border-radius:0;font-size:11px}.committee-dialog-content{background:var(--surface)}.committee-dialog h2{font-size:34px}.committee-files a{border-radius:0}.committees-announcement,.schedule-announcement{border-radius:0;background:var(--surface);box-shadow:none;padding:60px}.committees-announcement h3{font-size:clamp(35px,5vw,65px)}
.training-gate{padding:45px;background:var(--surface);border-left:7px solid var(--blue)}.training-gate h2{font-size:36px}.training-heading{border-bottom:1px solid var(--line);padding-bottom:35px}.training-member-label{border-radius:0;color:var(--text);border-color:var(--line)}.training-player{background:var(--blue)}.training-lesson[aria-pressed=true]{background:#333;box-shadow:inset 3px 0 var(--accent)}.training-filters input,.training-filters select,.training-code-form input{border-radius:0}.training-lesson-detail h2{font-size:30px}.training-play-mark{color:var(--accent)}
.fee-card{padding:32px}.fee-card.featured{background:var(--blue);border-color:var(--blue)}.fee-card h3{font-size:32px}.fee-price{font-weight:900}.application-timeline li,.process-step,.schedule-sheet,.tab,.faq-question,.support-form input,.support-form textarea{border-radius:0!important}.tab.active{background:var(--accent);color:#333}.gallery-item{border-radius:0}.footer,.site-footer{background:#333;border-top:1px solid var(--line)}.footer img{filter:brightness(0) invert(1)}.footer a{color:var(--text)}.member-dialog input,.member-dialog select,.member-dialog textarea,.member-tab,.member-dialog button{border-radius:0}.member-dialog{color:var(--text)}
.nav-links .nav-cta,.nav-links .apply-button,.nav-links a[href="?page=apply"]{border-radius:0!important;box-shadow:none!important;color:#333;background:var(--accent)}
.brand{position:relative;width:130px;height:75px;overflow:hidden;flex-shrink:0}.brand .brand-logo{position:absolute;width:150px;max-width:none;height:150px;object-fit:contain;left:-17px;top:-35px}
.conference-quote blockquote{background:none;border:0;border-radius:0;padding:25px 0;font-size:clamp(21px,2.8vw,38px);line-height:1.5}.conference-quote blockquote span{font-size:12px;display:block;margin-top:20px}
.committee-card-image img[src*="committees/odet"],.committee-card-image img[src*="committees/unwomen"]{object-position:center 35%}
.committee-card-image img[src*="fcc-enhanced"]{filter:grayscale(.35) brightness(1.35)}
.committee-card-image img[src*="committees/untrusteeshipcouncil"]{object-position:center 78%}
.committee-card-image img[src*="committees/eu"]{object-position:center 60%}
/* Admin shares the same design tokens without changing management permissions. */
.shell,.admin-workspace{background:var(--bg);color:var(--text)}.card,.login,.editor-section,.notice,.admin-sidebar,.panel-header,.array-item,.nested,.training-admin-row,.review-card,.mailbox-layout{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:0!important;box-shadow:none!important}.admin-sidebar{background:#202020}.sidebar-link{border-radius:0}.sidebar-link.active{background:var(--blue);color:var(--text)}.sidebar-brand img,.login>img{filter:brightness(0) invert(1)}.shell input,.shell textarea,.shell select{background:#191919;color:var(--text);border-color:var(--line);border-radius:0}.shell button{border-radius:0}.shell button:not(.secondary):not(.sidebar-link):not(.remove):not(.dialog-close){font-weight:700}.shell .secondary{color:var(--text);background:#333;border-color:var(--line)}.shell h1{font-size:clamp(28px,3vw,45px)}
@media(max-width:900px){.navbar{min-height:80px}.nav-links{background:var(--bg)}.hero{padding-top:120px}.hero h1{font-size:10vw}.brand-hero-photo>img{min-height:350px}.brand-stamp{width:100px;height:115px;left:-30px}.brand-stamp strong{font-size:45px}.hero-info{gap:20px}.hero-apply{min-width:0}.section{padding:60px 0}.training-gate h2{font-size:30px}}
@media(max-width:600px){.container{width:calc(100% - 44px)}.hero{padding:110px 0 40px}.hero-content{grid-template-columns:1fr;gap:0}.hero-date{font-size:8px;margin-bottom:25px}.hero h1{font-size:clamp(68px,20vw,110px)}.hero-subtitle{font-size:11px;margin:25px 0 30px}.brand-hero-photo{grid-column:1;grid-row:auto;margin:0 0 32px 20px;height:350px}.brand-hero-photo>img{min-height:0;height:100%}.brand-stamp{left:-25px;bottom:20px}.hero-info{grid-column:1;grid-template-columns:1fr 1fr;gap:25px}.hero-apply-card{grid-column:1/3;justify-content:flex-start}.hero-apply{width:100%;justify-content:space-between}.section-heading h2,.training-heading h1{font-size:42px}.section-heading>p{font-size:12px}.committee-card-content h3{font-size:28px}.training-gate{padding:26px}.training-gate h2{font-size:30px}.committees-announcement{padding:35px 25px}.fee-card{padding:26px}.section{padding:50px 0}}
/* Keep portraits proportional instead of stretching them to the full letter height. */
.leadership-photo{position:relative;align-self:start;width:100%;min-height:0;aspect-ratio:4/5;max-height:560px;overflow:hidden}
.leadership-photo img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.leadership-photo img[src*="leadership/sg.jpg"]{object-position:50% 55%}
.leadership-photo img[src*="leadership/dg.jpg"]{object-position:50% 45%}
@media(max-width:620px){.leadership-photo{max-height:460px;aspect-ratio:4/5}}
.archive-committee.archive-committee-name{display:block;padding:22px 26px;border-radius:0}.archive-committee.archive-committee-name h3{margin:0;font-size:clamp(1.05rem,2vw,1.4rem);line-height:1.4}
/* Opening screen: give the headline and supporting copy more breathing room. */
.hero h1{line-height:1.08;letter-spacing:-.035em;word-spacing:.08em}
.hero-date{margin-bottom:32px;line-height:1.7}
.hero-subtitle{margin:36px 0 36px;line-height:2;word-spacing:.12em;letter-spacing:.025em}
.hero-info{padding-top:32px;row-gap:32px}
@media(max-width:600px){.hero-date{margin-bottom:28px}.hero h1{line-height:1.1}.hero-subtitle{margin:30px 0 36px;line-height:1.95}.hero-info{row-gap:28px}}
/* Requested Secretariat, statistics and sponsor refinements. */
#leadership .section-heading h2{letter-spacing:0;word-spacing:.08em;line-height:1.18}
.leadership-photo{align-self:center;justify-self:center;width:calc(100% - 48px);max-width:400px;margin:28px 0}
.conference-stat{position:relative;display:grid;grid-template-rows:1fr auto 1fr;justify-items:center;text-align:center;min-height:230px}
.conference-stat dt{grid-row:1;align-self:start;width:100%;text-align:center}
.conference-stat dd{grid-row:2;margin:0;width:100%;text-align:center}
.conference-stat .stat-pending{position:absolute;left:12px;right:12px;bottom:18px}
.sponsors-announcement{grid-column:1/-1;border:1px solid var(--line);padding:60px 24px;text-align:center;background:var(--surface)}
.sponsors-announcement strong{display:block;font-size:clamp(44px,7vw,84px);letter-spacing:.08em;color:var(--accent)}
.sponsors-announcement p{margin-top:16px;color:var(--muted)}
.committee-grid .committee-card{cursor:pointer}
.committee-card:focus-within{outline:2px solid var(--accent);outline-offset:4px}
@media(max-width:620px){.leadership-photo{width:calc(100% - 40px);margin:24px 0 0}.conference-stat{min-height:210px}}
/* Readable heading spacing across public pages and the admin panel. */
h1,h2,h3{letter-spacing:0;word-spacing:.04em;line-height:1.2;overflow-wrap:break-word}
.section-heading h2,.training-heading h1,.archive-hero h1,.account-page-heading h1,
.application-confirmation h2,.member-intro h2,.leadership-copy h3,
.committee-dialog h2,.training-gate h2,.training-lesson-detail h2,
.fee-card h3,.committees-announcement h3,.schedule-announcement h3{
  letter-spacing:0;word-spacing:.04em;line-height:1.2
}
.section-heading h2,.training-heading h1,.archive-hero h1{text-wrap:balance}
.hero h1{letter-spacing:0;line-height:1.12}
.leadership-copy h3{font-size:clamp(26px,2.6vw,38px);line-height:1.3}
.committee-card-content h3{font-size:clamp(22px,1.9vw,26px);font-weight:800;letter-spacing:.015em;word-spacing:.06em;line-height:1.35;min-height:5.4em;margin-bottom:24px;text-wrap:balance;overflow-wrap:anywhere}
.committee-dialog h2{font-size:clamp(25px,3vw,34px);font-weight:800;line-height:1.3;overflow-wrap:anywhere;text-wrap:balance}
.archive-committee.archive-committee-name h3{letter-spacing:.01em;line-height:1.45;font-weight:800}
.archive-person h3{letter-spacing:.01em;line-height:1.4}
.stat-value,.participant-stat span{letter-spacing:0;line-height:1.15}
@media(max-width:600px){
  .section-heading h2,.training-heading h1{font-size:clamp(30px,8.5vw,40px);line-height:1.22}
  .archive-hero h1{font-size:clamp(34px,10vw,52px);line-height:1.2}
  .committee-card-content h3{font-size:24px;min-height:0;line-height:1.4}
  .leadership-copy h3{font-size:27px;line-height:1.35}
}
/* Alternating portraits with equal outer padding and space beside the letter. */
#leadership .leadership-letter{--portrait-gap:clamp(28px,3.5vw,48px);display:grid;grid-template-columns:minmax(200px,.65fr) minmax(0,1.35fr);gap:var(--portrait-gap);padding:var(--portrait-gap);min-height:0;align-items:start}
#leadership .leadership-letter:nth-child(even){grid-template-columns:minmax(0,1.35fr) minmax(200px,.65fr)}
#leadership .leadership-photo{align-self:start;justify-self:stretch;width:100%;max-width:none;height:auto;aspect-ratio:4/5;max-height:none;margin:0;border:1px solid var(--line)}
#leadership .leadership-photo img{filter:grayscale(1);object-fit:cover}
#leadership .leadership-photo img[src*="leadership/sg.jpg"]{transform:scale(1.25);transform-origin:50% 58%}
#leadership .leadership-photo img[src*="leadership/dg.jpg"]{transform:scale(1.12);transform-origin:50% 48%}
#leadership .leadership-copy{display:block;padding:0;margin:0;min-width:0;max-width:none}
#leadership .leadership-copy h3{margin:12px 0 26px}
#leadership .letter-text{font-size:17px;line-height:1.85}
@media(max-width:760px){
  #leadership .leadership-letter,#leadership .leadership-letter:nth-child(even){grid-template-columns:1fr;gap:28px;padding:28px}
  #leadership .leadership-photo,#leadership .leadership-letter:nth-child(even) .leadership-photo{grid-column:1;grid-row:1;justify-self:center;width:min(100%,280px)}
  #leadership .leadership-copy,#leadership .leadership-letter:nth-child(even) .leadership-copy{grid-column:1;grid-row:2}
  #leadership .letter-text{font-size:16px;line-height:1.8}
}/* Larger, evenly spaced navigation labels without enlarging the header. */
.nav-links a,.nav-links .nav-button{font-size:15px;line-height:1.35;letter-spacing:.015em;text-align:center}
.nav-links li>a,.nav-links li>button{display:flex;align-items:center;justify-content:center}
@media(min-width:981px){.nav-links{flex:1;max-width:980px;margin-left:clamp(32px,6vw,90px);justify-content:space-between;gap:24px}.nav-links li{flex-shrink:0}}
@media(max-width:1080px) and (min-width:981px){.nav-links{margin-left:30px;gap:18px}.nav-links a,.nav-links .nav-button{font-size:14px}}
@media(max-width:980px){.nav-links a,.nav-links .nav-button{font-size:16px}.nav-links li>a,.nav-links li>button{width:100%}}
/* Conference title and a simple fade for the honeycomb badge. */
.hero-subtitle{font-size:clamp(18px,1.8vw,26px);line-height:1.55;max-width:560px}
.brand-stamp{animation:brand-stamp-fade 4s ease-in-out infinite}
@keyframes brand-stamp-fade{0%,100%{opacity:1}50%{opacity:0}}
@media(prefers-reduced-motion:reduce){.brand-stamp{animation:none}}
/* Give every countdown label enough room, including at 320px. */
@media(max-width:900px){
  .hero-info{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .hero-countdown-card{grid-column:1/-1}
  .hero-info .hero-countdown{max-width:440px;width:100%;gap:8px}
  .hero-countdown>div{padding:12px 4px}
  .hero-countdown span{font-size:11px;letter-spacing:0;white-space:nowrap}
}
@media(max-width:600px){
  .hero-subtitle{font-size:20px;line-height:1.55}
  .hero-periods-card{grid-column:1/-1}
  .hero-countdown strong{font-size:clamp(23px,6vw,32px)}
}

/* Previous conference committee details. */
.archive-committee.archive-committee-details{display:flex;flex-direction:column;gap:0;padding:0;overflow:hidden;border-radius:0}
.archive-committee-image{display:block;background:var(--bg)}
.archive-committee-image img{display:block;width:100%;max-height:420px;object-fit:contain}
.archive-committee-copy{min-width:0;padding:26px;overflow-wrap:anywhere}
.archive-committee-copy h3{margin:0;line-height:1.4}
.archive-committee-copy .archive-agenda p{white-space:pre-wrap}
.archive-committee-copy .archive-chairs{margin-top:24px}
@media(min-width:760px){.archive-committee-details:has(.archive-committee-image){flex-direction:row;align-items:stretch}.archive-committee-image{width:34%;flex-shrink:0}.archive-committee-image img{height:100%;min-height:240px}.archive-committee-copy{flex:1}}
