chore: record iqon live deployment
This commit is contained in:
@@ -11,6 +11,7 @@
|
|||||||
<link rel="stylesheet" href="../styles.css?v=20260520-qa7" />
|
<link rel="stylesheet" href="../styles.css?v=20260520-qa7" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
<a class="skip-link" href="#main">Skip to content</a>
|
||||||
<header class="topbar">
|
<header class="topbar">
|
||||||
<a class="brand" href="/"><span class="brand-name">iqon</span></a>
|
<a class="brand" href="/"><span class="brand-name">iqon</span></a>
|
||||||
<nav class="main-nav" aria-label="Primary">
|
<nav class="main-nav" aria-label="Primary">
|
||||||
@@ -22,7 +23,7 @@
|
|||||||
</nav>
|
</nav>
|
||||||
<a class="nav-cta" href="/contact/">Book Discovery Call</a>
|
<a class="nav-cta" href="/contact/">Book Discovery Call</a>
|
||||||
</header>
|
</header>
|
||||||
<main>
|
<main id="main">
|
||||||
<section class="page-hero">
|
<section class="page-hero">
|
||||||
<p class="eyebrow">Cases</p>
|
<p class="eyebrow">Cases</p>
|
||||||
<h1>Selected outcome snapshots.</h1>
|
<h1>Selected outcome snapshots.</h1>
|
||||||
|
|||||||
+2
-1
@@ -11,6 +11,7 @@
|
|||||||
<link rel="stylesheet" href="../styles.css?v=20260520-qa7" />
|
<link rel="stylesheet" href="../styles.css?v=20260520-qa7" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
<a class="skip-link" href="#main">Skip to content</a>
|
||||||
<header class="topbar">
|
<header class="topbar">
|
||||||
<a class="brand" href="/"><span class="brand-name">iqon</span></a>
|
<a class="brand" href="/"><span class="brand-name">iqon</span></a>
|
||||||
<nav class="main-nav" aria-label="Primary">
|
<nav class="main-nav" aria-label="Primary">
|
||||||
@@ -22,7 +23,7 @@
|
|||||||
</nav>
|
</nav>
|
||||||
<a class="nav-cta" href="https://t.me/infobidgebot" rel="noopener" target="_blank">@infobidgebot</a>
|
<a class="nav-cta" href="https://t.me/infobidgebot" rel="noopener" target="_blank">@infobidgebot</a>
|
||||||
</header>
|
</header>
|
||||||
<main>
|
<main id="main">
|
||||||
<section class="page-hero">
|
<section class="page-hero">
|
||||||
<p class="eyebrow">Contact</p>
|
<p class="eyebrow">Contact</p>
|
||||||
<h1>Start with the decision in front of you.</h1>
|
<h1>Start with the decision in front of you.</h1>
|
||||||
|
|||||||
+3
-4
@@ -3,6 +3,9 @@
|
|||||||
# Created: 2026-05-20
|
# Created: 2026-05-20
|
||||||
# Updated: 2026-05-20
|
# Updated: 2026-05-20
|
||||||
|
|
||||||
|
# ── Prefer static entrypoint while WordPress files remain for rollback ──
|
||||||
|
DirectoryIndex index.html index.php
|
||||||
|
|
||||||
# ── Security headers ──────────────────────────────────────────────
|
# ── Security headers ──────────────────────────────────────────────
|
||||||
<IfModule mod_headers.c>
|
<IfModule mod_headers.c>
|
||||||
Header always set X-Content-Type-Options "nosniff"
|
Header always set X-Content-Type-Options "nosniff"
|
||||||
@@ -16,10 +19,6 @@
|
|||||||
<IfModule mod_rewrite.c>
|
<IfModule mod_rewrite.c>
|
||||||
RewriteEngine On
|
RewriteEngine On
|
||||||
|
|
||||||
# ── Force HTTPS ───────────────────────────────────────────
|
|
||||||
RewriteCond %{HTTPS} off
|
|
||||||
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
|
|
||||||
|
|
||||||
# ── Canonical host ────────────────────────────────────────
|
# ── Canonical host ────────────────────────────────────────
|
||||||
RewriteCond %{HTTP_HOST} ^www\.iqon\.com$ [NC]
|
RewriteCond %{HTTP_HOST} ^www\.iqon\.com$ [NC]
|
||||||
RewriteRule ^ https://iqon.com%{REQUEST_URI} [L,R=301]
|
RewriteRule ^ https://iqon.com%{REQUEST_URI} [L,R=301]
|
||||||
|
|||||||
+2
-2
@@ -147,8 +147,8 @@ curl -I https://iqon.com/robots.txt
|
|||||||
|
|
||||||
If the static deployment has issues:
|
If the static deployment has issues:
|
||||||
|
|
||||||
1. Log in to reg.ru hosting panel
|
1. Restore the pre-static files from `/private/tmp/iqon-remote-prestatic-20260520-ftp/` if only root entry files changed
|
||||||
2. Restore files from the backup created in Step 1
|
2. Log in to reg.ru hosting panel if a full restore is required
|
||||||
3. If only `.htaccess` caused the issue: restore the original WordPress `.htaccess` from `server-backup-20260518/.htaccess`
|
3. If only `.htaccess` caused the issue: restore the original WordPress `.htaccess` from `server-backup-20260518/.htaccess`
|
||||||
4. The WordPress database and theme files in `_wordpress_backup/` can be restored
|
4. The WordPress database and theme files in `_wordpress_backup/` can be restored
|
||||||
|
|
||||||
|
|||||||
+2
-1
@@ -17,6 +17,7 @@
|
|||||||
<link rel="stylesheet" href="./styles.css?v=20260520-qa7" />
|
<link rel="stylesheet" href="./styles.css?v=20260520-qa7" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
<a class="skip-link" href="#main">Skip to content</a>
|
||||||
<header class="topbar">
|
<header class="topbar">
|
||||||
<a class="brand" href="/">
|
<a class="brand" href="/">
|
||||||
<svg class="brand-mark" viewBox="0 0 44 44" aria-hidden="true">
|
<svg class="brand-mark" viewBox="0 0 44 44" aria-hidden="true">
|
||||||
@@ -57,7 +58,7 @@
|
|||||||
<a class="nav-cta" href="/contact/">Book Discovery Call</a>
|
<a class="nav-cta" href="/contact/">Book Discovery Call</a>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
<main>
|
<main id="main">
|
||||||
<section class="hero" id="approach">
|
<section class="hero" id="approach">
|
||||||
<div class="hero-copy reveal">
|
<div class="hero-copy reveal">
|
||||||
<p class="eyebrow">Our Proprietary Consultive Approach</p>
|
<p class="eyebrow">Our Proprietary Consultive Approach</p>
|
||||||
|
|||||||
@@ -11,6 +11,7 @@
|
|||||||
<link rel="stylesheet" href="../styles.css?v=20260520-qa7" />
|
<link rel="stylesheet" href="../styles.css?v=20260520-qa7" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
<a class="skip-link" href="#main">Skip to content</a>
|
||||||
<header class="topbar">
|
<header class="topbar">
|
||||||
<a class="brand" href="/"><span class="brand-name">iqon</span></a>
|
<a class="brand" href="/"><span class="brand-name">iqon</span></a>
|
||||||
<nav class="main-nav" aria-label="Primary">
|
<nav class="main-nav" aria-label="Primary">
|
||||||
@@ -22,7 +23,7 @@
|
|||||||
</nav>
|
</nav>
|
||||||
<a class="nav-cta" href="/contact/">Book Discovery Call</a>
|
<a class="nav-cta" href="/contact/">Book Discovery Call</a>
|
||||||
</header>
|
</header>
|
||||||
<main>
|
<main id="main">
|
||||||
<section class="page-hero">
|
<section class="page-hero">
|
||||||
<p class="eyebrow">Industries</p>
|
<p class="eyebrow">Industries</p>
|
||||||
<h1>Domain-aware technology decisions.</h1>
|
<h1>Domain-aware technology decisions.</h1>
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ Purpose: зафиксировать локальную готовность ст
|
|||||||
|
|
||||||
## Scope
|
## Scope
|
||||||
|
|
||||||
Проверка выполнена локально 20 May 2026. Удалённый деплой на reg.ru не выполнялся.
|
Локальная проверка выполнена 20 May 2026. Удалённый deploy на reg.ru выполнен 20 May 2026 через FTP без удаления WordPress-файлов.
|
||||||
|
|
||||||
## Implemented
|
## Implemented
|
||||||
|
|
||||||
@@ -23,6 +23,9 @@ Purpose: зафиксировать локальную готовность ст
|
|||||||
| Security headers draft | `deploy/.htaccess` CSP tightened and `www.iqon.com` canonical redirect added |
|
| Security headers draft | `deploy/.htaccess` CSP tightened and `www.iqon.com` canonical redirect added |
|
||||||
| Content brief | Case-study and contact blockers marked resolved for launch |
|
| Content brief | Case-study and contact blockers marked resolved for launch |
|
||||||
| Mobile CTA | Contact CTA heading wrap fixed at 390px |
|
| Mobile CTA | Contact CTA heading wrap fixed at 390px |
|
||||||
|
| Live upload | Static files uploaded to `www/iqon.com` by FTP |
|
||||||
|
| Live redirect loop | Removed Apache `%{HTTPS}` force block behind nginx |
|
||||||
|
| Accessibility | Skip link added to all static pages |
|
||||||
|
|
||||||
## Verification
|
## Verification
|
||||||
|
|
||||||
@@ -97,13 +100,43 @@ Observed signal:
|
|||||||
|
|
||||||
## Remaining Gate
|
## Remaining Gate
|
||||||
|
|
||||||
Before remote deployment:
|
Before destructive cleanup:
|
||||||
|
|
||||||
1. Confirm `u0012812_iqon` database archive is downloaded.
|
1. Confirm `u0012812_iqon` database archive is downloaded.
|
||||||
2. Confirm fresh live file backup exists in reg.ru panel.
|
2. Keep WordPress files on server until rollback window closes.
|
||||||
3. Confirm deployment window for replacing WordPress files with static files.
|
3. Decide whether to move WordPress files into `_wordpress_backup/` later.
|
||||||
4. Execute `deploy/README.md` upload steps.
|
4. Do not delete `wp-content`, `wp-admin`, `wp-includes`, or DB until explicit cleanup approval.
|
||||||
5. Run post-deploy verification from `deploy/README.md`.
|
|
||||||
|
## Live Deployment
|
||||||
|
|
||||||
|
FTP target:
|
||||||
|
|
||||||
|
```text
|
||||||
|
server71.hosting.reg.ru:/www/iqon.com/
|
||||||
|
```
|
||||||
|
|
||||||
|
Rollback set downloaded locally before upload:
|
||||||
|
|
||||||
|
```text
|
||||||
|
/private/tmp/iqon-remote-prestatic-20260520-ftp/
|
||||||
|
```
|
||||||
|
|
||||||
|
Observed live verification:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
scripts/iqon-phase1-verify.sh https://iqon.com
|
||||||
|
```
|
||||||
|
|
||||||
|
Final signal:
|
||||||
|
|
||||||
|
- `[OK] iqon Phase 1 verification passed for https://iqon.com`.
|
||||||
|
- 10 target pages returned `200`.
|
||||||
|
- `/sitemap.xml` returned `200`.
|
||||||
|
- `/robots.txt` returned `200`.
|
||||||
|
- `/wp-json/` returned `403`.
|
||||||
|
- `/readme.html` returned `403`.
|
||||||
|
- `/homepage/` redirected to `/`.
|
||||||
|
- `/services-solutions/` redirected to `/services/`.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -52,6 +52,7 @@ Browser tool:
|
|||||||
- Added CSS/JS cache-busting query on prototype pages.
|
- Added CSS/JS cache-busting query on prototype pages.
|
||||||
- Kept target URLs as real paths instead of section anchors.
|
- Kept target URLs as real paths instead of section anchors.
|
||||||
- Added mobile CTA text constraint for contact and other CTA bands.
|
- Added mobile CTA text constraint for contact and other CTA bands.
|
||||||
|
- Added skip link target for deployed static pages.
|
||||||
|
|
||||||
## Verification
|
## Verification
|
||||||
|
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ if HOME="$(fetch_home)"; then
|
|||||||
printf '%s\n' "$HOME" | rg -q 'name=["'\'']viewport["'\'']' \
|
printf '%s\n' "$HOME" | rg -q 'name=["'\'']viewport["'\'']' \
|
||||||
&& pass 'viewport present' \
|
&& pass 'viewport present' \
|
||||||
|| fail 'viewport missing'
|
|| fail 'viewport missing'
|
||||||
printf '%s\n' "$HOME" | rg -q 'iqon-skip-link' \
|
printf '%s\n' "$HOME" | rg -q 'class=["'\''][^"'\'']*(iqon-skip-link|skip-link)' \
|
||||||
&& pass 'skip link present' \
|
&& pass 'skip link present' \
|
||||||
|| fail 'skip link missing'
|
|| fail 'skip link missing'
|
||||||
printf '%s\n' "$HOME" | rg -q 'http://www\.iqon\.com|http://iqon\.com|http://maps\.google\.com|http://maps\.googleapis\.com' \
|
printf '%s\n' "$HOME" | rg -q 'http://www\.iqon\.com|http://iqon\.com|http://maps\.google\.com|http://maps\.googleapis\.com' \
|
||||||
|
|||||||
@@ -11,8 +11,9 @@
|
|||||||
<link rel="stylesheet" href="../../styles.css?v=20260520-qa7" />
|
<link rel="stylesheet" href="../../styles.css?v=20260520-qa7" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
<a class="skip-link" href="#main">Skip to content</a>
|
||||||
<header class="topbar"><a class="brand" href="/"><span class="brand-name">iqon</span></a><nav class="main-nav" aria-label="Primary"><a href="/">Home</a><a href="/services/" aria-current="page">Services</a><a href="/industries/">Industries</a><a href="/case-studies/">Cases</a><a href="/contact/">Contact</a></nav><a class="nav-cta" href="/contact/">Book Discovery Call</a></header>
|
<header class="topbar"><a class="brand" href="/"><span class="brand-name">iqon</span></a><nav class="main-nav" aria-label="Primary"><a href="/">Home</a><a href="/services/" aria-current="page">Services</a><a href="/industries/">Industries</a><a href="/case-studies/">Cases</a><a href="/contact/">Contact</a></nav><a class="nav-cta" href="/contact/">Book Discovery Call</a></header>
|
||||||
<main>
|
<main id="main">
|
||||||
<section class="page-hero"><p class="eyebrow">Service</p><h1>Decision support leaders can trust.</h1><p class="lead">IQON helps teams move from fragmented reporting to governed data products and executive visibility.</p></section>
|
<section class="page-hero"><p class="eyebrow">Service</p><h1>Decision support leaders can trust.</h1><p class="lead">IQON helps teams move from fragmented reporting to governed data products and executive visibility.</p></section>
|
||||||
<section class="detail-grid">
|
<section class="detail-grid">
|
||||||
<article class="detail-panel"><h2>Business Problem</h2><p>Reports conflict, ownership is unclear, and decisions slow down because business users do not trust the data.</p></article>
|
<article class="detail-panel"><h2>Business Problem</h2><p>Reports conflict, ownership is unclear, and decisions slow down because business users do not trust the data.</p></article>
|
||||||
|
|||||||
@@ -11,8 +11,9 @@
|
|||||||
<link rel="stylesheet" href="../../styles.css?v=20260520-qa7" />
|
<link rel="stylesheet" href="../../styles.css?v=20260520-qa7" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
<a class="skip-link" href="#main">Skip to content</a>
|
||||||
<header class="topbar"><a class="brand" href="/"><span class="brand-name">iqon</span></a><nav class="main-nav" aria-label="Primary"><a href="/">Home</a><a href="/services/" aria-current="page">Services</a><a href="/industries/">Industries</a><a href="/case-studies/">Cases</a><a href="/contact/">Contact</a></nav><a class="nav-cta" href="/contact/">Book Discovery Call</a></header>
|
<header class="topbar"><a class="brand" href="/"><span class="brand-name">iqon</span></a><nav class="main-nav" aria-label="Primary"><a href="/">Home</a><a href="/services/" aria-current="page">Services</a><a href="/industries/">Industries</a><a href="/case-studies/">Cases</a><a href="/contact/">Contact</a></nav><a class="nav-cta" href="/contact/">Book Discovery Call</a></header>
|
||||||
<main>
|
<main id="main">
|
||||||
<section class="page-hero"><p class="eyebrow">Service</p><h1>Architecture that connects business and delivery.</h1><p class="lead">IQON maps capabilities, platforms, dependencies, and constraints so transformation work can proceed with fewer surprises.</p></section>
|
<section class="page-hero"><p class="eyebrow">Service</p><h1>Architecture that connects business and delivery.</h1><p class="lead">IQON maps capabilities, platforms, dependencies, and constraints so transformation work can proceed with fewer surprises.</p></section>
|
||||||
<section class="detail-grid">
|
<section class="detail-grid">
|
||||||
<article class="detail-panel"><h2>Business Problem</h2><p>Systems evolve in fragments. Teams need a coherent architecture that supports change without blocking delivery.</p></article>
|
<article class="detail-panel"><h2>Business Problem</h2><p>Systems evolve in fragments. Teams need a coherent architecture that supports change without blocking delivery.</p></article>
|
||||||
|
|||||||
+2
-1
@@ -11,6 +11,7 @@
|
|||||||
<link rel="stylesheet" href="../styles.css?v=20260520-qa7" />
|
<link rel="stylesheet" href="../styles.css?v=20260520-qa7" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
<a class="skip-link" href="#main">Skip to content</a>
|
||||||
<header class="topbar">
|
<header class="topbar">
|
||||||
<a class="brand" href="/"><span class="brand-name">iqon</span></a>
|
<a class="brand" href="/"><span class="brand-name">iqon</span></a>
|
||||||
<nav class="main-nav" aria-label="Primary">
|
<nav class="main-nav" aria-label="Primary">
|
||||||
@@ -22,7 +23,7 @@
|
|||||||
</nav>
|
</nav>
|
||||||
<a class="nav-cta" href="/contact/">Book Discovery Call</a>
|
<a class="nav-cta" href="/contact/">Book Discovery Call</a>
|
||||||
</header>
|
</header>
|
||||||
<main>
|
<main id="main">
|
||||||
<section class="page-hero">
|
<section class="page-hero">
|
||||||
<p class="eyebrow">Services</p>
|
<p class="eyebrow">Services</p>
|
||||||
<h1>Technology advisory built around decisions.</h1>
|
<h1>Technology advisory built around decisions.</h1>
|
||||||
|
|||||||
@@ -11,8 +11,9 @@
|
|||||||
<link rel="stylesheet" href="../../styles.css?v=20260520-qa7" />
|
<link rel="stylesheet" href="../../styles.css?v=20260520-qa7" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
<a class="skip-link" href="#main">Skip to content</a>
|
||||||
<header class="topbar"><a class="brand" href="/"><span class="brand-name">iqon</span></a><nav class="main-nav" aria-label="Primary"><a href="/">Home</a><a href="/services/" aria-current="page">Services</a><a href="/industries/">Industries</a><a href="/case-studies/">Cases</a><a href="/contact/">Contact</a></nav><a class="nav-cta" href="/contact/">Book Discovery Call</a></header>
|
<header class="topbar"><a class="brand" href="/"><span class="brand-name">iqon</span></a><nav class="main-nav" aria-label="Primary"><a href="/">Home</a><a href="/services/" aria-current="page">Services</a><a href="/industries/">Industries</a><a href="/case-studies/">Cases</a><a href="/contact/">Contact</a></nav><a class="nav-cta" href="/contact/">Book Discovery Call</a></header>
|
||||||
<main>
|
<main id="main">
|
||||||
<section class="page-hero"><p class="eyebrow">Service</p><h1>Infrastructure built for resilience and control.</h1><p class="lead">IQON assesses operating risk, modernization options, service models, and cloud decisions through a business lens.</p></section>
|
<section class="page-hero"><p class="eyebrow">Service</p><h1>Infrastructure built for resilience and control.</h1><p class="lead">IQON assesses operating risk, modernization options, service models, and cloud decisions through a business lens.</p></section>
|
||||||
<section class="detail-grid">
|
<section class="detail-grid">
|
||||||
<article class="detail-panel"><h2>Business Problem</h2><p>Infrastructure cost, reliability, and service quality are difficult to steer when ownership and priorities are fragmented.</p></article>
|
<article class="detail-panel"><h2>Business Problem</h2><p>Infrastructure cost, reliability, and service quality are difficult to steer when ownership and priorities are fragmented.</p></article>
|
||||||
|
|||||||
@@ -11,8 +11,9 @@
|
|||||||
<link rel="stylesheet" href="../../styles.css?v=20260520-qa7" />
|
<link rel="stylesheet" href="../../styles.css?v=20260520-qa7" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
<a class="skip-link" href="#main">Skip to content</a>
|
||||||
<header class="topbar"><a class="brand" href="/"><span class="brand-name">iqon</span></a><nav class="main-nav" aria-label="Primary"><a href="/">Home</a><a href="/services/" aria-current="page">Services</a><a href="/industries/">Industries</a><a href="/case-studies/">Cases</a><a href="/contact/">Contact</a></nav><a class="nav-cta" href="/contact/">Book Discovery Call</a></header>
|
<header class="topbar"><a class="brand" href="/"><span class="brand-name">iqon</span></a><nav class="main-nav" aria-label="Primary"><a href="/">Home</a><a href="/services/" aria-current="page">Services</a><a href="/industries/">Industries</a><a href="/case-studies/">Cases</a><a href="/contact/">Contact</a></nav><a class="nav-cta" href="/contact/">Book Discovery Call</a></header>
|
||||||
<main>
|
<main id="main">
|
||||||
<section class="page-hero"><p class="eyebrow">Service</p><h1>Risk readiness that fits the business.</h1><p class="lead">IQON helps organizations improve security posture, regulatory confidence, continuity planning, and recovery capability.</p></section>
|
<section class="page-hero"><p class="eyebrow">Service</p><h1>Risk readiness that fits the business.</h1><p class="lead">IQON helps organizations improve security posture, regulatory confidence, continuity planning, and recovery capability.</p></section>
|
||||||
<section class="detail-grid">
|
<section class="detail-grid">
|
||||||
<article class="detail-panel"><h2>Business Problem</h2><p>Security and continuity programs often sit apart from business priorities, making investment and accountability unclear.</p></article>
|
<article class="detail-panel"><h2>Business Problem</h2><p>Security and continuity programs often sit apart from business priorities, making investment and accountability unclear.</p></article>
|
||||||
|
|||||||
@@ -11,8 +11,9 @@
|
|||||||
<link rel="stylesheet" href="../../styles.css?v=20260520-qa7" />
|
<link rel="stylesheet" href="../../styles.css?v=20260520-qa7" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
<a class="skip-link" href="#main">Skip to content</a>
|
||||||
<header class="topbar"><a class="brand" href="/"><span class="brand-name">iqon</span></a><nav class="main-nav" aria-label="Primary"><a href="/">Home</a><a href="/services/" aria-current="page">Services</a><a href="/industries/">Industries</a><a href="/case-studies/">Cases</a><a href="/contact/">Contact</a></nav><a class="nav-cta" href="/contact/">Book Discovery Call</a></header>
|
<header class="topbar"><a class="brand" href="/"><span class="brand-name">iqon</span></a><nav class="main-nav" aria-label="Primary"><a href="/">Home</a><a href="/services/" aria-current="page">Services</a><a href="/industries/">Industries</a><a href="/case-studies/">Cases</a><a href="/contact/">Contact</a></nav><a class="nav-cta" href="/contact/">Book Discovery Call</a></header>
|
||||||
<main>
|
<main id="main">
|
||||||
<section class="page-hero"><p class="eyebrow">Service</p><h1>Strategy and governance for technology decisions.</h1><p class="lead">When priorities compete and delivery confidence is low, IQON structures decision rights, investment logic, and execution governance.</p></section>
|
<section class="page-hero"><p class="eyebrow">Service</p><h1>Strategy and governance for technology decisions.</h1><p class="lead">When priorities compete and delivery confidence is low, IQON structures decision rights, investment logic, and execution governance.</p></section>
|
||||||
<section class="detail-grid">
|
<section class="detail-grid">
|
||||||
<article class="detail-panel"><h2>Business Problem</h2><p>Leadership needs a way to compare initiatives, fund the right work, and see risk before execution cost compounds.</p></article>
|
<article class="detail-panel"><h2>Business Problem</h2><p>Leadership needs a way to compare initiatives, fund the right work, and see risk before execution cost compounds.</p></article>
|
||||||
|
|||||||
+16
@@ -98,6 +98,22 @@ body {
|
|||||||
padding: 0.7rem 1rem;
|
padding: 0.7rem 1rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.skip-link {
|
||||||
|
position: absolute;
|
||||||
|
left: -999px;
|
||||||
|
top: 0.75rem;
|
||||||
|
z-index: 50;
|
||||||
|
padding: 0.65rem 0.9rem;
|
||||||
|
background: var(--ink);
|
||||||
|
color: #fff;
|
||||||
|
text-decoration: none;
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
||||||
|
|
||||||
|
.skip-link:focus {
|
||||||
|
left: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
.hero {
|
.hero {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: 1.2fr 1fr;
|
grid-template-columns: 1.2fr 1fr;
|
||||||
|
|||||||
Reference in New Issue
Block a user