/* Homepage photography proposal. Existing brand tokens and artwork are retained. */
.photo-hero{position:relative;isolation:isolate;min-height:610px;display:flex;align-items:center;background:#0f2d4a;color:#fff;overflow:hidden}
.hero-slides,.hero-scene,.hero-shade{position:absolute;inset:0}
.hero-slides{z-index:-3}.hero-scene{margin:0;opacity:0;transition:opacity .65s ease;pointer-events:none}
.hero-scene.is-active{opacity:1}.hero-scene img{width:100%;height:100%;object-fit:cover;object-position:55% 55%}
.hero-shade{z-index:-2;background:linear-gradient(90deg,rgba(8,29,49,.88),rgba(8,29,49,.50) 47%,rgba(8,29,49,.05) 85%),linear-gradient(0deg,rgba(8,29,49,.65),transparent 35%)}
.photo-hero .wrap{padding-top:80px;padding-bottom:124px}.photo-hero .eyebrow{color:#e1cfb8;line-height:1.6;font-size:.7rem}
.photo-hero h1{color:#fff;font-size:clamp(3.3rem,6.4vw,5.4rem);line-height:1.04;max-width:11ch;letter-spacing:-.035em;margin:0 0 24px}
.photo-hero .lede{color:#f7f8fa;max-width:35ch;font-size:1.12rem;line-height:1.65}.photo-hero .cta-row{margin-bottom:0}
.photo-hero .btn-solid{background:#4f7ca8;color:#fff}.photo-hero .btn-solid:hover{background:#355d84}
.photo-hero .btn-ghost{background:rgba(15,45,74,.30);border-color:rgba(255,255,255,.7);color:#fff}.photo-hero .btn-ghost:hover{background:#0f2d4a}
.hero-bottom{position:absolute;bottom:24px;left:0;right:0}.photo-hero .hero-bottom .wrap{padding-block:0;display:flex;align-items:center;justify-content:space-between;gap:20px}
.scene-label{font-size:.77rem;color:#fff;margin:0;letter-spacing:.025em}.scene-label::before{content:"";display:inline-block;width:18px;height:1px;background:#d9c3a7;margin:0 10px 4px 0}
.carousel-controls{display:flex;gap:8px;align-items:center;flex-shrink:0}.photo-control{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:50%;border:1px solid var(--line-strong);background:var(--card);color:var(--ink);font:400 1.3rem/1 var(--sans);cursor:pointer}
.photo-control:hover{border-color:var(--accent);background:var(--paper-2)}.photo-control:focus-visible,.photo-dot:focus-visible{outline:3px solid #d9c3a7;outline-offset:3px}
.photo-hero .photo-control{background:rgba(15,45,74,.66);border-color:rgba(255,255,255,.55);color:#fff}.photo-hero .photo-control:hover{background:#0f2d4a}
.photo-dots{display:flex;align-items:center;gap:2px}.photo-dot{width:30px;height:44px;border:0;background:transparent;padding:0;cursor:pointer;display:grid;place-items:center}.photo-dot::before{content:"";width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.5)}.photo-dot[aria-pressed="true"]::before{background:#d9c3a7;width:9px;height:9px}
.photo-paths{padding:60px 0}.photo-section-top{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:28px}.photo-section-top h2{margin-bottom:0}.photo-section-top .kicker{margin-bottom:9px}.text-link{color:var(--ink);font-size:.88rem;font-weight:600;text-underline-offset:5px}
.photo-path-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.photo-path{display:block;text-decoration:none;color:var(--ink);border-radius:var(--radius);overflow:hidden;background:var(--card);border:1px solid var(--line)}
.photo-path-image{overflow:hidden;aspect-ratio:4/3}.photo-path img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.photo-path:hover img{transform:scale(1.035)}
.photo-path-body{padding:22px;display:flex;align-items:center;justify-content:space-between;gap:12px}.photo-path h3{font-size:1.35rem;margin:0 0 6px}.photo-path p{margin:0;font-size:.87rem;color:var(--muted)}.path-arrow{font-size:1.5rem;color:var(--accent)}
.home-local-gallery{background:var(--paper-2);padding-block:60px}.gallery-intro{color:var(--ink-soft);margin:12px 0 0;max-width:48ch}.gallery-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;padding-bottom:16px;overscroll-behavior-x:contain}
.gallery-card{flex:0 0 calc((100% - 40px)/3);scroll-snap-align:start;margin:0;min-width:0}.gallery-card img{width:100%;height:268px;object-fit:cover;border-radius:var(--radius);display:block}.gallery-card figcaption{padding:14px 0 0;font-size:.87rem;color:var(--ink-soft)}.gallery-card figcaption strong{display:block;color:var(--ink);font-family:var(--serif);font-size:1.18rem;margin-bottom:3px}.gallery-hint{font-size:.75rem;color:var(--muted);margin:10px 0 0}
.home-todd{padding-block:64px}.home-todd-inner{display:grid;grid-template-columns:260px 1fr;gap:64px;align-items:center}.home-todd-photo{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 25%;border-radius:var(--radius)}.home-todd h2{margin-bottom:18px}.home-todd .lede{max-width:43ch}.home-todd .hero-sig{width:185px;margin:20px 0}.home-todd .cta-row{margin-bottom:0}
.photo-market{padding-block:50px;background:var(--card);border-block:1px solid var(--line)}.photo-market-inner{display:flex;justify-content:space-between;gap:40px;align-items:center}.photo-market h2{font-size:1.7rem;margin-bottom:8px}.photo-market p{margin-bottom:0;max-width:48ch;color:var(--ink-soft)}.photo-market .btn{flex-shrink:0}.photo-connect{text-align:center;padding-block:60px}.photo-connect h2{margin-bottom:12px}.photo-connect .cta-row{justify-content:center;margin-bottom:0}
@media(min-width:1450px){.photo-hero{min-height:680px}}
@media(max-width:800px){.photo-hero{min-height:560px}.photo-hero .wrap{padding-top:60px;padding-bottom:120px}.photo-path-grid{gap:14px}.photo-path-body{padding:18px 14px}.photo-path h3{font-size:1.15rem}.gallery-card{flex-basis:calc((100% - 20px)/2)}.home-todd-inner{grid-template-columns:220px 1fr;gap:32px}.photo-market-inner{gap:24px}}
@media(max-width:580px){.photo-hero{min-height:550px}.photo-hero h1{font-size:3.55rem}.photo-hero .lede{font-size:1rem;max-width:29ch}.hero-scene img{object-position:62% 50%}.hero-shade{background:linear-gradient(90deg,rgba(8,29,49,.79),rgba(8,29,49,.26)),linear-gradient(0deg,rgba(8,29,49,.8),transparent 45%)}.photo-hero .wrap{padding-top:45px;padding-bottom:135px}.photo-hero .eyebrow{max-width:27ch}.photo-hero .cta-row{gap:10px}.photo-hero .btn{padding:14px 16px}.photo-hero .hero-bottom .wrap{flex-direction:column;align-items:start;gap:8px}.hero-bottom{bottom:14px}.scene-label{font-size:.7rem}.photo-control{width:44px;height:44px}.photo-section-top{align-items:start;gap:12px}.photo-section-top h2{font-size:1.8rem}.photo-section-top>.text-link{margin-top:30px;white-space:nowrap}.photo-path-grid{grid-template-columns:1fr;gap:20px}.photo-path-image{aspect-ratio:16/9}.photo-path h3{font-size:1.4rem}.photo-path-body{padding:21px}.photo-paths,.home-local-gallery,.home-todd{padding-block:42px}.gallery-card{flex-basis:86%}.gallery-card img{height:270px}.home-local-gallery .photo-section-top{flex-wrap:wrap}.home-todd-inner{grid-template-columns:1fr;gap:28px}.home-todd-photo{max-width:260px;aspect-ratio:4/4.5}.photo-market-inner{flex-direction:column;align-items:start}.photo-market{padding-block:40px}.photo-connect{padding-block:44px}}
@media(prefers-reduced-motion:reduce){.hero-scene,.photo-path img{transition:none}.gallery-track{scroll-behavior:auto}}

.carousel-controls[hidden]{display:none}
.photo-rotation{font-size:.9rem}
.hero-scene{transition-duration:.9s}
@media(prefers-reduced-motion:reduce){.hero-scene{transition:none}}
.home-todd .cta-row{align-items:center}
.photo-paths .kicker,.home-local-gallery .kicker,.home-todd .kicker,.photo-market .kicker{font:600 .68rem/1.5 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:12px}
