/* Willow Creek Dental — consumer healthcare. Own system: sage/sand, rounded, photo-forward CSS art. */
:root{
  --sand:#f6efe4;
  --sand-2:#efe4d2;
  --sage:#7f9a78;
  --sage-deep:#4f6750;
  --clay:#d7b38a;
  --ink:#3a4036;
  --white:#fffaf3;
  --display:'Fraunces',Georgia,serif;
  --sans:'Nunito','Avenir Next',Tahoma,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--sand)}
body{
  background:
    radial-gradient(circle at 12% 20%, rgba(127,154,120,.28), transparent 34%),
    radial-gradient(circle at 88% 8%, rgba(215,179,138,.35), transparent 28%),
    var(--sand);
  color:var(--ink);
  font-family:var(--sans);
  line-height:1.6;
}
a{color:var(--sage-deep)}

.sample-bar{
  display:block;margin:14px auto 0;width:min(920px,calc(100% - 28px));
  background:var(--sage-deep);color:var(--white);text-align:center;
  text-decoration:none;border-radius:999px;padding:10px 18px;font-size:13px;font-weight:700;
}

.shell{
  width:min(1040px,calc(100% - 28px));margin:22px auto 0;
  display:flex;justify-content:space-between;align-items:center;gap:16px;
}
.logo{font-family:var(--display);font-size:28px;color:var(--sage-deep);text-decoration:none;line-height:1.1}
.logo em{display:block;font-style:italic;font-size:16px;color:var(--sage)}
.pill{
  display:flex;gap:6px;background:var(--white);padding:6px;border-radius:999px;
  box-shadow:0 10px 30px rgba(79,103,80,.08);
}
.pill a{text-decoration:none;padding:8px 16px;border-radius:999px;font-weight:700;color:var(--ink)}
.pill a[aria-current="page"]{background:var(--sage);color:var(--white)}

.welcome{
  width:min(1040px,calc(100% - 28px));margin:48px auto 0;
  display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;
}
.chip{
  display:inline-block;background:var(--white);border-radius:999px;
  padding:6px 12px;font-size:12px;font-weight:700;color:var(--sage-deep);margin-bottom:14px;
}
.welcome h1,.people h1,.visit h1{
  font-family:var(--display);font-weight:500;font-size:clamp(34px,5vw,54px);
  line-height:1.15;color:var(--sage-deep);margin-bottom:16px;
}
.soft-btn{
  display:inline-block;margin-top:18px;background:var(--sage);color:var(--white);
  text-decoration:none;border:0;border-radius:999px;padding:12px 22px;
  font:700 16px var(--sans);cursor:pointer;
}

.photos{position:relative;min-height:380px}
.shot{position:absolute;border-radius:36px;box-shadow:0 18px 40px rgba(62,72,58,.12)}
.shot-a{inset:10% 18% 28% 8%;background:
  linear-gradient(180deg,rgba(79,103,80,.08),rgba(79,103,80,.18)),
  url('https://images.unsplash.com/photo-1513694203232-719a280e022f?auto=format&fit=crop&w=1200&q=70') center/cover}
.shot-b{width:46%;height:46%;right:4%;bottom:6%;border-radius:50%;background:
  url('https://images.unsplash.com/photo-1502672260266-1c1ef2d93688?auto=format&fit=crop&w=800&q=70') center/cover}
.shot-c{width:34%;height:28%;left:6%;bottom:4%;border-radius:28px;background:
  url('https://images.unsplash.com/photo-1493663284031-b7e3aefcae8e?auto=format&fit=crop&w=800&q=70') center/cover}

.strip{
  width:min(1040px,calc(100% - 28px));margin:64px auto 80px;
  display:grid;grid-template-columns:repeat(3,1fr);gap:18px;
}
.strip article{
  background:var(--white);border-radius:28px;padding:26px 24px;
  box-shadow:0 12px 32px rgba(79,103,80,.06);
}
.strip h2{font-family:var(--display);font-size:26px;color:var(--sage-deep);margin-bottom:8px;font-weight:500}

.people,.visit{width:min(880px,calc(100% - 28px));margin:48px auto 80px}
.lead{margin-bottom:28px}
.people ul{list-style:none;display:grid;gap:20px}
.people li{
  display:grid;grid-template-columns:92px 1fr;gap:18px;align-items:center;
  background:var(--white);border-radius:32px;padding:18px 20px;
}
.face{
  width:92px;height:92px;border-radius:50%;display:grid;place-items:center;
  font-family:var(--display);font-size:22px;color:var(--white);
}
.f1{background:linear-gradient(160deg,#7f9a78,#4f6750)}
.f2{background:linear-gradient(160deg,#d7b38a,#b88858)}
.f3{background:linear-gradient(160deg,#9eb6c9,#5d7380)}
.people h2{font-family:var(--display);font-size:24px;color:var(--sage-deep);font-weight:500}

.bubble{
  background:var(--white);border-radius:40px;padding:36px 32px;
  box-shadow:0 18px 50px rgba(79,103,80,.08);
}
.visit label{display:block;font-weight:700;margin:16px 0}
.visit input,.visit textarea{
  display:block;width:100%;margin-top:6px;border:0;background:var(--sand);
  border-radius:18px;padding:12px 14px;font:400 16px var(--sans);
}
.visit textarea{min-height:110px}
.hint{margin-top:18px;font-size:14px;opacity:.75}
#nice{margin-top:16px}

.end{
  width:min(1040px,calc(100% - 28px));margin:0 auto 40px;
  display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;
  font-size:14px;color:var(--sage-deep);
}

@media(max-width:800px){
  .shell,.welcome{grid-template-columns:1fr}
  .welcome{display:flex;flex-direction:column}
  .shell{flex-direction:column;align-items:flex-start}
  .photos{min-height:280px;width:100%}
  .strip{grid-template-columns:1fr}
}
