From fa2ac662630a7a125a4bc73c10f25cc4620ee4cd Mon Sep 17 00:00:00 2001 From: gator Date: Tue, 10 Mar 2026 22:02:18 +0000 Subject: [PATCH] Initial commit: production-ready modern EJS site for AutoTQ --- public/css/style.css | 115 ++++++++++++++++++++++++++++++++++++++ public/js/main.js | 19 +++++++ site.config.js | 75 +++++++++++++++++++++++++ views/about.ejs | 25 +++++++++ views/articles.ejs | 22 ++++++++ views/company.ejs | 26 +++++++++ views/contact.ejs | 38 +++++++++++++ views/index.ejs | 55 ++++++++++++++++++ views/layout.ejs | 21 +++++++ views/literature.ejs | 21 +++++++ views/news.ejs | 22 ++++++++ views/partials/footer.ejs | 33 +++++++++++ views/partials/header.ejs | 27 +++++++++ views/research.ejs | 22 ++++++++ views/testimonials.ejs | 17 ++++++ views/training.ejs | 26 +++++++++ 16 files changed, 564 insertions(+) create mode 100644 public/css/style.css create mode 100644 public/js/main.js create mode 100644 site.config.js create mode 100644 views/about.ejs create mode 100644 views/articles.ejs create mode 100644 views/company.ejs create mode 100644 views/contact.ejs create mode 100644 views/index.ejs create mode 100644 views/layout.ejs create mode 100644 views/literature.ejs create mode 100644 views/news.ejs create mode 100644 views/partials/footer.ejs create mode 100644 views/partials/header.ejs create mode 100644 views/research.ejs create mode 100644 views/testimonials.ejs create mode 100644 views/training.ejs diff --git a/public/css/style.css b/public/css/style.css new file mode 100644 index 0000000..9cc29a8 --- /dev/null +++ b/public/css/style.css @@ -0,0 +1,115 @@ +:root { + --bg: #071225; + --bg-alt: #0c1d39; + --text: #e8eefc; + --muted: #9eb0d3; + --accent: #4cc9f0; + --accent-2: #8b5cf6; + --card: rgba(255, 255, 255, 0.06); + --border: rgba(255, 255, 255, 0.14); + --shadow: 0 20px 50px rgba(4, 10, 22, 0.45); +} + +* { box-sizing: border-box; } +html, body { margin: 0; padding: 0; } +body { + font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; + color: var(--text); + background: radial-gradient(1000px 400px at 10% -10%, #1b3769, transparent), var(--bg); + line-height: 1.6; +} +a { color: inherit; text-decoration: none; } +img { max-width: 100%; height: auto; display: block; } +.container { width: min(1200px, calc(100% - 2rem)); margin-inline: auto; } +.section { padding: 4.5rem 0; } +.section-alt { background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.005)); } + +.site-header { + position: sticky; top: 0; z-index: 999; + backdrop-filter: blur(14px); + background: rgba(7, 18, 37, 0.72); + border-bottom: 1px solid var(--border); +} +.nav-wrap { display: flex; align-items: center; justify-content: space-between; min-height: 76px; gap: 1rem; } +.brand { display: inline-flex; align-items: center; gap: .65rem; font-weight: 700; } +.brand img { width: 44px; height: 44px; object-fit: contain; } +.site-nav { display: flex; align-items: center; gap: .95rem; } +.site-nav a { color: var(--muted); font-weight: 500; transition: .25s ease; } +.site-nav a:hover, .site-nav a.active { color: var(--text); } +.mobile-toggle { display: none; border: 0; background: transparent; padding: .25rem; } +.mobile-toggle span { width: 22px; height: 2px; background: var(--text); display: block; margin: 5px 0; } + +.hero { padding: 6rem 0 3.5rem; position: relative; overflow: clip; } +.hero-bg { + position: absolute; inset: 0; + background: radial-gradient(700px 350px at 70% -30%, rgba(76,201,240,.35), transparent), + radial-gradient(500px 280px at 20% 0%, rgba(139,92,246,.22), transparent); +} +.hero-grid { position: relative; display: grid; grid-template-columns: 1.1fr .9fr; gap: 2rem; align-items: center; } +.eyebrow { color: var(--accent); font-weight: 600; letter-spacing: .05em; text-transform: uppercase; font-size: .82rem; } +h1 { font-size: clamp(2.2rem, 5vw, 4rem); margin: .25rem 0 .75rem; line-height: 1.1; } +h2 { font-size: clamp(1.7rem, 3.2vw, 2.4rem); line-height: 1.2; margin-top: 0; } +.lead { color: var(--muted); font-size: 1.1rem; max-width: 65ch; } +.hero-actions { display: flex; gap: .8rem; margin-top: 1.5rem; flex-wrap: wrap; } + +.btn { + display: inline-flex; align-items: center; justify-content: center; + padding: .75rem 1.1rem; border-radius: 999px; font-weight: 600; + border: 1px solid transparent; transition: .25s ease; +} +.btn-primary { background: linear-gradient(135deg, var(--accent), var(--accent-2)); color: #061023; } +.btn-primary:hover { transform: translateY(-2px); filter: brightness(1.06); } +.btn-ghost { border-color: var(--border); color: var(--text); } +.btn-ghost:hover { border-color: var(--accent); color: var(--accent); } + +.glass-card { + background: var(--card); + border: 1px solid var(--border); + border-radius: 18px; + padding: 1.2rem; + box-shadow: var(--shadow); +} +.media-card { padding: .75rem; overflow: hidden; } +.media-card img { border-radius: 12px; width: 100%; object-fit: cover; } +.grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2rem; } +.grid-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.2rem; } +.split { display: grid; grid-template-columns: 1fr 1fr; gap: 1.4rem; align-items: center; } +.feature-card, .literature-card, .quote-card { transition: transform .25s ease, border-color .25s ease; } +.feature-card:hover, .literature-card:hover, .quote-card:hover { transform: translateY(-4px); border-color: rgba(76,201,240,.45); } +.page-hero { padding: 5rem 0 1.5rem; } +.text-link { color: var(--accent); font-weight: 600; } +.checklist { padding-left: 1.1rem; } +.checklist li { margin: .45rem 0; } + +.inquiry-form label { display: block; font-weight: 500; margin-bottom: .8rem; } +.inquiry-form input, .inquiry-form textarea { + width: 100%; margin-top: .35rem; padding: .7rem .8rem; + border-radius: 12px; border: 1px solid var(--border); + background: rgba(7,18,37,.6); color: var(--text); +} +.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; } +.alert { + margin-top: 1rem; padding: .8rem .9rem; border-radius: 12px; + border: 1px solid rgba(255,130,130,.35); background: rgba(136,30,30,.2); + color: #ffdede; +} + +.site-footer { border-top: 1px solid var(--border); margin-top: 3rem; padding-top: 2.5rem; } +.footer-grid { display: grid; grid-template-columns: 1.2fr .8fr 1fr; gap: 1.2rem; } +.footer-links { list-style: none; padding: 0; margin: 0; } +.footer-links li { margin: .5rem 0; color: var(--muted); } +.footer-bottom { padding: 1.25rem 0 1.8rem; color: var(--muted); } +.legal { color: var(--muted); } + +@media (max-width: 980px) { + .hero-grid, .split, .grid-3 { grid-template-columns: 1fr; } + .grid-2, .footer-grid, .form-grid { grid-template-columns: 1fr; } + .mobile-toggle { display: inline-block; } + .site-nav { + position: absolute; top: 76px; right: 1rem; left: 1rem; + background: rgba(7,18,37,.97); border: 1px solid var(--border); + border-radius: 14px; padding: .9rem; flex-direction: column; align-items: stretch; + transform-origin: top; transform: scaleY(0); opacity: 0; pointer-events: none; + } + .site-nav.open { transform: scaleY(1); opacity: 1; pointer-events: auto; } +} diff --git a/public/js/main.js b/public/js/main.js new file mode 100644 index 0000000..bc0c4c7 --- /dev/null +++ b/public/js/main.js @@ -0,0 +1,19 @@ +(() => { + const toggle = document.getElementById('mobileToggle'); + const nav = document.getElementById('siteNav'); + + if (toggle && nav) { + toggle.addEventListener('click', () => { + const expanded = toggle.getAttribute('aria-expanded') === 'true'; + toggle.setAttribute('aria-expanded', String(!expanded)); + nav.classList.toggle('open'); + }); + + nav.querySelectorAll('a').forEach((link) => { + link.addEventListener('click', () => { + toggle.setAttribute('aria-expanded', 'false'); + nav.classList.remove('open'); + }); + }); + } +})(); diff --git a/site.config.js b/site.config.js new file mode 100644 index 0000000..0c08f07 --- /dev/null +++ b/site.config.js @@ -0,0 +1,75 @@ +module.exports = { + brand: { + name: 'AutoTQ', + legalName: 'Golden Hour Medical, Inc.', + tagline: + 'Empowering anyone to stop the bleed with audio instructions and one-button activation.' + }, + contact: { + phoneDisplay: '+1 561-325-8758', + phoneHref: 'tel:+15613258758', + email: 'info@theautotq.com', + addressLine1: '6590 W Rogers Circle Suite 5', + addressLine2: 'Boca Raton, FL 33487' + }, + assets: { + logo: 'https://images.squarespace-cdn.com/content/v1/6491d25fefa4aa7d4b856ce6/44ea0cbc-1d90-43ab-b2ca-38f9f2717c73/newlogooo.png?format=1500w', + images: { + hero: 'https://images.squarespace-cdn.com/content/v1/6491d25fefa4aa7d4b856ce6/379c6058-a7a4-4af5-b379-fe86a13084b8/IMG_6201.JPG', + product: 'https://images.squarespace-cdn.com/content/v1/6491d25fefa4aa7d4b856ce6/38f01936-8f6b-439d-9fa1-5c9860745f16/DSC_7139+%281%29.jpg', + videoThumb: 'https://img.youtube.com/vi/4PnhBm5WIg0/maxresdefault.jpg', + hannah: 'https://images.squarespace-cdn.com/content/v1/6491d25fefa4aa7d4b856ce6/27abd685-ee03-4aa7-915e-f297515184eb/Hannah+Headshot.jpg', + team2: 'https://images.squarespace-cdn.com/content/v1/6491d25fefa4aa7d4b856ce6/809cb685-0242-4d26-a5ec-55904d83d054/1666112743775.jpg', + team3: 'https://images.squarespace-cdn.com/content/v1/6491d25fefa4aa7d4b856ce6/d545653b-92ba-4db5-91a7-aec5e7e35b9f/IMG_2699.png', + team4: 'https://images.squarespace-cdn.com/content/v1/6491d25fefa4aa7d4b856ce6/922b633d-e930-472e-bda6-da2c08eb6fb3/DSC_1584.jpg' + } + }, + literature: [ + { + title: 'AutoTQ Booklet', + url: 'https://theautotq.com/s/AutoTQ-Booklet.pdf' + }, + { + title: 'AutoTQ Flyer', + url: 'https://theautotq.com/s/AutoTQ-Flyer.pdf' + }, + { + title: 'OSHA Whitepaper', + url: 'https://theautotq.com/s/OSHA-Whitepaper.pdf' + }, + { + title: 'Relevant Industries AutoTQ', + url: 'https://theautotq.com/s/Relevant-Industries-AutoTQ.pdf' + } + ], + nav: [ + { label: 'Home', href: '/' }, + { label: 'About', href: '/about' }, + { label: 'Company', href: '/company' }, + { label: 'Research', href: '/research' }, + { label: 'Training', href: '/training' }, + { label: 'Literature', href: '/literature' }, + { label: 'News', href: '/news' }, + { label: 'Testimonials', href: '/testimonials' }, + { label: 'Articles', href: '/articles' }, + { label: 'Contact', href: '/contact' } + ], + theme: { + colors: { + bg: '#071225', + bgAlt: '#0b1a33', + text: '#e8eefc', + muted: '#9eb0d3', + accent: '#4cc9f0', + accent2: '#8b5cf6', + card: 'rgba(255, 255, 255, 0.06)', + border: 'rgba(255, 255, 255, 0.12)' + }, + radius: { + sm: '10px', + md: '16px', + lg: '24px' + }, + maxWidth: '1200px' + } +}; diff --git a/views/about.ejs b/views/about.ejs new file mode 100644 index 0000000..288bed8 --- /dev/null +++ b/views/about.ejs @@ -0,0 +1,25 @@ +<%- include('partials/header', { config, pageName: 'about' }) %> +
+
+
+

About <%= config.brand.name %>

+

<%= config.brand.tagline %>

+
+
+
+
+
+

Mission-driven innovation

+

+ AutoTQ exists to make life-saving hemorrhage control accessible to more people in more settings. + The product combines simple operation with guided support for fast adoption. +

+

Legal entity: <%= config.brand.legalName %>

+
+
+ AutoTQ training video preview +
+
+
+
+<%- include('partials/footer', { config }) %> diff --git a/views/articles.ejs b/views/articles.ejs new file mode 100644 index 0000000..b3f28a9 --- /dev/null +++ b/views/articles.ejs @@ -0,0 +1,22 @@ +<%- include('partials/header', { config, pageName: 'articles' }) %> +
+
+
+

Articles

+

Insights on bleeding control readiness, implementation, and training strategy.

+
+
+
+
+
+

Designing for high-stress usability

+

Why intuitive controls and guided audio matter in critical response workflows.

+
+
+

Bringing preparedness into daily operations

+

Practical steps for integrating modern tourniquet tools into organizational safety programs.

+
+
+
+
+<%- include('partials/footer', { config }) %> diff --git a/views/company.ejs b/views/company.ejs new file mode 100644 index 0000000..597f254 --- /dev/null +++ b/views/company.ejs @@ -0,0 +1,26 @@ +<%- include('partials/header', { config, pageName: 'company' }) %> +
+
+
+

Company

+

Focused on scalable emergency response readiness.

+
+
+
+
+
+

Who We Are

+

<%= config.brand.legalName %> develops practical medical response technology for real-world deployment.

+
+
+

What We Build

+

FDA-registered and patented automatic pneumatic tourniquet systems with two-step operation.

+
+
+

How We Support

+

Training resources, literature, and responsive communication for partners and buyers.

+
+
+
+
+<%- include('partials/footer', { config }) %> diff --git a/views/contact.ejs b/views/contact.ejs new file mode 100644 index 0000000..c635e00 --- /dev/null +++ b/views/contact.ejs @@ -0,0 +1,38 @@ +<%- include('partials/header', { config, pageName: 'contact' }) %> +
+
+
+

Contact

+

Connect with the AutoTQ team.

+
+
+ +
+
+
+

Get in touch

+

Phone: <%= config.contact.phoneDisplay %>

+

Email: <%= config.contact.email %>

+

Address:
<%= config.contact.addressLine1 %>
<%= config.contact.addressLine2 %>

+
+ Medical Emergency Notice: + If this is an active medical emergency, call 911 immediately. +
+
+ +
+

Inquiry Form

+
+ + + + +
+ + + +
+
+
+
+<%- include('partials/footer', { config }) %> diff --git a/views/index.ejs b/views/index.ejs new file mode 100644 index 0000000..a1efa57 --- /dev/null +++ b/views/index.ejs @@ -0,0 +1,55 @@ +<%- include('partials/header', { config, pageName: 'home' }) %> + +
+
+
+
+
+

FDA-Registered • Patented

+

<%= config.brand.name %>

+

<%= config.brand.tagline %>

+ +
+
+ AutoTQ team and product demonstration +
+
+
+ +
+
+
+

Two-Step Operation

+

Tighten and inflate for intuitive, high-confidence use during critical events.

+
+
+

Audio Guidance

+

Designed with clear spoken instructions and one-button activation to support users under stress.

+
+
+

Reusable + Disposable

+

Reusable inflator with disposable cuffs for practical readiness and efficient replenishment.

+
+
+
+ +
+
+
+

Built for preparedness where seconds matter

+

+ <%= config.brand.name %> helps organizations improve emergency response posture with a modern automatic pneumatic tourniquet platform focused on simplicity and reliability. +

+ Explore research insights → +
+
+ AutoTQ automatic pneumatic tourniquet +
+
+
+
+ +<%- include('partials/footer', { config }) %> diff --git a/views/layout.ejs b/views/layout.ejs new file mode 100644 index 0000000..d34173a --- /dev/null +++ b/views/layout.ejs @@ -0,0 +1,21 @@ + + + + + + <%= pageTitle ? `${pageTitle} | ${config.brand.name}` : config.brand.name %> + + + + + + + <%- include('partials/header', { config, pageName }) %> +
<%- body %>
+ <%- include('partials/footer', { config }) %> + + + diff --git a/views/literature.ejs b/views/literature.ejs new file mode 100644 index 0000000..aba13bb --- /dev/null +++ b/views/literature.ejs @@ -0,0 +1,21 @@ +<%- include('partials/header', { config, pageName: 'literature' }) %> +
+
+
+

Literature

+

Download product and research materials.

+
+
+
+
+ <% config.literature.forEach((doc) => { %> +
+

<%= doc.title %>

+

Official AutoTQ document (PDF).

+ Open PDF +
+ <% }) %> +
+
+
+<%- include('partials/footer', { config }) %> diff --git a/views/news.ejs b/views/news.ejs new file mode 100644 index 0000000..716519d --- /dev/null +++ b/views/news.ejs @@ -0,0 +1,22 @@ +<%- include('partials/header', { config, pageName: 'news' }) %> +
+
+
+

News

+

Latest updates from AutoTQ.

+
+
+
+
+
+

Product awareness initiatives

+

AutoTQ continues outreach with organizations focused on emergency preparedness.

+
+
+

Training-first communication

+

Updated guidance materials support faster onboarding and field confidence.

+
+
+
+
+<%- include('partials/footer', { config }) %> diff --git a/views/partials/footer.ejs b/views/partials/footer.ejs new file mode 100644 index 0000000..428c841 --- /dev/null +++ b/views/partials/footer.ejs @@ -0,0 +1,33 @@ + diff --git a/views/partials/header.ejs b/views/partials/header.ejs new file mode 100644 index 0000000..fe11d03 --- /dev/null +++ b/views/partials/header.ejs @@ -0,0 +1,27 @@ + diff --git a/views/research.ejs b/views/research.ejs new file mode 100644 index 0000000..53743ec --- /dev/null +++ b/views/research.ejs @@ -0,0 +1,22 @@ +<%- include('partials/header', { config, pageName: 'research' }) %> +
+
+
+

Research

+

Evidence-oriented design and usability are central to AutoTQ.

+
+
+
+
+
+

Human-Centered Response

+

Audio prompts and one-button activation support decision-making during high-stress scenarios.

+
+
+

Operational Simplicity

+

Two-step workflow (tighten + inflate) is designed for clarity and rapid execution.

+
+
+
+
+<%- include('partials/footer', { config }) %> diff --git a/views/testimonials.ejs b/views/testimonials.ejs new file mode 100644 index 0000000..4d0565b --- /dev/null +++ b/views/testimonials.ejs @@ -0,0 +1,17 @@ +<%- include('partials/header', { config, pageName: 'testimonials' }) %> +
+
+
+

Testimonials

+

Feedback centered on ease-of-use and confidence in urgent situations.

+
+
+
+
+

“The guided flow helps users stay calm and focused.”

— Training Partner
+

“Straightforward setup and clear operation are major strengths.”

— Safety Coordinator
+

“A compelling approach for high-readiness environments.”

— Program Lead
+
+
+
+<%- include('partials/footer', { config }) %> diff --git a/views/training.ejs b/views/training.ejs new file mode 100644 index 0000000..e76210d --- /dev/null +++ b/views/training.ejs @@ -0,0 +1,26 @@ +<%- include('partials/header', { config, pageName: 'training' }) %> +
+
+
+

Training

+

Prepare teams to act confidently when every second counts.

+
+
+
+
+
+ Training resources thumbnail +
+
+

Core training flow

+
    +
  • Recognize severe bleeding scenarios
  • +
  • Apply cuff and tighten
  • +
  • Activate inflation and follow audio instructions
  • +
  • Escalate to emergency services and advanced care
  • +
+
+
+
+
+<%- include('partials/footer', { config }) %>