/* Preserve the existing warm palette, typefaces, portrait and composition. */
:root { --text-soft:#514437; --text-muted:#716150; }
body { cursor:auto; font-weight:400; }
body::after { content:none; }
#cur, #ring, #loader { display:none !important; }
a, button, .btn-primary { cursor:pointer; }
a:focus-visible, button:focus-visible { outline:3px solid var(--gold); outline-offset:5px; }
section[id] { scroll-margin-top:90px; }
nav, nav.solid {
  padding:18px clamp(24px,5vw,64px);
  background:rgba(249,245,238,.97);
  border-bottom:1px solid rgba(184,150,90,.24);
  box-shadow:none;
}
.nav-logo { font-size:23px; letter-spacing:0; }
.nav-links { gap:26px; }
.nav-links a { display:inline-flex; align-items:center; min-height:36px; font-size:13px;
  letter-spacing:.7px; text-transform:none; color:var(--espresso); font-weight:400; }
.nav-links a:hover, .nav-links a.nav-active { color:var(--mocha); text-decoration:underline; text-underline-offset:7px; }
.hero { padding:0; min-height:740px; min-height:max(700px,100svh); }
.hero-left { padding:116px clamp(28px,5vw,64px) 48px; }
.hero-badge { margin-bottom:26px; }
.hero-badge-text { font-size:12px; letter-spacing:1.5px; color:var(--mocha); line-height:1.6; }
.hero-name-inner { font-size:clamp(48px,4.9vw,72px); font-weight:400; line-height:1.02; }
.hero-name-inner.italic { font-weight:400; }
.hero-divider { margin:24px 0; }
.hero-title { font-size:13px; letter-spacing:1px; line-height:1.6; font-weight:400;
  color:var(--text-soft); margin-bottom:18px; }
.hero-desc { font-size:17px; font-weight:400; line-height:1.7; max-width:430px; margin-bottom:30px; }
.hero-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; margin-bottom:0; }
.hero-stat-n { font-size:42px; font-weight:400; }
.hero-stat-l { font-size:12px; letter-spacing:.3px; text-transform:none; line-height:1.45; margin-top:8px; }
.hero-right { background:var(--cream2); }
.hero .photo-area { inset:100px 28px 28px 0; }
.hero .photo-area img { object-position:50% 18% !important; }
.hero-corner-text { display:none; }
.hero-badge, .hero-name-inner, .hero-divider, .hero-title, .hero-desc, .hero-stats,
.r, .trust-item { opacity:1 !important; transform:none !important; animation:none !important; }
.marquee-track { animation:none; }
section { padding:88px clamp(24px,5vw,64px); }
.section-eyebrow { margin-bottom:30px; }
.section-eyebrow-text { font-size:12px; letter-spacing:1.6px; color:var(--mocha); }
.section-title { font-weight:400; line-height:1.12; }
.about-layout { gap:64px; }
.about-dropcap-block p, .about-right p, .reviews-opening-intro,
.project-desc, .book-desc { font-weight:400; font-size:17px; line-height:1.75; }
.about-quote-text { line-height:1.55; }
.reviews-opening { padding:88px clamp(24px,5vw,64px); }
.reviews-opening-head { gap:48px; margin-bottom:40px; }
.review-card, .review-card.featured, .review-card.wide { padding:36px 40px; box-shadow:none; }
.review-card.featured .review-body, .review-card.wide .review-body { max-width:760px; }
.review-body p, .review-card:not(.featured):not(.wide) .review-body p {
  font-size:20px; line-height:1.6; margin-bottom:18px;
}
.review-card-kicker { font-size:12px; letter-spacing:1px; color:var(--mocha); line-height:1.6; }
.review-author-name { font-size:21px; }
.review-author-role { font-size:12px; letter-spacing:.8px; line-height:1.5; }
.service-item { gap:24px; }
.service-item:hover { padding-left:0; }
.service-item.featured { margin-left:0; margin-right:0; padding:36px 32px; }
.service-info { padding-right:12px; min-width:0; }
.service-name { line-height:1.2; }
.service-sub { font-size:12px; letter-spacing:1px; line-height:1.55; }
.service-desc { font-size:17px; font-weight:400; line-height:1.7; }
.service-duration { font-size:13px; letter-spacing:.4px; line-height:1.55; }
.service-cta { display:inline-flex; align-items:center; min-height:44px; font-size:13px; letter-spacing:1px; }
.service-item.featured .service-desc { color:rgba(253,250,245,.88); }
.service-item.featured .service-sub, .service-item.featured .service-duration,
.service-item.featured .service-price small { color:rgba(232,213,168,.85); }
.btn-primary { font-size:13px; letter-spacing:1.2px; min-height:48px; padding:16px 28px; }
.btn-primary:hover::before, .service-item:hover::before { display:none; }
.book-desc { color:var(--text-soft); }
footer { gap:28px; }
footer a { min-height:36px; display:inline-flex; align-items:center; }
footer a { color:rgba(232,213,168,.82) !important; }
.footer-copy { color:rgba(232,213,168,.8); font-size:12px; }
footer + div p { font-size:12px !important; line-height:1.6; color:rgba(232,213,168,.78) !important; max-width:82ch; margin:auto; }
#sticky-cta { padding:10px 18px !important; padding-bottom:max(10px,env(safe-area-inset-bottom)) !important; }
#sticky-cta a { min-height:48px; font-size:13px !important; letter-spacing:1.2px !important; }
@media (min-width:1450px) {
  .hero-left { padding-left:max(64px,calc((100vw - 1280px)/2)); }
  .hero .photo-area { right:max(64px,calc((100vw - 1280px)/2)); }
}
@media (max-width:1050px) and (min-width:901px) {
  .nav-links { gap:16px; }
  .hero-left { padding-left:32px; padding-right:28px; }
  .hero-stats { gap:10px; }
}
@media (max-width:900px) {
  nav, nav.solid { padding:10px 20px; flex-direction:column; align-items:flex-start; gap:5px; }
  .nav-logo { font-size:22px; }
  .nav-links { display:flex; width:100%; gap:16px; overflow-x:auto; white-space:nowrap; }
  .nav-links a { font-size:13px; letter-spacing:0; min-height:40px; }
  section[id] { scroll-margin-top:108px; }
  .hero { min-height:0; }
  .hero-left { padding:132px 24px 36px; }
  .hero-name-inner { font-size:clamp(45px,8vw,64px); }
  .hero-badge { margin-bottom:20px; }
  .hero-desc { max-width:580px; }
  .hero-stats { max-width:560px; gap:16px; }
  .hero-right { padding:0 24px 24px; overflow:hidden; }
  .hero .photo-area { inset:auto !important; max-width:560px; margin:0 auto; }
  .hero .photo-area img { height:460px !important; object-fit:cover !important; object-position:center 18% !important; }
  section, .reviews-opening { padding:66px 24px; }
  .section-title { font-size:42px; }
  .about-layout { gap:34px; }
  .reviews-opening-head { gap:20px; margin-bottom:30px; }
  .review-card, .review-card.featured, .review-card.wide { padding:28px; }
  .service-item { gap:14px; }
  .service-item.featured { padding:28px; }
  .service-info { padding-right:0; }
  .service-price-col { min-width:0; }
  .book-wrap { gap:24px; }
}
@media (max-width:520px) {
  .nav-links { gap:13px; }
  .hero-left { padding-left:20px; padding-right:20px; }
  .hero-title { letter-spacing:.6px; }
  .hero-desc { font-size:16px; line-height:1.7; }
  .hero-stats { gap:12px; }
  .hero-stat-n { font-size:35px; }
  .hero-stat-l { font-size:12px; letter-spacing:0; }
  .hero-right { padding:0 20px 20px; }
  .hero .photo-area img { height:380px !important; }
  section, .reviews-opening { padding:58px 20px; }
  .section-title { font-size:38px; }
  .review-card, .review-card.featured, .review-card.wide { padding:25px 22px; }
  .review-body p, .review-card:not(.featured):not(.wide) .review-body p { font-size:20px; line-height:1.55; }
  .service-item.featured { padding:26px 22px; }
  .btn-primary { padding:15px 22px; }
  footer { padding-left:20px; padding-right:20px; }
  footer + div { padding-left:20px !important; padding-right:20px !important; }
}
@media (prefers-reduced-motion:reduce) {
  html, body { scroll-behavior:auto; }
  *, *::before, *::after { animation:none !important; transition:none !important; }
}
