@charset "utf-8";

:root { --focus: #ff0067; --link: #bc004c; }

main > .section { background: rgb(33, 29, 32); color: rgb(247, 242, 245); border-radius: 32px; }

main > .process-section { background: rgb(245, 232, 238); color: rgb(25, 19, 24); }

.process-section .section-lead, .process-section .process-outcome { color: rgb(98, 82, 91); }

.process-section .scattered span { background: rgb(234, 221, 227); border-color: rgb(216, 197, 207); color: rgb(104, 85, 96); }

.flow-lines, .flow-arrow { color: rgb(196, 140, 163); }

.method-core { background: rgb(255, 240, 246); border-color: rgb(217, 169, 189); }

.method-core p, .flow-result p { color: rgb(105, 85, 95); }

.process-object { width: 100px; height: 100px; object-fit: contain; margin: 0px auto 4px; }

.flow-result .process-object { margin-left: 0px; }

.method-core { padding: 14px 18px 22px; }

.flow-result h3 { color: rgb(33, 23, 28); }

.case-story { background: rgb(43, 35, 40); color: white; }

.case-story strong { color: rgb(255, 118, 173); }

.case-object { width: 85px; height: 85px; object-fit: contain; flex: 0 0 auto; }

.case-badge { color: white; }

.gift-strip { background: rgb(231, 203, 215); border-radius: 16px; gap: 18px; padding: 12px 24px; }

.gift-symbol { width: 75px; flex: 0 0 auto; }

.gift-symbol img { width: 75px; height: 75px; object-fit: contain; }

.gift-strip h3 { color: rgb(36, 21, 29); }

.gift-strip .gift-label { color: rgb(99, 71, 83); }

.gift-strip .btn { background: rgb(201, 0, 82); }

.tracker-demo { background: rgb(41, 35, 41); }

.tracker-inset .tracker-demo { color: rgb(255, 255, 255); border-color: rgb(87, 64, 76); }

.tracker-toolbar { border-color: rgb(74, 55, 65); }

.tracker-tabs button { background: rgb(60, 48, 56); color: rgb(212, 192, 203); }

.tracker-tabs button.selected { background: rgb(255, 0, 103); color: white; }

.tracker-columns { color: rgb(199, 180, 192); }

.tracker-row { border-color: rgb(74, 55, 65); }

.row-check { color: rgb(239, 179, 205); }

.row-check::before { background: rgb(255, 118, 173); }

.tracker-bottom { background: rgb(52, 42, 49); color: rgb(214, 199, 207); }

.demo-tag { color: rgb(195, 172, 185); }

.tracker-brand > .icon { color: rgb(255, 118, 173); }

.tracker-status { background: rgb(76, 38, 56); color: rgb(255, 178, 209); }

.tracker-caption p { color: rgb(102, 81, 93); }

.tracker-caption h3 { color: rgb(33, 23, 28); }

.tracker-inset .tracker-demo { box-shadow: none; }

main > .topics { background: rgb(17, 17, 17); border-radius: 0px; }

.topics h2 { color: rgb(255, 255, 255); }

.topic { grid-template-columns: 90px 1fr; gap: 10px 24px; align-items: center; }

.topic-icon { width: 90px; height: 90px; grid-row: 1 / 3; display: block; }

.topic-icon img { width: 90px; height: 90px; object-fit: contain; }

.topic h3 { color: white; }

.topic p { color: rgb(186, 173, 181); }

.topics-grid { gap: 38px 56px; }

#program { background: rgb(33, 29, 32); }

#program h2 { color: white; }

.agenda li { border-color: rgb(87, 69, 79); }

.agenda li:last-child { border-color: rgb(87, 69, 79); }

.agenda summary { color: rgb(245, 238, 242); }

.agenda li.is-active summary { color: rgb(255, 118, 173); }

.agenda summary > .icon, .agenda li::before { color: rgb(255, 118, 173); }

.agenda-detail { color: rgb(199, 183, 193); }

.expand-mark { color: rgb(199, 183, 193); }

.agenda details[open] .expand-mark { color: rgb(255, 118, 173); }

.date-pill { border-color: rgb(108, 83, 95); color: rgb(227, 214, 221); }

.section-top .date-pill { border-color: rgb(108, 83, 95); }

main > .speakers { background: rgb(17, 17, 17); border-radius: 0px; }

.speakers .wrap { display: block; }

.speakers h2 { margin-bottom: 30px; }

.speaker { display: grid; grid-template-columns: 145px minmax(0px, 1fr) 210px; gap: 30px; align-items: center; border-top: 1px solid rgb(83, 56, 68); padding: 30px 0px; }

.speaker:last-child { padding-bottom: 0px; }

.speaker h3 { font-family: Eesti, sans-serif; font-weight: 500; font-size: 35px; letter-spacing: -0.02em; color: white; }

.portrait { width: 140px; height: 160px; border-radius: 18px; background: rgb(53, 32, 43); }

.portrait img { border-radius: 18px; object-fit: cover; }

.missing-portrait { background: rgb(78, 35, 54); color: rgb(255, 189, 216); border: 1px solid rgb(116, 56, 79); }

.missing-portrait span { font-size: 42px; }

.missing-portrait small { display: none; }

.role { color: rgb(205, 185, 196); font-size: 18px; min-height: 0px; margin: 10px 0px; max-width: 520px; }

.speaker-details summary { color: rgb(255, 118, 173); }

.speaker-details ul { color: rgb(200, 183, 192); }

.speaker-stat { border: 1px solid rgb(100, 52, 72); border-radius: 16px; padding: 22px; background: rgb(40, 21, 30); }

.speaker-stat b { display: block; font: 500 35px / 1.2 Eesti, sans-serif; color: rgb(255, 118, 173); }

.speaker-stat span { display: block; font-size: 18px; color: rgb(223, 195, 207); line-height: 1.4; margin-top: 8px; }

.speaker-details { margin-top: 13px; }

main > #materials { background: rgb(240, 0, 98); color: rgb(255, 255, 255); padding: 40px 0px; }

.material-finale { background: none; border-radius: 0px; padding: 0px; grid-template-columns: 1fr 1.15fr; gap: 55px; align-items: center; }

.guide-visual { transform: none; position: relative; margin: 0px; min-height: 340px; display: grid; place-items: center; background: rgb(43, 20, 32); border-radius: 24px; }

.guide-visual img { width: 95%; height: auto; object-fit: contain; }

.material-copy h2 { font: 43px / 1.16 Unbounded, sans-serif; letter-spacing: -0.03em; color: white; }

.material-intro { font-size: 19px; line-height: 1.5; color: rgb(255, 255, 255); margin-top: 20px; max-width: 450px; }

.takeaways { gap: 12px; margin: 24px 0px 30px; }

.takeaways > div { font-size: 19px; color: rgb(255, 255, 255); }

.material-copy .btn { background: rgb(21, 16, 20); color: white; min-height: 58px; }

.material-copy .btn:hover { background: rgb(53, 34, 44); }

.material-copy .icon { color: white; }

main > .about { background: rgb(17, 17, 17); }

.about-grid h2 { font-size: 25px; }

.about p { font-size: 18px; }

.about-grid { gap: 60px; }

.about a { font-size: 18px; }

.about { padding-bottom: 15px !important; }

.tracker-caption h3 { font-size: 29px; }

.hero h1 span { color: rgb(255, 0, 103); }

@media (max-width: 1100px) {
  .topic { grid-template-columns: 75px 1fr; gap: 10px 18px; }
  .topic-icon, .topic-icon img { width: 75px; height: 75px; }
  .speaker { grid-template-columns: 130px minmax(0px, 1fr) 165px; gap: 24px; }
  .portrait { width: 125px; height: 150px; }
  .speaker h3 { font-size: 29px; }
  .speaker-stat { padding: 18px; }
  .speaker-stat span { font-size: 18px; }
  .material-copy h2 { font-size: 35px; }
  .material-finale { gap: 35px; }
  .guide-visual { min-height: 290px; }
}

@media (max-width: 760px) {
  main > .section { border-radius: 24px; }
  main > .topics, main > .speakers { border-radius: 0px; }
  .case-object { width: 60px; height: 60px; }
  .case-story { padding: 20px 17px; gap: 12px; }
  .case-story p { font-size: 18px; }
  .process-object { width: 85px; height: 85px; }
  .flow-result .process-object { margin-left: auto; }
  .gift-strip { padding: 12px 18px; gap: 12px; }
  .gift-symbol, .gift-symbol img { width: 60px; height: 60px; }
  .gift-strip > div { flex: 1 1 0%; }
  .gift-strip h3 { font-size: 20px; }
  .gift-strip .btn { margin-bottom: 7px; }
  .tracker-caption h3 { font-size: 26px; }
  .topics-grid { gap: 30px; }
  .topic { grid-template-columns: 75px 1fr; gap: 7px 15px; }
  .topic h3 { font-size: 21px; }
  .topic p { font-size: 18px; }
  .speaker { grid-template-columns: 95px minmax(0px, 1fr); gap: 18px; padding: 26px 0px; }
  .portrait { width: 95px; height: 115px; }
  .missing-portrait span { font-size: 31px; }
  .speaker h3 { font-size: 25px; line-height: 1.1; }
  .role { font-size: 18px; margin: 10px 0px 0px; }
  .speaker-details summary { font-size: 18px; }
  .speaker-details ul { font-size: 18px; }
  .speaker-stat { grid-column: 2; display: flex; align-items: center; gap: 12px; padding: 12px 14px; margin-top: 0px; }
  .speaker-stat b { font-size: 24px; white-space: nowrap; }
  .speaker-stat span { font-size: 18px; margin: 0px; }
  .speaker .portrait { align-self: start; }
  .material-finale { grid-template-columns: 1fr; gap: 28px; }
  .guide-visual { min-height: 0px; height: 265px; max-width: 330px; width: 100%; margin: auto; }
  .guide-visual img { width: 275px; height: 275px; }
  .material-copy h2 { font-size: 29px; }
  .material-intro { font-size: 18px; margin-top: 16px; }
  .takeaways > div { font-size: 18px; }
  .material-copy .btn { font-size: 18px; width: 100%; max-width: 100%; }
  .about-grid { gap: 20px; }
  .about-grid h2 { font-size: 23px; }
  .about p { font-size: 18px; }
}

@media (max-width: 360px) {
  .speaker { grid-template-columns: 75px minmax(0px, 1fr); gap: 14px; }
  .portrait { width: 75px; height: 95px; }
  .speaker h3 { font-size: 22px; }
  .speaker-stat { grid-column: 1 / -1; }
  .topic { grid-template-columns: 60px 1fr; gap: 8px 13px; }
  .topic-icon, .topic-icon img { width: 60px; height: 60px; }
  .topic h3 { font-size: 20px; }
  .case-story { align-items: start; }
  .case-object { width: 47px; height: 47px; }
  .case-story p { font-size: 18px; }
  .guide-visual { height: 240px; }
  .guide-visual img { width: 250px; height: 250px; }
}

.guide-visual { height: 380px; min-height: 0px; }

.guide-visual img { width: 100%; height: 100%; max-height: 380px; object-fit: contain; }

@media (max-width: 760px) {
  .guide-visual { height: 265px; }
  .guide-visual img { max-height: 265px; }
}