/* Shared editorial components: the same classes are available in the block editor. */
.service-overview.wp-block-columns { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:44px; align-items:center; margin:0 0 48px; }
.service-overview>.wp-block-column { min-width:0; }
.service-overview h2 { font-size:var(--heading-md); margin:0 0 18px; line-height:1.2; }
.service-overview h3 { font-size:var(--heading-sm); margin:26px 0 14px; }
.service-overview p,.service-overview ul { color:var(--muted); line-height:1.75; margin-bottom:18px; }
.service-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); gap:20px; margin:24px 0 40px; }
.service-card { min-width:0; padding:26px; background:var(--white); border:1px solid var(--line); border-radius:var(--radius); }
.service-card h3 { font-size:var(--heading-sm); line-height:1.25; margin:0 0 16px; overflow-wrap:anywhere; }
.service-card p { color:var(--muted); line-height:1.75; margin:0; }
.journey-flow { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin:28px 0 40px; }
.journey-step { min-width:0; padding:22px; border:1px solid var(--line); border-top:3px solid var(--orange); border-radius:8px; background:var(--white); }
.journey-step h3 { font-size:var(--text-lg); line-height:1.3; margin:0 0 12px; overflow-wrap:anywhere; }
.journey-step p { margin:0; font-size:var(--text-sm); line-height:1.75; color:var(--muted); }
.project-steps { padding-left:30px; margin:24px 0 40px; }
.project-steps>li { padding:0 0 24px 12px; color:var(--muted); line-height:1.8; }
.project-steps>li::marker { color:var(--orange-dark); font-weight:var(--weight-strong); }
.project-steps strong { color:var(--ink); }
.service-illustration.wp-block-image { margin:0 0 24px; width:100%; }
.service-illustration img { display:block; width:100%; height:auto; border-radius:12px; }
.service-illustration figcaption { margin:12px 0 0; font-size:.875rem; line-height:1.6; color:var(--muted); }
.approach-intro .service-illustration { max-width:440px; margin-top:28px; }
.legal-review-note { margin:0 0 30px; padding:20px 24px; border:1px solid var(--line); border-left:4px solid var(--orange-dark); border-radius:8px; background:var(--white); }
.legal-review-note p { margin:0; line-height:1.7; }
.footer-direct { display:flex; flex-wrap:wrap; gap:12px 28px; margin:20px 0; font-size:var(--text-sm); font-weight:var(--weight-ui); }
.footer-direct a:hover { color:var(--orange-dark); }
@media(max-width:1000px) { .journey-flow { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:781px) {
 .service-overview.wp-block-columns { grid-template-columns:minmax(0,1fr); gap:24px; margin-bottom:36px; }
 .service-overview h2 { font-size:var(--heading-sm); }
 .service-illustration.wp-block-image { margin-bottom:10px; }
}
@media(max-width:640px) {
 .journey-flow { grid-template-columns:minmax(0,1fr); gap:12px; }
 .service-cards { gap:16px; }
 .service-card { padding:22px; }
 .journey-step { padding:20px; }
 .project-steps>li { padding-left:4px; }
 .legal-review-note { padding:18px; }
}
/* Compact illustrated name associations, shared with the native block editor. */
.technology-list { columns:2; column-gap:36px; padding-left:24px; margin:16px 0 18px; }
.technology-list li { break-inside:avoid; padding:0 0 10px; line-height:1.6; }
.philosophy-details { padding:22px 24px; }
.philosophy-points { margin:20px 0 24px; }
.philosophy-point { padding:20px 0; border-top:1px solid var(--line); }
.philosophy-row.wp-block-columns { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.5fr); align-items:center; gap:26px; margin:0; }
.philosophy-row>.wp-block-column { min-width:0; }
.philosophy-row .service-illustration.wp-block-image { margin:0; }
.philosophy-row .principle-number { margin:0 0 5px; color:var(--orange-dark); font-family:monospace; font-size:var(--text-sm); line-height:1.4; }
.philosophy-row h3 { margin:0 0 10px; font-size:var(--heading-sm); line-height:1.25; }
.philosophy-row p { margin:0 0 10px; line-height:1.65; }
.philosophy-row p:last-child { margin-bottom:0; }
.service-detail-visual { max-width:820px; margin:24px auto 36px; }
@media(max-width:781px) {
 .philosophy-details { padding:18px; }
 .philosophy-row.wp-block-columns { grid-template-columns:minmax(0,1fr); gap:16px; }
 .philosophy-row .service-illustration.wp-block-image { max-width:360px; margin:0 auto; }
 .philosophy-row h3 { font-size:var(--heading-sm); }
}
@media(max-width:640px) { .technology-list { columns:1; } .philosophy-point { padding:18px 0; } }

.contact-methods { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin:0 0 40px; }
.contact-method { min-width:0; padding:24px; border:1px solid var(--line); border-radius:var(--radius); background:var(--white); }
.contact-method .service-illustration.wp-block-image { max-width:340px; margin:0 auto 16px; }
.contact-method h2 { font-size:var(--heading-sm); margin:10px 0 14px; }
.contact-method-link { overflow-wrap:anywhere; margin:0; font-size:var(--text-lg); }
@media(max-width:640px) { .contact-methods { grid-template-columns:minmax(0,1fr); gap:18px; } .contact-method { padding:20px; } }

/* Target-page illustrations, quietly reused behind the six home cards. */
.page-card { position:relative; isolation:isolate; }
.page-card .page-card-art { position:absolute; inset:0; width:100%; height:100%; max-width:none; object-fit:cover; opacity:.50; z-index:-2; transition:opacity .2s ease; }
.page-card::after { content:""; position:absolute; inset:0; background:linear-gradient(100deg,rgba(14,15,17,.92),rgba(14,15,17,.63) 60%,rgba(14,15,17,.12)); z-index:-1; pointer-events:none; }
.page-card:hover .page-card-art,.page-card:focus-visible .page-card-art { opacity:.65; }
@media(prefers-reduced-motion:reduce) { .page-card .page-card-art { transition:none; } }

.contact-methods .contact-method h2 { margin:10px 0 14px; }
.contact-method .module-tag { margin-bottom:0; }

/* Problem-led home copy; keep the shared volcano crop unchanged. */
.hero[data-home-hero="true"] { background:transparent; }
.hero[data-home-hero="true"] .hero-content { width:100%; padding:0; row-gap:0; }
.hero[data-home-hero="true"] .hero-intro { min-height:var(--hero-crop-height); padding:12px 66px 40px; }
.hero[data-home-hero="true"] h1 { font-size:clamp(1.75rem,3.7vw,3.3rem); }
.hero[data-home-hero="true"] h1 span { display:block; }
.hero[data-home-hero="true"] .hero-content>p { max-width:none; padding:20px 32px 0; color:var(--muted); }
.home-problem-wrap { padding-block:46px 10px; }
.home-problems h2 { font-size:clamp(1.8rem,3.1vw,2.65rem); line-height:1.2; letter-spacing:-.035em; margin:0 0 22px; }
.home-problems h3 { font-size:var(--heading-sm); line-height:1.3; margin:26px 0 14px; }
.home-problems p { color:var(--muted); line-height:1.75; margin:0 0 16px; max-width:950px; }
.problem-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 28px; list-style:none; padding:0; margin:0; }
.problem-list li { padding:16px 20px; border:1px solid var(--line); border-left:3px solid var(--orange-dark); border-radius:8px; background:var(--white); line-height:1.65; }
.problem-list li::marker { content:''; }
.home-problems a { color:var(--orange-dark); text-decoration:underline; text-underline-offset:3px; }
.contact-first-step { max-width:900px; margin:0 0 28px; }
@media(max-width:1100px) { .hero[data-home-hero="true"] .hero-intro { padding:12px 35px 40px; } .hero[data-home-hero="true"] .hero-content>p { padding:18px 16px 0; } }
@media(max-width:640px) { .hero[data-home-hero="true"] .hero-intro { padding:16px 23px 36px; } .hero[data-home-hero="true"] .hero-content>p { padding:16px 8px 0; } .problem-list { grid-template-columns:minmax(0,1fr); gap:12px; } .home-problems h2 { font-size:var(--heading-sm); } }

.journey-phase+.journey-phase { margin-top:48px; padding-top:38px; border-top:1px solid var(--line); }
.home-problems .journey-stage-label { color:var(--orange-dark); font-size:14px; font-weight:var(--weight-ui); margin-bottom:18px; text-transform:uppercase; letter-spacing:.09em; }
.home-problems .journey-phase h3 { margin-top:0; margin-bottom:24px; font-size:clamp(1.5rem,2.5vw,2rem); line-height:1.25; }
.journey-outcomes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 32px; padding-left:22px; margin:0; color:var(--muted); }
.journey-outcomes li { padding-left:3px; line-height:1.7; }
.journey-outcomes strong { color:var(--ink); }
@media(max-width:640px) { .journey-outcomes { grid-template-columns:minmax(0,1fr); } }

.reference-projects { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; margin:0 0 36px; }
.reference-project { min-width:0; padding:26px; border:1px solid var(--line); border-radius:var(--radius); background:var(--white); }
.reference-project h3 { font-size:var(--heading-sm); line-height:1.25; margin:0 0 16px; overflow-wrap:anywhere; }
.reference-project p { line-height:1.7; color:var(--muted); margin:0 0 16px; }
.reference-project .module-tag { margin:0 0 18px; font-size:var(--text-sm); color:var(--orange-dark); }
.reference-project p:last-child { margin-bottom:0; }
@media(max-width:640px) { .reference-projects { grid-template-columns:minmax(0,1fr); gap:16px; } .reference-project { padding:22px; } }

.service-card .career-tech-list { margin:0; padding-left:22px; }
.career-tech-list li { margin:0 0 10px; line-height:1.6; overflow-wrap:anywhere; }
.career-tech-list li:last-child { margin-bottom:0; }

/* Five editable topic disclosures replace ten always-expanded problem cards. */
.problem-topics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; align-items:start; }
.problem-topic { min-width:0; border:1px solid var(--line); border-left:3px solid var(--orange-dark); border-radius:8px; background:var(--white); }
.problem-topic summary { padding:18px 20px; font-size:var(--text-base); font-weight:var(--weight-ui); line-height:1.5; cursor:pointer; overflow-wrap:anywhere; }
.problem-topic summary::marker { color:var(--orange-dark); }
.problem-topic summary:focus-visible { outline:2px solid var(--orange-dark); outline-offset:3px; }
.problem-topic .problem-list { display:block; margin:0; padding:0 20px 6px; }
.problem-topic .problem-list li { padding:0 0 14px; border:0; border-radius:0; background:transparent; }
.problem-topic .problem-list li+li { padding-top:12px; border-top:1px solid var(--line); }
.approach-compact { gap:44px; align-items:center; padding-block:32px 40px; }
.approach-compact .service-illustration { max-width:360px; margin:0 auto 10px; }
.approach-visual { min-width:0; }
.approach-visual>.inline-link { margin-top:12px; }
.business-examples .journey-outcomes { margin:20px 0; }
@media(max-width:640px) {
 .problem-topics { grid-template-columns:minmax(0,1fr); }
 .problem-topic summary { padding:16px 18px; }
 .problem-topic .problem-list { padding-inline:18px; }
 .approach-compact { gap:24px; }
}

/* Reference scope and business assessment reuse the shared editorial palette. */
.reference-context { margin:0 0 30px; padding:0 0 24px; border-bottom:1px solid var(--line); }
.reference-context h2 { margin:0 0 16px; font-size:var(--heading-md); }
.reference-launch-status { font-weight:var(--weight-ui); }
.business-assessment { margin:26px 0 32px; }
.business-assessment .service-card ul { margin:0; padding-left:22px; }
.business-assessment li { line-height:1.75; margin-bottom:10px; }
.business-assessment li:last-child { margin-bottom:0; }
.assessment-example summary { overflow-wrap:anywhere; }
.assessment-example .service-cards { margin-bottom:20px; }
.assessment-example>ul { margin-top:18px; }

/* Fluctusoft Cloud: native blocks, shared palette and editor styles. */
.cloud-portfolio { margin-bottom:32px; }
.cloud-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin:28px 0 20px; }
.cloud-card { display:flex; flex-direction:column; min-width:0; padding:26px; border:1px solid var(--card-border); border-radius:var(--radius); background:var(--card-bg); color:var(--card-text); }
.cloud-card h3 { color:var(--card-text); font-size:var(--heading-md); margin:0 0 12px; line-height:1.15; overflow-wrap:anywhere; }
.cloud-card p { color:var(--card-muted); line-height:1.7; margin:0 0 18px; }
.cloud-card .cloud-card-number { color:var(--orange); font-family:monospace; font-size:var(--text-sm); letter-spacing:.04em; margin-bottom:20px; }
.cloud-card .cloud-card-subtitle { color:var(--card-text); font-size:var(--text-lg); font-weight:var(--weight-ui); line-height:1.4; }
.cloud-card strong { color:var(--card-text); }
.cloud-card .cloud-status { margin:auto 0 0; padding-top:16px; border-top:1px solid var(--card-border); color:var(--card-text); font-size:var(--text-sm); font-weight:var(--weight-ui); }
.cloud-card .cloud-status-development { color:var(--orange); }
.cloud-status-note { font-size:var(--text-sm); }
.cloud-technical,.cloud-legacy { margin-block:24px; }
.cloud-technical summary,.cloud-legacy summary { overflow-wrap:anywhere; line-height:1.5; }
.cloud-crosslink,.cloud-home-teaser { margin-block:24px; padding:20px 22px; border:1px solid var(--line); border-left:3px solid var(--orange-dark); border-radius:8px; background:var(--white); }
.approach-visual .cloud-home-teaser { font-size:var(--text-base); line-height:1.7; }
@media(max-width:1000px) { .cloud-cards { grid-template-columns:minmax(0,1fr); } .cloud-card { padding:24px; } }
@media(max-width:640px) { .cloud-card { padding:22px; } .cloud-card h3 { font-size:var(--heading-lg); } .cloud-crosslink,.cloud-home-teaser { padding:18px; } }

/* Contextual service choices use the same native typography on page and in editor. */
.services-overview-link { display:inline-block; margin-top:12px; text-decoration:underline; text-underline-offset:3px; font-weight:var(--weight-ui); }
.service-next { margin:34px 0 0; padding:24px 0 0; border-top:1px solid var(--line); }
.service-next h2 { margin-top:0; font-size:var(--heading-md); line-height:1.2; }
.service-paths { margin:16px 0 20px; padding-left:24px; }
.service-paths li { margin:0 0 12px; line-height:1.75; }
.service-reference { line-height:1.75; }
.service-decision { padding:20px 22px; border:1px solid var(--line); border-left:3px solid var(--orange-dark); border-radius:8px; background:var(--white); }
.reference-project[id] { scroll-margin-top:32px; }
@media(max-width:640px) { .service-decision { padding:18px; } .service-next { margin-top:28px; } }
.reference-project:target { outline:2px solid var(--orange-dark); outline-offset:3px; }

/* Editable example message uses the shared type and neutral editorial palette. */
.contact-example { margin:24px 0 32px; padding:4px 0 4px 20px; border-left:3px solid var(--line); }
.contact-example p { margin:0; font-style:normal; line-height:1.75; }
.contact-assessment-output li { margin-bottom:10px; line-height:1.75; }

/* Brand characters complement copy without replacing the existing illustrations. */
.character-intro.wp-block-columns {
  display:grid;
  grid-template-columns:minmax(0,1fr) 160px;
  align-items:center;
  gap:24px;
  margin:0 0 18px;
}
.character-intro>.wp-block-column,.character-career-intro>.wp-block-column { min-width:0; }
.character-intro .service-illustration.wp-block-image { width:150px; margin:0 auto; }
.character-intro .service-illustration img,.character-career-intro .service-illustration img { border-radius:0; background:transparent; }
.character-career-intro.wp-block-columns {
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);
  gap:32px;
  align-items:center;
  margin:0 0 32px;
}
.character-career-intro p { margin:0; }
.character-career-intro .service-illustration.wp-block-image { max-width:480px; margin:0 auto; }
@media(max-width:781px) {
  .character-career-intro.wp-block-columns { grid-template-columns:minmax(0,1fr); gap:18px; }
  .character-career-intro .service-illustration.wp-block-image { max-width:340px; }
}
@media(max-width:640px) {
  .character-intro.wp-block-columns { position:relative; grid-template-columns:minmax(0,1fr); gap:0; }
  .character-intro>.wp-block-column:last-child { position:absolute; top:-6px; right:0; width:76px; }
  .character-intro .service-illustration.wp-block-image { width:76px; }
  .character-intro .journey-stage-label { padding-right:88px; min-height:64px; display:flex; align-items:center; }
}

/* Larger, consistent panels beside the editable problem disclosures. */
.problem-item {
  position:relative;
  min-width:0;
  padding:12px;
  border:1px solid var(--card-border);
  border-radius:var(--radius);
  background:var(--surface-gradient);
  transition:border-color .18s,background .18s;
}
.problem-item>.service-illustration.wp-block-image {
  position:absolute;
  top:16px;
  left:16px;
  display:flex;
  align-items:center;
  width:160px;
  height:160px;
  margin:0;
}
.problem-item>.service-illustration img {
  display:block;
  width:100%;
  height:auto;
  max-height:160px;
  object-fit:contain;
  border-radius:8px;
}
.problem-item>.problem-topic { margin:0; border:0; border-radius:0; background:transparent; }
.problem-item>.problem-topic>summary { display:flex; align-items:center; position:relative; list-style:none; min-height:172px; padding:18px 12px 18px 210px; font-size:var(--text-base); }
.problem-item>.problem-topic>summary::before { content:"+"; position:absolute; left:186px; color:var(--orange-dark); font-size:22px; font-weight:400; }
.problem-item>.problem-topic[open]>summary::before { content:"−"; }
.problem-item summary::-webkit-details-marker { display:none; }
.problem-item:hover { border-color:var(--orange); }
.problem-item .problem-list { padding:12px 10px 6px; }

/* Six native image/text cards retain the six existing practical outcomes. */
.solution-outcomes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.solution-outcome { display:grid; grid-template-columns:150px minmax(0,1fr); align-items:center; gap:20px; min-width:0; padding:20px; border:1px solid var(--line); border-radius:var(--radius); background:var(--white); }
.solution-outcome>.service-illustration.wp-block-image { display:flex; align-items:center; justify-content:center; width:150px; height:220px; margin:0; }
.solution-outcome>.service-illustration img { display:block; width:auto; max-width:100%; height:auto; max-height:220px; border-radius:0; background:transparent; object-fit:contain; }
.home-problems .solution-outcome p { margin:0; line-height:1.65; overflow-wrap:anywhere; }
.solution-outcome strong { display:block; color:var(--ink); margin-bottom:8px; }
@media(max-width:1000px) and (min-width:641px) {
  .solution-outcome { grid-template-columns:110px minmax(0,1fr); gap:14px; padding:16px; }
  .solution-outcome>.service-illustration.wp-block-image { width:110px; height:180px; }
  .solution-outcome>.service-illustration img { max-height:180px; }
}
@media(max-width:640px) {
  .problem-item { padding:6px; }
  .problem-item>.service-illustration.wp-block-image { top:14px; left:10px; width:132px; height:132px; }
  .problem-item>.service-illustration img { max-height:132px; }
  .problem-item>.problem-topic>summary { min-height:148px; padding:14px 8px 14px 174px; font-size:17px; }
  .solution-outcomes { grid-template-columns:minmax(0,1fr); gap:14px; }
  .solution-outcome { grid-template-columns:120px minmax(0,1fr); gap:16px; padding:16px; }
  .solution-outcome>.service-illustration.wp-block-image { width:120px; height:180px; }
  .solution-outcome>.service-illustration img { max-height:180px; }
}
@media(max-width:380px) {
  .solution-outcome { grid-template-columns:minmax(0,1fr); gap:14px; }
  .solution-outcome>.service-illustration.wp-block-image { width:100%; }
}

/* Shared character introductions: native columns remain editable. */
.character-about-intro.wp-block-columns { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); align-items:center; gap:32px; margin:0 0 32px; }
.character-about-intro>.wp-block-column { min-width:0; }
.character-about-intro .service-illustration.wp-block-image { max-width:480px; margin:0 auto; }
.character-about-intro .service-illustration img { background:transparent; border-radius:0; }
.character-about-intro h2 { margin-top:0; }
@media(max-width:781px) {
 .character-about-intro.wp-block-columns { grid-template-columns:minmax(0,1fr); gap:18px; }
 .character-about-intro .service-illustration.wp-block-image { max-width:420px; }
}
@media(max-width:900px) { .problem-topics { grid-template-columns:minmax(0,1fr); } }
/* Consultation illustration sits beside the existing five process steps. */
.consultation-layout.wp-block-columns { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); align-items:start; gap:36px; margin:0 0 28px; }
.consultation-layout>.wp-block-column { min-width:0; }
.consultation-layout .service-illustration.wp-block-image { width:100%; max-width:480px; margin:16px 0 0 auto; }
.consultation-layout .service-illustration img { background:transparent; border-radius:0; }
.cloud-card>.service-illustration.wp-block-image { display:flex; align-items:center; justify-content:center; width:100%; height:210px; margin:4px 0 20px; }
.cloud-card>.service-illustration img { width:auto; max-width:100%; height:auto; max-height:210px; object-fit:contain; background:transparent; border-radius:0; }
.cloud-card>.cloud-card-benefit { margin-top:auto; margin-bottom:0; }
@media(max-width:900px) {
 .consultation-layout.wp-block-columns { grid-template-columns:minmax(0,1fr); gap:20px; }
 .consultation-layout>.wp-block-column:last-child { order:-1; }
 .consultation-layout .service-illustration.wp-block-image { max-width:440px; margin:0 auto; }
}
@media(max-width:640px) {
 .cloud-card>.service-illustration.wp-block-image { height:180px; }
 .cloud-card>.service-illustration img { max-height:180px; }
}
/* Service overview reuses the six service-page illustrations as native image blocks. */
.service-index>.service-choice { display:grid; grid-template-columns:150px minmax(0,1fr); align-items:center; gap:22px; min-width:0; padding:22px; background:var(--white); border:1px solid var(--line); border-radius:var(--radius); }
.service-choice>.service-illustration.wp-block-image { display:flex; align-items:center; justify-content:center; width:100%; height:170px; margin:0; }
.service-choice>.service-illustration img { width:100%; height:auto; max-height:170px; object-fit:contain; border-radius:8px; }
.service-choice-copy { min-width:0; }
.service-choice-copy h3 { margin:0 0 12px; line-height:1.3; overflow-wrap:anywhere; }
.service-choice-copy p { margin:0; color:var(--muted); line-height:1.7; }
@media(max-width:1100px) { .article-content .service-index { grid-template-columns:minmax(0,1fr); } }
@media(max-width:480px) {
 .service-index>.service-choice { grid-template-columns:96px minmax(0,1fr); gap:16px; padding:16px; }
 .service-choice>.service-illustration.wp-block-image { height:128px; }
 .service-choice>.service-illustration img { max-height:128px; }
}
/* Contact data is revealed on demand; legal documents have shared download controls. */
.phone-reveal { display:flex; flex-direction:column; align-items:flex-start; gap:10px; }
.phone-reveal-button { display:inline-flex; min-height:46px; align-items:center; padding:10px 16px; border:1px solid var(--orange-dark); border-radius:6px; color:var(--orange-dark); background:transparent; font:inherit; font-weight:var(--weight-ui); line-height:1.5; cursor:pointer; text-align:left; }
.phone-reveal-button:hover { background:var(--pale); }
.phone-reveal-button:focus-visible { outline:2px solid var(--orange-dark); outline-offset:3px; }
.phone-reveal-button:disabled { cursor:wait; opacity:.7; }
.phone-reveal-status { font-size:var(--text-sm); line-height:1.5; }
.phone-reveal-status:empty { display:none; }
.phone-revealed { font-size:var(--text-lg); overflow-wrap:anywhere; }
.legal-document-download { padding:26px; border:1px solid var(--line); border-radius:var(--radius); background:var(--white); }
.legal-document-download>p { margin:0 0 22px; }
.legal-document-actions { display:flex; flex-wrap:wrap; align-items:center; gap:20px; }
.footer-document::after { content:'PDF'; margin-left:6px; font-size:.7em; opacity:.7; }
.legal-document-actions>.button { background:var(--ink); color:var(--white); border:1px solid var(--ink); text-decoration:none; }
.legal-document-actions>.button:hover { background:var(--orange-dark); border-color:var(--orange-dark); color:var(--white); }

/* Consistent Obsidian surfaces for all native editorial components. */
.service-card,.contact-method,.reference-project,.service-index>.service-choice { background:var(--surface-gradient); border-color:var(--card-border); }
.cloud-card { background:var(--surface-gradient); }
.page-card { box-shadow:none; }
.page-card:hover { border-color:var(--orange); transform:translateY(-3px); }
.home-problems .journey-phase:nth-child(2) { background:radial-gradient(ellipse at 85% 30%,#9d431115,transparent 65%); border-top-color:var(--warm-border); }
.home-problems .journey-phase:nth-child(4) { padding:30px; border:1px solid var(--warm-border); border-radius:var(--radius); background:var(--warm-gradient); }
.home-problems .journey-phase:nth-child(4) a { display:inline-flex; background:var(--orange); color:var(--on-accent); text-decoration:none; padding:12px 20px; border-radius:6px; font-weight:var(--weight-ui); }
@media(max-width:640px) { .home-problem-wrap { padding-top:30px; } .home-problems .journey-stage-label { font-size:12px; } .journey-phase+.journey-phase { margin-top:32px; padding-top:28px; } .problem-item>.problem-topic>summary::before { left:150px; } }
@media(prefers-reduced-motion:reduce) { .page-card:hover { transform:none; } }
