* { box-sizing: border-box; }
:root {
  color-scheme: dark;
  --ink: #111013;
  --black: #0d0b0d;
  --panel: #1b171a;
  --panel-soft: #241c1f;
  --wine: #65050d;
  --wine-bright: #830e1b;
  --wine-light: #b87c80;
  --ivory: #f1ece8;
  --mist: #d6ceca;
  --gray: #a79d9d;
  --serif: "Cormorant Garamond", Georgia, serif;
  --sans: "Inter", Arial, sans-serif;
  font-family: var(--sans);
  background: var(--ink);
  color: var(--ivory);
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
html { min-width: 320px; scroll-behavior: smooth; scroll-padding-top: 80px; }
body { margin: 0; min-width: 320px; background: var(--ink); color: var(--ivory); }
a { color: inherit; }
a:focus-visible { outline: 2px solid #ead9d4; outline-offset: 4px; }
.skip-link { position: absolute; z-index: 100; top: -50px; left: 14px; padding: 10px 14px; color: var(--black); background: var(--ivory); }
.skip-link:focus { top: 10px; }
.site-header { position: relative; z-index: 5; display: flex; align-items: center; justify-content: space-between; gap: 25px; min-height: 82px; padding: 14px clamp(22px, 5.5vw, 82px); background: linear-gradient(105deg, #51030a, #690710 58%, #420208); border-bottom: 1px solid rgba(239,222,217,.2); }
.wordmark { display: inline-flex; align-items: center; gap: 11px; color: var(--ivory); font-family: var(--serif); font-size: 21px; font-weight: 500; letter-spacing: .09em; text-decoration: none; white-space: nowrap; }
.wordmark i { font-size: .72em; font-weight: 300; text-transform: lowercase; }
.seal { display: grid; width: 40px; height: 40px; place-items: center; border: 1px solid rgba(241,228,223,.65); border-radius: 50%; font-size: 15px; letter-spacing: -.08em; }
.main-nav { display: flex; align-items: center; gap: clamp(14px, 2.7vw, 38px); }
.main-nav > a:not(.nav-contact) { color: rgba(244,235,232,.75); font-size: 10px; text-decoration: none; transition: color .18s ease; }
.main-nav > a:not(.nav-contact):hover { color: white; }
.nav-contact { display: inline-flex; align-items: center; gap: 9px; padding: 11px 14px; border: 1px solid rgba(247,230,225,.46); color: var(--ivory); font-size: 9px; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; white-space: nowrap; transition: background .18s ease; }
.nav-contact:hover { background: rgba(255,255,255,.08); }
.hero { position: relative; isolation: isolate; display: flex; min-height: min(760px, calc(100vh - 82px)); min-height: clamp(650px, 82vh, 780px); align-items: center; overflow: hidden; background: radial-gradient(ellipse at 82% 42%, rgba(111,8,20,.54), transparent 43%), linear-gradient(110deg, #151315, #1d1317 63%, #36040c); }
.hero-art { position: absolute; z-index: -2; top: 0; right: 0; width: 57%; height: 100%; object-fit: cover; object-position: center 42%; opacity: .66; filter: saturate(.78) contrast(1.05); }
.hero-shade { position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, #141214 0%, rgba(20,17,19,.97) 34%, rgba(21,15,18,.75) 54%, rgba(20,12,15,.18) 100%), linear-gradient(0deg, rgba(13,11,13,.73), transparent 35%); }
.hero-orbit { position: absolute; z-index: -1; border: 1px solid rgba(235,226,220,.18); border-radius: 50%; pointer-events: none; }
.orbit-a { top: 14%; left: 51%; width: min(48vw, 610px); aspect-ratio: 1; }
.orbit-b { top: 20%; left: 55%; width: min(39vw, 495px); aspect-ratio: 1; border-color: rgba(235,226,220,.1); }
.hero-inner { position: relative; display: flex; width: min(1200px, calc(100% - 12vw)); min-height: inherit; align-items: center; margin: 0 auto; }
.hero-copy { position: relative; z-index: 1; max-width: 690px; padding: 85px 0 96px; }
.eyebrow { display: flex; align-items: center; gap: 9px; margin: 0 0 18px; color: #c5a5a5; font-size: 9px; font-weight: 600; letter-spacing: .18em; line-height: 1.6; }
.eyebrow-mark { color: #d3a5a7; font-size: 13px; }
.hero h1 { max-width: 720px; margin: 0; color: var(--ivory); font-family: var(--serif); font-size: clamp(58px, 7.7vw, 103px); font-weight: 300; letter-spacing: -.045em; line-height: .91; text-wrap: balance; }
.hero-subtitle { max-width: 590px; margin: 24px 0 0; color: rgba(240,232,228,.82); font-size: 14px; font-weight: 300; line-height: 1.85; }
.hero-subtitle strong { display: block; margin-bottom: 8px; color: #eee5e1; font-family: var(--serif); font-size: 27px; font-weight: 400; line-height: 1.1; }
.button { display: inline-flex; min-height: 52px; align-items: center; justify-content: space-between; gap: 18px; padding: 15px 19px; border: 1px solid rgba(241,210,204,.38); font-size: 9px; font-weight: 700; letter-spacing: .1em; line-height: 1.4; text-decoration: none; text-transform: uppercase; transition: transform .18s ease, background .18s ease, box-shadow .18s ease; }
.button:hover { transform: translateY(-2px); box-shadow: 0 10px 27px rgba(0,0,0,.24); }
.button-primary { color: #fff9f6; background: #780b17; }
.button-primary:hover { background: #8e101e; }
.hero .button { min-width: 300px; margin-top: 28px; }
.hero-footnote { margin: 14px 0 0; color: rgba(231,219,216,.55); font-size: 7px; letter-spacing: .16em; }
.hero-caption { position: absolute; right: 0; bottom: 7%; display: flex; flex-direction: column; align-items: flex-end; gap: 5px; color: rgba(239,231,227,.7); font-family: var(--serif); text-align: right; }
.hero-caption span { font-family: var(--sans); font-size: 7px; letter-spacing: .25em; }
.hero-caption strong { font-size: 42px; font-weight: 300; }
.hero-caption i { color: #bd878a; font-style: normal; }
.hero-scroll { position: absolute; right: 5.5%; bottom: 23px; left: 5.5%; display: flex; justify-content: space-between; padding-top: 13px; border-top: 1px solid rgba(238,230,226,.2); color: rgba(237,229,226,.62); font-size: 7px; letter-spacing: .18em; text-decoration: none; }
.section-pad { padding: clamp(74px, 9vw, 118px) clamp(24px, 7vw, 105px); }
.problem-section { display: grid; grid-template-columns: minmax(260px, .8fr) minmax(0, 1.2fr); align-items: center; gap: clamp(35px, 7vw, 95px); color: #292326; background: #e9e4e1; }
.eyebrow-dark { color: #76121c; }
.section-intro-block h2, .section-heading h2, .method-copy h2, .closing-section h2 { margin: 0; font-family: var(--serif); font-size: clamp(41px, 5.4vw, 67px); font-weight: 400; letter-spacing: -.045em; line-height: .97; text-wrap: balance; }
.section-intro-block h2 em, .section-heading h2 em, .method-copy h2 em, .closing-section h2 em { color: #7c0b17; font-style: normal; }
.section-intro-block > p:last-child { max-width: 470px; margin: 21px 0 0; color: #645a5b; font-size: 12px; line-height: 1.9; }
.problem-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.problem-card { min-height: 252px; padding: 25px 22px; border: 1px solid rgba(77,47,51,.18); }
.problem-before { background: rgba(255,255,255,.35); }
.problem-after { color: #eee6e3; background: #261b1f; border-color: #39272b; }
.card-index { color: #8a3038; font-size: 7px; font-weight: 600; letter-spacing: .15em; }
.problem-after .card-index { color: #ca9698; }
.problem-card h3 { margin: 40px 0 12px; font-family: var(--serif); font-size: 29px; font-weight: 500; line-height: 1; }
.problem-card p { margin: 0; color: #6b6061; font-size: 10px; line-height: 1.8; }
.problem-after p { color: rgba(239,228,224,.7); }
.process-section { background: #161316; }
.section-heading { max-width: 770px; }
.section-heading > p:last-child { max-width: 610px; margin: 17px 0 0; color: rgba(233,225,222,.67); font-size: 12px; line-height: 1.85; }
.section-heading h2 { color: #f1ece8; }
.process-steps { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 0; margin-top: 49px; border-top: 1px solid rgba(226,211,206,.2); border-bottom: 1px solid rgba(226,211,206,.2); }
.process-step { display: flex; gap: 18px; min-height: 145px; padding: 25px 21px 22px 0; }
.process-step + .process-step { padding-left: 22px; border-left: 1px solid rgba(226,211,206,.17); }
.process-step > span { color: #c18b8f; font-family: var(--serif); font-size: 27px; }
.process-step h3 { margin: 2px 0 8px; color: #f0e9e5; font-family: var(--serif); font-size: 24px; font-weight: 500; }
.process-step p { max-width: 290px; margin: 0; color: rgba(231,221,217,.67); font-size: 10px; line-height: 1.8; }
.plans-section { color: #efe9e6; background: #21191b; }
.plans-heading { margin-bottom: 43px; }
.plans-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; align-items: stretch; }
.plan-card { display: flex; flex-direction: column; min-height: 580px; padding: 25px 23px 23px; background: linear-gradient(150deg, #191619, #241b1e); border: 1px solid rgba(235,222,218,.19); }
.plan-featured { background: linear-gradient(150deg, #39070d, #211316 76%); border-color: rgba(194,123,128,.7); box-shadow: 0 14px 42px rgba(0,0,0,.16); }
.plan-topline { display: flex; align-items: center; justify-content: space-between; gap: 9px; color: rgba(236,221,217,.63); font-size: 7px; letter-spacing: .13em; }
.plan-topline span:first-child { color: #ca8d90; font-family: var(--serif); font-size: 20px; letter-spacing: 0; }
.plan-card h3 { min-height: 68px; margin: 28px 0 11px; color: #f2eae6; font-family: var(--serif); font-size: 31px; font-weight: 500; letter-spacing: -.025em; line-height: .98; }
.plan-card h3 small { display: block; margin-top: 6px; color: #c6a5a4; font-family: var(--sans); font-size: 9px; font-weight: 400; letter-spacing: .04em; }
.plan-price { margin: 0; color: #f2e9e5; font-family: var(--serif); font-size: clamp(36px, 3.7vw, 49px); font-weight: 400; letter-spacing: -.045em; line-height: 1; white-space: nowrap; }
.price-note { margin: 6px 0 0; color: #c49b9c; font-size: 8px; letter-spacing: .08em; }
.plan-summary { min-height: 50px; margin: 19px 0 0; color: rgba(235,224,220,.69); font-size: 10px; line-height: 1.7; }
.deliverables { display: grid; gap: 10px; margin: 19px 0 24px; padding: 17px 0 0; border-top: 1px solid rgba(226,208,204,.16); list-style: none; }
.deliverables li { position: relative; padding-left: 16px; color: rgba(239,230,226,.84); font-size: 9px; line-height: 1.65; }
.deliverables li::before { position: absolute; top: .5em; left: 0; width: 5px; height: 5px; border: 1px solid #bb8387; border-radius: 50%; content: ""; }
.plan-card .button { width: 100%; margin-top: auto; font-size: 8px; }
.button-outline { color: #f3e9e5; background: transparent; }
.button-outline:hover { background: rgba(255,255,255,.07); }
.plan-price-stack { display: flex; align-items: baseline; gap: 8px; }
.plan-price-stack small { color: #c49b9c; font-family: var(--sans); font-size: 9px; letter-spacing: .05em; }
.plus-fee { margin: 5px 0 0; color: #eadeda; font-family: var(--serif); font-size: 26px; line-height: 1.1; }
.plus-fee span { display: block; margin-top: 3px; color: #c49b9c; font-family: var(--sans); font-size: 8px; letter-spacing: .03em; }
.plans-footnote { margin: 25px 0 0; color: rgba(236,223,218,.63); font-size: 9px; text-align: center; }
.method-section { position: relative; display: grid; grid-template-columns: .42fr 1fr; align-items: center; gap: 35px; overflow: hidden; background: linear-gradient(110deg, #3b060d, #1b1115 67%, #150f12); }
.method-ornament { display: grid; width: min(24vw, 230px); aspect-ratio: 1; place-items: center; justify-self: center; border: 1px solid rgba(232,208,203,.36); border-radius: 50%; box-shadow: 0 0 0 15px rgba(255,255,255,.018), inset 0 0 0 12px rgba(255,255,255,.018); }
.method-ornament span { color: rgba(238,223,219,.8); font-family: var(--serif); font-size: clamp(56px, 8vw, 94px); font-weight: 300; letter-spacing: -.12em; }
.method-copy h2 { max-width: 740px; color: var(--ivory); }
.method-copy h2 em { color: #c28c90; }
.method-copy > p:last-of-type { max-width: 690px; margin: 18px 0 0; color: rgba(238,226,222,.72); font-size: 11px; line-height: 1.85; }
.method-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 23px; }
.method-tags span { padding: 8px 12px; border: 1px solid rgba(236,218,214,.3); color: #f0e6e2; font-family: var(--serif); font-size: 17px; }
.closing-section { display: flex; flex-direction: column; align-items: center; background: #e9e4e1; color: #292326; text-align: center; }
.closing-section .eyebrow { justify-content: center; }
.closing-section h2 { max-width: 830px; }
.closing-section > p:not(.eyebrow) { max-width: 620px; margin: 19px 0 0; color: #645a5b; font-size: 11px; line-height: 1.85; }
.closing-button { min-width: min(100%, 330px); margin-top: 25px; }
.site-footer { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 25px; padding: 22px clamp(22px, 5.5vw, 82px); background: #0c0b0d; color: rgba(232,224,221,.57); }
.footer-wordmark { font-size: 18px; }
.footer-wordmark .seal { width: 34px; height: 34px; font-size: 13px; }
.site-footer > p { margin: 0; font-size: 7px; letter-spacing: .17em; text-align: center; }
.footer-support { display: inline-flex; align-items: center; gap: 7px; color: rgba(239,229,225,.76); font-size: 8px; text-decoration: none; }
.footer-support:hover { color: #fff; }
.footer-support span { color: #ba7f84; font-size: 13px; }
@media (max-width: 980px) {
  .site-header { gap: 18px; padding-right: 22px; padding-left: 22px; }
  .main-nav { gap: 13px; }
  .main-nav > a:not(.nav-contact) { font-size: 9px; }
  .nav-contact { padding: 10px; font-size: 8px; }
  .problem-section { grid-template-columns: 1fr; }
  .section-intro-block { max-width: 740px; }
  .plans-grid { grid-template-columns: 1fr; max-width: 690px; margin: 0 auto; }
  .plan-card { min-height: 0; }
  .plan-card h3 { min-height: 0; }
  .plan-summary { min-height: 0; }
  .plan-card .button { margin-top: 4px; }
}
@media (max-width: 700px) {
  html { scroll-padding-top: 15px; }
  .site-header { display: block; padding: 13px 18px 10px; }
  .wordmark { gap: 8px; font-size: 18px; }
  .seal { width: 34px; height: 34px; font-size: 13px; }
  .main-nav { gap: 18px; overflow-x: auto; margin-top: 11px; padding: 3px 0 7px; scrollbar-width: none; }
  .main-nav::-webkit-scrollbar { display: none; }
  .main-nav > a:not(.nav-contact) { flex: 0 0 auto; font-size: 9px; }
  .nav-contact { flex: 0 0 auto; padding: 8px 10px; font-size: 7px; }
  .hero { min-height: 760px; min-height: min(800px, max(700px, 92svh)); align-items: flex-end; }
  .hero-art { top: 0; right: -14%; width: 95%; height: 69%; object-position: center 35%; opacity: .48; }
  .hero-shade { background: linear-gradient(0deg, #151214 5%, rgba(21,17,19,.97) 27%, rgba(20,15,17,.62) 56%, rgba(17,13,15,.18) 100%), linear-gradient(90deg, rgba(14,12,14,.42), transparent); }
  .orbit-a { top: 8%; left: 12%; width: 80vw; }
  .orbit-b { top: 14%; left: 18%; width: 67vw; }
  .hero-inner { width: calc(100% - 42px); min-height: 100%; align-items: flex-end; }
  .hero-copy { padding: 0 0 100px; }
  .eyebrow { margin-bottom: 12px; font-size: 7px; letter-spacing: .13em; }
  .hero h1 { font-size: clamp(49px, 12vw, 74px); line-height: .92; }
  .hero-subtitle { margin-top: 17px; font-size: 11px; line-height: 1.75; }
  .hero-subtitle strong { font-size: 23px; }
  .hero .button { width: 100%; min-width: 0; margin-top: 19px; padding: 14px; font-size: 8px; }
  .hero-footnote { font-size: 6px; letter-spacing: .1em; line-height: 1.6; }
  .hero-caption { right: 0; bottom: 4%; }
  .hero-caption strong { font-size: 28px; }
  .hero-scroll { right: 21px; bottom: 17px; left: 21px; font-size: 6px; }
  .section-pad { padding: 68px 22px; }
  .section-intro-block h2, .section-heading h2, .method-copy h2, .closing-section h2 { font-size: clamp(40px, 11vw, 57px); }
  .section-intro-block > p:last-child { font-size: 11px; }
  .problem-columns { grid-template-columns: 1fr; gap: 9px; }
  .problem-card { min-height: 0; padding: 21px 19px; }
  .problem-card h3 { margin: 25px 0 9px; font-size: 26px; }
  .problem-card p { font-size: 10px; }
  .section-heading > p:last-child { font-size: 10px; }
  .process-steps { grid-template-columns: 1fr; margin-top: 30px; }
  .process-step { min-height: 0; padding: 19px 0; }
  .process-step + .process-step { padding-left: 0; border-top: 1px solid rgba(226,211,206,.17); border-left: 0; }
  .process-step h3 { font-size: 22px; }
  .process-step p { font-size: 9px; }
  .plans-heading { margin-bottom: 28px; }
  .plan-card { padding: 22px 19px; }
  .plan-card h3 { margin-top: 22px; font-size: 29px; }
  .plan-price { font-size: 44px; }
  .plus-fee { font-size: 24px; }
  .plan-summary { margin-top: 14px; font-size: 9px; }
  .deliverables { gap: 8px; margin: 16px 0 20px; }
  .deliverables li { font-size: 9px; }
  .plans-footnote { font-size: 8px; line-height: 1.7; }
  .method-section { grid-template-columns: 1fr; gap: 29px; }
  .method-ornament { width: 112px; justify-self: start; }
  .method-ornament span { font-size: 51px; }
  .method-copy > p:last-of-type { font-size: 10px; }
  .method-tags span { font-size: 15px; }
  .closing-section > p:not(.eyebrow) { font-size: 10px; }
  .closing-button { width: 100%; }
  .site-footer { grid-template-columns: 1fr; gap: 12px; padding: 22px; }
  .site-footer > p { text-align: left; }
  .footer-support { font-size: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
