/*
Theme Name: Sonan
Theme URI: https://sonan.ca/
Author: Sonan Digital
Author URI: https://sonan.ca/
Description: Purpose-built theme for Sonan. Carries the brand design system, the site navigation, the site footer, and long-form typography for posts and document pages. No page builder.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 7.0
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: sonan
*/


/* ============================================================
   Sonan theme: base, site header, site footer, long-form prose
   The .sonan26 marketing-page system follows below.
   ============================================================ */

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
	margin: 0;
	min-width: 320px;
	background: #F4F8FB;
	color: #0F2537;
	font-family: "DM Sans", system-ui, sans-serif;
	-webkit-font-smoothing: antialiased;
}
img, video { max-width: 100%; height: auto; }
a { color: inherit; }
h1, h2, h3, h4, h5, h6, p, ul, ol, figure, table { margin-top: 0; }

.sonan-shell {
	width: min(calc(100% - 40px), 1120px);
	margin: 0 auto;
}

/* Keyboard skip link, off-screen until focused */
.sonan-skip {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 200;
	padding: 12px 16px;
	background: #0E3350;
	color: #FFFFFF;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}
.sonan-skip:focus {
	left: 8px;
	top: 8px;
	outline: 3px solid #1C72B0;
	outline-offset: 2px;
}

/* Eyebrow text inside a dark band. var(--muted) #4E6478 on #0E3350 measures
   2.13:1, below the 4.5:1 minimum for normal text. Glacier gives 9.48:1. */
.sonan26 .band .eyebrow {
	color: #C3E0F0;
}

/* ---------- site header ---------- */
.sonan-site-header {
	border-bottom: 1px solid #D5E0EA;
	background: #F4F8FB;
}
.sonan-site-header .sonan-shell {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	height: 82px;
}
.sonan-wordmark {
	font-family: "Newsreader", Georgia, serif;
	font-size: 31px;
	font-weight: 600;
	letter-spacing: -0.04em;
	color: #0F2537;
	text-decoration: none;
}
.sonan-menu {
	display: flex;
	align-items: center;
	gap: 22px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.sonan-menu li { margin: 0; padding: 0; }
.sonan-menu a {
	color: #4E6478;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
}
.sonan-menu a:hover,
.sonan-menu .current-menu-item > a,
.sonan-menu .current_page_item > a {
	color: #0E3350;
	text-decoration: underline;
	text-underline-offset: 5px;
}
.sonan-menu a.sonan-cta,
.sonan-menu .sonan-cta > a {
	padding: 10px 14px;
	color: #F1F7FB;
	background: #0E3350;
	border: 1px solid #0E3350;
	font-size: 12px;
	font-weight: 700;
	text-decoration: none;
}
.sonan-menu a.sonan-cta:hover,
.sonan-menu .sonan-cta > a:hover {
	background: #08243A;
	color: #FFFFFF;
	text-decoration: none;
}

/* ---------- site footer ---------- */
.sonan-site-footer {
	border-top: 1px solid #D5E0EA;
	background: #F4F8FB;
	padding: 25px 0 42px;
	color: #4E6478;
	font-size: 13px;
}
.sonan-site-footer .sonan-shell {
	display: flex;
	justify-content: space-between;
	gap: 22px;
	flex-wrap: wrap;
}
.sonan-site-footer a { color: #4E6478; text-decoration: none; }
.sonan-site-footer a:hover { color: #0E3350; text-decoration: underline; }

/* ---------- long-form prose (posts and document pages) ---------- */
.sonan-wrap {
	width: min(calc(100% - 40px), 1120px);
	margin: 0 auto;
	padding: 60px 0 74px;
}
.sonan-prose {
	max-width: 760px;
	margin: 0 auto;
	font-size: 19px;
	line-height: 1.68;
	color: #243B4E;
}
.sonan-prose h1,
.sonan-prose h2,
.sonan-prose h3,
.sonan-prose h4,
.sonan-prose h5,
.sonan-prose h6 {
	font-family: "Newsreader", Georgia, serif;
	font-weight: 500;
	letter-spacing: -0.035em;
	color: #0E3350;
}
.sonan-prose h1 { font-size: clamp(32px, 4.2vw, 50px); line-height: 1.05; margin: 0 0 22px; }
.sonan-prose h2 { font-size: 32px; line-height: 1.12; margin: 46px 0 14px; }
.sonan-prose h3 { font-size: 24px; line-height: 1.2;  margin: 34px 0 12px; }
.sonan-prose h4 { font-size: 20px; line-height: 1.25; margin: 28px 0 10px; }
.sonan-prose p { margin: 0 0 22px; }
.sonan-prose a { color: #1C72B0; text-decoration: underline; text-underline-offset: 3px; }
.sonan-prose ul,
.sonan-prose ol { margin: 0 0 22px; padding-left: 24px; }
.sonan-prose li { margin-bottom: 9px; }
.sonan-prose img { border-radius: 2px; }
.sonan-prose blockquote {
	margin: 32px 0;
	padding: 4px 0 4px 22px;
	border-left: 3px solid #1C72B0;
	font-family: "Newsreader", Georgia, serif;
	font-size: 22px;
	line-height: 1.42;
	color: #0E3350;
}
.sonan-prose hr { margin: 40px 0; border: 0; border-top: 1px solid #D5E0EA; }
.sonan-prose table { width: 100%; border-collapse: collapse; margin: 0 0 24px; font-size: 16px; }
.sonan-prose th,
.sonan-prose td { padding: 11px 13px; border: 1px solid #D5E0EA; text-align: left; }
.sonan-prose th { background: #FFFFFF; font-weight: 600; }
.sonan-prose iframe { max-width: 100%; width: 100%; }

.sonan-eyebrow {
	margin: 0 0 12px;
	color: #4E6478;
	font-family: "DM Mono", ui-monospace, monospace;
	font-size: 11px;
	letter-spacing: 0.055em;
	text-transform: uppercase;
}
.sonan-post-meta {
	margin: -10px 0 34px;
	color: #4E6478;
	font-family: "DM Mono", ui-monospace, monospace;
	font-size: 11px;
	letter-spacing: 0.055em;
	text-transform: uppercase;
}
.sonan-archive-note {
	margin: 52px 0 0;
	padding: 20px 22px;
	border: 1px solid #D5E0EA;
	background: #FFFFFF;
	color: #4E6478;
	font-size: 15px;
	line-height: 1.55;
}
.sonan-archive-note strong {
	display: block;
	margin-bottom: 5px;
	color: #0F2537;
	font-family: "DM Mono", ui-monospace, monospace;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}
.sonan-archive-note a { color: #0E3350; font-weight: 600; }

.sonan-empty { padding: 90px 0; text-align: center; }
.sonan-empty h1 { font-family: "Newsreader", Georgia, serif; font-size: 44px; font-weight: 500; color: #0E3350; margin: 0 0 14px; }
.sonan-empty p { color: #4E6478; font-size: 18px; }

@media (max-width: 760px) {
	.sonan-site-header .sonan-shell { display: block; height: auto; padding: 18px 0 15px; }
	.sonan-wordmark { display: inline-block; margin-bottom: 15px; }
	.sonan-menu { flex-wrap: wrap; gap: 13px 18px; }
	.sonan-wrap { padding: 40px 0 56px; }
	.sonan-prose { font-size: 17px; }
	.sonan-prose h2 { font-size: 26px; }
	.sonan-prose h3 { font-size: 21px; }
	.sonan-site-footer .sonan-shell { display: block; }
	.sonan-site-footer .sonan-shell span + span { display: block; margin-top: 9px; }
}


/* ============ marketing page system (.sonan26) ============ */
body{background:#F4F8FB!important}.sonan26{--mono:'DM Mono',ui-monospace,monospace;--serif:'Newsreader',Georgia,serif;--ink:#0F2537;--muted:#4E6478;--line:#D5E0EA;--paper:#F4F8FB;--white:#ffffff;--pine:#0E3350;--moss:#1C72B0;--lime:#C3E0F0;font-family:'DM Sans',system-ui,sans-serif;color:var(--ink);background:var(--paper);position:relative;left:50%;right:50%;width:100vw;margin-left:-50vw;margin-right:-50vw;overflow:hidden}.sonan26 *{box-sizing:border-box}.sonan26 .shell{width:min(calc(100% - 40px),1120px);margin:0 auto}.sonan26 .nav{height:82px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.sonan26 .wordmark{font-family:'Newsreader',Georgia,serif;font-size:31px;font-weight:600;letter-spacing:-.04em;text-decoration:none;color:var(--ink)}.sonan26 .nav-note,.sonan26 .eyebrow{color:var(--muted);font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.055em;text-transform:uppercase}.sonan26 .hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:58px;align-items:end;padding:112px 0 84px}.sonan26 h1,.sonan26 h2,.sonan26 h3,.sonan26 p{margin-top:0}.sonan26 h1{max-width:780px;margin-bottom:26px;color:var(--pine);font-family:'Newsreader',Georgia,serif;font-size:clamp(52px,7vw,92px);font-weight:500;letter-spacing:-.062em;line-height:.93}.sonan26 .lede{max-width:690px;margin-bottom:0;color:#2B4257;font-size:clamp(19px,2vw,24px);line-height:1.43;letter-spacing:-.018em}.sonan26 .hero-card{padding:25px;border:1px solid #BDD4E4;background:var(--white)}.sonan26 .marker{width:9px;height:9px;margin-bottom:50px;border-radius:50%;background:var(--moss);box-shadow:0 0 0 5px #DAEAF4}.sonan26 .hero-card p{margin-bottom:16px;font-family:'Newsreader',Georgia,serif;font-size:24px;line-height:1.12;letter-spacing:-.035em}.sonan26 .hero-card small{display:block;color:var(--muted);font-size:13px;line-height:1.5}.sonan26 .band{background:var(--pine);color:#F1F7FB}.sonan26 .band .shell{display:grid;grid-template-columns:1.1fr 1.9fr;gap:40px;padding:60px 0 64px}.sonan26 .band h2{max-width:350px;margin:11px 0 0;font-family:'Newsreader',Georgia,serif;font-size:42px;font-weight:500;line-height:.98;letter-spacing:-.05em}.sonan26 .band-copy{max-width:625px;margin:0;color:#DBE9F3;font-size:19px;line-height:1.5}.sonan26 .practice{padding:110px 0}.sonan26 .section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;padding-bottom:28px;border-bottom:1px solid var(--line)}.sonan26 .section-head h2{max-width:650px;margin:13px 0 0;font-family:'Newsreader',Georgia,serif;font-size:clamp(39px,5vw,62px);font-weight:500;line-height:.96;letter-spacing:-.055em}.sonan26 .cards{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid var(--line)}.sonan26 .card{min-height:300px;padding:33px 29px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.sonan26 .card-number{color:var(--moss);font-family:'DM Mono',monospace;font-size:12px}.sonan26 .card h3{margin:74px 0 13px;font-family:'Newsreader',Georgia,serif;font-size:31px;font-weight:500;letter-spacing:-.04em;line-height:1}.sonan26 .card p{margin-bottom:0;color:var(--muted);font-size:16px;line-height:1.5}.sonan26 .about{display:grid;grid-template-columns:.83fr 1.17fr;gap:78px;padding:105px 0}.sonan26 .about h2{margin:11px 0 0;color:var(--pine);font-family:'Newsreader',Georgia,serif;font-size:52px;font-weight:500;line-height:.95;letter-spacing:-.055em}.sonan26 .about-copy{max-width:650px;font-size:20px;line-height:1.52}.sonan26 .about-copy p{margin-bottom:22px}.sonan26 .about-copy p:last-child{margin-bottom:0;color:var(--muted);font-size:16px}.sonan26 .contact{margin-bottom:82px;padding:53px;background:var(--lime)}.sonan26 .contact .eyebrow{color:#2B4257}.sonan26 .contact-row{display:flex;justify-content:space-between;gap:34px;align-items:end;margin-top:18px}.sonan26 .contact h2{max-width:630px;margin:0;font-family:'Newsreader',Georgia,serif;font-size:clamp(39px,5vw,62px);font-weight:500;line-height:.95;letter-spacing:-.055em}.sonan26 .button{flex:none;display:inline-flex;align-items:center;justify-content:center;min-height:51px;padding:14px 20px;color:#F1F7FB!important;background:var(--pine);border:1px solid var(--pine);font-size:14px;font-weight:600;text-decoration:none}.sonan26 footer{display:flex;justify-content:space-between;gap:22px;padding:25px 0 42px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}@media(max-width:760px){.sonan26 .shell{width:min(calc(100% - 28px),1120px)}.sonan26 .nav{height:66px}.sonan26 .nav-note{display:none}.sonan26 .hero,.sonan26 .band .shell,.sonan26 .about{grid-template-columns:1fr;gap:34px}.sonan26 .hero{padding:70px 0 56px}.sonan26 .band .shell{padding:48px 0}.sonan26 .practice{padding:72px 0}.sonan26 .section-head{display:block}.sonan26 .cards{grid-template-columns:1fr}.sonan26 .card{min-height:auto;padding:28px 24px}.sonan26 .card h3{margin-top:40px}.sonan26 .about{padding:70px 0}.sonan26 .contact{margin-bottom:50px;padding:33px 26px}.sonan26 .contact-row{display:block}.sonan26 .contact h2{margin-bottom:28px}.sonan26 .button{width:100%}.sonan26 footer{display:block}.sonan26 footer span+span{display:block;margin-top:8px}}
.sonan26{--ink:#0F2537;--muted:#4E6478;--line:#D5E0EA;--paper:#F4F8FB;--white:#fff;--pine:#0E3350;--moss:#1C72B0;--lime:#C3E0F0}.sonan26 .lede{color:#2B4257}.sonan26 .hero-card{border-color:#BDD4E4}.sonan26 .marker{box-shadow:0 0 0 5px #DAEAF4}.sonan26 .band{color:#F1F7FB}.sonan26 .band-copy{color:#DBE9F3}.sonan26 .contact .eyebrow{color:#2B4257}.sonan26 .button{color:#F1F7FB!important}.sonan26 .band h2{color:#F1F7FB}.sonan26 .about-photo{display:block;width:136px;height:136px;object-fit:cover;border-radius:50%;margin-top:28px;border:5px solid #BDD4E4}.sonan26 .about-copy p:first-child{font-size:1.18rem;font-weight:600;color:var(--ink)}.sonan26 .card p{max-width:34ch}.sonan26 .band .process{display:block}.sonan26 .process-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:end;padding-bottom:42px}.sonan26 .process-steps{display:grid;grid-template-columns:repeat(3,1fr);list-style:none;margin:0;padding:30px 0 0;border-top:1px solid rgba(255,255,255,.28)}.sonan26 .process-steps li{padding:0 30px;border-left:1px solid rgba(255,255,255,.2)}.sonan26 .process-steps li:first-child{padding-left:0;border-left:0}.sonan26 .process-steps span{display:block;color:#C3E0F0;font:700 .72rem/1 var(--mono);letter-spacing:.12em;margin-bottom:26px}.sonan26 .process-steps h3{color:#fff;margin:0 0 14px;font:400 clamp(1.35rem,2vw,1.8rem)/1.08 var(--serif)}.sonan26 .process-steps p{color:#E2EEF6;margin:0;font-size:.96rem;line-height:1.62}@media(max-width:760px){.sonan26 .process-intro{grid-template-columns:1fr;gap:18px;padding-bottom:30px}.sonan26 .process-steps{grid-template-columns:1fr;gap:28px}.sonan26 .process-steps li{padding:0;border-left:0}.sonan26 .process-steps span{margin-bottom:12px}}.sonan26 .process-steps,.sonan26 .process-steps li{list-style:none!important}.sonan26 .process-steps li::marker{content:""}

/* ============ page-level components pulled out of the individual pages ============ */
.sonan26{--mono:'DM Mono',ui-monospace,monospace;--serif:'Newsreader',Georgia,serif}
.sonan26 .nav-links{display:flex;align-items:center;gap:22px}
.sonan26 .nav-link{color:var(--muted);font-size:13px;font-weight:600;text-decoration:none}
.sonan26 .nav-link:hover{color:var(--pine)}
.sonan26 .nav-cta{padding:10px 14px;color:#F1F7FB!important;background:var(--pine);border:1px solid var(--pine);font-size:12px;font-weight:700;text-decoration:none}
.sonan26 .nav-cta:hover{background:#08243A}
@media(max-width:760px){.sonan26 .nav{display:block;height:auto;padding:18px 0 15px}.sonan26 .wordmark{display:inline-block;margin-bottom:15px}.sonan26 .nav-links{display:flex;flex-wrap:wrap;align-items:center;gap:13px 18px}.sonan26 .nav-link{display:block;font-size:13px}.sonan26 .nav-cta{padding:9px 13px;font-size:11px}}
.sonan26 .stack{display:grid;grid-template-columns:.82fr 1.18fr;gap:70px;padding:0 0 105px}
.sonan26 .stack h2{margin:11px 0 0;color:var(--pine);font-family:var(--serif);font-size:52px;font-weight:500;line-height:.95;letter-spacing:-.055em}
.sonan26 .stack-copy{max-width:650px;font-size:20px;line-height:1.52}
.sonan26 .stack-copy p{margin-bottom:22px}
.sonan26 .stack-list{display:flex;flex-wrap:wrap;gap:9px;margin-top:26px}
.sonan26 .stack-list span{padding:9px 12px;border:1px solid #BDD4E4;color:var(--pine);background:var(--white);font-family:var(--mono);font-size:11px}
.sonan26 .human-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:start}
.sonan26 .human-list{list-style:none;margin:0;padding:0}
.sonan26 .human-list li{position:relative;padding:17px 0 17px 24px;border-top:1px solid rgba(255,255,255,.22);color:#E2EEF6;font-size:17px;line-height:1.5}
.sonan26 .human-list li::before{content:"";position:absolute;left:0;top:26px;width:7px;height:7px;border-radius:50%;background:var(--lime)}
.sonan26 .human-note{margin:28px 0 0;color:#DBE9F3;font-size:18px;line-height:1.55}
.sonan26 .practice{padding:110px 0 96px}
.sonan26 .band + .practice{padding-top:96px}
@media(max-width:760px){.sonan26 .nav{display:block;height:auto;padding:18px 0 15px}.sonan26 .wordmark{display:inline-block;margin-bottom:15px}.sonan26 .nav-links{display:flex;flex-wrap:wrap;align-items:center;gap:13px 18px}.sonan26 .nav-link{display:block;font-size:13px}.sonan26 .nav-cta{padding:9px 13px;font-size:11px}.sonan26 .stack,.sonan26 .human-grid{grid-template-columns:1fr;gap:34px}.sonan26 .stack{padding-bottom:70px}.sonan26 .practice{padding:72px 0 64px}}
.sonan26 .nav-link:hover,.sonan26 .nav-link.current{color:var(--pine)}
.sonan26 .nav-link.current{text-decoration:underline;text-underline-offset:5px}
.sonan26 .portrait{display:block;width:100%;max-width:360px;height:auto;margin-top:30px;border:1px solid var(--line)}
.sonan26 .credits{margin:34px 0 0;padding:0;list-style:none}
.sonan26 .credits li{padding:14px 0;border-top:1px solid var(--line);color:var(--muted);font-size:16px;line-height:1.5}
.sonan26 .credits li strong{display:block;color:var(--ink);font-size:17px;margin-bottom:3px}
.sonan26 .note{margin-top:30px;padding:22px 24px;border:1px solid var(--line);background:var(--white);color:var(--muted);font-size:16px;line-height:1.55}
.sonan26 .note a{color:var(--pine);font-weight:600}
.sonan26 .episodes{display:grid;grid-template-columns:repeat(2,1fr);border-left:1px solid var(--line)}
.sonan26 .episode{padding:28px 28px 26px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.sonan26 .episode h3{margin:34px 0 12px;font-family:var(--serif);font-size:28px;font-weight:500;letter-spacing:-.035em;line-height:1.05}
.sonan26 .episode h3 em{display:block;margin-top:6px;color:var(--muted);font-family:var(--mono);font-size:11px;font-style:normal;letter-spacing:.06em;text-transform:uppercase}
.sonan26 .episode p{margin:0 0 18px;color:var(--muted);font-size:16px;line-height:1.5}
.sonan26 .ep-link{color:var(--pine);font-size:13px;font-weight:700;text-underline-offset:4px}
@media(max-width:760px){.sonan26 .episodes{grid-template-columns:1fr}}
@media(max-width:760px){.sonan26 .nav{display:block;height:auto;padding:18px 0 15px}.sonan26 .wordmark{display:inline-block;margin-bottom:15px}.sonan26 .nav-links{display:flex;flex-wrap:wrap;align-items:center;gap:13px 18px}.sonan26 .nav-link{display:block;font-size:13px}.sonan26 .nav-cta{padding:9px 13px;font-size:11px}.sonan26 .stack,.sonan26 .human-grid{grid-template-columns:1fr;gap:34px}.sonan26 .practice{padding:72px 0 64px}}
.sonan26 .enquiry{display:grid;gap:20px;max-width:660px;margin-top:34px}
.sonan26 .enquiry .row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.sonan26 .enquiry label{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.sonan26 .enquiry input[type=text],.sonan26 .enquiry input[type=email],.sonan26 .enquiry textarea{width:100%;margin-top:8px;padding:14px 15px;border:1px solid var(--line);background:var(--white);color:var(--ink);font-family:inherit;font-size:16px;line-height:1.45}
.sonan26 .enquiry textarea{min-height:140px;resize:vertical}
.sonan26 .enquiry input:focus,.sonan26 .enquiry textarea:focus{outline:2px solid var(--moss);outline-offset:1px;border-color:var(--moss)}
.sonan26 .enquiry .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.sonan26 .enquiry button{justify-self:start;cursor:pointer;font-family:inherit}
.sonan26 .enquiry button[disabled]{opacity:.55;cursor:default}
.sonan26 .form-note{margin:4px 0 0;font-size:15px;line-height:1.5}
.sonan26 .form-note.ok{color:var(--moss);font-weight:700}
.sonan26 .form-note.err{color:#A3321F;font-weight:700}
.sonan26 .alt{margin-top:30px;color:var(--muted);font-size:16px}
.sonan26 .alt a{color:var(--pine);font-weight:600}
@media(max-width:760px){.sonan26 .enquiry .row{grid-template-columns:1fr}}
.sonan26 .arch-group{margin-top:56px}
.sonan26 .arch-group h3{margin:0 0 8px;font-family:var(--serif);font-size:30px;font-weight:500;letter-spacing:-.04em;color:var(--pine)}
.sonan26 .arch-blurb{margin:0 0 20px;color:var(--muted);font-size:16px;line-height:1.5;max-width:640px}
.sonan26 .arch-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.sonan26 .arch-list li{display:flex;justify-content:space-between;gap:26px;align-items:baseline;padding:15px 0;border-bottom:1px solid var(--line)}
.sonan26 .arch-list a{color:var(--ink);font-size:17px;text-decoration:none;border-bottom:1px solid transparent}
.sonan26 .arch-list a:hover{color:var(--moss);border-bottom-color:var(--moss)}
.sonan26 .arch-list span{flex:none;color:var(--muted);font-family:var(--mono);font-size:11px;letter-spacing:.06em}
.sonan26 .faq{max-width:800px;margin-top:34px;border-top:1px solid var(--line)}
.sonan26 .faq-item{border-bottom:1px solid var(--line)}
.sonan26 .faq-item summary{display:flex;justify-content:space-between;gap:24px;align-items:baseline;padding:22px 0;cursor:pointer;list-style:none;font-family:var(--serif);font-size:23px;font-weight:500;letter-spacing:-.03em;color:var(--pine)}
.sonan26 .faq-item summary::-webkit-details-marker{display:none}
.sonan26 .faq-item summary::after{content:"+";flex:none;color:var(--moss);font-family:var(--mono);font-size:20px;line-height:1}
.sonan26 .faq-item[open] summary::after{content:"\2212"}
.sonan26 .faq-body{padding:0 0 24px}
.sonan26 .faq-body p{margin:0;max-width:680px;color:var(--muted);font-size:17px;line-height:1.6}

/* ============ container corrections ============ */

/*
 * The theme's content container is already full width, so the page's own
 * full-bleed escape hatch is doing nothing except causing trouble: width:100vw
 * includes the scrollbar, which makes desktop pages scroll sideways by roughly
 * 15px. Neutralise it and let the block be 100% of its real container.
 */
.sonan26 {
	width: 100%;
	margin-left: 0;
	margin-right: 0;
	left: auto;
	right: auto;
}

/*
 * The band shell is a two-column grid (1.1fr / 1.9fr) so a band can hold a
 * heading beside body copy. When a band has a single wrapper child, that child
 * lands in the narrow first column, which crushed the process steps to about a
 * third of their intended width and the two-column rule grids even further.
 * Anything that is the only child of a band shell spans the full grid.
 */
.sonan26 .band .shell > .process,
.sonan26 .band .shell > .human-grid,
.sonan26 .band .shell > .stack {
	grid-column: 1 / -1;
}

/* ============================================================
   Design pass: alpine depth overlay
   Scoped to .sonan26. Append-only; wins by source order.
   No new typefaces, no images, no 100vw, no !important.
   ============================================================ */
/* ============================================================
   SONAN26 overlay: crisp blue mountain
   Append only. Every selector is scoped to .sonan26.
   No new typefaces, no images, no network, no 100vw.
   ============================================================ */

/* 01 -- Tokens (reuses existing palette only) */
.sonan26 {
  --pine-deep: #08243A;
  --paper-2: #EDF3F8;
  --card-shadow: 0 1px 0 rgba(14, 51, 80, 0.06), 0 16px 34px -22px rgba(14, 51, 80, 0.35);
  --lift-shadow: 0 2px 0 rgba(14, 51, 80, 0.06), 0 24px 44px -22px rgba(14, 51, 80, 0.42);
  --hair: rgba(14, 51, 80, 0.14);
  --radius: 16px;
}

/* 02 -- Page tone: white ridge falling to paper, not one flat fill */
.sonan26 {
  background: linear-gradient(180deg, #FFFFFF 0, #F4F8FB 340px, var(--paper-2) 100%);
  overflow: clip;
}
.sonan26 ::selection {
  background: #0E3350;
  color: #FFFFFF;
}
.sonan26 a:focus-visible,
.sonan26 button:focus-visible,
.sonan26 summary:focus-visible,
.sonan26 input:focus-visible,
.sonan26 textarea:focus-visible {
  outline: 3px solid #1C72B0;
  outline-offset: 3px;
  border-radius: 2px;
}
.sonan26 h1,
.sonan26 h2,
.sonan26 h3 {
  text-wrap: balance;
}
.sonan26 p,
.sonan26 li {
  text-wrap: pretty;
  overflow-wrap: break-word;
}

/* 03 -- Mono eyebrow becomes a signature: label + short rule */
.sonan26 .eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 11px;
  letter-spacing: 0.14em;
}
.sonan26 .eyebrow::after {
  content: "";
  flex: none;
  width: 56px;
  height: 1px;
  background: currentColor;
  opacity: 0.45;
}
.sonan26 .band .eyebrow::after {
  opacity: 0.6;
}

/* 04 -- Hero: glacier glow, tighter measure, layered card */
.sonan26 .hero {
  position: relative;
  isolation: isolate;
  align-items: start;
  padding-top: 96px;
}
.sonan26 .hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(560px 300px at 12% 8%, rgba(195, 224, 240, 0.75), rgba(195, 224, 240, 0) 70%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0) 60%);
}
.sonan26 .hero::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: linear-gradient(90deg, #0E3350 0, #1C72B0 18%, #D5E0EA 55%, rgba(213, 224, 234, 0) 100%);
  opacity: 0.7;
}
.sonan26 h1 {
  letter-spacing: -0.065em;
}
.sonan26 .lede {
  max-width: 58ch;
}
.sonan26 .hero > div {
  min-width: 0;
}
.sonan26 .hero-card {
  position: relative;
  background: #FFFFFF;
  border: 1px solid #BDD4E4;
  border-radius: 12px;
  box-shadow: var(--card-shadow);
  padding-top: 28px;
  overflow: hidden;
}
.sonan26 .hero-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #0E3350, #1C72B0 60%, #C3E0F0);
}
.sonan26 .hero-card p {
  font-size: 23px;
  line-height: 1.18;
}
.sonan26 .marker {
  width: 10px;
  height: 10px;
  margin-bottom: 28px;
  background: #0E3350;
  box-shadow: 0 0 0 6px #DAEAF4, 0 0 0 7px rgba(14, 51, 80, 0.18);
}

/* 05 -- Dark bands: alpine depth, glacier hairlines, faint contours */
.sonan26 .band {
  position: relative;
  isolation: isolate;
  color: #F1F7FB;
  background: linear-gradient(180deg, #143C5C 0, #0E3350 34%, var(--pine-deep) 100%);
  border-top: 1px solid rgba(195, 224, 240, 0.4);
  border-bottom: 1px solid rgba(8, 36, 58, 0.9);
}
.sonan26 .band::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: repeating-linear-gradient(180deg, rgba(195, 224, 240, 0.055) 0 1px, rgba(195, 224, 240, 0) 1px 22px);
}
.sonan26 .band::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 1px;
  background: linear-gradient(90deg, rgba(195, 224, 240, 0), rgba(195, 224, 240, 0.8) 30%, rgba(195, 224, 240, 0.8) 70%, rgba(195, 224, 240, 0));
}
.sonan26 .band .shell {
  padding-top: 72px;
  padding-bottom: 76px;
}
.sonan26 .band h2 {
  text-wrap: balance;
}
.sonan26 .band-copy {
  max-width: 60ch;
}
.sonan26 .process-steps {
  border-top-color: rgba(195, 224, 240, 0.4);
}
.sonan26 .process-steps li {
  border-left-color: rgba(195, 224, 240, 0.28);
}
.sonan26 .process-steps span {
  letter-spacing: 0.14em;
}
.sonan26 .human-list li {
  border-top-color: rgba(195, 224, 240, 0.28);
}
.sonan26 .human-list li::before {
  top: 27px;
  box-shadow: 0 0 0 4px rgba(195, 224, 240, 0.18);
}

/* 06 -- Section rhythm: narrow head, wide body, non-uniform spacing */
.sonan26 .practice {
  padding-top: 88px;
  padding-bottom: 88px;
}
.sonan26 .band + .practice {
  padding-top: 76px;
}
.sonan26 .section-head {
  align-items: end;
  padding-bottom: 24px;
}
.sonan26 .section-head h2 {
  max-width: 16ch;
}
.sonan26 .about {
  padding-top: 88px;
  padding-bottom: 88px;
  align-items: start;
}
.sonan26 .about h2,
.sonan26 .stack h2 {
  max-width: 12ch;
  text-wrap: balance;
}
.sonan26 .stack {
  padding-bottom: 88px;
}
.sonan26 .about-copy,
.sonan26 .stack-copy {
  min-width: 0;
}

/* 07 -- Cards: white surface, pine index, glacier edge on hover */
.sonan26 .cards {
  background: var(--line);
  gap: 1px;
  border: 1px solid var(--line);
  border-left-width: 1px;
  border-radius: var(--radius);
  overflow: hidden;
}
.sonan26 .cards .card {
  position: relative;
  background: #FFFFFF;
  border: 0;
  min-height: 320px;
  padding-top: 30px;
}
.sonan26 .cards .card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #0E3350, #1C72B0);
  transform: scaleX(0);
  transform-origin: left center;
}
.sonan26 .card-number {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #0E3350;
  font-size: 11px;
  letter-spacing: 0.12em;
  padding: 6px 9px;
  border: 1px solid #BDD4E4;
  background: #F4F8FB;
  border-radius: 999px;
}
.sonan26 .cards .card h3 {
  margin-top: 56px;
  font-size: 29px;
  line-height: 1.04;
}
.sonan26 .episodes {
  background: var(--line);
  gap: 1px;
  border: 1px solid var(--line);
  border-left-width: 1px;
  border-radius: var(--radius);
  overflow: hidden;
}
.sonan26 .episodes .episode {
  background: #FFFFFF;
  border: 0;
}
.sonan26 .stack-list span {
  border-radius: 999px;
  box-shadow: 0 1px 0 rgba(14, 51, 80, 0.08);
}

/* 08 -- About portrait and credits: round photo with ring, quiet table */
.sonan26 .about-photo {
  width: 128px;
  height: 128px;
  border: 1px solid #BDD4E4;
  box-shadow: 0 0 0 6px #FFFFFF, 0 0 0 7px #BDD4E4, var(--card-shadow);
}
.sonan26 .portrait {
  border-radius: 12px;
  box-shadow: var(--card-shadow);
}
.sonan26 .credits li {
  display: grid;
  grid-template-columns: minmax(0, 200px) minmax(0, 1fr);
  gap: 6px 24px;
  align-items: baseline;
}
.sonan26 .note {
  border-radius: 12px;
  box-shadow: var(--card-shadow);
}

/* 09 -- Archive and FAQ: row hover without layout shift */
.sonan26 .arch-list li {
  gap: 20px;
}
.sonan26 .arch-list a {
  border-bottom-color: transparent;
  text-underline-offset: 4px;
}
.sonan26 .arch-list li:hover {
  background: linear-gradient(90deg, rgba(195, 224, 240, 0.35), rgba(195, 224, 240, 0));
}
.sonan26 .faq-item summary {
  font-size: 22px;
  line-height: 1.25;
}
.sonan26 .faq-item summary::after {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border: 1px solid #BDD4E4;
  border-radius: 50%;
  font-size: 17px;
}
.sonan26 .faq-item[open] summary::after {
  background: #0E3350;
  border-color: #0E3350;
  color: #FFFFFF;
}

/* 10 -- Contact panel and buttons: glacier panel, pine action */
.sonan26 .contact {
  position: relative;
  background: linear-gradient(180deg, #DCEEF9 0, #C3E0F0 100%);
  border: 1px solid #BDD4E4;
  border-radius: 20px;
  box-shadow: var(--card-shadow);
  overflow: hidden;
}
.sonan26 .contact::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 4px;
  background: linear-gradient(90deg, #0E3350, #1C72B0 55%, rgba(28, 114, 176, 0));
}
.sonan26 .contact h2 {
  max-width: 20ch;
  text-wrap: balance;
}
.sonan26 .button,
.sonan26 .nav-cta {
  border-radius: 999px;
}
.sonan26 .button::after {
  content: "\2192";
  margin-left: 10px;
  font-weight: 400;
  line-height: 1;
}
.sonan26 .nav-link {
  text-underline-offset: 5px;
  text-decoration-thickness: 1px;
}

/* 11 -- Forms: calmer labels, stronger fields */
.sonan26 .enquiry input[type="text"],
.sonan26 .enquiry input[type="email"],
.sonan26 .enquiry textarea {
  border-radius: 10px;
  border-color: #BDD4E4;
  background: #FFFFFF;
}
.sonan26 .enquiry label {
  letter-spacing: 0.1em;
}
.sonan26 .alt {
  max-width: 62ch;
}

/* 12 -- Restrained motion only when allowed */
@media (prefers-reduced-motion: no-preference) {
  .sonan26 .button,
  .sonan26 .nav-cta,
  .sonan26 .arch-list li,
  .sonan26 .faq-item summary::after {
    transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
  }
  .sonan26 .cards .card,
  .sonan26 .episodes .episode,
  .sonan26 .hero-card,
  .sonan26 .note {
    transition: transform 180ms ease, box-shadow 180ms ease;
  }
  .sonan26 .cards .card::before {
    transition: transform 220ms ease;
  }
  .sonan26 .cards .card:hover,
  .sonan26 .episodes .episode:hover {
    transform: translateY(-3px);
    box-shadow: var(--lift-shadow);
  }
  .sonan26 .cards .card:hover::before {
    transform: scaleX(1);
  }
  .sonan26 .button:hover::after {
    transform: translateX(3px);
  }
  .sonan26 .button::after {
    display: inline-block;
    transition: transform 160ms ease;
  }
}
@media (prefers-reduced-motion: reduce) {
  .sonan26,
  .sonan26 .cards .card,
  .sonan26 .button {
    transition: none;
    animation: none;
  }
}

/* 13 -- Width guards: 390 / 800 / 1024 / 1440, no sideways scroll */
.sonan26 .shell,
.sonan26 .hero,
.sonan26 .band .shell,
.sonan26 .about,
.sonan26 .stack,
.sonan26 .human-grid,
.sonan26 .process-intro {
  min-width: 0;
  max-width: 100%;
}
.sonan26 .hero > div,
.sonan26 .hero-card,
.sonan26 .band-copy,
.sonan26 .about-copy,
.sonan26 .stack-copy,
.sonan26 .contact h2 {
  min-width: 0;
  max-width: 100%;
}
@media (max-width: 1024px) {
  .sonan26 .hero {
    gap: 40px;
  }
  .sonan26 .about {
    gap: 48px;
  }
}
@media (max-width: 800px) {
  .sonan26 .hero {
    padding-top: 60px;
  }
  .sonan26 .hero-card {
    max-width: 560px;
  }
  .sonan26 .credits li {
    grid-template-columns: minmax(0, 1fr);
  }
  .sonan26 .contact-row {
    align-items: stretch;
  }
}
@media (max-width: 390px) {
  .sonan26 .shell {
    width: min(calc(100% - 28px), 1120px);
  }
  .sonan26 h1 {
    font-size: clamp(44px, 14vw, 56px);
  }
  .sonan26 .section-head h2,
  .sonan26 .contact h2 {
    font-size: clamp(32px, 9vw, 40px);
  }
  .sonan26 .cards .card {
    min-height: 0;
  }
}
/* ============================================================
   Design pass corrections
   Fixes found by reviewing rendered screenshots of the overlay above.
   ============================================================ */

/*
 * The page gradient used a hard 340px stop, which produced a visible
 * horizontal band edge inside the hero. A two-stop gradient across the full
 * page has no slope change to see.
 */
.sonan26 {
  background: linear-gradient(180deg, #FFFFFF 0%, #EDF3F8 100%);
}

/*
 * The hero wash stacked a radial glow under a white linear wash that ended at
 * 60% height, which read as a floating rectangle rather than a glow. One soft,
 * wide radial layer only.
 */
.sonan26 .hero::before {
  background: radial-gradient(1100px 620px at 2% 0%, rgba(195, 224, 240, 0.40), rgba(195, 224, 240, 0) 65%);
}

/*
 * align-items:start floated the card at the top of a much taller text column
 * and left ~225px of dead space beneath it. Anchoring to the baseline is what
 * the two-column hero wants.
 */
.sonan26 .hero {
  align-items: end;
}

/*
 * A three-stop gradient ending in pale glacier made the card's top edge look
 * like it faded out mid-card rather than ending deliberately.
 */
.sonan26 .hero-card::before {
  background: linear-gradient(90deg, #0E3350 0%, #1C72B0 100%);
}
/*
 * The theme nav uses .sonan-cta while the marketing pages used .nav-cta, so the
 * pill radius from the overlay only reached one of them. Match the button shape.
 */
.sonan-menu a.sonan-cta,
.sonan-menu .sonan-cta > a {
  border-radius: 999px;
}
/*
 * The hero glow was drawn on .hero::before, but .hero IS the shell element
 * (1120px wide, inset from the viewport by 153px). Clipping a gradient to that
 * rectangle puts its left edge at full opacity right at the shell boundary,
 * which shows up as a hard vertical edge and reads as an artifact.
 * Draw it full-bleed on the wrapper instead, so it fades within the element.
 */
.sonan26 .hero::before {
  background: none;
}
.sonan26::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 660px;
  pointer-events: none;
  background: radial-gradient(1300px 640px at 14% 0%, rgba(195, 224, 240, 0.42), rgba(195, 224, 240, 0) 62%);
}
/*
 * Bottom-aligning fixed the gap below the card but moved it above instead: the
 * card is 249px against a 474px text column, so any edge alignment leaves the
 * whole imbalance on one side. Centre it so the slack splits evenly.
 */
.sonan26 .hero {
  align-items: center;
}

/* ============================================================
   Fix: section rhythm. "Built for the stack" (section.stack) lost its
   top padding, so its eyebrow sat flush against the dark band above it.
   Matches section.practice, which uses 76px.
   Scoped to section.stack so inner .stack flex utilities are untouched.
   ============================================================ */
.sonan26 section.band + section.stack { padding-top: 76px; }
/* Only where a .band sits immediately above. On /about-us/ the same
   section follows .practice, whose 88px bottom padding already supplies
   the gap, so it must not gain another 76px. */


/* 2026-09-17: semantic headings and upfront archive context.
 * Preserve the interview questions' existing visual treatment, including
 * the original h5 browser-relative sizing on Village Wellth.
 */
.sonan-prose h2.sonan-interview-question--h4 {
    font-size: 20px;
    line-height: 1.25;
    margin: 28px 0 10px;
}
.sonan-prose h2.sonan-interview-question--h5 {
    font-size: .83em;
    line-height: 1.68;
    margin: 0 0 1.67em;
}
.sonan-prose > .sonan-post-meta + .sonan-archive-note {
    margin: 0 0 32px;
}

/* 2026-09-17: keep closing-panel breathing room inside the blue surface.
 * overflow: clip does not contain the final child's collapsing margin.
 * All marketing-page mains end with this contact panel; use padding instead.
 */
.sonan26 > main {
    padding-bottom: 82px;
}
.sonan26 > main > .contact:last-child {
    margin-bottom: 0;
}
@media (max-width: 760px) {
    .sonan26 > main {
        padding-bottom: 50px;
    }
}


/* 2026-09-17: heritage rocket in the service-page hero cards.
 * Decorative vector, not an emoji. Preserve the separate Insights identity.
 */
body:not(.page-id-12835) .sonan26 .hero-card > .marker {
    width: 36px;
    height: 40px;
    margin-bottom: 18px;
    border: 0;
    border-radius: 0;
    background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2048%2048%22%20fill%3D%22none%22%3E%0A%3Cg%20transform%3D%22rotate%2835%2024%2024%29%22%20stroke%3D%22%230E3350%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%0A%3Cpath%20d%3D%22M17%2025%2010%2032v7l9-5M31%2025l7%207v7l-9-5%22%20fill%3D%22%230E3350%22%2F%3E%0A%3Cpath%20d%3D%22M20%2035c0%204%204%209%204%209s4-5%204-9%22%20fill%3D%22%23C3E0F0%22%20stroke%3D%22%231C72B0%22%2F%3E%0A%3Cpath%20d%3D%22M16%2030V19c0-7%208-15%208-15s8%208%208%2015v11l-4%205h-8z%22%20fill%3D%22%23F4F8FB%22%2F%3E%0A%3Cpath%20d%3D%22M18%2012h12c-2-4-6-8-6-8s-4%204-6%208Z%22%20fill%3D%22%231C72B0%22%2F%3E%0A%3Ccircle%20cx%3D%2224%22%20cy%3D%2221%22%20r%3D%224%22%20fill%3D%22%23C3E0F0%22%2F%3E%0A%3Cpath%20d%3D%22M19%2030h10%22%2F%3E%0A%3C%2Fg%3E%3C%2Fsvg%3E") left center / 36px 36px no-repeat;
    box-shadow: none;
}


/* 2026-09-17: About founder portrait, not a circular image in a card.
 * The source has a baked-in grey ring. A small, clipped zoom removes it
 * without editing the original image or changing portraits elsewhere.
 */
.page-id-61 .sonan26 .founder-profile {
    width: 184px;
    max-width: 100%;
    margin: 28px 0 0;
}
.page-id-61 .sonan26 .founder-portrait {
    width: 100%;
    aspect-ratio: 1;
    overflow: hidden;
    border: 1px solid #BDD4E4;
    border-radius: 50%;
    background: #DAEAF4;
}
.page-id-61 .sonan26 .founder-portrait img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    margin: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    object-fit: cover;
    transform: scale(1.075);
}
.page-id-61 .sonan26 .founder-profile figcaption {
    margin-top: 14px;
    text-align: center;
}
.page-id-61 .sonan26 .founder-profile figcaption strong {
    display: block;
    color: #0E3350;
    font-family: var(--serif);
    font-size: 22px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -.025em;
}
.page-id-61 .sonan26 .founder-profile figcaption span {
    display: block;
    margin-top: 5px;
    color: #4E6478;
    font-size: 13px;
    line-height: 1.45;
}
@media (max-width: 760px) {
    .page-id-61 .sonan26 .founder-profile {
        width: 156px;
        margin-top: 24px;
    }
}


/* Shared heritage rocket also on Insights; series artwork remains unchanged. */
body.page-id-12835 .sonan26 .hero-card > .marker {
    width: 36px;
    height: 40px;
    margin-bottom: 18px;
    border: 0;
    border-radius: 0;
    background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2048%2048%22%20fill%3D%22none%22%3E%0A%3Cg%20transform%3D%22rotate%2835%2024%2024%29%22%20stroke%3D%22%230E3350%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%0A%3Cpath%20d%3D%22M17%2025%2010%2032v7l9-5M31%2025l7%207v7l-9-5%22%20fill%3D%22%230E3350%22%2F%3E%0A%3Cpath%20d%3D%22M20%2035c0%204%204%209%204%209s4-5%204-9%22%20fill%3D%22%23C3E0F0%22%20stroke%3D%22%231C72B0%22%2F%3E%0A%3Cpath%20d%3D%22M16%2030V19c0-7%208-15%208-15s8%208%208%2015v11l-4%205h-8z%22%20fill%3D%22%23F4F8FB%22%2F%3E%0A%3Cpath%20d%3D%22M18%2012h12c-2-4-6-8-6-8s-4%204-6%208Z%22%20fill%3D%22%231C72B0%22%2F%3E%0A%3Ccircle%20cx%3D%2224%22%20cy%3D%2221%22%20r%3D%224%22%20fill%3D%22%23C3E0F0%22%2F%3E%0A%3Cpath%20d%3D%22M19%2030h10%22%2F%3E%0A%3C%2Fg%3E%3C%2Fsvg%3E") left center / 36px 36px no-repeat;
    box-shadow: none;
}

/* 2026-10-02: mobile header and section-head spacing (Patrick's phone review). */
@media (max-width: 760px) {
	/* The header CTA wrapped onto its own line flush left under the nav links and read as an orphan.
	   Give it a full row of its own below the nav, text centred. */
	.sonan-menu .sonan-cta {
		flex-basis: 100%;
		margin-top: 6px;
	}
	.sonan-menu a.sonan-cta,
	.sonan-menu .sonan-cta > a {
		display: block;
		padding: 12px 14px;
		text-align: center;
		font-size: 13px;
	}
	/* Stacked section heads put the button flush under the heading (0 gap). */
	.sonan26 .section-head > .button {
		margin-top: 26px;
	}
}

/* Services navigation: click/touch, keyboard, and no-JS fallback. */
.sonan-site-header{position:relative;z-index:30}
.sonan-menu > .sonan-services{position:relative}
.sonan-menu .sonan-services-toggle{display:inline-flex;align-items:center;gap:7px;border:0;background:none;padding:10px 0;color:#4E6478;font:600 13px 'DM Sans',sans-serif;cursor:pointer}
.sonan-menu .sonan-services-toggle:after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg)}
.sonan-menu .sonan-services-toggle[aria-expanded=true]:after{transform:translateY(2px) rotate(225deg)}
.sonan-menu .sub-menu{position:absolute;top:100%;left:-18px;display:none;min-width:270px;width:max-content;max-width:calc(100vw - 40px);list-style:none;margin:0;padding:10px;background:#fff;border:1px solid #D5E0EA;box-shadow:0 16px 36px rgba(15,37,55,.12);border-radius:8px;z-index:40}
.sonan-menu .sub-menu a{display:block;padding:12px 14px;white-space:normal;line-height:1.4;border-radius:4px}
.sonan-menu .sub-menu a:hover,.sonan-menu .sub-menu a:focus-visible{background:#F4F8FB}
.sonan-menu .sonan-services:not(.services-enhanced):hover > .sub-menu,.sonan-menu .sonan-services:not(.services-enhanced):focus-within > .sub-menu,.sonan-menu .sonan-services.is-open > .sub-menu{display:block}
.sonan-menu button:focus-visible,.sonan-menu a:focus-visible{outline:2px solid #1C72B0;outline-offset:4px}
@media(max-width:760px){.sonan-menu .sub-menu{left:0;min-width:240px;max-width:calc(100vw - 48px)}.sonan-menu .sonan-services-toggle{padding:4px 0}}

@media(max-width:600px){.sonan-menu{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px 16px}.sonan-menu > .sonan-cta{grid-column:1/-1}.sonan-menu > li{min-width:0}.sonan-menu > li > a{white-space:nowrap}}

/* 2026-10-16: Alberta mountain brand layer (Patrick). Replaces the rocket marker
 * and the horizontal-line texture in dark bands with a Front Ranges ridge line. */
.sonan26 .band::before {
  background: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1440 200%22 preserveAspectRatio=%22none%22%3E%3Cpolygon points=%220,200 0,132 60,118 105,128 150,96 178,108 214,70 240,92 262,84 300,112 340,100 382,60 404,78 430,66 470,104 520,90 560,116 604,84 630,98 668,44 690,70 712,60 748,96 790,88 830,112 872,76 898,90 936,54 958,74 990,66 1030,104 1080,92 1120,118 1160,86 1186,100 1226,62 1250,82 1282,74 1320,108 1370,98 1440,124 1440,200%22 fill=%22rgba%28195,224,240,0.07%29%22/%3E%3Cpolyline points=%220,132 60,118 105,128 150,96 178,108 214,70 240,92 262,84 300,112 340,100 382,60 404,78 430,66 470,104 520,90 560,116 604,84 630,98 668,44 690,70 712,60 748,96 790,88 830,112 872,76 898,90 936,54 958,74 990,66 1030,104 1080,92 1120,118 1160,86 1186,100 1226,62 1250,82 1282,74 1320,108 1370,98 1440,124%22 fill=%22none%22 stroke=%22rgba%28220,236,246,0.35%29%22 stroke-width=%221.2%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M201,85 L214,70 L226,83 L220,80 L215,85 L209,80 Z%22 fill=%22rgba%28241,247,251,0.55%29%22/%3E%3Cpath d=%22M369,75 L382,60 L394,73 L388,70 L383,75 L377,70 Z%22 fill=%22rgba%28241,247,251,0.55%29%22/%3E%3Cpath d=%22M655,59 L668,44 L680,57 L674,54 L669,59 L663,54 Z%22 fill=%22rgba%28241,247,251,0.55%29%22/%3E%3Cpath d=%22M923,69 L936,54 L948,67 L942,64 L937,69 L931,64 Z%22 fill=%22rgba%28241,247,251,0.55%29%22/%3E%3Cpath d=%22M1213,77 L1226,62 L1238,75 L1232,72 L1227,77 L1221,72 Z%22 fill=%22rgba%28241,247,251,0.55%29%22/%3E%3Cpolygon points=%220,200 0,166 70,152 130,160 210,138 280,156 350,146 430,162 520,140 600,158 680,150 760,164 850,142 930,158 1010,148 1100,164 1190,140 1270,156 1350,146 1440,158 1440,200%22 fill=%22rgba%285,26,43,0.55%29%22/%3E%3C/svg%3E") center bottom / max(1440px, 100%) 112px no-repeat;
  opacity: 1;
}
.sonan26 .band > .shell { padding-bottom: 108px; }
.sonan26 .hero::after { display: none; }
.sonan26 .hero::before {
  inset: auto auto 0 50%;
  width: 100vw;
  height: 124px;
  transform: translateX(-50%);
  background: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1440 200%22 preserveAspectRatio=%22none%22%3E%3Cpolygon points=%220,200 0,132 60,118 105,128 150,96 178,108 214,70 240,92 262,84 300,112 340,100 382,60 404,78 430,66 470,104 520,90 560,116 604,84 630,98 668,44 690,70 712,60 748,96 790,88 830,112 872,76 898,90 936,54 958,74 990,66 1030,104 1080,92 1120,118 1160,86 1186,100 1226,62 1250,82 1282,74 1320,108 1370,98 1440,124 1440,200%22 fill=%22%23DCEBF5%22/%3E%3Cpolyline points=%220,132 60,118 105,128 150,96 178,108 214,70 240,92 262,84 300,112 340,100 382,60 404,78 430,66 470,104 520,90 560,116 604,84 630,98 668,44 690,70 712,60 748,96 790,88 830,112 872,76 898,90 936,54 958,74 990,66 1030,104 1080,92 1120,118 1160,86 1186,100 1226,62 1250,82 1282,74 1320,108 1370,98 1440,124%22 fill=%22none%22 stroke=%22%239FC3DA%22 stroke-width=%221.2%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M201,85 L214,70 L226,83 L220,80 L215,85 L209,80 Z%22 fill=%22%23FFFFFF%22/%3E%3Cpath d=%22M369,75 L382,60 L394,73 L388,70 L383,75 L377,70 Z%22 fill=%22%23FFFFFF%22/%3E%3Cpath d=%22M655,59 L668,44 L680,57 L674,54 L669,59 L663,54 Z%22 fill=%22%23FFFFFF%22/%3E%3Cpath d=%22M923,69 L936,54 L948,67 L942,64 L937,69 L931,64 Z%22 fill=%22%23FFFFFF%22/%3E%3Cpath d=%22M1213,77 L1226,62 L1238,75 L1232,72 L1227,77 L1221,72 Z%22 fill=%22%23FFFFFF%22/%3E%3Cpolygon points=%220,200 0,166 70,152 130,160 210,138 280,156 350,146 430,162 520,140 600,158 680,150 760,164 850,142 930,158 1010,148 1100,164 1190,140 1270,156 1350,146 1440,158 1440,200%22 fill=%22%23EAF2F8%22/%3E%3C/svg%3E") center bottom / 100% 100% no-repeat;
  min-width: 1100px;
}
.sonan26 .hero { padding-bottom: 140px; }
body:not(.page-id-12835) .sonan26 .hero-card > .marker,
body.page-id-12835 .sonan26 .hero-card > .marker {
  width: 40px;
  height: 40px;
  background: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 40 40%22%3E%3Ccircle cx=%2229%22 cy=%2211%22 r=%224%22 fill=%22%23C3E0F0%22/%3E%3Cpath d=%22M3 33 L15 14 L21 23 L26 17 L37 33 Z%22 fill=%22%230E3350%22/%3E%3Cpath d=%22M15 14 L19.5 21 L17 19.5 L15 22 L12.6 18 Z%22 fill=%22%23FFFFFF%22/%3E%3Cpath d=%22M26 17 L29.6 22.4 L27.6 21.4 L26 23.4 L24.2 20 Z%22 fill=%22%23FFFFFF%22/%3E%3Cpath d=%22M3 33 H37%22 stroke=%22%231C72B0%22 stroke-width=%221.6%22 stroke-linecap=%22round%22/%3E%3C/svg%3E") left center / 40px 40px no-repeat;
}
@media (max-width: 760px) {
  .sonan26 .hero::before { height: 84px; min-width: 900px; }
  .sonan26 .hero { padding-bottom: 100px; }
  .sonan26 .band::before { background-size: 900px 78px; }
  .sonan26 .band > .shell { padding-bottom: 84px; }
}

/* 2026-10-16: brand v2 components shared by inner pages (home uses its own .hv copy). */
.sonan26{--ok:#2E7D5B;--ok-soft:#E5F3EC;--amber:#C9822B}
/* Hero with an example artifact instead of a statement card */
.sonan26 .hero.has-art{align-items:center;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px;align-items:center}
.sonan26 .hero.has-art h1{font-size:clamp(46px,5.6vw,78px)}
.sonan26 .art{position:relative;min-width:0}
.sonan26 .board{background:#fff;border:1px solid #C9DBE8;border-radius:16px;box-shadow:0 2px 0 rgba(14,51,80,.05),0 40px 70px -40px rgba(14,51,80,.55);overflow:hidden;font-size:13px}
.sonan26 .board-top{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line);background:#F8FBFD}
.sonan26 .board-top b{font-weight:600;color:var(--ink);font-size:13px}
.sonan26 .board .dots{display:flex;gap:6px}.sonan26 .board .dots i{width:9px;height:9px;border-radius:50%;background:#D5E0EA}
.sonan26 .board .tag{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:3px 8px;background:#fff}
.sonan26 .board-body{padding:20px 18px 18px}
.sonan26 .board .fc{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:20px}
.sonan26 .board .fc div{padding:12px;border:1px solid var(--line);border-radius:10px}
.sonan26 .board .fc small{display:block;color:var(--muted);font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}
.sonan26 .board .fc strong{font-family:var(--serif);font-size:26px;font-weight:500;letter-spacing:-.03em;color:var(--pine)}
.sonan26 .board .fc .match{background:var(--ok-soft);border-color:#BFE0CF}
.sonan26 .board .fc .match strong{color:var(--ok);font:600 18px 'DM Sans',sans-serif;letter-spacing:0}
.sonan26 .board .stages{display:grid;gap:9px;margin-bottom:18px}
.sonan26 .board .stage{display:grid;grid-template-columns:118px minmax(0,1fr) 56px;align-items:center;gap:10px}
.sonan26 .board .stage span{font-size:12px;color:#2B4257}
.sonan26 .board .bar{height:10px;border-radius:999px;background:#EDF3F8;overflow:hidden}
.sonan26 .board .bar i{display:block;height:100%;width:var(--w);border-radius:999px;background:linear-gradient(90deg,#0E3350,#1C72B0)}
.sonan26 .board .stage em{font-style:normal;font-family:var(--mono);font-size:11px;color:var(--muted);text-align:right}
.sonan26 .board .sig{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:10px}
.sonan26 .board .sig li{display:grid;grid-template-columns:118px minmax(0,1fr);gap:2px 12px;padding:12px;border:1px solid var(--line);border-radius:10px}
.sonan26 .board .sig-tag{grid-row:span 2;align-self:start;font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--pine);background:#EDF3F8;border-radius:999px;padding:4px 8px;white-space:nowrap;justify-self:start}
.sonan26 .board .sig b{font-weight:600;color:var(--ink);font-size:13.5px;line-height:1.3}
.sonan26 .board .sig small{color:var(--muted);font-size:12.5px;line-height:1.35}
.sonan26 .board .checks{list-style:none;margin:0;padding:14px 0 0;border-top:1px dashed var(--line);display:grid;gap:8px}
.sonan26 .board .checks li{display:flex;gap:10px;align-items:flex-start;color:#2B4257;font-size:13px;line-height:1.35}
.sonan26 .board .checks li::before{content:"";flex:none;width:16px;height:16px;margin-top:1px;border-radius:50%;background:var(--ok) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.2l2.2 2.2 4.8-4.9' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}
.sonan26 .board .checks li.warn::before{background:var(--amber) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 4.5v4.2M8 11.2v.1' fill='none' stroke='%23fff' stroke-width='1.9' stroke-linecap='round'/%3E%3C/svg%3E") center/16px no-repeat}

/* Service pages: copy sections promoted to dark ridge bands */
.sonan26 main .svc-band{margin-top:64px}
.sonan26 main .svc-band + .service-section{padding-top:72px}
.sonan26 main .svc-band .service-copy{color:#DBE9F3;font-size:19px;max-width:60ch}
.sonan26 main .svc-band .service-copy p:last-child{margin-bottom:0}
.sonan26 main .svc-band .service-copy a{color:#fff}
.sonan26 main .svc-band + .contact{margin-top:72px}
.sonan26 .hero + .svc-band{margin-top:0}

/* Service tiles become white cards */
.sonan26 main .service-grid{gap:16px}
.sonan26 main .service-tile{position:relative;padding:26px 26px 22px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 1px 0 rgba(14,51,80,.04)}
.sonan26 main .service-tile > .eyebrow{display:inline-flex;padding:5px 9px;border:1px solid #BDD4E4;border-radius:999px;background:#F4F8FB;color:var(--pine);font-size:11px}
.sonan26 main .service-tile > .eyebrow::after{display:none}
.sonan26 main .service-tile h3{margin:18px 0 10px}
.sonan26 main .service-grid .service-tile:last-child:nth-child(odd){grid-column:1/-1}
.sonan26 main .service-tile p:last-child{margin-bottom:0}
@media (prefers-reduced-motion:no-preference){
 .sonan26 main .service-tile{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
 .sonan26 main .service-tile:hover{transform:translateY(-3px);border-color:#BDD4E4;box-shadow:0 24px 44px -26px rgba(14,51,80,.45)}
}

/* Related services as link cards */
.sonan26 main .service-related{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.sonan26 main .service-related li{margin:0}
.sonan26 main .service-related a{display:flex;justify-content:space-between;align-items:center;gap:12px;height:100%;padding:18px 20px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--pine);font-weight:600;font-size:15px;text-decoration:none}
.sonan26 main .service-related a::after{content:"\2192";transition:transform .16s ease}
.sonan26 main .service-related a:hover{border-color:#9FC3DA}
.sonan26 main .service-related a:hover::after{transform:translateX(3px)}

/* Statement hero cards on About, Pricing, Contact, Insights: more presence */
.sonan26 .hero-card{padding:30px 30px 28px;box-shadow:0 2px 0 rgba(14,51,80,.05),0 40px 70px -40px rgba(14,51,80,.5)}
.sonan26 .hero-card p{font-size:26px;line-height:1.14}

@media (max-width:1024px){
 .sonan26 .hero.has-art{align-items:center;grid-template-columns:1fr;gap:44px}
 .sonan26 .hero.has-art .art{max-width:580px}
}
@media (max-width:760px){
 .sonan26 main .svc-band{margin-top:40px}
 .sonan26 main .svc-band .service-copy{font-size:17px}
 .sonan26 main .service-tile{padding:22px 20px 18px}
}
@media (max-width:420px){
 .sonan26 .board .fc{grid-template-columns:1fr 1fr}.sonan26 .board .fc .match{grid-column:1/-1}
 .sonan26 .board .stage{grid-template-columns:92px minmax(0,1fr) 48px}
 .sonan26 .board .sig li{grid-template-columns:1fr}.sonan26 .board .sig-tag{grid-row:auto;justify-self:start}
}

/* ---------- Mobile full-page navigation (2026-10-16) ----------
 * Progressive enhancement: header.php adds .nav-ready plus a Menu button when JS runs.
 * Without JS the existing wrapped menu below stays as the fallback. */
.sonan-nav-toggle{display:none}
@media (max-width:760px){
 .sonan-site-header.nav-ready .sonan-shell{display:flex;align-items:center;justify-content:space-between;height:68px;padding:0}
 .sonan-site-header.nav-ready .sonan-wordmark{margin:0;position:relative;z-index:62}
 .sonan-site-header.nav-ready .sonan-nav-toggle{position:relative;z-index:62;display:inline-flex;align-items:center;gap:10px;margin:0;padding:10px 4px 10px 12px;border:0;background:none;color:#0F2537;font:600 14px 'DM Sans',sans-serif;letter-spacing:.01em;cursor:pointer;-webkit-tap-highlight-color:transparent}
 .sonan-nav-toggle .bars{position:relative;width:22px;height:14px}
 .sonan-nav-toggle .bars i{position:absolute;left:0;width:22px;height:2px;border-radius:2px;background:currentColor;transition:transform .25s ease,top .25s ease,opacity .2s ease}
 .sonan-nav-toggle .bars i:nth-child(1){top:0}
 .sonan-nav-toggle .bars i:nth-child(2){top:6px}
 .sonan-nav-toggle .bars i:nth-child(3){top:12px}
 .sonan-site-header.nav-open .sonan-nav-toggle .bars i:nth-child(1){top:6px;transform:rotate(45deg)}
 .sonan-site-header.nav-open .sonan-nav-toggle .bars i:nth-child(2){opacity:0}
 .sonan-site-header.nav-open .sonan-nav-toggle .bars i:nth-child(3){top:6px;transform:rotate(-45deg)}
 .sonan-nav-toggle:focus-visible{outline:2px solid #1C72B0;outline-offset:3px;border-radius:6px}

 /* Closed: the menu is out of the page entirely. */
 .sonan-site-header.nav-ready:not(.nav-open) .sonan-menu{display:none}

 /* Open: header bar turns dark, menu becomes a full-page panel beneath it. */
 .sonan-site-header.nav-open{background:#0E3350;border-bottom-color:#0E3350}
 .sonan-site-header.nav-open .sonan-wordmark,.sonan-site-header.nav-open .sonan-nav-toggle{color:#F1F7FB}
 .sonan-site-header.nav-open .sonan-nav-toggle:focus-visible{outline-color:#C3E0F0}
 .sonan-site-header.nav-open .sonan-menu{
  position:fixed;inset:0;z-index:61;display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:0;
  margin:0;padding:88px 20px calc(28px + env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;
  background:linear-gradient(180deg,#0E3350 0,#0B2C46 55%,#08243A 100%);
  animation:sonanNavIn .22s ease-out}
 @keyframes sonanNavIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
 @media (prefers-reduced-motion:reduce){.sonan-site-header.nav-open .sonan-menu{animation:none}.sonan-nav-toggle .bars i{transition:none}}
 .sonan-site-header.nav-open .sonan-menu > li{display:block;min-width:0;border-bottom:1px solid rgba(195,224,240,.16)}
 .sonan-site-header.nav-open .sonan-menu > li > a{display:block;padding:15px 0;color:#F1F7FB;font:500 30px/1.1 'Newsreader',Georgia,serif;letter-spacing:-.03em;white-space:normal;text-decoration:none}
 .sonan-site-header.nav-open .sonan-menu > li.current-menu-item > a,.sonan-site-header.nav-open .sonan-menu > li.current_page_item > a{color:#C3E0F0;text-decoration:none}
 .sonan-site-header.nav-open .sonan-menu a:hover{color:#fff;text-decoration:none}
 .sonan-site-header.nav-open .sonan-menu a:focus-visible{outline:2px solid #C3E0F0;outline-offset:3px;border-radius:4px}

 /* Services: shown open as a labelled group, no dropdown. */
 .sonan-site-header.nav-open .sonan-menu > .sonan-services{padding:18px 0 10px}
 .sonan-site-header.nav-open .sonan-services-toggle{pointer-events:none;padding:0 0 6px;color:#C3E0F0;font:500 11px/1 'DM Mono',monospace;letter-spacing:.12em;text-transform:uppercase}
 .sonan-site-header.nav-open .sonan-services-toggle:after{display:none}
 .sonan-site-header.nav-open .sonan-menu .sub-menu{display:block;position:static;min-width:0;width:auto;max-width:none;margin:0;padding:0;background:none;border:0;box-shadow:none;border-radius:0}
 .sonan-site-header.nav-open .sonan-menu .sub-menu a{padding:9px 0;color:#DBE9F3;font:500 18px/1.3 'DM Sans',sans-serif;letter-spacing:0;border-radius:0;background:none}
 .sonan-site-header.nav-open .sonan-menu .sub-menu a:hover{background:none;color:#fff}
 .sonan-site-header.nav-open .sonan-menu .sub-menu .current-menu-item > a{color:#C3E0F0}

 /* Booking button pinned to the end of the panel. */
 .sonan-site-header.nav-open .sonan-menu > .sonan-cta{flex:0 0 auto;margin-top:auto;padding-top:28px;border-bottom:0}
 .sonan-site-header.nav-open .sonan-menu > .sonan-cta > a{display:block;padding:16px 18px;text-align:center;font:700 16px 'DM Sans',sans-serif;letter-spacing:0;color:#0E3350;background:#F1F7FB;border:1px solid #F1F7FB;border-radius:999px}
 .sonan-site-header.nav-open .sonan-menu > .sonan-cta > a:hover{background:#fff;color:#08243A}
}
html.sonan-nav-locked,html.sonan-nav-locked body{overflow:hidden}

/* Hero headline sizing (2026-10-18): inner-page heroes matched to the homepage scale */
body .sonan26 .hero h1,body .sonan26 .hero.has-art h1,body .sonan26 section.hero.has-art h1{font-size:clamp(36px,4vw,58px);line-height:1.06}
body .sonan26 .hero .lede{font-size:clamp(17px,1.45vw,21px)}
