/* KevinCrothers.com - SMORTLER / SI resume presentation v1
   Presentation-only. Does not change SQL, protected content, or Bootstrap JS.
   Intentionally scoped to .kr-* / .kr-resume-main to protect shared footer. */
:root {
  --kr-ink:#231536;
  --kr-violet:#6626bb;
  --kr-violet-deep:#3d116e;
  --kr-orange:#f66b29;
  --kr-line:#e6dcec;
  --kr-card:#fff;
}
html {scroll-behavior:smooth;}
html,body {max-width:100%;}
body {background:radial-gradient(ellipse at 82% 0%,#eee5ff 0%,transparent 38%),linear-gradient(180deg,#fffaf5 0%,#f6f3f9 47%,#f7f7fa 100%) !important;color:var(--kr-ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;}
.kr-skip{position:absolute;top:-100px;left:10px;z-index:20000;background:#fff;padding:12px 18px;border:2px solid var(--kr-violet);border-radius:8px;color:var(--kr-violet-deep);}
.kr-skip:focus{top:10px;}
.kr-masthead{position:relative;z-index:19;background:rgba(255,251,247,.95);border-bottom:1px solid #eee3e8;box-shadow:0 7px 25px rgba(38,15,65,.05);}
.kr-masthead__inner{width:min(1320px,calc(100% - 40px));margin:0 auto;min-height:72px;display:flex;align-items:center;gap:20px;}
.kr-masthead__brand{display:flex;align-items:center;gap:14px;text-decoration:none;min-width:0;color:#24133b;}
.kr-masthead__wordmark{color:#f04d1e;font-size:clamp(20px,2.6vw,31px);font-weight:950;letter-spacing:-.035em;white-space:nowrap;line-height:1;}
.kr-masthead__mark{display:inline-flex;align-items:center;justify-content:center;width:43px;height:33px;flex:none;color:white;background:linear-gradient(135deg,#f47b17,#ed4d09);border:3px solid #4b1784;border-radius:9px;font-size:22px;font-weight:950;font-style:italic;letter-spacing:-.08em;box-shadow:0 3px 10px rgba(81,29,128,.18);}
.kr-masthead__divider{width:1px;height:31px;background:#dacbdc;flex:none;}
.kr-masthead__identity strong{display:block;font-size:16px;font-weight:900;color:#30144d;letter-spacing:-.02em;line-height:1.12;}
.kr-masthead__identity small{display:block;color:#7a6a89;font-size:10px;text-transform:uppercase;letter-spacing:.09em;font-weight:850;}
.kr-masthead__nav{display:flex;gap:8px;align-items:center;margin-left:auto;flex-wrap:wrap;justify-content:flex-end;}
.kr-masthead__nav a{display:inline-flex;padding:8px 12px;border-radius:10px;color:#351c51;font-weight:800;text-decoration:none;font-size:13px;white-space:nowrap;}
.kr-masthead__nav a:hover,.kr-masthead__nav a:focus-visible{background:#f0e5ff;color:#5923a0;}
.kr-masthead__nav .kr-nav-contact{background:#f66b29;color:#fff;}
.kr-masthead__nav .kr-nav-contact:hover{background:#d94d16;color:#fff;}
.kr-resume-main.container{max-width:1190px;width:min(1190px,calc(100% - 36px));background:transparent;border-radius:0;box-shadow:none;margin:26px auto 56px;padding:0;}
.kr-resume-main .header.kr-hero{background:linear-gradient(125deg,#fff 0%,#fff 36%,#f4ecff 100%);color:var(--kr-ink);border:1px solid #e9e0f1;border-radius:25px;box-shadow:0 24px 72px rgba(56,26,86,.095);padding:0;overflow:hidden;display:grid;grid-template-columns:1fr 0.96fr;align-items:stretch;text-align:left;min-height:455px;}
.kr-hero__copy{padding:clamp(28px,4.4vw,57px);display:flex;flex-direction:column;justify-content:center;position:relative;z-index:1;}
.kr-hero__eyebrow{text-transform:uppercase;color:#de5017;font-weight:900;font-size:12px;letter-spacing:.15em;margin:0 0 15px;line-height:1.5;}
.kr-resume-main .header.kr-hero h1{font-size:clamp(37px,5.2vw,67px)!important;color:#26113b;line-height:1.045;margin:0 0 16px;font-weight:900;letter-spacing:-.055em;}
.kr-hero__subtitle{font-size:clamp(17px,1.75vw,21px);color:#50366a;line-height:1.44;font-weight:750;margin:0 0 12px;max-width:46ch;}
.kr-hero__summary{font-size:15px;color:#665572;line-height:1.67;max-width:51ch;margin:0 0 22px;}
.kr-hero__actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:0 0 18px;}
.kr-hero__actions a{display:inline-flex;align-items:center;justify-content:center;padding:12px 17px;border-radius:12px;font-size:13px;text-decoration:none;font-weight:850;line-height:1.3;}
.kr-hero__actions a:first-child{background:#f66b29;color:#fff;box-shadow:0 8px 20px rgba(246,107,41,.16);}
.kr-hero__actions a:first-child:hover{background:#d75520;}
.kr-hero__actions a:last-child{background:#f2ebff;color:#5a2ca2;border:1px solid #decafa;}
.kr-hero__actions a:last-child:hover{background:#e5d5ff;}
.kr-hero__contact{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;line-height:1.7;color:#675974;margin:0 0 12px;}
.kr-hero__contact a{color:#6030a3;font-weight:780;text-decoration:underline;text-underline-offset:3px;}
.kr-hero__classic a{color:#6735ab !important;font-weight:750;font-size:12px;text-decoration:underline;text-underline-offset:3px;}
.kr-hero__visual{margin:0;position:relative;min-height:440px;display:flex;align-items:end;justify-content:center;overflow:hidden;background:radial-gradient(circle at 60% 65%,rgba(123,75,198,.10),transparent 50%),linear-gradient(145deg,#faf6ff,#f1e8fd);}
.kr-hero__visual::after{content:"";position:absolute;inset:16px;border:1px solid rgba(112,55,172,.10);border-radius:30px;pointer-events:none;}
.kr-hero__visual img{position:relative;z-index:1;display:block;width:100%;height:auto;max-width:640px;max-height:590px;object-fit:contain;object-position:center bottom;align-self:end;}
.kr-hero__visual figcaption{position:absolute;bottom:15px;right:17px;z-index:2;background:rgba(255,255,255,.83);color:#493265;padding:6px 10px;border:1px solid rgba(114,68,162,.18);border-radius:9px;font-size:11px;font-weight:750;}
.kr-resume-section-heading{display:flex;align-items:center;gap:10px;margin-top:36px;padding-left:3px;font-size:12px;font-weight:900;letter-spacing:.13em;text-transform:uppercase;color:#7739ba;}
.kr-resume-section-heading::before{content:"";background:#f16c29;width:8px;height:8px;border-radius:50%;box-shadow:0 0 0 4px rgba(241,108,41,.13)}
.kr-resume-main .section-card{border:1px solid var(--kr-line);border-left:5px solid #7841cb;border-radius:17px;background:#fff;box-shadow:0 9px 32px rgba(46,17,79,.055);margin-top:18px;padding:24px 24px 20px;overflow:hidden;}
.kr-resume-main .section-card:target{box-shadow:0 0 0 3px rgba(249,113,39,.22),0 12px 35px rgba(35,20,60,.09);}
.kr-resume-main .section-header{gap:16px;}
.kr-resume-main .section-title{color:#4c2090;font-size:clamp(19px,2vw,24px);font-weight:900;line-height:1.22;letter-spacing:-.028em;margin-bottom:8px;}
.kr-resume-main .job-card{background:linear-gradient(100deg,#fcfaff,#f8f4ff);border:1px solid #ecddfa;border-left:3px solid #f77c36;padding:19px 20px;border-radius:14px;margin-bottom:12px;}
.kr-resume-main .job-card h5{font-size:16px;color:#3c1c65;}
.kr-resume-main .job-card p{font-size:13px;color:#645c71;}
.kr-resume-main .biography-paragraph{line-height:1.78;color:#4b3d59;margin:0 0 14px;max-width:85ch;}
.kr-resume-main .collapse{color:#55465f;line-height:1.68;}
.kr-resume-main .collapse a{color:#6226a8;text-decoration:underline;text-underline-offset:3px;}
.kr-resume-main .btn-toggle{border-color:#dccae9;color:#6337a8;background:#fff;font-size:12px;font-weight:800;border-radius:9px;padding:7px 11px;white-space:nowrap;}
.kr-resume-main .btn-toggle:hover{background:#f4ebff;color:#4a1b86;border-color:#bda2df;}
.kr-resume-main .unlock-form{padding:20px 24px;background:#fff;border:1px solid #e8deee;box-shadow:0 6px 22px rgba(54,24,85,.045);border-radius:15px;margin:24px 0 32px;}
.kr-resume-main .unlock-form .form-control{border-radius:10px;}
.kr-resume-main .unlock-form button.btn-primary{background:#6935b9;border-color:#6935b9;}
.kr-resume-main .unlock-form button.btn-primary:hover{background:#58269e;border-color:#58269e;}
.kr-resume-main .footer{border-top:1px solid #e1d6e8;padding:22px 8px 12px;margin-top:30px;background:transparent;color:#847591;}
.kr-resume-main .footer a:hover{opacity:.85;}
.kr-resume-main .footer img{max-width:100%;height:auto;}
.kr-resume-main .scroll-spacer{display:none}
body:has(.scroll-top-bar) .kr-masthead{margin-top:52px;}
.kr-social-portrait{display:flex;align-items:center;gap:12px;padding:14px 17px;background:#faf5ff;border:1px solid #e7d7f5;border-radius:14px;margin-top:14px;}
.kr-social-portrait img{width:72px;height:72px;border-radius:50%;object-fit:cover;border:2px solid #dfcafa;}
.kr-social-portrait p{margin:0;color:#685478;font-size:13px;line-height:1.5;}
.kr-social-portrait strong{display:block;color:#4d217c;}
@media(max-width:1060px){.kr-masthead__nav{gap:2px}.kr-masthead__nav a{padding:8px 9px}.kr-resume-main .header.kr-hero{grid-template-columns:1fr .86fr}}
@media(max-width:820px){.kr-masthead__inner{width:min(100%,calc(100% - 24px));padding:11px 0;flex-wrap:wrap;gap:12px}.kr-masthead__brand{margin-right:auto}.kr-masthead__nav{width:100%;justify-content:center;border-top:1px solid #eee4eb;padding-top:6px}.kr-resume-main .header.kr-hero{grid-template-columns:1fr;min-height:0}.kr-hero__copy{padding:35px 27px 26px}.kr-hero__visual{min-height:270px;max-height:510px}.kr-hero__visual img{width:min(92%,590px)}.kr-hero__visual figcaption{bottom:8px;font-size:10px}}
@media(max-width:520px){.kr-masthead__wordmark{font-size:22px}.kr-masthead__identity strong{font-size:14px}.kr-masthead__nav a{font-size:12px}.kr-resume-main.container{width:calc(100% - 20px);margin:15px auto 36px}.kr-resume-main .header.kr-hero{border-radius:16px}.kr-hero__copy{padding:27px 21px}.kr-resume-main .header.kr-hero h1{font-size:39px!important}.kr-hero__visual{min-height:240px}.kr-resume-main .section-card{padding:17px 14px}.kr-resume-main .section-header{align-items:start;flex-direction:column}.kr-resume-main .unlock-form{padding:15px}.kr-hero__actions a{flex:1 1 155px}.kr-hero__visual figcaption{display:none}}
@media print{.kr-masthead__nav,.kr-skip,.kr-hero__actions,.kr-resume-main .unlock-form,.kr-resume-main .btn-toggle,.scroll-top-bar,.floating-audio-btn,.si-site-footer{display:none!important}body{background:#fff!important}.kr-resume-main.container{width:100%;max-width:none}.kr-resume-main .header.kr-hero{box-shadow:none;border-color:#ddd;page-break-after:avoid}.kr-resume-main .section-card,.kr-resume-main .job-card{box-shadow:none;break-inside:avoid}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}
