 :root {
   color-scheme: light;
   --ink: #2c2a26;
   --muted: #6f6a62;
   --sand: #f4efe7;
   --clay: #e8dfd2;
   --stone: #d5cbc0;
   --accent: #8a5a3c;
   --accent-dark: #6b452e;
   --leaf: #6a7b6a;
   --white: #ffffff;
 }

 * {
   box-sizing: border-box;
 }

 body {
   margin: 0;
   font-family: "Inter", "Helvetica Neue", Arial, sans-serif;
   color: var(--ink);
   background: var(--sand);
   line-height: 1.6;
 }

 a {
   color: var(--accent-dark);
   text-decoration: none;
 }

 a:hover,
 a:focus {
   text-decoration: underline;
 }

 header {
   padding: 28px 6vw 18px;
   display: flex;
   flex-direction: column;
   gap: 12px;
 }

 .top-row {
   display: flex;
   align-items: center;
   justify-content: space-between;
   flex-wrap: wrap;
   gap: 16px;
 }

 .brand {
   font-size: 24px;
   font-weight: 600;
   letter-spacing: 0.5px;
 }

 nav {
   display: flex;
   flex-wrap: wrap;
   gap: 16px;
   font-size: 15px;
 }

 .ad-label {
   font-size: 13px;
   color: var(--muted);
   background: var(--clay);
   padding: 6px 12px;
   border-radius: 999px;
 }

 main {
   display: flex;
   flex-direction: column;
   gap: 42px;
   padding-bottom: 80px;
 }

 .section {
   padding: 32px 6vw;
 }

 .section.narrow {
   max-width: 960px;
   margin: 0 auto;
 }

 .hero {
   min-height: 480px;
   color: var(--white);
   display: flex;
   align-items: flex-end;
   background-image: url("https://images.unsplash.com/photo-1505691938895-1758d7feb511?w=1400&q=80");
   background-size: cover;
   background-position: center;
   padding: 60px 6vw;
 }

 .hero-card {
   background: rgba(44, 42, 38, 0.75);
   padding: 28px;
   max-width: 560px;
   border-radius: 12px;
   display: flex;
   flex-direction: column;
   gap: 12px;
 }

 .hero-card h1 {
   margin: 0;
   font-size: 40px;
   line-height: 1.1;
 }

 .hero-card p {
   margin: 0;
   color: #f1ebe3;
 }

 .cta-row {
   display: flex;
   flex-wrap: wrap;
   gap: 12px;
 }

 .btn {
   background: var(--accent);
   color: var(--white);
   padding: 12px 18px;
   border-radius: 999px;
   border: none;
   font-weight: 600;
   cursor: pointer;
   display: inline-flex;
   align-items: center;
   gap: 8px;
 }

 .btn.secondary {
   background: transparent;
   color: var(--white);
   border: 1px solid #d9c8b7;
 }

 .btn:hover,
 .btn:focus {
   background: var(--accent-dark);
 }

 .btn.secondary:hover,
 .btn.secondary:focus {
   background: rgba(255, 255, 255, 0.1);
 }

 .storyline {
   display: flex;
   flex-direction: column;
   gap: 28px;
 }

 .split {
   display: flex;
   gap: 32px;
   flex-wrap: wrap;
   align-items: center;
 }

 .split.reverse {
   flex-direction: row-reverse;
 }

 .split > div {
   flex: 1 1 320px;
 }

 .img-frame {
   background: var(--stone);
   border-radius: 14px;
   overflow: hidden;
 }

 .img-frame img {
   width: 100%;
   height: 100%;
   display: block;
   object-fit: cover;
 }

 .cards {
   display: flex;
   flex-wrap: wrap;
   gap: 20px;
 }

 .card {
   background: var(--white);
   border-radius: 16px;
   padding: 20px;
   flex: 1 1 240px;
   display: flex;
   flex-direction: column;
   gap: 12px;
   box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
 }

 .card .price {
   font-weight: 700;
   color: var(--accent-dark);
 }

 .banner-section {
   background-image: url("https://images.unsplash.com/photo-1519710164239-da123dc03ef4?w=1400&q=80");
   background-size: cover;
   background-position: center;
   color: var(--white);
 }

 .banner-section .overlay {
   background: rgba(41, 36, 31, 0.78);
   padding: 32px;
   border-radius: 14px;
   max-width: 720px;
 }

 .quote {
   font-style: italic;
   color: var(--muted);
 }

 .inline-link {
   font-weight: 600;
 }

 .pricing-reveal {
   background: var(--clay);
 }

 .form-panel {
   background: var(--white);
   border-radius: 18px;
   padding: 24px;
   display: flex;
   flex-direction: column;
   gap: 12px;
   max-width: 560px;
 }

 form {
   display: flex;
   flex-direction: column;
   gap: 12px;
 }

 label {
   font-weight: 600;
 }

 input,
 select,
 textarea {
   padding: 12px;
   border-radius: 10px;
   border: 1px solid #d6cabc;
   font-size: 15px;
 }

 .sticky-cta {
   position: fixed;
   right: 24px;
   bottom: 24px;
   z-index: 10;
 }

 .sticky-cta .btn {
   background: var(--leaf);
 }

 .footer {
   background: var(--ink);
   color: var(--white);
   padding: 32px 6vw;
   display: flex;
   flex-direction: column;
   gap: 16px;
   font-size: 14px;
 }

 .footer a {
   color: #e5d7c7;
 }

 .footer .ref-list {
   display: flex;
   flex-direction: column;
   gap: 6px;
   font-size: 13px;
 }

 .subtle {
   color: var(--muted);
 }

 .page-hero {
   display: flex;
   flex-direction: column;
   gap: 12px;
   background: var(--clay);
   border-radius: 18px;
   padding: 24px;
 }

 .page-hero img {
   width: 100%;
   height: 260px;
   object-fit: cover;
   border-radius: 12px;
   display: block;
 }

 .cookie-banner {
   position: fixed;
   left: 18px;
   right: 18px;
   bottom: 18px;
   background: var(--white);
   border-radius: 14px;
   padding: 16px;
   box-shadow: 0 12px 30px rgba(0, 0, 0, 0.12);
   display: flex;
   flex-wrap: wrap;
   gap: 12px;
   align-items: center;
   justify-content: space-between;
   z-index: 20;
 }

 .cookie-actions {
   display: flex;
   gap: 10px;
 }

 .cookie-banner .btn {
   background: var(--accent);
 }

 .cookie-banner .btn.secondary {
   background: transparent;
   color: var(--accent-dark);
   border: 1px solid var(--accent-dark);
 }

 .legal-grid {
   display: flex;
   flex-wrap: wrap;
   gap: 24px;
 }

 .legal-grid > div {
   flex: 1 1 280px;
 }

 .service-list {
   display: flex;
   flex-direction: column;
   gap: 18px;
 }

 .service-row {
   display: flex;
   flex-direction: column;
   gap: 6px;
   padding: 16px;
   border-radius: 14px;
   background: var(--white);
 }

 .service-row .price {
   font-weight: 700;
 }

 .contact-block {
   display: flex;
   flex-wrap: wrap;
   gap: 20px;
   align-items: stretch;
 }

 .contact-block > div {
   flex: 1 1 260px;
 }

 @media (max-width: 780px) {
   .hero-card h1 {
     font-size: 32px;
   }

   .sticky-cta {
     position: static;
     padding: 0 6vw 20px;
   }
 }
