/* Client journeys: scoped to these pages; illustrations remain usable without animation. */
.project-shell{width:min(1200px,100%);margin-inline:auto;padding-inline:var(--container-padding)}
.project-hero{padding-block:calc(var(--nav-height) + 4rem) 4rem;background:radial-gradient(ellipse at 90% 0%,var(--color-accent-glow),transparent 65%)}
.project-hero__grid{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:3rem}
.project-eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:700;color:var(--color-accent);margin-bottom:1rem}
.project-hero h1{font-size:clamp(2.6rem,5vw,4.7rem);line-height:1.05;letter-spacing:-.045em;max-width:13ch;margin-bottom:1.5rem}
.project-lead{font-size:clamp(1rem,1.6vw,1.2rem);color:var(--color-text-secondary);max-width:49ch;line-height:1.7}
.project-price{border-left:3px solid var(--color-accent);padding-left:1.1rem;display:grid;gap:.35rem;margin-block:2rem}
.project-price strong{font-size:clamp(1.25rem,2vw,1.65rem);color:var(--color-text-primary)}
.project-price span,.project-art figcaption{font-size:.875rem;color:var(--color-text-secondary)}
.project-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1.2rem}.project-text-link{font-size:.9rem;color:var(--color-accent);text-underline-offset:5px}
.project-art{min-width:0;perspective:1000px}.project-art img{display:block;width:100%;height:auto;filter:drop-shadow(0 24px 32px rgba(12,43,97,.12));transition:transform .5s ease}.project-art figcaption{text-align:center;margin-top:.5rem}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.project-art:hover img{transform:rotateY(-5deg) rotateX(3deg) translateY(-5px)}}
.project-paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;padding-block:1rem 2rem}
.project-paths a{display:flex;gap:.75rem;align-items:center;padding:1.2rem;border:1px solid var(--color-border);border-radius:1rem;background:var(--color-card-bg);color:var(--color-text-secondary);font-size:.9rem;transition:border-color .2s,background .2s}
.project-paths a[aria-current],.project-paths a:hover{border-color:var(--color-accent);color:var(--color-accent)}.project-paths a>span:last-child{margin-left:auto}.project-paths__icon{font-family:var(--font-mono);font-size:.7rem}
.project-manifesto{max-width:1200px;margin:auto}.project-manifesto .imm{--imm-bg:var(--color-bg-primary);--imm-ink-rgb:16,37,75;--imm-accent:#2458d3;--imm-accent-ink:#fff;--imm-font:var(--font-display);--imm-mono:var(--font-mono)}
[data-theme=dark] .project-manifesto .imm{--imm-ink-rgb:238,244,255;--imm-accent:#87b4ff}.project-manifesto .imm-fill{font-size:clamp(2.2rem,6vw,5rem)}
.project-details{padding-block:4rem}.project-details h2,.project-aside h2,.project-faq h2{font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.15;letter-spacing:-.025em;margin-bottom:1.5rem}
.project-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin-top:2rem}.project-notes article{border-top:1px solid var(--color-border);padding-top:1.5rem}.project-note-number{font-family:var(--font-mono);font-size:.75rem;color:var(--color-accent)}.project-notes h3{font-size:1.1rem;margin-block:1rem .75rem}.project-notes p,.project-aside p,.project-faq p{color:var(--color-text-secondary);line-height:1.75}
.project-request{display:grid;grid-template-columns:.8fr 1.2fr;gap:4rem;padding-block:3rem 5rem;align-items:start}.project-aside{display:grid;gap:1.25rem}.project-aside .project-eyebrow,.project-aside h2{margin:0}.project-aside>a{justify-self:start;overflow-wrap:anywhere}.project-aside__note{border-top:1px solid var(--color-border);padding-top:1.5rem;font-size:.9rem}
.project-request .contact-form-wrapper{min-width:0;scroll-margin-top:calc(var(--nav-height) + 1rem)}.project-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.project-form-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-accent);font-weight:700;margin-bottom:1.2rem}.project-form-label:not(:first-of-type){margin-top:2rem}.project-field-hint{color:var(--color-text-secondary);font-size:.8rem;line-height:1.6;margin-block:.5rem .75rem}.project-field-error{color:var(--color-error);font-size:.85rem;margin-top:.5rem}.project-check{display:flex;align-items:flex-start;gap:.75rem;margin-block:1rem;font-size:.875rem;line-height:1.6;cursor:pointer}.project-check input{width:1.15rem;height:1.15rem;flex-shrink:0;margin-top:.25rem;accent-color:var(--color-accent)}.project-submit{width:100%;margin-top:1rem;min-height:48px}.project-form-status{font-size:.85rem;margin-top:1rem}.project-request textarea{resize:vertical}.project-request [aria-invalid=true]{border-color:var(--color-error)}.project-request select{color:var(--color-text-primary);background-color:var(--color-bg-primary)}
.project-success{text-align:left;display:grid;gap:1.25rem}.project-success>span{color:var(--color-accent);font-size:2.5rem}.project-success p{color:var(--color-text-secondary);line-height:1.7}.project-faq{padding-block:1rem 5rem}.project-faq details{border-top:1px solid var(--color-border);padding-block:1.2rem}.project-faq summary{cursor:pointer;font-weight:600;min-height:32px}.project-faq details p{max-width:80ch;margin-top:1rem}
@media(max-width:900px){.project-hero__grid{gap:1rem}.project-request{gap:2rem;grid-template-columns:.75fr 1.25fr}.project-paths a{padding:1rem;font-size:.8rem}}
@media(max-width:680px){.project-hero{padding-block:calc(var(--nav-height) + 2rem) 1.5rem}.project-hero__grid,.project-request{grid-template-columns:1fr}.project-hero h1{max-width:17ch}.project-art{max-width:420px;justify-self:center}.project-paths{grid-template-columns:1fr;gap:.5rem}.project-paths a{min-height:54px}.project-notes{grid-template-columns:1fr;gap:1.5rem}.project-details{padding-block:2rem}.project-request{padding-block:2rem 3rem}.project-request .contact-form-wrapper{padding:1.25rem}.project-form-grid{grid-template-columns:1fr;gap:0}.project-actions{align-items:stretch;flex-direction:column}.project-actions .btn{text-align:center}.project-text-link{padding-block:.5rem}.project-art figcaption{font-size:.8rem}}
@media(prefers-reduced-motion:reduce){.project-art img,.project-paths a{transition:none}.project-manifesto .imm{height:auto;min-height:0}.project-manifesto .imm-pin{min-height:0;padding-block:3rem}}
.project-hero__copy,.project-actions,.project-price{min-width:0}.project-hero .btn,.project-submit{white-space:normal;text-wrap:balance;overflow-wrap:anywhere}.project-hero__grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}
@media(max-width:680px){.project-hero__grid{grid-template-columns:minmax(0,1fr)}}

.project-pricing{padding-block:2rem 3rem}.project-pricing h2{font-size:clamp(1.8rem,3vw,2.5rem);margin-bottom:2rem;line-height:1.2}.project-pricing__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.project-pricing article{display:flex;flex-direction:column;gap:1.25rem;padding:1.5rem;border:1px solid var(--color-border);border-radius:1rem;background:var(--color-card-bg)}.project-pricing h3{font-size:1.1rem}.project-pricing strong{font-size:1.5rem;color:var(--color-accent)}.project-pricing p{color:var(--color-text-secondary);line-height:1.7}.project-pricing a{margin-top:auto;padding-top:.75rem;min-height:44px;color:var(--color-accent);font-weight:600}.project-pricing__note{font-size:.875rem;max-width:85ch;margin-top:1.5rem}@media(max-width:680px){.project-pricing__grid{grid-template-columns:1fr}}

/* All project enquiries share the compact introduction and wide form layout. */
.project-aside__intro,.project-aside__contact{display:grid;gap:1.25rem;min-width:0}.project-aside__contact>a{justify-self:start;overflow-wrap:anywhere}
.project-request--wide{grid-template-columns:minmax(0,1fr);gap:2rem;max-width:1100px}
.project-request--wide .project-aside{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:3rem;align-items:start;padding:2rem;border:1px solid var(--color-border);border-radius:1.25rem;background:var(--color-card-bg)}
.project-request--wide .project-aside__intro h2{max-width:22ch}.project-request--wide .project-aside__intro p:last-child{margin:0;font-size:.9rem}.project-request--wide .project-aside__note{padding-top:1rem;margin:0;font-size:.8rem}
.project-request--wide [data-project-form]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1.5rem}
.project-request--wide [data-project-form]>:not(.project-field--sector):not(.project-field--timeline):not(.project-field--budget){grid-column:1/-1}
.project-request--wide .project-field--timeline{max-width:100%}
.project-request--website .project-field--timeline{grid-column:1/-1}
.project-request--wide .project-form-label:not(:first-of-type){margin-top:1rem}
.project-request--wide .form-textarea{min-height:150px}.project-request--wide #links{min-height:100px}
.project-request--wide .project-submit{width:auto;justify-self:start;min-width:280px}
@media(max-width:680px){.project-request--wide .project-aside{grid-template-columns:minmax(0,1fr);gap:1.5rem;padding:1.25rem}.project-request--wide [data-project-form]{grid-template-columns:minmax(0,1fr)}.project-request--wide .project-field--timeline{max-width:100%}.project-request--wide .project-submit{width:100%;min-width:0}.project-request--wide .project-aside__intro h2{max-width:none}}

.client-private-entry{max-width:1160px;margin:110px auto 0;padding:24px;border:1px solid var(--color-border);border-radius:18px;background:var(--color-bg-secondary)}.client-private-entry p{margin-block:10px 18px;color:var(--color-text-secondary);line-height:1.7}@media(max-width:1200px){.client-private-entry{margin-inline:24px}}@media(max-width:650px){.client-private-entry{margin:90px 16px 0;padding:20px}.client-private-entry .btn{white-space:normal}}

.project-request--wide .form-group,.project-request--wide .project-form-grid{min-width:0}.project-request--wide .project-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-request--wide select{width:100%;max-width:100%;text-overflow:ellipsis}
@media(max-width:680px){.project-request--wide .project-form-grid{grid-template-columns:minmax(0,1fr)}}
