:root {
  --ink: #0b292a;
  --ink2: #153738;
  --gold: #b99762;
  --gold2: #d5bd94;
  --ivory: #f6f2e9;
  --paper: #fff;
  --mist: #eff2ee;
  --muted: #667674;
  --line: #d8ded9;
  --serif: "Libre Caslon Display", Georgia, serif;
  --sans: "DM Sans", Arial, sans-serif;
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: 90px;
}
body {
  margin: 0;
  color: var(--ink);
  font: 16px/1.6 var(--sans);
  background: #fff;
}
body:has(dialog[open]) {
  overflow: hidden;
}
button,
input,
select,
textarea {
  font: inherit;
  color: inherit;
}
button,
a {
  touch-action: manipulation;
}
button {
  cursor: pointer;
}
a {
  color: inherit;
  text-decoration: none;
}
img {
  display: block;
  max-width: 100%;
}
h1,
h2,
h3,
p {
  margin-top: 0;
}
h1,
h2,
h3 {
  font-family: var(--serif);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -0.035em;
}
h2 {
  font-size: clamp(2.6rem, 4.2vw, 4.7rem);
  margin-bottom: 24px;
}
h3 {
  font-size: 1.6rem;
}
p {
  margin-bottom: 0;
}
svg {
  width: 23px;
  height: 23px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.35;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.skip {
  position: fixed;
  top: -80px;
  left: 20px;
  background: #fff;
  padding: 12px;
  z-index: 999;
}
.skip:focus {
  top: 12px;
}
.site-header {
  height: 92px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(18px, 2.4vw, 42px);
  padding: 0 4.5%;
  background: #fbfcfa;
  position: relative;
  z-index: 30;
  border-bottom: 1px solid #e5e8e4;
}
.brand {
  display: flex;
  align-items: center;
  gap: 13px;
  min-width: max-content;
}
.brand > span:last-child {
  display: block;
}
.brand b {
  display: block;
  font: 500 16px/1.15 var(--serif);
  letter-spacing: 2.8px;
}
.brand small {
  display: block;
  font-size: 8px;
  letter-spacing: 3.3px;
  margin-top: 5px;
}
.monogram {
  width: 49px;
  height: 49px;
  border: 1px solid var(--gold);
  border-radius: 50%;
  display: grid;
  place-items: center;
  font: 400 27px/1 var(--serif);
  color: var(--gold);
}
.monogram.small {
  width: 34px;
  height: 34px;
  font-size: 18px;
}
.desktop-nav {
  display: flex;
  gap: 28px;
  justify-content: center;
}
.desktop-nav a,
.desktop-nav .nav-link {
  font-size: 13px;
  padding: 13px 0;
  position: relative;
  line-height: 1.35;
  color: var(--ink);
}
.desktop-nav .nav-link {
  border: 0;
  background: none;
  font-family: inherit;
  cursor: pointer;
}
.desktop-nav a:after,
.desktop-nav .nav-link:after {
  content: "";
  position: absolute;
  bottom: 7px;
  left: 0;
  width: 0;
  height: 1px;
  background: var(--gold);
  transition: 0.25s;
}
.desktop-nav a:hover:after,
.desktop-nav .nav-link:hover:after,
.desktop-nav a.is-active:after,
.desktop-nav .nav-link.is-active:after {
  width: 100%;
}
.desktop-nav a:focus-visible,
.desktop-nav .nav-link:focus-visible {
  outline: 1px solid var(--gold);
  outline-offset: 5px;
}
.header-actions {
  display: flex;
  align-items: center;
  gap: 11px;
}
.header-actions button {
  white-space: nowrap;
}
.language-toggle,
.menu-button {
  border: 0;
  background: none;
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 44px;
  padding: 8px;
}
.language-toggle {
  border-left: 1px solid var(--line);
  gap: 7px;
  padding-left: 14px;
}
.language-toggle button,
.language-toggle a,
.mobile-language-toggle button {
  border: 0;
  background: none;
  color: var(--muted);
  cursor: pointer;
  font: 500 12px var(--sans);
  line-height: 1;
  padding: 4px 1px;
}
.language-toggle button.is-active,
.language-toggle a.is-active,
.mobile-language-toggle button.is-active {
  color: var(--ink);
  font-weight: 700;
}
.language-toggle > span,
.mobile-language-toggle > span {
  color: var(--gold);
  font-size: 12px;
}
.menu-button {
  display: none;
}
.button {
  border: 1px solid transparent;
  background: var(--gold);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  min-height: 52px;
  padding: 14px 22px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.2px;
  transition: 0.2s;
}
.button:hover {
  filter: brightness(0.94);
  transform: translateY(-1px);
}
.button.gold {
  min-height: 46px;
  padding: 11px 18px;
}
.button.ivory {
  background: var(--ivory);
  color: var(--ink);
}
.button.dark {
  background: var(--ink);
  color: #fff;
}
.button.outline {
  background: transparent;
  color: var(--ink);
  border-color: var(--ink);
}
.button.full {
  width: 100%;
}
.line-button,
.text-action {
  border: 0;
  background: none;
  padding: 9px 0;
  display: inline-flex;
  align-items: center;
  gap: 18px;
  border-bottom: 1px solid #778b86;
  font-size: 13px;
  font-weight: 500;
}
.line-button.light-line {
  color: #fff;
  border-color: #ffffff70;
}
.text-action {
  border: 0;
  text-decoration: underline;
  text-underline-offset: 5px;
  gap: 6px;
}
.hero {
  height: calc(100svh - 92px);
  min-height: 650px;
  max-height: 850px;
  color: #fff;
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.hero > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 55%;
  z-index: -3;
}
.hero-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      rgba(5, 26, 27, 0.83),
      rgba(5, 26, 27, 0.43) 54%,
      rgba(5, 26, 27, 0.07)
    ),
    linear-gradient(0deg, rgba(2, 20, 21, 0.45), transparent 38%);
  z-index: -2;
}
.hero-rule {
  position: absolute;
  left: 4.5%;
  top: 15%;
  bottom: 17%;
  width: 1px;
  background: #ffffff38;
}
.hero-copy {
  padding: clamp(82px, 12vh, 130px) 7.5%;
  max-width: 1050px;
}
.kicker {
  font-size: 10px;
  letter-spacing: 2.5px;
  font-weight: 600;
  color: #667d77;
  margin-bottom: 24px;
}
.kicker.light {
  color: var(--gold2);
}
.hero h1 {
  font-size: clamp(4rem, 6.1vw, 6.4rem);
  margin-bottom: 30px;
  max-width: 970px;
}
.hero h1 span,
.hero h1 em {
  display: block;
}
.hero h1 em {
  color: #e6d3b2;
  font-weight: 400;
}
.hero-text {
  font-size: 16px;
  line-height: 1.85;
  color: #eef2ed;
  max-width: 590px;
}
.hero-actions {
  display: flex;
  align-items: center;
  gap: 32px;
  margin-top: 37px;
}
.hero-footer {
  position: absolute;
  left: 4.5%;
  right: 4.5%;
  bottom: 22px;
  border-top: 1px solid #ffffff44;
  padding-top: 19px;
  display: flex;
  justify-content: flex-end;
  font-size: 9px;
  letter-spacing: 2px;
}
.signature-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin: 0 4.5%;
  padding: 30px 0;
  border-bottom: 1px solid var(--line);
}
.signature-strip > div {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 17px;
  border-right: 1px solid var(--line);
  min-height: 55px;
}
.signature-strip > div:last-child {
  border: 0;
}
.signature-strip b {
  font: 400 34px var(--serif);
}
.signature-strip p {
  font-size: 10px;
  letter-spacing: 1.5px;
}
.signature-strip small {
  display: block;
  font-size: 8px;
  color: var(--muted);
  letter-spacing: 1.4px;
  margin-top: 4px;
}
.section {
  padding: 110px 7%;
}
.section-head {
  display: grid;
  grid-template-columns: 1fr 380px;
  align-items: end;
  gap: 50px;
  margin-bottom: 52px;
}
.section-head h2 {
  margin: 0;
}
.section-head > p {
  color: var(--muted);
  font-size: 15px;
  line-height: 1.9;
}
.membership-scope {
  display: grid;
  grid-template-columns: minmax(320px, 0.82fr) minmax(0, 1.18fr);
  gap: 7%;
  background: var(--mist);
  align-items: start;
}
.membership-copy > p:not(.kicker) {
  color: var(--muted);
  line-height: 1.85;
  max-width: 570px;
}
.membership-standard {
  margin-top: 30px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
}
.membership-standard .kicker {
  margin: 0 0 7px;
}
.membership-standard small {
  display: block;
  color: var(--muted);
  font-size: 10px;
  letter-spacing: 0.04em;
}
.membership-note {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 14px;
  margin-top: 32px;
  padding: 20px;
  background: var(--ink);
  color: #dce5e1;
  font-size: 12px;
  line-height: 1.7;
}
.membership-note svg {
  width: 24px;
  color: var(--gold2);
}
.membership-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border: 1px solid var(--line);
  background: #fff;
}
.membership-list > div {
  min-height: 128px;
  padding: 22px;
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 13px;
  align-items: center;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.membership-list > div:nth-child(2n) { border-right: 0; }
.membership-list > div:last-child { border-bottom: 0; }
.membership-list > div:last-child:nth-child(odd) { grid-column: 1 / -1; border-right: 0; }
.membership-list > div:nth-last-child(2):nth-child(odd) { border-bottom: 0; }
.membership-list svg { width: 23px; color: var(--gold); }
.membership-list p { margin: 0; }
.membership-list b { display: block; font-size: 12px; line-height: 1.55; font-weight: 500; }
.membership-list small { display: block; margin-top: 5px; color: var(--muted); font-size: 10px; line-height: 1.5; }
.membership-event-summary { display: grid; grid-template-columns: 28px 1fr; gap: 14px; margin-top: 26px; padding-top: 20px; border-top: 1px solid var(--line); }
.membership-event-summary > span { color: var(--gold); }
.membership-event-summary svg { width: 23px; }
.membership-event-summary b { display: block; font-size: 12px; font-weight: 600; letter-spacing: 0.08em; }
.membership-event-summary p { margin: 6px 0 0; color: var(--muted); font-size: 11px; line-height: 1.65; }
.membership-event-summary em { display: inline-block; margin-top: 10px; color: #76571e; font-size: 9px; font-style: normal; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.membership-event-summary small { display: block; max-width: 620px; margin-top: 8px; color: var(--muted); font-size: 10px; line-height: 1.55; }
.event-report-proof { margin-top: 14px; padding: 14px; display: grid; grid-template-columns: auto 1fr; gap: 11px; border: 1px solid #d7c18f; background: #fbf5e7; }
.event-report-proof > span { width: 34px; height: 34px; display: grid; place-items: center; background: var(--ink); color: var(--gold2); }
.event-report-proof svg { width: 18px; }
.event-report-proof div { display: grid; gap: 4px; }
.event-report-proof b { font-size: 11px; }
.event-report-proof small { color: var(--muted); font-size: 8px; line-height: 1.45; }
.event-report-proof em { color: #806027; font-size: 7px; line-height: 1.45; font-style: normal; }
.service-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border: 1px solid var(--line);
}
.service-card {
  min-height: 200px;
  border: 0;
  border-right: 1px solid var(--line);
  border-bottom: 0;
  background: #fff;
  text-align: left;
  padding: 24px;
  display: flex;
  flex-direction: column;
}
.service-card:last-child { border-right: 0; }
.service-card-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: var(--gold);
  margin-bottom: 38px;
}
.service-card-top span:last-child {
  font-size: 10px;
  letter-spacing: 1.5px;
  color: var(--muted);
}
.service-card h3 {
  font-size: 24px;
  margin: 0 0 16px;
}
.service-card p {
  font-size: 14px;
  line-height: 1.8;
  color: var(--muted);
}
.center-action {
  text-align: center;
  margin-top: 38px;
}
.center-action b {
  font: 400 22px var(--serif);
  color: var(--gold);
}
.collections {
  background: var(--ink);
  color: #fff;
  padding: 105px 7% 50px;
}
.section-head.inverse > p {
  color: #b9c6c0;
}
.pricing-qualifier {
  margin: 12px 0 0;
  color: var(--gold2);
  font: 400 20px/1.35 var(--serif);
}
.pricing-description {
  max-width: 610px;
  margin: 10px 0 0;
  color: #b9c6c0;
  font-size: 12px;
  line-height: 1.5;
}
.section-head.inverse .kicker {
  color: var(--gold2);
}
.section-head h2 em {
  color: var(--gold2);
}
.collection-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border: 1px solid #ffffff28;
}
.collection-grid article {
  position: relative;
  padding: 34px;
  min-height: 540px;
  border-right: 1px solid #ffffff28;
  display: flex;
  flex-direction: column;
}
.collection-grid article:last-child {
  border: 0;
}
.collection-grid article.featured {
  background: #173e3e;
}
.collection-grid article > span {
  font: 400 24px var(--serif);
  color: var(--gold2);
}
.collection-grid article > p {
  font-size: 9px;
  letter-spacing: 2px;
  margin: 32px 0 10px;
  color: #b8c9c1;
}
.collection-grid .collection-message {
  margin: 0 0 8px;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.45;
}
.collection-grid .collection-description {
  margin: 0 0 18px;
  color: #b8c9c1;
  font-size: 11px;
  letter-spacing: 0;
  line-height: 1.6;
}
.management-badge {
  position: absolute;
  top: 34px;
  right: 34px;
  border: 1px solid #d8ba7659;
  padding: 5px 8px;
  color: var(--gold2);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 1.15px;
}
.collection-grid h3 {
  font-size: 34px;
  margin: 0 0 20px;
}
.collection-plan-summary {
  display: grid;
  gap: 6px;
  margin: 0 0 18px;
  padding-left: 14px;
  border-left: 1px solid #d8ba7659;
}
.collection-plan-summary strong {
  color: var(--gold2);
  font: 400 21px/1.25 var(--serif);
  letter-spacing: .2px;
}
.collection-plan-summary small {
  color: #b8c9c1;
  font-size: 10px;
  line-height: 1.45;
}
.collection-grid ul {
  list-style: none;
  padding: 20px 0 0;
  margin: 0;
  border-top: 1px solid #ffffff27;
  flex: 1;
}
.collection-grid li {
  position: relative;
  padding: 8px 0 8px 17px;
  font-size: 13px;
  color: #d4ddda;
}
.collection-grid li:before {
  content: "·";
  position: absolute;
  left: 0;
  color: var(--gold2);
}
.collection-details {
  margin: 18px 0 0;
  border-top: 1px solid #ffffff27;
  color: #d4ddda;
}
.collection-details summary {
  cursor: pointer;
  padding: 13px 0;
  color: var(--gold2);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1px;
  list-style: none;
}
.collection-details summary::-webkit-details-marker {
  display: none;
}
.collection-details summary::after {
  content: "+";
  float: right;
  font-size: 15px;
  font-weight: 400;
}
.collection-details[open] summary::after {
  content: "−";
}
.collection-details-copy {
  padding: 0 0 4px;
}
.collection-details-copy > div {
  padding: 0 0 13px;
}
.collection-details-copy b {
  display: block;
  color: #fff;
  font-size: 9px;
  letter-spacing: 1px;
}
.collection-details-copy p {
  margin: 5px 0 0;
  color: #b8c9c1;
  font-size: 10px;
  line-height: 1.55;
}
.package-comparison {
  margin-top: 34px;
  border: 1px solid #ffffff28;
}
.package-comparison-head {
  padding: 24px 30px;
  border-bottom: 1px solid #ffffff28;
}
.package-comparison-head .kicker {
  margin: 0 0 8px;
  color: var(--gold2);
}
.package-comparison-head > div > p:last-child {
  max-width: 620px;
  margin: 0;
  color: #b8c9c1;
  font-size: 12px;
  line-height: 1.55;
}
.package-comparison-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
.package-comparison-grid article {
  padding: 28px 30px 30px;
}
.package-comparison-grid article + article {
  border-left: 1px solid #ffffff28;
}
.package-comparison-grid article.featured {
  background: #173e3e;
}
.package-comparison-grid article > p {
  margin: 0 0 10px;
  color: var(--gold2);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 1.5px;
}
.package-comparison-grid h3 {
  max-width: 420px;
  margin: 0 0 18px;
  color: #fff;
  font: 400 24px/1.25 var(--serif);
}
.package-comparison-grid ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px 20px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.package-comparison-grid li {
  position: relative;
  padding-left: 14px;
  color: #d4ddda;
  font-size: 11px;
  line-height: 1.45;
}
.package-comparison-grid li::before {
  content: "·";
  position: absolute;
  left: 0;
  color: var(--gold2);
}
.proposal-section {
  margin-top: 34px;
  border: 1px solid #ffffff28;
}
.proposal-head {
  padding: 30px;
  border-bottom: 1px solid #ffffff28;
}
.proposal-head .kicker {
  margin: 0 0 10px;
  color: var(--gold2);
}
.proposal-head h3 {
  max-width: 720px;
  margin: 0 0 10px;
  color: #fff;
  font: 400 28px/1.25 var(--serif);
}
.proposal-head > p:last-child {
  max-width: 640px;
  margin: 0;
  color: #b8c9c1;
  font-size: 12px;
  line-height: 1.55;
}
.proposal-criteria {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}
.proposal-criteria article {
  min-height: 184px;
  padding: 27px 24px 30px;
  border-right: 1px solid #ffffff28;
}
.proposal-criteria article:last-child {
  border-right: 0;
}
.proposal-criteria span {
  display: block;
  margin-bottom: 26px;
  color: var(--gold2);
  font: 400 21px var(--serif);
}
.proposal-criteria h4 {
  margin: 0 0 10px;
  color: #fff;
  font-size: 10px;
  letter-spacing: 1.25px;
}
.proposal-criteria p {
  margin: 0;
  color: #b8c9c1;
  font-size: 11px;
  line-height: 1.55;
}
.proposal-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  padding: 26px 30px 30px;
  border-top: 1px solid #ffffff28;
}
.proposal-footer > div { max-width: 660px; }
.proposal-footer p {
  margin: 0 0 7px;
  color: var(--gold2);
  font: 400 19px/1.35 var(--serif);
}
.proposal-footer small {
  display: block;
  color: #b8c9c1;
  font-size: 11px;
  line-height: 1.55;
}
.proposal-footer .button {
  flex: none;
}
@media (max-width: 1024px) {
  .proposal-criteria { grid-template-columns: repeat(2, 1fr); }
  .proposal-criteria article:nth-child(2) { border-right: 0; }
  .proposal-criteria article:nth-child(-n + 2) { border-bottom: 1px solid #ffffff28; }
}
@media (max-width: 700px) {
  .proposal-criteria { grid-template-columns: 1fr; }
  .proposal-criteria article,
  .proposal-criteria article:nth-child(2) { border-right: 0; border-bottom: 1px solid #ffffff28; }
  .proposal-criteria article:last-child { border-bottom: 0; }
  .proposal-footer { align-items: flex-start; flex-direction: column; }
  .proposal-footer .button { width: 100%; }
}

/* Public enquiry planner */
.planner-dialog { padding: 0; width: min(980px, calc(100% - 30px)); max-height: 90svh; overflow: hidden; }
.planner-shell { max-height: 90svh; overflow: auto; padding: 32px 36px; }
.planner-head { align-items: flex-start; display: flex; justify-content: space-between; gap: 20px; }
.planner-head h2 { font-size: 36px; margin: 0 0 18px; }
.planner-stepper { border-bottom: 1px solid var(--line); display: flex; margin: 0 0 26px; }
.planner-stepper span { color: #a0aba7; flex: 1; font-size: 10px; padding: 10px; }
.planner-stepper span.active { border-bottom: 2px solid var(--gold); color: var(--ink); }
.planner-stepper span.complete { color: #53655f; }
.planner-stepper b { display: block; font-size: 12px; }
.planner-panel > h3 { font: 400 30px/1.1 var(--serif); margin: 0 0 8px; }
.planner-panel > p { color: var(--muted); line-height: 1.65; margin: 0 0 22px; max-width: 670px; }
.planner-panel .form-grid { margin-bottom: 16px; }
.planner-need-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.planner-need-card { background: #fbf8f1; border: 1px solid var(--line); color: var(--ink); min-height: 128px; padding: 18px; text-align: left; transition: border-color 180ms ease, background 180ms ease; }
.planner-need-card:hover { border-color: var(--gold); }
.planner-need-card.is-selected { background: #f3efe4; border-color: var(--gold); box-shadow: inset 3px 0 var(--ink); }
.planner-need-card strong { display: block; font: 400 19px/1.15 var(--serif); margin-bottom: 8px; }
.planner-need-card span { color: var(--muted); font-size: 13px; line-height: 1.5; }
.planner-conditional { margin-top: 18px; max-width: 360px; }
.planner-conditional label, .planner-catalog label { display: flex; flex-direction: column; font-size: 12px; gap: 7px; }
.planner-property-type-custom, .planner-region-custom { display: flex; flex-direction: column; gap: 7px; margin-top: 16px; max-width: 360px; font-size: 12px; }
.planner-specific-toggle { background: transparent; border: 0; color: var(--ink); font: 600 13px var(--sans); margin: 22px 0 12px; padding: 0; text-decoration: underline; text-underline-offset: 4px; }
.planner-catalog { background: var(--mist); border: 1px solid var(--line); padding: 16px; }
.planner-service-results { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; margin-top: 12px; max-height: 250px; overflow: auto; }
.planner-service-option { align-items: center; background: #fff; border: 1px solid var(--line); cursor: pointer; display: flex !important; flex-direction: row !important; font-size: 12px !important; gap: 9px; padding: 10px; }
.planner-service-option:has(input:checked) { border-color: var(--gold); background: #f7f1e5; }
.planner-service-option input { min-height: auto; padding: 0; width: auto; }
.planner-selection-count { color: var(--muted); font-size: 12px; min-height: 18px; margin: 9px 0 0; }
.planner-summary { border-top: 1px solid var(--line); }
.planner-summary section { border-bottom: 1px solid var(--line); padding: 14px 0; }
.planner-summary small { color: var(--gold); font-size: 10px; letter-spacing: .13em; }
.planner-summary p { color: var(--muted); line-height: 1.6; margin: 6px 0 0; }
.planner-contact { border: 0; margin: 22px 0; padding: 0; }
.planner-contact legend { font: 400 21px var(--serif); margin-bottom: 10px; }
.planner-contact > div { display: flex; gap: 8px; }
.planner-contact label { border: 1px solid var(--line); cursor: pointer; flex: 1; font-size: 13px; padding: 11px; }
.planner-contact input { min-height: auto; padding: 0; width: auto; }
.planner-consent { align-items: flex-start; color: var(--muted); display: flex; font-size: 12px; gap: 9px; line-height: 1.5; }
.planner-consent input { min-height: auto; margin-top: 3px; padding: 0; width: auto; }
.planner-consent a { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.planner-consent a:hover { color: var(--gold); }
.planner-kvkk-error { color: #8b3f31; font-size: 12px; line-height: 1.5; margin: 7px 0 0 25px; }
.planner-frequency-error { color: #8b3f31; font-size: 12px; line-height: 1.5; margin: 7px 0 0; }
.planner-navigation { background: #fff; border-top: 1px solid var(--line); bottom: 0; display: flex; justify-content: space-between; margin-top: 24px; padding-top: 16px; position: sticky; }
.planner-navigation .button { min-width: 150px; }
.planner-error { background: #f8f4eb; border-left: 2px solid var(--gold); margin-top: 16px; padding: 15px 17px; }
.planner-error p { color: var(--muted); font-size: 13px; margin: 5px 0 12px; }
.planner-confirmation { min-height: 390px; padding: 64px; position: relative; }
.planner-confirmation .icon-button { position: absolute; right: 28px; top: 28px; }
.planner-confirmation h2 { font-size: 48px; max-width: 520px; }
.planner-confirmation > p:not(.kicker) { color: var(--muted); line-height: 1.7; max-width: 590px; }
@media (max-width: 700px) {
  .planner-dialog { width: calc(100% - 12px); max-height: 100svh; }
  .planner-shell { max-height: 100svh; padding: 24px 20px; }
  .planner-head h2 { font-size: 29px; }
  .planner-stepper span { min-width: 0; padding-inline: 6px; }
  .planner-need-grid, .planner-service-results { grid-template-columns: 1fr; }
  .planner-need-card { min-height: 0; }
  .planner-contact > div { display: grid; grid-template-columns: 1fr; }
  .planner-navigation .button { min-width: 0; }
  .planner-confirmation { min-height: calc(100svh - 12px); padding: 76px 24px 24px; }
  .planner-confirmation h2 { font-size: 40px; }
}
.approach {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9%;
  background: var(--mist);
  align-items: center;
}
.approach-copy .lead {
  color: var(--muted);
  max-width: 580px;
  margin-bottom: 40px;
}
.approach ol {
  list-style: none;
  padding: 0;
  margin: 0;
}
.approach li {
  display: flex;
  gap: 24px;
  border-top: 1px solid #d5ddd8;
  padding: 22px 0;
}
.approach li > span {
  color: var(--gold);
  font: 400 14px var(--serif);
}
.approach h3 {
  font: 500 17px var(--sans);
  letter-spacing: 0;
  margin: 0 0 6px;
}
.approach li p {
  font-size: 13px;
  color: var(--muted);
}
.portal-card {
  background: #fff;
  padding: 26px;
  box-shadow: 0 22px 60px #1d3a3512;
  border-top: 3px solid var(--gold);
}
.portal-card-top {
  display: flex;
  align-items: center;
  gap: 12px;
  border-bottom: 1px solid var(--line);
  padding-bottom: 18px;
  font-size: 9px;
  letter-spacing: 1.8px;
}
.status-dot {
  margin-left: auto;
  background: #e8f1e9;
  color: #47765a;
  border-radius: 20px;
  padding: 5px 8px;
  letter-spacing: 0.8px;
}
.portal-demo-note {
  margin-left: auto;
  color: var(--muted);
  font-size: 8px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.mini-label {
  font-size: 9px;
  letter-spacing: 1.4px;
  color: var(--muted);
  margin-top: 25px;
}
.portal-mini-nav {
  display: flex;
  gap: 18px;
  margin: 14px 0 0;
  overflow: hidden;
  border-bottom: 1px solid var(--line);
}
.portal-mini-nav span {
  padding: 9px 0;
  color: var(--muted);
  font-size: 8px;
  white-space: nowrap;
}
.portal-mini-nav .active {
  color: var(--ink);
  font-weight: 800;
  border-bottom: 2px solid var(--gold);
}
.portal-card > h3 {
  font-size: 30px;
  margin: 8px 0 16px;
}
.portal-priority-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 12px;
}
.portal-priority-card {
  min-width: 0;
  padding: 10px;
  background: #f4f5f1;
}
.portal-priority-card.good { background: #edf3ec; }
.portal-priority-card.pending { background: #f8f3e8; }
.portal-priority-card > span {
  display: block;
  margin-bottom: 5px;
  color: var(--gold);
}
.portal-priority-card.good > span { color: #4f7558; }
.portal-priority-card svg { width: 14px; height: 14px; }
.portal-priority-card small,
.portal-priority-card em {
  display: block;
  color: var(--muted);
  font-size: 7px;
  font-style: normal;
  line-height: 1.35;
}
.portal-priority-card small {
  min-height: 18px;
  font-weight: 700;
  letter-spacing: .75px;
}
.portal-priority-card strong {
  display: block;
  margin: 4px 0;
  color: var(--ink);
  font-size: 11px;
  line-height: 1.25;
}
.portal-property-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 12px;
  margin: 0 0 12px;
  padding: 11px 12px;
  border: 1px solid var(--line);
}
.portal-property-summary > div {
  display: flex;
  align-items: baseline;
  gap: 8px;
  width: 100%;
}
.portal-property-summary p,
.portal-property-summary b {
  margin: 0;
  font-size: 10px;
}
.portal-property-summary p {
  color: var(--ink);
  font-weight: 800;
  letter-spacing: 1px;
}
.portal-property-summary b { color: #4f7558; }
.portal-property-summary span {
  color: var(--muted);
  font-size: 8px;
}
.portal-next-action {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px;
  margin-bottom: 12px;
  background: #f6f1e7;
  border-left: 2px solid var(--gold);
}
.portal-next-action > span { color: #8b672d; }
.portal-next-action > span:last-child { margin-left: auto; }
.portal-next-action svg { width: 16px; }
.portal-next-action p { flex: 1; margin: 0; font-size: 10px; }
.portal-next-action small { display: block; margin-top: 2px; color: var(--muted); font-size: 8px; }
.portal-section-label {
  margin: 18px 0 2px;
  color: var(--muted);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .12em;
}
.metric-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.metric-row > div {
  background: #f4f5f1;
  padding: 12px;
  min-width: 0;
}
.metric-row small {
  display: block;
  font-size: 9px;
  color: var(--muted);
  height: 30px;
}
.metric-row strong {
  display: block;
  font: 400 26px var(--serif);
  margin-top: 5px;
}
.portal-decision-grid {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 10px;
  margin: 16px 0;
}
.portal-approval-card,
.portal-report-card {
  padding: 13px;
  border: 1px solid var(--line);
}
.portal-approval-card { background: #f8f3e8; }
.portal-report-card { background: #f4f5f1; }
.portal-card-label {
  margin: 0 0 7px;
  color: var(--muted);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 1px;
}
.portal-approval-card h4,
.portal-report-card h4 {
  margin: 0;
  color: var(--ink);
  font-size: 12px;
  line-height: 1.35;
}
.portal-approval-meta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin: 12px 0 9px;
}
.portal-approval-meta small {
  display: block;
  color: var(--muted);
  font-size: 7px;
  letter-spacing: .8px;
}
.portal-approval-meta b {
  display: block;
  margin-top: 2px;
  color: var(--ink);
  font-size: 9px;
}
.portal-approval-card > em {
  display: inline-block;
  padding: 4px 6px;
  background: #ead8b9;
  color: #805f23;
  font-size: 7px;
  font-style: normal;
  font-weight: 800;
  letter-spacing: .7px;
}
.portal-approval-card > div:last-child {
  display: flex;
  gap: 8px;
  margin-top: 11px;
}
.portal-text-button,
.portal-approve-button {
  border: 0;
  padding: 0;
  background: none;
  color: var(--ink);
  font: 700 9px var(--sans);
  cursor: pointer;
}
.portal-approve-button {
  padding: 6px 8px;
  background: var(--ink);
  color: #fff;
}
.portal-report-card > p:not(.portal-card-label) {
  margin: 9px 0 13px;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.45;
}
.portal-report-card .portal-text-button {
  color: #76571e;
}
.portal-report-card .portal-text-button svg {
  width: 11px;
  vertical-align: middle;
}
.activity {
  margin: 4px 0 16px;
}
.activity > div {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 0;
  border-bottom: 1px solid var(--line);
}
.activity > div > span {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #edf3ec;
  color: #4f7558;
}
.activity p {
  font-size: 12px;
  flex: 1;
}
.activity small {
  display: block;
  color: var(--muted);
  font-size: 10px;
}
.activity b {
  font-size: 9px;
  color: #55725d;
}
.operations {
  background: #0b292a;
  color: #f6f1e5;
  padding: 110px max(5vw, calc((100vw - 1280px) / 2));
}
.operations-inner {
  max-width: 1280px;
  margin: auto;
}
.operations-head {
  display: grid;
  grid-template-columns: 0.7fr 1.3fr 1fr;
  gap: 50px;
  align-items: end;
  padding-bottom: 42px;
  border-bottom: 1px solid #ffffff25;
}
.operations-head .kicker {
  color: var(--sand);
}
.operations-head h2 {
  font-size: clamp(38px, 4.5vw, 68px);
  line-height: 0.98;
  margin: 0;
}
.operations-head > p:last-child {
  color: #c1cbc6;
  line-height: 1.7;
  margin: 0;
}
.supplier-choice {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin: 42px 0 58px;
}
.supplier-choice article {
  display: grid;
  grid-template-columns: 62px 1fr;
  gap: 20px;
  padding: 28px;
  border: 1px solid #ffffff2b;
  background: #ffffff09;
}
.supplier-choice article > span {
  width: 58px;
  height: 58px;
  border: 1px solid #c4a66a80;
  color: var(--sand);
  display: grid;
  place-items: center;
  border-radius: 50%;
}
.supplier-choice article > span svg {
  width: 25px;
  height: 25px;
}
.supplier-choice small,
.process-steps small {
  color: var(--sand);
  letter-spacing: 0.12em;
}
.supplier-choice h3 {
  font-size: 24px;
  margin: 5px 0 8px;
}
.supplier-choice p {
  color: #c1cbc6;
  margin: 0;
  line-height: 1.55;
}
.process-title {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 20px;
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.process-title i {
  height: 1px;
  background: #ffffff2b;
  flex: 1;
}
.process-steps {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  list-style: none;
  padding: 0;
  margin: 0;
  counter-reset: operation;
}
.process-steps li {
  min-height: 280px;
  border-left: 1px solid #ffffff2b;
  padding: 8px 22px 22px;
}
.process-steps li:last-child {
  border-right: 1px solid #ffffff2b;
}
.process-steps li > span {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  color: var(--sand);
  margin-bottom: 35px;
}
.process-steps li > span svg {
  width: 27px;
  height: 27px;
}
.process-steps h3 {
  font: 400 19px/1.15 var(--serif);
  margin: 12px 0 10px;
}
.process-steps p {
  color: #aebcb6;
  font-size: 12px;
  line-height: 1.55;
  margin: 0;
}
.supplier-trust-detail {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 42px;
  margin-top: 52px;
  padding-top: 30px;
  border-top: 1px solid #ffffff2b;
}
.supplier-trust-detail > div,
.supplier-trust-detail aside {
  margin: 0;
}
.supplier-trust-detail > div > p:last-child,
.supplier-trust-detail aside > p:last-child {
  color: #c1cbc6;
  line-height: 1.65;
  margin: 12px 0 0;
}
.supplier-trust-detail aside {
  padding-left: 22px;
  border-left: 2px solid var(--gold);
}
.cost-transparency {
  margin-top: 78px;
  padding-top: 62px;
  border-top: 1px solid #ffffff2b;
}
.cost-transparency-head {
  display: grid;
  grid-template-columns: 0.45fr 1.55fr;
  gap: 42px;
  align-items: start;
}
.cost-transparency-head h3 {
  max-width: 860px;
  margin: 0;
  font: 400 clamp(30px, 3vw, 47px) / 1.06 var(--serif);
}
.cost-transparency-head h3 + p {
  max-width: 650px;
  margin: 16px 0 0;
  color: #c1cbc6;
  line-height: 1.65;
}
.cost-transparency-layout {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 48px;
  align-items: stretch;
  margin-top: 38px;
}
.cost-principles {
  display: grid;
  align-content: start;
}
.cost-principles article {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 16px;
  padding: 20px 0;
  border-top: 1px solid #ffffff2b;
}
.cost-principles article:last-child {
  border-bottom: 1px solid #ffffff2b;
}
.cost-principles article > span {
  color: var(--sand);
  padding-top: 2px;
}
.cost-principles article > span svg {
  width: 22px;
  height: 22px;
}
.cost-principles h4 {
  margin: 0 0 6px;
  font-size: 12px;
  letter-spacing: 0.1em;
}
.cost-principles p {
  margin: 0;
  color: #c1cbc6;
  font-size: 13px;
  line-height: 1.55;
}
.cost-example {
  margin: 0;
  padding: 28px 30px 24px;
  background: #f4efe3;
  color: var(--ink);
  border-top: 3px solid var(--gold);
}
.cost-example dl {
  margin: 22px 0 18px;
}
.cost-example dl > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 20px;
  padding: 13px 0;
  border-top: 1px solid #cad0c8;
}
.cost-example dt {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
}
.cost-example dt small {
  display: block;
  max-width: 330px;
  margin-top: 5px;
  color: #66736d;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.45;
}
.cost-example dd {
  align-self: start;
  margin: 0;
  font: 400 18px/1.2 var(--serif);
  text-align: right;
  white-space: nowrap;
}
.cost-example dl > div.total {
  margin-top: 4px;
  padding: 16px;
  border: 0;
  background: var(--ink);
  color: #fff;
}
.cost-example dl > div.total dt small {
  color: #d7dfdb;
}
.cost-example dl > div.total dd {
  color: var(--sand);
}
.cost-example > small {
  display: block;
  color: #66736d;
  font-size: 10px;
  line-height: 1.45;
}
.coordination-note {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  max-width: 850px;
  margin: 26px 0 0;
  color: #d6dfda;
  font-size: 13px;
  line-height: 1.6;
}
.coordination-note svg {
  width: 19px;
  min-width: 19px;
  margin-top: 1px;
  color: var(--sand);
}
.quote-flow {
  margin-top: 44px;
}
.quote-flow ol {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}
.quote-flow li {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  min-height: 92px;
  padding: 10px 16px;
  border-left: 1px solid #ffffff2b;
  text-align: center;
}
.quote-flow li:first-child {
  padding-left: 16px;
}
.quote-flow li:last-child {
  border-right: 1px solid #ffffff2b;
}
.quote-flow li:not(:last-child)::after {
  position: absolute;
  left: 50%;
  bottom: 8px;
  transform: translateX(-50%);
  content: "→";
  color: var(--sand);
  font-size: 14px;
  line-height: 1;
}
.quote-flow li small,
.quote-flow li span {
  display: block;
}
.quote-flow li small {
  color: var(--sand);
  font-size: 10px;
  letter-spacing: 0.12em;
}
.quote-flow li span {
  margin-top: 10px;
  color: #e8eee9;
  font-size: 12px;
  line-height: 1.4;
}
.evidence-layout {
  display: grid;
  grid-template-columns: 1.3fr 0.7fr;
  margin-top: 58px;
  min-height: 530px;
}
.evidence-visual {
  position: relative;
  overflow: hidden;
  background: #153536;
}
.evidence-visual > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.6;
}
.evidence-visual:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #09292aa8, transparent 70%);
}
.document-stack {
  position: absolute;
  z-index: 2;
  inset: 50px 45px;
}
.proof-card {
  position: absolute;
  width: min(420px, 75%);
  min-height: 78px;
  background: #f8f5ed;
  color: var(--ink);
  display: grid;
  grid-template-columns: 44px 1fr 24px;
  align-items: center;
  gap: 12px;
  padding: 16px 18px;
  box-shadow: 0 18px 50px #00181950;
  border-left: 3px solid var(--gold);
}
.proof-card > span {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #e8ece6;
}
.proof-card svg {
  width: 19px;
  height: 19px;
}
.proof-card p {
  font-size: 12px;
  font-weight: 600;
  margin: 0;
}
.proof-card small {
  display: block;
  font-weight: 400;
  color: var(--muted);
  margin-top: 5px;
}
.proof-card > b {
  color: #2e785b;
}
.proof-1 {
  top: 0;
  left: 0;
}
.proof-2 {
  top: 92px;
  left: 55px;
}
.proof-3 {
  top: 184px;
  left: 20px;
}
.proof-4 {
  top: 276px;
  left: 78px;
}
.recording-badge {
  position: absolute;
  z-index: 3;
  left: 32px;
  bottom: 28px;
  display: flex;
  align-items: center;
  gap: 9px;
  background: #0b292ae8;
  padding: 12px 16px;
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.recording-badge svg {
  width: 18px;
  height: 18px;
  color: var(--sand);
}
.fee-card {
  background: #f4efe3;
  color: var(--ink);
  padding: 48px;
  display: flex;
  flex-direction: column;
}
.fee-card > strong {
  font: 400 clamp(72px, 8vw, 122px) / 0.9 var(--serif);
  color: var(--gold);
  margin-top: 22px;
}
.fee-card h3 {
  font-size: 25px;
  margin: 12px 0 18px;
}
.fee-card > p:not(.kicker) {
  color: #55635e;
  line-height: 1.6;
}
.no-markup {
  display: flex;
  gap: 14px;
  padding: 18px 0;
  margin-top: 12px;
  border-top: 1px solid #c8cec6;
  border-bottom: 1px solid #c8cec6;
}
.no-markup > svg {
  width: 22px;
  color: #2e785b;
}
.no-markup small {
  display: block;
  margin-top: 5px;
  line-height: 1.45;
  color: #62706b;
}
.fee-summary {
  font-size: 12px;
}
.approval-first {
  margin-top: auto;
  padding: 15px;
  background: var(--ink);
  color: #fff;
}
.approval-first b,
.approval-first span {
  display: block;
}
.approval-first b {
  color: var(--sand);
  font-size: 9px;
  letter-spacing: 0.14em;
  margin-bottom: 5px;
}
.approval-first span {
  font-size: 11px;
  line-height: 1.45;
}
.report-section {
  padding: 110px 7%;
  display: grid;
  grid-template-columns: 0.75fr 1.25fr;
  gap: 7%;
  align-items: center;
}
.report-intro > p:not(.kicker) {
  color: var(--muted);
  max-width: 530px;
}
.report-intro ul {
  list-style: none;
  padding: 25px 0;
  margin: 25px 0;
}
.report-intro li {
  display: grid;
  grid-template-columns: 32px 1fr;
  column-gap: 14px;
  margin-bottom: 18px;
}
.report-intro li span {
  grid-row: 1/3;
  color: var(--gold);
}
.report-intro li b {
  font-size: 13px;
}
.report-intro li small {
  font-size: 12px;
  color: var(--muted);
}
.report-stack {
  height: 610px;
  position: relative;
  perspective: 1200px;
}
.report-page {
  position: absolute;
  background: #fff;
  border: 1px solid #e0e5e2;
  box-shadow: 0 20px 60px #18373325;
  width: 46%;
  height: 520px;
  padding: 24px;
  overflow: hidden;
}
.report-page:nth-child(1) {
  left: 0;
  top: 48px;
  z-index: 3;
}
.report-page:nth-child(2) {
  left: 28%;
  top: 0;
  z-index: 2;
  transform: rotate(1deg);
}
.report-page:nth-child(3) {
  right: 0;
  top: 70px;
  transform: rotate(3deg);
}
.report-cover {
  padding: 0;
  color: #fff;
}
.report-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.cover-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(#0b292a22, #0b292acc);
}
.report-cover > span,
.report-cover h3,
.report-cover p,
.report-cover small {
  position: absolute;
  left: 24px;
  z-index: 2;
}
.preview-verified {
  position: absolute;
  z-index: 2;
  left: 24px;
  right: 24px;
  bottom: 24px;
  padding: 12px;
  display: grid;
  gap: 3px;
  background: #0b292ad9;
  border: 1px solid #ffffff40;
}
.preview-verified b { color: #d7c18e; font-size: 10px; }
.preview-verified small { position: static; color: #dce5e2; font-size: 7px; }
.preview-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin-top: 14px; background: var(--line); }
.preview-facts span { padding: 10px; display: grid; gap: 3px; background: #f5f6f2; }
.preview-facts small { color: var(--muted); font-size: 6px; }
.preview-facts b { font-size: 10px; }
.preview-integrity { margin-top: 15px; padding: 10px; background: #edf3ee; color: #416650; font-size: 7px; font-weight: 800; letter-spacing: .08em; }
.report-cover > span {
  top: 28px;
  font-size: 8px;
  letter-spacing: 1.5px;
}
.report-cover h3 {
  top: 90px;
  font-size: 34px;
}
.report-cover p {
  bottom: 75px;
  font-size: 12px;
}
.report-cover small {
  bottom: 25px;
  font-size: 8px;
  letter-spacing: 1.5px;
}
.report-brand {
  font-size: 8px;
  letter-spacing: 1.5px;
  color: var(--gold);
  border-bottom: 1px solid var(--line);
  padding-bottom: 12px;
}
.report-page h3 {
  font: 600 13px var(--sans);
  letter-spacing: 0;
  margin: 22px 0 12px;
}
.report-video-proof {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 10px 12px 0;
  padding: 8px 10px;
  border: 1px solid var(--line);
  background: #f4f7f5;
}
.report-video-proof svg { width: 16px; color: var(--gold); }
.report-video-proof p { margin: 0; }
.report-video-proof b,
.report-video-proof small { display: block; font-size: 6px; letter-spacing: .08em; }
.report-video-proof small { color: var(--muted); margin-top: 2px; }
.preview-expense {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 7px 12px 0;
  padding: 8px 10px;
  background: #fff5df;
  border: 1px solid #e4ca8d;
}
.preview-expense svg { width: 15px; color: #9b7025; }
.preview-expense p { margin: 0; }
.preview-expense b,.preview-expense small { display: block; font-size: 6px; }
.preview-expense small { margin-top: 2px; color: var(--muted); }
.report-health {
  background: #e8f2ea;
  padding: 15px;
  display: flex;
  flex-direction: column;
}
.report-health b {
  font-size: 13px;
  color: #487554;
}
.report-health span {
  font-size: 9px;
}
.fake-row {
  height: 33px;
  border-bottom: 1px solid var(--line);
  position: relative;
}
.fake-row:before {
  content: "";
  position: absolute;
  top: 12px;
  width: 60%;
  height: 5px;
  background: #dae0dd;
}
.fake-row:after {
  content: "✓";
  position: absolute;
  right: 4px;
  top: 7px;
  color: #479660;
}
.fake-row.warning:after {
  content: "!";
  color: #d99b1f;
}
.fake-chart {
  height: 100px;
  display: flex;
  align-items: end;
  gap: 8px;
}
.fake-chart i {
  flex: 1;
  background: #cad7d0;
  height: 40%;
}
.fake-chart i:nth-child(2) {
  height: 70%;
}
.fake-chart i:nth-child(3) {
  height: 55%;
}
.fake-chart i:nth-child(4) {
  height: 90%;
}
.fake-chart i:nth-child(5) {
  height: 75%;
}
.photo-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 20px;
}
.photo-grid figure {
  margin: 0;
  border: 1px solid var(--line);
}
.photo-grid img {
  height: 96px;
  width: 100%;
  object-fit: cover;
}
.photo-grid figcaption {
  font-size: 8px;
  padding: 7px;
}
.life {
  display: grid;
  grid-template-columns: 1.08fr 0.92fr;
  background: var(--ivory);
  align-items: stretch;
}
.life-image {
  position: relative;
  min-height: 700px;
}
.life-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.life-image:after {
  content: "";
  position: absolute;
  inset: 65% 0 0;
  background: linear-gradient(transparent, #082b2b99);
}
.life-image > span {
  position: absolute;
  bottom: 30px;
  left: 35px;
  color: #fff;
  z-index: 2;
  font-size: 9px;
  letter-spacing: 2px;
}
.life-copy {
  padding: 110px 10%;
}
.life-copy > p:not(.kicker) {
  color: var(--muted);
}
.season-tabs {
  display: flex;
  border-bottom: 1px solid #ccd3ce;
  margin-top: 35px;
}
.season-tabs button {
  border: 0;
  background: none;
  padding: 13px 0;
  margin-right: 24px;
  border-bottom: 2px solid transparent;
  font-size: 12px;
}
.season-tabs button[aria-selected="true"] {
  border-color: var(--ink);
  font-weight: 600;
}
.season-content {
  min-height: 170px;
  padding: 25px 0;
}
.season-content p {
  font-size: 13px;
  margin-bottom: 13px;
  display: grid;
  grid-template-columns: 12px 1fr;
  column-gap: 12px;
}
.season-content p:before {
  content: "✓";
  color: var(--gold);
  grid-column: 1;
  grid-row: 1;
}
.season-content p > span {
  grid-column: 2;
}
.season-content p > small {
  grid-column: 2;
  margin-top: 4px;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.45;
}
.social-follow-section {
  padding: 110px 10%;
  background: #f6f7f4;
  display: grid;
  grid-template-columns: 0.78fr 1.22fr;
  gap: 10%;
  align-items: center;
}
.social-follow-mark {
  min-height: 300px;
  border: 0;
  background: transparent;
  display: grid;
  place-items: center;
  position: relative;
}
.social-follow-mark img {
  display: block;
  max-width: 100%;
  max-height: 300px;
  width: 100%;
  height: auto;
  object-fit: contain;
}
.social-follow-copy > p:not(.kicker) {
  color: var(--muted);
  max-width: 520px;
  margin-bottom: 28px;
}
.social-follow-actions {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
}
.social-follow-handle {
  font-size: 12px;
  letter-spacing: 0.06em;
  color: var(--muted);
}
.about-story {
  background: #fff;
}
.about-block {
  padding: 112px 10%;
  border-top: 1px solid var(--line);
}
.about-opening {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(270px, 0.75fr);
  gap: 12%;
  align-items: end;
}
.about-region-note { margin-top: 20px; }
.about-region-note + .line-button { margin-top: 28px; }
.about-editorial-copy > p:not(.kicker),
.about-work-copy p,
.about-supplier p,
.about-founder-copy > p,
.about-regions .about-section-head > p {
  color: var(--muted);
  max-width: 700px;
}
.about-editorial-copy .about-closing {
  color: var(--ink);
  font: 500 20px/1.45 var(--serif);
  margin: 30px 0 0;
  max-width: 560px;
}
.about-situations {
  list-style: none;
  padding: 0 0 0 25px;
  margin: 0;
  border-left: 1px solid var(--gold);
}
.about-situations li {
  color: var(--muted);
  font-size: 13px;
  padding: 11px 0;
  border-bottom: 1px solid var(--line);
}
.about-situations li:last-child { border-bottom: 0; }
.about-dark {
  background: var(--ink);
  color: #fff;
  border-color: #ffffff26;
}
.about-dark h2,
.about-dark h3 { color: #fff; }
.about-dark p { color: #c7d2cf; }
.about-origin {
  display: grid;
  grid-template-columns: 0.78fr 1.22fr;
  gap: 12%;
  align-items: center;
}
.about-origin-copy > p:not(.kicker) { max-width: 490px; }
.about-presence {
  border: 1px solid #ffffff2e;
  padding: 44px;
}
.about-presence h3 {
  font: 400 clamp(1.8rem, 2.8vw, 3rem)/1.12 var(--serif);
  margin-bottom: 20px;
}
.about-presence p { max-width: 700px; }
.about-role {
  margin: 35px 0 0;
  padding-top: 23px;
  border-top: 1px solid #ffffff2e;
  color: #fff !important;
  font: 400 clamp(1.55rem, 2.2vw, 2.3rem)/1.18 var(--serif);
}
.about-role span {
  display: block;
  color: var(--gold2);
  font: 600 10px var(--sans);
  letter-spacing: 0.13em;
  margin-bottom: 9px;
}
.about-section-head { max-width: 850px; }
.about-work-copy {
  max-width: 780px;
  margin: 0 0 48px auto;
}
.about-principles,
.about-operation-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.about-principles article,
.about-operation-cards article {
  padding: 33px 30px 34px;
  border-right: 1px solid var(--line);
}
.about-principles article:last-child,
.about-operation-cards article:last-child { border-right: 0; }
.about-principles span,
.about-operation-cards span {
  color: var(--gold);
  font-size: 10px;
  letter-spacing: 0.1em;
}
.about-principles h3,
.about-operation-cards h3 {
  margin: 18px 0 12px;
  font: 500 15px/1.25 var(--sans);
  letter-spacing: 0.015em;
}
.about-principles p,
.about-operation-cards p {
  color: var(--muted);
  font-size: 13px;
  margin: 0;
}
.about-supplier {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 12%;
  align-items: start;
  background: #f6f7f4;
}
.about-supplier-standard {
  color: var(--ink) !important;
  font: 500 clamp(1.4rem, 2.3vw, 2.15rem)/1.25 var(--serif);
  letter-spacing: 0.015em;
  margin: 34px 0 0;
}
.about-supplier-standard span { color: var(--gold); }
.about-supplier-standard small {
  display: block;
  color: var(--muted);
  font: 400 12px/1.5 var(--sans);
  letter-spacing: 0;
  margin-top: 10px;
}
.about-memory {
  display: grid;
  grid-template-columns: 1fr 0.88fr;
  gap: 12%;
  align-items: center;
}
.about-memory > div > p:not(.kicker) { max-width: 650px; }
.about-memory-callout {
  border-left: 1px solid var(--gold);
  padding: 20px 0 20px 30px;
}
.about-memory-callout h3 {
  font: 400 clamp(1.9rem, 3vw, 3.25rem)/1.05 var(--serif);
  margin-bottom: 18px;
}
.about-founder {
  display: grid;
  grid-template-columns: minmax(250px, 0.75fr) minmax(0, 1.25fr);
  gap: 12%;
  align-items: start;
}
.about-founder--text-only {
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}
.founder-portrait-placeholder {
  min-height: 480px;
  background: #e9ede7;
  border: 1px solid var(--line);
  display: grid;
  place-items: center;
  position: relative;
  overflow: hidden;
}
.founder-portrait-placeholder::before,
.founder-portrait-placeholder::after {
  content: "";
  position: absolute;
  border: 1px solid #b9976254;
  border-radius: 50%;
}
.founder-portrait-placeholder::before { width: 260px; height: 260px; transform: translate(-38%, -38%); }
.founder-portrait-placeholder::after { width: 190px; height: 190px; transform: translate(45%, 58%); }
.founder-portrait-placeholder .monogram {
  position: relative;
  z-index: 1;
  width: 92px;
  height: 92px;
  font-size: 44px;
  color: var(--ink);
  background: #f8f7f1;
  border: 1px solid var(--gold);
}
.about-founder-copy h2 { margin-bottom: 30px; }
.about-founder-copy h2 small {
  display: block;
  color: var(--muted);
  font: 500 13px/1.4 var(--sans);
  letter-spacing: 0.03em;
  margin-top: 13px;
}
.about-founder-copy blockquote {
  margin: 30px 0;
  padding: 0 0 0 23px;
  border-left: 1px solid var(--gold);
  color: var(--ink);
  font: 400 clamp(1.45rem, 2.2vw, 2rem)/1.35 var(--serif);
}
.about-operations { background: #f6f7f4; }
.about-operation-cards { margin-top: 46px; }
.about-regions { background: #fff; }
.about-regions-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 14px;
  margin-top: 40px;
}
.about-regions-grid article {
  border: 1px solid var(--line);
  padding: 25px;
}
.about-regions-grid b {
  display: block;
  font-size: 13px;
  letter-spacing: 0.04em;
}
.about-regions-grid small {
  display: block;
  color: var(--muted);
  font-size: 11px;
  margin-top: 6px;
}
.about-final {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 40px;
}
.about-final h2 { max-width: 780px; margin-bottom: 18px; }
.about-final > div > p:not(.kicker) { max-width: 650px; margin-bottom: 0; }
.about-final .button { flex: none; }
.about-menu-panel {
  position: fixed;
  inset: 0;
  z-index: 50;
}
.about-menu-backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  border: 0;
  background: #061f2070;
  backdrop-filter: blur(5px);
}
.about-menu-surface {
  position: absolute;
  top: 92px;
  left: 0;
  right: 0;
  max-height: calc(100svh - 92px);
  overflow-y: auto;
  overscroll-behavior: contain;
  background: #fff;
  box-shadow: 0 28px 80px #0315163b;
}
.about-menu-toolbar {
  position: sticky;
  top: 0;
  z-index: 2;
  min-height: 64px;
  padding: 12px 4.5%;
  border-bottom: 1px solid var(--line);
  background: #fbfcfa;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.about-menu-toolbar p {
  margin: 0;
  color: var(--ink);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.14em;
}
.about-menu-toolbar .icon-button { background: transparent; }
body.about-menu-open { overflow: hidden; }
.about-menu-panel .about-block { padding: 78px 8%; }
.about-menu-panel .about-opening { border-top: 0; }
.footer-brand {
  max-width: 350px;
}
footer {
  background: #061f20;
  color: #fff;
  padding: 60px 6% 24px;
  display: grid;
  grid-template-columns: minmax(250px, 2fr) repeat(3, minmax(130px, 1fr));
  gap: 40px;
}
footer .inverse-brand {
  color: #fff;
}
footer .footer-brand p {
  color: #91a5a0;
  font-size: 12px;
  margin-top: 17px;
}
footer .footer-social {
  align-items: center;
  display: inline-flex;
  gap: 8px;
  margin-top: 18px;
}
footer .footer-social img {
  filter: brightness(0) invert(1);
  height: 14px;
  opacity: .82;
  width: 14px;
}
footer h4 {
  font-size: 9px;
  letter-spacing: 1.8px;
  color: var(--gold2);
  margin: 0 0 16px;
}
footer .footer-column {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
footer a,
footer button {
  border: 0;
  background: none;
  color: #cbd6d2;
  padding: 5px 0;
  font-size: 12px;
  font-family: inherit;
  text-align: left;
}
footer a:hover,
footer button:hover {
  color: var(--gold2);
}
footer a:focus-visible,
footer button:focus-visible {
  outline: 1px solid var(--gold2);
  outline-offset: 4px;
}
.footer-bottom {
  grid-column: 1/-1;
  border-top: 1px solid #ffffff1f;
  padding-top: 18px;
  display: flex;
  justify-content: space-between;
  color: #819a94;
  font-size: 9px;
  letter-spacing: 0.7px;
}
.footer-bottom button,
.footer-bottom a {
  font-size: 9px;
  padding: 0;
}
.mobile-nav {
  position: absolute;
  top: 92px;
  left: 0;
  right: 0;
  background: #fff;
  padding: 18px 5%;
  box-shadow: 0 20px 40px #051b1c20;
}
.mobile-nav a,
.mobile-nav button {
  display: block;
  width: 100%;
  text-align: left;
  padding: 12px;
  border: 0;
  background: none;
  color: var(--ink);
  font: inherit;
  cursor: pointer;
}
.mobile-nav a:hover,
.mobile-nav button:not(.mobile-plan):hover,
.mobile-nav a.is-active {
  color: var(--gold);
}
.mobile-nav .mobile-language-toggle {
  align-items: center;
  border-top: 1px solid var(--line);
  display: flex;
  gap: 8px;
  margin-top: 8px;
  min-height: 52px;
  padding-top: 14px;
}
.mobile-nav .mobile-language-toggle button {
  display: inline-flex;
  min-height: 0;
  padding: 4px 1px;
  width: auto;
}
dialog {
  border: 0;
  padding: 34px;
  width: min(800px, calc(100% - 30px));
  max-height: 90svh;
  box-shadow: 0 30px 120px #00171850;
  color: var(--ink);
  background: #fff;
}
dialog::backdrop {
  background: #051f20c7;
  backdrop-filter: blur(4px);
}
.large-dialog {
  width: min(1120px, calc(100% - 30px));
}
.dialog-head,
.dashboard-head,
.report-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
}
.dialog-head h2,
.dashboard-head h2,
.report-toolbar h2 {
  font-size: 36px;
  margin: 0 0 20px;
}
.icon-button {
  border: 1px solid var(--line);
  background: #fff;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  flex: none;
}
.icon-button svg {
  width: 18px;
}
.language-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}
.language-prompt {
  margin: 8px 0 18px;
  color: var(--muted);
  font-size: 11px;
}
.language-dialog.initial-choice [data-close] {
  display: none;
}
.language-dialog.initial-choice::backdrop {
  background: rgba(5, 25, 26, 0.88);
  backdrop-filter: blur(12px);
}
.language-option {
  border: 1px solid var(--line);
  background: #fff;
  padding: 15px;
  text-align: left;
  display: flex;
  justify-content: space-between;
}
.language-option[aria-current="true"] {
  border-color: var(--gold);
  background: #faf6ed;
}
.language-option small {
  color: var(--muted);
}
.catalog-tools {
  display: grid;
  grid-template-columns: 1fr 280px;
  gap: 12px;
}
.search-field {
  border: 1px solid #bac7c1;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 14px;
}
.search-field input {
  border: 0;
  outline: 0;
  width: 100%;
  height: 52px;
}
.catalog-tools select,
input,
textarea,
.form-grid select {
  border: 1px solid #bac7c1;
  background: #fff;
  min-height: 52px;
  padding: 12px;
  width: 100%;
}
.catalog-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px 0;
  font-size: 12px;
  color: var(--muted);
}
.catalog-meta > div {
  display: flex;
  gap: 18px;
}
.catalog-group {
  padding: 16px 0 22px;
}
.catalog-group h3 {
  font-size: 25px;
  margin: 0 0 14px;
}
.catalog-subcategory {
  font-size: 9px;
  letter-spacing: 1.5px;
  color: var(--muted);
  text-transform: uppercase;
  margin: 17px 0 8px;
}
.service-options {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
}
.service-option {
  border: 1px solid var(--line);
  display: grid;
  grid-template-columns: minmax(0, 1fr) 48px;
  min-height: 66px;
  position: relative;
  transition:
    border-color 180ms ease,
    background 180ms ease,
    transform 180ms ease;
}
.service-choice {
  padding: 11px 10px 11px 11px;
  display: flex;
  align-items: center;
  gap: 13px;
  font-size: 13px;
  cursor: pointer;
}
.service-option:hover {
  border-color: #9d8a63;
  transform: translateY(-1px);
}
.service-option:has(input:checked) {
  background: #f3efe4;
  border-color: var(--gold);
}
.service-input {
  position: absolute;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.service-icon {
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  border-radius: 50%;
  background: #edf0eb;
  color: var(--ink);
  display: grid;
  place-items: center;
}
.service-icon svg {
  width: 20px;
  height: 20px;
}
.service-label {
  flex: 1;
  line-height: 1.35;
}
.service-info-button {
  border: 0;
  border-left: 1px solid var(--line);
  background: transparent;
  color: var(--muted);
  display: grid;
  place-items: center;
  width: 48px;
  min-height: 100%;
  padding: 0;
  font: 600 15px/1 var(--serif);
  transition: 180ms ease;
}
.service-info-button:hover,
.service-info-button:focus-visible {
  background: #f3efe4;
  color: var(--ink);
}
.service-info-button:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: -3px;
}
.service-check {
  width: 22px;
  height: 22px;
  border: 1px solid #9ba9a5;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: transparent;
  flex: 0 0 22px;
}
.service-check svg {
  width: 13px;
  height: 13px;
}
.service-option:has(input:checked) .service-icon,
.service-option:has(input:checked) .service-check {
  background: var(--ink);
  border-color: var(--ink);
  color: #fff;
}
.service-option:focus-within {
  outline: 2px solid var(--gold);
  outline-offset: 2px;
}
.service-info-dialog {
  width: min(650px, calc(100% - 30px));
}
.service-info-dialog .dialog-head h2 {
  max-width: 500px;
  margin-bottom: 0;
}
.service-info-content {
  display: grid;
  gap: 12px;
  margin-top: 26px;
}
.service-info-content section {
  background: var(--mist);
  border-left: 2px solid var(--gold);
  padding: 17px 19px;
}
.service-info-content h3 {
  font: 600 13px/1.3 var(--sans);
  letter-spacing: 0.02em;
  margin: 0 0 8px;
}
.service-info-content p {
  color: #4d5e58;
  font-size: 14px;
  line-height: 1.65;
  margin: 0;
}
.dialog-bar {
  position: sticky;
  bottom: -34px;
  margin-top: 18px;
  background: #fff;
  padding: 18px 0 0;
  border-top: 1px solid var(--line);
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-shadow: 0 -10px 20px #fff;
}
.stepper {
  display: flex;
  margin-bottom: 25px;
  border-bottom: 1px solid var(--line);
}
.stepper span {
  flex: 1;
  padding: 10px;
  color: #a0aba7;
  font-size: 10px;
}
.stepper span.active {
  color: var(--ink);
  border-bottom: 2px solid var(--gold);
}
.stepper b {
  display: block;
  font-size: 12px;
}
.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.form-grid label,
.notes,
.login-form label,
.small-dialog label {
  display: flex;
  flex-direction: column;
  gap: 7px;
  font-size: 12px;
}
.selected-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 24px;
}
.selected-head h3 {
  font: 600 14px var(--sans);
  margin: 0;
}
.plan-selected {
  display: flex;
}
.selected-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #eef1ed;
  border: 1px solid var(--line);
  margin: 4px;
  padding: 6px 8px;
  font-size: 10px;
}
.selected-chip i,
.selected-chip i svg {
  width: 14px;
  height: 14px;
}
.selected-chip i {
  color: var(--ink);
}
.selected-chip button {
  border: 0;
  background: none;
}
.empty-selection {
  background: #f5f6f3;
  padding: 17px;
  font-size: 12px;
}
.notes {
  margin-top: 18px;
}
.notes textarea {
  resize: vertical;
}
.form-note,
.form-status {
  font-size: 10px;
  color: var(--muted);
  margin: 15px 0;
}
.form-status {
  color: #7a5c25;
}
.login-dialog {
  padding: 0;
  width: min(900px, calc(100% - 30px));
  overflow: hidden;
}
.login-layout {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  min-height: 610px;
}
.login-art {
  position: relative;
  color: #fff;
  isolation: isolate;
}
.login-art > img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -2;
}
.login-art:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(transparent, #072829df);
  z-index: -1;
}
.login-art > div {
  position: absolute;
  left: 35px;
  bottom: 38px;
}
.login-art p {
  font-size: 9px;
  letter-spacing: 1.5px;
  margin: 18px 0 10px;
}
.login-art h2 {
  font-size: 40px;
  margin: 0;
}
.login-form {
  padding: 55px 48px;
  position: relative;
}
.login-close {
  position: absolute;
  right: 25px;
  top: 22px;
}
.login-form > h2 {
  font-size: 42px;
  margin-bottom: 14px;
}
.demo-note {
  font-size: 12px;
  color: var(--muted);
  background: #f5f3ec;
  padding: 12px;
  margin-bottom: 22px;
}
.login-form label {
  margin-bottom: 16px;
}
.password-wrap {
  display: flex;
  border: 1px solid #bac7c1;
}
.password-wrap input {
  border: 0;
}
.password-wrap button {
  border: 0;
  background: #fff;
  padding: 0 12px;
}
.login-tools {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}
.login-tools label {
  display: flex;
  flex-direction: row;
  margin: 0;
}
.login-tools input {
  width: auto;
  min-height: 0;
}
.or {
  text-align: center;
  border-bottom: 1px solid var(--line);
  height: 18px;
  margin: 18px 0 26px;
}
.or span {
  background: #fff;
  padding: 0 10px;
  font-size: 9px;
  color: var(--muted);
}
.small-dialog {
  width: min(570px, calc(100% - 30px));
}
.small-dialog > p {
  font-size: 13px;
  color: var(--muted);
  margin-bottom: 20px;
}
.dashboard-dialog {
  width: min(1220px, calc(100% - 20px));
  height: min(800px, 94svh);
  max-height: 94svh;
  padding: 0;
  overflow: hidden;
}
.dashboard-shell {
  display: grid;
  grid-template-columns: 240px 1fr;
  height: 100%;
}
.dashboard-shell aside {
  background: var(--ink);
  color: #fff;
  padding: 26px 20px;
  display: flex;
  flex-direction: column;
}
.mini-brand b {
  font-size: 10px;
}
.mini-brand small {
  font-size: 6px;
}
.dashboard-shell aside > p {
  font-size: 8px;
  letter-spacing: 1.2px;
  color: #93a8a2;
  margin: 35px 0 15px;
}
.dashboard-shell aside nav button,
.dash-signout {
  border: 0;
  background: none;
  color: #b8c8c3;
  width: 100%;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 13px;
  text-align: left;
  font-size: 11px;
}
.dashboard-shell aside nav button.active {
  background: #ffffff10;
  color: #fff;
  border-left: 2px solid var(--gold);
}
.dash-signout {
  margin-top: auto;
}
.dashboard-shell > section {
  padding: 35px;
  overflow: auto;
  background: #f7f8f5;
}
.dashboard-head {
  margin-bottom: 25px;
}
.dashboard-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.expense-breakdown-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}
.expense-breakdown-grid .dash-card:last-child {
  border-top: 2px solid var(--gold);
}
.expense-breakdown-grid .dash-card strong {
  font-size: 24px;
}
#dashboard-overview {
  margin-bottom: 22px;
}
.dashboard-priority-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.dash-priority {
  border-top: 2px solid var(--gold);
}
.dash-priority.good { border-top-color: #4f7558; }
.dash-priority.pending { border-top-color: #b28638; }
.dash-card.dash-priority strong {
  margin-top: 6px;
  font-size: 23px;
  line-height: 1.2;
}
.dash-priority span {
  display: block;
  margin-top: 8px;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.45;
}
.dashboard-lower-summary {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 12px;
  margin-top: 12px;
}
.dashboard-property-glance,
.dashboard-approval-sample {
  background: #fff;
  border: 1px solid var(--line);
  padding: 16px 18px;
}
.dashboard-property-glance > p,
.dashboard-approval-sample > p {
  margin: 0 0 6px;
  color: var(--gold);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 1.1px;
}
.dashboard-property-glance > b,
.dashboard-approval-sample > b {
  display: block;
  color: var(--ink);
  font-size: 14px;
}
.dashboard-property-glance > div {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
  margin-top: 10px;
}
.dashboard-property-glance span {
  color: var(--muted);
  font-size: 10px;
}
.dashboard-approval-sample small {
  display: block;
  margin-top: 7px;
  color: var(--muted);
  font-size: 10px;
}
.dashboard-approval-sample span {
  display: inline-block;
  margin-top: 10px;
  padding: 4px 7px;
  background: #f7edda;
  color: #8c6927;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .8px;
}
.dash-card {
  background: #fff;
  border: 1px solid var(--line);
  padding: 18px;
}
.dash-card small {
  font-size: 9px;
  color: var(--muted);
}
.dash-card strong {
  display: block;
  font: 400 30px var(--serif);
}
.dash-list {
  background: #fff;
  border: 1px solid var(--line);
  margin-top: 15px;
}
.dash-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 17px;
  border-bottom: 1px solid var(--line);
  font-size: 12px;
}
.dash-row p {
  flex: 1;
}
.dash-row small {
  display: block;
  color: var(--muted);
}
.pill {
  font-size: 9px;
  padding: 4px 8px;
  background: #edf3eb;
  border-radius: 20px;
}
.pill.warn {
  background: #f7edda;
  color: #8c6927;
}
.request-form {
  background: #fff;
  padding: 20px;
}
.request-form textarea {
  margin: 10px 0;
}
.report-dialog {
  width: min(1180px, calc(100% - 20px));
  padding: 25px;
  background: #eef0ed;
}
.report-toolbar {
  position: sticky;
  top: -25px;
  background: #eef0ed;
  padding: 8px 0 15px;
  z-index: 5;
}
.report-toolbar .text-action {
  margin-left: auto;
}
.report-document {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
}
.document-page {
  background: #fff;
  min-height: 650px;
  padding: 36px;
  box-shadow: 0 8px 25px #173a3520;
  position: relative;
}
.document-page.cover {
  padding: 0;
  color: #fff;
}
.document-page.cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.document-page.cover:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(transparent 20%, #092f30e8);
}
.document-cover-copy {
  position: absolute;
  z-index: 2;
  left: 36px;
  right: 36px;
  bottom: 38px;
}
.cover-page {
  position: absolute;
  z-index: 3;
  right: 32px;
  bottom: 26px;
  color: rgba(255, 255, 255, 0.78);
  font-size: 10px;
  font-style: normal;
  letter-spacing: 0.12em;
}
.document-cover-copy h3 {
  font-size: 50px;
  margin: 10px 0;
}
.document-verified {
  margin-top: 22px;
  padding: 13px;
  display: flex;
  align-items: center;
  gap: 11px;
  background: #082b2bd9;
  border: 1px solid #ffffff4a;
}
.document-verified svg { width: 22px; color: var(--gold2); }
.document-verified span { display: grid; gap: 3px; }
.document-verified b { font-size: 12px; }
.document-verified small { color: #d3ddda; font-size: 8px; }
.doc-head {
  display: flex;
  justify-content: space-between;
  border-bottom: 2px solid var(--ink);
  padding-bottom: 15px;
  font-size: 9px;
  letter-spacing: 1.2px;
}
.doc-title {
  font: 400 22px var(--serif);
  margin: 25px 0 15px;
}
.doc-fact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  margin-top: 20px;
  background: var(--line);
  border: 1px solid var(--line);
}
.doc-fact-grid span { min-height: 58px; padding: 11px; display: grid; align-content: center; gap: 4px; background: #f7f8f5; }
.doc-fact-grid small { color: var(--muted); font-size: 7px; font-weight: 800; text-transform: uppercase; }
.doc-fact-grid b { font-size: 10px; }
.doc-executive { display: grid; grid-template-columns: auto 1fr; gap: 10px; align-items: center; padding: 14px; background: #eef5ef; border: 1px solid #bed7c5; }
.doc-executive>span { width: 34px; height: 34px; display: grid; place-items: center; background: var(--ink); color: var(--gold2); }
.doc-executive svg { width: 18px; }
.doc-executive p { margin: 0; display: grid; gap: 3px; }
.doc-executive p b { font-size: 10px; }.doc-executive p small { color: var(--muted); font-size: 8px; }
.doc-executive dl { grid-column: 1/-1; display: grid; grid-template-columns: repeat(3,1fr); margin: 2px 0 0; border-top: 1px solid #bed7c5; }
.doc-executive dl>div { padding: 9px 4px 0; text-align: center; }
.doc-executive dt { color: var(--muted); font-size: 6px; text-transform: uppercase; }.doc-executive dd { margin: 3px 0 0; font: 600 15px var(--serif); }
.info-table,
.expense-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 10px;
}
.info-table td,
.expense-table td,
.expense-table th {
  border: 1px solid var(--line);
  padding: 8px;
  text-align: left;
}
.doc-check-table td:first-child { display: flex; align-items: center; gap: 8px; }
.doc-check-number { width: 22px; height: 22px; display: inline-grid; place-items: center; flex: 0 0 22px; background: #edf2ed; color: #44644d; font-size: 7px; font-weight: 800; }
.doc-check-table td:nth-child(2) { color: #4a7657; font-weight: 700; }
.doc-scope-note { margin-top: 18px; padding: 14px; display: flex; align-items: center; gap: 12px; background: #eef5ef; border: 1px solid #bed7c5; }
.doc-scope-note svg { width: 20px; color: #4a7657; }.doc-scope-note p { margin: 0; display: grid; gap: 3px; }.doc-scope-note b { font-size: 10px; }.doc-scope-note small { font-size: 8px; color: var(--muted); }
.status-summary {
  display: flex;
  align-items: center;
  gap: 15px;
  background: #e8f3e9;
  padding: 15px;
  margin: 20px 0;
}
.status-summary b {
  font-size: 13px;
  color: #4a7657;
}
.report-assurance-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 7px;
  margin: 14px 0;
}
.report-assurance-grid > div {
  min-height: 80px;
  padding: 10px;
  border: 1px solid var(--line);
  display: grid;
  grid-template-columns: 18px 1fr;
  column-gap: 7px;
  align-content: center;
}
.report-assurance-grid svg { width: 16px; color: var(--gold); grid-row: 1 / span 2; }
.report-assurance-grid b { font-size: 8px; line-height: 1.35; }
.report-assurance-grid small { font-size: 7px; color: var(--muted); }
.inspection-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}
.inspection-item {
  border: 1px solid var(--line);
}
.inspection-item img {
  width: 100%;
  height: 115px;
  object-fit: cover;
}
.inspection-item div {
  padding: 8px;
  font-size: 9px;
}
.video-documentation-proof,
.revision-proof {
  display: grid;
  grid-template-columns: 28px 1fr auto;
  align-items: center;
  gap: 10px;
  border: 1px solid var(--line);
  background: #f4f7f5;
  padding: 12px;
  margin-top: 14px;
}
.video-documentation-proof svg,
.revision-proof svg { width: 22px; color: var(--gold); }
.video-documentation-proof b,
.revision-proof b { display: block; font-size: 9px; }
.video-documentation-proof small,
.revision-proof small { display: block; font-size: 7px; line-height: 1.45; color: var(--muted); }
.video-documentation-proof strong { font-size: 7px; color: #4a7657; }
.revision-proof { grid-template-columns: 28px 1fr; }
.doc-footer {
  position: absolute;
  left: 36px;
  right: 36px;
  bottom: 20px;
  display: flex;
  justify-content: space-between;
  border-top: 1px solid var(--line);
  padding-top: 8px;
  font-size: 8px;
}
.recommendation {
  padding: 11px;
  margin: 10px 0;
  background: #fff5da;
  border-left: 3px solid #d89c1d;
  font-size: 10px;
}
.plan-list {
  font-size: 10px;
  padding-left: 18px;
}
.plan-list li {
  padding: 6px;
}
.no-results {
  text-align: center;
  padding: 55px;
}
.no-results h3 {
  font-size: 28px;
}
@media (min-width: 1025px) and (max-width: 1199px) {
  .site-header {
    gap: 16px;
    padding-inline: 3%;
  }
  .desktop-nav {
    gap: 14px;
  }
  .desktop-nav a,
  .desktop-nav .nav-link {
    font-size: 11px;
  }
  .header-actions {
    gap: 4px;
  }
  .language-toggle {
    padding-left: 9px;
  }
  .button.gold {
    gap: 12px;
    padding-inline: 12px;
    font-size: 12px;
  }
}
@media (max-width: 1024px) {
  .desktop-nav {
    display: none;
  }
  .menu-button {
    display: flex;
  }
  .section,
  .collections {
    padding: 85px 5%;
  }
  .operations {
    padding: 85px 5%;
  }
  .report-section {
    padding: 85px 5%;
    gap: 4%;
  }
  .report-stack {
    transform: scale(0.9);
  }
  .approach {
    gap: 5%;
  }
  .service-grid { grid-template-columns: 1fr 1fr; }
  .service-card { border-bottom: 1px solid var(--line); }
  .service-card:nth-child(2n) { border-right: 0; }
  .service-card:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    border-right: 0;
    border-bottom: 0;
  }
}
@media (max-width: 850px) {
  .site-header {
    padding: 0 4%;
    height: 82px;
    position: sticky;
    top: 0;
  }
  .mobile-nav {
    position: fixed;
    top: 82px;
    bottom: 0;
    overflow-y: auto;
    padding: 20px 4% 32px;
    border-top: 1px solid var(--line);
  }
  .mobile-nav a,
  .mobile-nav button {
    min-height: 52px;
    display: flex;
    align-items: center;
  }
  .mobile-nav .mobile-plan {
    justify-content: space-between;
    margin: 10px 0 8px;
    padding: 14px 16px;
    background: var(--ink);
    color: #fff;
    font-weight: 600;
  }
  .header-actions > .button {
    display: none;
  }
  .hero {
    height: 700px;
    max-height: calc(100svh - 82px);
  }
  .hero-copy {
    padding: 90px 7%;
  }
  .hero h1 {
    font-size: 58px;
  }
  .signature-strip {
    grid-template-columns: 1fr 1fr;
  }
  .signature-strip > div:nth-child(2) {
    border-right: 0;
  }
  .signature-strip > div:nth-child(-n + 2) {
    border-bottom: 1px solid var(--line);
  }
  .section-head {
    grid-template-columns: 1fr;
  }
  .membership-scope { grid-template-columns: 1fr; }
  .service-grid {
    grid-template-columns: 1fr 1fr;
  }
  .service-card:nth-child(3n) {
    border-right: 1px solid var(--line);
  }
  .service-card:nth-child(2n) {
    border-right: 0;
  }
  .service-card:nth-child(n + 4) {
    border-bottom: 1px solid var(--line);
  }
  .service-card:nth-child(n + 5) {
    border-bottom: 0;
  }
  .collection-grid {
    grid-template-columns: 1fr;
  }
  .collection-grid article {
    border-right: 0;
    border-bottom: 1px solid #ffffff28;
    min-height: 0;
  }
  .package-comparison-grid {
    grid-template-columns: 1fr;
  }
  .package-comparison-grid article + article {
    border-top: 1px solid #ffffff28;
    border-left: 0;
  }
  .approach,
  .report-section,
  .life,
  .social-follow-section {
    grid-template-columns: 1fr;
  }
  .operations-head {
    grid-template-columns: 1fr;
    gap: 22px;
  }
  .supplier-choice {
    grid-template-columns: repeat(3, 1fr);
  }
  .cost-transparency-head,
  .cost-transparency-layout {
    grid-template-columns: 1fr;
  }
  .cost-transparency-head {
    gap: 18px;
  }
  .quote-flow ol {
    grid-template-columns: repeat(4, 1fr);
  }
  .process-steps {
    grid-template-columns: repeat(3, 1fr);
  }
  .process-steps li:nth-child(4) {
    border-top: 1px solid #ffffff2b;
  }
  .process-steps li:nth-child(n + 4) {
    padding-top: 28px;
  }
  .evidence-layout {
    grid-template-columns: 1fr;
  }
  .evidence-visual {
    min-height: 530px;
  }
  .report-stack {
    max-width: 660px;
    width: 100%;
    margin: auto;
  }
  .life-image {
    min-height: 500px;
  }
  .login-layout {
    grid-template-columns: 1fr;
  }
  .login-art {
    display: none;
  }
  .dashboard-shell {
    grid-template-columns: 180px 1fr;
  }
  .report-document {
    grid-template-columns: 1fr;
  }
  .document-page {
    min-height: 700px;
  }
  footer {
    grid-template-columns: 1fr 1fr;
  }
  .footer-brand {
    grid-column: 1 / -1;
  }
}
@media (max-width: 600px) {
  body {
    overflow-x: hidden;
  }
  h2 {
    font-size: 38px;
  }
  .site-header {
    padding: 0 18px;
  }
  .header-actions {
    gap: 2px;
  }
  .language-toggle {
    border-left: 0;
    padding: 8px 5px;
  }
  .menu-button svg {
    width: 20px;
    height: 20px;
  }
  .menu-button {
    padding: 8px 2px 8px 6px;
  }
  .mobile-nav {
    padding: 16px 18px 28px;
  }
  .brand b {
    font-size: 12px;
    letter-spacing: 2px;
  }
  .brand small {
    font-size: 6px;
  }
  .monogram {
    width: 41px;
    height: 41px;
  }
  .hero {
    min-height: 600px;
    height: calc(100svh - 82px);
  }
  .hero > img {
    object-position: 60% 50%;
  }
  .hero-overlay {
    background: linear-gradient(90deg, #061f20de, #061f2070);
  }
  .hero-rule {
    left: 20px;
  }
  .hero-copy {
    padding: 76px 35px;
  }
  .hero h1 {
    font-size: 42px;
  }
  .hero-text {
    font-size: 14px;
  }
  .hero-actions {
    align-items: flex-start;
    flex-direction: column;
    gap: 14px;
  }
  .hero-footer {
    left: 20px;
    right: 20px;
    font-size: 7px;
  }
  .signature-strip {
    margin: 0 20px;
  }
  .signature-strip > div {
    padding: 13px 5px;
    gap: 8px;
  }
  .signature-strip p {
    font-size: 8px;
  }
  .signature-strip small {
    font-size: 6px;
  }
  .section,
  .collections,
  .report-section,
  .social-follow-section {
    padding: 65px 20px;
  }
  .operations {
    padding: 65px 20px;
  }
  .supplier-choice,
  .process-steps,
  .supplier-trust-detail,
  .cost-transparency-layout {
    grid-template-columns: 1fr;
  }
  .supplier-choice article {
    padding: 22px;
  }
  .supplier-trust-detail {
    gap: 24px;
    margin-top: 36px;
  }
  .cost-transparency {
    margin-top: 56px;
    padding-top: 46px;
  }
  .cost-transparency-head {
    gap: 14px;
  }
  .cost-transparency-layout {
    gap: 28px;
    margin-top: 28px;
  }
  .cost-example {
    padding: 24px 20px 20px;
  }
  .cost-example dl > div {
    gap: 12px;
  }
  .cost-example dd {
    font-size: 16px;
  }
  .quote-flow {
    margin-top: 34px;
  }
  .quote-flow ol {
    grid-template-columns: 1fr;
  }
  .quote-flow li,
  .quote-flow li:first-child {
    display: grid;
    grid-template-columns: 46px 1fr;
    align-items: center;
    min-height: 0;
    padding: 13px 8px;
    border: 0;
    border-top: 1px solid #ffffff2b;
    text-align: left;
  }
  .quote-flow li:last-child {
    border-right: 0;
    border-bottom: 1px solid #ffffff2b;
  }
  .quote-flow li:not(:last-child)::after {
    display: none;
  }
  .quote-flow li span {
    margin: 0;
  }
  .process-steps li,
  .process-steps li:nth-child(n + 4) {
    min-height: 0;
    border: 0;
    border-top: 1px solid #ffffff2b;
    padding: 24px 8px;
    display: grid;
    grid-template-columns: 48px 1fr;
    column-gap: 14px;
  }
  .process-steps li > span {
    grid-row: 1 / span 3;
    margin: 0;
  }
  .process-steps h3,
  .process-steps p {
    grid-column: 2;
  }
  .process-steps h3 {
    margin: 5px 0 8px;
  }
  .evidence-visual {
    min-height: 500px;
  }
  .document-stack {
    inset: 35px 18px;
  }
  .proof-card {
    width: calc(100% - 28px);
  }
  .proof-2 {
    left: 22px;
  }
  .proof-3 {
    left: 4px;
  }
  .proof-4 {
    left: 26px;
  }
  .fee-card {
    padding: 32px 24px;
    min-height: 570px;
  }
  .service-grid {
    grid-template-columns: 1fr;
  }
  .membership-list { grid-template-columns: 1fr; }
  .membership-list > div,
  .membership-list > div:nth-child(2n),
  .membership-list > div:nth-last-child(-n + 2) {
    border-right: 0;
    border-bottom: 1px solid var(--line);
    min-height: 92px;
  }
  .membership-list > div:last-child { border-bottom: 0; }
  .service-card {
    border-right: 0 !important;
    border-bottom: 1px solid var(--line) !important;
    min-height: 0;
  }
  .service-card:last-child {
    border-bottom: 0 !important;
  }
  .collection-grid article {
    padding: 27px;
    min-height: 0;
  }
  .management-badge {
    top: 27px;
    right: 27px;
  }
  .package-comparison-head,
  .package-comparison-grid article {
    padding-left: 22px;
    padding-right: 22px;
  }
  .package-comparison-grid ul {
    grid-template-columns: 1fr;
  }
  .approach {
    padding: 65px 20px;
  }
  .portal-card {
    padding: 20px;
  }
  .portal-priority-grid,
  .portal-decision-grid {
    grid-template-columns: 1fr;
  }
  .portal-property-summary {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .portal-property-summary > div {
    grid-column: 1 / -1;
  }
  .metric-row {
    gap: 5px;
  }
  .metric-row > div {
    padding: 10px;
  }
  .metric-row small {
    font-size: 8px;
  }
  .report-stack {
    height: 440px;
  }
  .report-page {
    height: 390px;
    padding: 16px;
  }
  .report-page:nth-child(1) {
    width: 55%;
    top: 25px;
  }
  .report-page:nth-child(2) {
    width: 55%;
    left: 23%;
  }
  .report-page:nth-child(3) {
    width: 55%;
    top: 45px;
  }
  .report-page h3 {
    font-size: 9px;
  }
  .report-cover h3 {
    font-size: 25px;
    left: 16px;
  }
  .report-cover > span,
  .report-cover p,
  .report-cover small {
    left: 16px;
  }
  .photo-grid img {
    height: 62px;
  }
  .life-image {
    min-height: 390px;
  }
  .life-copy {
    padding: 65px 20px;
  }
  .season-tabs button {
    margin-right: 12px;
    font-size: 10px;
  }
  .footer-brand {
    grid-column: 1/-1;
  }
  footer {
    grid-template-columns: 1fr;
    gap: 30px;
    padding: 45px 20px 20px;
  }
  .footer-bottom {
    flex-direction: column;
    gap: 8px;
  }
  .language-grid {
    grid-template-columns: 1fr 1fr;
  }
  dialog {
    padding: 23px 18px;
    width: calc(100% - 16px);
    max-height: 94svh;
    overflow: auto;
  }
  .dialog-head h2 {
    font-size: 29px;
  }
  .catalog-tools {
    grid-template-columns: 1fr;
  }
  .catalog-meta {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
    margin: 16px 0 4px;
  }
  .catalog-meta > div {
    width: 100%;
    justify-content: space-between;
    gap: 12px;
  }
  .service-options {
    grid-template-columns: 1fr;
  }
  .service-option {
    min-height: 74px;
    grid-template-columns: minmax(0, 1fr) 52px;
  }
  .service-choice {
    padding: 12px 10px 12px 12px;
    font-size: 14px;
  }
  .service-info-button {
    width: 52px;
  }
  .service-icon {
    width: 42px;
    height: 42px;
    flex-basis: 42px;
  }
  .dialog-bar {
    bottom: -23px;
    align-items: stretch;
    flex-direction: column;
    gap: 12px;
    padding-top: 14px;
  }
  .dialog-bar .button {
    width: 100%;
  }
  .form-grid {
    grid-template-columns: 1fr;
  }
  .stepper {
    overflow-x: auto;
    margin-right: -4px;
  }
  .stepper span {
    min-width: 112px;
  }
  .service-info-dialog {
    width: calc(100% - 16px);
  }
  .service-info-content {
    margin-top: 20px;
  }
  .service-info-content section {
    padding: 15px 16px;
  }
  .login-form {
    padding: 45px 22px;
  }
  .dashboard-dialog {
    width: 100%;
    height: 100svh;
    max-height: 100svh;
  }
  .dashboard-shell {
    grid-template-columns: 1fr;
  }
  .dashboard-shell aside {
    padding: 12px;
    display: block;
  }
  .dashboard-shell aside > p {
    display: none;
  }
  .dashboard-shell aside nav {
    display: flex;
    overflow-x: auto;
    margin-top: 13px;
  }
  .dashboard-shell aside nav button {
    min-width: 145px;
  }
  .dash-signout {
    display: none;
  }
  .dashboard-shell > section {
    padding: 20px;
  }
  .dashboard-grid {
    grid-template-columns: 1fr;
  }
  .expense-breakdown-grid {
    grid-template-columns: 1fr;
  }
  .dashboard-priority-grid,
  .dashboard-lower-summary {
    grid-template-columns: 1fr;
  }
  .report-dialog {
    width: 100%;
    max-height: 100svh;
    padding: 12px;
  }
  .report-toolbar h2 {
    font-size: 23px;
  }
  .report-toolbar .kicker {
    display: none;
  }
  .document-page {
    padding: 22px;
    min-height: 600px;
  }
  .inspection-grid {
    grid-template-columns: 1fr 1fr;
  }
  .doc-footer {
    left: 22px;
    right: 22px;
  }
}
@media (max-width: 1050px) {
  .about-block { padding: 86px 7%; }
  .about-opening,
  .about-origin,
  .about-supplier,
  .about-memory,
  .about-founder {
    grid-template-columns: 1fr;
    gap: 42px;
  }
  .about-work-copy { margin-left: 0; }
  .founder-portrait-placeholder { min-height: 350px; max-width: 460px; }
}
@media (max-width: 850px) {
  .about-menu-surface {
    top: 82px;
    max-height: calc(100svh - 82px);
  }
  .about-menu-toolbar { padding: 10px 4%; }
}
@media (max-width: 700px) {
  .about-block { padding: 66px 20px; }
  .about-opening h2,
  .about-origin h2,
  .about-work h2,
  .about-supplier h2,
  .about-memory h2,
  .about-founder h2,
  .about-operations h2,
  .about-regions h2,
  .about-final h2 { font-size: clamp(2.35rem, 11vw, 3.25rem); }
  .about-situations { padding-left: 18px; }
  .about-presence { padding: 30px 24px; }
  .about-principles,
  .about-operation-cards { grid-template-columns: 1fr; }
  .about-principles article,
  .about-operation-cards article,
  .about-principles article:last-child,
  .about-operation-cards article:last-child {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
  .about-principles article:last-child,
  .about-operation-cards article:last-child { border-bottom: 0; }
  .about-memory-callout { padding-left: 22px; }
  .founder-portrait-placeholder { min-height: 280px; }
  .about-final { align-items: flex-start; flex-direction: column; }
  .about-final .button { width: 100%; justify-content: space-between; }
  .about-menu-panel .about-block { padding: 60px 20px; }
}
@media (prefers-reduced-motion: reduce) {
  * {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}
@media print {
  body > *:not(dialog[open]) {
    display: none !important;
  }
  .report-dialog {
    position: static !important;
    width: 100% !important;
    max-height: none !important;
    padding: 0 !important;
    background: white !important;
  }
  .report-dialog::backdrop,
  .report-toolbar {
    display: none;
  }
  .report-document {
    display: block;
  }
  .document-page {
    break-after: page;
    box-shadow: none;
    min-height: 100vh;
  }
}

/* Multi-page editorial structure */
.home-management-intro { display: grid; width: 100%; gap: 32px; }
.home-management-intro > div:first-child { max-width: 720px; }
.home-management-intro h2 { max-width: 660px; }
.home-management-intro > div:first-child > p:not(.kicker) { color: var(--muted); max-width: 620px; }
.home-management-intro .home-management-detail { margin-top: 18px; max-width: 680px; }
.home-management-cards { display: grid; width: 100%; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.home-management-cards article { min-height: 210px; padding: 30px; border-right: 1px solid var(--line); position: relative; }
.home-management-cards article:last-child { border-right: 0; }
.home-management-cards article > span { color: var(--gold); font-size: 11px; font-weight: 700; letter-spacing: .14em; }
.home-management-cards article > i { display: block; color: var(--gold); font-size: 22px; font-style: normal; margin: 26px 0 14px; }
.home-management-cards h3 { margin: 0 0 8px; font: 600 16px/1.2 var(--sans); letter-spacing: .06em; }
.home-management-cards p { color: var(--muted); font-size: 14px; line-height: 1.65; margin: 0; }

/* The home page remains a concise decision path; supporting detail lives at the linked pages. */
body:not(.detail-page) #packages .package-comparison,
body:not(.detail-page) #packages .proposal-section,
body:not(.detail-page) #life,
body:not(.detail-page) .social-follow-section,
body:not(.detail-page) #about .about-regions { display: none; }
body:not(.detail-page) #packages .collection-grid ul,
body:not(.detail-page) #packages .collection-grid .collection-details { display: none; }
body:not(.detail-page) #packages .collection-grid > article > .line-button { display: none; }
body:not(.detail-page) #packages .collection-grid article { min-height: 330px; }
body:not(.detail-page) #packages .collection-grid .line-button { margin-top: 18px; }

.detail-page { background: var(--paper); }
.detail-page .site-header { position: sticky; top: 0; z-index: 30; background: rgba(255,255,255,.96); }
.detail-page .desktop-nav a[aria-current="page"] { color: var(--gold); }
.detail-page .language-toggle button:disabled { cursor: default; opacity: .48; }
.detail-page footer { margin-top: 0; }
.detail-hero { min-height: 500px; padding: clamp(82px, 10vw, 144px) max(6vw, 28px); background: linear-gradient(128deg, var(--ink) 0%, #174346 60%, #28595a 100%); color: var(--ivory); display: grid; align-items: end; }
.detail-hero > div { max-width: 860px; }
.detail-hero h1 { max-width: 830px; margin: 8px 0 22px; color: var(--ivory); font-size: clamp(48px, 6.5vw, 88px); line-height: .97; }
.detail-hero p:not(.kicker) { max-width: 700px; color: #d8e1de; font-size: clamp(17px, 1.55vw, 21px); line-height: 1.7; margin-bottom: 30px; }
.detail-hero .button { margin-top: 6px; }
.detail-section, .detail-callout, .detail-final, .detail-region-section, .detail-compare, .detail-transparency { padding: clamp(64px, 8vw, 120px) max(6vw, 28px); }
.detail-section-head { max-width: 800px; margin-bottom: clamp(34px, 5vw, 58px); }
.detail-section-head h2, .detail-callout h2, .detail-final h2, .detail-region-section h2, .detail-transparency h2 { font-size: clamp(37px, 4.6vw, 66px); line-height: 1.02; margin: 9px 0 18px; }
.detail-section-head > p:not(.kicker), .detail-callout > p:not(.kicker), .detail-region-section > p:not(.kicker), .detail-final p:not(.kicker), .detail-transparency > p:not(.kicker) { color: var(--muted); line-height: 1.8; max-width: 710px; }
.detail-three-grid { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); }
.detail-card { min-height: 264px; padding: 28px; border-right: 1px solid var(--line); background: var(--paper); position: relative; }
.detail-card:last-child { border-right: 0; }
.detail-card-number { color: var(--gold); font-size: 11px; font-weight: 700; letter-spacing: .14em; }
.detail-card i { display: block; color: var(--gold); font-size: 23px; font-style: normal; margin: 32px 0 18px; }
.detail-card h3 { font: 600 15px/1.3 var(--sans); letter-spacing: .05em; margin: 0 0 9px; }
.detail-card p { color: var(--muted); font-size: 14px; line-height: 1.65; margin: 0; }
.detail-surface { background: var(--mist); }
.detail-check-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.detail-check-grid article { background: var(--paper); min-height: 170px; padding: 27px; }
.detail-check-grid span { color: var(--gold); font-size: 18px; }
.detail-check-grid h3 { font: 600 14px/1.4 var(--sans); letter-spacing: .055em; margin: 17px 0 8px; }
.detail-check-grid p { color: var(--muted); font-size: 14px; line-height: 1.65; margin: 0; }
.detail-callout { background: var(--ink); color: var(--ivory); }
.detail-callout h2 { color: var(--ivory); max-width: 950px; }
.detail-callout > p:not(.kicker) { color: #d5e0dd; }
.detail-page[data-page="services"] .detail-section { padding-top: clamp(52px, 5vw, 80px); padding-bottom: clamp(52px, 5vw, 80px); }
.detail-category-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: max-content; align-items: start; align-content: start; gap: 0; background: transparent; border: 0; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.detail-category-grid article { background: var(--paper); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); height: auto !important; min-height: 0 !important; align-self: start; padding: 30px; }
.detail-category-grid article.is-secondary { background: #f8f6ef; }
.detail-category-grid article > span { color: var(--gold); font-size: 11px; font-weight: 600; letter-spacing: .15em; }
.detail-plan-grid article > span { color: var(--gold); font-size: 12px; font-weight: 700; letter-spacing: .15em; }
.detail-category-grid h3 { font: 600 22px/1.12 var(--serif); margin: 18px 0 10px; }
.detail-category-grid > article > p { color: var(--muted); font-size: 15px; line-height: 1.55; margin: 0; max-width: 550px; }
.detail-tick-list { display: grid; gap: 10px; list-style: none; margin: 24px 0 0; padding: 0; }
.detail-tick-list li { display: flex; gap: 10px; align-items: flex-start; color: var(--ink); font-size: 14px; line-height: 1.5; }
.detail-tick-list li > span { color: var(--gold); font-weight: 700; }
.detail-note { border-left: 2px solid var(--gold); color: var(--muted); line-height: 1.7; margin: 38px 0 0; max-width: 720px; padding-left: 18px; }
.detail-plan-grid { display: grid; grid-template-columns: repeat(3, 1fr); align-items: stretch; gap: 1px; background: var(--line); border: 1px solid var(--line); }
.detail-plan-grid article { background: var(--ink); color: var(--ivory); padding: 33px; }
.detail-plan-grid article.featured { background: #234f51; }
.detail-plan-grid article h2 { color: inherit; font-size: 40px; margin: 20px 0 12px; }
.detail-plan-grid article > p:not(.kicker) { color: #d5e0dd; line-height: 1.65; min-height: 74px; }
.detail-plan-grid .detail-tick-list li { color: var(--ivory); }
.detail-price-note { max-width: 720px; margin-top: 60px; }
.detail-price-note h2 { font-size: clamp(31px, 3.6vw, 49px); margin: 8px 0 10px; }
.detail-price-note p:not(.kicker) { color: var(--muted); line-height: 1.7; }
.detail-compare { background: var(--mist); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; padding-top: 0; padding-bottom: 0; }
.detail-compare article { padding: clamp(48px, 6vw, 82px) max(6vw, 28px); background: var(--paper); }
.detail-compare article:last-child { background: var(--ink); color: var(--ivory); }
.detail-compare article:last-child h2 { color: var(--ivory); }
.detail-compare h2 { font-size: clamp(33px, 4vw, 54px); line-height: 1; margin: 8px 0 16px; }
.detail-compare p:not(.kicker) { color: var(--muted); line-height: 1.7; }
.detail-compare article:last-child p:not(.kicker) { color: #d5e0dd; }
.detail-process-list { border-top: 1px solid var(--line); }
.detail-process-list article { display: grid; grid-template-columns: 130px 1fr; gap: 34px; padding: 36px 0; border-bottom: 1px solid var(--line); }
.detail-process-list article > span { color: var(--gold); font-size: 16px; font-weight: 700; letter-spacing: .14em; }
.detail-process-list h2 { font-size: clamp(27px, 3vw, 40px); margin: 0 0 7px; }
.detail-process-list p { color: var(--muted); line-height: 1.7; margin: 0; max-width: 670px; }
.detail-transparency { background: var(--ink); color: var(--ivory); }
.detail-transparency h2 { color: var(--ivory); max-width: 1050px; }
.detail-transparency > div { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid #ffffff2a; margin-top: 46px; }
.detail-transparency .detail-card { background: transparent; border-color: #ffffff2a; color: var(--ivory); }
.detail-transparency .detail-card p { color: #d5e0dd; }
.detail-transparency .detail-note { color: #d5e0dd; }
.report-page-layout { display: grid; grid-template-columns: minmax(0, .9fr) minmax(340px, 1.1fr); gap: clamp(36px, 7vw, 100px); align-items: center; }
.detail-report-copy h2 { font-size: clamp(37px, 4.5vw, 62px); line-height: 1.02; margin: 9px 0 20px; }
.detail-report-preview { background: var(--ink); color: var(--ivory); box-shadow: 0 26px 70px #09242622; }
.detail-report-preview img { display: block; height: 290px; object-fit: cover; width: 100%; }
.detail-report-preview > div { padding: 30px; }
.detail-report-preview span { color: var(--gold); font-size: 11px; font-weight: 700; letter-spacing: .13em; }
.detail-report-preview h3 { color: var(--ivory); font-size: 42px; margin: 14px 0 8px; }
.detail-report-preview p { color: #d5e0dd; line-height: 1.7; margin: 0; }
.detail-about-copy > p { color: var(--muted); font-size: 19px; line-height: 1.8; margin: 0 0 40px; max-width: 760px; }
.detail-region-section { background: #f5f2ea; }
.detail-region-section h2 { max-width: 600px; }
.detail-region-section .button { margin-top: 12px; }
.detail-final { align-items: center; background: var(--ink); color: var(--ivory); display: flex; justify-content: space-between; gap: 45px; }
.detail-final > div { max-width: 760px; }
.detail-final h2 { color: var(--ivory); }
.detail-final p:not(.kicker) { color: #d5e0dd; margin-bottom: 0; }

@media (max-width: 1024px) {
  .home-management-cards { grid-template-columns: 1fr; }
  .home-management-cards article { border-right: 0; border-bottom: 1px solid var(--line); min-height: auto; }
  .home-management-cards article:last-child { border-bottom: 0; }
  .detail-three-grid, .detail-plan-grid, .detail-transparency > div { grid-template-columns: 1fr; }
  .detail-card { border-right: 0; border-bottom: 1px solid var(--line); min-height: auto; }
  .detail-card:last-child { border-bottom: 0; }
  .detail-plan-grid article { border-bottom: 1px solid var(--line); }
  .detail-plan-grid article:last-child { border-bottom: 0; }
  .detail-compare { grid-template-columns: 1fr; }
  .report-page-layout { grid-template-columns: 1fr; }
  .detail-page[data-page="services"] .detail-section { padding-top: 58px; padding-bottom: 58px; }
  .detail-category-grid article { padding: 24px; }
  .detail-category-grid h3 { font-size: 20px; }
}
@media (max-width: 700px) {
  .detail-hero { min-height: 470px; padding-inline: 22px; }
  .detail-section, .detail-callout, .detail-final, .detail-region-section, .detail-transparency { padding-inline: 22px; }
  .detail-category-grid, .detail-check-grid { grid-template-columns: 1fr; }
  .detail-category-grid article { height: auto !important; min-height: 0 !important; padding: 20px; }
  .detail-check-grid article { min-height: auto; padding: 25px 22px; }
  .detail-page[data-page="services"] .detail-section { padding-top: 46px; padding-bottom: 46px; }
  .detail-category-grid h3 { font-size: 19px; }
  .detail-category-grid > article > p { font-size: 14px; line-height: 1.55; }
  .detail-process-list article { grid-template-columns: 64px 1fr; gap: 16px; padding: 27px 0; }
  .detail-final { align-items: flex-start; flex-direction: column; }
  .detail-final .button, .detail-hero .button { width: 100%; justify-content: space-between; }
  .detail-report-preview img { height: 220px; }
  .page-header-plan { display: none; }
}

/* Public-site revision: keep the portal entry visible without competing with the primary CTA. */
.header-owner-login {
  color: var(--ink);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
  padding: 10px 4px;
  text-decoration: underline;
  text-decoration-color: var(--gold);
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
  white-space: nowrap;
}
.header-owner-login:hover { color: var(--gold); }
.mobile-owner-login {
  border-bottom: 1px solid var(--line);
  color: var(--ink);
  font-weight: 600;
  padding: 14px 0 !important;
}
.hero-secondary-action {
  align-items: center;
  border-bottom: 1px solid #ffffff86;
  color: var(--ivory);
  display: inline-flex;
  font-size: 13px;
  font-weight: 600;
  gap: 14px;
  min-height: 48px;
  padding: 10px 0;
}
.hero-secondary-action:hover { color: var(--gold2); }
.portal-information-link {
  background: none;
  border: 0;
  border-bottom: 1px solid var(--line);
  color: var(--ink);
  display: inline-flex;
  font: 600 12px/1.3 var(--sans);
  gap: 12px;
  margin-top: 16px;
  padding: 0 0 8px;
}
.service-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.process-steps.process-steps--four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cost-transparency--concise { margin-top: 52px; padding-top: 50px; }
.operations-inner--concise .cost-transparency-head { grid-template-columns: .35fr 1.65fr; }

@media (min-width: 1025px) and (max-width: 1360px) {
  .site-header { gap: 18px; padding-inline: 3%; }
  .desktop-nav { gap: 16px; }
  .desktop-nav a { font-size: 11px; }
  .header-owner-login { font-size: 11px; }
  .button.gold { gap: 12px; padding-inline: 13px; }
}
@media (max-width: 1024px) {
  .header-owner-login { display: none; }
  .service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-card:last-child:nth-child(odd) { grid-column: auto; border-bottom: 1px solid var(--line); }
  .process-steps.process-steps--four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .process-steps.process-steps--four li:nth-child(4) { border-top: 1px solid #ffffff2b; }
}
@media (max-width: 700px) {
  .hero-secondary-action { width: 100%; justify-content: space-between; }
  .service-grid, .process-steps.process-steps--four { grid-template-columns: 1fr; }
  .process-steps.process-steps--four li:nth-child(4) { border-top: 1px solid #ffffff2b; }
  .operations-inner--concise .cost-transparency-head { grid-template-columns: 1fr; }
}

/* Homepage management: one current wrapper, full section content width. */
#membership-scope.membership-scope {
  display: block !important;
  width: 100%;
  max-width: none !important;
  background: var(--mist);
}
#membership-scope .home-management-intro {
  display: grid;
  width: 100% !important;
  max-width: none !important;
  grid-template-columns: minmax(0, 1fr);
  justify-self: stretch;
}
#membership-scope .home-management-cards {
  width: 100% !important;
  max-width: none !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 1024px) {
  #membership-scope .home-management-cards { grid-template-columns: 1fr; }
}

/* Homepage hierarchy: section headlines remain clearly below the hero. */
body:not(.detail-page) #membership-scope .home-management-intro h2,
body:not(.detail-page) #services .section-head h2,
body:not(.detail-page) #packages .section-head h2,
body:not(.detail-page) #approach .approach-copy h2,
body:not(.detail-page) #operations .operations-head h2,
body:not(.detail-page) #sample-report .report-intro h2,
body:not(.detail-page) #life .life-copy h2,
body:not(.detail-page) .social-follow-copy h2,
body:not(.detail-page) #about .about-editorial-copy h2 {
  font-size: clamp(40px, 3.8vw, 54px);
  line-height: 1.04;
}
body:not(.detail-page) #membership-scope .home-management-intro > div:first-child > p:not(.kicker),
body:not(.detail-page) #services .section-head > p,
body:not(.detail-page) #packages .section-head > p,
body:not(.detail-page) #packages .pricing-description,
body:not(.detail-page) #approach .approach-copy .lead,
body:not(.detail-page) #operations .operations-head > p:last-child,
body:not(.detail-page) #sample-report .report-intro > p:not(.kicker),
body:not(.detail-page) #life .life-copy > p:not(.kicker),
body:not(.detail-page) .social-follow-copy > p:not(.kicker),
body:not(.detail-page) #about .about-editorial-copy > p:not(.kicker),
body:not(.detail-page) #about .about-final > div > p:not(.kicker) {
  font-size: 16px;
  line-height: 1.7;
}
body:not(.detail-page) #about .about-final h2 {
  font-size: clamp(42px, 4vw, 58px);
  line-height: 1.03;
}
@media (max-width: 1024px) {
  body:not(.detail-page) #membership-scope .home-management-intro h2,
  body:not(.detail-page) #services .section-head h2,
  body:not(.detail-page) #packages .section-head h2,
  body:not(.detail-page) #approach .approach-copy h2,
  body:not(.detail-page) #operations .operations-head h2,
  body:not(.detail-page) #sample-report .report-intro h2,
  body:not(.detail-page) #life .life-copy h2,
  body:not(.detail-page) .social-follow-copy h2,
  body:not(.detail-page) #about .about-editorial-copy h2 {
    font-size: clamp(38px, 5vw, 46px);
  }
  body:not(.detail-page) #about .about-final h2 {
    font-size: clamp(42px, 5vw, 52px);
  }
}
@media (max-width: 700px) {
  body:not(.detail-page) #membership-scope .home-management-intro h2,
  body:not(.detail-page) #services .section-head h2,
  body:not(.detail-page) #packages .section-head h2,
  body:not(.detail-page) #approach .approach-copy h2,
  body:not(.detail-page) #operations .operations-head h2,
  body:not(.detail-page) #sample-report .report-intro h2,
  body:not(.detail-page) #life .life-copy h2,
  body:not(.detail-page) .social-follow-copy h2,
  body:not(.detail-page) #about .about-editorial-copy h2 {
    font-size: clamp(34px, 10vw, 40px);
  }
  body:not(.detail-page) #membership-scope .home-management-intro > div:first-child > p:not(.kicker),
  body:not(.detail-page) #services .section-head > p,
  body:not(.detail-page) #packages .section-head > p,
  body:not(.detail-page) #packages .pricing-description,
  body:not(.detail-page) #approach .approach-copy .lead,
  body:not(.detail-page) #operations .operations-head > p:last-child,
  body:not(.detail-page) #sample-report .report-intro > p:not(.kicker),
  body:not(.detail-page) #life .life-copy > p:not(.kicker),
  body:not(.detail-page) .social-follow-copy > p:not(.kicker),
  body:not(.detail-page) #about .about-editorial-copy > p:not(.kicker),
  body:not(.detail-page) #about .about-final > div > p:not(.kicker) {
    font-size: 15px;
    line-height: 1.65;
  }
  body:not(.detail-page) #about .about-final h2 {
    font-size: clamp(38px, 10vw, 46px);
  }
}

/* Homepage services: compact editorial category overview. */
#services.services-section {
  background: var(--paper);
  padding: 80px 0 72px;
}
#services .section-head {
  display: block;
  margin: 0;
  padding-inline: 7%;
}
#services .section-head .kicker {
  color: var(--gold);
  font-size: 10px;
  letter-spacing: .22em;
  margin-bottom: 16px;
}
body:not(.detail-page) #services.services-section .section-head h2 {
  color: var(--ink);
  font-size: clamp(44px, 3.4vw, 50px);
  line-height: 1.04;
  margin: 0;
  max-width: 860px;
}
body:not(.detail-page) #services.services-section .section-head > p {
  color: var(--muted);
  font-size: 16px;
  line-height: 1.6;
  margin-top: 10px;
  max-width: 650px;
}
#services .services-grid-shell {
  margin-inline: 7%;
  max-width: none;
  width: auto;
}
#services .services-gold-divider {
  border-top: 1px solid var(--gold);
  margin: 22px 0 28px;
}
#services .service-grid {
  align-items: stretch;
  border: 0;
  display: grid;
  gap: 17px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
#services .service-card {
  background: #fbf8f1;
  border: 1px solid #e3ddd1;
  cursor: default;
  min-height: 0;
  padding: 24px;
}
#services .service-card-top {
  align-items: center;
  gap: 30px;
  justify-content: flex-start;
  margin-bottom: 18px;
}
#services .service-card-top > span:first-child {
  color: var(--gold);
  display: inline-flex;
}
#services .service-card-top > span:first-child svg {
  height: 26px;
  width: 26px;
}
#services .service-card-top span:last-child {
  color: var(--gold);
  font-size: 11px;
  letter-spacing: .15em;
}
#services .service-card h3 {
  color: var(--ink);
  font-size: 21px;
  line-height: 1.16;
  margin: 0 0 9px;
}
#services .service-card p {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.55;
  margin: 0;
}
#services .center-action {
  display: flex;
  justify-content: flex-end;
  margin-top: 19px;
  text-align: right;
}
#services .center-action .line-button {
  align-items: center;
  background: transparent;
  border: 1px solid var(--ink);
  display: inline-flex;
  font: 400 15px/1 var(--serif);
  height: 47px;
  justify-content: space-between;
  min-width: 258px;
  padding: 0 16px;
}
#services .center-action .line-button span:last-child svg {
  height: 17px;
  width: 17px;
}

/* KVKK legal-information page */
.legal-content{margin:0 auto;max-width:1000px;padding:clamp(58px,8vw,110px) 7%}.legal-intro{border-bottom:1px solid var(--line);margin-bottom:48px;padding-bottom:38px}.legal-intro h1{font:400 clamp(34px,4.6vw,54px)/1.08 var(--serif);margin:0;max-width:850px}.legal-intro>p:last-child{color:var(--muted);font-size:16px;margin:18px 0 0}.legal-document{max-width:920px}.legal-document h2{font:400 clamp(25px,2.6vw,32px)/1.2 var(--serif);margin:52px 0 18px}.legal-document h2:first-child{margin-top:0}.legal-document p,.legal-document li{font-size:16px;line-height:1.78}.legal-document p{margin:0 0 18px}.legal-document ul{margin:0 0 20px;padding-left:24px}.legal-document li{margin:0 0 10px}.legal-document strong{color:var(--ink)}@media(max-width:700px){.legal-content{padding:52px 20px}.legal-intro{margin-bottom:36px;padding-bottom:30px}.legal-intro h1{font-size:clamp(32px,9vw,40px)}.legal-document h2{font-size:26px;margin-top:40px}.legal-document p,.legal-document li{font-size:15px;line-height:1.72}.legal-document ul{padding-left:21px}}

/* Homepage About: one explicit two-column editorial grid. */
#about .about-editorial-section {
  padding: 100px 7%;
}
#about .about-editorial-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(360px, 0.85fr);
  gap: clamp(48px, 5vw, 88px);
  align-items: stretch;
  width: 100%;
}
#about .about-editorial-copy {
  min-width: 0;
}
#about .about-editorial-copy h2 {
  max-width: 760px;
}
#about .about-editorial-copy > p:not(.kicker) {
  max-width: 720px;
}
#about .about-editorial-copy .about-principles {
  width: 100%;
  margin-top: 48px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
#about .about-editorial-media {
  min-width: 0;
  min-height: 560px;
  max-height: 720px;
  overflow: hidden;
  border: 1px solid var(--line);
}
#about .about-editorial-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
@media (max-width: 1099px) {
  #about .about-editorial-section { padding: 86px 7%; }
  #about .about-editorial-grid { grid-template-columns: 1fr; }
  #about .about-editorial-media {
    width: min(100%, 560px);
    min-height: 0;
    max-height: none;
    aspect-ratio: 4 / 5;
    margin-top: 46px;
  }
  #about .about-editorial-media img { height: 100%; }
}
@media (max-width: 700px) {
  #about .about-editorial-section { padding: 66px 20px; }
  #about .about-editorial-copy h2,
  #about .about-editorial-copy > p:not(.kicker) { max-width: none; }
  #about .about-editorial-copy .about-principles { grid-template-columns: 1fr; }
  #about .about-editorial-media {
    width: 100%;
    margin-top: 36px;
  }
}
@media (max-width: 1024px) {
  #services.services-section { padding: 74px 0 68px; }
  #services .section-head { padding-inline: 7vw; }
  #services .services-grid-shell { margin-inline: 7vw; }
  body:not(.detail-page) #services.services-section .section-head h2 { font-size: clamp(38px, 4.5vw, 44px); }
  #services .service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  #services.services-section { padding: 66px 0 60px; }
  #services .section-head { padding-inline: 20px; }
  #services .services-grid-shell { margin-inline: 20px; width: auto; }
  #services .section-head .kicker { margin-bottom: 13px; }
  body:not(.detail-page) #services.services-section .section-head h2 { font-size: clamp(34px, 9vw, 38px); }
  body:not(.detail-page) #services.services-section .section-head > p { font-size: 15px; line-height: 1.6; margin-top: 9px; }
  #services .services-gold-divider { margin: 19px 0 22px; }
  #services .service-grid { gap: 12px; grid-template-columns: 1fr; }
  #services .service-card { border: 1px solid #e3ddd1 !important; padding: 22px; }
  #services .service-card-top { gap: 27px; margin-bottom: 17px; }
  #services .center-action { margin-top: 18px; }
  #services .center-action .line-button { min-width: 0; width: 100%; }
}
