/* Real project photography, using the approved dark teal / purple system. */
.social-intro{color:var(--muted);max-width:390px}.social-links a{min-height:64px}.social-links strong{overflow-wrap:anywhere}.footer-links{display:flex;flex-wrap:wrap;gap:16px;margin-top:15px}.footer-motion{font-size:.78rem;margin-top:6px;text-align:left}
.request-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.request-actions .button:disabled{cursor:default;opacity:.6}.request-confirmation{border-left:3px solid var(--teal);background:#092127;padding:22px;margin-top:22px}.request-confirmation .eyebrow{margin-bottom:10px}.request-confirmation p:last-of-type{color:#d1dcdc;font-size:.9rem}.estimate-disclosure{padding:20px;border-left:2px solid var(--purple);background:#1c1529;margin:20px 0}.estimate-disclosure strong{display:block;font-size:.94rem;margin-bottom:8px}.estimate-disclosure p{font-size:.875rem;color:var(--muted);margin-bottom:10px}.estimate-disclosure a{font-size:.8rem;color:var(--purple)}.estimate-disclosure.compact{padding:14px;margin:0 0 24px;grid-column:2}.estimate-disclosure.compact p{font-size:.8rem}input[aria-invalid=true]{border-color:#ffb4ad!important}.error:not(:empty){display:block;margin-top:8px}
.policy-section{margin-top:100px;display:grid;grid-template-columns:1fr 1.15fr;gap:70px}.policy-list details{border-top:1px solid var(--line);padding:20px 0}.policy-list details:last-child{border-bottom:1px solid var(--line)}.policy-list summary{cursor:pointer;font-size:1rem;font-weight:600}.policy-list p{font-size:.9rem;color:var(--muted);margin:16px 0 0}.policy-section .section-heading>p:last-child{font-size:.875rem}
@media(max-width:900px){.policy-section{grid-template-columns:1fr;gap:20px}.estimate-disclosure.compact{grid-row:5}.pricing-note{grid-row:6/8}}
@media(max-width:620px){.policy-section{margin-top:70px}.request-actions{flex-direction:column}.request-actions button{width:100%}.estimate-disclosure{padding:16px}.request-confirmation{padding:18px}}
.hero::before{display:none}
.hero-photos{position:absolute;inset:0 0 0 29%;z-index:-2;background:#14121a}
.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 60%;opacity:0;transition:opacity 1.2s ease}
.hero-photo.is-active{opacity:1}
.hero::after{background:linear-gradient(90deg,#07070b 2%,rgba(7,7,11,.94) 25%,rgba(7,7,11,.6) 47%,rgba(7,7,11,.12) 78%),linear-gradient(0deg,rgba(7,7,11,.92),transparent 50%)}
.portfolio-player{display:flex;flex-direction:column;align-items:flex-end;gap:13px}
.slide-controls{display:flex;align-items:center;gap:10px}
.slide-controls button,.lightbox-navigation button,#photo-close{background:#0c0c14dd;border:1px solid #ffffff45;color:var(--text);min-width:44px;min-height:44px;border-radius:3px;padding:8px 13px}
.slide-controls button:hover,.lightbox-navigation button:hover,#photo-close:hover{border-color:var(--teal);color:var(--teal)}
.slide-controls #hero-counter{font-size:.75rem;letter-spacing:.08em;color:var(--text);font-variant-numeric:tabular-nums}
.slide-controls [data-hero-pause]{margin-left:8px;font-size:.78rem;min-width:82px}
.portfolio-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:28px 22px;margin-top:40px}
.portfolio-tile{display:flex;flex-direction:column;text-align:left;padding:0;border:0;background:transparent;color:var(--text);min-width:0}
.portfolio-lead{grid-row:span 2}
.portfolio-image{display:block;width:100%;position:relative;overflow:hidden;background:var(--panel);aspect-ratio:1.3}
.portfolio-image img{width:100%;height:100%;object-fit:cover;object-position:center 65%;transition:transform .5s ease,filter .5s ease}
.portfolio-lead .portfolio-image{flex:1;aspect-ratio:auto;min-height:490px}
.portfolio-lead img{object-position:center center}
.portfolio-tile:hover img{transform:scale(1.025);filter:brightness(1.06)}
.photo-expand{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:34px;height:34px;background:#0c0c14b8;border:1px solid #ffffff70;color:white;font-size:1.1rem}
.portfolio-label{display:block;padding-top:13px;width:100%}
.portfolio-label small{display:block;color:var(--muted);font-size:.65rem;letter-spacing:.1em}
.portfolio-label strong{display:block;font-family:'Segoe UI',Roboto,Helvetica,Arial,sans-serif;font-weight:500;font-size:1.07rem;line-height:1.4;margin-top:4px}
.gallery-footnote{display:flex;justify-content:space-between;gap:20px;margin-top:30px;padding-top:20px;border-top:1px solid var(--line);color:var(--muted);font-size:.82rem}
.gallery-footnote a{color:var(--teal);font-size:.82rem}
.process-video-heading{margin-top:65px}.process-video-heading .eyebrow{margin-bottom:10px}.process-video-heading h3{font-size:1.8rem;margin-bottom:10px}.process-video-heading>p:last-child{color:var(--muted);font-size:.94rem}
.work-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:24px}
.work-card:nth-child(n){padding-top:0}.work-card:nth-child(n) img{height:220px}.work-card:nth-child(n) .play-badge{top:16px}
.gallery-open{overflow:hidden}
#portfolio-dialog{width:min(1080px,calc(100% - 40px));max-height:calc(100dvh - 32px);margin:auto;padding:20px 24px 22px;background:var(--deep);color:var(--text);border:1px solid #514465;border-radius:4px;overflow:auto}
#portfolio-dialog::backdrop{background:#050509eb;backdrop-filter:blur(5px)}
.lightbox-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px}
.lightbox-top .eyebrow{font-size:.66rem;margin:0}.lightbox-top button{flex-shrink:0;font-size:.82rem}
.lightbox-image{height:min(60dvh,650px);background:#07070b;display:grid;place-items:center}
.lightbox-image img{width:100%;height:100%;object-fit:contain;min-height:0}
.lightbox-bottom{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-top:18px}
.lightbox-bottom h3{font-size:1.4rem;margin:0 0 6px}.lightbox-bottom p{color:var(--muted);font-size:.8rem;max-width:650px;margin-bottom:6px}
#photo-position{color:var(--teal);font-size:.72rem;letter-spacing:.13em}#photo-source{color:var(--purple);font-size:.82rem}
.lightbox-navigation{display:flex;gap:8px;flex-shrink:0}#photo-error-status{margin:10px 0 0;font-size:.8rem;color:var(--muted)}#photo-error-status:empty{display:none}
@media(max-width:900px){.portfolio-grid{grid-template-columns:1fr 1fr;gap:26px 18px}.portfolio-lead{grid-row:auto;grid-column:span 2}.portfolio-lead .portfolio-image{aspect-ratio:1.8;min-height:0;flex:auto}.portfolio-lead img{object-position:center 64%}.hero-photos{left:15%}.hero-bottom{gap:20px}.work-card:nth-child(n) img{height:190px}}
@media(max-width:620px){.hero-photos{inset:0}.hero-photo{object-position:63% center}.hero::after{background:linear-gradient(90deg,rgba(7,7,11,.9),rgba(7,7,11,.42)),linear-gradient(0deg,#07070bf2,transparent 62%)}.hero-bottom{flex-direction:column;gap:23px}.hero-bottom p{max-width:100%}.portfolio-player{width:100%;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.hero-bottom .portfolio-player a{max-width:100%;text-align:left}.slide-controls{gap:7px}.portfolio-grid{gap:25px 14px}.portfolio-label strong{font-size:.94rem}.portfolio-label small{font-size:.6rem;letter-spacing:.05em}.portfolio-image{aspect-ratio:.9}.portfolio-lead .portfolio-image{aspect-ratio:1.1}.gallery-footnote{flex-direction:column;gap:12px}.process-video-heading{margin-top:48px}.work-grid{grid-template-columns:1fr;gap:26px}.work-card:nth-child(n) img{height:230px}#portfolio-dialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px);padding:14px}.lightbox-top{gap:12px}.lightbox-top .eyebrow{max-width:175px;line-height:1.5}.lightbox-image{height:48dvh}.lightbox-bottom{gap:12px;align-items:start}.lightbox-bottom h3{font-size:1.13rem}.lightbox-navigation{gap:5px}.lightbox-navigation button{padding:7px;min-width:40px}.lightbox-bottom>div:first-child{min-width:0}#photo-description{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){.hero-photo,.portfolio-image img{transition:none}.portfolio-tile:hover img{transform:none}}
