:root {
  --ds-header-height: 94px;
  --ds-gutter: clamp(24px, 7.5vw, 122px);
  --ds-line: rgba(242, 238, 231, .17);
  --ds-paper-line: rgba(8, 8, 7, .18);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; overflow-x: hidden; }
body.admin-bar .ds-site-header { top: 32px; }
img { display: block; max-width: 100%; }
a, button, input, select, textarea { transition: color .2s ease, background-color .2s ease, border-color .2s ease, opacity .2s ease; }
:focus-visible { outline: 2px solid var(--wp--preset--color--bronze); outline-offset: 4px; }

.ds-site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  width: 100%;
  min-height: var(--ds-header-height);
  padding: 12px var(--ds-gutter);
  background: #080807;
  border-bottom: 1px solid var(--ds-line);
}
.ds-site-header.is-scrolled { box-shadow: 0 10px 35px rgba(0,0,0,.3); }
.ds-header-inner { max-width: 1536px; min-height: 68px; margin: 0 auto; }
.ds-header-logo img { width: 176px; height: auto; }
.ds-site-header .wp-block-navigation { font-size: .82rem; letter-spacing: .04em; }
.ds-site-header .wp-block-navigation-item__content { padding: 11px 0; }
.ds-site-header .wp-block-navigation__submenu-container { background: #080807 !important; border: 1px solid var(--ds-line) !important; padding: 12px 18px !important; min-width: 230px !important; }
.ds-site-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 8px !important; }
.ds-header-actions { flex-wrap: nowrap !important; }

.wp-block-button__link { min-width: 172px; text-align: center; }
.wp-block-button.is-style-outline-bronze .wp-block-button__link,
.wp-block-button.is-style-outline .wp-block-button__link { background: transparent; border-color: currentColor; }
.wp-block-button__link:hover { filter: brightness(1.08); }

.ds-page-intro,
.ds-section { padding: clamp(78px, 9vw, 145px) var(--ds-gutter); }
.ds-page-intro { background: radial-gradient(circle at 79% 20%, rgba(185,133,82,.12), transparent 36%), #080807; color: #f2eee7; }
.ds-page-intro > *, .ds-section > *, .ds-footer-inner > * { max-width: 1280px; margin-left: auto; margin-right: auto; }
.ds-page-intro h1 { max-width: 1120px; font-size: clamp(4rem, 9vw, 8.8rem); }
.ds-page-intro .ds-lede { max-width: 760px; margin-top: 24px; margin-left: 0; color: #bdb7ae; font-size: clamp(1rem, 1.5vw, 1.32rem); line-height: 1.6; }
.ds-kicker { margin-bottom: 28px; color: var(--wp--preset--color--bronze); font-size: .68rem; font-weight: 700; letter-spacing: .24em; text-transform: uppercase; }
.ds-display { font-size: clamp(4rem, 8vw, 8rem); line-height: .92; }
.ds-display em, .ds-section h2 em, .ds-page-intro h1 em { color: var(--wp--preset--color--bronze); font-weight: 400; }
.ds-copy { max-width: 720px; color: #5e5953; font-size: 1.07rem; }
.ds-section-title { max-width: 100%; margin-bottom: 32px; font-size: clamp(3.2rem, 6.8vw, 7.4rem); }
.ds-paper { background: var(--wp--preset--color--ivory); color: #080807; }
.ds-dark { background: #11100f; color: #f2eee7; }
.ds-dark p { color: #bdb7ae; }
.ds-bronze { background: var(--wp--preset--color--bronze); color: #080807; }

.ds-hero { min-height: calc(100svh - var(--ds-header-height)); align-items: center; }
.ds-hero .wp-block-cover__inner-container { width: 100%; max-width: 1280px; }
.ds-hero h1 { max-width: 1000px; font-size: clamp(4rem, 8.2vw, 8.5rem); }
.ds-hero p { max-width: 620px; color: #d0cbc4; font-size: 1.15rem; }
.ds-hero .wp-block-buttons { margin-top: 38px; }

.ds-split { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; padding: 0; }
.ds-split > .wp-block-group { display: flex; flex-direction: column; justify-content: center; padding: clamp(60px, 8vw, 120px); }
.ds-split .wp-block-image, .ds-split .wp-block-post-featured-image { height: 100%; margin: 0; }
.ds-split img { width: 100%; height: 100%; min-height: 620px; object-fit: cover; border-radius: 0 !important; }

.ds-card-grid, .ds-values, .ds-process, .ds-stats { display: grid !important; gap: 0 !important; }
.ds-card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ds-values, .ds-process { grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--ds-paper-line); }
.ds-value, .ds-process-step { min-height: 280px; padding: clamp(28px, 4vw, 55px); border-right: 1px solid var(--ds-paper-line); }
.ds-value:last-child, .ds-process-step:last-child { border-right: 0; }
.ds-number { color: var(--wp--preset--color--bronze); font-family: var(--wp--preset--font-family--display); }
.ds-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--ds-line); border-left: 1px solid var(--ds-line); }
.ds-stat { padding: 34px; border-right: 1px solid var(--ds-line); border-bottom: 1px solid var(--ds-line); }
.ds-stat strong { display: block; margin-bottom: 8px; color: var(--wp--preset--color--bronze); font-family: var(--wp--preset--font-family--display); font-size: 2.4rem; font-weight: 400; }

.ds-service-grid .wp-block-post-template { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.ds-service-card { height: 100%; border: 1px solid var(--ds-line); background: #11100f; }
.ds-service-card .wp-block-post-featured-image { aspect-ratio: 4/3; margin: 0; overflow: hidden; }
.ds-service-card .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.ds-service-card:hover .wp-block-post-featured-image img { transform: scale(1.025); }
.ds-service-card-copy { padding: 30px; }
.ds-service-card h2 { margin: 0 0 12px; font-size: 2.25rem; }
.ds-service-card .wp-block-post-excerpt__excerpt { color: #aaa49c; }

.ds-price-table { width: 100%; border-collapse: collapse; }
.ds-price-table td, .ds-price-table th { padding: 17px 12px; border-bottom: 1px solid currentColor; text-align: left; }
.ds-price-table td:last-child, .ds-price-table th:last-child { text-align: right; }
.ds-addons { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 !important; border: 1px solid var(--ds-paper-line); }
.ds-addon { min-height: 185px; padding: 28px; border-right: 1px solid var(--ds-paper-line); border-bottom: 1px solid var(--ds-paper-line); }

.ds-gallery .wp-block-gallery { gap: 12px !important; }
.ds-gallery img { aspect-ratio: 4/5; object-fit: cover; }
.ds-testimonials { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px !important; }
.ds-testimonial { padding: 34px; border: 1px solid var(--ds-line); }
.ds-stars { color: var(--wp--preset--color--bronze); letter-spacing: .15em; }
.ds-faq { max-width: 980px !important; }
.ds-faq details { padding: 24px 0; border-top: 1px solid currentColor; }
.ds-faq details:last-child { border-bottom: 1px solid currentColor; }
.ds-faq summary { cursor: pointer; font-family: var(--wp--preset--font-family--display); font-size: 1.65rem; }
.ds-faq details p { max-width: 780px; }

.ds-service-hero { display: grid !important; grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr); min-height: 700px; padding: 0; background: #080807; color: #f2eee7; }
.ds-service-hero-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(70px, 8vw, 120px) var(--ds-gutter); }
.ds-service-hero h1 { font-size: clamp(4rem, 7.5vw, 8rem); }
.ds-service-hero .wp-block-post-featured-image { height: 100%; margin: 0; }
.ds-service-hero .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; }
.ds-service-content { padding: clamp(72px, 8vw, 120px) var(--ds-gutter); }
.ds-service-content > * { max-width: 900px; margin-left: auto; margin-right: auto; }
.ds-service-content > .alignwide, .ds-service-content > .alignfull { max-width: 1280px; }

.ds-contact-grid { display: grid !important; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(46px, 7vw, 110px) !important; }
.ds-contact-details a { display: block; padding: 20px 0; border-bottom: 1px solid var(--ds-paper-line); font-family: var(--wp--preset--font-family--display); font-size: 1.9rem; }
.ds-form-placeholder { padding: 34px; border: 1px solid var(--ds-paper-line); }

.ds-cta { text-align: center; }
.ds-cta h2 { max-width: 1000px; margin-left: auto; margin-right: auto; }
.ds-cta .wp-block-buttons { justify-content: center; }

.ds-site-footer { padding: 0 var(--ds-gutter); background: #050505; color: #f2eee7; }
.ds-footer-inner { padding: 70px 0 30px; }
.ds-footer-grid { display: grid !important; grid-template-columns: 1.4fr repeat(3, 1fr); gap: 48px !important; padding: 58px 0; border-top: 1px solid var(--ds-line); border-bottom: 1px solid var(--ds-line); }
.ds-footer-logo img { width: 230px; }
.ds-footer-heading { color: white; font-size: .68rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.ds-site-footer .wp-block-navigation { align-items: flex-start; gap: 8px; }
.ds-footer-base { padding-top: 24px; color: #88827a; font-size: .64rem; letter-spacing: .12em; text-transform: uppercase; }
.ds-footer-base .wp-block-social-links { gap: 10px; }

.wp-block-query-pagination { margin-top: 48px; }
.wp-block-post-navigation-link { font-family: var(--wp--preset--font-family--display); font-size: 1.5rem; }
.wp-block-search__input { border: 1px solid currentColor; border-radius: 0; background: transparent; color: currentColor; }
.wp-block-search__button { border-radius: 0; }

@media (max-width: 1000px) {
  .ds-card-grid, .ds-service-grid .wp-block-post-template, .ds-testimonials { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ds-values, .ds-process, .ds-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ds-value:nth-child(2), .ds-process-step:nth-child(2) { border-right: 0; }
  .ds-service-hero { grid-template-columns: 1fr; }
  .ds-service-hero .wp-block-post-featured-image img { max-height: 620px; }
  .ds-addons { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ds-footer-grid { grid-template-columns: 1.3fr 1fr 1fr; }
  .ds-footer-grid > :first-child { grid-column: 1 / -1; }
}

@media (max-width: 782px) {
  :root { --ds-header-height: 76px; }
  body.admin-bar .ds-site-header { top: 46px; }
  .ds-site-header { min-height: 76px; padding-top: 8px; padding-bottom: 8px; }
  .ds-header-inner { min-height: 59px; }
  .ds-header-logo img { width: 148px; }
  .ds-header-inner > .wp-block-group { gap: 12px !important; }
  .ds-header-actions .wp-block-buttons { display: none; }
  .wp-block-navigation__responsive-container.is-menu-open { background: #080807 !important; color: #f2eee7 !important; padding: 90px 28px 36px !important; }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { align-items: flex-start; gap: 20px; font-family: var(--wp--preset--font-family--display); font-size: 2.3rem; }
  .ds-page-intro, .ds-section { padding-top: 72px; padding-bottom: 72px; }
  .ds-hero { min-height: 760px; }
  .ds-split, .ds-contact-grid { grid-template-columns: 1fr; }
  .ds-split img { min-height: 460px; }
  .ds-split > .wp-block-group { padding: 64px var(--ds-gutter); }
  .ds-card-grid, .ds-service-grid .wp-block-post-template, .ds-testimonials { grid-template-columns: 1fr; }
  .ds-values, .ds-process, .ds-stats { grid-template-columns: 1fr; }
  .ds-value, .ds-process-step { min-height: auto; border-right: 0; border-bottom: 1px solid var(--ds-paper-line); }
  .ds-addons { grid-template-columns: 1fr; }
  .ds-footer-grid { grid-template-columns: 1fr 1fr; }
  .ds-footer-grid > :first-child { grid-column: 1 / -1; }
  .ds-footer-base { align-items: flex-start !important; flex-direction: column; }
}

@media (max-width: 480px) {
  .ds-footer-grid { grid-template-columns: 1fr; }
  .ds-footer-grid > :first-child { grid-column: auto; }
  .ds-page-intro h1, .ds-hero h1 { overflow-wrap: anywhere; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
