
/* Classic Editorial Luxury: refined serif display, readable modern body. */
:root { --display-serif: 'Cormorant Garamond', Georgia, 'Times New Roman', serif; }
body, button, input, select, textarea, nav, .eyebrow, .number, .pill, .construction-badge { font-family: 'DM Sans', Arial, sans-serif; }
h1, h2, h3, .paper h2, .card h3, .steps h3, .concierge-card h3, .pricing-group-head h3, .pricing-action h3, .faq summary {
  font-family: var(--display-serif);
  font-weight: 600;
  letter-spacing: -0.035em;
}
h1 { font-size: clamp(62px, 6.2vw, 100px); line-height: .98; }
h2 { font-size: clamp(50px, 5.1vw, 77px); line-height: 1.02; }
h1 em, h2 em { font-family: var(--display-serif); font-weight: 500; letter-spacing: -.04em; }
.card h3, .concierge-card h3, .pricing-group-head h3 { font-size: clamp(27px, 2.5vw, 35px); line-height: 1.08; }
.steps h3 { font-size: 26px; line-height: 1.12; }
.faq summary { font-size: 24px; line-height: 1.2; }
.paper h2 { font-size: 32px; line-height: 1.03; }
.pricing-action h3 { font-size: 31px; }
.logo { font-family: var(--display-serif); font-size: 27px; font-weight: 600; letter-spacing: -.8px; }
.logo small { font-family: 'DM Sans', sans-serif; font-size: 7px; letter-spacing: 1.45px; font-weight: 700; }
.logo-symbol { font-family: Georgia, serif; font-size: 13px; letter-spacing: -1px; }
.signature { font-family: var(--display-serif); font-size: 34px; font-weight: 500; }
.pricing-row strong { font-family: 'DM Sans', Arial, sans-serif; font-size: 20px; font-weight: 700; }
.hero-copy .lead, .section-top>p, .pricing-heading>p:last-child, .concierge-heading>p:last-child { font-size: 15px; line-height: 1.85; }
.btn { font-family: 'DM Sans', Arial, sans-serif; font-weight: 700; }
@media(max-width:760px) {
  h1 { font-size: clamp(52px, 11vw, 75px); line-height: 1; }
  h2 { font-size: clamp(44px, 9vw, 63px); }
  .logo { font-size: 21px; }
  .card h3, .concierge-card h3, .pricing-group-head h3 { font-size: 29px; }
  .paper h2 { font-size: 30px; }
}

/* Upright typography and natural portrait for the sole-owner brand. */
h1,h2,h3,h1 em,h2 em,.signature,.about-art>span{font-style:normal;}
.signature{transform:none;}
.paper.front{transform:translate(-18px,0);}
.float{transform:none;}
.about-art:before,.about-art:after{display:none;}
.about-art img{width:100%;height:100%;object-fit:cover;object-position:center 42%;}
.about-art small{color:#fff;background:#29251fcc;padding:10px 12px;left:18px;bottom:16px;}
@media(max-width:760px){.paper.front{transform:translate(-15px,0) scale(.8);}.about-art{height:460px;}}
@media(max-width:440px){.paper.front{transform:translate(-12px,0) scale(.7);}}
.paper .signature{position:absolute;bottom:30px;left:28px;font-size:20px;letter-spacing:0;margin:0;max-width:190px;}
.paper .seal{width:62px;height:62px;right:12px;bottom:18px;font-size:8px;transform:none;}

/* Client policy pages: readable, upright, responsive legal copy. */
.policy-links{display:flex;flex-wrap:wrap;gap:18px;padding-top:24px;font-size:12px;color:#d6c8ae;}
.policy-links a:hover,.policy-page a:hover{text-decoration:underline;}
.intake-note a{text-decoration:underline;text-underline-offset:3px;}
.policy-header{height:auto;min-height:88px;gap:24px;}
.policy-page{max-width:850px;margin:0 auto;padding:64px 28px 80px;}
.policy-page h1{font-size:clamp(38px,5.5vw,62px);line-height:1.08;letter-spacing:-.035em;margin-bottom:18px;}
.policy-date{font-size:13px;color:var(--muted);}
.policy-intro{font-size:17px;line-height:1.7;border-bottom:1px solid #d9d0c0;padding:0 0 26px;margin-bottom:32px;}
.policy-page section{margin:0 0 28px;}
.policy-page h2{font-size:25px;letter-spacing:-.02em;line-height:1.25;margin:0 0 12px;}
.policy-page p{font-size:15px;line-height:1.85;color:var(--ink);overflow-wrap:anywhere;}
.policy-page a{color:#765b2e;text-decoration:underline;text-underline-offset:3px;}
.policy-contact{border-top:1px solid #d9d0c0;padding-top:24px;}
.policy-footer p{font-size:13px;color:#d6c8ae;}
.policy-footer nav{display:flex;position:static;flex-wrap:wrap;gap:18px;background:none;padding:0;font-size:12px;box-shadow:none;}
@media(max-width:600px){.policy-header{padding:20px;align-items:flex-start;}.policy-header .logo{font-size:20px;}.policy-header>.under{font-size:11px;white-space:nowrap;}.policy-page{padding:42px 22px 55px;}.policy-links{gap:14px;}}

/* Focused hero cleanup: one card, natural sizing, and no overlapping labels. */
.hero-art{padding:52px 32px;min-height:540px;}
.hero-art:before{display:none;}
.hero-art .paper.front{position:relative;width:100%;max-width:330px;height:auto;min-height:395px;transform:none;padding:38px 30px;box-shadow:0 18px 45px #0002;border:1px solid #e4dac8;}
.hero-art .art-star{margin-top:26px;font-size:22px;}
.hero-art .paper h2{font-size:34px;line-height:1.05;letter-spacing:-.035em;margin:20px 0;}
.hero-art .paper p{color:#655f55;font-size:13px;line-height:1.7;margin-bottom:30px;}
.hero-art .paper .signature{position:static;max-width:none;font-size:24px;line-height:1.3;padding-top:18px;border-top:1px solid #e4dac8;}
.hero-art .paper .seal{display:none;}
.hero-copy .micro{color:#81683f;line-height:1.6;gap:0;}
.hero-copy .actions{margin-bottom:30px;flex-wrap:wrap;gap:22px;}
.actions .btn span{font-family:Arial,sans-serif;}
.ribbon{padding:22px 26px;gap:10px 28px;text-transform:none;letter-spacing:.3px;text-align:center;line-height:1.6;}
.ribbon span{color:#745c35;font-size:12px;}
@media(max-width:760px){
  .hero-copy{padding:48px 25px 34px;}
  .hero-art{height:auto;min-height:0;padding:32px 25px;}
  .hero-art .paper.front{max-width:330px;min-height:0;padding:30px;}
  .hero-art .paper h2{font-size:32px;}
  .hero-art .paper .signature{font-size:23px;}
  .ribbon{flex-direction:column;gap:4px;padding:18px 25px;}
}
@media(max-width:360px){
  .hero-art .paper.front{padding:25px 22px;}
  .hero-art .paper h2{font-size:29px;}
}

/* Homepage layout after removal of decorative signature card. */
.hero{display:block;min-height:0;}
.hero-copy{max-width:900px;margin:0 auto;}
