/* ============================================================
   AG EMERALD — brand stylesheet
   Deep emerald as the dominant register, warm ivory/sand neutrals
   to breathe, gold reserved for accents — buttons, hairlines, icon
   strokes, numerals — never as a large background field.
   Playfair Display + Inter. Custom brand illustrations throughout.
   ============================================================ */

@font-face{ font-family:'Playfair Display'; font-weight:500; font-style:normal; src:url('assets/fonts/playfair-display-latin-500-normal.woff2') format('woff2'); font-display:swap; }
@font-face{ font-family:'Playfair Display'; font-weight:600; font-style:normal; src:url('assets/fonts/playfair-display-latin-600-normal.woff2') format('woff2'); font-display:swap; }
@font-face{ font-family:'Playfair Display'; font-weight:700; font-style:normal; src:url('assets/fonts/playfair-display-latin-700-normal.woff2') format('woff2'); font-display:swap; }
@font-face{ font-family:'Playfair Display'; font-weight:800; font-style:normal; src:url('assets/fonts/playfair-display-latin-800-normal.woff2') format('woff2'); font-display:swap; }
@font-face{ font-family:'Playfair Display'; font-weight:400; font-style:italic; src:url('assets/fonts/playfair-display-latin-400-italic.woff2') format('woff2'); font-display:swap; }
@font-face{ font-family:'Inter'; font-weight:300; font-style:normal; src:url('assets/fonts/inter-latin-300-normal.woff2') format('woff2'); font-display:swap; }
@font-face{ font-family:'Inter'; font-weight:400; font-style:normal; src:url('assets/fonts/inter-latin-400-normal.woff2') format('woff2'); font-display:swap; }
@font-face{ font-family:'Inter'; font-weight:500; font-style:normal; src:url('assets/fonts/inter-latin-500-normal.woff2') format('woff2'); font-display:swap; }
@font-face{ font-family:'Inter'; font-weight:600; font-style:normal; src:url('assets/fonts/inter-latin-600-normal.woff2') format('woff2'); font-display:swap; }
@font-face{ font-family:'Inter'; font-weight:700; font-style:normal; src:url('assets/fonts/inter-latin-700-normal.woff2') format('woff2'); font-display:swap; }

:root{
  --deep:#0B3626;
  --deep-2:#082A1E;
  --emerald:#0E7A4D;
  --emerald-2:#0A5C3B;
  --emerald-tint:#EEF4EF;
  --gold:#B4903F;
  --gold-2:#D9BB77;
  --gold-3:#8F6B1B;
  --gold-soft:#D9BB77;
  --ink:#1B1D1C;
  --muted:#5C6560;
  --paper:#FFFEFB;
  --panel:#F3F2EB;
  --panel-2:#EAE6D6;
  --line:#E1DCCB;
  --cream:#FFFDF8;
  --maxw:1180px;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
html,body{ max-width:100%; overflow-x:hidden; }
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  font-size:16px; line-height:1.7; -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{ font-family:'Playfair Display', Georgia, serif; color:var(--deep); margin:0; font-weight:600; line-height:1.15; }
p{ margin:0 0 1em; max-width:62ch; }
a{ color:var(--emerald-2); text-decoration:none; transition:color .18s ease; }
a:hover{ color:var(--gold); }
img{ max-width:100%; display:block; }
.wrap{ max-width:var(--maxw); margin:0 auto; padding:0 28px; }
@media (max-width:560px){ .wrap{ padding:0 20px; } }

@media (prefers-reduced-motion:reduce){
  *{ animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
}

/* ---------- Scroll reveal + motion system ---------- */
.reveal{ opacity:0; transform:translateY(28px); transition:opacity .8s cubic-bezier(.16,.84,.44,1), transform .8s cubic-bezier(.16,.84,.44,1); }
.reveal.in-view{ opacity:1; transform:translateY(0); }
.reveal-stagger > *{ opacity:0; transform:translateY(22px); transition:opacity .7s cubic-bezier(.16,.84,.44,1), transform .7s cubic-bezier(.16,.84,.44,1); }
.reveal-stagger.in-view > *{ opacity:1; transform:translateY(0); }
.reveal-stagger.in-view > *:nth-child(1){ transition-delay:.05s; }
.reveal-stagger.in-view > *:nth-child(2){ transition-delay:.12s; }
.reveal-stagger.in-view > *:nth-child(3){ transition-delay:.19s; }
.reveal-stagger.in-view > *:nth-child(4){ transition-delay:.26s; }
.reveal-stagger.in-view > *:nth-child(5){ transition-delay:.33s; }
.reveal-stagger.in-view > *:nth-child(6){ transition-delay:.4s; }

.reveal-hero{ animation:heroRise .9s cubic-bezier(.16,.84,.44,1) both; }
@keyframes heroRise{ from{ opacity:0; transform:translateY(18px); } to{ opacity:1; transform:translateY(0); } }

@keyframes goldPulse{ 0%,100%{ opacity:.55; } 50%{ opacity:1; } }
@keyframes floatGlow{ 0%,100%{ transform:translate(0,0); } 50%{ transform:translate(-14px,-10px); } }
@keyframes shimmer{ 0%{ background-position:-200% 0; } 100%{ background-position:200% 0; } }

/* ---------- Nav ---------- */
.site-nav{
  position:sticky; top:0; z-index:100;
  background:var(--paper);
  border-bottom:1px solid var(--line);
  transition:box-shadow .3s ease, height .3s ease;
}
.site-nav.scrolled{ box-shadow:0 8px 30px -14px rgba(11,54,38,.35); }
.site-nav .wrap{ display:flex; align-items:center; justify-content:space-between; height:84px; }
.brand{ display:flex; align-items:center; gap:12px; }
.brand img{ height:44px; width:44px; object-fit:contain; transition:transform .3s ease; }
.brand:hover img{ transform:rotate(-6deg) scale(1.06); }
.brand-text{ font-family:'Playfair Display',serif; font-weight:700; font-size:21px; color:var(--deep); letter-spacing:.2px; }
.nav-links{ display:flex; align-items:center; gap:4px; list-style:none; margin:0; padding:0; }
.nav-links a{ color:var(--ink); font-weight:500; font-size:15px; padding:10px 16px; border-radius:2px; position:relative; }
.nav-links a:not(.nav-cta)::after{
  content:""; position:absolute; left:16px; right:16px; bottom:6px; height:2px;
  background:var(--gold); transform:scaleX(0); transform-origin:left; transition:transform .25s ease;
}
.nav-links a:not(.nav-cta):hover::after, .nav-links a.active::after{ transform:scaleX(1); }
.nav-links a:hover{ color:var(--emerald-2); }
.nav-links a.active{ color:var(--gold-3); }
.nav-cta{
  margin-left:8px; background:linear-gradient(135deg, var(--gold-2), var(--gold)); color:var(--deep) !important;
  padding:11px 22px !important; border-radius:3px; font-weight:700 !important;
  transition:transform .2s ease, box-shadow .2s ease;
  box-shadow:0 6px 18px -8px rgba(180,144,63,.6);
}
.nav-cta:hover{ transform:translateY(-2px); box-shadow:0 10px 24px -8px rgba(180,144,63,.75); }
.nav-toggle{ display:none; background:none; border:0; cursor:pointer; padding:8px; }
.nav-toggle span{ display:block; width:24px; height:2px; background:var(--deep); margin:5px 0; transition:transform .25s ease, opacity .25s ease; }
.nav-toggle.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav-toggle.open span:nth-child(2){ opacity:0; }
.nav-toggle.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
@media (max-width:860px){
  .nav-toggle{ display:block; }
  .nav-links{
    position:fixed; top:84px; left:0; right:0; bottom:0;
    background:var(--paper); flex-direction:column; align-items:stretch;
    padding:12px 20px; gap:0; transform:translateY(-8px); opacity:0;
    pointer-events:none; transition:transform .2s ease, opacity .2s ease;
    border-top:1px solid var(--line);
  }
  .nav-links.open{ transform:translateY(0); opacity:1; pointer-events:auto; }
  .nav-links a{ padding:16px 4px; border-bottom:1px solid var(--line); font-size:17px; }
  .nav-links a::after{ display:none; }
  .nav-cta{ margin:16px 4px 0; text-align:center; }
}

/* ---------- Buttons ---------- */
.btn{ display:inline-flex; align-items:center; gap:8px; padding:15px 30px; border-radius:3px; font-weight:700; font-size:15.5px; border:1px solid transparent; cursor:pointer; transition:transform .2s cubic-bezier(.16,.84,.44,1), box-shadow .2s ease, background .2s ease, color .2s ease, border-color .2s ease; }
.btn:active{ transform:scale(.97); }
.btn-gold{ background:linear-gradient(135deg, var(--gold-2), var(--gold)); color:var(--deep); box-shadow:0 10px 26px -12px rgba(180,144,63,.65); }
.btn-gold:hover{ color:var(--deep); transform:translateY(-3px); box-shadow:0 16px 32px -12px rgba(180,144,63,.8); }
.btn-line{ background:transparent; color:var(--cream); border-color:rgba(217,187,119,.5); }
.btn-line:hover{ border-color:var(--gold-2); color:var(--gold-2); transform:translateY(-3px); }
.btn-dark{ background:var(--deep); color:var(--cream); box-shadow:0 10px 26px -14px rgba(11,54,38,.6); }
.btn-dark:hover{ background:var(--emerald-2); transform:translateY(-3px); }

/* ---------- Hero (dark, cinematic) ---------- */
.hero{
  position:relative; background:
    radial-gradient(circle at 86% 4%, rgba(217,187,119,.28), transparent 44%),
    radial-gradient(circle at 10% 90%, rgba(14,122,77,.3), transparent 50%),
    linear-gradient(165deg, rgba(11,54,38,.93) 0%, rgba(8,42,30,.94) 55%, rgba(6,26,19,.97) 100%),
    url('assets/img/hero-bg.jpg');
  background-size:auto, auto, auto, cover;
  background-position:center, center, center, center 38%;
  background-repeat:no-repeat;
  color:var(--cream); overflow:hidden;
  padding:64px 0 0;
}
.hero::before{
  content:""; position:absolute; top:-120px; right:-120px; width:420px; height:420px; border-radius:50%;
  background:radial-gradient(circle, rgba(217,187,119,.35), transparent 70%);
  animation:floatGlow 9s ease-in-out infinite, goldPulse 6s ease-in-out infinite;
  pointer-events:none;
}
.hero-eyebrow{
  font-family:'Inter',sans-serif; font-size:12.5px; letter-spacing:3px; text-transform:uppercase;
  color:var(--gold-2); display:inline-flex; align-items:center; gap:8px; margin-bottom:22px;
}
.hero-eyebrow .dot{ width:6px; height:6px; border-radius:50%; background:var(--gold-2); animation:goldPulse 2.4s ease-in-out infinite; }
.hero-inner{ padding:40px 0 0; max-width:760px; position:relative; z-index:1; }
.hero h1{ font-size:58px; color:var(--cream); margin-bottom:36px; letter-spacing:-.5px; }
.hero .lede{ font-size:18px; color:#E3D6AE; max-width:58ch; margin-bottom:34px; }
.hero-actions{ display:flex; gap:14px; flex-wrap:wrap; margin-bottom:56px; }

.hero-photo{ position:relative; margin-bottom:52px; animation:heroPhotoIn 1.1s .15s cubic-bezier(.16,.84,.44,1) both; }
.hero-photo .photo-frame{
  aspect-ratio:16/9; border-radius:22px; overflow:hidden;
  border-color:rgba(217,187,119,.4); box-shadow:0 44px 90px -30px rgba(0,0,0,.6);
}
.hero-photo .photo-frame img{ animation:heroKenBurns 16s ease-in-out infinite alternate; }
.hero-photo:hover .photo-frame img{ animation-play-state:paused; transform:scale(1.1); transition:transform .8s cubic-bezier(.16,.84,.44,1); }
.hero-photo-badge{
  position:absolute; left:28px; bottom:-22px; display:flex; align-items:center; gap:12px;
  background:var(--cream); border:1px solid var(--line); padding:14px 20px; border-radius:12px;
  box-shadow:0 24px 48px -24px rgba(0,0,0,.4); max-width:220px;
  animation:heroBadgeFloat 3.6s ease-in-out infinite;
}
.hero-photo-badge strong{ display:block; font-family:'Playfair Display',serif; font-size:20px; color:var(--deep); line-height:1.1; }
.hero-photo-badge span{ display:block; font-size:12px; color:var(--muted); margin-top:2px; }

@keyframes heroPhotoIn{ from{ opacity:0; transform:translateY(28px) scale(.98); } to{ opacity:1; transform:translateY(0) scale(1); } }
@keyframes heroKenBurns{ from{ transform:scale(1.02); } to{ transform:scale(1.12); } }
@keyframes heroBadgeFloat{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-9px); } }

.skyline{ display:block; width:100%; height:auto; position:relative; }
.skyline rect{ transition:fill .4s ease; }
@media (max-width:760px){
  .hero h1{ font-size:38px; margin-bottom:26px; }
  .hero .lede{ font-size:16.5px; }
  .hero-photo{ margin-bottom:44px; }
  .hero-photo .photo-frame{ aspect-ratio:4/5; border-radius:16px; }
  .hero-photo-badge{ left:16px; bottom:-18px; padding:12px 16px; }
}
@media (prefers-reduced-motion:reduce){
  .hero-photo{ animation:none; }
  .hero-photo .photo-frame img{ animation:none; }
  .hero-photo-badge{ animation:none; }
}

/* ---------- Sections ---------- */
section{ padding:96px 0; }
.section-alt{ background:var(--panel); position:relative; }
@media (max-width:760px){ section{ padding:60px 0; } }

.section-head{ margin-bottom:48px; max-width:640px; }
.section-head .eyebrow{ font-size:12.5px; letter-spacing:3px; text-transform:uppercase; color:var(--gold-3); font-weight:700; display:block; margin-bottom:10px; }
.section-head h2{ font-size:36px; margin-bottom:14px; }
.section-head p{ color:var(--muted); font-size:16.5px; }

/* ---------- Editorial row list (services, process) ---------- */
.row-list{ border-top:1px solid var(--line); }
.row{
  display:grid; grid-template-columns:280px 1fr; gap:40px;
  padding:36px 0; border-bottom:1px solid var(--line); align-items:start;
  transition:padding-left .3s ease, background .3s ease;
}
.row:hover{ padding-left:10px; background:rgba(180,144,63,.06); }
.row .row-title{ display:flex; align-items:baseline; gap:16px; }
.row .row-index{ font-family:'Playfair Display',serif; font-size:16px; color:var(--gold); }
.row h3{ font-size:24px; }
.row .row-body{ color:var(--muted); font-size:16px; }
.row .row-body p:last-child{ margin-bottom:0; }

.row-list-media .row{ grid-template-columns:84px 170px 1fr; align-items:center; }
.row-thumb{ width:84px; height:84px; border-radius:50%; overflow:hidden; border:1px solid var(--line); flex:none; }
.row-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
@media (max-width:760px){
  .row-list-media .row{ grid-template-columns:1fr; }
  .row-thumb{ margin-bottom:6px; }
}

.row-list-icons .row{ grid-template-columns:64px 170px 1fr; align-items:start; }
.row-icon{
  width:56px; height:56px; border-radius:50%; flex:none;
  background:var(--cream); border:1px solid var(--line); color:var(--gold-3);
  display:flex; align-items:center; justify-content:center;
  transition:transform .3s cubic-bezier(.16,.84,.44,1), background .3s ease, border-color .3s ease;
}
.row:hover .row-icon{ transform:scale(1.08) rotate(-4deg); background:var(--panel); border-color:var(--gold-2); }
@media (max-width:760px){
  .row-list-icons .row{ grid-template-columns:1fr; }
  .row-icon{ margin-bottom:6px; }
}
@media (max-width:760px){
  .row{ grid-template-columns:1fr; gap:12px; }
}

/* ---------- Neighborhood list ---------- */
.place-list{ border-top:1px solid var(--line); }
.place{
  display:grid; grid-template-columns:220px 1fr; gap:32px;
  padding:26px 0; border-bottom:1px solid var(--line); align-items:baseline;
  transition:padding-left .3s ease;
}
.place:hover{ padding-left:10px; }
.place h4{ font-family:'Playfair Display',serif; font-size:21px; color:var(--deep); font-weight:600; }
.place p{ color:var(--muted); margin:0; font-size:15.5px; }
@media (max-width:700px){ .place{ grid-template-columns:1fr; gap:6px; } }

/* ---------- Stat strip ---------- */
.stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:0; }
.stat{ padding:0 28px 0 0; border-left:1px solid var(--line); padding-left:28px; }
.stat:first-child{ border-left:none; padding-left:0; }
.stat .num{ font-family:'Playfair Display',serif; font-size:38px; color:var(--deep); font-weight:700; display:block; background:linear-gradient(135deg, var(--deep), var(--emerald-2)); -webkit-background-clip:text; background-clip:text; }
.stat .label{ font-size:13.5px; color:var(--muted); margin-top:8px; }
@media (max-width:760px){
  .stats{ grid-template-columns:1fr 1fr; row-gap:32px; }
  .stat:nth-child(3){ border-left:none; padding-left:0; }
}

/* ---------- Quote band ---------- */
.quote-band{ background:linear-gradient(165deg, var(--deep), var(--deep-2)); color:var(--cream); position:relative; overflow:hidden; }
.quote-band::after{
  content:"\201C"; position:absolute; top:-40px; right:40px; font-family:'Playfair Display',serif;
  font-size:280px; color:rgba(217,187,119,.08); line-height:1; pointer-events:none;
}
.quote-band blockquote{
  font-family:'Playfair Display',serif; font-style:italic; font-weight:400;
  font-size:30px; line-height:1.45; max-width:820px; margin:0 0 24px; color:var(--cream); position:relative; z-index:1;
}
.quote-band cite{ font-style:normal; color:var(--gold-2); font-size:14.5px; letter-spacing:.5px; }
@media (max-width:760px){ .quote-band blockquote{ font-size:22px; } }

/* ---------- Property type cards (editorial, asymmetric) ---------- */
.ptype-grid{ display:grid; grid-template-columns:1.3fr 1fr; gap:28px; align-items:start; }
.ptype{ background:var(--cream); border:1px solid var(--line); padding:34px; overflow:hidden; transition:transform .3s cubic-bezier(.16,.84,.44,1), box-shadow .3s ease, border-color .3s ease; }
.ptype:hover{ transform:translateY(-6px); box-shadow:0 20px 40px -20px rgba(180,144,63,.45); border-color:var(--gold-2); }
.ptype.lead{ display:flex; flex-direction:column; gap:22px; }
.ptype .icon{ margin-bottom:22px; transition:transform .3s ease; transform-origin:left center; }
.ptype:hover .icon{ transform:scale(1.12) rotate(-4deg); }
.ptype h4{ font-size:22px; margin-bottom:10px; }
.ptype p{ color:var(--muted); font-size:15px; margin-bottom:0; }
.ptype .tag-row{ margin-top:18px; display:flex; gap:8px; flex-wrap:wrap; }
.ptype .tag{ font-size:11.5px; letter-spacing:.5px; color:var(--emerald-2); border:1px solid var(--line); padding:4px 10px; border-radius:20px; }
.ptype-thumb{ margin:-34px -34px 22px; overflow:hidden; aspect-ratio:16/10; }
.ptype-thumb img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s cubic-bezier(.16,.84,.44,1); }
.ptype:hover .ptype-thumb img{ transform:scale(1.06); }
.ptype-span2 .ptype-thumb{ aspect-ratio:21/9; }

.ptype-grid-2{ display:grid; grid-template-columns:1fr 1fr; gap:28px; }
@media (min-width:761px){ .ptype-span2{ grid-column:span 2; } }
@media (max-width:760px){
  .ptype-grid, .ptype-grid-2{ grid-template-columns:1fr; }
  .ptype.lead{ grid-row:auto; }
}

/* ---------- CTA band (deep emerald, gold accent) ---------- */
.cta-band{
  background:
    radial-gradient(circle at 92% 115%, rgba(217,187,119,.18), transparent 55%),
    linear-gradient(155deg, var(--deep), var(--deep-2));
  padding:72px 0; position:relative; overflow:hidden;
}
.cta-band::before{
  content:""; position:absolute; inset:0 0 auto 0; height:1px;
  background:linear-gradient(90deg, transparent, rgba(217,187,119,.5), transparent);
}
.cta-inner{ display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap; position:relative; z-index:1; }
.cta-inner h2{ font-size:32px; max-width:460px; color:var(--cream); }
.cta-actions{ display:flex; gap:14px; flex-wrap:wrap; }

/* ---------- Contact table ---------- */
.contact-table{ border-top:1px solid var(--line); margin-top:8px; }
.contact-row{ display:grid; grid-template-columns:200px 1fr; gap:24px; padding:20px 0; border-bottom:1px solid var(--line); transition:padding-left .3s ease; }
.contact-row:hover{ padding-left:10px; }
.contact-row .k{ font-size:13px; letter-spacing:1px; text-transform:uppercase; color:var(--gold-3); font-weight:700; }
.contact-row .v{ font-size:17px; color:var(--ink); }
.contact-row .v a{ color:var(--ink); }
.contact-row .v a:hover{ color:var(--gold); }
@media (max-width:600px){ .contact-row{ grid-template-columns:1fr; gap:4px; } }

/* ---------- Trust strip (EARB / regulatory) ---------- */
.trust-strip{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-top:20px; padding:16px 20px; background:var(--cream); border:1px solid var(--line); border-left:3px solid var(--gold); }
.trust-strip .ic{ flex:none; color:var(--gold-3); }
.trust-strip p{ margin:0; font-size:14px; color:var(--muted); max-width:none; }
.trust-strip strong{ color:var(--ink); }

/* ---------- People photo frame (stock, used sparingly) ---------- */
.photo-frame{ border:1px solid var(--line); overflow:hidden; position:relative; }
.photo-frame img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s cubic-bezier(.16,.84,.44,1); }
.photo-frame:hover img{ transform:scale(1.05); }

.photo-grid-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.photo-grid-3 .photo-frame{ aspect-ratio:4/5; }
.photo-grid-3 figcaption{ margin-top:10px; font-size:13.5px; color:var(--muted); text-align:center; }
@media (max-width:900px){ .photo-grid-3{ grid-template-columns:1fr; } }

.trust-icon-img{ flex:none; width:46px; height:46px; border-radius:50%; object-fit:cover; border:1px solid var(--line); }

/* ---------- Brand illustrations (ported from the company profile) ---------- */
.illus-frame{
  background:var(--cream); border:1px solid var(--line); padding:28px 20px 18px;
  transition:border-color .3s ease, box-shadow .3s ease;
}
.illus-frame:hover{ border-color:var(--gold-2); box-shadow:0 20px 40px -24px rgba(11,54,38,.25); }
.illus-frame svg{ display:block; width:100%; height:auto; }
.illus-frame .ic-lbl{ font-family:'Inter',sans-serif; font-size:12px; fill:var(--muted); }
.illus-caption{ font-size:13px; color:var(--muted); text-align:center; margin:14px 0 0; }
.illus-dark{ background:linear-gradient(165deg, var(--deep), var(--deep-2)); border-color:transparent; }
.illus-dark .ic-lbl{ fill:#D7CFBA; }

/* ---------- Testimonials / client feedback ---------- */
.testi-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.testi-card{ background:var(--cream); border:1px solid var(--line); padding:28px; display:flex; flex-direction:column; gap:16px; transition:transform .3s cubic-bezier(.16,.84,.44,1), box-shadow .3s ease, border-color .3s ease; }
.testi-card:hover{ transform:translateY(-6px); box-shadow:0 20px 40px -22px rgba(11,54,38,.25); border-color:var(--gold-2); }
.testi-stars{ color:var(--gold); font-size:15px; letter-spacing:2px; }
.testi-card blockquote{ font-family:'Playfair Display',serif; font-style:italic; font-size:17px; color:var(--ink); line-height:1.5; margin:0; }
.testi-attr{ display:flex; align-items:center; gap:12px; margin-top:auto; padding-top:6px; }
.testi-avatar{ width:38px; height:38px; border-radius:50%; background:linear-gradient(135deg, var(--gold-2), var(--gold)); display:flex; align-items:center; justify-content:center; font-family:'Playfair Display',serif; font-weight:700; color:var(--deep); font-size:14px; flex:none; }
.testi-name{ font-size:14px; font-weight:700; color:var(--ink); }
.testi-role{ font-size:12.5px; color:var(--muted); }
@media (max-width:900px){ .testi-grid{ grid-template-columns:1fr; } }

/* ---------- Feedback form ---------- */
.feedback-panel{ background:var(--panel); border:1px solid var(--line); padding:36px; }
.feedback-panel h3{ font-size:21px; margin-bottom:8px; }
.feedback-panel p.lede-sm{ color:var(--muted); font-size:14.5px; margin-bottom:22px; }
.ff-row{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:14px; }
.ff-field{ display:flex; flex-direction:column; gap:6px; }
.ff-field label{ font-size:12.5px; font-weight:700; color:var(--muted); text-transform:uppercase; letter-spacing:.5px; }
.ff-field input, .ff-field select, .ff-field textarea{
  width:100%; padding:12px 14px; border:1px solid var(--line); background:var(--cream); color:var(--ink);
  font-family:'Inter',sans-serif; font-size:14.5px; border-radius:2px;
}
.ff-field input:focus, .ff-field select:focus, .ff-field textarea:focus{ outline:none; border-color:var(--gold); }
.ff-field textarea{ resize:vertical; min-height:96px; }
.ff-stars{ display:flex; gap:6px; font-size:22px; color:var(--line); }
.ff-stars span{ cursor:pointer; transition:color .15s ease, transform .15s ease; }
.ff-stars span:hover, .ff-stars span.active{ color:var(--gold); transform:scale(1.12); }
.ff-note{ font-size:12.5px; color:var(--muted); margin-top:14px; }
@media (max-width:600px){ .ff-row{ grid-template-columns:1fr; } }

/* ---------- Footer ---------- */
footer{ background:linear-gradient(165deg, var(--deep), var(--deep-2)); color:#D7CFBA; padding:72px 0 28px; }
footer .foot-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:48px; margin-bottom:48px; }
footer .brand-text{ color:var(--cream); }
footer p{ color:#AFC2B6; font-size:14.5px; max-width:38ch; margin-top:16px; }
footer h4{ color:var(--gold-2); font-size:12.5px; letter-spacing:2px; text-transform:uppercase; margin-bottom:18px; }
footer ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:11px; }
footer a{ color:#D7CFBA; font-size:15px; }
footer a:hover{ color:var(--gold-2); }
.foot-bottom{ border-top:1px solid rgba(217,187,119,.18); padding-top:24px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; font-size:13px; color:#8FA398; }
.foot-reg{ font-size:12px; color:#7E9287; margin-top:4px; }
@media (max-width:760px){ footer .foot-grid{ grid-template-columns:1fr; gap:32px; } }

/* ---------- Page hero (interior pages) ---------- */
.page-head{ background:var(--panel); padding:68px 0 58px; border-bottom:1px solid var(--line); position:relative; overflow:hidden; }
.page-head .eyebrow{ font-size:12.5px; letter-spacing:3px; text-transform:uppercase; color:var(--gold-3); font-weight:700; display:block; margin-bottom:12px; }
.page-head h1{ font-size:44px; max-width:680px; }
.page-head p{ color:var(--muted); font-size:17px; margin-top:16px; max-width:58ch; }
@media (max-width:760px){ .page-head h1{ font-size:30px; } }

/* ---------- Values list ---------- */
.values-row{ display:flex; gap:40px; flex-wrap:wrap; margin-top:12px; }
.values-row .value{ min-width:140px; transition:transform .3s ease; }
.values-row .value:hover{ transform:translateY(-4px); }
.values-row .value .mark{ width:34px; height:2px; background:linear-gradient(90deg, var(--gold), var(--gold-2)); margin-bottom:14px; }
.values-row .value h5{ font-family:'Playfair Display',serif; font-size:18px; color:var(--deep); font-weight:600; margin:0; }

/* ---------- Two-col split ---------- */
.split{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start; }
@media (max-width:820px){ .split{ grid-template-columns:1fr; gap:36px; } }

/* ---------- Utility ---------- */
.mt-0{ margin-top:0; }
.muted{ color:var(--muted); }
@media (prefers-reduced-motion:reduce){ .reveal-hero{ animation:none; } .hero::before{ animation:none; } }
