/* CNR V3.1 — hospitality-led expression, restrained assessment UI. */
:root {
  color-scheme:light;
  --ink:#29251f;
  --dark:#29251f;
  --paper:#f5efe5;
  --surface:#fffaf3;
  --muted:#77614f;
  --soft:#c8baa9;
  --line:#ded0bd;
  --accent:#d6a66b;
  --emphasis:#855039;
  --radius:6px;
  font-family:"Segoe UI",Arial,sans-serif;
  color:var(--ink);
  background:var(--paper);
  font-synthesis:none
}
* {
  box-sizing:border-box
}
body {
  margin:0
}
a {
  color:inherit;
  text-underline-offset:5px
}
button,input,select,textarea {
  font:inherit
}
button {
  cursor:pointer
}
a,button,input,select,textarea {
  outline-offset:5px
}
:focus-visible {
  outline:3px solid #98531f
}
main:focus {
  outline:none
}
button:disabled {
  opacity:.45;
  cursor:not-allowed
}
h1,h2,h3,p {
  margin-top:0
}
h1,h2,h3 {
  font-weight:550
}
h1 {
  font-size:clamp(32px,5vw,52px);
  line-height:1.12;
  letter-spacing:-1.3px;
  margin-bottom:20px
}
h2 {
  font-size:clamp(29px,3.8vw,46px);
  line-height:1.13;
  letter-spacing:-1.2px;
  margin-bottom:22px
}
h3 {
  font-size:19px;
  line-height:1.4;
  letter-spacing:-.25px;
  margin-bottom:12px
}
p {
  line-height:1.75
}
small {
  font-size:12px
}
.lead {
  font-size:16px;
  line-height:1.8;
  color:var(--muted);
  max-width:610px
}
.micro {
  font-size:12px;
  line-height:1.7;
  color:var(--muted)
}
.eyebrow {
  display:block;
  font-size:10px;
  font-weight:600;
  letter-spacing:1.55px;
  text-transform:uppercase;
  line-height:1.8;
  margin-bottom:22px
}
.container {
  width:100%;
  max-width:1240px;
  padding:48px 20px;
  margin:auto
}
.button,button.primary,button.secondary {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  min-height:48px;
  padding:14px 19px;
  border-radius:3px;
  font-size:13px;
  font-weight:600;
  text-decoration:none;
  border:1px solid transparent;
  line-height:1.5;
  transition:background .18s,color .18s,border-color .18s
}
.button,button.primary {
  background:var(--emphasis);
  color:#fffaf3
}
.button:hover,button.primary:hover {
  background:#68402e
}
.button.accent {
  background:var(--accent);
  color:var(--ink)
}
.button.accent:hover {
  background:#e2b77f
}
button.secondary {
  background:transparent;
  border-color:#bfb09f;
  color:var(--ink)
}
button.secondary:hover {
  background:#e8dfd3
}
.text-link {
  display:inline-flex;
  align-items:center;
  gap:14px;
  min-height:44px;
  font-size:13px;
  font-weight:600;
  text-decoration:underline;
  text-decoration-thickness:1px
}
.text-link:hover {
  color:var(--emphasis)
}
.tag {
  display:inline-block;
  border-radius:3px;
  background:#eee6da;
  color:#5b4a3e;
  padding:6px 9px;
  font-size:11px;
  font-weight:500;
  line-height:1.5
}
.notice {
  padding:15px 17px;
  font-size:12px;
  line-height:1.7;
  background:#eee3d3;
  border-radius:4px;
  color:#584c42;
  margin-bottom:24px
}
.notice strong {
  color:var(--ink)
}
/* Compact navigation is the default, not a squeezed desktop header. */
.site-header {
  background:var(--paper);
  color:var(--ink);
  position:relative;
  z-index:5
}
.header-inner {
  max-width:1440px;
  margin:auto;
  padding:20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  min-width:0
}
.brand {
  display:inline-flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  flex-shrink:0
}
.brand-mark {
  font-size:29px;
  font-weight:750;
  letter-spacing:-1.6px;
  line-height:1
}
.brand-mark>span {
  color:var(--emphasis)
}
.brand-name {
  font-size:8px;
  font-weight:600;
  letter-spacing:1.5px;
  border-left:1px solid #b9aa98;
  padding-left:12px
}
.desktop-nav,.header-cta {
  display:none
}
.mobile-nav summary {
  list-style:none;
  cursor:pointer;
  min-height:44px;
  display:flex;
  align-items:center;
  gap:12px;
  font-size:13px;
  padding:10px 0 10px 12px
}
.mobile-nav summary::-webkit-details-marker {
  display:none
}
.mobile-nav summary span {
  font-size:22px;
  color:var(--emphasis)
}
.mobile-nav nav {
  position:absolute;
  top:100%;
  left:12px;
  right:12px;
  background:var(--surface);
  border:1px solid var(--line);
  padding:8px;
  border-radius:5px;
  box-shadow:0 18px 30px #29251f1a
}
.mobile-nav nav a {
  display:block;
  padding:15px 14px;
  text-decoration:none;
  font-size:14px
}
.mobile-nav nav a:hover {
  background:#eee5d8
}
.mobile-nav nav a:last-child {
  color:var(--emphasis);
  font-weight:600
}
/* A venue atmosphere, with readable copy separate from the photograph. */
.hospitality-hero {
  max-width:1440px;
  margin:auto
}
.hero-editorial {
  display:grid;
  grid-template-columns:minmax(0,1fr)
}
.hero-copy {
  padding:32px 20px 35px
}
.hero-copy .eyebrow {
  max-width:260px;
  color:#7d4a32;
  font-size:9px;
  letter-spacing:1.35px
}
.hero-copy h1 {
  font-size:clamp(42px,6vw,84px);
  line-height:1.03;
  font-weight:550;
  letter-spacing:-1.8px;
  margin-bottom:25px
}
.hero-copy h1 span {
  color:var(--emphasis)
}
.hero-copy .lead {
  font-size:15px;
  max-width:470px
}
.hero-actions {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:14px;
  margin:27px 0
}
.hero-footnote {
  font-size:10px;
  line-height:1.8;
  color:var(--muted);
  margin:0
}
.venue-figure {
  margin:0;
  min-width:0;
  background:#46362b;
  position:relative
}
.venue-figure picture {
  display:block
}
.venue-figure img {
  display:block;
  width:100%;
  height:280px;
  object-fit:cover;
  object-position:52% 65%;
  filter:brightness(1) saturate(.95)
}
.venue-figure figcaption {
  background:#eee3d3;
  color:#f5efe5;
  padding:16px 20px;
  display:flex;
  flex-direction:column;
  gap:7px;
  font-size:11px;
  line-height:1.65
}
.venue-figure figcaption small {
  font-size:9px;
  color:#77614f
}
.venue-figure figcaption a {
  text-decoration-thickness:1px
}
.hospitality-intro {
  padding-top:60px;
  padding-bottom:60px
}
.hospitality-intro>.eyebrow {
  color:#865635
}
.intro-grid {
  display:grid;
  gap:18px
}
.intro-grid p:not(.lead) {
  font-size:14px;
  max-width:510px;
  color:var(--muted)
}
.intro-grid .text-link {
  margin-top:8px
}
.approach-section {
  background:#eee3d3
}
.section-head {
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-bottom:32px
}
.section-head p {
  font-size:14px;
  color:var(--muted);
  max-width:370px
}
.process {
  display:grid;
  gap:30px
}
.process article {
  border-top:1px solid #cbbbaa;
  padding-top:20px
}
.process .number {
  font-size:10px;
  color:#76543e;
  letter-spacing:1px;
  display:block;
  margin-bottom:24px
}
.process p {
  font-size:14px;
  color:var(--muted);
  max-width:340px
}
.founder-section {
  background:var(--dark);
  color:var(--paper)
}
.founder-grid {
  display:grid;
  gap:24px
}
.founder-grid .eyebrow {
  color:var(--accent)
}
.founder-grid h2 span {
  color:#855039
}
.founder-label {
  font-size:11px;
  line-height:1.8;
  color:var(--soft);
  max-width:270px
}
.founder-copy p {
  font-size:14px;
  line-height:1.85;
  color:#77614f;
  max-width:550px
}
.founder-copy .founder-opening {
  font-size:21px;
  color:#f5efe5;
  line-height:1.5;
  letter-spacing:-.3px;
  margin-bottom:25px
}
.founder-copy .micro {
  font-size:11px;
  color:var(--soft);
  padding-top:15px;
  border-top:1px solid #ffffff25
}
.hospitality-tools .tool-grid {
  display:grid;
  gap:0
}
.tool-card {
  display:grid;
  grid-template-columns:20px minmax(0,1fr) 22px;
  gap:14px;
  align-items:start;
  padding:24px 0;
  text-decoration:none;
  border-top:1px solid var(--line);
  transition:color .18s
}
.tool-card:last-child {
  border-bottom:1px solid var(--line)
}
.tool-card:hover {
  color:var(--emphasis)
}
.tool-number {
  font-size:10px;
  color:var(--muted);
  padding-top:5px
}
.tool-card h3 {
  font-size:22px;
  margin-bottom:8px
}
.tool-card p {
  font-size:13px;
  color:var(--muted);
  margin-bottom:0
}
.tool-arrow {
  font-size:25px;
  line-height:1.2
}
.closing {
  display:flex;
  flex-direction:column;
  gap:25px;
  padding-top:15px;
  padding-bottom:60px
}
.closing .eyebrow {
  margin-bottom:12px;
  color:#865635
}
.closing h2 {
  margin:0
}
/* Assessment stays practical: restrained warmth, no hospitality gimmicks. */
.assessment {
  max-width:880px
}
.demo-label {
  font-size:11px;
  line-height:1.7;
  color:var(--muted);
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:30px
}
.demo-label .tag {
  font-size:9px;
  letter-spacing:1px;
  background:#e7d9c9;
  color:#65422b
}
.progress-meta {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:15px;
  font-size:11px;
  color:var(--muted);
  margin-bottom:10px
}
.progress-meta b {
  color:var(--ink);
  font-weight:600
}
.progress-meta>span {
  white-space:nowrap
}
.steps {
  list-style:none;
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  padding:0;
  margin:0 0 36px;
  gap:5px
}
.steps li {
  height:3px;
  background:#d6cbbb
}
.steps li.done {
  background:#b5825b
}
.steps li.active {
  background:var(--emphasis)
}
.assessment .lead {
  margin-bottom:28px
}
.selection-help {
  display:flex;
  justify-content:space-between;
  gap:12px;
  font-size:11px;
  color:var(--muted);
  margin-bottom:14px
}
.selection-help output {
  font-weight:600;
  color:var(--ink)
}
.choices {
  display:grid;
  gap:10px
}
.choice {
  text-align:left;
  position:relative;
  display:grid;
  grid-template-columns:24px minmax(0,1fr) 22px;
  gap:12px;
  align-items:center;
  min-height:92px;
  padding:18px 14px;
  border:1px solid #ddd1c2;
  border-radius:6px;
  background:var(--surface);
  color:var(--ink);
  transition:background .18s,border-color .18s
}
.choice:hover {
  background:#eee3d4
}
.choice[aria-pressed=true] {
  background:#f0dfc5;
  border-color:#77614f
}
.choice-index {
  font-size:11px;
  color:#726154;
  font-variant-numeric:tabular-nums
}
.choice b {
  font-size:15px;
  font-weight:600;
  line-height:1.4;
  display:block
}
.choice small {
  display:block;
  line-height:1.6;
  color:var(--muted);
  font-size:12px;
  margin-top:5px
}
.choice .tick {
  display:inline-grid;
  place-items:center;
  width:22px;
  height:22px;
  border:1px solid #ad9e8e;
  border-radius:3px;
  color:transparent;
  font-size:13px
}
.choice[aria-pressed=true] .tick {
  background:var(--emphasis);
  border-color:var(--emphasis);
  color:var(--paper)
}
.actions {
  display:flex;
  flex-direction:column-reverse;
  gap:12px;
  margin-top:30px;
  padding-top:24px;
  border-top:1px solid var(--line)
}
.actions>button {
  width:100%
}
.actions .micro {
  text-align:center;
  font-size:11px
}
.question {
  padding:20px 0;
  border-top:1px solid var(--line)
}
label {
  display:block;
  font-size:14px;
  font-weight:500;
  line-height:1.65;
  margin:0 0 10px
}
input,select,textarea {
  display:block;
  width:100%;
  min-width:0;
  max-width:100%;
  min-height:48px;
  padding:13px 14px;
  border:1px solid #ad9e8e;
  background:var(--surface);
  border-radius:4px;
  color:var(--ink);
  font-size:16px
}
textarea {
  min-height:150px;
  resize:vertical
}
.question .micro {
  margin:10px 0 0
}
.investigation-list {
  display:grid
}
.investigation {
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  gap:15px;
  padding:22px 0;
  border-top:1px solid var(--line)
}
.investigation .number {
  font-size:11px;
  color:var(--muted);
  padding-top:3px
}
.investigation h3 {
  font-size:16px;
  margin-bottom:6px
}
.investigation p {
  font-size:12px;
  color:var(--muted);
  margin:0
}
.scope {
  padding:22px 0;
  border-top:1px solid var(--line)
}
.scope-heading {
  display:flex;
  justify-content:space-between;
  gap:15px;
  align-items:start
}
.scope h3 {
  font-size:16px
}
.scope p {
  font-size:14px;
  color:var(--muted);
  margin:0
}
.scope .tag {
  flex-shrink:0
}
.summary {
  background:var(--surface);
  border-radius:6px;
  padding:22px 18px;
  margin-top:30px;
  border-top:3px solid var(--emphasis)
}
.estimate-heading {
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-bottom:24px
}
.estimate-heading .eyebrow {
  font-size:10px;
  color:var(--muted);
  margin-bottom:8px
}
.total {
  font-size:clamp(32px,7vw,48px);
  font-weight:600;
  letter-spacing:-1.5px;
  font-variant-numeric:tabular-nums;
  line-height:1.2
}
.summary .micro {
  font-size:11px
}
.fee {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  padding:17px 0;
  border-top:1px solid var(--line);
  font-size:13px;
  line-height:1.5
}
.fee small {
  display:block;
  color:var(--muted);
  font-size:11px;
  margin-top:3px
}
.fee>span:last-child {
  white-space:nowrap;
  font-variant-numeric:tabular-nums
}
.fee.total-line {
  font-weight:700
}
.overlap-note {
  font-size:12px;
  line-height:1.7;
  color:#633d29;
  background:#f0e1d0;
  border-radius:4px;
  padding:13px 15px;
  margin:20px 0
}
.estimate-notes {
  margin-top:24px
}
.estimate-notes p {
  font-size:12px;
  color:var(--muted)
}
.upload-note {
  padding:20px 0;
  margin-top:20px;
  border-top:1px solid var(--line)
}
.upload-note h3 {
  font-size:14px
}
.upload-note p {
  font-size:12px;
  color:var(--muted)
}
/* Free tools and synthetic consultant dashboard. */
.workspace {
  display:grid;
  gap:24px;
  align-items:start
}
.card {
  background:var(--surface);
  border-radius:6px;
  padding:24px 20px;
  min-width:0
}
.card p {
  font-size:14px;
  color:var(--muted)
}
.field-pair {
  display:grid;
  gap:20px
}
.field-pair>div {
  min-width:0
}
.tool-tabs {
  display:flex;
  gap:5px;
  background:#e4d9cc;
  padding:5px;
  border-radius:5px;
  width:fit-content;
  max-width:100%;
  margin:25px 0
}
.tool-tabs button {
  min-height:44px;
  font-size:12px;
  padding:10px 14px;
  border:0;
  background:transparent
}
.tool-tabs button[aria-pressed=true] {
  background:var(--surface)
}
.tool-form label {
  margin-top:20px
}
.tool-form>.micro {
  margin:22px 0
}
.result {
  background:var(--dark);
  color:var(--paper);
  border-radius:4px;
  padding:24px 20px;
  margin-top:25px
}
.result>span {
  font-size:12px;
  color:var(--soft)
}
.result strong {
  display:block;
  font-size:34px;
  letter-spacing:-1px;
  margin:10px 0 18px
}
.result p {
  font-size:13px;
  color:#e0d6ca
}
.result p:last-child {
  font-size:11px;
  color:var(--soft);
  margin-bottom:0
}
.error {
  color:#982a25;
  font-size:13px
}
.dashboard {
  display:grid;
  gap:25px
}
.dashboard>aside {
  min-width:0
}
.client {
  display:block;
  width:100%;
  margin-bottom:10px;
  min-height:80px;
  padding:18px
}
.client[aria-pressed=true] {
  background:#f0dfc5;
  border-color:#77614f
}
.brief-top {
  display:flex;
  flex-direction:column;
  gap:22px;
  margin-bottom:25px
}
.brief-top h3 {
  font-size:24px;
  letter-spacing:-.6px;
  margin-top:12px
}
.brief-top h2 {
  font-size:30px;
  margin-top:7px
}
.list {
  font-size:13px;
  line-height:1.95;
  padding-left:18px;
  color:var(--muted)
}
.dashboard .field-pair {
  gap:20px
}
.dashboard .card>h3 {
  margin-top:30px
}
.dashboard .lead {
  font-size:14px
}
.site-footer {
  background:var(--dark);
  color:var(--paper)
}
.footer-inner {
  max-width:1240px;
  margin:auto;
  display:flex;
  flex-direction:column;
  gap:24px;
  padding:35px 20px
}
.footer-inner .brand-mark>span {
  color:var(--accent)
}
.footer-inner .brand-name {
  border-color:#a18a72
}
.footer-inner p {
  font-size:12px;
  color:var(--soft);
  margin:0
}
.footer-inner .micro {
  font-size:11px;
  color:var(--soft)
}
.skip {
  position:absolute;
  top:-100px;
  left:12px;
  z-index:20
}
.skip:focus {
  top:10px;
  background:var(--surface);
  color:var(--ink);
  padding:14px;
  border-radius:4px
}
.lead,.scope,.list,.notice,.card p,.founder-copy p {
  overflow-wrap:anywhere
}
@media(min-width:375px) {
  .container {
    padding-left:24px;
    padding-right:24px
  }
  .header-inner {
    padding-left:24px;
    padding-right:24px
  }
  .hero-copy {
    padding:36px 24px 40px
  }
  .hero-copy h1 {
    font-size:49px;
    letter-spacing:-2.1px
  }
  .choice {
    padding:20px;
    gap:15px
  }
  .choice b {
    font-size:16px
  }
  .summary {
    padding:26px 24px
  }
  .venue-figure img {
    height:320px
  }
}
@media(min-width:600px) {
  .container {
    padding:70px 36px
  }
  .header-inner {
    padding:22px 36px
  }
  .hero-copy {
    padding:50px 36px
  }
  .hero-copy h1 {
    font-size:66px;
    letter-spacing:-2.8px
  }
  .hero-copy .eyebrow {
    max-width:none
  }
  .hero-copy .lead {
    font-size:17px
  }
  .hero-actions {
    flex-direction:row;
    align-items:center;
    flex-wrap:wrap;
    gap:22px
  }
  .venue-figure img {
    height:420px
  }
  .venue-figure figcaption {
    padding:18px 36px;
    flex-direction:row;
    justify-content:space-between;
    gap:25px
  }
  .process {
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:25px
  }
  .section-head {
    flex-direction:row;
    justify-content:space-between;
    align-items:end;
    gap:40px
  }
  .section-head>div {
    max-width:550px
  }
  .section-head p {
    max-width:340px
  }
  .field-pair {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .actions {
    flex-direction:row;
    justify-content:space-between;
    align-items:center
  }
  .actions>button {
    width:auto
  }
  .choice {
    padding:22px 25px;
    grid-template-columns:36px minmax(0,1fr) 24px
  }
  .choice b {
    font-size:18px
  }
  .choice small {
    font-size:13px
  }
  .steps {
    margin-bottom:45px
  }
  .estimate-heading {
    flex-direction:row;
    justify-content:space-between;
    align-items:center
  }
  .estimate-heading>.tag {
    max-width:185px
  }
  .summary {
    padding:32px
  }
  .fee {
    font-size:14px
  }
  .card {
    padding:30px
  }
  .footer-inner {
    padding:40px 36px;
    flex-direction:row;
    justify-content:space-between;
    align-items:center
  }
  .brief-top {
    flex-direction:row;
    justify-content:space-between
  }
  .brief-top>div {
    min-width:0
  }
  .dashboard .brief-top h2 {
    font-size:28px
  }
  .tool-card {
    grid-template-columns:45px minmax(0,1fr) 40px;
    gap:20px;
    padding:30px 0
  }
  .tool-card h3 {
    font-size:27px
  }
  .closing {
    padding-top:20px
  }
}
@media(min-width:960px) {
  .header-inner {
    gap:30px
  }
  .desktop-nav {
    display:flex;
    gap:26px;
    align-items:center;
    font-size:12px
  }
  .desktop-nav a {
    text-decoration:none;
    color:#65594d;
    white-space:nowrap;
    min-height:44px;
    display:flex;
    align-items:center
  }
  .desktop-nav a:hover {
    color:var(--emphasis)
  }
  .header-cta {
    display:inline-flex;
    font-size:12px
  }
  .mobile-nav {
    display:none
  }
  .hero-editorial {
    grid-template-columns:minmax(0,1.06fr) minmax(0,1fr)
  }
  .hero-copy {
    padding:60px 40px 60px 36px;
    align-self:center
  }
  .hero-copy h1 {
    font-size:clamp(60px,6.1vw,86px);
    letter-spacing:-3px
  }
  .hero-copy .lead {
    font-size:16px
  }
  .hero-copy .eyebrow {
    max-width:360px
  }
  .hero-actions {
    gap:14px
  }
  .hero-actions .text-link {
    font-size:12px
  }
  .venue-figure {
    display:flex;
    flex-direction:column
  }
  .venue-figure picture {
    flex:1;
    min-height:0
  }
  .venue-figure img {
    height:100%;
    min-height:600px;
    max-height:800px;
    object-position:48% 55%
  }
  .venue-figure figcaption {
    padding:18px 22px;
    flex-direction:column;
    gap:5px
  }
  .intro-grid {
    grid-template-columns:1fr 1fr;
    gap:90px
  }
  .hospitality-intro {
    padding-top:95px;
    padding-bottom:95px
  }
  .founder-grid {
    grid-template-columns:1fr 1.15fr;
    gap:95px;
    padding-top:90px;
    padding-bottom:90px
  }
  .founder-copy .founder-opening {
    font-size:24px
  }
  .closing {
    flex-direction:row;
    justify-content:space-between;
    align-items:center;
    padding-bottom:85px
  }
  .workspace {
    grid-template-columns:minmax(0,1fr) 300px;
    gap:30px
  }
  .dashboard {
    grid-template-columns:250px minmax(0,1fr);
    gap:30px
  }
  .dashboard .card {
    padding:32px
  }
  .assessment {
    padding-top:45px
  }
  .brand-name {
    font-size:9px
  }
}
@media(min-width:1240px) {
  .hero-copy {
    padding-left:clamp(36px,5vw,72px)
  }
  .hero-actions {
    gap:23px
  }
}
@media(prefers-reduced-motion:no-preference) {
  .hero-copy {
    animation:arrive .4s ease-out both
  }
  @keyframes arrive {
    from {
      opacity:0;
      transform:translateY(6px)
    }
    to {
      opacity:1;
      transform:translateY(0)
    }
  }
}
@media(prefers-reduced-motion:reduce) {
  *,*:before,*:after {
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important
  }
}

/* Lighter emotional balance: the founder is an invitation, not a dark feature panel. */
.venue-figure figcaption{color:var(--ink)}
.founder-section{background:#eee3d3;color:var(--ink)}
.founder-grid .eyebrow{color:#855039}
.founder-copy .founder-opening{color:var(--ink)}
.founder-copy .micro{color:var(--muted);border-color:#cbb8a0}
.service-figure{margin:0;min-width:0}
.service-figure img{display:block;width:100%;height:auto;border-radius:3px}
.service-figure figcaption{font-size:10px;line-height:1.7;color:var(--muted);margin-top:10px}
.recognition-copy{align-self:center}
.founder-portrait{margin:28px 0 0;max-width:390px}
.founder-portrait>div{aspect-ratio:5/3;background:#e1d1ba;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;text-align:center;color:#5d4837;border-radius:3px}
.founder-portrait>div>span{font-size:19px;letter-spacing:-.3px}
.founder-portrait small{font-size:10px;text-transform:uppercase;letter-spacing:1px}
.founder-portrait figcaption{font-size:10px;line-height:1.7;color:var(--muted);margin-top:10px}
.assessment-invitation{display:grid;gap:20px}
.assessment-invitation h2{margin-bottom:18px}
.assessment-invitation p{font-size:14px;max-width:520px;color:var(--muted)}
.assessment-invitation .micro{font-size:11px;margin-top:12px}
.hospitality-tools{padding-top:20px}
@media(min-width:960px){.assessment-invitation{grid-template-columns:minmax(0,1fr) auto;gap:70px;align-items:center}.intro-grid{gap:65px}.founder-grid{gap:75px}}

/* Release information pages and logical tool heading hierarchy. */
.legal-page{max-width:880px}.legal-page h2{font-size:23px;letter-spacing:-.5px;margin-top:32px}.legal-page p{font-size:15px;color:var(--muted)}.tool-form>h2,.workspace>aside>h2{font-size:20px;letter-spacing:-.3px}.legal-page .button{margin:12px 0}

.assessment-task-heading{font-size:16px;line-height:1.4;letter-spacing:-.25px;margin-bottom:12px}
/* Longer decision scenarios remain readable on small screens. */
.calc-subheading{margin-top:2rem;font-size:1.35rem}
.result-warnings{padding-left:1.2rem;line-height:1.6}
.result-warnings li+li{margin-top:.7rem}
.tool-form select{max-width:100%;min-width:0}

/* V4: accommodate the revised headline and explicit summary sharing. */
.hero-copy h1{font-size:clamp(38px,4.6vw,68px);line-height:1.06;text-wrap:balance}
.hero-expertise{font-size:11px;line-height:1.8;color:var(--ink);max-width:440px;margin:18px 0}
.summary-sharing{margin:32px 0;padding-top:24px;border-top:1px solid var(--line)}
.summary-sharing h2{font-size:22px;letter-spacing:-.4px}
#copy-status{min-height:1.5em;font-size:14px;line-height:1.6}
#copy-fallback textarea{min-height:240px;font-size:14px;line-height:1.6}
@media(min-width:600px){.hero-expertise{font-size:12px}}

@media(min-width:960px){.venue-figure img{max-height:none}}
@media(max-width:599px){.hero-copy{padding-top:16px;padding-bottom:28px}.hero-copy .eyebrow{margin-bottom:12px}.hero-copy h1{font-size:35px;margin-bottom:18px}.hero-copy .lead{line-height:1.65}.hero-expertise{margin:12px 0}.hero-actions{margin:18px 0;gap:12px}}
