/*
Theme Name: DSI Summit Elementor
Theme URI: https://innovationpath.org/
Author: Innovation Path
Description: WordPress conversion of the DISI Summit static website, prepared for Elementor editing.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
Text Domain: dsi-summit-elementor
*/
/* =============================================
   INNOVATION PATH — MAIN STYLESHEET
   innovationpath.org
   ============================================= */

:root{
    --page:#172b36;
    --surface:#0f1e26;
    --surface-soft:#1a3242;
    --ink:#ffffff;
    --muted:rgba(255,255,255,0.5);
    --line:rgba(255,255,255,0.08);
    --brand:#157664;
    --brand-deep:#172b36;
    --amber:#E8B800;
    --green:#a5b73c;
    --shadow:0 18px 46px rgba(0,0,0,0.2);
    --shadow-strong:0 24px 68px rgba(0,0,0,0.3);
    --radius-xl:32px;
    --radius-lg:20px;
    --radius-md:12px;
    --max:1180px;
}

/* ── RESET ── */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;color:var(--ink);background:var(--page);line-height:1.6}
img{display:block;width:100%;max-width:100%}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit}
:focus-visible{outline:3px solid rgba(21,118,100,.28);outline-offset:3px}
.skip-link{position:absolute;left:1rem;top:-4rem;background:var(--brand);color:#fff;padding:.85rem 1rem;border-radius:999px;z-index:999}
.skip-link:focus{top:1rem}

/* ── SKIP LINK ── */
.skip-link{position:absolute;left:1rem;top:-4rem;background:var(--brand);color:#fff;padding:.85rem 1rem;border-radius:999px;z-index:999}
.skip-link:focus{top:1rem}

/* ── ANNOUNCEMENT BANNER ── */
.banner{background:var(--brand);padding:6px 20px;text-align:center;font-size:clamp(11px,1.5vw,14px);font-weight:500;color:#fff}
.banner span{color:var(--amber)}
.site-header{position:sticky;top:0;z-index:1000;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:rgba(23,43,54,.92);border-bottom:0.5px solid var(--line)}
.nav-inner{width:min(var(--max),92%);margin:0 auto;height:70px;display:flex;align-items:center;justify-content:space-between;gap:1.2rem}

/* ── LOGO ── */
.brand{display:flex;align-items:center;flex-shrink:0}
.brand img{width:250px;height:auto;object-fit:contain;display:block}
/* ── NAV LINKS ── */
.nav-links{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}
.nav-link{font-size:clamp(12px,1.2vw,15px);color:var(--muted);cursor:pointer;transition:color .24s ease}
.nav-link:hover{color:var(--ink)}
.nav-link.active{color:var(--amber);font-weight:500}

/* ── BUTTONS ── */
.btn-primary{display:inline-flex;align-items:center;justify-content:center;padding:.4rem 1rem;border-radius:var(--radius-md);background:var(--amber);color:var(--brand-deep);font-weight:700;font-size:clamp(12px,1.2vw,15px);border:0;cursor:pointer;transition:transform .24s ease,background .24s ease,box-shadow .24s ease}
.btn-primary:hover,.btn-primary:focus{transform:translateY(-2px);background:#e6b400;box-shadow:0 14px 30px rgba(255,200,1,.22)}
.btn-outline{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1.2rem;border-radius:var(--radius-md);background:transparent;color:var(--amber);font-weight:700;font-size:clamp(12px,1.2vw,15px);border:1px solid var(--amber);cursor:pointer;transition:transform .24s ease,background .24s ease,box-shadow .24s ease}
.btn-outline:hover,.btn-outline:focus{transform:translateY(-2px);background:var(--amber);color:var(--brand-deep);box-shadow:0 14px 30px rgba(255,200,1,.22)}

/* ── DROPDOWN ── */
.dropdown-wrap{position:relative}
.dropdown{display:none;position:absolute;top:100%;left:0;background:var(--surface);border:0.5px solid rgba(255,255,255,.1);border-radius:var(--radius-md);padding:8px 0;min-width:180px;z-index:1001;box-shadow:var(--shadow)}
.dropdown a{display:block;font-size:clamp(13px,1.3vw,15px);color:rgba(255,255,255,.6);padding:10px 18px;transition:color .2s,background .2s}
.dropdown a:hover{color:var(--ink);background:rgba(255,255,255,.05)}
.dropdown a.highlight{color:var(--amber);font-weight:500}

/* ── LAYOUT ── */
main{display:block}
.container{width:min(var(--max),96%);margin-inline:auto}
.section{padding:4rem 0}
.divline{border:none;border-top:0.5px solid var(--line);margin:0}

/* ── TYPOGRAPHY ── */
.kicker{margin:0 0 .75rem;color:var(--green);text-transform:uppercase;letter-spacing:.18em;font-size:clamp(11px,1.1vw,13px);font-weight:900}
.section-title{margin:0 0 1rem;font-size:clamp(1.5rem,3vw,2.4rem);line-height:1.1;letter-spacing:-.04em;color:var(--ink)}
.section-intro{color:var(--muted);max-width:64ch;font-size:clamp(15px,1.6vw,18px);line-height:1.75}

/* ── HERO ── */
.hero{background:var(--surface);padding:1rem 0;text-align:center;position:relative;overflow:hidden;}
.hero-content{position:relative;z-index:2;width:min(var(--max),92%);margin-inline:auto;}
.hero-overlay{position:absolute;inset:0;background:rgba(15,30,38,.75);z-index:1}
.hero-kicker{font-size:clamp(10px,1.2vw,13px);color:var(--green);letter-spacing:.14em;text-transform:uppercase;margin-bottom:1rem;margin-top:0}
.hero-title{margin:0 0 1rem;color:#fff;line-height:1.1;letter-spacing:-.04em;font-size:clamp(2.8rem,7vw,5rem)}
.hero-title span{color:var(--amber)}
.hero-copy{font-size:clamp(16px,1.7vw,20px);max-width:800px;color:rgba(255,255,255,.6);line-height:1.8;margin:0 auto 1rem}
.hero-buttons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:1.5rem}

/* ── SECTION BLOCK ── */
.section-block{margin-bottom:4rem}
.section-head{margin-bottom:1.4rem}
.section-head .section-title{max-width:46rem}

/* ── SEC LABELS ── */
.sec-label{font-size:clamp(10px,1.1vw,13px);font-weight:500;color:var(--green);letter-spacing:.12em;text-transform:uppercase;margin-bottom:1.2rem}
.sec-title{font-size:clamp(1.4rem,3vw,2rem);font-weight:500;color:var(--ink);margin-bottom:.5rem}
.sec-body{font-size:clamp(15px,1.6vw,18px);color:var(--muted);line-height:1.75}

/* ── GRIDS ── */
.g2{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.g6{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem}

/* ── MISSION VISION VALUES ── */
.mvv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.mvv-item{padding:0 1.5rem}
.mvv-item:not(:last-child){border-right:0.5px solid rgba(255,255,255,.15)}
.mvv-item:first-child{padding-left:0}
.mvv-item:last-child{padding-right:0}
.mvv-heading{font-size:clamp(16px,1.9vw,20px);font-weight:500;color:var(--ink);margin-bottom:.5rem}
.mvv-text{font-size:clamp(15px,1.6vw,17px);color:var(--muted);line-height:1.7}

/* ── WHO WE ARE ── */
.who-highlights{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.5rem}
.highlight-label{font-size:clamp(15px,1.5vw,17px);font-weight:500;color:var(--green);margin-bottom:.3rem}
.highlight-text{font-size:clamp(15px,1.5vw,17px);color:var(--muted);line-height:1.6}

/* ── SERVICE CARDS ── */
.service-card{background:rgba(255,255,255,.03);border:0.5px solid rgba(255,255,255,.08);border-top:2px solid var(--brand);border-radius:var(--radius-md);padding:1.5rem;display:flex;flex-direction:column;gap:.5rem;transition:transform .28s ease,box-shadow .28s ease}
.service-card:hover{transform:translateY(-4px);box-shadow:0 20px 48px rgba(0,0,0,.3)}
.service-number{font-size:2.5rem;font-weight:900;color:var(--brand);letter-spacing:-.06em;line-height:1;opacity:.35}
.service-title{font-size:clamp(15px,1.5vw,17px);font-weight:500;color:var(--ink);margin:0}
.service-text{font-size:clamp(14px,1.4vw,16px);color:var(--muted);line-height:1.7;margin:0}
.final-cta{margin:0 0 4rem;padding:2.4rem;border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--brand),#0a4a3d);color:#fff;box-shadow:var(--shadow-strong);width:min(var(--max),92%);margin-inline:auto}
.final-cta .sec-label{color:rgba(255,255,255,.6)}
.final-cta .sec-title{color:#fff}
.final-cta .sec-body{color:rgba(255,255,255,.75);max-width:52rem}

/* ── TEAM ── */
.team-card{text-align:center;transition:transform .28s ease}
.team-card:hover{transform:translateY(-3px)}
.team-photo{background:rgba(255,255,255,.05);aspect-ratio:3/4;display:flex;align-items:center;justify-content:center;margin-bottom:.75rem;border-radius:var(--radius-md);overflow:hidden}
.team-photo img{width:100%;height:100%;object-fit:cover;object-position:top}
.team-name{font-size:clamp(13px,1.3vw,16px);font-weight:500;color:var(--ink);margin-bottom:.2rem}
.team-quals{font-size:clamp(11px,1vw,13px);color:var(--ink);margin-bottom:.2rem;font-weight:500}
.team-role{font-size:clamp(12px,1.2vw,14px);color:rgba(255,255,255,.45)}

/* ── CONTACT ── */
.contact-grid{display:grid;grid-template-columns:2fr 1fr;gap:2rem}
.contact-side{padding-left:2rem;border-left:0.5px solid rgba(255,255,255,.1)}
.form-label{font-size:clamp(13px,1.3vw,15px);font-weight:500;color:rgba(255,255,255,.45);display:block;margin-bottom:4px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}
.form-field{margin-bottom:1rem}
input,select,textarea{width:100%;background:rgba(255,255,255,.05);border:0.5px solid rgba(255,255,255,.12);border-radius:var(--radius-md);padding:10px 12px;font-size:clamp(14px,1.4vw,16px);color:var(--ink);outline:none;box-sizing:border-box;transition:border-color .2s,background .2s}
input:focus,select:focus,textarea:focus{border-color:var(--brand);background:rgba(21,118,100,.06)}
input::placeholder,textarea::placeholder{color:rgba(255,255,255,.25)}
select{color:rgba(255,255,255,.5)}
select option{background:var(--surface);color:var(--ink)}
textarea{resize:vertical;min-height:100px}
.contact-detail-label{font-size:clamp(13px,1.3vw,15px);font-weight:500;color:var(--ink);margin:0 0 4px;display:block}
.contact-detail-text{font-size:clamp(13px,1.3vw,15px);color:var(--muted);line-height:1.7;margin-bottom:1rem}
.contact-detail-text a{color:var(--muted)}
.contact-detail-text a.highlight{color:var(--amber)}

/* ── FOOTER ── */
.footer{background:var(--surface);padding:14px 20px;text-align:center;border-top:0.5px solid var(--line)}
.footer-links{font-size:clamp(12px,1.2vw,15px);color:rgba(255,255,255,.35);margin-bottom:6px}
.footer-links a{color:rgba(255,255,255,.35);transition:color .2s}
.footer-links a:hover{color:var(--ink)}
.coming-soon{color:rgba(255,255,255,.15)}
.coming-soon-tag{font-size:10px;color:var(--green)}
.footer-copy{font-size:clamp(11px,1.1vw,13px);color:rgba(255,255,255,.2)}



/* ── RESPONSIVE ── */
@media(max-width:1100px){
    .g3,.mvv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .g6{grid-template-columns:repeat(3,minmax(0,1fr))}
    .contact-grid{grid-template-columns:1fr}
    .contact-side{padding-left:0;border-left:none;border-top:0.5px solid rgba(255,255,255,.1);padding-top:2rem}
    .g2{grid-template-columns:1fr}
}
@media(max-width:820px){
    .nav-links{display:none}
    .nav-inner > div{display:none}
    .mvv-grid{grid-template-columns:1fr}
    .mvv-item{padding:1rem 0;border-right:none;border-bottom:0.5px solid rgba(255,255,255,.1)}
    .mvv-item:last-child{border-bottom:none}
    .g3{grid-template-columns:1fr}
    .g6{grid-template-columns:repeat(2,minmax(0,1fr))}
    .who-highlights{grid-template-columns:1fr}
    .form-row{grid-template-columns:1fr}
}
@media(max-width:560px){
    .hero-title{font-size:clamp(2rem,10vw,3rem)}
    .hero-buttons{flex-direction:column;align-items:center}
    .g6{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Structured Elementor import styles. */
.dsi-nav-section.elementor-section{padding:0}
.dsi-hero-section.elementor-section{min-height:80vh;display:flex;align-items:center;position:relative}
.dsi-hero-section:before{content:"";position:absolute;inset:0;background:rgba(15,30,38,.75);z-index:0}
.dsi-hero-section>.elementor-container{position:relative;z-index:1}
.dsi-kicker .elementor-heading-title,.dsi-label .elementor-heading-title{font-size:clamp(10px,1.1vw,13px);font-weight:500;color:var(--green);letter-spacing:.12em;text-transform:uppercase}
.dsi-hero-title .elementor-heading-title{margin:0;color:#fff;line-height:1.1;font-size:clamp(2rem,5vw,4.5rem);font-weight:900;text-align:center}
.dsi-hero-title span{color:var(--amber)}
.dsi-hero-copy .elementor-widget-container{font-size:clamp(16px,1.7vw,20px);color:rgba(255,255,255,.6);text-align:center}
.dsi-title .elementor-heading-title{font-size:clamp(1.4rem,3vw,2rem);font-weight:500;color:var(--ink)}
.dsi-subtitle .elementor-heading-title{font-size:clamp(14px,1.4vw,16px);font-weight:500;color:var(--ink)}
.dsi-body .elementor-widget-container{font-size:clamp(15px,1.6vw,18px);color:var(--muted);line-height:1.75}
.dsi-body a{color:var(--amber)}
.dsi-panel{background:rgba(21,118,100,0.06);border:0.5px solid rgba(21,118,100,0.15);border-left:3px solid var(--brand);border-right:3px solid var(--amber);border-radius:var(--radius-lg);padding:2rem;margin-bottom:1.5rem}
.dsi-card{background:rgba(255,255,255,0.03);border:0.5px solid var(--line);border-left:2px solid var(--brand);border-radius:var(--radius-lg);padding:1rem;height:100%}
.dsi-card i{font-size:20px;margin-bottom:8px;display:inline-block}
.dsi-card h3{font-size:clamp(13px,1.3vw,16px);font-weight:500;color:var(--ink);margin:.25rem 0}
.dsi-card p,.dsi-price-grid p,.dsi-callout p{font-size:clamp(12px,1.2vw,14px);color:var(--muted);line-height:1.65;margin:.25rem 0 0}
.dsi-org{display:flex;flex-direction:column;gap:.75rem}
.dsi-org a{display:flex;align-items:center;gap:12px;color:var(--ink)}
.dsi-org img{width:80px;height:80px;object-fit:contain;flex:0 0 auto}
.dsi-org small{display:block;color:var(--muted)}
.dsi-price-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:1rem 0 1.5rem}
.dsi-price-grid>div{border:0.5px solid var(--line);border-left:2px solid var(--brand);border-radius:var(--radius-lg);padding:1.25rem}
.dsi-price-grid strong{display:block;color:var(--green);text-transform:uppercase;font-size:12px;letter-spacing:.08em}
.dsi-price-grid b{display:block;color:var(--ink);font-size:clamp(20px,2vw,26px);font-weight:500;margin:.4rem 0}
.dsi-price-grid small{color:var(--amber)}
.dsi-callout{background:rgba(255,255,255,0.03);border:0.5px solid var(--line);border-radius:var(--radius-lg);padding:1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.dsi-callout strong{color:var(--ink)}
.dsi-sponsor-table{border:0.5px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;margin:1rem 0 1.5rem}
.dsi-sponsor-table>div{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;border-top:0.5px solid var(--line)}
.dsi-sponsor-table>div:first-child{border-top:0}
.dsi-sponsor-table span,.dsi-sponsor-table b{padding:.75rem 1rem;color:var(--ink)}
.dsi-sponsor-table b{text-align:center;border-left:0.5px solid var(--line);font-weight:500}
.dsi-sponsor-table .head b{color:var(--amber);background:rgba(255,255,255,.04)}
.dsi-sponsor-table .group{display:block;padding:.5rem 1rem;color:var(--muted);text-transform:uppercase;font-size:11px;letter-spacing:.08em;background:rgba(255,255,255,.02)}
.dsi-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.dsi-form-grid>div{background:#fff;border-radius:var(--radius-lg);overflow:hidden}
.dsi-form-grid h3{color:var(--brand-deep);padding:1rem;margin:0}
.dsi-tight.elementor-section{padding-top:1rem;padding-bottom:1rem}
@media(max-width:1024px){.dsi-price-grid,.dsi-form-grid{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.dsi-price-grid,.dsi-form-grid{grid-template-columns:1fr}.dsi-sponsor-table{min-width:640px}.dsi-sponsor-table-widget{overflow-x:auto}}

/* DISI page-specific styles from the original HTML. */
/* ── DISI-specific styles not in style.css ── */
    .hero{min-height:80vh;}
    .speaker-card{background:rgba(255,255,255,0.04);overflow:hidden;border-radius:var(--radius-md);border:0.5px solid var(--line)}
    .speaker-photo{background:rgba(255,255,255,0.06);aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;position:relative}
    .speaker-badge{position:absolute;bottom:6px;right:6px;font-size:9px;font-weight:500;background:#157664;color:#fff;padding:2px 6px}
    .speaker-badge.green{background:var(--green);color:var(--brand-deep)}
    .programme-row{display:flex;gap:14px;padding:10px 0;border-bottom:0.5px solid rgba(255,255,255,0.06);align-items:flex-start}
    .programme-row:last-child{border-bottom:none}
    .programme-time{font-size:clamp(10px,1vw,12px);color:var(--green);font-weight:500;min-width:60px}
    .sponsor-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:0.5px solid rgba(255,255,255,0.06)}
    .sponsor-row:last-child{border-bottom:none}
    .sponsor-tier{font-size:clamp(10px,1vw,12px);font-weight:500;padding:2px 10px}
    .sponsor-tier.platinum{background:rgba(255,200,1,0.15);color:var(--amber)}
    .sponsor-tier.gold{background:rgba(83,155,92,0.15);color:#539b5c}
    .sponsor-tier.silver{background:rgba(165,183,60,0.12);color:var(--green)}
    .sponsor-logo-grid{display:grid;gap:8px;margin-bottom:16px}
    .sponsor-logo-grid.platinum{grid-template-columns:repeat(3,1fr)}
    .sponsor-logo-grid.gold{grid-template-columns:repeat(4,1fr)}
    .sponsor-logo-grid.silver{grid-template-columns:repeat(5,1fr)}
    .sponsor-logo-box{height:48px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md)}
    .sponsor-logo-box.platinum{background:rgba(255,200,1,0.06);border:0.5px dashed rgba(255,200,1,0.2)}
    .sponsor-logo-box.gold{background:rgba(83,155,92,0.06);border:0.5px dashed rgba(83,155,92,0.2);height:40px}
    .sponsor-logo-box.silver{background:rgba(165,183,60,0.05);border:0.5px dashed rgba(165,183,60,0.15);height:36px}
    .sponsor-logo-box.add{background:rgba(255,255,255,0.02);border:0.5px dashed rgba(255,255,255,0.12)}
    .workshop-block{background:rgba(21,118,100,0.08);padding:20px;border-top:0.5px solid rgba(21,118,100,0.25);border-bottom:0.5px solid rgba(21,118,100,0.25)}
    .g4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
    @media(max-width:820px){
  .g4{grid-template-columns:repeat(2,minmax(0,1fr));}
  div[style*="grid-template-columns:repeat(4,1fr)"],
  div[style*="grid-template-columns:repeat(5,1fr)"],
  div[style*="grid-template-columns:1fr 1fr 1fr"]{
    grid-template-columns:1fr 1fr !important;
  }
  .sponsor-table{overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .sponsor-table > div{min-width:600px;}
}
@media(max-width:560px){
  .g4{grid-template-columns:1fr;}
  div[style*="grid-template-columns:repeat(4,1fr)"],
  div[style*="grid-template-columns:repeat(5,1fr)"],
  div[style*="grid-template-columns:1fr 1fr 1fr"]{
    grid-template-columns:1fr !important;
  }
}
/* WordPress and Elementor canvas adjustments. */
body.dsi-summit-page { margin: 0; }
.dsi-summit-page .entry-content { margin: 0; }
.elementor-widget-html .site-header, .dsi-summit-root .site-header { width: 100%; }
.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } }
