/* Smart Citizens — modern motion & imagery layer (added 2026-10-06). Remove the enqueue in functions.php to switch off. */
:root{--scf-ease:cubic-bezier(.16,1,.3,1);--scf-shadow:0 30px 60px -28px rgba(84,16,27,.38),0 12px 24px -16px rgba(46,27,30,.18);--scf-shadow-lift:0 40px 80px -30px rgba(84,16,27,.45),0 18px 32px -18px rgba(46,27,30,.22);--scf-r:22px}

/* legacy WP compat header/footer that leak above & below the site */
#page > #header[role="banner"], #page > hr, #footer[role="contentinfo"]{display:none!important}

/* smooth scroll (Lenis) */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:hidden}

/* scroll progress */
#scf-progress{position:fixed;inset:0 0 auto 0;height:3px;z-index:9999;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,var(--henna,#A61E2D),var(--marigold,#F09A32));pointer-events:none}

/* glass header that tightens on scroll */
header.nav{transition:background .4s var(--scf-ease),box-shadow .4s var(--scf-ease),border-color .4s}
header.nav .wrap{transition:height .4s var(--scf-ease)}
header.nav.scf-scrolled{background:rgba(250,240,237,.72)!important;-webkit-backdrop-filter:saturate(1.6) blur(16px);backdrop-filter:saturate(1.6) blur(16px);box-shadow:0 10px 30px -18px rgba(84,16,27,.35);border-color:transparent}
header.nav.scf-scrolled .wrap{height:64px}
nav.links a{position:relative}
nav.links a:not(.btn)::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;border-radius:2px;background:var(--henna,#A61E2D);transform:scaleX(0);transform-origin:right;transition:transform .45s var(--scf-ease)}
nav.links a:not(.btn):hover::after{transform:scaleX(1);transform-origin:left}

/* richer reveal */
.rv{opacity:0;transform:translate3d(0,42px,0) scale(.985);filter:blur(6px);transition:opacity 1s var(--scf-ease),transform 1.1s var(--scf-ease),filter 1s var(--scf-ease)!important;will-change:opacity,transform}
.rv.in{opacity:1;transform:none;filter:none}

/* hero */
.hero{position:relative;isolation:isolate;overflow:hidden}
.scf-blobs{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.scf-blobs i{position:absolute;border-radius:50%;filter:blur(70px);opacity:.55;animation:scf-float 18s ease-in-out infinite alternate}
.scf-blobs i:nth-child(1){width:46vw;height:46vw;left:-12vw;top:-14vw;background:radial-gradient(circle,#F7C9C0 0,transparent 70%)}
.scf-blobs i:nth-child(2){width:38vw;height:38vw;right:-10vw;top:10%;background:radial-gradient(circle,#FAD7A8 0,transparent 70%);animation-duration:22s;animation-delay:-6s}
.scf-blobs i:nth-child(3){width:30vw;height:30vw;left:35%;bottom:-16vw;background:radial-gradient(circle,#E8A7AE 0,transparent 70%);animation-duration:26s;animation-delay:-12s}
@keyframes scf-float{0%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(4vw,3vw,0) scale(1.12)}100%{transform:translate3d(-3vw,-2vw,0) scale(.95)}}
.scf-w{display:inline-block;opacity:0;transform:translate3d(0,.6em,0) rotate(2deg);filter:blur(4px);transition:opacity .9s var(--scf-ease),transform 1s var(--scf-ease),filter .9s var(--scf-ease)}
.scf-words-in .scf-w{opacity:1;transform:none;filter:none}
.hero-chip{animation:scf-bob 5s ease-in-out infinite}
@keyframes scf-bob{0%,100%{translate:0 0}50%{translate:0 -8px}}

/* modern imagery: rounded, soft depth, mask reveal, hover zoom, parallax */
.hero-photo,.ap,.pcard .frame,.gitem,.blog-card > div:first-child,.scf-media{overflow:hidden;border-radius:var(--scf-r)}
.hero-photo,.ap,.gitem{box-shadow:var(--scf-shadow)}
.hero-photo img,.ap img,.pcard .frame img,.gitem img,.blog-card img,.scf-media img{transition:transform 1.4s var(--scf-ease),filter .8s var(--scf-ease)!important;will-change:transform}
.scf-mask{clip-path:inset(14% 10% 14% 10% round var(--scf-r));transition:clip-path 1.4s var(--scf-ease)}
.scf-mask.scf-in{clip-path:inset(0 0 0 0 round var(--scf-r))}
.scf-mask img{scale:1.18;transition:scale 1.8s var(--scf-ease),transform 1.4s var(--scf-ease)!important}
.scf-mask.scf-in img{scale:1}
.pcard:hover .frame img,.gitem:hover img,.blog-card:hover img,.ap:hover img,.hero-photo:hover img{transform:scale(1.07);filter:saturate(1.08) contrast(1.03)}
.scf-px img{translate:0 var(--scf-py,0px)}
.gitem{position:relative}
.gitem::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(46,27,30,.45));opacity:0;transition:opacity .5s var(--scf-ease);pointer-events:none}
.gitem:hover::after{opacity:1}

/* cards: lift + cursor spotlight */
.pcard,.icard,.inv,.blog-card,figure.quote,.scf-card{position:relative;transition:translate .5s var(--scf-ease),box-shadow .5s var(--scf-ease)!important}
.pcard:hover,.icard:hover,.inv:hover,.blog-card:hover,figure.quote:hover,.scf-card:hover{translate:0 -8px;box-shadow:var(--scf-shadow-lift)!important}
.scf-spot::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:1;opacity:0;transition:opacity .4s;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(240,154,50,.16),transparent 45%)}
.scf-spot:hover::before{opacity:1}

/* buttons: shine + magnetic */
.btn{position:relative;overflow:hidden;transition:translate .35s var(--scf-ease),box-shadow .35s var(--scf-ease),background .3s,color .3s!important}
.btn::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(110deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-18deg);transition:left .8s var(--scf-ease);pointer-events:none}
.btn:hover::after{left:130%}
.btn:hover{box-shadow:0 14px 30px -12px rgba(166,30,45,.45)}

/* ticker: soft edges, pause on hover */
.ticker{-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.ticker:hover .ticker-track{animation-play-state:paused}

/* eyebrow line draws in */
.eyebrow{position:relative}
.section-head.rv .eyebrow::before{transform-origin:left;transition:transform 1.1s var(--scf-ease) .2s}
.section-head.rv:not(.in) .eyebrow::before{transform:scaleX(0)}

/* back to top with progress ring */
#scf-top{position:fixed;right:22px;bottom:22px;z-index:80;width:52px;height:52px;border-radius:50%;border:0;cursor:pointer;background:var(--henna,#A61E2D);color:#fff;display:grid;place-items:center;box-shadow:0 14px 30px -12px rgba(84,16,27,.55);opacity:0;translate:0 20px;pointer-events:none;transition:opacity .4s var(--scf-ease),translate .4s var(--scf-ease),background .3s}
#scf-top.show{opacity:1;translate:0 0;pointer-events:auto}
#scf-top:hover{background:var(--henna-deep,#7E1220)}
#scf-top svg.ring{position:absolute;inset:-4px;width:60px;height:60px;transform:rotate(-90deg)}
#scf-top svg.ring circle{fill:none;stroke:var(--marigold,#F09A32);stroke-width:3;stroke-linecap:round;stroke-dasharray:176;stroke-dashoffset:var(--scf-dash,176)}
#scf-top:focus-visible{outline:3px solid var(--marigold,#F09A32);outline-offset:4px}

/* latest stories strip (front page + blog) */
.scf-latest{padding:90px 0}
.scf-latest .scf-grid,.scf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:28px}
.scf-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line,#E4CFCB);border-radius:var(--scf-r);overflow:hidden;text-decoration:none;color:inherit}
.scf-card .scf-media{height:220px;border-radius:0}
.scf-card .scf-media img{width:100%;height:100%;object-fit:cover;display:block}
.scf-card .scf-body{padding:24px 24px 28px;position:relative;z-index:2}
.scf-card h3{font-size:21px;line-height:1.25;color:var(--leaf-deep,#54101B);margin:8px 0 10px}
.scf-card p{color:var(--ink-soft,#6E5356);font-size:15px;line-height:1.6;margin:0}
.scf-card .scf-meta{font-size:13px;color:var(--ink-soft,#6E5356);margin-top:14px;display:flex;gap:10px}
.scf-new{display:inline-block;background:var(--marigold,#F09A32);color:#2E1B1E;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 9px;border-radius:999px;margin-left:8px;vertical-align:middle}

@media (max-width:760px){header.nav.scf-scrolled .wrap{height:60px}.scf-blobs i{filter:blur(50px)}#scf-top{right:16px;bottom:16px}}
@media (prefers-reduced-motion:reduce){
 .rv,.scf-w,.scf-mask,.scf-mask img{opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important;scale:1!important;transition:none!important}
 .scf-blobs i,.hero-chip{animation:none!important}
 .scf-px img{translate:none!important}
}
