.photography-hero{position:relative;max-width:1440px;margin:0 auto;padding:0 64px 38px;background:var(--paper)}.photography-hero-title{padding:0 0 0 11%;color:#28254f;pointer-events:none}.photography-hero h1{width:min(64vw,800px);line-height:0;margin:0}.photography-hero h1 svg{display:block;width:100%;height:auto}.film-experience{position:relative;margin:-2px 0 0;--frame-width:130px;--strip-height:104px}.film-stage{position:relative;display:flex;align-items:center;min-height:180px;isolation:isolate}.film-camera{position:relative;z-index:3;display:block;width:240px;height:auto;flex:0 0 240px;color:var(--ink);pointer-events:none;animation:film-camera-in .4s ease both}.film-viewport{position:relative;z-index:1;flex:1;min-width:0;overflow:hidden;height:var(--strip-height);margin-left:-26px;transform:translateY(15px);touch-action:pan-y;cursor:grab;-moz-user-select:none;user-select:none;-webkit-user-select:none;animation:film-emerge .8s cubic-bezier(.22,.8,.25,1) .15s both}.film-viewport[data-dragging=true]{cursor:grabbing}.film-viewport:focus-visible{outline:1.5px solid var(--accent);outline-offset:7px}.film-track{position:relative;display:flex;gap:8px;width:-moz-max-content;width:max-content;height:var(--strip-height);padding:14px 8px 14px 22px;background:var(--ink);will-change:transform;transform:translateZ(0)}.film-frame{position:relative;flex:0 0 var(--frame-width);width:var(--frame-width);height:100%;margin:0;overflow:hidden;border:1px solid #484941;background:#10110f}.film-frame img{display:block;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none;-o-object-fit:contain;object-fit:contain}.film-sprockets{position:absolute;left:0;width:100%;height:7px;pointer-events:none}.film-sprockets-top{top:3px}.film-sprockets-bottom{bottom:3px}.film-hint{margin:5px 0 0 220px;font-size:12px;line-height:1.5;color:#626358;display:flex;align-items:center;gap:7px}.film-hint .illustrative-arrow{width:20px;height:16px}@keyframes film-camera-in{0%{opacity:0;translate:0 4px}to{opacity:1;translate:0 0}}@keyframes film-emerge{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}@media(max-width:1050px){.photography-hero{padding:0 35px 30px}.film-camera{width:210px;flex-basis:210px}.film-hint{margin-left:190px}.film-stage{min-height:165px}}@media(max-width:700px){.photography-hero{padding:12px 22px 30px}.photography-hero-title{padding:0}.photography-hero h1{width:100%;max-width:490px}.film-experience{margin-top:12px;--frame-width:108px;--strip-height:84px}.film-stage{min-height:138px}.film-camera{width:164px;flex-basis:164px}.film-viewport{margin-left:-22px;transform:translateY(10px)}.film-track{padding-top:13px;padding-bottom:13px}.film-hint{margin:3px 0 0 146px;font-size:11px;gap:5px}}@media(prefers-reduced-motion:reduce){.film-camera,.film-viewport{animation:none}.film-track{will-change:auto}}.photography-intro{padding:58px 0 45px;border-bottom:1px solid var(--line)}.photography-intro-copy{max-width:860px;color:var(--ink)}.photography-intro h2{font-family:var(--font-sans);font-size:clamp(35px,3.5vw,50px);font-weight:500;letter-spacing:-.025em;line-height:1.13;margin:0 0 22px}.photography-intro-copy p{font-size:20px;line-height:1.55;letter-spacing:-.3px;max-width:800px}.photography-intro-inquiry{display:flex;flex-wrap:wrap;align-items:center;gap:15px;margin-top:30px}.photography-inquiry{position:relative;display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:56px;max-width:100%;padding:17px 25px;background:var(--accent);color:var(--paper);font-size:16px;line-height:1.4;border:1px solid var(--accent);border-radius:999px;transform-origin:45% 65%;transition:box-shadow .25s ease}.photo-button-arrow{flex-shrink:0;transition:transform .35s cubic-bezier(.2,.8,.2,1)}.photo-button-stroke{position:absolute;left:25px;bottom:7px;width:calc(100% - 75px);height:7px;pointer-events:none}.photo-button-stroke path{stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .45s ease}.photography-social{background:transparent;color:var(--accent)}@keyframes photo-button-tilt{0%,to{transform:rotate(0)}35%{transform:translateY(-2px) rotate(-1.5deg)}70%{transform:translateY(-2px) rotate(.7deg)}}@media(hover:hover){.photography-inquiry:hover{animation:photo-button-tilt .5s cubic-bezier(.2,.8,.2,1);box-shadow:0 5px 12px #35316b18}.photography-inquiry:hover .photo-button-arrow{transform:translate(3px,-3px)}.photography-inquiry:hover .photo-button-stroke path{stroke-dashoffset:0}}.photography-inquiry:focus-visible{outline-color:var(--accent)}.photography-inquiry:focus-visible .photo-button-stroke path{stroke-dashoffset:0}.photography-pricing{font-size:14px;line-height:1.6;max-width:730px;margin-top:22px}.gallery-more{display:flex;justify-content:center;clear:both;padding:44px 0 48px}.gallery-more button{position:relative;border-radius:999px;transform-origin:45% 65%;display:inline-flex;align-items:center;gap:45px;min-height:48px;background:transparent;border:1px solid var(--accent);color:var(--accent);padding:13px 25px;font-size:16px;transition:background .2s ease,color .2s ease}.gallery-more button:hover{background:var(--accent);color:var(--paper)}.gallery-more button:focus-visible{outline-color:var(--accent)}.gallery-more button span{font-size:22px;line-height:1;transition:transform .35s cubic-bezier(.2,.8,.2,1)}@media(hover:hover){.gallery-more button:hover{animation:photo-button-tilt .5s cubic-bezier(.2,.8,.2,1)}.gallery-more button:hover span{transform:rotate(90deg)}.gallery-more button:hover .photo-button-stroke path{stroke-dashoffset:0}}.gallery-more button:focus-visible .photo-button-stroke path{stroke-dashoffset:0}@media(max-width:1050px){.photography-intro-copy p{font-size:19px}}@media(max-width:700px){.photography-intro{padding:38px 0}.photography-intro h2{font-size:35px}.photography-intro-copy p{font-size:18px}.photography-intro-inquiry{align-items:stretch;gap:12px;margin-top:25px}.photography-inquiry{padding:16px 22px;font-size:15px;gap:18px}.photography-pricing{font-size:13px;margin-top:20px}.gallery-more{padding:32px 0}}@media(prefers-reduced-motion:reduce){.gallery-more button,.gallery-more button span,.photo-button-arrow,.photo-button-stroke path,.photography-inquiry{transition:none}.gallery-more button:hover,.photography-inquiry:hover{animation:none}.gallery-more button:hover span,.photography-inquiry:hover .photo-button-arrow{transform:none}}