.ufco-home,.ufco-home *{box-sizing:border-box}
.ufco-home{
  --ink:#182235;
  --muted:#727c8d;
  --line:#e5e8ee;
  --soft:#f7f8fb;
  --purple:#7148dc;
  --purple-soft:#f3efff;
  width:100%;
  color:var(--ink);
  background:#fff;
  font-family:inherit;
  overflow:clip
}
.ufco-home-header{
  position:sticky;
  top:0;
  z-index:1000;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:24px;
  width:100%;
  min-height:72px;
  padding:12px clamp(18px,4vw,52px);
  border-bottom:1px solid rgba(28,38,56,.08);
  background:rgba(255,255,255,.90);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px)
}
.ufco-home-brand{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  color:var(--ink)!important;
  text-decoration:none!important
}
.ufco-home-brand-mark{
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border:1px solid #ddd5fa;
  border-radius:11px;
  background:var(--purple-soft);
  color:var(--purple);
  font-size:19px
}
.ufco-home-brand small,.ufco-home-brand strong{display:block}
.ufco-home-brand small{
  margin-bottom:2px;
  color:#8a92a1;
  font-size:8px;
  font-weight:850;
  letter-spacing:.12em;
  text-transform:uppercase
}
.ufco-home-brand strong{
  font-size:12px;
  font-weight:850;
  line-height:1.2
}
.ufco-home-nav{
  display:flex;
  justify-content:center;
  gap:clamp(14px,2.5vw,34px)
}
.ufco-home-nav a{
  position:relative;
  color:#566174!important;
  font-size:11px;
  font-weight:700;
  text-decoration:none!important
}
.ufco-home-nav a::after{
  content:"";
  position:absolute;
  left:50%;
  right:50%;
  bottom:-8px;
  height:1px;
  background:var(--purple);
  transition:left .18s ease,right .18s ease
}
.ufco-home-nav a:hover::after{left:0;right:0}
.ufco-home-header-cta,.ufco-home-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  text-decoration:none!important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease
}
.ufco-home-header-cta{
  min-height:38px;
  padding:8px 13px;
  border-radius:999px;
  background:#1d2638;
  color:#fff!important;
  font-size:10px;
  font-weight:800
}
.ufco-home-header-cta:hover,.ufco-home-button:hover{transform:translateY(-2px)}
.ufco-home-menu-toggle{display:none}

.ufco-home-hero{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);
  gap:clamp(34px,6vw,86px);
  align-items:center;
  min-height:min(760px,calc(100vh - 72px));
  padding:clamp(70px,9vw,130px) clamp(22px,6vw,80px);
  background:
    radial-gradient(circle at 77% 32%,rgba(115,72,220,.09),transparent 30rem),
    linear-gradient(180deg,#fff,#fbfbfd)
}
.ufco-home-hero-copy{position:relative;z-index:2;max-width:690px}
.ufco-home-eyebrow,.ufco-home-section-kicker{
  display:block;
  margin-bottom:14px;
  color:var(--purple);
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase
}
.ufco-home-hero h1{
  max-width:760px;
  margin:0;
  color:#172136;
  font-size:clamp(46px,7vw,92px);
  font-weight:850;
  line-height:.98;
  letter-spacing:-.06em
}
.ufco-home-hero-copy>p{
  max-width:610px;
  margin:24px 0 0;
  color:#697487;
  font-size:clamp(15px,1.6vw,19px);
  line-height:1.7
}
.ufco-home-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.ufco-home-button{
  min-height:46px;
  padding:11px 17px;
  border:1px solid transparent;
  border-radius:999px;
  font-size:11px;
  font-weight:850
}
.ufco-home-button.is-primary{
  background:#1d2638;
  color:#fff!important;
  box-shadow:0 10px 25px rgba(28,38,56,.12)
}
.ufco-home-button.is-secondary{
  border-color:#dce1e9;
  background:#fff;
  color:#344056!important
}
.ufco-home-build{margin-top:20px;color:#9aa1ad;font-size:9px}

.ufco-home-hero-art{
  position:relative;
  z-index:1;
  min-height:500px
}
.ufco-home-art-stack{position:relative;width:100%;height:100%;min-height:500px}
.ufco-home-art-tile{
  position:absolute;
  display:block;
  overflow:hidden;
  border:7px solid #fff;
  border-radius:22px;
  box-shadow:0 24px 60px rgba(27,37,56,.16);
  background:#edf0f4;
  transform:translate3d(0,0,0);
  transition:transform .35s cubic-bezier(.2,.75,.25,1),box-shadow .35s ease
}
.ufco-home-art-tile:hover{z-index:8;transform:translateY(-7px) rotate(0deg)!important;box-shadow:0 30px 70px rgba(27,37,56,.22)}
.ufco-home-art-tile img{display:block;width:100%;height:100%;object-fit:cover}
.ufco-home-art-tile.tile-1{z-index:5;right:9%;top:7%;width:57%;height:72%;transform:rotate(2deg)}
.ufco-home-art-tile.tile-2{z-index:4;left:2%;top:19%;width:43%;height:52%;transform:rotate(-6deg)}
.ufco-home-art-tile.tile-3{z-index:6;right:0;bottom:0;width:38%;height:38%;transform:rotate(7deg)}
.ufco-home-art-tile.tile-4{z-index:3;left:13%;bottom:0;width:31%;height:32%;transform:rotate(-2deg)}
.ufco-home-art-tile.tile-5{z-index:2;right:22%;top:0;width:27%;height:30%;transform:rotate(-3deg)}
.ufco-home-art-empty{
  display:grid;
  min-height:500px;
  place-items:center;
  padding:30px;
  border:1px dashed #d9dfe8;
  border-radius:24px;
  background:#fafbfc;
  color:#8d96a4;
  text-align:center
}
.ufco-home-art-empty span{font-size:34px;color:#8b6ee2}

.ufco-home-stats{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  width:min(1180px,calc(100% - 40px));
  margin:-36px auto 0;
  position:relative;
  z-index:10;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:18px;
  background:rgba(255,255,255,.94);
  box-shadow:0 15px 44px rgba(30,42,64,.08);
  backdrop-filter:blur(14px)
}
.ufco-home-stat{
  position:relative;
  min-height:118px;
  padding:24px;
  border-right:1px solid var(--line)
}
.ufco-home-stat:last-child{border-right:0}
.ufco-home-stat-icon{
  position:absolute;
  right:18px;
  top:17px;
  color:#b1a0ec;
  font-size:13px
}
.ufco-home-stat strong{
  display:block;
  color:#1a2539;
  font-size:clamp(27px,3vw,38px);
  font-weight:850;
  line-height:1;
  letter-spacing:-.04em;
  font-variant-numeric:tabular-nums
}
.ufco-home-stat small{
  display:block;
  margin-top:8px;
  color:#788294;
  font-size:10px;
  font-weight:650
}
.ufco-stat-pulse{animation:ufcoStatPulse .42s ease}
@keyframes ufcoStatPulse{0%{transform:translateY(3px);opacity:.45}100%{transform:none;opacity:1}}

.ufco-home-shell{width:min(1240px,calc(100% - 42px));margin:0 auto;padding:85px 0 100px}
.ufco-home-placeholder{padding:80px 0;border-bottom:1px solid #edf0f4}
.ufco-home-placeholder h2,.ufco-home-final-cta h2{
  max-width:800px;
  margin:0;
  color:#182235;
  font-size:clamp(32px,4vw,52px);
  line-height:1.05;
  letter-spacing:-.045em
}
.ufco-home-placeholder>p{max-width:640px;margin:15px 0 0;color:#778193;font-size:14px;line-height:1.65}
.ufco-home-shell-slot{
  min-height:90px;
  margin-top:30px;
  border:1px dashed #dfe3ea;
  border-radius:16px;
  background:linear-gradient(135deg,#fbfcfd,#f7f8fb)
}
.ufco-home-how-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:30px}
.ufco-home-how-grid article{padding:22px;border:1px solid var(--line);border-radius:15px;background:#fff}
.ufco-home-how-grid article>span{color:#8b6ee2;font-size:9px;font-weight:850}
.ufco-home-how-grid h3{margin:14px 0 6px;font-size:16px}
.ufco-home-how-grid p{margin:0;color:#7a8494;font-size:11px;line-height:1.55}
.ufco-home-final-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  margin-top:80px;
  padding:45px;
  border-radius:24px;
  background:#1b2435
}
.ufco-home-final-cta h2{color:#fff}

@media(max-width:1000px){
  .ufco-home-header{grid-template-columns:auto 1fr auto}
  .ufco-home-nav{display:none}
  .ufco-home-menu-toggle{
    justify-self:end;
    display:grid;
    place-content:center;
    gap:5px;
    width:38px;
    height:38px;
    padding:0;
    border:1px solid #e0e4ea;
    border-radius:50%;
    background:#fff
  }
  .ufco-home-menu-toggle span{display:block;width:15px;height:1px;background:#263146}
  .ufco-home-header-cta{display:none}
  .ufco-home-nav.is-open{
    position:absolute;
    top:calc(100% + 8px);
    left:18px;
    right:18px;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:9px;
    border:1px solid var(--line);
    border-radius:14px;
    background:#fff;
    box-shadow:0 18px 44px rgba(25,36,56,.12)
  }
  .ufco-home-nav.is-open a{padding:12px;border-radius:9px}
  .ufco-home-hero{grid-template-columns:1fr;min-height:auto;padding-top:80px}
  .ufco-home-hero-art{min-height:480px}
  .ufco-home-stats{grid-template-columns:repeat(2,1fr)}
  .ufco-home-stat:nth-child(2){border-right:0}
  .ufco-home-stat:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .ufco-home-how-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
  .ufco-home-header{padding-inline:14px}
  .ufco-home-brand strong{font-size:10.5px}
  .ufco-home-hero{padding:58px 18px 80px}
  .ufco-home-hero h1{font-size:clamp(42px,14vw,64px)}
  .ufco-home-hero-art{min-height:380px}
  .ufco-home-art-stack{min-height:380px}
  .ufco-home-art-tile{border-width:5px;border-radius:16px}
  .ufco-home-stats{width:calc(100% - 24px);margin-top:-30px}
  .ufco-home-stat{min-height:100px;padding:19px}
  .ufco-home-shell{width:calc(100% - 30px);padding-top:55px}
  .ufco-home-placeholder{padding:58px 0}
  .ufco-home-how-grid{grid-template-columns:1fr}
  .ufco-home-final-cta{align-items:flex-start;flex-direction:column;padding:30px}
}
@media(prefers-reduced-motion:reduce){
  .ufco-home-art-tile,.ufco-home-header-cta,.ufco-home-button,.ufco-home-nav a::after{transition:none!important}
  .ufco-stat-pulse{animation:none!important}
}


/* Build 076 — plugin-owned clean homepage template */
body.ufco-clean-homepage{
  margin:0!important;
  padding:0!important;
  background:#fff!important
}

body.ufco-clean-homepage .ufco-clean-homepage-main{
  width:100%;
  max-width:none;
  margin:0;
  padding:0
}

body.ufco-clean-homepage .ufco-home{
  width:100%;
  max-width:none;
  margin:0;
  border:0;
  border-radius:0;
}

/* Hero now begins directly below the real global header. */
body.ufco-clean-homepage .ufco-home-hero{
  min-height:min(760px,calc(100vh - 72px));
}

/* The shortcode no longer renders its own navigation header. */
body.ufco-clean-homepage .ufco-home-header{
  display:none!important
}

/* Build 079 — homepage recognition explainer */
.ufco-home-section-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
}

.ufco-home-info-trigger{
  appearance:none;
  display:inline-flex;
  align-items:center;
  gap:7px;
  flex:0 0 auto;
  min-height:34px;
  padding:7px 11px;
  border:1px solid #dfe4eb;
  border-radius:999px;
  background:#fff;
  color:#5f6879;
  font-size:9.5px;
  font-weight:750;
  cursor:pointer;
  transition:transform .16s ease,border-color .16s ease,background .16s ease;
}

.ufco-home-info-trigger>span{
  display:grid;
  place-items:center;
  width:18px;
  height:18px;
  border-radius:50%;
  background:#f1edff;
  color:#7148dc;
  font-size:10px;
  font-weight:900;
}

.ufco-home-info-trigger:hover{
  transform:translateY(-1px);
  border-color:#cbbdf3;
  background:#faf8ff;
}

body.ufco-home-modal-open{overflow:hidden!important}

.ufco-home-info-modal{
  position:fixed;
  z-index:150000;
  inset:0;
  opacity:0;
  transition:opacity .18s ease;
}

.ufco-home-info-modal.is-open{opacity:1}
.ufco-home-info-modal[hidden]{display:none!important}

.ufco-home-info-backdrop{
  position:absolute;
  inset:0;
  background:rgba(12,18,31,.72);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

.ufco-home-info-dialog{
  position:absolute;
  left:50%;
  top:50%;
  width:min(760px,calc(100% - 30px));
  max-height:calc(100vh - 42px);
  overflow:auto;
  padding:32px;
  border:1px solid rgba(255,255,255,.75);
  border-radius:24px;
  background:#fff;
  box-shadow:0 30px 80px rgba(10,18,34,.28);
  transform:translate(-50%,-48%);
  transition:transform .20s cubic-bezier(.2,.75,.25,1);
}

.ufco-home-info-modal.is-open .ufco-home-info-dialog{
  transform:translate(-50%,-50%);
}

.ufco-home-info-dialog>h2{
  margin:0;
  color:#192338;
  font-size:clamp(28px,4vw,40px);
  line-height:1.08;
  letter-spacing:-.04em;
}

.ufco-home-info-close{
  appearance:none;
  position:absolute;
  right:18px;
  top:18px;
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  padding:0;
  border:1px solid #e1e5eb;
  border-radius:50%;
  background:#fff;
  color:#28344a;
  font-size:23px;
  cursor:pointer;
}

.ufco-home-info-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:24px;
}

.ufco-home-info-grid article{
  padding:18px;
  border:1px solid #e7eaf0;
  border-radius:15px;
  background:#fbfcfd;
}

.ufco-home-info-grid h3{
  margin:11px 0 6px;
  color:#263148;
  font-size:14px;
}

.ufco-home-info-grid p{
  margin:0;
  color:#727c8d;
  font-size:11px;
  line-height:1.55;
}

.ufco-home-info-badge{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:10px;
  font-size:17px;
  font-weight:900;
}

.ufco-home-info-badge.is-featured{background:#f1edff;color:#7148dc}
.ufco-home-info-badge.is-editor{background:#eaf7ff;color:#1687c4}
.ufco-home-info-badge.is-fan{background:#eafbf2;color:#2e9c61}
.ufco-home-info-badge.is-dual{background:#fff0f0;color:#cf3d4c}

@media(max-width:620px){
  .ufco-home-section-heading{
    align-items:flex-start;
    flex-direction:column;
  }

  .ufco-home-info-dialog{
    padding:26px 18px 20px;
    border-radius:18px;
  }

  .ufco-home-info-grid{
    grid-template-columns:1fr;
  }
}

@media(prefers-reduced-motion:reduce){
  .ufco-home-info-modal,
  .ufco-home-info-dialog,
  .ufco-home-info-trigger{
    transition:none!important;
  }
}

/* Build 080 — Featured + Choice galleries connected to gallery engine */
.ufco-home-section-heading>div:first-child{min-width:0}
.ufco-home-section-heading p{
  max-width:680px;
  margin:10px 0 0;
  color:#7a8494;
  font-size:12.5px;
  line-height:1.6
}

.ufco-home-gallery-frame{
  margin-top:28px
}

.ufco-home-gallery-frame .ufco-home-gallery,
.ufco-home-choice-block .ufco-home-gallery{
  margin-bottom:0
}

.ufco-home-gallery-frame .ufco-gallery-grid,
.ufco-home-choice-block .ufco-gallery-grid{
  gap:12px!important
}

.ufco-home-choice-stack{
  display:grid;
  gap:22px;
  margin-top:30px
}

.ufco-home-choice-block{
  position:relative;
  overflow:visible;
  padding:22px;
  border:1px solid #e5e9ef;
  border-radius:20px;
  background:#fff
}

.ufco-home-choice-block::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:4px;
  border-radius:20px 0 0 20px;
  background:#c9d3e2
}

.ufco-home-choice-block.is-editor::before{background:#38bdf8}
.ufco-home-choice-block.is-fan::before{background:#4ade80}
.ufco-home-choice-block.is-dual::before{background:#ef4444}

.ufco-home-choice-heading{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:18px
}

.ufco-home-choice-icon{
  display:grid;
  place-items:center;
  flex:0 0 38px;
  width:38px;
  height:38px;
  border-radius:12px;
  font-size:18px;
  font-weight:900
}

.is-editor .ufco-home-choice-icon{background:#eaf7ff;color:#1687c4}
.is-fan .ufco-home-choice-icon{background:#eafbf2;color:#2e9c61}
.is-dual .ufco-home-choice-icon{background:#fff0f0;color:#cf3d4c}

.ufco-home-choice-heading h3{
  margin:0;
  color:#243048;
  font-size:20px;
  line-height:1.2;
  letter-spacing:-.02em
}

.ufco-home-choice-heading p{
  margin:4px 0 0;
  color:#7a8494;
  font-size:11px;
  line-height:1.45
}

/* Home keeps gallery chrome compact, while expanded mode retains full dark gallery. */
.ufco-home:not(.ufco-gallery-expanded) .ufco-home-gallery:not(.is-expanded){
  padding:0;
  background:transparent;
  box-shadow:none
}

.ufco-home-gallery-frame .ufco-load-more-wrap,
.ufco-home-choice-block .ufco-load-more-wrap{
  margin-top:14px
}

@media(max-width:700px){
  .ufco-home-choice-block{padding:16px;border-radius:16px}
  .ufco-home-choice-heading{align-items:flex-start}
  .ufco-home-choice-heading h3{font-size:17px}
}

@media(prefers-reduced-motion:reduce){
  .ufco-home-choice-block{transition:none!important}
}

/* Build 093 — complete How It Works */
.ufco-home-how{
  position:relative;
  overflow:hidden;
  margin-top:28px;
  padding:34px;
  border:1px solid var(--ufco-home-line);
  border-radius:24px;
  background:
    radial-gradient(circle at 90% 0%,rgba(124,58,237,.09),transparent 34%),
    linear-gradient(180deg,#fff,#fbfaff);
  box-shadow:var(--ufco-home-shadow);
  scroll-margin-top:96px;
}

.ufco-home-how-heading{
  margin-bottom:24px;
}

.ufco-home-how-heading p{
  max-width:720px;
}

.ufco-home-how-steps{
  position:relative;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}

.ufco-home-how-step{
  position:relative;
  min-height:210px;
  padding:20px;
  border:1px solid #e7e9ef;
  border-radius:18px;
  background:rgba(255,255,255,.88);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}

.ufco-home-how-step:hover{
  transform:translateY(-3px);
  border-color:rgba(124,58,237,.24);
  box-shadow:0 16px 32px rgba(28,25,55,.08);
}

.ufco-home-how-step-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:28px;
}

.ufco-home-how-icon{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border:1px solid rgba(124,58,237,.14);
  border-radius:13px;
  background:#f5f0ff;
  color:#7c3aed;
  font-size:17px;
  font-weight:900;
}

.ufco-home-how-number{
  color:#c2c6d0;
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
}

.ufco-home-how-step h3{
  margin:0 0 8px;
  color:#192238;
  font-size:17px;
  line-height:1.2;
}

.ufco-home-how-step p{
  margin:0;
  color:#70798a;
  font-size:11px;
  line-height:1.65;
}

.ufco-home-how-flow{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin:22px auto 0;
  color:#8d94a2;
  font-size:9px;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.ufco-home-how-flow i{
  color:#9b72ee;
  font-style:normal;
}

.ufco-home-how-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-top:24px;
  padding:20px 22px;
  border:1px solid rgba(124,58,237,.14);
  border-radius:18px;
  background:linear-gradient(135deg,#f7f3ff,#f4f8ff);
}

.ufco-home-how-cta>div{
  display:flex;
  flex-direction:column;
  gap:5px;
}

.ufco-home-how-cta strong{
  color:#1a2236;
  font-size:14px;
}

.ufco-home-how-cta span{
  color:#70798a;
  font-size:10.5px;
  line-height:1.5;
}

@media(max-width:980px){
  .ufco-home-how-steps{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:620px){
  .ufco-home-how{
    padding:22px 16px;
    border-radius:20px;
  }

  .ufco-home-how-steps{
    grid-template-columns:1fr;
  }

  .ufco-home-how-step{
    min-height:0;
  }

  .ufco-home-how-flow{
    display:none;
  }

  .ufco-home-how-cta{
    align-items:flex-start;
    flex-direction:column;
  }

  .ufco-home-how-cta .ufco-home-button{
    width:100%;
    justify-content:center;
  }
}
