.photo-page{background:var(--cream)}.photo-hero{padding:136px 0 0}.photo-feature{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:clamp(390px,43vw,520px);overflow:hidden;border-radius:var(--r-lg);background:#151b2b;color:#fff}.photo-portrait{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:66% 0;object-position:66% 0}.photo-feature:after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(90deg,#151b2b 0%,rgba(21,27,43,.94) 28%,rgba(21,27,43,.76) 44%,transparent 69%);content:""}.photo-hero-copy{padding:clamp(28px,4.4vw,54px)}.photo-kicker{color:#ffdb81;font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.photo-page .photo-hero h1{max-width:19ch;margin:14px 0 16px;font-size:clamp(2.55rem,4.4vw,4rem);line-height:.99;text-wrap:balance}.photo-hero h1 span{color:#ffdb81}.photo-hero p{max-width:38ch;margin-bottom:24px;color:#eef0f6;font-size:clamp(1rem,1.5vw,1.12rem)}.photo-page .photo-hero .btn{color:var(--ink);white-space:normal}.photo-work{padding:clamp(26px,4vw,44px) 0}.photo-page .photo-work h2{margin-bottom:16px;font-size:clamp(1.6rem,3vw,2.25rem)}.photo-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(8px,2vw,20px)}.photo-tile{overflow:hidden;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff}.photo-tile img{width:100%;height:auto;aspect-ratio:1.65;-o-object-fit:cover;object-fit:cover;-o-object-position:center 37%;object-position:center 37%;background:#e7e3e1}.photo-tile figcaption{padding:10px 14px;font-weight:800;line-height:1.25}.photo-studio{padding-bottom:clamp(28px,5vw,54px)}.photo-studio figure{margin:0}.photo-studio img{display:block;width:100%;height:auto;max-height:570px;-o-object-fit:cover;object-fit:cover;-o-object-position:center 43%;object-position:center 43%;border-radius:var(--r-lg)}.photo-studio figcaption{margin-top:10px;color:var(--muted);font-size:.88rem}.photo-more{padding-bottom:clamp(40px,7vw,80px)}.photo-more-grid img{display:block;width:100%;height:auto;aspect-ratio:4 / 5;-o-object-fit:cover;object-fit:cover;-o-object-position:center 40%;object-position:center 40%;border-radius:var(--r-sm);background:#e7e3e1}.photo-gallery .photo-frame-top{-o-object-position:center top;object-position:center top}.photo-gallery .photo-frame-upper{-o-object-position:center 3%;object-position:center 3%}.photo-contact{scroll-margin-top:128px}.photo-contact-panel{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(22px,5vw,70px);align-items:start;padding:clamp(22px,5vw,56px);border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;box-shadow:var(--shadow-sm)}.photo-page .photo-contact h2{margin:14px 0;font-size:clamp(2rem,4vw,3.6rem)}.photo-contact-copy p{max-width:38ch;margin-bottom:14px;color:var(--muted)}.photo-contact-copy a{font-weight:700;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.photo-page .ad-form .ad-row label{margin-top:0}.photo-page .ad-form select{display:block;width:100%;padding:13px 14px;border:2px solid #e2e5ee;border-radius:12px;background:#fff;color:var(--ad-ink);font:inherit}.photo-page .ad-form .ad-btn{background:#087853}.photo-page .ad-form .ad-btn:hover{background:#075b40}.photo-page .ad-form-status:empty{min-height:0;margin:0}.photo-page .ad-foot .wrap{display:flex;justify-content:space-between;gap:10px 24px;flex-wrap:wrap}.photo-page .ad-foot a{text-decoration:underline;text-underline-offset:3px}@media(min-width:941px)and (max-width:1100px){.photo-page .nav-links{gap:12px}.photo-page header .nav-cta{padding-inline:14px}}@media(max-width:720px){.photo-feature{display:block;min-height:0}.photo-portrait{position:static;width:100%;height:clamp(230px,62vw,380px);-o-object-position:74% 0;object-position:74% 0}.photo-feature:after{content:none}.photo-hero-copy{padding:22px}.photo-page .photo-hero h1{font-size:clamp(2.2rem,7vw,3.6rem);text-wrap:initial}.photo-contact-panel{grid-template-columns:1fr}.photo-more-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-tile img{aspect-ratio:1.12}.photo-tile figcaption{padding:8px;font-size:.73rem}}@media(max-width:560px){.photo-hero{padding-top:110px}.photo-contact{scroll-margin-top:106px}}
