/* ============================================================
   SYCAMORE PROPERTIES — Global Stylesheet
   Edit colors, fonts, spacing here and every page updates.
   ============================================================ */
:root{
  --cream: #F7F0E2;
  --cream-deep: #EFE6D2;
  --ivory: #FBF6EC;
  --sage: #5B7A5F;
  --sage-dark: #3F5843;
  --sage-light: #8BA68E;
  --sage-tint: #DCE4D9;
  --ink: #1F2A1F;
  --ink-soft: #3D4A3D;
  --line: #D6CDB8;
  --line-soft: #E8DFC9;
  --accent: #B8805A;
  --shadow-sm: 0 1px 2px rgba(31,42,31,.04), 0 2px 6px rgba(31,42,31,.04);
  --shadow-md: 0 4px 12px rgba(31,42,31,.06), 0 12px 32px rgba(31,42,31,.06);
  --shadow-lg: 0 16px 48px rgba(31,42,31,.10);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{font-family:'Inter Tight',system-ui,sans-serif;background:var(--cream);color:var(--ink);font-weight:400;line-height:1.6;overflow-x:hidden}
.serif{font-family:'Fraunces',Georgia,serif;font-weight:400;letter-spacing:-0.01em}
.eyebrow{font-family:'Inter Tight',sans-serif;font-size:.72rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--sage-dark);display:inline-flex;align-items:center;gap:.6rem}
.eyebrow::before{content:"";width:24px;height:1px;background:var(--sage-dark)}

/* TOP BAR + NAV */
.topbar{background:var(--sage-dark);color:var(--cream);font-size:.78rem;letter-spacing:.08em}
.topbar-inner{max-width:1400px;margin:0 auto;padding:.55rem 2rem;display:flex;justify-content:space-between;align-items:center}
.topbar a{color:var(--cream);text-decoration:none;opacity:.85;transition:opacity .2s}
.topbar a:hover{opacity:1}
.topbar-right{display:flex;gap:1.5rem;align-items:center}
nav.site-nav{position:sticky;top:0;z-index:100;background:rgba(247,240,226,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line-soft)}
.nav-inner{max-width:1400px;margin:0 auto;padding:1.1rem 2rem;display:flex;justify-content:space-between;align-items:center}
.logo{display:flex;align-items:center;gap:.75rem;font-family:'Fraunces',serif;font-size:1.35rem;font-weight:500;color:var(--sage-dark);letter-spacing:.02em;text-decoration:none}
.logo-mark{width:36px;height:36px;flex-shrink:0}
.logo-text small{display:block;font-family:'Inter Tight',sans-serif;font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;color:var(--sage);font-weight:500;margin-top:-2px}
.nav-links{display:flex;gap:2.4rem;list-style:none;align-items:center}
.nav-links a{color:var(--ink-soft);text-decoration:none;font-size:.9rem;font-weight:500;position:relative;transition:color .2s}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:var(--sage-dark);transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.nav-links a:hover,.nav-links a.active{color:var(--sage-dark)}
.nav-links a:hover::after,.nav-links a.active::after{transform:scaleX(1)}
.nav-cta{background:var(--sage-dark);color:var(--cream)!important;padding:.65rem 1.25rem;border-radius:999px;font-size:.82rem!important;transition:background .2s}
.nav-cta:hover{background:var(--ink);color:var(--cream)!important}
.nav-cta::after{display:none!important}
.menu-toggle{display:none;background:none;border:none;cursor:pointer;color:var(--ink)}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:.6rem;padding:1rem 1.75rem;border-radius:999px;font-family:'Inter Tight',sans-serif;font-size:.9rem;font-weight:500;letter-spacing:.02em;text-decoration:none;cursor:pointer;border:none;transition:all .3s cubic-bezier(.2,.8,.2,1)}
.btn-primary{background:var(--sage-dark);color:var(--cream)}
.btn-primary:hover{background:var(--ink);transform:translateY(-2px);box-shadow:var(--shadow-md)}
.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--sage-dark)}
.btn-ghost:hover{background:var(--sage-dark);color:var(--cream)}
.btn-arrow{transition:transform .3s}
.btn:hover .btn-arrow{transform:translateX(4px)}

/* SECTIONS */
section{padding:6rem 2rem;position:relative}
.section-inner{max-width:1400px;margin:0 auto}
.section-head{max-width:720px;margin-bottom:4rem}
.section-head h2{font-family:'Fraunces',serif;font-weight:400;font-size:clamp(2.2rem,4.2vw,3.6rem);line-height:1.05;letter-spacing:-0.02em;margin-top:1rem;color:var(--ink)}
.section-head h2 em{font-style:italic;color:var(--sage-dark);font-weight:300}
.section-head p{font-size:1.08rem;color:var(--ink-soft);margin-top:1.25rem;max-width:600px}

/* PAGE HEADER (inner pages) */
.page-header{padding:5rem 2rem 4rem;background:var(--cream);position:relative;overflow:hidden}
.page-header::before{content:"";position:absolute;top:-100px;right:-100px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(139,166,142,.15),transparent 70%)}
.page-header-inner{max-width:1400px;margin:0 auto;position:relative;z-index:2}
.page-header h1{font-family:'Fraunces',serif;font-weight:400;font-size:clamp(2.6rem,5.2vw,4.4rem);line-height:1.05;letter-spacing:-0.025em;margin:1.25rem 0 1.5rem;max-width:900px}
.page-header h1 em{font-style:italic;color:var(--sage-dark);font-weight:300}
.page-header .lead{font-size:1.15rem;color:var(--ink-soft);max-width:640px;line-height:1.6}
.breadcrumb{display:flex;gap:.5rem;font-size:.82rem;color:var(--ink-soft);letter-spacing:.08em}
.breadcrumb a{color:var(--ink-soft);text-decoration:none;transition:color .2s}
.breadcrumb a:hover{color:var(--sage-dark)}
.breadcrumb span.sep{opacity:.5}

/* FOOTER */
footer{background:var(--ink);color:var(--cream);padding:5rem 2rem 2rem}
.foot-inner{max-width:1400px;margin:0 auto}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:3rem;padding-bottom:3rem;border-bottom:1px solid rgba(247,240,226,.12)}
.foot-brand{max-width:340px}
.foot-brand .logo{color:var(--cream);margin-bottom:1.25rem}
.foot-brand p{opacity:.7;font-size:.92rem;line-height:1.6}
.foot-col h4{font-family:'Inter Tight',sans-serif;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--sage-light);margin-bottom:1.5rem;font-weight:500}
.foot-col ul{list-style:none}
.foot-col li{margin-bottom:.75rem}
.foot-col a{color:var(--cream);opacity:.7;text-decoration:none;font-size:.92rem;transition:opacity .2s}
.foot-col a:hover{opacity:1}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:2rem;font-size:.82rem;opacity:.6;flex-wrap:wrap;gap:1rem}
.foot-social{display:flex;gap:.75rem}
.foot-social a{width:36px;height:36px;border-radius:50%;border:1px solid rgba(247,240,226,.2);display:flex;align-items:center;justify-content:center;color:var(--cream);text-decoration:none;transition:all .25s;opacity:.8}
.foot-social a:hover{background:var(--sage);border-color:var(--sage);opacity:1}

/* REVEAL ANIMATION */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1)}
.reveal.in{opacity:1;transform:none}

/* FORMS */
.field{margin-bottom:1.1rem}
.field label{display:block;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);font-weight:500;margin-bottom:.5rem}
.field input,.field select,.field textarea{width:100%;padding:.85rem 1rem;border:1px solid var(--line);border-radius:2px;background:var(--ivory);font-family:'Inter Tight',sans-serif;font-size:.95rem;color:var(--ink);transition:border-color .25s,background .25s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--sage-dark);background:var(--cream)}
.field textarea{min-height:120px;resize:vertical;font-family:'Inter Tight',sans-serif}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}

/* CARDS */
.card{background:var(--ivory);border-radius:4px;border:1px solid var(--line-soft);padding:2rem;transition:all .4s cubic-bezier(.2,.8,.2,1)}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--sage-light)}

/* RESPONSIVE */
@media (max-width:1024px){.foot-grid{grid-template-columns:1fr 1fr;gap:2rem}}
@media (max-width:720px){
  .topbar-inner{font-size:.7rem;padding:.5rem 1.25rem;gap:1rem}
  .topbar-left{display:none}
  .nav-inner{padding:1rem 1.25rem}
  .nav-links{display:none}
  .menu-toggle{display:block}
  section,.page-header{padding:3.5rem 1.25rem}
  .page-header{padding-top:4rem}
  .foot-grid{grid-template-columns:1fr}
  .foot-bottom{flex-direction:column;text-align:center}
  .field-row{grid-template-columns:1fr}
  .btn{justify-content:center}
}
