        width: 35px;
    }

  }
    

/* Satya Photography — dark footer rebrand (white logo legibility) */
.footer-wrap{background:#141414;color:#c9c9c9}
footer.c-wrap{background:#141414!important}
.footer-wrap a{color:#c9c9c9}
.footer-wrap a:hover{color:#ffffff}
.footer-copy{color:#8a8a8a}
.footer-copy a{color:#c9c9c9}
.footer-link img{width:auto;height:22px;vertical-align:middle}

/* Satya Photography — Instagram link mark: the reference leaves .insta-link--in img
   unsized, so the square brand mark rendered at its full 512px natural size next to
   the handle. Sizing it as a small, elegant mark like the reference's circular logo. */
.insta-link--in img{width:46px;height:46px;object-fit:contain;border-radius:10px}
.insta-link--in{font-size:13px;color:#46423c}
.insta-link--in:hover img{transform:scale(1.06)}
.insta-link--in img{transition:transform .3s cubic-bezier(.23,1,.32,1)}

/* Satya Photography — mobile bride-slider fix: the reference CSS hides
   .bride-single--block under 768px and shows only .bride-single--center,
   but slides without a center block (1, 2, 5, 6) rendered as blank gray
   areas with only the nav arrows. Stack all cards vertically instead. */
@media (max-width:768px) {
    .bride-single {
        flex-direction: column;
        gap: 30px;
    }
    .bride-single--block {
        display: flex !important;
        width: 100% !important;
        padding: 20px;
        padding-bottom: 30px;
    }
    .bride-single--center {
        width: 100% !important;
        display: flex !important;
        flex-direction: column;
        gap: 30px;
    }
    .bride-single--center .bride-single--block {
        width: 100% !important;
    }
    .bride-single--img,
    .bride-single--center .bride-single--img {
        height: auto;
    }
    .bride-single--img img {
        height: auto;
    }
    .bride-single--about {
        width: 100%;
    }
}


/* Satya — Milestone journey timeline */
.sp-mile {
    position: relative;
    background-color: rgba(244, 240, 237, .8);
    background-image: url(../images/home/bg.png);
    overflow: hidden;
}
.sp-mile--in { position: relative; padding: 96px 0 100px; text-align: center; }

/* Head — rule row, eyebrow, masked title, intro */
.sp-mile--rule-row { display: flex; align-items: center; justify-content: center; gap: 14px; margin-bottom: 28px; }
.sp-mile--rule { display: block; width: 64px; height: 1px; background: rgba(20, 20, 20, .18); transform: scaleX(0); transition: transform 1.1s cubic-bezier(.23, 1, .32, 1) .3s; }
.sp-mile--rule-row.is-in .sp-mile--rule { transform: scaleX(1); }
.sp-mile--rule-row.is-in .sp-mile--rule:last-child { transition-delay: .42s; }
.sp-mile--diamond { width: 7px; height: 7px; background: #cf4141; transform: rotate(45deg) scale(0); transition: transform .5s cubic-bezier(.23, 1, .32, 1) .55s; }
.sp-mile--rule-row.is-in .sp-mile--diamond { transform: rotate(45deg) scale(1); }

.sp-mile--eyebrow { font-family: 'Mulish', sans-serif; font-size: 11.5px; font-weight: 500; letter-spacing: .46em; text-transform: uppercase; color: #8f887c; padding-left: .46em; margin-bottom: 24px; }
.sp-mile--head { font-family: CormorantGaramond, Georgia, 'Times New Roman', serif; font-weight: 500; font-size: clamp(44px, 5.6vw, 72px); line-height: 1.04; letter-spacing: -.01em; color: #141414; margin: 0 0 20px; }
.sp-mile--line { display: block; overflow: hidden; padding: 0 .12em; }
.sp-mile--line-in { display: inline-block; transform: translateY(112%); transition: transform 1.05s cubic-bezier(.23, 1, .32, 1); }
.sp-mile--head.is-in .sp-mile--line-in { transform: none; }
.sp-mile--intro { max-width: 540px; margin: 0 auto 84px; font-family: 'Mulish', sans-serif; font-size: 15px; line-height: 1.9; color: #6b665e; }

/* Timeline — centre hairline with a red scroll-linked fill */
.sp-mile--tl { position: relative; max-width: 1080px; margin: 0 auto; }
.sp-mile--tl-line, .sp-mile--tl-fill { position: absolute; top: 0; bottom: 0; width: 2px; }
.sp-mile--tl-line { left: 50%; transform: translateX(-50%); background: rgba(20, 20, 20, .1); }
.sp-mile--tl-fill { left: calc(50% - 1px); background: #cf4141; transform: scaleY(0); transform-origin: top center; will-change: transform; }

.sp-mile--entry { position: relative; display: grid; grid-template-columns: 1fr 56px 1fr; align-items: start; }
.sp-mile--entry + .sp-mile--entry { margin-top: 96px; }
.sp-mile--card { max-width: 400px; text-align: center; }
.sp-mile--entry[data-side="left"] .sp-mile--card { justify-self: end; }
.sp-mile--entry[data-side="right"] .sp-mile--card { justify-self: start; }

.sp-mile--dot { width: 11px; height: 11px; justify-self: center; background: #cf4141; transform: rotate(45deg) scale(0); transition: transform .55s cubic-bezier(.23, 1, .32, 1) .25s; margin-top: 26px; }
.sp-mile--entry.is-in .sp-mile--dot { transform: rotate(45deg) scale(1); }
.sp-mile--dot__today { position: relative; }
.sp-mile--dot__today::after { content: ""; position: absolute; inset: -7px; border: 1px solid rgba(207, 65, 65, .55); transform: rotate(45deg) scale(.6); opacity: 0; animation: spMilePulse 2.6s ease-out infinite; }
@keyframes spMilePulse { 0% { transform: rotate(45deg) scale(.6); opacity: 1; } 70% { transform: rotate(45deg) scale(1.4); opacity: 0; } 100% { transform: rotate(45deg) scale(1.4); opacity: 0; } }

.sp-mile--ghost { font-family: CormorantGaramond, Georgia, 'Times New Roman', serif; font-style: italic; font-weight: 400; font-size: clamp(96px, 9vw, 150px); line-height: 1; color: rgba(20, 20, 20, .045); user-select: none; opacity: 0; transform: translateY(14px); transition: opacity 1s cubic-bezier(.23, 1, .32, 1) .35s, transform 1s cubic-bezier(.23, 1, .32, 1) .35s; }
.sp-mile--entry[data-side="left"] .sp-mile--ghost { justify-self: start; text-align: left; padding-left: 60px; }
.sp-mile--entry[data-side="right"] .sp-mile--ghost { justify-self: end; text-align: right; padding-right: 60px; }
.sp-mile--entry.is-in .sp-mile--ghost { opacity: 1; transform: none; }

.sp-mile--year { font-family: CormorantGaramond, Georgia, 'Times New Roman', serif; font-weight: 500; font-size: clamp(52px, 5vw, 80px); line-height: 1; letter-spacing: -.01em; color: #141414; margin-bottom: 20px; transition: transform .45s cubic-bezier(.23, 1, .32, 1), color .45s ease; }
.sp-mile--year__today { font-style: italic; background: linear-gradient(96deg, #a93232 0%, #cf4141 55%, #e05a4a 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
@supports not (-webkit-background-clip: text) { .sp-mile--year__today { background: none; color: #cf4141; } }
.sp-mile--rule2 { display: block; width: 44px; height: 2px; background: #cf4141; margin: 0 auto 18px; transform: scaleX(0); transition: transform .8s cubic-bezier(.23, 1, .32, 1) .4s, width .45s cubic-bezier(.23, 1, .32, 1); }
.sp-mile--entry.is-in .sp-mile--rule2 { transform: scaleX(1); }
.sp-mile--tag { font-family: 'Mulish', sans-serif; font-size: 11.5px; font-weight: 600; letter-spacing: .26em; text-transform: uppercase; color: #8f887c; padding-left: .26em; margin-bottom: 14px; }
.sp-mile--text { font-family: 'Mulish', sans-serif; font-size: 14.5px; line-height: 1.75; color: #6b665e; margin: 0; }

/* Hover — fine pointers only */
@media (hover: hover) and (pointer: fine) {
    .sp-mile--card:hover .sp-mile--year { transform: translateY(-3px); color: #cf4141; }
    .sp-mile--card:hover .sp-mile--year__today { transform: translateY(-3px); }
    .sp-mile--card:hover .sp-mile--rule2 { width: 64px; }
    .sp-mile--card:hover .sp-mile--tag { color: #cf4141; }
}

/* Scroll reveals — blur + rise, staggered */
[data-ms-reveal] { opacity: 0; transform: translateY(26px); filter: blur(6px); transition: opacity .9s cubic-bezier(.23, 1, .32, 1), transform .9s cubic-bezier(.23, 1, .32, 1), filter .9s cubic-bezier(.23, 1, .32, 1); }
[data-ms-reveal].is-in { opacity: 1; transform: none; filter: none; }
.sp-mile--eyebrow[data-ms-reveal] { transition-delay: .12s; }
.sp-mile--head[data-ms-reveal] { transition-delay: .18s; }
.sp-mile--intro[data-ms-reveal] { transition-delay: .26s; }
.sp-mile--entry[data-side="left"] { transform: translateX(-56px); }
.sp-mile--entry[data-side="right"] { transform: translateX(56px); }
.sp-mile--entry[data-side="left"].is-in, .sp-mile--entry[data-side="right"].is-in { transform: none; }

/* Tablet */
@media (max-width: 991px) {
    .sp-mile--tl { max-width: 720px; }
    .sp-mile--ghost { font-size: clamp(72px, 8vw, 110px); }
    .sp-mile--entry { grid-template-columns: 1fr 44px 1fr; }
    .sp-mile--entry + .sp-mile--entry { margin-top: 80px; }
}

/* Mobile — left-rail timeline */
@media (max-width: 767px) {
    .sp-mile--in { padding: 78px 0 80px; }
    .sp-mile--intro { margin-bottom: 62px; }
    .sp-mile--tl-line { left: 14px; }
    .sp-mile--tl-fill { left: 13px; }
    .sp-mile--entry { grid-template-columns: 30px 1fr; column-gap: 24px; align-items: start; }
    .sp-mile--entry + .sp-mile--entry { margin-top: 64px; }
    .sp-mile--dot { grid-column: 1; grid-row: 1; justify-self: center; margin-top: 10px; }
    .sp-mile--card { grid-column: 2; grid-row: 1; justify-self: start; text-align: left; max-width: 100%; }
    .sp-mile--card .sp-mile--rule2 { margin-left: 0; }
    .sp-mile--ghost { display: none; }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .sp-mile--diamond, .sp-mile--rule, .sp-mile--rule2, .sp-mile--dot { animation: none; transform: none; transition: none; }
    .sp-mile--dot__today::after { animation: none; opacity: 0; }
    .sp-mile--line-in { transform: none; transition: none; }
    .sp-mile--tl-fill { transform: scaleY(1); }
    [data-ms-reveal] { opacity: 1; transform: none; filter: none; transition: none; }
}


/* Satya — Contact: enquiry */
.sp-contact--head { font-family: CormorantGaramond, Georgia, 'Times New Roman', serif; font-weight: 500; font-size: clamp(32px, 4vw, 52px); line-height: 1.12; letter-spacing: -.01em; color: #141414; margin: 0 0 6px; }
.sp-contact--intro { font-family: 'Mulish', sans-serif; font-size: 15.5px; line-height: 1.9; color: #6b665e; max-width: 720px; margin: 0 auto; }
.sp-contact--intro p { margin: 0 0 14px; }
.sp-contact--intro p:last-child { margin-bottom: 0; }
.sp-contact--loc { font-family: 'Mulish', sans-serif; font-size: 15px; line-height: 1.8; color: #4b4b4b; }
.sp-contact--loc-head { font-family: CormorantGaramond, Georgia, 'Times New Roman', serif; font-size: clamp(22px, 2.6vw, 30px); font-weight: 600; color: #141414; letter-spacing: .02em; margin: 0 0 10px; }
.sp-contact--loc-line { margin: 0 0 6px; font-weight: 600; color: #313131; }
.sp-contact--loc-line a { color: #a93232; text-decoration: none; border-bottom: 1px solid rgba(169, 50, 50, .35); transition: border-color .25s ease; }
.sp-contact--loc-line a:hover { border-color: #a93232; }
.sp-contact--loc-sub { margin: 0; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: #8f887c; }
.sp-contact--loc-note { margin: 12px 0 0; font-size: 14px; color: #6b665e; max-width: 560px; margin-left: auto; margin-right: auto; }
.sp-contact--success { max-width: 640px; margin: 0 auto; text-align: center; padding: 46px 30px; border: 1px solid rgba(20, 20, 20, .1); background: #fff; }
.sp-contact--success h3 { font-family: CormorantGaramond, Georgia, 'Times New Roman', serif; font-weight: 500; font-size: clamp(30px, 3.6vw, 44px); line-height: 1.15; color: #141414; margin: 0 0 18px; }
.sp-contact--success p { font-family: 'Mulish', sans-serif; font-size: 15px; line-height: 1.9; color: #6b665e; margin: 0 0 10px; }
.sp-contact--success .sp-contact--success-sign { font-family: CormorantGaramond, Georgia, 'Times New Roman', serif; font-style: italic; font-size: 18px; color: #a93232; margin-top: 16px; }
.cform-field .input-one::placeholder { color: #a49c90; opacity: 1; }
.cform-field .input-one:focus::placeholder { color: #c4bcb0; }
.sp-contact--head, .sp-contact--intro { animation: none; }

/* Satya — About: Our Journey */
.sp-journey--in { position: relative; padding: 110px 0 120px; text-align: center; max-width: 880px; margin: 0 auto; }
.sp-journey--eyebrow { font-family: 'Mulish', sans-serif; font-size: 11.5px; font-weight: 500; letter-spacing: .46em; text-transform: uppercase; color: #8f887c; padding-left: .46em; margin-bottom: 24px; }
.sp-journey--head { font-family: CormorantGaramond, Georgia, 'Times New Roman', serif; font-weight: 500; font-size: clamp(44px, 5.6vw, 72px); line-height: 1.04; letter-spacing: -.01em; color: #141414; margin: 0 0 28px; }
.sp-journey--text { margin: 0 auto 34px; font-family: 'Mulish', sans-serif; font-size: 15.5px; line-height: 1.95; color: #6b665e; }
.sp-journey--text strong { color: #141414; font-weight: 600; }
.sp-journey--tag { font-family: CormorantGaramond, Georgia, 'Times New Roman', serif; font-style: italic; font-weight: 500; font-size: clamp(20px, 2.4vw, 26px); line-height: 1.4; letter-spacing: .02em; color: #a93232; padding-top: 30px; border-top: 1px solid rgba(20, 20, 20, .1); max-width: 560px; margin: 0 auto; }
.sp-journey--eyebrow[data-ms-reveal] { transition-delay: .12s; }
.sp-journey--head[data-ms-reveal] { transition-delay: .18s; }
.sp-journey--text[data-ms-reveal] { transition-delay: .26s; }
.sp-journey--tag[data-ms-reveal] { transition-delay: .34s; }
@media (max-width: 767px) {
    .sp-journey--in { padding: 80px 0 88px; }
}

/* Satya — Homepage intimate intro */
.intimate-con--head {
    font-family: CormorantGaramond, Georgia, 'Times New Roman', serif;
    font-weight: 500;
    font-size: clamp(38px, 4vw, 54px);
    line-height: 1.08;
    letter-spacing: -.01em;
    color: #141414;
    margin-bottom: 18px;
}
.intimate-con--line { display: block; overflow: hidden; padding: 0 .1em; }
.intimate-con--line-in {
    display: inline-block;
    transform: translateY(112%);
    transition: transform 1.05s cubic-bezier(.23, 1, .32, 1);
}
.intimate-con--head.is-in .intimate-con--line-in { transform: none; }
.intimate-con--head.is-in .intimate-con--line:nth-child(2) .intimate-con--line-in { transition-delay: .12s; }
.intimate-con--head em {
    font-style: italic;
    background: linear-gradient(96deg, #a93232 0%, #cf4141 55%, #e05a4a 100%);
    -webkit-background-clip: text; background-clip: text; color: transparent;
}
@supports not (-webkit-background-clip: text) { .intimate-con--head em { background: none; color: #cf4141; } }

.intimate-con--rule {
    display: block; width: 46px; height: 2px; background: #cf4141;
    margin-bottom: 22px;
}
.intimate-con--sub {
    font-family: 'Mulish', sans-serif;
    font-size: 15px;
    line-height: 1.6;
    color: #555;
    max-width: 330px;
}
.intimate-con--in p { font-size: 14px; line-height: 1.75; }
.intimate-con--in p + p { margin-top: 14px; }
.intimate-con--qoute {
    font-size: 15px;
    line-height: 1.7;
    color: #8d8d8d;
    padding-right: 0;
}

/* Reveals — blur + rise, staggered; heading uses its own line-mask */
[data-int-reveal] {
    opacity: 0;
    transform: translateY(22px);
    filter: blur(5px);
    transition: opacity .9s cubic-bezier(.23, 1, .32, 1), transform .9s cubic-bezier(.23, 1, .32, 1), filter .9s cubic-bezier(.23, 1, .32, 1);
}
[data-int-reveal].is-in { opacity: 1; transform: none; filter: none; }
.intimate-con--head[data-int-reveal] { opacity: 1; transform: none; filter: none; transition: none; }
.intimate-con--rule[data-int-reveal] {
    transform: translateY(22px) scaleX(0);
    filter: none;
    transition: transform .9s cubic-bezier(.23, 1, .32, 1) .05s, opacity .9s ease;
}
.intimate-con--rule[data-int-reveal].is-in { transform: none; }
.intimate-con--sub[data-int-reveal] { transition-delay: .2s; }
.intimate-con--in p[data-int-reveal]:nth-of-type(1) { transition-delay: .28s; }
.intimate-con--in p[data-int-reveal]:nth-of-type(2) { transition-delay: .36s; }
.intimate-con--in p[data-int-reveal]:nth-of-type(3) { transition-delay: .44s; }
.intimate-con--qoute[data-int-reveal] { transition-delay: .52s; }

@media (max-width: 767px) {
    .intimate-con--head { font-size: 38px; }
    .intimate-con--sub { font-size: 14px; }
    .intimate-con--qoute { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) {
    .intimate-con--line-in { transform: none; transition: none; }
    [data-int-reveal] { opacity: 1; transform: none; filter: none; transition: none; }
}


/* Satya — About team: solo founder */
.about-team--solo {
    justify-content: center;
}
.about-team--single__solo {
    align-items: center;
    position: relative;
    z-index: 2;
}
.about-team--single__solo .about-team--single-img {
    width: 300px;
    height: 410px;
}
.about-team--single__solo .about-team--single-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
/* Satya — solo founder card: keep the decorative arrow clear of the name/title.
   Desktop: sits in the 40px gap above the name. Mobile: floats left of the card
   (the original template's own mobile treatment for this icon). */
.about-team--single__solo .about-team--single-data span {
    left: 15px;
    top: -38px;
    width: auto;
    font-size: 20px;
    color: #b7a79f;
}
@media (max-width: 768px) {
    .about-team--single__solo .about-team--single-data span {
        left: -35px;
        top: 2px;
        font-size: 18px;
    }
}

/* Satya Photography — Instagram strip bottom row (premium link, replaces the old logo+handle mark) */
.insta-link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: 26px 20px 64px;
    font-size: 12px;
    color: #747474;
    font-weight: 400;
}
.insta-link--diamond {
    width: 7px;
    height: 7px;
    background: #c64949;
    transform: rotate(45deg);
    flex: none;
}
.insta-link--text {
    font-size: 12px;
    letter-spacing: .28em;
    text-transform: uppercase;
    color: #8a8378;
    font-weight: 500;
    white-space: nowrap;
}
.insta-link--btn {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 11px 22px;
    border: 1px solid #e3dcd2;
    border-radius: 999px;
    background: #fff;
    color: #3f3a34;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .02em;
    text-decoration: none;
    transition: border-color .3s cubic-bezier(.23,1,.32,1), color .3s cubic-bezier(.23,1,.32,1), transform .3s cubic-bezier(.23,1,.32,1), box-shadow .3s cubic-bezier(.23,1,.32,1);
}
.insta-link--btn:hover {
    border-color: #c64949;
    color: #c64949;
    transform: translateY(-2px);
    box-shadow: 0 12px 26px rgba(63,58,52,.1);
}
.insta-link--btn:active {
    transform: translateY(0) scale(.97);
}
.insta-link--btn .wb-right {
    width: 8px;
    height: 8px;
    border-top: 1.5px solid currentColor;
    border-right: 1.5px solid currentColor;
    transform: rotate(45deg);
    margin-left: 2px;
    transition: transform .3s cubic-bezier(.23,1,.32,1);
}
.insta-link--btn:hover .wb-right {
    transform: rotate(45deg) translate(2px, -2px);
}
.insta-link--icon {
    flex: none;
}
@media (max-width: 640px) {
    .insta-link {
        flex-wrap: wrap;
        gap: 12px;
        padding: 22px 16px 52px;
    }
    .insta-link--btn {
        padding: 10px 18px;
    }
}

/* ============================================================
   Satya Photography — Instagram strip: premium editorial grid
   Overrides the reference mosaic (2px gutters, stretched
   object-fit:fill images, full-black slide-up veil, ragged
   hidden tiles) with a clean, cinematic photo wall.
   ============================================================ */
.insta-gal {
    gap: 14px;
    margin-top: 8px;
}
.insta-gal--in,
.insta-gal .insta-gal--in {
    width: calc((100% - (14px * 4)) / 5);
    height: auto;
    aspect-ratio: 1 / 1;
    display: flex;
    background: #ece5db;
    transition: transform .5s cubic-bezier(.23,1,.32,1), box-shadow .5s cubic-bezier(.23,1,.32,1);
}
.insta-gal--in img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 1.1s cubic-bezier(.23,1,.32,1), filter 1.1s cubic-bezier(.23,1,.32,1);
}
.insta-gal--in:hover img {
    transform: scale(1.045);
}
.insta-gal--overlay {
    top: 0;
    height: 100%;
    background: linear-gradient(to top, rgba(24, 18, 12, .62) 0%, rgba(24, 18, 12, .18) 45%, rgba(24, 18, 12, 0) 78%);
    align-items: flex-end;
    justify-content: flex-start;
    padding: 16px;
    opacity: 0;
    transition: opacity .45s cubic-bezier(.23,1,.32,1);
}
.insta-gal--in:hover .insta-gal--overlay,
.insta-gal--in:focus-visible .insta-gal--overlay {
    opacity: 1;
}
.insta-gal--overlay .in-block {
    gap: 8px;
    transform: translateY(8px);
    transition: transform .45s cubic-bezier(.23,1,.32,1);
}
.insta-gal--in:hover .insta-gal--overlay .in-block,
.insta-gal--in:focus-visible .insta-gal--overlay .in-block {
    transform: translateY(0);
}
.insta-gal--overlay .in-block span {
    font-size: 17px;
    line-height: 1;
}
.insta-gal--overlay .in-block div {
    font-size: 12px;
    font-weight: 500;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: #fff;
}
.insta-gal--overlay .in-block label {
    font-weight: 600;
}
/* Scroll reveal (JS in the instagram partial): tiles fade + rise in. */
.insta-gal--in {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity .8s cubic-bezier(.23,1,.32,1), transform .8s cubic-bezier(.23,1,.32,1), box-shadow .5s cubic-bezier(.23,1,.32,1);
}
.insta-gal--in.is-in {
    opacity: 1;
    transform: translateY(0);
}
/* Tablet & phone: clean 2-up editorial columns, all 10 tiles shown. */
@media (max-width: 1099px) {
    .insta-gal {
        gap: 12px;
    }
    .insta-gal .insta-gal--in {
        width: calc((100% - 12px) / 2);
        display: flex;
    }
}
@media (max-width: 640px) {
    .insta-gal {
        gap: 8px;
    }
    .insta-gal .insta-gal--in {
        width: calc((100% - 8px) / 2);
    }
    .insta-gal--overlay {
        padding: 10px;
    }
    .insta-gal--overlay .in-block div {
        font-size: 10px;
        letter-spacing: .14em;
    }
}
/* Tame the oversized watermark heading on small screens. */
@media (max-width: 640px) {
    .insta-head {
        font-size: 64px;
        line-height: 1.05;
        letter-spacing: -3px;
        text-indent: 0;
        margin-top: 40px;
    }
}
@media (prefers-reduced-motion: reduce) {
    .insta-gal--in,
    .insta-gal--in img {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
    .insta-gal--overlay,
    .insta-gal--overlay .in-block {
        opacity: 1;
        transform: none;
        transition: none;
    }
}


/* Satya - FAQ: editorial Q&A */
.sp-faq--in { position: relative; padding: 100px 0 120px; max-width: 860px; margin: 0 auto; }
.sp-faq--eyebrow { font-family: 'Mulish', sans-serif; font-size: 11.5px; font-weight: 500; letter-spacing: .46em; text-transform: uppercase; color: #8f887c; padding-left: .46em; text-align: center; margin-bottom: 26px; }
.sp-faq--lead { font-family: CormorantGaramond, Georgia, 'Times New Roman', serif; font-weight: 500; font-size: clamp(22px, 2.8vw, 30px); line-height: 1.35; letter-spacing: .01em; color: #414141; max-width: 720px; margin: 0 auto 72px; text-align: center; }
.sp-faq--list { border-top: 1px solid rgba(20, 20, 20, .1); }
.sp-faq--item { display: grid; grid-template-columns: 60px 1fr; gap: 20px; padding: 36px 0 42px; border-bottom: 1px solid rgba(20, 20, 20, .1); align-items: start; }
.sp-faq--num { font-family: CormorantGaramond, Georgia, 'Times New Roman', serif; font-size: 14px; letter-spacing: .14em; color: #a93232; padding-top: 7px; }
.sp-faq--q { font-family: CormorantGaramond, Georgia, 'Times New Roman', serif; font-weight: 600; font-size: clamp(21px, 2.2vw, 26px); line-height: 1.28; letter-spacing: -.005em; color: #141414; margin: 0 0 10px; }
.sp-faq--a { font-family: 'Mulish', sans-serif; font-size: 15px; line-height: 1.9; color: #6b665e; max-width: 700px; }
.sp-faq--a p { margin: 0; }
.sp-faq--empty { text-align: center; color: #8f887c; padding: 60px 0; }
.c-banner--head__faq { font-size: clamp(21px, 3.4vw, 32px); line-height: 1.3; max-width: 940px; padding: 0 24px; }
.sp-faq--eyebrow[data-ms-reveal] { transition-delay: .12s; }
.sp-faq--lead[data-ms-reveal] { transition-delay: .2s; }
@media (max-width: 640px) {
    .sp-faq--in { padding: 70px 0 80px; }
    .sp-faq--item { grid-template-columns: 1fr; gap: 4px; }
    .sp-faq--num { padding-top: 0; }
}


/* ===== Satya: contact intro + location block ===== */
.adrs-wrap { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 64px; align-items: start; }
.sp-contact--head { font-family: CormorantGaramond, Georgia, 'Times New Roman', serif; font-weight: 500; font-size: clamp(34px, 4.6vw, 56px); line-height: 1.08; letter-spacing: -.01em; color: #141414; margin: 0 0 26px; }
.sp-contact--intro p { font-family: 'Mulish', sans-serif; font-size: 15.5px; line-height: 1.95; color: #6b665e; margin: 0 0 18px; max-width: 640px; }
.sp-contact--intro p:last-child { margin-bottom: 0; }
.sp-contact--loc { padding-top: 26px; border-top: 1px solid rgba(20, 20, 20, .12); }
.sp-contact--loc-head { font-family: CormorantGaramond, Georgia, 'Times New Roman', serif; font-weight: 500; font-size: clamp(21px, 2.2vw, 27px); line-height: 1.3; color: #141414; margin: 0 0 14px; }
.sp-contact--loc-line { font-family: 'Mulish', sans-serif; font-size: 14.5px; line-height: 1.8; color: #6b665e; margin: 0 0 6px; }
.sp-contact--loc-line a { color: #a93232; text-decoration: none; border-bottom: 1px solid rgba(169, 50, 50, .35); transition: border-color .25s ease, color .25s ease; }
.sp-contact--loc-line a:hover { color: #141414; border-color: rgba(20, 20, 20, .35); }
.sp-contact--loc-sub { font-family: 'Mulish', sans-serif; font-size: 13px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: #141414; margin: 0 0 4px; }
.sp-contact--loc-note { font-family: 'Mulish', sans-serif; font-size: 14px; line-height: 1.8; color: #8f887c; margin: 12px 0 0; max-width: 420px; }

/* ===== Satya: professional enquiry form ===== */
.sp-form { max-width: 720px; }
.sp-form--row { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.sp-form--field { margin-bottom: 22px; display: flex; flex-direction: column; }
.sp-form--field__full { width: 100%; }
.sp-form--label { font-family: 'Mulish', sans-serif; font-size: 12.5px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: #141414; margin-bottom: 9px; }
.sp-form--req { color: #a93232; }
.sp-form--input { font-family: 'Mulish', sans-serif; font-size: 15px; color: #141414; background: transparent; border: 1px solid rgba(20, 20, 20, .18); border-radius: 0; padding: 13px 16px; width: 100%; transition: border-color .25s ease, box-shadow .25s ease; }
.sp-form--input::placeholder { color: #a9a294; opacity: 1; }
.sp-form--input:focus { outline: none; border-color: #a93232; box-shadow: 0 1px 0 rgba(169, 50, 50, .25); }
.sp-form--input.error { border-color: #a93232; }
.sp-form--foot { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; padding-top: 6px; }
.sp-form--robot { display: flex; align-items: center; gap: 10px; }
.sp-form--robot div { font-family: 'Mulish', sans-serif; font-size: 14px; color: #6b665e; }
.sp-form--submit { cursor: pointer; min-width: 200px; text-align: center; }
.sp-form--err { font-family: 'Mulish', sans-serif; font-size: 13px; color: #a93232; }
.sp-contact--success { text-align: center; max-width: 560px; margin: 0 auto; padding: 40px 0 30px; }
.sp-contact--success h3 { font-family: CormorantGaramond, Georgia, 'Times New Roman', serif; font-weight: 500; font-size: clamp(30px, 3.6vw, 44px); line-height: 1.1; color: #141414; margin: 0 0 18px; }
.sp-contact--success p { font-family: 'Mulish', sans-serif; font-size: 15.5px; line-height: 1.95; color: #6b665e; margin: 0 0 14px; }
.sp-contact--success-sign { font-family: CormorantGaramond, Georgia, 'Times New Roman', serif; font-style: italic; font-size: 20px; color: #a93232; }
@media (max-width: 768px) {
    .adrs-wrap { grid-template-columns: 1fr; gap: 44px; }
    .sp-form--row { grid-template-columns: 1fr; gap: 0; }
    .sp-form--foot { flex-direction: column; align-items: stretch; }
    .sp-form--submit { width: 100%; }
}

/* ===== FAQ accordion (collapsible) ===== */
.sp-faq--list { display: grid; gap: 16px; border-top: none; }
.sp-faq--item { display: block; border: 1px solid rgba(20, 20, 20, .1); border-radius: 16px; background: #fff; overflow: hidden; transition: border-color .35s ease, box-shadow .35s ease; padding: 0; }
.sp-faq--item:hover { border-color: rgba(169, 50, 50, .38); box-shadow: 0 18px 40px -26px rgba(20, 20, 20, .28); }
.sp-faq--q-wrap { margin: 0; }
.sp-faq--trigger { width: 100%; display: grid; grid-template-columns: 46px 1fr 26px; gap: 16px; align-items: center; padding: 24px 28px; background: none; border: 0; cursor: pointer; text-align: left; font: inherit; color: inherit; }
.sp-faq--trigger:focus-visible { outline: 2px solid #a93232; outline-offset: -2px; border-radius: 16px; }
.sp-faq--num { font-family: CormorantGaramond, Georgia, 'Times New Roman', serif; font-size: 14px; letter-spacing: .14em; color: #a93232; padding-top: 0; }
.sp-faq--q { font-family: CormorantGaramond, Georgia, 'Times New Roman', serif; font-weight: 600; font-size: clamp(19px, 2vw, 23px); line-height: 1.3; letter-spacing: -.005em; color: #141414; margin: 0; transition: color .3s ease; }
.sp-faq--trigger:hover .sp-faq--q { color: #a93232; }
.sp-faq--icon { position: relative; width: 20px; height: 20px; justify-self: end; }
.sp-faq--icon::before, .sp-faq--icon::after { content: ""; position: absolute; top: 50%; left: 50%; background: #a93232; border-radius: 2px; transition: transform .4s cubic-bezier(.4, 0, .2, 1); }
.sp-faq--icon::before { width: 18px; height: 2px; transform: translate(-50%, -50%); }
.sp-faq--icon::after { width: 2px; height: 18px; transform: translate(-50%, -50%); }
.sp-faq--item.is-open .sp-faq--icon::after { transform: translate(-50%, -50%) rotate(90deg); }
.sp-faq--item.is-open .sp-faq--icon::before { transform: translate(-50%, -50%) rotate(180deg); }
.sp-faq--a { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .5s cubic-bezier(.4, 0, .2, 1); }
.sp-faq--a > .sp-faq--a-in { overflow: hidden; min-height: 0; }
.sp-faq--item.is-open .sp-faq--a { grid-template-rows: 1fr; }
.sp-faq--a-in { padding: 0 28px 28px 90px; opacity: 0; transform: translateY(-8px); transition: opacity .45s ease, transform .45s ease; }
.sp-faq--item.is-open .sp-faq--a-in { opacity: 1; transform: translateY(0); }
.sp-faq--a-in, .sp-faq--a p { font-family: 'Mulish', sans-serif; font-size: 15px; line-height: 1.9; color: #6b665e; max-width: 700px; }
@media (max-width: 768px) {
    .sp-faq--list { gap: 12px; }
    .sp-faq--trigger { grid-template-columns: 34px 1fr 20px; gap: 10px; padding: 20px 20px; }
    .sp-faq--a-in { padding: 0 20px 22px 64px; }
    .sp-faq--icon { width: 18px; height: 18px; }
    .sp-faq--icon::before { width: 16px; }
    .sp-faq--icon::after { height: 16px; }
}
@media (prefers-reduced-motion: reduce) {
    .sp-faq--a { transition: none; }
    .sp-faq--a-in { transition: none; transform: none; }
    .sp-faq--icon::before, .sp-faq--icon::after { transition: none; }
}

/* ==========================================================================
   Contact page — location map block (settings-driven, responsive)
   ========================================================================== */
.sp-contact--map {
    width: 100%;
    margin-top: 44px;
    border-radius: 14px;
    overflow: hidden;
    background: #f6f3f0;
    box-shadow: 0 18px 50px rgba(0, 0, 0, .08);
}
.sp-contact--map iframe {
    display: block;
    width: 100%;
    height: 320px;
    border: 0;
}
.sp-contact--directions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 18px 24px;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #fff;
    background: #33319a;
    text-decoration: none;
    transition: background .3s ease;
}
.sp-contact--directions:hover {
    background: #24226e;
    color: #fff;
}
@media (max-width: 768px) {
    .sp-contact--map { margin-top: 28px; }
    .sp-contact--map iframe { height: 260px; }
}

/* ============================================================
   Satya Photography — typography & spacing refinement (v3.0)
   Body copy readability + responsive spacing. These overrides
   sit last so they win the cascade on the clone templates.
   ============================================================ */

/* Body copy — larger, airier reading text */
.intimate-con--in,
.intimate-con--in p,
.about-in--cont,
.about-in--cont p,
.sp-journey--text,
.sp-journey--text p,
.sp-contact--intro,
.sp-contact--intro p,
.sp-faq--a,
.sp-faq--a-in,
.sp-faq--a p,
.dblog-single--cont,
.dblog-single--desc,
.blog-single--data,
.blog-single--data p,
.plan-sec--desc,
.plan-sec--desc p {
    font-size: 15.5px;
    line-height: 1.75;
    letter-spacing: .01em;
}

/* Bride odyssey caption block — was 11px, illegible */
.bride-single--about {
    font-size: 14px;
    line-height: 1.65;
    letter-spacing: .02em;
    color: #6b6b6b;
}

/* Display headings — tighter tracking for the serif voice */
.c-banner--head,
.c-banner--title span,
.banner-cont,
.about-in--cont-head,
.blog-head--main,
.milest-head span,
.tell-head span {
    letter-spacing: -.015em;
}

/* Journal card names + story titles */
.dblog-single-name span,
.blog-firsttitle {
    letter-spacing: .01em;
}

/* Section rhythm — consistent vertical breathing room */
.bride-outer,
.blog-wrap,
.dblog-wrap,
.milest-in,
.insta-outer,
.about-team,
.plan-sec,
.footer-wrap {
    padding-top: 64px;
    padding-bottom: 64px;
}

/* Mobile: shrink the huge 85px side gutters */
@media (max-width: 767px) {
    .blog-wrap,
    .dblog-wrap,
    .milest-in {
        padding-left: 24px;
        padding-right: 24px;
        padding-top: 40px;
        padding-bottom: 40px;
    }
    .about-in,
    .about-team,
    .intimate-con--in {
        padding-left: 20px;
        padding-right: 20px;
    }
    .intimate-con--in p,
    .about-in--cont p,
    .sp-journey--text,
    .sp-contact--intro p,
    .sp-faq--a p {
        font-size: 15px;
        line-height: 1.7;
    }
    .bride-single--about-head,
    .about-in--cont-head,
    .blog-head--main {
        font-size: 38px;
        line-height: 1.15;
    }
}

/* Tablet: comfortable gutters */
@media (min-width: 768px) and (max-width: 1024px) {
    .blog-wrap,
    .dblog-wrap,
    .milest-in {
        padding-left: 40px;
        padding-right: 40px;
    }
}

/* Clip off-canvas fixed decorations (back-to-top) so they never
   expand the document's scrollable width on any viewport. */
html {
    overflow-x: clip;
}


/* Satya — meet the team: mobile founder card (keeps reference proportions) */
@media (max-width: 768px) {
    .about-team--single__solo .about-team--single-img {
        width: 210px;
        height: 287px;
    }
    .about-team--single__solo .about-team--single-data span {
        left: -35px;
        top: 2px;
        font-size: 18px;
    }
}

/* Fix footer nav wrapping */
.footer-link{flex-wrap:nowrap;white-space:nowrap}

/* Move call icon to left side — avoid overlap with Wedding Advisor */
.adminactions{right:auto;left:18px}
