@charset "utf-8";

@layer theme {
  :root, :host { --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; --spacing: .25rem; --default-font-family: var(--font-sans); --default-mono-font-family: var(--font-mono); }
}

@layer base {
  *, ::after, ::before, ::backdrop { box-sizing: border-box; border: 0px solid; margin: 0px; padding: 0px; }
  ::file-selector-button { box-sizing: border-box; border: 0px solid; margin: 0px; padding: 0px; }
  html, :host { text-size-adjust: 100%; tab-size: 4; line-height: 1.5; font-family: var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"); font-feature-settings: var(--default-font-feature-settings,normal); font-variation-settings: var(--default-font-variation-settings,normal); -webkit-tap-highlight-color: transparent; }
  hr { height: 0px; color: inherit; border-top-width: 1px; }
  abbr:where([title]) { text-decoration: underline dotted; }
  h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; }
  a { color: inherit; text-decoration: inherit; }
  b, strong { font-weight: bolder; }
  code, kbd, samp, pre { font-family: var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace); font-feature-settings: var(--default-mono-font-feature-settings,normal); font-variation-settings: var(--default-mono-font-variation-settings,normal); font-size: 1em; }
  small { font-size: 80%; }
  sub, sup { vertical-align: baseline; font-size: 75%; line-height: 0; position: relative; }
  sub { bottom: -0.25em; }
  sup { top: -0.5em; }
  table { text-indent: 0px; border-color: inherit; border-collapse: collapse; }
  progress { vertical-align: baseline; }
  summary { display: list-item; }
  ol, ul, menu { list-style: none; }
  img, svg, video, canvas, audio, iframe, embed, object { vertical-align: middle; display: block; }
  img, video { max-width: 100%; height: auto; }
  button, input, select, optgroup, textarea { font: inherit; letter-spacing: inherit; color: inherit; opacity: 1; background-color: rgba(0, 0, 0, 0); border-radius: 0px; }
  ::file-selector-button { font: inherit; letter-spacing: inherit; color: inherit; opacity: 1; background-color: rgba(0, 0, 0, 0); border-radius: 0px; }
  :where(select:is([multiple], [size])) optgroup { font-weight: bolder; }
  :where(select:is([multiple], [size])) optgroup option { padding-inline-start: 20px; }
  ::file-selector-button { margin-inline-end: 4px; }
  ::placeholder { opacity: 1; }
  @supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px) {
  ::placeholder { color: currentcolor; }
  @supports (color:color-mix(in lab, red, red)) {
  ::placeholder { color: color-mix(currentcolor, transparent); }
}
}
  textarea { resize: vertical; }
  ::-webkit-search-decoration { appearance: none; }
  ::-webkit-date-and-time-value { min-height: 1lh; text-align: inherit; }
  ::-webkit-datetime-edit { display: inline-flex; }
  ::-webkit-datetime-edit-fields-wrapper { padding: 0px; }
  ::-webkit-datetime-edit { padding-block: 0px; }
  ::-webkit-datetime-edit-year-field { padding-block: 0px; }
  ::-webkit-datetime-edit-month-field { padding-block: 0px; }
  ::-webkit-datetime-edit-day-field { padding-block: 0px; }
  ::-webkit-datetime-edit-hour-field { padding-block: 0px; }
  ::-webkit-datetime-edit-minute-field { padding-block: 0px; }
  ::-webkit-datetime-edit-second-field { padding-block: 0px; }
  ::-webkit-datetime-edit-millisecond-field { padding-block: 0px; }
  ::-webkit-datetime-edit-meridiem-field { padding-block: 0px; }
  ::-webkit-calendar-picker-indicator { line-height: 1; }
  button, input:where([type="button"], [type="reset"], [type="submit"]) { appearance: button; }
  ::file-selector-button { appearance: button; }
  ::-webkit-inner-spin-button { height: auto; }
  ::-webkit-outer-spin-button { height: auto; }
  [hidden]:where(:not([hidden="until-found"])) { display: none !important; }
}

@layer components;

@layer utilities {
  .visible { visibility: visible; }
  .relative { position: relative; }
  .start { inset-inline-start: var(--spacing); }
  .table { display: table; }
  .antialiased { -webkit-font-smoothing: antialiased; }
}

:root { --ink: #0d0e2d; --plum: #402549; --violet: #523578; --gold: #f3cf83; --ivory: #fff8f2; --rose: #ae638b; }

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body { background: var(--ink); color: var(--ivory); margin: 0px; font-family: Arial, Helvetica, sans-serif; }

a { color: inherit; text-decoration: none; }

.shell { width: min(1180px, 100% - 48px); margin-inline: auto; }

.nav { z-index: 5; border-bottom: 1px solid rgba(255, 255, 255, 0.13); justify-content: space-between; align-items: center; height: 92px; display: flex; position: absolute; left: 50%; transform: translate(-50%); }

.wordmark { letter-spacing: 0.16em; font-family: Georgia, serif; font-size: 17px; }

.wordmark span { color: var(--gold); }

nav { letter-spacing: 0.12em; text-transform: uppercase; align-items: center; gap: 34px; font-size: 12px; display: flex; }

.navCta { border: 1px solid rgba(243, 207, 131, 0.45); padding: 12px 18px; }

.hero { background: radial-gradient(circle at 75% 55%, rgba(129, 75, 129, 0.46) 0px, rgba(0, 0, 0, 0) 28%), radial-gradient(circle at 15% 90%, rgba(62, 68, 152, 0.49) 0px, rgba(0, 0, 0, 0) 28%), linear-gradient(135deg, rgb(13, 14, 45), rgb(32, 22, 63) 55%, rgb(64, 37, 73)); min-height: 820px; position: relative; overflow: hidden; }

.hero::after { content: ""; pointer-events: none; background: linear-gradient(rgba(0, 0, 0, 0), rgb(13, 14, 45)); height: 170px; position: absolute; inset: auto 0px 0px; }

.stars { opacity: 0.6; background-image: radial-gradient(rgb(255, 255, 255) 1px, rgba(0, 0, 0, 0) 1px), radial-gradient(rgb(243, 207, 131) 1px, rgba(0, 0, 0, 0) 1px); background-position: 0px 0px, 35px 20px; background-size: 87px 87px, 133px 133px; position: absolute; inset: 0px; mask-image: linear-gradient(rgb(0, 0, 0), rgba(0, 0, 0, 0) 80%); }

.heroGrid { z-index: 2; grid-template-columns: 1.05fr 0.95fr; align-items: center; min-height: 820px; padding-top: 90px; display: grid; position: relative; }

.eyebrow { color: var(--gold); letter-spacing: 0.28em; margin: 0px 0px 22px; font-size: 11px; font-weight: 700; }

.eyebrow.dark { color: rgb(123, 83, 112); }

h1, h2 { letter-spacing: -0.035em; margin: 0px; font-family: Georgia, "Times New Roman", serif; font-weight: 400; }

h1 { font-size: clamp(54px, 6vw, 84px); line-height: 0.98; }

em { color: var(--gold); font-weight: 400; }

.lede { color: rgb(233, 221, 237); max-width: 580px; margin: 28px 0px 34px; font-family: Georgia, serif; font-size: 20px; line-height: 1.65; }

.actions { flex-wrap: wrap; gap: 14px; display: flex; }

.button { text-transform: uppercase; letter-spacing: 0.14em; justify-content: center; align-items: center; gap: 22px; padding: 16px 22px; font-size: 11px; font-weight: 700; transition: 0.25s; display: inline-flex; }

.button:hover { transform: translateY(-2px); }

.gold { background: var(--gold); color: rgb(38, 23, 56); box-shadow: rgba(243, 207, 131, 0.145) 0px 10px 40px; }

.ghost { color: rgb(255, 255, 255); border: 1px solid rgba(255, 255, 255, 0.24); }

.micro { color: rgb(199, 184, 208); letter-spacing: 0.16em; flex-wrap: wrap; gap: 12px; margin-top: 35px; font-size: 9px; display: flex; }

.micro span { color: var(--gold); }

.logoStage { place-items: center; display: grid; position: relative; }

.logoStage img { z-index: 2; filter: drop-shadow(rgba(6, 5, 29, 0.6) 0px 24px 42px); width: min(360px, 78%); position: relative; }

.halo { aspect-ratio: 1 / 1; filter: blur(60px); background: rgba(174, 99, 139, 0.21); border-radius: 50%; width: 74%; position: absolute; }

.orbit { color: var(--gold); font-size: 28px; position: absolute; }

.orbitOne { top: 12%; right: 4%; }

.orbitTwo { bottom: 17%; left: 5%; }

.scrollCue { z-index: 3; letter-spacing: 0.24em; color: rgb(211, 191, 213); gap: 18px; font-size: 9px; display: flex; position: absolute; bottom: 24px; left: 50%; transform: translate(-50%); }

.manifesto { background: var(--ivory); color: var(--plum); text-align: center; padding: 84px 0px 92px; }

.manifesto > .shell > .eyebrow { margin-bottom: 18px; }

.manifestoGrid { max-width: 900px; margin-inline: auto; display: block; }

.manifesto h2 { font-size: clamp(44px, 5vw, 70px); line-height: 1.05; }

.manifesto h2 em { color: var(--rose); }

.manifestoGrid > div { color: rgb(98, 67, 95); max-width: 720px; margin: 26px auto 0px; font-family: Georgia, serif; font-size: 18px; line-height: 1.65; }

.manifestoGrid p { margin: 8px 0px; }

.benefitGrid { border-block: 1px solid rgba(64, 37, 73, 0.17); grid-template-columns: repeat(3, 1fr); margin-top: 55px; display: grid; }

.benefitGrid article { border-right: 1px solid rgba(64, 37, 73, 0.17); padding: 30px 28px 28px; position: relative; }

.benefitGrid article:last-child { border-right: 0px; }

.icon { color: var(--rose); margin: 0px 0px 14px; font-family: Georgia, serif; font-size: 34px; }

.benefitGrid h3 { margin: 0px 0px 8px; font-family: Georgia, serif; font-size: 23px; font-weight: 400; }

.benefitGrid p { color: rgb(114, 86, 109); margin: 0px; font-size: 14px; line-height: 1.6; }

.reviewsBlock { padding-top: 78px; }

.reviewsBlock > h2 { font-size: clamp(38px, 4.4vw, 60px); }

.reviewGrid { text-align: left; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-top: 42px; display: grid; }

.reviewGrid figure { background: rgb(255, 255, 255); border: 1px solid rgba(64, 37, 73, 0.094); margin: 0px; padding: 28px 30px; box-shadow: rgba(64, 37, 73, 0.047) 0px 16px 45px; }

.starsRow { color: rgb(214, 156, 56); letter-spacing: 0.18em; font-size: 12px; }

.reviewGrid blockquote { color: rgb(95, 64, 91); margin: 18px 0px 22px; font-family: Georgia, serif; font-size: 17px; line-height: 1.62; }

.reviewGrid figcaption { letter-spacing: 0.08em; color: rgb(140, 114, 136); justify-content: space-between; align-items: center; gap: 18px; font-size: 10px; display: flex; }

.reviewGrid figcaption strong { color: var(--plum); font-size: 11px; }

.reviewsLink { letter-spacing: 0.14em; text-transform: uppercase; border-bottom: 1px solid rgba(64, 37, 73, 0.36); gap: 16px; margin-top: 30px; padding-bottom: 5px; font-size: 10px; font-weight: 700; display: inline-flex; }

.credibility { color: var(--plum); text-align: center; background: rgb(245, 210, 202); padding: 78px 0px; }

.credibilityGrid { max-width: 900px; display: block; }

.credibility h2, .contact h2 { font-size: clamp(42px, 5vw, 68px); line-height: 1.06; }

.credibility h2 em { color: rgb(123, 101, 190); }

.businessCopy { max-width: 720px; margin: 24px auto 0px; font-family: Georgia, serif; font-size: 18px; line-height: 1.7; }

.businessCopy > p { margin: 8px 0px; }

.businessTags { flex-wrap: wrap; justify-content: center; gap: 9px; margin-top: 26px; display: flex; }

.businessTags span { letter-spacing: 0.12em; text-transform: uppercase; border: 1px solid rgba(64, 37, 73, 0.27); padding: 10px 12px; font-family: Arial, sans-serif; font-size: 9px; }

.about { background: radial-gradient(circle at 20% 100%,#523578 0,transparent 48%),var(--ink); padding: 110px 0px; }

.founderGrid { grid-template-columns: 300px 1fr; align-items: center; gap: 72px; max-width: 980px; display: grid; }

.portraitFrame { aspect-ratio: 4 / 5; background: rgba(255, 255, 255, 0.04); border: 1px solid rgba(243, 207, 131, 0.4); width: 280px; padding: 8px; overflow: hidden; box-shadow: rgba(5, 5, 28, 0.5) 0px 30px 70px; }

.portraitFrame img { object-fit: cover; object-position: 50% 26%; width: 100%; height: 100%; display: block; }

.about h2 { font-size: clamp(40px, 4.7vw, 64px); line-height: 1.08; }

.about p:not(.eyebrow) { color: rgb(207, 191, 210); max-width: 650px; margin: 26px 0px 34px; font-family: Georgia, serif; font-size: 18px; line-height: 1.65; }

.localServices { color: var(--plum); text-align: center; background: linear-gradient(145deg, rgb(233, 221, 243) 0%, rgb(245, 210, 202) 58%, rgb(238, 166, 161) 130%); padding: 96px 0px; }

.servicesInner { max-width: 1020px; }

.localServices h2 { margin: 0px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(44px, 5vw, 68px); font-weight: 400; line-height: 1.05; }

.localServices h2 em { color: rgb(123, 101, 190); }

.servicesIntro { color: rgb(98, 67, 95); max-width: 720px; margin: 25px auto 42px; font-family: Georgia, serif; font-size: 18px; line-height: 1.7; }

.serviceGrid { border-block: 1px solid rgba(64, 37, 73, 0.18); grid-template-columns: repeat(3, 1fr); display: grid; }

.serviceGrid article { border-right: 1px solid rgba(64, 37, 73, 0.18); padding: 30px 28px; }

.serviceGrid article:last-child { border-right: 0px; }

.serviceGrid article > span { color: rgb(129, 75, 129); margin-bottom: 14px; font-family: Georgia, serif; font-size: 30px; display: block; }

.serviceGrid h3 { margin: 0px 0px 9px; font-family: Georgia, serif; font-size: 22px; font-weight: 400; }

.serviceGrid p { color: rgb(114, 86, 109); margin: 0px; font-size: 14px; line-height: 1.65; }

.pricingNote { color: rgb(98, 67, 95); margin: 30px 0px 20px; font-family: Georgia, serif; font-size: 17px; }

.serviceButton { background: var(--plum); color: var(--ivory); box-shadow: rgba(64, 37, 73, 0.125) 0px 10px 35px; }

.contact { background: var(--ivory); color: var(--plum); padding: 110px 0px; }

.contactGrid { grid-template-columns: 0.9fr 1.1fr; align-items: start; gap: 90px; display: grid; }

.contactGrid > div > p:not(.eyebrow) { color: rgb(114, 86, 109); max-width: 520px; font-family: Georgia, serif; font-size: 17px; line-height: 1.7; }

.contact form { background: rgb(255, 255, 255); grid-template-columns: 1fr 1fr; gap: 20px; padding: 34px; display: grid; box-shadow: rgba(64, 37, 73, 0.07) 0px 24px 70px; }

.contact label { letter-spacing: 0.16em; text-transform: uppercase; color: rgb(114, 86, 109); gap: 8px; font-size: 9px; display: grid; }

.contact label:nth-of-type(3), .contact label:nth-of-type(4) { grid-column: 1 / -1; }

.contact input, .contact select, .contact textarea { width: 100%; color: var(--plum); background: rgb(255, 250, 247); border: 1px solid rgba(64, 37, 73, 0.22); outline: none; padding: 13px 14px; font: 15px Georgia, serif; }

.contact input:focus, .contact select:focus, .contact textarea:focus { border-color: rgb(123, 101, 190); box-shadow: rgba(123, 101, 190, 0.094) 0px 0px 0px 3px; }

.contact textarea { resize: vertical; }

.contact button { cursor: pointer; border: 0px; width: max-content; }

.formNote { color: rgb(130, 108, 125); align-self: center; margin: 0px; font-size: 11px; }

.formNote a { text-decoration: underline; }

.whatsappCard { background: rgb(255, 255, 255); border: 1px solid rgba(64, 37, 73, 0.14); grid-template-columns: 88px 1fr auto; align-items: center; gap: 17px; max-width: 520px; margin-top: 28px; padding: 12px 16px 12px 12px; transition: 0.2s; display: grid; box-shadow: rgba(64, 37, 73, 0.047) 0px 12px 35px; }

.whatsappCard:hover { border-color: rgba(123, 101, 190, 0.4); transform: translateY(-2px); }

.whatsappCard img { object-fit: cover; width: 88px; height: 88px; display: block; }

.whatsappCard span { gap: 6px; display: grid; }

.whatsappCard strong { font-family: Georgia, serif; font-size: 18px; font-weight: 400; }

.whatsappCard small { color: rgb(130, 108, 125); font-size: 11px; line-height: 1.5; }

.whatsappCard b { color: rgb(123, 101, 190); font-size: 18px; }

footer { color: rgb(181, 163, 187); letter-spacing: 0.12em; text-transform: uppercase; border-top: 1px solid rgba(255, 255, 255, 0.1); justify-content: space-between; align-items: center; height: 110px; font-size: 11px; display: flex; }

footer span { color: var(--gold); font-family: Georgia, serif; font-size: 16px; }

@media (width <= 800px) {
  .shell { width: min(100% - 30px, 1180px); }
  nav > a:not(.navCta) { display: none; }
  .heroGrid { grid-template-columns: 1fr; padding-top: 140px; padding-bottom: 90px; }
  .heroCopy { text-align: center; }
  .lede { margin-inline: auto; }
  .actions, .micro { justify-content: center; }
  .logoStage { order: -1; }
  .logoStage img { width: 210px; }
  .hero, .heroGrid { min-height: 980px; }
  .manifesto { padding: 72px 0px; }
  .manifestoGrid, .credibilityGrid, .founderGrid, .contactGrid { grid-template-columns: 1fr; gap: 35px; }
  .benefitGrid, .reviewGrid, .serviceGrid { grid-template-columns: 1fr; }
  .benefitGrid article { border-bottom: 1px solid rgba(64, 37, 73, 0.17); border-right: 0px; padding: 24px 10px; }
  .benefitGrid article:last-child { border-bottom: 0px; }
  .reviewsBlock { padding-top: 62px; }
  .reviewGrid figcaption { flex-direction: column; align-items: flex-start; gap: 5px; }
  .credibility, .about, .localServices, .contact { padding: 72px 0px; }
  .serviceGrid article { border-bottom: 1px solid rgba(64, 37, 73, 0.18); border-right: 0px; padding: 25px 12px; }
  .serviceGrid article:last-child { border-bottom: 0px; }
  .portraitFrame { width: min(240px, 72vw); margin-inline: auto; }
  .founderCopy { text-align: center; }
  .founderCopy .button { margin-inline: auto; }
  .whatsappCard { grid-template-columns: 72px 1fr auto; }
  .whatsappCard img { width: 72px; height: 72px; }
  .contact form { grid-template-columns: 1fr; padding: 25px; }
  .contact label { grid-column: 1 / -1 !important; }
  .contact button { width: 100%; }
  footer { text-align: center; flex-direction: column; gap: 20px; height: auto; padding: 35px 0px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .button { transition: none; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 2px solid #f3cf83;
  outline-offset: 3px;
}
