:root {
  --ink: #2d211d;
  --ink-deep: #201916;
  --paper: #efe5d5;
  --paper-light: #f9f4ea;
  --paper-pink: #ead5cf;
  --plum: #4a2e37;
  --olive: #4b5442;
  --olive-deep: #333b31;
  --terracotta: #a75c4e;
  --gold: #b48848;
  --line: #bda998;
  --muted: #6e6259;
  --max: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background-color: var(--paper); background-image: radial-gradient(rgba(90, 62, 43, .075) .7px, transparent .7px), radial-gradient(rgba(255, 255, 255, .38) .6px, transparent .6px); background-position: 0 0, 8px 9px; background-size: 13px 13px, 17px 17px; font-family: Montserrat, Arial, sans-serif; font-size: 15px; line-height: 1.68; }
a { color: inherit; }
.skip-link { position: fixed; z-index: 9; top: -100px; left: 18px; padding: 10px 14px; background: var(--paper-light); }.skip-link:focus { top: 16px; }

.site-header { position: relative; min-height: 96px; padding: 0 max(28px, calc((100vw - var(--max)) / 2)); display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 30px; border-bottom: 1px solid var(--line); background: rgba(239, 229, 213, .94); }.site-header::after { content: ''; position: absolute; right: 0; bottom: 4px; left: 0; border-bottom: 1px solid rgba(84, 58, 42, .22); }
.brand, .footer-brand { display: inline-flex; align-items: center; gap: 11px; width: fit-content; color: var(--ink); font: 600 22px/.71 'Cormorant Garamond', Georgia, serif; letter-spacing: .01em; text-decoration: none; }.brand em, .footer-brand em { font: 500 9px/1.2 Montserrat, sans-serif; letter-spacing: .22em; text-transform: uppercase; }.brand-mark, .footer-mark { width: 32px; height: 32px; display: grid; place-items: center; color: var(--paper-light); background: var(--plum); border: 1px solid #754a50; border-radius: 50%; box-shadow: inset 0 0 0 3px var(--plum), inset 0 0 0 4px #d3b483; font: 600 21px/1 'Cormorant Garamond', Georgia, serif; }
nav { display: flex; align-items: center; gap: clamp(17px, 2.8vw, 39px); } nav a { color: var(--ink); font-size: 10px; font-weight: 600; letter-spacing: .12em; text-decoration: none; text-transform: uppercase; } nav a:hover, nav a[aria-current="page"] { color: var(--terracotta); }.site-header .button { justify-self: end; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 45px; padding: 11px 18px; color: var(--paper-light); background: var(--plum); border: 1px solid var(--plum); box-shadow: 3px 3px 0 rgba(74, 46, 55, .16); font-size: 10px; font-weight: 600; letter-spacing: .095em; text-decoration: none; text-transform: uppercase; transition: transform .2s ease, background .2s ease; }.button:hover { color: var(--plum); background: transparent; transform: translate(-1px, -1px); }.button-small { min-height: 38px; padding: 9px 12px; font-size: 9px; }.button-light { color: var(--ink); background: var(--paper-light); border-color: var(--paper-light); }.button-light:hover { color: var(--paper-light); background: transparent; }.eyebrow { margin: 0 0 14px; color: var(--terracotta); font-size: 9px; font-weight: 600; letter-spacing: .19em; line-height: 1.4; text-transform: uppercase; }
h1, h2, h3 { font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 600; letter-spacing: -.025em; }

.hero { overflow: hidden; border-bottom: 1px solid #9a8778; background: var(--paper-light); }.hero-grid { width: min(var(--max), calc(100% - 56px)); min-height: 645px; margin: 0 auto; display: grid; grid-template-columns: 1.05fr .95fr; }.hero-copy { position: relative; padding: 108px 65px 90px 0; display: flex; flex-direction: column; justify-content: center; }.hero-copy::after { content: '✦'; position: absolute; right: 0; bottom: 65px; color: #d2b07b; font-size: 19px; }.hero h1 { max-width: 690px; margin: 0; color: var(--ink); font-size: clamp(60px, 7vw, 108px); line-height: .86; }.hero h1 i, .pricing-hero h1 i { color: var(--terracotta); font-weight: 500; }.hero-lede { max-width: 535px; margin: 31px 0 0; color: var(--muted); font-size: 16px; line-height: 1.78; }.hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 23px; margin-top: 31px; }.quiet-link { color: var(--ink); font-size: 10px; font-weight: 600; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; border-bottom: 1px solid var(--line); padding: 7px 0; }.quiet-link:hover { color: var(--terracotta); }
.hero-visual { position: relative; min-height: 645px; display: grid; place-items: center; background: var(--olive-deep); background-image: linear-gradient(rgba(27, 33, 26, .15), rgba(27, 33, 26, .15)), radial-gradient(rgba(255, 255, 255, .08) .8px, transparent .8px), repeating-linear-gradient(90deg, transparent 0 48px, rgba(240, 230, 202, .05) 49px 50px); background-size: auto, 11px 11px, auto; }.hero-visual::before, .hero-visual::after { content: '❦'; position: absolute; color: rgba(229, 205, 158, .55); font: 500 92px/1 'Cormorant Garamond', serif; }.hero-visual::before { top: 31px; left: 38px; transform: rotate(-18deg); }.hero-visual::after { right: 32px; bottom: 24px; transform: scaleX(-1) rotate(-22deg); }.folio-shadow { position: absolute; width: min(72%, 380px); height: 470px; background: rgba(13, 18, 13, .4); transform: translate(13px, 14px) rotate(2deg); }.hero-folio { position: relative; z-index: 1; width: min(72%, 380px); min-height: 470px; padding: 30px 33px; color: var(--ink); background: var(--paper-pink); background-image: linear-gradient(rgba(255,255,255,.18), rgba(255,255,255,.18)), repeating-linear-gradient(0deg, transparent 0 28px, rgba(102,70,60,.075) 29px); border: 1px solid rgba(94, 58, 49, .55); box-shadow: 1px 2px 0 rgba(249, 244, 234, .35); transform: rotate(-1.8deg); }.folio-kicker { margin: 0; color: #795247; font-size: 8px; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; }.folio-ornament { margin: 30px 0 14px; color: var(--terracotta); font-size: 26px; text-align: center; }.hero-folio h2 { margin: 0; font-size: 39px; line-height: .94; }.hero-folio > p:not(.folio-kicker) { margin: 19px 0 22px; color: #59463e; font-size: 12px; line-height: 1.65; }.hero-folio dl { margin: 0; border-top: 1px solid #a88c7f; }.hero-folio dl div { display: grid; grid-template-columns: 37px 1fr; padding: 8px 0; border-bottom: 1px solid rgba(126, 89, 76, .45); }.hero-folio dt { color: var(--terracotta); font: 500 12px 'Cormorant Garamond', serif; }.hero-folio dd { margin: 0; color: #55413a; font-size: 9px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; }.folio-seal { position: absolute; right: 25px; bottom: 20px; width: 35px; height: 35px; display: grid; place-items: center; border: 1px solid #89584e; border-radius: 50%; color: var(--paper-light); background: var(--terracotta); font: 600 24px/1 'Cormorant Garamond', serif; }
.hero-note { width: min(var(--max), calc(100% - 56px)); margin: 0 auto; padding: 15px 0; display: flex; justify-content: space-between; gap: 20px; color: #786a5e; font-size: 8px; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; }

.section { width: min(var(--max), calc(100% - 56px)); margin: 0 auto; padding: 121px 0; }.intro-band { display: grid; grid-template-columns: .56fr 1.44fr; gap: 70px; }.intro-band > div { max-width: 780px; }.intro-band h2, .section-heading h2, .aggregation-copy h2, .popular-heading h2, .pricing-intro h2, .pricing-note-band h2 { margin: 0; font-size: clamp(42px, 4.8vw, 69px); line-height: .93; }.intro-band > div p { max-width: 690px; margin: 27px 0 0; color: var(--muted); font-size: 15px; }
.services { position: relative; border-top: 1px solid var(--line); }.services::before { content: '❧'; position: absolute; top: 76px; right: 3%; color: rgba(167, 92, 78, .18); font: 500 115px/1 'Cormorant Garamond', serif; transform: rotate(20deg); }.section-heading { max-width: 800px; }.compact-heading { max-width: 650px; }.service-list { position: relative; z-index: 1; margin-top: 61px; border-top: 1px solid var(--line); }.service-list article { display: grid; grid-template-columns: .24fr 1fr 154px .64fr; gap: 28px; padding: 40px 0; border-bottom: 1px solid var(--line); }.service-number { margin: 4px 0 0; color: var(--terracotta); font-size: 9px; font-weight: 600; letter-spacing: .11em; }.service-list h3 { margin: 0; font-size: clamp(32px, 3vw, 44px); line-height: .94; }.service-list article div p { max-width: 560px; margin: 16px 0 0; color: var(--muted); font-size: 13px; }.service-list ul { margin: 0; padding: 0; list-style: none; color: #594a42; font-size: 10px; font-weight: 600; letter-spacing: .05em; }.service-list li { padding: 10px 0; border-top: 1px solid var(--line); }.service-list li:last-child { border-bottom: 1px solid var(--line); }
.service-arrangement { position: relative; width: 154px; height: 143px; margin: 0; overflow: hidden; border: 1px solid #bda392; background: var(--paper-pink); box-shadow: 3px 4px 0 rgba(106, 73, 52, .13); transform: rotate(-1.4deg); }.service-arrangement::before { content: ''; position: absolute; inset: 7px; border: 1px solid rgba(116, 79, 64, .32); }.arrangement-caption { position: absolute; z-index: 3; top: 15px; left: 15px; color: #76544b; font-size: 7px; font-weight: 600; letter-spacing: .09em; line-height: 1.35; text-transform: uppercase; }.service-arrangement b { position: absolute; z-index: 3; right: 13px; bottom: 9px; color: var(--terracotta); font: 500 22px/1 'Cormorant Garamond', serif; }.arrangement-revenue { background-color: #ead4cf; background-image: radial-gradient(rgba(117, 77, 64, .08) .7px, transparent .7px); background-size: 9px 9px; }.coin { position: absolute; z-index: 2; width: 39px; height: 39px; display: grid; place-items: center; border: 1px solid #a56e55; border-radius: 50%; color: #74463e; background: #ecd4ac; font: 600 23px/1 'Cormorant Garamond', serif; }.coin-one { right: 27px; top: 38px; box-shadow: inset 0 0 0 3px #ecd4ac, inset 0 0 0 4px #b78551; }.coin-two { left: 45px; bottom: 22px; width: 25px; height: 25px; color: #f6eddf; background: var(--terracotta); font-size: 18px; }.path-line { position: absolute; left: 47px; top: 78px; width: 74px; height: 35px; border-top: 1px solid #9c6655; border-right: 1px solid #9c6655; border-radius: 0 30px 0 0; transform: rotate(-16deg); }.arrangement-data { background: #e3e3d1; background-image: linear-gradient(rgba(80, 90, 70, .08) 1px, transparent 1px), linear-gradient(90deg, rgba(80, 90, 70, .08) 1px, transparent 1px); background-size: 13px 13px; transform: rotate(1deg); }.data-card { position: absolute; z-index: 2; display: block; border: 1px solid #82907b; background: rgba(250, 246, 234, .83); box-shadow: 2px 2px 0 rgba(55, 70, 52, .12); }.data-card::after { content: ''; position: absolute; right: 7px; bottom: 8px; left: 7px; height: 16px; background: repeating-linear-gradient(90deg, #748970 0 7px, transparent 7px 12px); }.card-a { top: 37px; left: 31px; width: 70px; height: 50px; transform: rotate(-5deg); }.card-b { right: 21px; top: 59px; width: 55px; height: 43px; transform: rotate(5deg); }.card-c { bottom: 15px; left: 49px; width: 67px; height: 39px; transform: rotate(-2deg); }.arrangement-place { background: #d9dfce; background-image: radial-gradient(rgba(78, 94, 68, .11) .8px, transparent .8px); background-size: 8px 8px; transform: rotate(-.7deg); }.garden-arch { position: absolute; z-index: 2; display: block; border: 8px solid #65735a; border-bottom: 0; border-radius: 50px 50px 0 0; }.arch-one { left: 25px; bottom: 19px; width: 61px; height: 73px; }.arch-two { right: 25px; bottom: 19px; width: 43px; height: 55px; border-color: #8a9b79; }.garden-path { position: absolute; z-index: 1; right: 22px; bottom: 12px; left: 27px; height: 54px; border-top: 1px solid #a16555; border-right: 1px solid #a16555; transform: skewX(-26deg); }.arrangement-place::after { content: '❦'; position: absolute; right: 5px; top: 7px; color: #a65e50; font: 500 43px/1 'Cormorant Garamond', serif; transform: rotate(19deg); }

.aggregation-section { padding: 126px max(28px, calc((100vw - var(--max)) / 2)); display: grid; grid-template-columns: 1fr 1fr; gap: clamp(55px, 8vw, 130px); align-items: center; color: var(--paper-light); background: var(--olive); background-image: radial-gradient(rgba(240, 225, 182, .06) 1px, transparent 1px), linear-gradient(135deg, rgba(18, 25, 18, .1), transparent 45%); background-size: 11px 11px, auto; }.aggregation-section .eyebrow { color: #e4bd7b; }.aggregation-copy h2 { color: #fff8ea; }.aggregation-copy > p:not(.eyebrow) { max-width: 580px; margin: 25px 0 0; color: #e3e0d1; font-size: 15px; }.aggregation-copy .fine-print { max-width: 540px; margin-top: 27px; padding-top: 18px; border-top: 1px solid rgba(235, 231, 208, .33); color: #cbd0bf; font-size: 11px; }.source-board { padding: 25px; color: var(--ink); background: var(--paper-light); background-image: radial-gradient(rgba(107, 76, 52, .06) .7px, transparent .7px); background-size: 10px 10px; border: 1px solid #dacbb5; box-shadow: 9px 10px 0 rgba(31, 37, 28, .3); transform: rotate(.55deg); }.board-heading { display: flex; justify-content: space-between; padding-bottom: 17px; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 8px; font-weight: 600; letter-spacing: .1em; }.source-columns { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; padding: 29px 0; }.source-columns div { min-height: 145px; padding: 16px 12px; border: 1px solid var(--line); background: rgba(239, 229, 213, .42); }.source-columns b { display: block; margin-top: 18px; font: 600 20px/.95 'Cormorant Garamond', serif; }.source-columns small { display: block; margin-top: 10px; color: var(--muted); font-size: 9px; line-height: 1.58; }.source-dot { width: 8px; height: 8px; display: block; border-radius: 50%; }.dot-coral { background: var(--terracotta); }.dot-gold { background: var(--gold); }.dot-teal { background: var(--olive); }.board-flow { display: flex; align-items: center; gap: 11px; padding: 17px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); font-size: 8px; font-weight: 600; letter-spacing: .075em; text-transform: uppercase; }.board-flow i { height: 1px; flex: 1; background: var(--line); }.board-callout { display: grid; gap: 4px; padding-top: 20px; }.board-callout strong { font: 600 28px/1 'Cormorant Garamond', serif; }.board-callout span { color: var(--muted); font-size: 11px; }

.approach { position: relative; padding-bottom: 110px; }.approach::after { content: '✦'; position: absolute; top: 160px; left: 45%; color: rgba(180, 136, 72, .45); font-size: 23px; }.approach-list { max-width: 900px; margin: 59px 0 0 auto; padding: 0; list-style: none; }.approach-list li { display: grid; grid-template-columns: 100px 1fr; gap: 30px; padding: 26px 0; border-top: 1px solid var(--line); }.approach-list li:last-child { border-bottom: 1px solid var(--line); }.approach-list > li > span { padding-top: 4px; color: var(--terracotta); font: 600 17px 'Cormorant Garamond', serif; }.approach-list h3 { margin: 0; font-size: 30px; line-height: 1; }.approach-list p { max-width: 630px; margin: 8px 0 0; color: var(--muted); font-size: 13px; }
.popular-section { padding: 116px max(28px, calc((100vw - var(--max)) / 2)); color: var(--paper-light); background: var(--plum); background-image: radial-gradient(rgba(246, 220, 168, .1) .8px, transparent .8px), linear-gradient(135deg, rgba(31, 15, 24, .25), transparent 55%); background-size: 12px 12px, auto; }.popular-heading { max-width: 690px; }.popular-heading .eyebrow { color: #e6bf7b; }.popular-heading h2 { color: #fff9ed; }.popular-heading > p:last-child { max-width: 560px; margin: 23px 0 0; color: #e8d5d1; font-size: 14px; }.popular-cards { margin: 54px 0 36px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }.popular-cards article { min-height: 265px; padding: 27px; color: var(--ink); background: var(--paper-pink); border: 1px solid #c89e94; border-top: 4px solid var(--gold); box-shadow: 5px 6px 0 rgba(29, 13, 22, .25); }.popular-cards article:nth-child(2) { background: #eee1c9; border-top-color: var(--terracotta); }.popular-cards article:nth-child(3) { background: #d5ddd0; border-top-color: #78846d; }.popular-cards p { margin: 0; color: var(--terracotta); font-size: 8px; font-weight: 600; letter-spacing: .1em; }.popular-cards h3 { margin: 57px 0 12px; font-size: 33px; line-height: .92; }.popular-cards span { color: var(--muted); font-size: 11px; }
.faq { display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; }.faq-list { border-top: 1px solid var(--line); }.faq details { border-bottom: 1px solid var(--line); }.faq summary { display: flex; justify-content: space-between; gap: 20px; padding: 20px 0; cursor: pointer; font: 600 20px/1.15 'Cormorant Garamond', serif; list-style: none; }.faq summary::-webkit-details-marker { display: none; }.faq summary span { color: var(--terracotta); font: 500 22px/1 Montserrat, sans-serif; }.faq details p { max-width: 640px; margin: 0; padding: 0 35px 21px 0; color: var(--muted); font-size: 12px; }
.contact-band { padding: 113px max(28px, calc((100vw - var(--max)) / 2)); color: var(--paper-light); background: var(--terracotta); background-image: radial-gradient(rgba(255, 239, 198, .11) .8px, transparent .8px), linear-gradient(125deg, rgba(104, 44, 41, .18), transparent 55%); background-size: 12px 12px, auto; }.contact-band .eyebrow { color: #3f2926; }.contact-band h2 { max-width: 850px; margin: 0; color: #fff7e9; font: 600 clamp(46px, 5.3vw, 74px)/.91 'Cormorant Garamond', Georgia, serif; letter-spacing: -.025em; }.contact-band > p:not(.eyebrow) { max-width: 625px; margin: 26px 0 32px; color: #ffede2; font-size: 15px; }.compact-contact { text-align: center; }.compact-contact h2 { margin-left: auto; margin-right: auto; }.compact-contact .button { margin-top: 8px; }

.site-footer { padding: 57px max(28px, calc((100vw - var(--max)) / 2)) 21px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 30px; color: #f5ecdc; background: var(--ink-deep); background-image: radial-gradient(rgba(244, 225, 181, .06) .8px, transparent .8px); background-size: 12px 12px; }.site-footer p { margin: 0 0 11px; color: #d1b895; font-size: 8px; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; }.footer-left, .footer-right { align-self: start; }.footer-right { text-align: right; }.social-placeholder, .payment-types { display: flex; gap: 10px; }.social-placeholder span { border-bottom: 1px solid #665249; padding-bottom: 4px; color: #eadfce; font-size: 10px; }.site-footer small { display: block; margin-top: 10px; color: #b5a99d; font-size: 9px; }.footer-brand { justify-self: center; color: #fff9ec; font-size: 26px; }.footer-mark { width: 43px; height: 43px; color: var(--ink); background: #ebd4ae; box-shadow: inset 0 0 0 3px #ebd4ae, inset 0 0 0 4px var(--gold); font-size: 28px; }.footer-brand em { font-size: 10px; }.payment-types { justify-content: flex-end; align-items: center; gap: 6px; }.payment-types span { padding: 4px 6px; color: var(--ink); background: #f9f4ea; font-size: 8px; font-weight: 600; }.payment-types span:nth-child(2) { color: #fff; background: #8c3e3d; }.payment-types span:nth-child(3) { color: #fff; background: #426984; }.payment-types span:nth-child(4) { color: #2d2830; background: #dcc49a; }.footer-bottom { grid-column: 1 / -1; margin-top: 25px; padding-top: 16px; display: flex; gap: 18px; border-top: 1px solid #504039; color: #aa9e92; font-size: 8px; letter-spacing: .05em; }.footer-bottom a { color: #e6d4bd; text-decoration: none; }

.pricing-hero { padding: 112px max(28px, calc((100vw - var(--max)) / 2)) 96px; color: var(--paper-light); background: var(--olive-deep); background-image: radial-gradient(rgba(242, 226, 184, .07) .8px, transparent .8px), linear-gradient(125deg, rgba(8, 18, 10, .25), transparent 55%); background-size: 12px 12px, auto; }.pricing-hero .eyebrow { color: #e7bf79; }.pricing-hero h1 { max-width: 1010px; margin: 0; font-size: clamp(55px, 6.4vw, 91px); line-height: .9; }.pricing-hero > p:last-child { max-width: 680px; margin: 27px 0 0; color: #e1dfcf; font-size: 15px; }.pricing-section { width: min(var(--max), calc(100% - 56px)); margin: 0 auto; padding: 103px 0 120px; }.pricing-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; padding-bottom: 50px; border-bottom: 1px solid var(--line); }.pricing-intro p { margin: 5px 0 0; color: var(--muted); font-size: 14px; }.package-grid { margin-top: 54px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 17px; }.package-card { min-height: 525px; display: flex; flex-direction: column; padding: 27px; background: var(--paper-light); border: 1px solid var(--line); border-top: 5px solid var(--olive); box-shadow: 4px 5px 0 rgba(84, 58, 42, .12); }.package-card.featured { background: #f0ded8; border-top-color: var(--terracotta); }.package-card.dark-card { color: var(--paper-light); background: var(--plum); border-color: var(--plum); border-top-color: var(--gold); }.package-card > p { margin: 0; color: var(--terracotta); font-size: 8px; font-weight: 600; letter-spacing: .1em; }.dark-card > p { color: #e7bf79; }.package-card h3 { min-height: 58px; margin: 37px 0 13px; font-size: 34px; line-height: .9; }.package-card strong { font: 600 37px/1 'Cormorant Garamond', serif; }.package-card > span { min-height: 24px; margin-top: 6px; color: var(--muted); font-size: 9px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }.dark-card > span { color: #d9c3c0; }.package-card div > p { min-height: 62px; margin: 24px 0 20px; color: var(--muted); font-size: 11px; }.dark-card div > p { color: #e4d8d5; }.package-card ul { margin: 0; padding: 0; list-style: none; font-size: 10px; }.package-card li { padding: 9px 0; border-top: 1px solid var(--line); }.dark-card li { border-color: #785563; }.package-card a { margin-top: auto; padding: 20px 0 6px; color: var(--ink); border-bottom: 1px solid var(--line); font-size: 9px; font-weight: 600; letter-spacing: .07em; text-decoration: none; text-transform: uppercase; }.dark-card a { color: #fff8e9; border-color: #9b7681; }.pricing-note-band { padding: 88px max(28px, calc((100vw - var(--max)) / 2)); display: grid; grid-template-columns: .9fr 1.1fr; gap: 80px; background: var(--paper-pink); border-top: 1px solid #c8a49e; }.pricing-note-band p:last-child { max-width: 655px; margin: 8px 0 0; color: #654f49; font-size: 15px; }

@media (max-width: 900px) { .site-header { grid-template-columns: 1fr auto; }.site-header nav { display: none; }.hero-grid { grid-template-columns: 1fr; }.hero-copy { padding: 85px 0 45px; }.hero-visual { min-height: 520px; }.intro-band, .aggregation-section, .faq, .pricing-intro, .pricing-note-band { grid-template-columns: 1fr; gap: 35px; }.service-list article { grid-template-columns: .2fr 1fr 132px; }.service-list article ul { grid-column: 2 / -1; max-width: 500px; }.service-arrangement { width: 132px; height: 125px; }.source-board { max-width: 650px; }.popular-cards, .package-grid { grid-template-columns: repeat(2, 1fr); }.site-footer { grid-template-columns: 1fr 1fr; }.footer-brand { grid-column: 1 / -1; grid-row: 1; }.footer-left { grid-row: 2; }.footer-right { grid-row: 2; } }
@media (max-width: 600px) { .site-header { min-height: 70px; padding: 0 18px; }.site-header .button { display: none; }.brand { font-size: 19px; }.hero-grid, .section, .pricing-section { width: calc(100% - 36px); }.hero-copy { padding: 67px 0 35px; }.hero h1 { font-size: 59px; }.hero-lede { font-size: 14px; }.hero-visual { min-height: 440px; margin: 0 -18px; }.hero-folio, .folio-shadow { width: min(76%, 340px); min-height: 395px; }.hero-folio { padding: 25px; }.hero-folio h2 { font-size: 34px; }.hero-visual::before { top: 22px; left: 22px; font-size: 68px; }.hero-visual::after { right: 14px; bottom: 16px; font-size: 68px; }.hero-note { width: calc(100% - 36px); flex-direction: column; gap: 6px; }.section { padding: 78px 0; }.intro-band h2, .section-heading h2, .aggregation-copy h2, .popular-heading h2, .pricing-intro h2, .pricing-note-band h2 { font-size: 45px; }.intro-band > div p, .aggregation-copy > p:not(.eyebrow), .contact-band > p:not(.eyebrow) { font-size: 14px; }.services::before { top: 42px; right: 0; font-size: 80px; }.service-list { margin-top: 40px; }.service-list article { grid-template-columns: 1fr; gap: 15px; padding: 29px 0; }.service-list article ul { grid-column: 1; }.service-arrangement { width: 154px; height: 143px; }.source-columns { grid-template-columns: 1fr; padding: 18px 0; }.source-columns div { min-height: 0; }.source-columns b { margin-top: 7px; }.source-columns small { margin-top: 5px; }.aggregation-section, .popular-section, .contact-band, .pricing-hero, .pricing-note-band { padding-right: 18px; padding-left: 18px; }.approach-list { margin-top: 38px; }.approach-list li { grid-template-columns: 42px 1fr; gap: 11px; }.approach-list h3 { font-size: 28px; }.popular-cards, .package-grid { grid-template-columns: 1fr; }.popular-cards { margin-top: 40px; }.faq { gap: 39px; }.contact-band { padding-top: 82px; padding-bottom: 82px; }.site-footer { padding: 40px 18px 20px; grid-template-columns: 1fr; text-align: center; }.footer-brand, .footer-left, .footer-right { grid-column: 1; grid-row: auto; justify-self: center; }.footer-right { text-align: center; }.social-placeholder, .payment-types { justify-content: center; }.footer-bottom { justify-content: center; flex-wrap: wrap; }.pricing-hero { padding-top: 78px; padding-bottom: 70px; }.pricing-hero h1 { font-size: 54px; }.pricing-section { padding-top: 70px; padding-bottom: 80px; }.pricing-intro { padding-bottom: 37px; }.package-card { min-height: 0; }.package-card h3, .package-card div > p { min-height: 0; }.pricing-note-band { padding-top: 66px; padding-bottom: 66px; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; }.button { transition: none; } }

/* Rosette additions: client systems, expandable packages, and display mode. */
.header-actions { justify-self: end; display: flex; align-items: center; gap: 11px; }.theme-toggle { min-height: 38px; display: inline-flex; align-items: center; gap: 6px; padding: 8px 10px; color: var(--ink); border: 1px solid var(--line); background: transparent; cursor: pointer; font: 600 8px/1 Montserrat, sans-serif; letter-spacing: .1em; text-transform: uppercase; }.theme-toggle span:first-child { color: var(--terracotta); font-size: 15px; line-height: .7; }.theme-toggle:hover { color: var(--paper-light); background: var(--ink); border-color: var(--ink); }.theme-toggle:hover span:first-child { color: #e6c17d; }
.path-line { border: 0; border-radius: 0; background: linear-gradient(to top right, transparent 47%, #9c6655 48% 51%, transparent 52%); transform: none; }.path-line::after { content: ''; position: absolute; top: 0; right: 0; width: 8px; height: 8px; border-top: 1px solid #9c6655; border-right: 1px solid #9c6655; transform: translate(1px, -1px); }.arrangement-place { background: #d5ddd0; background-image: linear-gradient(rgba(78, 94, 68, .11) 1px, transparent 1px), linear-gradient(90deg, rgba(78, 94, 68, .11) 1px, transparent 1px); background-size: 12px 12px; }.arrangement-place::after { content: ''; }.parcel { position: absolute; z-index: 2; display: block; border: 1px solid #738168; background: rgba(248, 243, 228, .42); }.parcel-one { left: 23px; bottom: 23px; width: 54px; height: 40px; transform: skewY(-12deg); }.parcel-two { right: 22px; bottom: 29px; width: 45px; height: 48px; transform: skewY(10deg); }.parcel-three { left: 66px; top: 40px; width: 50px; height: 32px; transform: skewY(-8deg); }.parcel-road { position: absolute; z-index: 1; left: 15px; top: 82px; width: 124px; height: 26px; border-top: 3px double #a26050; transform: rotate(-15deg); }.service-arrangement .compass { top: 17px; right: 14px; bottom: auto; color: #5d704f; font: 600 11px/1 Montserrat, sans-serif; }
.client-uses { position: relative; padding-top: 112px; border-top: 1px solid var(--line); }.client-uses::before { content: '✦'; position: absolute; top: 104px; right: 13%; color: rgba(180, 136, 72, .55); font-size: 25px; }.client-uses-lede { max-width: 610px; margin: 20px 0 0; color: var(--muted); font-size: 14px; }.client-use-grid { margin-top: 60px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }.client-use { min-height: 500px; padding: 22px; border: 1px solid var(--line); background: var(--paper-light); box-shadow: 4px 5px 0 rgba(84, 58, 42, .1); }.client-use:nth-child(2) { background: #e9ded0; }.client-use:nth-child(3) { background: #dce0d4; }.use-visual { position: relative; height: 125px; overflow: hidden; margin: -2px -2px 27px; border: 1px solid rgba(106, 76, 58, .34); background: #e7d2ca; }.use-visual > span { position: absolute; z-index: 3; top: 12px; left: 13px; color: #754c43; font-size: 8px; font-weight: 600; letter-spacing: .1em; }.use-visual > b { position: absolute; z-index: 4; right: 12px; bottom: 6px; color: var(--terracotta); font: 500 25px/1 'Cormorant Garamond', serif; }.digital-use .use-visual i { position: absolute; left: 23px; right: 23px; bottom: 20px; height: 58px; border: 1px solid #a06a5a; background: repeating-linear-gradient(90deg, transparent 0 17px, rgba(160, 106, 90, .45) 18px 19px), linear-gradient(to top right, transparent 49%, #8a554a 50% 52%, transparent 53%); }.intelligence-use .use-visual { background-color: #d6dccd; background-image: linear-gradient(rgba(77, 90, 70, .13) 1px, transparent 1px), linear-gradient(90deg, rgba(77, 90, 70, .13) 1px, transparent 1px); background-size: 13px 13px; }.intelligence-use .use-visual i { position: absolute; left: 30px; top: 37px; width: 93px; height: 58px; border: 1px solid #718069; background: repeating-linear-gradient(90deg, transparent 0 15px, rgba(86, 106, 78, .35) 16px 18px), #f0eadc; transform: rotate(-3deg); }.custom-use .use-visual { background: #ded1bd; }.custom-use .use-visual i { position: absolute; left: 30px; top: 31px; width: 74px; height: 74px; border: 8px solid #6b775c; border-bottom: 0; border-radius: 70px 70px 0 0; }.custom-use .use-visual::after { content: ''; position: absolute; left: 27px; right: 25px; bottom: 21px; height: 1px; background: #a15f50; transform: rotate(-13deg); }.use-kicker { margin: 0; color: var(--terracotta); font-size: 8px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }.client-use h3 { margin: 26px 0 12px; font-size: 34px; line-height: .92; }.client-use > p:not(.use-kicker) { min-height: 84px; margin: 0; color: var(--muted); font-size: 12px; }.client-use ul { margin: 22px 0 0; padding: 0; list-style: none; color: #594a42; font-size: 9px; font-weight: 600; letter-spacing: .04em; }.client-use li { padding: 8px 0; border-top: 1px solid var(--line); }
.package-card { min-height: 392px; }.package-card.featured { background: #eee0b9; border-top-color: var(--gold); }.package-card > .package-summary { min-height: 0; margin: 20px 0; color: var(--muted); font-size: 11px; font-weight: 400; letter-spacing: 0; line-height: 1.55; text-transform: none; }.package-card.featured > .package-summary { color: #66583f; }.package-badge { display: inline-block; margin-left: 6px; padding: 3px 5px; color: #fff9eb; background: var(--terracotta); font-size: 7px; letter-spacing: .06em; }.package-detail { margin-top: 1px; border-top: 1px solid var(--line); }.package-detail summary { display: flex; justify-content: space-between; gap: 10px; padding: 11px 0; cursor: pointer; color: var(--ink); font-size: 8px; font-weight: 600; letter-spacing: .07em; list-style: none; text-transform: uppercase; }.package-detail summary::-webkit-details-marker { display: none; }.package-detail summary span { color: var(--terracotta); font-size: 15px; line-height: .55; }.package-detail[open] summary { border-bottom: 1px solid var(--line); }.package-body { padding: 12px 0 3px; }.package-card .package-body > p { min-height: 0; margin: 12px 0 0; color: var(--muted); font-size: 9px; line-height: 1.55; }.package-body .addon-label { color: var(--terracotta) !important; font-size: 8px !important; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }.package-card .package-body .addons { color: #5d4d45; }.package-card .package-body ul { margin: 0; padding: 0; list-style: none; font-size: 9px; }.package-card .package-body li { padding: 6px 0; }.package-card a { margin-top: 18px; }.dark-card .package-detail { border-color: #785563; }.dark-card .package-detail summary, .dark-card .package-body .addons { color: #fff8e9; }.dark-card .package-body > p { color: #decfcd !important; }.dark-card .package-body .addon-label { color: #e7bf79 !important; }
body[data-theme="dark"] { --ink: #f3e5d3; --ink-deep: #161712; --paper: #252621; --paper-light: #302f29; --paper-pink: #493a3c; --plum: #67414c; --olive: #3c4a3b; --olive-deep: #202a21; --terracotta: #d1846e; --gold: #d5ad6b; --line: #71675d; --muted: #cbbfb0; color-scheme: dark; background-color: #252621; background-image: radial-gradient(rgba(255, 239, 208, .045) .7px, transparent .7px); }.site-header, body[data-theme="dark"] .site-header { background: rgba(37, 38, 33, .96); }.site-header::after { border-color: rgba(232, 214, 184, .17); } body[data-theme="dark"] .hero-folio, body[data-theme="dark"] .source-board, body[data-theme="dark"] .package-card:not(.dark-card), body[data-theme="dark"] .client-use { color: #30241f; } body[data-theme="dark"] .source-board { background-color: #eadfcd; } body[data-theme="dark"] .service-list ul, body[data-theme="dark"] .client-use ul { color: var(--ink); } body[data-theme="dark"] .footer-mark { color: #2d211d; } body[data-theme="dark"] .popular-cards article { color: #30241f; } body[data-theme="dark"] .theme-toggle { color: var(--ink); } body[data-theme="dark"] .theme-toggle [data-theme-label] { color: var(--gold); }
@media (max-width: 900px) { .header-actions { gap: 8px; }.client-use-grid { grid-template-columns: 1fr; max-width: 620px; }.client-use { min-height: 0; }.client-use > p:not(.use-kicker) { min-height: 0; }.client-use h3 { margin-top: 20px; }.package-card { min-height: 0; } }
@media (max-width: 600px) { .header-actions .button { display: none; }.theme-toggle { min-height: 34px; padding: 7px 8px; }.theme-toggle [data-theme-label] { display: none; }.client-uses { padding-top: 78px; }.client-use-grid { margin-top: 40px; }.client-use { padding: 19px; }.client-use h3 { font-size: 31px; } }

/* Engraved visual system: restrained, consistent, and intentionally non-literal. */
.service-arrangement, .arrangement-revenue, .arrangement-data, .arrangement-place { color: #665548; background-color: #eee4d3; background-image: radial-gradient(rgba(99, 75, 55, .07) .65px, transparent .65px); background-size: 10px 10px; }.arrangement-data { transform: rotate(.7deg); }.arrangement-place { transform: rotate(-.8deg); }.arrangement-place::after { display: none; }.engraving { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; fill: none; stroke: currentColor; stroke-width: 1.2; stroke-linecap: round; stroke-linejoin: round; }.engraving .engraving-fine { opacity: .46; stroke-width: .8; }.engraving .engraving-main { stroke: #665548; stroke-width: 1.5; }.engraving .engraving-accent { stroke: var(--terracotta); stroke-width: 1.7; }.engraving .engraving-accent-fill { fill: #ead5b5; stroke: var(--terracotta); }.engraving .engraving-leaf { fill: rgba(102, 119, 87, .12); stroke: #6a785e; }.service-arrangement .arrangement-caption { padding: 2px 4px; background: rgba(238, 228, 211, .82); }
.client-use, .client-use:nth-child(2), .client-use:nth-child(3) { background: var(--paper-light); }.client-use { min-height: 485px; }.use-visual, .intelligence-use .use-visual, .custom-use .use-visual { height: 138px; background-color: #e8decd; background-image: radial-gradient(rgba(94, 70, 51, .065) .7px, transparent .7px); background-size: 10px 10px; }.use-visual::before { content: ''; position: absolute; inset: 8px; border: 1px solid rgba(101, 75, 56, .25); }.use-visual > span { color: #72584a; }.use-visual > b, .use-visual > i, .custom-use .use-visual::after { display: none; }.plate-art { position: absolute; inset: 0; width: 100%; height: 100%; fill: none; stroke: #665548; stroke-width: 1.2; stroke-linecap: round; stroke-linejoin: round; }.plate-art .plate-fine { opacity: .48; stroke-width: .8; }.plate-art .plate-accent { stroke: var(--terracotta); stroke-width: 1.65; }.plate-art .plate-fill { fill: #e3cba3; stroke: var(--terracotta); }
body[data-theme="dark"] .service-arrangement { color: #665548; background-color: #e5d9c6; } body[data-theme="dark"] .client-use { color: #30241f; background: #e8decd; } body[data-theme="dark"] .client-use .use-visual { background-color: #ddd0bb; }

/* Project and monthly pricing are shown side by side for every package. */
.price-pair {
  margin-top: 4px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.price-pair > div {
  min-width: 0;
  padding: 14px 12px 13px 0;
}
.price-pair > div + div {
  padding-right: 0;
  padding-left: 14px;
  border-left: 1px solid var(--line);
}
.price-pair small,
.price-pair strong {
  display: block;
}
.price-pair small {
  margin-bottom: 7px;
  color: var(--terracotta);
  font-size: 8px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.price-pair strong {
  font: 600 clamp(24px, 2.2vw, 32px)/.95 "Cormorant Garamond", serif;
}
.dark-card .price-pair,
.dark-card .price-pair > div + div {
  border-color: #785563;
}
.dark-card .price-pair small {
  color: #e7bf79;
}
@media (max-width: 600px) {
  .price-pair strong {
    font-size: 29px;
  }
}

/* Painted brand mark, inquiry screen, and secondary-page artwork. */
.brand-symbol {
  width: 46px;
  height: 46px;
  object-fit: contain;
  border-radius: 0;
  filter: drop-shadow(0 2px 2px rgba(55, 31, 25, .18));
  box-shadow: none;
}
.footer-symbol {
  width: 66px;
  height: 66px;
  filter: drop-shadow(0 3px 4px rgba(0, 0, 0, .24));
  box-shadow: none;
}

.pricing-art-break {
  min-height: 540px;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr);
  color: #f5ead8;
  background: #30392f;
  border-top: 1px solid #8f7756;
  border-bottom: 1px solid #8f7756;
}
.pricing-art-break figure {
  min-width: 0;
  min-height: 540px;
  margin: 0;
  position: relative;
  overflow: hidden;
}
.pricing-art-break figure::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 65%, rgba(48, 57, 47, .88));
  pointer-events: none;
}
.pricing-art-break img {
  width: 100%;
  height: 100%;
  min-height: 540px;
  display: block;
  object-fit: cover;
  object-position: 51% 58%;
  filter: saturate(.72) contrast(1.04) brightness(.78);
}
.pricing-art-break figcaption {
  position: absolute;
  z-index: 2;
  bottom: 8px;
  left: 10px;
}
.pricing-art-break figcaption a {
  color: rgba(255, 244, 224, .43);
  font-size: 6.5px;
  text-decoration: none;
}
.pricing-art-break > div {
  padding: clamp(72px, 8vw, 125px) max(28px, calc((100vw - var(--max)) / 2)) clamp(72px, 8vw, 125px) clamp(42px, 6vw, 92px);
  align-self: center;
}
.pricing-art-break .eyebrow { color: #d7b573; }
.pricing-art-break h2 {
  max-width: 570px;
  margin: 0;
  color: #fff8ea;
  font-size: clamp(45px, 4.8vw, 72px);
  line-height: .91;
}
.pricing-art-break > div > p:last-child {
  max-width: 540px;
  margin: 27px 0 0;
  color: #d8d5c7;
  font-size: 15px;
}

body.dialog-open { overflow: hidden; }
.contact-dialog {
  width: min(1080px, calc(100vw - 34px));
  max-width: none;
  max-height: min(880px, calc(100vh - 34px));
  padding: 0;
  overflow: hidden;
  color: #352a25;
  background: #f5ecde;
  border: 1px solid #9d7b60;
  box-shadow: 0 28px 85px rgba(20, 15, 12, .46);
}
.contact-dialog::backdrop {
  background: rgba(20, 24, 18, .74);
  backdrop-filter: blur(3px);
}
.contact-dialog-shell {
  max-height: min(880px, calc(100vh - 34px));
  display: grid;
  grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr);
}
.contact-dialog-art {
  min-height: 100%;
  margin: 0;
  position: relative;
  overflow: hidden;
  background: #292a24;
}
.contact-dialog-art::after {
  content: "";
  position: absolute;
  inset: 0;
  box-shadow: inset -18px 0 32px rgba(20, 18, 14, .24);
  pointer-events: none;
}
.contact-dialog-art img {
  width: 100%;
  height: 100%;
  min-height: 760px;
  display: block;
  object-fit: cover;
  object-position: 47% 58%;
  filter: saturate(.72) contrast(1.04) brightness(.74);
}
.contact-dialog-art figcaption {
  position: absolute;
  z-index: 2;
  right: 8px;
  bottom: 7px;
  left: 8px;
}
.contact-dialog-art figcaption a {
  color: rgba(255, 245, 226, .42);
  font-size: 6px;
  line-height: 1.2;
  text-decoration: none;
}
.contact-dialog-content {
  padding: 44px clamp(28px, 4.5vw, 64px) 42px;
  position: relative;
  overflow-y: auto;
  background:
    radial-gradient(rgba(83, 59, 44, .05) .65px, transparent .75px),
    #f5ecde;
  background-size: 13px 13px, auto;
}
.contact-dialog-close {
  position: absolute;
  top: 19px;
  right: 21px;
  width: 37px;
  height: 37px;
  display: grid;
  place-items: center;
  color: #644b42;
  background: transparent;
  border: 1px solid #b49b86;
  border-radius: 50%;
  cursor: pointer;
  font: 400 25px/1 Arial, sans-serif;
}
.contact-dialog-content > h2 {
  max-width: 610px;
  margin: 0;
  font-size: clamp(44px, 5vw, 68px);
  line-height: .9;
}
.contact-dialog-intro {
  max-width: 610px;
  margin: 18px 0 27px;
  color: #6c5d53;
  font-size: 14px;
}
.contact-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 17px 18px;
}
.contact-dialog label > span,
.contact-options legend {
  display: block;
  margin-bottom: 7px;
  color: #77554b;
  font-size: 8px;
  font-weight: 600;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.contact-dialog input[type="text"],
.contact-dialog input[type="email"],
.contact-dialog input[type="tel"],
.contact-dialog textarea {
  width: 100%;
  padding: 12px 13px;
  color: #30251f;
  background: rgba(255, 252, 246, .72);
  border: 1px solid #bca691;
  border-radius: 0;
  font: 500 14px/1.4 Jost, Montserrat, Arial, sans-serif;
}
.contact-dialog input:focus,
.contact-dialog textarea:focus {
  outline: 2px solid rgba(151, 85, 72, .35);
  outline-offset: 2px;
  border-color: #975548;
}
.contact-options {
  margin: 24px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
  border: 0;
}
.contact-options legend {
  margin-bottom: 10px;
  grid-column: 1 / -1;
}
.contact-options label {
  min-height: 48px;
  padding: 9px 11px;
  display: flex;
  align-items: center;
  gap: 9px;
  background: rgba(236, 223, 204, .66);
  border: 1px solid #bca691;
  cursor: pointer;
}
.contact-options label:has(input:checked) {
  background: #e5d0ca;
  border-color: #955b51;
  box-shadow: inset 3px 0 0 #955b51;
}
.contact-options input {
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
  accent-color: #70424d;
}
.contact-options label > span {
  margin: 0;
  color: #463831;
  font-size: 9px;
  line-height: 1.35;
}
.contact-note {
  margin-top: 22px;
  display: block;
}
.contact-note textarea { resize: vertical; }
.contact-requirement {
  margin: 10px 0 0;
  color: #78685d;
  font-size: 10px;
}
.contact-requirement.is-error { color: #9c3f39; font-weight: 600; }
.contact-status {
  min-height: 22px;
  margin: 8px 0 4px;
  color: #6c4a42;
  font-size: 11px;
  font-weight: 600;
}
.contact-dialog form > small {
  display: inline-block;
  margin-left: 13px;
  color: #776960;
  font-size: 9px;
}

.contact-band {
  position: relative;
  isolation: isolate;
}
.contact-band::after {
  content: "";
  position: absolute;
  z-index: 2;
  right: 0;
  bottom: -22px;
  left: 0;
  height: 23px;
  background: var(--ink-deep);
  clip-path: polygon(0 0, 6% 0, 8% 42%, 10% 0, 18% 0, 20% 42%, 22% 0, 30% 0, 32% 42%, 34% 0, 42% 0, 44% 42%, 46% 0, 54% 0, 56% 42%, 58% 0, 66% 0, 68% 42%, 70% 0, 78% 0, 80% 42%, 82% 0, 90% 0, 92% 42%, 94% 0, 100% 0, 100% 100%, 0 100%);
  pointer-events: none;
}
.site-footer {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background-color: var(--ink-deep);
  background-image: none;
}
.site-footer::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  opacity: .025;
  background-image:
    url("assets/rosette-painted-logo.png"),
    url("assets/rosette-painted-logo.png");
  background-repeat: repeat;
  background-position: 0 0, 52px 44px;
  background-size: 104px 104px, 156px 156px;
  filter: grayscale(.25);
  pointer-events: none;
}

body[data-theme="dark"] .pricing-art-break {
  background: #171d17;
}
body[data-theme="dark"] .pricing-art-break figure::after {
  background: linear-gradient(90deg, transparent 65%, rgba(23, 29, 23, .9));
}
body[data-theme="dark"] .contact-dialog {
  color: #f3e5d3;
  background: #292a25;
  border-color: #6e6458;
}
body[data-theme="dark"] .contact-dialog-content {
  background:
    radial-gradient(rgba(255, 235, 205, .035) .65px, transparent .75px),
    #292a25;
}
body[data-theme="dark"] .contact-dialog-content > h2 { color: #f5e8d6; }
body[data-theme="dark"] .contact-dialog-intro,
body[data-theme="dark"] .contact-requirement,
body[data-theme="dark"] .contact-dialog form > small { color: #cbbfb0; }
body[data-theme="dark"] .contact-dialog label > span,
body[data-theme="dark"] .contact-options legend { color: #d99a88; }
body[data-theme="dark"] .contact-dialog input[type="text"],
body[data-theme="dark"] .contact-dialog input[type="email"],
body[data-theme="dark"] .contact-dialog input[type="tel"],
body[data-theme="dark"] .contact-dialog textarea {
  color: #f2e5d3;
  background: #35362f;
  border-color: #6b6258;
}
body[data-theme="dark"] .contact-options label {
  background: #34352f;
  border-color: #665e54;
}
body[data-theme="dark"] .contact-options label:has(input:checked) {
  background: #4b373b;
  border-color: #bd7c69;
  box-shadow: inset 3px 0 0 #d99a88;
}
body[data-theme="dark"] .contact-options label > span { color: #efe0cd; }
body[data-theme="dark"] .contact-dialog-close {
  color: #efdfcb;
  border-color: #6f655b;
}
body[data-theme="dark"] .contact-status { color: #e0b09e; }

@media (max-width: 900px) {
  .pricing-art-break { grid-template-columns: 1fr; }
  .pricing-art-break figure,
  .pricing-art-break img { min-height: 380px; }
  .pricing-art-break figure::after {
    background: linear-gradient(0deg, rgba(48, 57, 47, .8), transparent 45%);
  }
  .pricing-art-break > div { padding: 66px 28px 80px; }
  .contact-dialog-shell { grid-template-columns: 215px minmax(0, 1fr); }
}

@media (max-width: 620px) {
  .brand-symbol { width: 39px; height: 39px; }
  .footer-symbol { width: 60px; height: 60px; }
  .pricing-art-break figure,
  .pricing-art-break img { min-height: 285px; }
  .pricing-art-break > div { padding: 58px 20px 70px; }
  .pricing-art-break h2 { font-size: 48px; }
  .contact-dialog {
    width: calc(100vw - 18px);
    max-height: calc(100vh - 18px);
  }
  .contact-dialog-shell {
    max-height: calc(100vh - 18px);
    grid-template-columns: 1fr;
    overflow-y: auto;
  }
  .contact-dialog-art { min-height: 135px; height: 135px; }
  .contact-dialog-art img {
    min-height: 135px;
    height: 135px;
    object-position: 50% 61%;
  }
  .contact-dialog-content {
    padding: 36px 18px 32px;
    overflow: visible;
  }
  .contact-dialog-content > h2 { font-size: 46px; }
  .contact-fields,
  .contact-options { grid-template-columns: 1fr; }
  .contact-options legend { grid-column: 1; }
  .contact-dialog form > small {
    display: block;
    margin: 10px 0 0;
  }
}

/* Painterly visual system: decorative art carries the atmosphere; copy carries the precision. */
.hero-visual {
  min-height: 645px;
  margin: 0;
  padding: 44px 38px 32px;
  align-content: center;
  background:
    linear-gradient(135deg, rgba(15, 20, 14, .18), rgba(15, 20, 14, .58)),
    #263327;
}
.hero-visual::before,
.hero-visual::after {
  z-index: 2;
  color: rgba(225, 191, 127, .38);
  text-shadow: 0 1px 0 rgba(0, 0, 0, .35);
  pointer-events: none;
}
.hero-painting-frame {
  position: relative;
  z-index: 1;
  width: min(84%, 455px);
  aspect-ratio: 4 / 5;
  overflow: hidden;
  padding: 8px;
  background: linear-gradient(135deg, #9a713d, #e0bc77 24%, #6f4a26 52%, #c99850 78%, #70502d);
  border: 1px solid #3e2a19;
  box-shadow:
    0 0 0 4px #3e2a19,
    0 0 0 6px #b58649,
    15px 20px 35px rgba(8, 13, 8, .48),
    inset 0 0 0 2px rgba(255, 238, 190, .55);
  transform: rotate(.45deg);
}
.hero-painting-frame::after {
  content: "";
  position: absolute;
  inset: 8px;
  box-shadow: inset 0 0 34px rgba(23, 15, 8, .3);
  pointer-events: none;
}
.hero-painting-frame img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.hero-visual figcaption {
  position: relative;
  z-index: 3;
  width: min(76%, 410px);
  margin: 19px auto 0;
  padding: 10px 13px 11px;
  color: #3f3128;
  background: #eee3d0;
  border-bottom: 1px solid #9c7654;
  box-shadow: 4px 5px 12px rgba(10, 14, 9, .24);
  transform: rotate(-.55deg);
}
.hero-visual figcaption span,
.hero-visual figcaption strong {
  display: block;
}
.hero-visual figcaption span {
  color: #805a45;
  font-size: 7px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.hero-visual figcaption strong {
  margin-top: 4px;
  font: 600 15px/1.05 "Cormorant Garamond", serif;
}

.service-arrangement,
.arrangement-revenue,
.arrangement-data,
.arrangement-place {
  width: 168px;
  height: 154px;
  background-color: #34291e;
  background-repeat: no-repeat;
  background-size: 300% 100%;
  border: 4px ridge #a87d43;
  box-shadow: 4px 6px 13px rgba(63, 42, 28, .23);
}
.service-list article {
  grid-template-columns: .24fr 1fr 168px .64fr;
}
.arrangement-revenue { background-position: left center; transform: rotate(-1.1deg); }
.arrangement-data { background-position: center center; transform: rotate(.8deg); }
.arrangement-place { background-position: right center; transform: rotate(-.6deg); }
.service-arrangement::before {
  inset: 4px;
  border: 1px solid rgba(255, 229, 167, .55);
  box-shadow: inset 0 0 18px rgba(30, 18, 10, .28);
}
.service-arrangement .arrangement-caption {
  top: auto;
  right: 10px;
  bottom: 9px;
  left: 10px;
  width: max-content;
  padding: 4px 6px;
  color: #3f3028;
  background: rgba(240, 228, 207, .92);
  border-bottom: 1px solid #9c7555;
  box-shadow: 2px 2px 5px rgba(31, 20, 13, .24);
}

.client-use {
  overflow: hidden;
  padding: 0 22px 24px;
  border-color: #9d7c5f;
  box-shadow: 5px 7px 0 rgba(84, 58, 42, .12);
}
.use-visual,
.intelligence-use .use-visual,
.custom-use .use-visual {
  height: 188px;
  margin: 0 -22px 27px;
  border: 0;
  border-bottom: 4px ridge #a87d43;
  background-color: #34291e;
  background-repeat: no-repeat;
  background-size: 300% auto;
}
.digital-use .use-visual { background-position: left center; }
.intelligence-use .use-visual { background-position: center center; }
.custom-use .use-visual { background-position: right center; }
.use-visual::before {
  inset: 7px;
  border-color: rgba(255, 231, 175, .62);
  box-shadow: inset 0 0 26px rgba(27, 17, 10, .34);
}
.use-visual > span {
  top: auto;
  bottom: 11px;
  left: 13px;
  padding: 5px 7px;
  color: #4e382e;
  background: rgba(241, 230, 210, .94);
  border-bottom: 1px solid #9d7657;
  box-shadow: 2px 2px 7px rgba(30, 19, 12, .28);
}
body[data-theme="dark"] .hero-visual figcaption,
body[data-theme="dark"] .service-arrangement .arrangement-caption,
body[data-theme="dark"] .use-visual > span {
  color: #3f3128;
}
body[data-theme="dark"] .client-use > p:not(.use-kicker) { color: #6e6259; }
body[data-theme="dark"] .client-use ul { color: #594a42; }
body[data-theme="dark"] .client-use li { border-color: #bda998; }
body[data-theme="dark"] .service-arrangement,
body[data-theme="dark"] .client-use .use-visual {
  background-color: #34291e;
}

@media (max-width: 900px) {
  .hero-visual { padding: 42px 28px 34px; }
  .service-list article { grid-template-columns: .2fr 1fr 150px; }
  .service-arrangement { width: 150px; height: 138px; }
}
@media (max-width: 600px) {
  .hero-visual {
    min-height: 560px;
    padding: 37px 22px 30px;
  }
  .service-list article { grid-template-columns: 1fr; }
  .hero-painting-frame { width: min(82%, 360px); }
  .hero-visual figcaption { width: min(78%, 330px); }
  .service-arrangement { width: min(100%, 220px); height: 188px; }
  .client-use { padding: 0 19px 22px; }
  .use-visual,
  .intelligence-use .use-visual,
  .custom-use .use-visual {
    height: 190px;
    margin-right: -19px;
    margin-left: -19px;
  }
}

/* V2: work-focused visual language and consolidated capability structure. */
.site-header {
  background: rgba(239, 229, 213, .96);
}
body[data-theme="dark"] .site-header {
  background: rgba(37, 38, 33, .96);
}
.brand-symbol {
  width: 34px;
  height: 34px;
  flex: 0 0 auto;
  display: block;
  border-radius: 50%;
  box-shadow: 1px 2px 0 rgba(74, 46, 55, .14);
}
.footer-symbol {
  width: 45px;
  height: 45px;
  box-shadow: 0 0 0 1px rgba(231, 191, 121, .55);
}

.hero-visual {
  background:
    linear-gradient(135deg, rgba(18, 23, 17, .08), rgba(15, 20, 14, .46)),
    #303a30;
}
.hero-visual::before,
.hero-visual::after {
  display: none;
}
.hero-painting-frame {
  width: min(72%, 360px);
  aspect-ratio: 3 / 5;
  padding: 5px;
  background: #4f3827;
  border: 1px solid #b78b4f;
  box-shadow:
    0 0 0 2px #292018,
    12px 17px 30px rgba(8, 13, 8, .45),
    inset 0 0 0 1px rgba(226, 190, 126, .42);
  transform: rotate(.2deg);
}
.hero-painting-frame::after {
  inset: 5px;
  box-shadow: inset 0 0 22px rgba(24, 16, 10, .22);
}
.hero-visual figcaption {
  width: min(74%, 400px);
  margin-top: 16px;
  background: #e7dcc8;
  border: 1px solid #a98d70;
  border-top: 0;
  box-shadow: 3px 4px 10px rgba(10, 14, 9, .2);
  transform: rotate(-.2deg);
}
.hero-note {
  justify-content: flex-end;
}

.capabilities {
  border-top: 1px solid var(--line);
}
.capabilities-heading {
  max-width: 900px;
}
.capabilities-heading > p:last-child {
  max-width: 660px;
  margin: 22px 0 0;
  color: var(--muted);
  font-size: 14px;
}
.capability-grid {
  margin-top: 61px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.capability-card {
  overflow: hidden;
  display: flex;
  flex-direction: column;
  background: var(--paper-light);
  border: 1px solid var(--line);
  border-top: 4px solid var(--olive);
  box-shadow: 5px 6px 0 rgba(84, 58, 42, .1);
}
.capability-card:nth-child(2) {
  border-top-color: var(--gold);
}
.capability-card:nth-child(3) {
  border-top-color: var(--terracotta);
}
.capability-visual {
  position: relative;
  height: 280px;
  flex: 0 0 auto;
  background-color: #d8cbb6;
  background-repeat: no-repeat;
  background-size: 300% auto;
  border-bottom: 1px solid #937a5e;
}
.capability-visual::after {
  content: "";
  position: absolute;
  inset: 7px;
  border: 1px solid rgba(79, 59, 41, .38);
  box-shadow: inset 0 0 22px rgba(44, 31, 20, .12);
}
.capability-digital { background-position: left center; }
.capability-intelligence { background-position: center center; }
.capability-place { background-position: right center; }
.capability-body {
  padding: 25px 24px 27px;
}
.capability-card h3 {
  min-height: 92px;
  margin: 23px 0 19px;
  font-size: 34px;
  line-height: .92;
}
.capability-card .need {
  min-height: 145px;
  padding: 15px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.capability-card .need span {
  display: block;
  color: var(--terracotta);
  font-size: 8px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.capability-card .need p,
.capability-body > p:not(.service-number) {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.65;
}
.capability-body > p:not(.service-number) {
  min-height: 91px;
  margin-top: 19px;
}
.capability-card ul {
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
  color: #594a42;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .035em;
}
.capability-card li {
  padding: 8px 0;
  border-top: 1px solid var(--line);
}

.portfolio-section {
  padding: 88px max(28px, calc((100vw - var(--max)) / 2));
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: clamp(50px, 8vw, 120px);
  align-items: start;
  color: #eee3d1;
  background:
    linear-gradient(115deg, rgba(14, 18, 13, .2), transparent 58%),
    #30392f;
  border-top: 1px solid #876d4d;
  border-bottom: 1px solid #876d4d;
}
.portfolio-section .eyebrow { color: #d6b173; }
.portfolio-section h2 {
  margin: 0;
  color: #fff8e9;
  font-size: clamp(42px, 4.7vw, 68px);
  line-height: .93;
}
.portfolio-note {
  padding: 26px 28px 29px;
  color: #3f332b;
  background: #e6dac6;
  border: 1px solid #a68a6b;
  box-shadow: 7px 8px 0 rgba(13, 18, 13, .28);
  transform: rotate(.25deg);
}
.portfolio-note > span {
  color: #8a5747;
  font-size: 8px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.portfolio-note p {
  margin: 16px 0 19px;
  color: #65584e;
  font-size: 13px;
}
.portfolio-note .quiet-link {
  color: #3f332b;
}

body[data-theme="dark"] .capability-card {
  color: #30241f;
  background: #e8decd;
  border-color: #8f7a67;
}
body[data-theme="dark"] .capability-card .need p,
body[data-theme="dark"] .capability-body > p:not(.service-number) {
  color: #6e6259;
}
body[data-theme="dark"] .capability-card ul {
  color: #594a42;
}
body[data-theme="dark"] .capability-card li,
body[data-theme="dark"] .capability-card .need {
  border-color: #bda998;
}

@media (max-width: 900px) {
  .capability-grid {
    grid-template-columns: 1fr;
    max-width: 680px;
  }
  .capability-visual { height: 300px; }
  .capability-card h3,
  .capability-card .need,
  .capability-body > p:not(.service-number) {
    min-height: 0;
  }
  .portfolio-section {
    grid-template-columns: 1fr;
    gap: 38px;
  }
}
@media (max-width: 600px) {
  .brand-symbol { width: 31px; height: 31px; }
  .footer-symbol { width: 44px; height: 44px; }
  .hero-note { justify-content: flex-start; }
  .capability-grid { margin-top: 40px; }
  .capability-visual { height: 280px; }
  .capability-body { padding: 22px 20px 24px; }
  .capability-card h3 { font-size: 31px; }
  .portfolio-section {
    padding: 70px 18px;
  }
  .portfolio-note { padding: 23px 21px 25px; }
}

/* Final painted-mark sizing wins over the legacy emblem rules above. */
.brand-symbol {
  width: 46px;
  height: 46px;
  object-fit: contain;
  border-radius: 0;
  box-shadow: none;
  filter: drop-shadow(0 2px 2px rgba(55, 31, 25, .18));
}
.footer-symbol {
  width: 66px;
  height: 66px;
  box-shadow: none;
  filter: drop-shadow(0 3px 4px rgba(0, 0, 0, .24));
}
@media (max-width: 600px) {
  .brand-symbol { width: 39px; height: 39px; }
  .footer-symbol { width: 60px; height: 60px; }
}

.contact-dialog-shell {
  height: min(880px, calc(100vh - 34px));
  grid-template-rows: minmax(0, 1fr);
}
.contact-dialog-art,
.contact-dialog-art img {
  min-height: 0;
  height: 100%;
}
@media (max-width: 620px) {
  .contact-dialog-shell {
    height: auto;
    max-height: calc(100vh - 18px);
    grid-template-rows: 135px auto;
  }
  .contact-dialog-art,
  .contact-dialog-art img {
    min-height: 135px;
    height: 135px;
  }
}

body[data-theme="dark"].pricing-page .pricing-hero h1 {
  color: #f5e8d6;
}
.pricing-page .contact-band {
  z-index: 0;
  background-color: #9f5b51;
  background-image: linear-gradient(125deg, rgba(63, 28, 28, .2), transparent 58%);
}
.pricing-page .contact-band::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  opacity: .03;
  background-image:
    url("assets/rosette-painted-logo.png"),
    url("assets/rosette-painted-logo.png");
  background-repeat: repeat;
  background-position: 0 -18px, 76px 62px;
  background-size: 122px 122px, 180px 180px;
  filter: grayscale(.18);
  pointer-events: none;
}
body[data-theme="dark"].pricing-page .contact-band {
  background-color: #6b3f45;
}
