@font-face{font-family:"Euclid Circular A";src:url("../font/EuclidCircularA-Medium.ttf") format("truetype");font-weight:500;font-style:normal;font-display:swap;}
    @font-face{font-family:"Euclid Circular A";src:url("../font/EuclidCircularA-SemiBold.ttf") format("truetype");font-weight:600;font-style:normal;font-display:swap;}
    @font-face{font-family:"Baskerville Custom";src:url("../font/baskervi.ttf") format("truetype");font-weight:400;font-style:italic;font-display:swap;}
    @font-face{font-family:"Baskerville Custom";src:url("../font/BaskervilleBoldItalicBT.ttf") format("truetype");font-weight:700;font-style:italic;font-display:swap;}

:root{
      --page-bg:#fffbf5;
      --brand:#c79a5a;
      --theme:#a95917;
      --text:#1d1d1f;
      --muted:#6b6b6b;
      --side-gap:5rem;
      --ls-70:.07em;
    }

    /* GLOBAL */
    *,*::before,*::after{box-sizing:border-box}
    html,body{height:100%;margin:0}
    html,body{overflow-x:hidden;} /* guardrail against any stray overflow */
    body{
      background:var(--page-bg);
      color:var(--text);
      font-family:"Euclid Circular A","Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
      -webkit-text-size-adjust:100%;
      text-size-adjust:100%;
    }
    img{max-width:100%;height:auto;display:block}
    a{touch-action:manipulation}

    /* FOOTER */
    .site-footer{
      background:var(--page-bg);
      color:var(--text);
      padding:0 var(--side-gap);
      font-size:13px;
      line-height:1.65;
    }

    .footer-divider{
      height:2px;
      background:rgba(169,89,23,.22);
      margin:0 0 12px;
    }

    .footer-container{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:40px;
      padding:12px 0 22px;
      flex-wrap:wrap;
    }

    /* Left: logo */
    .footer-logo img{ height:56px; width:auto; }

    /* Center: columns rail */
    .footer-center{
      display:flex;
      justify-content:center;
      align-items:flex-start;
      gap:120px;
      flex:1 1 520px;   /* flexible */
      /* NOTE: removed the min-width that caused overflow on phones */
      flex-wrap:wrap;
    }

    .footer-col{ text-align:left; min-width:180px; }

    .footer-hd{
      font-weight:700;
      color:var(--theme);
      margin:2px 0 8px;
      font-size:12px;
      letter-spacing:.05em;
      text-transform:uppercase;
    }

    .footer-list{ list-style:none; margin:0; padding:0; }
    .footer-list li + li{ margin-top:6px; }
    .footer-list a{
      color:var(--theme);
      text-decoration:none;
      font-weight:400;
      font-size:12px;
      letter-spacing:.06em;
    }
    .footer-list a:hover{ opacity:.85; text-decoration:underline; }

    /* Socials */
    .footer-socials{
      display:grid;
      grid-template-columns:repeat(3,30px);
      grid-auto-rows:30px;
      gap:10px 14px;
      justify-content:start;
      margin-top:4px;
    }
    .footer-socials a{
      display:grid;
      place-items:center;
      width:30px;height:30px;
      text-decoration:none;
    }
    .footer-socials i{ font-size:18px; color:var(--theme); }
    .footer-socials .xhs{
      width:18px;height:18px;display:inline-block;background:var(--theme);
      -webkit-mask:url('../ContactUs-img/xhs_logo.png') center/contain no-repeat;
              mask:url('../ContactUs-img/xhs_logo.png') center/contain no-repeat;
    }

    /* Bottom bar — true full-bleed without overflow */
    .footer-bottom{
      background:var(--theme);
      color:#fff;
      text-align:center;
      padding:12px 16px;
      font-size:clamp(9.5px, 2.4vw, 12px);
      line-height:1.45;
      letter-spacing:.03em;
      white-space:normal;
      word-break:break-word;

      /* full bleed that won't widen the layout */
      width:100dvw;                             /* device viewport width */
      margin-left:calc(50% - 50dvw);
      margin-right:calc(50% - 50dvw);
    }

    /* RESPONSIVE */
    @media (max-width: 1024px){
      :root{ --side-gap:3rem; }
      .site-footer{ font-size:12.5px; }
      .footer-center{ gap:80px; }
    }

    @media (max-width: 820px){
      :root{ --side-gap:1.25rem; }

      .footer-container{
        gap:24px;
        padding:10px 0 18px;
      }

      .footer-logo img{ height:52px; }

      .footer-center{
        gap:0;
        flex:1 1 100%;
      }
      .footer-col{
        width:100%;
        max-width:360px;
        margin-bottom:16px;
      }

      .footer-socials{
        grid-template-columns:repeat(6,32px);
        grid-auto-rows:32px;
        gap:10px 12px;
      }

      .site-footer{ font-size:12px; }
    }

    @media (max-width: 480px){
      :root{ --side-gap:1rem; }
      .footer-logo img{ height:46px; }

      .footer-hd{ font-size:14px; font-weight:750; }
      .footer-col{ max-width:none; }
      .footer-list li + li{ margin-top:8px; }
      .footer-list a{
        display:inline-block;
        padding:.2rem 0;
        font-size:12px;
        letter-spacing:.05em;
        font-weight:400;
      }

      /* make socials compact but within the rail */
      .footer-socials{
        grid-template-columns:repeat(6,30px);
        grid-auto-rows:30px;
        gap:10px 10px;
      }

      .footer-bottom{
        font-size:10px;     /* smaller on phones */
        letter-spacing:.02em;
        padding:10px 12px;
      }
    }

    @media (max-width: 360px){
      :root{ --side-gap:.75rem; }
      .footer-logo img{ height:42px; }
      .footer-bottom{ font-size:8px; } /* tiny phones */
    }
