/* Site Builder: sections added with the builder (DM Sans, black/white, your accent color). */
.ub{--ub-ink:#222;--ub-grey:#767676;--ub-soft:#f4f4f4;--ub-line:#e3e3e3;position:relative;font-family:var(--ub-font);color:var(--ub-ink);background:#fff;background-size:cover;background-position:center;overflow:hidden}
.ub *,.ub *::before,.ub *::after{box-sizing:border-box}
.ub-in{position:relative;z-index:1;max-width:1200px;margin:0 auto;padding:0 clamp(16px,4vw,48px)}
.ub-pad-none{padding:0}.ub-pad-s{padding:32px 0}.ub-pad-m{padding:clamp(48px,7vw,80px) 0}.ub-pad-l{padding:clamp(72px,10vw,120px) 0}
.ub-bg-light{background-color:var(--ub-soft)}
.ub-bg-dark{background-color:#000;color:#fff}
.ub-bg-red{background-color:var(--ub-accent);color:#fff}
.ub-bg-image{color:#fff}
.ub-bg-custom{}
.ub-shade{position:absolute;inset:0;background:#000;z-index:0;pointer-events:none}
@media (max-width:767px){.ub-hide-m{display:none!important}}
@media (min-width:768px){.ub-hide-d{display:none!important}}

/* type */
.ub h1,.ub h2,.ub h3,.ub h4,.ub p{font-family:var(--ub-font);margin-top:0}
.ub-h1{font-size:clamp(2.2rem,5vw,3.6rem);font-weight:500;line-height:1.15;margin:0 0 1rem;color:inherit}
.ub-h2{font-size:clamp(1.7rem,3.4vw,2.4rem);font-weight:500;line-height:1.25;margin:0 0 1rem;color:inherit}
.ub-lead{font-size:1.15rem;line-height:1.7;margin:0 auto 1.6rem;max-width:62ch;opacity:.92}
.ub-sub{font-size:1.05rem;line-height:1.7;margin:0 auto;max-width:62ch;color:inherit;opacity:.85}
.ub-center{text-align:center}
.ub-eyebrow{position:relative;width:fit-content;max-width:calc(100% - 120px);margin:0 auto 1.4rem;font:500 1rem/1.4 var(--ub-font);letter-spacing:6px;text-transform:uppercase;text-align:center;color:inherit}
.ub-eyebrow::before,.ub-eyebrow::after{content:"";position:absolute;top:0;bottom:0;margin:auto;width:40px;height:1px;background:currentColor}
.ub-eyebrow::before{left:-60px}.ub-eyebrow::after{right:-60px}
.ub-eyebrow.ub-left{margin-left:60px}
.ub-dark{color:var(--ub-ink)}
.ub-bg-dark .ub-dark,.ub-bg-red .ub-dark,.ub-bg-image .ub-dark{color:#fff}
.ub-rich{font-size:1.05rem;line-height:1.8}
.ub-rich>*{margin:0 0 1.1rem}
.ub-rich a{color:var(--ub-accent)}
.ub-bg-red .ub-rich a,.ub-bg-dark .ub-rich a{color:inherit}
.ub-rich h2{font-size:1.6rem;font-weight:500;line-height:1.3;margin-top:2rem}
.ub-rich h3{font-size:1.25rem;font-weight:700;margin-top:1.6rem}
.ub-rich blockquote{margin:1.6rem 0;padding:.3rem 0 .3rem 1.2rem;border-left:3px solid var(--ub-accent);font-style:italic;font-size:1.15rem}
.ub-cols-2{column-count:2;column-gap:48px}
@media (max-width:767px){.ub-cols-2{column-count:1}}
.ub-align-center{text-align:center}.ub-align-left{text-align:left}
.ub-w-narrow{max-width:760px;margin-inline:auto}.ub-w-wide{max-width:1100px;margin-inline:auto}

/* buttons */
.ub-btns{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:1.6rem}
.ub-btns.ub-left,.ub-align-left .ub-btns{justify-content:flex-start}
.ub-btns:empty{display:none}
.ub-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:6px;padding:.8rem 1.8rem;font:500 .95rem/1.2 var(--ub-font);text-decoration:none!important;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.ub-btn-big{padding:1rem 2.6rem;font-size:1rem}
.ub-btn-sm{padding:.6rem 1.2rem;font-size:.88rem}
.ub-btn-solid{background:var(--ub-accent);color:#fff!important}
.ub-btn-solid:hover{filter:brightness(.8)}
.ub-btn-dark{background:#222;color:#fff!important}
.ub-btn-dark:hover{background:var(--ub-accent)}
.ub-btn-outline{border-color:currentColor;color:inherit!important;background:transparent}
.ub-btn-outline:hover{background:#fff;color:#333!important;border-color:#fff}
.ub:not(.ub-bg-dark):not(.ub-bg-red):not(.ub-bg-image):not(.ub-hero) .ub-btn-outline:hover{background:#222;color:#fff!important;border-color:#222}

/* hero */
.ub-hero{display:flex;align-items:center;background:#111;color:#fff}
.ub-hero>.ub-in{width:100%;position:static}
.ub-hero-photo{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0}
.ub-hero .ub-shade{z-index:0}
.ub-hero-in{position:relative;padding:clamp(100px,14vw,170px) 0;max-width:900px;margin:0 auto}
.ub-hero-in.ub-align-left{margin-left:0}
.ub-h-full{min-height:100vh}.ub-h-large{min-height:72vh}.ub-h-medium{min-height:52vh}.ub-h-small .ub-hero-in{padding:80px 0}
.ub-hero .ub-eyebrow{color:#fff}
.ub-align-left .ub-eyebrow{margin-left:60px}

/* heading */
.ub-head .ub-eyebrow:last-child{margin-bottom:0}
.ub-head.ub-align-left .ub-sub{margin-left:0}

/* photo + text */
.ub-it{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,64px);align-items:center}
.ub-it-right .ub-it-img{order:2}
.ub-it-img img{width:100%;height:auto;display:block;border-radius:2px}
@media (max-width:860px){.ub-it{grid-template-columns:1fr}.ub-it-right .ub-it-img{order:0}}

/* gallery */
.ub-gallery-grid{display:grid;grid-template-columns:repeat(var(--cols,4),minmax(0,1fr));gap:var(--gap,6px)}
.ub-g-item{margin:0;position:relative;overflow:hidden;background:#111}
.ub-g-item>a,.ub-g-item>img{display:block;height:100%}
.ub-shape-natural .ub-g-item>a{height:auto}
.ub-g-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease,opacity .3s}
.ub-g-item a:hover img{transform:scale(1.03)}
.ub-shape-portrait .ub-g-item{aspect-ratio:2/3}.ub-shape-square .ub-g-item{aspect-ratio:1}.ub-shape-landscape .ub-g-item{aspect-ratio:3/2}
.ub-shape-natural{display:block;column-count:var(--cols,4);column-gap:var(--gap,6px)}
.ub-shape-natural .ub-g-item{break-inside:avoid;margin-bottom:var(--gap,6px);background:none}
.ub-shape-natural .ub-g-item img{height:auto}
.ub-g-item figcaption{position:absolute;left:0;right:0;bottom:0;padding:24px 12px 10px;background:linear-gradient(transparent,rgba(0,0,0,.7));color:#fff;font-size:.85rem}
@media (max-width:860px){.ub-gallery-grid{grid-template-columns:repeat(min(var(--cols,4),3),minmax(0,1fr))}.ub-shape-natural{column-count:min(var(--cols,4),3)}}
@media (max-width:560px){.ub-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ub-shape-natural{column-count:2}}
.ub-lb{position:fixed;inset:0;z-index:100000;background:rgba(0,0,0,.95);display:flex;align-items:center;justify-content:center;font-family:var(--ub-font)}
.ub-lb[hidden]{display:none}
.ub-lb img{max-width:calc(100vw - 32px);max-height:calc(100vh - 100px);object-fit:contain}
.ub-lb button{position:absolute;border:0;background:rgba(255,255,255,.12);color:#fff;cursor:pointer;border-radius:50%;display:grid;place-items:center}
.ub-lb button:hover{background:var(--ub-accent)}
.ub-lb .x{top:14px;right:14px;width:44px;height:44px;font-size:20px}
.ub-lb .pv,.ub-lb .nx{top:50%;margin-top:-26px;width:52px;height:52px;font-size:30px}
.ub-lb .pv{left:14px}.ub-lb .nx{right:14px}
.ub-lb p{position:absolute;bottom:14px;left:0;right:0;margin:0;text-align:center;color:#ccc;font-size:.9rem}
@media (max-width:600px){.ub-lb .pv,.ub-lb .nx{display:none}}

/* cards */
.ub-cards-grid{display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));gap:24px}
.ub-card{display:flex;flex-direction:column;text-align:center}
.ub-card-img{display:block;overflow:hidden;border-radius:2px;background:#111}
.ub-card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.ub-card-img:hover img{transform:scale(1.03)}
.ub-shape-wide .ub-card-img{aspect-ratio:16/9}.ub-shape-landscape .ub-card-img{aspect-ratio:3/2}.ub-shape-portrait .ub-card-img{aspect-ratio:2/3}.ub-shape-square .ub-card-img{aspect-ratio:1}
.ub-card-body{padding:18px 6px 0;display:flex;flex-direction:column;align-items:center;gap:8px;flex:1}
.ub-card h4{margin:0;font-size:1.3rem;font-weight:700}
.ub-card p{margin:0;font-size:.98rem;line-height:1.6;opacity:.85}
.ub-card .ub-btn{margin-top:auto}
@media (max-width:860px){.ub-cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.ub-cards-grid{grid-template-columns:1fr}}

/* call to action */
.ub-cta{text-align:center}
.ub-cta .ub-h2{font-size:clamp(1.8rem,4vw,2.8rem)}

/* video */
.ub-video{text-align:center}
.ub-video-frame{position:relative;aspect-ratio:16/9;background:#000;border-radius:2px;overflow:hidden;margin:0 auto 1rem}
.ub-video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* Instagram */
.ub-ig-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(var(--cols,6),minmax(0,1fr));gap:6px}
.ub-ig-grid li{margin:0}
.ub-ig-grid a,.ub-ig-ph{position:relative;display:block;aspect-ratio:1;overflow:hidden;background:#eee;border-radius:2px}
.ub-ig-grid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.ub-ig-grid a:hover img{transform:scale(1.04)}
.ub-ig .ub-h2{text-align:center;margin-bottom:2rem}
@media (max-width:767px){.ub-ig-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}}

/* spacer */
.ub-spacer-in{display:flex;align-items:center}
.ub-spacer-in hr{width:100%;border:0;border-top:1px solid var(--ub-line);margin:0}
.ub-bg-dark .ub-spacer-in hr{border-color:#333}

.ub-kw{max-width:1140px;margin:0 auto}
.ub-empty{text-align:center;color:var(--ub-grey);padding:30px;border:2px dashed var(--ub-line);border-radius:4px;margin:0}
@media (max-width:600px){.ub-eyebrow{letter-spacing:3px;max-width:calc(100% - 84px)}.ub-eyebrow::before,.ub-eyebrow::after{width:26px}.ub-eyebrow::before{left:-40px}.ub-eyebrow::after{right:-40px}.ub-eyebrow.ub-left{margin-left:40px}}
@media (prefers-reduced-motion:reduce){.ub img{transition:none!important}}
