/* Quieter supporting scenes and compact project/contact details. */
.scene-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 0; border-bottom:1px solid var(--line); }
.scene-toolbar .scene-phase { margin:0; color:var(--blue); font:500 .92rem/1.5 var(--font-body); }
.scene-controls { display:flex; gap:8px; flex-shrink:0; }
.scene-controls button { min-height:44px; padding:6px 10px; border:0; background:transparent; color:var(--ink-2); font:500 .75rem var(--font-mono); }
.scene-controls button:hover { color:var(--accent); background:var(--paper); }
.scene-toolbar + .vignette-picture { margin-top:8px; }
html:not(.has-scenes) .scene-controls { display:none; }
.experience-more { margin-top:28px; }
.experience-more a { color:var(--blue); text-decoration:underline; text-underline-offset:4px; }
.project-postscript > div:first-child { display:block; }
.project-postscript:not(:has(details[open])) > div:first-child > p:last-child { margin-top:18px; padding-top:0; }
.contact-grid { align-items:start; }
.contact-info { justify-content:flex-start; gap:24px; }
.contact-list { margin-bottom:0; }
.cv-download { align-self:flex-start; }
.form { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px; padding:24px; }
.form > :is(p,button),.form > .field:nth-of-type(n+3) { grid-column:1/-1; }
.form > .enquiry-note { margin:0 0 4px; }
.form .field { display:flex; flex-direction:column; gap:4px; min-width:0; padding:0; }
.form .field label { position:static; font-size:.76rem; line-height:1.5; }
.form .field input { min-height:44px; }
.form .field textarea { min-height:80px; }
.form .field :is(input,textarea):focus-visible { outline:2px solid var(--blue); outline-offset:2px; }
.form-status { min-height:0; }
.form-status:empty { display:none; }
.dialog-content p { text-align:start; hyphens:none; }
.dialog-content article > p:first-child { overflow-wrap:anywhere; }
.project-gallery { margin:20px 0 28px; }
.project-gallery .gallery-heading { font-size:.95rem; font-weight:600; margin:0; color:var(--ink); }
.project-gallery .gallery-note { font-size:.83rem; margin:4px 0 12px; }
.gallery-track { display:flex; width:100%; min-width:0; direction:ltr; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scrollbar-width:thin; position:relative; border-radius:var(--r-sm); }
.gallery-slide { flex:0 0 100%; min-width:0; margin:0; scroll-snap-align:start; scroll-snap-stop:always; }
.gallery-slide img { display:block; width:100%; height:clamp(190px,31vw,330px); object-fit:contain; background:var(--paper); }
.gallery-slide figcaption { padding:10px 0; direction:inherit; }
.project-gallery .gallery-caption { margin:0; font-size:.91rem; color:var(--ink); }
.project-gallery .gallery-credit { margin:4px 0 0; font-size:.78rem; overflow-wrap:anywhere; }
.gallery-credit a { text-decoration:underline; text-underline-offset:3px; }
.gallery-controls { display:flex; align-items:center; justify-content:space-between; gap:12px; direction:ltr; }
.gallery-arrow { width:44px; min-height:44px; border:1px solid var(--line-2); background:transparent; color:var(--ink); font-size:1.2rem; }
.gallery-arrow:hover:not(:disabled) { background:var(--paper); }
.gallery-arrow:disabled { opacity:.4; cursor:default; }
.gallery-status { font-size:.85rem; color:var(--ink-2); }
.photo-unavailable { min-height:190px; display:grid; place-items:center; }
html[lang="ar"] .scene-toolbar .scene-phase { margin:0; font-size:.92rem; }
html[lang="ar"] .form .field { padding:0; }
html[lang="ar"] .form .field label { position:static; font-size:.8rem; }
html[lang="ar"] .gallery-slide figcaption { direction:rtl; }
html[lang="ar"] .dialog-content p { text-align:start; }
@media (max-width:600px) {
 .scene-toolbar { flex-wrap:wrap; gap:4px; }
 .scene-toolbar .scene-phase { flex-basis:100%; }
 .scene-controls { margin-inline-start:auto; }
 .form { grid-template-columns:1fr; padding:20px; }
 .form > .field { grid-column:1/-1; }
 .gallery-slide img { height:210px; }
}
@media (prefers-reduced-motion:reduce) { .gallery-track { scroll-behavior:auto; } }
