@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap');

:root {
  --ink:#142d2c;
  --muted:#5b706e;
  --teal:#16796f;
  --mint:#e7f3ee;
  --gold:#e2b65d;
  --cream:#fffaf2;
  --line:#dbe8e1;
  --shadow:0 20px 60px rgba(20,45,44,.10)}

* {
  box-sizing:border-box}

body {
  font-family:'DM Sans',sans-serif;
  color:var(--ink);
  background:#fff;
  line-height:1.7}

h1,h2,h3,h4,h5 {
  font-family:'Playfair Display',serif;
  line-height:1.18}

a {
  color:inherit;
  text-decoration:none}

.navbar {
  padding:20px 0;
  background:rgba(255,255,255,.96)}

.navbar-brand {
  font-family:'Playfair Display',serif;
  font-size:1.5rem;
  font-weight:700;
  color:var(--ink)!important;
  display:flex;
  align-items:center;
  gap:9px}

.brand-mark {
  width:31px;
  height:31px;
  border-radius:50% 50% 50% 8px;
  background:var(--teal);
  display:inline-grid;
  place-items:center;
  color:#fff;
  font:700 18px/1 'DM Sans';
  transform:rotate(-45deg)}

.brand-mark span {
  transform:rotate(45deg)}

.nav-link {
  font-size:.9rem;
  font-weight:600;
  color:var(--ink)!important;
  margin:0 7px}

.nav-link:hover,.nav-link.active {
  color:var(--teal)!important}

.btn {
  border-radius:8px;
  padding:12px 22px;
  font-weight:700;
  letter-spacing:.01em}

.btn-primary {
  background:var(--teal);
  border-color:var(--teal)}

.btn-primary:hover {
  background:#0d625a;
  border-color:#0d625a}

.btn-outline-dark {
  border-color:var(--ink);
  color:var(--ink)}

.btn-outline-dark:hover {
  background:var(--ink);
  color:#fff}

.eyebrow {
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.73rem;
  font-weight:700;
  color:var(--teal);
  margin-bottom:16px}

.display-title {
  font-size:clamp(2.8rem,5.7vw,5.5rem);
  letter-spacing:-.045em}

.section-pad {
  padding:100px 0}

.hero {
  background:var(--cream);
  min-height:650px;
  display:flex;
  align-items:center;
  overflow:hidden}

.hero-copy {
  max-width:620px}

.hero p {
  color:var(--muted);
  font-size:1.08rem;
  max-width:530px}

.hero-art {
  position:relative;
  min-height:500px}

.hero-art img {
  width:100%;
  height:490px;
  object-fit:cover;
  border-radius:46% 46% 10px 46%;
  box-shadow:var(--shadow)}

.floating-card {
  position:absolute;
  background:#fff;
  padding:18px 20px;
  border-radius:13px;
  box-shadow:var(--shadow);
  font-size:.88rem;
  display:flex;
  align-items:center;
  gap:10px}

.float-one {
  left:-35px;
  bottom:70px}

.float-two {
  right:-15px;
  top:64px}

.circle-icon {
  width:35px;
  height:35px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--mint);
  color:var(--teal);
  font-weight:700}

.text-muted {
  color:var(--muted)!important}

.soft {
  background:var(--mint)}

.cream {
  background:var(--cream)}

.section-heading {
  max-width:650px}

.section-heading h2 {
  font-size:clamp(2rem,4vw,3.4rem);
  letter-spacing:-.03em}

.service-card {
  height:100%;
  border:1px solid var(--line);
  border-radius:15px;
  overflow:hidden;
  background:#fff;
  transition:.25s;
  box-shadow:0 5px 20px rgba(20,45,44,.03)}

.service-card:hover {
  transform:translateY(-6px);
  box-shadow:var(--shadow)}

.service-card img {
  width:100%;
  height:205px;
  object-fit:cover}

.service-card .card-body {
  padding:25px}

.service-card h3 {
  font-size:1.45rem}

.service-card p {
  font-size:.92rem;
  color:var(--muted)}

.number-list {
  counter-reset:item}

.number-item {
  display:flex;
  gap:20px;
  margin-bottom:28px}

.number-item .num {
  font-family:'Playfair Display';
  font-size:2.2rem;
  color:var(--gold);
  line-height:1}

.testimonial {
  background:var(--ink);
  color:#fff;
  border-radius:20px;
  padding:46px}

.testimonial p {
  font-family:'Playfair Display';
  font-size:1.7rem;
  line-height:1.4}

.stars {
  color:var(--gold);
  letter-spacing:5px}

.blog-card {
  height:100%;
  border-bottom:1px solid var(--line)}

.blog-card img {
  height:220px;
  width:100%;
  object-fit:cover;
  border-radius:12px}

.blog-card h3 {
  font-size:1.45rem;
  margin-top:18px}

.faq .accordion-item {
  border:0;
  border-bottom:1px solid var(--line);
  border-radius:0}

.faq .accordion-button {
  padding:22px 0;
  background:transparent;
  color:var(--ink);
  box-shadow:none;
  font-weight:700}

.faq .accordion-button:not(.collapsed) {
  color:var(--teal)}

.faq .accordion-body {
  padding:0 0 22px;
  color:var(--muted)}

.cta {
  background:var(--teal);
  color:white;
  border-radius:20px;
  padding:60px}

.cta p {
  color:#d8eeea}

.footer {
  background:#f4f8f5;
  padding:65px 0 25px}

.footer h5 {
  font-size:1.05rem;
  margin-bottom:18px}

.footer a,.footer p {
  font-size:.88rem;
  color:var(--muted);
  display:block;
  margin:7px 0}

.page-hero {
  background:var(--cream);
  padding:95px 0}

.page-hero h1 {
  font-size:clamp(2.7rem,5vw,4.6rem)}

.form-control,.form-select {
  border:1px solid var(--line);
  padding:14px 16px;
  border-radius:8px}

.form-control:focus,.form-select:focus {
  border-color:var(--teal);
  box-shadow:0 0 0 3px rgba(22,121,111,.12)}

.contact-box {
  background:var(--mint);
  padding:30px;
  border-radius:15px}

.contact-box a {
  color:var(--teal);
  font-weight:700}

.legal h2 {
  font-size:1.8rem;
  margin-top:34px}

.legal p,.legal li {
  color:var(--muted)}

.notice {
  display:none;
  margin-top:18px;
  padding:14px;
  border-radius:8px;
  background:var(--mint);
  color:var(--teal);
  font-weight:600}

.mini-tag {
  display:inline-flex;
  background:var(--mint);
  color:var(--teal);
  padding:8px 14px;
  border-radius:30px;
  font-size:.78rem;
  font-weight:700}

.stats {
  font-family:'Playfair Display';
  font-size:2.6rem}

.img-rounded {
  border-radius:20px;
  width:100%;
  height:470px;
  object-fit:cover}

@media(max-width:991px) {
  .navbar-collapse {
  background:#fff;
  padding:15px 0}

.hero {
  padding:70px 0}

.hero-art {
  margin-top:35px}

.float-one {
  left:0}

.section-pad {
  padding:70px 0}

.cta {
  padding:40px 25px}

}

@media(max-width:575px) {
  .hero-art img {
  height:350px}

.hero-art {
  min-height:380px}

.floating-card {
  font-size:.75rem}

.float-two {
  right:0}

.testimonial p {
  font-size:1.3rem}

}

/* Real photography polish */
.hero-art img {
  object-position:center;
  filter:saturate(.92)}

.service-card img,.blog-card img {
  transition:transform .5s ease;
  object-position:center}

.service-card:hover img,.blog-card:hover img {
  transform:scale(1.04)}


  .blog-content img{
    width: 100%;
  }

  .blog-content p{
    text-align: justify;
  }

  .navbar-brand img{
    width: 250px;
  }