
:root {
  --green: #006B5B;
  --green-dark: #004D42;
  --green-pale: #f0f7f5;
  --white: #FFFFFF;
  --off-white: #FAFAF8;
  --charcoal: #1a1a1a;
  --mid-grey: #6a6a6a;
  --light-grey: #e8e8e4;
  --border: #e0e0dc;
  --nav-h: 106px;
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:16px; }
body { font-family:'Jost',sans-serif; color:var(--charcoal); background:var(--white); overflow-x:hidden; -webkit-font-smoothing:antialiased; }
h1,h2,h3,h4,h5 { font-family:'Cormorant Garamond',serif; font-weight:400; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }

/* ── NAVIGATION ── */
nav {
  position:fixed; top:0; left:0; right:0; z-index:500;
  height:var(--nav-h);
  display:flex; align-items:center; justify-content:space-between;
  padding:0 4%;
  transition:background .5s ease, border-color .5s ease;
  border-bottom:1px solid transparent;
}
nav.solid {
  background:rgba(255,255,255,0.98);
  border-bottom-color:var(--border);
  backdrop-filter:blur(12px);
}
.nav-logo img { height:44px; width:auto; }
.nav-links {
  display:flex; align-items:center; list-style:none;
  gap:2.5rem;
}
.nav-links a {
  font-family:'Jost',sans-serif;
  font-size:0.78rem; font-weight:400;
  letter-spacing:0.12em; text-transform:uppercase;
  color:rgba(255,255,255,0.9);
  transition:opacity .2s;
}
.nav-links a:hover { opacity:0.6; }
nav.solid .nav-links a { color:var(--charcoal); }
.nav-cta {
  font-family:'Jost',sans-serif;
  font-size:0.75rem; font-weight:400;
  letter-spacing:0.12em; text-transform:uppercase;
  color:rgba(255,255,255,0.9) !important;
  border:1px solid rgba(255,255,255,0.4);
  padding:0.55rem 1.4rem;
  transition:all .2s !important;
}
.nav-cta:hover { background:rgba(255,255,255,0.1) !important; opacity:1 !important; }
nav.solid .nav-cta { color:var(--charcoal) !important; border-color:var(--charcoal); }
nav.solid .nav-cta:hover { background:var(--charcoal) !important; color:var(--white) !important; }

.nav-hamburger { display:none; flex-direction:column; gap:6px; cursor:pointer; background:none; border:none; padding:4px; }
.nav-hamburger span { display:block; width:22px; height:1px; background:var(--white); transition:.3s; }
nav.solid .nav-hamburger span { background:var(--charcoal); }

.mobile-menu {
  display:none; position:fixed; top:var(--nav-h); left:0; right:0;
  background:var(--white); z-index:499;
  padding:2rem 4% 3rem;
  border-bottom:1px solid var(--border);
  box-shadow:0 20px 40px rgba(0,0,0,.08);
  flex-direction:column; gap:0;
}
.mobile-menu.open { display:flex; }
.mobile-menu a {
  font-size:0.85rem; letter-spacing:0.1em; text-transform:uppercase;
  font-weight:400; color:var(--charcoal);
  padding:1rem 0; border-bottom:1px solid var(--border);
  transition:opacity .2s;
}
.mobile-menu a:hover { opacity:0.5; }
.mobile-menu a:last-child { border-bottom:none; }

/* ── HERO ── */
#home {
  position:relative; height:100vh; min-height:600px;
  display:flex; align-items:center; justify-content:center;
  overflow:hidden;
}
#home video {
  position:absolute; inset:0;
  width:100%; height:100%; object-fit:cover;
  z-index:0; pointer-events:none;
}
.hero-overlay {
  position:absolute; inset:0; z-index:1;
  background:linear-gradient(to bottom, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0.4) 100%);
}
.hero-content {
  position:relative; z-index:2;
  text-align:center; padding:0 4%;
  max-width:900px;
}
.hero-content h1 {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(3rem,7vw,6rem);
  font-weight:300; color:var(--white);
  line-height:1.05; letter-spacing:0.02em;
  margin-bottom:1.5rem;
}
.hero-content h1 em { font-style:italic; font-weight:300; }
.hero-content p {
  font-family:'Jost',sans-serif;
  font-size:0.82rem; font-weight:300;
  letter-spacing:0.18em; text-transform:uppercase;
  color:rgba(255,255,255,0.8);
  margin-bottom:3rem;
}
.hero-btns {
  display:flex; gap:1rem; justify-content:center; flex-wrap:wrap;
}
.btn-hero-primary {
  font-family:'Jost',sans-serif;
  font-size:0.75rem; font-weight:400;
  letter-spacing:0.14em; text-transform:uppercase;
  background:var(--white); color:var(--charcoal);
  padding:1rem 2.5rem;
  transition:all .3s;
  display:inline-block;
}
.btn-hero-primary:hover { background:var(--green); color:var(--white); }
.btn-hero-outline {
  font-family:'Jost',sans-serif;
  font-size:0.75rem; font-weight:400;
  letter-spacing:0.14em; text-transform:uppercase;
  border:1px solid rgba(255,255,255,0.6); color:var(--white);
  padding:1rem 2.5rem;
  transition:all .3s;
  display:inline-block;
}
.btn-hero-outline:hover { background:rgba(255,255,255,0.1); border-color:var(--white); }

/* SCROLL INDICATOR */
.scroll-hint {
  position:absolute; bottom:2.5rem; left:50%; transform:translateX(-50%);
  z-index:2; display:flex; flex-direction:column; align-items:center; gap:0.5rem;
}
.scroll-hint span {
  font-size:0.65rem; letter-spacing:0.2em; text-transform:uppercase;
  color:rgba(255,255,255,0.6); font-family:'Jost',sans-serif;
}
.scroll-line {
  width:1px; height:40px; background:rgba(255,255,255,0.3);
  position:relative; overflow:hidden;
}
.scroll-line::after {
  content:''; position:absolute; top:-100%;
  width:100%; height:100%; background:rgba(255,255,255,0.8);
  animation:scrollDown 1.8s ease infinite;
}
@keyframes scrollDown { to { top:200%; } }

/* ── SEARCH ── */
.search-section {
  background:var(--white);
  padding:0;
  border-bottom:1px solid var(--border);
}
.search-bar {
  max-width:1400px; margin:0 auto;
  padding:2rem 4%;
  display:flex; gap:0; align-items:stretch;
}
.search-tabs {
  display:flex; gap:0; margin-bottom:1.25rem;
  border-bottom:1px solid var(--border);
  padding-bottom:0;
  width:100%;
}
.search-tab {
  font-family:'Jost',sans-serif;
  font-size:0.72rem; font-weight:400;
  letter-spacing:0.12em; text-transform:uppercase;
  padding:0.75rem 1.5rem;
  background:none; border:none; cursor:pointer;
  color:var(--mid-grey);
  border-bottom:2px solid transparent;
  margin-bottom:-1px;
  transition:all .2s;
}
.search-tab.active { color:var(--green); border-bottom-color:var(--green); }
.search-fields {
  display:flex; gap:0; flex:1; align-items:flex-end; flex-wrap:wrap;
}
.search-field {
  display:flex; flex-direction:column; gap:0.35rem;
  flex:1; min-width:140px;
  border-right:1px solid var(--border);
  padding:0 1.5rem;
}
.search-field:first-child { padding-left:0; }
.search-field label {
  font-size:0.65rem; font-weight:400;
  letter-spacing:0.14em; text-transform:uppercase;
  color:var(--mid-grey);
}
.search-field input, .search-field select {
  border:none; outline:none; background:none;
  font-family:'Jost',sans-serif;
  font-size:0.9rem; font-weight:300;
  color:var(--charcoal);
  padding:0.25rem 0;
  border-bottom:1px solid transparent;
  transition:border-color .2s;
}
.search-field input:focus, .search-field select:focus { border-bottom-color:var(--green); }
.btn-search {
  font-family:'Jost',sans-serif;
  font-size:0.72rem; font-weight:400;
  letter-spacing:0.14em; text-transform:uppercase;
  background:var(--green); color:var(--white);
  border:none; cursor:pointer;
  padding:1rem 2.5rem;
  margin-left:2rem;
  transition:background .2s;
  white-space:nowrap;
  align-self:flex-end;
}
.btn-search:hover { background:var(--green-dark); }

/* ── SECTIONS ── */
section { padding:100px 4%; }
.inner { max-width:1400px; margin:0 auto; }
.section-eyebrow {
  font-family:'Jost',sans-serif;
  font-size:0.65rem; font-weight:400;
  letter-spacing:0.2em; text-transform:uppercase;
  color:var(--green); margin-bottom:1.25rem;
  display:block;
}
.section-title {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2.2rem,4vw,3.5rem);
  font-weight:300; color:var(--charcoal);
  line-height:1.15; letter-spacing:0.01em;
  margin-bottom:1.25rem;
}
.section-title em { font-style:italic; }
.section-body {
  font-family:'Jost',sans-serif;
  font-size:0.95rem; font-weight:300;
  color:var(--mid-grey); line-height:1.85;
  max-width:560px;
}

/* ── PROPERTIES ── */
.props-header {
  display:flex; justify-content:space-between; align-items:flex-end;
  margin-bottom:3rem; flex-wrap:wrap; gap:1rem;
}
.view-all-link {
  font-family:'Jost',sans-serif;
  font-size:0.7rem; font-weight:400;
  letter-spacing:0.14em; text-transform:uppercase;
  color:var(--charcoal);
  border-bottom:1px solid var(--charcoal);
  padding-bottom:2px;
  transition:opacity .2s;
}
.view-all-link:hover { opacity:0.4; }
.props-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:2px;
}
.prop-card {
  position:relative; overflow:hidden;
  background:var(--off-white);
  cursor:pointer;
  transition:transform .4s ease;
}
.prop-card:hover { transform:translateY(-4px); }
.prop-card:hover .prop-img-inner { transform:scale(1.04); }
.prop-img {
  height:280px; overflow:hidden; position:relative;
  background:linear-gradient(135deg,#d4e8e0,#a8ccbf);
}
.prop-img-inner {
  width:100%; height:100%;
  transition:transform .6s ease;
}
.prop-img-inner img {
  width:100%; height:100%; object-fit:cover;
}
.prop-img-placeholder {
  width:100%; height:100%;
  display:flex; align-items:center; justify-content:center;
}
.prop-img-placeholder svg { opacity:0.15; width:60px; }
.prop-badge {
  position:absolute; top:1.25rem; left:1.25rem;
  font-family:'Jost',sans-serif;
  font-size:0.62rem; font-weight:400;
  letter-spacing:0.14em; text-transform:uppercase;
  background:var(--white); color:var(--charcoal);
  padding:0.3rem 0.75rem;
}
.prop-badge.sold { background:var(--charcoal); color:var(--white); }
.prop-badge.let { background:var(--mid-grey); color:var(--white); }
.prop-badge.new { background:var(--green); color:var(--white); }
.prop-badge.reduced { background:#8B4513; color:var(--white); }
.prop-body { padding:1.5rem 1.75rem 2rem; }
.prop-price {
  font-family:'Cormorant Garamond',serif;
  font-size:1.6rem; font-weight:400;
  color:var(--charcoal); margin-bottom:0.35rem;
  letter-spacing:0.01em;
}
.prop-addr {
  font-size:0.82rem; font-weight:400;
  color:var(--charcoal); margin-bottom:0.2rem;
  letter-spacing:0.02em;
}
.prop-area {
  font-size:0.75rem; font-weight:300;
  color:var(--mid-grey); margin-bottom:1rem;
  letter-spacing:0.04em;
}
.prop-feats {
  display:flex; gap:1.25rem;
  font-size:0.72rem; font-weight:300;
  letter-spacing:0.06em; text-transform:uppercase;
  color:var(--mid-grey);
  border-top:1px solid var(--border); padding-top:1rem;
}

/* ── SERVICES ── */
.services-layout {
  display:grid; grid-template-columns:1fr 1fr; gap:0;
}
.service-item {
  padding:3rem; border:1px solid var(--border);
  transition:background .3s;
  position:relative; overflow:hidden;
}
.service-item::after {
  content:''; position:absolute;
  bottom:0; left:3rem; right:3rem; height:1px;
  background:var(--green); transform:scaleX(0);
  transition:transform .3s; transform-origin:left;
}
.service-item:hover { background:var(--off-white); }
.service-item:hover::after { transform:scaleX(1); }
.service-num {
  font-family:'Cormorant Garamond',serif;
  font-size:2rem; font-weight:300; color:var(--border);
  margin-bottom:1.5rem; display:block;
}
.service-item h3 {
  font-family:'Cormorant Garamond',serif;
  font-size:1.5rem; font-weight:400;
  margin-bottom:0.75rem; color:var(--charcoal);
}
.service-item p {
  font-size:0.85rem; font-weight:300;
  color:var(--mid-grey); line-height:1.8;
  margin-bottom:1.5rem;
}
.service-link {
  font-size:0.68rem; font-weight:400;
  letter-spacing:0.14em; text-transform:uppercase;
  color:var(--green);
  border-bottom:1px solid var(--green);
  padding-bottom:2px;
  display:inline-block;
  transition:opacity .2s;
}
.service-link:hover { opacity:0.6; }

/* ── ABOUT ── */
.about-layout {
  display:grid; grid-template-columns:1fr 1fr; gap:8rem; align-items:center;
}
.about-img {
  aspect-ratio:3/4;
  background:linear-gradient(135deg,var(--green-pale),#c8e0da);
  display:flex; align-items:center; justify-content:center;
  color:var(--mid-grey); font-size:0.8rem; letter-spacing:0.1em;
  text-transform:uppercase; flex-direction:column; gap:1rem;
}
.values-list {
  margin-top:2.5rem; display:flex; flex-direction:column; gap:0;
}
.value-item {
  display:flex; gap:2rem; align-items:flex-start;
  padding:1.25rem 0; border-bottom:1px solid var(--border);
}
.value-item:first-child { border-top:1px solid var(--border); }
.value-num {
  font-family:'Cormorant Garamond',serif;
  font-size:0.9rem; font-weight:300; color:var(--mid-grey);
  min-width:2rem; margin-top:0.1rem;
}
.value-text h4 {
  font-family:'Jost',sans-serif;
  font-size:0.78rem; font-weight:400;
  letter-spacing:0.1em; text-transform:uppercase;
  margin-bottom:0.35rem; color:var(--charcoal);
}
.value-text p {
  font-size:0.82rem; font-weight:300;
  color:var(--mid-grey); line-height:1.75;
}

/* ── STATS BAR ── */
.stats-bar {
  background:var(--charcoal);
  padding:60px 4%;
}
.stats-grid {
  max-width:1400px; margin:0 auto;
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:0;
}
.stat-item {
  text-align:center; padding:2rem;
  border-right:1px solid rgba(255,255,255,0.1);
}
.stat-item:last-child { border-right:none; }
.stat-num {
  font-family:'Cormorant Garamond',serif;
  font-size:3.5rem; font-weight:300;
  color:var(--white); line-height:1;
  display:block; margin-bottom:0.5rem;
}
.stat-label {
  font-size:0.65rem; font-weight:300;
  letter-spacing:0.18em; text-transform:uppercase;
  color:rgba(255,255,255,0.45);
}

/* ── TESTIMONIALS ── */
.testi-layout {
  display:grid; grid-template-columns:1fr 2fr; gap:6rem; align-items:start;
}
.testi-card {
  padding:3rem; border:1px solid var(--border);
  margin-bottom:1.5rem; transition:border-color .3s;
}
.testi-card:hover { border-color:var(--green); }
.testi-stars { color:var(--green); font-size:0.7rem; letter-spacing:4px; margin-bottom:1.25rem; }
.testi-text {
  font-family:'Cormorant Garamond',serif;
  font-size:1.15rem; font-style:italic; font-weight:300;
  color:var(--charcoal); line-height:1.8;
  margin-bottom:1.5rem;
}
.testi-author-name {
  font-size:0.72rem; font-weight:400;
  letter-spacing:0.1em; text-transform:uppercase;
  color:var(--charcoal); margin-bottom:0.2rem;
}
.testi-author-role {
  font-size:0.7rem; font-weight:300; color:var(--mid-grey);
}
.review-cta-card {
  padding:3rem; background:var(--green-pale);
  border:1px solid #c8ddd9;
}
.review-cta-card h3 {
  font-family:'Cormorant Garamond',serif;
  font-size:1.5rem; font-weight:300; margin-bottom:0.75rem;
}
.review-cta-card p {
  font-size:0.82rem; font-weight:300; color:var(--mid-grey);
  line-height:1.8; margin-bottom:1.5rem;
}

/* ── FORMS ── */
.form-wrap { max-width:800px; margin:3.5rem auto 0; }
.form-section-title {
  font-family:'Jost',sans-serif;
  font-size:0.68rem; font-weight:400;
  letter-spacing:0.16em; text-transform:uppercase;
  color:var(--mid-grey); margin-bottom:2rem;
  padding-bottom:1rem; border-bottom:1px solid var(--border);
}
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:2rem; }
.form-group { display:flex; flex-direction:column; gap:0.5rem; margin-bottom:1.75rem; }
.form-group label {
  font-size:0.65rem; font-weight:400;
  letter-spacing:0.16em; text-transform:uppercase;
  color:var(--mid-grey);
}
.form-group input, .form-group select, .form-group textarea {
  border:none; border-bottom:1px solid var(--border);
  outline:none; background:none;
  font-family:'Jost',sans-serif;
  font-size:0.95rem; font-weight:300;
  color:var(--charcoal); padding:0.75rem 0;
  transition:border-color .2s;
  resize:none;
}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus {
  border-bottom-color:var(--green);
}
.btn-submit {
  font-family:'Jost',sans-serif;
  font-size:0.72rem; font-weight:400;
  letter-spacing:0.14em; text-transform:uppercase;
  background:var(--charcoal); color:var(--white);
  border:none; cursor:pointer;
  padding:1.1rem 3rem;
  transition:background .2s;
  display:inline-block; margin-top:0.5rem;
}
.btn-submit:hover { background:var(--green); }
.form-note {
  font-size:0.72rem; font-weight:300; color:var(--mid-grey);
  margin-top:1rem; line-height:1.7;
}

/* ── CONTACT ── */
.contact-layout {
  display:grid; grid-template-columns:1fr 1.5fr; gap:8rem;
}
.contact-detail { margin-bottom:2rem; }
.contact-detail-label {
  font-size:0.62rem; font-weight:400;
  letter-spacing:0.18em; text-transform:uppercase;
  color:var(--mid-grey); margin-bottom:0.5rem;
}
.contact-detail-value {
  font-family:'Cormorant Garamond',serif;
  font-size:1.1rem; font-weight:300; color:var(--charcoal);
}
.contact-detail-value a { color:var(--charcoal); transition:opacity .2s; }
.contact-detail-value a:hover { opacity:0.5; }
.map-box {
  margin-top:2.5rem; border:1px solid var(--border);
  overflow:hidden;
}

/* ── AREAS ── */
.areas-section { background:var(--off-white); }
.areas-wrap {
  display:flex; flex-wrap:wrap; gap:0;
  margin-top:3rem; border:1px solid var(--border);
}
.area-tag {
  font-family:'Jost',sans-serif;
  font-size:0.72rem; font-weight:300;
  letter-spacing:0.1em;
  color:var(--charcoal);
  padding:0.85rem 1.5rem;
  border-right:1px solid var(--border);
  border-bottom:1px solid var(--border);
  transition:background .2s, color .2s;
  cursor:default;
}
.area-tag:hover { background:var(--green); color:var(--white); }

/* ── SOCIAL ── */
.social-section { background:var(--charcoal); padding:80px 4%; }
.social-links {
  display:flex; gap:1rem; flex-wrap:wrap; margin-top:2.5rem; justify-content:center;
}
.social-btn {
  font-family:'Jost',sans-serif;
  font-size:0.72rem; font-weight:300;
  letter-spacing:0.12em; text-transform:uppercase;
  color:rgba(255,255,255,0.6);
  border:1px solid rgba(255,255,255,0.2);
  padding:0.75rem 1.75rem;
  transition:all .2s;
  display:inline-block;
}
.social-btn:hover { color:var(--white); border-color:rgba(255,255,255,0.6); }

/* ── FOOTER ── */
footer {
  background:var(--charcoal); padding:4rem 4% 2rem;
  border-top:1px solid rgba(255,255,255,0.08);
}
.footer-grid {
  max-width:1400px; margin:0 auto;
  display:grid; grid-template-columns:2fr 1fr 1fr 1fr;
  gap:4rem; padding-bottom:3rem;
  border-bottom:1px solid rgba(255,255,255,0.08);
  margin-bottom:2rem;
}
.footer-logo img { height:40px; width:auto; }
.footer-brand p {
  font-size:0.8rem; font-weight:300;
  color:rgba(255,255,255,0.4); line-height:1.8;
  margin-top:1.25rem; max-width:260px;
}
.footer-col h4 {
  font-family:'Jost',sans-serif;
  font-size:0.62rem; font-weight:400;
  letter-spacing:0.18em; text-transform:uppercase;
  color:rgba(255,255,255,0.4); margin-bottom:1.5rem;
}
.footer-col ul { list-style:none; display:flex; flex-direction:column; gap:0.75rem; }
.footer-col ul a {
  font-size:0.8rem; font-weight:300;
  color:rgba(255,255,255,0.55);
  transition:color .2s;
}
.footer-col ul a:hover { color:var(--white); }
.footer-bottom {
  max-width:1400px; margin:0 auto;
  display:flex; justify-content:space-between;
  align-items:center; flex-wrap:wrap; gap:1rem;
  font-size:0.72rem; font-weight:300;
  color:rgba(255,255,255,0.3);
}
.footer-badges { display:flex; gap:0.5rem; flex-wrap:wrap; }
.badge {
  font-size:0.62rem; letter-spacing:0.06em;
  padding:0.3rem 0.7rem;
  border:1px solid rgba(255,255,255,0.12);
  color:rgba(255,255,255,0.35);
}
.footer-docs {
  max-width:1400px; margin:2rem auto 0;
  padding-top:1.5rem;
  border-top:1px solid rgba(255,255,255,0.06);
}
.footer-docs p {
  font-size:0.6rem; letter-spacing:0.18em; text-transform:uppercase;
  color:rgba(255,255,255,0.25); margin-bottom:0.75rem;
}
.footer-docs-links { display:flex; gap:1.25rem; flex-wrap:wrap; }
.footer-docs-links a {
  font-size:0.72rem; font-weight:300;
  color:rgba(255,255,255,0.4); transition:color .2s;
}
.footer-docs-links a:hover { color:var(--white); }

/* ── COOKIE ── */
.cookie-banner {
  display:none; position:fixed; bottom:0; left:0; right:0; z-index:9999;
  background:var(--charcoal);
  border-top:1px solid rgba(255,255,255,0.1);
  padding:1.5rem 4%;
  align-items:center; justify-content:space-between; gap:1.5rem; flex-wrap:wrap;
}
.cookie-banner p {
  font-size:0.78rem; font-weight:300; color:rgba(255,255,255,0.7);
  line-height:1.7; max-width:700px;
}
.cookie-banner a { color:rgba(255,255,255,0.9); text-decoration:underline; }
.cookie-btns { display:flex; gap:0.75rem; flex-shrink:0; }
.cookie-btns button {
  font-family:'Jost',sans-serif;
  font-size:0.7rem; letter-spacing:0.12em; text-transform:uppercase;
  border:none; cursor:pointer; padding:0.7rem 1.5rem;
  transition:all .2s;
}
.cookie-btns button:first-child { background:var(--white); color:var(--charcoal); }
.cookie-btns button:first-child:hover { background:var(--green); color:var(--white); }
.cookie-btns button:last-child {
  background:transparent; color:rgba(255,255,255,0.6);
  border:1px solid rgba(255,255,255,0.2);
}
.cookie-btns button:last-child:hover { border-color:rgba(255,255,255,0.5); color:var(--white); }

/* ── FADE UP ── */
.fade-up { opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s ease; }
.fade-up.visible { opacity:1; transform:translateY(0); }

/* ── RESPONSIVE ── */
@media(max-width:1024px) {
  .services-layout { grid-template-columns:1fr; }
  .about-layout { grid-template-columns:1fr; gap:3rem; }
  .contact-layout { grid-template-columns:1fr; gap:3rem; }
  .testi-layout { grid-template-columns:1fr; gap:2rem; }
  .stats-grid { grid-template-columns:repeat(2,1fr); }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .props-grid { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:768px) {
  .nav-links { display:none; }
  .nav-hamburger { display:flex; }
  section { padding:70px 4%; }
  .props-grid { grid-template-columns:1fr; }
  .form-row { grid-template-columns:1fr; gap:0; }
  .search-fields { flex-direction:column; }
  .search-field { border-right:none; border-bottom:1px solid var(--border); padding:0.75rem 0; }
  .stats-grid { grid-template-columns:1fr 1fr; }
  .footer-grid { grid-template-columns:1fr; gap:2rem; }
  .hero-content h1 { font-size:clamp(2.5rem,8vw,4rem); }
}
@keyframes spin { to { transform: rotate(360deg); } }
@keyframes modalIn {
  from { opacity:0; transform:translateY(20px); }
  to   { opacity:1; transform:translateY(0); }
}
