:root {
    --about-bg: #f7f4f0;
    --about-card: #fffaf5;
    --about-soft: #eee5da;
    --about-line: #e2d7ca;
    --about-text: #2f2a27;
    --about-muted: #6e625a;
    --about-accent: #b98f68;
    --about-accent-dark: #8c6749;
    /* layered shadows: tight contact + mid ambient + far soft = 3D depth */
    --about-shadow: 0 2px 4px rgba(68, 48, 34, .08),
    0 10px 22px rgba(68, 48, 34, .12),
    0 30px 60px rgba(68, 48, 34, .16);
    --about-shadow-hover: 0 4px 8px rgba(68, 48, 34, .10),
    0 16px 32px rgba(68, 48, 34, .14),
    0 44px 80px rgba(68, 48, 34, .20);
    --about-max: 1180px;
    /* full-bleed background + content capped at --about-max, centered */
    --about-pad: max(1.25rem, (100% - var(--about-max)) / 2);
}

.about-page {
    background: linear-gradient(180deg, #faf7f3 0%, #f7f4f0 55%, #fffaf5 100%);
    color: var(--about-text);
    overflow-x: hidden;
}

.about-page *,
.about-page *::before,
.about-page *::after {
    box-sizing: border-box;
}

.about-page img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.about-kicker {
    font-size: .78rem;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--about-accent-dark);
    font-weight: 800;
    margin-bottom: 1rem;
}

.about-kicker::after {
    content: "";
    display: block;
    width: 42px;
    height: 1px;
    background: var(--about-accent);
    margin-top: .75rem;
}

.about-hero {
    display: grid;
    grid-template-columns: .95fr 1.05fr;
    align-items: center;
    gap: clamp(2rem, 4vw, 4rem);
    /*padding-block: clamp(3.5rem, 7vw, 5.5rem) clamp(2.5rem, 5vw, 4rem);*/
    padding: 108px clamp(1.5rem, 4vw, 4.5rem) 3rem;
    padding-inline: var(--about-pad);
    overflow: hidden;
}

.about-hero__image {
    height: min(520px, 60vh);
    box-shadow: var(--about-shadow);
    background: var(--about-soft);
    border-radius: 4px;

    overflow: hidden;
    transform: perspective(1200px) rotateY(2deg);
    transition: transform .5s ease, box-shadow .5s ease;
}

.about-hero__image:hover {
    transform: perspective(1200px) rotateY(0deg) translateY(-4px);
    box-shadow: var(--about-shadow-hover);
}

.about-hero__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 35% 20%;
}

.about-hero__text {
    max-width: 620px;
}

.about-hero h1,
.about-hero h2,
.about-studio h2,
.about-story h2,
.about-cta h2 {
    font-family: 'Cormorant Infant', Georgia, serif;
    font-weight: 400;
    letter-spacing: -.035em;
    line-height: 1.08;
}

.about-hero h1 {
    font-size: clamp(2.6rem, 4.5vw, 4.25rem) !important;
    margin-bottom: 1rem;
}

.about-hero h2 {
    font-size: clamp(1.35rem, 2.2vw, 2rem);
    max-width: 560px;
    margin-bottom: 1.2rem;
}

.about-hero p:not(.about-kicker) {
    color: var(--about-muted);
    font-size: clamp(1rem, 1.15vw, 1.15rem);
    line-height: 1.75;
    max-width: 560px;
}

.about-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 2rem;
}

.about-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: .9rem 1.35rem;
    border-radius: 0;
    text-transform: uppercase;
    font-size: .8rem;
    letter-spacing: .105em;
    font-weight: 800;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.about-btn:hover {
    transform: translateY(-2px);
}

.about-btn--primary {
    background: var(--about-accent);
    color: #fff !important;
    box-shadow: 0 12px 30px rgba(185, 143, 104, .24);
}

.about-btn--ghost {
    border: 1px solid rgba(47, 42, 39, .34);
    color: var(--about-text) !important;
    background: rgba(255, 255, 255, .35);
}

.about-benefits {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-top: 1px solid var(--about-line);
    border-bottom: 1px solid var(--about-line);
    background: var(--about-line);
    gap: 1px;
    max-width: var(--about-max);
    margin-inline: auto;
}

.about-benefits article {
    background: rgba(255, 250, 245, .86);
    padding: clamp(1.35rem, 2.2vw, 1.9rem);
}

.about-benefits span,
.about-process article > span {
    color: var(--about-accent);
    font-weight: 800;
    letter-spacing: .12em;
    display: block;
    margin-bottom: .7rem;
}

.about-benefits h3,
.about-process h3 {
    font-size: clamp(1rem, 1.35vw, 1.22rem);
    font-weight: 800;
    margin-bottom: .45rem;
}

.about-benefits p,
.about-studio p,
.about-story p,
.about-process p,
.about-faq p,
.about-reviews p,
.about-cta p {
    color: var(--about-muted);
    line-height: 1.7;
}

.about-studio,
.about-story,
.about-process,
.about-faq,
.about-reviews {
    padding-block: clamp(3rem, 5.5vw, 4.75rem);
    padding-inline: var(--about-pad);
}

.about-studio {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: clamp(2rem, 5vw, 5rem);
    align-items: center;
    background: #fffaf5;
}

.about-studio__text {
    max-width: 520px;
}

.about-studio h2,
.about-story h2,
.about-cta h2 {
    font-size: clamp(1.7rem, 3vw, 2.6rem);
    margin-bottom: 1rem;
}

.about-studio__gallery {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: .85rem;
}

.about-studio__gallery img {
    height: clamp(200px, 20vw, 320px);
    box-shadow: var(--about-shadow);
    border-radius: 4px;
    transition: transform .4s ease, box-shadow .4s ease;
}

.about-studio__gallery img:hover {
    transform: translateY(-6px) scale(1.015);
    box-shadow: var(--about-shadow-hover);
}

/* stagger: middle image sits slightly lower for depth rhythm */
.about-studio__gallery img:nth-child(2) {
    margin-top: 1.6rem;
}

.about-studio__gallery img:nth-child(1) {
    object-position: 50% 25%;
}

.about-studio__gallery img:nth-child(2) {
    object-position: 50% 35%;
}

.about-studio__gallery img:nth-child(3) {
    object-position: 50% 100%;
}

.about-text-link {
    display: inline-block;
    margin-top: 1.4rem;
    color: var(--about-accent-dark) !important;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    font-size: .86rem;
}

.about-story {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: clamp(2rem, 5vw, 5rem);
    align-items: center;
}

.about-story__text {
    max-width: 600px;
}

.about-story__text p + p {
    margin-top: 1rem;
}

.about-story__image {
    height: clamp(300px, 30vw, 440px);
    box-shadow: var(--about-shadow);
    border-radius: 4px;
    overflow: hidden;
    transform: perspective(1200px) rotateY(-2deg);
    transition: transform .5s ease, box-shadow .5s ease;
}

.about-story__image:hover {
    transform: perspective(1200px) rotateY(0deg) translateY(-4px);
    box-shadow: var(--about-shadow-hover);
}

.about-story__image img {
    object-position: 50% 35%;
}

.about-process {
    background: #fffaf5;
}

.about-process > .about-kicker,
.about-faq > .about-kicker,
.about-reviews > .about-kicker {
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
}

.about-process__grid {
    max-width: 1180px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
}

.about-process article {
    background: #fff;
    border: 1px solid var(--about-line);
    padding: 1.2rem;
    display: grid;
    grid-template-rows: auto auto auto 180px;
    gap: .35rem;
    box-shadow: 0 1px 2px rgba(68, 48, 34, .05),
    0 8px 24px rgba(68, 48, 34, .07);
    transition: transform .4s ease, box-shadow .4s ease;
}

.about-process article:hover {
    transform: translateY(-6px);
    box-shadow: var(--about-shadow-hover);
}

.about-process article img {
    margin-top: 1rem;
    height: 180px;
    border-radius: 3px;
    box-shadow: inset 0 0 0 1px rgba(68, 48, 34, .06), 0 6px 16px rgba(68, 48, 34, .10);
}

.about-process article:nth-child(1) img {
    object-position: 50% 45%;
}

.about-process article:nth-child(2) img {
    object-position: 50% 35%;
}

.about-process article:nth-child(3) img {
    object-position: 50% 50%;
}

/* FAQ styled like the portfolio pages: pn-accordion from
   portfolio-landing.css, h3 typography replicated from .pn-page */
.about-faq .pn-accordion {
    max-width: 760px;
    margin-inline: auto;
}

.about-faq > .about-kicker {
    max-width: 760px;
}

.about-faq .pn-accordion__item h3 {
    margin: 0;
    font-family: Inter, Georgia, serif;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.15;
}

.about-reviews {
    background: #fffaf5;
}

.about-reviews__grid {
    max-width: 1180px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2vw;
{
    #background: var(--about-line);
    #
}
}

.about-reviews blockquote {
    background: #fff;
    padding: 1.8rem;
}

.about-reviews blockquote::before {
    content: "“";
    display: block;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 4rem;
    line-height: .7;
    color: rgba(185, 143, 104, .28);
}

.about-reviews cite {
    display: block;
    margin-top: 1rem;
    color: var(--about-accent-dark);
    font-style: normal;
    font-weight: 700;
}

.about-cta {
    text-align: center;
    padding: clamp(4rem, 7vw, 7rem) 1.5rem;
    background: radial-gradient(circle at center, #fff 0%, #f2e8dc 80%);
}

.about-cta .about-btn {
    margin-top: 1.2rem;
}

.about-cta p {
    max-width: 620px;
    margin: 0 auto;
    font-size: 1.1rem;
}

.about-reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity .7s ease, transform .7s ease;
}

.about-reveal.is-visible {
    opacity: 1;
    transform: none;
}

/* ── Tablet landscape ─────────────────────────────── */
@media (max-width: 1024px) {
    .about-benefits {
        grid-template-columns: repeat(2, 1fr);
    }

    .about-process__grid,
    .about-reviews__grid {
        grid-template-columns: 1fr 1fr;
    }
}

/* ── Tablet portrait ──────────────────────────────── */
@media (max-width: 860px) {
    .about-hero,
    .about-studio,
    .about-story {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .about-hero__image,
    .about-story__image {
        /*height: auto;*/
        height: 400px;
        width: 90vw;
        aspect-ratio: 4 / 5;
        max-height: 70vh;
        order: 1;
        transform: none;
    }

    .about-hero {
        padding-block: 2.5rem;
    }

    .about-hero__image:hover,
    .about-story__image:hover {
        transform: none;
    }

    .about-studio__gallery img:nth-child(2) {
        margin-top: 0;
    }

    .about-hero__text {
        order: 2;
    }

    .about-hero h1 {
        font-size: clamp(2.4rem, 11vw, 3.5rem) !important;
    }

    .about-hero h2 {
        font-size: clamp(1.25rem, 5vw, 1.7rem);
    }

    .about-studio__gallery img {
        height: clamp(170px, 26vw, 240px);
    }

    .about-process__grid,
    .about-reviews__grid {
        grid-template-columns: 1fr;
    }

    .about-process article {
        grid-template-rows: auto auto auto 200px;
    }

    .about-process article img {
        height: 200px;
    }
}

/* ── Phone ────────────────────────────────────────── */
@media (max-width: 560px) {
    .about-benefits,
    .about-studio__gallery {
        grid-template-columns: 1fr;
    }

    .about-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .about-actions .about-btn {
        width: 100%;
    }

    .about-studio__gallery img {
        height: 240px;
    }
}