/* FELSEN / Method first. The inspection visual is a secondary explanation. */
.page-approach .method-head { padding-top:46px; padding-bottom:46px; }
.method-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:13px; color:var(--muted); font-size:13px; line-height:1.7; }
.method-breadcrumb a { display:inline-flex; min-height:44px; align-items:center; text-decoration:underline; text-underline-offset:5px; }
.page-approach .method-head h1 { margin-top:26px; font-size:clamp(35px,3.6vw,52px); font-weight:500; line-height:1.4; letter-spacing:-.045em; }
.page-approach .method-head > p { margin-top:22px; max-width:42em; font-size:16px; line-height:1.9; color:var(--muted); }
.page-approach .method-process { padding-top:16px; padding-bottom:68px; }
.method-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:24px 50px; margin-bottom:31px; }
.method-section-heading h2 { font-size:clamp(25px,2.6vw,35px); font-weight:500; line-height:1.45; letter-spacing:-.04em; }
.method-section-heading > p { font-size:15px; line-height:1.85; color:var(--muted); }
.method-text-link { display:inline-flex; min-height:44px; align-items:center; gap:24px; font-size:14px; background:none; color:var(--ink); padding:0; border:0; border-bottom:1px solid var(--control-line); line-height:1.65; text-align:left; }
.method-text-link span { font-size:20px; }
.method-text-link:hover { color:var(--orange); border-color:var(--orange); }
.method-process-list { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:30px; }
.method-process-list > li { border-top:1px solid var(--control-line); padding-top:19px; min-width:0; }
.method-step-number { color:var(--muted); font-size:12px; font-variant-numeric:tabular-nums; line-height:1.6; }
.method-process-list h3 { font-size:20px; font-weight:550; line-height:1.55; margin:20px 0 12px; letter-spacing:-.035em; }
.method-process-list p { font-size:15px; line-height:1.9; color:var(--muted); }
.method-standards { border-top:1px solid var(--line); padding-top:23px; margin-top:38px; display:flex; gap:25px 48px; align-items:flex-start; justify-content:space-between; }
.method-standards > p { max-width:65em; font-size:14px; color:var(--muted); line-height:1.9; }
.method-standards > p a { color:var(--ink); text-decoration:underline; text-underline-offset:4px; }
.method-standards > .method-text-link { flex-shrink:0; }
.page-approach .method-boundaries { padding-top:22px; padding-bottom:48px; }
.method-visual { background:#151c23; color:#e9e8e2; padding:12px 36px 24px; min-width:0; }
.page-approach .method-stage.sculpture-stage.hero-art {
  --analysis-paper:#151c23; --analysis-ink:#e9e8e2; --analysis-muted:#b0bec8; --analysis-signal:#cfaa7c; --analysis-scan:#a7bdcb;
  position:relative; left:auto; top:auto; transform:none; width:100%; height:420px; min-height:0;
  max-width:820px; margin:0 auto; aspect-ratio:auto; overflow:hidden; z-index:0; isolation:isolate;
}
.method-stage canvas,.method-stage .sculpture-fallback { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }
.method-motion-toolbar { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:18px 35px; align-items:start; border-top:1px solid #40505b; padding-top:10px; }
.method-inspector { min-width:0; }
.method-inspector > summary { display:flex; align-items:center; gap:26px; min-height:44px; cursor:pointer; list-style:none; font-size:14px; color:#dce4e8; }
.method-inspector > summary::-webkit-details-marker { display:none; }
.method-inspector > summary > span { font-size:19px; font-weight:400; }
.method-inspector[open] > summary > span { transform:rotate(45deg); }
.method-motion-toolbar #motion-toggle,.method-inspector #section-toggle { position:static; min-height:44px; padding:0; color:#dce4e8; background:none; font-size:13px; line-height:1.7; border:0; cursor:pointer; }
.method-motion-toolbar #motion-toggle { align-self:start; white-space:nowrap; }
.method-inspector-panel { padding:19px 0 0; max-width:600px; }
.method-inspector #rock-phase { display:block; font-size:12px; color:#b0bec8; line-height:1.7; margin-bottom:18px; }
.method-inspector .boundary-switch { display:block; position:static; margin:0; }
.method-inspector .boundary-switch > div { display:flex; flex-wrap:wrap; gap:8px; }
.method-inspector .art-pin { position:static; display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:44px; padding:8px 14px; border:1px solid #7b8c98; background:transparent; color:#dce4e8; font-size:14px; line-height:1.7; border-radius:0; box-shadow:none; }
.method-inspector .art-pin span { display:inline; color:inherit; font-size:10px; opacity:1; }
.method-inspector .art-pin.active,.method-inspector .art-pin:hover { border-color:#dce4e8; background:#dce4e8; color:#17232d; }
.method-inspector .art-caption { position:static; padding:0; margin:23px 0 10px; max-width:none; background:transparent; }
.method-inspector .art-caption > .mono { display:block; font-size:11px; line-height:1.7; color:#b0bec8; }
.method-inspector .art-caption p { margin:9px 0 0; font-size:15px; line-height:1.85; color:#e9e8e2; }
.method-inspector .art-caption p strong { color:inherit; font-weight:500; }
.method-inspector #section-toggle { padding:0; border-bottom:1px solid #7b8c98; }
.method-visual :is(button,summary):focus-visible { outline:2px solid #dce4e8; outline-offset:5px; }
.page-approach .method-lab { padding-top:0; padding-bottom:44px; }
.method-scenarios { border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.method-scenarios > summary { min-height:105px; display:flex; align-items:center; justify-content:space-between; gap:22px; padding:25px 0; list-style:none; cursor:pointer; }
.method-scenarios > summary::-webkit-details-marker { display:none; }
.method-scenarios > summary h2 { font-size:23px; font-weight:500; line-height:1.5; letter-spacing:-.035em; }
.method-scenario-intro { display:block; color:var(--muted); font-size:14px; font-weight:400; letter-spacing:0; margin-top:8px; line-height:1.8; }
.method-scenarios > summary::after { content:"＋"; font-size:26px; color:var(--muted); flex-shrink:0; }
.method-scenarios[open] > summary::after { content:"−"; }
.method-scenario-content { padding-top:12px; padding-bottom:26px; }
.page-approach .method-lab .lab-layout { margin:0; }
.page-approach .method-lab .scenario-picker strong { font-size:18px; line-height:1.65; }
.page-approach .method-lab .case-method-link { margin-top:23px; font-size:14px; }
.page-approach .report-download { padding-top:30px; }
@media(max-width:1050px) {
  .method-process-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 38px; }
  .method-standards { display:block; }
  .method-standards > .method-text-link { margin-top:13px; }
}
@media(max-width:760px) {
  .method-section-heading { display:block; }
  .method-section-heading > p { margin-top:18px; }
  .method-section-heading > .method-text-link { margin-top:12px; }
  .method-visual { padding:8px 24px 22px; }
  .page-approach .method-stage.sculpture-stage.hero-art { height:350px; }
}
@media(max-width:620px) {
  .page-approach .method-head { padding-top:26px; padding-bottom:30px; }
  .page-approach .method-head h1 { margin-top:18px; font-size:clamp(30px,8.2vw,38px); }
  .page-approach .method-head > p { font-size:15px; margin-top:18px; }
  .page-approach .method-head > p br { display:none; }
  .page-approach .method-process { padding-top:12px; padding-bottom:42px; }
  .method-section-heading { margin-bottom:24px; }
  .method-section-heading h2 { font-size:25px; }
  .method-process-list { grid-template-columns:minmax(0,1fr); gap:23px; }
  .method-process-list > li { display:grid; grid-template-columns:29px minmax(0,1fr); column-gap:13px; padding-top:20px; }
  .method-step-number { grid-column:1; grid-row:1; margin-top:5px; }
  .method-process-list h3 { grid-column:2; font-size:20px; margin:0 0 9px; }
  .method-process-list p { grid-column:2; font-size:15px; }
  .method-standards { margin-top:28px; }
  .page-approach .method-boundaries { padding-top:8px; padding-bottom:30px; }
  .method-section-heading > p { font-size:15px; }
  .method-section-heading > p br { display:none; }
  .method-visual { padding:0 16px 17px; }
  .page-approach .method-stage.sculpture-stage.hero-art { height:300px; }
  .method-motion-toolbar { gap:10px 13px; }
  .method-inspector > summary { font-size:13px; gap:13px; }
  .method-motion-toolbar #motion-toggle { font-size:12px; }
  .method-inspector[open] { grid-column:1/-1; }
  .method-inspector[open] + #motion-toggle { grid-column:1/-1; grid-row:2; justify-self:start; }
  .method-inspector .art-pin { padding:8px 12px; }
  .page-approach .method-lab { padding-bottom:30px; }
  .method-scenarios > summary h2 { font-size:21px; }
  .method-scenarios > summary { padding:23px 0; }
  .page-approach .method-lab .scenario-picker { flex-direction:column; }
  .page-approach .method-lab .scenario-picker button { min-height:80px; padding:14px 16px!important; text-align:left; }
  .page-approach .method-lab .scenario-picker strong { font-size:15px; line-height:1.7; margin-top:3px; }
  .page-approach .method-lab .scenario-picker button .mono { font-size:10px; }
  .page-approach .report-download { padding-top:20px; }
}
@media print {
  .method-boundaries,.method-lab { display:none; }
  .method-process-list { display:block; }
  .method-process-list > li { break-inside:avoid; margin-bottom:20px; }
}
