      :root {
        color-scheme: light;
        --ink: #34272d;
        --muted: #89777e;
        --pink: #e97e9c;
        --deep-pink: #cf5579;
        --pale-pink: #fff0f2;
        --paper: #fffafa;
        --line: #f1e6e8;
        --serif: "Playfair Display", Georgia, serif;
        --sans: "DM Sans", Arial, sans-serif;
      }

      * {
        box-sizing: border-box;
      }

      html {
        scroll-behavior: smooth;
        scroll-padding-top: 90px;
      }

      body {
        margin: 0;
        background: var(--paper);
        color: var(--ink);
        font-family: var(--sans);
        -webkit-font-smoothing: antialiased;
      }

      a {
        color: inherit;
        text-decoration: none;
      }

      button {
        font: inherit;
      }

      .container {
        width: min(1120px, calc(100% - 48px));
        margin-inline: auto;
      }

      .site-header {
        position: sticky;
        z-index: 10;
        top: 0;
        border-bottom: 1px solid rgb(241 230 232 / 75%);
        background: rgb(255 250 250 / 90%);
        backdrop-filter: blur(14px);
      }

      .nav {
        display: flex;
        min-height: 76px;
        align-items: center;
        justify-content: space-between;
      }

      .brand {
        font-family: var(--serif);
        font-size: 1.45rem;
        font-weight: 700;
        letter-spacing: -0.06em;
      }

      .brand span {
        color: var(--pink);
      }

      .nav-links {
        display: flex;
        align-items: center;
        gap: 34px;
        color: #68575e;
        font-size: 0.87rem;
      }

      .nav-links a:not(.nav-cta):hover {
        color: var(--deep-pink);
      }

      .nav-cta,
      .button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 9px;
        border: 1px solid var(--deep-pink);
        border-radius: 999px;
        background: var(--deep-pink);
        color: white;
        font-size: 0.88rem;
        font-weight: 600;
        transition:
          transform 180ms ease,
          background 180ms ease,
          box-shadow 180ms ease;
      }

      .nav-cta {
        padding: 11px 19px;
      }

      .button {
        min-height: 50px;
        padding: 0 23px;
      }

      .button:hover,
      .nav-cta:hover {
        transform: translateY(-2px);
        background: #b94368;
        box-shadow: 0 10px 22px rgb(207 85 121 / 18%);
      }

      .menu-toggle {
        display: none;
        width: 42px;
        height: 42px;
        align-items: center;
        justify-content: center;
        border: 1px solid var(--line);
        border-radius: 50%;
        background: white;
        color: var(--ink);
        cursor: pointer;
      }

      .hero {
        position: relative;
        display: grid;
        min-height: 640px;
        grid-template-columns: 1.08fr 0.92fr;
        align-items: center;
        gap: 54px;
        padding-block: 76px 86px;
      }

      .hero-copy {
        position: relative;
        z-index: 1;
        padding-bottom: 8px;
      }

      .eyebrow {
        display: inline-flex;
        align-items: center;
        gap: 9px;
        color: var(--deep-pink);
        font-size: 0.78rem;
        font-weight: 700;
        letter-spacing: 0.12em;
        text-transform: uppercase;
      }

      .eyebrow::before {
        width: 24px;
        height: 1px;
        background: var(--pink);
        content: "";
      }

      h1,
      h2,
      h3,
      p {
        margin-top: 0;
      }

      h1 {
        max-width: 650px;
        margin-block: 23px 20px;
        font-family: var(--serif);
        font-size: clamp(3.4rem, 7vw, 5.8rem);
        font-weight: 600;
        letter-spacing: -0.065em;
        line-height: 1.02;
      }

      h1 em,
      .section-heading em {
        color: var(--deep-pink);
        font-weight: 600;
      }

      .hero-copy > p {
        max-width: 460px;
        margin-bottom: 29px;
        color: var(--muted);
        font-size: 1.02rem;
        line-height: 1.85;
      }

      .hero-actions {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 19px;
      }

      .text-link {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        color: #66545c;
        font-size: 0.9rem;
        font-weight: 600;
      }

      .text-link:hover {
        color: var(--deep-pink);
      }

      .arrow {
        font-size: 1.1rem;
        transition: transform 180ms ease;
      }

      .text-link:hover .arrow {
        transform: translateX(4px);
      }

      .hero-visual {
        position: relative;
        width: min(100%, 440px);
        justify-self: end;
        padding: 17px 17px 38px 38px;
      }

      .hero-visual::before {
        position: absolute;
        inset: 0 0 20px 18px;
        border-radius: 48% 48% 42% 42%;
        background: #f9e4e9;
        content: "";
        transform: rotate(5deg);
      }

      .portrait {
        position: relative;
        display: block;
        width: 100%;
        aspect-ratio: 0.91;
        border: 9px solid white;
        border-radius: 48% 48% 42% 42%;
        background: #eccbd2;
        object-fit: cover;
        object-position: center 38%;
        box-shadow: 0 20px 55px rgb(109 58 74 / 13%);
        transform: rotate(-2deg);
      }

      .sparkle {
        position: absolute;
        top: 26px;
        right: -9px;
        color: var(--pink);
        font-size: 2.1rem;
      }

      .section {
        padding-block: 100px;
      }

      .about {
        background: #fff3f5;
      }

      .about-copy > p {
        margin-bottom: 14px;
      }

      .about-copy > p:last-child {
        margin-bottom: 0;
        color: var(--deep-pink);
        font-weight: 600;
      }

      .about-grid {
        display: grid;
        grid-template-columns: 0.84fr 1.16fr;
        align-items: center;
        gap: 90px;
      }

      .about-card {
        position: relative;
        min-height: 350px;
        overflow: hidden;
        border-radius: 24px;
        background:
          radial-gradient(ellipse at 75% 25%, rgb(255 255 255 / 68%) 0 14%, transparent 15%),
          radial-gradient(ellipse at 23% 95%, #e88aa3 0 20%, transparent 21%),
          linear-gradient(145deg, #f6cbd5, #f4aabe 58%, #df7794);
      }

      .about-card::before,
      .about-card::after {
        position: absolute;
        border: 1px solid rgb(255 255 255 / 50%);
        border-radius: 50%;
        content: "";
      }

      .about-card::before {
        width: 280px;
        height: 280px;
        top: 39px;
        left: 56px;
      }

      .about-card::after {
        width: 210px;
        height: 210px;
        top: 74px;
        left: 91px;
      }

      .card-letter {
        position: absolute;
        inset: 0;
        display: grid;
        place-items: center;
        color: rgb(255 255 255 / 88%);
        font-family: var(--serif);
        font-size: 8rem;
        font-style: italic;
      }

      .about-copy .section-heading {
        margin-block: 15px 18px;
      }

      .section-heading {
        margin-bottom: 0;
        font-family: var(--serif);
        font-size: clamp(2.3rem, 4.2vw, 3.55rem);
        font-weight: 600;
        letter-spacing: -0.055em;
        line-height: 1.12;
      }

      .about-copy > p,
      .section-intro {
        color: var(--muted);
        font-size: 0.96rem;
        line-height: 1.9;
      }

      .stats {
        display: flex;
        flex-wrap: wrap;
        gap: 38px;
        margin-top: 29px;
      }

      .stat strong {
        display: block;
        margin-bottom: 5px;
        color: var(--deep-pink);
        font-family: var(--serif);
        font-size: 1.8rem;
      }

      .stat span {
        color: var(--muted);
        font-size: 0.78rem;
      }

      .centered {
        text-align: center;
      }

      .centered .eyebrow {
        justify-content: center;
      }

      .centered .section-heading {
        margin-top: 15px;
      }

      .section-intro {
        max-width: 520px;
        margin: 16px auto 0;
      }

      .skills-grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 18px;
        margin-top: 48px;
      }

      .skill-card {
        min-height: 178px;
        padding: 25px 22px;
        border: 1px solid var(--line);
        border-radius: 17px;
        background: white;
        transition:
          transform 180ms ease,
          border-color 180ms ease,
          box-shadow 180ms ease;
      }

      .skill-card:hover {
        transform: translateY(-5px);
        border-color: #efc4cf;
        box-shadow: 0 14px 30px rgb(109 58 74 / 7%);
      }

      .skill-icon {
        display: grid;
        width: 42px;
        height: 42px;
        margin-bottom: 18px;
        place-items: center;
        border-radius: 13px;
        background: var(--pale-pink);
        color: var(--deep-pink);
        font-size: 1.1rem;
      }

      .skill-card h3 {
        margin-bottom: 7px;
        font-size: 0.96rem;
      }

      .skill-card p {
        margin-bottom: 0;
        color: var(--muted);
        font-size: 0.78rem;
        line-height: 1.65;
      }

      .journey {
        background: white;
      }

      .journey-content {
        max-width: 820px;
        padding: 45px 52px;
        border: 1px solid var(--line);
        border-radius: 24px;
        background: linear-gradient(135deg, #fff7f8, #fff0f3);
      }

      .journey-content .section-heading {
        margin-block: 15px 25px;
      }

      .journey-copy > p {
        color: var(--muted);
        font-size: 0.96rem;
        line-height: 1.9;
      }

      .journey-copy > p:last-child {
        margin-bottom: 25px;
      }

      .journey-motto {
        display: flex;
        flex-direction: column;
        gap: 7px;
        margin: 0;
        padding: 18px 20px;
        border-left: 3px solid var(--pink);
        border-radius: 0 12px 12px 0;
        background: rgb(255 255 255 / 70%);
      }

      .journey-motto strong {
        color: var(--deep-pink);
        font-family: var(--serif);
        font-size: 1.25rem;
      }

      .journey-motto span {
        color: var(--muted);
        font-size: 0.86rem;
        line-height: 1.7;
      }

      .contact {
        padding-block: 91px;
      }

      .contact-box {
        position: relative;
        overflow: hidden;
        padding: 64px 32px;
        border-radius: 24px;
        background: #fae8ec;
      }

      .contact-box::before,
      .contact-box::after {
        position: absolute;
        width: 180px;
        height: 180px;
        border: 1px solid rgb(207 85 121 / 15%);
        border-radius: 50%;
        content: "";
      }

      .contact-box::before {
        top: -101px;
        left: -54px;
      }

      .contact-box::after {
        right: -70px;
        bottom: -121px;
        width: 260px;
        height: 260px;
      }

      .contact-box > * {
        position: relative;
        z-index: 1;
      }

      .contact-box .section-heading {
        max-width: 620px;
        margin: 15px auto;
      }

      .contact-box .section-intro {
        margin-bottom: 25px;
      }

      .contact-box .contact-invitation {
        margin-top: -12px;
      }

      .contact-email {
        display: inline-block;
        margin-top: 17px;
        color: #765d66;
        font-size: 0.84rem;
      }

      .contact-email:hover {
        color: var(--deep-pink);
      }

      .social-links {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 12px;
        margin-top: 20px;
      }

      .social-link {
        display: inline-flex;
        min-height: 45px;
        align-items: center;
        justify-content: center;
        gap: 9px;
        padding: 0 17px;
        border: 1px solid #e8cbd2;
        border-radius: 999px;
        background: rgb(255 255 255 / 65%);
        color: #765d66;
        font-size: 0.84rem;
        font-weight: 600;
        transition:
          transform 180ms ease,
          border-color 180ms ease,
          color 180ms ease;
      }

      .social-link:hover {
        transform: translateY(-2px);
        border-color: var(--deep-pink);
        color: var(--deep-pink);
      }

      footer {
        padding-block: 23px;
        border-top: 1px solid var(--line);
      }

      .footer-inner {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        color: var(--muted);
        font-size: 0.77rem;
      }

      .footer-inner p {
        margin: 0;
      }

      .footer-heart {
        color: var(--deep-pink);
      }

      @media (max-width: 850px) {
        .hero {
          min-height: 560px;
          gap: 25px;
        }

        .hero-visual {
          width: min(100%, 350px);
        }

        .about-grid {
          gap: 48px;
        }

        .skills-grid {
          grid-template-columns: repeat(2, 1fr);
        }

      }

      @media (max-width: 620px) {
        .container {
          width: min(100% - 36px, 480px);
        }

        .nav {
          min-height: 68px;
        }

        .menu-toggle {
          display: inline-flex;
        }

        .nav-links {
          position: absolute;
          top: calc(100% + 1px);
          right: 0;
          left: 0;
          display: none;
          align-items: stretch;
          gap: 0;
          padding: 10px 24px 20px;
          border-bottom: 1px solid var(--line);
          background: var(--paper);
        }

        .nav-links.is-open {
          display: flex;
          flex-direction: column;
        }

        .nav-links > a:not(.nav-cta) {
          padding: 13px 0;
          border-bottom: 1px solid var(--line);
        }

        .nav-cta {
          align-self: flex-start;
          margin-top: 14px;
        }

        .hero {
          min-height: auto;
          grid-template-columns: 1fr;
          gap: 32px;
          padding-block: 61px 60px;
        }

        h1 {
          max-width: 480px;
          margin-top: 18px;
          font-size: clamp(3.25rem, 15vw, 4.6rem);
        }

        .hero-copy > p {
          font-size: 0.94rem;
        }

        .hero-visual {
          width: min(78%, 340px);
          justify-self: center;
          margin-right: 16px;
        }

        .section {
          padding-block: 72px;
        }

        .about-grid {
          grid-template-columns: 1fr;
          gap: 34px;
        }

        .journey-content {
          padding: 30px 23px;
        }

        .about-card {
          min-height: 280px;
        }

        .about-card::before {
          width: 220px;
          height: 220px;
          top: 30px;
          left: calc(50% - 110px);
        }

        .about-card::after {
          width: 160px;
          height: 160px;
          top: 60px;
          left: calc(50% - 80px);
        }

        .card-letter {
          font-size: 6.5rem;
        }

        .stats {
          gap: 25px;
        }

        .skills-grid {
          gap: 12px;
          margin-top: 34px;
        }

        .skill-card {
          min-height: 165px;
          padding: 19px 15px;
        }

        .contact {
          padding-block: 60px;
        }

        .contact-box {
          padding: 50px 22px;
        }

        .footer-inner {
          align-items: flex-start;
          flex-direction: column;
          gap: 8px;
          padding-block: 4px;
        }
      }

      @media (prefers-reduced-motion: reduce) {
        *,
        *::before,
        *::after {
          scroll-behavior: auto !important;
          transition-duration: 0.01ms !important;
        }
      }
