/* Additions to the existing editorial gallery; base portfolio styles remain intact. */
.cam-overlay[hidden],.brief-lens-detail[hidden],.brief-arrived[hidden]{display:none!important}
.gallery-modes{display:flex;align-items:center;gap:30px}
.cam-toggle{display:inline-flex;align-items:center;gap:10px;padding:7px 0;min-height:44px;border:0;background:none;color:var(--muted);font-size:.75rem;letter-spacing:.075em;white-space:nowrap}
.cam-toggle[aria-pressed=true]{color:var(--fg)}
.cam-switch{position:relative;width:25px;height:13px;border:1px solid #72736a;border-radius:10px;opacity:.7}
.cam-switch:after{content:"";position:absolute;top:3px;left:3px;width:5px;height:5px;border-radius:50%;background:#999b91;transition:transform .25s,background .25s}
.cam-toggle[aria-pressed=true] .cam-switch:after{transform:translateX(12px);background:#e4e2d9}
.frame-visual{position:relative;line-height:0;background:#050505}
.frame-visual[role=button]{cursor:zoom-in}
.frame-visual[role=button]:focus-visible{outline-offset:6px}
.frame-visual>img{display:block;width:100%;height:auto;aspect-ratio:auto;background:#050505}
.film-frame:nth-child(7) .frame-visual>img,.film-frame:nth-child(12) .frame-visual>img{max-height:690px;object-fit:contain}
.film-frame figcaption{display:block}
.frame-caption-line{display:flex;justify-content:space-between;gap:18px}
.frame-notes{margin-top:4px;letter-spacing:.01em;color:#8e9086}
.frame-notes>summary{display:flex;align-items:center;gap:10px;min-height:38px;padding:6px 0;list-style:none;cursor:pointer;font-size:.75rem;line-height:1.55}
.frame-notes>summary::-webkit-details-marker{display:none}
.frame-notes>summary>span:first-child{margin-right:auto}
.notes-mark{font-size:1rem;line-height:1;transition:transform .25s}
.frame-notes[open] .notes-mark{transform:rotate(45deg)}
.palette-swatches{display:flex;align-items:center;gap:3px;flex-shrink:0}
.palette-swatches>i{width:9px;height:9px;background:var(--swatch);border:1px solid #ffffff12}
.frame-notes dl,.vf-notes dl{margin:3px 0 0;border-top:1px solid var(--line);padding-top:13px}
.frame-notes dl>div,.vf-notes dl>div{display:grid;grid-template-columns:86px 1fr;gap:14px;margin-bottom:10px;line-height:1.65}
.frame-notes dt,.vf-notes dt{font-size:.75rem;color:#868980}
.frame-notes dd,.vf-notes dd{font-size:.875rem;color:#b6b8ae;margin:0;overflow-wrap:anywhere}
.frames-grid.is-filmstrip .frame-visual>img{width:100%;height:clamp(170px,23vw,310px);max-height:none;object-fit:contain;aspect-ratio:auto;border:1px solid transparent;transition:border-color .35s,opacity .35s;opacity:.7;user-select:none;-webkit-user-drag:none}
.frames-grid.is-filmstrip .film-frame.is-active .frame-visual>img,.frames-grid.is-filmstrip .frame-visual:hover>img,.frames-grid.is-filmstrip .frame-visual:focus-visible>img{opacity:1;border-color:#8c8b7e}
.frames-grid.is-filmstrip.is-dragging .frame-visual{cursor:grabbing}
.frames-grid.is-filmstrip .frame-notes>summary{min-height:44px}
.cam-overlay{position:absolute;inset:10px;z-index:1;pointer-events:none;line-height:1.4;color:#e6e7dd;font-size:.75rem;text-shadow:0 1px 4px #0009;opacity:.72}
.cam-corner{position:absolute;width:18px;height:18px;border-color:#e5e7de80;border-style:solid;border-width:0}
.cam-tl{top:0;left:0;border-top-width:1px;border-left-width:1px}.cam-tr{top:0;right:0;border-top-width:1px;border-right-width:1px}
.cam-bl{bottom:0;left:0;border-bottom-width:1px;border-left-width:1px}.cam-br{bottom:0;right:0;border-bottom-width:1px;border-right-width:1px}
.cam-rec{position:absolute;left:12px;top:10px;display:flex;align-items:center;gap:7px;letter-spacing:.14em}
.cam-rec>i{width:4px;height:4px;border-radius:50%;background:#d75146}
.cam-still{position:absolute;right:12px;bottom:10px;font-variant-numeric:tabular-nums;letter-spacing:.075em;font-size:.75rem}
.vf-top>.cam-toggle{justify-self:start}
.vf-cam-overlay{inset:auto;opacity:.68}
.vf-error{z-index:3}
.vf-notes{position:relative;justify-self:center;min-width:190px}
.vf-notes>summary{display:flex;justify-content:center;gap:20px;align-items:center;min-height:44px;list-style:none;cursor:pointer;font-size:.75rem;line-height:1.5}
.vf-notes>summary::-webkit-details-marker{display:none}
.vf-notes>summary>span:last-child{color:#989c91}
.vf-notes dl{position:absolute;z-index:5;bottom:calc(100% + 18px);left:50%;transform:translateX(-50%);width:min(480px,calc(100vw - 40px));max-height:55dvh;overflow:auto;overscroll-behavior:contain;padding:22px 24px 12px;background:#090a09f5;border:1px solid #3d4037;box-shadow:0 12px 40px #0007}
.vf-notes dl>div{grid-template-columns:80px 1fr}
.vision-builder{border-block:1px solid var(--line);margin-top:30px;scroll-margin-top:120px}
.vision-builder>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:25px;cursor:pointer;min-height:108px;padding:27px 0}
.vision-builder>summary::-webkit-details-marker{display:none}
.vision-builder>summary .eyebrow{display:block;color:var(--muted);font-size:.75rem;letter-spacing:.12em;margin-bottom:7px}
.vision-title{display:block;font-size:clamp(24px,2.7vw,38px);line-height:1.25;letter-spacing:-.045em}
.vision-builder[open] .builder-plus{transform:rotate(45deg)}
.vision-form{padding:15px 0 35px}
.brief-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px 50px}
.brief-field{display:flex;flex-direction:column;gap:13px;font-size:.875rem;line-height:1.5;color:#b5b7ad;min-width:0}
.brief-field input,.brief-field select,.brief-field textarea{display:block;width:100%;min-width:0;margin:0;padding:13px 0;border:0;border-bottom:1px solid #4b4d44;border-radius:0;background:transparent;color:var(--fg);font:inherit;font-size:1rem;line-height:1.5;min-height:51px;box-shadow:none}
.brief-field textarea{resize:vertical;min-height:84px}
.brief-field input::placeholder,.brief-field textarea::placeholder{color:#787c70;opacity:1}
.brief-field select{padding-right:24px}
.brief-field select option{background:#11120f;color:#efeee9}
.brief-field input:focus-visible,.brief-field select:focus-visible,.brief-field textarea:focus-visible{outline:1px solid #b7a888;outline-offset:5px}
.brief-field input[type=date]{min-height:53px;color-scheme:dark}
.brief-wide{grid-column:1/-1}
.brief-lens-detail{padding:22px 0 6px}
.brief-lens-detail>.eyebrow{font-size:.75rem;color:var(--muted);margin-bottom:9px}
.brief-lens-detail ul{list-style:none;padding:0;margin:0}
.brief-lens-detail li{font-size:.875rem;color:#b6b7ad;line-height:1.85;overflow-wrap:anywhere}
.brief-support{border-block:1px solid var(--line);margin-top:34px}
.brief-support>summary{display:flex;align-items:center;justify-content:space-between;gap:22px;list-style:none;padding:22px 0;font-size:1rem;cursor:pointer;min-height:70px}
.brief-support>summary::-webkit-details-marker{display:none}
.support-count{color:var(--muted);font-size:.75rem;margin-left:18px}
.brief-support>summary>span:last-child{font-size:1.5rem;font-weight:300;transition:transform .25s}
.brief-support[open]>summary>span:last-child{transform:rotate(45deg)}
.brief-support-content{display:grid;grid-template-columns:1fr 1fr;gap:28px 50px;padding-bottom:28px}
.support-group{padding:0;margin:0;border:0;min-width:0}
.support-group legend{padding:0;margin-bottom:15px;font-size:.75rem;letter-spacing:.075em;color:var(--muted)}
.support-options{display:flex;flex-direction:column;gap:2px}
.brief-check{display:flex;align-items:center;gap:13px;min-height:44px;cursor:pointer;line-height:1.45;font-size:.875rem;color:#b8bbaf}
.brief-check input{appearance:none;flex-shrink:0;position:relative;width:14px;height:14px;border:1px solid #686d5f;border-radius:0;background:transparent;margin:0;cursor:pointer}
.brief-check input:checked{border-color:#c2c2ad;background:#c2c2ad}
.brief-check input:checked:after{content:"";position:absolute;width:6px;height:3px;border-left:1px solid #191b16;border-bottom:1px solid #191b16;left:3px;top:3px;transform:rotate(-45deg)}
.brief-check input:checked+span{color:var(--fg)}
.inventory-reference{grid-column:1/-1;justify-self:start;margin-top:2px}
.brief-schedule{margin-top:32px}
.brief-submit{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:38px}
.brief-submit .text-link,.enquiry-actions .text-link{background:none;border-top:0;border-left:0;border-right:0;color:var(--fg);cursor:pointer;text-align:left}
.brief-hint{font-size:.875rem;line-height:1.7;color:var(--muted);max-width:330px}
.brief-submit .text-link{flex-shrink:0}
.project-enquiry{border-top:1px solid var(--line);padding-block:70px 100px;scroll-margin-top:115px}
.enquiry-heading{margin-bottom:43px}
.enquiry-heading>.eyebrow{color:var(--muted);margin-bottom:25px}
.enquiry-heading h2{font-size:clamp(32px,4vw,62px);font-weight:400;letter-spacing:-.055em;line-height:1.18}
.brief-arrived{font-size:1rem;color:#b7baad;line-height:1.7;margin-top:22px}
.enquiry-form{max-width:1050px}
.enquiry-form textarea{line-height:1.85;min-height:280px}
.enquiry-actions{display:flex;gap:32px;align-items:center;flex-wrap:wrap;margin-top:30px}
.enquiry-copy{background:none;border:0;color:var(--muted);font:inherit;font-size:.875rem;padding:10px 0;min-height:44px;cursor:pointer}
.enquiry-note,.enquiry-status{font-size:.875rem;line-height:1.7;color:var(--muted);margin-top:18px;max-width:620px}
.enquiry-status:empty{display:none}
@media(max-width:1000px){.gallery-modes{gap:22px}.brief-grid,.brief-support-content{column-gap:28px}}
@media(max-width:700px){
  .frame-tools{flex-wrap:wrap;gap:5px 18px}.gallery-modes{gap:26px}.strip-tools{margin-left:auto}
  .film-frame figcaption{margin-top:10px}.frame-caption-line{gap:12px}
  .frame-notes>summary{min-height:44px}.frame-notes dl>div{grid-template-columns:75px 1fr;gap:12px}
  .frames-grid.is-filmstrip .frame-visual>img{height:48vw;max-height:none}
  .cam-overlay{inset:8px}.cam-corner{width:12px;height:12px}.cam-rec{left:8px;top:7px}.cam-still{right:8px;bottom:7px}
  .vf-cam-overlay{inset:auto}.vf-notes{grid-column:1/3;grid-row:2;justify-self:stretch;min-width:0}
  .vf-notes>summary{justify-content:space-between;min-height:28px}.vf-notes dl{left:0;transform:none;width:100%;padding:18px 17px 10px;bottom:calc(100% + 14px)}
  .vision-builder{margin-top:24px}.vision-builder>summary{min-height:98px;padding-block:22px}.vision-title{font-size:1.65rem}
  .vision-form{padding-top:8px;padding-bottom:28px}.brief-grid,.brief-support-content{grid-template-columns:1fr;gap:25px}
  .brief-field{gap:9px}.brief-wide{grid-column:auto}.brief-field select{max-width:100%}
  .brief-submit{flex-direction:column;align-items:flex-start;gap:23px;margin-top:30px}.brief-hint{max-width:none}
  .project-enquiry{padding-block:50px 65px;scroll-margin-top:100px}.enquiry-heading{margin-bottom:33px}.enquiry-heading h2{font-size:2.3rem}
  .enquiry-heading>.eyebrow{margin-bottom:20px}.enquiry-actions{gap:24px}
}
@media(max-height:520px) and (orientation:landscape){.vf-notes{grid-column:2;grid-row:1;min-width:180px}.vf-notes>summary{gap:15px;min-height:36px}.vf-notes dl{max-height:65dvh}.vf-top>.cam-toggle{min-height:36px}}
@media(prefers-reduced-motion:reduce){.cam-switch:after,.notes-mark,.brief-support>summary>span:last-child{transition:none}}
