/* Photography and editorial layout */
.craft-section{background:#e9e5da;border-top:1px solid #d8d1c1}
.craft-grid{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:70px}
.craft-copy .sec-h{font-size:clamp(31px,3.5vw,47px);line-height:1.13;letter-spacing:-.05em}
.craft-copy .text-link{display:inline-block;margin-top:24px}.craft-note{font-size:11px!important;line-height:1.6!important;color:#636c72;margin-top:20px!important}
.craft-images{display:grid;grid-template-columns:1.1fr .85fr;gap:18px;align-items:center}.craft-images figure{margin:0;min-width:0}.craft-images figure:first-child{padding-bottom:40px}.craft-images figure:last-child{padding-top:65px}.craft-images img{width:100%;height:340px;object-fit:cover;border-radius:7px}.craft-images figure:last-child img{height:290px;object-position:34% center}.craft-images figcaption{font-size:11px;color:#616a6a;margin-top:10px}
.pro .svc-art{height:245px;min-height:0;overflow:hidden}.pro .svc-art img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.pro .svc:hover .svc-art img{transform:scale(1.025)}
.photo-tag{position:absolute;bottom:12px;left:14px;background:#10161dd9;color:#f8f4eb;font-size:10px;font-family:var(--mono);padding:4px 8px;letter-spacing:.03em;border:1px solid #ffffff30;border-radius:3px;pointer-events:none}
.pro .svc{box-shadow:0 8px 22px #10161d05}.pro .svc-body{padding:28px 30px 30px}.pro .svc .lbl{font-size:9px;letter-spacing:.12em;margin-bottom:9px}.pro .svc h3{font-size:28px}.pro .svc p{font-size:15px}.service-detail{border-top:1px solid #e0dbcf;margin-top:20px;padding-top:14px}.service-detail summary{list-style:none;cursor:pointer;font-size:13px;font-weight:600;display:flex;justify-content:space-between;align-items:center;min-height:34px}.service-detail summary::-webkit-details-marker{display:none}.service-detail summary span{font-size:20px;font-weight:400}.service-detail[open] summary span{transform:rotate(45deg)}.service-detail ul{padding-top:5px}
.pro .gal{grid-template-columns:repeat(3,1fr);gap:27px}.pro .shot{border:none;background:transparent;border-radius:0;overflow:visible}.pro .shot figcaption{padding:16px 0 0}.pro .shot figcaption b{font-size:18px;font-weight:600;letter-spacing:-.025em}.pro .shot figcaption span{display:block;font-family:var(--body);font-size:11px;margin-top:6px;color:#727875}
.gallery-open{padding:0;border:0;background:#17202a;position:relative;display:block;width:100%;aspect-ratio:1.3;border-radius:6px;overflow:hidden;cursor:zoom-in}.gallery-open img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.gallery-open:hover img{transform:scale(1.035)}.gallery-expand{position:absolute;right:14px;top:14px;width:32px;height:32px;border:1px solid #ffffff70;border-radius:50%;display:grid;place-items:center;color:white;background:#10161d50;font-size:18px;transition:background .2s}.gallery-open:hover .gallery-expand{background:#10161de0}
.pro #work{background:#f5f2eb}.pro #work .sec-h{font-size:clamp(34px,4vw,53px)}.pro #work .sec-p{font-size:15px;max-width:49em}.pro #work .filters{margin-top:28px}.pro #gal-status{font-size:11px}.pro #services{background:#ece8dd}
.pro .hero .hero-photo{object-position:67% center}.pro .hero .tag{font-size:10px}.pro .hero .wrap{padding-top:104px;padding-bottom:104px}.pro .hero h1{font-weight:600}.pro .facts dd{font-weight:600}
.viewer-is-open{overflow:hidden}.image-viewer{padding:0;border:0;border-radius:9px;background:#10161d;color:#f6f3ec;width:min(1120px,94vw);max-width:94vw;max-height:93vh;overflow:auto;box-shadow:0 30px 100px #0008}.image-viewer::backdrop{background:#080d12e0;backdrop-filter:blur(8px)}.image-viewer>img{width:100%;height:auto;max-height:76vh;object-fit:contain;background:#10161d}.viewer-close,.viewer-prev,.viewer-next{position:absolute;z-index:2;border:1px solid #ffffff70;border-radius:50%;background:#10161dcf;color:#fff;width:44px;height:44px;cursor:pointer;font-size:25px;display:grid;place-items:center}.viewer-close{top:15px;right:15px}.viewer-prev{left:15px;top:44%}.viewer-next{right:15px;top:44%}.viewer-caption{padding:19px 24px}.viewer-caption p:first-child{font-size:17px;font-weight:600}.viewer-caption p:last-child{font-size:11px;color:#bac2c9;margin-top:4px}.image-viewer :focus-visible{outline-color:#ffc536}
.basic .hero{position:relative;isolation:isolate}.basic-photo{position:absolute;inset:0;z-index:-2}.basic-photo img{width:100%;height:100%;object-fit:cover;object-position:center 60%}.basic .hero::before{background:linear-gradient(90deg,#10161df2,#10161da6);opacity:1;z-index:-1}.basic-photo-note{position:absolute;bottom:8px;left:24px;font-size:10px;color:#e2e7ea;background:#10161dd9;padding:3px 7px;border-radius:3px;font-family:var(--mono)}.basic .hero .ticket{box-shadow:0 24px 65px #0003}
@media(max-width:980px){.craft-grid{gap:35px}.craft-images{gap:12px}.craft-images img{height:280px}.craft-images figure:last-child img{height:240px}.pro .gal{grid-template-columns:1fr 1fr}.pro .svc-art{height:260px}}
@media(max-width:720px){.craft-grid{grid-template-columns:1fr;gap:28px}.craft-images figure:first-child{padding-bottom:20px}.craft-images figure:last-child{padding-top:30px}.craft-images img{height:270px}.craft-images figure:last-child img{height:240px}.pro .hero .wrap{padding-top:52px;padding-bottom:245px}.pro .gal{gap:23px 16px}.gallery-open{aspect-ratio:1}.pro .shot figcaption b{font-size:15px}.pro .shot figcaption span{font-size:10px}.gallery-open .photo-tag{font-size:7px;left:8px;bottom:8px}.gallery-expand{top:9px;right:9px;width:28px;height:28px}.pro .svc-art{height:245px}.pro .svc-body{padding:24px}.viewer-caption{padding:16px}.viewer-prev,.viewer-next{width:38px;height:38px}.basic .hero::before{background:linear-gradient(180deg,#10161dd9,#10161dee)}.basic-photo img{object-position:30% top}}
@media(max-width:420px){.pro .gal{grid-template-columns:1fr}.gallery-open{aspect-ratio:1.35}.pro .shot figcaption b{font-size:18px}.craft-images img{height:240px}.craft-images figure:last-child img{height:210px}}
@media(prefers-reduced-motion:reduce){.pro .svc:hover .svc-art img,.gallery-open:hover img{transform:none}.viewer-is-open{scroll-behavior:auto}}
@media(max-width:480px){.agency-nav .nav-contact{display:none}.agency .top .wrap{gap:10px}.agency-nav{gap:12px}.agency .logo{font-size:20px}}
.motion-off .pro .svc:hover .svc-art img,.motion-off .gallery-open:hover img{transform:none}
