/* Calls Cube — the supplied blue / emerald / gold identity, across every page. */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root {
  --night:#062f31; --night-2:#06483f; --forest:#087358; --green:#21b56c;
  --blue:#0872a5; --lime:#edc65e; --mint:#e8f3e9; --cream:#faf8f0;
  --ink:#173b3c; --muted:#536c65; --line:#d9dfd4; --white:#fff;
  --ease:cubic-bezier(.23,1,.32,1); --shadow:0 24px 64px rgba(8,44,39,.12);
}
html { background:var(--cream); scrollbar-color:#689081 #eeeae0; scroll-padding-top:158px; scroll-behavior:auto; }
body { background:var(--cream); color:var(--ink); font-family:'DM Sans',sans-serif; font-size:16px; -webkit-font-smoothing:antialiased; }
h1,h2,h3,h4,.section-title,.display { font-family:'Manrope',sans-serif; letter-spacing:-.035em; text-wrap:balance; }
a,button,input,select,textarea { -webkit-tap-highlight-color:transparent; }
input,textarea { caret-color:#d0a239; }
::selection { background:#eed084; color:#173b3c; }
:focus-visible { outline:3px solid #bd8b21; outline-offset:5px; }
svg { flex-shrink:0; }
[hidden] { display:none !important; }
section[id] { scroll-margin-top:0; }
.shell { width:min(1320px,calc(100% - 96px)); }
[data-reveal],[data-reveal].is-visible { opacity:1; transform:none; }
.button { gap:18px; min-height:54px; padding:0 24px; border-radius:7px; font-size:14px; letter-spacing:0; font-weight:700; }
.button svg,.text-link svg,.hero-text-link svg { width:22px; height:22px; }
.button-primary { background:var(--forest); color:white; }
.button-primary:hover { background:#095b47; color:white; }
.button-dark { background:var(--ink); color:white; }
.button:active,.nav-cta:active { transform:scale(.98); }
.text-link { display:inline-flex; align-items:center; gap:12px; width:fit-content; font-weight:700; font-size:13px; text-decoration:none; border-bottom:1px solid currentColor; padding-block:8px; }
.section-title { font-size:clamp(34px,4vw,56px); line-height:1.12; }
.lede { color:var(--muted); }

/* The logo has room to read, rather than being squeezed into an icon slot. */
[data-site-header] { position:sticky; top:0; z-index:100; }
.site-header,.site-header.is-scrolled { position:relative; color:var(--ink); background:#faf8f0; border-bottom:1px solid var(--line); backdrop-filter:none; box-shadow:none; }
.site-header.is-scrolled { box-shadow:0 12px 32px rgba(12,52,43,.07); }
.nav-shell { grid-template-columns:200px 1fr auto; gap:28px; min-height:104px; }
.brand { color:var(--ink); }
.brand-logo { width:164px; height:94px; object-fit:contain; filter:none; }
.desktop-nav { justify-content:center; gap:28px; }
.desktop-nav a { color:#39534d; font-size:13px; }
.desktop-nav a:hover,.desktop-nav a[aria-current='page'] { color:var(--forest); }
.desktop-nav a::after { bottom:-8px; height:2px; background:var(--forest); }
.nav-cta { color:white; background:var(--forest); border:0; border-radius:7px; min-height:48px; padding:0 19px; font-size:13px; }
.nav-cta svg { width:18px; height:18px; }
.nav-cta:hover { color:white; background:#07573f; }
.menu-button { color:var(--ink); border-color:#b9c6b8; border-radius:6px; }
.mobile-menu { position:fixed; inset:84px 0 0; color:var(--ink); background:var(--cream); }
.mobile-menu a { min-height:53px; padding:15px 0; font-size:27px; border-color:var(--line); }
.mobile-menu a span { color:var(--forest); }
.mobile-contact a { font-size:14px; border:1px solid var(--line); }

/* An emerald-to-blue brand field, with the gold contour of the supplied C mark. */
.brand-hero { position:relative; overflow:hidden; background:var(--cream); isolation:isolate; }
.hero-colour { position:absolute; z-index:-1; top:0; right:0; bottom:0; width:44%; background:linear-gradient(145deg,#199d68 0%,#087e73 42%,#075d8c 100%); border-top-left-radius:180px; }
.brand-hero-grid { display:grid; grid-template-columns:1.04fr .96fr; gap:64px; align-items:center; min-height:670px; padding-block:68px 72px; }
.brand-hero-copy { position:relative; z-index:4; }
.brand-hero h1 { margin:0 0 26px; max-width:700px; font-size:clamp(40px,4.6vw,68px); font-weight:600; line-height:1.09; letter-spacing:-.04em; }
.brand-hero h1 em { color:#0a815a; font-style:normal; font-weight:700; }
.hero-description { max-width:540px; margin:0; color:#546b60; font-size:17px; line-height:1.8; }
.brand-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:20px; margin-top:32px; }
.brand-hero-actions .button-primary { color:#244334; background:#efcc72; }
.brand-hero-actions .button-primary:hover { color:#173b2b; background:#e5bc54; }
.hero-text-link { display:inline-flex; align-items:center; gap:8px; min-height:48px; color:var(--ink); font-size:14px; font-weight:700; text-decoration:none; }
.hero-founder-proof { display:flex; align-items:center; gap:13px; margin-top:43px; padding-top:22px; border-top:1px solid #d9dfd4; max-width:440px; }
.hero-founder-proof img { width:46px; height:46px; border-radius:50%; object-fit:cover; object-position:50% 20%; }
.hero-founder-proof strong,.hero-founder-proof span { display:block; }
.hero-founder-proof strong { font-size:13px; }
.hero-founder-proof span { margin-top:2px; color:var(--muted); font-size:12px; }
.hero-founder-proof a { display:grid; place-items:center; width:44px; height:44px; margin-left:auto; color:var(--forest); border-radius:50%; border:1px solid #c7d4c6; }
.hero-founder-proof a svg { width:18px; height:18px; }
.brand-hero-media { position:relative; min-width:0; padding:0 10px 36px 10px; }
.brand-orbit { position:absolute; width:122%; height:122%; max-width:none; top:-12%; left:-12%; pointer-events:none; }
.hero-film { position:relative; height:490px; border-radius:110px 14px 110px 14px; overflow:hidden; background:#164b48; box-shadow:0 35px 72px rgba(2,39,42,.18); transform:rotate(2deg); }
.hero-film video { width:100%; height:100%; object-fit:cover; object-position:52% 50%; filter:saturate(.78); }
.film-shade { position:absolute; inset:0; background:linear-gradient(180deg,rgba(4,47,44,.04) 30%,rgba(4,45,46,.9)); }
.film-caption { position:absolute; right:30px; bottom:44px; left:30px; color:white; transform:rotate(-2deg); }
.film-caption > span { color:#f4d78b; font-size:12px; }
.film-caption p { margin:10px 0 17px; font-family:'Manrope',sans-serif; font-weight:600; font-size:28px; line-height:1.22; letter-spacing:-.03em; }
.film-caption small { font-size:12px; color:#e1ece5; }
.film-toggle { position:absolute; top:22px; right:20px; display:flex; align-items:center; gap:7px; min-height:40px; padding:0 12px; color:white; background:#063f38; border:1px solid rgba(255,255,255,.4); border-radius:6px; cursor:pointer; }
.film-toggle svg { width:16px; height:16px; }.film-toggle span { font-size:12px; }
.hero-route-card { position:absolute; right:42px; bottom:9px; left:-28px; display:flex; align-items:center; gap:16px; padding:21px 22px; color:var(--ink); background:#fffdf5; border-radius:12px; box-shadow:0 24px 40px rgba(3,42,44,.17); }
.route-card-icon { display:grid; place-items:center; width:50px; height:50px; color:#08765c; background:#eaf3e7; border-radius:50%; }
.route-card-icon svg { width:25px; height:25px; }
.hero-route-card strong,.hero-route-card div > span { display:block; }
.hero-route-card strong { font-family:'Manrope',sans-serif; font-size:15px; }
.hero-route-card div > span { margin-top:5px; color:#5f7368; font-size:12px; }
.hero-route-card b { margin:0 9px; color:#bd9634; font-weight:500; }
.hero-footnote { position:relative; z-index:5; display:flex; align-items:center; justify-content:space-between; gap:24px; width:100%; padding:22px max(48px,calc((100% - 1320px)/2)); color:var(--ink); background:var(--cream); border-top:1px solid rgba(20,61,54,.17); }
.hero-footnote > span { font-size:12px; font-weight:700; letter-spacing:.08em; }
.hero-footnote > div { display:flex; gap:23px; font-size:12px; font-weight:600; }
.hero-footnote > a { display:flex; align-items:center; gap:10px; color:var(--forest); font-size:12px; text-decoration:none; }
.hero-footnote svg { width:18px; height:18px; }
.chapter-nav { position:sticky; top:104px; z-index:80; background:#fffdf7; border-block:1px solid var(--line); }
.chapter-nav .shell { display:flex; justify-content:space-between; gap:28px; overflow-x:auto; scrollbar-width:none; }
.chapter-nav a { display:block; flex-shrink:0; padding-block:19px; color:#53675d; font-size:12px; font-weight:600; text-decoration:none; border-bottom:2px solid transparent; }
.chapter-nav a[aria-current='location'],.chapter-nav a:hover { color:var(--forest); border-color:#c19d43; }

/* Each chapter carries all of the site's existing information. */
.section-heading { display:grid; grid-template-columns:1.2fr .8fr; align-items:end; gap:80px; margin-bottom:60px; }
.section-heading h2 { margin:0; font-size:clamp(32px,3.5vw,51px); font-weight:600; line-height:1.13; }
.section-heading h2 em { color:var(--forest); font-style:normal; }
.section-heading > p { max-width:450px; margin:0 0 4px; color:var(--muted); font-size:16px; line-height:1.8; }
.brand-about { padding-block:104px; background:#fffdf7; }
.about-main { display:grid; grid-template-columns:1.35fr .65fr; gap:70px; align-items:start; }
.about-story > p { max-width:72ch; margin:0 0 22px; color:#52665b; font-size:15px; line-height:1.85; }
.about-story strong { color:#254e42; font-weight:600; }
.about-story .value-grid { grid-template-columns:repeat(2,1fr); gap:0 30px; margin-top:36px; }
.about-story .value-card { min-height:0; padding:22px 0; border:0; border-top:1px solid var(--line); border-radius:0; background:transparent; }
.about-story .value-card > span { display:none; }
.about-story .value-card h3 { margin:0 0 7px; font-size:16px; font-weight:700; }
.about-story .value-card p { font-size:14px; color:#5a6e62; }
.about-statement { padding:30px; background:linear-gradient(145deg,#075c4a,#07516e); color:#fffaf0; border-radius:12px 12px 80px 12px; }
.statement-mark { max-width:210px; margin:0 auto 20px; }
.statement-mark img { height:auto; width:100%; }
.about-statement blockquote { margin:0; font-family:'Manrope',sans-serif; font-size:25px; line-height:1.4; letter-spacing:-.025em; }
.company-facts { margin-top:32px; }
.company-facts p { padding-block:17px; margin:0; border-top:1px solid rgba(255,255,255,.24); }
.company-facts strong { display:block; color:#f0ce79; font-size:17px; }
.company-facts span { display:block; color:#c9ded1; font-size:12px; margin-top:3px; }
.about-difference { margin-top:70px; padding-top:56px; border-top:1px solid var(--line); }
.about-difference > .shell { width:100%; }
.about-difference .section-head { gap:60px; margin-bottom:30px; }
.about-difference .section-title { font-size:34px; }
.about-difference .lede { font-size:15px; }
.about-difference .process-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:26px; background:transparent !important; color:var(--ink) !important; }
.about-difference .process-step { min-height:0; padding:0; border:0; }
.about-difference .process-step span { display:none; }
.about-difference .process-step h3 { margin:0 0 10px; font-size:16px; color:var(--forest); }
.about-difference .process-step p { color:var(--muted); font-size:13px; }
.people-film { padding-block:70px; background:#075e55; color:#fff9e8; }
.people-film-grid { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
.people-film h2 { margin:0 0 24px; font-size:clamp(32px,3.4vw,48px); line-height:1.16; font-weight:500; }
.people-film h2 em { color:#edcb78; font-style:normal; }
.people-film-copy > p { max-width:480px; color:#c5ddd0; font-size:16px; line-height:1.8; }
.people-film-steps { margin-top:32px; }
.people-film-steps span { display:block; padding:13px 0; border-top:1px solid rgba(255,255,255,.25); font-size:14px; }
.people-film-media { position:relative; height:430px; border-radius:12px 85px 12px 12px; overflow:hidden; background:#174f48; }
.people-film-media video { width:100%; height:100%; object-fit:cover; }
.people-film-media small { position:absolute; right:0; bottom:0; left:0; padding:23px 20px 12px; color:white; background:linear-gradient(transparent,rgba(0,0,0,.75)); font-size:12px; text-align:right; }
.capabilities-index { padding-block:90px 65px; background:#edf3e9; }
.capabilities-links { display:grid; grid-template-columns:repeat(5,1fr); border-top:1px solid #bdcdbd; border-bottom:1px solid #bdcdbd; }
.capability-link { display:flex; flex-direction:column; gap:22px; padding:26px 24px; border-right:1px solid #bdcdbd; text-decoration:none; color:#244a3f; transition:background-color 180ms ease; }
.capability-link:first-child { padding-left:0; }.capability-link:last-child { border-right:0; }
.capability-link > span { color:var(--forest); }.capability-link svg { width:28px; height:28px; }
.capability-link strong { font-size:15px; line-height:1.3; min-height:38px; max-width:160px; }
.capability-link > svg { width:19px; height:19px; color:#897437; }
.capability-link:hover { background:#e0ecd9; }
.service-chapter { position:relative; padding-block:86px; border-bottom:1px solid var(--line); }
.service-chapter.tone-0 { background:#fffdf7; }.service-chapter.tone-1 { background:#edf3ed; }.service-chapter.tone-2 { background:#f7f1df; }
.chapter-grid { display:grid; grid-template-columns:.62fr 1.38fr; gap:90px; align-items:start; }
.chapter-rail { position:sticky; top:190px; }
.service-symbol { display:grid; place-items:center; width:66px; height:66px; margin-bottom:26px; color:#08775b; background:#e1eee0; border-radius:16px; }
.service-symbol svg { width:32px; height:32px; }
.tone-1 .service-symbol { color:#086d98; background:#daebeb; }.tone-2 .service-symbol { color:#886b1d; background:#eee0b6; }
.chapter-rail h2 { margin:0 0 15px; max-width:330px; font-size:clamp(32px,3.5vw,48px); font-weight:600; line-height:1.1; }
.chapter-rail > p { max-width:290px; margin:0 0 26px; color:var(--muted); font-size:17px; line-height:1.6; }
.service-labels { padding:16px 0; margin-bottom:20px; max-width:280px; font-size:12px; color:#59705c; border-block:1px solid #cbd5c6; line-height:1.9; }
.chapter-copy { min-width:0; max-width:none; }
.chapter-copy > p { max-width:74ch; margin:0 0 22px; color:#4f655a; font-size:15px; line-height:1.85; }
.chapter-copy strong { color:#264c3d; }
.chapter-copy > h3 { margin:40px 0 22px; font-size:23px; font-weight:700; }
.chapter-copy .detail-list { grid-template-columns:1fr 1fr; gap:0 30px; margin:25px 0; border-top:0; }
.chapter-copy .detail-item { grid-template-columns:1fr; gap:0; padding:23px 0; border-top:1px solid #ccd7c8; border-bottom:0; }
.chapter-copy .detail-item > span { display:none; }
.chapter-copy .detail-item strong { margin:0 0 8px; font-family:'Manrope',sans-serif; font-size:15px; line-height:1.4; }
.chapter-copy .detail-item p { color:#566b60; font-size:14px; line-height:1.8; }
.chapter-copy > .button { margin-top:10px; }
.integration-section { padding-block:90px; color:#f5f5e9; background:linear-gradient(110deg,#064b41,#075c7e); }
.integration-section .section-heading h2 em { color:#f0cd71; }.integration-section .section-heading p { color:#c4ded5; }
.integration-flow { display:grid; grid-template-columns:repeat(4,1fr); gap:28px; }
.integration-flow .process-step { min-height:0; padding:28px 0 0; border:0; border-top:1px solid rgba(255,255,255,.3); }
.integration-flow .process-step > span { color:#f0d78b; font-size:12px; }
.integration-flow .process-step h3 { margin:38px 0 12px; color:white; font-size:23px; }
.integration-flow .process-step p { color:#c7ded2; font-size:14px; }

.brand-campaigns { padding-block:100px; background:#fffdf7; }
.campaign-network { padding-block:85px; color:#f5f4e5; background:#073f38; }
.network-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:50px; margin-bottom:35px; }
.network-heading h2 { margin:0; font-size:clamp(34px,3.4vw,49px); line-height:1.15; font-weight:500; }
.network-heading h2 em { color:#efd18a; font-style:normal; }
.network-heading p { max-width:650px; margin:22px 0 0; color:#c3dacf; font-size:16px; line-height:1.7; }
.network-controls { display:flex; flex-direction:column; align-items:flex-end; flex-shrink:0; gap:14px; }
.demo-label { color:#e4cb89; font-size:12px; }
.network-controls button { min-height:44px; padding:0 16px; color:#f9edce; background:transparent; border:1px solid #729380; border-radius:6px; cursor:pointer; font-size:13px; }
.network-layout { display:grid; grid-template-columns:1fr 300px; border:1px solid #437561; border-radius:14px; overflow:hidden; }
.network-stage { position:relative; min-height:460px; background:linear-gradient(145deg,#0b4c3c,#094a64); }
.network-routes { position:absolute; inset:0; width:100%; height:100%; }
.network-line { fill:none; stroke:#669c80; stroke-width:1; opacity:.55; transition:stroke 200ms ease,opacity 200ms ease; }
.network-line.is-active { stroke:#efd28a; stroke-width:2; opacity:1; }
.network-signal { fill:#eed18a; }
.network-hub { position:absolute; z-index:2; left:50%; top:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; width:170px; height:150px; padding:10px; background:#073d3c; border:1px solid #cbb36b; border-radius:16px; transform:translate(-50%,-50%); }
.network-hub img { width:137px; height:100px; object-fit:contain; }
.network-hub span { margin-top:5px; color:#d3dfcc; font-size:9px; font-weight:700; letter-spacing:.05em; white-space:nowrap; }
.network-node { position:absolute; z-index:3; left:var(--nx); top:var(--ny); display:flex; align-items:center; gap:9px; justify-content:flex-start; width:172px; min-height:57px; padding:13px; color:#edf3e6; background:#0a4e43; border:1px solid #568776; border-radius:8px; transform:translate(-50%,-50%); transition:background-color 180ms ease,color 180ms ease,border-color 180ms ease; font-size:13px; font-weight:600; text-align:left; cursor:pointer; }
.network-node.is-active { color:#204b3a; background:#f2d897; border-color:#f2d897; }
.network-node-dot { width:6px; height:6px; background:#8ac8a1; border-radius:50%; flex-shrink:0; }.network-node.is-active .network-node-dot { background:#13664b; }
.network-node svg { width:15px; height:15px; margin-left:auto; opacity:.8; }
.network-detail { padding:30px 25px; background:#08392f; border-left:1px solid #437561; }
.network-detail-label { color:#b9cec0; font-size:11px; letter-spacing:.08em; }
.network-detail h3 { margin:18px 0 6px; color:#f8e2a4; font-size:28px; line-height:1.15; font-weight:600; letter-spacing:-.02em; }
.network-detail > p { margin:0; color:#c3d5c7; font-size:14px; }
.network-wave { display:flex; align-items:center; gap:4px; height:62px; margin:20px 0; overflow:hidden; }
.network-wave i { width:4px; height:38px; min-width:3px; background:#78b598; transform:scaleY(.3); animation:networkWave 1500ms calc(var(--bar)*-110ms) ease-in-out infinite alternate; border-radius:2px; }
@keyframes networkWave { 0%{transform:scaleY(.2)}35%{transform:scaleY(.7)}65%{transform:scaleY(.4)}100%{transform:scaleY(1)} }
.network-detail dl { margin:0; }.network-detail dl > div { padding:13px 0; border-top:1px solid #365b49; }
.network-detail dt { color:#b9d0bf; font-size:12px; }.network-detail dd { margin:5px 0 0; color:#f1f3e5; font-size:13px; font-weight:600; }
.network-detail p.network-demo-note { margin:20px 0 15px; color:#b5d0be; font-size:12px; line-height:1.75; }
.network-cta { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:46px; padding-top:8px; color:#f0d490; font-size:13px; font-weight:600; text-decoration:none; }
.network-cta svg { width:20px; height:20px; }
.network-bottom { display:flex; align-items:center; flex-wrap:wrap; gap:20px; margin-top:20px; color:#b7d3c1; }
.network-bottom > span { padding-right:20px; border-right:1px solid #5c7c66; font-size:10px; font-weight:700; letter-spacing:.06em; }.network-bottom > span:nth-child(3) { border:0; }
.network-bottom > p { margin:0 0 0 auto; font-size:12px; }
.network-paused .network-wave i { animation-play-state:paused; }

/* Typography: one heading family, one reading family, no condensed or tiny body copy. */
.brand-home :is(h1,h2,h3,h4),.brand-home .founder-name strong,.brand-home .portrait-signature strong { font-family:'Manrope',sans-serif; }
.about-story > p,.chapter-copy > p { font-size:16px; line-height:1.85; }
.chapter-copy .detail-item p { font-size:15px; line-height:1.8; }
.chapter-copy .detail-item strong { font-size:16px; }
.desktop-nav a { font-size:14px; }.chapter-nav a { font-size:13px; }
.field input,.field textarea,.field select { font-size:16px; }
.service-labels { font-size:13px; }
.brand-verticals { display:grid; grid-template-columns:1fr 1fr; gap:0 44px; }
.brand-verticals .vertical-card { min-height:0; padding:28px 0 30px; background:none; color:var(--ink); border-top:1px solid var(--line); border-radius:0; transform:none; }
.brand-verticals .vertical-card::after { content:none; }
.brand-verticals .vertical-card span { color:var(--forest); font-size:12px; opacity:1; }
.brand-verticals .vertical-card h3 { margin:18px 0 12px; font-size:31px; color:var(--ink); }
.brand-verticals .vertical-card p { max-width:450px; font-size:15px; color:var(--muted); opacity:1; }
.campaign-bottom { display:flex; justify-content:space-between; align-items:center; gap:34px; margin-top:24px; padding-top:30px; border-top:1px solid var(--line); }
.campaign-bottom p { max-width:620px; margin:0; color:var(--muted); font-size:14px; }
.brand-delivery { padding-block:100px; color:white; background:linear-gradient(135deg,#075c49,#06567b); }
.brand-delivery .section-title { font-size:clamp(33px,3.8vw,52px); }
.brand-delivery .process-intro { gap:60px; }.brand-delivery .process-intro p { color:#c2dbd1; font-size:16px; }
.brand-delivery .model-panel { background:#f7f7e9; border-radius:12px; }.brand-delivery .model-panel-primary { background:#eaf3e3; }
.brand-delivery .model-panel header { min-height:265px; padding:30px; background:none; }
.brand-delivery .model-panel h3 { margin-top:36px; font-size:34px; }
.brand-delivery .model-panel header p { font-size:14px; }
.brand-delivery .model-flow { padding-inline:30px; }.brand-delivery .model-flow li { padding-block:22px; }
.brand-delivery .model-flow p { font-size:14px; }
.brand-delivery .campaign-spec { color:#d2e7dc; border-color:rgba(255,255,255,.3); border-radius:8px; }
.brand-delivery .campaign-spec b { color:#e2ede6; font-size:12px; }
.brand-founder { padding-block:110px; background:#f8f0da; }
.brand-founder .founder-grid { grid-template-columns:.8fr 1.2fr; gap:90px; }
.brand-founder .portrait-frame { aspect-ratio:1; border-radius:12px 12px 90px 12px; box-shadow:0 30px 50px rgba(73,64,31,.12); }
.brand-founder .portrait-frame::after { inset:13px; border-radius:7px 7px 78px 7px; border-color:#e3c36b; }
.brand-founder .founder-copy .section-title { max-width:650px; font-size:clamp(35px,4vw,55px); }
.brand-founder .founder-copy .lede { font-size:16px; }.brand-founder .founder-name { border-color:#d8d0b4; }
.brand-founder .social-pills a { border-color:#c6c4a9; border-radius:6px; min-height:44px; display:inline-flex; align-items:center; }
.brand-testimonials { padding-block:100px; background:#fffdf7; }
.all-testimonials { display:grid; grid-template-columns:1fr 1fr; gap:28px 48px; }
.all-testimonials .testimonial-card { min-height:0; padding:30px 0; background:none; border:0; border-top:1px solid var(--line); border-radius:0; }
.all-testimonials .stars { font-size:13px; color:#ad8122; }
.all-testimonials blockquote { margin:22px 0 24px; font-family:'Manrope',sans-serif; font-size:21px; line-height:1.55; letter-spacing:-.02em; }
.all-testimonials footer { margin:0; padding:0; border:0; font-size:14px; }
.all-testimonials footer strong { font-weight:700; }.all-testimonials footer span { color:var(--muted); font-size:12px; }
.brand-careers { padding-block:100px; background:#eaf2e5; }
.brand-careers .career-intro { gap:70px; }.brand-careers .career-copy .section-title { font-size:clamp(33px,3.6vw,49px); }
.brand-careers .career-copy .lede { font-size:16px; }
.brand-careers .career-values { gap:0 25px; }
.brand-careers .career-value { min-height:160px; padding:20px 0; background:none; color:var(--ink); border-top:1px solid #bacbb6; border-radius:0; }
.brand-careers .career-value > span { display:none; }.brand-careers .career-value h3 { margin:40px 0 0; max-width:230px; font-size:21px; }
.career-application { display:grid; grid-template-columns:.7fr 1.3fr; gap:90px; margin-top:70px; padding-top:70px; border-top:1px solid #bdcfb7; }
.career-application > div > .section-title { font-size:32px; }.career-application > div > .lede { font-size:15px; }
.form-card { color:var(--ink); background:#fffdf6; padding:34px; border-radius:12px; }
.form-card h2 { font-size:28px; color:var(--ink); }.form-card > p { color:#536c5c; font-size:14px; }
.field label { color:#345344; font-size:12px; }
.field input,.field textarea,.field select { color:var(--ink); background:#f4f5eb; border:1px solid #c5d2bf; border-radius:6px; min-height:47px; padding:12px; font-size:16px; }
.field input::placeholder,.field textarea::placeholder { color:#596e59; }
.form-note { color:#576e5e; font-size:12px; }
.brand-contact { padding-block:100px; color:#fffdf2; background:linear-gradient(130deg,#064f40,#075775 80%,#075d83); }
.contact-topline { margin-bottom:60px; }.contact-topline > span { display:block; margin-bottom:24px; color:#f0d78b; font-size:12px; font-weight:700; letter-spacing:.08em; }
.contact-topline h2 { margin:0; font-size:clamp(45px,6vw,82px); line-height:1.04; font-weight:500; letter-spacing:-.04em; }
.contact-topline em { color:#f2d589; font-style:normal; }
.brand-contact .contact-layout { grid-template-columns:.8fr 1.2fr; gap:90px; }
.brand-contact .section-title { font-size:31px; color:#fffdf2; }.brand-contact .lede { color:#c4ded1; font-size:15px; }
.brand-contact .contact-cards { gap:0; }.brand-contact .contact-card { padding:18px 0; background:transparent; border:0; border-bottom:1px solid rgba(255,255,255,.22); border-radius:0; }
.brand-contact .contact-card span { color:#f0d78b; font-size:12px; }
.brand-contact .contact-card strong,.brand-contact .contact-card a { color:#fff9e8; font-family:'DM Sans',sans-serif; font-size:15px; line-height:1.6; font-weight:500; }
.brand-contact .form-card { align-self:start; background:#fffdf5; box-shadow:0 30px 55px rgba(0,37,43,.15); }
.direct-channels { display:grid; grid-template-columns:repeat(3,1fr); margin-top:60px; border-block:1px solid rgba(255,255,255,.25); }
.direct-channels a { position:relative; padding:24px; border-right:1px solid rgba(255,255,255,.25); text-decoration:none; }.direct-channels a:first-child { padding-left:0; }.direct-channels a:last-child { border-right:0; }
.direct-channels span { display:block; margin-bottom:6px; color:#f0cd77; font-size:12px; }.direct-channels strong { font-size:17px; font-weight:500; }
.direct-channels svg { position:absolute; right:24px; top:36px; width:22px; height:22px; }
.newsletter { color:var(--ink); background:#f3eedc; }.newsletter .eyebrow { display:none; }
.newsletter-grid { padding-block:60px; gap:60px; }.newsletter h2 { font-size:32px; }
.newsletter-form input { color:var(--ink); }.newsletter-form input::placeholder { color:#5a6d5b; }
.newsletter-form { border-color:#90a17e; }.newsletter-form button { color:white; background:var(--forest); border-radius:6px 6px 0 0; font-size:13px; }
.site-footer { color:#c5d9ca; background:#053c34; padding-top:60px; }
.brand-footer .brand-logo { width:190px; height:120px; margin:-18px 0 5px; }
.footer-brand p { font-size:14px; color:#c4d9ca; }
.footer-grid { grid-template-columns:1.3fr 1fr 1.1fr 1fr; gap:48px; }
.footer-grid h3 { color:#f0cf7f; font-size:12px; }.footer-grid > div:not(.footer-brand) a { color:#c5dacc; font-size:13px; margin-block:11px; }
.footer-bottom { font-size:12px; color:#c5d8c9; }.floating-contact { width:52px; height:52px; background:#f1d079; color:#073e31; border-radius:50%; right:20px; bottom:20px; }

/* Dedicated pages inherit the same brand language. */
body:not(.brand-home) .page-hero { background:linear-gradient(125deg,#086246,#076381); }
body:not(.brand-home) .page-hero::before { border-color:#d6b85c; box-shadow:none; opacity:.35; }
body:not(.brand-home) .page-hero h1 { font-size:clamp(44px,6vw,78px); line-height:1.06; }
body:not(.brand-home) .page-hero p { color:#d0e0d2; }
body:not(.brand-home) .content-section { background:#fffdf6; }
body:not(.brand-home) .content-body h2 { font-size:34px; }
body:not(.brand-home) .eyebrow { color:#146c50; }
body:not(.brand-home) .process-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:28px; }
body:not(.brand-home) .process-step { padding:28px; }
body:not(.brand-home) .process-step h3 { margin:40px 0 14px; font-size:22px; }
body:not(.brand-home) .cta-band { color:var(--ink); background:#eed493; }

@media(hover:hover) and (pointer:fine) {
  .hero-text-link svg,.text-link svg,.capability-link > svg { transition:transform 200ms var(--ease); }
  .hero-text-link:hover svg,.text-link:hover svg,.capability-link:hover > svg { transform:translateX(4px); }
  .hero-film { transition:transform 600ms var(--ease); }
  .brand-hero-media:hover .hero-film { transform:rotate(0); }
}
@media(min-width:1101px) and (prefers-reduced-motion:no-preference) {
  .brand-hero-copy { animation:brandEnter 650ms var(--ease) both; }
  .brand-hero-media { animation:brandMediaEnter 850ms var(--ease) both; }
  @keyframes brandEnter { from { opacity:.65; transform:translateY(16px); } to { opacity:1; transform:translateY(0); } }
  @keyframes brandMediaEnter { from { opacity:.65; transform:translateY(24px) rotate(-1deg); } to { opacity:1; transform:translateY(0) rotate(0); } }
}
@media(max-width:1200px) {
  .nav-shell { grid-template-columns:170px 1fr auto; gap:20px; }.desktop-nav { gap:20px; }
  .brand-hero-grid { gap:42px; }.brand-hero h1 { font-size:clamp(40px,4.9vw,62px); }
  .hero-footnote > a { display:none; }.hero-footnote > div { color:var(--ink); }
  .chapter-grid,.about-main,.career-application,.brand-contact .contact-layout { gap:55px; }
  .section-heading { gap:55px; }
}
@media(max-width:1100px) {
  .nav-shell { grid-template-columns:1fr auto; min-height:84px; }.brand-logo { width:142px; height:78px; }
  .desktop-nav,.nav-cta { display:none; }.menu-button { display:block; }
  .chapter-nav { top:84px; }.chapter-nav .shell { justify-content:flex-start; }
  .network-layout { grid-template-columns:1fr; }.network-node { width:148px; font-size:12px; padding:11px; }.network-node svg { display:none; }.network-hub { width:145px; height:140px; }.network-hub span { font-size:8px; }
  html { scroll-padding-top:141px; }section[id] { scroll-margin-top:0; }
  .brand-hero-grid { grid-template-columns:1fr 1fr; min-height:610px; padding-block:60px; gap:34px; }
  .brand-hero h1 { font-size:44px; }.hero-description { font-size:15px; }
  .hero-film { height:440px; border-radius:80px 12px 80px 12px; }.film-caption p { font-size:23px; }
  .hero-route-card { left:-14px; right:8px; padding:16px; }.hero-route-card strong { font-size:13px; }
  .hero-route-card b { margin:0 4px; }.hero-founder-proof { margin-top:26px; }
  .section-heading { grid-template-columns:1.1fr .9fr; gap:38px; }.section-heading h2 { font-size:38px; }
  .about-main { grid-template-columns:1fr .65fr; gap:36px; }.about-statement { padding:25px; }
  .about-statement blockquote { font-size:21px; }
  .capability-link { padding-inline:18px; }.capability-link strong { font-size:13px; }
  .chapter-grid { grid-template-columns:.65fr 1.35fr; gap:42px; }.chapter-rail h2 { font-size:36px; }
  .chapter-copy .detail-list { grid-template-columns:1fr; }.chapter-rail { top:166px; }
  .brand-delivery .model-grid { grid-template-columns:1fr 1fr; }.brand-delivery .model-panel h3 { font-size:28px; }
  .brand-delivery .model-panel header { min-height:290px; }.brand-delivery .process-intro { grid-template-columns:1fr 1fr; gap:40px; }
  .brand-founder .founder-grid { grid-template-columns:.8fr 1.2fr; gap:48px; }
  .brand-careers .career-intro { grid-template-columns:1.2fr .8fr; gap:36px; }
  .brand-careers .career-values { grid-template-columns:1fr; }.brand-careers .career-value { min-height:0; }
  .brand-careers .career-value h3 { margin:0; font-size:17px; }
  .footer-grid { grid-template-columns:1.3fr 1fr 1fr; gap:30px; }
}
@media(max-width:760px) {
  .shell { width:calc(100% - 40px); }
  .nav-shell { min-height:82px; }.brand-logo { width:134px; height:76px; }.mobile-menu { top:82px; }
  .chapter-nav { top:82px; }.chapter-nav a { font-size:12px; padding-block:15px; }.chapter-nav .shell { gap:24px; }
  html { scroll-padding-top:133px; }section[id] { scroll-margin-top:0; }
  .hero-colour { top:48%; width:100%; border-top-left-radius:100px; }
  .brand-hero-grid { grid-template-columns:1fr; padding-block:45px 38px; gap:40px; }
  .brand-hero h1 { font-size:clamp(34px,8.5vw,52px); margin-bottom:21px; line-height:1.12; }
  .hero-description { max-width:540px; font-size:15px; line-height:1.75; }
  .brand-hero-actions { margin-top:24px; gap:12px; }.brand-hero-actions .button { width:100%; }
  .hero-text-link { margin-inline:auto; }
  .hero-founder-proof { margin-top:20px; padding-top:20px; }.hero-founder-proof span { font-size:11px; }
  .brand-hero-media { padding:0 5px 40px; }.hero-film { height:420px; border-radius:75px 12px 75px 12px; }
  .brand-orbit { width:110%; height:110%; top:-6%; left:-6%; }
  .hero-route-card { left:0; right:17px; bottom:6px; padding:17px; gap:12px; }.route-card-icon { width:44px; height:44px; }
  .hero-route-card strong { font-size:14px; }.hero-route-card div > span { font-size:12px; }
  .film-caption { right:26px; bottom:34px; left:26px; }.film-caption p { font-size:27px; }
  .hero-footnote { flex-direction:column; align-items:flex-start; gap:14px; padding:22px 20px; color:var(--ink); border-color:var(--line); }
  .hero-footnote > span { font-size:12px; }.hero-footnote > div { flex-wrap:wrap; gap:8px 18px; font-size:12px; }
  .section-heading { grid-template-columns:1fr; gap:22px; margin-bottom:36px; }.section-heading h2 { font-size:34px; }.section-heading > p { font-size:15px; }
  .brand-about,.brand-campaigns,.brand-founder,.brand-testimonials,.brand-careers,.brand-contact { padding-block:66px; }
  .about-main { grid-template-columns:1fr; gap:32px; }.about-story > p { font-size:16px; }
  .about-story .value-grid { grid-template-columns:1fr 1fr; gap:0 22px; }.about-story .value-card h3 { font-size:14px; }.about-story .value-card p { font-size:13px; }
  .about-statement { padding:28px; }.about-statement blockquote { font-size:25px; }.statement-mark { max-width:180px; }
  .about-difference { margin-top:44px; padding-top:40px; }.about-difference .section-head { grid-template-columns:1fr; gap:22px; }
  .about-difference .process-grid { grid-template-columns:1fr 1fr; gap:28px 22px; }.about-difference .section-title { font-size:30px; }
  .people-film { padding-block:55px; }.people-film-grid { grid-template-columns:1fr; gap:28px; }.people-film h2 { font-size:33px; }.people-film-media { height:370px; border-top-right-radius:65px; }
  .capabilities-index { padding-block:62px 40px; }.capabilities-links { grid-template-columns:1fr; }
  .capability-link { flex-direction:row; align-items:center; gap:18px; padding:20px 0; border-right:0; border-bottom:1px solid #bdcdbd; }
  .capability-link:last-child { border-bottom:0; }.capability-link strong { min-height:0; max-width:none; font-size:15px; }
  .capability-link > svg { margin-left:auto; }.capability-link > span svg { width:25px; height:25px; }
  .service-chapter { padding-block:58px; }.chapter-grid { grid-template-columns:1fr; gap:30px; }.chapter-rail { position:static; }
  .chapter-rail h2 { max-width:none; font-size:38px; }.chapter-rail > p { max-width:none; margin-bottom:15px; font-size:16px; }
  .service-symbol { width:54px; height:54px; margin-bottom:20px; }.service-symbol svg { width:27px; height:27px; }
  .service-labels { max-width:none; margin-bottom:10px; }.chapter-rail .text-link { font-size:12px; }
  .chapter-copy > p { font-size:16px; }.chapter-copy .detail-list { gap:0; }.chapter-copy .detail-item { padding-block:21px; }
  .chapter-copy .detail-item p { font-size:14px; }.chapter-copy > h3 { font-size:23px; }
  .integration-section { padding-block:62px; }.integration-flow { grid-template-columns:1fr 1fr; gap:30px; }
  .integration-flow .process-step { padding-top:20px; }.integration-flow .process-step h3 { margin-top:25px; }.integration-flow .process-step p { font-size:13px; }
  .brand-verticals { grid-template-columns:1fr; }.brand-verticals .vertical-card h3 { font-size:29px; }.campaign-bottom { align-items:stretch; flex-direction:column; gap:20px; }
  .campaign-network { padding-block:62px; }.network-heading { display:block; margin-bottom:25px; }.network-heading h2 { font-size:34px; }.network-heading p { font-size:15px; }
  .network-controls { flex-direction:row; justify-content:space-between; align-items:center; margin-top:24px; gap:14px; }.demo-label { max-width:155px; line-height:1.5; }
  .network-layout { grid-template-columns:1fr; }.network-stage { min-height:0; padding:23px 14px; }.network-routes { display:none; }
  .network-hub { position:relative; left:auto; top:auto; transform:none; width:160px; height:140px; margin:0 auto 22px; }.network-hub span { font-size:9px; }
  .network-nodes { display:grid; grid-template-columns:1fr 1fr; gap:9px; }.network-node { position:relative; left:auto; top:auto; transform:none; min-width:0; width:100%; min-height:53px; padding:11px 8px; font-size:12px; gap:7px; }
  .network-detail { padding:27px 22px; border-left:0; border-top:1px solid #437561; }.network-detail h3 { font-size:28px; }
  .network-detail dl { display:grid; grid-template-columns:1fr; }.network-wave { margin-block:12px; height:44px; }
  .network-bottom { gap:12px; }.network-bottom > span { padding-right:12px; font-size:9px; }.network-bottom > p { margin:2px 0 0; font-size:12px; line-height:1.6; }
  .brand-delivery { padding-block:65px; }.brand-delivery .process-intro { grid-template-columns:1fr; gap:22px; margin-bottom:36px; }
  .brand-delivery .model-grid { grid-template-columns:1fr; }.brand-delivery .model-panel header { min-height:0; padding:27px 23px; }
  .brand-delivery .model-panel h3 { margin-top:28px; font-size:31px; }.brand-delivery .model-flow { padding-inline:23px; }.brand-delivery .model-flow li { grid-template-columns:24px 1fr; gap:10px; }
  .brand-delivery .campaign-spec { padding:20px; gap:14px; }.brand-delivery .campaign-spec > span { font-size:15px; }
  .brand-founder .founder-grid { grid-template-columns:1fr; gap:38px; }.brand-founder .portrait-frame { max-width:460px; width:100%; }.brand-founder .founder-copy .section-title { font-size:34px; }
  .all-testimonials { grid-template-columns:1fr; gap:8px; }.all-testimonials blockquote { font-size:21px; }
  .brand-careers .career-intro { grid-template-columns:1fr; gap:26px; }.brand-careers .career-copy .section-title { font-size:34px; }
  .brand-careers .career-values { grid-template-columns:1fr 1fr; }.brand-careers .career-value { padding-block:18px; }.brand-careers .career-value h3 { font-size:16px; }
  .career-application { grid-template-columns:1fr; gap:26px; margin-top:42px; padding-top:40px; }.form-card { padding:27px 21px; }.form-card h2 { font-size:26px; }
  .form-grid { gap:17px; }.form-note { font-size:12px; }
  .contact-topline { margin-bottom:40px; }.contact-topline > span { max-width:270px; font-size:12px; line-height:1.7; }.contact-topline h2 { font-size:47px; }
  .brand-contact .contact-layout { grid-template-columns:1fr; gap:35px; }.direct-channels { grid-template-columns:1fr; margin-top:35px; }
  .direct-channels a { padding:21px 0; border-right:0; border-bottom:1px solid rgba(255,255,255,.25); }.direct-channels a:last-child { border-bottom:0; }.direct-channels svg { right:0; top:32px; }
  .newsletter-grid { padding-block:46px; gap:24px; }.newsletter h2 { font-size:28px; }.newsletter-form button { border-radius:6px; min-height:48px; }.newsletter-form input { border-color:#a4af90; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:32px 24px; }.footer-grid .footer-brand { grid-column:1/-1; }.footer-grid > div:last-child { grid-column:auto; }
  .footer-bottom { margin-top:45px; font-size:12px; gap:18px; }.floating-contact { width:46px; height:46px; right:13px; bottom:13px; }.floating-contact svg { width:25px; }
  body:not(.brand-home) .process-grid { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }.brand-hero-copy,.brand-hero-media { animation:none; }
  .hero-film,.button,.nav-cta { transform:none !important; }
  .network-wave i { animation:none; transform:scaleY(.6); }
}

.network-controls button:disabled { cursor:default; opacity:.8; }
.network-node:focus-visible { outline-color:#f4d789; outline-offset:3px; }

/* Refined campaign-to-service flow. */
.campaign-network { padding-block:72px 48px; }
.network-heading { margin-bottom:30px; }
.network-heading p { max-width:62ch; margin-top:18px; }
.network-stage { min-height:470px; }
.network-detail { padding:26px 24px; }
.network-detail h3 { min-height:65px; margin:16px 0 5px; }
.network-detail .network-wave { margin:12px 0 20px; height:44px; }
.network-detail p.network-demo-note { margin:16px 0 8px; }
.network-bottom { padding-top:24px; margin-top:0; gap:18px; }
.network-bottom > p { max-width:260px; line-height:1.6; }
.network-services-link { display:inline-flex; align-items:center; gap:14px; min-height:44px; margin-left:auto; color:#f3dba1; font-size:14px; font-weight:600; text-decoration:none; }
.network-services-link svg { width:20px; height:20px; transition:transform 180ms ease; }
.network-node { min-height:60px; font-size:14px; }
.capabilities-index { padding-block:76px 68px; }
.capabilities-index .section-heading { margin-bottom:38px; }
.capability-link { gap:18px; padding:28px 23px; }
.capability-link:first-child { padding-left:23px; }
.capability-link strong { font-family:'Manrope',sans-serif; font-size:17px; min-height:44px; font-weight:700; }
.capability-link p { margin:0; color:#536c65; font-size:14px; line-height:1.65; }
.capability-link > svg { margin-top:auto; transition:transform 180ms ease; }
@media (hover:hover) and (pointer:fine) {
  .network-node:not(.is-active):hover { background:#176955; border-color:#a2c2a6; }
  .network-services-link:hover svg,.capability-link:hover > svg { transform:translateX(4px); }
  .network-controls button:not(:disabled):hover { background:#155a49; }
}
@media (min-width:761px) and (max-width:1100px) {
  .network-detail { display:grid; grid-template-columns:1fr 1.1fr; gap:0 32px; border-left:0; border-top:1px solid #437561; }
  .network-detail-label,.network-detail h3,.network-detail > p:not(.network-demo-note),.network-wave { grid-column:1; }
  .network-detail h3 { min-height:0; }
  .network-detail dl { grid-column:2; grid-row:1 / 4; }
  .network-detail p.network-demo-note { grid-column:2; grid-row:4 / 6; margin:8px 0; }
  .network-detail .network-cta { grid-column:1; }
  .network-node { width:162px; font-size:13px; }
  .capability-link { padding-inline:15px; }.capability-link:first-child { padding-left:15px; }
  .capability-link strong { font-size:15px; }
}
@media (max-width:760px) {
  .campaign-network { padding-block:52px 30px; }
  .network-stage { min-height:0; }
  .network-heading h2 { font-size:32px; }
  .network-node { font-size:12px; min-height:56px; }
  .network-detail h3 { min-height:0; }
  .network-bottom > span { font-size:9px; }
  .network-bottom > p { max-width:none; margin:0; width:100%; }
  .network-services-link { width:100%; margin:0; justify-content:space-between; padding-top:16px; border-top:1px solid #437561; }
  .capabilities-index { padding-block:54px 40px; }
  .capability-link,.capability-link:first-child { display:grid; grid-template-columns:34px 1fr 20px; column-gap:16px; row-gap:6px; padding:22px 0; }
  .capability-link > span { grid-row:1 / 3; align-self:center; }
  .capability-link strong { grid-column:2; min-height:0; font-size:16px; }
  .capability-link p { grid-column:2; font-size:14px; }
  .capability-link > svg { grid-column:3; grid-row:1 / 3; align-self:center; margin:0; }
}
@media (prefers-reduced-motion:reduce) {
  .network-services-link svg,.capability-link > svg { transition:none; }
}

/* Concise service directory: photography and topics, with details one click away. */
.services-overview { padding-block:76px; background:#fffdf7; color:#173b3c; }
.services-overview-heading { display:flex; justify-content:space-between; align-items:end; gap:48px; margin-bottom:36px; }
.services-overview-heading h2 { margin:0; font-family:'Manrope',sans-serif; font-size:clamp(34px,3.4vw,48px); font-weight:600; letter-spacing:-.025em; line-height:1.15; }
.services-overview-heading p { margin:0 0 4px; max-width:370px; color:#536760; font-size:16px; line-height:1.7; }
.service-gallery { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:28px; }
.service-tile { grid-column:span 2; display:block; min-width:0; color:#173b3c; text-decoration:none; }
.service-tile:nth-child(n+4) { grid-column:span 3; }
.service-tile-image { height:200px; overflow:hidden; border-radius:10px; background:#e5eae4; }
.service-tile-image img { width:100%; height:100%; display:block; object-fit:cover; transition:transform 300ms cubic-bezier(.23,1,.32,1); }
.service-tile-label { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:17px 0 12px; border-bottom:1px solid #d8dfd7; }
.service-tile-label h3 { margin:0; font-family:'Manrope',sans-serif; font-size:20px; font-weight:600; line-height:1.35; letter-spacing:-.015em; }
.service-tile-label > svg { width:22px; height:22px; color:#087358; transition:transform 180ms ease; }
.service-detail-photo { display:block; width:100%; height:320px; margin-bottom:34px; border-radius:12px; object-fit:cover; }
body.service-detail .content-body { color:#435e55; font-size:16px; line-height:1.8; }
body.service-detail .content-body h2 { color:#173b3c; font-size:30px; letter-spacing:-.025em; }
@media (hover:hover) and (pointer:fine) {
  .service-tile:hover .service-tile-image img { transform:scale(1.035); }
  .service-tile:hover .service-tile-label { color:#087358; border-bottom-color:#087358; }
  .service-tile:hover .service-tile-label > svg { transform:translateX(4px); }
}
@media (min-width:761px) and (max-width:1100px) {
  .service-gallery { gap:22px; }.service-tile-image { height:170px; }.service-tile-label h3 { font-size:18px; }
}
@media (max-width:760px) {
  .services-overview { padding-block:48px; }
  .services-overview-heading { display:block; margin-bottom:28px; }
  .services-overview-heading p { margin-top:16px; font-size:15px; }
  .service-gallery { display:block; }
  .service-tile,.service-tile:nth-child(n+4) { display:grid; grid-template-columns:112px minmax(0,1fr); gap:18px; align-items:center; padding:17px 0; border-bottom:1px solid #d8dfd7; }
  .service-tile:first-child { padding-top:0; }
  .service-tile-image { height:90px; border-radius:7px; }
  .service-tile-label { padding:0; border:0; gap:10px; }
  .service-tile-label h3 { font-size:17px; line-height:1.45; }
  .service-tile-label > svg { width:18px; height:18px; }
  .service-detail-photo { height:210px; margin-bottom:26px; }
}
@media (prefers-reduced-motion:reduce) {
  .service-tile-image img,.service-tile-label > svg { transition:none; }
}

/* Clear founder identity, with the name on a solid caption rather than the photograph. */
.brand-founder { background:#f2f3e9; padding-block:88px; }
.brand-founder .founder-grid { grid-template-columns:.85fr 1.15fr; gap:72px; align-items:center; }
.brand-founder .portrait-frame { aspect-ratio:auto; border-radius:12px; background:#103f37; box-shadow:0 20px 46px rgba(12,53,44,.10); }
.brand-founder .portrait-frame::before,.brand-founder .portrait-frame::after { display:none; }
.brand-founder .founder-photo { display:block; height:auto; aspect-ratio:1; object-fit:cover; transform:none; }
.brand-founder .portrait-frame:hover .founder-photo { transform:none; filter:none; }
.brand-founder .portrait-signature { position:static; padding:23px 26px; }
.brand-founder .portrait-signature strong { display:block; color:#fffdf2; font-family:'DM Sans',sans-serif; font-size:25px; font-weight:600; letter-spacing:0; line-height:1.35; }
.brand-founder .portrait-signature span { color:#e8cf92; margin:7px 0 0; font-size:13px; font-weight:500; letter-spacing:0; text-transform:none; }
.brand-founder .founder-copy .section-title { margin:0 0 24px; font-size:clamp(32px,3.3vw,47px); line-height:1.15; letter-spacing:-.025em; }
.brand-founder .founder-copy .section-title em { color:#087358; font-style:normal; }
.brand-founder .founder-name { margin:0 0 24px; padding:0; border:0; }
.brand-founder .founder-name strong { font-family:'DM Sans',sans-serif; font-size:27px; letter-spacing:0; font-weight:600; color:#173b3c; }
.brand-founder .founder-name span { font-size:14px; margin-top:5px; color:#536760; }
.brand-founder .founder-copy .lede,.founder-partners { font-size:16px; color:#435f55; line-height:1.8; max-width:62ch; margin:0 0 17px; }
.founder-actions { display:flex; align-items:center; flex-wrap:wrap; gap:23px; margin-top:30px; }
.founder-secondary { display:inline-flex; align-items:center; gap:8px; min-height:44px; color:#174d40; text-decoration:none; font-size:14px; font-weight:600; }
.founder-secondary svg { width:18px; height:18px; }
.founder-secondary:hover { text-decoration:underline; text-underline-offset:5px; }
@media (max-width:1100px) and (min-width:761px) {
  .brand-founder .founder-grid { gap:40px; }.brand-founder .portrait-signature { padding:20px; }.brand-founder .portrait-signature strong { font-size:22px; }
}
@media (max-width:760px) {
  .brand-founder { padding-block:52px; }
  .brand-founder .founder-grid { grid-template-columns:1fr; gap:30px; }
  .brand-founder .portrait-frame { max-width:440px; }
  .brand-founder .portrait-signature { padding:20px 22px; }
  .brand-founder .portrait-signature strong { font-size:24px; }
  .brand-founder .founder-copy .section-title { font-size:32px; }
  .brand-founder .founder-name strong { font-size:26px; }
  .founder-actions { gap:16px 26px; }.founder-actions .button { width:100%; justify-content:space-between; }
}

.founder-email { display:inline-flex; align-items:center; min-height:44px; color:#087358; font-size:16px; font-weight:500; text-decoration:underline; text-underline-offset:4px; overflow-wrap:anywhere; }
.founder-email:hover { color:#173b3c; }
