/* The photography overview shares the site's cream/forest rhythm and quiet typography. */
.gf-photography-overview .gf-photography-intro {
    max-width: 900px !important;
    padding: 72px 24px 64px;
}
.gf-photography-overview .gf-photography-intro::before {
    content: "";
    display: block;
    width: 50px;
    height: 2px;
    margin: 0 auto 24px;
    background: #D29A45;
}
.gf-photography-overview .gf-photography-intro h1 {
    margin: 16px 0 23px;
    font: 400 clamp(40px, 4.5vw, 62px)/1.14 Georgia, 'Times New Roman', serif;
    letter-spacing: -.035em;
    text-wrap: balance;
}
.gf-photography-overview .gf-photography-intro p:not(.da-kicker) {
    max-width: 600px;
    font-size: 16px;
}
.gf-photography-overview .gf-photography-intro .gf-service-gallery-navigation {
    margin-top: 29px;
}
.gf-photography-overview .gf-photography-wedding {
    display: grid;
    grid-template-columns: minmax(0, .96fr) minmax(0, 1fr);
    align-items: center;
    gap: clamp(38px, 5.5vw, 80px);
    padding-block: 72px;
}
.gf-photography-overview .gf-photography-wedding-image {
    width: 100%;
    max-width: 490px;
    margin: 0 !important;
}
.gf-photography-overview .gf-photography-wedding-image a,
.gf-photography-overview .gf-photography-card-image a {
    display: block;
    overflow: hidden;
}
.gf-photography-overview .gf-photography-wedding-image img {
    width: 100%;
    height: auto;
    aspect-ratio: 4/5;
    object-fit: cover;
    object-position: 50% 45%;
}
.gf-photography-overview .gf-photography-wedding-copy {
    max-width: 490px;
    margin: 0;
}
.gf-photography-overview .gf-photography-wedding-copy h2 {
    margin: 16px 0 28px;
    font-size: clamp(34px, 3.5vw, 46px);
    line-height: 1.2;
    text-wrap: balance;
}
.gf-photography-overview .gf-photography-wedding-copy p:not(.da-kicker) {
    font-size: 16px;
    line-height: 1.85;
}
.gf-photography-overview .gf-photography-wedding-copy .wp-block-buttons {
    margin-top: 31px;
}
.gf-photography-overview .gf-photography-services {
    padding-block: 84px;
}
.gf-photography-overview .gf-photography-services-heading {
    margin-bottom: 42px !important;
}
.gf-photography-overview .gf-photography-services-heading h2 {
    margin: 13px 0 0;
}
.gf-photography-overview .gf-photography-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 30px;
    align-items: stretch;
}
.gf-photography-overview .gf-photography-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    margin: 0;
    background: #F4EBDD;
    color: #26382C;
}
.gf-photography-overview .gf-photography-card-image {
    width: 100%;
    margin: 0 !important;
}
.gf-photography-overview .gf-photography-card-image img {
    width: 100%;
    height: auto;
    aspect-ratio: 4/5;
    object-fit: cover;
    object-position: 50% 50%;
}
.gf-photography-overview .gf-photography-baby .gf-photography-card-image img {
    object-position: 50% 57%;
}
.gf-photography-overview .gf-photography-confirmation .gf-photography-card-image img {
    object-position: 57% 50%;
}
.gf-photography-overview .gf-photography-card-copy {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    align-items: stretch;
    padding-top: 28px;
    margin: 0;
}
.gf-photography-overview .gf-photography-card-copy h3 {
    margin: 0 0 17px;
    padding: 0;
    font: 400 clamp(27px, 2.5vw, 33px)/1.25 Georgia, 'Times New Roman', serif;
    letter-spacing: -.03em;
    color: #26382C;
}
.gf-photography-overview .gf-photography-card-copy p {
    margin-bottom: 25px;
    font-size: 15px;
    line-height: 1.85;
}
.gf-photography-overview .gf-photography-card-copy .wp-block-buttons {
    margin-top: auto;
    padding-top: 8px;
}
.gf-photography-overview .gf-photography-card-copy .wp-block-button {
    width: 100%;
    max-width: 300px;
}
.gf-photography-overview .gf-photography-process > .da-section {
    padding-block: 76px;
}
.gf-photography-overview .gf-photography-process .da-step {
    border-top-color: #D29A45;
}
.gf-photography-overview .gf-photography-process .da-number {
    color: #D29A45;
}
.gf-photography-overview .gf-photography-process .da-step h3 {
    font-size: 27px;
}
.gf-photography-overview .gf-photography-process .da-step p:not(.da-number) {
    font-size: 15px;
    line-height: 1.85;
}
.gf-photography-overview > .da-faq {
    padding-block: 80px;
}
@media (max-width: 1000px) {
    .gf-photography-overview .gf-photography-card-grid { gap: 23px; }
    .gf-photography-overview .gf-photography-wedding { gap: 36px; }
    .gf-photography-overview .gf-photography-card-copy h3 { font-size: 27px; }
}
@media (max-width: 690px) {
    .gf-photography-overview .gf-photography-intro { padding: 43px 24px 46px; }
    .gf-photography-overview .gf-photography-intro h1 { font-size: 39px; }
    .gf-photography-overview .gf-photography-intro p:not(.da-kicker) { font-size: 15px; }
    .gf-photography-overview .gf-photography-wedding {
        grid-template-columns: 1fr;
        gap: 35px;
        padding-block: 40px 49px;
    }
    .gf-photography-overview .gf-photography-wedding-image { max-width: 440px; margin-inline: auto !important; }
    .gf-photography-overview .gf-photography-wedding-copy { max-width: none; }
    .gf-photography-overview .gf-photography-wedding-copy h2 { font-size: 34px; margin-bottom: 23px; }
    .gf-photography-overview .gf-photography-wedding-copy p:not(.da-kicker) { font-size: 15px; }
    .gf-photography-overview .gf-photography-services { padding-block: 48px 55px; }
    .gf-photography-overview .gf-photography-services-heading { margin-bottom: 34px !important; }
    .gf-photography-overview .gf-photography-card-grid { grid-template-columns: 1fr; gap: 43px; }
    .gf-photography-overview .gf-photography-card { width: 100%; max-width: 440px; margin-inline: auto; }
    .gf-photography-overview .gf-photography-card-copy { padding-top: 23px; }
    .gf-photography-overview .gf-photography-card-copy h3 { font-size: 31px; }
    .gf-photography-overview .gf-photography-card-copy p { margin-bottom: 19px; }
    .gf-photography-overview .gf-photography-card-copy .wp-block-button { max-width: none; }
    .gf-photography-overview .gf-photography-process > .da-section { padding-block: 49px; }
    .gf-photography-overview .gf-photography-process .da-three { gap: 25px; }
    .gf-photography-overview .gf-photography-process .da-step h3 { margin-block: 12px 16px; }
    .gf-photography-overview > .da-faq { padding-block: 49px; }
}

/* Show the complete photograph below the gallery button, at every screen size. */
.gf-photography-overview .gf-photography-wedding-image,
.gf-photography-overview .gf-photography-wedding-image a {
    height: auto;
    overflow: visible;
}
.gf-photography-overview .gf-photography-wedding-image img {
    display: block;
    width: 100%;
    height: auto !important;
    max-height: none;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    transform: none !important;
    clip-path: none !important;
}
