/* 2026-10-26 — understated development notice, career film background, new headshot. */
:root { --notice-height:38px; }
body { padding-top:var(--notice-height); }
html { scroll-padding-top:calc(95px + var(--notice-height)); }
.site-development-notice {
  position:fixed;top:0;left:0;right:0;z-index:1400;
  height:var(--notice-height);min-height:var(--notice-height);
  display:flex;align-items:center;justify-content:center;gap:11px;
  padding:0 15px;
  background:#263d50;color:#eaf2f7;
  border-bottom:1px solid #8bb0c333;
  font:600 11px/1.35 var(--sans,'Segoe UI',Arial,sans-serif);
  letter-spacing:.035em;text-align:center;
}
.site-development-notice .status-dot {
  display:inline-block;flex:none;width:6px;height:6px;border-radius:50%;
  background:#9fbfd1;box-shadow:0 0 0 3px #9fbfd120;
}
.site-header,.site-header.is-fixed { top:var(--notice-height); }
.scroll-progress { top:var(--notice-height); }
.hero-visual {background-color:#1c2c3e}
.hero-visual img { object-position:center 13%; }
.hero-visual .portrait-rim { display:none!important; }
.hero .portrait-caption { display:none; }
.hero-visual img {transition:opacity .42s ease}
.hero-visual img.is-loading-upgrade { opacity:.96; }
.resume-cta {display:flex;flex-direction:column;align-items:flex-start;gap:7px}
.resume-download-pending,.contact-actions .resume-download-pending {
  background:#c6d3dc; border:1px solid #c6d3dc;
  color:#32495b;opacity:.82;cursor:not-allowed;
  transform:none!important;box-shadow:none!important;
}
.resume-download-pending:hover,.contact-actions .resume-download-pending:hover {
  background:#c6d3dc;border-color:#c6d3dc;transform:none;
}
.resume-download-pending .file-icon {color:#587386}
.resume-note {color:#bbccd9;font:400 11px/1.5 var(--sans,Arial,sans-serif)}
.contact-actions .resume-note {color:#a6bdcc}
.section-experience {padding-bottom:0!important}
.experience-ambient{
  position:relative;width:100%;height:clamp(280px,36vw,490px);
  overflow:hidden;margin-top:clamp(70px,8vw,125px);
  background:#1a2b3a url("alekspo_industry_poster.jpg") center 50%/cover no-repeat;
  isolation:isolate;
}
.experience-ambient video{
  position:absolute;inset:0;z-index:0;display:block;
  width:100%;height:100%;object-fit:cover;
  opacity:.77;filter:saturate(.83) contrast(1.05);
  transition:opacity 1.2s ease;
}
.experience-ambient.is-ended video {opacity:0}
.experience-ambient:after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:1;
  background:
    linear-gradient(to bottom,#fff 0%,#ffffffed 10%,#ffffff0a 37%,#0f213158 72%,#182b3a 100%),
    linear-gradient(to right,#152a3b36,transparent 36%,transparent 70%,#152a3b2b);
}
.experience-ambient .industry-attribution {
  position:absolute;left:max(24px,calc((100vw - 1256px)/2));right:24px;bottom:24px;
  z-index:2;max-width:750px;color:#d8e5edbd;
  font:400 10px/1.5 var(--sans,Arial,sans-serif);
  letter-spacing:.025em;
  text-shadow:0 2px 8px #07152170;
}
.experience-ambient .industry-attribution strong {color:#f2f6f9;font-weight:600}
@media(max-width:760px){
  :root{--notice-height:36px}
  html{scroll-padding-top:calc(74px + var(--notice-height))}
  .site-development-notice{font-size:10px;gap:8px}
  .hero-visual img{object-position:center 10%}
  .resume-note{font-size:10px}
  .experience-ambient{height:clamp(260px,70vw,390px);margin-top:55px}
  .experience-ambient video{opacity:.65}
  .experience-ambient .industry-attribution{bottom:16px;left:23px;right:23px;font-size:9px}
  .experience-ambient:after {
    background:linear-gradient(to bottom,#fff 0%,#fffffff0 11%,#ffffff0a 37%,#182b3a 100%);
  }
}
@media(prefers-reduced-motion:reduce){
  .experience-ambient video {display:none}
  .hero-visual img {transition:none}
}
@media print {
  body{padding-top:0!important}
  .site-development-notice,.experience-ambient{display:none!important}
  .hero-visual img{transition:none}
  .resume-cta,.resume-download-pending,.resume-note{display:none!important}
}


/* 2026-10-26 / Refinement 2: portrait without a visible photograph rectangle.
   The complete image area fades into the executive navy hero background.
   Feathering is applied to the WHOLE visual, not only to the photograph. */
.hero .hero-visual {
  top:62px;
  height:calc(100% - 62px);
  right:-8%;
  width:54%;
  background:transparent !important;
  opacity:1;
  border:0;
  -webkit-mask-image:radial-gradient(ellipse 54% 50% at 52% 48%, #000 38%, rgba(0,0,0,.99) 60%, rgba(0,0,0,.75) 78%, transparent 99%);
  mask-image:radial-gradient(ellipse 54% 50% at 52% 48%, #000 38%, rgba(0,0,0,.99) 60%, rgba(0,0,0,.75) 78%, transparent 99%);
}
.hero .hero-visual img{
  opacity:1;
  filter:contrast(1.015) saturate(.94);
  object-position:center 16%;
}
.hero .hero-image-mask {
  background:
    linear-gradient(90deg,rgba(19,34,50,.66) 0%,rgba(19,34,50,.22) 18%,transparent 46%),
    linear-gradient(0deg,rgba(19,34,50,.62) 0%,transparent 24%);
}
.hero .hero-side-note{display:none}

/* Remove double-exposure: the old poster underneath semi-transparent
   video previously showed turbines through the mine footage.
   The video element's poster attribute handles the initial still frame. */
.experience-ambient{
  background:#172838 !important;
  background-image:none !important;
}
.experience-ambient video,
.experience-ambient.is-ended video{
  opacity:1 !important;
  filter:none !important;
}
.experience-ambient:after{
  background:linear-gradient(to bottom,
    #ffffff 0%,rgba(255,255,255,.82) 5%,
    rgba(255,255,255,.12) 21%,transparent 38%,
    transparent 73%,rgba(20,38,55,.84) 100%) !important;
}
@media(max-width:1100px){
  .hero .hero-visual{right:-10%;width:57%}
}
@media(max-width:760px){
  .hero .hero-visual{
    top:52px;right:-8%;width:108%;height:435px;
    -webkit-mask-image:radial-gradient(ellipse 75% 61% at 56% 37%,#000 32%,rgba(0,0,0,.94) 55%,transparent 98%);
    mask-image:radial-gradient(ellipse 75% 61% at 56% 37%,#000 32%,rgba(0,0,0,.94) 55%,transparent 98%);
  }
  .hero .hero-visual img{object-position:center 20%}
  .experience-ambient video{opacity:1 !important}
}
@media(max-width:415px){
  .hero .hero-visual{top:50px;right:-13%;height:420px}
}
@media print{
  .hero .hero-visual {
    top:0;right:-30px;width:40%;height:100%;
    -webkit-mask-image:none;mask-image:none;
  }
}

/* FINAL HERO SEAM REMOVAL — eliminate inherited masks and decorative center rule. */
.hero:after { display:none !important; }
.hero .hero-visual {
  right:-12%;
  width:59%;
  overflow:visible;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 15%,#000 63%,rgba(0,0,0,.6) 80%,transparent 100%),
    linear-gradient(0deg,transparent 0%,#000 18%,#000 84%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:radial-gradient(ellipse 68% 56% at 46% 46%,#000 36%,rgba(0,0,0,.98) 54%,rgba(0,0,0,.68) 75%,transparent 100%);
}
.hero .hero-visual img {
  -webkit-mask-image:none !important;
  mask-image:none !important;
  border:0 !important;
  box-shadow:none !important;
}
.hero .hero-image-mask {
  background:linear-gradient(90deg,rgba(19,34,50,.62) 0%,transparent 28%),
             linear-gradient(0deg,rgba(19,34,50,.55) 0%,transparent 24%);
}
.hero .hero-visual::after {display:none !important;}
/* Second portrait — closing editorial image, no card, behind the content. */
.section-contact{isolation:isolate;}
.section-contact .closing-portrait{
  position:absolute;right:-2vw;bottom:0;top:12%;
  width:min(39vw,530px);z-index:0;pointer-events:none;opacity:.37;
  -webkit-mask-image:radial-gradient(ellipse 74% 74% at 56% 51%,#000 27%,rgba(0,0,0,.92) 49%,transparent 97%);
  mask-image:radial-gradient(ellipse 74% 74% at 56% 51%,#000 27%,rgba(0,0,0,.92) 49%,transparent 97%);
}
.section-contact .closing-portrait img{
  width:100%;height:100%;object-fit:cover;object-position:center 19%;
  border:0;box-shadow:none;display:block;
  filter:saturate(.72) brightness(.78);
}
.section-contact .contact-grid {position:relative;z-index:2;}
@media(max-width:1100px) {
 .hero .hero-visual{right:-16%;width:64%}
 .section-contact .closing-portrait{width:42vw;opacity:.24}
}
@media(max-width:760px) {
 .hero .hero-visual{
   right:-12%;width:110%;height:435px;top:52px;
   -webkit-mask-composite:source-over;
   -webkit-mask-image:radial-gradient(ellipse 74% 64% at 55% 41%,#000 28%,rgba(0,0,0,.91) 55%,transparent 98%);
   mask-image:radial-gradient(ellipse 74% 64% at 55% 41%,#000 28%,rgba(0,0,0,.91) 55%,transparent 98%);
 }
 .section-contact .closing-portrait{top:2%;bottom:auto;right:-15%;width:80%;height:65%;opacity:.13}
}
@media print{.section-contact .closing-portrait{display:none!important}}
