/*
 * DESKTOP DESIGN ALIGNMENT
 * Desktop source: assets/preview/desktop/1.png ... 9.png (5097 x 2838).
 * The nine assets/images/bg-desktop*.png files are the exact, text-free artwork
 * used to produce those previews. The original mobile implementation is kept.
 */
@font-face{font-family:'Panin Helvetica';src:url('../assets/font/HelveticaNeueRoman.otf') format('opentype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'Panin Helvetica';src:url('../assets/font/HelveticaNeueMedium.otf') format('opentype');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:'Panin Helvetica';src:url('../assets/font/HelveticaNeueBold.otf') format('opentype');font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:'Panin Helvetica';src:url('../assets/font/HelveticaNeueHeavy.otf') format('opentype');font-style:normal;font-weight:800;font-display:swap}
@font-face{font-family:'Panin Helvetica';src:url('../assets/font/HelveticaNeueBlack.otf') format('opentype');font-style:normal;font-weight:900;font-display:swap}
@font-face{font-family:'Panin Canela';src:url('../assets/font/Canela-Regular-Trial.otf') format('opentype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'Panin Canela';src:url('../assets/font/Canela-Bold-Trial.otf') format('opentype');font-style:normal;font-weight:700;font-display:swap}

/* Keep visual identity consistent on smaller screens. */
.outlook-infinity img{display:block;width:100%;height:100%;object-fit:contain}
.detail-icon img{display:block;width:100%;height:auto;object-fit:contain}
.contact-icon img{display:block;width:100%;height:100%;object-fit:contain}

@media (min-width:768px){
  :root{--page-max:1440px;--page-padding:clamp(55px,9.7222vw,140px);--body-font:'Panin Helvetica',Arial,sans-serif;--display-font:'Panin Canela',Georgia,serif}
  html{scroll-padding-top:0}
  body{font-family:var(--body-font);font-weight:400}
  .site-header{top:18px}
  .nav-shell{width:83.1%;max-width:1198px;min-height:69px;border-radius:38px;background:linear-gradient(180deg,rgba(234,239,240,.89) 0%,rgba(211,222,224,.88) 100%);box-shadow:0 4px 7px rgba(0,60,72,.4),inset 0 2px 3px rgba(255,255,255,.9)}
  .brand{flex:0 0 28%;padding-left:44px;padding-right:8px}
  .brand-wordmark{font-family:'Panin Helvetica',Arial,sans-serif;font-size:20px;letter-spacing:-.8px;line-height:1;white-space:nowrap}
  .brand-tagline{font-size:11px;margin-top:3px;font-style:italic}
  .navigation{height:68px;padding-right:10px;justify-content:space-between}
  .nav-link{font:400 18px/1 'Panin Helvetica',Arial,sans-serif;padding:0 11px}
  .nav-link.is-active{font-weight:700;background:linear-gradient(180deg,#32c3d1,#0999ac 81%,#6bdbe2);box-shadow:0 5px 7px rgba(0,97,114,.38),inset 0 -2px 1px rgba(215,255,255,.9)}

  .page-section{min-height:100svh;padding:154px 0 70px;background-repeat:no-repeat;background-size:cover;background-position:center center}
  .section-container{max-width:var(--page-max);margin-inline:auto;padding-inline:var(--page-padding)}
  .section-heading{font:700 46px/1.18 'Panin Canela',Georgia,serif;letter-spacing:-.7px;margin:0 0 58px}
  .section-home{background-image:url('../assets/images/bg-desktop.png');padding:0;display:block;color:#255c68}
  .section-about{background-image:url('../assets/images/bg-desktop2.png')}
  .section-speakers{background-image:url('../assets/images/bg-desktop3.png')}
  .section-profile{background-image:url('../assets/images/bg-desktop4.png')}
  .section-schedule{background-image:url('../assets/images/bg-desktop5.png')}
  .section-venue{background-image:url('../assets/images/bg-desktop6.png')}
  .section-gallery{background-image:url('../assets/images/bg-desktop7.png')}
  .section-qa{background-image:url('../assets/images/bg-desktop8.png')}
  .section-contact{background-image:url('../assets/images/bg-desktop9.png')}

  /* 1: welcome screen */
  .hero-content{position:absolute;top:30.7%;left:50%;transform:translateX(-50%);padding:0;width:max-content;max-width:96%;text-align:center}
  .hero-eyebrow{font:700 40px/1.15 'Panin Canela',Georgia,serif;color:#555355;margin:0}
  .hero-title{margin:9px 0 0;display:flex;flex-direction:column;align-items:center;line-height:1;white-space:nowrap;letter-spacing:0}
  .hero-market{font:900 96px/.96 'Panin Helvetica',Arial,sans-serif;letter-spacing:-3.6px;color:#ce1f30}
  .hero-outlook{display:flex;align-items:center;justify-content:center;white-space:nowrap;font:900 70px/.98 'Panin Helvetica',Arial,sans-serif;letter-spacing:-2.8px;color:#0798a8}
  .outlook-infinity{display:inline-flex;align-items:center;vertical-align:baseline;flex:0 0 105px;width:105px;height:52px;margin:0 3px 9px 8px;letter-spacing:0;transform:none;line-height:1}
  .outlook-infinity img{width:100%;height:100%;object-fit:contain}
  .hero-year{margin-left:22px;letter-spacing:-2px}
  .hero-rule{width:335px;height:3px;margin:15px auto 29px;background:#ce2b44 url('../assets/images/line.png') center/100% 100% no-repeat}
  .hero-date{font:400 20px/1.6 'Panin Helvetica',Arial,sans-serif;margin:0;color:#215a67}
  .hero-date strong{font-weight:700}

  /* 2: event context and photography */
  .section-about .section-heading{margin-bottom:57px}
  .about-grid{grid-template-columns:55% 35.5%;gap:0;justify-content:space-between;align-items:center}
  .about-copy h3{font:800 42px/1.05 'Panin Helvetica',Arial,sans-serif;letter-spacing:-.45px;margin:0 0 39px}
  .about-copy p{font:400 21px/1.15 'Panin Helvetica',Arial,sans-serif;max-width:635px;margin:0 0 18px}
  .about-copy p:last-child{margin-bottom:0}
  .about-photos{transform:translateX(30px);padding:0}
  .about-photos h3{font:700 21px/1.2 'Panin Helvetica',Arial,sans-serif;margin:0}
  .about-photos p{font-size:17px;margin:3px 0 13px}
  .about-photos img{width:100%;border-radius:5px;filter:drop-shadow(2px 3px 3px rgba(0,65,75,.45))}

  /* 3: speaker cards. Use the supplied original card illustration. */
  .section-speakers .section-heading{margin-bottom:0}
  .speaker-grid{grid-template-columns:repeat(2,355px);gap:129px;justify-content:center;margin-top:68px}
  .speaker-card{height:336px;min-height:0;padding:102px 19px 50px;overflow:visible;border:0;border-radius:27px;background:transparent url('../assets/images/card.png') center/100% 100% no-repeat;box-shadow:none}
  .speaker-card::before,.speaker-glimmer{display:none}
  .speaker-card h3{font:700 31px/1.12 'Panin Helvetica',Arial,sans-serif;margin:0 0 13px;white-space:nowrap}
  .speaker-card p{font:400 17px/1.46 'Panin Helvetica',Arial,sans-serif;margin:0 0 30px}
  .small-button{border-radius:5px;background:#58b8c5;font:400 16px/1 'Panin Helvetica',Arial,sans-serif;padding:14px 15px;box-shadow:1px 3px 5px rgba(0,78,90,.35)}
  .speaker-card .small-button{margin-top:auto}

  /* 4: speaker profile. Card artwork and portraits match the mockup. */
  .section-profile{padding-top:142px}
  .profile-title{font:700 36px/1.22 'Panin Helvetica',Arial,sans-serif;margin:0 0 27px;text-align:center}
  .profile-card{max-width:744px;min-height:497px;padding:27px 52px 25px;border:0;border-radius:46px;background:transparent url('../assets/images/card2.png') center/100% 100% no-repeat;box-shadow:none;font:400 18px/1.52 'Panin Helvetica',Arial,sans-serif}
  .profile-photo{float:left;width:171px;height:171px;margin:4px 12px 10px 0;border-radius:50%;object-fit:cover;background:transparent}
  .profile-card p{font-size:18px;line-height:1.52;text-align:justify;margin:0 0 28px}
  .profile-card p:nth-of-type(2){clear:both;margin-top:19px;margin-bottom:19px}
  .profile-card .back-link{font-size:14px;margin:0 auto;padding:13px 15px}

  /* 5: event schedule */
  .section-schedule .section-heading{margin-bottom:60px}
  .schedule-intro{margin-bottom:44px;gap:4px}
  .schedule-intro strong{font:700 27px/1.05 'Panin Helvetica',Arial,sans-serif}
  .schedule-intro span{font-size:15px}
  .timeline{width:1090px;max-width:100%;grid-template-columns:20.9% 22.6% 36.6% 19.9% 1fr}
  .timeline::before{left:9px;right:9%;height:4px;top:0}
  .timeline-item{padding:27px 7px 0 0}
  .timeline-dot{width:18px;height:18px;left:0;top:-7px}
  .timeline-content{font:400 17px/1.35 'Panin Helvetica',Arial,sans-serif}
  .timeline-content strong{font-weight:700}
  .schedule-speakers{justify-content:flex-start;gap:58px;margin-top:33px;padding:0 0 5px 26px;min-height:225px;border-left:1px dashed rgba(255,255,255,.45);border-right:1px dashed rgba(255,255,255,.45)}
  .schedule-person{font-size:16px;line-height:1.1}
  .schedule-person img{width:116px;height:116px;margin:0 0 9px;object-fit:cover;background:transparent}
  .schedule-person strong{font-weight:700;font-size:16px}

  /* 6: venue */
  .section-venue .section-heading{margin-bottom:37px;color:#16596d}
  .venue-grid{grid-template-columns:345px minmax(0,760px);gap:0;align-items:start}
  .venue-details h3{font:700 25px/1.15 'Panin Helvetica',Arial,sans-serif;margin:0}
  .venue-details .caps{font:400 14px/1.2 'Panin Helvetica',Arial,sans-serif;margin:2px 0 37px}
  .venue-detail-row{gap:36px;margin-bottom:17px;font:700 24px/1.08 'Panin Helvetica',Arial,sans-serif}
  .detail-icon{flex:0 0 48px;width:48px;height:50px}
  .detail-icon img{width:47px;height:48px;object-fit:contain}
  .map-panel img{aspect-ratio:2.11;object-fit:cover;border-radius:6px;box-shadow:2px 5px 9px rgba(0,65,78,.4)}
  .map-panel .map-button{margin-top:26px;padding:14px 16px}

  /* 7: image gallery */
  .section-gallery .section-heading{margin-bottom:68px}
  .gallery-layout{grid-template-columns:550px minmax(0,535px);gap:88px;align-items:start}
  .gallery-thumbnails{grid-template-columns:repeat(3,142px);gap:29px 24px;padding:0 68px 0 4px;border-right:2px dashed rgba(255,255,255,.48)}
  .gallery-thumb{width:142px;height:142px;aspect-ratio:1;border-radius:6px;border:0}
  .gallery-thumb.is-selected{border:2px solid rgba(225,255,255,.35)}
  .gallery-preview img{height:457px;width:100%;object-fit:cover;object-position:center;border-radius:14px;box-shadow:4px 6px 9px rgba(0,37,52,.5)}

  /* 8: Q&A */
  .section-qa .section-container{--page-padding:clamp(50px,8.5vw,122px)}
  .section-qa .section-heading{margin-bottom:64px}
  .qa-subtitle{font:700 26px/1.2 'Panin Helvetica',Arial,sans-serif;margin:0 0 35px}
  .question-form{grid-template-columns:436px 435px;gap:54px}
  .question-form label{font-size:18px;margin:0 0 6px}
  .question-form input,.question-form select,.question-form textarea{font-size:18px;padding:10px 20px;border-radius:3px;background-color:rgba(168,199,206,.6)}
  .question-form input{height:44px;margin-bottom:32px}
  .question-form select{height:47px}
  .question-form textarea{height:151px;min-height:120px}
  .form-submit{margin-top:27px;min-height:47px;padding:12px;font-size:16px}
  .form-note{font:400 13px/1.06 'Panin Helvetica',Arial,sans-serif;margin-top:19px;gap:8px}

  /* 9: contact / map */
  .section-contact .section-heading{margin-bottom:39px}
  .contact-grid{grid-template-columns:620px 560px;gap:0;align-items:start}
  .contact-details h3{font:700 23px/1.2 'Panin Helvetica',Arial,sans-serif;margin:0 0 14px}
  .contact-details address{font:400 20px/1.62 'Panin Helvetica',Arial,sans-serif}
  .contact-links{margin-top:26px;grid-template-columns:275px 355px;gap:19px 3px}
  .contact-links a{font:700 16px/1.2 'Panin Helvetica',Arial,sans-serif;gap:7px}
  .contact-icon{border:0;flex:0 0 42px;width:42px;height:42px;display:block}
  .contact-icon img{display:block;width:100%;height:100%;object-fit:contain}
  .contact-map img{aspect-ratio:1.88;border-radius:14px}
  .contact-map .map-button{margin-top:25px}
}

/* Keep desktop proportions without horizontal overflow on small laptops/tablets. */
@media (min-width:768px) and (max-width:1350px){
  .brand{padding-left:25px;flex-basis:27%}
  .brand-wordmark{font-size:clamp(14px,1.4vw,19px)}
  .nav-link{font-size:clamp(11px,1.25vw,17px);padding-inline:6px}
  .page-section{padding-top:clamp(125px,12vw,154px)}
  .section-heading{font-size:clamp(35px,3.2vw,45px)}
  .about-grid{grid-template-columns:minmax(0,56%) minmax(0,37%)}
  .about-copy h3{font-size:clamp(27px,3vw,40px)}
  .about-copy p{font-size:clamp(15px,1.52vw,21px)}
  .about-photos h3{font-size:clamp(15px,1.6vw,21px)}
  .about-photos p{font-size:clamp(13px,1.2vw,17px)}
  .about-photos{transform:none}
  .speaker-grid{grid-template-columns:repeat(2,minmax(0,355px));gap:min(8vw,129px)}
  .speaker-card{height:auto;aspect-ratio:1256/1184;min-height:0;padding:27% 5% 13%}
  .speaker-card h3{font-size:clamp(20px,2.3vw,31px)}
  .speaker-card p{font-size:clamp(13px,1.25vw,17px)}
  .profile-card{width:min(744px,100%)}
  .venue-grid{grid-template-columns:minmax(0,32%) minmax(0,68%)}
  .venue-details h3{font-size:clamp(16px,1.8vw,25px)}
  .venue-detail-row{gap:12px;font-size:clamp(14px,1.8vw,24px)}
  .gallery-layout{grid-template-columns:minmax(0,49%) minmax(0,48%);gap:3%}
  .gallery-thumbnails{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(8px,2vw,29px);padding:0 10% 0 0}
  .gallery-thumb{width:100%;height:auto;aspect-ratio:1}
  .gallery-preview img{height:auto;aspect-ratio:535/457}
  .question-form{grid-template-columns:minmax(0,42%) minmax(0,42%);gap:5%}
  .contact-grid{grid-template-columns:minmax(0,53%) minmax(0,47%)}
  .contact-links{grid-template-columns:minmax(0,46%) minmax(0,54%);gap:13px 0}
  .contact-links a{font-size:clamp(10px,1.1vw,16px);white-space:normal}
  .contact-icon{flex-basis:clamp(26px,3vw,42px);width:clamp(26px,3vw,42px);height:clamp(26px,3vw,42px)}
  .contact-details address{font-size:clamp(14px,1.4vw,20px)}
  .hero-market{font-size:clamp(68px,6.7vw,96px)}
  .hero-outlook{font-size:clamp(48px,4.9vw,70px)}
  .hero-eyebrow{font-size:clamp(28px,2.8vw,40px)}
}
@media (min-width:768px) and (max-width:1050px){
  .nav-shell{width:93%;min-height:59px}
  .navigation{height:58px}
  .brand{flex-basis:24%;padding-left:18px}
  .brand-tagline{font-size:9px}
  .nav-link{font-size:11px;padding:0 5px}
  .section-container{--page-padding:6.5vw}
  .section-qa .section-container{--page-padding:6.5vw}
  .profile-card{font-size:15px;line-height:1.4;min-height:0}
  .profile-card p{font-size:15px;line-height:1.4}
  .profile-photo{width:135px;height:135px}
  .timeline-content{font-size:13px}
  .schedule-speakers{gap:10px;padding-left:4px}
  .schedule-person img{width:66px;height:66px}
  .schedule-person,.schedule-person strong{font-size:12px}
  .venue-details .caps{margin-bottom:24px}
  .qa-subtitle{font-size:20px}
  .question-form label,.question-form input,.question-form select,.question-form textarea{font-size:14px}
}
/* Mobile: retain original mobile artwork and behavior, with the new infinity asset. */
@media (max-width:767px){
  .outlook-infinity{display:inline-block;vertical-align:middle;width:.98em;height:.45em;line-height:1;margin:0 -.07em;transform:none}
  .outlook-infinity img{object-fit:contain}
  .detail-icon img{width:100%;height:100%}
  .contact-icon{border:0;background:transparent}
}

/* Final measured desktop refinements against the nine 1440 x 802 previews. */
@media (min-width:1351px){
  .page-section:not(.section-home):not(.section-profile){padding-top:166px}
  .section-about .about-photos{transform:translate(30px,20px)}
  .section-speakers .speaker-grid{margin-top:63px}
  .section-profile{padding-top:146px}
  .profile-title{margin-bottom:19px}
  .profile-card{transform:translateX(-4px)}
  .profile-card p{font-size:19px}
  .timeline{width:1100px;max-width:100%;grid-template-columns:206px 224px 361px 195px minmax(110px,1fr)}
  .timeline::before{left:9px;right:105px}
  .timeline-dot{left:9px}
  .schedule-speakers{margin-left:-34px;width:350px;gap:58px}
  .gallery-layout{grid-template-columns:555px 535px;gap:83px;width:1173px;max-width:none}
  .gallery-preview img{object-fit:cover}
  .section-qa .section-heading{margin-bottom:59px}
  .qa-subtitle{margin-bottom:37px}
  .section-contact .section-heading{margin-bottom:34px}
  .contact-links{margin-top:15px;row-gap:24px}
  .nav-link[data-target="home"].is-active{min-width:107px}
  .nav-link[data-target="about"].is-active{min-width:96px}
  .nav-link[data-target="venue"].is-active{min-width:87px}
  .nav-link[data-target="gallery"].is-active{min-width:85px}
  .nav-link[data-target="qa"].is-active{min-width:85px}
  .nav-link[data-target="contact"].is-active{min-width:127px}
}
@media (min-width:768px){
  .hero-market{font-size:103px;transform:translateX(-52px)}
  .hero-outlook{font-size:74px}
  .hero-rule{margin-top:0}
}
@media (min-width:768px) and (max-width:1350px){
  .speaker-card{padding:clamp(60px,7vw,102px) 4% clamp(26px,3.5vw,50px)}
}

/* Prevent the original mobile title from forcing a wider-than-screen grid. */
@media (max-width:767px){
  .section-home{grid-template-columns:minmax(0,1fr)}
  .hero-content{min-width:0;width:100%;max-width:100%}
  .hero-market{font-size:clamp(55px,17.5vw,74px);letter-spacing:-2.3px}
  .hero-outlook{font-size:clamp(37px,11.6vw,51px);letter-spacing:-1.3px}
  .hero-year{letter-spacing:-1px}
}

/* V2 authentic logo, highlights, and embedded maps. */
.brand-logo{display:block;width:min(100%,214px);height:auto;max-height:48px;object-fit:contain;object-position:left center}
.about-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.about-photo-grid img{display:block;width:100%;height:133px;object-fit:cover;border-radius:5px;filter:drop-shadow(2px 3px 3px rgba(0,65,75,.45))}
.map-embed{position:relative;overflow:hidden;border-radius:8px;aspect-ratio:2.11;background:#c8e6ea;box-shadow:2px 5px 9px rgba(0,65,78,.4)}
.map-embed .map-fallback{display:block;width:100%;height:100%;object-fit:cover;position:absolute;inset:0;border:0;border-radius:0;aspect-ratio:auto;box-shadow:none}
.map-embed iframe{display:block;position:relative;width:100%;height:100%;border:0;background:transparent}
@media (min-width:768px) and (max-width:1350px){
 .brand-logo{width:min(100%,190px)}
 .about-photo-grid img{height:clamp(70px,9.2vw,133px)}
}
@media (min-width:1351px){
 .about-photos{transform:translate(30px,10px)}
 .about-photo-grid{gap:9px}
 .about-photo-grid img{height:132px}
}
@media(min-width:1351px){.section-gallery{padding-bottom:22px}}
