/* ================================================================
   AMA CO — Premium Woodworking — style.css v3
================================================================ */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

:root {
  --primary:   #3E2723;
  --primary-d: #2C1A17;
  --accent:    #C8A97E;
  --accent-l:  #E0C9A6;
  --bg:        #FAF7F2;
  --bg-warm:   #F2EDE4;
  --text:      #1A1A1A;
  --muted:     #6B5E52;
  --light:     #BFB0A0;
  --white:     #FFFFFF;
  --shadow:    0 4px 24px rgba(62,39,35,.10);
  --shadow-lg: 0 16px 48px rgba(62,39,35,.16);
  --radius:    6px;
  --tr:        .3s cubic-bezier(.4,0,.2,1);
  --font-h:    'Playfair Display', Georgia, serif;
  --font-b:    'Poppins', sans-serif;
  --max-w:     1180px;
  --nav-h:     72px;
}

html { scroll-behavior: smooth; font-size: 16px; }
body { font-family: var(--font-b); background: var(--bg); color: var(--text); line-height: 1.6; overflow-x: hidden; }
img  { display: block; max-width: 100%; height: auto; }
a    { color: inherit; text-decoration: none; }
ul   { list-style: none; }
button { cursor: pointer; border: none; background: none; font-family: inherit; }

::-webkit-scrollbar       { width: 5px; }
::-webkit-scrollbar-track { background: var(--bg-warm); }
::-webkit-scrollbar-thumb { background: var(--accent); border-radius: 3px; }

/* ── CONTAINER ───────────────────────────────────────────────── */
.container { max-width: var(--max-w); margin: 0 auto; padding: 0 20px; }
@media (min-width:768px)  { .container { padding: 0 40px; } }
@media (min-width:1200px) { .container { padding: 0 48px; } }

/* ── ANIMATIONS ──────────────────────────────────────────────── */
.reveal-up { opacity: 0; transform: translateY(28px); transition: opacity .6s ease, transform .6s ease; }
.reveal-up.in-view { opacity: 1; transform: translateY(0); }
.delay-1 { transition-delay: .12s; }
.delay-2 { transition-delay: .24s; }
.delay-3 { transition-delay: .36s; }

@keyframes fadeInUp   { from{opacity:0;transform:translateY(22px)} to{opacity:1;transform:translateY(0)} }
@keyframes heroZoom   { to{transform:scale(1)} }
@keyframes spin       { to{transform:rotate(360deg)} }
@keyframes marquee    { from{transform:translateX(0)} to{transform:translateX(-50%)} }
@keyframes scrollPulse{ 0%,100%{opacity:.4;transform:scaleY(.8)} 50%{opacity:1;transform:scaleY(1)} }
@keyframes popIn      { from{transform:scale(0);opacity:0} to{transform:scale(1);opacity:1} }
@keyframes slideDown  { from{opacity:0;transform:translateY(-12px)} to{opacity:1;transform:translateY(0)} }

/* ── SECTION SHARED ──────────────────────────────────────────── */
.section-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 12px;
}
.section-eyebrow::before {
  content: '';
  display: inline-block;
  width: 22px; height: 1px;
  background: currentColor;
  flex-shrink: 0;
}
.section-eyebrow--light { color: var(--accent-l); }

.section-title {
  font-family: var(--font-h);
  font-size: clamp(1.75rem, 3.5vw, 2.875rem);
  font-weight: 700;
  line-height: 1.15;
  color: var(--primary);
  margin-bottom: 14px;
}
.section-title em        { font-style: italic; font-weight: 400; color: var(--accent); }
.section-title--light    { color: var(--white); }
.section-title--light em { color: var(--accent-l); }

.section-sub { font-size: .9375rem; color: var(--muted); max-width: 520px; line-height: 1.8; }
.section-header { margin-bottom: 48px; }
.section-header--light .section-sub { color: rgba(255,255,255,.62); }
.section-header--center { text-align: center; }
.section-header--center .section-eyebrow::before { display: none; }
.section-header--center .section-sub { margin: 0 auto; }

/* ── BUTTONS ─────────────────────────────────────────────────── */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 13px 30px;
  font-family: var(--font-b);
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  border-radius: var(--radius);
  transition: var(--tr);
  position: relative;
  overflow: hidden;
  white-space: nowrap;
}
.btn--primary { background: var(--accent); color: var(--primary); box-shadow: 0 4px 18px rgba(200,169,126,.36); }
.btn--primary:hover { background: #b8976b; transform: translateY(-2px); box-shadow: 0 8px 26px rgba(200,169,126,.46); }
.btn--ghost   { background: transparent; color: var(--white); border: 1.5px solid rgba(255,255,255,.42); }
.btn--ghost:hover { border-color: var(--accent); color: var(--accent); transform: translateY(-2px); }
.btn--dark    { background: var(--primary); color: var(--accent); }
.btn--dark:hover { background: var(--primary-d); transform: translateY(-2px); }

.btn--submit {
  width: 100%;
  padding: 15px 32px;
  background: var(--accent);
  color: var(--primary);
  font-size: .875rem;
  font-weight: 700;
  border-radius: var(--radius);
  box-shadow: 0 4px 18px rgba(200,169,126,.28);
  border: none;
}
.btn--submit:hover { background: #b8976b; transform: translateY(-2px); }
.btn--submit.loading .btn__text   { opacity: 0; }
.btn--submit.loading .btn__loader { opacity: 1; }
.btn__loader {
  position: absolute;
  width: 18px; height: 18px;
  border: 2px solid rgba(62,39,35,.22);
  border-top-color: var(--primary);
  border-radius: 50%;
  animation: spin .65s linear infinite;
  opacity: 0;
  transition: opacity .2s;
}

/* ── NAVIGATION ──────────────────────────────────────────────── */
.nav {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 1000;
  height: var(--nav-h);
  background: transparent;
  transition: background var(--tr), box-shadow var(--tr), height var(--tr);
}
.nav.scrolled {
  background: rgba(250,247,242,.96);
  box-shadow: 0 1px 18px rgba(62,39,35,.09);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  height: 62px;
}
.nav__inner {
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 0 20px;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
@media (min-width:768px) { .nav__inner { padding: 0 40px; } }

.nav__logo { display: flex; align-items: baseline; gap: 3px; flex-shrink: 0; }
.nav__logo-img {
  height: 38px;
  width: auto;
  object-fit: contain;
  transition: opacity var(--tr);
}
.nav.scrolled .nav__logo-img { opacity: .92; }

.nav__logo-mark { font-family: var(--font-h); font-size: 1.5rem; font-weight: 700; color: var(--white); letter-spacing: .05em; transition: color var(--tr); }
.nav__logo-sub  { font-family: var(--font-h); font-size: 1rem; font-weight: 400; font-style: italic; color: var(--accent); }
.nav.scrolled .nav__logo-mark { color: var(--primary); }

.nav__links { display: flex; align-items: center; gap: 24px; }
.nav__links li a {
  font-size: .76rem;
  font-weight: 500;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(255,255,255,.82);
  position: relative;
  transition: color var(--tr);
  white-space: nowrap;
}
.nav__links li a::after {
  content: '';
  position: absolute;
  left: 0; bottom: -3px;
  width: 0; height: 1.5px;
  background: var(--accent);
  transition: width var(--tr);
}
.nav__links li a:hover        { color: var(--accent); }
.nav__links li a:hover::after { width: 100%; }
.nav.scrolled .nav__links li a       { color: var(--muted); }
.nav.scrolled .nav__links li a:hover { color: var(--primary); }

.nav__cta {
  background: var(--accent) !important;
  color: var(--primary) !important;
  padding: 9px 18px !important;
  border-radius: var(--radius) !important;
  font-weight: 700 !important;
}
.nav__cta::after { display: none !important; }
.nav__cta:hover  { background: #b8976b !important; transform: translateY(-1px); }

.nav__hamburger { display: none; flex-direction: column; gap: 5px; padding: 5px; }
.nav__hamburger span { display: block; width: 22px; height: 2px; background: var(--white); border-radius: 2px; transition: var(--tr); }
.nav.scrolled .nav__hamburger span      { background: var(--primary); }
.nav__hamburger.open span:nth-child(1)  { transform: translateY(7px) rotate(45deg); }
.nav__hamburger.open span:nth-child(2)  { opacity: 0; }
.nav__hamburger.open span:nth-child(3)  { transform: translateY(-7px) rotate(-45deg); }

.nav__mobile {
  position: absolute;
  top: 100%; left: 0; right: 0;
  background: rgba(250,247,242,.98);
  backdrop-filter: blur(20px);
  max-height: 0;
  overflow: hidden;
  transition: max-height .4s ease, padding .3s;
  box-shadow: 0 12px 32px rgba(62,39,35,.10);
}
.nav__mobile.open { max-height: 420px; padding: 10px 0 20px; }
.nav__mobile ul   { padding: 0 20px; }
.nav__mobile ul li a {
  display: block;
  padding: 13px 4px;
  font-size: .875rem;
  font-weight: 500;
  color: var(--primary);
  border-bottom: 1px solid rgba(62,39,35,.06);
  transition: color var(--tr), padding-left var(--tr);
}
.nav__mobile ul li:last-child a { border-bottom: none; }
.nav__mobile ul li a:hover { color: var(--accent); padding-left: 8px; }

@media (max-width:860px) { .nav__links { display: none; } .nav__hamburger { display: flex; } }

/* ── HERO ────────────────────────────────────────────────────── */
.hero { position: relative; min-height: 100svh; display: flex; align-items: center; overflow: hidden; }
.hero__bg { position: absolute; inset: 0; z-index: 0; }
.hero__img { width:100%; height:100%; object-fit:cover; object-position:center; transform:scale(1.04); animation:heroZoom 14s ease-out forwards; }
.hero__overlay { position:absolute; inset:0; background:linear-gradient(135deg,rgba(22,10,8,.76) 0%,rgba(55,33,28,.52) 50%,rgba(15,7,5,.7) 100%); }
.hero__grain   { position:absolute; inset:0; opacity:.32; pointer-events:none; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E"); }

.hero__content {
  position: relative; z-index: 2;
  width: 100%; max-width: var(--max-w);
  margin: 0 auto;
  padding: calc(var(--nav-h) + 52px) 20px 88px;
}
@media (min-width:768px)  { .hero__content { padding: calc(var(--nav-h) + 72px) 40px 100px; } }
@media (min-width:1200px) { .hero__content { padding: calc(var(--nav-h) + 72px) 48px 100px; } }

.hero__eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: .7rem; font-weight: 500; letter-spacing: .24em; text-transform: uppercase;
  color: var(--accent); margin-bottom: 20px; animation: fadeInUp .6s ease .1s both;
}
.hero__eyebrow::before { content:''; display:inline-block; width:26px; height:1px; background:var(--accent); }

.hero__headline {
  font-family: var(--font-h);
  font-size: clamp(2.4rem, 6vw, 5rem);
  font-weight: 700; line-height: 1.1;
  color: var(--white); margin-bottom: 22px;
  max-width: 660px;
  animation: fadeInUp .7s ease .2s both;
}
.hero__headline em { display: block; font-style: italic; font-weight: 400; color: var(--accent-l); }

.hero__sub {
  font-size: clamp(.875rem, 1.4vw, 1.0625rem);
  color: rgba(255,255,255,.76); max-width: 490px; line-height: 1.85;
  margin-bottom: 38px; animation: fadeInUp .7s ease .32s both;
}
.hero__actions { display: flex; flex-wrap: wrap; gap: 13px; animation: fadeInUp .7s ease .44s both; }

.hero__scroll {
  position: absolute; bottom: 34px; right: 40px; z-index: 2;
  display: flex; flex-direction: column; align-items: center; gap: 10px;
  animation: fadeInUp .7s ease .7s both;
}
.hero__scroll span { font-size: .6rem; letter-spacing: .2em; text-transform: uppercase; color: rgba(255,255,255,.42); writing-mode: vertical-lr; }
.hero__scroll-line { width:1px; height:50px; background:linear-gradient(to bottom,var(--accent),transparent); animation:scrollPulse 2s ease-in-out infinite; }
@media (max-width:480px) { .hero__scroll { display: none; } }

/* ── TRUST & METRICS ─────────────────────────────────────────── */
.trust { background: var(--bg); overflow: hidden; padding-bottom: 64px; }

.trust__marquee {
  background: var(--primary);
  padding: 11px 0;
  overflow: hidden;
  white-space: nowrap;
}
.trust__marquee-track {
  display: inline-flex;
  align-items: center;
  gap: 32px;
  animation: marquee 28s linear infinite;
  font-size: .68rem;
  font-weight: 500;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(200,169,126,.7);
}
.trust__marquee-track .sep { color: var(--accent); font-size: .52rem; }

.trust__metrics {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  background: var(--white);
  border: 1px solid rgba(200,169,126,.18);
  border-top: 3px solid var(--accent);
  border-radius: 0 0 10px 10px;
  box-shadow: 0 8px 28px rgba(62,39,35,.08);
  overflow: hidden;
}
@media (max-width:700px)  { .trust__metrics { grid-template-columns: 1fr 1fr; } }
@media (max-width:380px)  { .trust__metrics { grid-template-columns: 1fr; } }

.metric {
  padding: 32px 16px;
  text-align: center;
  border-right: 1px solid rgba(200,169,126,.12);
}
.metric:last-child { border-right: none; }
@media (max-width:700px) {
  .metric:nth-child(2) { border-right: none; }
  .metric { border-bottom: 1px solid rgba(200,169,126,.12); }
  .metric:nth-last-child(-n+2) { border-bottom: none; }
}
.metric__num  { display:inline; font-family:var(--font-h); font-size:clamp(1.875rem,3vw,2.75rem); font-weight:700; color:var(--primary); line-height:1; }
.metric__unit { font-family:var(--font-h); font-size:clamp(1.1rem,2vw,1.5rem); color:var(--accent); font-weight:400; }
.metric__label{ display:block; font-size:.7rem; color:var(--muted); letter-spacing:.07em; text-transform:uppercase; margin-top:6px; }

/* ── SERVICES (text + single side image) ────────────────────── */
.services { padding: 84px 0; background: var(--bg-warm); }

.services__layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: start;
}
@media (max-width:860px) { .services__layout { grid-template-columns: 1fr; gap: 36px; } }

/* image column */
.services__image-col { position: relative; }
.services__image-wrap {
  position: relative;
  border-radius: 10px;
  overflow: hidden;
  height: 520px;
}
@media (max-width:860px) { .services__image-wrap { height: 280px; order: -1; } }
.services__image-wrap img { width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.services__image-wrap:hover img { transform: scale(1.04); }
.services__image-badge {
  position: absolute;
  bottom: 20px; left: 20px;
  background: rgba(44,26,23,.88);
  backdrop-filter: blur(8px);
  color: var(--accent);
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  padding: 7px 14px;
  border-radius: var(--radius);
  border: 1px solid rgba(200,169,126,.25);
}

/* text column — accordion list */
.services__text-col { padding-top: 4px; }
.services__list { display: flex; flex-direction: column; }

.service-item {
  border-bottom: 1px solid rgba(62,39,35,.1);
  padding: 18px 0;
  cursor: pointer;
}
.service-item:first-child { padding-top: 4px; }
.service-item__header {
  display: flex;
  align-items: center;
  gap: 14px;
}
.service-item__num { font-family:var(--font-h); font-size:.8rem; color:var(--accent); font-style:italic; flex-shrink:0; width:24px; }
.service-item h3 { font-family:var(--font-h); font-size:1.125rem; font-weight:600; color:var(--primary); flex:1; transition:color var(--tr); }
.service-item:hover h3 { color: var(--accent); }
.service-item__arrow {
  width: 30px; height: 30px;
  border: 1.5px solid rgba(62,39,35,.18);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: .78rem; color: var(--muted);
  transition: var(--tr); flex-shrink: 0;
}
.service-item:hover .service-item__arrow,
.service-item.open  .service-item__arrow {
  background: var(--accent); border-color: var(--accent);
  color: var(--primary); transform: rotate(45deg);
}
.service-item__desc {
  font-size: .875rem;
  color: var(--muted);
  line-height: 1.75;
  margin-top: 0;
  padding-left: 38px;
  max-height: 0;
  overflow: hidden;
  transition: max-height .35s ease, margin-top .25s;
}
.service-item.open .service-item__desc { max-height: 100px; margin-top: 10px; }

.services__cta-row { display: flex; align-items: center; gap: 14px; margin-top: 28px; flex-wrap: wrap; }

/* ── PORTFOLIO ───────────────────────────────────────────────── */
.portfolio { padding: 80px 0; background: var(--bg); }

.portfolio__filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 32px; }
.portfolio__filter {
  padding: 7px 18px;
  font-size: .72rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase;
  color: var(--muted);
  border: 1.5px solid rgba(62,39,35,.14);
  border-radius: 100px;
  background: var(--white);
  transition: var(--tr); cursor: pointer;
}
.portfolio__filter:hover { border-color: var(--accent); color: var(--accent); }
.portfolio__filter.active { background: var(--primary); border-color: var(--primary); color: var(--accent); }

.portfolio__grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  grid-auto-rows: 230px;
  gap: 10px;
}
@media (max-width:900px) { .portfolio__grid { grid-template-columns: repeat(2,1fr); grid-auto-rows: 200px; } }
@media (max-width:560px) {
  .portfolio__grid { grid-template-columns: 1fr; grid-auto-rows: 210px; }
  .portfolio-item--tall, .portfolio-item--wide { grid-column:1; grid-row:span 1; }
}
.portfolio-item--tall { grid-row: span 2; }
.portfolio-item--wide { grid-column: span 2; }
@media (max-width:900px) { .portfolio-item--wide { grid-column: span 2; } }

.portfolio-item { position:relative; overflow:hidden; border-radius:8px; cursor:pointer; }
.portfolio-item.hidden { display:none; }
.portfolio-item__inner { position:relative; width:100%; height:100%; }
.portfolio-item__inner img { width:100%; height:100%; object-fit:cover; transition:transform .55s ease; }
.portfolio-item:hover img  { transform: scale(1.06); }

.portfolio-item__overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(20,8,6,.9) 0%, rgba(50,28,22,.12) 55%, transparent 100%);
  opacity: 0; transition: opacity var(--tr);
  display: flex; align-items: flex-end; padding: 22px;
}
.portfolio-item:hover .portfolio-item__overlay { opacity: 1; }
.portfolio-item__content { transform: translateY(8px); transition: transform var(--tr); }
.portfolio-item:hover .portfolio-item__content { transform: translateY(0); }

.portfolio-item__cat { display:inline-block; font-size:.6rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--accent); margin-bottom:3px; }
.portfolio-item__content h3 { font-family:var(--font-h); font-size:1.0625rem; color:var(--white); font-weight:600; margin-bottom:2px; line-height:1.25; }
.portfolio-item__content p  { font-size:.75rem; color:rgba(255,255,255,.62); margin-bottom:10px; }
.portfolio-item__btn {
  display:inline-flex; align-items:center; gap:5px;
  font-size:.68rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:var(--accent); border:1px solid rgba(200,169,126,.38);
  padding:5px 12px; border-radius:var(--radius); transition:var(--tr);
}
.portfolio-item__btn:hover { background: var(--accent); color: var(--primary); }

.portfolio__cta { text-align:center; margin-top:40px; }
.portfolio__cta p { font-family:var(--font-h); font-size:1.0625rem; color:var(--muted); margin-bottom:16px; font-style:italic; }

/* ── PROCESS (compact workflow line) ─────────────────────────── */
.process { padding: 68px 0; background: var(--primary); overflow: hidden; position: relative; }
.process__bg {
  position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(ellipse at 0% 50%, rgba(200,169,126,.07) 0%, transparent 55%),
              radial-gradient(ellipse at 100% 50%, rgba(200,169,126,.05) 0%, transparent 55%);
}

.process__flow {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  position: relative; z-index: 1; gap: 0;
}
/* connector line behind the steps */
.process__flow::before {
  content: '';
  position: absolute;
  top: 21px; left: calc(12.5% - 2px); right: calc(12.5% - 2px);
  height: 1px;
  background: linear-gradient(to right, transparent, rgba(200,169,126,.3) 15%, rgba(200,169,126,.3) 85%, transparent);
  z-index: 0;
}
@media (max-width:860px) { .process__flow { grid-template-columns: 1fr 1fr; gap: 32px 24px; } .process__flow::before { display:none; } }
@media (max-width:480px) { .process__flow { grid-template-columns: 1fr; gap: 24px; } }

.process-step { position:relative; padding: 0 16px; text-align:center; z-index:1; }
.process-step:first-child { padding-left:0; }
.process-step:last-child  { padding-right:0; }

.process-step__badge {
  display: inline-flex; align-items:center; justify-content:center;
  width: 42px; height: 42px;
  background: rgba(200,169,126,.1);
  border: 1.5px solid rgba(200,169,126,.28);
  border-radius: 50%;
  font-family: var(--font-h); font-size: .82rem; font-weight: 700; color: var(--accent);
  margin: 0 auto 14px;
  transition: background var(--tr), border-color var(--tr);
  position: relative; z-index: 1;
}
.process-step:hover .process-step__badge { background:rgba(200,169,126,.2); border-color:var(--accent); }
.process-step h3 { font-family:var(--font-h); font-size:.9375rem; font-weight:600; color:var(--white); margin-bottom:7px; }
.process-step p  { font-size:.78rem; color:rgba(255,255,255,.5); line-height:1.72; }

/* ── TESTIMONIALS ────────────────────────────────────────────── */
.testimonials { padding: 76px 0; background: var(--bg-warm); }

.testimonials__slider { position:relative; overflow:hidden; border-radius:10px; max-width:760px; margin:0 auto; }
.testimonials__track  { display:flex; transition:transform .45s cubic-bezier(.4,0,.2,1); }
.testimonial {
  min-width: 100%;
  background: var(--white);
  border-radius: 10px;
  box-shadow: var(--shadow);
  padding: 40px 44px;
  text-align: left;
}
@media (max-width:580px) { .testimonial { padding: 28px 22px; } }

.testimonial__stars { font-size: .85rem; color: var(--accent); letter-spacing: 3px; margin-bottom: 16px; }
.testimonial__quote {
  font-family: var(--font-h);
  font-size: clamp(.9375rem, 1.8vw, 1.1875rem);
  font-style: italic; color: var(--primary); line-height: 1.72;
  margin-bottom: 24px;
  padding-left: 20px;
  border-left: 3px solid var(--accent);
}
.testimonial__author { display:flex; align-items:center; gap:13px; }
.testimonial__avatar {
  width: 44px; height: 44px;
  background: linear-gradient(135deg, var(--primary), var(--accent));
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: .72rem; font-weight: 700; color: var(--white); flex-shrink: 0;
}
.testimonial__author strong { display:block; font-size:.875rem; font-weight:600; color:var(--primary); }
.testimonial__author span   { font-size:.75rem; color:var(--muted); }

.testimonials__nav { display:flex; align-items:center; justify-content:center; gap:12px; margin-top:22px; }
.testimonials__prev, .testimonials__next {
  width:38px; height:38px; border:1.5px solid rgba(62,39,35,.17); border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:.9375rem; color:var(--primary); background:var(--white); transition:var(--tr);
}
.testimonials__prev:hover, .testimonials__next:hover { background:var(--primary); border-color:var(--primary); color:var(--accent); }
.testimonials__dots { display:flex; gap:6px; }
.testimonials__dot { width:6px; height:6px; background:rgba(62,39,35,.18); border-radius:50%; cursor:pointer; transition:var(--tr); border:none; }
.testimonials__dot.active { background:var(--accent); transform:scale(1.35); }

/* ── QUOTE / CONTACT SECTION ─────────────────────────────────── */
.quote { padding: 84px 0; background: var(--bg); }

.quote__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: start;
}
@media (max-width:860px) { .quote__inner { grid-template-columns: 1fr; gap: 40px; } }

.quote__copy .section-title { font-size: clamp(1.6rem, 3vw, 2.375rem); }
.quote__sub { font-size: .9375rem; color: var(--muted); line-height: 1.82; margin-bottom: 24px; }

.quote__promises { display:flex; flex-direction:column; gap:9px; margin-bottom:28px; }
.quote__promises li {
  display: flex; align-items: center; gap: 10px;
  font-size: .875rem; color: var(--primary); font-weight: 500;
}
.quote__promises li::before {
  content: '✓';
  display: inline-flex; align-items: center; justify-content: center;
  width: 19px; height: 19px;
  background: rgba(200,169,126,.2); color: var(--accent);
  border-radius: 50%; font-size: .62rem; font-weight: 700; flex-shrink: 0;
}

.quote__contact-row { display:flex; flex-direction:column; gap:10px; }
.quote__contact-item { display:flex; align-items:center; gap:10px; font-size:.875rem; color:var(--muted); }
.quote__contact-item a   { color:var(--primary); font-weight:600; transition:color var(--tr); }
.quote__contact-item a:hover { color:var(--accent); }
.quote__contact-item svg { width:16px; height:16px; color:var(--accent); flex-shrink:0; }

/* form card */
.quote-form-card {
  background: var(--white);
  border-radius: 12px;
  padding: 36px 32px;
  box-shadow: 0 8px 36px rgba(62,39,35,.09);
  border: 1px solid rgba(200,169,126,.16);
}
@media (max-width:440px) { .quote-form-card { padding: 24px 16px; } }

.quote-form { display:grid; grid-template-columns:1fr 1fr; gap:14px 18px; }
@media (max-width:560px) { .quote-form { grid-template-columns:1fr; } }

.form-group { display:flex; flex-direction:column; gap:5px; }
.form-group--full { grid-column: 1 / -1; }

.form-group label {
  font-size: .68rem; font-weight: 700; letter-spacing: .08em;
  text-transform: uppercase; color: var(--primary);
}
.form-group input,
.form-group select,
.form-group textarea {
  padding: 10px 13px;
  font-family: var(--font-b); font-size: .9rem; color: var(--text);
  background: var(--bg);
  border: 1.5px solid rgba(62,39,35,.12);
  border-radius: var(--radius);
  outline: none;
  transition: border-color var(--tr), box-shadow var(--tr);
  width: 100%;
  -webkit-appearance: none;
}
.form-group select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233E2723' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 11px center;
  background-size: 14px;
  padding-right: 34px;
  background-color: var(--bg);
}
.form-group textarea { resize: vertical; min-height: 86px; }
.form-group input:focus, .form-group select:focus, .form-group textarea:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(200,169,126,.16);
  background: var(--white);
}
.form-group input.error, .form-group select.error { border-color: #d9534f; }
.form-error { font-size: .7rem; color: #d9534f; min-height: 15px; }

/* ── SUCCESS MODAL ───────────────────────────────────────────── */
.success-overlay {
  position: fixed; inset: 0;
  background: rgba(18,8,6,.76);
  z-index: 2000;
  display: flex; align-items: center; justify-content: center; padding: 20px;
  opacity: 0; pointer-events: none; transition: opacity .3s ease;
}
.success-overlay.show { opacity: 1; pointer-events: all; }

.success-modal {
  background: var(--white);
  border-radius: 14px;
  padding: 48px 40px;
  max-width: 500px; width: 100%;
  text-align: center;
  box-shadow: var(--shadow-lg);
  animation: slideDown .4s ease both;
  position: relative;
}
@media (max-width:460px) { .success-modal { padding: 36px 22px; } }

.success-modal__close {
  position: absolute; top: 14px; right: 14px;
  width: 30px; height: 30px;
  border-radius: 50%; background: var(--bg-warm); border: none;
  font-size: 1rem; color: var(--muted); cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: var(--tr);
}
.success-modal__close:hover { background: var(--primary); color: var(--white); }

.success-modal__icon {
  width: 64px; height: 64px;
  background: linear-gradient(135deg, var(--primary), var(--accent));
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 20px;
  font-size: 1.625rem;
  animation: popIn .5s cubic-bezier(.18,.89,.32,1.28) .1s both;
}
.success-modal h3 { font-family:var(--font-h); font-size:1.625rem; color:var(--primary); margin-bottom:8px; }
.success-modal p  { font-size:.9375rem; color:var(--muted); line-height:1.75; margin-bottom:26px; }

.success-modal__actions { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-bottom:12px; }
@media (max-width:360px) { .success-modal__actions { grid-template-columns:1fr; } }

.success-cta {
  display: flex; align-items: center; justify-content: center; gap: 7px;
  padding: 10px 14px;
  border-radius: var(--radius);
  font-size: .73rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
  transition: var(--tr); border: 1.5px solid transparent; text-decoration: none;
}
.success-cta--wa    { background: #25D366; color: #fff; border-color: #25D366; }
.success-cta--wa:hover { background: #1ebe5a; }
.success-cta--call  { background: var(--primary); color: var(--accent); border-color: var(--primary); }
.success-cta--call:hover { background: var(--primary-d); }
.success-cta--map   { background: var(--bg-warm); color: var(--primary); border-color: rgba(62,39,35,.18); }
.success-cta--map:hover  { border-color: var(--accent); color: var(--accent); }
.success-cta--visit { background: var(--bg-warm); color: var(--primary); border-color: rgba(62,39,35,.18); }
.success-cta--visit:hover{ border-color: var(--accent); color: var(--accent); }
.success-cta svg    { width: 14px; height: 14px; flex-shrink: 0; }

/* ── MAP SECTION ─────────────────────────────────────────────── */
.map-section { padding: 68px 0; background: var(--bg-warm); }
.map-embed   { margin-top: 28px; border-radius: 10px; overflow: hidden; box-shadow: var(--shadow); }
.map-embed iframe { width:100%; height:380px; border:0; display:block; }

/* ── FOOTER ──────────────────────────────────────────────────── */
.footer { background: var(--primary-d); padding: 68px 0 0; }
.footer__top {
  display: grid; grid-template-columns: 1fr 2fr; gap: 56px;
  padding-bottom: 52px;
  border-bottom: 1px solid rgba(200,169,126,.1);
}
@media (max-width:860px) { .footer__top { grid-template-columns: 1fr; gap: 36px; } }

.footer__logo { display:flex; align-items:baseline; gap:3px; margin-bottom:14px; }
.footer__logo span:first-child { font-family:var(--font-h); font-size:1.75rem; font-weight:700; color:var(--white); }
.footer__logo span:last-child  { font-family:var(--font-h); font-size:1.1rem; font-style:italic; color:var(--accent); }
.footer__brand p { font-size:.875rem; color:rgba(255,255,255,.42); line-height:1.8; max-width:255px; margin-bottom:22px; }
.footer__social { display:flex; gap:9px; }
.footer__social a {
  width:36px; height:36px; border:1px solid rgba(200,169,126,.2); border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  color:rgba(255,255,255,.42); transition:var(--tr);
}
.footer__social a svg { width:16px; height:16px; }
.footer__social a:hover { border-color:var(--accent); color:var(--accent); }

.footer__links { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; }
@media (max-width:520px) { .footer__links { grid-template-columns:1fr 1fr; } }

.footer__col h4 { font-size:.66rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--accent); margin-bottom:16px; }
.footer__col ul { display:flex; flex-direction:column; gap:8px; }
.footer__col ul li,
.footer__col ul li a { font-size:.82rem; color:rgba(255,255,255,.38); transition:color var(--tr); line-height:1.5; }
.footer__col ul li a:hover { color:rgba(255,255,255,.8); }

.footer__bottom {
  padding: 18px 0;
  display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px;
}
.footer__bottom p,
.footer__bottom a { font-size:.76rem; color:rgba(255,255,255,.26); transition:color var(--tr); }
.footer__bottom a:hover { color:var(--accent); }

/* ── WHATSAPP FLOAT ──────────────────────────────────────────── */
.whatsapp-float {
  position: fixed; bottom: 26px; right: 22px; z-index: 900;
  display: flex; align-items: center; gap: 8px;
  background: #25D366; color: #fff;
  padding: 10px 16px 10px 13px;
  border-radius: 100px;
  font-size: .76rem; font-weight: 700;
  box-shadow: 0 6px 22px rgba(37,211,102,.36);
  transition: transform var(--tr), box-shadow var(--tr);
  text-decoration: none;
}
.whatsapp-float svg { width:19px; height:19px; flex-shrink:0; }
.whatsapp-float:hover { transform:translateY(-3px) scale(1.03); box-shadow:0 12px 32px rgba(37,211,102,.46); }
@media (max-width:540px) { .whatsapp-float { padding:12px; border-radius:50%; } .whatsapp-float span { display:none; } }

/* ── FOCUS ───────────────────────────────────────────────────── */
:focus-visible { outline:2px solid var(--accent); outline-offset:3px; border-radius:3px; }