/*
Theme Name: Seven Groups
Author: Your Name
Description: Custom theme for 7 Group Partners
Version: 1.0.0
Text Domain: seven-groups
*/

[x-cloak]{display:none!important}
*{box-sizing:border-box}
body{font-family:'Inter',sans-serif;background:#f8f5f0;color:#111827;-webkit-font-smoothing:antialiased;overflow-x:hidden}

/* ── ICONS ── */
.ico{font-family:'Material Symbols Outlined';font-weight:normal;font-style:normal;
	font-variation-settings:'FILL' 0,'wght' 300,'GRAD' 0,'opsz' 24;
	line-height:1;display:inline-flex;align-items:center;justify-content:center;
	user-select:none;flex-shrink:0}

/* ── GOLD GRADIENT TEXT ── */
.gold-text {
	background: linear-gradient(135deg, #A67C52, #C29B70, #A67C52, #73502C);
	background-size: 200% auto;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	animation: goldShimmer 4s linear infinite;
}
@keyframes goldShimmer{to{background-position:200% center}}

/* ── ORBS ── */
.orb{position:absolute;border-radius:50%;filter:blur(90px);pointer-events:none;will-change:transform}
@keyframes ob1{0%,100%{transform:translate(0,0)scale(1)}50%{transform:translate(80px,-60px)scale(1.15)}}
@keyframes ob2{0%,100%{transform:translate(0,0)scale(1)}50%{transform:translate(-60px,80px)scale(1.1)}}
@keyframes ob3{0%,100%{transform:translate(0,0)scale(.85)}50%{transform:translate(50px,50px)scale(1.08)}}

/* ── HERO WORD REVEAL ── */
.word-wrap{display:inline-block;overflow:hidden;vertical-align:bottom}
.word-inner{display:inline-block;transform:translateY(110%);animation:wUp .9s cubic-bezier(.16,1,.3,1) forwards}
@keyframes wUp{to{transform:translateY(0)}}
.hero-sub{opacity:0;animation:fadeUp .9s cubic-bezier(.16,1,.3,1) .7s forwards}
.hero-cta{opacity:0;animation:fadeUp .9s cubic-bezier(.16,1,.3,1) .95s forwards}
.hero-trust{opacity:0;animation:fadeUp .9s cubic-bezier(.16,1,.3,1) 1.1s forwards}
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}

/* ── LOGO ANIMATIONS ── */
@keyframes spinCW{to{transform:rotate(360deg)}}
@keyframes spinCCW{to{transform:rotate(-360deg)}}
.ring-cw{animation:spinCW 28s linear infinite;transform-origin:center}
.ring-ccw{animation:spinCCW 40s linear infinite;transform-origin:center}
@keyframes logoFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)}}
.logo-float{animation:logoFloat 7s ease-in-out infinite}
@keyframes badgePop{from{opacity:0;transform:scale(.5) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}
.badge1{animation:badgePop .7s cubic-bezier(.16,1,.3,1) 1.3s both}
.badge2{animation:badgePop .7s cubic-bezier(.16,1,.3,1) 1.6s both}
.badge3{animation:badgePop .7s cubic-bezier(.16,1,.3,1) 1.9s both}
@keyframes pulseRing {
	0% { box-shadow: 0 0 0 0 rgba(166,124,82,.4); }
	100% { box-shadow: 0 0 0 28px rgba(166,124,82,0); }
}
.pulse-glow{animation:pulseRing 3s ease-out infinite}

/* ── SCROLL REVEALS ── */
.rev,.rev-l,.rev-r{
	opacity:0;filter:blur(8px);
	transition:opacity .85s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1),filter .85s cubic-bezier(.16,1,.3,1)}
.rev{transform:translateY(40px)}
.rev-l{transform:translateX(-40px)}
.rev-r{transform:translateX(40px)}
.rev.show,.rev-l.show,.rev-r.show{opacity:1;transform:none;filter:blur(0)}
.d1{transition-delay:.1s}.d2{transition-delay:.18s}.d3{transition-delay:.26s}
.d4{transition-delay:.34s}.d5{transition-delay:.42s}.d6{transition-delay:.5s}

/* ── NAV ── */
.nav-bg{transition:background .35s,box-shadow .35s}
.nav-scrolled{background:rgba(248,245,240,.97)!important;box-shadow:0 1px 40px rgba(0,0,0,.08);backdrop-filter:blur(20px)}
.nav-a{position:relative;font-size:.875rem;font-weight:500;color:#6b7280;transition:color .2s;padding-bottom:2px}
.nav-a:hover{color:#1b4332}
.nav-a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1.5px;background:#c9a254;transition:width .3s}
.nav-a:hover::after{width:100%}

/* ── BUTTONS ── */
.btn-p{display:inline-flex;align-items:center;gap:8px;background:#1b4332;color:#fff;
	font-weight:600;padding:14px 28px;border-radius:14px;font-size:.875rem;
	transition:all .25s cubic-bezier(.16,1,.3,1);font-family:'Inter',sans-serif;
	position:relative;overflow:hidden}
.btn-p::before{content:'';position:absolute;inset:0;background:rgba(255,255,255,.07);
	opacity:0;transition:opacity .2s;border-radius:inherit}
.btn-p:hover{background:#2d6a45;transform:translateY(-3px);box-shadow:0 16px 40px rgba(27,67,50,.35)}
.btn-p:hover::before{opacity:1}
.btn-s{display:inline-flex;align-items:center;gap:8px;background:transparent;color:#1b4332;
	font-weight:600;padding:13px 28px;border-radius:14px;font-size:.875rem;
	border:1.5px solid rgba(27,67,50,.2);transition:all .25s;font-family:'Inter',sans-serif}
.btn-s:hover{border-color:#1b4332;background:#f3f8f5;transform:translateY(-3px);box-shadow:0 8px 24px rgba(27,67,50,.12)}
.btn-gd{display:inline-flex;align-items:center;gap:8px;background:#c9a254;color:#fff;
	font-weight:600;padding:14px 28px;border-radius:14px;font-size:.875rem;
	transition:all .25s;font-family:'Inter',sans-serif}
.btn-gd:hover{background:#b08c38;transform:translateY(-3px);box-shadow:0 16px 40px rgba(201,162,84,.4)}

/* ── SECTION LABEL ── */
.slabel{font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:#c9a254}

/* ── GOLD LINE ── */
.gold-line-animate {
	height: 2px;
	background: linear-gradient(90deg, #A67C52, #C29B70);
	width: 0;
	transition: width 1.2s cubic-bezier(.16,1,.3,1);
	border-radius: 2px;
}

/* ── CARDS ── */
.pcard{background:#fff;border-radius:22px;border:1px solid rgba(0,0,0,.07);
	transition:border-color .3s,box-shadow .3s,transform .3s cubic-bezier(.16,1,.3,1);cursor:pointer}
.pcard:hover,.pcard.open{border-color:rgba(201,162,84,.45);box-shadow:0 20px 56px rgba(27,67,50,.1)}
.recard{background:#fff;border-radius:22px;border:1px solid rgba(0,0,0,.07);
	transition:all .32s cubic-bezier(.16,1,.3,1)}
.recard:hover{border-color:rgba(201,162,84,.4);box-shadow:0 20px 56px rgba(27,67,50,.11);transform:translateY(-5px)}
.tcard{border-radius:28px;overflow:hidden;transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s}
.tcard:hover{transform:translateY(-10px);box-shadow:0 32px 72px rgba(27,67,50,.15)}

/* ── FORM ── */
.finput{display:block;width:100%;border:1.5px solid #e5e7eb;border-radius:14px;padding:14px 18px;
	font-size:.875rem;background:#fff;color:#111827;transition:border-color .2s,box-shadow .2s;
	font-family:'Inter',sans-serif}
.finput:focus{outline:none;border-color:#1b4332;box-shadow:0 0 0 4px rgba(27,67,50,.08)}
.finput::placeholder{color:#9ca3af}
select.finput{appearance:none;cursor:pointer;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpath d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");
	background-repeat:no-repeat;background-position:right 14px center;background-size:16px;padding-right:44px}

/* ── BG PATTERNS ── */
.dot-bg{background-image:radial-gradient(rgba(27,67,50,.05) 1.5px,transparent 1.5px);background-size:28px 28px}

/* ── MARQUEE ── */
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.marquee-track{animation:marquee 30s linear infinite;display:flex;gap:3rem;white-space:nowrap}
.marquee-track:hover{animation-play-state:paused}

/* ── ANIMATED GRADIENT BORDER ── */
.grd-border{position:relative}
.grd-border::before {
	content: ''; position: absolute; inset: -1px; border-radius: inherit;
	background: linear-gradient(135deg, rgba(166,124,82,.3) 0%, rgba(255,255,255,.1) 50%, rgba(166,124,82,.3) 100%);
	background-size: 200% 200%;
	animation: grdBorderAnim 6s linear infinite; z-index: 0; opacity: 0;
	transition: opacity .3s; pointer-events: none;
}
.grd-border:hover::before{opacity:1}
@keyframes grdBorderAnim{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}

/* ── FLOAT CTA ── */
.float-cta{position:fixed;bottom:30px;right:30px;z-index:99;animation:fadeUp .6s cubic-bezier(.16,1,.3,1) 2.5s both}

/* ── TAGLINE ── */
@keyframes tagline-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes tagline-out{to{opacity:0;transform:translateY(-10px)}}
.tl-in{animation:tagline-in .4s cubic-bezier(.16,1,.3,1) both}
.tl-out{animation:tagline-out .35s ease both}

/* ── TAG BADGE ── */
.tag-badge{display:inline-flex;align-items:center;gap:6px;background:#fff;
	border:1px solid rgba(201,162,84,.3);border-radius:100px;padding:7px 16px;
	font-size:.75rem;font-weight:600;color:#1b4332;box-shadow:0 2px 16px rgba(0,0,0,.06)}

/* ── STAT NUMBER FONT ── */
.stat-num{font-family:'Space Grotesk',sans-serif;font-weight:700}

/* ── PARTICLE CANVAS ── */
#hero-canvas{position:absolute;inset:0;pointer-events:none;opacity:.55}

/* ── FOOTER ── */
.footer-link{font-size:.8rem;color:rgba(255,255,255,.42);transition:color .2s;display:block;margin-bottom:11px}
.footer-link:hover{color:#c9a254}

/* ── GLOW ICON BOX ── */
.icon-box{position:relative;transition:all .3s}
.icon-box::after {
	content: ''; position: absolute; inset: -4px; border-radius: inherit;
	background: radial-gradient(circle, rgba(166,124,82,.25), transparent 70%);
	opacity: 0; transition: opacity .3s;
}
*:hover > .icon-box::after{opacity:1}

.why-rows{border-top:1px solid rgba(27,67,50,.1)}
.why-row{display:grid;grid-template-columns:56px 44px 1fr 1fr;align-items:center;gap:24px;
	padding:22px 0;border-bottom:1px solid rgba(27,67,50,.08);position:relative;cursor:default;
	transition:background .25s;border-radius:0}
@media(max-width:767px){.why-row{grid-template-columns:44px 36px 1fr;}.why-row-desc{display:none}}
.why-row::before{content:'';position:absolute;inset:0 -24px;border-radius:16px;
	background:rgba(27,67,50,.04);opacity:0;transition:opacity .25s}
.why-row:hover::before{opacity:1}
.why-row-num{font-size:1.5rem;font-weight:700;color:rgba(27,67,50,.12);
	transition:color .3s,transform .3s;line-height:1}
.why-row:hover .why-row-num{color:#c9a254;transform:scale(1.1)}
.why-row-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;
	background:rgba(27,67,50,.07);transition:background .3s,transform .3s;flex-shrink:0}
.why-row:hover .why-row-icon{background:rgba(201,162,84,.15);transform:rotate(-5deg) scale(1.08)}
.why-row-title{font-size:.95rem;line-height:1.35}
.why-row-bar{position:absolute;bottom:0;left:0;height:1.5px;width:0;
	background:linear-gradient(90deg,#c9a254,#d4b476);transition:width .55s cubic-bezier(.16,1,.3,1)}
.why-row:hover .why-row-bar{width:100%}
.why-row.show .why-row-num{animation:rowNumSlide .5s cubic-bezier(.16,1,.3,1) both}
@keyframes rowNumSlide{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:none}}

.faq-item{border-radius:16px;border:1.5px solid rgba(0,0,0,.07);padding:20px 24px;
	transition:border-color .25s,box-shadow .25s,background .25s;cursor:pointer}
.faq-item:hover,.faq-open{border-color:rgba(201,162,84,.4);box-shadow:0 8px 32px rgba(27,67,50,.08)}
.faq-open{background:#fdfaf3}
.faq-q{background:none;border:none;cursor:pointer;font-family:'Inter',sans-serif}

/* ── MAP ── */
.map-container iframe{transition:filter .5s ease;filter:grayscale(80%) contrast(1.1) opacity(.9)}
.map-container:hover iframe{filter:grayscale(0%) contrast(1) opacity(1)}

/* ── MODAL SCROLL ── */
.modal-scroll::-webkit-scrollbar{width:6px}
.modal-scroll::-webkit-scrollbar-track{background:rgba(0,0,0,.03);border-radius:8px}
.modal-scroll::-webkit-scrollbar-thumb{background:rgba(166,124,82,.3);border-radius:8px}
.modal-scroll::-webkit-scrollbar-thumb:hover{background:rgba(166,124,82,.6)}

