/* Local UI review typography: self-hosted Lato and Merriweather.
   License notices are in /fonts/Lato-OFL.txt and /fonts/Merriweather-OFL.txt. */
@font-face {
  font-family: "Lato";
  src: url("/fonts/Lato-Regular.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "Lato";
  src: url("/fonts/Lato-Bold.woff2") format("woff2");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}
@font-face {
  font-family: "Merriweather";
  src: url("/fonts/Merriweather-Variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
}
:root {
  --sans: "Lato", Arial, sans-serif;
  --serif: "Merriweather", Georgia, serif;
}
body, button, input, select, textarea, summary, .eyebrow,
.whitepaper, .whitepaper-kicker, .whitepaper-section-label,
.source-content, .source-content .section-label {
  font-family: var(--sans);
}
h1, h2, h3, blockquote, .source-content h1, .source-content h2,
.source-content h3, .whitepaper h1, .whitepaper h2,
.whitepaper h3, .whitepaper-evidence dt {
  font-family: var(--serif);
}
body { font-size: 17px; line-height: 1.55; }
.hero-copy h1, .home-hero .hero-copy h1,
.leadership-title, .source-content .profile-hero h1,
.whitepaper-masthead h1 { font-size: clamp(32px, 3.2vw, 40px);line-height:1.18; }
.hero-copy .lead, .home-hero .hero-copy .lead { font-size: 17px;line-height:1.55; }
.story-unified h2 { font-size: clamp(24px,2.4vw,29px); }
.story-unified blockquote h3 { font-size: clamp(21px,2.1vw,25px); }
@media (max-width:620px) {
  body { font-size:16px; }
  .hero-copy h1, .home-hero .hero-copy h1,
  .leadership-title, .source-content .profile-hero h1,
  .whitepaper-masthead h1 { font-size:32px; }
  .hero-copy .lead, .home-hero .hero-copy .lead { font-size:16px; }
}

/* September review: editorial links and CIRRANE's actual open-circle mark. */
a.button,a.button.outline,a.button.light,a.button.pale {
  display:inline-flex;justify-content:flex-start;gap:13px;min-height:44px;
  padding:6px 0;border:0;border-radius:0;background:transparent;
  color:var(--navy);font-weight:700;text-align:left;text-decoration:underline;
  text-decoration-color:var(--copper);text-decoration-thickness:1px;text-underline-offset:6px;
}
a.button:hover,a.button.outline:hover,a.button.light:hover,a.button.pale:hover {
  border:0;background:transparent;color:var(--copper-dark);transform:none;
}
a.button > span,.text-link > span,.brief-read > span,.circle-arrow {
  flex:0 0 34px;width:34px;height:34px;
  background:url('/assets/cirrane-open-ring.svg') center/contain no-repeat;
}
.text-link { display:inline-flex;align-items:center;gap:10px;min-height:44px;text-decoration:none; }
.text-link:hover { text-decoration:underline;text-underline-offset:5px; }
.decision-offer-actions .button,.case-link .button,.deliverables .button { min-width:0;width:auto; }
.leader-grid .credentials,.source-content .credential-line { font-size:16px;letter-spacing:.06em;line-height:1.4;font-weight:600; }
.leader-grid .eyebrow,.source-content .role-badge {
  display:inline-flex;align-items:center;gap:13px;padding:0 0 8px;
  color:var(--copper-dark);font-family:var(--sans);font-size:14px;
  font-weight:700;letter-spacing:.15em;text-transform:uppercase;
  border-bottom:2px solid var(--copper);
}
.leader-grid h2,.source-content .profile-hero h1 { margin-top:15px; }
.leader-grid .leader-portrait-art,.source-content .profile-hero .portrait { margin-bottom:0; }
.leader-grid .leader-portrait-art,.source-content .profile-hero .portrait { aspect-ratio:auto;height:auto;background:transparent; }
.leader-grid .profile-portrait-window,.source-content .profile-portrait-window { position:relative;inset:auto;display:block;aspect-ratio:4/5; }
.leader-grid .profile-half-frame,.source-content .profile-half-frame { height:calc(100% - 45px);bottom:30px; }
.portrait-email { position:relative;top:auto;left:auto;right:auto;margin:13px 0 0;text-align:left;font-family:var(--sans);font-size:16px;font-weight:700; }
.portrait-email a { color:var(--navy);text-decoration-color:var(--copper);text-underline-offset:5px;overflow-wrap:anywhere; }
.leader-contact .profile-icon-link,.source-content .profile-icon-link {
  border:0;border-radius:0;background:url('/assets/cirrane-open-ring.svg') center/43px 43px no-repeat;
  color:var(--navy);width:48px;height:48px;min-height:48px;
}
.leader-contact .profile-icon-link:hover,.source-content .profile-icon-link:hover { background-color:transparent;color:var(--copper-dark); }
.service-area-heading { margin:40px 0 25px;padding-top:25px;border-top:1px solid var(--copper); }
.service-area-heading h2 { font-size:clamp(24px,2.4vw,28px); }
.service-area-heading p:not(.eyebrow) { max-width:680px;margin-top:9px; }
.sample-engagement-lead { padding:24px 30px 28px;border-left:5px solid var(--copper);background:var(--paper); }
.sample-engagement-lead .eyebrow { font-size:16px;font-weight:700;letter-spacing:.1em; }
.sample-engagement-lead h2 { font-size:clamp(26px,2.6vw,32px); }
.sample-engagement-lead p:not(.eyebrow) { max-width:920px; }
.work-contact { background:var(--paper); }
.work-bottom-contact { max-width:800px;padding:20px 0 0;border-top:2px solid var(--copper); }
.work-bottom-contact h2 { font-size:clamp(24px,2.5vw,30px); }
.work-bottom-contact .button { margin-top:18px; }
.service-overview article:nth-child(2) .line-icon,.service-cards article:nth-child(2) .line-icon,
.principles article:nth-child(2) .line-icon,.dimension-row>div:nth-child(2) .line-icon { color:var(--copper-dark); }
.service-overview article:nth-child(4) .line-icon,.service-cards article:nth-child(4) .line-icon,
.principles article:nth-child(4) .line-icon,.dimension-row>div:nth-child(4) .line-icon { color:var(--navy); }

/* Assessment opens with its purpose, then centers the question. */
.assessment-mount { font-family:var(--sans); }
.assessment-mount h2,.assessment-mount h3,.assessment-mount h4,.assessment-dimension-label { font-family:var(--serif); }
.assessment-intro-boundary { display:inline-block;margin-top:18px;padding:9px 13px;border-left:3px solid var(--copper);background:var(--paper);font-size:16px;font-weight:700; }
.assessment-dimensions-disclosure { margin:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line); }
.assessment-dimensions-disclosure > summary { min-height:52px;padding:12px 0;color:var(--navy);font-size:16px;font-weight:700;cursor:pointer; }
.assessment-dimensions-disclosure .assessment-dimension-section { margin-bottom:15px; }
.assessment-method { margin-top:28px;padding:22px 0 0;border-top:1px solid var(--line); }
.assessment-method h3 { font-size:21px; }
.assessment-method p { max-width:880px;margin:10px 0 0;font-size:16px;line-height:1.55; }
.assessment-method a { color:var(--copper-dark);text-underline-offset:4px; }
.assessment-source-note { margin:17px 0 0;padding:9px 0;color:var(--muted);font-size:15px;line-height:1.45; }
.assessment-source-note a { color:var(--copper-dark);font-weight:700;text-underline-offset:4px; }
.assessment-icon { color:var(--navy); }
.assessment-dimension-grid li:nth-child(2) .assessment-icon,.assessment-receive-items>div:nth-child(2) .assessment-icon { color:var(--copper-dark); }
.assessment-dimension-grid li:nth-child(4) .assessment-icon,.assessment-receive-items>div:nth-child(3) .assessment-icon { color:var(--navy); }
.assessment-share { margin-top:30px;padding:30px;background:var(--paper);border-top:3px solid var(--copper); }
.assessment-share h3 { font-size:24px; }
.assessment-share>div>p:not(.eyebrow) { max-width:760px;font-size:16px;line-height:1.55; }
.assessment-share-form { margin-top:24px; }
.assessment-share-fields { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px; }
.assessment-share-fields label { display:grid;gap:7px;font-size:16px;font-weight:700; }
.assessment-share-fields input { width:100%;min-width:0;min-height:46px;padding:8px 11px;border:1px solid var(--line);background:white;border-radius:2px; }
.assessment-share-consent { display:flex;align-items:flex-start;gap:10px;margin-top:20px;font-size:16px; }
.assessment-share-consent input { flex:0 0 auto;margin-top:5px; }
.assessment-share-form .button { margin-top:16px; }
.assessment-share-status:not(:empty) { padding:12px 16px;border-left:3px solid var(--copper);background:var(--tint);font-size:16px; }
.assessment-founder-line { font-weight:700; }
@media(max-width:760px) { .assessment-share-fields { grid-template-columns:1fr; } }
@media(max-width:620px) {
  .sample-engagement-lead { padding:21px 18px; }
  .sample-engagement-lead .eyebrow { font-size:14px; }
  .assessment-share { padding:22px 18px; }
  .leader-grid .credentials,.source-content .credential-line { font-size:15px; }
}
@media print { .assessment-print-sheet .assessment-share { display:none!important; } }

/* Final local UI review: stronger assessment invitation and coherent work narrative. */
.assessment-teaser-action { display:flex;align-items:center;justify-content:space-between;gap:22px;margin:20px 0 14px;padding:16px 19px;background:var(--navy);color:var(--paper);border-left:4px solid var(--copper); }
.assessment-teaser-action strong,.assessment-teaser-action span { display:block;color:var(--paper); }
.assessment-teaser-action strong { font-size:17px;line-height:1.4; }
.assessment-teaser-action span { margin-top:3px;font-size:14px;line-height:1.45; }
.assessment-teaser-action .button { flex:0 0 auto;min-height:48px;padding:6px 12px;color:var(--paper);text-decoration-color:var(--paper);font-size:17px; }
.assessment-teaser-action .button:hover { color:#f2b087; }
.assessment-teaser-action .button > span { filter:brightness(0) invert(1); }
.work-change { background:var(--paper);border-top:3px solid var(--copper); }
.work-integration-intro { max-width:900px;margin-bottom:20px; }
.work-integration-intro h2 { margin-bottom:5px; }
.work-integration-intro > p:not(.eyebrow) { font-size:17px;line-height:1.55; }
.work-change .change-grid { align-items:start;gap:28px; }
.work-change .change-grid h2 { max-width:620px; }
.change-management-callout { padding:18px 21px 21px;border-left:3px solid var(--copper);background:var(--tint); }
.change-management-callout h3 { font-size:21px;line-height:1.35; }
.change-management-callout p:last-child { font-size:16px;line-height:1.55; }
.work-terms { display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:25px;padding-top:18px;border-top:1px solid var(--line); }
.work-terms p { margin:0;font-size:16px;line-height:1.55; }
.source-content .profile-hero { padding:34px 0 35px; }
.source-content .profile-hero .portrait { width:min(330px,calc(100% - 18px)); }
.source-content .profile-hero .bio-layout { align-items:center;gap:45px; }
.source-content .biography-section { padding-top:33px; }
.contact-form .local-form-note { margin:16px 0 0;padding:11px 14px;font-size:15px;line-height:1.5; }

/* Keep contact selects native, but make their dropdown affordance unmistakable. */
.contact-form select {
  appearance:none;
  -webkit-appearance:none;
  padding-right:48px;
  border:1.5px solid var(--navy);
  background-color:#fffdf8;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='10' viewBox='0 0 16 10' fill='none'%3E%3Cpath d='m2 2 6 6 6-6' stroke='%238d4924' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 16px center;
  background-size:16px 10px;
  cursor:pointer;
}
.contact-form select:hover { border-color:var(--copper-dark); }
.contact-form select:focus-visible { outline:3px solid var(--copper);outline-offset:3px;border-color:var(--navy); }
.contact-form select:invalid { color:var(--muted); }
.floating-top { position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:30;width:48px;height:48px;display:grid;place-items:center;background:var(--paper);border:1px solid var(--copper);border-radius:50%;box-shadow:0 3px 12px rgba(8,31,41,.16);color:var(--navy);font-size:22px;line-height:1;text-decoration:none; }
.floating-top:hover { background:var(--navy);color:var(--paper); }
.floating-top:focus-visible { outline:3px solid var(--copper);outline-offset:3px; }
@media(max-width:760px) {
  .assessment-teaser-action { display:block; }
  .assessment-teaser-action .button { margin-top:12px; }
  .work-change .change-grid { gap:20px; }
  .work-terms { grid-template-columns:1fr;gap:14px; }
}
@media(max-width:620px) {
  .source-content .profile-hero { padding:25px 0 29px; }
  .source-content .profile-hero .bio-layout { gap:22px; }
  .source-content .profile-hero .portrait { width:min(290px,calc(100% - 18px)); }
  .source-content .biography-section { padding-top:27px; }
  .floating-top { right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));width:46px;height:46px; }
  .assessment-teaser-action strong { font-size:16px; }
  .assessment-teaser-action .button { font-size:16px; }
  .photo-reedsburg .landscape-hero { background-image:linear-gradient(90deg,rgba(245,241,233,.98),rgba(245,241,233,.91)),var(--place-photo); }
}
@media(prefers-reduced-motion:reduce) { .floating-top { scroll-behavior:auto; } }

/* Founder pages: one restrained portrait, one clear executive introduction. */
.leadership-profile { padding:42px 0 48px; }
.leadership-title { margin-bottom:27px; }
.leader-grid {
  grid-template-columns:minmax(0,320px) minmax(0,1fr);
  align-items:center;gap:clamp(36px,5vw,68px);max-width:1120px;
}
.source-content .profile-hero .bio-layout {
  grid-template-columns:minmax(0,320px) minmax(0,1fr);
  align-items:center;gap:clamp(36px,5vw,68px);max-width:1080px;
}
.leader-grid .leader-portrait-art,.source-content .profile-hero .portrait {
  width:min(320px,calc(100% - 18px));max-width:320px;
  aspect-ratio:4/5.5;margin:0 0 0 18px;background:transparent;
}
.leader-grid .profile-portrait-window,.source-content .profile-portrait-window { bottom:auto; }
.leader-grid .profile-half-frame,.source-content .profile-half-frame { bottom:27px; }
.portrait-email {
  top:auto;bottom:0;left:0;right:0;min-height:34px;
  display:flex;align-items:end;text-align:left;font-size:15px;font-weight:700;
}
.leader-grid .eyebrow,.source-content .role-badge { font-size:13px;letter-spacing:.12em; }
.leader-grid h2,.source-content .profile-hero h1 { margin:12px 0 0;line-height:1.12; }
.leader-grid .credentials,.source-content .credential-line {
  margin:8px 0 0;font-family:var(--sans);font-size:15px;
  letter-spacing:.035em;line-height:1.4;color:var(--copper-dark);
}
.leader-grid .domains { margin-top:17px;font-size:21px;line-height:1.4; }
.leader-grid .leader-intro { margin-top:17px;font-size:17px;line-height:1.55; }
.source-content .profile-hero .lead { margin-top:19px;font-size:18px;line-height:1.45; }
.source-content .profile-hero .page-pronunciation { margin-top:17px; }
.leader-contact,.source-content .profile-contact { margin-top:18px; }
.source-content .biography-section { padding:32px 0 38px; }
.source-content .biography-section .biography-grid { gap:clamp(30px,4vw,55px); }
.source-content .biography-quote { font-size:20px;line-height:1.45; }
.source-content .biography-section .long-copy p { font-size:16px;line-height:1.56;margin:0 0 15px; }
@media(max-width:820px) {
  .leader-grid,.source-content .profile-hero .bio-layout { grid-template-columns:minmax(0,270px) minmax(0,1fr);gap:28px; }
  .leader-grid .leader-portrait-art,.source-content .profile-hero .portrait { width:min(270px,calc(100% - 18px)); }
  .leader-grid .domains { font-size:18px; }
}
@media(max-width:620px) {
  .leadership-profile { padding:28px 0 36px; }
  .leadership-title { margin-bottom:20px; }
  .leader-grid,.source-content .profile-hero .bio-layout { grid-template-columns:1fr;gap:21px; }
  .leader-grid .leader-portrait-art,.source-content .profile-hero .portrait { width:min(250px,calc(100% - 18px));margin-left:18px; }
  .source-content .profile-hero { padding:27px 0 31px; }
  .source-content .profile-hero .lead { font-size:17px; }
  .source-content .biography-section { padding:28px 0 34px; }
  .source-content .biography-quote { font-size:19px; }
}

/* Compact footer rhythm without changing its text, headers, or type sizes. */
footer { padding:15px 0; }
.footer-row { gap:18px; }
.footer-identity { gap:16px; }
.footer-right nav { gap:11px 13px; }
.footer-right a { white-space:nowrap; }
.footer-right p { margin-top:7px; }
@media(max-width:760px) {
  footer { padding:13px 0; }
  .footer-identity { gap:12px; }
  .footer-right { margin-top:11px; }
  .footer-right nav { gap:8px 12px; }
}

/* Keep the sample scope, hospital responsibilities, and fee model in one section. */
.work-responsibilities-grid {
  margin-top:28px;
  padding-top:25px;
  border-top:1px solid var(--line);
}
@media(max-width:760px) {
  .work-responsibilities-grid { margin-top:22px; padding-top:21px; }
}
