/* ================================================================
   Resumed — Home page neomorphism override
   Light · Premium · Centered Apple/base44 style
   ================================================================ */

/* ── Hero reset & centered layout ─────────────────────────────── */
body.page-home .hero {
   padding: 120px 0 80px;
   text-align: center;

}


/* ──Hero ─────────────────────────────────────────────────────── */
.hero {
   position: relative;
   padding: 100px 0 80px;
   overflow: hidden;
}

/* Ambient glow background */
.hero::before {
   content: '';
   position: absolute;
   top: -10%;
   right: -5%;
   width: 60vw;
   max-width: 900px;
   aspect-ratio: 1;
   background: radial-gradient(ellipse at center,
         rgba(15, 239, 186, 0.12) 0%,
         rgba(13, 207, 162, 0.05) 50%,
         transparent 75%);
   pointer-events: none;
   z-index: 0;
}

.hero::after {
   content: '';
   position: absolute;
   bottom: -20%;
   left: -10%;
   width: 50vw;
   max-width: 700px;
   aspect-ratio: 1;
   background: radial-gradient(ellipse at center,
         rgba(15, 239, 186, 0.06) 0%,
         transparent 70%);
   pointer-events: none;
   z-index: 0;
}

.hero__inner {
   position: relative;
   z-index: 1;
   max-width: var(--max-w);
   margin: 0 auto;
   padding: 0 24px;
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 64px;
   align-items: center;
}

.hero__content {
   max-width: 580px;
}

.hero__eyebrow {
   display: inline-flex;
   align-items: center;
   gap: 8px;
   background: rgba(15, 239, 186, 0.1);
   color: var(--color-accent);
   font-size: 0.78rem;
   font-weight: 700;
   letter-spacing: 0.08em;
   text-transform: uppercase;
   padding: 6px 14px;
   border-radius: 999rem;
   border: 1px solid rgba(15, 239, 186, 0.25);
   margin-bottom: 24px;
}

.hero__title {
   font-size: clamp(2.2rem, 5vw, 3.4rem);
   font-weight: 800;
   letter-spacing: -0.03em;
   line-height: 1.08;
   margin-bottom: 24px;
   text-wrap: balance;
}

.hero__title .highlight {
   background: linear-gradient(135deg, var(--brand-cta) 0%, var(--brand-accent) 100%);
   -webkit-background-clip: text;
   -webkit-text-fill-color: transparent;
   background-clip: text;
}

.hero__subtitle {
   font-size: 1.1rem;
   color: var(--color-muted);
   line-height: 1.7;
   margin-bottom: 36px;
   max-width: 50ch;
   text-wrap: balance;
}

.hero__actions {
   display: flex;
   align-items: center;
   flex-wrap: wrap;
   gap: 14px;
   margin-bottom: 20px;
}

.hero__trust {
   font-size: 0.82rem;
   color: var(--color-subtle);
   opacity: 1;
   display: flex;
   align-items: center;
   gap: 6px;
   z-index: 99;
}

.hero__trust::before {
   content: '✓';
   color: var(--color-subtle);
   font-weight: 700;
}

/* Hero visual side */
.hero__visual {
   position: relative;
}

.hero__mockup {
   border-radius: var(--radius-xl);
   overflow: hidden;
   box-shadow: var(--neo-card);
   background: var(--color-surface);
   aspect-ratio: 4/3;
   display: flex;
   align-items: center;
   justify-content: center;
}


/* Soft glow blobs on light bg */
.hero__glow {
   position: absolute;
   border-radius: 50%;
   pointer-events: none;
   filter: blur(90px);
   z-index: 0;
}

.hero__glow--1 {
   width: 800px;
   height: 600px;
   top: 80px;
   left: 50%;
   transform: translateX(-50%);
   background: radial-gradient(ellipse, rgba(15, 239, 186, 0.13) 0%, transparent 70%);
}


.hero__glow--2 {
   width: 500px;
   height: 400px;
   bottom: 0;
   right: -100px;
   background: radial-gradient(ellipse, rgba(13, 207, 162, 0.07) 0%, transparent 70%);
}

.hero__glow--3 {
   width: 400px;
   height: 350px;
   bottom: 0;
   left: -80px;
   background: radial-gradient(ellipse, rgba(15, 239, 186, 0.06) 0%, transparent 70%);
}


@media (hover: hover) and (pointer: fine) {
   section.hero {

      background: url('/assets/img/handshake_hero.webp') no-repeat;
      background-size: cover;
      background-position: center;
   }

   .hero__glow--1 {
      width: 800px;
      height: 800px;
      top: 80px;
      left: 50%;
      transform: translateX(-50%);
      background: radial-gradient(ellipse, rgba(228, 239, 236, 0.9) 0%, transparent 70%);
   }
}


/* Large background logo watermark */
.hero__logo-bg {
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -58%);
   width: min(700px, 90vw);
   opacity: 0.04;
   pointer-events: none;
   z-index: 0;
}

body.page-home .hero__inner {
   display: flex;
   flex-direction: column;
   align-items: center;
   max-width: 880px;
   gap: 0;
}

/* Pill badge */
.hero__pill {
   display: inline-flex;
   align-items: center;
   gap: 10px;
   padding: 7px 18px;
   border-radius: 999rem;
   font-size: 0.78rem;
   font-weight: 500;
   letter-spacing: 0.08em;
   text-transform: uppercase;
   color: var(--color-subtle);
   background: rgba(250, 250, 250, 0.2);
   border-left: 1px solid rgba(255, 255, 255, 0.633);
   border-top: 1px solid rgba(255, 255, 255, 0.633);
   border-right: 1px solid rgba(226, 236, 235, 0.533);
   border-bottom: 1px solid rgba(226, 236, 235, 0.533);

   backdrop-filter: blur(6px);
   margin-bottom: 32px;
   box-shadow: var(--shadow-sm);
}

.hero__pill::before {
   content: '';
   width: 7px;
   height: 7px;
   border-radius: 50%;
   background: var(--brand-cta);
   box-shadow: 0 0 8px var(--brand-cta);
   animation: hero-pulse 2.2s infinite;
}



@keyframes hero-pulse {

   0%,
   100% {
      box-shadow: 0 0 6px rgba(15, 239, 186, 0.9);
   }

   50% {
      box-shadow: 0 0 16px rgba(15, 239, 186, 0.35);
   }
}

/* Hero title — big, tight, Apple style */
body.page-home .hero__title {
   font-size: clamp(2.6rem, 6.5vw, 4.8rem);
   font-weight: 800;
   letter-spacing: -0.04em;
   line-height: 1.05;
   color: var(--color-title);
   margin-bottom: 28px;
   text-wrap: balance;
}

body.page-home .hero__title .highlight {
   background: linear-gradient(110deg, #0FEFBA 0%, #0dcfa2 40%, #07b8b8 100%);
   -webkit-background-clip: text;
   -webkit-text-fill-color: transparent;
   background-clip: text;
}

body.page-home .hero__subtitle {
   font-size: 1.2rem;
   color: var(--color-text);
   line-height: 1.75;
   max-width: 56ch;
   margin: 0 auto 40px;
   text-wrap: balance;
}

body.page-home .hero__actions {
   justify-content: center;
   gap: 16px;
   margin-bottom: 22px;
}

body.page-home .hero__trust {
   color: var(--color-subtle);
   justify-content: center;
   margin-bottom: 0;
}

/* ── Hero visual: CSS resume preview card ─────────────────────── */

.hero__preview-wrap {
   position: relative;
   margin-top: 72px;
   width: 100%;
   max-width: 780px;
   display: flex;
   justify-content: center;
}

.resume-card {
   background: var(--color-surface);
   border: 1px solid var(--color-border);
   border-radius: 22px;
   padding: 32px 36px;
   box-shadow: var(--neo-card);
   width: 100%;
   max-width: 600px;
   text-align: left;
   position: relative;
   overflow: hidden;
}

.resume-card::before {
   content: '';
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   height: 3px;
   background: linear-gradient(90deg, transparent 0%, #0FEFBA 35%, #0dcfa2 65%, transparent 100%);
}

.resume-card__header {
   display: flex;
   align-items: center;
   gap: 18px;
   margin-bottom: 28px;
   padding-bottom: 20px;
   border-bottom: 1px solid var(--color-border);
}

.resume-avatar {
   width: 48px;
   height: 48px;
   border-radius: 50%;
   background: rgba(15, 239, 186, 0.1);
   border: 1.5px solid rgba(15, 239, 186, 0.3);
   flex-shrink: 0;
   display: flex;
   align-items: center;
   justify-content: center;
   box-shadow: var(--neo-sm);
   color: var(--color-accent);
}

.resume-avatar svg {
   width: 22px;
   height: 22px;
}

.resume-card__name {
   font-size: 1.05rem;
   font-weight: 700;
   color: var(--color-title);
   margin-bottom: 3px;
}

.resume-card__role {
   font-size: 0.82rem;
   color: var(--color-muted);
}

.ats-badge {
   margin-left: auto;
   flex-shrink: 0;
   display: flex;
   flex-direction: column;
   align-items: center;
   background: rgba(15, 239, 186, 0.08);
   border: 1.5px solid rgba(15, 239, 186, 0.25);
   border-radius: 14px;
   padding: 10px 16px;
   gap: 1px;
   box-shadow: var(--neo-sm);
}

.ats-badge__label {
   font-size: 0.62rem;
   font-weight: 700;
   letter-spacing: 0.1em;
   text-transform: uppercase;
   color: var(--color-muted);
}

.ats-badge__score {
   font-size: 1.5rem;
   font-weight: 800;
   color: var(--color-accent);
   line-height: 1;
}

/* Content skeleton lines */
.resume-section {
   margin-bottom: 22px;
}

.resume-section:last-of-type {
   margin-bottom: 0;
}

.rp-label {
   font-size: 0.7rem;
   font-weight: 700;
   letter-spacing: 0.08em;
   text-transform: uppercase;
   color: var(--color-accent);
   margin-bottom: 10px;
}

.rp-lines {
   display: flex;
   flex-direction: column;
   gap: 8px;
}

.rp-line {
   height: 9px;
   border-radius: 999rem;
   background: var(--color-inset);
   box-shadow: var(--neo-inset);
}

.rp-line--full {
   width: 100%;
}

.rp-line--long {
   width: 86%;
}

.rp-line--med {
   width: 68%;
}

.rp-line--short {
   width: 50%;
}

/* Live check bar */
.live-check-bar {
   display: flex;
   align-items: center;
   gap: 10px;
   padding: 11px 16px;
   background: rgba(15, 239, 186, 0.07);
   border: 1px solid rgba(15, 239, 186, 0.2);
   border-radius: 10px;
   font-size: 0.82rem;
   font-weight: 600;
   color: var(--color-accent);
   margin-top: 22px;
}

/* hero shot image in the middle */
.hero-shot {
   position: relative;
   z-index: 1;
   width: 100%;
   border-radius: var(--radius-sm);
   overflow: hidden;
   box-shadow: var(--shadow-lg);
   background: transparent;
   padding: 0;
   line-height: 0;
}


/* Floating stat cards */
.float-card {
   position: absolute;
   background: var(--color-surface);
   border: 1px solid var(--color-border);
   border-radius: 16px;
   padding: 14px 18px;
   box-shadow: var(--shadow-md);

   display: flex;
   align-items: center;
   gap: 12px;
   white-space: nowrap;
   z-index: 2;
}

.float-card__icon {
   width: 36px;
   height: 36px;
   border-radius: 10px;
   display: flex;
   align-items: center;
   justify-content: center;
   flex-shrink: 0;
}

.float-card__icon--green {
   background: rgba(15, 239, 186, 0.1);
}

.float-card__icon--blue {
   background: rgba(99, 130, 255, 0.1);
}

.float-card__icon svg {
   width: 18px;
   height: 18px;
}

.float-card__text strong {
   display: block;
   font-size: 0.9rem;
   font-weight: 700;
   color: var(--color-title);
   line-height: 1.2;
}

.float-card__text span {
   font-size: 0.75rem;
   color: var(--color-muted);
}

.float-card--tl {
   bottom: 3rem;
   left: -44px;
   animation: float-a 4s ease-in-out infinite;
}

.float-card--br {
   top: 3rem;
   right: -36px;
   animation: float-b 5s ease-in-out infinite;
}

@media (hover: none) {

   .hero-shot {
      box-shadow: var(--neo-raised);
      }
   .float-card {
      box-shadow: var(--neo-sm);

   }
}

@keyframes float-a {

   0%,
   100% {
      transform: translateY(0);
   }

   50% {
      transform: translateY(-8px);
   }
}

@keyframes float-b {

   0%,
   100% {
      transform: translateY(0);
   }

   50% {
      transform: translateY(6px);
   }
}

/* ── Features list (icon + text, no cards) ────────────────────── */
.features-list {
   display: grid;
   grid-template-columns: repeat(2, 1fr);
   gap: 40px 64px;
   margin-top: 64px;
}

.feature-item {
   display: flex;
   align-items: flex-start;
   gap: 20px;
}

.feature-item__icon {
   width: 44px;
   height: 44px;
   flex-shrink: 0;
   display: flex;
   align-items: center;
   justify-content: center;
   color: var(--color-accent);
   margin-top: 2px;
}

.feature-item__icon svg {
   width: 28px;
   height: 28px;
}

.feature-item__title {
   font-size: 1rem;
   font-weight: 700;
   color: var(--color-title);
   margin-bottom: 6px;
}

.feature-item__body {
   font-size: 0.9rem;
   color: var(--color-muted);
   line-height: 1.65;
}

/* Sequential stagger: vänster→höger, rad för rad */
.features-list .feature-item {
   transition: opacity 0.85s var(--ease-out), transform 0.85s var(--ease-out);
}

.features-list .feature-item:nth-child(1) {
   transition-delay: 0.05s;
}

.features-list .feature-item:nth-child(2) {
   transition-delay: 0.25s;
}

.features-list .feature-item:nth-child(3) {
   transition-delay: 0.45s;
}

.features-list .feature-item:nth-child(4) {
   transition-delay: 0.65s;
}

.features-list .feature-item:nth-child(5) {
   transition-delay: 0.85s;
}

.features-list .feature-item:nth-child(6) {
   transition-delay: 1.05s;
}

@media (max-width: 700px) {
   .features-list {
      grid-template-columns: 1fr;
      gap: 32px;
   }

   /* På mobil är det en kolumn — dela in i tätare steg */
   .features-list .feature-item:nth-child(1) {
      transition-delay: 0.05s;
   }

   .features-list .feature-item:nth-child(2) {
      transition-delay: 0.20s;
   }

   .features-list .feature-item:nth-child(3) {
      transition-delay: 0.35s;
   }

   .features-list .feature-item:nth-child(4) {
      transition-delay: 0.50s;
   }

   .features-list .feature-item:nth-child(5) {
      transition-delay: 0.65s;
   }

   .features-list .feature-item:nth-child(6) {
      transition-delay: 0.80s;
   }
}


/* ── Responsive ────────────────────────────────────────────────── */
@media (max-width: 1100px) {
   .float-card--tl {
      left: -12px;
   }

   .float-card--br {
      right: -12px;
   }
}

@media (max-width: 860px) {
   .float-card {
      display: none;
   }

   body.page-home .hero__title {
      font-size: clamp(2.2rem, 9vw, 3.8rem);
   }
}

@media (max-width: 600px) {
   .resume-card {
      padding: 24px 20px;
   }

   .hero__preview-wrap {
      margin-top: 52px;
   }
}

/* ── Contact section ─────────────────────────────────────────────── */
.contact-section {
   background: var(--color-inset);
}

.contact-card {
   background: var(--color-bg);
   border: none;
   border-radius: 20px;
   box-shadow: var(--neo-card);
   padding: 48px 56px;
   margin-top: 56px;
   position: relative;
   overflow: hidden;
}



/* Two-column grid for name + email */
.contact-form__grid {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 0 20px;
}

.contact-form__footer {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 16px;
   margin-top: 8px;
   flex-wrap: wrap;
}

.contact-form__note {
   font-size: 0.82rem;
   color: var(--color-subtle);
}

/* Form inputs on contact card: neo inset effect */
.contact-card .form-input,
.contact-card .form-textarea {
   background: var(--color-bg);
   border-color: transparent;
   box-shadow: inset 3px 3px 8px #d1d5e0, inset -3px -3px 8px #ffffff;
}

/* Honeypot: completely invisible to real users */
.contact-honeypot {
   position: absolute;
   left: -9999px;
   top: -9999px;
   width: 1px;
   height: 1px;
   overflow: hidden;
   opacity: 0;
   pointer-events: none;
}

/* Submitting state — spinner appended via CSS */
.contact-submit[data-loading] {
   pointer-events: none;
   opacity: 0.8;
}

.contact-submit[data-loading]::after {
   content: '';
   display: inline-block;
   width: 14px;
   height: 14px;
   border: 2px solid rgba(7, 37, 30, 0.3);
   border-top-color: #07251e;
   border-radius: 50%;
   animation: contact-spin 0.65s linear infinite;
   margin-left: 8px;
   vertical-align: middle;
}

@keyframes contact-spin {
   to {
      transform: rotate(360deg);
   }
}

/* Responsive */
@media (max-width: 700px) {
   .contact-card {
      padding: 32px 24px;
   }

   .contact-form__grid {
      grid-template-columns: 1fr;
   }

   .contact-form__footer {
      flex-direction: column;
      align-items: flex-start;
   }

   .contact-submit {
      width: 100%;
      justify-content: center;
   }
}