/* ============================================================================
   SMARTnership Negotiation — marketing site
   Ported from the design handoff (smartnership-site.dc.html). Fonts are loaded
   from Google Fonts in the page <head> so the literal family names below
   ('Bebas Neue', 'Red Hat Display', 'Montserrat') resolve directly.
   ============================================================================ */

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:#fff;}
::selection{background:#fd7702;color:#161630;}
input::placeholder,textarea::placeholder{color:#9a9893;}
img{max-width:100%;}

@keyframes sn-marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* The Shift — 2026 dossier */
.sn-now-rows{border-bottom:1px solid rgba(255,255,255,.13);margin-top:8px;}
.sn-now-row{position:relative;display:grid;grid-template-columns:clamp(86px,11vw,150px) minmax(210px,1fr) 1.2fr;gap:42px;align-items:start;padding:40px 6px;border-top:1px solid rgba(255,255,255,.13);transition:background .2s ease;}
.sn-now-row:hover{background:rgba(255,255,255,.025);}
.sn-now-tick{position:absolute;top:-1px;left:0;height:2px;width:0;background:#fd7702;transition:width .5s cubic-bezier(.2,.6,.2,1);}
.sn-now-row:hover .sn-now-tick{width:100%;}
.sn-now-fig{font-family:'Bebas Neue';font-size:clamp(60px,7.5vw,116px);line-height:.76;color:transparent;-webkit-text-stroke:1.4px rgba(255,255,255,.26);transition:-webkit-text-stroke-color .25s ease;}
.sn-now-row:hover .sn-now-fig{-webkit-text-stroke-color:#fd7702;}
.sn-now-dek{font-family:'Montserrat';font-weight:700;font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:#fd7702;margin:7px 0 12px;}
.sn-now-title{font-family:'Bebas Neue';font-weight:400;font-size:clamp(26px,2.5vw,35px);line-height:.98;color:#fff;margin:0;}
.sn-now-body{font-size:15px;line-height:1.62;color:#a9a9bd;margin:0;padding-top:6px;}
@media (max-width:860px){.sn-now-row{grid-template-columns:auto 1fr;gap:18px 26px;padding:30px 4px;}.sn-now-body{grid-column:1/-1;}.sn-now-fig{font-size:64px;}}

.sn-anniv{position:absolute;top:116px;right:clamp(20px,4vw,52px);width:clamp(118px,13vw,178px);z-index:3;filter:drop-shadow(0 12px 30px rgba(0,0,0,.45));}
@media(max-width:980px){.sn-anniv{display:none;}}

@keyframes snBlink{0%,100%{opacity:1;}50%{opacity:.2;}}
@keyframes snGlow{0%,100%{box-shadow:0 0 0 3px rgba(95,207,142,.32);}50%{box-shadow:0 0 0 7px rgba(95,207,142,0);}}

/* Value calculator */
.nc-vlc{background:#f2efeb;padding:96px 32px;color:#161630;}
.nc-vlc__wrap{max-width:880px;margin:0 auto;}
.nc-vlc__eyebrow{font-family:'Montserrat';font-weight:700;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#fd7702;margin:0 0 16px;}
.nc-vlc__title{font-family:'Bebas Neue';font-weight:400;font-size:clamp(40px,5.5vw,80px);letter-spacing:.01em;line-height:.9;margin:0 0 14px;color:#161630;}
.nc-vlc__title em{font-style:normal;color:#fd7702;}
.nc-vlc__lede{font-size:16.5px;color:#161630;line-height:1.55;max-width:560px;margin:0 0 36px;}
.nc-vlc__controls{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin-bottom:34px;}
.nc-vlc__row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px;}
.nc-vlc__row label{font-size:16px;color:#161630;font-weight:500;}
.nc-vlc__row span{font-family:'Red Hat Display';font-size:20px;font-weight:700;color:#161630;}
.nc-vlc input[type=range]{width:100%;accent-color:#fd7702;cursor:pointer;}
.nc-vlc__cards{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:22px;}
.nc-vlc__card{background:#fffdf9;border:1px solid #e6e4df;border-radius:14px;padding:30px 32px;}
.nc-vlc__card--dark{background:#161630;border-color:#161630;}
.nc-vlc__klabel{font-family:'Montserrat';font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#80868e;margin-bottom:14px;}
.nc-vlc__card--dark .nc-vlc__klabel{color:#9a9aa8;}
.nc-vlc__big{font-family:'Bebas Neue';font-size:clamp(46px,7vw,84px);line-height:.9;letter-spacing:.005em;color:#161630;}
.nc-vlc__card--dark .nc-vlc__big{color:#fd7702;}
.nc-vlc__sub{font-size:13.5px;color:#9a9aa8;margin-top:12px;}
.nc-vlc__cta{background:#fbeede;border-radius:12px;padding:20px 26px;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;}
.nc-vlc__cta p{font-size:16px;color:#161630;line-height:1.5;margin:0;}
.nc-vlc__cta b{color:#fd7702;}
.nc-vlc__btn{font-family:'Montserrat';font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase;background:#fd7702;color:#161630;border:none;border-radius:4px;padding:14px 24px;cursor:pointer;white-space:nowrap;text-decoration:none;display:inline-block;transition:background .15s ease;}
.nc-vlc__btn:hover{background:#e36a00;}
.nc-vlc__fine{font-size:12.5px;color:#9a958a;margin-top:16px;line-height:1.45;max-width:620px;}
@media(max-width:720px){.nc-vlc__controls,.nc-vlc__cards{grid-template-columns:1fr;}}

/* Ask Keld card */
.ak-card{background:#1d1d38;border:1px solid #2c2c47;border-radius:16px;padding:24px;}
.ak-log{display:flex;flex-direction:column;gap:14px;min-height:170px;max-height:430px;overflow-y:auto;margin-bottom:16px;}
.ak-msg{max-width:88%;font-size:14.5px;line-height:1.56;padding:13px 16px;border-radius:14px;}
.ak-user{align-self:flex-end;background:#fd7702;color:#161630;border-bottom-right-radius:4px;font-weight:500;}
.ak-keld{align-self:flex-start;background:#161630;border:1px solid #2c2c47;color:#e7e7ef;border-bottom-left-radius:4px;}
.ak-keld b{color:#fd7702;font-weight:700;}
.ak-name{font-family:'Red Hat Display';font-weight:700;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:#fd7702;margin-bottom:5px;display:block;}
.ak-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px;}
.ak-chip{font-size:12.5px;color:#cfcedd;background:rgba(255,255,255,.06);border:1px solid #2c2c47;border-radius:999px;padding:8px 14px;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease;font-family:'Montserrat';}
.ak-chip:hover{background:rgba(253,119,2,.16);border-color:#fd7702;color:#fff;}
.ak-form{display:flex;gap:10px;}
.ak-input{flex:1;min-width:0;font-family:'Montserrat';font-size:14.5px;color:#fff;background:#161630;border:1px solid #2c2c47;border-radius:8px;padding:13px 15px;outline:none;}
.ak-input:focus{border-color:#fd7702;}
.ak-input::placeholder{color:#80808f;}
.ak-btn{font-family:'Montserrat';font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;background:#fd7702;color:#161630;border:none;border-radius:8px;padding:0 22px;cursor:pointer;white-space:nowrap;}
.ak-btn:disabled{opacity:.5;cursor:default;}

/* Floating support widget */
.nsw-fab{position:fixed;right:22px;bottom:22px;width:60px;height:60px;border-radius:50%;background:#fd7702;border:none;cursor:pointer;box-shadow:0 10px 30px rgba(253,119,2,.45);display:flex;align-items:center;justify-content:center;z-index:9000;transition:transform .15s ease;}
.nsw-fab:hover{transform:scale(1.06);}
.nsw-panel{position:fixed;right:22px;bottom:94px;width:368px;max-width:calc(100vw - 44px);height:540px;max-height:calc(100vh - 130px);background:#13132a;border:1px solid #2c2c47;border-radius:16px;box-shadow:0 24px 60px rgba(0,0,0,.55);z-index:9000;display:none;flex-direction:column;overflow:hidden;}
.nsw-panel.nsw-open{display:flex;}
.nsw-head{padding:15px 18px;background:#161630;border-bottom:1px solid #2c2c47;display:flex;align-items:flex-start;justify-content:space-between;}
.nsw-head h4{margin:0;font-family:'Red Hat Display';font-weight:700;font-size:15px;color:#fff;}
.nsw-sub{font-size:11px;color:#5fcf8e;display:flex;align-items:center;gap:6px;margin-top:4px;}
.nsw-dot{width:7px;height:7px;border-radius:50%;background:#5fcf8e;animation:snGlow 1.5s ease-in-out infinite;}
.nsw-x{background:none;border:none;color:#9a9aa8;cursor:pointer;font-size:22px;line-height:1;padding:0 2px;}
.nsw-modes{display:flex;gap:8px;padding:12px 14px;border-bottom:1px solid #2c2c47;}
.nsw-mode{flex:1;font-family:'Montserrat';font-weight:600;font-size:12.5px;color:#cfcedd;background:rgba(255,255,255,.05);border:1px solid #2c2c47;border-radius:8px;padding:9px;cursor:pointer;transition:background .15s,color .15s,border-color .15s;}
.nsw-mode.on{background:#fd7702;color:#161630;border-color:#fd7702;}
.nsw-log{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;}
.nsw-msg{max-width:90%;font-size:13.5px;line-height:1.5;padding:11px 14px;border-radius:13px;}
.nsw-u{align-self:flex-end;background:#fd7702;color:#161630;border-bottom-right-radius:3px;font-weight:500;}
.nsw-k{align-self:flex-start;background:#161630;border:1px solid #2c2c47;color:#e7e7ef;border-bottom-left-radius:3px;}
.nsw-k b{color:#fd7702;font-weight:700;}
.nsw-k a{color:#fd7702;}
.nsw-foot{padding:12px;border-top:1px solid #2c2c47;display:flex;gap:8px;}
.nsw-in{flex:1;min-width:0;font-family:'Montserrat';font-size:13.5px;color:#fff;background:#161630;border:1px solid #2c2c47;border-radius:8px;padding:11px 13px;outline:none;}
.nsw-in:focus{border-color:#fd7702;}
.nsw-in::placeholder{color:#80808f;}
.nsw-send{background:#fd7702;border:none;border-radius:8px;color:#161630;font-weight:700;font-size:16px;padding:0 16px;cursor:pointer;}

/* ============================================================================
   Hover + interaction classes (replace the preview runtime's style-hover attr)
   ============================================================================ */
.btn-orange{transition:background .15s ease;}
.btn-orange:hover{background:#e36a00 !important;}
.btn-outline{transition:background .15s ease,color .15s ease;}
.btn-outline:hover{background:#fff !important;color:#161630 !important;}
.btn-navy{transition:background .15s ease;}
.btn-navy:hover{background:#000 !important;}
.btn-white-invert{transition:background .15s ease,color .15s ease;}
.btn-white-invert:hover{background:#fd7702 !important;}

.nav-link{transition:border-color .15s ease;}
.nav-link:hover{border-bottom-color:#fd7702 !important;}

.card-lift{transition:box-shadow .18s ease;}
.card-lift:hover{box-shadow:0 6px 18px rgba(22,22,48,.1) !important;}

.partner-link{transition:color .15s ease;}
.partner-link:hover{color:#fd7702 !important;}

.soc{transition:background .15s ease,color .15s ease;}
.soc:hover{background:#161630 !important;color:#fff !important;}

.foot-link{transition:color .15s ease;}
.foot-link:hover{color:#161630 !important;}

.marquee-track{animation:sn-marquee 64s linear infinite;}
.marquee:hover .marquee-track{animation-play-state:paused;}

/* FAQ native accordion marker */
details summary::-webkit-details-marker{display:none;}
details summary{position:relative;padding-right:28px;}
details summary::after{content:'+';position:absolute;right:2px;top:50%;transform:translateY(-50%);font-family:'Red Hat Display';font-weight:700;color:#fd7702;font-size:22px;line-height:1;}
details[open] summary::after{content:'\2212';}

/* Form feedback */
.form-status{font-size:13px;margin-top:4px;min-height:18px;}
.form-status.ok{color:#161630;}
.form-status.err{color:#7a1f00;}

@media(max-width:980px){
  .nav-desktop{display:none !important;}
  .grid-2{grid-template-columns:1fr !important;}
}
@media(max-width:760px){
  .grid-3{grid-template-columns:1fr !important;}
  .grid-4{grid-template-columns:1fr 1fr !important;}
  .founder-grid{grid-template-columns:1fr !important;}
  .support-grid{grid-template-columns:1fr 1fr !important;}
  .honors-row{flex-wrap:wrap !important;}
}
@media(max-width:520px){
  .grid-4{grid-template-columns:1fr !important;}
  .support-grid{grid-template-columns:1fr !important;}
}


/* Responsive video boxes: fix percentage-padding aspect bug (real 16:9) */
[style*="56.25%"]{aspect-ratio:16/9 !important;padding-top:0 !important;height:auto !important;}

/* Deep-link offset so service/method card anchors clear the sticky header */
[id^="service-"],[id^="method-"]{scroll-margin-top:84px;}
