:root{
  --clay:#B5573C;
  --clay-dark:#8C3F29;
  --sand:#F3E9DC;
  --sand-deep:#E9DAC4;
  --sage:#7C8B6F;
  --espresso:#2B2420;
  --espresso-soft:#5B5148;
  --cream:#FBF7F1;
  --white:#FFFFFF;
  --radius-sm:8px;
  --radius-md:16px;
  --radius-lg:26px;
  --container:1100px;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Karla',system-ui,-apple-system,sans-serif;
  color:var(--espresso);
  background:var(--cream);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
  font-family:'Fraunces','Karla',serif;
  font-weight:500;
  color:var(--espresso);
  line-height:1.15;
  margin:0 0 0.5em;
}
p{margin:0 0 1em; color:var(--espresso-soft);}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
.container{max-width:var(--container); margin:0 auto; padding:0 24px;}
.section{padding:90px 0;}
.eyebrow{
  display:inline-block; font-family:'Karla',sans-serif;
  font-size:12.5px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase;
  color:var(--clay); margin-bottom:16px;
}
.lead{font-size:19px; color:var(--espresso-soft); max-width:600px; font-style:italic;}

.btn{
  display:inline-flex; align-items:center; gap:8px;
  padding:14px 30px; border-radius:999px; font-weight:600; font-size:14.5px;
  border:1.5px solid transparent; cursor:pointer; transition:transform .2s ease, background .2s ease;
  font-family:'Karla',sans-serif;
}
.btn:hover{transform:translateY(-2px);}
.btn-clay{background:var(--clay); color:var(--white);}
.btn-clay:hover{background:var(--clay-dark);}
.btn-line{background:transparent; border-color:var(--espresso); color:var(--espresso);}
.btn-line:hover{background:var(--espresso); color:var(--cream);}

.res-header{
  padding:22px 0; border-bottom:1px solid rgba(43,36,32,0.08);
}
.res-header .container{display:flex; align-items:center; justify-content:space-between;}
.res-word{display:flex; align-items:center; gap:10px; font-family:'Fraunces',serif; font-size:20px; font-weight:600; letter-spacing:0.01em;}
.res-word span{color:var(--clay);}
.res-word img{height:32px; width:32px;}
.lang-switch{
  display:flex; gap:6px; align-items:center; font-family:'Karla',sans-serif; font-size:13px; font-weight:600;
}
.lang-switch a{padding:6px 12px; border-radius:999px; border:1px solid rgba(43,36,32,0.15); color:var(--espresso-soft);}
.lang-switch a.active{background:var(--espresso); color:var(--cream); border-color:var(--espresso);}

.res-hero{padding:80px 0 60px;}
.res-hero-grid{display:grid; gap:48px; align-items:center; grid-template-columns:1fr;}
@media(min-width:960px){.res-hero-grid{grid-template-columns:1fr 0.9fr;}}
.res-hero h1{font-size:clamp(32px,4.6vw,50px);}
.res-hero-visual{
  border-radius:var(--radius-lg);
  aspect-ratio:4/3;
  background:linear-gradient(135deg, var(--sand-deep), var(--sage) 140%);
  position:relative; overflow:hidden;
}
.res-hero-visual::before{
  content:''; position:absolute; inset:0;
  background-image:radial-gradient(circle at 25% 30%, rgba(255,255,255,0.35), transparent 45%),
    radial-gradient(circle at 75% 70%, rgba(181,87,60,0.25), transparent 50%);
}
.res-hero-visual span{
  position:absolute; left:24px; bottom:24px; font-family:'Karla',sans-serif; font-size:12.5px;
  color:rgba(43,36,32,0.55); background:rgba(255,255,255,0.6); padding:6px 12px; border-radius:999px;
}

.audience-grid{display:grid; gap:24px; grid-template-columns:repeat(auto-fit,minmax(280px,1fr));}
.audience-card{
  background:var(--white); border-radius:var(--radius-md); padding:34px 30px;
  border:1px solid rgba(43,36,32,0.08);
}
.audience-card .tag{
  display:inline-block; font-size:11.5px; font-weight:700; letter-spacing:0.06em; text-transform:uppercase;
  color:var(--sage); margin-bottom:14px;
}

.approach-grid{display:grid; gap:30px; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); max-width:900px; margin:0 auto;}
.approach-step{text-align:left;}
.approach-num{
  font-family:'Fraunces',serif; font-size:34px; color:var(--clay); margin-bottom:8px;
}

.res-cta{
  background:var(--espresso); color:var(--cream); border-radius:var(--radius-lg);
  padding:60px 40px; text-align:center;
}
.res-cta h2{color:var(--cream);}
.res-cta p{color:rgba(251,247,241,0.78); max-width:520px; margin:0 auto 26px;}

.res-footer{padding:34px 0; border-top:1px solid rgba(43,36,32,0.08); text-align:center;}
.res-footer p{font-size:13px; color:var(--espresso-soft); margin:0;}

.remote-note{
  display:flex; gap:14px; align-items:flex-start; background:var(--sand);
  border-radius:var(--radius-md); padding:22px 26px; margin-top:18px;
}
.remote-note .icon{font-size:20px;}

.res-nav{display:flex; gap:22px; align-items:center; font-family:'Karla',sans-serif; font-size:14px; font-weight:600;}
.res-nav a{color:var(--espresso-soft); padding:4px 0; border-bottom:2px solid transparent; transition:color .2s ease, border-color .2s ease;}
.res-nav a:hover, .res-nav a.active{color:var(--clay); border-color:var(--clay);}
.res-header .container{flex-wrap:wrap; row-gap:12px;}

.res-gallery{display:grid; gap:18px; grid-template-columns:repeat(auto-fit,minmax(280px,1fr));}
.res-gallery-item{
  position:relative; border-radius:var(--radius-md); overflow:hidden;
  aspect-ratio:4/3; background:var(--sand);
}
.res-gallery-item img{width:100%; height:100%; object-fit:cover; transition:transform .5s ease;}
.res-gallery-item:hover img{transform:scale(1.06);}
.res-gallery-caption{
  position:absolute; left:0; right:0; bottom:0; padding:16px 16px 12px;
  background:linear-gradient(0deg, rgba(43,36,32,0.82), rgba(43,36,32,0));
  color:var(--cream);
}
.res-gallery-caption strong{display:block; font-family:'Fraunces',serif; font-size:15px; font-weight:500;}
.res-gallery-caption span{font-size:12px; color:rgba(251,247,241,0.8);}
