/* Shared styles for the blog and jobs pages of Efora Management. Fonts are served from this folder. */
@font-face{font-family:'Jost';font-style:normal;font-weight:300;font-display:swap;src:url(font-jost-300-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:'Jost';font-style:normal;font-weight:400;font-display:swap;src:url(font-jost-400-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:'Jost';font-style:normal;font-weight:500;font-display:swap;src:url(font-jost-500-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:'DM Mono';font-style:normal;font-weight:400;font-display:swap;src:url(font-dmmono-400-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}
:root{--canvas:#120A12;--panel:#1B111B;--accent:#E50269;--accent-hover:#F21C7E;--text:#F5ECF1;--text-2:#B7A5B3;--silver:#EDE8EE;--line:rgba(245,236,241,.12);--line-strong:rgba(245,236,241,.34);--ease:cubic-bezier(.2,.7,.2,1);--mono:'DM Mono',ui-monospace,Menlo,monospace;--body:'Jost',system-ui,-apple-system,'Segoe UI',sans-serif;--gutter:clamp(16px,5vw,72px)}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--canvas);color:var(--text);font-family:var(--body);font-weight:300;line-height:1.6;-webkit-font-smoothing:antialiased;position:relative}
body::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 90% 60% at 50% 0%,rgba(229,2,105,.12),rgba(229,2,105,0) 60%)}
img{display:block;max-width:100%}
a{color:var(--silver)}
:focus-visible{outline:2px solid var(--accent-hover);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:16px;top:-60px;z-index:100;padding:10px 14px;background:var(--accent);color:#fff;border-radius:8px;text-decoration:none;font-weight:500}
.skip:focus{top:16px}

/* nav */
.nav{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px var(--gutter);border-bottom:1px solid var(--line)}
.brand img{height:34px;width:auto}
.links{display:flex;gap:clamp(14px,2.4vw,34px);margin:0;padding:0;list-style:none}
.links a{font-size:15px;font-weight:400;text-decoration:none;color:var(--silver);opacity:.82;transition:opacity .4s var(--ease)}
.links a:hover,.links a[aria-current]{opacity:1}
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 28px;border-radius:999px;border:0;background:var(--accent);color:#fff;font-family:var(--body);font-weight:500;font-size:15.5px;letter-spacing:.02em;line-height:1;text-decoration:none;cursor:pointer;box-shadow:0 10px 34px -12px rgba(229,2,105,.75);transition:transform .45s var(--ease),background .45s var(--ease),box-shadow .45s var(--ease)}
.btn:hover{background:var(--accent-hover);transform:translateY(-1px)}
.btn.small{min-height:42px;padding:0 20px;font-size:14px}
.btn.wide{width:100%}
.btn.ghost{background:transparent;border:1px solid var(--line-strong);color:var(--silver);box-shadow:none}
.btn.ghost:hover{border-color:var(--accent-hover);background:rgba(242,28,126,.08)}

/* page frame */
main{position:relative;z-index:1}
.wrap{width:min(1180px,100% - 2*var(--gutter));margin:0 auto}
.narrow{width:min(760px,100% - 2*var(--gutter));margin:0 auto}
.head{padding:clamp(56px,8vw,110px) 0 clamp(28px,4vw,48px)}
.kicker{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-hover);text-shadow:0 0 10px rgba(242,28,126,.5);margin:0 0 18px}
h1{font-size:clamp(34px,4.6vw,60px);font-weight:500;line-height:1.06;letter-spacing:-.015em;margin:0;color:var(--silver);text-wrap:balance}
.lede{font-size:clamp(16px,1.3vw,19.5px);color:var(--text-2);max-width:60ch;margin:20px 0 0;text-wrap:pretty}
.meta{display:flex;flex-wrap:wrap;gap:8px 12px;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);margin:0 0 18px}
.meta .cat{color:var(--accent-hover)}

/* article */
.article .body{padding:0 0 clamp(40px,6vw,72px)}
.article .body p,.article .body li{font-size:clamp(16.5px,1.2vw,18.5px);color:var(--text);max-width:68ch}
.article .body p{margin:0 0 18px}
.article .body h2{font-size:clamp(22px,2vw,30px);font-weight:500;line-height:1.2;margin:44px 0 12px;color:var(--silver);letter-spacing:-.01em}
.article .body h3{font-size:clamp(18px,1.4vw,21px);font-weight:500;margin:28px 0 8px;color:var(--silver)}
.article .body ul,.article .body ol{margin:0 0 18px;padding-left:22px}
.article .body li{margin:0 0 8px}
.article .body strong{font-weight:500;color:var(--silver)}
.article .body .note{border-left:2px solid var(--accent-hover);padding:4px 0 4px 18px;color:var(--text-2);margin:24px 0}
.cta-box{position:relative;overflow:hidden;display:grid;grid-template-columns:1.4fr auto;gap:24px clamp(24px,4vw,56px);align-items:center;padding:clamp(26px,3.6vw,40px) clamp(22px,3.6vw,44px);border:1px solid rgba(242,28,126,.4);border-radius:22px;background:linear-gradient(180deg,rgba(27,17,27,.92),rgba(18,10,18,.92));box-shadow:0 0 0 1px rgba(242,28,126,.1),0 30px 80px -40px rgba(229,2,105,.5);margin:0 0 clamp(48px,7vw,80px)}
.cta-box .k{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-hover);margin:0 0 10px}
.cta-box h2{font-size:clamp(22px,2.2vw,32px);font-weight:500;line-height:1.1;margin:0 0 10px;color:var(--silver)}
.cta-box p{margin:0;color:var(--text-2);max-width:52ch}
.more{padding:0 0 clamp(56px,8vw,96px)}
.more h2{font-size:clamp(20px,1.6vw,24px);font-weight:500;margin:0 0 16px;color:var(--silver)}
.more ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.more li{border-bottom:1px solid var(--line)}
.more a{display:flex;justify-content:space-between;gap:16px;padding:16px 0;text-decoration:none;color:var(--silver);font-weight:400}
.more a span{font-family:var(--mono);font-size:12px;color:var(--text-2);flex:none}
.more a:hover{color:var(--accent-hover)}

/* blog list */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:0 0 clamp(64px,9vw,120px)}
.post{display:flex;flex-direction:column;gap:12px;padding:26px 24px 28px;border:1px solid var(--line);border-radius:18px;background:rgba(27,17,27,.6);text-decoration:none;color:inherit;transition:border-color .5s var(--ease),transform .5s var(--ease)}
.post:hover{border-color:rgba(242,28,126,.45);transform:translateY(-3px)}
.post .pm{font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-hover)}
.post h2{font-size:clamp(18px,1.4vw,22px);font-weight:500;line-height:1.3;margin:0;color:var(--silver)}
.post p{margin:0;color:var(--text-2);font-size:15px}
.post .rd{margin-top:auto;font-family:var(--mono);font-size:12px;color:var(--text-2)}

/* jobs */
.jobs{display:flex;flex-direction:column;gap:14px;padding:clamp(24px,4vw,48px) 0}
.job{border:1px solid var(--line);border-radius:18px;background:rgba(27,17,27,.6);transition:border-color .5s var(--ease)}
.job[open]{border-color:rgba(242,28,126,.4)}
.job summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr auto;gap:12px 20px;align-items:center;padding:22px 26px}
.job summary::-webkit-details-marker{display:none}
.job summary h2{font-size:clamp(20px,1.7vw,25px);font-weight:500;margin:0;color:var(--silver)}
.job summary .tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.job summary .tags span{font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-2);padding:6px 10px;border:1px solid var(--line);border-radius:10px}
.job summary .pm{flex:none;width:26px;height:26px;border-radius:50%;border:1px solid var(--line-strong);position:relative;transition:transform .5s var(--ease),border-color .5s var(--ease)}
.job summary .pm::before,.job summary .pm::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1px;background:var(--silver);transform:translate(-50%,-50%)}
.job summary .pm::after{transform:translate(-50%,-50%) rotate(90deg)}
.job[open] summary .pm{transform:rotate(45deg);border-color:var(--accent-hover)}
.job .jb{padding:0 26px 28px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.job .jb h3{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-hover);font-weight:400;margin:0 0 10px}
.job .jb ul{margin:0;padding-left:18px;color:var(--text);font-size:15.5px}
.job .jb li{margin:0 0 6px}
.job .jb p{margin:0;color:var(--text);font-size:15.5px}
.job .apply-row{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:14px;align-items:center;padding-top:6px}
.job .apply-row .hint{font-family:var(--mono);font-size:12px;color:var(--text-2)}

/* form */
.formsec{padding:0 0 clamp(64px,9vw,120px)}
.form-grid{display:grid;grid-template-columns:5fr 7fr;gap:40px clamp(32px,6vw,96px);align-items:start}
.form-grid h2{font-size:clamp(28px,3.2vw,44px);font-weight:500;line-height:1.08;margin:0;color:var(--silver);letter-spacing:-.012em}
.after{list-style:none;margin:28px 0 0;padding:0;display:flex;flex-direction:column;gap:14px}
.after li{display:flex;gap:14px;align-items:baseline;color:var(--text);font-size:15.5px}
.after li::before{content:"";flex:none;width:10px;height:10px;border-radius:50%;border:1.5px solid var(--accent-hover);position:relative;top:1px}
.card{margin:0;background:rgba(27,17,27,.8);border:1px solid var(--line);border-radius:22px;padding:clamp(24px,3.6vw,44px)}
.field{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}
.field label{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-2)}
.field input,.field textarea,.field select{width:100%;background:rgba(18,10,18,.65);border:1px solid var(--line-strong);border-radius:12px;color:var(--text);font-family:var(--body);font-size:16px;font-weight:300;padding:13px 14px;transition:border-color .4s var(--ease),box-shadow .4s var(--ease);appearance:none;-webkit-appearance:none}
.field select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M6 9l6 6 6-6' fill='none' stroke='%23B7A5B3' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right 14px center;background-size:16px;padding-right:40px}
.field select option{background:#1B111B;color:#F5ECF1}
.field textarea{min-height:130px;resize:vertical}
.field input::placeholder,.field textarea::placeholder{color:rgba(183,165,179,.55)}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--accent-hover);box-shadow:0 0 0 3px rgba(229,2,105,.18)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.check{display:flex;align-items:flex-start;gap:12px;margin:4px 0 22px;font-size:14px;line-height:1.5;color:var(--text-2);cursor:pointer}
.check a{color:var(--silver)}
.check input{appearance:none;-webkit-appearance:none;flex:none;width:22px;height:22px;margin:2px 0 0;border-radius:7px;border:1px solid var(--line-strong);background:rgba(18,10,18,.65) center/14px no-repeat;cursor:pointer;transition:background-color .35s var(--ease),border-color .35s var(--ease)}
.check input:checked{background-color:var(--accent);border-color:var(--accent);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'><path d='M2.5 7.5l3 3 6-7' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>")}
.form-state{display:none;padding:22px 0 0;font-size:17px;color:var(--text);text-align:center}
.form-state.show{display:block}
form.busy .btn{opacity:.6;pointer-events:none}
.sent form .fields{display:none}

/* footer */
footer{position:relative;z-index:1;border-top:1px solid var(--line);padding:36px var(--gutter) 28px;color:var(--text-2);font-size:14px}
footer .row{width:min(1180px,100%);margin:0 auto;display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:12px}
footer a{color:var(--text-2);text-decoration:none}
footer a:hover{color:var(--silver)}
footer .fl{display:flex;flex-wrap:wrap;gap:8px 22px}

@media (max-width:1000px){
  .posts{grid-template-columns:1fr 1fr}
  .job .jb{grid-template-columns:1fr}
  .form-grid{grid-template-columns:1fr}
  .cta-box{grid-template-columns:1fr}
}
@media (max-width:720px){
  .links{display:none}
  .brand img{height:30px}
  .posts{grid-template-columns:1fr}
  .two{grid-template-columns:1fr}
  .card{padding:22px 18px}
  .job summary{grid-template-columns:1fr auto;padding:18px 20px}
  .job .jb{padding:0 20px 24px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
}
