 :root {
     --pink: #f5ccdc;
     --blush: #fff3f7;
     --gold: #c99436;
     --dark: #2d2427;
     --muted: #6e6267;
     --white: #fff;
     --line: #eddfe4
 }

 * {
     box-sizing: border-box
 }

 html {
     scroll-behavior: smooth
 }

 body {
     margin: 0;
     color: var(--dark);
     font-family: "DM Sans", sans-serif;
     line-height: 1.65;
     background: white
 }

 h1,
 h2,
 h3 {
     font-family: "Playfair Display", serif;
     line-height: 1.2
 }

 h1 {
     font-size: clamp(2.5rem, 5vw, 4.7rem);
     margin: .3em 0
 }

 h2 {
     font-size: clamp(1.8rem, 3vw, 2.7rem);
     margin: .5em 0
 }

 h3 {
     font-size: 1.4rem
 }

 a {
     color: inherit
 }

 img {
     max-width: 100%;
     display: block
 }

 button,
 input,
 textarea,
 select {
     font: inherit
 }

 .container {
     width: min(1160px, 92%);
     margin-inline: auto
 }

 .section {
     padding: 85px 0
 }

 .eyebrow {
     letter-spacing: .19em;
     text-transform: uppercase;
     color: #a97422;
     font-weight: 700;
     font-size: .75rem
 }

 .site-header {
     background: white;
     position: sticky;
     top: 0;
     z-index: 100;
     box-shadow: 0 2px 18px #32171b12
 }

 .header-inner {
     min-height: 92px;
     display: flex;
     align-items: center;
     gap: 22px
 }

 .brand {
     display: flex;
     align-items: center;
     text-decoration: none;
     font-family: "Playfair Display", serif;
     font-size: 1.25rem;
     font-weight: 700;
     white-space: nowrap
 }

 .brand img {
     height: 65px;
     width: 65px;
     object-fit: contain
 }

 .nav {
     display: flex;
     gap: 23px;
     align-items: center;
     margin-left: auto
 }

 .nav>a,
 .drop-toggle {
     font-size: .88rem;
     font-weight: 700;
     text-decoration: none;
     background: none;
     border: 0;
     cursor: pointer;
     color: var(--dark)
 }

 .nav a:hover,
 .drop-toggle:hover {
     color: var(--gold)
 }

 .dropdown {
     position: relative
 }

 .drop-menu {
     display: none;
     position: absolute;
     top: 100%;
     left: 0;
     min-width: 220px;
     background: white;
     box-shadow: 0 8px 25px #0002;
     padding: 12px;
     border-radius: 8px
 }

 .drop-menu a {
     display: block;
     padding: 8px 12px;
     text-decoration: none;
     font-size: .9rem
 }

 .dropdown:hover .drop-menu,
 .dropdown.open .drop-menu {
     display: block
 }

 .header-cta,
 .btn {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     gap: 12px;
     padding: 13px 20px;
     border-radius: 40px;
     font-size: .87rem;
     font-weight: 700;
     text-decoration: none;
     cursor: pointer;
     transition: .2s
 }

 .header-cta,
 .btn-primary {
     background: var(--dark);
     color: white;
     border: 1px solid var(--dark)
 }

 .btn-outline {
     border: 1px solid var(--dark);
     background: transparent
 }

 .btn-light {
     background: white;
     color: var(--dark)
 }

 .header-cta:hover,
 .btn-primary:hover {
     background: var(--gold);
     border-color: var(--gold)
 }

 .nav-toggle {
     display: none;
     border: 0;
     background: none;
     font-size: 1.3rem
 }

 .hero {
     background: linear-gradient(100deg, #fff6f9ee, #f5ccdcbb), repeating-linear-gradient(90deg, #fff 0 38px, #f5ccdc 38px 76px);
     padding: 85px 0
 }

 .inner-hero {
     background-image: linear-gradient(90deg, #fff7faf7, #f5ccdcdd), var(--hero-image, linear-gradient(90deg, #fff, #f5ccdc));
     background-size: cover;
     background-position: center
 }

 .inner-hero .container {
     max-width: 1160px
 }

 .inner-hero p {
     max-width: 640px
 }

 .inner-hero h2 {
     font-size: clamp(1.3rem, 2.4vw, 1.9rem);
     font-weight: 400
 }

 .breadcrumbs {
     font-size: .83rem;
     margin-bottom: 25px
 }

 .breadcrumbs span {
     padding: 0 10px;
     color: var(--gold)
 }

 .section-heading {
     text-align: center;
     max-width: 700px;
     margin: 0 auto 45px
 }

 .section-heading p {
     color: var(--muted)
 }

 .cards {
     display: grid;
     grid-template-columns: repeat(3, 1fr);
     gap: 25px
 }

 .service-card {
     border: 1px solid var(--line);
     border-radius: 16px;
     overflow: hidden;
     background: white;
     box-shadow: 0 8px 25px #3521260b
 }

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

 .card-body {
     padding: 24px
 }

 .card-body h2 {
     font-size: 1.55rem
 }

 .card-body p {
     color: var(--muted)
 }

 .text-link {
     color: #9a6c25;
     font-weight: 700;
     text-decoration: none
 }

 .split {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 55px;
     align-items: center
 }

 .split>img {
     width: 100%;
     border-radius: 20px
 }

 .area-split iframe,
 .full-map iframe {
     width: 100%;
     height: 350px;
     border: 0;
     border-radius: 18px
 }

 .city-links {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 10px;
     margin-bottom: 24px
 }

 .city-links a {
     color: #92631e
 }

 .cta {
     background: linear-gradient(120deg, #f6d2df, #fff0f5);
     text-align: center;
     padding: 75px 0
 }

 .cta h2 {
     max-width: 750px;
     margin: 15px auto
 }

 .cta .btn {
     margin-top: 12px
 }

 .footer {
     background: #282126;
     color: #f8eef1;
     padding: 65px 0 15px
 }

 .footer-grid {
     display: grid;
     grid-template-columns: 1.3fr .7fr 1fr 1fr;
     gap: 40px
 }

 .footer-logo {
     width: 145px;
     background: white;
     border-radius: 50%
 }

 .footer h3 {
     font-size: 1.2rem;
     color: #f4c8d8
 }

 .footer a {
     display: block;
     text-decoration: none;
     margin: 10px 0
 }

 .footer a:hover {
     color: #e6b765
 }

 .footer iframe {
     width: 100%;
     height: 125px;
     border: 0;
     border-radius: 8px
 }

 .social a {
     display: flex;
     gap: 10px;
     align-items: center
 }

 .copyright {
     border-top: 1px solid #ffffff25;
     margin-top: 45px;
     padding-top: 18px;
     font-size: .78rem
 }

 .copyright a {
    display: inline-block;
 }

 .order-form {
     background: white;
     border: 1px solid #f1e3e8;
     padding: 28px;
     border-radius: 20px;
     box-shadow: 0 15px 40px #5e2d3d16
 }

 .order-form h3 {
     margin: 0
 }

 .order-form>p {
     color: var(--muted)
 }

 .order-form label {
     display: block;
     font-size: .85rem;
     font-weight: 700;
     margin: 13px 0
 }

 .order-form input,
 .order-form textarea,
 .order-form select {
     width: 100%;
     border: 1px solid #ddcdd4;
     border-radius: 8px;
     padding: 11px 12px;
     margin-top: 6px;
     background: #fff
 }

 .order-form input:focus,
 .order-form textarea:focus,
 .order-form select:focus {
     outline: 2px solid #d4a85c
 }

 .form-row {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 12px
 }

 .order-form .btn {
     width: 100%
 }

 .form-note {
     font-size: .74rem
 }

 .form-status {
     font-size: .86rem
 }

 .content-sidebar {
     display: grid;
     grid-template-columns: minmax(0, 1.6fr) minmax(280px, 1fr);
     gap: 55px
 }

 .content-sidebar article>p {
     max-width: 700px
 }

 .content-sidebar .cards {
     grid-template-columns: repeat(2, 1fr)
 }

 .content-sidebar .service-card img {
     height: 160px
 }

 .content-sidebar .card-body h2 {
     font-size: 1.2rem
 }

 @media(max-width:1050px) {
     .header-cta {
         display: none
     }

     .nav {
         gap: 14px
     }
 }

 @media(max-width:760px) {
     .header-inner {
         min-height: 75px;
         flex-wrap: wrap
     }

     .brand img {
         width: 55px;
         height: 55px
     }

     .nav-toggle {
         display: block;
         margin-left: auto
     }

     .nav {
         display: none;
         width: 100%;
         flex-direction: column;
         align-items: stretch;
         padding: 10px 0 22px;
         margin: 0
     }

     .nav.is-open {
         display: flex
     }

     .drop-menu {
         position: static;
         box-shadow: none;
         padding-left: 20px
     }

     .dropdown:hover .drop-menu {
         display: none
     }

     .dropdown.open .drop-menu {
         display: block
     }

     .cards,
     .split,
     .content-sidebar,
     .footer-grid {
         grid-template-columns: 1fr
     }

     .content-sidebar .cards {
         grid-template-columns: 1fr
     }

     .section {
         padding: 55px 0
     }

     .hero {
         padding: 55px 0
     }

     .form-row {
         grid-template-columns: 1fr
     }

     .footer-grid {
         gap: 15px
     }
 }