/* Fine Taraa – base: tokens, reset, typography, buttons, forms, shared utilities */
:root{
  --ft-maroon:#5c0a24; --ft-maroon-dark:#3f0618; --ft-maroon-soft:#7a1a38;
  --ft-gold:#c9a45c; --ft-gold-dark:#a9843a; --ft-gold-soft:#f1e4c8;
  --ft-cream:#faf7f0; --ft-cream-2:#f3ece0; --ft-white:#fff;
  --ft-ink:#2b1a20; --ft-muted:#7b6b70; --ft-line:#eadfd0; --ft-success:#2f7d4f; --ft-danger:#b3261e;
  --ft-font-head:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --ft-font-body:'Montserrat',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --ft-radius:4px; --ft-shadow:0 10px 30px rgba(92,10,36,.10); --ft-ease:cubic-bezier(.22,.61,.36,1);
  --ft-container:1280px; --ft-header-h:84px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body.ft-body{margin:0;font-family:var(--ft-font-body);font-size:15px;line-height:1.7;color:var(--ft-ink);background:var(--ft-cream);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg,video{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none;transition:color .25s var(--ft-ease)}
a:hover{color:var(--ft-gold-dark)}
ul,ol{margin:0;padding:0;list-style:none}
h1,h2,h3,h4,h5{font-family:var(--ft-font-head);font-weight:600;line-height:1.15;margin:0 0 .5em;color:var(--ft-maroon)}
p{margin:0 0 1em}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit;padding:0}
input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--ft-gold);outline-offset:2px}
[hidden]{display:none!important}
.ft-icon{flex:none}
.ft-container{width:100%;max-width:var(--ft-container);margin:0 auto;padding:0 24px}
.ft-skip{position:absolute;left:-999px;top:0;background:var(--ft-maroon);color:#fff;padding:10px 16px;z-index:9999}
.ft-skip:focus{left:8px;top:8px}
.ft-main{min-height:50vh}
.ft-section{padding:80px 0}
.ft-section--tight{padding:56px 0}
.ft-section--white{background:var(--ft-white)}
.ft-section--cream2{background:var(--ft-cream-2)}
.ft-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ft-text-center{text-align:center}

/* Section heading */
.ft-heading{text-align:center;margin:0 auto 48px;max-width:640px}
.ft-heading__eyebrow{display:inline-block;font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--ft-gold-dark);font-weight:600;margin-bottom:10px}
.ft-heading__title{font-size:clamp(30px,4vw,44px);margin:0}
.ft-heading__title::after{content:"";display:block;width:64px;height:2px;margin:16px auto 0;background:linear-gradient(90deg,transparent,var(--ft-gold),transparent)}
.ft-heading__text{color:var(--ft-muted);margin:14px 0 0}

/* Buttons */
.ft-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 32px;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;border:1px solid var(--ft-maroon);background:var(--ft-maroon);color:#fff;border-radius:var(--ft-radius);position:relative;overflow:hidden;transition:color .3s var(--ft-ease),background .3s var(--ft-ease),border-color .3s,transform .3s var(--ft-ease),box-shadow .3s}
.ft-btn:hover{background:var(--ft-gold-dark);border-color:var(--ft-gold-dark);color:#fff;transform:translateY(-2px);box-shadow:0 10px 22px rgba(92,10,36,.18)}
.ft-btn--gold{background:var(--ft-gold);border-color:var(--ft-gold);color:var(--ft-maroon-dark)}
.ft-btn--gold:hover{background:var(--ft-maroon);border-color:var(--ft-maroon);color:#fff}
.ft-btn--outline{background:transparent;color:var(--ft-maroon)}
.ft-btn--outline:hover{background:var(--ft-maroon);border-color:var(--ft-maroon);color:#fff}
.ft-btn--light{background:transparent;border-color:#fff;color:#fff}
.ft-btn--light:hover{background:#fff;border-color:#fff;color:var(--ft-maroon)}
.ft-btn--block{display:flex;width:100%}
.ft-btn--sm{padding:10px 20px;font-size:11px}
.ft-btn[disabled]{opacity:.5;pointer-events:none}
.ft-link-arrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ft-maroon);border-bottom:1px solid var(--ft-gold);padding-bottom:3px}
.ft-link-arrow .ft-icon{transition:transform .3s var(--ft-ease)}
.ft-link-arrow:hover .ft-icon{transform:translateX(5px)}

/* Forms */
.ft-field{margin-bottom:18px}
.ft-field label{display:block;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ft-maroon);margin-bottom:6px}
.ft-input,.ft-select,.ft-textarea{width:100%;padding:13px 16px;background:#fff;border:1px solid var(--ft-line);border-radius:var(--ft-radius);transition:border-color .25s,box-shadow .25s;font-size:14px}
.ft-input:focus,.ft-select:focus,.ft-textarea:focus{outline:0;border-color:var(--ft-gold);box-shadow:0 0 0 3px rgba(201,164,92,.2)}
.ft-textarea{min-height:130px;resize:vertical}
.ft-check{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--ft-muted)}
.ft-check input{accent-color:var(--ft-maroon);width:16px;height:16px}
.ft-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}

/* Toast */
.ft-toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,30px);background:var(--ft-maroon);color:#fff;padding:14px 26px;border-radius:40px;font-size:13px;box-shadow:var(--ft-shadow);opacity:0;pointer-events:none;transition:.35s var(--ft-ease);z-index:2000}
.ft-toast.is-show{opacity:1;transform:translate(-50%,0)}

/* Reveal on scroll (progressive: only hidden when JS is active) */
.ft-js .ft-reveal{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ft-ease),transform .8s var(--ft-ease)}
.ft-js .ft-reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.ft-js .ft-reveal{opacity:1;transform:none}}

@media (max-width:767px){
  .ft-container{padding:0 16px}
  .ft-section{padding:56px 0}
  .ft-section--tight{padding:40px 0}
  .ft-heading{margin-bottom:32px}
  .ft-grid-2{grid-template-columns:1fr}
}
