/* A quiet editorial layer; existing portrait, yarn and breathing interactions stay. */
:root { --editorial-paper:#f9f4ec; --editorial-ink:#30251f; --editorial-clay:#854133; }
html { scroll-padding-top:88px; }
[hidden] { display:none !important; }
:is(a,button,summary,input,textarea):focus-visible { outline:2px solid var(--amber); outline-offset:4px; }
.skip-link { position:fixed; top:10px; left:12px; z-index:9999; padding:12px 18px; border-radius:8px; background:#fffaf3; color:#30251f; transform:translateY(-160%); }
.skip-link:focus { transform:none; }
.hero .hero-proof { font-size:13px; letter-spacing:.02em; margin-top:14px; color:var(--ink2); }
.status span { box-shadow:none; background:transparent; }
.marquee { display:none; }
.hero .hn1 { display:none; }
.hero .hn2 { font-size:15px; opacity:.7; }
.mobile-lite .hero .h1 { font-size:clamp(48px,14.7vw,73px); }
.mobile-lite .hero .lead { max-width:36ch; }
.mobile-lite .hero .hero-proof { font-size:12px; margin-top:9px; }
.mobile-lite .status { justify-content:flex-start; gap:20px; padding-block:10px; }
.mobile-lite .status span:last-child { display:inline-flex; }
.mobile-lite .hero .cta-row { margin-top:20px; }
.preparation, .book, .faq { --ink:#30251f; --ink2:#51443a; --ink3:#6c5b50; --amber:#854133; --amber2:#73382e; --line:#d9c8b7; --line2:#cbb5a2; --bg:#f9f4ec; --bg2:#fffaf3; color:var(--ink); background:var(--bg); }
.preparation { background:#eee2d4; }
.preparation-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:clamp(30px,7vw,110px); align-items:start; }
.preparation .sub { max-width:35ch; }
.preparation .hand { margin-top:25px; color:var(--amber); }
.meeting-photo {
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--bg2);
}
.meeting-photo img { display: block; width: 100%; height: auto; }
.meeting-photo figcaption { padding: 10px 14px; color: var(--ink3); font-size: 13px; }
.guide-kicker { font-size:11px; text-transform:uppercase; letter-spacing:.15em; color:var(--ink3); }
.meeting-guide { padding-top:8px; }
.meeting-guide ol { list-style:none; margin:15px 0 22px; padding:0; }
.meeting-guide li { display:grid; grid-template-columns:28px minmax(0,1fr); gap:14px; padding:23px 0; border-bottom:1px solid var(--line); }
.meeting-guide li > span { font-size:12px; color:var(--amber); padding-top:5px; }
.meeting-guide h3 { font:500 clamp(25px,2.2vw,31px)/1.12 var(--serif); margin-bottom:9px; }
.meeting-guide li p { font-size:15px; line-height:1.65; color:var(--ink2); max-width:45ch; }
html:not(.mobile-lite) .meeting-guide { grid-column: 1 / -1; }
html:not(.mobile-lite) .meeting-guide ol {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}
.text-link { display:inline-flex; align-items:center; gap:18px; min-height:44px; font-size:14px; font-weight:600; color:var(--amber); text-decoration:underline; text-underline-offset:6px; text-decoration-color:var(--line2); }
.faq .faq-in { align-items:start; }
.faq .sub { max-width:34ch; }
.faq .text-link { margin-top:20px; }
.editorial-faq { border-top:1px solid var(--line); }
.editorial-faq details { border-bottom:1px solid var(--line); }
.editorial-faq summary { display:flex; justify-content:space-between; align-items:center; gap:22px; min-height:67px; padding:16px 0; list-style:none; cursor:pointer; font-weight:500; font-size:17px; line-height:1.45; }
.editorial-faq summary::-webkit-details-marker, .data-note summary::-webkit-details-marker { display:none; }
.editorial-faq summary::after { content:'+'; flex:0 0 28px; height:28px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; font-size:19px; font-weight:400; color:var(--amber); }
.editorial-faq details[open] summary::after { content:'−'; background:var(--amber); border-color:var(--amber); color:#fffaf3; }
.editorial-faq details p { padding:0 38px 22px 0; font-size:15px; line-height:1.7; color:var(--ink2); }
.book { background:#eadaca; border-top:1px solid #d9c8b7; }
.contact-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.86fr); gap:clamp(28px,8vw,112px); }
.contact-intro .sub { max-width:37ch; }
.contact-facts { display:flex; gap:35px; margin-block:28px; }
.contact-facts span { display:flex; flex-direction:column; gap:5px; font-size:12px; color:var(--ink2); }
.contact-facts b { font:500 31px/1 var(--serif); color:var(--ink); }
.contact-main { display:inline-flex; gap:36px; background:var(--editorial-clay) !important; color:#fffaf3 !important; border-radius:12px; box-shadow:none !important; }
.contact-main:hover { background:#6f352a !important; }
.contact-address { margin-top:20px; font-size:15px; line-height:1.6; color:var(--ink2); }
.contact-address strong { color:var(--ink); }
.contact-note { font-size:12px; line-height:1.65; color:var(--ink3); margin-top:14px; max-width:48ch; }
.message-helper { padding:clamp(21px,3vw,38px); background:#fffaf3; border:1px solid #dbc6b3; border-radius:18px; }
.message-helper h3 { font:500 clamp(28px,3vw,38px)/1.1 var(--serif); margin-top:13px; }
.contact-formats { display:flex; flex-wrap:wrap; gap:7px; margin-top:22px; }
.contact-formats button { min-height:44px; border:1px solid #d9c8b7; border-radius:9px; padding:9px 12px; font-size:12px; color:#51443a; }
.contact-formats button[aria-pressed=true] { background:#efddd0; color:#683329; border-color:#ad6e58; }
.message-draft { margin-block:20px; padding:17px 0 17px 17px; border-left:2px solid #b67960; font-size:16px; line-height:1.7; color:#51443a; user-select:text; }
.copy-message { min-height:46px; color:#73382e; box-shadow:inset 0 0 0 1px #cbb5a2; border-radius:10px; font-size:13px; white-space:normal; }
.copy-status { font-size:13px; color:#51443a; line-height:1.5; margin-top:12px; }
.copy-status:empty { display:none; }
.data-note { margin-top:38px; border-top:1px solid #cbb5a2; padding-top:12px; }
.data-note summary { cursor:pointer; min-height:44px; display:flex; align-items:center; gap:15px; font-size:13px; list-style:none; }
.data-note summary::after { content:'+'; font-size:20px; }
.data-note[open] summary::after { content:'−'; }
.data-note p { font-size:13px; color:var(--ink2); line-height:1.7; max-width:85ch; padding-block:10px; }
.calm-src a { text-decoration:underline; text-underline-offset:3px; }
.calm .practice-note { margin-top:12px; font-size:13px; line-height:1.6; color:var(--ink2); }
.mcta .mc-i[href^='tel:'] { display:none; }
.mobile-lite .preparation-grid, .mobile-lite .contact-layout { grid-template-columns:1fr; gap:30px; }
.mobile-lite .preparation .h2 { max-width:15ch; }
.mobile-lite .meeting-guide { padding-top:0; }
.mobile-lite .meeting-guide li { padding-block:19px; }
.mobile-lite .faq-in { gap:26px; }
.mobile-lite .editorial-faq summary { font-size:16px; min-height:60px; }
.mobile-lite .contact-main { width:100%; justify-content:space-between; min-height:52px; }
.mobile-lite .message-helper { padding:20px; }
.mobile-lite .message-draft { font-size:15px; }
.mobile-lite .contact-facts { margin-block:22px; }
.mobile-lite .contact-note { font-size:12px; }
.mobile-lite .ftr .warm { padding-bottom:35px; }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto !important; } *, *::before, *::after { animation:none !important; transition:none !important; } }
@media (max-width:360px) { .mobile-lite .h2 { font-size:35px; } .mobile-lite .contact-formats button { font-size:11px; padding-inline:10px; } }
