/*
Theme Name: Ontrepreneur
Theme URI: https://www.ontrepreneur.co.nz
Author: Newman Thomas — NT Digital
Author URI: https://www.ntdigital.co.nz
Description: Brand theme for Ontrepreneur — Newman Thomas, helping Kiwi businesses grow with practical tools and training. Pairs with the Ontrepreneur plugin (portal + directory).
Version: 1.0.0
License: Proprietary
Text Domain: ontrepreneur
*/

/* ============ Design tokens ============ */
:root{
	--ink:#0B1B2B;
	--ink-soft:#33424f;
	--paper:#F6F8FB;
	--card:#ffffff;
	--line:#E3E9F0;
	--primary:#2563EB;
	--primary-dark:#1B4FC4;
	--accent:#F5A524;        /* signal amber — the spark / the upward arrow */
	--accent-ink:#7a4d00;
	--muted:#647285;
	--maxw:1140px;
	--r:14px;
	--shadow:0 18px 50px -20px rgba(11,27,43,.28);
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
	margin:0;background:var(--paper);color:var(--ink);
	font-family:"Inter",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
	font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;
}
a{color:var(--primary);text-decoration:none}
img{max-width:100%;display:block}
h1,h2,h3,h4{font-family:"Space Grotesk","Inter",sans-serif;line-height:1.08;letter-spacing:-.02em;margin:0 0 .4em;font-weight:600}
h1{font-size:clamp(2.4rem,6vw,4rem)}
h2{font-size:clamp(1.8rem,4vw,2.7rem)}
h3{font-size:1.3rem}
p{margin:0 0 1em}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.section{padding:88px 0}
.section--tight{padding:56px 0}

/* eyebrow: monospace label — the builder/terminal signature */
.eyebrow{
	font-family:"IBM Plex Mono",ui-monospace,monospace;
	font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;
	color:var(--primary);font-weight:500;display:inline-flex;align-items:center;gap:.6em;margin-bottom:1.1rem;
}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--accent);display:inline-block}

.lead{font-size:1.18rem;color:var(--ink-soft);max-width:62ch}
.muted{color:var(--muted)}

/* ============ Buttons ============ */
.btn{
	display:inline-flex;align-items:center;gap:.5em;cursor:pointer;border:1.5px solid transparent;
	border-radius:999px;padding:13px 24px;font-family:"Space Grotesk",sans-serif;font-weight:600;font-size:1rem;
	transition:.18s ease;text-decoration:none;
}
.btn--primary{background:var(--ink);color:#fff}
.btn--primary:hover{background:var(--primary);transform:translateY(-1px)}
.btn--accent{background:var(--accent);color:#1c1300}
.btn--accent:hover{filter:brightness(1.05);transform:translateY(-1px)}
.btn--ghost{background:transparent;border-color:var(--line);color:var(--ink)}
.btn--ghost:hover{border-color:var(--ink)}
.btn--lg{padding:16px 30px;font-size:1.05rem}

/* ============ Header ============ */
.site-header{position:sticky;top:0;z-index:50;background:rgba(246,248,251,.82);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;height:74px}
.brand{display:flex;align-items:center;gap:11px;font-family:"Space Grotesk",sans-serif;font-weight:700;font-size:1.25rem;color:var(--ink);letter-spacing:-.02em}
.brand__mark{width:34px;height:34px;flex:none}
.nav{display:flex;align-items:center;gap:6px}
.nav-list{display:flex;align-items:center;gap:6px;list-style:none;margin:0;padding:0}
.nav-list li{list-style:none}
.nav a{color:var(--ink-soft);font-weight:500;font-size:.97rem;padding:9px 13px;border-radius:8px;transition:.15s;display:inline-block}
.nav a:hover{color:var(--ink);background:rgba(37,111,235,.07)}
.nav .nav-cta a,.nav a.nav-cta{background:var(--ink);color:#fff;padding:10px 18px;border-radius:999px}
.nav .nav-cta a:hover,.nav a.nav-cta:hover{background:var(--primary)}
.nav-toggle{display:none;background:none;border:1.5px solid var(--line);border-radius:9px;padding:8px 10px;cursor:pointer}
.nav-toggle span{display:block;width:20px;height:2px;background:var(--ink);margin:4px 0}

/* ============ Hero ============ */
.hero{position:relative;overflow:hidden;padding:96px 0 84px}
.hero__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.hero h1{margin-bottom:.3em}
.hero .lead{margin-bottom:1.8em}
.hero__cta{display:flex;gap:14px;flex-wrap:wrap}
.hero__meta{margin-top:28px;display:flex;gap:22px;flex-wrap:wrap;font-family:"IBM Plex Mono",monospace;font-size:.78rem;color:var(--muted);letter-spacing:.04em}
.hero__meta b{color:var(--ink);font-weight:600}

/* signature: rising-arrow panel echoing the logo */
.hero__art{position:relative;aspect-ratio:1/1;border-radius:24px;background:
	radial-gradient(120% 120% at 80% 10%,#16365f 0%,var(--ink) 55%);
	box-shadow:var(--shadow);overflow:hidden}
.hero__art svg{position:absolute;inset:0;width:100%;height:100%}
.hero__chip{position:absolute;left:18px;bottom:18px;background:rgba(255,255,255,.96);border-radius:12px;padding:12px 14px;display:flex;align-items:center;gap:10px;font-size:.85rem;max-width:230px;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.hero__chip b{font-family:"Space Grotesk",sans-serif}
.hero__chip small{color:var(--muted)}

/* ============ Generic blocks ============ */
.head-block{max-width:720px;margin-bottom:48px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}

.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:28px}
.card--num{position:relative}
.card__k{font-family:"IBM Plex Mono",monospace;font-size:.74rem;color:var(--accent-ink);background:#fdf2dc;border-radius:6px;padding:3px 8px;letter-spacing:.05em}
.card h3{margin:16px 0 8px}
.card p{margin:0;color:var(--ink-soft);font-size:.98rem}

/* tools strip */
.tools{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:900px){.tools{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.tools{grid-template-columns:1fr}}
.tool{display:block;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px;transition:.18s;color:var(--ink)}
.tool:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:transparent}
.tool__name{font-family:"Space Grotesk",sans-serif;font-weight:600;font-size:1.1rem;display:flex;align-items:center;justify-content:space-between}
.tool__name span{color:var(--accent)}
.tool p{margin:.5em 0 0;font-size:.93rem;color:var(--muted)}

/* dark band */
.band{background:var(--ink);color:#fff}
.band .eyebrow{color:var(--accent)}
.band .lead{color:#c7d2de}
.band h2{color:#fff}

/* CTA */
.cta-final{text-align:center}
.cta-final .btn{margin:6px}

/* ============ Page content (About/Workshops prose) ============ */
.prose{max-width:760px}
.prose h2{margin-top:1.6em}
.prose h3{margin-top:1.4em;font-size:1.15rem}
.prose ul{padding-left:1.1em;margin:0 0 1.2em}
.prose li{margin:.4em 0}
.pill-row{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 22px}
.pill{font-family:"IBM Plex Mono",monospace;font-size:.78rem;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:6px 13px;color:var(--ink-soft)}

/* workshop list */
.wk{display:flex;gap:18px;align-items:flex-start;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px;margin-bottom:14px}
.wk__no{font-family:"IBM Plex Mono",monospace;color:var(--primary);font-size:.9rem;padding-top:3px}
.wk h3{margin:0 0 4px}
.wk p{margin:0;color:var(--ink-soft);font-size:.96rem}
.wk__tool{font-family:"IBM Plex Mono",monospace;font-size:.74rem;color:var(--accent-ink);background:#fdf2dc;border-radius:6px;padding:2px 8px;margin-top:8px;display:inline-block}

/* getting-started steps (on dark band) */
.step{padding:6px 0}
.step__no{font-family:"IBM Plex Mono",monospace;font-size:.95rem;color:var(--accent);display:inline-block;margin-bottom:10px;letter-spacing:.05em}
.step h3{color:#fff;margin:0 0 6px}
.step p{color:#c7d2de;margin:0;font-size:.97rem}

/* testimonials */
.quote{margin:0;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:26px;display:flex;flex-direction:column;gap:18px}
.quote blockquote{margin:0;font-size:1.05rem;line-height:1.55;color:var(--ink)}
.quote figcaption{display:flex;align-items:center;gap:12px;font-size:.92rem}
.quote__av{width:42px;height:42px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-family:"Space Grotesk",sans-serif;font-weight:600;flex:none}
.quote figcaption small{color:var(--muted)}

/* features grid */
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.feature{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:26px}
.feature__icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:#fdf2dc;color:var(--accent-ink);margin-bottom:16px}
.feature__icon svg{width:19px;height:19px;display:block}
.feature h3{margin:0 0 8px;font-size:1.15rem}
.feature p{margin:0;color:var(--ink-soft);font-size:.97rem}

/* FAQ accordion (native details) */
.faq details{border:1px solid var(--line);border-radius:12px;background:var(--card);margin-bottom:12px;overflow:hidden}
.faq summary{cursor:pointer;list-style:none;padding:18px 20px;font-family:"Space Grotesk",sans-serif;font-weight:600;font-size:1.05rem;color:var(--ink);display:flex;justify-content:space-between;align-items:center;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.5rem;color:var(--primary);font-weight:400;line-height:1;flex:none;transition:transform .2s}
.faq details[open] summary::after{content:"–"}
.faq details[open] summary{border-bottom:1px solid var(--line)}
.faq details p{margin:0;padding:16px 20px 20px;color:var(--ink-soft);font-size:.99rem}

@media(max-width:900px){
	.features{grid-template-columns:1fr}
}

/* ============ Footer ============ */
.site-footer{background:var(--ink);color:#aebccb;padding:56px 0 30px;font-size:.92rem}
.site-footer a{color:#dbe6f1}
.site-footer__grid{display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap;margin-bottom:30px}
.site-footer__brand{font-family:"Space Grotesk",sans-serif;color:#fff;font-size:1.2rem;font-weight:700;display:flex;align-items:center;gap:10px}
.site-footer nav{display:flex;gap:18px;flex-wrap:wrap}
.site-footer__bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:20px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:.85rem;color:#7e8ea0}

/* ============ Responsive ============ */
@media(max-width:900px){
	.hero__grid{grid-template-columns:1fr;gap:32px}
	.hero__art{max-width:420px}
	.grid-3{grid-template-columns:1fr}
	.grid-2{grid-template-columns:1fr}
	.nav{position:fixed;inset:74px 0 auto 0;flex-direction:column;align-items:stretch;background:var(--paper);
		border-bottom:1px solid var(--line);padding:14px 24px;gap:4px;display:none}
	.nav.is-open{display:flex}
	.nav-list{flex-direction:column;align-items:stretch;gap:2px;width:100%}
	.nav a{padding:12px 10px}
	.nav-toggle{display:block}
	.section{padding:64px 0}
}

@media(max-width:560px){
	.wrap{padding:0 18px}
	.section,.section--tight{padding:46px 0}
	.hero{padding:56px 0 48px}
	h1{font-size:clamp(2rem,8.5vw,2.6rem)}
	.lead{font-size:1.08rem}
	.hero__cta{gap:10px}
	.hero__cta .btn{flex:1 1 auto;justify-content:center}
	.hero__meta{gap:12px;font-size:.74rem}
	.btn--lg{padding:14px 22px;font-size:1rem}
	.cta-final .btn{display:block;margin:8px auto;max-width:320px}
	.features,.grid-3,.grid-2,.tools{gap:14px}
	.feature,.card,.quote,.formwrap{padding:20px}
	.faq summary{font-size:1rem;padding:15px 16px}
	.faq details p{padding:14px 16px 18px}
	.head-block{margin-bottom:32px}
	.site-header__inner{height:64px}
	.nav{inset:64px 0 auto 0}
}

@media(prefers-reduced-motion:reduce){
	*{animation:none!important;transition:none!important}
}

/* focus visibility */
a:focus-visible,.btn:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}

/* ============ Subscribe / opt-in landing ============ */
.sub-hero{position:relative;overflow:hidden;padding:80px 0 72px;
	background:linear-gradient(160deg,#f4f7fc 0%,#eef2fb 60%,#fef6e6 130%)}
.sub-hero__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.sub-hero__copy h1{margin-bottom:.3em}
.sub-hero__copy .lead{margin-bottom:1.4em}
.sub-hero__ticks{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.sub-hero__ticks li{position:relative;padding-left:30px;color:var(--ink-soft);font-weight:500}
.sub-hero__ticks li::before{content:"";position:absolute;left:0;top:2px;width:20px;height:20px;border-radius:50%;
	background:var(--primary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center}

.sub-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px;
	box-shadow:0 24px 60px -28px rgba(16,38,76,.35)}
.sub-card__top{margin-bottom:18px}
.sub-card__kicker{display:inline-block;font-family:"IBM Plex Mono",monospace;font-size:.72rem;letter-spacing:.05em;
	color:var(--accent-ink);background:#fdf2dc;border-radius:6px;padding:4px 9px;margin-bottom:12px}
.sub-card__top h2{margin:0 0 4px;font-size:1.6rem}
.sub-card__top p{margin:0;color:var(--ink-soft)}
.sub-card__fine{margin:14px 0 0;font-size:.82rem;color:var(--muted,#8a94a6)}

/* Stack the embedded lead form full-width inside the card */
.sub-card .ont-lead__form{flex-direction:column;gap:12px}
.sub-card .ont-lead__in{flex:1 1 auto;width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:12px;font-size:1rem}
.sub-card .ont-lead__form .ont-btn,.sub-card .ont-btn--primary{width:100%;justify-content:center;padding:15px 18px;font-size:1.02rem;border-radius:12px}
.sub-card .ont-lead__done{text-align:center;padding:18px 0}
.sub-card .ont-lead__done h3{margin:0 0 8px;color:#0a7d3c}

@media(max-width:860px){
	.sub-hero{padding:52px 0 44px}
	.sub-hero__grid{grid-template-columns:1fr;gap:30px}
	.sub-card{padding:24px}
}

/* ---- Leads portal spotlight ---- */
.leadsfeature{background:radial-gradient(120% 120% at 85% 5%,#16365f 0%,var(--ink) 60%);color:#eaf1fb;border-radius:0}
.leadsfeature .grid-2{align-items:center;gap:54px}
.leadsfeature h2{color:#fff}
.leadsfeature .lead{color:#c7d6ea}
.leadsfeature .lead strong{color:#fff}
.eyebrow--light{color:#7fb0ff}
.eyebrow--light::before{background:var(--accent)}
.leadsteps{list-style:none;margin:26px 0 0;padding:0;display:flex;flex-direction:column;gap:14px}
.leadsteps li{display:flex;align-items:flex-start;gap:13px;color:#dbe6f5;font-size:1.02rem;line-height:1.5}
.leadsteps li strong{color:#fff}
.leadsteps__n{flex:none;width:28px;height:28px;border-radius:50%;background:var(--accent);color:#1c1300;font-weight:700;font-size:.9rem;display:flex;align-items:center;justify-content:center}
.leadsfeature__cta{margin-top:30px}
.leadsfeature__note{margin:14px 0 0;font-size:.9rem;color:#9fb6d4}
.leadsfeature__note strong{color:#fff}

.mockportal{background:#fff;border-radius:16px;box-shadow:0 30px 60px -20px rgba(0,0,0,.55);overflow:hidden;color:var(--ink);transform:rotate(.4deg)}
.mockportal__bar{display:flex;align-items:center;gap:10px;padding:13px 18px;background:#0B1B2B;color:#fff}
.mockportal__dots{display:flex;gap:5px}
.mockportal__dots i{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.32);display:block}
.mockportal__title{font-weight:700;font-size:.98rem;margin-left:4px}
.mockportal__badge{margin-left:auto;background:var(--accent);color:#1c1300;font-weight:700;font-size:.72rem;border-radius:999px;padding:3px 10px}
.mockportal__body{padding:16px;display:flex;flex-direction:column;gap:12px;background:#f6f8fb}
.mocklead{background:#fff;border:1px solid var(--line);border-radius:11px;padding:14px}
.mocklead__top{display:flex;align-items:center;justify-content:space-between}
.mocklead__top strong{font-size:1.02rem}
.mocklead__tag{background:#fff4e0;color:#b45309;font-weight:700;font-size:.68rem;border-radius:7px;padding:2px 8px}
.mocklead__meta{margin-top:5px;color:var(--muted);font-size:.82rem}
.mocklead p{margin:9px 0 0;font-size:.92rem;color:var(--ink-soft);line-height:1.5}
.mocklead__btns{display:flex;gap:7px;margin-top:12px}
.mocklead__btn{font-size:.76rem;font-weight:600;padding:6px 12px;border-radius:7px;background:#eef1f5;color:var(--ink-soft)}
.mocklead__btn--p{background:var(--primary);color:#fff}
@media(max-width:820px){
	.leadsfeature .grid-2{gap:34px}
	.mockportal{transform:none;margin-top:10px}
}

/* ---- Problem-led section ---- */
.problems{background:var(--bg)}
.problem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:8px}
.problem{background:#fff;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:14px;padding:22px 22px 20px}
.problem h3{margin:0 0 9px;font-size:1.12rem;line-height:1.3}
.problem p{margin:0;color:var(--ink-soft);line-height:1.6}
.problem-foot{margin:26px 0 0;text-align:center;color:var(--ink-soft);font-size:1.05rem;line-height:1.6}
.problem-foot a{color:var(--primary);font-weight:600;white-space:nowrap}
@media(max-width:900px){.problem-grid{grid-template-columns:1fr}}

/* ---- About Newman ---- */
.about-newman{background:radial-gradient(120% 130% at 12% 0%,#16365f 0%,var(--ink) 62%);color:#eaf1fb}
.about-newman__grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start}
.about-newman h2{color:#fff}
.about-newman .lead{color:#dbe6f5}
.about-newman p{color:#c7d6ea;line-height:1.7}
.about-newman p strong{color:#fff}
.about-newman .btn{margin-top:8px}
.about-newman__trust{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:24px}
.about-newman__trust-label{margin:0 0 16px;font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#9fb6d4;text-align:center}
.about-newman__logos{display:flex;flex-direction:column;gap:12px}
.about-logo{background:#fff;border-radius:12px;height:84px;display:flex;align-items:center;justify-content:center;padding:14px 22px}
.about-logo img{max-height:100%;max-width:80%;width:auto;object-fit:contain}
@media(max-width:860px){
	.about-newman__grid{grid-template-columns:1fr;gap:34px}
	.about-newman__logos{flex-direction:row;flex-wrap:wrap}
	.about-logo{flex:1 1 120px;height:70px}
}

/* About Newman — photo + side column */
.about-newman__side{display:flex;flex-direction:column;gap:18px}
.about-newman__photo{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center 22%;border-radius:18px;border:1px solid rgba(255,255,255,.14);display:block}
@media(max-width:860px){.about-newman__photo{aspect-ratio:4/3}}

/* ---- About page ---- */
.about-page__hero{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:center}
.about-page__photo{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center 22%;border-radius:18px;border:1px solid rgba(255,255,255,.14);display:block}
.about-partners__label{margin:26px 0 12px;font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.about-partners{display:flex;gap:16px;flex-wrap:wrap}
.about-partners__logo{flex:1 1 150px;background:#fff;border:1px solid var(--line);border-radius:12px;height:80px;display:flex;align-items:center;justify-content:center;padding:12px 20px}
.about-partners__logo img{max-height:100%;max-width:80%;width:auto;object-fit:contain}
@media(max-width:820px){
	.about-page__hero{grid-template-columns:1fr;gap:28px}
	.about-page__photo{aspect-ratio:16/10;max-width:420px}
}

/* NT Digital labeled logo chip */
.about-logo--nt,.about-partners__logo--nt{flex-direction:column;gap:5px;height:auto;min-height:84px;padding-top:12px;padding-bottom:10px}
.about-logo--nt img,.about-partners__logo--nt img{max-height:42px;max-width:42px}
.about-logo__cap{font-size:.82rem;font-weight:800;letter-spacing:.02em;color:#0B1B2B;line-height:1}
@media(max-width:860px){.about-logo--nt{min-height:70px}}

/* Make the NT Digital caption stand out on the dark front-page section */
.about-newman .about-logo--nt{min-height:92px;gap:7px}
.about-newman .about-logo--nt img{max-height:40px;max-width:40px}
.about-newman .about-logo__cap{font-size:1.02rem;font-weight:800;letter-spacing:.01em;color:#0B1B2B}

/* ---- Build process strip (on dark .band) ---- */
.process{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:6px 0 38px}
.process__step{display:flex;gap:14px;align-items:flex-start;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:18px 18px}
.process__n{flex:none;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.9rem;color:var(--ink);background:var(--accent)}
.process__step b{display:block;color:#fff;font-size:1.02rem;margin-bottom:3px}
.process__step p{margin:0;color:#c7d6ea;font-size:.92rem;line-height:1.5}
.tools-intro{margin:0 0 16px;font-size:.82rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#9fb6d4}
@media(max-width:900px){.process{grid-template-columns:1fr}}

/* ============ Nav dropdowns (Tools ▸ submenu) ============ */
.nav-list .menu-item-has-children{position:relative}
.nav-list .menu-item-has-children > a{display:inline-flex;align-items:center;gap:.3em}
.nav-list .menu-item-has-children > a::after{
	content:"";width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;
	transform:rotate(45deg);margin-top:-3px;opacity:.55;transition:transform .18s,opacity .18s}
.nav-list .sub-menu{
	list-style:none;margin:0;padding:8px;position:absolute;top:calc(100% + 6px);left:0;z-index:60;
	min-width:212px;background:var(--card);border:1px solid var(--line);border-radius:12px;
	box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(6px);
	transition:opacity .16s ease,transform .16s ease,visibility .16s}
.nav-list .sub-menu::before{content:"";position:absolute;top:-8px;left:0;right:0;height:8px} /* hover bridge */
.nav-list .menu-item-has-children:hover > .sub-menu,
.nav-list .menu-item-has-children:focus-within > .sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.nav-list .menu-item-has-children:hover > a::after,
.nav-list .menu-item-has-children:focus-within > a::after{transform:rotate(225deg);opacity:1}
.nav-list .sub-menu li{list-style:none;margin:0}
.nav-list .sub-menu a{display:block;padding:9px 12px;border-radius:8px;color:var(--ink-soft);
	font-size:.95rem;font-weight:500;white-space:nowrap}
.nav-list .sub-menu a:hover{background:rgba(37,99,235,.08);color:var(--ink)}
.submenu-toggle{display:none}

@media(max-width:900px){
	.nav-list .menu-item-has-children{position:static;display:flex;flex-wrap:wrap;align-items:center}
	.nav-list .menu-item-has-children > a{flex:1 1 auto}
	.nav-list .menu-item-has-children > a::after{display:none}
	.nav-list .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;
		border:none;background:transparent;padding:0 0 6px 14px;min-width:0;flex-basis:100%;width:100%;display:none}
	.nav-list .menu-item-has-children.is-expanded > .sub-menu{display:block}
	.nav-list .sub-menu::before{display:none}
	.nav-list .sub-menu a{padding:11px 10px}
	.submenu-toggle{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;
		flex:none;background:none;border:1px solid var(--line);border-radius:8px;margin-left:8px;cursor:pointer;padding:0}
	.submenu-toggle::before{content:"+";font-size:1.25rem;line-height:1;color:var(--ink)}
	.menu-item-has-children.is-expanded > .submenu-toggle::before{content:"–"}
}

/* ============ Enquiry form consent + messages ============ */
.ont-consent{display:flex;flex-direction:column;gap:12px;margin:6px 0 16px}
.ont-consent__row{display:flex;align-items:flex-start;gap:10px;font-size:.92rem;color:var(--ink-soft);cursor:pointer;line-height:1.45}
.ont-consent__row input[type=checkbox]{margin-top:3px;width:18px;height:18px;flex:none;accent-color:var(--primary);cursor:pointer}
.ont-consent__row a{color:var(--primary);text-decoration:underline}
.ont-consent__req{color:#c0341d;font-weight:700}
.ont-formmsg{border-radius:12px;padding:13px 16px;margin-bottom:16px;font-size:.95rem}
.ont-formmsg--error{background:#fdeaea;border:1px solid #f4c2c2;color:#a8071a}
