/*
Theme Name: Laura Dark Photography
Theme URI: https://lauradark.net/
Author: Laura Dark Photography
Description: A custom, responsive portfolio theme inspired by the Laura Dark client portal.
Version: 0.4.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: laura-dark
*/

:root {
  color-scheme: dark;
  --ld-bg: #101010;
  --ld-bg-soft: #151414;
  --ld-panel: #191919;
  --ld-panel-raised: #211f1f;
  --ld-cream: #f2f0ed;
  --ld-muted: #bcbab8;
  --ld-line: #555451;
  --ld-wine: #671d2c;
  --ld-wine-light: #9a3d51;
  --ld-shadow: 0 24px 80px rgba(0, 0, 0, 0.42);
  --ld-serif: Georgia, "Times New Roman", serif;
  --ld-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ld-radius: 14px;
  --ld-max: 1280px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background:
    radial-gradient(ellipse at 12% 0%, rgba(80, 45, 49, 0.24), transparent 42rem),
    var(--ld-bg);
  color: var(--ld-cream);
  font: 16px/1.65 var(--ld-sans);
  -webkit-font-smoothing: antialiased;
}
body.admin-bar .site-header { top: 32px; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
a:hover { color: #fff; }
button, input, textarea, select { font: inherit; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
  outline: 3px solid #e6a7b4;
  outline-offset: 4px;
}

.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.screen-reader-text:focus {
  clip: auto;
  width: auto;
  height: auto;
  margin: 0;
  padding: 12px 18px;
  left: 12px;
  top: 12px;
  z-index: 99999;
  background: #000;
}

.ld-container { width: min(calc(100% - 40px), var(--ld-max)); margin-inline: auto; }
.ld-section { padding: clamp(70px, 9vw, 128px) 0; }
.ld-section--tight { padding: clamp(50px, 7vw, 92px) 0; }
.ld-eyebrow {
  margin: 0 0 16px;
  color: var(--ld-muted);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .3em;
  text-transform: uppercase;
}
h1, h2, h3, h4, h5, h6 {
  margin: 0 0 .55em;
  color: var(--ld-cream);
  font-family: var(--ld-serif);
  font-weight: 400;
  line-height: 1.08;
}
h1 { font-size: clamp(46px, 7vw, 92px); }
h2 { font-size: clamp(36px, 5vw, 66px); }
h3 { font-size: clamp(26px, 3vw, 38px); }
p { margin: 0 0 1.35em; }
.ld-lede { color: var(--ld-muted); font-size: clamp(18px, 2vw, 22px); line-height: 1.7; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  border-bottom: 1px solid rgba(122, 119, 115, .42);
  background: rgba(15, 15, 15, .88);
  backdrop-filter: blur(16px);
}
.site-header__inner {
  min-height: 96px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 34px;
}
.site-brand { text-align: center; text-transform: uppercase; line-height: 1; }
.site-brand__name {
  display: block;
  font: 400 clamp(22px, 2.8vw, 34px)/1.05 var(--ld-serif);
  letter-spacing: .23em;
  white-space: nowrap;
}
.site-brand__sub {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 9px;
  color: var(--ld-muted);
  font-size: 10px;
  letter-spacing: .48em;
}
.site-brand__sub::before, .site-brand__sub::after { content: ""; height: 1px; flex: 1; background: #696661; }
.primary-menu { display: flex; align-items: center; justify-content: center; gap: clamp(12px, 1.45vw, 24px); margin: 0; padding: 0; list-style: none; }
.primary-menu a { color: #d7d4d1; font-size: 11px; letter-spacing: .085em; text-transform: uppercase; white-space: nowrap; }
.primary-menu a:hover, .primary-menu .current-menu-item > a { color: #fff; }
.primary-menu .current-menu-item > a::after { content: ""; display: block; width: 24px; height: 2px; margin: 7px auto 0; background: var(--ld-wine-light); }
.menu-toggle {
  display: none;
  width: 46px;
  height: 46px;
  border: 1px solid var(--ld-line);
  border-radius: 50%;
  background: transparent;
  color: var(--ld-cream);
}
.menu-toggle > span:not(.screen-reader-text), .menu-toggle::before, .menu-toggle::after { content: ""; display: block; width: 20px; height: 1px; margin: 5px auto; background: currentColor; }

.ld-button, .wp-block-button__link, input[type="submit"] {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  gap: 18px;
  padding: 13px 25px;
  border: 1px solid #6e2b39;
  border-radius: 10px;
  background: linear-gradient(135deg, #76273a, #491721);
  color: #fff !important;
  font-weight: 600;
  letter-spacing: .035em;
  box-shadow: 0 12px 35px rgba(55, 10, 20, .24);
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}
.ld-button:hover, .wp-block-button__link:hover, input[type="submit"]:hover { transform: translateY(-2px); border-color: #a85b6c; background: linear-gradient(135deg, #893149, #571d2a); }
.ld-button--ghost { background: rgba(25, 25, 25, .72); border-color: var(--ld-line); box-shadow: none; }
.ld-button--small { min-height: 44px; padding: 10px 18px; font-size: 14px; }

.ld-hero { padding: clamp(24px, 4vw, 52px) 0 clamp(68px, 8vw, 118px); }
.ld-hero__panel {
  position: relative;
  min-height: min(760px, calc(100svh - 150px));
  overflow: hidden;
  border: 1px solid var(--ld-line);
  border-radius: 18px;
  background: #171616;
  box-shadow: var(--ld-shadow);
}
.ld-hero__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 38%; }
.ld-hero__shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8,8,8,.98) 0%, rgba(8,8,8,.92) 38%, rgba(8,8,8,.28) 75%, rgba(8,8,8,.08) 100%); }
.ld-hero__content { position: relative; z-index: 1; width: min(650px, 65%); padding: clamp(42px, 8vw, 112px); }
.ld-hero h1 { max-width: 12ch; }
.ld-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.ld-hero__note { margin: 28px 0 0; color: var(--ld-muted); font-size: 14px; }

.ld-quick-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: -44px; position: relative; z-index: 2; }
.ld-quick-card {
  min-height: 124px;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 24px;
  border: 1px solid var(--ld-line);
  border-radius: var(--ld-radius);
  background: linear-gradient(135deg, rgba(34,32,32,.98), rgba(19,19,19,.98));
  box-shadow: 0 18px 38px rgba(0,0,0,.24);
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}
.ld-quick-card:hover { transform: translateY(-4px); border-color: #9d7f85; background: #262222; }
.ld-quick-card__icon { width: 42px; height: 42px; display: grid; place-items: center; color: #eee; }
.ld-quick-card__icon svg { width: 34px; height: 34px; }
.ld-quick-card__text { font-size: 17px; }
.ld-quick-card__arrow { margin-left: auto; color: var(--ld-muted); font-size: 28px; font-weight: 300; }

.ld-intro { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(40px, 9vw, 130px); align-items: start; }
.ld-intro__copy { max-width: 720px; }
.ld-rule { width: 72px; height: 1px; margin: 26px 0; background: var(--ld-wine-light); }

.ld-gallery-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 18px; }
.ld-gallery-card {
  position: relative;
  min-height: 420px;
  overflow: hidden;
  border: 1px solid var(--ld-line);
  border-radius: var(--ld-radius);
  background: var(--ld-panel);
}
.ld-gallery-grid > .ld-gallery-card:nth-child(1), .ld-gallery-grid > .ld-gallery-card:nth-child(4) { grid-column: span 7; }
.ld-gallery-grid > .ld-gallery-card:nth-child(2), .ld-gallery-grid > .ld-gallery-card:nth-child(3) { grid-column: span 5; }
.ld-gallery-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.ld-gallery-card:hover img { transform: scale(1.035); }
.ld-gallery-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(7,7,7,.94), rgba(7,7,7,.04) 68%); }
.ld-gallery-card__copy { position: absolute; z-index: 1; left: 0; right: 0; bottom: 0; padding: 28px; }
.ld-gallery-card__copy p { margin: 0; color: var(--ld-muted); }
.ld-portfolio-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; padding-bottom: 80px; }
.ld-portfolio-grid .ld-gallery-card { min-height: 520px; }
.ld-portfolio-grid .ld-gallery-card:first-child { grid-column: 1 / -1; min-height: 610px; }

.ld-feature {
  position: relative;
  min-height: 540px;
  display: flex;
  align-items: end;
  overflow: hidden;
  border: 1px solid var(--ld-line);
  border-radius: 18px;
  background: #171515;
}
.ld-feature img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ld-feature::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8,8,8,.15), rgba(8,8,8,.9) 65%); }
.ld-feature__copy { position: relative; z-index: 1; width: min(620px, 52%); margin-left: auto; padding: clamp(36px, 7vw, 90px); text-align: right; }

.ld-band { border-block: 1px solid rgba(85,84,81,.7); background: linear-gradient(120deg, #171616, #20191b); }
.ld-stat-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.ld-stat { padding: 34px 26px; text-align: center; border-right: 1px solid rgba(85,84,81,.7); }
.ld-stat:last-child { border-right: 0; }
.ld-stat strong { display: block; font: 400 clamp(28px, 4vw, 46px)/1 var(--ld-serif); }
.ld-stat span { display: block; margin-top: 10px; color: var(--ld-muted); font-size: 12px; letter-spacing: .15em; text-transform: uppercase; }

.ld-cta { padding: clamp(38px, 6vw, 72px); border: 1px solid var(--ld-line); border-radius: 18px; background: radial-gradient(ellipse at 85% 20%, rgba(103,29,44,.52), transparent 52%), #191818; text-align: center; }
.ld-cta p { max-width: 670px; margin: 0 auto 28px; color: var(--ld-muted); font-size: 18px; }

.site-footer { padding: 70px 0 28px; border-top: 1px solid rgba(85,84,81,.7); background: #0c0c0c; }
.site-footer__grid { display: grid; grid-template-columns: 1.35fr .9fr .9fr 1fr; gap: clamp(28px, 4vw, 54px); }
.site-footer h3 { font-size: 22px; }
.site-footer p, .site-footer a { color: var(--ld-muted); }
.site-footer a:hover { color: #fff; }
.site-footer__links { margin: 0; padding: 0; list-style: none; }
.site-footer__links li { margin-bottom: 8px; }
.site-footer__bottom { display: flex; justify-content: space-between; gap: 24px; margin-top: 52px; padding-top: 22px; border-top: 1px solid #393735; color: #8f8c89; font-size: 13px; }

.ld-page-hero { padding: clamp(72px, 10vw, 140px) 0 52px; text-align: center; }
.ld-page-hero h1 { max-width: 1000px; margin-inline: auto; font-size: clamp(44px, 7vw, 82px); }
.ld-page-shell { width: min(calc(100% - 40px), 980px); margin: 0 auto clamp(80px, 10vw, 140px); padding: clamp(28px, 5vw, 64px); border: 1px solid var(--ld-line); border-radius: var(--ld-radius); background: linear-gradient(135deg, #1e1d1d, #131313); }
.ld-page-shell > :first-child { margin-top: 0; }
.ld-page-shell h2 { margin-top: 1.35em; }
.ld-page-shell h3 { margin-top: 1.2em; }
.ld-page-shell li { margin-bottom: .45em; }
.ld-page-shell img { border-radius: 10px; }
.ld-page-shell iframe { width: 100%; max-width: 100%; border: 0; border-radius: 10px; }
.ld-page-shell a:not(.wp-block-button__link):not(.ld-button) { color: #e89aaa; text-decoration: underline; text-underline-offset: 3px; }
.ld-page-shell input:not([type="submit"]), .ld-page-shell textarea, .ld-page-shell select { width: 100%; padding: 13px; border: 1px solid #777; border-radius: 8px; background: #0f0f0f; color: var(--ld-cream); }

.ld-page-intro { width: min(calc(100% - 40px), 860px); margin: -24px auto 54px; color: var(--ld-muted); text-align: center; font-size: 18px; }
.ld-benefit-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-bottom: 64px; }
.ld-benefit { padding: 26px; border: 1px solid var(--ld-line); border-radius: var(--ld-radius); background: linear-gradient(135deg, #201f1f, #151515); text-align: center; }
.ld-benefit h3 { font: 600 14px/1.3 var(--ld-sans); letter-spacing: .14em; text-transform: uppercase; }
.ld-benefit p { margin: 0; color: var(--ld-muted); font-size: 15px; }
.ld-package-section { margin-top: 72px; }
.ld-package-section__head { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 24px; }
.ld-package-section__head p { max-width: 540px; margin: 0; color: var(--ld-muted); }
.ld-package-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.ld-package {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 30px;
  border: 1px solid var(--ld-line);
  border-radius: var(--ld-radius);
  background: linear-gradient(145deg, #211f20, #141414);
}
.ld-package--featured { border-color: #8d4655; box-shadow: 0 0 0 1px rgba(103,29,44,.5), 0 24px 55px rgba(0,0,0,.28); }
.ld-package__flag { position: absolute; top: 18px; right: 18px; padding: 5px 9px; border-radius: 99px; background: var(--ld-wine); font-size: 10px; letter-spacing: .11em; text-transform: uppercase; }
.ld-package h3 { padding-right: 64px; }
.ld-package__price { display: block; margin: 4px 0 22px; color: #e7a7b5; font: 400 27px/1 var(--ld-serif); }
.ld-package ul { margin: 0 0 26px; padding-left: 20px; color: var(--ld-muted); }
.ld-package li { margin-bottom: 8px; }
.ld-package .ld-button { width: 100%; margin-top: auto; }
.ld-addon-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.ld-addon { padding: 26px; border: 1px solid var(--ld-line); border-radius: var(--ld-radius); background: #181717; }
.ld-addon h3 { font-size: 25px; }
.ld-addon dl { margin: 0; }
.ld-addon div { display: flex; justify-content: space-between; gap: 15px; padding: 10px 0; border-bottom: 1px solid #393736; }
.ld-addon div:last-child { border-bottom: 0; }
.ld-addon dt { color: var(--ld-muted); }
.ld-addon dd { margin: 0; text-align: right; }
.ld-project-gallery { columns: 3 320px; column-gap: 16px; margin-bottom: 70px; }
.ld-project-gallery__item { display: block; margin: 0 0 16px; break-inside: avoid; overflow: hidden; border: 1px solid var(--ld-line); border-radius: 10px; background: #181818; }
.ld-project-gallery__item img { width: 100%; transition: transform .35s ease; }
.ld-project-gallery__item:hover img { transform: scale(1.02); }
.ld-profile { display: grid; grid-template-columns: minmax(260px, .75fr) 1.25fr; gap: clamp(34px, 7vw, 90px); align-items: center; margin-bottom: clamp(70px, 10vw, 130px); }
.ld-profile--reverse { grid-template-columns: 1.25fr minmax(260px, .75fr); }
.ld-profile--reverse .ld-profile__image { order: 2; }
.ld-profile__image { overflow: hidden; border: 1px solid var(--ld-line); border-radius: var(--ld-radius); background: #191919; box-shadow: var(--ld-shadow); }
.ld-profile__image img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.ld-profile__copy p { color: var(--ld-muted); }
.ld-studio-copy { display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(34px, 7vw, 90px); margin-bottom: 50px; }
.ld-awards-hero { overflow: hidden; border: 1px solid var(--ld-line); border-radius: 18px; margin-bottom: 60px; background: #0b0b0b; box-shadow: var(--ld-shadow); }
.ld-awards-hero img { position: relative; width: 100%; height: auto; object-fit: contain; object-position: center; background: #0b0b0b; }
.ld-awards-hero__copy { max-width: none; padding: clamp(30px, 5vw, 58px); border-top: 1px solid var(--ld-line); background: linear-gradient(135deg, #211d1e, #121212); }
.ld-awards-hero__copy p:last-child { margin-bottom: 0; }
.ld-awards-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; padding-bottom: 90px; }
.ld-awards-card { padding: clamp(26px, 4vw, 46px); border: 1px solid var(--ld-line); border-radius: var(--ld-radius); background: linear-gradient(145deg, #211f20, #141414); }
.ld-awards-card:first-child { grid-column: 1 / -1; }
.ld-awards-card h2 { font-size: clamp(30px, 4vw, 46px); }
.ld-awards-card ul { margin: 20px 0 0; padding: 0; list-style: none; }
.ld-awards-card li { position: relative; padding: 13px 0 13px 24px; border-bottom: 1px solid #3a3837; color: var(--ld-muted); }
.ld-awards-card li:last-child { border-bottom: 0; }
.ld-awards-card li::before { content: ""; position: absolute; left: 0; top: 23px; width: 7px; height: 7px; border-radius: 50%; background: var(--ld-wine-light); }
.ld-media-split { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(34px, 7vw, 90px); align-items: center; margin-bottom: 70px; }
.ld-media-frame { overflow: hidden; border: 1px solid var(--ld-line); border-radius: var(--ld-radius); background: #171717; box-shadow: var(--ld-shadow); }
.ld-media-frame video { display: block; width: 100%; max-height: 720px; object-fit: cover; }
.ld-check-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin: 40px 0 70px; }
.ld-check-card { padding: 26px; border: 1px solid var(--ld-line); border-radius: var(--ld-radius); background: linear-gradient(145deg, #201e1f, #141414); }
.ld-check-card h3 { font-size: 25px; }
.ld-check-card p { margin: 0; color: var(--ld-muted); }
.ld-faq-list { width: min(100%, 980px); margin: 0 auto 90px; }
.ld-faq-list details { margin-bottom: 12px; border: 1px solid var(--ld-line); border-radius: 11px; background: linear-gradient(135deg, #1e1d1d, #141414); }
.ld-faq-list summary { position: relative; cursor: pointer; padding: 22px 58px 22px 24px; font-family: var(--ld-serif); font-size: clamp(19px, 2.5vw, 25px); list-style: none; }
.ld-faq-list summary::-webkit-details-marker { display: none; }
.ld-faq-list summary::after { content: "+"; position: absolute; right: 24px; top: 50%; transform: translateY(-50%); color: #dc8799; font: 300 28px/1 var(--ld-sans); }
.ld-faq-list details[open] summary::after { content: "−"; }
.ld-faq-list details[open] summary { border-bottom: 1px solid #3d3a39; }
.ld-faq-list__answer { padding: 22px 24px 8px; color: var(--ld-muted); }
.ld-faq-list__answer a { color: #e69aac; text-decoration: underline; }

/* WPForms is intentionally themed here so plugin defaults cannot reintroduce purple borders. */
.ldp-theme .wpforms-container,
.ldp-theme .wpforms-container-full { color: var(--ld-cream); }
.ldp-theme .wpforms-container .wpforms-field-label,
.ldp-theme .wpforms-container-full .wpforms-field-label { color: var(--ld-cream) !important; font-weight: 600 !important; }
.ldp-theme .wpforms-container .wpforms-field-sublabel,
.ldp-theme .wpforms-container .wpforms-field-description,
.ldp-theme .wpforms-container-full .wpforms-field-sublabel,
.ldp-theme .wpforms-container-full .wpforms-field-description { color: var(--ld-muted) !important; }
.ldp-theme .wpforms-container input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.ldp-theme .wpforms-container textarea,
.ldp-theme .wpforms-container select,
.ldp-theme .wpforms-container-full input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.ldp-theme .wpforms-container-full textarea,
.ldp-theme .wpforms-container-full select {
  width: 100% !important;
  min-height: 48px !important;
  padding: 12px 14px !important;
  border: 1px solid #696663 !important;
  border-radius: 8px !important;
  background: #0f0f0f !important;
  color: var(--ld-cream) !important;
  box-shadow: none !important;
}
.ldp-theme .wpforms-container input:focus,
.ldp-theme .wpforms-container textarea:focus,
.ldp-theme .wpforms-container select:focus,
.ldp-theme .wpforms-container-full input:focus,
.ldp-theme .wpforms-container-full textarea:focus,
.ldp-theme .wpforms-container-full select:focus { border-color: #b15a6d !important; box-shadow: 0 0 0 2px rgba(177,90,109,.2) !important; }
.ldp-theme .wpforms-container button[type="submit"],
.ldp-theme .wpforms-container input[type="submit"],
.ldp-theme .wpforms-container-full button[type="submit"],
.ldp-theme .wpforms-container-full input[type="submit"] { min-height: 52px !important; padding: 13px 28px !important; border: 1px solid #7e3444 !important; border-radius: 9px !important; background: linear-gradient(135deg, #76273a, #491721) !important; color: #fff !important; }
.ldp-theme .wpforms-container .wpforms-image-choices-item label,
.ldp-theme .wpforms-container-full .wpforms-image-choices-item label {
  display: block !important;
  height: 100% !important;
  padding: 14px !important;
  border: 1px solid var(--ld-line) !important;
  border-radius: 12px !important;
  background: linear-gradient(145deg, #211f20, #141414) !important;
  color: var(--ld-cream) !important;
  box-shadow: none !important;
}
.ldp-theme .wpforms-container .wpforms-image-choices-item img,
.ldp-theme .wpforms-container-full .wpforms-image-choices-item img { border-radius: 8px !important; }
.ldp-theme .wpforms-container .wpforms-image-choices-label,
.ldp-theme .wpforms-container-full .wpforms-image-choices-label { color: var(--ld-cream) !important; }
.ldp-theme .wpforms-container .wpforms-image-choices-item.wpforms-selected label,
.ldp-theme .wpforms-container-full .wpforms-image-choices-item.wpforms-selected label,
.ldp-theme .wpforms-container .wpforms-image-choices-item input:checked + label,
.ldp-theme .wpforms-container-full .wpforms-image-choices-item input:checked + label {
  border-color: #b15a6d !important;
  background: linear-gradient(145deg, #371a22, #181313) !important;
  box-shadow: 0 0 0 2px rgba(177,90,109,.28) !important;
}
.ldp-theme .wpforms-confirmation-container,
.ldp-theme .wpforms-confirmation-container-full,
.ldp-theme div[submit-success] > .wpforms-confirmation-container-full {
  padding: 22px !important;
  border: 1px solid #8d4655 !important;
  border-radius: 10px !important;
  background: linear-gradient(135deg, #3a151e, #171313) !important;
  color: var(--ld-cream) !important;
}
.ldp-theme .wpforms-confirmation-container p,
.ldp-theme .wpforms-confirmation-container-full p { margin: 0 !important; color: inherit !important; }
.ldp-theme .wpforms-confirmation-container table,
.ldp-theme .wpforms-confirmation-container th,
.ldp-theme .wpforms-confirmation-container td { border-color: var(--ld-line) !important; color: var(--ld-cream) !important; }
.ld-review-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; margin-bottom: 90px; }
.ld-review { padding: clamp(28px, 4vw, 46px); border: 1px solid var(--ld-line); border-radius: var(--ld-radius); background: linear-gradient(145deg, #201f1f, #141414); }
.ld-review__stars { color: #e2a4b1; letter-spacing: .16em; }
.ld-review blockquote { margin: 20px 0; font: 400 clamp(21px, 2.8vw, 29px)/1.45 var(--ld-serif); }
.ld-review cite { color: var(--ld-muted); font-style: normal; }
.ld-trustindex-shell { margin-bottom: 70px; }
.ld-trustindex-shell > :first-child { margin-top: 0; }
.ld-trustindex-shell > :last-child { margin-bottom: 0; }

@media (max-width: 1240px) {
  .site-header__inner { grid-template-columns: auto 1fr auto; }
  .site-header__cta { display: none; }
  .menu-toggle { display: block; justify-self: end; }
  .site-navigation { position: absolute; inset: 96px 0 auto; display: none; padding: 22px; border-bottom: 1px solid var(--ld-line); background: rgba(14,14,14,.98); }
  .site-navigation.is-open { display: block; }
  .primary-menu { flex-direction: column; align-items: stretch; gap: 0; }
  .primary-menu a { display: block; padding: 15px 8px; border-bottom: 1px solid #343230; }
  .primary-menu .current-menu-item > a::after { display: none; }
  .site-footer__grid { grid-template-columns: 1fr 1fr; }
  .ld-quick-grid { grid-template-columns: 1fr 1fr; }
  .ld-package-grid, .ld-addon-grid { grid-template-columns: 1fr 1fr; }
  .ld-stat-grid { grid-template-columns: 1fr 1fr; }
  .ld-stat:nth-child(2) { border-right: 0; }
  .ld-stat:nth-child(-n+2) { border-bottom: 1px solid rgba(85,84,81,.7); }
}

@media (max-width: 720px) {
  body.admin-bar .site-header { top: 46px; }
  .ld-container { width: min(calc(100% - 28px), var(--ld-max)); }
  .site-header__inner { min-height: 84px; gap: 14px; }
  .site-navigation { top: 84px; }
  .site-brand__name { font-size: 21px; letter-spacing: .15em; }
  .site-brand__sub { font-size: 9px; letter-spacing: .3em; }
  .ld-hero { padding-top: 14px; }
  .ld-hero__panel { min-height: 0; display: flex; flex-direction: column; }
  .ld-hero__image { position: relative; inset: auto; width: 100%; height: 350px; object-fit: cover; object-position: 62% 38%; }
  .ld-hero__shade { display: none; }
  .ld-hero__content { width: 100%; padding: 30px 24px 32px; background: linear-gradient(145deg, #1d1b1c, #101010); }
  .ld-hero h1 { max-width: none; font-size: clamp(40px, 11vw, 48px); line-height: 1.02; }
  .ld-hero .ld-lede { font-size: 17px; line-height: 1.55; }
  .ld-hero__actions { display: grid; gap: 10px; margin-top: 24px; }
  .ld-hero__note { margin-top: 18px; }
  .ld-quick-grid { margin-top: 18px; gap: 10px; }
  .ld-quick-card { min-height: 104px; padding: 17px 14px; }
  .ld-quick-card__icon { display: none; }
  .ld-quick-card__text { font-size: 14px; }
  .ld-intro { grid-template-columns: 1fr; gap: 14px; }
  .ld-profile, .ld-profile--reverse, .ld-studio-copy { grid-template-columns: 1fr; }
  .ld-media-split, .ld-check-grid { grid-template-columns: 1fr; }
  .ld-awards-grid { grid-template-columns: 1fr; }
  .ld-awards-card:first-child { grid-column: 1; }
  .ld-profile--reverse .ld-profile__image { order: 0; }
  .ld-benefit-grid, .ld-package-grid, .ld-addon-grid { grid-template-columns: 1fr; }
  .ld-review-grid { grid-template-columns: 1fr; }
  .ld-package-section__head { display: block; }
  .ld-gallery-grid { display: grid; grid-template-columns: 1fr; }
  .ld-portfolio-grid { grid-template-columns: 1fr; }
  .ld-portfolio-grid > .ld-gallery-card,
  .ld-portfolio-grid .ld-gallery-card:first-child,
  .ld-gallery-grid > .ld-gallery-card,
  .ld-gallery-grid > .ld-gallery-card:nth-child(n) { grid-column: 1; min-height: 0; }
  .ld-gallery-card { display: block; }
  .ld-gallery-card img { position: relative; inset: auto; width: 100%; height: auto; object-fit: contain; background: #0b0b0b; }
  .ld-gallery-card::after { display: none; }
  .ld-gallery-card__copy { position: relative; display: block; padding: 22px; background: linear-gradient(145deg, #201d1e, #121212); }
  .ld-gallery-card__copy h3 { font-size: clamp(27px, 8vw, 36px); }
  .ld-feature { min-height: 600px; align-items: end; }
  .ld-feature::after { background: linear-gradient(0deg, rgba(8,8,8,.97), rgba(8,8,8,.1) 70%); }
  .ld-feature__copy { width: 100%; padding: 28px; text-align: left; }
  .ld-stat-grid { grid-template-columns: 1fr 1fr; }
  .ld-stat { padding: 25px 14px; }
  .site-footer__grid { grid-template-columns: 1fr; gap: 24px; }
  .site-footer__bottom { flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}
