@import "tailwindcss";

:root { --pine:#173d32; --deep:#0d2b24; --ivory:#f5f0e7; --paper:#fffdf8; --clay:#b96348; --gold:#b59a62; --ink:#24312c; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:Arial, Helvetica, sans-serif; }
a { color:inherit; }

/* The homepage intentionally preserves the visual language of the original site. */
.legacy-page { min-height:100vh; padding:26px 12px; background:#d4cfbd url("https://s.turbifycdn.com/lm/themes/yhoo/ga/arbor/stone/palette1/4.0.4/en-us/images/page-bg.jpg") repeat; font:14px "Times New Roman", serif; color:#333300; }
.legacy-shell { width:min(960px, 100%); margin:auto; background:#eee9d8; border:1px solid #77725e; box-shadow:0 2px 15px #544f3d66; }
.legacy-header { min-height:205px; position:relative; display:flex; align-items:center; padding:30px 300px 30px 42px; color:white; background:#5b6041 linear-gradient(135deg,#3f4930,#7e8061); border-bottom:6px solid #a58b38; }
.legacy-brand { display:flex; flex-direction:column; align-items:flex-start; gap:8px; text-shadow:0 1px 1px #222; }
.legacy-brand span { font-size:48px; font-style:italic; line-height:1.05; letter-spacing:-.025em; }
.legacy-brand strong { margin-left:2px; color:#f1e8ca; font-size:28px; font-style:italic; font-weight:normal; line-height:1.1; letter-spacing:.02em; }
.legacy-header address { position:absolute; right:24px; top:18px; width:230px; font-style:normal; line-height:1.35; font-size:12px; overflow-wrap:anywhere; }
.legacy-layout { display:grid; grid-template-columns:1fr 220px; gap:22px; padding:24px; }
.legacy-content { line-height:1.42; }
.legacy-content p { font-size:16px; }
.legacy-page-title { color:#7d4b1c; font-size:25px; border-bottom:1px solid #aaa38a; padding-bottom:8px; }
.legacy-hero { width:min(553px,100%); height:auto; border:0; display:block; }
.legacy-gold { color:#a48000; }
.legacy-nav { border-left:1px solid #b4ad96; }
.legacy-nav a { display:block; padding:10px 14px; border-bottom:1px solid #b9b39f; text-decoration:none; color:#3c3b2b; background:#d9d4c1; }
.legacy-nav a:hover,.legacy-nav .active { color:white; background:#777a58; }
.legacy-footer { padding:22px 28px; background:#53563c; color:white; text-align:center; font-size:12px; }

.modern-page { min-height:100vh; background:var(--paper); }
.modern-header { height:88px; display:flex; align-items:center; gap:40px; padding:0 clamp(24px,6vw,96px); border-bottom:1px solid #dcd5c9; position:sticky; top:0; z-index:10; background:#fffdf8ee; backdrop-filter:blur(12px); }
.brand { margin-right:auto; text-decoration:none; font-family:Georgia,serif; font-size:26px; letter-spacing:-.03em; color:var(--pine); }
.brand span { font-style:italic; }
.modern-header nav { display:flex; gap:28px; }
.modern-header nav a { text-decoration:none; font-size:14px; color:#526159; }
.modern-header nav a:hover { color:var(--clay); }
.call-button,.primary-button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 22px; border-radius:4px; background:var(--clay); color:white; text-decoration:none; font-weight:700; font-size:14px; transition:.2s ease; }
.call-button:hover,.primary-button:hover { transform:translateY(-2px); background:#9d4c36; }
.modern-hero { padding:clamp(76px,10vw,140px) clamp(24px,9vw,140px) 92px; background:linear-gradient(135deg,var(--ivory),#edf1e9); border-bottom:1px solid #dcd5c9; }
.modern-hero-with-image { display:grid; grid-template-columns:minmax(0,1fr) minmax(380px,.9fr); align-items:center; gap:clamp(46px,6vw,96px); padding-right:clamp(24px,6vw,96px); }
.modern-hero-copy { min-width:0; }
.modern-hero-image { margin:0; overflow:hidden; border-radius:4px; box-shadow:0 24px 60px #173d3226; }
.modern-hero-image img { display:block; width:100%; aspect-ratio:3/2; object-fit:cover; transition:transform .6s ease; }
.modern-hero-image:hover img { transform:scale(1.02); }
.eyebrow { margin:0 0 24px; text-transform:uppercase; letter-spacing:.18em; font-size:12px; font-weight:700; color:var(--clay); }
.modern-hero h1 { max-width:920px; margin:0; font:500 clamp(54px,8vw,96px)/.96 Georgia,serif; letter-spacing:-.055em; color:var(--pine); }
.modern-intro { max-width:690px; margin:32px 0 0; font-size:20px; line-height:1.65; color:#526159; }
.hero-actions { display:flex; align-items:center; gap:28px; margin-top:36px; }
.text-link { color:var(--pine); text-underline-offset:5px; }
.content-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; background:#dcd5c9; border-bottom:1px solid #dcd5c9; }
.content-card { min-height:360px; padding:clamp(38px,6vw,82px); background:var(--paper); }
.section-number { display:block; margin-bottom:48px; color:var(--gold); font:italic 18px Georgia,serif; }
.content-card h2 { max-width:520px; margin:0 0 22px; color:var(--pine); font:500 clamp(32px,4vw,50px)/1.04 Georgia,serif; letter-spacing:-.035em; }
.content-card p,.content-card li { max-width:650px; color:#526159; font-size:17px; line-height:1.7; }
.content-card ul { padding-left:20px; }
.content-card li { margin:10px 0; }
.gallery-grid { columns:3 320px; column-gap:18px; padding:clamp(32px,6vw,90px); }
.gallery-grid figure { margin:0 0 18px; overflow:hidden; background:var(--ivory); break-inside:avoid; }
.gallery-grid img { display:block; width:100%; height:auto; transition:transform .5s ease; }
.gallery-grid figure:hover img { transform:scale(1.03); }
.modern-cta { padding:96px 24px; text-align:center; color:white; background:var(--pine); }
.modern-cta .eyebrow { color:#d8b79b; }
.modern-cta h2 { max-width:760px; margin:0 auto 36px; font:500 clamp(42px,6vw,72px)/1 Georgia,serif; letter-spacing:-.04em; }
.primary-button.light { background:var(--ivory); color:var(--pine); }
.modern-footer { display:flex; justify-content:space-between; gap:30px; padding:48px clamp(24px,7vw,110px); background:var(--deep); color:#dfe7e1; }
.modern-footer strong { font:28px Georgia,serif; }
.modern-footer p { color:#aab9b1; }
.modern-footer div:last-child { display:flex; flex-direction:column; gap:12px; text-align:right; }
.footer-locations { display:flex; gap:42px; }
.footer-locations address { color:#aab9b1; font-style:normal; line-height:1.6; }

@media (max-width:900px) {
  .modern-header nav { display:none; }
  .call-button { padding:0 14px; }
  .modern-hero-with-image { grid-template-columns:1fr; gap:42px; padding-right:clamp(24px,9vw,140px); }
  .content-grid { grid-template-columns:1fr; }
  .gallery-grid { columns:2 260px; }
  .legacy-header { display:block; min-height:0; padding:28px 24px; }
  .legacy-brand span { font-size:38px; }
  .legacy-brand strong { font-size:24px; }
  .legacy-header address { position:static; width:auto; margin-top:18px; }
  .legacy-layout { grid-template-columns:1fr; }
  .legacy-nav { grid-row:1; border-left:0; }
}
@media (max-width:560px) {
  .modern-header { height:72px; padding:0 16px; }
  .brand { font-size:21px; }
  .call-button { font-size:0; }
  .call-button::after { content:"Call"; font-size:14px; }
  .modern-hero { padding:70px 22px; }
  .hero-actions { align-items:flex-start; flex-direction:column; }
  .modern-footer { flex-direction:column; }
  .modern-footer div:last-child { text-align:left; }
  .footer-locations { flex-direction:column; gap:18px; }
  .gallery-grid { columns:1; }
  .legacy-page { padding:0; }
  .legacy-shell { border:0; }
}
@media (prefers-reduced-motion:reduce) { * { scroll-behavior:auto !important; transition:none !important; } }
