:root {
    --navy:#142238;
    --gold:#D4AD62;
    --ivory:#F8F5EF;
    --pearl:#E9EDF1;
    --ink:#233043
}* {
    box-sizing:border-box
}html {
    scroll-behavior:smooth
}body {
    margin:0;
    color:var(--ink);
    font-family:Arial,Helvetica,sans-serif;
    line-height:1.6
}h1,
h2,
h3 {
    font-family:Georgia,'Times New Roman',serif;
    line-height:1.17;
    font-weight:500
}h1 {
    font-size:clamp(2.1rem,4.8vw,4.2rem);
    margin:12px 0
}h2 {
    font-size:clamp(1.8rem,3.2vw,2.7rem);
    margin:8px 0 18px
}p {
    max-width:780px
}a {
    color:inherit
}.top {
    background:var(--navy);
    color:white;
    padding:13px max(22px,calc((100vw - 1160px)/2));
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px
}.top img {
    width:155px;
    max-height:70px;
    object-fit:contain
}.top a {
    text-decoration:none;
    font-size:.88rem;
    color:#eee
}.header-links {
    display:flex;
    align-items:center;
    gap:18px;
    flex-wrap:wrap
}.header-links a:first-child {
    color:var(--gold);
    font-weight:bold
}.tag {
    font-size:.74rem;
    text-transform:uppercase;
    letter-spacing:.18em;
    color:#a47d39;
    font-weight:bold
}.on-dark {
    color:var(--gold)
}.shell {
    max-width:1160px;
    margin:auto;
    padding:65px 24px
}.selector {
    background:#fff;
    border-bottom:1px solid #dfe1e3;
    padding:18px 24px;
    text-align:center
}.selector strong {
    display:block;
    font-size:.8rem;
    margin-bottom:12px;
    letter-spacing:.1em
}.pills {
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:8px
}.pill {
    border:1px solid #c4c7cb;
    background:#fff;
    border-radius:25px;
    padding:9px 15px;
    cursor:pointer;
    color:var(--ink)
}.pill.active {
    background:var(--navy);
    color:white;
    border-color:var(--navy)
}.hero {
    background:var(--navy);
    color:white
}.hero .visual {
    max-width:1440px;
    margin:auto
}.hero picture img {
    display:block;
    width:100%;
    height:auto
}.hero-copy {
    max-width:1160px;
    margin:auto;
    padding:45px 24px 65px
}.hero-copy p {
    color:#eee;
    font-size:1.12rem
}.btn {
    display:inline-block;
    background:var(--gold);
    color:var(--navy);
    padding:13px 23px;
    border-radius:5px;
    text-decoration:none;
    font-weight:bold;
    margin:12px 12px 0 0;
    border:0;
    cursor:pointer
}.btn-outline {
    background:transparent;
    color:white;
    border:1px solid var(--gold)
}.ivory {
    background:var(--ivory)
}.pearl {
    background:var(--pearl)
}.dark {
    background:var(--navy);
    color:white
}.cols {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:45px;
    align-items:center
}.placeholder {
    border:1px dashed #9aa4b1;
    background:#f4f5f6;
    min-height:260px;
    border-radius:9px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:25px;
    color:#596579
}.placeholder strong {
    font-family:Georgia,serif;
    font-size:1.35rem;
    color:var(--navy)
}.video {
    aspect-ratio:16/9;
    min-height:0;
    background:#0c1626;
    color:white;
    border-color:#ab9162
}.video strong {
    color:var(--gold)
}.play {
    font-size:3.2rem;
    line-height:1
}.cards {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:15px
}.tile {
    background:white;
    border:1px solid #e4e5e7;
    border-radius:8px;
    padding:25px 16px;
    min-height:110px;
    text-align:center
}.tiles3 {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px
}.small {
    min-height:185px
}.fine {
    font-size:.87rem;
    color:#6b7480
}.dark .fine {
    color:#cbd0d7
}.foot {
    background:#101c2e;
    color:#eee;
    padding:45px 24px;
    text-align:center
}.foot p {
    margin:8px auto
}.note {
    background:#fff7e8;
    padding:14px 20px;
    text-align:center;
    color:#594a32;
    font-size:.85rem
}.back {
    position:fixed;
    bottom:18px;
    right:18px;
    background:var(--gold);
    color:var(--navy);
    border:0;
    border-radius:100px;
    width:44px;
    height:44px;
    cursor:pointer;
    display:none;
    box-shadow:0 3px 14px #0003
}.back.visible {
    display:block
}
@media(max-width:700px) {.top img {
        width:125px
    }.top a {
        font-size:.75rem
    }.header-links {
        gap:8px;
        justify-content:flex-end
    }.header-links a:last-child {
        display:none
    }.shell {
        padding:44px 20px
    }.hero-copy {
        padding:32px 20px 45px
    }.cols {
        grid-template-columns:1fr;
        gap:25px
    }.cards {
        grid-template-columns:repeat(2,1fr)
    }.tiles3 {
        grid-template-columns:1fr 1fr
    }.placeholder {
        min-height:200px
    }.btn {
        display:block;
        text-align:center;
        margin:10px 0
    }.pills {
        gap:6px
    }.pill {
        font-size:.78rem;
        padding:8px 11px
    }
}.territorial-foot {
    text-align:left
}.footer-inner {
    max-width:1160px;
    margin:auto
}.footer-home {
    display:inline-block;
    color:var(--gold);
    font-weight:bold;
    margin-bottom:28px;
    text-decoration:none
}.territorial-foot h2 {
    color:white;
    margin:12px 0 18px
}.territorial-foot h3 {
    font-family:Arial,Helvetica,sans-serif;
    font-size:1rem;
    color:var(--gold);
    font-weight:600;
    margin:0 0 10px
}.territorial-foot p {
    margin:12px 0;
    max-width:860px
}.territorial-columns {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:38px;
    border-top:1px solid #546071;
    padding:28px 0 8px;
    margin-top:28px
}.territorial-columns p {
    font-size:.94rem;
    line-height:1.95
}.footer-caveat {
    font-size:.79rem;
    color:#b7c1cd
}.footer-divider {
    height:1px;
    background:#546071;
    margin:24px 0
}.footer-genres {
    display:flex;
    flex-wrap:wrap;
    gap:12px 22px
}.footer-genres button {
    color:white;
    background:none;
    border:0;
    padding:0;
    text-decoration:underline;
    text-underline-offset:4px;
    cursor:pointer;
    font-size:.93rem
}.territorial-foot a {
    color:#eee
}.territorial-foot .footer-home {
    color:var(--gold)
}
@media(max-width:700px) {.territorial-columns {
        grid-template-columns:1fr;
        gap:20px
    }.territorial-foot {
        padding:40px 20px
    }.footer-genres {
        gap:10px 15px
    }
}.gallery-photo {
    margin:0;
    overflow:hidden;
    border-radius:9px;
    background:#fff;
    box-shadow:0 2px 12px #14223814
}.gallery-photo img {
    display:block;
    width:100%;
    height:auto;
    aspect-ratio:2/1;
    object-fit:cover
}
@media(max-width:700px) {.gallery-real {
        grid-template-columns:1fr;
        gap:15px
    }
}.specialty-transition {
    position:relative;
    isolation:isolate;
    background:linear-gradient(180deg,#dfc5a6 0%,#f0e4d4 16%,#f8f5ef 52%,#fff 100%);
    overflow:hidden
}.specialty-transition::before {
    content:"";
    position:absolute;
    inset:0 0 auto;
    height:48%;
    pointer-events:none;
    z-index:-1;
    background:radial-gradient(ellipse at 76% 10%,rgba(194,105,39,.18),transparent 60%),radial-gradient(ellipse at 15% 0%,rgba(111,67,40,.11),transparent 56%)
}.specialty-transition .shell {
    position:relative;
    padding-top:76px;
    padding-bottom:94px
}.specialty-photo {
    margin:0;
    width:100%;
    min-width:0;
    border:0;
    background:none;
    overflow:visible
}.specialty-photo img {
    display:block;
    width:100%;
    height:auto;
    aspect-ratio:1/1;
    object-fit:contain;
    border-radius:3px;
    box-shadow:0 22px 42px rgba(56,35,25,.12)
}
@media(max-width:700px) {.specialty-transition {
        background:linear-gradient(180deg,#dfc5a6 0%,#f2e8da 12%,#f8f5ef 47%,#fff 100%)
    }.specialty-transition .shell {
        padding-top:54px;
        padding-bottom:72px
    }.specialty-transition .cols {
        gap:30px
    }.specialty-photo img {
        width:100%;
        max-width:none
    }
}.placeholder.video {
    width:95%;
    max-width:100%;
    margin-inline:auto;
    min-width:0;
    min-height:0;
    aspect-ratio:16/9;
    height:auto;
}
@media(max-width:700px) {.placeholder.video {
        width:95%;
    }
}.mobile-navigation {
    display:none
}
@media(max-width:700px) {.top {
        position:relative;
        gap:12px;
        padding:12px 20px;
        min-height:75px
    }.top img {
        width:145px;
        max-width:56vw;
        max-height:60px
    }.header-links {
        display:none
    }.mobile-navigation {
        display:block;
        margin-left:auto
    }.mobile-navigation summary {
        list-style:none;
        display:flex;
        align-items:center;
        gap:9px;
        border:1px solid var(--gold);
        border-radius:7px;
        padding:8px 12px;
        color:var(--gold);
        font-size:.95rem;
        font-weight:600;
        cursor:pointer;
        min-height:44px
    }.mobile-navigation summary::-webkit-details-marker {
        display:none
    }.menu-lines {
        font-size:1.3rem;
        line-height:1
    }.mobile-navigation[open] summary {
        background:#20344c
    }.mobile-navigation-links {
        position:absolute;
        top:100%;
        left:0;
        right:0;
        z-index:30;
        background:#142238;
        border-top:1px solid #526070;
        box-shadow:0 12px 18px #0004;
        padding:8px 20px 18px;
        display:flex;
        flex-direction:column
    }.mobile-navigation-links a {
        display:block;
        color:#f8f5ef;
        font-size:1rem;
        padding:10px 6px;
        border-bottom:1px solid #ffffff24;
        text-decoration:none
    }.mobile-navigation-links a[aria-current="page"] {
        color:var(--gold);
        font-weight:700
    }.mobile-navigation-links a:last-child {
        color:var(--gold);
        border-bottom:0
    }.selector {
        display:none
    }.note {
        font-size:.72rem;
        line-height:1.35;
        padding:7px 12px
    }
}.occasion-bodas {
    padding:0;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    justify-content:flex-start
}.occasion-bodas img {
    display:block;
    width:100%;
    height:auto;
    aspect-ratio:1/1;
    object-fit:cover
}.occasion-bodas span {
    display:block;
    padding:12px 8px;
    font-weight:600
}
@media(max-width:700px) {.video-description-first {
        order:-1
    }
}.footer-social-icons {
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:14px;
    margin:18px 0
}.footer-social-icons a {
    width:42px;
    height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid #D4AD62;
    border-radius:50%;
    color:#D4AD62
}.footer-social-icons svg {
    width:22px;
    height:22px;
    display:block
}.footer-social-icons a:hover,
.footer-social-icons a:focus-visible {
    background:#D4AD62;
    color:#142238
}.back.visible {
    bottom:88px;
    z-index:9
}
@media(max-width:700px) {.back.visible {
        right:22px;
        bottom:84px
    }
}.back.visible {
    left:18px;
    right:auto;
    bottom:18px;
    z-index:9
}
@media(max-width:700px) {.back.visible {
        left:16px;
        right:auto;
        bottom:16px
    }
}.placeholder.video {
    box-sizing:border-box;
    width:95%;
    max-width:100%;
    margin-inline:auto;
    min-width:0;
    min-height:0;
    height:auto;
    aspect-ratio:16/9;
}.placeholder.video:has(.facebook-video-launch) {
    padding:0;
    overflow:hidden;
}.placeholder.video .facebook-video-launch {
    display:block;
    width:100%;
    height:100%;
    min-height:0;
    overflow:hidden;
}.placeholder.video .facebook-video-launch img {
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}.tfc-specialty-slot {
    width:100%;
    aspect-ratio:1/1;
    min-height:0
}.tfc-specialty-slot img {
    display:block;
    width:100%;
    height:100%;
    object-fit:contain
}.tfc-occasion-slot {
    aspect-ratio:1/1;
    min-height:0
}.tfc-gallery-slot {
    aspect-ratio:2/1;
    min-height:0
}
@media(max-width:700px) {.tfc-specialty-slot,
.tfc-occasion-slot,
.tfc-gallery-slot {
        max-width:100%
    }
}.shell {
    padding-top:56px;
    padding-bottom:56px
}.shell > h2 {
    margin-top:6px;
    margin-bottom:18px
}.shell > .eyebrow + h2 {
    margin-top:7px
}.shell > h2 + p {
    margin-top:0;
    margin-bottom:22px
}.shell > .cols,
.shell > .cards,
.shell > .tiles3,
.shell > .gallery-real {
    margin-top:22px
}
@media(max-width:700px) {.shell {
        padding-top:38px;
        padding-bottom:38px
    }.shell > h2 {
        margin-bottom:15px
    }.shell > h2 + p {
        margin-bottom:18px
    }.shell > .cols,
.shell > .cards,
.shell > .tiles3,
.shell > .gallery-real {
        margin-top:17px
    }
}
