/* Propli Partners: partner.propli.si. Styles from the design export ("Propli Partners Landing Page"). */

@font-face { font-family: 'Bricolage Grotesque'; font-style: normal; font-weight: 500 800; font-display: swap;
  src: url('/assets/fonts/bricolage-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Bricolage Grotesque'; font-style: normal; font-weight: 500 800; font-display: swap;
  src: url('/assets/fonts/bricolage-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Plus Jakarta Sans'; font-style: normal; font-weight: 400 800; font-display: swap;
  src: url('/assets/fonts/jakarta-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Plus Jakarta Sans'; font-style: normal; font-weight: 400 800; font-display: swap;
  src: url('/assets/fonts/jakarta-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD, U+20B9; }

html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
[hidden]{display:none !important}
body{margin:0;background:#070F1E;color:#FFFFFF;font-family:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif}
[id]{scroll-margin-top:12px}
img{max-width:100%}
a{color:#F5A524}a:hover{color:#FFC94D}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px;box-sizing:border-box}
.gridbg{background-image:linear-gradient(rgba(255,255,255,0.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.045) 1px,transparent 1px);background-size:64px 64px}
.glow-gold{background:radial-gradient(closest-side,rgba(245,165,36,0.38),rgba(245,165,36,0))}
.glow-blue{background:radial-gradient(closest-side,rgba(58,110,220,0.30),rgba(58,110,220,0))}
.phone{border-radius:48px;background:#03060C;padding:10px;border:1px solid #2A3A55;box-shadow:0 40px 90px rgba(0,0,0,0.55),0 0 0 1px rgba(245,165,36,0.10);box-sizing:border-box}
.scr{border-radius:38px;overflow:hidden;display:flex;flex-direction:column}
.isl{height:28px;flex-shrink:0;display:flex;justify-content:center;padding-top:8px;box-sizing:border-box}
.isl i{display:block;width:74px;height:20px;border-radius:12px;background:#000}
.scr img{display:block;width:100%;height:auto}
.float{animation:float 6s ease-in-out infinite}
.float2{animation:float 7s ease-in-out infinite;animation-delay:-3s}
.float3{animation:float 8s ease-in-out infinite;animation-delay:-5s}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.marq{display:flex;width:max-content;animation:marq 38s linear infinite}
@keyframes marq{to{transform:translateX(-50%)}}
.pulse{animation:pulse 2s ease-out infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(12,27,50,0.55)}100%{box-shadow:0 0 0 10px rgba(12,27,50,0)}}
.spin{animation:spin 60s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:999px;font-weight:700;font-size:16px;text-decoration:none;box-sizing:border-box;border:0;font-family:inherit;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}
.btn-gold{background:#F5A524;color:#0C1B32;box-shadow:0 10px 30px rgba(245,165,36,0.35)}
.btn-gold:hover{color:#0C1B32;transform:translateY(-2px);box-shadow:0 16px 40px rgba(245,165,36,0.45)}
.btn-gold:disabled{opacity:0.7;cursor:wait;transform:none}
.btn-ghost{border:1.5px solid #34507A;color:#FFFFFF;background:rgba(12,27,50,0.4)}
.btn-ghost:hover{color:#FFFFFF;border-color:#F5A524}
.btn-navy{background:#0C1B32;color:#FFFFFF}
.btn-navy:hover{color:#FFFFFF;transform:translateY(-2px)}
.btn-light{border:1.5px solid #CBD3E0;color:#12223D;background:transparent}
.btn-light:hover{color:#12223D;border-color:#F5A524}
.navlink{color:#C3CEDD;text-decoration:none;font-size:15px;font-weight:500;padding:12px 4px;min-height:44px;display:inline-flex;align-items:center}
.navlink:hover{color:#FFFFFF}
.textlink{color:#C3CEDD;text-decoration:none;font-size:15px;font-weight:500;padding:12px 4px}
.textlink:hover{color:#FFFFFF}
.lift{transition:transform .2s ease,border-color .2s ease}
.lift:hover{transform:translateY(-4px);border-color:#F5A524}
.step{width:48px;height:48px;border-radius:14px;border:1.5px solid #34507A;background:transparent;color:#FFFFFF;font-size:24px;line-height:1;cursor:pointer;font-family:inherit}
.step:hover{border-color:#F5A524}
.step:disabled{opacity:0.35;cursor:not-allowed;border-color:#34507A}
.rng{width:100%;accent-color:#F5A524;height:28px;cursor:pointer}
.fld{width:100%;box-sizing:border-box;min-height:50px;border-radius:14px;border:1.5px solid #CBD3E0;background:#FFFFFF;padding:0 16px;font-size:16px;font-family:inherit;color:#12223D}
.fld:focus{outline:none;border-color:#F5A524;box-shadow:0 0 0 4px rgba(245,165,36,0.25)}
textarea.fld{padding:14px 16px;min-height:96px;resize:vertical}
.lbl{display:block;font-size:14px;font-weight:700;color:#12223D;margin-bottom:8px}
.chip{min-height:46px;padding:0 16px;border-radius:999px;border:1.5px solid #CBD3E0;background:#FFFFFF;color:#12223D;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer}
.chip:hover{border-color:#F5A524}
.chip[aria-pressed="true"]{border-color:#0C1B32;background:#0C1B32;color:#FFFFFF;font-weight:700}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.route{stroke-dasharray:8 10;animation:dash 1.6s linear infinite}
@keyframes dash{to{stroke-dashoffset:-36}}
.draw{stroke-dasharray:900;stroke-dashoffset:900;animation:draw 5s ease-in-out infinite}
@keyframes draw{0%{stroke-dashoffset:900}55%,80%{stroke-dashoffset:0}100%{stroke-dashoffset:-900}}
.ping{animation:ping 2.4s cubic-bezier(0,0,0.2,1) infinite;transform-box:fill-box;transform-origin:center}
@keyframes ping{0%{transform:scale(0.6);opacity:0.9}100%{transform:scale(2.6);opacity:0}}
.ring{position:absolute;border-radius:50%;border:1.5px solid rgba(245,165,36,0.55);animation:ring 4s cubic-bezier(0,0,0.2,1) infinite;pointer-events:none}
@keyframes ring{0%{transform:scale(0.3);opacity:0.9}100%{transform:scale(1);opacity:0}}
.toast{position:absolute;left:0;top:0;opacity:0;animation:toast 12s ease-in-out infinite}
@keyframes toast{0%{opacity:0;transform:translateY(10px)}3%,22%{opacity:1;transform:translateY(0)}25%,100%{opacity:0;transform:translateY(-10px)}}
.seq{animation:seq 7s ease-in-out infinite}
@keyframes seq{0%,12%{box-shadow:0 0 0 0 rgba(245,165,36,0);border-color:#22385C}5%{box-shadow:0 0 0 6px rgba(245,165,36,0.25),0 0 30px rgba(245,165,36,0.35);border-color:#F5A524}}
.fill{transform-origin:left;animation:fill 4s ease-out infinite}
@keyframes fill{0%{transform:scaleX(0)}40%,100%{transform:scaleX(1)}}
.shine{position:relative;overflow:hidden}
.shine::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,0.45) 50%,transparent 70%);transform:translateX(-120%);animation:shine 4.5s ease-in-out infinite}
@keyframes shine{0%,60%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
.spark{position:absolute;width:6px;height:6px;border-radius:50%;background:#F5A524;opacity:0;animation:spark 6s linear infinite;pointer-events:none}
@keyframes spark{0%{opacity:0;transform:translateY(0) scale(0.6)}15%{opacity:0.9}100%{opacity:0;transform:translateY(-320px) scale(1.2)}}
.bob{animation:float 5s ease-in-out infinite}
@supports (animation-timeline: view()){.reveal{animation:reveal linear both;animation-timeline:view();animation-range:entry 0% cover 28%}}
@keyframes reveal{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}
details summary{list-style:none;cursor:pointer}
details summary::-webkit-details-marker{display:none}
details[open] .chev{transform:rotate(45deg)}
.chev{transition:transform .2s ease}
.hide-sm{display:flex}
@media (max-width:820px){.hide-sm{display:none !important}}
/* Phones: the hero art keeps its look but shrinks to fit. */
@media (max-width:520px){
  .wrap{padding:0 16px}
  .hero-art{min-height:560px !important}
  .hero-art .spin{width:420px !important;height:420px !important}
  .hero-art .disc{width:320px !important;height:320px !important}
  .hero-art .phone{width:250px !important}
  .hero-art .float3{right:-6px !important;top:250px !important}
  .hero-art .float2{left:-6px !important;top:40px !important}
  .hero-art .time-badge{left:4px !important}
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .route,.draw,.ping,.ring,.seq,.fill,.spark,.bob,.reveal,.shine::after,.float,.float2,.float3,.marq,.pulse,.spin{animation:none}
  .draw{stroke-dashoffset:0}
  .toast{animation:none}.toast.t1{opacity:1}
  .btn,.lift{transition:none}
}
