@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,500;0,700;1,500&display=swap');:root{--bg:#080916;--paper:#f7f0e5;--gold:#ffdf8b;--pink:#f3a3f8;--blue:#9bbcff;--text:#f7f5fb;--muted:#b6b5c7}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);background:radial-gradient(ellipse at 85% 10%,#32205d 0,transparent 36%),radial-gradient(ellipse at 0 45%,#101c40 0,transparent 42%),var(--bg);font-family:'DM Sans',system-ui,sans-serif;min-height:100vh}body.navy{background:radial-gradient(ellipse at 80% 15%,#183a65 0,transparent 38%),#080d1b}body.purple{background:radial-gradient(ellipse at 80% 15%,#4c2164 0,transparent 38%),#10091d}.shell{width:min(1180px,calc(100% - 48px));margin-inline:auto}a{color:inherit}.site-header{position:sticky;top:0;z-index:50;background:#080917e8;backdrop-filter:blur(18px);border-bottom:1px solid #ffffff24}.topbar{min-height:80px;display:flex;align-items:center;justify-content:space-between;gap:20px}.wordmark{text-decoration:none;font-size:15px;font-weight:800;letter-spacing:.11em;white-space:nowrap}.wordmark b{color:var(--gold)}.wordmark small{font-size:10px}.spark{color:var(--gold);font-size:24px}nav{display:flex;flex-wrap:wrap;gap:5px}nav a{font-size:12px;text-decoration:none;padding:11px 10px;border-radius:999px;transition:.25s}nav a:hover,nav a.active{color:#0a0915;background:var(--gold);box-shadow:0 0 19px #ffda77a8}.menu-toggle{display:none}.hero{position:relative;overflow:hidden;min-height:520px;padding-top:112px;padding-bottom:100px}.overline{display:block;color:var(--gold);font-size:12px;letter-spacing:.24em;font-weight:800;text-transform:uppercase}.star{font-size:22px}h1,h2{font-family:'Playfair Display',Georgia,serif;letter-spacing:-.035em}h1{position:relative;z-index:2;font-size:clamp(55px,8vw,112px);line-height:1.02;max-width:980px;margin:20px 0}h1 em{color:var(--gold);font-weight:500}h2{font-size:clamp(32px,4vw,55px);line-height:1.15;margin:15px 0}.intro{position:relative;z-index:2;font-size:clamp(17px,2vw,22px);line-height:1.65;color:#d8d4e4;max-width:700px}.hero-actions{position:relative;z-index:2;display:flex;align-items:center;flex-wrap:wrap;gap:22px;margin-top:30px}.button-glow,.next-arrow{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:800;padding:18px 27px;border-radius:100px;color:#160e24;background:linear-gradient(105deg,#fff0b3,#e4a8ff);box-shadow:0 0 0 1px #fff7,0 0 27px #df8aff65;transition:transform .25s,box-shadow .25s}.button-glow:hover,.next-arrow:hover{transform:translateY(-4px) scale(1.035);box-shadow:0 0 0 2px #fff,0 0 42px #f1b1ffcf}.quiet-link,.glow-link,.portal-link{color:var(--gold);font-weight:800;text-decoration:none;border-bottom:2px solid #ffe48a80;padding-bottom:5px;transition:.2s}.quiet-link:hover,.glow-link:hover,.portal-link:hover{color:white;text-shadow:0 0 15px #ffe083,0 0 28px #c96dff;border-color:white}.orbit{pointer-events:none;position:absolute;border:1px solid #ffffff19;border-radius:50%;transform:rotate(-25deg)}.orbit-a{height:370px;width:370px;right:-120px;top:45px;box-shadow:0 0 90px #a063ff22}.orbit-b{height:230px;width:230px;right:110px;top:170px}.portal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px;padding-bottom:100px}.portal{position:relative;overflow:hidden;min-height:380px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:42px;border:1px solid #ffffff33;border-radius:25px;background:linear-gradient(130deg,#292139e8,#101124);transition:transform .25s,border-color .25s,box-shadow .25s}.portal:hover{transform:translateY(-6px);border-color:#ffe19d;box-shadow:0 0 40px #e4acff30}.portal.violet{background:linear-gradient(125deg,#4b2359,#160e28)}.portal.blue{background:linear-gradient(125deg,#183858,#0b1429)}.portal-copy{z-index:2;flex:1}.portal h2{font-size:clamp(30px,3.3vw,48px)}.portal p,.event-info p,.info-grid p{font-size:16px;line-height:1.75;color:#e0dbe9;max-width:470px}.portal-link{display:inline-block;margin-top:15px}.art{width:38%;min-width:135px;aspect-ratio:1;display:grid;place-items:center;flex-shrink:0}.art img,.event-visual img{width:100%;height:100%;object-fit:contain;border-radius:15px;filter:drop-shadow(0 10px 25px #0008)}.glyph{font-size:70px;color:#ffd88a}.glyph span{display:block;font-size:45px}.journey-footer{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid #ffffff35;padding-top:60px;padding-bottom:70px}.journey-footer p{color:var(--muted)}.next-arrow{font-size:18px}.site-footer{border-top:1px solid #ffffff2b;padding:28px 0;background:#050612}.footrow{display:flex;justify-content:space-between;gap:15px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--muted)}.event-highlight{display:grid;grid-template-columns:1.4fr .7fr;gap:35px;align-items:center;padding:35px 45px;margin-bottom:45px;border:1px solid #ffffff40;border-radius:24px;background:#2b183f9c}.event-visual{width:100%;max-width:300px;margin:auto}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:70px}.info-grid article{padding:28px;background:#ffffff12;border:1px solid #ffffff30;border-radius:20px}.info-grid h2{font-size:32px}@media(max-width:1080px){.menu-toggle{display:block;color:white;background:#ffffff1b;border:1px solid #ffffff50;border-radius:12px;padding:11px 14px;font-weight:700}nav{display:none;position:absolute;top:80px;left:0;right:0;background:#101126;padding:15px 24px;flex-direction:column;box-shadow:0 25px 30px #0009}nav.open{display:flex}nav a{font-size:15px}.portal{padding:30px}}@media(max-width:720px){.shell{width:min(100% - 32px,1180px)}.wordmark{font-size:11px;letter-spacing:.04em}.hero{padding-top:70px;padding-bottom:65px;min-height:auto}.portal-grid,.event-highlight,.info-grid{grid-template-columns:1fr}.portal{min-height:320px}.art{width:34%;min-width:95px}.journey-footer{align-items:flex-start;flex-direction:column}.event-highlight{padding:25px}.orbit-a{right:-270px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.header-crest{width:42px;height:42px;object-fit:contain;vertical-align:middle;margin-right:8px}.wordmark{display:flex;align-items:center;font-size:12px;letter-spacing:.045em}.hero.compact{min-height:420px;padding-top:85px;padding-bottom:65px}.feature-row{display:grid;grid-template-columns:minmax(220px,380px) 1fr;align-items:center;gap:55px;padding:40px 0 90px}.feature-row p,.letter p,.contact-options p{font-size:17px;line-height:1.8;color:#e1dce9}.feature-logo{width:100%;max-height:420px;object-fit:contain}.portrait{width:100%;max-width:380px;max-height:510px;object-fit:cover;object-position:center top;border-radius:24px;box-shadow:0 0 50px #e1b3ff30}.owner{border-top:1px solid #ffffff28}.event-banner{padding-bottom:70px;text-align:center}.event-banner img{width:min(100%,650px);height:auto;border-radius:18px}.letter{max-width:850px;padding-bottom:110px}.signature{color:#ffe29a!important}.contact-options{padding-bottom:100px}.contact-options .portal-grid{padding-bottom:10px}@media(max-width:850px){.feature-row{grid-template-columns:1fr;gap:20px}.feature-logo{max-height:330px}.wordmark{font-size:10px}.header-crest{width:32px;height:32px}}

/* GospelSoul Sundays founder greeting */
.heart-letter{padding-top:3rem;padding-bottom:5rem}.heart-letter-inner{max-width:850px;margin:auto;padding:clamp(1.5rem,5vw,4rem);border:1px solid rgba(229,180,82,.6);border-radius:26px;background:radial-gradient(ellipse at 50% 0%,rgba(100,28,109,.36),transparent 70%),linear-gradient(135deg,rgba(22,9,29,.98),rgba(12,8,20,.97));box-shadow:0 18px 75px rgba(0,0,0,.3),inset 0 0 0 1px rgba(255,255,255,.035);text-align:center}.heart-letter h2{color:#f4d68b}.heart-letter p{font-size:1.06rem;line-height:1.85;margin:1.2rem auto;max-width:68ch}.heart-letter .letter-signoff{margin-top:2.2rem;color:#f4d68b;font-style:italic}.heart-letter .letter-signoff span{font-family:"Brush Script MT","Segoe Script",cursive;font-size:clamp(2.5rem,7vw,4rem);line-height:1.4;color:#e7a9fa;text-shadow:0 0 17px rgba(213,109,244,.4)}.heart-letter .letter-credit{font-size:.85rem;letter-spacing:.13em;text-transform:uppercase;opacity:.78;margin-bottom:2rem}.heart-letter .button-glow{display:inline-block}

/* Homepage three-division inverted triangle: BrandME + COG above, GSS centered below */
.portal-triangle{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;}
.portal-triangle .portal-gss{grid-column:1 / -1;width:calc(50% - 12.5px);justify-self:center;}
.portal-triangle .portal{min-width:0;}
@media(max-width:720px){.portal-triangle{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.portal-triangle .portal{padding:19px;min-height:265px;flex-direction:column;align-items:flex-start}.portal-triangle .portal h2{font-size:clamp(22px,5vw,32px)}.portal-triangle .portal p{font-size:13px;line-height:1.5}.portal-triangle .art{width:95px;min-width:0;max-width:100%;align-self:center}.portal-triangle .portal-gss{width:min(100%,calc(50% - 6px));min-width:min(100%,250px)}.portal-triangle .portal-link{font-size:13px}}
@media(max-width:440px){.portal-triangle .portal{padding:14px;min-height:300px}.portal-triangle .portal h2{font-size:23px}.portal-triangle .portal-cog .art{width:76px}.portal-triangle .portal-gss{width:90%;min-width:0;grid-column:1 / -1;min-height:255px;flex-direction:row}.portal-triangle .portal-gss .art{width:34%}}

/* Official BrandME and Love,ToriBe brand assets */
.portal-brandme .art img{max-width:100%;max-height:180px;object-fit:contain;filter:drop-shadow(0 0 15px rgba(175,55,240,.32))}
.portal-brandme .sub-brand{margin-top:1rem;font-size:.9rem}
.brandme-feature-logo{display:block;width:min(350px,70vw);height:auto;max-height:260px;object-fit:contain;margin:0 auto 1.5rem;filter:drop-shadow(0 0 16px rgba(144,63,244,.4))}
.affiliate-section{padding-top:2.2rem;padding-bottom:4rem}
.affiliate-card{display:grid;grid-template-columns:minmax(220px,.85fr) 1.15fr;align-items:center;gap:clamp(1.5rem,5vw,4rem);padding:clamp(1.25rem,4vw,3rem);border:1px solid rgba(210,163,255,.5);border-radius:24px;background:linear-gradient(125deg,rgba(34,19,47,.92),rgba(12,14,30,.95));box-shadow:0 0 30px rgba(144,63,244,.15)}
.affiliate-visual{position:relative;text-align:center}.affiliate-portrait{width:100%;max-height:440px;object-fit:cover;object-position:center top;border-radius:18px}.affiliate-signature{display:block;width:min(230px,70%);height:auto;object-fit:contain;margin:12px auto 0}.affiliate-copy h2{font-size:clamp(2rem,4vw,3.3rem);margin:.6rem 0}.affiliate-copy p{line-height:1.75;margin-bottom:2rem}
@media(max-width:700px){.affiliate-card{grid-template-columns:1fr}.affiliate-portrait{max-height:360px}.portal-brandme .art img{max-height:130px}}

/* Four distinct TEG panels */
.portal-four{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.portal-four .portal{min-width:0}
.portal-lovetoribe{background:linear-gradient(125deg,#28201c,#09090d);border-color:#c49a4e66}
.portal-lovetoribe .art{width:39%;min-width:110px}
.portal-lovetoribe .art img{object-fit:contain;filter:drop-shadow(0 0 14px #d5a74155)}
.love-division{padding:20px 0 85px}
@media(max-width:720px){.portal-four{grid-template-columns:1fr;gap:18px}.portal-four .portal{min-height:260px;padding:24px}.portal-four .art{width:34%;min-width:85px}.portal-four .portal h2{font-size:clamp(27px,6vw,38px)}}

/* TEG contact form */
.contact-form-panel{max-width:900px;margin:3rem auto;padding:clamp(1.25rem,3vw,2.5rem);border:1px solid rgba(216,179,103,.45);border-radius:22px;background:rgba(20,22,33,.75)}
.teg-contact-form{display:grid;gap:1.25rem;margin:1.5rem 0}
.teg-contact-form label{display:grid;gap:.45rem;font-weight:600}
.teg-contact-form input,.teg-contact-form select,.teg-contact-form textarea{box-sizing:border-box;width:100%;min-width:0;padding:.9rem 1rem;border:1px solid rgba(216,179,103,.45);border-radius:10px;background:#111523;color:#fff;font:inherit}
.teg-contact-form input:focus,.teg-contact-form select:focus,.teg-contact-form textarea:focus{outline:2px solid #d9b66d;outline-offset:2px}
.teg-contact-form .form-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.teg-contact-form button{cursor:pointer;border:0;font:inherit;justify-self:start}
.form-note{font-size:.88rem;line-height:1.6;opacity:.82}
@media(max-width:650px){.teg-contact-form .form-two{grid-template-columns:1fr}}

.booking-panel{margin:2rem 0;padding:clamp(1.25rem,3vw,2.5rem);border:1px solid rgba(219,177,93,.5);border-radius:22px;background:linear-gradient(145deg,rgba(197,146,57,.13),rgba(31,31,49,.55))}.booking-panel select{display:block;width:100%;max-width:550px;padding:14px;margin:10px 0 20px;border-radius:10px;background:#171923;color:#fff;border:1px solid #bfa05e}.consult-detail{padding:20px;border-radius:14px;background:rgba(0,0,0,.24)}.booking-cta{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:20px}.booking-cta button:disabled{opacity:.65;cursor:not-allowed;filter:grayscale(.4)}

/* 2026 audience engagement update */
.engagement-block{padding-top:4.5rem;padding-bottom:4.5rem}.engagement-block>h2{max-width:760px}.engagement-block>p{max-width:760px}.engagement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin-top:2rem}.engagement-card{display:flex;flex-direction:column;align-items:flex-start;gap:.65rem;min-height:240px;padding:1.65rem;border:1px solid rgba(213,175,102,.36);border-radius:18px;background:linear-gradient(145deg,rgba(32,24,46,.9),rgba(12,15,28,.86));color:inherit;text-decoration:none;box-shadow:0 8px 30px rgba(0,0,0,.15);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.engagement-card:hover,.engagement-card:focus-within{transform:translateY(-4px);border-color:rgba(255,219,140,.8);box-shadow:0 14px 36px rgba(164,116,220,.15)}.engagement-card>span,.next-experience .overline{font-size:.76rem;letter-spacing:.14em;color:#e4c181}.engagement-card h3{font-size:1.4rem;line-height:1.2;margin:.15rem 0}.engagement-card p{line-height:1.65;margin:0 0 .6rem}.engagement-card strong,.engagement-card .glow-link{margin-top:auto;color:#f4d593}.engagement-card .button-glow{margin-top:auto}.next-experience{margin-top:1.75rem;padding:1.5rem 1.8rem;border-left:3px solid #d5ac68;background:rgba(105,76,143,.12);border-radius:8px}.next-experience h3{margin:.6rem 0}.next-experience p{margin:.5rem 0 1rem}@media(max-width:760px){.engagement-grid{grid-template-columns:1fr}.engagement-block{padding-top:3rem;padding-bottom:3rem}.engagement-card{min-height:auto}}@media(prefers-reduced-motion:reduce){.engagement-card{transition:none}.engagement-card:hover{transform:none}}
