/*
Theme Name: VibeHaus Creative Orbit
Theme URI: https://www.facebook.com/profile.php?id=61582117154669
Author: VibeHaus Creative
Description: Custom single-page creative agency website with interactive orbit and portfolio.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: vibehaus-creative-orbit
*/

:root{--bg:#090b12;--surface:#111521;--surface2:#0e121b;--line:#292d3a;--muted:#9ca4b6;--white:#f5f6fa;--blue:#30c9ff;--purple:#9565fa;--gold:#b29a68}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--white);font-family:'DM Sans',sans-serif;overflow-x:hidden}body:before{content:'';position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 52% 26%,rgba(75,37,136,.09),transparent 40%);z-index:-1}a{color:inherit;text-decoration:none}button{font:inherit}header{height:86px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:0 6%;position:relative;z-index:10;background:rgba(9,11,18,.8);backdrop-filter:blur(20px)}.wordmark{display:flex;align-items:center}.wordmark img{width:125px;height:67px;object-fit:contain;object-position:left center;display:block}.nav{display:flex;gap:30px;color:#bfc4d0;font-size:13px}.nav a:hover{color:var(--blue)}.navbtn{font-size:12px;font-weight:700;letter-spacing:1px;border:1px solid #686f7e;padding:12px 20px;border-radius:30px}.navbtn:hover{border-color:var(--blue)}.hero{min-height:calc(100svh - 86px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:54px 18px 28px;position:relative}.eyebrow,.label{letter-spacing:3px;text-transform:uppercase;font-size:10px;font-weight:700;color:#aeb7c9}.hero h1{font:600 clamp(39px,7vw,84px)/.98 'Space Grotesk';letter-spacing:-5px;max-width:970px;margin:21px auto 17px}.hero h1 em{font-style:normal;background:linear-gradient(100deg,#e8edff 8%,#68d4ff 45%,#a17bff 86%);background-clip:text;color:transparent}.sub{font-size:15px;line-height:1.8;color:var(--muted);max-width:600px}.orbit-area{height:435px;width:min(570px,100%);position:relative;margin:10px auto 0;display:grid;place-items:center}.orbit{width:350px;height:350px;position:absolute;border-radius:50%;border:1px dashed #45415b;animation:turn 50s linear infinite}.orbit:before{content:'';position:absolute;inset:27px;border-radius:50%;border:2px solid transparent;border-top-color:var(--blue);border-right-color:var(--purple);filter:drop-shadow(0 0 11px rgba(91,103,244,.8));animation:turn 16s linear infinite reverse}.orbit:after{content:'';position:absolute;inset:54px;border-radius:50%;border:1px solid #404056}.core{width:207px;height:207px;border-radius:50%;background:radial-gradient(circle at 52% 40%,#241c3a 0%,#111422 68%,#0a0d15);border:1px solid #5a5373;box-shadow:0 0 65px rgba(75,36,152,.17),inset 0 0 32px #17132c;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;z-index:1;transition:.35s}.core span{font-size:9px;color:#acb3c4;letter-spacing:3px}.core .core-mark{height:115px;width:138px;object-fit:contain;margin:-3px 0 -6px;filter:drop-shadow(0 0 12px rgba(110,79,195,.18))}.core small{font-size:8px;letter-spacing:2px;color:var(--blue)}.orb-btn{position:absolute;z-index:2;border:1px solid #58627d;background:#171e2d;color:#eef2fa;padding:12px 18px;border-radius:40px;letter-spacing:1px;font-size:10px;font-weight:700;cursor:pointer;white-space:nowrap;transition:.25s}.orb-btn:hover,.orb-btn.active{border-color:var(--blue);box-shadow:0 0 22px #2ecbff45;transform:translateY(-3px);background:#202c43}.orb-btn[data-id=web]{top:18px;left:50%;translate:-50% 0}.orb-btn[data-id=social]{top:116px;right:1px}.orb-btn[data-id=brand]{bottom:57px;right:30px}.orb-btn[data-id=seo]{bottom:57px;left:30px}.orb-btn[data-id=content]{top:116px;left:1px}.service-readout{min-height:82px;max-width:530px;margin:0 auto 15px}.service-readout h2{font:600 20px 'Space Grotesk';margin:0 0 7px}.service-readout p{color:#aeb4c4;font-size:13px;line-height:1.5;margin:0}.cta{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border-radius:40px;padding:0 23px;font-size:12px;font-weight:700;letter-spacing:.6px;transition:.2s}.button.primary{background:#e9edf4;color:#111521}.button.primary:hover{background:var(--blue)}.button.secondary{border:1px solid #646979}.button.secondary:hover{border-color:var(--blue)}.scroll{font-size:10px;letter-spacing:2px;color:#747e91;margin-top:40px}.section{padding:110px 8%;border-top:1px solid #242938;max-width:1500px;margin:auto}.section .label{color:var(--blue)}.section-title{font:600 clamp(38px,6vw,72px)/1.06 'Space Grotesk';letter-spacing:-3px;margin:17px 0 30px;max-width:940px}.section-title i{font-style:normal;color:#9d85e9}.section-lead{max-width:760px;color:#aeb5c4;line-height:1.9;font-size:17px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:55px}.card{min-height:268px;padding:29px;background:linear-gradient(150deg,#151b29,#0f121c);border:1px solid #303747;display:flex;flex-direction:column;justify-content:space-between;transition:.3s}.card:hover{border-color:#7c63db;transform:translateY(-5px)}.card .num{color:#6781ad;font-size:12px}.card h3{font:500 25px 'Space Grotesk';letter-spacing:-1px;margin:0 0 10px}.card p{color:#a6afbf;line-height:1.7;font-size:13px;margin:0}.portfolio-grid{display:grid;grid-template-columns:1fr;gap:22px;margin-top:42px}.case-study{display:grid;grid-template-columns:1.15fr .85fr;gap:0;border:1px solid #33374a;background:linear-gradient(145deg,#10141f,#0b0f18);overflow:hidden;position:relative}.case-study:before{content:'';position:absolute;inset:auto -14% -45% auto;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(48,201,255,.08),transparent 65%);pointer-events:none}.case-study.medica:before{background:radial-gradient(circle,rgba(178,154,104,.15),transparent 65%)}.case-media{min-height:430px;position:relative;overflow:hidden}.case-media img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;transition:transform .55s ease,opacity .4s ease;opacity:.93}.case-study:hover .case-media img{transform:scale(1.03)}.case-media:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,11,18,.08),rgba(8,11,18,.0) 35%,rgba(8,11,18,.44))}.case-copy{padding:34px 34px 30px;display:flex;flex-direction:column;justify-content:space-between;position:relative;z-index:1}.case-top{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.pill{display:inline-flex;align-items:center;height:30px;padding:0 14px;border-radius:999px;border:1px solid #3c455a;background:#131927;color:#d7dce8;font-size:10px;letter-spacing:1.5px}.case-copy h3{font:600 clamp(34px,4.2vw,58px)/.95 'Space Grotesk';letter-spacing:-2.4px;margin:0 0 14px}.case-copy p{color:#aeb7c7;line-height:1.8;font-size:14px;margin:0 0 22px}.case-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:4px 0 26px}.meta-box{padding:14px 15px;border:1px solid #2f3748;background:#111724}.meta-box b{display:block;font-size:10px;letter-spacing:1.5px;color:#8e9ab0;margin-bottom:7px}.meta-box span{display:block;font-size:13px;line-height:1.5;color:#f2f4f9}.case-links{display:flex;gap:12px;flex-wrap:wrap}.case-links .button{min-height:44px}.work-extra{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}.mini-panel{padding:18px 18px 19px;border:1px solid #2d3445;background:#0d111a}.mini-panel b{display:block;font-size:10px;color:#7f8ba0;letter-spacing:1.6px;margin-bottom:8px}.mini-panel span{display:block;font:500 18px/1.2 'Space Grotesk'} .contact{background:radial-gradient(ellipse at bottom,rgba(73,45,139,.20),transparent 64%);text-align:center}.contact .section-title{margin:20px auto 20px}.contact .section-lead{margin:0 auto 35px}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:34px auto 0;max-width:1000px;text-align:left}.contact-card{padding:22px;border:1px solid #2f3648;background:linear-gradient(145deg,#111622,#0b1018)}.contact-card b{display:block;font-size:10px;color:#8d97ac;letter-spacing:1.7px;margin-bottom:9px}.contact-card strong{display:block;font:500 21px/1.15 'Space Grotesk';margin-bottom:6px}.contact-card p{margin:0;color:#aab3c3;font-size:13px;line-height:1.6}.contact-card a.inline{display:inline-block;margin-top:13px;font-size:12px;color:#e8edf6;text-decoration:underline;text-underline-offset:4px}.contact-card a.inline:hover{color:var(--blue)}.footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #343947;padding:28px 7%;font-size:12px;color:#848da1;flex-wrap:wrap}.footer a:hover{color:var(--blue)}@keyframes turn{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important}}@media(max-width:980px){.case-study{grid-template-columns:1fr}.case-media{min-height:320px}.work-extra,.contact-grid{grid-template-columns:1fr 1fr}}@media(max-width:760px){header{padding:0 20px;height:69px}.nav{display:none}.wordmark img{width:104px;height:56px}.hero h1{letter-spacing:-2.5px}.orbit-area{height:370px}.orbit{width:265px;height:265px}.orbit:before{inset:20px}.orbit:after{inset:42px}.core{width:166px;height:166px}.core .core-mark{height:90px;width:111px}.orb-btn{font-size:8px;padding:10px 12px}.orb-btn[data-id=web]{top:20px}.orb-btn[data-id=social]{top:105px;right:-2px}.orb-btn[data-id=content]{top:105px;left:-2px}.orb-btn[data-id=brand]{bottom:49px;right:6px}.orb-btn[data-id=seo]{bottom:49px;left:6px}.section{padding:78px 23px}.section-title{letter-spacing:-2px}.cards{grid-template-columns:1fr;gap:10px}.card{min-height:185px}.case-copy{padding:25px 22px}.case-meta,.work-extra,.contact-grid{grid-template-columns:1fr}.footer{padding:28px 23px}}
:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
.case-links a,.button,.navbtn,.contact-card a{transition:background-color .2s,border-color .2s,color .2s,transform .2s}
.case-links .button:hover,.contact .button:hover{transform:translateY(-2px)}
.mobile-menu{display:none;border:1px solid #555f74;background:#131825;color:var(--white);border-radius:30px;padding:10px 15px;cursor:pointer;font-size:12px;font-weight:700;letter-spacing:.6px}
.mobile-panel{display:none;position:absolute;top:69px;left:0;right:0;background:#101522;border-bottom:1px solid #333d52;padding:16px 23px;box-shadow:0 14px 28px #0008}
.mobile-panel a{display:block;padding:13px 3px;font-size:13px;border-bottom:1px solid #273041}
.mobile-panel.open{display:block}
@media(max-width:760px){header .navbtn{display:none}.mobile-menu{display:inline-flex}.case-media{min-height:260px}.contact-card strong{overflow-wrap:anywhere}.eyebrow{letter-spacing:2px}.hero{padding-top:40px}}
@media(max-width:390px){.orbit-area{width:100%;height:342px}.orbit{width:238px;height:238px}.core{width:153px;height:153px}.orb-btn{padding:9px 9px;font-size:7px}.orb-btn[data-id=content]{left:-6px}.orb-btn[data-id=social]{right:-6px}.hero h1{font-size:38px}}
a:focus-visible,button:focus-visible{outline:2px solid var(--blue);outline-offset:4px}.skip-link{position:absolute;left:12px;top:-100px;background:#e9edf4;color:#111521;padding:12px;z-index:999}.skip-link:focus{top:10px}@media(max-width:460px){.contact-card strong{font-size:17px;overflow-wrap:anywhere}.navbtn{padding:10px 13px;font-size:10px}}

/* VibeHaus 1.1 – orbit and service details */
.core{justify-content:center;gap:0;overflow:visible}.core span{position:absolute;top:21px;left:0;right:0;z-index:2;font-size:8px;letter-spacing:2.8px}.core .core-mark{position:absolute;width:156px;height:121px;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;object-fit:contain}.core small{position:absolute;bottom:19px;left:0;right:0;z-index:2;font-size:8px;letter-spacing:1.3px}.orb-btn{display:inline-flex;align-items:center;text-decoration:none}.orb-btn:focus-visible,.button:focus-visible{outline:2px solid #30c9ff;outline-offset:5px}.detail-stack{margin-top:46px;display:grid;gap:22px}.detail-block{scroll-margin-top:18px;padding:clamp(25px,4vw,48px);border:1px solid #333b50;background:linear-gradient(130deg,#131926,#0b101a);position:relative}.detail-block:target{border-color:#42bbff;box-shadow:0 0 40px rgba(48,201,255,.09)}.detail-index{color:#80a4d7;font-size:10px;letter-spacing:2.3px;font-weight:700}.detail-block h3{font:600 clamp(30px,4.4vw,51px)/1.07 'Space Grotesk',sans-serif;letter-spacing:-1.8px;margin:17px 0}.detail-block>p{color:#afb8c9;font-size:15px;line-height:1.85;max-width:850px}.feature-line{display:flex;flex-wrap:wrap;gap:9px;margin:27px 0 34px}.feature-line span{border:1px solid #374258;background:#121b2b;padding:10px 15px;border-radius:28px;font-size:12px;color:#d4dce9}.detail-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #333c4e;padding-top:22px;flex-wrap:wrap}.detail-bottom span{font-size:11px;letter-spacing:1.3px;color:#8f9bb0}.detail-bottom a,.price-card a{color:#67d6ff;font-size:11px;font-weight:700;letter-spacing:1px}.detail-bottom a:hover,.price-card a:hover{text-decoration:underline;text-underline-offset:5px}.pricing-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-top:30px}.price-card{background:#0b111d;border:1px solid #35405a;padding:23px;display:flex;flex-direction:column;gap:8px;min-width:0}.price-card.featured{border-color:#8d68ec;background:linear-gradient(180deg,#18132b,#0c1220)}.price-card>span{letter-spacing:1.6px;font-size:10px;color:#9da9c3}.price-card h4{font:600 21px/1.15 'Space Grotesk';margin:14px 0 3px}.price{font:600 clamp(24px,2.5vw,33px) 'Space Grotesk';white-space:nowrap}.price small{font:400 12px 'DM Sans';color:#9ca6b8}.price-card p{font-size:12px;line-height:1.75;color:#aeb8c9;flex:1}.price-card a{margin-top:16px}.package-note{font-size:12px!important;line-height:1.7!important;color:#8f9ab0!important;max-width:none!important}@media(max-width:1050px){.pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.core span{top:17px;font-size:7px}.core .core-mark{width:127px;height:101px}.core small{bottom:17px;font-size:7px}.detail-block{padding:23px}.pricing-grid{grid-template-columns:1fr}.price-card{min-height:210px}.feature-line span{font-size:11px}.detail-bottom{align-items:flex-start;flex-direction:column}}
