src/ApplicationBundle/Modules/HoneybeeWeb/Resources/views/pages/partners.html.twig line 1

Open in your IDE?
  1. {% include '@Application/inc/central_header.html.twig' %}
  2. <style>
  3. /* ── Design Tokens ─────────────────────────────────────────────────────────── */
  4. :root {
  5.     --pol-amber:   #C07D2A;
  6.     --pol-dark:    #1A1D2E;
  7.     --pol-dark-2:  #252840;
  8.     --pol-cream:   #F7F5F0;
  9.     --pol-cream-2: #F0EDE5;
  10.     --pol-white:   #FFFFFF;
  11.     --pol-muted:   #6B6E7F;
  12.     --pol-muted-2: #9395A5;
  13.     --pol-border:  rgba(26,29,46,.09);
  14.     --pol-border-md: rgba(26,29,46,.12);
  15.     --pol-shadow-sm: 0 2px 12px rgba(26,29,46,.07);
  16.     --pol-shadow-md: 0 8px 32px rgba(26,29,46,.09);
  17.     --pol-radius:  12px;
  18.     --pol-font:    'DM Sans', system-ui, sans-serif;
  19. }
  20. *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
  21. body { background: var(--pol-cream); font-family: var(--pol-font); color: var(--pol-dark); text-align: left; }
  22. a { text-decoration: none; }
  23. /* ── Utilities ─────────────────────────────────────────────────────────────── */
  24. .par-wrap    { max-width: 1160px; margin: 0 auto; padding: 0 28px; }
  25. .par-wrap-sm { max-width: 760px;  margin: 0 auto; padding: 0 28px; }
  26. .par-sec     { padding: 80px 0; }
  27. .par-label {
  28.     display: inline-flex; align-items: center; gap: 8px;
  29.     font-size: 11px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase;
  30.     color: var(--pol-amber); margin-bottom: 16px;
  31. }
  32. .par-label::before { content:''; width: 18px; height: 1.5px; background: currentColor; border-radius: 2px; }
  33. .par-h1 { font-family:'Montserrat',sans-serif; font-size: clamp(30px,4vw,52px); font-weight: 900; line-height: 1.08; letter-spacing: -.025em; color: var(--pol-dark); }
  34. .par-h1 em { font-style: italic; color: var(--pol-amber); }
  35. .par-h2 { font-family:'Montserrat',sans-serif; font-size: clamp(24px,2.8vw,38px); font-weight: 800; line-height: 1.12; letter-spacing: -.02em; color: var(--pol-dark); }
  36. .par-body   { font-size: 16px; line-height: 1.75; color: var(--pol-muted); }
  37. .par-center { text-align: center; }
  38. .par-center .par-label { justify-content: center; }
  39. /* ── Button ─────────────────────────────────────────────────────────────────── */
  40. .n-btn {
  41.     display: inline-flex; align-items: center; gap: 8px;
  42.     padding: 12px 26px; border-radius: 8px;
  43.     font-size: 14px; font-weight: 600; border: none;
  44.     cursor: pointer; text-decoration: none; transition: all .18s; font-family: var(--pol-font);
  45. }
  46. .n-btn-amber { background: var(--pol-amber); color: #fff; }
  47. .n-btn-amber:hover { background: #a96c22; color: #fff; transform: translateY(-1px); }
  48. .n-btn-outline { background: transparent; border: 1.5px solid var(--pol-border-md); color: var(--pol-dark); }
  49. .n-btn-outline:hover { border-color: var(--pol-dark); transform: translateY(-1px); }
  50. .n-btn-light  { background: #fff; color: var(--pol-dark); }
  51. .n-btn-light:hover { background: var(--pol-cream-2); }
  52. .n-btn-ghost-light { background: rgba(255,255,255,.08); border: 1.5px solid rgba(255,255,255,.2); color: #fff; }
  53. .n-btn-ghost-light:hover { background: rgba(255,255,255,.16); color: #fff; }
  54. /* ── Hero ───────────────────────────────────────────────────────────────────── */
  55. .par-hero {
  56.     background: var(--pol-cream);
  57.     padding: 120px 0 72px;
  58.     position: relative; overflow: hidden;
  59.     border-bottom: 1px solid var(--pol-border);
  60. }
  61. .par-hero::before {
  62.     content: '';
  63.     position: absolute; top: 0; right: 0; width: 55%; height: 100%;
  64.     background: radial-gradient(ellipse 80% 80% at 80% 50%, rgba(192,125,42,.06) 0%, transparent 70%);
  65.     pointer-events: none;
  66. }
  67. /* ── Partner Cards ──────────────────────────────────────────────────────────── */
  68. .par-cards {
  69.     display: flex;
  70.     flex-direction: column;
  71.     gap: 24px;
  72.     margin-top: 48px;
  73. }
  74. .par-card {
  75.     background: var(--pol-white);
  76.     border: 1px solid var(--pol-border);
  77.     border-radius: var(--pol-radius);
  78.     padding: 30px 32px;
  79.     display: grid;
  80.     grid-template-columns: 1fr 1fr;
  81.     gap: 32px;
  82.     align-items: start;
  83.     transition: box-shadow .2s, border-color .2s, transform .2s;
  84. }
  85. .par-card:hover {
  86.     border-color: var(--pol-border-md);
  87.     box-shadow: var(--pol-shadow-md);
  88.     transform: translateY(-2px);
  89. }
  90. .par-card-left { }
  91. .par-card-num {
  92.     font-size: 10px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase;
  93.     color: var(--pol-amber); font-family: monospace;
  94.     margin-bottom: 12px; display: block;
  95. }
  96. .par-card h3 {
  97.     font-family: 'Montserrat', sans-serif;
  98.     font-size: 19px; font-weight: 800; color: var(--pol-dark);
  99.     margin-bottom: 14px;
  100.     display: flex; align-items: flex-start; gap: 10px;
  101. }
  102. .par-card h3::before {
  103.     content: ''; display: block;
  104.     width: 3px; height: 18px; background: var(--pol-amber);
  105.     border-radius: 2px; flex-shrink: 0; margin-top: 3px;
  106. }
  107. .par-card-desc {
  108.     font-size: 14px; line-height: 1.75; color: var(--pol-muted);
  109. }
  110. .par-card-right {
  111.     background: var(--pol-cream);
  112.     border-radius: 10px;
  113.     padding: 22px 24px;
  114. }
  115. .par-card-right-label {
  116.     font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
  117.     color: var(--pol-muted-2); font-family: monospace;
  118.     margin-bottom: 14px; display: block;
  119. }
  120. .par-benefits {
  121.     list-style: none; padding: 0; margin: 0;
  122. }
  123. .par-benefits li {
  124.     font-size: 13.5px; color: var(--pol-muted); line-height: 1.65;
  125.     padding: 7px 0 7px 20px;
  126.     position: relative;
  127.     border-top: 1px solid var(--pol-border);
  128. }
  129. .par-benefits li:first-child { border-top: none; }
  130. .par-benefits li::before {
  131.     content: '✓';
  132.     position: absolute; left: 0;
  133.     color: var(--pol-amber); font-size: 12px; font-weight: 700;
  134. }
  135. /* ── CTA Section ────────────────────────────────────────────────────────────── */
  136. .par-cta {
  137.     background: var(--pol-dark);
  138.     padding: 96px 0;
  139.     text-align: center;
  140.     position: relative; overflow: hidden;
  141. }
  142. .par-cta::before {
  143.     content: '';
  144.     position: absolute; top: -40%; left: 50%; transform: translateX(-50%);
  145.     width: 80%; height: 200%;
  146.     background: radial-gradient(ellipse 60% 50% at 50% 50%, rgba(192,125,42,.10) 0%, transparent 65%);
  147.     pointer-events: none;
  148. }
  149. .par-cta-label { color: var(--pol-amber); justify-content: center; }
  150. .par-cta h2 { font-family:'Montserrat',sans-serif; font-size: clamp(24px,2.8vw,38px); font-weight: 900; color: #fff; margin-bottom: 16px; }
  151. .par-cta h2 em { font-style: italic; color: var(--pol-amber); }
  152. .par-cta p { font-size: 16px; color: rgba(255,255,255,.6); max-width: 54ch; margin: 0 auto 32px; line-height: 1.7; }
  153. .par-cta-btns { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
  154. /* ── Responsive ─────────────────────────────────────────────────────────────── */
  155. @media (max-width: 860px) {
  156.     .par-card { grid-template-columns: 1fr; gap: 20px; }
  157.     .par-hero { padding: 90px 0 56px; }
  158. }
  159. </style>
  160. {# ══ HERO ══════════════════════════════════════════════════════════════════════ #}
  161. <section class="par-hero">
  162.     <div class="par-wrap" style="position:relative;z-index:2">
  163.         <div class="par-label">Partners</div>
  164.         <h1 class="par-h1" style="max-width:820px;margin-bottom:24px">
  165.             Join the HoneyBee partner ecosystem — software rollout, Edge+, IoT, and <em>infrastructure.</em>
  166.         </h1>
  167.         <p class="par-body" style="max-width:640px;margin-bottom:16px">
  168.             HoneyBee works with qualified local partners who support software rollout, Edge+ / IoT deployment, local server and GPU infrastructure setup, accounting workflows, customer training, and first-level support.
  169.         </p>
  170.         <p class="par-body" style="max-width:640px;margin-bottom:36px;font-size:14px">
  171.             Partners are not EPC subcontractors. They do not perform EPC works or electrical installation for HoneyBee. They help mutual customers deploy and operate the HoneyBee platform, Edge+ data layer, and local infrastructure.
  172.         </p>
  173.         <a href="{{ url('honeybee_contact') }}" class="n-btn n-btn-amber">
  174.             <i class="fa-solid fa-handshake"></i> Apply as Partner
  175.         </a>
  176.     </div>
  177. </section>
  178. {# ══ PARTNER TYPE CARDS ════════════════════════════════════════════════════════ #}
  179. <section class="par-sec" style="background:var(--pol-cream)">
  180.     <div class="par-wrap">
  181.         <div class="par-center">
  182.             <div class="par-label">Partnership models</div>
  183.             <h2 class="par-h2">Five partner roles <em>with HoneyBee.</em></h2>
  184.         </div>
  185.         <div class="par-cards">
  186.             {# Implementation Partner #}
  187.             <div class="par-card">
  188.                 <div class="par-card-left">
  189.                     <span class="par-card-num">Partner type 01</span>
  190.                     <h3>Implementation Partner</h3>
  191.                     <p class="par-card-desc">For companies that can set up HoneyBee workspaces, configure modules and workflows, support data migration, train users, and provide first-level application support for EPC, energy, and industrial customers.</p>
  192.                 </div>
  193.                 <div class="par-card-right">
  194.                     <span class="par-card-right-label">What you deliver</span>
  195.                     <ul class="par-benefits">
  196.                         <li>HoneyBee workspace setup and configuration</li>
  197.                         <li>Module and workflow configuration</li>
  198.                         <li>Data migration support</li>
  199.                         <li>User training and onboarding</li>
  200.                         <li>First-level application support</li>
  201.                     </ul>
  202.                 </div>
  203.             </div>
  204.             {# Edge+ / IoT Deployment Partner #}
  205.             <div class="par-card">
  206.                 <div class="par-card-left">
  207.                     <span class="par-card-num">Partner type 02</span>
  208.                     <h3>Edge+ / IoT Deployment Partner</h3>
  209.                     <p class="par-card-desc">For companies that can install Edge+ devices, set up gateways, integrate meters, sensors, and plant data, and connect site-level operational data with the HoneyBee platform.</p>
  210.                 </div>
  211.                 <div class="par-card-right">
  212.                     <span class="par-card-right-label">What you deliver</span>
  213.                     <ul class="par-benefits">
  214.                         <li>Edge+ device installation</li>
  215.                         <li>Gateway and network setup</li>
  216.                         <li>Meter, sensor, and PLC integration</li>
  217.                         <li>Site-level data connection to HoneyBee</li>
  218.                     </ul>
  219.                 </div>
  220.             </div>
  221.             {# Local Infrastructure Partner #}
  222.             <div class="par-card">
  223.                 <div class="par-card-left">
  224.                     <span class="par-card-num">Partner type 03</span>
  225.                     <h3>Local Infrastructure Partner</h3>
  226.                     <p class="par-card-desc">For companies that can supply servers and GPU infrastructure, set up private cloud or on-premise environments, deploy local AI / ML runtime, and handle storage, networking, and system reliability. Local Infrastructure Partners focus on IT and system deployment — not electrical EPC work.</p>
  227.                 </div>
  228.                 <div class="par-card-right">
  229.                     <span class="par-card-right-label">What you deliver</span>
  230.                     <ul class="par-benefits">
  231.                         <li>Server and GPU infrastructure supply</li>
  232.                         <li>Private cloud or on-premise setup</li>
  233.                         <li>Local AI / ML runtime deployment</li>
  234.                         <li>Storage, networking, and reliability</li>
  235.                     </ul>
  236.                 </div>
  237.             </div>
  238.             {# DATEV / Accounting Workflow Partner #}
  239.             <div class="par-card">
  240.                 <div class="par-card-left">
  241.                     <span class="par-card-num">Partner type 04</span>
  242.                     <h3>DATEV / Accounting Workflow Partner</h3>
  243.                     <p class="par-card-desc">For tax consultants and accounting firms who work with clients on accounting workflows, DATEV-ready exports, compliance, and reporting. Keep your workflow in DATEV while HoneyBee handles the client-side operational platform.</p>
  244.                 </div>
  245.                 <div class="par-card-right">
  246.                     <span class="par-card-right-label">What you deliver</span>
  247.                     <ul class="par-benefits">
  248.                         <li>Accounting workflow support for clients</li>
  249.                         <li>DATEV-ready export coordination</li>
  250.                         <li>Compliance and reporting assistance</li>
  251.                         <li>Referral and co-advisory model</li>
  252.                     </ul>
  253.                 </div>
  254.             </div>
  255.             {# Strategic Country Partner #}
  256.             <div class="par-card">
  257.                 <div class="par-card-left">
  258.                     <span class="par-card-num">Partner type 05</span>
  259.                     <h3>Strategic Country Partner</h3>
  260.                     <p class="par-card-desc">For companies that can coordinate rollout across a country or region — combining implementation, infrastructure, and support, and acting as the local face of HoneyBee for customers and prospects.</p>
  261.                 </div>
  262.                 <div class="par-card-right">
  263.                     <span class="par-card-right-label">What you deliver</span>
  264.                     <ul class="par-benefits">
  265.                         <li>Country or regional rollout coordination</li>
  266.                         <li>Implementation, infrastructure, and support</li>
  267.                         <li>Local market expansion and client management</li>
  268.                         <li>Go-to-market and revenue sharing</li>
  269.                     </ul>
  270.                 </div>
  271.             </div>
  272.         </div>
  273.     </div>
  274. </section>
  275. {# ══ CTA ═══════════════════════════════════════════════════════════════════════ #}
  276. <section class="par-cta">
  277.     <div class="par-wrap" style="position:relative;z-index:2">
  278.         <div class="par-label par-cta-label">Apply now</div>
  279.         <h2>Apply to become a <em>HoneyBee partner.</em></h2>
  280.         <p>Tell us about your company, market, and technical capabilities. We will follow up to match you with the right partnership model.</p>
  281.         <div class="par-cta-btns">
  282.             <a href="{{ url('honeybee_contact') }}" class="n-btn n-btn-light">
  283.                 <i class="fa-solid fa-handshake"></i> Apply as Partner
  284.             </a>
  285.             <a href="{{ url('honeybee_contact') }}" class="n-btn n-btn-ghost-light">
  286.                 <i class="fa-solid fa-phone"></i> Book Partner Call
  287.             </a>
  288.         </div>
  289.     </div>
  290. </section>
  291. {% include '@HoneybeeWeb/footer/central_footer.html.twig' %}
  292. <script>
  293. (function () {
  294.     var cards = document.querySelectorAll('.par-card');
  295.     cards.forEach(function (el) {
  296.         el.style.opacity = '0';
  297.         el.style.transform = 'translateY(18px)';
  298.         el.style.transition = 'opacity .42s ease, transform .42s ease';
  299.     });
  300.     var io = new IntersectionObserver(function (entries) {
  301.         entries.forEach(function (en) {
  302.             if (en.isIntersecting) {
  303.                 en.target.style.opacity = '1';
  304.                 en.target.style.transform = 'translateY(0)';
  305.                 io.unobserve(en.target);
  306.             }
  307.         });
  308.     }, { threshold: 0.08 });
  309.     cards.forEach(function (el, i) {
  310.         el.style.transitionDelay = (i * 0.06) + 's';
  311.         io.observe(el);
  312.     });
  313. })();
  314. </script>