/* BrandSolution360 Dynamic | Agency design and responsive components */
:root {
  --ink: #101010;
  --ink-soft: #191919;
  --paper: #ffffff;
  --paper-soft: #f7f7f5;
  --muted: #737373;
  --line: #e9e9e7;
  --orange: #ff4b0b;
  --orange-deep: #f23b00;
  --amber: #ffad12;
  --gradient: linear-gradient(110deg, #ff3f08 0%, #ff6b00 52%, #ffad12 100%);
  --font-body: "DM Sans", Arial, sans-serif;
  --font-display: "Manrope", "DM Sans", Arial, sans-serif;
  --container: 1180px;
  --radius: 22px;
  --shadow: 0 18px 55px rgba(16,16,16,.08);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 92px; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--font-body); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
img { max-width: 100%; display: block; }
.container { width: min(var(--container), calc(100% - 48px)); margin-inline: auto; }
.announcement-bar { min-height: 36px; padding: 8px 24px; display:flex; align-items:center; justify-content:center; gap:10px; background:var(--ink); color:#e7e7e7; font-size:11px; letter-spacing:.04em; }
.announcement-dot { width:6px; height:6px; border-radius:50%; background:var(--orange); box-shadow:0 0 0 4px rgba(255,75,11,.14); }
.announcement-bar a { color:#fff; font-weight:700; margin-left:8px; }
.announcement-bar a span { color:var(--orange); }
.site-header { position:sticky; top:0; z-index:50; background:rgba(255,255,255,.92); backdrop-filter:blur(16px); border-bottom:1px solid rgba(16,16,16,.06); }
.header-inner { min-height:82px; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.brand { display:flex; align-items:center; width:235px; flex-shrink:0; }
.brand img { width:100%; height:auto; }
.main-nav { display:flex; align-items:center; gap:32px; }
.nav-links { display:flex; align-items:center; gap:27px; }
.nav-cta, .btn { display:inline-flex; align-items:center; justify-content:center; gap:12px; border:0; border-radius:999px; padding:14px 21px; background:var(--gradient); color:white; font-size:12px; font-weight:800; letter-spacing:.01em; box-shadow:0 9px 22px rgba(255,75,11,.19); transition:transform .2s ease, box-shadow .2s ease; }
.nav-cta { padding:13px 19px; white-space:nowrap; }
.nav-cta:hover, .btn:hover { transform:translateY(-2px); box-shadow:0 13px 27px rgba(255,75,11,.26); }
.btn-dark { background:var(--ink); box-shadow:none; }
.btn-dark:hover { box-shadow:0 10px 22px rgba(16,16,16,.16); }
.btn-outline { background:transparent; color:var(--ink); border:1px solid rgba(16,16,16,.18); box-shadow:none; }
.btn-outline:hover { border-color:var(--orange); color:var(--orange); box-shadow:none; }
.menu-toggle { display:none; width:44px; height:44px; border:1px solid var(--line); border-radius:50%; background:white; align-items:center; justify-content:center; flex-direction:column; gap:5px; cursor:pointer; }
.menu-toggle span { width:17px; height:2px; background:var(--ink); border-radius:4px; transition:.2s; }

.hero { position:relative; overflow:hidden; background:var(--ink); color:white; min-height:650px; display:flex; align-items:center; }
.hero::before { content:""; position:absolute; width:680px; height:680px; border-radius:50%; right:-130px; top:-230px; background:radial-gradient(circle, rgba(255,75,11,.25), rgba(255,75,11,0) 68%); pointer-events:none; }
.hero::after { content:""; position:absolute; width:520px; height:520px; border:1px solid rgba(255,255,255,.08); border-radius:50%; right:8%; top:12%; box-shadow:0 0 0 48px rgba(255,255,255,.018), 0 0 0 96px rgba(255,255,255,.014); pointer-events:none; }
.hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:52px; padding-block:100px 110px; }
.eyebrow { display:inline-flex; align-items:center; gap:10px; color:var(--orange); font-size:10px; line-height:1.4; letter-spacing:.17em; font-weight:800; text-transform:uppercase; }
.eyebrow::before { content:""; width:25px; height:1px; background:currentColor; }
.hero h1 { max-width:690px; margin:23px 0 22px; font:800 clamp(48px,6.1vw,78px)/1.04 var(--font-display); letter-spacing:-.065em; }
.gradient-text { background:var(--gradient); -webkit-background-clip:text; background-clip:text; color:transparent; }
.hero-copy { max-width:540px; color:#bdbdbd; font-size:16px; line-height:1.8; }
.hero-actions { display:flex; flex-wrap:wrap; gap:13px; margin-top:32px; }
.hero-note { margin-top:38px; color:#777; font-size:10px; letter-spacing:.13em; text-transform:uppercase; }
.hero-art { min-height:410px; display:grid; place-items:center; position:relative; }
.orbit { width:min(390px, 90%); aspect-ratio:1; position:relative; display:grid; place-items:center; border:1px solid rgba(255,255,255,.16); border-radius:50%; box-shadow:0 0 0 36px rgba(255,255,255,.025), 0 0 0 72px rgba(255,255,255,.018); }
.orbit::before { content:""; position:absolute; inset:14%; border:1px dashed rgba(255,255,255,.2); border-radius:50%; }
.orbit::after { content:""; position:absolute; width:18px; height:18px; top:9%; right:19%; border-radius:50%; background:var(--gradient); box-shadow:0 0 35px rgba(255,75,11,.8); }
.orbit-center { width:56%; aspect-ratio:1; border-radius:50%; display:grid; place-items:center; background:linear-gradient(145deg,#242424,#101010); border:1px solid rgba(255,255,255,.13); box-shadow:0 25px 70px rgba(0,0,0,.5); }
.orbit-center img { width:82%; filter:drop-shadow(0 8px 15px rgba(0,0,0,.2)); }
.orbit-label { position:absolute; padding:9px 13px; border:1px solid rgba(255,255,255,.15); border-radius:999px; color:#eee; background:rgba(20,20,20,.8); font-size:9px; letter-spacing:.17em; font-weight:800; }
.orbit-label.one { top:12%; left:0; }
.orbit-label.two { right:-7%; top:48%; }
.orbit-label.three { bottom:8%; left:12%; }
.hero-bottom { position:absolute; z-index:2; left:0; right:0; bottom:0; border-top:1px solid rgba(255,255,255,.1); }
.hero-bottom-inner { display:flex; align-items:center; justify-content:space-between; padding:17px 0; color:#888; font-size:10px; letter-spacing:.13em; text-transform:uppercase; }
.hero-bottom strong { color:#fff; font-weight:700; }
.scroll-cue { display:flex; align-items:center; gap:9px; }
.scroll-cue span { width:25px; height:1px; background:var(--orange); }

.section { padding:112px 0; }
.section-soft { background:var(--paper-soft); }
.section-dark { background:var(--ink); color:white; }
.section-heading { max-width:690px; margin-bottom:48px; }
.section-heading.center { text-align:center; margin-inline:auto; }
.section-heading.center .eyebrow { justify-content:center; }
.section-heading h2, .intro-copy h2, .about-copy h2, .contact-copy h2 { margin:17px 0 15px; font:800 clamp(34px,4.2vw,52px)/1.12 var(--font-display); letter-spacing:-.055em; }
.section-heading p, .section-lead { color:var(--muted); font-size:15px; line-height:1.8; margin:0; }
.section-dark .section-heading p { color:#aaa; }
.intro-grid { display:grid; grid-template-columns:1fr .8fr; align-items:center; gap:90px; }
.intro-copy h2 { max-width:650px; }
.intro-copy p { color:var(--muted); line-height:1.85; font-size:15px; }
.check-list { display:grid; gap:14px; padding:0; margin:27px 0 0; list-style:none; }
.check-list li { display:flex; align-items:flex-start; gap:12px; color:#444; font-size:13px; line-height:1.6; }
.check-list li::before { content:"✓"; display:grid; place-items:center; flex:0 0 21px; width:21px; height:21px; border-radius:50%; background:#fff0e9; color:var(--orange); font-weight:900; font-size:11px; }
.intro-card { position:relative; min-height:350px; padding:42px; border-radius:var(--radius); overflow:hidden; background:var(--ink); color:white; display:flex; flex-direction:column; justify-content:space-between; box-shadow:var(--shadow); }
.intro-card::before { content:""; position:absolute; width:360px; height:360px; right:-110px; top:-100px; border-radius:50%; border:1px solid rgba(255,255,255,.13); box-shadow:0 0 0 30px rgba(255,255,255,.025),0 0 0 60px rgba(255,255,255,.02); }
.intro-card-mark { position:relative; z-index:1; width:66px; height:66px; display:grid; place-items:center; background:#fff; border-radius:20px; }
.intro-card-mark img { width:56px; height:56px; object-fit:contain; }
.intro-card h3 { position:relative; z-index:1; max-width:330px; margin:55px 0 10px; font:800 35px/1.12 var(--font-display); letter-spacing:-.05em; }
.intro-card p { position:relative; z-index:1; max-width:300px; color:#aaa; font-size:13px; line-height:1.7; }
.card-kicker { position:relative; z-index:1; color:var(--orange); font-size:9px; letter-spacing:.17em; font-weight:800; text-transform:uppercase; }

.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }
.service-card { position:relative; min-height:300px; padding:29px; border:1px solid var(--line); border-radius:18px; background:#fff; transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease; overflow:hidden; }
.service-card:hover { transform:translateY(-6px); box-shadow:var(--shadow); border-color:#ffd1c1; }
.service-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:26px; }
.service-icon { width:48px; height:48px; display:grid; place-items:center; border-radius:15px; background:#fff0e9; color:var(--orange); font-size:23px; font-weight:700; }
.service-number { color:#bdbdbd; font:700 11px var(--font-display); letter-spacing:.1em; }
.service-card h3 { margin:0 0 10px; font:800 19px/1.25 var(--font-display); letter-spacing:-.035em; }
.service-card p { margin:0; color:var(--muted); font-size:12px; line-height:1.7; }
.service-tag { display:inline-block; margin-top:19px; color:var(--orange-deep); font-size:10px; font-weight:800; }
.service-details { margin:18px 0 0; padding:16px 0 0; border-top:1px solid #f0f0ef; list-style:none; display:grid; gap:8px; }
.service-details li { color:#666; font-size:11px; display:flex; gap:8px; }
.service-details li::before { content:"+"; color:var(--orange); font-weight:900; }

.about-grid { display:grid; grid-template-columns:.82fr 1fr; gap:85px; align-items:center; }
.about-visual { position:relative; min-height:460px; border-radius:var(--radius); background:#f3f3f1; overflow:hidden; display:grid; place-items:center; }
.about-visual::before { content:""; position:absolute; width:360px; height:360px; border-radius:50%; border:1px solid rgba(255,75,11,.24); box-shadow:0 0 0 35px rgba(255,75,11,.04),0 0 0 70px rgba(255,75,11,.025); }
.about-visual img { position:relative; z-index:1; width:74%; max-width:340px; }
.about-stamp { position:absolute; z-index:2; right:24px; bottom:24px; padding:15px 18px; background:var(--ink); color:#fff; border-radius:14px; font:800 12px var(--font-display); }
.about-stamp span { display:block; color:var(--orange); font-size:9px; letter-spacing:.14em; margin-bottom:4px; }
.about-copy p { color:var(--muted); font-size:14px; line-height:1.85; }
.about-pillars { display:grid; grid-template-columns:1fr 1fr; gap:13px; margin-top:28px; }
.pillar { padding:19px; border:1px solid var(--line); border-radius:15px; }
.pillar h3 { margin:0 0 7px; font:800 13px var(--font-display); }
.pillar p { margin:0; font-size:11px; line-height:1.7; }

.process-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:15px; counter-reset:steps; }
.process-card { padding:28px 24px; border:1px solid rgba(255,255,255,.13); border-radius:17px; background:rgba(255,255,255,.035); }
.process-number { color:var(--orange); font:800 13px var(--font-display); letter-spacing:.12em; }
.process-card h3 { margin:35px 0 9px; font:800 20px var(--font-display); letter-spacing:-.04em; }
.process-card p { margin:0; color:#aaa; font-size:12px; line-height:1.8; }

.work-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.work-card { border:1px solid var(--line); border-radius:18px; overflow:hidden; background:white; transition:transform .2s ease, box-shadow .2s ease; }
.work-card:hover { transform:translateY(-5px); box-shadow:var(--shadow); }
.work-visual { min-height:245px; position:relative; overflow:hidden; display:grid; place-items:center; }
.visual-brand { background:linear-gradient(135deg,#1a1a1a,#353535); }
.visual-web { background:linear-gradient(135deg,#fff0e8,#ffd7c4); }
.visual-campaign { background:linear-gradient(135deg,#ff4b0b,#ffad12); }
.mockup-window { width:72%; min-height:145px; padding:13px; border-radius:10px; background:#fff; box-shadow:0 20px 40px rgba(0,0,0,.18); transform:rotate(-5deg); }
.mockup-top { display:flex; gap:4px; margin-bottom:12px; }
.mockup-top i { width:5px; height:5px; border-radius:50%; background:#ddd; }
.mockup-line { height:6px; width:60%; border-radius:4px; background:#ececec; margin:8px 0; }
.mockup-line.short { width:34%; }
.mockup-block { height:48px; border-radius:5px; margin-top:13px; background:var(--gradient); }
.visual-brand .mockup-window { width:65%; min-height:160px; background:#f7f4ef; transform:rotate(4deg); }
.visual-brand .mockup-block { height:78px; background:linear-gradient(120deg,#ff4b0b,#ffad12); }
.visual-campaign .mockup-window { width:64%; transform:rotate(-7deg); }
.visual-campaign .mockup-block { height:80px; background:var(--ink); }
.work-caption { padding:23px; }
.work-type { color:var(--orange); font-size:9px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.work-caption h3 { margin:9px 0 8px; font:800 18px var(--font-display); letter-spacing:-.035em; }
.work-caption p { margin:0; color:var(--muted); font-size:12px; line-height:1.7; }
.concept-note { margin-top:22px; color:#888; font-size:11px; text-align:center; }

.package-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; align-items:stretch; }
.package-card { position:relative; padding:31px; border:1px solid var(--line); border-radius:19px; background:#fff; display:flex; flex-direction:column; }
.package-card.featured { border:1px solid var(--orange); box-shadow:0 18px 45px rgba(255,75,11,.1); }
.popular-label { position:absolute; top:-12px; right:22px; padding:7px 12px; background:var(--gradient); color:#fff; border-radius:99px; font-size:9px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.package-label { color:var(--orange); font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.package-card h3 { margin:12px 0 8px; font:800 25px var(--font-display); letter-spacing:-.04em; }
.package-card p { min-height:57px; color:var(--muted); font-size:12px; line-height:1.7; }
.package-list { list-style:none; padding:18px 0 23px; margin:0 0 24px; border-top:1px solid var(--line); display:grid; gap:13px; }
.package-list li { display:flex; gap:10px; color:#4d4d4d; font-size:11px; line-height:1.5; }
.package-list li::before { content:"✓"; color:var(--orange); font-weight:900; }
.package-card .btn { margin-top:auto; width:100%; }

.insight-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.insight-card { padding:27px; border:1px solid rgba(255,255,255,.13); border-radius:17px; background:#191919; }
.insight-meta { display:flex; justify-content:space-between; gap:10px; color:var(--orange); font-size:9px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.insight-card h3 { margin:24px 0 12px; font:800 19px/1.35 var(--font-display); letter-spacing:-.035em; }
.insight-card p { margin:0; color:#999; font-size:12px; line-height:1.8; }

.faq-list { max-width:850px; margin:0 auto; border-top:1px solid var(--line); }
.faq-item { border-bottom:1px solid var(--line); }
.faq-question { width:100%; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:22px 0; border:0; background:transparent; color:var(--ink); text-align:left; cursor:pointer; font:800 15px var(--font-display); }
.faq-question span:last-child { color:var(--orange); font-size:22px; font-weight:400; transition:transform .2s; }

.contact-section { padding:105px 0; background:var(--paper-soft); }
.contact-grid { display:grid; grid-template-columns:.9fr 1fr; gap:80px; align-items:start; }
.contact-copy p { color:var(--muted); font-size:14px; line-height:1.85; }
.contact-detail { display:grid; gap:12px; margin-top:28px; }
.contact-detail a, .contact-detail div { display:flex; align-items:center; gap:12px; color:#555; font-size:12px; }
.contact-detail .detail-icon { width:34px; height:34px; display:grid; place-items:center; border-radius:11px; background:#fff0e9; color:var(--orange); font-weight:800; }
.contact-form { padding:31px; background:white; border:1px solid var(--line); border-radius:20px; box-shadow:var(--shadow); }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.form-field { display:grid; gap:8px; margin-bottom:15px; }
.form-field.full { grid-column:1/-1; }
.form-field label { color:#444; font-size:10px; font-weight:800; letter-spacing:.04em; }
.form-field input, .form-field select, .form-field textarea { width:100%; border:1px solid #e7e7e5; border-radius:10px; padding:13px 14px; outline:none; background:#fff; color:var(--ink); font-size:12px; transition:border .2s, box-shadow .2s; }
.form-field textarea { min-height:115px; resize:vertical; }
.form-field input:focus, .form-field select:focus, .form-field textarea:focus { border-color:var(--orange); box-shadow:0 0 0 3px rgba(255,75,11,.08); }
.form-message { margin:14px 0 0; color:#666; font-size:11px; line-height:1.6; }
.form-message.success { color:#16834a; }
.contact-form .btn { width:100%; cursor:pointer; }

.site-footer { background:#101010; color:#fff; padding:58px 0 22px; }
.footer-main { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:50px; padding-bottom:45px; }
.footer-brand { width:220px; padding:10px 12px; border-radius:8px; background:#fff; }
.footer-brand img { width:100%; }
.footer-statement { max-width:330px; margin:22px 0 0; color:#aaa; font:700 22px/1.35 var(--font-display); letter-spacing:-.04em; }
.footer-heading { margin:0 0 17px; color:#fff; font:800 11px var(--font-display); letter-spacing:.1em; text-transform:uppercase; }
.footer-links { display:grid; gap:12px; }
.footer-links a { color:#999; font-size:11px; transition:color .2s; }
.footer-links a:hover { color:var(--orange); }
.footer-bottom { display:flex; justify-content:space-between; gap:20px; padding-top:20px; border-top:1px solid rgba(255,255,255,.12); color:#777; font-size:10px; }
.back-to-top { position:fixed; z-index:30; right:22px; bottom:22px; width:42px; height:42px; display:grid; place-items:center; border-radius:50%; background:var(--gradient); color:#fff; font-size:19px; box-shadow:0 8px 24px rgba(255,75,11,.25); opacity:0; pointer-events:none; transform:translateY(10px); transition:.2s; }
.back-to-top.visible { opacity:1; pointer-events:auto; transform:translateY(0); }

@media (max-width: 1000px) {
  .main-nav { gap:18px; }
  .nav-links { gap:16px; }
  .hero-grid { gap:25px; }
  .intro-grid, .about-grid, .contact-grid { gap:45px; }
  .service-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 760px) {
  .container { width:min(100% - 34px, var(--container)); }
  .announcement-bar { font-size:9px; padding-inline:10px; }
  .announcement-bar a { margin-left:0; }
  .header-inner { min-height:70px; }
  .brand { width:195px; }
  .menu-toggle { display:flex; }
  .main-nav { display:none; position:absolute; top:70px; left:0; right:0; padding:20px 22px 24px; background:#fff; border-bottom:1px solid var(--line); box-shadow:0 18px 25px rgba(0,0,0,.08); align-items:stretch; flex-direction:column; gap:20px; }
  .nav-links { flex-direction:column; align-items:stretch; gap:0; }
  .nav-cta { width:100%; }
  .hero { min-height:auto; }
  .hero-grid { grid-template-columns:1fr; padding-block:78px 90px; }
  .hero h1 { font-size:clamp(46px,12vw,66px); }
  .hero-copy { font-size:14px; }
  .hero-art { min-height:320px; margin-top:10px; }
  .orbit { width:280px; }
  .hero-bottom-inner { font-size:8px; }
  .hero-bottom-inner > span:first-child { max-width:55%; line-height:1.5; }
  .section { padding:78px 0; }
  .section-heading { margin-bottom:32px; }
  .intro-grid, .about-grid, .contact-grid { grid-template-columns:1fr; gap:34px; }
  .intro-card { min-height:300px; padding:30px; }
  .about-visual { min-height:340px; }
  .process-grid { grid-template-columns:repeat(2,1fr); }
  .work-grid, .package-grid, .insight-grid { grid-template-columns:1fr; }
  .work-visual { min-height:220px; }
  .package-card { padding:27px; }
  .footer-main { grid-template-columns:1fr 1fr; gap:32px; }
  .footer-main > div:first-child { grid-column:1/-1; }
}
@media (max-width: 480px) {
  .container { width:calc(100% - 28px); }
  .announcement-bar { gap:7px; font-size:8px; letter-spacing:0; }
  .brand { width:170px; }
  .hero h1 { font-size:45px; }
  .hero-actions { flex-direction:column; align-items:stretch; }
  .hero-actions .btn { width:100%; }
  .hero-art { min-height:280px; }
  .orbit { width:235px; box-shadow:0 0 0 22px rgba(255,255,255,.025), 0 0 0 44px rgba(255,255,255,.018); }
  .orbit-label { font-size:7px; padding:7px 9px; }
  .hero-bottom-inner { align-items:flex-start; }
  .scroll-cue { display:none; }
  .section-heading h2, .intro-copy h2, .about-copy h2, .contact-copy h2 { font-size:34px; }
  .service-grid { grid-template-columns:1fr; }
  .service-card { min-height:0; }
  .about-pillars { grid-template-columns:1fr; }
  .process-grid { grid-template-columns:1fr; }
  .form-grid { grid-template-columns:1fr; gap:0; }
  .form-field.full { grid-column:auto; }
  .contact-form { padding:22px; }
  .footer-main { grid-template-columns:1fr 1fr; gap:28px 18px; }
  .footer-brand { width:185px; }
  .footer-statement { font-size:19px; }
  .footer-bottom { flex-direction:column; gap:8px; }
}


/* =========================================================
   PREMIUM EXPERIENCE LAYER — BrandSolution360
   ========================================================= */
:root { --orange-glow: rgba(255,75,11,.24); --ease-premium: cubic-bezier(.22,1,.36,1); }
::selection { color:#fff; background:var(--orange); }
body { overflow-x:clip; }
body.drawer-open { overflow:hidden; }
.scroll-progress { position:fixed; z-index:120; inset:0 0 auto; height:3px; pointer-events:none; }
.scroll-progress span { display:block; width:100%; height:100%; transform:scaleX(0); transform-origin:left center; background:var(--gradient); box-shadow:0 0 12px rgba(255,75,11,.55); }
.site-header { transition:box-shadow .35s ease, background .35s ease, border-color .35s ease; }
.site-header.is-scrolled { background:rgba(255,255,255,.96); border-color:rgba(16,16,16,.09); box-shadow:0 12px 35px rgba(16,16,16,.055); }
.brand img { transition:transform .35s var(--ease-premium); }
.brand:hover img { transform:scale(1.025); }
.hero { isolation:isolate; }
.hero::before { animation:heroGlow 12s ease-in-out infinite alternate; }
.hero-grid { animation:heroEnter .95s var(--ease-premium) both; }
.hero-title { text-wrap:balance; }
.hero-title .gradient-text { background-size:180% 180%; animation:gradientFlow 7s ease infinite; }
.hero-typing-line { min-height:31px; margin-top:-7px; margin-bottom:16px; color:#d9d9d9; font:600 17px/1.5 var(--font-display); letter-spacing:-.02em; }
.typed-text { color:#ff7b39; }
.typing-caret { display:inline-block; width:2px; height:19px; margin-left:5px; vertical-align:-3px; background:var(--orange); animation:caretBlink .8s steps(2,start) infinite; }
.hero-art { animation:artFloat 7s ease-in-out infinite; }
.orbit { animation:orbitSpin 46s linear infinite; }
.orbit-center { animation:orbitCounter 46s linear infinite; }
.orbit-label { box-shadow:0 8px 30px rgba(0,0,0,.18); backdrop-filter:blur(12px); }
.btn { position:relative; overflow:hidden; isolation:isolate; }
.btn::before,.nav-cta::before { content:""; position:absolute; z-index:-1; top:-80%; left:-45%; width:30%; height:260%; transform:rotate(22deg); background:rgba(255,255,255,.24); transition:left .7s var(--ease-premium); }
.btn:hover::before,.nav-cta:hover::before { left:130%; }
.btn span { transition:transform .25s var(--ease-premium); }
.btn:hover span { transform:translate(3px,-2px); }
.stats-section { padding:28px 0; background:#fff; border-bottom:1px solid var(--line); }
.stats-grid { display:grid; grid-template-columns:repeat(3,1fr) 1.2fr; align-items:center; gap:20px; }
.stat-item { min-height:67px; display:flex; flex-direction:column; justify-content:center; gap:4px; padding-left:25px; border-left:1px solid var(--line); }
.stat-item:first-child { padding-left:0; border-left:0; }
.stat-value { color:var(--ink); font:800 31px/1 var(--font-display); letter-spacing:-.06em; }
.stat-item span { color:var(--muted); font-size:10px; }
.stat-signoff { display:flex; align-items:center; justify-content:flex-end; gap:12px; color:#777; font-size:10px; line-height:1.55; }
.stat-signoff b { color:var(--ink); font-size:12px; }
.stat-spark { color:var(--orange); font-size:34px; animation:sparkTurn 12s linear infinite; }
.marquee-strip { overflow:hidden; padding:16px 0; background:var(--orange); color:#fff; }
.marquee-track { display:flex; align-items:center; width:max-content; animation:marqueeMove 32s linear infinite; }
.marquee-track span { display:flex; align-items:center; gap:27px; padding-right:27px; white-space:nowrap; font:800 10px var(--font-display); letter-spacing:.17em; }
.marquee-track i { font-style:normal; font-size:14px; color:#ffcf8a; }
.marquee-strip:hover .marquee-track { animation-play-state:paused; }
.reveal { opacity:0; transform:translate3d(0,26px,0); transition:opacity .75s var(--ease-premium) var(--reveal-delay,0ms),transform .75s var(--ease-premium) var(--reveal-delay,0ms); }
.reveal.is-visible { opacity:1; transform:translate3d(0,0,0); }
.service-card,.work-card,.package-card { transform-style:preserve-3d; will-change:transform; }
.service-card::after,.work-card::after,.package-card::after { content:""; position:absolute; inset:0; pointer-events:none; opacity:0; border-radius:inherit; background:radial-gradient(circle at var(--card-x,50%) var(--card-y,50%),rgba(255,75,11,.10),transparent 42%); transition:opacity .25s ease; }
.service-card:hover::after,.work-card:hover::after,.package-card:hover::after { opacity:1; }
.service-icon { transition:transform .35s var(--ease-premium),background .35s ease,color .35s ease; }
.service-card:hover .service-icon { transform:rotate(-8deg) scale(1.08); background:var(--gradient); color:#fff; }
.process-card { transition:background .3s ease,border-color .3s ease,transform .3s var(--ease-premium); }
.process-card:hover { transform:translateY(-6px); background:rgba(255,255,255,.075); border-color:rgba(255,75,11,.5); }
.work-visual .mockup-window { transition:transform .65s var(--ease-premium),box-shadow .65s ease; }
.work-card:hover .mockup-window { transform:rotate(0) scale(1.055); box-shadow:0 25px 50px rgba(0,0,0,.2); }
.package-card { transition:border-color .3s ease,box-shadow .3s ease; }
.package-card:hover { border-color:#ffb79c; box-shadow:0 22px 60px rgba(16,16,16,.09); }
.insight-card { transition:transform .3s var(--ease-premium),background .3s ease,border-color .3s ease; }
.insight-card:hover { transform:translateY(-6px); background:#202020; border-color:rgba(255,75,11,.45); }
.faq-question span:last-child { display:grid; place-items:center; width:30px; height:30px; border:1px solid #f0d6ca; border-radius:50%; transition:transform .3s ease,background .3s ease,color .3s ease; }
.contact-form { transition:transform .35s var(--ease-premium),box-shadow .35s ease; }
.contact-form:hover { transform:translateY(-3px); box-shadow:0 25px 65px rgba(16,16,16,.1); }
.footer-links a { width:fit-content; position:relative; }
.footer-links a::after { content:""; position:absolute; left:0; right:100%; bottom:-4px; height:1px; background:var(--orange); transition:right .25s ease; }
.footer-links a:hover::after { right:0; }
.back-to-top { transition:opacity .25s ease,transform .25s var(--ease-premium),box-shadow .25s ease; }
.back-to-top:hover { box-shadow:0 12px 30px rgba(255,75,11,.4); transform:translateY(-4px); }
.drawer-overlay,.mobile-drawer { display:none; }
@keyframes heroEnter { from {opacity:0;transform:translateY(24px)} to {opacity:1;transform:translateY(0)} }
@keyframes heroGlow { from {transform:translate3d(-2%,0,0) scale(.96);opacity:.65} to {transform:translate3d(3%,4%,0) scale(1.08);opacity:1} }
@keyframes gradientFlow { 0%,100% {background-position:0% 50%} 50% {background-position:100% 50%} }
@keyframes caretBlink { to {visibility:hidden} }
@keyframes artFloat { 0%,100% {transform:translateY(0)} 50% {transform:translateY(-12px)} }
@keyframes orbitSpin { to {transform:rotate(360deg)} }
@keyframes orbitCounter { to {transform:rotate(-360deg)} }
@keyframes sparkTurn { to {transform:rotate(360deg)} }
@keyframes marqueeMove { to {transform:translateX(-50%)} }

@media (max-width:1060px) {
  .main-nav { display:none !important; }
  .menu-toggle { display:flex !important; }
  .mobile-drawer { display:flex; position:fixed; z-index:110; top:0; right:0; bottom:0; width:min(430px,90vw); height:100dvh; flex-direction:column; overflow-y:auto; background:#111; color:#fff; transform:translateX(105%); transition:transform .55s var(--ease-premium); box-shadow:-25px 0 70px rgba(0,0,0,.25); }
  .mobile-drawer.is-open { transform:translateX(0); }
  .drawer-overlay { display:block; position:fixed; z-index:105; inset:0; background:rgba(7,7,7,.62); opacity:0; visibility:hidden; backdrop-filter:blur(5px); transition:opacity .35s ease,visibility .35s ease; }
  .drawer-overlay.is-visible { opacity:1; visibility:visible; }
  .drawer-head { min-height:82px; padding:0 24px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid rgba(255,255,255,.1); }
  .drawer-brand { display:block; width:205px; padding:8px 10px; border-radius:6px; background:#fff; }
  .drawer-brand img { width:100%; }
  .drawer-close { width:40px; height:40px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.2); border-radius:50%; background:transparent; color:#fff; font-size:27px; line-height:1; cursor:pointer; transition:background .25s ease,transform .25s ease; }
  .drawer-close:hover { background:var(--orange); border-color:var(--orange); transform:rotate(90deg); }
  .drawer-body { display:flex; flex:1; flex-direction:column; padding:28px 25px 24px; }
  .drawer-kicker { margin:0 0 13px; color:#ff7b48; font-size:9px; font-weight:800; letter-spacing:.19em; }
  .drawer-links { display:grid; }
  .drawer-contact { margin-top:25px; padding-top:22px; border-top:1px solid rgba(255,255,255,.1); }
  .drawer-contact-links { display:grid; gap:11px; }
  .drawer-contact-link { display:flex; align-items:center; gap:12px; color:#fff; }
  .drawer-contact-icon { width:34px; height:34px; display:grid; place-items:center; border-radius:11px; background:rgba(255,75,11,.14); color:#ff7a46; font-size:13px; font-weight:800; }
  .drawer-contact-link small { display:block; margin-bottom:3px; color:#888; font-size:8px; font-weight:800; letter-spacing:.15em; }
  .drawer-contact-link strong { display:block; font-size:11px; font-weight:600; }
  .drawer-social-area { margin-top:22px; }
  .drawer-socials { display:flex; flex-wrap:wrap; gap:7px; }
  .drawer-social-chip { display:inline-flex; align-items:center; gap:7px; padding:9px 11px; border:1px solid rgba(255,255,255,.14); border-radius:99px; color:#e7e7e7; font-size:9px; font-weight:700; }
  a.drawer-social-chip:hover { border-color:var(--orange); background:rgba(255,75,11,.12); color:#ff956b; }
  .drawer-cta { display:flex; align-items:center; justify-content:space-between; margin-top:26px; padding:15px 18px; border-radius:12px; background:var(--gradient); color:#fff; font-size:12px; font-weight:800; box-shadow:0 12px 30px rgba(255,75,11,.18); }
  .drawer-footnote { margin:auto 0 0; padding-top:24px; color:#666; font-size:9px; letter-spacing:.06em; }
}
@media (max-width:760px) {
  .stats-grid { grid-template-columns:repeat(2,1fr); gap:18px 10px; }
  .stat-item { padding-left:15px; }
  .stat-item:nth-child(3) { padding-left:0; border-left:0; }
  .stat-signoff { justify-content:flex-start; padding-left:15px; }
  .hero-typing-line { font-size:15px; }
}
@media (max-width:420px) {
  .drawer-head { min-height:72px; padding-inline:18px; }
  .drawer-body { padding:23px 19px 20px; }
  .drawer-brand { width:180px; }
  .stats-grid { gap:16px 5px; }
  .stat-value { font-size:27px; }
  .stat-item span { font-size:9px; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  .reveal { opacity:1 !important; transform:none !important; }
}

/* Native WordPress markup, templates and controls */
[hidden] { display:none !important; }
body { --wp-admin-offset:0px; }
body.admin-bar { --wp-admin-offset:32px; }
html:has(body.admin-bar) { scroll-padding-top:115px; }
.site-header { position:relative; top:auto; }
.site-header.is-sticky { position:sticky; top:var(--wp-admin-offset); }
.scroll-progress { top:var(--wp-admin-offset); }
.brand { width:var(--logo-width,220px); }
.nav-cta { position:relative; overflow:hidden; isolation:isolate; }
.nav-links, .footer-links, .drawer-links, .nav-links .sub-menu, .drawer-links .sub-menu { list-style:none; padding:0; margin:0; }
.nav-links > li { position:relative; }
.nav-links > li > a { display:block; padding:16px 0; color:#4e4e4e; font-size:13px; font-weight:750; white-space:nowrap; }
.nav-links > li > a:hover, .nav-links .current-menu-item > a, .nav-links .current-menu-ancestor > a { color:#bd3600; }
.nav-links .menu-item-has-children > a::after { content:"⌄"; padding-left:4px; font-size:.85em; }
.nav-links .sub-menu { position:absolute; z-index:65; top:100%; left:-12px; display:none; min-width:240px; background:#fff; border:1px solid var(--line); border-radius:14px; padding:8px; box-shadow:0 18px 40px #0002; }
.nav-links .sub-menu a { display:block; border-radius:8px; padding:9px 11px; font-size:12px; font-weight:650; }
.nav-links .sub-menu a:hover, .nav-links .sub-menu a:focus-visible { background:#fff1eb; color:#a72a00; }
.nav-links li:hover > .sub-menu, .nav-links li:focus-within > .sub-menu { display:block; }
.main-nav { gap:clamp(12px,2vw,30px); }
.nav-links { gap:clamp(10px,1.65vw,24px); }
.nav-cta, .btn, .drawer-cta, .back-to-top { color:#14100c; }
.btn-dark { color:white; }
.btn-outline { color:var(--ink); }
.hero .btn-outline { color:#fff; border-color:#ffffff45; background:#ffffff08; }
.hero .btn-outline:hover { border-color:var(--orange); color:var(--amber); }
.announcement-dot { flex:0 0 6px; }
.announcement-bar a { white-space:nowrap; }
.hero-copy-wrap, .hero-art, .container > * { min-width:0; }
.orbit-center img, .intro-card-mark img, .about-visual img { height:auto; object-fit:contain; }
.orbit-label, .marquee-track span { text-transform:uppercase; }
.hero-note, .hero-bottom-inner { color:#aaa; }
.typed-text { color:var(--amber); }
.section-heading > p.eyebrow { color:#a83207; font-size:10px; }
.section-dark .section-heading > p.eyebrow { color:var(--amber); }
p.eyebrow { margin:0; }
.subhero { padding:clamp(45px,8vw,108px) 0; color:#fff; background:radial-gradient(ellipse at 84% 0%,#ff4b0b31,transparent 55%),var(--ink); }
.subhero h1 { margin:16px 0 0; max-width:1000px; font:800 clamp(34px,6vw,71px)/1.05 var(--font-display); letter-spacing:-.055em; overflow-wrap:anywhere; }
.subhero p { max-width:620px; margin:17px 0 0; color:#ddd; font-size:16px; line-height:1.65; }
.entry-content { width:min(760px,calc(100% - 36px)); margin:0 auto; padding:clamp(38px,7vw,90px) 0; font-size:17px; line-height:1.75; overflow-wrap:anywhere; }
.entry-content > :first-child { margin-top:0; }
.entry-content h2, .entry-content h3 { font-family:var(--font-display); line-height:1.2; }
.entry-content a:not(.btn), .search-result h2 a:hover { text-decoration:underline; text-underline-offset:3px; }
.entry-content img, .trainer-visual img, .work-visual img { width:100%; height:auto; border-radius:12px; }
.entry-image { margin:0 0 30px; }
.entry-content .alignwide { width:min(var(--container),calc(100vw - 38px)); max-width:none; margin-left:50%; transform:translateX(-50%); }
.entry-content .alignfull { width:100vw; max-width:none; margin-left:50%; transform:translateX(-50%); }
.entry-content .wp-block-image img { width:auto; max-width:100%; }
.entry-cta { margin-top:30px; }
.entry-content input, .entry-content textarea, .search-form input { max-width:100%; padding:10px 12px; border:1px solid #b9b9b9; border-radius:8px; }
.comment-list { padding-left:1.4em; }
.comment-form textarea { display:block; width:100%; }
.comment-form .submit, .search-form .search-submit { border:0; background:var(--gradient); color:#14100c; font-weight:750; cursor:pointer; }
.search-form { margin-top:20px; display:flex; flex-wrap:wrap; gap:8px; }
.search-form label { flex:0 1 330px; }
.search-form .search-field { width:100%; }
.search-result { padding:22px 0; border-bottom:1px solid var(--line); }
.search-result h2 { margin:0 0 10px; }
.search-result p { margin:0; color:#555; }
.nav-links .page-numbers { padding:.4em; }
.navigation.pagination { margin-top:30px; }
.navigation.pagination .nav-links { display:flex; gap:12px; align-items:center; }
.page-numbers.current { color:var(--orange); font-weight:800; }
.service-details:empty, .package-list:empty { display:none; }
.service-details ul, .package-list ul { margin:0; padding:0; list-style:none; display:grid; gap:8px; }
.service-details li, .package-list li { line-height:1.5; }
.card-link, .text-link { font-weight:800; font-size:13px; }
.card-link { display:inline-block; margin-top:18px; }
.card-link span, .text-link span { color:#b73300; }
.insight-card .card-link, .section-dark .text-link, .insight-card .card-link span, .section-dark .text-link span { color:var(--amber); }
.card-link:hover, .text-link:hover, .service-card h3 a:hover, .work-caption h3 a:hover, .package-card h3 a:hover, .insight-card h3 a:hover { text-decoration:underline; text-underline-offset:3px; }
.collection-more { margin:24px 0 0; }
.work-filters { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:18px; }
.work-filters button { cursor:pointer; background:var(--paper); color:var(--ink); border:1px solid #c8c8c8; border-radius:999px; padding:8px 14px; font-size:12px; font-weight:700; }
.work-filters [aria-pressed="true"] { color:#fff; background:var(--ink); border-color:var(--ink); }
.work-visual img { width:100%; height:100%; object-fit:cover; border-radius:0; position:absolute; inset:0; }
.work-visual { position:relative; }
.faq-question { list-style:none; }
.faq-question::-webkit-details-marker { display:none; }
.faq-question span:last-child { flex:0 0 30px; }
.faq-item[open] .faq-question span:last-child { transform:rotate(45deg); background:var(--orange); color:#14100c; border-color:var(--orange); }
.faq-answer { max-width:730px; padding:0 28px 20px 0; color:#555; font-size:15px; line-height:1.65; }
.faq-answer > :first-child { margin-top:0; }
.faq-answer > :last-child { margin-bottom:0; }
.form-message { margin:0 0 16px; padding:10px 12px; border-radius:8px; background:#ecf8ef; color:#153d21; }
.form-message.form-error { background:#ffede7; color:#722200; }
.bsd360-honeypot { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.footer-brand { display:block; max-width:100%; }
.site-footer { background:var(--ink); }
.footer-links a { font-size:13px; color:#b3b3b3; overflow-wrap:anywhere; }
.footer-bottom { color:#aaa; }
.screen-reader-text { border:0; clip:rect(1px,1px,1px,1px); clip-path:inset(50%); height:1px; margin:-1px; overflow:hidden; padding:0; position:absolute; width:1px; white-space:nowrap; }
.skip-link:focus { clip:auto; clip-path:none; width:auto; height:auto; padding:12px 18px; margin:8px; background:#fff; color:#101010; border-radius:5px; z-index:150; }
:focus-visible { outline:2px solid #9b421c; outline-offset:4px; }
.hero :focus-visible, .section-dark :focus-visible, .site-footer :focus-visible, .subhero :focus-visible, .mobile-drawer :focus-visible { outline-color:#ffb880; }
.bsd360-motion .service-card:hover, .bsd360-motion .work-card:hover, .bsd360-motion .package-card:hover { transform:perspective(900px) translateY(-5px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)); }
.reveal:focus-within { opacity:1; transform:none; }
.bsd360-static .hero::before, .bsd360-static .hero-grid, .bsd360-static .gradient-text, .bsd360-static .hero-art, .bsd360-static .orbit, .bsd360-static .orbit-center, .bsd360-static .typing-caret, .bsd360-static .stat-spark, .bsd360-static .marquee-track { animation:none; }
.bsd360-static .service-card:hover, .bsd360-static .work-card:hover, .bsd360-static .package-card:hover, .bsd360-static .process-card:hover, .bsd360-static .insight-card:hover { transform:none; }
.bsd360-static .typing-caret { display:none; }
html:has(body.bsd360-static) { scroll-behavior:auto; }
@media (max-width:1200px) { .nav-links > li > a { font-size:12px; } }
@media (max-width:1060px) {
  .site-header .menu-toggle { display:none !important; }
  .bsd360-js .site-header .menu-toggle { display:flex !important; }
  body:not(.bsd360-js) .site-header .main-nav { display:flex !important; position:static; flex:1; flex-direction:row; gap:0; padding:0; border:0; background:transparent; box-shadow:none; justify-content:flex-end; }
  body:not(.bsd360-js) .header-inner { flex-wrap:wrap; }
  body:not(.bsd360-js) .nav-links { display:flex; flex-flow:row wrap; gap:4px 12px; }
  body:not(.bsd360-js) .nav-links > li > a { padding:7px 0; }
  body:not(.bsd360-js) .nav-cta { display:none; }
  .drawer-links > li { border-bottom:1px solid #fff2; }
  .drawer-links > li > a { display:flex; justify-content:space-between; align-items:center; gap:10px; min-height:46px; font-weight:750; font-size:15px; }
  .drawer-links > li > a::after { content:"↗"; color:var(--orange); }
  .drawer-links .sub-menu { display:flex; flex-wrap:wrap; gap:8px 13px; padding:0 0 12px; }
  .drawer-links .sub-menu a { display:block; font-size:12px; color:#bbb; padding:4px 0; }
  .drawer-links a:hover, .drawer-links .current-menu-item > a { color:var(--amber); }
  .mobile-drawer { top:var(--wp-admin-offset); height:calc(100dvh - var(--wp-admin-offset)); }
  .drawer-overlay { top:var(--wp-admin-offset); }
  .drawer-footnote { color:#aaa; }
}
@media (max-width:782px) { body.admin-bar { --wp-admin-offset:46px; } }
@media (max-width:760px) { .brand { width:min(var(--logo-width),195px); } }
@media (max-width:600px) {
  body.admin-bar .site-header.is-sticky { top:0; }
  html:has(body.admin-bar) { scroll-padding-top:82px; }
}
@media (max-width:480px) {
  .brand { width:min(var(--logo-width),170px); }
  .hero h1 { font-size:clamp(34px,11.5vw,46px); }
  .hero-grid { padding-top:60px; }
}
@media (prefers-reduced-motion:reduce) {
  .typing-caret { display:none; }
  .bsd360-motion .service-card:hover, .bsd360-motion .work-card:hover, .bsd360-motion .package-card:hover { transform:none; }
}
