/* Shared navigation and interior page visual system. */
.desktop-nav { gap: clamp(12px, 1.6vw, 25px); font-size: 12px; }
.header-inner { gap: 20px; }
.desktop-nav a[aria-current="page"] { color: var(--lime); }
.mobile-nav a[aria-current="page"] { color: var(--lime); }
.cart-nav-link { display: inline-flex; gap: 7px; align-items: center; }
.cart-count { display: inline-flex; align-items: center; justify-content: center; width: 19px; height: 19px; border-radius: 50%; font-size: 10px; font-weight: 700; background: var(--lime); color: #11251d; }
.cart-count[hidden], .cart-save-error[hidden] { display: none; }
.cart-add-action { display: flex; align-items: center; justify-content: space-between; margin: 25px 0 12px; padding: 19px 20px; min-height: 59px; background: #d6fa75; color: #10241a; border: 1px solid #a8d04a; border-radius: 3px; font-size: 14px; font-weight: 800; transition: transform .2s, background .2s; }
.cart-add-action:hover { background: #e8ffad; transform: translateY(-2px); }
.cart-add-action span { font-size: 23px; line-height: 1; }
.cart-save-error { margin: 10px 0; padding: 12px 15px; background: #fff2e7; color: #823c17; border-left: 3px solid #c26324; font-size: 12px; line-height: 1.6; }

.inner-hero { position: relative; background: var(--ink); color: white; overflow: hidden; }
.inner-hero::before { content: ''; position: absolute; right: -160px; top: -200px; width: 690px; height: 690px; border: 1px solid #badb9340; border-radius: 50%; box-shadow: 0 0 0 110px #d6fa7509, 0 0 0 220px #d6fa7506; pointer-events: none; }
.inner-hero .container { position: relative; z-index: 1; }
.inner-hero-content { max-width: 1020px; padding: 115px 0 120px; }
.page-kicker { margin: 0 0 24px; color: var(--lime); font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.page-title { font-family: var(--display); font-size: clamp(58px, 7.2vw, 117px); line-height: 1.03; letter-spacing: -.073em; font-weight: 600; margin: 0; }
.page-title em { font-family: Georgia, serif; font-weight: 400; color: var(--lime); }
.page-lead { max-width: 680px; margin: 30px 0 0; font-size: 18px; line-height: 1.65; color: #c6d4ca; }
.hero-actions { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; margin-top: 33px; }
.subpage-section { padding: 110px 0; }
.subpage-section.cream { background: #f1f1e9; }
.subpage-section.forest { background: #142a21; color: #fff; }
.subpage-section .section-heading-row { margin-bottom: 45px; }
.subpage-section .display-heading { font-size: clamp(43px, 4.7vw, 78px); }
.text-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 65px; }
.text-columns p { font-size: 16px; line-height: 1.85; color: #53685b; margin: 0 0 20px; }
.text-columns p:first-child { color: #243b2b; }
.feature-tiles { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; }
.feature-tile { display: flex; flex-direction: column; min-height: 275px; padding: 32px; background: #fff; border: 1px solid #d6ddd4; }
.tile-overline { font-size: 10px; letter-spacing: .15em; color: #5e7865; font-weight: 700; text-transform: uppercase; }
.feature-tile h3 { font-family: var(--display); font-size: clamp(28px, 3vw, 42px); line-height: 1.1; letter-spacing: -.05em; margin: 28px 0 15px; }
.feature-tile p { font-size: 14px; line-height: 1.7; color: #607266; margin: 0; max-width: 480px; }
.feature-tile .tile-cta { font-size: 13px; font-weight: 700; margin-top: auto; padding-top: 25px; }
.package-list { display: grid; grid-template-columns: 1fr 1fr; gap: 17px; }
.package-entry { background: #fff; border: 1px solid #d2dad0; padding: 32px; display: flex; flex-direction: column; }
.package-entry.featured { background: #eafaaf; border-color: #afd65e; }
.package-entry .tile-overline { color: #58705d; }
.package-entry h3 { font-family: var(--display); font-size: 38px; letter-spacing: -.055em; margin: 22px 0 10px; }
.package-entry > p { color: #526859; line-height: 1.65; margin: 0 0 20px; }
.package-entry .entry-price { display: flex; gap: 9px; align-items: baseline; margin-bottom: 24px; }
.entry-price strong { font-family: var(--display); font-size: 40px; letter-spacing: -.055em; }
.entry-price small { font-size: 11px; color: #657a68; }
.package-entry ul { border-top: 1px solid #cbd7cb; margin: 0 0 25px; padding: 20px 0 0 18px; display: grid; gap: 10px; color: #3d5745; font-size: 13px; line-height: 1.45; }
.package-entry .btn { margin-top: auto; }
.simple-banner { display: flex; align-items: center; justify-content: space-between; gap: 36px; background: #d6fa75; padding: 38px 42px; }
.simple-banner h3 { margin: 0; font-family: var(--display); font-size: clamp(27px,3.4vw,48px); line-height: 1.1; letter-spacing: -.055em; }
.simple-banner p { max-width: 400px; font-size: 13px; line-height: 1.7; }
.simple-banner .btn { flex-shrink: 0; }

.case-layout { display: grid; grid-template-columns: 1.3fr .7fr; gap: 50px; align-items: center; }
.case-visual { min-height: 475px; position: relative; padding: 35px; background: #162920; overflow: hidden; color: #e9ffb0; display: flex; flex-direction: column; justify-content: space-between; }
.case-visual::before { content: ''; position: absolute; width: 410px; height: 410px; border: 38px solid #d6fa7520; border-radius: 50%; top: 25px; right: -100px; }
.case-visual span, .case-visual strong { position: relative; z-index: 1; }
.case-visual span { font-size: 12px; font-weight: 700; letter-spacing: .12em; }
.case-visual strong { font-family: var(--display); font-size: clamp(42px,5vw,72px); line-height: 1.02; letter-spacing: -.075em; }
.case-copy h2 { font-family: var(--display); font-size: clamp(39px,4vw,68px); letter-spacing: -.06em; line-height: 1.08; margin: 0 0 24px; }
.case-copy p { color: #52675b; font-size: 14px; line-height: 1.8; margin: 0 0 24px; }
.case-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 30px; }
.case-tags span { border: 1px solid #ccd6c9; border-radius: 2px; padding: 8px 10px; font-size: 11px; color: #4a6050; }
.concept-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.concept-card { background: white; border: 1px solid #d3d9cf; overflow: hidden; }
.concept-art { min-height: 325px; padding: 24px; display: flex; flex-direction: column; justify-content: space-between; position: relative; overflow: hidden; }
.concept-art span { font-size: 10px; font-weight: 800; letter-spacing: .12em; z-index: 1; }
.concept-art strong { font-family: Georgia,serif; font-size: clamp(30px,3vw,50px); font-weight: 400; line-height: 1.1; letter-spacing: -.05em; z-index: 1; }
.concept-art::after { content:''; position:absolute; width: 210px; height: 260px; transform:rotate(21deg); top: 60px; right: -75px; border-radius: 50% 35%; opacity: .55; }
.concept-art.retail { background: #efb3a8; color: #5b281f; }
.concept-art.retail::after { background: #d4787b; }
.concept-art.property { background: #e9e5d8; color: #373c32; }
.concept-art.property::after { background: #9fab8c; border-radius: 4px; transform: rotate(-15deg); }
.concept-art.studio { background: #292f60; color: #fff; }
.concept-art.studio::after { background: #8987e8; border-radius: 24px; transform: rotate(35deg); }
.concept-caption { padding: 21px 22px; }
.concept-caption strong { font-family: var(--display); font-size: 21px; letter-spacing: -.035em; }
.concept-caption p { color: #6b7b6f; font-size: 12px; line-height: 1.6; margin: 7px 0 0; }
.portfolio-disclaimer { font-size: 12px; color: #6c7b6d; line-height: 1.7; margin-top: 18px; }

/* Portfolio: generated homepage previews, clearly separated from live work. */
.portfolio-filter-bar { display: flex; flex-wrap: wrap; gap: 9px; margin: -10px 0 12px; }
.portfolio-filter { min-height: 44px; background: #fff; color: #2d4535; border: 1px solid #cbd5c9; border-radius: 999px; padding: 10px 17px; font-size: 12px; font-weight: 700; transition: background .18s, color .18s, border-color .18s; }
.portfolio-filter span { display: inline-block; margin-left: 6px; font-size: 10px; opacity: .65; }
.portfolio-filter:hover { border-color: #587b59; }
.portfolio-filter.is-active { background: #152a20; border-color: #152a20; color: #fff; }
.portfolio-filter:focus-visible, .portfolio-idea-foot a:focus-visible { outline: 3px solid #6d9f55; outline-offset: 3px; }
.portfolio-results { margin: 0 0 24px; min-height: 17px; color: #728074; font-size: 11px; font-weight: 600; letter-spacing: .04em; }
.portfolio-ideas-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; align-items: stretch; }
.portfolio-idea-card { min-width: 0; background: #fff; border: 1px solid #d7ded4; display: flex; flex-direction: column; overflow: hidden; transition: transform .22s ease, box-shadow .22s ease; }
.portfolio-idea-card[hidden] { display: none; }
.portfolio-idea-card:hover { transform: translateY(-4px); box-shadow: 0 17px 36px rgba(27,46,30,.09); }
.portfolio-thumb { display: block; position: relative; width: 100%; aspect-ratio: 16 / 10; background: #dce6da; overflow: hidden; }
.portfolio-thumb:focus-visible { outline: 3px solid #709a53; outline-offset: -4px; }
.portfolio-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top center; transition: transform .38s ease; }
.portfolio-idea-card:hover .portfolio-thumb img { transform: scale(1.035); }
.portfolio-thumb > span { position: absolute; bottom: 12px; left: 13px; padding: 7px 9px; background: rgba(15,31,23,.92); color: #e8ffb2; font-size: 9px; font-weight: 800; letter-spacing: .11em; }
.portfolio-thumb::after { content:'VEKTTA WEB · CONCEPT'; position:absolute; right:-35px; top:35%; transform:rotate(-28deg); color:#faffec; text-shadow:0 1px 12px #14261b99; opacity:.35; font-family:var(--display); font-size:clamp(13px,2vw,23px); font-weight:800; letter-spacing:.14em; white-space:nowrap; pointer-events:none; }
.portfolio-thumb img { user-select:none; -webkit-user-drag:none; }
.portfolio-idea-body { flex: 1; padding: 22px 23px 20px; display: flex; flex-direction: column; }
.portfolio-idea-meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 10px; color: #5e7664; font-size: 9px; font-weight: 800; letter-spacing: .12em; }
.portfolio-idea-meta span:last-child { color: #21402d; background: #edf2e6; padding: 6px 8px; letter-spacing: .04em; }
.portfolio-idea-body h3 { font-family: var(--display); font-size: 28px; line-height: 1.15; letter-spacing: -.055em; margin: 18px 0 10px; }
.portfolio-idea-body > p { font-size: 12.5px; line-height: 1.7; color: #5c6f60; margin: 0 0 22px; }
.portfolio-idea-foot { margin-top: auto; padding-top: 17px; border-top: 1px solid #e2e9df; display: flex; gap: 12px; justify-content: space-between; align-items: center; }
.portfolio-idea-foot small { color: #69806e; font-size: 10px; line-height: 1.4; }
.portfolio-idea-foot a { color: #183c25; font-size: 11px; font-weight: 800; white-space: nowrap; }
.portfolio-idea-foot a:hover { text-decoration: underline; }
.portfolio-ideas-grid + .portfolio-disclaimer { margin-top: 28px; max-width: 850px; }
@media (max-width: 1000px) { .portfolio-ideas-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 640px) {
  .portfolio-ideas-grid { grid-template-columns: 1fr; gap: 17px; }
  .portfolio-filter-bar { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 12px; margin-right: -20px; scrollbar-width: thin; }
  .portfolio-filter { flex-shrink: 0; }
  .portfolio-idea-body { padding: 20px; }
}

.statement-block { border-top: 1px solid #9ab09b; border-bottom: 1px solid #9ab09b; padding: 45px 0; }
.statement-block p { max-width: 1050px; font-family: var(--display); font-size: clamp(32px,4.7vw,65px); letter-spacing: -.065em; line-height: 1.13; margin: 0; }
.statement-block em { font-family: Georgia,serif; font-weight: 400; color: #6e8b57; }
.about-principles { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 35px; margin-top: 54px; }
.about-principles h3 { font-family: var(--display); font-size: 25px; letter-spacing: -.045em; margin: 0 0 11px; }
.about-principles p { line-height: 1.75; color: #586b5e; font-size: 13px; }
.contact-page-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.contact-page-card { display: flex; flex-direction: column; min-height: 330px; padding: 37px; color: #172b21; border: 1px solid #d0dacd; background: white; transition: transform .2s; }
.contact-page-card:hover { transform: translateY(-5px); }
.contact-page-card.whatsapp { background: #d6fa75; border-color: #afd45d; }
.contact-page-card small { font-size: 11px; font-weight: 700; letter-spacing: .14em; color: #587561; }
.contact-page-card strong { font-family: var(--display); font-size: clamp(34px,5vw,70px); font-weight: 600; letter-spacing: -.065em; margin: 30px 0 12px; }
.contact-page-card p { max-width: 360px; font-size: 14px; line-height: 1.6; color: #4e6857; margin: 0 0 22px; }
.contact-page-card > span { margin-top: auto; font-size: 15px; font-weight: 700; overflow-wrap: anywhere; }
.brief-tips { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 25px; }
.brief-tips div { padding-top: 22px; border-top: 1px solid #b8c9b7; }
.brief-tips strong { font-family: var(--display); font-size: 23px; letter-spacing: -.045em; }
.brief-tips p { color: #607565; line-height: 1.7; font-size: 13px; }

.cart-layout { display: grid; grid-template-columns: 1.25fr .75fr; align-items: start; gap: 25px; }
.cart-layout.is-empty { grid-template-columns: 1fr; }
.cart-panel { padding: 34px; border: 1px solid #d3ddd0; background: #fff; }
.cart-panel h2 { margin: 0 0 27px; font-family: var(--display); font-size: 36px; letter-spacing: -.055em; }
.cart-panel p { color: #5d715f; line-height: 1.75; font-size: 13px; }
.cart-empty { min-height: 320px; display: flex; flex-direction: column; align-items: start; justify-content: center; }
.cart-empty strong { font-family: var(--display); font-size: 40px; letter-spacing: -.055em; }
.cart-empty p { max-width: 410px; margin: 15px 0 25px; }
.cart-empty[hidden], .cart-filled[hidden], .cart-confirmation[hidden] { display: none; }
.cart-line { display: flex; align-items: start; justify-content: space-between; gap: 20px; padding-bottom: 25px; border-bottom: 1px solid #dbe3d8; }
.cart-line h3 { font-family: var(--display); font-size: 33px; letter-spacing: -.055em; margin: 8px 0; }
.cart-line small { color: #637562; font-size: 12px; }
.cart-line strong { font-family: var(--display); font-size: 30px; letter-spacing: -.045em; white-space: nowrap; }
.cart-scope { margin:25px 0 0; padding:22px 25px; background:#f1f6ea; border:1px solid #d4e0cf; }
.cart-scope > strong { font-size:13px; font-weight:800; color:#2c4c33; }
.cart-scope ul { padding-left:18px; display:grid; gap:8px; margin:16px 0; font-size:12px; color:#506956; line-height:1.6; }
.cart-scope a { color:#295838; text-decoration:underline; font-size:12px; font-weight:800; }
.cart-item-list { margin: 25px 0; display: grid; gap: 17px; }
.cart-item-list > div { display: flex; justify-content: space-between; gap: 20px; font-size: 13px; }
.cart-item-list span { color: #657766; }
.cart-item-list strong { color: #243c2c; text-align: right; }
.cart-controls { display: flex; gap: 20px; flex-wrap: wrap; border-top: 1px solid #dbe3d8; padding-top: 24px; }
.cart-controls a, .cart-controls button { border: 0; background: none; padding: 0; color: #244d32; font-size: 13px; font-weight: 700; text-decoration: underline; cursor: pointer; }
.cart-side-heading { margin: 0 0 16px; font-size: 10px; color: #64766a; letter-spacing: .13em; font-weight: 800; }
.cart-radio { display: block; border: 1px solid #d0dbcd; margin-bottom: 10px; padding: 14px; font-size: 13px; cursor: pointer; }
.cart-radio:has(input:checked) { border-color: #547957; background: #e9f4df; }
.cart-radio input { accent-color: #1c5838; margin-right: 8px; }
.cart-price-line { border-top: 1px solid #d4dfd2; padding-top: 18px; margin-top: 19px; display: flex; justify-content: space-between; align-items: center; gap: 14px; }
.cart-price-line span { color: #647669; font-size: 11px; line-height: 1.5; }
.cart-price-line strong { font-family: var(--display); font-size: 27px; letter-spacing: -.055em; white-space: nowrap; }
.cart-price-line.big strong { font-size: 39px; }
.cart-actions { margin-top: 25px; display: grid; gap: 11px; }
.cart-actions .btn { width: 100%; }
.cart-secondary-button { display: flex; align-items: center; justify-content: space-between; background: white; border: 1px solid #bdcdbb; color: #1b3625; font-weight: 700; font-size: 13px; padding: 17px 21px; min-height: 54px; }
.cart-note { font-size: 11px!important; color: #708071!important; margin: 18px 0 0; }
.cart-confirmation { padding: 12px 16px; background: #e3f5de; color: #264c30; font-size: 13px; }
.cart-panel.dark { background: #173027; color: white; border-color: #173027; }
.cart-panel.dark h2 { color: white; }
.cart-panel.dark p { color: #c5d5c7; }
.cart-panel.dark .cart-side-heading { color: #bad9b3; }
.cart-panel.dark .cart-radio { border-color: #527361; }
.cart-panel.dark .cart-radio:has(input:checked) { background: #2d523a; }
.cart-panel.dark .cart-price-line { border-color: #41604b; }
.cart-panel.dark .cart-price-line span { color: #bed1c3; }

/* Navigation: service specialties beneath our two-service structure. */
.desktop-nav { display:flex; align-items:center; justify-content:flex-end; flex-wrap:nowrap; white-space:nowrap; margin-left:auto; gap:clamp(9px,1.1vw,16px); font-size:13px; }
.desktop-nav a { white-space:nowrap; }
.header-inner { gap:22px; }
.wordmark,.header-actions { flex-shrink:0; }
.header-cta { padding:13px 16px; font-size:12px; }
.header-cta span { padding-left:8px; }
.header-cta { white-space: nowrap; }
.nav-service-menu { position: relative; align-self: stretch; display: flex; align-items: center; }
.nav-service-menu > a::after { content:none; }
.nav-submenu { display: none; position: absolute; top: 100%; left: -15px; z-index: 105; min-width: 275px; padding: 10px; background: #183125; border: 1px solid #405d46; box-shadow: 0 19px 35px #00180d38; }
.nav-service-menu:hover .nav-submenu, .nav-service-menu:focus-within .nav-submenu { display:none; }
.nav-submenu a { padding: 14px 13px; font-size: 12px; border-bottom: 1px solid #35523f; line-height: 1.4; }
.nav-submenu a:last-child { border: 0; }
.nav-submenu a:hover, .nav-submenu a:focus-visible { background: #294935; }
.mobile-subnav { display:none; }
.mobile-subnav a { color: #b6cbb8; font-family: var(--font)!important; font-size: 14px!important; padding: 10px 0!important; border-bottom: 0!important; }

/* Lean homepage: services, four-card prices and ownership. */
.home-services { background: #f0f1e9; }
.home-service-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.home-service-card { min-height: 370px; padding: clamp(27px,3.3vw,46px); background: #fff; border: 1px solid #d3dccd; display: flex; flex-direction: column; }
.home-service-card { transition:transform .22s ease,box-shadow .22s ease; }
.home-service-card:hover { transform:translateY(-5px); box-shadow:0 18px 40px #233f2a17; }
.home-service-card:focus-visible { outline:3px solid #58803a; outline-offset:4px; }
.home-service-card > span { font-size: 10px; font-weight: 800; letter-spacing: .14em; color: #53765b; }
.home-service-card h3 { font-family: var(--display); font-size: clamp(39px,4.1vw,62px); line-height: 1.08; letter-spacing: -.065em; margin: 35px 0 17px; max-width: 540px; }
.home-service-card p { max-width: 470px; color: #607264; line-height: 1.65; font-size: 14px; margin: 0 0 28px; }
.home-service-card.maintenance-home { background: #193127; color: #fff; border-color: #193127; }
.home-service-card.maintenance-home span { color: #d6fa75; }
.home-service-card.maintenance-home p { color: #c3d6c7; }
.home-service-links { display: flex; gap: 12px 25px; flex-wrap: wrap; margin-top: auto; border-top: 1px solid #cedbd0; padding-top: 20px; }
.maintenance-home .home-service-links { border-color: #54745b; }
.home-service-links a { font-size: 13px; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.home-service-action { display:flex; align-items:center; justify-content:space-between; gap:22px; margin-top:auto; padding:21px 0 0; border-top:1px solid #c9d7c8; font-size:17px; font-weight:800; }
.home-service-action span { font-size:29px; line-height:1; }
.maintenance-home .home-service-action { border-color:#55765d; color:var(--lime); }
.btn-outline-light { color:#fff; border-color:#7a9585; background:transparent; }
.btn-outline-light:hover { color:var(--ink); background:#fff; }

/* Services: the two core offerings take visual priority over their subtypes. */
.primary-service-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:19px; }
.primary-service-card { padding:clamp(32px,4vw,59px); min-height:625px; display:flex; flex-direction:column; border:1px solid #cddbcc; scroll-margin-top:105px; }
.design-service { background:#e1f2bd; color:#173427; }
.care-service { background:#193328; border-color:#193328; color:#fff; }
.primary-service-tag { font-size:11px; font-weight:800; letter-spacing:.15em; color:#4e7058; }
.care-service .primary-service-tag { color:#b3d69a; }
.primary-service-card h2 { font-family:var(--display); font-size:clamp(48px,5vw,75px); line-height:1.07; letter-spacing:-.075em; margin:45px 0 25px; font-weight:600; }
.primary-service-card h2 em { font-family:Georgia,serif; font-weight:400; }
.design-service h2 em { color:#497345; }
.care-service h2 em { color:var(--lime); }
.primary-service-card > p { color:#4b6952; font-size:16px; line-height:1.75; max-width:470px; margin:0 0 35px; }
.care-service > p { color:#c2d4c7; }
.primary-service-options { display:grid; gap:11px; margin-top:auto; }
.primary-service-options a { display:grid; grid-template-columns:1fr auto; gap:5px 16px; align-items:center; min-height:93px; background:#fff; border:1px solid #cadcc0; padding:17px 20px; transition:background .2s,transform .2s; }
.primary-service-options a:hover,.primary-service-options a:focus-visible { background:#f4fae8; transform:translateX(3px); }
.primary-service-options strong { font-family:var(--display); font-size:21px; letter-spacing:-.045em; }
.primary-service-options small { grid-column:1; color:#5a705f; font-size:12px; line-height:1.5; }
.primary-service-options a > span { grid-column:2; grid-row:1 / span 2; font-size:27px; }
.primary-service-spacer { flex:1; }
.primary-service-cta { display:flex; justify-content:space-between; align-items:center; gap:20px; min-height:92px; padding:22px 24px; background:var(--lime); color:#193328; transition:background .2s,transform .2s; }
.primary-service-cta:hover,.primary-service-cta:focus-visible { background:#ebffb8; transform:translateY(-3px); }
.primary-service-cta strong { font-family:var(--display); font-size:24px; letter-spacing:-.04em; }
.primary-service-cta span { font-size:29px; }
.home-pricing { background: var(--paper); }
.home-price-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 13px; }
.home-price-card { background: #f1f2e9; border: 1px solid #d6ddcf; padding: 26px 20px; min-height: 320px; display: flex; flex-direction: column; transition: transform .2s; }
.home-price-card:hover { transform: translateY(-5px); }
.home-price-card small { color: #5c795f; letter-spacing: .13em; font-size: 10px; font-weight: 800; }
.home-price-card h3 { font-family: var(--display); font-size: clamp(25px,2.4vw,36px); letter-spacing: -.055em; margin: 25px 0 16px; }
.home-price-card strong { font-family: var(--display); font-size: clamp(32px,3vw,47px); letter-spacing: -.065em; }
.home-price-card p { font-size: 12px; line-height: 1.55; color: #69806e; }
.home-price-card > span { border-top: 1px solid #bac8b9; padding-top: 16px; margin-top: auto; font-size: 12px; font-weight: 800; }
.home-price-card.is-popular { color: white; background: #183326; border-color: #183326; }
.home-price-card.is-popular small, .home-price-card.is-popular strong { color: #d6fa75; }
.home-price-card.is-popular p { color: #c6d9cb; }
.home-price-card.is-popular > span { border-color: #537c5c; }
.home-price-footer { display: flex; gap: 35px; justify-content: space-between; margin-top: 25px; font-size: 12px; line-height: 1.65; }
.home-price-footer p { margin: 0; max-width: 770px; color: #627566; }
.home-price-footer a { font-weight: 800; white-space: nowrap; }

/* Dedicated service pages. */
.service-destination-grid,.solution-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.service-destination,.solution-card { display: flex; flex-direction: column; background: white; border: 1px solid #d1dacf; }
.service-destination-art,.solution-art { min-height: 350px; padding: 32px; display: flex; flex-direction: column; justify-content: space-between; position: relative; overflow: hidden; }
.service-destination-art::after,.solution-art::after { content:''; position:absolute; width:280px; height:280px; right:-65px; top:45px; border-radius:50%; opacity:.37; }
.service-destination-art span,.solution-art span { font-size: 11px; font-weight: 800; letter-spacing: .13em; z-index:1; }
.service-destination-art strong,.solution-art strong { font-size: clamp(43px,5vw,71px); font-family: var(--display); line-height: 1.04; letter-spacing: -.075em; z-index:1; }
.service-destination-art strong em,.solution-art strong em { font-family: Georgia,serif; font-weight:400; }
.business-art { background:#dbedc0; color:#294b30; }.business-art::after { background:#85ab87; }
.commerce-art { background:#38365f; color:#fff1db; }.commerce-art::after { background:#a6a2e6; border-radius:35% 55%; }
.retail-art { background: #efb3a8; color:#4c2a27; }.retail-art::after { background: #d0787e; }
.stay-art { background: #deddd0; color:#3a453a; }.stay-art::after { background:#869e8f; border-radius:10%; transform: rotate(30deg); }
.service-destination-copy,.solution-content { padding: 31px; display: flex; flex-direction: column; flex: 1; }
.service-destination-copy h3,.solution-content h3 { font-family: var(--display); font-size: clamp(27px,3vw,40px); line-height:1.14; letter-spacing:-.05em; margin:0 0 15px; }
.service-destination-copy p,.solution-content p { color:#607465; line-height:1.75; font-size:14px; margin:0 0 24px; }
.service-destination-copy > span { margin-top:auto; padding-top:20px; border-top:1px solid #d3ded2; font-weight:800; font-size:13px; }
.solution-content ul { padding-left:19px; color:#4d6455; line-height:1.65; font-size:13px; display:grid; gap:11px; margin:3px 0 28px; }
.solution-price { display:flex; gap:10px; align-items:baseline; margin:auto 0 25px; }
.solution-price strong { font-family: var(--display); font-size:30px; letter-spacing:-.045em; }
.solution-price small { color:#728774; }
.accommodation-choice { border-top:1px solid #cedbcc; padding:19px 0; }
.accommodation-choice strong { font-size:15px; }
.accommodation-choice p { font-size:13px; margin:9px 0 13px; }
.accommodation-choice a { font-size:13px; color:#234d32; font-weight:800; text-decoration:underline; }
.detail-price-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:17px; }
.detail-price { padding:30px; background:#f1f2ea; border:1px solid #d2dcce; display:flex; flex-direction:column; }
.detail-price-featured { background:#e4f5ac; border-color:#aec770; }
.detail-price > span { font-size:10px; letter-spacing:.13em; font-weight:800; color:#62816a; }
.detail-price h3 { font-family:var(--display); font-size:clamp(28px,3vw,40px); letter-spacing:-.06em; margin:30px 0 9px; }
.detail-price > strong { font-family:var(--display); font-size:clamp(38px,3.6vw,54px); letter-spacing:-.06em; }
.detail-price > strong small { font-size:12px; font-family:var(--font); font-weight:500; letter-spacing:0; }
.detail-price > small { font-size:11px; color:#687e6a; }
.detail-price > p { color:#617364; line-height:1.7; font-size:13px; }
.detail-price ul { margin:22px 0; padding:19px 0 0 19px; border-top:1px solid #c7d5c2; color:#4b6350; font-size:13px; line-height:1.55; display:grid; gap:9px; }
.detail-price a { margin-top:auto; padding:17px 0 0; border-top:1px solid #bbcbb9; font-size:13px; font-weight:800; }
.maintenance-summary { display:grid; grid-template-columns:1.3fr .7fr; }
.maintenance-summary > div { padding:45px; background:#173025; color:white; }
.maintenance-summary > div:first-child h3 { font-family:var(--display); font-size:clamp(35px,4vw,60px); letter-spacing:-.06em; max-width:500px; margin:0 0 20px; }
.maintenance-summary p { color:#c8d7ca; line-height:1.8; font-size:14px; max-width:540px; }
.maintenance-summary .btn { margin-top:20px; }
.maintenance-summary > .maintenance-summary-price { background:#d6fa75; color:#1b3b26; display:flex; flex-direction:column; justify-content:center; }
.maintenance-summary-price small { font-size:11px; font-weight:800; letter-spacing:.12em; }
.maintenance-summary-price strong { font-family:var(--display); font-size:clamp(60px,7vw,100px); letter-spacing:-.08em; line-height:1.2; margin:20px 0 0; }
.maintenance-summary-price span { font-size:18px; }
.maintenance-summary-price p { color:#507452; }

/* Premium four-across pricing format. */
.pricing-four-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.pricing-four-card { padding:28px 23px 24px; min-height:630px; display:flex; flex-direction:column; background:#fff; border:1px solid #d1dbc9; }
.pricing-four-card.popular { background:#183326; color:white; border-color:#183326; }
.pricing-four-card > span { font-size:10px; color:#5e7b61; font-weight:800; letter-spacing:.13em; }
.pricing-four-card.popular > span { color:#d6fa75; }
.pricing-four-card h3 { font-family:var(--display); font-size:clamp(26px,2.7vw,40px); letter-spacing:-.06em; margin:25px 0 10px; }
.pricing-four-card p { font-size:12px; line-height:1.6; color:#657a6a; min-height:39px; margin:0 0 20px; }
.pricing-four-card.popular p { color:#c7d9cb; }
.pricing-four-card > strong { font-family:var(--display); font-size:clamp(34px,3.2vw,49px); letter-spacing:-.065em; }
.pricing-four-card.popular > strong { color:#d6fa75; }
.pricing-four-card > small { color:#6e8472; font-size:10px; margin-top:7px; }
.pricing-four-card.popular > small { color:#c3d8c7; }
.pricing-four-card ul { padding:21px 0 0 17px; border-top:1px solid #d2dbce; display:grid; gap:12px; line-height:1.55; font-size:12px; margin:27px 0 25px; }
.pricing-four-card ul b,.detail-price ul b { font-weight:800; }
.pricing-four-card.popular ul { border-color:#5c8163; }
.pricing-four-card > a { margin-top:auto; border-top:1px solid #bed0bb; padding-top:17px; font-size:12px; font-weight:800; }
.pricing-four-card.popular > a { border-color:#608365; }
.pricing-below { display:flex; justify-content:space-between; align-items:center; gap:32px; background:#e3ecd7; padding:24px 28px; margin-top:24px; }
.pricing-below p { max-width:780px; font-size:13px; line-height:1.7; color:#4b6853; }
.pricing-below a { font-size:13px; font-weight:800; text-decoration:underline; }
.scope-guide-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.scope-guide-card { background:#f2f4eb; border:1px solid #d4dfd0; padding:34px 36px; }
.scope-guide-card > span,.scope-exclusions > div > span { font-size:10px; letter-spacing:.15em; font-weight:800; color:#5c8061; }
.scope-guide-card h3,.scope-exclusions h3 { font-family:var(--display); font-size:clamp(26px,3vw,42px); letter-spacing:-.05em; line-height:1.15; margin:24px 0 16px; }
.scope-guide-card p { color:#526958; font-size:13px; line-height:1.8; margin:0; }
.scope-exclusions { display:grid; grid-template-columns:.75fr 1.25fr; align-items:center; gap:45px; margin-top:18px; padding:34px 36px; color:#f7fff4; background:#193328; }
.scope-exclusions > div > span { color:#bada92; }
.scope-exclusions h3 { color:white; margin:14px 0 0; }
.scope-exclusions p { color:#c5d7cb; margin:0; line-height:1.8; font-size:13px; }
.support-exclusions { margin-top:25px; }

/* Dedicated project estimator. */
.estimator-hero .inner-hero-content { padding-top:85px; padding-bottom:88px; }
.wizard-layout { display:grid; grid-template-columns:minmax(240px,.65fr) minmax(0,1fr); gap:clamp(35px,6vw,95px); align-items:start; }
.wizard-intro > p:not(.eyebrow) { color:#5f7563; font-size:15px; line-height:1.85; }
.wizard-intro .display-heading { font-size:clamp(40px,4.6vw,68px); }
.wizard-steps-labels { display:grid; gap:15px; margin:40px 0; }
.wizard-steps-labels span { padding:13px 17px; background:#e2e7da; color:#607462; border-left:3px solid transparent; font-size:13px; font-weight:700; }
.wizard-steps-labels span.is-active { background:#d6fa75; color:#213b27; border-left-color:#254e2f; }
.wizard-sidebar-note { padding:25px; background:#173128; color:white; }
.wizard-sidebar-note strong { font-family:var(--display); font-size:24px; letter-spacing:-.04em; }
.wizard-sidebar-note p { font-size:13px; color:#c5d6c7; line-height:1.7; }
.wizard-sidebar-note a { font-size:12px; font-weight:800; text-decoration:underline; }
.wizard-shell { background:white; border:1px solid #d2dbcf; padding:clamp(22px,3.3vw,45px); box-shadow:11px 11px 0 #e0e5d9; }
.wizard-head { display:flex; justify-content:space-between; gap:15px; color:#678068; font-size:10px; font-weight:800; letter-spacing:.1em; scroll-margin-top:125px; }
.wizard-progress-track { height:5px; background:#e5ebdf; margin:18px 0 33px; }
.wizard-progress-track span { display:block; height:100%; background:#7fa344; width:25%; transition:width .2s ease; }
.wizard-step h2 { font-family:var(--display); font-size:clamp(29px,3.5vw,46px); letter-spacing:-.06em; line-height:1.1; margin:0 0 13px; }
.wizard-copy { color:#617665; line-height:1.7; margin:0 0 30px; font-size:13px; }
.wizard-step label:not(.wizard-payment label) { display:block; font-weight:800; font-size:12px; margin:24px 0 9px; color:#27442f; }
.wizard-step input:not([type=checkbox]):not([type=radio]),.wizard-step select,.wizard-step textarea { width:100%; min-height:51px; border:1px solid #bfceb9; background:#f8faf5; color:#1e3828; padding:12px 15px; border-radius:2px; font:inherit; font-size:14px; }
.wizard-step textarea { min-height:100px; resize:vertical; }
.wizard-step input:focus,.wizard-step select:focus,.wizard-step textarea:focus { outline:2px solid #7ba348; outline-offset:2px; }
.wizard-inline-setting { display:flex; justify-content:space-between; align-items:center; gap:15px; margin:24px 0; padding:15px 0; border-top:1px solid #dbe5d6; border-bottom:1px solid #dbe5d6; }
.wizard-inline-setting label { margin:0!important; }
.wizard-inline-setting small,.wizard-help { display:block; color:#758b79; line-height:1.55; font-size:11px; margin-top:5px; }
.wizard-inline-setting input { accent-color:#2c6d40; width:22px; height:22px; flex-shrink:0; }
.wizard-step [hidden],.wizard-step[hidden],.wizard-actions [hidden],.cart-external[hidden] { display:none!important; }
.wizard-payment { border:1px solid #d3decf; padding:20px; margin:25px 0; }
.wizard-payment legend { font-size:12px; font-weight:800; padding:0 8px; }
.wizard-payment label { display:block; font-size:13px; margin:11px 0; line-height:1.6; }
.wizard-payment input { accent-color:#285f37; }
.wizard-summary { border:1px solid #d0dcce; padding:21px; background:#f6f9f1; }
.wizard-summary-row { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; padding:12px 0; border-bottom:1px solid #d7e3d2; font-size:12px; }
.wizard-summary-row span { color:#647b68; max-width:55%; }
.wizard-summary-row strong { text-align:right; font-weight:800; }
.wizard-summary-major strong { font-family:var(--display); font-size:25px; letter-spacing:-.04em; }
.wizard-summary-extra-title { font-size:12px; font-weight:700; color:#39543e; margin:19px 0 7px; }
.wizard-summary-extra { padding-left:17px; font-size:12px; line-height:1.6; color:#5a7060; }
.wizard-custom-warning { border-left:3px solid #9d7228; background:#fff0d1; color:#76501d; padding:13px; font-size:12px; line-height:1.7; }
.wizard-disclaimer { color:#657a6a; font-size:11px; line-height:1.7; }
.wizard-actions { display:flex; justify-content:space-between; align-items:center; margin-top:28px; gap:15px; }
.wizard-back { border:0; background:transparent; color:#31573b; font-weight:800; padding:12px 6px; }
.wizard-back:disabled { opacity:.3; cursor:not-allowed; }
.cart-external { margin:25px 0; padding:18px 21px; border:1px solid #cad8c5; background:#f2f7ee; }
.cart-external > strong { font-size:13px; }
.cart-external ul { margin:11px 0 0; padding-left:18px; font-size:12px; color:#56705e; line-height:1.7; }

/* Pricing page: transparent payment options and optional care. */
.payment-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.payment-detail-card { background: #ecf4df; border: 1px solid #c5d7b2; padding: 38px; display: flex; flex-direction: column; min-height: 335px; }
.payment-detail-card:last-child { background: #172d23; border-color: #172d23; color: white; }
.payment-detail-card:last-child .tile-overline { color: #b1d18e; }
.payment-detail-card h3 { font-family: var(--display); font-size: clamp(35px, 4.1vw, 61px); line-height: 1.05; letter-spacing: -.065em; margin: 32px 0 15px; }
.payment-detail-card p { color: #526b59; max-width: 440px; font-size: 14px; line-height: 1.75; margin-bottom: 24px; }
.payment-detail-card:last-child p { color: #c7d8ce; }
.payment-example { margin-top: auto; padding-top: 20px; border-top: 1px solid #b8ccb3; font-size: 12px; font-weight: 700; }
.payment-detail-card:last-child .payment-example { border-color: #5f7a69; }
.pricing-trust-note { color: #5e7360; margin: 24px 0 0; font-size: 13px; line-height: 1.65; }
.care-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.care-grid article { padding: 30px; border: 1px solid #d3dccd; background: white; }
.care-grid article > span { font-size: 10px; font-weight: 800; letter-spacing: .13em; color: #6c856d; }
.care-grid strong { display: block; margin: 30px 0 18px; font-size: clamp(37px, 4vw, 55px); font-family: var(--display); letter-spacing: -.065em; }
.care-grid small { font-family: var(--font); font-size: 12px; font-weight: 500; color: #728276; letter-spacing: 0; }
.care-grid p { font-size: 13px; line-height: 1.7; color: #697b6c; max-width: 300px; }

/* Journal: three independent visual languages for editorial topics. */
.blog-feature-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 19px; }
.blog-feature { display: flex; flex-direction: column; background: #fff; color: #172b21; border: 1px solid #d3dccf; transition: transform .2s ease; }
.blog-feature:hover { transform: translateY(-5px); }
.blog-art { min-height: 315px; padding: 23px; display: flex; flex-direction: column; justify-content: space-between; position: relative; overflow: hidden; }
.blog-art::after { content: ''; position: absolute; z-index: 0; pointer-events: none; }
.blog-art > * { position: relative; z-index: 1; }
.blog-art > span { font-size: 10px; font-weight: 800; letter-spacing: .11em; }
.blog-art strong { font-family: var(--display); font-size: clamp(37px, 4vw, 59px); line-height: 1.04; letter-spacing: -.075em; }
.blog-art strong em { font-family: Georgia, serif; font-weight: 400; }
.blog-art-cms { background: #d4f488; color: #183b27; }
.blog-art-cms::after { width: 280px; height: 280px; border: 38px solid #7fa75140; border-radius: 50%; top: 20px; right: -100px; }
.blog-art-basics { background: #dac7b3; color: #4e3026; }
.blog-art-basics::after { width: 180px; height: 280px; background: #b68b7f70; transform: rotate(22deg); right: -35px; top: 50px; }
.blog-art-shop { background: #303563; color: #fbf4db; }
.blog-art-shop::after { width: 270px; height: 270px; background: #8d7fd37a; border-radius: 50% 15% 50% 45%; right: -65px; top: 55px; }
.blog-feature-copy { padding: 26px 24px 28px; display: flex; flex-direction: column; flex: 1; }
.blog-feature-copy small { color: #718875; font-weight: 800; font-size: 9px; letter-spacing: .1em; }
.blog-feature-copy h3 { font-family: var(--display); font-size: 26px; line-height: 1.12; letter-spacing: -.045em; margin: 19px 0 12px; }
.blog-feature-copy p { color: #66796c; font-size: 12px; line-height: 1.7; margin: 0 0 25px; }
.blog-feature-copy > span { font-size: 12px; font-weight: 800; margin-top: auto; }
.article-layout { display: grid; grid-template-columns: minmax(175px, .33fr) 1fr; gap: clamp(40px, 8vw, 130px); }
.article-rail { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; padding-top: 10px; }
.article-rail span { font-size: 10px; font-weight: 800; color: #607765; letter-spacing: .13em; }
.article-rail a { font-size: 12px; color: #2e5637; text-decoration: underline; }
.journal-article { max-width: 790px; }
.article-eyebrow { font-size: 11px!important; font-weight: 800; letter-spacing: .13em; color: #769168!important; }
.journal-article h2 { font-family: var(--display); font-size: clamp(38px, 5.2vw, 68px); line-height: 1.09; letter-spacing: -.065em; margin: 15px 0 30px; }
.journal-article .article-lead { font-size: 19px; line-height: 1.65; color: #2a4831; margin-bottom: 35px; }
.journal-article h3 { font-family: var(--display); font-size: 25px; line-height: 1.2; letter-spacing: -.04em; margin: 28px 0 8px; }
.journal-article p { font-size: 15px; line-height: 1.85; color: #5e7364; margin: 10px 0; }
.article-takeaway { border-left: 3px solid #7d9e4a; padding: 22px 26px; background: #e8efdf; margin-top: 36px; }
.article-takeaway strong { color: #35533c; font-size: 11px; letter-spacing: .11em; }
.article-takeaway p { margin: 12px 0 0; }

@media (max-width: 1180px) {
  .desktop-nav { gap: 10px; font-size: 12px; }
  .header-cta { padding: 12px 14px; }
  .header-cta span { padding-left: 8px; }
}
@media (max-width: 1000px) {
  .desktop-nav,.header-cta { display:none; }
  .menu-toggle { display:flex; }
  .mobile-nav { position:absolute; left:0; right:0; top:100%; background:#152720; border-bottom:1px solid #6a8275; padding:13px 36px 25px; flex-direction:column; gap:0; max-height:calc(100vh - 70px); overflow-y:auto; }
  .mobile-nav:not([inert]) { display:flex; }
  .mobile-nav > a { padding:13px 0; font-family:var(--display); font-size:21px; border-bottom:1px solid #314638; }
}
@media (max-width: 900px) {
  .inner-hero-content { padding: 92px 0; }
  .case-layout, .cart-layout { grid-template-columns: 1fr; }
  .concept-grid, .about-principles, .brief-tips { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .blog-feature-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .care-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .home-price-grid,.pricing-four-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .service-destination-grid,.solution-grid { grid-template-columns:1fr 1fr; }
  .detail-price-grid { grid-template-columns:1fr 1fr; }
  .primary-service-grid { grid-template-columns:1fr; }
  .primary-service-card { min-height:unset; }
  .scope-exclusions { grid-template-columns:1fr; gap:15px; }
  .wizard-layout { grid-template-columns:1fr; }
  .wizard-intro .display-heading { font-size:clamp(42px,6.2vw,68px); }
  .wizard-steps-labels { grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; margin:25px 0; }
  .wizard-steps-labels span { padding:13px 10px; font-size:11px; }
  .wizard-sidebar-note { display:none; }
}
@media (max-width: 640px) {
  .inner-hero-content { padding: 72px 0 75px; }
  .page-title { font-size: clamp(47px,11.8vw,70px); }
  .page-lead { font-size: 15px; margin-top: 20px; }
  .subpage-section { padding: 73px 0; }
  .text-columns, .feature-tiles, .package-list, .concept-grid, .about-principles, .contact-page-grid, .brief-tips { grid-template-columns: 1fr; }
  .feature-tile { min-height: 245px; padding: 25px; }
  .package-entry, .cart-panel { padding: 24px 19px; }
  .case-visual { min-height: 330px; padding: 25px; }
  .simple-banner { padding: 28px; flex-direction: column; align-items: stretch; }
  .simple-banner .btn { width: 100%; }
  .contact-page-card { min-height: 270px; padding: 25px; }
  .cart-line { flex-direction: column; }
  .cart-note { line-height: 1.65; }
  .payment-detail-grid, .care-grid, .blog-feature-grid, .article-layout { grid-template-columns: 1fr; }
  .payment-detail-card { padding: 27px 24px; min-height: 290px; }
  .blog-art { min-height: 285px; }
  .article-rail { flex-direction: row; justify-content: space-between; gap: 12px; border-bottom: 1px solid #b5c4b1; padding-bottom: 18px; }
  .journal-article .article-lead { font-size: 17px; }
  .journal-article p { font-size: 14px; }
  .home-service-grid,.service-destination-grid,.solution-grid,.home-price-grid,.pricing-four-grid,.detail-price-grid,.maintenance-summary { grid-template-columns:1fr; }
  .home-service-card { min-height:320px; padding:26px; }
  .home-service-card h3 { font-size:43px; }
  .home-service-action { font-size:16px; }
  .primary-service-card { padding:30px 24px; }
  .primary-service-card h2 { font-size:clamp(44px,11vw,62px); margin-top:32px; }
  .primary-service-card > p { font-size:14px; }
  .primary-service-options strong { font-size:19px; }
  .primary-service-options a { min-height:88px; padding:16px; }
  .primary-service-cta strong { font-size:21px; }
  .home-price-card { min-height:285px; }
  .home-price-footer,.pricing-below { flex-direction:column; align-items:stretch; gap:10px; }
  .home-price-footer a { white-space:normal; }
  .pricing-four-card { min-height:unset; padding:27px 24px; }
  .scope-guide-grid { grid-template-columns:1fr; }
  .scope-guide-card,.scope-exclusions { padding:27px 25px; }
  .service-destination-art,.solution-art { min-height:280px; padding:25px; }
  .service-destination-copy,.solution-content { padding:25px; }
  .maintenance-summary > div { padding:29px; }
  .wizard-steps-labels { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .wizard-shell { padding:22px 17px; box-shadow:5px 6px 0 #e0e5d9; }
  .wizard-actions .btn { padding:12px 18px; }
  .wizard-head { font-size:9px; }
  .wizard-summary-row { gap:9px; }
}
@media (prefers-reduced-motion: reduce) {
  .cart-add-action, .contact-page-card { transition: none; }
}

/* Minimal design refinement: one coherent green/cream visual system. */
.subpage-section { padding:88px 0; }
.subpage-section.cream { background:#f2f5ed; }
.subpage-section .section-heading-row { margin-bottom:36px; }
.section-pad { padding:96px 0; }
.section-heading-row { gap:38px; margin-bottom:42px; }
.section-intro { line-height:1.7; }
.btn { min-height:54px; }
.inner-hero::before { display:none; }
.inner-hero { background:#11261e; }
.inner-hero-content { padding:84px 0 88px; }
.page-title { font-size:clamp(55px,6.4vw,94px); line-height:1.05; }
.page-lead { margin-top:23px; }
.feature-tile { min-height:225px; padding:29px; border-color:#dce4d8; }
.feature-tile h3 { font-size:clamp(27px,2.7vw,36px); margin-top:22px; }
.detail-price,.pricing-four-card,.scope-guide-card { border-color:#d6dfd4; }

.hero { background:#10251d; }
.hero-inner { min-height:610px; grid-template-columns:49% 51%; padding:56px 0; }
.hero h1 { font-size:clamp(60px,6.4vw,104px); line-height:1.07; }
.hero-sub { max-width:440px; }
.hero-buttons { gap:12px; margin-top:31px; }
.hero-display { height:435px; }
.hero-display .design-browser { width:93%; left:4%; top:4px; height:405px; transform:none; border-width:6px; box-shadow:0 25px 55px #0005; }
.hero-display:hover .design-browser { transform:translateY(-3px); }
.hero-design-caption { left:4%; bottom:-2px; color:#b6cbbd; letter-spacing:.12em; }
.hero-grid,.hero-foot,.hero-bottom-rule,.halo,.float-stamp,.mobile-mock { display:none; }

.home-services { background:#f1f4ec; }
.home-service-grid { gap:16px; }
.home-service-card { min-height:330px; padding:36px; border-color:#d8e1d5; }
.home-service-card h3 { font-size:clamp(39px,4.2vw,62px); margin:24px 0 14px; }
.home-service-card p { font-size:15px; line-height:1.65; }
.home-service-card.maintenance-home { background:#19362a; }
.home-service-action { padding-top:17px; }
.primary-service-card { min-height:570px; }
.primary-service-card h2 { margin:32px 0 20px; font-size:clamp(45px,4.7vw,70px); }
.primary-service-card > p { margin-bottom:25px; }
.design-service { background:#e5f0df; }
.primary-service-options a { min-height:84px; }

.home-pricing { background:#fbfcf8; }
.home-price-grid { gap:14px; }
.home-price-card { min-height:275px; padding:25px 23px; position:relative; border-color:#dce4d6; }
.home-price-card h3 { margin:23px 0 12px; }
.home-price-card p { font-size:13px; }
.home-price-card > span { display:none; }
.home-price-card::after { content:'↗'; position:absolute; top:21px; right:22px; font-size:23px; font-weight:700; color:#4c6b55; }
.home-price-card.is-popular::after { color:var(--lime); }
.home-price-card:focus-visible { outline:3px solid #709c54; outline-offset:4px; }
.home-price-footer { align-items:center; }
.home-price-footer .btn { flex-shrink:0; font-size:13px; }

.ownership { background:#e7f0e1; color:#183527; }
.ownership .eyebrow { color:#5a745e; }
.ownership-inner h2 { font-size:clamp(65px,9.3vw,137px); line-height:.98; }
.ownership-bottom { margin-top:40px; }
.ownership-bottom > p { font-size:19px; max-width:760px; }
.contact { background:#10251d; }
.contact-glow { display:none; }
.contact-option { min-height:171px; border-color:#4a6b57; padding:26px; }
.contact-option strong { margin-top:23px; }
.footer { background:#edf1e9; padding:65px 0 29px; }
.footer-main { padding-bottom:62px; }
.footer-links { gap:70px; }

.retail-art { background:#dbe9cf; color:#294c37; }
.retail-art::after { background:#a3bfa5; }
.stay-art { background:#e8ede0; color:#344b3b; }
.stay-art::after { background:#afc5ac; }
.commerce-art { background:#29483b; color:#f4f9eb; }
.commerce-art::after { background:#628b71; }

@media (max-width:900px) {
  .hero-inner { grid-template-columns:1fr; min-height:unset; }
  .hero-display { height:365px; margin-top:28px; }
  .hero-display .design-browser { width:90%; left:5%; top:3px; height:342px; }
  .primary-service-card { min-height:unset; }
  .home-price-footer { align-items:stretch; }
}
@media (max-width:640px) {
  .section-pad { padding:67px 0; }
  .subpage-section { padding:66px 0; }
  .inner-hero-content { padding:68px 0; }
  .page-title { font-size:clamp(45px,10.3vw,69px); }
  .hero-inner { padding:65px 0 38px; }
  .hero h1 { font-size:clamp(50px,12vw,73px); }
  .hero-display { height:268px; margin:25px 0 0; }
  .hero-display .design-browser { width:100%; left:0; top:0; height:246px; border-width:5px; }
  .hero-design-caption { left:0; bottom:0; font-size:8px; }
  .home-service-card { min-height:300px; padding:27px; }
  .home-service-card h3 { font-size:clamp(38px,10vw,53px); }
  .home-service-card p { font-size:14px; }
  .home-price-card { min-height:245px; }
  .home-price-footer .btn { width:100%; }
  .ownership-inner h2 { font-size:clamp(59px,12.5vw,90px); }
  .ownership-bottom > p { font-size:16px; }
  .primary-service-card h2 { font-size:clamp(43px,10.5vw,61px); }
  .footer { padding:50px 0 24px; }
}

/* Vektta Web logo lockup: lime circular badge contains the word 'web'. */
.site-header .wordmark { gap:7px; align-items:center; flex-shrink:0; }
.site-header .wordmark-name, .footer .footer-logo {
  font-family:'Arial Black','Space Grotesk',sans-serif;
  font-weight:900; letter-spacing:-.085em; line-height:1;
}
.site-header .wordmark-name { font-size:34px; }
.site-header .wordmark-dot, .site-header .wordmark-vertical, .footer .footer-logo > span { display:none; }
.site-header .wordmark-service, .footer .footer-logo small {
  display:grid; place-items:center; flex-shrink:0; border-radius:50%;
  background:#d6fa75; color:#10231d;
  font-family:'Arial Black','Space Grotesk',sans-serif;
  font-weight:900; letter-spacing:-.065em; line-height:1; text-transform:lowercase;
}
.site-header .wordmark-service { width:48px; height:48px; font-size:15px; margin:0; }
.footer .footer-logo { align-items:center; gap:10px; font-size:49px; }
.footer .footer-logo small { width:68px; height:68px; margin:0; font-size:21px; }
@media (max-width:640px) {
  .site-header .wordmark-name { font-size:28px; }
  .site-header .wordmark-service { width:42px; height:42px; font-size:13px; }
  .footer .footer-logo { font-size:42px; }
  .footer .footer-logo small { width:59px; height:59px; font-size:18px; }
}
