Welcome to WordPress. This is your first post. Edit or delete it, then start writing!
Welcome to WordPress. This is your first post. Edit or delete it, then start writing!
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Permitted — Planning Intelligence</title>
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Playfair+Display:ital,wght@0,400;0,500;1,400&display=swap" rel="stylesheet" />
<style>
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
--ink: #111510;
--ground: #F6F5F0;
--moss: #2E5D4B;
--sage: #6B9E88;
--stone: #8A8A82;
--rule: #D8D6CE;
}
html { scroll-behavior: smooth; }
body {
font-family: 'Inter', sans-serif;
background: var(--ground);
color: var(--ink);
font-size: 16px;
line-height: 1.6;
-webkit-font-smoothing: antialiased;
}
.container {
max-width: 960px;
margin: 0 auto;
padding: 0 2rem;
}
section { padding: 6rem 0; }
hr.rule {
border: none;
border-top: 1px solid var(--rule);
margin: 0;
}
nav {
position: fixed;
top: 0; left: 0; right: 0;
z-index: 100;
background: rgba(246,245,240,0.92);
backdrop-filter: blur(12px);
border-bottom: 1px solid var(--rule);
}
nav .container {
display: flex;
align-items: center;
justify-content: space-between;
height: 60px;
}
.nav-logo {
font-family: 'Playfair Display', serif;
font-size: 1.25rem;
font-weight: 500;
letter-spacing: 0.02em;
color: var(--ink);
text-decoration: none;
}
.nav-logo span {
display: inline-block;
width: 7px;
height: 7px;
background: var(--moss);
border-radius: 50%;
margin-left: 3px;
vertical-align: middle;
position: relative;
top: -2px;
}
nav ul {
list-style: none;
display: flex;
gap: 2.5rem;
}
nav ul a {
font-size: 0.8rem;
font-weight: 500;
letter-spacing: 0.08em;
text-transform: uppercase;
color: var(--stone);
text-decoration: none;
transition: color 0.2s;
}
nav ul a:hover { color: var(--ink); }
#hero {
padding-top: 10rem;
padding-bottom: 7rem;
}
.eyebrow {
display: inline-block;
font-size: 0.7rem;
font-weight: 600;
letter-spacing: 0.14em;
text-transform: uppercase;
color: var(--moss);
margin-bottom: 2rem;
}
h1 {
font-family: 'Playfair Display', serif;
font-size: clamp(2.6rem, 6vw, 4.2rem);
font-weight: 400;
line-height: 1.15;
letter-spacing: -0.01em;
max-width: 700px;
margin-bottom: 1.75rem;
}
h1 em {
font-style: italic;
color: var(--moss);
}
.hero-sub {
font-size: 1.1rem;
color: var(--stone);
max-width: 480px;
line-height: 1.7;
margin-bottom: 3rem;
}
.btn {
display: inline-block;
padding: 0.85rem 2.2rem;
background: var(--moss);
color: #fff;
text-decoration: none;
font-size: 0.82rem;
font-weight: 500;
letter-spacing: 0.06em;
text-transform: uppercase;
border-radius: 2px;
transition: background 0.2s, transform 0.15s;
}
.btn:hover { background: #244a3b; transform: translateY(-1px); }
.btn-ghost {
background: transparent;
color: var(--ink);
border: 1px solid var(--rule);
margin-left: 1rem;
}
.btn-ghost:hover { background: var(--ink); color: #fff; border-color: var(--ink); }
.hero-stat-row {
margin-top: 5rem;
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 2rem;
padding-top: 3rem;
border-top: 1px solid var(--rule);
}
.stat-num {
font-family: 'Playfair Display', serif;
font-size: 2.4rem;
font-weight: 400;
color: var(--moss);
line-height: 1;
}
.stat-label {
font-size: 0.8rem;
color: var(--stone);
margin-top: 0.4rem;
letter-spacing: 0.02em;
}
#approach .section-header {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 4rem;
align-items: end;
margin-bottom: 4rem;
}
h2 {
font-family: 'Playfair Display', serif;
font-size: clamp(1.8rem, 4vw, 2.6rem);
font-weight: 400;
line-height: 1.2;
}
.section-intro {
color: var(--stone);
font-size: 1rem;
line-height: 1.75;
}
.pillars {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 2px;
}
.pillar {
background: #fff;
padding: 2.5rem 2rem;
border: 1px solid var(--rule);
}
.pillar-num {
font-size: 0.7rem;
font-weight: 600;
letter-spacing: 0.1em;
color: var(--sage);
margin-bottom: 1.2rem;
}
.pillar h3 {
font-family: 'Playfair Display', serif;
font-size: 1.15rem;
font-weight: 400;
margin-bottom: 0.75rem;
}
.pillar p {
font-size: 0.88rem;
color: var(--stone);
line-height: 1.7;
}
#services {
background: var(--ink);
color: var(--ground);
}
#services h2 { color: #fff; }
#services .section-intro { color: #8A9E95; }
#services .section-header {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 4rem;
align-items: end;
margin-bottom: 4rem;
}
.service-cards {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 1px;
background: #2a2a28;
}
.service-card {
background: #161714;
padding: 2.5rem 2rem;
position: relative;
display: flex;
flex-direction: column;
}
.service-card.featured { background: var(--moss); }
.service-tag {
font-size: 0.65rem;
font-weight: 600;
letter-spacing: 0.12em;
text-transform: uppercase;
color: var(--sage);
margin-bottom: 1.5rem;
}
.service-card.featured .service-tag { color: #a8d4c2; }
.service-name {
font-family: 'Playfair Display', serif;
font-size: 1.2rem;
font-weight: 400;
color: #fff;
margin-bottom: 0.5rem;
}
.service-price {
font-size: 1.7rem;
font-weight: 300;
color: #fff;
letter-spacing: -0.02em;
margin-bottom: 1.5rem;
}
.service-price span {
font-size: 0.85rem;
font-weight: 400;
color: #8A9E95;
}
.service-card.featured .service-price span { color: #a8d4c2; }
.service-desc {
font-size: 0.85rem;
color: #7A8A82;
line-height: 1.75;
flex: 1;
}
.service-card.featured .service-desc { color: #c4ddd5; }
.service-includes {
margin-top: 1.75rem;
list-style: none;
border-top: 1px solid #2a2a28;
padding-top: 1.5rem;
}
.service-card.featured .service-includes { border-color: rgba(255,255,255,0.15); }
.service-includes li {
font-size: 0.8rem;
color: #6A7A72;
padding: 0.35rem 0;
padding-left: 1.2rem;
position: relative;
}
.service-card.featured .service-includes li { color: #b8d4ca; }
.service-includes li::before {
content: '';
position: absolute;
left: 0;
top: 0.7rem;
width: 5px;
height: 1px;
background: var(--sage);
}
.service-card.featured .service-includes li::before { background: #a8d4c2; }
.service-footer {
margin-top: 3rem;
padding-top: 2rem;
border-top: 1px solid #2a2a28;
font-size: 0.82rem;
color: #6A7A72;
}
.process-steps {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 0;
}
.step {
padding: 2.5rem 2rem;
border-right: 1px solid var(--rule);
}
.step:last-child { border-right: none; }
.step-num {
font-size: 0.65rem;
font-weight: 600;
letter-spacing: 0.12em;
color: var(--moss);
margin-bottom: 1.2rem;
}
.step h3 {
font-family: 'Playfair Display', serif;
font-size: 1.05rem;
font-weight: 400;
margin-bottom: 0.6rem;
}
.step p {
font-size: 0.84rem;
color: var(--stone);
line-height: 1.7;
}
#why { background: #F0EFE9; }
.why-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 5rem;
align-items: center;
}
.why-text h2 { margin-bottom: 1.5rem; }
.why-text p {
font-size: 0.95rem;
color: var(--stone);
line-height: 1.8;
margin-bottom: 1.2rem;
}
.why-text p strong { color: var(--ink); font-weight: 500; }
.why-list {
list-style: none;
display: flex;
flex-direction: column;
gap: 1px;
}
.why-list li {
background: #fff;
padding: 1.4rem 1.6rem;
font-size: 0.9rem;
color: var(--ink);
display: flex;
align-items: flex-start;
gap: 1rem;
border: 1px solid var(--rule);
}
.why-list li::before {
content: '';
display: block;
width: 6px;
height: 6px;
background: var(--moss);
border-radius: 50%;
flex-shrink: 0;
margin-top: 0.5rem;
}
#contact {
background: var(--ink);
color: #fff;
text-align: center;
}
#contact h2 {
color: #fff;
max-width: 580px;
margin: 0 auto 1.25rem;
}
#contact p {
color: #7A8A82;
font-size: 0.95rem;
max-width: 420px;
margin: 0 auto 2.5rem;
line-height: 1.75;
}
.contact-form {
max-width: 540px;
margin: 0 auto;
text-align: left;
}
.form-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 1rem;
margin-bottom: 1rem;
}
.form-group {
display: flex;
flex-direction: column;
margin-bottom: 1rem;
}
label {
font-size: 0.7rem;
font-weight: 600;
letter-spacing: 0.1em;
text-transform: uppercase;
color: #5A6A62;
margin-bottom: 0.5rem;
}
input, select, textarea {
background: #1E1E1C;
border: 1px solid #2E2E2A;
color: #fff;
font-family: 'Inter', sans-serif;
font-size: 0.9rem;
padding: 0.8rem 1rem;
border-radius: 2px;
outline: none;
transition: border-color 0.2s;
width: 100%;
}
input::placeholder, textarea::placeholder { color: #4A5A52; }
input:focus, select:focus, textarea:focus { border-color: var(--sage); }
select { appearance: none; cursor: pointer; }
textarea { resize: vertical; min-height: 110px; }
.form-submit { margin-top: 0.5rem; }
.form-submit .btn {
width: 100%;
text-align: center;
padding: 1rem;
border: none;
cursor: pointer;
font-family: 'Inter', sans-serif;
}
.form-note {
font-size: 0.75rem;
color: #4A5A52;
text-align: center;
margin-top: 1rem;
}
footer {
background: #0C0C0A;
padding: 2rem 0;
}
footer .container {
display: flex;
align-items: center;
justify-content: space-between;
}
footer .nav-logo { color: #5A6A62; font-size: 1rem; }
footer .nav-logo span { background: #2E5D4B; opacity: 0.5; }
.footer-note {
font-size: 0.75rem;
color: #3A4A42;
letter-spacing: 0.03em;
}
@media (max-width: 768px) {
section { padding: 4rem 0; }
#hero { padding-top: 7rem; padding-bottom: 4rem; }
nav ul { display: none; }
.hero-stat-row,
.pillars,
.service-cards,
.process-steps {
grid-template-columns: 1fr;
}
#approach .section-header,
#services .section-header,
.why-grid {
grid-template-columns: 1fr;
gap: 2rem;
}
.form-row { grid-template-columns: 1fr; }
.step { border-right: none; border-bottom: 1px solid var(--rule); }
.step:last-child { border-bottom: none; }
}
</style>
</head>
<body>
<!-- NAV -->
<nav>
<div class="container">
<a class="nav-logo" href="#hero">Permitted<span></span></a>
<ul></ul>
</div>
</nav>
<!-- HERO -->
<section id="hero">
<div class="container">
<span class="eyebrow">Planning Intelligence Advisory</span>
<h1>We know how decisions<br>get made. We help you<br><em>get yours.</em></h1>
<p class="hero-sub">
Permitted is a specialist planning advisory firm that combines deep policy expertise with analytical rigour - so your application moves forward with confidence, not guesswork.
</p>
<a href="#contact" class="btn">Start an Enquiry</a>
<a href="#services" class="btn btn-ghost">View Services</a>
<div class="hero-stat-row">
<div>
<div class="stat-num">48h</div>
<div class="stat-label">Turnaround on intelligence reports</div>
</div>
<div>
<div class="stat-num">NPPF</div>
<div class="stat-label">Policy-led, evidence-driven advice</div>
</div>
<div>
<div class="stat-num">LPA</div>
<div class="stat-label">Direct liaison, every stage</div>
</div>
</div>
</div>
</section>
<hr class="rule" />
<!-- APPROACH -->
<section id="approach">
<div class="container">
<div class="section-header">
<h2>Planning intelligence,<br>applied with precision.</h2>
<p class="section-intro">
Most planning failures aren't surprises. They're the product of incomplete policy analysis, poor pre-application strategy, or late-stage objections that could have been anticipated. Our approach is designed to eliminate each of these failure modes.
</p>
</div>
<div class="pillars">
<div class="pillar">
<div class="pillar-num">01</div>
<h3>Policy-Led from Day One</h3>
<p>Every instruction begins with a thorough mapping of local plan policy, NPPF requirements, and LPA validation criteria. We don't work from assumptions.</p>
</div>
<div class="pillar">
<div class="pillar-num">02</div>
<h3>Strategic Pre-Application</h3>
<p>We manage pre-application engagement so your proposals reach the LPA in the right form, at the right time - reducing the risk of material amendments mid-process.</p>
</div>
<div class="pillar">
<div class="pillar-num">03</div>
<h3>Objection Intelligence</h3>
<p>We identify likely grounds of objection before they arise and build your case accordingly - whether for delegated decision or committee hearing.</p>
</div>
</div>
</div>
</section>
<hr class="rule" />
<!-- PROCESS -->
<section id="process">
<div class="container">
<div class="process-steps">
<div class="step">
<div class="step-num">STEP 01</div>
<h3>Intake & Scoping</h3>
<p>We review your proposals and establish the planning context - site, LPA, policy framework, constraints, and any live designations.</p>
</div>
<div class="step">
<div class="step-num">STEP 02</div>
<h3>Intelligence Report</h3>
<p>A written assessment of your application against current policy, including any identified risk factors and recommended pre-submission actions.</p>
</div>
<div class="step">
<div class="step-num">STEP 03</div>
<h3>Advisory & Engagement</h3>
<p>Our team manages LPA correspondence, pre-application meetings, and consultant coordination - handled entirely by us on your behalf.</p>
</div>
<div class="step">
<div class="step-num">STEP 04</div>
<h3>Submission & Monitoring</h3>
<p>We oversee the submission process, track decision timelines, manage any conditions or S106 negotiations, and support committee if required.</p>
</div>
</div>
</div>
</section>
<hr class="rule" />
<!-- SERVICES -->
<section id="services">
<div class="container">
<div class="section-header">
<h2>Three levels of engagement.<br>One standard of rigour.</h2>
<p class="section-intro">
Whether you need a rapid policy assessment or full case management from first advice to decision, our team scales to the complexity of your instruction.
</p>
</div>
<div class="service-cards">
<div class="service-card">
<div class="service-tag">Tier 1</div>
<div class="service-name">Planning Intelligence Report</div>
<div class="service-price">£299 <span>/ report</span></div>
<div class="service-desc">
Our team reviews your application against local plan policy, NPPF requirements, and LPA validation criteria. Delivered in writing within 48 hours.
</div>
<ul class="service-includes">
<li>Full policy mapping</li>
<li>NPPF compliance review</li>
<li>LPA validation criteria check</li>
<li>Written risk summary</li>
<li>48-hour turnaround</li>
</ul>
</div>
<div class="service-card featured">
<div class="service-tag">Tier 2 - Most Popular</div>
<div class="service-name">Application Advisory Package</div>
<div class="service-price">£995–1,500 <span>/ instruction</span></div>
<div class="service-desc">
A dedicated planning advisor reviews your proposals, provides a strategic briefing, and manages your pre-application engagement with the LPA through to submission.
</div>
<ul class="service-includes">
<li>Everything in Tier 1</li>
<li>Strategic advisory briefing</li>
<li>Pre-application engagement managed</li>
<li>LPA correspondence handled</li>
<li>Submission-ready review</li>
</ul>
</div>
<div class="service-card">
<div class="service-tag">Tier 3</div>
<div class="service-name">Case Management Retainer</div>
<div class="service-price">£2,000–3,500 <span>/ month</span></div>
<div class="service-desc">
Ongoing case management by our planning team, including LPA liaison, progress monitoring, objection strategy, S106 negotiation, and committee support as required.
</div>
<ul class="service-includes">
<li>Everything in Tier 2</li>
<li>Continuous LPA liaison</li>
<li>Objection strategy & response</li>
<li>S106 negotiation support</li>
<li>Committee preparation & support</li>
</ul>
</div>
</div>
<p class="service-footer">All instructions are subject to an initial scoping call. Fees confirmed in writing before work commences. Bespoke engagements available for complex or multi-site instructions.</p>
</div>
</section>
<!-- WHY -->
<section id="why">
<div class="container">
<div class="why-grid">
<div class="why-text">
<span class="eyebrow">Why Permitted</span>
<h2>Built for outcomes,<br>not process.</h2>
<p>
Planning consultancy has a problem. Too many firms optimise for billable hours rather than decision speed. Permitted is structured differently - our incentives are aligned with yours.
</p>
<p>
<strong>We work on a fixed-fee basis.</strong> No hourly rates, no scope creep, no surprises. You know the cost before work begins and we have every reason to move efficiently.
</p>
<p>
<strong>We communicate in writing, on record.</strong> Every client instruction, LPA response, and advisory note is documented in your client portal. You always know exactly where your application stands.
</p>
</div>
<ul class="why-list">
<li>Fixed fees - no hourly billing, no ambiguity</li>
<li>Policy-led advice grounded in current NPPF and local plan</li>
<li>Direct LPA engagement managed by our team</li>
<li>Written client portal - your case, always visible</li>
<li>48-hour turnaround on intelligence reports</li>
<li>Scalable to complex, multi-site instructions</li>
</ul>
</div>
</div>
</section>
<hr class="rule" />
<!-- CONTACT -->
<section id="contact">
<div class="container">
<span class="eyebrow" style="color: var(--sage);">Start an Enquiry</span>
<h2>Tell us about your application.</h2>
<p>We'll confirm scope and fees within one business day. No obligation, no sales call - just a clear written response.</p>
<form class="contact-form" id="enquiryForm" novalidate>
<div class="form-row">
<div class="form-group">
<label for="name">Name</label>
<input type="text" id="name" name="name" placeholder="Your name" required />
</div>
<div class="form-group">
<label for="email">Email</label>
<input type="email" id="email" name="email" placeholder="Your email" required />
</div>
</div>
<div class="form-group">
<label for="lpa">Local Planning Authority</label>
<input type="text" id="lpa" name="lpa" placeholder="e.g. Bristol City Council" />
</div>
<div class="form-group">
<label for="service">Service of Interest</label>
<select id="service" name="service">
<option value="">Select a tier...</option>
<option>Tier 1 - Planning Intelligence Report (£299)</option>
<option>Tier 2 - Application Advisory Package (£995–1,500)</option>
<option>Tier 3 - Case Management Retainer (£2,000–3,500/month)</option>
<option>Not sure - please advise</option>
</select>
</div>
<div class="form-group">
<label for="brief">Brief</label>
<textarea id="brief" name="brief" placeholder="Describe the site, proposed development, and any known constraints or history..."></textarea>
</div>
<div class="form-submit">
<button type="submit" class="btn">Submit Enquiry</button>
</div>
<p class="form-note">We respond to all enquiries within one business day.</p>
</form>
</div>
</section>
<!-- FOOTER -->
<footer>
<div class="container">
<a class="nav-logo" href="#hero">Permitted<span></span></a>
<p class="footer-note">Planning Intelligence Advisory · England & Wales</p>
</div>
</footer>
<script>
const sections = document.querySelectorAll('section[id]');
const navLinks = document.querySelectorAll('nav ul a');
const observer = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
navLinks.forEach(link => {
link.style.color = link.getAttribute('href') === '#' + entry.target.id
? 'var(--ink)' : '';
});
}
});
}, { rootMargin: '-40% 0px -55% 0px' });
sections.forEach(s => observer.observe(s));
document.getElementById('enquiryForm').addEventListener('submit', function(e) {
e.preventDefault();
const name = document.getElementById('name').value.trim();
const email = document.getElementById('email').value.trim();
const lpa = document.getElementById('lpa').value.trim();
const service = document.getElementById('service').value;
const brief = document.getElementById('brief').value.trim();
if (!name || !email) return;
const subject = encodeURIComponent('Permitted Enquiry - ' + name);
const body = encodeURIComponent(
'Name: ' + name + '\n' +
'Email: ' + email + '\n' +
'Local Planning Authority: ' + (lpa || 'Not provided') + '\n' +
'Service of Interest: ' + (service || 'Not selected') + '\n\n' +
'Brief:\n' + (brief || 'Not provided')
);
window.location.href = 'mailto:christopheryabsley@outlook.com?subject=' + subject + '&body=' + body;
const btn = this.querySelector('.btn');
btn.textContent = 'Enquiry Sent';
btn.style.background = '#1a3d2e';
btn.style.pointerEvents = 'none';
});
</script>
</body>
</html>