/* =========================================================
       DESIGN SYSTEM
       ========================================================= */

    :root {

      --coral: #E85D4A;
      --coral-deep: #C6432F;
      --coral-light: #F17B69;

      --coral-soft: #FBE9E5;
      --coral-mist: #FFF5F2;

      --ink: #22252B;
      --ink-soft: #6B625F;
      --ink-muted: #958D88;

      --bg: #FFFDF9;

      --surface: #F7F1E9;
      --surface-strong: #EFE4D8;

      --line: #E8DED5;

      --positive: #34785A;
      --positive-soft: #EAF4EE;

      --negative: #B3462C;
      --negative-soft: #F8ECE8;

      --placeholder: #B8B0AA;

      --site-width: 1460px;

      --ease:
        cubic-bezier(.22,.8,.22,1);

      --ease-out:
        cubic-bezier(.16,1,.3,1);

    }


    /* =========================================================
       RESET
       ========================================================= */

    *,
    *::before,
    *::after {
      box-sizing: border-box;
    }


    html {
      scroll-behavior: smooth;
    }


    body {

      margin: 0;

      overflow-x: hidden;

      background:
        var(--bg);

      color:
        var(--ink);

      font-family:
        Inter,
        ui-sans-serif,
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;

      -webkit-font-smoothing:
        antialiased;

      text-rendering:
        optimizeLegibility;

    }


    button,
    input,
    textarea {
      font: inherit;
    }


    button,
    a {
      -webkit-tap-highlight-color:
        transparent;
    }


    a {
      color: inherit;
    }


    textarea {
      resize: vertical;
    }


    /* =========================================================
       GLOBAL WIDTH
       ========================================================= */

    .site-container,
    .header-inner {

      width:
        min(
          var(--site-width),
          calc(100% - 48px)
        );

      margin-inline:
        auto;

    }


    /* =========================================================
       HEADER
       ========================================================= */

    .qf-header {

      position:
        sticky;

      top:
        0;

      z-index:
        1000;

      width:
        100%;

      border-bottom:
        1px solid rgba(232,222,213,.68);

      background:
        rgba(255,253,249,.92);

      backdrop-filter:
        blur(18px)
        saturate(140%);

      -webkit-backdrop-filter:
        blur(18px)
        saturate(140%);

      transition:
        background 220ms ease,
        border-color 220ms ease,
        box-shadow 220ms ease;

    }


    .qf-header::before {

      content:
        "";

      position:
        absolute;

      top:
        0;

      left:
        0;

      right:
        0;

      height:
        3px;

      background:
        linear-gradient(
          90deg,
          var(--coral-deep),
          var(--coral),
          #F28A78
        );

    }


    .qf-header.is-scrolled {

      background:
        rgba(255,253,249,.98);

      border-bottom-color:
        var(--line);

      box-shadow:
        0 12px 36px rgba(34,37,43,.055);

    }


    .header-inner {

      height:
        76px;

      display:
        flex;

      align-items:
        center;

      gap:
        18px;

    }


    /* =========================================================
       LOGO
       ========================================================= */

    .logo {

      flex:
        0 0 auto;

      display:
        inline-flex;

      align-items:
        center;

      text-decoration:
        none;

      transition:
        transform 180ms var(--ease);

    }


    .logo:hover {
      transform:
        translateY(-1px);
    }


    .logo-placeholder {

      display:
        flex;

      align-items:
        center;

      gap:
        9px;

      font-size:
        21px;

      font-weight:
        790;

      letter-spacing:
        -.045em;

    }


    .logo-mark {

      width:
        35px;

      height:
        35px;

      display:
        grid;

      place-items:
        center;

      border-radius:
        10px;

      background:
        linear-gradient(
          145deg,
          var(--coral),
          var(--coral-deep)
        );

      color:
        #fff;

      font-size:
        12px;

      font-weight:
        850;

      box-shadow:
        0 6px 17px rgba(232,93,74,.21);

    }


    .logo-placeholder strong {
      color:
        var(--coral);
    }


    /* =========================================================
       NAV
       ========================================================= */

    .main-nav {

      margin-left:
        auto;

      display:
        flex;

      align-items:
        center;

      gap:
        3px;

    }


    .nav-link {

      position:
        relative;

      min-height:
        42px;

      padding:
        0 11px;

      display:
        inline-flex;

      align-items:
        center;

      border-radius:
        10px;

      color:
        var(--ink-soft);

      text-decoration:
        none;

      font-size:
        14px;

      font-weight:
        590;

      white-space:
        nowrap;

      transition:
        background 170ms ease,
        color 170ms ease;

    }


    .nav-link::after {

      content:
        "";

      position:
        absolute;

      left:
        12px;

      right:
        12px;

      bottom:
        4px;

      height:
        2px;

      border-radius:
        99px;

      background:
        var(--coral);

      transform:
        scaleX(0);

      transition:
        transform 220ms var(--ease);

    }


    .nav-link:hover,
    .nav-link.active {

      color:
        var(--ink);

      background:
        var(--coral-mist);

    }


    .nav-link:hover::after,
    .nav-link.active::after {
      transform:
        scaleX(1);
    }


    .header-divider {

      width:
        1px;

      height:
        25px;

      margin-inline:
        3px;

      background:
        var(--line);

    }


    /* =========================================================
       HEADER ACTIONS
       ========================================================= */

    .header-search {

      min-height:
        44px;

      padding:
        0 14px;

      display:
        inline-flex;

      align-items:
        center;

      gap:
        8px;

      border:
        1px solid rgba(232,93,74,.24);

      border-radius:
        12px;

      background:
        var(--coral-mist);

      color:
        var(--coral-deep);

      text-decoration:
        none;

      font-size:
        13px;

      font-weight:
        700;

      transition:
        background 180ms ease,
        transform 180ms var(--ease),
        box-shadow 180ms ease;

    }


    .header-search:hover {

      transform:
        translateY(-1px);

      background:
        var(--coral-soft);

      box-shadow:
        0 7px 20px rgba(232,93,74,.11);

    }


    .header-login {

      min-height:
        44px;

      padding:
        0 11px;

      display:
        inline-flex;

      align-items:
        center;

      text-decoration:
        none;

      font-size:
        13px;

      font-weight:
        650;

    }


    .header-register {

      min-height:
        46px;

      padding:
        0 17px;

      display:
        inline-flex;

      align-items:
        center;

      border-radius:
        12px;

      background:
        var(--coral);

      color:
        #fff;

      text-decoration:
        none;

      font-size:
        13px;

      font-weight:
        730;

      box-shadow:
        0 7px 20px rgba(232,93,74,.18);

      transition:
        transform 180ms var(--ease),
        background 180ms ease,
        box-shadow 180ms ease;

    }


    .header-register:hover {

      transform:
        translateY(-2px);

      background:
        var(--coral-deep);

      box-shadow:
        0 11px 26px rgba(198,67,47,.22);

    }


    /* =========================================================
       MOBILE HEADER
       ========================================================= */

    .mobile-toggle {

      display:
        none;

      position:
        relative;

      width:
        44px;

      height:
        44px;

      margin-left:
        auto;

      border:
        0;

      border-radius:
        11px;

      background:
        transparent;

      cursor:
        pointer;

    }


    .mobile-toggle span {

      position:
        absolute;

      left:
        11px;

      width:
        22px;

      height:
        2px;

      border-radius:
        99px;

      background:
        var(--ink);

      transition:
        top 220ms var(--ease),
        transform 220ms var(--ease);

    }


    .mobile-toggle span:first-child {
      top:
        17px;
    }


    .mobile-toggle span:last-child {
      top:
        25px;
    }


    .mobile-toggle.open
    span:first-child {

      top:
        21px;

      transform:
        rotate(45deg);

    }


    .mobile-toggle.open
    span:last-child {

      top:
        21px;

      transform:
        rotate(-45deg);

    }


    .mobile-menu {
      display:
        none;
    }


    /* =========================================================
       HERO
       ========================================================= */

    .contact-hero {

      position:
        relative;

      overflow:
        hidden;

      padding:
        82px 0 120px;

      background:
        linear-gradient(
          180deg,
          #FFF4F0 0%,
          #FFF9F6 52%,
          var(--bg) 100%
        );

    }


    .contact-hero::before {

      content:
        "";

      position:
        absolute;

      top:
        -460px;

      right:
        -260px;

      width:
        870px;

      height:
        870px;

      border-radius:
        50%;

      background:
        radial-gradient(
          circle,
          rgba(232,93,74,.16),
          rgba(232,93,74,.04) 45%,
          transparent 72%
        );

      pointer-events:
        none;

    }


    .contact-hero::after {

      content:
        "";

      position:
        absolute;

      bottom:
        -300px;

      left:
        -240px;

      width:
        560px;

      height:
        560px;

      border-radius:
        50%;

      background:
        radial-gradient(
          circle,
          rgba(217,164,65,.08),
          transparent 70%
        );

      pointer-events:
        none;

    }


    .contact-grid {

      position:
        relative;

      z-index:
        2;

      display:
        grid;

      grid-template-columns:
        minmax(0,.82fr)
        minmax(560px,1.18fr);

      gap:
        clamp(70px,8vw,135px);

      align-items:
        start;

    }


    /* =========================================================
       LEFT SIDE
       ========================================================= */

    .contact-copy {

      padding-top:
        38px;

    }


    .hero-eyebrow {

      margin-bottom:
        21px;

      display:
        inline-flex;

      align-items:
        center;

      gap:
        9px;

      padding:
        7px 11px;

      border:
        1px solid rgba(232,93,74,.17);

      border-radius:
        999px;

      background:
        rgba(255,255,255,.72);

      color:
        var(--coral-deep);

      font-size:
        11px;

      font-weight:
        790;

      letter-spacing:
        .075em;

      text-transform:
        uppercase;

    }


    .hero-dot {

      width:
        7px;

      height:
        7px;

      border-radius:
        50%;

      background:
        var(--coral);

      box-shadow:
        0 0 0 5px rgba(232,93,74,.09);

    }


    .contact-title {

      max-width:
        720px;

      margin:
        0;

      font-size:
        clamp(58px,5.8vw,90px);

      line-height:
        .98;

      font-weight:
        790;

      letter-spacing:
        -.068em;

    }


    .contact-title em {

      color:
        var(--coral);

      font-style:
        normal;

    }


    .contact-description {

      max-width:
        610px;

      margin:
        28px 0 0;

      color:
        var(--ink-soft);

      font-size:
        clamp(16px,1.4vw,19px);

      line-height:
        1.72;

    }


    .contact-description strong {

      color:
        var(--ink);

      font-weight:
        690;

    }


    /* =========================================================
       CONTACT DETAILS
       ========================================================= */

    .direct-contacts {

      margin-top:
        43px;

      display:
        grid;

      gap:
        11px;

    }


    .direct-contact {

      position:
        relative;

      overflow:
        hidden;

      min-height:
        92px;

      padding:
        16px;

      display:
        flex;

      align-items:
        center;

      gap:
        15px;

      border:
        1px solid var(--line);

      border-radius:
        16px;

      background:
        rgba(255,255,255,.77);

      text-decoration:
        none;

      transition:
        transform 220ms var(--ease-out),
        background 220ms ease,
        border-color 220ms ease,
        box-shadow 220ms ease;

    }


    .direct-contact:hover {

      transform:
        translateX(5px);

      border-color:
        rgba(232,93,74,.28);

      background:
        #fff;

      box-shadow:
        0 14px 35px rgba(34,37,43,.055);

    }


    .direct-contact-icon {

      width:
        50px;

      height:
        50px;

      display:
        grid;

      place-items:
        center;

      flex:
        0 0 auto;

      border-radius:
        14px;

      background:
        var(--coral-soft);

      color:
        var(--coral-deep);

      font-size:
        17px;

    }


    .direct-contact-content {

      min-width:
        0;

      flex:
        1;

    }


    .direct-contact-label {

      display:
        block;

      color:
        var(--ink-muted);

      font-size:
        9px;

      font-weight:
        780;

      letter-spacing:
        .075em;

      text-transform:
        uppercase;

    }


    .direct-contact-value {

      display:
        block;

      margin-top:
        4px;

      color:
        var(--ink);

      font-size:
        16px;

      font-weight:
        710;

      letter-spacing:
        -.015em;

    }


    .direct-contact-address {

      line-height:
        1.35;

    }


    .direct-contact-arrow {

      width:
        35px;

      height:
        35px;

      display:
        grid;

      place-items:
        center;

      flex:
        0 0 auto;

      border-radius:
        10px;

      background:
        var(--coral-mist);

      color:
        var(--coral-deep);

      transition:
        transform 190ms var(--ease);

    }


    .direct-contact:hover
    .direct-contact-arrow {

      transform:
        translate(3px,-3px);

    }


    /* =========================================================
       CONTACT CONTEXT
       ========================================================= */

    .contact-context {

      margin-top:
        31px;

      padding-top:
        25px;

      border-top:
        1px solid var(--line);

    }


    .contact-context-title {

      margin:
        0 0 13px;

      color:
        var(--ink-soft);

      font-size:
        10px;

      font-weight:
        780;

      letter-spacing:
        .08em;

      text-transform:
        uppercase;

    }


    .contact-context-items {

      display:
        flex;

      flex-wrap:
        wrap;

      gap:
        8px;

    }


    .contact-context-item {

      min-height:
        34px;

      padding:
        0 10px;

      display:
        inline-flex;

      align-items:
        center;

      gap:
        7px;

      border:
        1px solid var(--line);

      border-radius:
        9px;

      background:
        rgba(255,255,255,.65);

      color:
        var(--ink-soft);

      font-size:
        10px;

      font-weight:
        620;

    }


    .contact-context-item i {
      color:
        var(--coral);
    }


    /* =========================================================
       FORM CARD
       ========================================================= */

    .form-card {

      position:
        relative;

      padding:
        10px;

      border:
        1px solid rgba(232,222,213,.86);

      border-radius:
        28px;

      background:
        rgba(255,255,255,.68);

      box-shadow:
        0 32px 80px rgba(34,37,43,.11);

      backdrop-filter:
        blur(16px);

      -webkit-backdrop-filter:
        blur(16px);

    }


    .form-card-inner {

      padding:
        36px;

      border:
        1px solid var(--line);

      border-radius:
        20px;

      background:
        rgba(255,253,249,.97);

    }


    .form-head {

      padding-bottom:
        27px;

      border-bottom:
        1px solid var(--line);

    }


    .form-icon {

      width:
        47px;

      height:
        47px;

      margin-bottom:
        18px;

      display:
        grid;

      place-items:
        center;

      border-radius:
        13px;

      background:
        var(--coral-soft);

      color:
        var(--coral-deep);

      font-size:
        18px;

    }


    .form-title {

      margin:
        0;

      font-size:
        29px;

      line-height:
        1.1;

      letter-spacing:
        -.04em;

    }


    .form-description {

      max-width:
        580px;

      margin:
        9px 0 0;

      color:
        var(--ink-soft);

      font-size:
        12px;

      line-height:
        1.6;

    }


    /* =========================================================
       FORM
       ========================================================= */

    .contact-form {

      margin-top:
        28px;

    }


    .form-grid {

      display:
        grid;

      grid-template-columns:
        repeat(2,minmax(0,1fr));

      gap:
        18px;

    }


    .field.full {
      grid-column:
        1 / -1;
    }


    .field-label {

      display:
        flex;

      align-items:
        center;

      gap:
        4px;

      margin-bottom:
        7px;

      font-size:
        11px;

      font-weight:
        700;

    }


    .required {
      color:
        var(--coral);
    }


    .optional {

      color:
        var(--ink-muted);

      font-size:
        9px;

      font-weight:
        500;

    }


    .input,
    .textarea {

      width:
        100%;

      border:
        1px solid var(--line);

      outline:
        0;

      border-radius:
        11px;

      background:
        #fff;

      color:
        var(--ink);

      font-size:
        13px;

      transition:
        border-color 170ms ease,
        box-shadow 170ms ease,
        background 170ms ease;

    }


    .input {

      height:
        49px;

      padding:
        0 13px;

    }


    .textarea {

      min-height:
        158px;

      padding:
        13px;

      line-height:
        1.55;

    }


    .input::placeholder,
    .textarea::placeholder {

      color:
        var(--placeholder);

      opacity:
        1;

      font-weight:
        400;

    }


    .input:focus::placeholder,
    .textarea:focus::placeholder {

      color:
        #C9C1BB;

    }


    .input:hover,
    .textarea:hover {

      border-color:
        #D5C8BD;

    }


    .input:focus,
    .textarea:focus {

      border-color:
        var(--coral);

      box-shadow:
        0 0 0 4px rgba(232,93,74,.08);

    }


    .input:user-invalid,
    .textarea:user-invalid {

      border-color:
        rgba(179,70,44,.52);

    }


    /* =========================================================
       HONEYPOT
       ========================================================= */

    .website-field {

      position:
        absolute;

      width:
        1px;

      height:
        1px;

      overflow:
        hidden;

      clip:
        rect(0 0 0 0);

      white-space:
        nowrap;

    }


    /* =========================================================
       PRIVACY
       ========================================================= */

    .privacy-field {

      margin-top:
        19px;

    }


    .privacy-label {

      display:
        flex;

      align-items:
        flex-start;

      gap:
        10px;

      cursor:
        pointer;

    }


    .privacy-label input {

      position:
        absolute;

      opacity:
        0;

      pointer-events:
        none;

    }


    .custom-checkbox {

      position:
        relative;

      width:
        20px;

      height:
        20px;

      margin-top:
        1px;

      display:
        grid;

      place-items:
        center;

      flex:
        0 0 auto;

      border:
        1.5px solid #CFC6C0;

      border-radius:
        6px;

      background:
        #fff;

      color:
        #fff;

      transition:
        border-color 170ms ease,
        background 170ms ease,
        box-shadow 170ms ease;

    }


    .custom-checkbox i {

      opacity:
        0;

      font-size:
        9px;

      transform:
        scale(.6);

      transition:
        opacity 150ms ease,
        transform 170ms var(--ease);

    }


    .privacy-label input:checked
    + .custom-checkbox {

      border-color:
        var(--coral);

      background:
        var(--coral);

    }


    .privacy-label input:checked
    + .custom-checkbox i {

      opacity:
        1;

      transform:
        scale(1);

    }


    .privacy-label input:focus-visible
    + .custom-checkbox {

      box-shadow:
        0 0 0 4px rgba(232,93,74,.10);

    }


    .privacy-copy {

      color:
        var(--ink-soft);

      font-size:
        10px;

      line-height:
        1.55;

    }


    .privacy-copy a {

      color:
        var(--coral-deep);

      font-weight:
        680;

    }


    /* =========================================================
       SUBMIT
       ========================================================= */

    .form-submit-row {

      margin-top:
        25px;

      padding-top:
        23px;

      display:
        flex;

      align-items:
        center;

      justify-content:
        space-between;

      gap:
        20px;

      border-top:
        1px solid var(--line);

    }


    .form-small-note {

      max-width:
        300px;

      color:
        var(--ink-muted);

      font-size:
        9px;

      line-height:
        1.5;

    }


    .submit-button {

      min-height:
        50px;

      padding:
        0 20px;

      display:
        inline-flex;

      align-items:
        center;

      justify-content:
        center;

      gap:
        9px;

      border:
        0;

      border-radius:
        12px;

      background:
        var(--coral);

      color:
        #fff;

      cursor:
        pointer;

      font-size:
        13px;

      font-weight:
        740;

      box-shadow:
        0 8px 20px rgba(232,93,74,.19);

      transition:
        transform 180ms var(--ease),
        background 180ms ease,
        box-shadow 180ms ease;

    }


    .submit-button:hover {

      transform:
        translateY(-2px);

      background:
        var(--coral-deep);

      box-shadow:
        0 12px 27px rgba(198,67,47,.22);

    }


    .submit-button:disabled {

      opacity:
        .65;

      cursor:
        wait;

      transform:
        none;

    }


    /* =========================================================
       LOWER HELP
       ========================================================= */

    .contact-bottom {

      padding:
        112px 0 100px;

      background:
        var(--bg);

    }


    .contact-bottom-grid {

      display:
        grid;

      grid-template-columns:
        .82fr 1.18fr;

      gap:
        clamp(65px,8vw,135px);

      align-items:
        center;

    }


    .section-kicker {

      margin-bottom:
        15px;

      display:
        inline-flex;

      align-items:
        center;

      gap:
        8px;

      color:
        var(--coral-deep);

      font-size:
        11px;

      font-weight:
        790;

      letter-spacing:
        .08em;

      text-transform:
        uppercase;

    }


    .section-kicker i {
      font-size:
        7px;
    }


    .section-title {

      max-width:
        720px;

      margin:
        0;

      font-size:
        clamp(40px,4.4vw,66px);

      line-height:
        1.03;

      font-weight:
        770;

      letter-spacing:
        -.057em;

    }


    .section-title em {

      color:
        var(--coral);

      font-style:
        normal;

    }


    .section-description {

      max-width:
        650px;

      margin:
        20px 0 0;

      color:
        var(--ink-soft);

      font-size:
        15px;

      line-height:
        1.72;

    }


    /* =========================================================
       HELP LINKS
       ========================================================= */

    .help-links {

      display:
        grid;

      grid-template-columns:
        repeat(2,1fr);

      gap:
        12px;

    }


    .help-card {

      position:
        relative;

      min-height:
        210px;

      padding:
        24px;

      display:
        flex;

      flex-direction:
        column;

      border:
        1px solid var(--line);

      border-radius:
        19px;

      background:
        #fff;

      text-decoration:
        none;

      transition:
        transform 230ms var(--ease-out),
        border-color 230ms ease,
        box-shadow 230ms ease;

    }


    .help-card:hover {

      transform:
        translateY(-5px);

      border-color:
        rgba(232,93,74,.25);

      box-shadow:
        0 17px 42px rgba(34,37,43,.06);

    }


    .help-icon {

      width:
        42px;

      height:
        42px;

      display:
        grid;

      place-items:
        center;

      border-radius:
        12px;

      background:
        var(--coral-soft);

      color:
        var(--coral-deep);

    }


    .help-card h3 {

      margin:
        27px 0 0;

      font-size:
        19px;

      letter-spacing:
        -.03em;

    }


    .help-card p {

      margin:
        8px 0 0;

      color:
        var(--ink-soft);

      font-size:
        11px;

      line-height:
        1.55;

    }


    .help-arrow {

      position:
        absolute;

      right:
        20px;

      bottom:
        19px;

      width:
        34px;

      height:
        34px;

      display:
        grid;

      place-items:
        center;

      border-radius:
        9px;

      background:
        var(--coral-mist);

      color:
        var(--coral-deep);

      transition:
        transform 190ms var(--ease);

    }


    .help-card:hover
    .help-arrow {

      transform:
        translate(3px,-3px);

    }


    /* =========================================================
       FINAL CONTACT BAND
       ========================================================= */

    .final-band {

      padding:
        0 0 95px;

      background:
        var(--bg);

    }


    .final-band-inner {

      position:
        relative;

      overflow:
        hidden;

      padding:
        clamp(45px,6vw,75px);

      display:
        grid;

      grid-template-columns:
        minmax(0,1fr)
        minmax(340px,.65fr);

      align-items:
        center;

      gap:
        60px;

      border-radius:
        29px;

      background:
        var(--coral);

      color:
        #fff;

      box-shadow:
        0 26px 65px rgba(198,67,47,.18);

    }


    .final-band-inner::before {

      content:
        "";

      position:
        absolute;

      top:
        -300px;

      right:
        -240px;

      width:
        570px;

      height:
        570px;

      border-radius:
        50%;

      background:
        rgba(255,255,255,.09);

    }


    .final-band-copy,
    .final-band-actions {

      position:
        relative;

      z-index:
        2;

    }


    .final-band-copy h2 {

      max-width:
        750px;

      margin:
        0;

      font-size:
        clamp(35px,4vw,58px);

      line-height:
        1.03;

      letter-spacing:
        -.052em;

    }


    .final-band-copy p {

      max-width:
        630px;

      margin:
        15px 0 0;

      color:
        rgba(255,255,255,.78);

      font-size:
        13px;

      line-height:
        1.65;

    }


    .final-band-actions {

      display:
        grid;

      gap:
        9px;

    }


    .final-band-button {

      min-height:
        51px;

      padding:
        0 16px;

      display:
        flex;

      align-items:
        center;

      gap:
        10px;

      border:
        1px solid rgba(255,255,255,.22);

      border-radius:
        12px;

      background:
        #fff;

      color:
        var(--coral-deep);

      text-decoration:
        none;

      font-size:
        12px;

      font-weight:
        740;

      transition:
        transform 180ms var(--ease),
        box-shadow 180ms ease;

    }


    .final-band-button:hover {

      transform:
        translateY(-2px);

      box-shadow:
        0 9px 23px rgba(114,38,27,.14);

    }


    .final-band-button i {

      width:
        19px;

      text-align:
        center;

    }


    /* =========================================================
       TOAST
       ========================================================= */

    .toast {

      position:
        fixed;

      z-index:
        4000;

      right:
        24px;

      bottom:
        24px;

      max-width:
        380px;

      padding:
        14px 16px;

      display:
        flex;

      align-items:
        center;

      gap:
        10px;

      border:
        1px solid rgba(52,120,90,.20);

      border-radius:
        13px;

      background:
        #fff;

      color:
        var(--positive);

      box-shadow:
        0 18px 50px rgba(34,37,43,.14);

      font-size:
        12px;

      font-weight:
        670;

      opacity:
        0;

      visibility:
        hidden;

      pointer-events:
        none;

      transform:
        translateY(12px);

      transition:
        opacity 180ms ease,
        visibility 180ms ease,
        transform 200ms var(--ease);

    }


    .toast.show {

      opacity:
        1;

      visibility:
        visible;

      transform:
        translateY(0);

    }


    .toast.toast-error {

      border-color:
        rgba(179,70,44,.25);

      color:
        var(--negative);

    }


    .toast.toast-error .toast-icon {

      background:
        var(--negative-soft);

      color:
        var(--negative);

    }


    .toast-icon {

      width:
        27px;

      height:
        27px;

      display:
        grid;

      place-items:
        center;

      flex:
        0 0 auto;

      border-radius:
        8px;

      background:
        var(--positive-soft);

    }


    /* =========================================================
       REVEAL
       ========================================================= */

    .reveal {

      opacity:
        0;

      transform:
        translateY(38px);

      transition:
        opacity 850ms var(--ease-out),
        transform 850ms var(--ease-out);

    }


    .reveal-left {
      transform:
        translateX(-44px);
    }


    .reveal-right {
      transform:
        translateX(44px);
    }


    .reveal-scale {

      transform:
        translateY(20px)
        scale(.97);

    }


    .reveal.visible {

      opacity:
        1;

      transform:
        translate(0,0)
        scale(1);

    }


    .delay-1 {
      transition-delay:
        90ms;
    }


    .delay-2 {
      transition-delay:
        170ms;
    }


    /* =========================================================
       RESPONSIVE HEADER
       ========================================================= */

    @media (max-width: 1220px) {

      .site-container,
      .header-inner {

        width:
          calc(100% - 32px);

      }


      .main-nav,
      .header-divider,
      .header-search,
      .header-login,
      .header-register {

        display:
          none;

      }


      .mobile-toggle {
        display:
          block;
      }


      .mobile-menu {

        display:
          grid;

        grid-template-rows:
          0fr;

        width:
          calc(100% - 24px);

        margin:
          0 auto;

        opacity:
          0;

        visibility:
          hidden;

        transition:
          grid-template-rows 280ms var(--ease),
          opacity 180ms ease,
          visibility 180ms ease,
          padding 180ms ease;

      }


      .mobile-menu.open {

        grid-template-rows:
          1fr;

        padding-bottom:
          13px;

        opacity:
          1;

        visibility:
          visible;

      }


      .mobile-menu-inner {
        overflow:
          hidden;
      }


      .mobile-menu-card {

        max-width:
          720px;

        margin:
          0 auto;

        padding:
          11px;

        border:
          1px solid var(--line);

        border-radius:
          17px;

        background:
          var(--bg);

        box-shadow:
          0 20px 45px rgba(34,37,43,.10);

      }


      .mobile-nav {
        display:
          grid;
      }


      .mobile-nav a {

        min-height:
          47px;

        padding:
          0 12px;

        display:
          flex;

        align-items:
          center;

        border-radius:
          10px;

        text-decoration:
          none;

        font-size:
          13px;

        font-weight:
          620;

      }


      .mobile-nav a:hover {

        background:
          var(--coral-mist);

        color:
          var(--coral-deep);

      }


      .mobile-actions {

        margin-top:
          8px;

        padding-top:
          10px;

        display:
          grid;

        grid-template-columns:
          1fr 1fr;

        gap:
          8px;

        border-top:
          1px solid var(--line);

      }


      .mobile-actions a {

        min-height:
          47px;

        display:
          flex;

        align-items:
          center;

        justify-content:
          center;

        border-radius:
          10px;

        text-decoration:
          none;

        font-size:
          13px;

        font-weight:
          710;

      }


      .mobile-login {

        border:
          1px solid var(--line);

        background:
          #fff;

      }


      .mobile-register {

        background:
          var(--coral);

        color:
          #fff;

      }

    }


    /* =========================================================
       TABLET
       ========================================================= */

    @media (max-width: 1000px) {

      .contact-grid {

        grid-template-columns:
          1fr;

        gap:
          58px;

      }


      .contact-copy {

        padding-top:
          0;

      }


      .contact-description {

        max-width:
          720px;

      }


      .direct-contacts {

        max-width:
          720px;

      }


      .contact-bottom-grid {

        grid-template-columns:
          1fr;

        gap:
          50px;

      }


      .final-band-inner {

        grid-template-columns:
          1fr;

        gap:
          33px;

      }


      .final-band-actions {

        max-width:
          620px;

      }

    }


    /* =========================================================
       MOBILE
       ========================================================= */

    @media (max-width: 680px) {

      .site-container,
      .header-inner {

        width:
          calc(100% - 28px);

      }


      .header-inner {
        height:
          68px;
      }


      .logo-placeholder {
        font-size:
          18px;
      }


      .logo-mark {

        width:
          32px;

        height:
          32px;

        font-size:
          10px;

      }


      .contact-hero {

        padding:
          48px 0 78px;

      }


      .contact-title {

        font-size:
          clamp(47px,13vw,65px);

      }


      .contact-description {

        margin-top:
          22px;

        font-size:
          15px;

      }


      .direct-contacts {
        margin-top:
          32px;
      }


      .direct-contact {

        min-height:
          83px;

        padding:
          13px;

      }


      .direct-contact-icon {

        width:
          44px;

        height:
          44px;

      }


      .direct-contact-value {

        font-size:
          14px;

      }


      .direct-contact-arrow {

        width:
          31px;

        height:
          31px;

      }


      .form-card {

        margin-inline:
          -3px;

        padding:
          6px;

        border-radius:
          21px;

      }


      .form-card-inner {

        padding:
          23px 17px;

        border-radius:
          16px;

      }


      .form-title {
        font-size:
          24px;
      }


      .form-grid {
        grid-template-columns:
          1fr;
      }


      .field.full {
        grid-column:
          auto;
      }


      .form-submit-row {

        align-items:
          stretch;

        flex-direction:
          column;

      }


      .form-small-note {
        max-width:
          none;
      }


      .submit-button {
        width:
          100%;
      }


      .contact-bottom {

        padding:
          80px 0 70px;

      }


      .help-links {
        grid-template-columns:
          1fr;
      }


      .help-card {
        min-height:
          190px;
      }


      .final-band {
        padding-bottom:
          70px;
      }


      .final-band-inner {

        padding:
          38px 24px;

        border-radius:
          22px;

      }


      .final-band-button {

        width:
          100%;

      }


      .toast {

        left:
          14px;

        right:
          14px;

        bottom:
          14px;

        max-width:
          none;

      }


      .mobile-actions {
        grid-template-columns:
          1fr;
      }

    }


    /* =========================================================
       ACCESSIBILITY
       ========================================================= */

    a:focus-visible,
    button:focus-visible {

      outline:
        3px solid rgba(232,93,74,.19);

      outline-offset:
        3px;

    }


    @media (prefers-reduced-motion: reduce) {

      *,
      *::before,
      *::after {

        scroll-behavior:
          auto !important;

        animation-duration:
          .01ms !important;

        transition-duration:
          .01ms !important;

      }


      .reveal {

        opacity:
          1;

        transform:
          none;

      }

    }