/* ===========================================================================
   HOMESARA THEME — ROOT (style.css)
   Design tokens, resets, typography, shared utility classes.
   Extracted verbatim from index.html lines 12-67 (original source of truth).
   =========================================================================== */

  :root{
    --font-heading:'Playfair Display',serif;
    --font-body:'Poppins',sans-serif;
    --cream:#faf7f1;
    --cream-2:#f2ebdd;
    --topbar:#efe7d8;
    --brown-900:#3a2a1c;
    --brown-800:#4a3524;
    --brown-700:#5c4230;
    --brown-500:#8a6a4d;
    --gold:#dcb37a;
    --gold-dark:#d3a25c;
    --ink:#2a211a;
    --muted:#786f64;
    --line:#e7ded0;
    --white:#ffffff;
    --red:#b64a3a;
    --green:#3fbe62;
  }
  *{box-sizing:border-box;}
  /* overflow-x:hidden guards against the 100vw full-bleed technique (used to
     break the gallery hero out of its Elementor column - see common.css
     ".hs-widget .page-hero") always overflowing by the vertical scrollbar's
     width: 100vw includes the scrollbar, % values don't, so the negative
     margin trick overshoots by that amount whenever a scrollbar is present. */
  html{scroll-behavior:smooth;overflow-x:hidden;}
  body{
    margin:0;
    font-family:var(--font-body);
    color:var(--ink);
    background:var(--white);
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,h4,.serif{font-family:var(--font-heading);}
  a{text-decoration:none;color:inherit;}
  ul{list-style:none;margin:0;padding:0;}
  img,svg{display:block;}
  button{font-family:inherit;cursor:pointer;}
  .wrap{max-width:1300px;margin:0 auto;padding:0 24px;}
  .eyebrow{
    font-size:12.5px;letter-spacing:2.5px;font-weight:600;color:var(--gold-dark);
    text-transform:uppercase;display:flex;align-items:center;gap:10px;
  }
  .eyebrow.center{justify-content:center;}
  .eyebrow::before{content:"";width:22px;height:1.5px;background:var(--gold-dark);display:inline-block;}
  .eyebrow.center::before{display:none;}
  .section{padding:64px 0;}
  .section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:34px;flex-wrap:wrap;gap:14px;}
  .section-head h2{margin:6px 0 0;font-size:26px;letter-spacing:.5px;color:var(--ink);text-transform:uppercase;}
  .view-all{font-size:13.5px;font-weight:600;color:var(--brown-800);display:flex;align-items:center;gap:6px;white-space:nowrap;}
  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    padding:14px 30px;font-size:12.5px;font-weight:600;letter-spacing:1.5px;
    text-transform:uppercase;border-radius:2px;border:1.5px solid transparent;
    transition:all .2s ease;
  }
  .btn-solid{background:var(--brown-800);color:var(--white);}
  .btn-solid:hover{background:var(--brown-900);}
  .btn-outline{background:transparent;color:var(--brown-800);border-color:var(--brown-800);}
  .btn-outline:hover{background:var(--brown-800);color:var(--white);}
  .btn-outline-light{background:transparent;color:var(--white);border-color:rgba(255,255,255,.75);}
  .btn-outline-light:hover{background:var(--white);color:var(--brown-800);}
  .icon{width:18px;height:18px;flex-shrink:0;}

