/* Land & Project Consultancy. Reuses the public site's type, palette and shell.
   Editorial layouts and restrained GSAP motion. No WebGL or additional form. */
.consultancy main { position:relative; z-index:3; }
.consultancy :where(section,aside)[id] { scroll-margin-top:7rem; }
.consultancy .crumb { flex-wrap:wrap; gap:.65rem; margin-bottom:2.5rem; }
.consultancy .pc-hero { padding-top:clamp(8rem,15vh,12rem); padding-bottom:3rem; position:relative; }
.pc-hero__grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:clamp(2rem,5vw,6rem); align-items:center; }
.pc-hero__copy { min-width:0; }
.consultancy h1 { font-size:clamp(2.8rem,4.9vw,5.5rem); letter-spacing:-.055em; line-height:1.08; font-weight:450; margin:1.4rem 0 1.8rem; max-width:20ch; }
.consultancy h1 em,.consultancy h2 em { color:var(--bronze); }
.pc-lead { font-size:clamp(1rem,1.3vw,1.2rem); max-width:52ch; color:var(--paper-2); }
.pc-actions { display:flex; flex-wrap:wrap; align-items:center; gap:1rem 1.75rem; margin-top:2rem; }
.pc-actions .btn { white-space:normal; text-align:center; }
.pc-call { display:inline-flex; align-items:center; min-height:44px; font-size:.85rem; border-bottom:1px solid var(--bronze); }
.pc-note { color:var(--sand); font-size:.8rem; margin-top:1.2rem; max-width:64ch; }
.pc-study { margin:0; border:1px solid var(--line); background:radial-gradient(ellipse at 50% 45%,rgba(195,154,99,.055),transparent 70%),var(--ink-2); padding:clamp(1.25rem,2.5vw,2.5rem); position:relative; }
.pc-study img { width:100%; height:auto; }
.pc-study figcaption { padding-top:1rem; border-top:1px solid var(--line); font-size:.7rem; color:var(--sand); display:grid; gap:.4rem; }
.pc-nav { display:flex; flex-wrap:wrap; gap:.5rem 2rem; border-block:1px solid var(--line); margin-top:3rem; padding:1rem var(--gutter); }
.pc-nav a { min-height:44px; display:inline-flex; align-items:center; font-family:var(--label); font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:var(--paper-2); }
.pc-section { padding-block:clamp(3.5rem,5.8vw,6rem); border-bottom:1px solid var(--line); }
.pc-section__head { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(1.5rem,6vw,7rem); margin-bottom:2.5rem; align-items:end; }
.consultancy h2 { font-size:clamp(2rem,3.5vw,3.8rem); line-height:1.15; letter-spacing:-.04em; font-weight:450; margin-top:1rem; }
.pc-section__head p { color:var(--paper-2); max-width:56ch; }
.pc-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--line); }
.pc-choice { display:flex; flex-direction:column; gap:1rem; padding:2rem 2rem 2rem 0; border-bottom:1px solid var(--line); position:relative; isolation:isolate; }
.pc-choice:nth-child(even) { padding-left:2rem; border-left:1px solid var(--line); }
.pc-choice .label { color:var(--bronze); }
.pc-choice h3 { font-size:clamp(1.4rem,2vw,2rem); line-height:1.25; font-weight:450; max-width:23ch; }
.pc-choice p { color:var(--paper-2); font-size:.95rem; max-width:48ch; }
.pc-choice a { margin-top:auto; padding-top:1rem; min-height:44px; text-decoration:underline; text-underline-offset:.4em; font-size:.83rem; color:var(--paper); align-self:flex-start; }
.pc-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(2rem,6vw,7rem); }
.pc-prose { display:grid; gap:1.25rem; align-content:start; color:var(--paper-2); }
.pc-prose p { max-width:65ch; }
.pc-prose h3,.pc-panel h3 { color:var(--paper); font-size:1.3rem; line-height:1.4; font-weight:450; }
.pc-prose a,.pc-resources a { text-decoration:underline; text-underline-offset:.25em; }
.pc-list { list-style:none; }
.pc-list li { border-bottom:1px solid var(--line); padding:1rem 0; color:var(--paper-2); }
.pc-list li:first-child { border-top:1px solid var(--line); }
.pc-panel { border-left:1px solid var(--bronze); padding-left:1.5rem; display:grid; gap:1rem; align-content:start; }
.pc-panel p { color:var(--sand); font-size:.95rem; }
.pc-steps { counter-reset:stage; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem; }
.pc-steps li { border-top:1px solid var(--line); padding-top:1.25rem; }
.pc-steps li::before { counter-increment:stage; content:counter(stage,decimal-leading-zero); color:var(--bronze); font-family:var(--label); font-size:.75rem; }
.pc-steps h3 { font-size:1.3rem; font-weight:450; margin:1.2rem 0 .8rem; }
.pc-steps p { font-size:.94rem; color:var(--paper-2); }
.pc-faq { border-bottom:1px solid var(--line); }
.pc-faq summary { cursor:pointer; padding:1.5rem 2rem 1.5rem 0; font-size:1.05rem; color:var(--paper); }
.pc-faq p { color:var(--paper-2); max-width:80ch; padding-bottom:1.5rem; }
.pc-resources { display:grid; gap:1rem; font-size:.85rem; color:var(--sand); margin-top:2.5rem; max-width:90ch; }
.pc-related { display:flex; flex-wrap:wrap; gap:.5rem 2rem; margin-top:2rem; }
.pc-related a { display:inline-flex; align-items:center; min-height:44px; border-bottom:1px solid var(--line); font-size:.84rem; }
.pc-close { padding-block:clamp(4rem,9vw,9rem); position:relative; }
.pc-close p { margin-top:1.5rem; max-width:60ch; color:var(--paper-2); }
.consultancy a:focus-visible,.consultancy summary:focus-visible { outline:2px solid var(--bronze); outline-offset:5px; }
.consultancy a:hover { color:var(--bronze); }
.consultancy .btn--solid:hover { color:var(--ink); }
.pc-eyebrow { color:var(--bronze); font-size:.67rem; }
.pc-region { margin-top:1.6rem; display:flex; flex-wrap:wrap; gap:.25rem .8rem; align-items:center; font-size:.8rem; color:var(--paper); }
.pc-region > span:not(.pc-region__tail) { color:var(--bronze); }
.pc-region__tail { color:var(--sand); }
.pc-hero-note { font-size:.75rem; color:var(--sand); }
.pc-study__register { display:flex; justify-content:space-between; gap:1rem; font-family:var(--label); font-size:.55rem; letter-spacing:.1em; text-transform:uppercase; color:var(--sand); padding-bottom:1rem; border-bottom:1px solid var(--line); }
.pc-survey { display:block; width:100%; height:auto; margin-block:1rem; }
.pc-study__index { color:var(--paper); }
.pc-nav { z-index:20; background:rgba(17,15,13,.97); margin-block:0; transition:border-color .25s ease; }
.pc-nav a { position:relative; color:var(--sand); }
.pc-nav a::after { content:""; height:1px; background:var(--bronze); position:absolute; bottom:0; left:0; right:0; transform:scaleX(0); transform-origin:left; transition:transform .3s var(--ease); }
.pc-nav a[aria-current="location"] { color:var(--paper); }
.pc-nav a[aria-current="location"]::after,.pc-nav a:hover::after { transform:scaleX(1); }
.pc-choice::before { content:""; position:absolute; inset:0; background:linear-gradient(120deg,rgba(195,154,99,.065),transparent 75%); opacity:0; transition:opacity .4s ease; z-index:-1; }
.pc-choice:hover::before,.pc-choice:focus-within::before { opacity:1; }
.pc-choice a::after { content:""; position:absolute; inset:0; }
.pc-choice:focus-within { outline:1px solid var(--bronze); outline-offset:-1px; }
.pc-choice__number { position:absolute; top:1.2rem; right:1.5rem; color:rgba(195,154,99,.12); font:400 clamp(3rem,5vw,5rem)/1 var(--display); letter-spacing:-.06em; pointer-events:none; }
.pc-choice > :not(.pc-choice__number) { max-width:85%; }
.pc-choice__outcome { font-size:.8rem; color:var(--sand); max-width:45ch; padding-top:.7rem; }
.pc-choice__outcome > span { display:block; color:var(--bronze); font-size:.61rem; font-family:var(--label); text-transform:uppercase; letter-spacing:.12em; margin-bottom:.4rem; }
.pc-brief blockquote { font-size:clamp(1rem,1.3vw,1.25rem); line-height:1.7; color:var(--paper); }
.pc-brief blockquote::before { content:"“"; display:block; color:var(--bronze); font:3.5rem/.9 var(--display); margin-top:.5rem; }
.pc-brief .pc-actions { margin-top:.75rem; }
.pc-conversation__steps { list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2.5rem; }
.pc-conversation__steps li { border-top:1px solid var(--bronze); padding-top:1.5rem; }
.pc-conversation__steps .label { font-size:.6rem; color:var(--bronze); }
.pc-conversation__steps h3 { font-size:clamp(1.25rem,1.6vw,1.7rem); line-height:1.35; font-weight:450; margin:1rem 0; }
.pc-conversation__steps p { font-size:.94rem; color:var(--paper-2); max-width:40ch; }
.pc-close::before { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; background:radial-gradient(ellipse at 25% 70%,rgba(195,154,99,.07),transparent 65%); }
.pc-close h2 { font-size:clamp(2.6rem,5.5vw,6rem); line-height:1.06; }
@media(max-width:900px) {
 .pc-hero__grid,.pc-section__head { grid-template-columns:1fr; }
 .pc-study { max-width:38rem; }
 .consultancy h1 { font-size:clamp(3rem,7.5vw,5rem); max-width:22ch; }
 .pc-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .pc-study { width:100%; }
 .pc-conversation__steps { gap:1.5rem; }
}
@media(max-width:600px) {
 .pc-columns,.pc-choices,.pc-steps,.pc-conversation__steps { grid-template-columns:1fr; }
 .pc-choice,.pc-choice:nth-child(even) { padding:1.75rem 0; border-left:0; }
 .pc-actions { align-items:stretch; flex-direction:column; }
 .pc-actions .btn { width:100%; justify-content:center; }
 .pc-call { align-self:flex-start; }
 .pc-nav { gap:.25rem 1.5rem; }
 .consultancy h1 { font-size:clamp(2.6rem,10.5vw,3.8rem); }
 .consultancy .pc-hero { padding-top:7.5rem; }
 .consultancy .crumb { font-size:.58rem; margin-bottom:2rem; }
 .pc-study { max-width:30rem; }
 .pc-choice__number { right:.5rem; }
}
@media(prefers-reduced-motion:reduce) { .consultancy *,.consultancy *::before,.consultancy *::after { transition:none!important; scroll-behavior:auto!important; } }
@media print { .consultancy .pc-nav,.consultancy .pc-actions { display:none; } .consultancy [style] { opacity:1!important; transform:none!important; } }

/* Second-pass compositions. Each scope has its own reading structure. */
.consultancy .bp-grid { opacity:.3; }
.consultancy .pc-project-image { margin:0; min-width:0; }
.consultancy .pc-project-image__frame { aspect-ratio:4/5; overflow:hidden; background:var(--ink-2); }
.consultancy .pc-project-image img { width:100%; height:100%; object-fit:cover; object-position:center; }
.consultancy .pc-project-image figcaption { display:grid; gap:.6rem; padding-top:1rem; font-size:.72rem; color:var(--sand); }
.consultancy .pc-project-image figcaption > span { font:500 .58rem/1.7 var(--label); text-transform:uppercase; letter-spacing:.12em; }
.consultancy .pc-project-image figcaption a { color:var(--paper); font-size:.9rem; justify-self:start; min-height:44px; display:flex; align-items:center; gap:1rem; }
.consultancy .pc-project-image figcaption small { font-size:.68rem; }
.consultancy .pc-hero--wide .pc-hero__grid { grid-template-columns:1fr; gap:2.5rem; }
.consultancy .pc-hero--wide .pc-hero__copy { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.8fr); gap:.5rem 5vw; align-items:start; }
.consultancy .pc-hero--wide .pc-eyebrow { grid-column:1/-1; }
.consultancy .pc-hero--wide h1 { grid-column:1; grid-row:2/6; margin-block:1rem; }
.consultancy .pc-hero--wide .pc-hero__copy > :not(h1):not(.pc-eyebrow) { grid-column:2; }
.consultancy .pc-hero--wide .pc-lead { margin-top:1rem; }
.consultancy .pc-hero--wide .pc-region { margin-top:.8rem; }
.consultancy .pc-hero--wide .pc-actions { margin-top:1rem; }
.consultancy .pc-project-image--wide .pc-project-image__frame { width:100%; height:clamp(20rem,38vw,34rem); aspect-ratio:auto; }
.consultancy .pc-project-image--wide img { object-position:center 55%; }
.consultancy .pc-project-image--wide figcaption { grid-template-columns:1fr auto; align-items:center; }
.consultancy .pc-project-image--wide figcaption small { grid-column:1/-1; }
.consultancy .pc-landscape,.consultancy .pc-file-study { margin:0; padding:clamp(1rem,2vw,2rem); background:var(--ink-2); border-top:1px solid var(--bronze); }
.consultancy :where(.pc-landscape,.pc-file-study) svg { display:block; width:100%; height:auto; }
.consultancy :where(.pc-landscape,.pc-file-study) figcaption { display:grid; gap:.75rem; padding-top:1rem; border-top:1px solid var(--line); font-size:.83rem; color:var(--paper); }
.consultancy :where(.pc-landscape,.pc-file-study) figcaption span { color:var(--sand); font-size:.7rem; max-width:60ch; }
.consultancy .pc-answer { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1fr); gap:2rem 6vw; border-left:2px solid var(--bronze); padding:1.5rem 0 1.5rem 2rem; }
.consultancy .pc-answer h3 { font-size:clamp(1.25rem,1.8vw,1.8rem); font-weight:450; line-height:1.4; }
.consultancy .pc-answer p { color:var(--paper-2); max-width:65ch; }
.consultancy .pc-capability-list > div { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1fr); gap:2rem 6vw; padding:1.75rem 0; border-top:1px solid var(--line); }
.consultancy .pc-capability-list dt { font-size:clamp(1.3rem,2vw,2rem); line-height:1.4; }
.consultancy .pc-capability-list dd { max-width:62ch; color:var(--paper-2); }
.consultancy .pc-scope-note { font-size:.85rem; color:var(--sand); margin-top:2.5rem; max-width:100ch; border-left:1px solid var(--bronze); padding-left:1.25rem; }
.consultancy .pc-checksheet__legend,.consultancy .pc-check-row { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1fr) minmax(0,1.25fr); gap:2rem; }
.consultancy .pc-checksheet__legend { border-bottom:1px solid var(--bronze); padding-bottom:1rem; font:500 .65rem/1.7 var(--label); letter-spacing:.08em; text-transform:uppercase; color:var(--sand); }
.consultancy .pc-check-row { padding:2rem 0; border-bottom:1px solid var(--line); }
.consultancy .pc-check-row h3 { font-size:1.15rem; font-weight:500; line-height:1.5; }
.consultancy .pc-check-row h3 span { display:block; margin-bottom:.6rem; color:var(--bronze); font:500 .65rem/1.5 var(--label); }
.consultancy .pc-check-row p { font-size:.94rem; color:var(--paper-2); }
.consultancy .pc-check-row small { display:block; color:var(--sand); margin-top:.8rem; font-size:.82rem; line-height:1.7; }
.consultancy .pc-example { display:grid; grid-template-columns:minmax(0,.55fr) minmax(0,1fr); gap:1.25rem 4vw; margin-top:2.5rem; padding-block:1.5rem; }
.consultancy .pc-example .label { color:var(--bronze); font-size:.63rem; grid-row:span 2; }
.consultancy .pc-example p { color:var(--paper-2); max-width:65ch; font-size:.95rem; }
.consultancy .pc-decision-flow { list-style:none; }
.consultancy .pc-decision-flow li { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.8fr); gap:3rem 6vw; padding:2.25rem 0 2.25rem 2rem; border-left:1px solid var(--bronze); position:relative; }
.consultancy .pc-decision-flow li::before { content:""; position:absolute; top:2.55rem; left:-4px; width:7px; height:7px; background:var(--bronze); }
.consultancy .pc-decision-flow li + li { border-top:1px solid var(--line); }
.consultancy .pc-decision-flow h3 { font-size:clamp(1.4rem,2.2vw,2rem); font-weight:450; margin:.8rem 0; }
.consultancy .pc-decision-flow p { color:var(--paper-2); font-size:.95rem; max-width:58ch; }
.consultancy .pc-decision-flow aside { padding-top:.2rem; }
.consultancy .pc-decision-flow .label { color:var(--bronze); font-size:.62rem; }
.consultancy .pc-decision-flow aside p { font-size:.86rem; color:var(--sand); margin-top:1rem; }
.consultancy .pc-rural-outlook { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1fr); gap:1rem 6vw; margin-top:3rem; }
.consultancy .pc-rural-outlook h3 { font-size:clamp(1.4rem,2vw,2rem); font-weight:450; line-height:1.4; grid-row:span 2; }
.consultancy .pc-rural-outlook p { color:var(--paper-2); }
.consultancy .pc-rural-outlook a { padding-block:1rem; text-decoration:underline; text-underline-offset:.3em; color:var(--bronze); font-size:.85rem; }
.consultancy .pc-route { list-style:none; position:relative; --pc-route-progress:1; }
.consultancy .pc-route::before,.consultancy .pc-route::after { content:""; position:absolute; top:.8rem; bottom:2rem; left:1.1rem; width:1px; background:var(--line); }
.consultancy .pc-route::after { background:var(--bronze); transform:scaleY(var(--pc-route-progress)); transform-origin:top; }
.consultancy .pc-route li { display:grid; grid-template-columns:3.5rem minmax(0,.7fr) minmax(0,1fr); gap:2rem; padding-bottom:3rem; position:relative; }
.consultancy .pc-route__number { background:var(--ink); color:var(--bronze); font:500 .75rem/2rem var(--label); position:relative; z-index:1; width:2.2rem; text-align:center; border:1px solid var(--line); align-self:start; }
.consultancy .pc-route h3 { font-size:clamp(1.3rem,2vw,2rem); font-weight:450; line-height:1.3; margin-bottom:1rem; }
.consultancy .pc-route__heading > p { color:var(--sand); font-size:.87rem; max-width:32ch; }
.consultancy .pc-route dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.75rem; padding-bottom:2rem; border-bottom:1px solid var(--line); }
.consultancy .pc-route dt { color:var(--bronze); font:500 .62rem/1.5 var(--label); letter-spacing:.12em; text-transform:uppercase; margin-bottom:.8rem; }
.consultancy .pc-route dd { color:var(--paper-2); font-size:.92rem; }
.consultancy .pc-triage__header,.consultancy .pc-triage__row { display:grid; grid-template-columns:1fr 1fr 1.2fr; gap:2.5rem; }
.consultancy .pc-triage__header { border-bottom:1px solid var(--bronze); padding-bottom:1rem; font:500 .64rem/1.7 var(--label); color:var(--sand); text-transform:uppercase; letter-spacing:.07em; }
.consultancy .pc-triage__row { padding-block:2rem; border-bottom:1px solid var(--line); }
.consultancy .pc-triage__row h3 { font-size:1.1rem; font-weight:500; line-height:1.5; }
.consultancy .pc-triage__row p { color:var(--paper-2); font-size:.92rem; }
.consultancy .pc-file-checklist > div { padding-block:1.2rem; border-top:1px solid var(--line); }
.consultancy .pc-file-checklist dt { color:var(--paper); font-size:1.05rem; margin-bottom:.65rem; }
.consultancy .pc-file-checklist dd { color:var(--paper-2); font-size:.92rem; }
.consultancy .pc-areas__links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.consultancy .pc-areas__links > a { display:grid; gap:1.25rem; padding:1.5rem 2rem; border-left:1px solid var(--line); }
.consultancy .pc-areas__links > a:first-child { padding-left:0; border-left:0; }
.consultancy .pc-areas__links .label { color:var(--bronze); font-size:.63rem; }
.consultancy .pc-areas__links strong { font:450 clamp(1.7rem,3vw,3rem)/1.2 var(--display); }
.consultancy .pc-areas__links > a > span:last-child { color:var(--sand); font-size:.8rem; }
.consultancy .pc-areas .pc-note a { text-decoration:underline; text-underline-offset:.25em; }
@media(max-width:1100px) {
 .consultancy .pc-route li { grid-template-columns:3rem minmax(0,1fr); gap:1rem 1.5rem; }
 .consultancy .pc-route dl { grid-column:2; }
 .consultancy .pc-hero--wide .pc-hero__copy { column-gap:3vw; }
}
@media(max-width:900px) {
 .consultancy .pc-project-image { max-width:44rem; }
 .consultancy .pc-project-image__frame { aspect-ratio:16/9; }
 .consultancy .pc-project-image--wide { max-width:none; }
 .consultancy .pc-hero--wide .pc-hero__copy { display:block; }
 .consultancy .pc-hero--wide h1 { max-width:20ch; }
 .consultancy .pc-landscape,.consultancy .pc-file-study { max-width:38rem; }
 .consultancy .pc-checksheet__legend,.consultancy .pc-check-row { gap:1.25rem; }
 .consultancy .pc-triage__header,.consultancy .pc-triage__row { gap:1.5rem; }
}
@media(max-width:600px) {
 .consultancy h1 { font-size:clamp(2.45rem,9.7vw,3.4rem); }
 .consultancy .pc-answer,.consultancy .pc-capability-list > div,.consultancy .pc-check-row,.consultancy .pc-example,.consultancy .pc-decision-flow li,.consultancy .pc-rural-outlook,.consultancy .pc-triage__row { grid-template-columns:1fr; gap:1rem; }
 .consultancy .pc-answer { padding-left:1.25rem; }
 .consultancy .pc-checksheet__legend,.consultancy .pc-triage__header { display:none; }
 .consultancy .pc-check-row h3 span { display:inline; margin-right:1rem; }
 .consultancy .pc-example .label,.consultancy .pc-rural-outlook h3 { grid-row:auto; }
 .consultancy .pc-decision-flow li { padding-left:1.5rem; }
 .consultancy .pc-decision-flow aside { border-left:1px solid var(--line); padding-left:1rem; }
 .consultancy .pc-route li { grid-template-columns:2.5rem minmax(0,1fr); gap:1rem; }
 .consultancy .pc-route dl { grid-template-columns:1fr; }
 .consultancy .pc-triage__row > p:first-of-type { color:var(--bronze); }
 .consultancy .pc-areas__links { grid-template-columns:1fr; }
 .consultancy .pc-areas__links > a,.consultancy .pc-areas__links > a:first-child { border-left:0; border-top:1px solid var(--line); padding:1.5rem 0; gap:1rem; }
 .consultancy .pc-project-image--wide .pc-project-image__frame { height:auto; aspect-ratio:4/3; }
 .consultancy .pc-project-image--wide figcaption { grid-template-columns:1fr; }
 .consultancy .pc-project-image--wide figcaption small { grid-column:auto; }
}
