/* EDITING MAP: theme, full-screen layout, navigation, title/action, white venture dialog,
   responsive sizes, reduced motion. All headings use regular weight. */
:root { --paper:#f8f6f0; --ink:#292e29; --green:#607a57; --line:#e5e8e2; --gutter:clamp(20px,4vw,64px); --fade:2200ms; }
* { box-sizing:border-box; }
body { margin:0; font-family:Arial,Helvetica,sans-serif; color:var(--ink); background:var(--paper); }
button,a { -webkit-tap-highlight-color:transparent; }
button { font:inherit; color:inherit; cursor:pointer; }
a { color:inherit; text-decoration:none; }
button:focus-visible,a:focus-visible { outline:3px solid var(--green); outline-offset:4px; }
.skip-link { position:fixed; top:-80px; left:20px; z-index:20; padding:12px; background:var(--paper); }
.skip-link:focus { top:12px; }
/* dvh fits the currently visible phone screen. Short screens may scroll for accessibility. */
.home { position:relative; isolation:isolate; height:100vh; height:100dvh; min-height:480px; display:grid; grid-template-rows:100px minmax(0,1fr) 150px; padding:0 var(--gutter); overflow:hidden; }
.hero-slides,.hero-shade { position:absolute; inset:0; z-index:-2; }
.hero-slide { position:absolute; width:100%; height:100%; object-fit:cover; object-position:center; opacity:0; transition:opacity var(--fade) ease; }
.hero-slide.is-active { opacity:1; }
.hero-slides.is-breathing { animation:hero-breath 3600ms ease-in-out; transform-origin:center; }
/* Original photos crossfade; the image layer gently expands by 2% and settles
   during each switch. The text/navigation stay still. */
.hero-shade { z-index:-1; background:linear-gradient(180deg,rgba(248,246,240,.94),rgba(248,246,240,.05) 22%,rgba(15,24,15,.38) 46%,rgba(15,24,15,.3) 65%,rgba(20,29,20,.64)); }
.header { display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid rgba(41,46,41,.18); }
.brand { width:138px; height:88px; overflow:hidden; display:flex; align-items:center; }
/* The replacement logo is preserved as supplied. Blend mode removes its white rectangle visually. */
.brand img { width:138px; height:138px; object-fit:contain; mix-blend-mode:multiply; }
nav { display:flex; align-items:center; gap:clamp(22px,3.2vw,48px); }
nav a { font-size:14px; padding:14px 0; position:relative; }
nav a::after { content:''; position:absolute; bottom:5px; left:0; right:0; height:1px; background:var(--green); transform:scaleX(0); transition:transform 200ms; }
nav a:hover::after,nav a[aria-current]::after { transform:scaleX(1); }
.center-title { display:grid; place-items:center; text-align:center; animation:entrance 650ms ease both; }
h1 { margin:0; font-size:clamp(28px,4.2vw,60px); font-weight:400; line-height:1.2; letter-spacing:-.025em; color:white; text-wrap:balance; text-shadow:0 2px 24px rgba(0,0,0,.28); }
.hero-footer { display:flex; align-items:center; color:var(--paper); }
.company-label { font-size:clamp(16px,1.7vw,23px); font-weight:400; margin:0 0 17px; letter-spacing:.015em; }
.explore { background:var(--paper); color:var(--ink); border:1px solid var(--paper); padding:15px 20px; display:flex; align-items:center; gap:38px; font-size:14px; transition:background 200ms,color 200ms; }
.explore:hover { background:var(--green); color:white; border-color:var(--green); }
/* PURE-WHITE VENTURE BOX: both groups always visible when opened. The content
   scrolls on smaller screens; the close button remains available at the top. */
.ventures-dialog { width:min(1120px,calc(100% - 40px)); max-height:calc(100vh - 40px); max-height:calc(100dvh - 40px); padding:0; border:0; background:#fff; color:var(--ink); box-shadow:0 24px 100px rgba(0,0,0,.22); overflow:auto; }
.ventures-dialog[open] { animation:venture-reveal 800ms cubic-bezier(.16,1,.3,1) both; }
.ventures-dialog::backdrop { background:rgba(15,22,15,.48); }
.ventures-dialog[open]::backdrop { animation:backdrop-reveal 800ms ease both; }
.dialog-header { display:flex; justify-content:space-between; align-items:center; padding:18px 28px; border-bottom:1px solid var(--line); position:sticky; top:0; background:#fff; z-index:1; }
.appointment { flex-shrink:1; }
.close-ventures { border:0; background:#fff; width:44px; height:44px; font-size:28px; font-weight:400; }
.close-ventures:hover { color:var(--green); }
.dialog-content { padding:0 28px 12px; }
.venture-group + .venture-group { border-top:1px solid var(--line); }
.venture-group h3 { display:flex; justify-content:space-between; margin:0; padding:22px 0 16px; font-size:16px; font-weight:400; }

.logo-grid { display:flex; flex-wrap:nowrap; justify-content:flex-start; gap:20px; padding:4px 4px 24px; overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:thin; scrollbar-color:var(--green) #eef0ec; }
/* One line per group. Horizontal scrolling preserves logo size on phones/tablets. */
.logo-grid:focus-visible { outline:2px solid var(--green); outline-offset:-2px; }
.venture-logo { flex:0 0 calc((100% - 140px)/8); min-width:108px; height:130px; display:flex; align-items:center; justify-content:center; background:#fff; transition:transform 200ms; }
.venture-logo img { width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }
.venture-logo:hover { transform:translateY(-3px); }
body.dialog-open { overflow:hidden; }
@keyframes entrance { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:600px) {
 .home { grid-template-rows:84px minmax(0,1fr) 148px; }
 .brand,.brand img { width:94px; }.brand img { height:94px; }
 nav { gap:17px; }nav a { font-size:13px; }
 h1 { max-width:340px; }
 .company-label { font-size:16px; line-height:1.4; margin-bottom:12px; }
 .explore { padding:13px 14px; gap:20px; }
 .dialog-header { padding:12px 18px; }.dialog-content { padding:0 18px 6px; }
 .appointment { font-size:13px; gap:16px; }
 .logo-grid { gap:16px; }.venture-logo { flex:0 0 110px; min-width:110px; height:110px; }
}
@media(max-width:360px) { nav { gap:11px; } .home { --gutter:14px; } .brand,.brand img { width:80px; } }
@media(max-height:500px) and (min-width:601px) { .home { min-height:400px; grid-template-rows:80px minmax(0,1fr) 110px; } }
/* MOTION SETTINGS: first T = 1.3s, photo breath = 3.6s, modal reveal = .8s.
   No loading overlay: navigation and Explore are immediately available. */
.initial-letter { display:inline-block; transform-origin:center bottom; animation:initial-reveal 1300ms cubic-bezier(.16,1,.3,1) both; }
@keyframes initial-reveal {
  0% { opacity:0; transform:translateY(.22em) scale(.92); color:#c6d8bf; }
  55% { opacity:1; color:#dce8d6; }
  100% { opacity:1; transform:translateY(0) scale(1); color:inherit; }
}
@keyframes hero-breath { 0%,100% { transform:scale(1); } 50% { transform:scale(1.02); } }
@keyframes venture-reveal { from { opacity:0; transform:translateY(28px) scale(.985); } to { opacity:1; transform:translateY(0) scale(1); } }
@keyframes backdrop-reveal { from { opacity:0; } to { opacity:1; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }

/* ABOUT SECTION — these styles are scoped so the existing homepage stays intact.
   Adjust padding for section spacing and grid columns for the text/portrait balance. */
html { scroll-behavior:smooth; }
.scroll-about { position:absolute; right:var(--gutter); bottom:34px; display:grid; place-items:center; width:44px; height:44px; color:var(--paper); font-size:26px; font-weight:400; border:1px solid rgba(248,246,240,.45); border-radius:50%; transition:background 200ms,transform 200ms; }
.scroll-about:hover { background:rgba(248,246,240,.14); transform:translateY(3px); }
/* Fixed viewport-height section. Internal overflow preserves access on very short
   screens and when text is enlarged; ordinary desktop layouts fit without scrolling. */
.about-section { background:var(--paper); color:var(--ink); height:100vh; height:100dvh; padding:clamp(24px,5vh,54px) var(--gutter); scroll-margin-top:0; overflow:auto; display:flex; flex-direction:column; }
.about-layout { width:100%; max-width:1060px; margin:auto; display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:clamp(32px,6vw,80px); align-items:center; flex-shrink:0; }
.about-label { margin:0 0 18px; color:var(--green); font-size:14px; }
.about-copy h2 { margin:0; max-width:590px; font-size:clamp(23px,2.3vw,33px); line-height:1.3; font-weight:400; letter-spacing:-.025em; text-wrap:pretty; }
.expertise { margin-top:28px; border-top:1px solid #d8ddd3; padding-top:18px; }
.expertise h3 { margin:0 0 14px; color:var(--green); font-size:16px; font-weight:400; }
.experience-intro { margin:0 0 12px; font-size:17px; line-height:1.4; font-weight:400; }
.expertise-list { list-style:none; margin:0; padding:0; }
.expertise-list li { padding:8px 0; border-bottom:1px solid #e0e3dc; font-size:15px; line-height:1.4; }
.connect-now { display:inline-flex; margin-top:24px; background:var(--green); color:#fff; border-color:var(--green); box-shadow:0 5px 16px rgba(41,46,41,.15); }
.connect-now:hover { background:var(--ink); border-color:var(--ink); color:#fff; }
.connect-now:focus-visible { outline:3px solid var(--ink); outline-offset:4px; }
/* Top-right About navigation stays in the document flow so it cannot overlap copy. */
.about-navigation { display:flex; justify-content:flex-end; gap:10px; flex-shrink:0; width:100%; max-width:1060px; margin:0 auto 16px; }
.about-navigation .section-arrow { width:44px; height:44px; display:grid; place-items:center; padding:0; border:1px solid #bbc6b5; border-radius:50%; font-size:24px; color:var(--green); transition:background 200ms,color 200ms; }
.about-navigation .section-arrow::after { content:none; }
.about-navigation .section-arrow:hover { color:#fff; background:var(--green); }
.about-navigation .section-arrow[aria-disabled=true] { color:#6e7768; border-color:#d0d6cb; cursor:default; }
.about-navigation .section-arrow[aria-disabled=true]:hover { color:#6e7768; background:transparent; }
.founder { margin:0; text-align:center; justify-self:center; width:100%; max-width:300px; }
/* Portrait reduced by 40%: 300px -> 180px desktop; 240px -> 144px mobile. */
.founder img { display:block; width:min(100%,180px); height:auto; margin:0 auto 16px; mix-blend-mode:multiply; }
.founder figcaption { display:flex; flex-direction:column; gap:5px; }
.founder-name { font-size:18px; font-weight:400; }
.founder-role { color:var(--green); font-size:14px; }
.founder blockquote { margin:24px auto 0; padding-top:18px; border-top:1px solid #d8ddd3; max-width:280px; font-size:21px; font-weight:400; line-height:1.4; letter-spacing:-.02em; text-wrap:balance; }
@media(max-width:700px) {
 .about-layout { grid-template-columns:1fr; gap:24px; }
 .about-section { padding-top:24px; padding-bottom:24px; }
 .about-label { margin-bottom:12px; }
 .about-copy h2 { font-size:23px; }
 .expertise { margin-top:18px; padding-top:14px; }
 .experience-intro { font-size:16px; }
 .expertise-list li { font-size:14px; padding:6px 0; }
 .connect-now { margin-top:18px; }
 .founder img { width:144px; max-width:100%; margin-bottom:10px; }
 .founder blockquote { margin-top:14px; padding-top:12px; font-size:18px; }
 .scroll-about { bottom:30px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

/* CORNER NAVIGATION: only the About arrows are repositioned; Home remains unchanged. */
.about-section { position:relative; padding-top:76px; padding-bottom:76px; overflow:hidden; }
.about-layout { max-height:100%; min-height:0; overflow:auto; flex-shrink:1; scrollbar-width:thin; }
.about-navigation { display:contents; }
.section-arrow { width:44px; height:44px; display:grid; place-items:center; padding:0; border:1px solid #bbc6b5; border-radius:50%; font-size:24px; color:var(--green); transition:background 200ms,color 200ms; }
.section-arrow:hover { color:white; background:var(--green); }
.about-navigation .section-arrow { position:absolute; right:var(--gutter); z-index:1; }
.about-navigation .section-arrow[href="#home"] { top:20px; }
.about-navigation .section-arrow[href="#services"] { bottom:20px; }
/* SERVICES — full-width editorial rows inspired by the supplied reference.
   Shared grid tracks align titles, description lines, and supplied icons.
   The original icon files are displayed without cropping or recompression. */
.services-section { position:relative; height:100vh; height:100dvh; padding:58px var(--gutter) 90px; background:linear-gradient(125deg,#eceeeb 0%,#f7f9f5 48%,#e8f0e3 100%); color:var(--ink); overflow:hidden; display:flex; }
.services-up { position:absolute; right:var(--gutter); top:16px; z-index:1; }
.services-content { width:100%; max-width:1472px; margin:auto; max-height:100%; overflow:auto; padding:4px 6px; scrollbar-width:thin; }
.services-heading { margin-bottom:22px; padding-right:44px; }
.services-heading .about-label { margin-bottom:10px; }
.services-heading h2 { margin:0; font-weight:400; font-size:clamp(24px,2.5vw,36px); line-height:1.25; letter-spacing:-.025em; }
.services-grid { display:grid; grid-template-columns:1fr; border-bottom:1px solid #dce1d7; }
.service-card { min-width:0; display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr) 72px; align-items:center; column-gap:clamp(24px,4vw,64px); border-top:1px solid #dce1d7; padding:8px 12px; background:transparent; transition:background 450ms ease; }
.service-card:hover,.service-card:focus-visible { background:#eef3e9; }
.service-card:focus-visible { outline:2px solid var(--green); outline-offset:-2px; }
/* Copy stays at left; icons are always at the far right. No text overlays obscure artwork. */
.service-copy { display:contents; }
.service-copy h3 { grid-column:1; grid-row:1; margin:0; font-size:18px; font-weight:400; line-height:1.3; transition:color 350ms ease,transform 450ms ease; }
.service-copy ul { grid-column:2; grid-row:1; margin:0; padding:0; list-style:none; }
.service-copy li { font-size:14px; line-height:1.45; padding:1px 0; }
.service-image { grid-column:3; grid-row:1; width:72px; height:64px; justify-self:end; display:grid; place-items:center; overflow:hidden; }
.service-image img { display:block; width:100%; height:100%; object-fit:contain; mix-blend-mode:normal; transition:transform 700ms cubic-bezier(.2,.7,.3,1); }
.service-card:hover .service-image img,.service-card:focus-visible .service-image img { transform:scale(1.06); }
.service-card:hover h3,.service-card:focus-visible h3 { color:var(--green); transform:translateX(4px); }
.contact-services { position:absolute; right:var(--gutter); bottom:24px; display:inline-flex; margin:0; background:var(--green); color:white; border-color:var(--green); }
.contact-services:hover { background:var(--ink); border-color:var(--ink); }
@media(max-width:700px) {
 .services-section { padding-top:72px; padding-bottom:88px; }
 .services-heading { padding-right:0; }
 .service-card { grid-template-columns:minmax(0,1fr) 64px; gap:16px; padding:14px 8px; }
 .service-copy { display:block; grid-column:1; grid-row:1; }
 .service-copy h3 { margin-bottom:8px; font-size:17px; }
 .service-copy li { font-size:14px; }
 .service-image { grid-column:2; width:64px; height:64px; }
}


/* SCROLL FIX: a single document scroll replaces the nested Services scrollbar.
   Sections fill the viewport but can grow on phones/zoom instead of trapping scrolling. */
.services-section { height:auto; min-height:100vh; min-height:100dvh; overflow:visible; }
.services-content { max-height:none; overflow:visible; }
.services-section.services-reveal-enabled .service-reveal-item { opacity:0; transform:translateY(18px); filter:blur(5px); transition:opacity 700ms ease,transform 850ms ease,filter 850ms ease,background 450ms ease; }
.services-section.services-reveal-enabled .service-reveal-item.is-revealed,
.services-section.services-reveal-enabled .service-reveal-item:focus-visible { opacity:1; transform:none; filter:blur(0); }
/* CONTACT: muted form surface with white fields, matching the supplied reference. */
.contact-section { position:relative; min-height:100vh; min-height:100dvh; display:flex; flex-direction:column; padding:80px var(--gutter) 28px; background:linear-gradient(125deg,#d2d7d0 0%,#e5e9e0 48%,#c7d5be 100%); }
.contact-up { position:absolute; top:20px; right:var(--gutter); }
.contact-layout { width:100%; max-width:1100px; margin:auto; padding:30px 0 50px; display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:clamp(40px,7vw,100px); }
.contact-intro h2 { font-size:clamp(30px,3.5vw,48px); font-weight:400; line-height:1.15; letter-spacing:-.03em; margin:0 0 22px; }
.contact-intro>p:last-child { font-size:16px; color:#596153; }
.contact-form { background:#e4e3df; border:1px solid #dfdfd9; border-radius:10px; overflow:hidden; }
.form-fields { padding:20px; display:grid; gap:14px; }
.form-fields input,.form-fields select,.form-fields textarea { width:100%; min-width:0; border:1px solid transparent; border-radius:4px; padding:14px 12px; background:#faf9f6; color:var(--ink); font:inherit; font-size:16px; }
.form-fields input::placeholder,.form-fields textarea::placeholder { color:#667261; opacity:1; }
.form-fields :focus-visible { outline:2px solid var(--green); outline-offset:2px; }
.form-bottom { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:16px 20px; background:#f7f6f2; }
.form-bottom>span { font-size:12px; color:#576250; }
.form-bottom button { padding:12px 18px; border:0; background:var(--green); color:white; border-radius:2px; white-space:nowrap; }
.form-bottom button:hover { background:var(--ink); }
.form-status { margin:0; font-size:14px; line-height:1.5; }
.form-status:not(:empty) { padding:14px 20px; }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.contact-footer { width:100%; max-width:1472px; margin:0 auto; border-top:1px solid #d4dacf; padding-top:22px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.contact-details { display:flex; gap:clamp(20px,4vw,60px); flex-wrap:wrap; }
.contact-details a { display:flex; align-items:center; gap:10px; font-size:14px; overflow-wrap:anywhere; }
.contact-footer svg { width:20px; height:20px; flex-shrink:0; }
.social-links { gap:8px; }
.social-links a { display:grid; place-items:center; padding:0; width:44px; height:44px; border:1px solid #cbd3c5; border-radius:50%; }
.social-links a::after { content:none; }
.social-links a:hover { color:var(--green); border-color:var(--green); }
@media(max-width:700px) {
 .contact-layout { grid-template-columns:1fr; gap:24px; padding:8px 0 32px; }
 .contact-intro h2 br { display:none; }
 .contact-footer { align-items:flex-start; flex-direction:column; gap:18px; }
 .contact-details { flex-direction:column; gap:16px; }
 .form-fields { padding:16px; gap:12px; }
}
@media(prefers-reduced-motion:reduce) { .services-section.services-reveal-enabled .service-reveal-item { opacity:1; transform:none; filter:none; } }

/* PERSISTENT CONTACT STRIP: reserve space so fixed information never covers
   navigation or anchored section headings. Links use native phone/email handlers. */
:root { --contact-strip-height:44px; }
body { padding-top:var(--contact-strip-height); }
.contact-strip { position:fixed; inset:0 0 auto; z-index:30; height:var(--contact-strip-height); display:flex; align-items:center; justify-content:flex-end; gap:28px; padding:0 var(--gutter); background:#f8f6f0; color:var(--ink); border-bottom:1px solid #dfe3d9; }
.contact-strip a { display:inline-flex; align-items:center; gap:8px; font-size:13px; line-height:1.3; }
.contact-strip a:hover { color:var(--green); }
.contact-strip svg { width:15px; height:15px; flex-shrink:0; }
.home { height:calc(100vh - var(--contact-strip-height)); height:calc(100dvh - var(--contact-strip-height)); }
.about-section { height:calc(100vh - var(--contact-strip-height)); height:calc(100dvh - var(--contact-strip-height)); }
.services-section,.contact-section { min-height:calc(100vh - var(--contact-strip-height)); min-height:calc(100dvh - var(--contact-strip-height)); }
#home,#about,#services,#info { scroll-margin-top:var(--contact-strip-height); }
.footer-bottom { width:100%; max-width:1472px; margin:22px auto 0; display:flex; justify-content:space-between; align-items:center; gap:20px; }
.footer-bottom small { font-size:12px; line-height:1.5; color:#586150; }
.back-to-top { display:inline-flex; align-items:center; gap:10px; font-size:14px; min-height:44px; white-space:nowrap; }
.back-to-top:hover { color:var(--green); }
.back-to-top span { font-size:20px; }
@media(max-width:600px) {
 :root { --contact-strip-height:64px; }
 .contact-strip { flex-direction:column; justify-content:center; align-items:flex-start; gap:6px; }
 .contact-strip a { font-size:12px; }
 .footer-bottom { flex-wrap:wrap; gap:8px; }
}

/* CONTACT FORM FINISH — silver highlights over a charcoal base. */
.contact-form { background:linear-gradient(145deg,#eceeed 0%,#b9bfbb 38%,#626963 74%,#292e2a 100%); border:1px solid #b7bdb7; box-shadow:0 16px 40px rgba(25,30,26,.14),inset 0 1px 0 rgba(255,255,255,.7); }
.form-fields { padding:24px; gap:16px; }
.form-fields input,.form-fields select,.form-fields textarea { background:rgba(252,253,250,.95); color:#252b26; border:1px solid rgba(255,255,255,.7); box-shadow:0 2px 7px rgba(20,26,21,.06); }
.form-bottom { background:rgba(28,33,29,.92); border-top:1px solid rgba(255,255,255,.18); }
.form-bottom>span { color:#e1e6de; }
.form-bottom button { background:linear-gradient(135deg,#edf0eb,#bec8b9); color:#202820; border:1px solid #d7dfd2; transition:background 200ms,color 200ms; }
.form-bottom button:hover { background:var(--green); color:#fff; border-color:var(--green); }
.contact-form .form-status:not(:empty) { color:#f4f6f1; background:#292e2a; }
@media(max-width:700px) { .form-fields { padding:18px; gap:14px; } }

/* SHORT LOGO OPENER — warm white curtain with a quiet fade/scale. */
.logo-opener { position:fixed; inset:0; z-index:100; background:#fff; display:grid; place-items:center; pointer-events:none; animation:opener-away 1600ms ease forwards; }
.logo-opener img { width:clamp(150px,22vw,260px); height:auto; animation:opener-mark 1100ms cubic-bezier(.16,1,.3,1) both; }
@keyframes opener-mark { from { opacity:0; transform:translateY(8px) scale(.96); } to { opacity:1; transform:none; } }
@keyframes opener-away { 0%,50% { opacity:1; visibility:visible; } 100% { opacity:0; visibility:hidden; } }
body:has(:focus-visible) .logo-opener { display:none; }
.about-section { background:#fff; }
.founder img { mix-blend-mode:normal; }
/* Equal image boxes preserve the supplied artwork and the original venture order. */
.venture-logo img { max-width:100%; max-height:100%; object-fit:contain; }
/* Responsive safeguards: no squeezed headers or nested About scrolling on phones. */
@media(max-width:700px), (max-height:600px) {
 .about-section { height:auto; min-height:calc(100dvh - var(--contact-strip-height)); overflow:visible; }
 .about-layout { max-height:none; overflow:visible; }
}
@media(max-width:380px) {
 .header { gap:12px; }
 .header nav { gap:12px; }
 .header nav a { font-size:12px; }
 .dialog-header { gap:8px; }
 .appointment { font-size:12px; padding:12px; gap:10px; }
 .close-ventures { flex-shrink:0; }
 .contact-details a { font-size:12px; }
}
@media(prefers-reduced-motion:reduce) {
 .logo-opener { display:none; }
 .services-section.services-reveal-enabled .service-reveal-item { opacity:1; transform:none; filter:none; }
}

/* These four replacement logos have generous margins in the supplied files.
   Enlarge their artwork by 20% inside the existing links without changing row order. */
.venture-logo img.venture-logo-enlarged { transform:scale(1.2); transform-origin:center; }

/* CONTACT-ONLY REFINEMENT: square form and a 15% smaller Submit control. */
.contact-form { border-radius:0; }
.contact-form .form-bottom button { transform:scale(.85); transform-origin:right center; }
.contact-thanks { width:min(460px,calc(100% - 40px)); margin:auto; padding:42px 28px; border:1px solid #dce2d7; border-radius:0; background:#fafbf8; color:var(--ink); text-align:center; box-shadow:0 16px 64px rgba(20,28,20,.14); }
.contact-thanks::backdrop { background:rgba(24,32,25,.28); }
.contact-thanks[open] { animation:entrance 350ms ease both; }
.contact-thanks h2 { margin:0; font-size:24px; line-height:1.35; font-weight:400; letter-spacing:-.02em; }
.contact-thanks p { margin:16px 0 0; font-size:14px; line-height:1.5; color:#596551; }

/* Small return button inside the contact acknowledgement. */
.thanks-back { display:inline-flex; align-items:center; gap:16px; margin-top:24px; padding:11px 16px; border:1px solid var(--green); border-radius:0; background:var(--green); color:#fff; font-size:13px; transition:background 200ms,border-color 200ms; }
.thanks-back:hover { background:var(--ink); border-color:var(--ink); }

/* TRANSPARENT VENTURES: no solid panel or card backgrounds. A light backdrop
   softens the hero behind the floating artwork while keeping dark logos legible. */
.ventures-dialog { background:transparent; border:0; box-shadow:none; }
.ventures-dialog::backdrop { background:rgba(248,250,246,.55); backdrop-filter:blur(2px); -webkit-backdrop-filter:blur(2px); }
.ventures-dialog .dialog-header { background:transparent; border-bottom-color:rgba(41,46,41,.16); position:relative; }
.ventures-dialog .dialog-content { background:transparent; }
.ventures-dialog .close-ventures { background:transparent; }
.ventures-dialog .venture-logo { background:transparent; animation:venture-float 5s ease-in-out infinite; }
.ventures-dialog .venture-logo:nth-child(2n) { animation-delay:-1.5s; }
.ventures-dialog .venture-logo:nth-child(3n) { animation-delay:-3s; }
.ventures-dialog .venture-logo:hover,.ventures-dialog .venture-logo:focus-visible { animation-play-state:paused; }
.ventures-dialog .venture-logo img { mix-blend-mode:normal; }
.ventures-dialog .logo-grid { padding-top:16px; padding-bottom:26px; scrollbar-color:var(--green) transparent; }
@keyframes venture-float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-5px); } }
@media(prefers-reduced-motion:reduce) { .ventures-dialog .venture-logo { animation:none; } }

/* SERVICES INFO BOXES — same palette, vertical copy and an adjacent icon.
   Desktop: 3 x 2; tablet: 2 x 3; phone: one column. Height grows with text. */
.services-content { max-width:1240px; }
.services-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; border:0; }
.service-card { display:grid; grid-template-columns:minmax(0,1fr) 66px; align-items:start; gap:16px; min-height:210px; padding:28px 22px; border:1px solid #dce2d7; border-bottom:3px solid var(--green); background:rgba(255,255,255,.8); box-shadow:0 4px 16px rgba(35,45,34,.035); }
.service-copy { display:block; grid-column:1; grid-row:1; min-width:0; }
.service-copy h3 { margin:0 0 18px; font-size:18px; font-weight:400; line-height:1.35; }
.service-copy ul { display:grid; gap:9px; }
.service-copy li { padding:0; font-size:14px; line-height:1.55; }
.service-image { grid-column:2; grid-row:1; width:66px; height:66px; justify-self:end; align-self:start; }
.service-card:hover,.service-card:focus-visible { background:#eef3e9; border-color:#b5c6aa; border-bottom-color:var(--green); }
.service-card:hover h3,.service-card:focus-visible h3 { transform:none; }
@media(min-width:1400px) { .service-card { padding:30px 26px; min-height:225px; } }
@media(max-width:1050px) { .services-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) {
 .services-grid { grid-template-columns:1fr; gap:16px; }
 .service-card { min-height:0; padding:24px 20px; gap:14px; grid-template-columns:minmax(0,1fr) 60px; }
 .service-image { width:60px; height:60px; }
 .service-copy h3 { font-size:18px; margin-bottom:14px; }
}

/* SINGLE GLOBE HERO — original 1920 x 1280 image, no blur or animated scaling. */
.home .hero-slide { transform:none; filter:none; transition:none; object-position:center; }
.home .hero-shade { background:linear-gradient(180deg,rgba(248,246,240,.92) 0%,rgba(248,246,240,.5) 12%,rgba(8,25,42,.04) 28%,rgba(8,25,42,.08) 68%,rgba(8,25,42,.52) 100%); }
/* BOARDROOM ABOUT — a light scrim preserves text contrast over the photograph. */
.about-section { background:linear-gradient(90deg,rgba(250,251,247,.91),rgba(247,250,244,.75) 55%,rgba(236,243,236,.65)),url('assets/about-boardroom.jpg') center/cover no-repeat; }
.founder img { background:transparent; mix-blend-mode:normal; object-fit:contain; }
/* BRAND DIRECTORY: evenly spaced logo cells, centered heading and action.
   A translucent green-gray surface replaces a solid white panel. */
.ventures-dialog { width:min(1100px,calc(100% - 32px)); padding:12px 18px 24px; background:rgba(228,238,225,.86); border:1px solid rgba(230,242,229,.5); box-shadow:0 20px 80px rgba(5,20,28,.16); }
.ventures-dialog::backdrop { background:rgba(12,28,37,.18); backdrop-filter:blur(3px); -webkit-backdrop-filter:blur(3px); }
.ventures-dialog .dialog-header { display:flex; flex-direction:column; gap:18px; align-items:center; padding:20px 44px 24px; border:0; }
.ventures-grid-title { margin:0; text-align:center; font-weight:400; font-size:clamp(25px,3vw,38px); letter-spacing:-.025em; }
.ventures-dialog .close-ventures { position:absolute; right:0; top:0; }
.ventures-dialog .appointment { font-size:13px; padding:12px 18px; background:var(--green); color:white; border-color:var(--green); }
.ventures-dialog .appointment:hover { background:var(--ink); border-color:var(--ink); }
.ventures-dialog .venture-group h3 { padding:18px 0 10px; font-size:14px; color:#4c6045; }
.ventures-dialog .logo-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px 28px; padding:12px 8px 22px; overflow:visible; }
.ventures-dialog .venture-logo { min-width:0; width:100%; height:112px; padding:8px 16px; border-radius:0; transition:background 250ms ease; }
.ventures-dialog .venture-logo:hover,.ventures-dialog .venture-logo:focus-visible { background:rgba(176,195,166,.3); }
.ventures-dialog .venture-logo img { width:100%; height:100%; object-fit:contain; }
@media(max-width:700px) {
 .ventures-dialog { padding:10px 8px 18px; }
 .ventures-dialog .dialog-content { padding:0 10px; }
 .ventures-dialog .logo-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px 12px; }
 .ventures-dialog .venture-logo { height:100px; padding:8px; }
 .about-section { background:linear-gradient(rgba(249,251,246,.9),rgba(242,248,239,.82)),url('assets/about-boardroom.jpg') center/cover no-repeat; }
}
@media(max-width:440px) {
 .ventures-dialog .logo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .ventures-dialog .dialog-header { padding-left:26px; padding-right:26px; }
}

/* Stationary brand rows: preserve order, scroll horizontally on small screens. */
.ventures-dialog { width:min(1280px,calc(100% - 32px)); }
.ventures-dialog .venture-group h3 { justify-content:center; text-align:center; padding:22px 0 16px; }
.ventures-dialog .logo-grid { display:flex; flex-wrap:nowrap; justify-content:safe center; gap:18px; overflow-x:auto; overflow-y:hidden; padding:14px 10px 24px; }
.ventures-dialog .venture-logo { flex:0 0 max(100px,calc((100% - 126px)/8)); min-width:100px; width:auto; height:126px; padding:10px 6px; animation:none; transform:none; }
.ventures-dialog .venture-logo:hover,.ventures-dialog .venture-logo:focus-visible { animation:none; transform:none; }
/* Clearer boardroom photograph; the source image retains its natural depth of field. */
.about-section { background:linear-gradient(90deg,rgba(250,251,247,.72),rgba(247,250,244,.42) 55%,rgba(236,243,236,.22)),url('assets/about-boardroom.jpg') center/cover no-repeat; filter:none; backdrop-filter:none; -webkit-backdrop-filter:none; }
.founder img { background:#d6d8d7; border-radius:22px; padding:8px; mix-blend-mode:normal; }
@media(max-width:700px) {
 .ventures-dialog .venture-logo { flex-basis:112px; min-width:112px; height:120px; }
 .about-section { background:linear-gradient(rgba(249,251,246,.72),rgba(242,248,239,.48)),url('assets/about-boardroom.jpg') center/cover no-repeat; }
}

/* Viewport-fitted white venture panel with a bottom-to-top clip-path wipe. */
.ventures-dialog { box-sizing:border-box; width:calc(100% - 32px); max-width:1440px; height:calc(100vh - 32px); height:calc(100dvh - 32px); max-height:calc(100dvh - 32px); margin:auto; padding:clamp(12px,3vh,32px) clamp(8px,2vw,28px); background:#fff; border:0; overflow:auto; }
.ventures-dialog[open] { display:flex; flex-direction:column; animation:ventures-clip-wipe 650ms cubic-bezier(.22,1,.36,1) both; }
.ventures-dialog .dialog-header { flex-shrink:0; }
.ventures-dialog .dialog-content { margin-block:auto; width:100%; box-sizing:border-box; }
@keyframes ventures-clip-wipe { from { clip-path:inset(100% 0 0 0); } to { clip-path:inset(0 0 0 0); } }
/* Uncovered boardroom image: no white wash, blur, or image filter. */
.about-section { background:url('assets/about-boardroom.jpg') center/cover no-repeat; color:#fff; filter:none; backdrop-filter:none; -webkit-backdrop-filter:none; }
.about-copy,.founder figcaption,.founder blockquote { text-shadow:0 1px 4px rgba(0,0,0,.9); }
.about-section .about-label,.about-section .expertise h3,.about-section .founder-role { color:#e0efcd; }
.about-navigation .section-arrow { color:#fff; border-color:rgba(255,255,255,.75); background:rgba(15,30,34,.35); }
.founder img { width:min(100%,180px); height:auto; aspect-ratio:1; object-fit:cover; object-position:center; background:#d6d8d7; border-radius:50%; padding:0; }
@media(max-width:700px) { .founder img { width:min(100%,144px); } }
@media(prefers-reduced-motion:reduce) { .ventures-dialog[open] { animation:none; clip-path:none; } }

/* Match the circular backdrop to the portrait's visible height, excluding
   transparent source margins (alpha bounds: 109,36–416,466). */
.founder-portrait { position:relative; width:min(100%,180px); aspect-ratio:1; margin:0 auto 16px; border-radius:50%; overflow:hidden; background:#d6d8d7; }
.founder .founder-portrait img { position:absolute; width:112.3256%; max-width:none; height:auto; aspect-ratio:auto; left:-11.0465%; top:-8.3721%; margin:0; padding:0; border-radius:0; background:transparent; object-fit:initial; }
@media(max-width:700px) { .founder-portrait { width:min(100%,144px); margin-bottom:10px; } }

/* Smaller portrait; fit the entire visible PNG bounds inside the circle. */
.founder-portrait { width:min(100%,162px); }
.founder .founder-portrait img { width:91.41745%; left:0.31660%; top:2.49321%; }
@media(max-width:700px) { .founder-portrait { width:min(100%,129.6px); } }
/* Tight circular portrait crop removes the source PNG's outer empty margins. */
.founder .founder-portrait img { width:157.329%; left:-35.505%; top:-28%; }
/* Homepage fade-up and blur, matching Services, with focus and motion fallbacks. */
.home.home-reveal-enabled .home-reveal-item { animation:none; opacity:0; transform:translateY(18px); filter:blur(5px); transition:opacity 700ms ease,transform 850ms ease,filter 850ms ease; }
.home.home-reveal-enabled .home-reveal-item.is-revealed,
.home.home-reveal-enabled .home-reveal-item:focus-within { opacity:1; transform:none; filter:blur(0); }
@media(prefers-reduced-motion:reduce) {
 .home.home-reveal-enabled .home-reveal-item { opacity:1; transform:none; filter:none; }
}

/* Blend the complete header layer with the hero, including during scroll reveal.
   Applying blend at this level prevents the reveal filter from isolating the logo. */
.home .header { mix-blend-mode:multiply; background:transparent; }
.home .brand,.home .brand img { background:transparent; mix-blend-mode:multiply; }
/* Scale the portrait artwork down exactly 30% from its previous crop.
   Center its visible alpha bounds so hair and face remain inside the gray circle. */
.founder .founder-portrait img { width:110.1303%; left:-4.85342%; top:-7.23003%; }

/* Homepage contact toolbar and centered navigation. */
:root { --contact-strip-height:68px; }
.contact-strip { flex-direction:row; justify-content:space-between; align-items:center; gap:16px; padding:8px var(--gutter); }
.top-contact-details { display:flex; flex-direction:column; align-items:flex-start; gap:5px; }
.contact-strip .top-contact-details a { font-size:14.95px; }
.contact-strip .top-contact-details svg { width:17.25px; height:17.25px; }
.top-actions,.top-socials { display:flex; align-items:center; gap:12px; }
.top-socials { gap:3px; }
.contact-strip .social-link { display:grid; place-items:center; width:36px; height:40px; }
.contact-strip .social-link svg { width:18px; height:18px; }
.contact-strip .top-appointment { padding:13px 17px; background:var(--green); color:#fff; font-size:13px; white-space:nowrap; }
.contact-strip .top-appointment:hover { background:var(--ink); }
.home { grid-template-rows:112px minmax(0,1fr) 100px; }
.home .header { display:grid; grid-template-columns:1fr auto 1fr; gap:16px; position:relative; z-index:3; mix-blend-mode:normal; }
.home .brand { grid-column:1; grid-row:1; justify-self:start; }
.home .main-nav { grid-column:2; grid-row:1; justify-self:center; display:flex; align-items:center; gap:24px; padding:0 22px; border-radius:4px; background:rgba(8,32,49,.75); color:#fff; }
.home .main-nav a,.home .main-nav .nav-ventures { font-size:16.1px; color:#fff; font-weight:400; line-height:1.3; padding:15px 0; white-space:nowrap; }
.nav-ventures,.founder-toggle { border:0; background:transparent; }
.home .main-nav a::after { background:#fff; }
.home .main-nav .nav-ventures:hover { text-decoration:underline; text-underline-offset:8px; }
.nav-about { display:flex; align-items:center; position:relative; }
.founder-toggle { color:#fff; font-size:18px; min-width:32px; min-height:44px; padding:0 5px; }
.founder-submenu { position:absolute; top:100%; left:0; min-width:130px; padding:5px 16px; background:#163449; box-shadow:0 8px 24px rgba(0,0,0,.2); }
.founder-submenu[hidden] { display:none; }
.founder-submenu a { display:block; }
#founder { scroll-margin-top:calc(var(--contact-strip-height) + 32px); }
@media(max-width:1000px) {
 .home .header { grid-template-columns:120px minmax(0,1fr); }
 .home .main-nav { gap:18px; padding:0 16px; }
}
@media(max-width:800px) {
 :root { --contact-strip-height:116px; }
 .contact-strip { flex-direction:column; align-items:stretch; justify-content:center; gap:8px; }
 .top-actions { justify-content:space-between; }
 .contact-strip .top-appointment { padding:10px 12px; }
 .home { grid-template-rows:156px minmax(0,1fr) 70px; }
 .home .header { grid-template-columns:1fr; grid-template-rows:90px auto; gap:0; }
 .home .brand { grid-column:1; grid-row:1; }
 .home .main-nav { grid-column:1; grid-row:2; gap:clamp(8px,3vw,24px); padding:0 12px; }
}
@media(max-width:400px) {
 .top-actions { gap:4px; }
 .top-socials { gap:0; }
 .contact-strip .social-link { width:26px; }
 .contact-strip .top-appointment { font-size:11px; padding:10px 8px; }
 .home .main-nav { gap:8px; padding:0 8px; }
 .founder-toggle { min-width:24px; padding:0; }
}

/* Contact information on one evenly spaced horizontal line. */
.top-contact-details { flex-direction:row; align-items:center; gap:clamp(16px,2.5vw,36px); white-space:nowrap; }
.founder-submenu:not([hidden]) { animation:founder-menu-in 180ms ease-out both; }
@keyframes founder-menu-in { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:1100px) and (min-width:801px) {
 :root { --contact-strip-height:106px; }
 .contact-strip { flex-direction:column; align-items:stretch; justify-content:center; }
 .top-actions { justify-content:flex-end; }
}
@media(max-width:600px) {
 .contact-strip { padding-inline:12px; }
 .top-contact-details { gap:clamp(8px,2.5vw,16px); justify-content:space-between; }
 .contact-strip .top-contact-details a { font-size:clamp(10px,2.6vw,14.95px); gap:4px; }
 .contact-strip .top-contact-details svg { width:12px; height:12px; }
}

/* Dark upper hero shading supports white navigation without a navbar panel.
   The separate utility/contact strip is intentionally unchanged. */
.home .hero-shade { background:linear-gradient(180deg,rgba(24,24,24,.88) 0%,rgba(54,54,54,.65) 14%,rgba(8,25,42,.04) 36%,rgba(8,25,42,.08) 68%,rgba(8,25,42,.52) 100%); }
.home .main-nav { background:transparent; border-radius:0; gap:32px; }
.home .main-nav a,.home .main-nav .nav-ventures { text-shadow:0 1px 5px rgba(0,0,0,.45); }
/* Align the Founder label with the left edge of About, directly beneath it. */
.home .founder-submenu { left:0; top:100%; min-width:100px; padding:0; background:transparent; box-shadow:none; text-align:left; }
.home .founder-submenu a { padding:10px 0; }
@media(max-width:1000px) { .home .main-nav { gap:24px; } }
@media(max-width:800px) { .home .main-nav { gap:clamp(12px,3.5vw,28px); } }
@media(max-width:400px) { .home .main-nav { gap:12px; } }

/* Brand green sampled from the supplied company swatch. */
:root { --green:#689769; }
/* About copy now occupies the space previously shared with the portrait. */
.about-section .about-layout { grid-template-columns:minmax(0,1fr); }
.about-copy { min-width:0; }
.about-section .about-copy h2,.about-section .about-label,.about-section .expertise h3 { font-size:clamp(14px,3.3vw,33px); line-height:1.3; font-weight:400; }
.about-section .about-copy h2 { max-width:none; white-space:nowrap; }
.about-section .expertise-list { list-style:disc; padding-left:24px; }
.about-section .expertise-list li { font-size:17px; padding:8px 0; }
.about-quote { margin:22px 0 0; font-size:clamp(17px,1.8vw,22px); line-height:1.5; }
/* Standalone Founder and Ventures pages share the existing palette and assets. */
.detail-page { background:#f8f6f0; }
.detail-header { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:24px var(--gutter); border-bottom:1px solid var(--line); }
.detail-brand { font-size:18px; }
.detail-header nav { flex-wrap:wrap; gap:20px; }
.detail-page h1 { color:var(--ink); text-shadow:none; font-size:clamp(28px,4vw,46px); }
.founder-page-content { min-height:calc(100dvh - var(--contact-strip-height) - 100px); padding:48px var(--gutter); display:flex; flex-direction:column; justify-content:center; align-items:center; gap:24px; text-align:center; }
.detail-eyebrow { margin:0; color:var(--green); font-size:14px; }
.detail-page .founder figcaption { text-shadow:none; }
.detail-back { margin-top:8px; font-size:14px; text-decoration:underline; text-underline-offset:4px; }
.ventures-page-content { padding:40px var(--gutter); text-align:center; }
.detail-page .ventures-directory { width:100%; max-width:1440px; height:auto; max-height:none; margin:28px auto; padding:20px; box-shadow:none; background:#fff; }
.ventures-page-content > .connect-now { display:inline-flex; }
@media(max-width:900px) { .detail-header { flex-direction:column; align-items:flex-start; } .detail-header nav { gap:16px; } }
@media(max-width:600px) { .about-section .expertise-list li { font-size:16px; } .detail-page .ventures-directory { padding:8px; } }

/* In-page founder section, composed like the supplied gray reference. */
.founder-section { position:relative; min-height:calc(100vh - var(--contact-strip-height)); min-height:calc(100dvh - var(--contact-strip-height)); padding:60px var(--gutter) 70px; background:#d4d4d4; color:#292929; scroll-margin-top:var(--contact-strip-height); }
.founder-section-layout { width:100%; max-width:944px; margin:0 auto; display:grid; grid-template-columns:190px minmax(0,1fr); align-items:start; gap:76px; }
.founder-section .founder { width:190px; max-width:100%; }
.founder-section .founder-portrait { width:190px; max-width:100%; margin:0; background:#4c5159; }
.founder-section-copy h2 { margin:8px 0 32px; font-size:clamp(44px,6.2vw,76px); font-weight:400; line-height:1.05; letter-spacing:.015em; }
.founder-section-copy p { max-width:330px; margin:0; font-size:22px; line-height:1.32; }
.founder-section-copy .founder-signature { margin-top:30px; }
.founder-back { position:absolute; top:18px; right:var(--gutter); display:flex; align-items:center; gap:8px; font-size:14px; }
.founder-back:hover { text-decoration:underline; text-underline-offset:4px; }
@media(max-width:700px) {
 .founder-section-layout { grid-template-columns:140px minmax(0,1fr); gap:28px; }
 .founder-section .founder,.founder-section .founder-portrait { width:140px; }
 .founder-section-copy p { font-size:18px; }
}
@media(max-width:480px) {
 .founder-section { padding-top:54px; }
 .founder-section-layout { grid-template-columns:1fr; gap:22px; }
 .founder-section .founder { justify-self:start; }
 .founder-section-copy h2 { margin-top:0; margin-bottom:22px; }
}

/* Ventures is now part of the page, immediately before Info. */
.ventures-section { display:flex; flex-direction:column; width:100%; max-width:none; height:auto; min-height:calc(100dvh - var(--contact-strip-height)); max-height:none; margin:0; padding:40px var(--gutter); border:0; box-shadow:none; background:#fff; overflow:visible; scroll-margin-top:var(--contact-strip-height); }
.ventures-section .dialog-content { width:100%; max-width:1360px; margin:auto; }
/* Founder is a true full-screen popup and no longer occupies document space. */
.founder-dialog { box-sizing:border-box; position:fixed; inset:0; width:100vw; max-width:none; height:100dvh; max-height:none; min-height:0; margin:0; border:0; padding:90px var(--gutter) 50px; overflow:auto; color:#292929; background:#d4d4d4; }
.founder-dialog::backdrop { background:#d4d4d4; }
.founder-dialog .founder-back { top:20px; right:var(--gutter); padding:12px 16px; border:1px solid #747474; background:transparent; color:#292929; cursor:pointer; }
.founder-dialog .founder-back:hover { background:#c6c6c6; text-decoration:none; }
@media(max-width:480px) { .founder-dialog { padding-top:90px; } }

/* One underline per top-level tab, no decorative lines under dropdown labels. */
.home .main-nav .nav-ventures:hover { text-decoration:none; }
.home .nav-dropdown { display:flex; align-items:center; position:relative; }
.home .nav-dropdown .founder-submenu { left:50%; translate:-50% 0; top:100%; min-width:100px; text-align:center; }
.home .main-nav .founder-submenu a { text-align:center; text-decoration:none; }
.home .main-nav .founder-submenu a::after { content:none; }
.home .main-nav .founder-submenu a:hover { color:#c9dfca; }

/* Info headings match About; message field retains the existing form finish. */
.contact-intro .about-label,.contact-intro h2 { font-size:clamp(14px,3.3vw,33px); line-height:1.3; font-weight:400; }
.form-fields textarea { resize:vertical; min-height:100px; line-height:1.45; }
.contact-footer .social-links { flex-shrink:0; }

/* Viewport-sized Ventures with fixed corner navigation and accessible overflow. */
.ventures-section { position:relative; height:calc(100vh - var(--contact-strip-height)); height:calc(100dvh - var(--contact-strip-height)); min-height:0; padding:70px var(--gutter); overflow:hidden; }
.ventures-section .ventures-up,.ventures-section .ventures-down { position:absolute; right:var(--gutter); z-index:2; }
.ventures-section .ventures-up { top:20px; }
.ventures-section .ventures-down { bottom:20px; }
.ventures-section .dialog-header { padding:0 48px 12px; }
.ventures-section .dialog-content { flex:1; min-height:0; overflow:auto; display:flex; flex-direction:column; justify-content:safe center; }
.ventures-section .venture-group { flex-shrink:0; }
.ventures-section .venture-logo { height:clamp(72px,14vh,126px); }
/* Reduce the form's displayed width and height by exactly 15%. */
.contact-layout .contact-form { transform:scale(.85); transform-origin:center right; }
@media(max-width:700px) { .contact-layout .contact-form { transform-origin:center; } }

/* Requested Info helper size and Services section label. */
.form-bottom > span { font-size:16px; }
.services-heading .about-label { font-size:clamp(14px,3.3vw,33px); line-height:1.3; font-weight:400; }
/* Use the supplied circular portrait exactly, with no inherited zoom or offset. */
.founder-section .founder-portrait { background:transparent; }
.founder-section .founder-portrait img { position:static; display:block; width:100%; max-width:100%; height:100%; aspect-ratio:1; margin:0; padding:0; border-radius:50%; object-fit:contain; transform:none; background:transparent; }
/* The new logo's white blends with the hero through the existing multiply layer. */
.home .brand,.home .brand img { mix-blend-mode:multiply; background:transparent; }
.contact-thanks[open] { animation:thanks-fade-scale 3s ease-in-out both; }
@keyframes thanks-fade-scale {
 0%,65% { opacity:1; transform:scale(1); }
 100% { opacity:0; transform:scale(.88); }
}
@media(prefers-reduced-motion:reduce) { .contact-thanks[open] { animation:none; } }

/* Reference-inspired SVG icons are transparent and stay crisp at every size. */
.about-section .expertise h3 { font-size:clamp(13.3px,3.135vw,31.35px); }
.service-image img { background:transparent; }
.founder-pillars { margin-top:36px; }
.founder-pillars h3 { margin:0 0 18px; font-size:22px; line-height:1.3; font-weight:600; }
.pillars-list { list-style:none; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:0; padding:0; gap:0; }
.pillars-list li { display:flex; flex-direction:column; align-items:center; gap:12px; padding:0 16px; text-align:center; font-size:16px; line-height:1.4; }
.pillars-list li:first-child { padding-left:0; }
.pillars-list li + li { border-left:1px solid rgba(41,41,41,.25); }
.pillars-list img { width:58px; height:58px; object-fit:contain; }
@media(max-width:700px) {
 .founder-pillars { grid-column:1/-1; }
 .pillars-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 0; }
 .pillars-list li { padding:0 10px; }
 .pillars-list li:nth-child(3) { border-left:0; }
}

/* Wide tagline logo retains its original aspect ratio and blends with the hero. */
.home .brand { width:260px; max-width:100%; min-width:0; height:auto; overflow:visible; }
.home .brand img { width:100%; max-width:260px; height:auto; object-fit:contain; }
@media(min-width:801px) and (max-width:1000px) { .home .header { grid-template-columns:230px minmax(0,1fr); } }
@media(max-width:800px) { .home .brand { width:240px; } }
/* Icons are 98% of their prior size, now preceding the copy on every screen. */
.service-card { grid-template-columns:64.68px minmax(0,1fr); }
.service-image { grid-column:1; grid-row:1; width:64.68px; height:64.68px; justify-self:start; }
.service-copy { grid-column:2; grid-row:1; }
@media(max-width:600px) {
 .service-card { grid-template-columns:58.8px minmax(0,1fr); }
 .service-image { width:58.8px; height:58.8px; }
}

/* Soft illumination only behind the logo: no rectangular white panel. */
.home .header::before { content:none; }
.home .brand { position:relative; }
/* Compact community note beneath the Founder content. The supplied illustration
   is displayed through a CSS crop, keeping the original source file untouched. */
.founder-community { grid-column:1/-1; display:flex; align-items:center; gap:24px; padding-top:26px; margin-top:-42px; border-top:1px solid rgba(41,41,41,.15); }
.community-art { position:relative; flex:0 0 112px; width:112px; aspect-ratio:200/148; overflow:hidden; mix-blend-mode:multiply; }
.community-art img { position:absolute; width:229.5%; max-width:none; height:auto; left:-54%; top:-18.9189%; }
.founder-community p { max-width:560px; margin:0; font-size:14px; line-height:1.6; color:#3e6379; }
.process-content { width:100%; max-width:980px; margin:10px auto 0; }
.process-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(40px,8vh,90px) 70px; }
.process-step img { display:block; width:64px; height:64px; margin-bottom:24px; }
.process-step h3 { margin:0 0 18px; font-size:20px; font-weight:500; text-transform:uppercase; }
.process-step p { margin:0; max-width:400px; font-size:16px; line-height:1.7; }
@media(max-width:700px) {
 .founder-community { margin-top:0; gap:18px; }
 .process-grid { gap:38px 28px; }
 .process-step p { font-size:15px; }
}
@media(max-width:480px) {
 .founder-community { align-items:flex-start; flex-direction:column; }
 .process-grid { grid-template-columns:1fr; }
 .home .header::before { content:none; }
}

/* New transparent header logo: exclude its empty outer margins via CSS only. */
.home .brand { aspect-ratio:382/109; height:auto; overflow:hidden; mix-blend-mode:normal; }
.home .brand img { position:absolute; width:130.89005%; max-width:none; height:auto; left:-4.71204%; top:-166.97248%; mix-blend-mode:normal; }

/* Transparent logo directly over the homepage image, with no backing panel. */
.home .brand,.home .brand img { background:transparent; box-shadow:none; mix-blend-mode:normal; }

/* Consistent heading color and weight across About, Services, and Info. */
.about-section .about-label { color:var(--green); font-weight:400; text-shadow:none; -webkit-text-stroke:0; }
/* Green bullets for all eighteen service details. */
.service-copy ul { list-style:disc; padding-left:17px; }
.service-copy li::marker { color:var(--green); }
/* Info uses the established fade-up and blur timing without replacing form scale. */
.contact-section.info-reveal-enabled .info-reveal-item {
 opacity:0; translate:0 18px; filter:blur(5px);
 transition:opacity 700ms ease,translate 850ms ease,filter 850ms ease;
}
.contact-section.info-reveal-enabled .info-reveal-item.is-revealed,
.contact-section.info-reveal-enabled .info-reveal-item:focus-within {
 opacity:1; translate:0 0; filter:blur(0);
}

/* A small gray backing keeps the About label readable over the boardroom. */
.about-section .about-label { display:table; padding:8px 18px; background:rgba(235,235,235,.94); border-radius:4px; }
/* Reuse the Info footer in each full-screen detail view. */
.founder-dialog[open] { display:flex; flex-direction:column; gap:0; }
.founder-dialog > .founder-section-layout,
.founder-dialog > .process-content { flex-shrink:0; }
.founder-dialog .detail-footer { width:100%; margin-top:auto; padding-top:56px; flex-shrink:0; }
.founder-dialog .contact-footer { border-top-color:#b8bdb5; }

/* Retouched boardroom image supplies the soft gray area directly in the photo. */
.about-section { background:url('assets/about-boardroom-retouched.png') center/cover no-repeat; }
.about-section .about-label { display:block; padding:0; background:transparent; border-radius:0; }
/* Screen-sized detail views retain scrolling when content needs more room. */
.founder-dialog { height:100dvh; padding:76px var(--gutter) 22px; }
.founder-dialog .detail-footer { padding-top:26px; }
@media(min-width:901px) and (min-height:650px) {
 .founder-dialog .founder-section-layout { grid-template-columns:160px minmax(0,1fr); gap:26px 56px; }
 .founder-dialog .founder,.founder-dialog .founder-portrait { width:160px; }
 .founder-dialog .founder-section-copy h2 { font-size:clamp(44px,6vh,64px); margin:0 0 18px; }
 .founder-dialog .founder-section-copy p { font-size:18px; max-width:440px; }
 .founder-dialog .founder-signature { margin-top:14px; }
 .founder-dialog .founder-pillars { margin-top:18px; }
 .founder-dialog .founder-pillars h3 { font-size:20px; margin-bottom:12px; }
 .founder-dialog .pillars-list img { width:46px; height:46px; }
 .founder-dialog .pillars-list li { gap:6px; font-size:15px; }
 .founder-dialog .founder-community { margin-top:0; padding-top:16px; }
 .founder-dialog .community-art { width:90px; flex-basis:90px; }
 .founder-dialog .process-content { margin:0 auto; }
 .founder-dialog .process-grid { gap:32px 70px; }
 .founder-dialog .process-step img { width:56px; height:56px; margin-bottom:14px; }
 .founder-dialog .process-step h3 { margin-bottom:10px; }
 .founder-dialog .process-step p { line-height:1.5; }
 .founder-dialog .contact-footer { padding-top:16px; }
 .founder-dialog .footer-bottom { margin-top:12px; }
}

/* Detail headings match the About and Services labels. */
.founder-dialog .founder-section-copy h2,
.founder-dialog .detail-heading {
 color:var(--green); font-size:clamp(14px,3.3vw,33px); font-weight:400;
 line-height:1.3; letter-spacing:normal; text-shadow:none;
 margin:0 0 18px;
}
/* Opening reveal follows the homepage/Services fade-up and soft blur. */
.founder-dialog[open] > .founder-section-layout,
.founder-dialog[open] > .process-content,
.founder-dialog[open] > .detail-footer {
 animation:detail-opening-reveal 850ms ease both;
}
.founder-dialog[open] > .detail-footer { animation-delay:100ms; }
@keyframes detail-opening-reveal {
 from { opacity:0; transform:translateY(18px); filter:blur(5px); }
 to { opacity:1; transform:translateY(0); filter:blur(0); }
}
@media(prefers-reduced-motion:reduce) {
 .founder-dialog[open] > * { animation:none; }
}

/* Exact supplied Process artwork, with no distortion or upscaling. */
.founder-dialog .process-step img {
 width:64px; height:64px; object-fit:contain; object-position:left center;
 mix-blend-mode:multiply; image-rendering:auto;
}

/* Blend away neutral backing while keeping each supplied icon's green detail. */
.icon-filter-definitions { position:absolute; pointer-events:none; overflow:hidden; }
.founder-dialog .process-step img {
 filter:url(#process-icon-clean); mix-blend-mode:normal;
 transform-origin:center; transition:transform 240ms ease;
}
@media(hover:hover) and (pointer:fine) {
 .founder-dialog .process-step img:hover { transform:scale(1.08); }
}
@media(prefers-reduced-motion:reduce) {
 .founder-dialog .process-step img { transition:none; }
 .founder-dialog .process-step img:hover { transform:none; }
}

/* Match the soft green, gray and white Info background in both detail views. */
.founder-dialog,.founder-dialog::backdrop {
 background:linear-gradient(125deg,#d2d7d0 0%,#e5e9e0 48%,#c7d5be 100%);
}
.founder-dialog .founder > .founder-signature {
 margin:14px 0 0; text-align:center; font-size:18px; line-height:1.4;
}
/* Community content shares the left edge of the founder introduction. */
.founder-dialog .founder-community {
 grid-column:2; flex-direction:column; align-items:flex-start;
 gap:12px; margin-top:0; padding-top:16px;
}
.founder-dialog .community-art {
 width:100px; flex:0 0 auto; aspect-ratio:3/2; overflow:visible; mix-blend-mode:normal;
}
.founder-dialog .community-art img {
 position:static; display:block; width:100%; max-width:100%; height:auto;
 left:auto; top:auto; object-fit:contain;
}
.founder-dialog .founder-community p { max-width:440px; color:#3e6379; }
@media(max-width:480px) {
 .founder-dialog .founder-community { grid-column:1; }
}

/* Lower the Founder content by 10% of the viewport while retaining its screen frame. */
#founder.founder-dialog { padding-top:calc(76px + 10dvh); height:100dvh; }
#founder .founder-community { flex-direction:row; align-items:center; gap:18px; }
#founder .community-art { width:90px; flex:0 0 90px; }
#founder .founder-community p { max-width:none; min-width:0; font-size:14px; line-height:1.6; }
@media(min-width:1100px) {
 #founder .community-line { display:block; white-space:nowrap; }
}
@media(max-width:1099px) {
 #founder .community-line { display:inline; white-space:normal; }
}
@media(max-width:480px) {
 #founder .community-art { width:64px; flex-basis:64px; }
 #founder .founder-community { gap:12px; }
}

/* Dropdown links use the same single white underline as the primary nav. */
.home .main-nav .founder-submenu a::after { content:''; background:#fff; }
.home .main-nav .founder-submenu a:hover,
.home .main-nav .founder-submenu a:focus-visible { color:#fff; }
.home .main-nav .founder-submenu a:focus-visible::after { transform:scaleX(1); }
/* Supplied pillar artwork, preserving original proportions and green detail. */
.founder-dialog .pillars-list img { object-fit:contain; filter:url(#process-icon-clean); mix-blend-mode:normal; }
/* Match the main Schedule appointment button and its hover color. */
.founder-dialog .founder-back { background:var(--green); border-color:var(--green); color:#fff; transition:background 200ms ease,border-color 200ms ease; }
.founder-dialog .founder-back:hover { background:var(--ink); border-color:var(--ink); color:#fff; }

/* Center dropdown links while sizing their underline to the text itself. */
.home .main-nav .founder-submenu a { width:max-content; margin-inline:auto; padding-inline:0; }
/* Keep the replacement hockey artwork at the prior displayed height. */
#founder .community-art { height:60px; aspect-ratio:auto; }
#founder .community-art img { width:100%; height:100%; object-fit:contain; }
@media(max-width:480px) { #founder .community-art { height:42.6667px; } }

/* Main utility bar repeated inside the full-screen detail views. */
.founder-dialog { --detail-bar-height:68px; padding-top:calc(var(--detail-bar-height) + 24px); }
#founder.founder-dialog { padding-top:calc(var(--detail-bar-height) + 24px + 10dvh); }
.founder-dialog .detail-utility {
 position:fixed; inset:0 0 auto; height:var(--detail-bar-height); z-index:40;
 display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:20px;
 padding:8px var(--gutter); align-items:center;
}
.detail-utility .utility-back {
 display:inline-flex; align-items:center; justify-content:center; gap:8px;
 padding:13px 17px; border:0; background:var(--green); color:#fff;
 font-size:13px; line-height:1.3; white-space:nowrap;
}
.detail-utility .utility-back:hover { background:var(--ink); }
.detail-utility .top-contact-details { justify-content:flex-start; gap:clamp(12px,2vw,28px); }
.detail-utility .top-actions { justify-content:flex-end; }
@media(max-width:1150px) {
 .founder-dialog { --detail-bar-height:118px; }
 .founder-dialog .detail-utility { grid-template-columns:auto minmax(0,1fr); gap:6px 16px; }
 .detail-utility .top-actions { grid-column:1/-1; justify-content:flex-end; }
}
@media(max-width:620px) {
 .founder-dialog { --detail-bar-height:142px; }
 .founder-dialog .detail-utility { padding-inline:12px; gap:6px 12px; }
 .detail-utility .top-contact-details { flex-direction:column; align-items:flex-start; gap:6px; }
 .detail-utility .utility-back { padding:11px 14px; }
 .detail-utility .top-actions { justify-content:space-between; }
}

/* Both detail bars share exact dimensions and typography at each breakpoint. */
:is(#founder,#process) .detail-utility {
 box-sizing:border-box; width:100%; min-height:var(--detail-bar-height);
 max-height:var(--detail-bar-height); font-family:Arial,Helvetica,sans-serif;
 font-size:14px; font-weight:400; line-height:1.3;
}
:is(#founder,#process) .detail-utility .top-contact-details a { font-size:14.95px; }
@media(max-width:620px) {
 :is(#founder,#process) .detail-utility .top-contact-details a { font-size:12px; }
}

/* Founder uses the exact homepage utility height at every breakpoint. */
#founder.founder-dialog { --detail-bar-height:var(--contact-strip-height); }
#founder .detail-utility { padding-block:8px; row-gap:6px; }
@media(min-width:1101px) {
 #founder .detail-utility { grid-template-columns:auto minmax(0,1fr) auto; column-gap:16px; }
 #founder .detail-utility .top-actions { grid-column:auto; }
 #founder .detail-utility .top-contact-details { gap:16px; }
}
/* Keep the icon slot unchanged; give the smaller artwork room to zoom. */
.services-section .service-image { overflow:visible; }
.services-section .service-image img { width:95%; height:95%; transform-origin:center; }

/* Phone hamburger navigation; desktop keeps its existing horizontal layout. */
.mobile-menu-toggle { display:none; }
.home .main-nav[hidden] { display:none; }
@media(max-width:800px) {
 .home { grid-template-rows:112px minmax(0,1fr) 70px; }
 .home .header { grid-template-columns:minmax(0,1fr) 44px; grid-template-rows:1fr; gap:16px; align-items:center; }
 .home .brand { width:min(240px,100%); }
 .mobile-menu-toggle { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; width:44px; height:44px; grid-column:2; grid-row:1; padding:10px; border:1px solid rgba(255,255,255,.6); border-radius:4px; background:rgba(10,29,40,.55); color:#fff; }
 .mobile-menu-toggle span { display:block; width:22px; height:2px; background:currentColor; transition:transform 200ms ease,opacity 200ms ease; }
 .mobile-menu-toggle[aria-expanded="true"] span:first-child { transform:translateY(7px) rotate(45deg); }
 .mobile-menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity:0; }
 .mobile-menu-toggle[aria-expanded="true"] span:last-child { transform:translateY(-7px) rotate(-45deg); }
 .home .main-nav { position:absolute; top:100%; left:0; right:0; width:100%; display:flex; flex-direction:column; align-items:stretch; gap:0; padding:14px 22px; background:rgba(15,34,41,.97); border:1px solid rgba(255,255,255,.16); border-radius:6px; box-shadow:0 14px 32px rgba(0,0,0,.25); max-height:calc(100dvh - var(--contact-strip-height) - 130px); overflow-y:auto; }
 .home .main-nav a { display:block; width:max-content; max-width:100%; padding:11px 0; }
 .home .main-nav .nav-dropdown { display:block; }
 .home .main-nav .founder-submenu { position:static; translate:none; min-width:0; padding:0 0 4px 20px; background:none; text-align:left; box-shadow:none; }
 .home .main-nav .founder-submenu a { margin:0; text-align:left; font-size:14px; padding:8px 0; }
 .home.home-reveal-enabled .main-nav.home-reveal-item { opacity:1; transform:none; filter:none; }
}

/* Numbered venture directory: eight Operating brands and three Developing brands. */
#ventures { padding-block:56px; }
#ventures .dialog-header { padding:0 48px 8px; }
#ventures-title { margin:0; color:var(--green); font-size:clamp(24px,3.3vw,33px); line-height:1.3; font-weight:400; }
#ventures .dialog-content { max-width:1000px; padding:0; gap:8px; }
#ventures .venture-group h3 { padding:10px 0; font-size:18px; }
#ventures .logo-grid { display:grid; overflow:visible; width:100%; gap:12px 24px; margin:0 auto; padding:4px; justify-content:normal; }
#ventures .operating-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
#ventures .developing-grid { grid-template-columns:repeat(3,minmax(0,1fr)); max-width:750px; }
#ventures .venture-logo { width:100%; min-width:0; height:clamp(90px,15vh,140px); padding:6px; }
#ventures .venture-logo img { width:100%; height:100%; object-fit:contain; mix-blend-mode:normal; }
@media(max-width:600px) {
 #ventures { height:auto; min-height:calc(100dvh - var(--contact-strip-height)); padding:64px 16px; }
 #ventures .dialog-content { overflow:visible; }
 #ventures .logo-grid { gap:12px 8px; }
 #ventures .venture-logo { height:clamp(84px,24vw,120px); padding:3px; }
 #ventures .venture-group h3 { padding:14px 0 10px; }
}

/* Venture group labels increased by 90% from 18px. */
#ventures .venture-group h3 { font-size:34.2px; line-height:1.2; }
/* Quiet footer credit, in normal flow at the bottom right. */
.footer-bottom > small { flex:1; }
.powered-by-stamp { display:flex; align-items:center; justify-content:flex-end; gap:8px; margin-left:auto; flex:0 0 auto; }
.powered-by-stamp span { font-size:10px; line-height:1.3; color:#596153; white-space:nowrap; }
.powered-by-stamp img { display:block; width:52px; height:60px; object-fit:contain; }
@media(max-width:600px) {
 .footer-bottom { gap:12px; }
 .footer-bottom > small { flex-basis:100%; }
 .powered-by-stamp img { width:44px; height:51px; }
}

/* Refine venture heading proportions from their previous sizes. */
#ventures-title { font-size:clamp(26.4px,3.63vw,36.3px); }
#ventures .venture-group h3 { font-size:29.07px; }
/* Equal side columns keep Back to top at the true footer center. */
#info .footer-bottom { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; }
#info .footer-bottom > small { grid-column:1; min-width:0; }
#info .footer-bottom > .back-to-top { grid-column:2; justify-self:center; }
#info .footer-bottom > .powered-by-stamp { grid-column:3; justify-self:end; }
@media(max-width:700px) {
 #info .footer-bottom { grid-template-columns:minmax(0,1fr); gap:10px; }
 #info .footer-bottom > small { grid-column:1; grid-row:1; }
 #info .footer-bottom > .back-to-top { grid-column:1; grid-row:2; justify-self:center; }
 #info .footer-bottom > .powered-by-stamp { grid-column:1; grid-row:3; justify-self:end; }
}

/* Clear heading hierarchy and readable phone layouts. */
#about { --about-message-size:clamp(23px,3.3vw,33px); }
#about .about-copy h2 { font-size:var(--about-message-size); }
#about .about-label,
#about .expertise h3 { font-size:calc(var(--about-message-size) * 1.05); line-height:1.25; }
#info .contact-intro .about-label,
#info .contact-intro h2 { font-size:clamp(30px,3.63vw,36.3px); line-height:1.25; }
@media(max-width:800px) {
 #about {
  --about-message-size:clamp(22px,4vw,28px);
  background:linear-gradient(160deg,rgba(240,244,237,.96) 0%,rgba(231,237,229,.92) 55%,rgba(211,223,207,.85) 100%),url('assets/about-boardroom-retouched.png') center/cover no-repeat;
  color:#24332b;
 }
 #about .about-copy { text-shadow:none; }
 #about .about-label,
 #about .expertise h3 { font-size:calc(clamp(28px,5vw,34px) * 1.05); color:var(--green); text-shadow:none; }
 #about .about-copy h2 { white-space:normal; text-wrap:pretty; }
 #about .experience-intro,
 #about .expertise-list li,
 #about .about-quote { color:#24332b; }
 #about .expertise { border-top-color:rgba(51,77,55,.25); }
 #about .expertise-list li { border-bottom-color:rgba(51,77,55,.2); }
 #info .contact-intro .about-label,
 #info .contact-intro h2 { font-size:clamp(32px,6vw,38px); }
}

/* Increase About and both Info headings another 20% at every viewport size. */
#about .about-label { font-size:calc(var(--about-message-size) * 1.26); }
#info .contact-intro .about-label,
#info .contact-intro h2 { font-size:clamp(36px,4.356vw,43.56px); }
@media(max-width:800px) {
 #about .about-label { font-size:calc(clamp(28px,5vw,34px) * 1.26); }
 #info .contact-intro .about-label,
 #info .contact-intro h2 { font-size:clamp(38.4px,7.2vw,45.6px); }
}

/* Keep the boardroom photograph visible behind the mobile About content. */
@media(max-width:800px) {
 #about {
  background:linear-gradient(160deg,rgba(240,244,237,.55) 0%,rgba(231,237,229,.38) 55%,rgba(211,223,207,.2) 100%),url('assets/about-boardroom-retouched.png') center/cover no-repeat;
 }
 #about .about-copy {
  background:linear-gradient(90deg,rgba(242,246,239,.88),rgba(242,246,239,.72) 75%,rgba(242,246,239,0));
  padding:18px 14px;
 }
}

/* Stack a crisp white tagline below the original transparent wordmark. */
.home .brand { display:flex; flex-direction:column; align-items:flex-start; gap:8px; width:160px; aspect-ratio:auto; height:auto; overflow:visible; }
.home .brand-mark { display:block; position:relative; width:100%; aspect-ratio:208/109; overflow:hidden; }
.home .brand .brand-mark img { position:absolute; width:240.384615%; max-width:none; height:auto; left:-8.653846%; top:-166.972477%; }
.home .brand-tagline { display:block; width:100%; color:#fff; font-size:12px; font-weight:500; line-height:1.2; letter-spacing:1.5px; text-align:center; white-space:nowrap; text-shadow:0 1px 3px rgba(0,0,0,.35); }
@media(max-width:800px) { .home .brand { width:145px; gap:6px; } .home .brand-tagline { font-size:11px; letter-spacing:1.3px; } }
/* Left-aligned venture headings, with group labels reduced by 15%. */
#ventures .dialog-header { width:100%; max-width:1000px; margin-inline:auto; align-items:flex-start; padding-inline:0; text-align:left; }
#ventures-title { text-align:left; }
#ventures .venture-group h3 { justify-content:flex-start; text-align:left; font-size:24.7095px; }

/* Smaller header mark with a right-aligned white tagline. */
.home .brand { width:136px; }
.home .brand-tagline { text-align:right; font-size:10.2px; letter-spacing:1.275px; }
@media(max-width:800px) { .home .brand { width:123.25px; } .home .brand-tagline { font-size:9.35px; letter-spacing:1.105px; } }
/* Match the visible circular emblems, while retaining each complete logo. */
#ventures { --venture-round:clamp(72px,10vh,100px); }
#ventures .venture-logo { height:calc(var(--venture-round) * 1.75); display:flex; justify-content:center; align-items:center; overflow:visible; }
#ventures .venture-logo img { flex:none; width:calc(var(--venture-round) * var(--logo-ratio)); height:auto; max-width:none; max-height:none; object-fit:contain; mix-blend-mode:multiply; }
#ventures .venture-logo img[src="assets/venture-01.png"] { --logo-ratio:1.044811; }
#ventures .venture-logo img[src="assets/venture-02.png"] { --logo-ratio:1.628664; }
#ventures .venture-logo img[src="assets/venture-03.png"] { --logo-ratio:1.425000; }
#ventures .venture-logo img[src="assets/powerlife-new.jpg"] { --logo-ratio:1.434426; }
#ventures .venture-logo img[src="assets/venture-05.png"] { --logo-ratio:1.188542; }
#ventures .venture-logo img[src="assets/venture-06.png"] { --logo-ratio:1.156658; }
#ventures .venture-logo img[src="assets/venture-07.png"] { --logo-ratio:1.146734; }
#ventures .venture-logo img[src="assets/venture-08.png"] { --logo-ratio:1.112086; }
#ventures .venture-logo img[src="assets/venture-09.png"] { --logo-ratio:1.041058; }
#ventures .venture-logo img[src="assets/venture-10.png"] { --logo-ratio:1.184839; }
#ventures .venture-logo img[src="assets/venture-11.png"] { --logo-ratio:1.172973; }
@media(max-width:600px) { #ventures { --venture-round:min(90px,calc((100vw - 72px) / 4)); } #ventures .venture-logo { padding:0; } }

/* Shared statement size: 15% below the previous Let's connect heading. */
:root { --section-statement-size:clamp(30.6px,3.7026vw,37.026px); }
#info .contact-intro h2,
#about .about-copy h2,
#services .services-heading h2,
#ventures .venture-group h3 { font-size:var(--section-statement-size); }
@media(max-width:800px) {
 :root { --section-statement-size:clamp(32.64px,6.12vw,38.76px); }
}

/* Increase visible venture emblem diameters by 15%, including their slots. */
#ventures { --venture-round:clamp(82.8px,11.5vh,115px); --venture-heading-size:clamp(26.4px,3.63vw,36.3px); }
#ventures-title,
#ventures .venture-group h3 { font-size:var(--venture-heading-size); }
@media(max-width:600px) {
 #ventures { --venture-round:min(103.5px,calc((100vw - 72px) / 4 * 1.15)); }
}

/* Viewport-sized directory with compact spacing and no nested scroll areas. */
#ventures {
 height:calc(100dvh - var(--contact-strip-height));
 min-height:calc(100dvh - var(--contact-strip-height));
 max-height:none; padding-block:32px; overflow:visible;
}
#ventures .dialog-header { position:static; padding:0 48px 4px 0; }
#ventures .dialog-content {
 flex:1; min-height:0; margin:0 auto; overflow:visible;
 justify-content:center; gap:4px;
}
#ventures .venture-group h3 { padding:4px 0; }
#ventures .logo-grid { padding:0; row-gap:4px; overflow:visible; }
#ventures .venture-logo { height:calc(var(--venture-round) * 1.6); padding:0; }


/* Very short phones use normal page flow so content remains reachable, never an inner scrollbar. */
@media(max-width:999px) and (max-height:650px) {
 #ventures { height:auto; }
 #ventures .dialog-content { flex:none; padding-block:8px; }
}

/* Exact venture group heading size on all screens. */
#ventures .venture-group h3 { font-size:24.7px; }

/* Exact statement sizes, with Info's supporting heading at a 35:50 ratio. */
#about .about-copy h2,
#services .services-heading h2 { font-size:24.7px; }
#info { --info-heading-size:clamp(36px,4.356vw,43.56px); }
#info .contact-intro .about-label { font-size:var(--info-heading-size); }
#info .contact-intro h2 { font-size:calc(var(--info-heading-size) * .7); }
@media(max-width:800px) {
 #info { --info-heading-size:clamp(38.4px,7.2vw,45.6px); }
}

/* Seven operating ventures and four developing ventures. */
#ventures .developing-grid { grid-template-columns:repeat(4,minmax(0,1fr)); max-width:1000px; }

/* Phones: readable two-column directory in normal page flow. */
@media(max-width:700px) {
 #ventures { height:auto; max-height:none; min-height:calc(100dvh - var(--contact-strip-height)); padding:64px 20px 76px; --venture-round:min(105px,calc((100vw - 64px) / 3.5)); }
 #ventures .dialog-header { padding:0 48px 20px 0; }
 #ventures .dialog-content { flex:none; gap:28px; padding:0; justify-content:flex-start; overflow:visible; }
 #ventures .operating-grid,
 #ventures .developing-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 24px; width:100%; max-width:none; }
 #ventures .venture-group h3 { padding:0 0 20px; }
 #ventures .venture-group + .venture-group { padding-top:24px; }
 #ventures .venture-logo { height:calc(var(--venture-round) * 1.75); min-width:0; padding:12px 0 0; align-items:flex-start; }
 #ventures .venture-logo img { margin-top:calc(var(--venture-round) * var(--logo-top,0) * -1); }
 #ventures .venture-logo:focus-visible { outline:2px solid var(--green); outline-offset:4px; }
}
#ventures .venture-logo img[src="assets/venture-01.png"] { --logo-top:0.000000; }
#ventures .venture-logo img[src="assets/venture-02.png"] { --logo-top:0.159609; }
#ventures .venture-logo img[src="assets/venture-03.png"] { --logo-top:0.100000; }
#ventures .venture-logo img[src="assets/powerlife-new.jpg"] { --logo-top:0.118852; }
#ventures .venture-logo img[src="assets/venture-05.png"] { --logo-top:0.038542; }
#ventures .venture-logo img[src="assets/venture-06.png"] { --logo-top:0.054830; }
#ventures .venture-logo img[src="assets/venture-07.png"] { --logo-top:0.037186; }
#ventures .venture-logo img[src="assets/venture-08.png"] { --logo-top:0.034113; }
#ventures .venture-logo img[src="assets/venture-09.png"] { --logo-top:0.016423; }
#ventures .venture-logo img[src="assets/venture-10.png"] { --logo-top:0.038422; }
#ventures .venture-logo img[src="assets/venture-11.png"] { --logo-top:0.017117; }

/* Center the three-logo second row beneath the four Operating logos. */
@media(min-width:701px) {
 #ventures .operating-grid { grid-template-columns:repeat(8,minmax(0,1fr)); }
 #ventures .operating-grid > .venture-logo { grid-column:span 2; }
 #ventures .operating-grid > .venture-logo:nth-child(5) { grid-column:2 / span 2; }
 #ventures .operating-grid > .venture-logo:nth-child(6) { grid-column:4 / span 2; }
 #ventures .operating-grid > .venture-logo:nth-child(7) { grid-column:6 / span 2; }
}



/* Preserve the centered 4+3 arrangement on short desktop screens, too. */
@media(min-width:701px) and (max-height:650px) {
 #ventures { height:auto; }
 #ventures .dialog-content { flex:none; padding-block:8px; }
}

/* About uses the page viewport, without a nested scrollbar beside the copy. */
#about { height:calc(100dvh - var(--contact-strip-height)); min-height:calc(100dvh - var(--contact-strip-height)); padding-block:48px; overflow:visible; }
#about .about-layout { max-height:none; min-height:0; overflow:visible; flex-shrink:0; margin-block:auto; }
#about .about-label { margin-bottom:10px; }
#about .expertise { margin-top:18px; padding-top:12px; }
#about .expertise h3 { margin-bottom:10px; }
#about .experience-intro { margin-bottom:8px; }
#about .expertise-list li { padding-block:6px; }
#about .about-quote { margin-top:14px; }
#about .connect-now { margin-top:16px; }
@media(max-height:760px) {
 #about .expertise { margin-top:12px; padding-top:8px; }
 #about .expertise-list li { padding-block:4px; }
 #about .about-quote { margin-top:10px; }
 #about .connect-now { margin-top:12px; }
}
/* Keep content accessible in exceptionally short or narrow viewports. */
@media(max-height:600px), (max-width:700px) and (max-height:780px) {
 #about { height:auto; }
}

/* Founder portrait shares the exact responsive venture-emblem diameter. */
#founder { --founder-diameter:clamp(82.8px,11.5vh,115px); }
#founder .founder-section-layout { grid-template-columns:var(--founder-diameter) minmax(0,1fr); gap:18px 48px; }
#founder .founder { grid-column:1; grid-row:1 / span 2; width:var(--founder-diameter); }
#founder .founder-portrait { width:var(--founder-diameter); height:var(--founder-diameter); max-width:none; }
#founder-title { grid-column:2; grid-row:1; margin:0; color:var(--green); font-size:calc(clamp(23px,3.3vw,33px) * 1.26); font-weight:400; line-height:1.25; letter-spacing:normal; text-shadow:none; }
#founder .founder-section-copy { grid-column:2; grid-row:2; }
#founder .founder-community { grid-column:2; grid-row:3; }
@media(max-width:800px) {
 #founder-title { font-size:calc(clamp(28px,5vw,34px) * 1.26); }
}
@media(max-width:700px) {
 #founder { --founder-diameter:min(105px,calc((100vw - 64px) / 3.5)); }
 #founder .founder-section-layout { grid-template-columns:minmax(0,1fr); gap:22px; }
 #founder-title { grid-column:1; grid-row:1; }
 #founder .founder { grid-column:1; grid-row:2; }
 #founder .founder-section-copy { grid-column:1; grid-row:3; }
 #founder .founder-community { grid-column:1; grid-row:4; }
}

/* Phone section titles match the About heading exactly. */
@media(max-width:700px) {
 #ventures-title,
 #services .services-heading .about-label,
 #process #process-title { font-size:calc(clamp(28px,5vw,34px) * 1.26); line-height:1.25; }
}

/* Enlarge only the desktop Founder portrait by 10%. */
@media(min-width:701px) {
 #founder { --founder-diameter:clamp(91.08px,12.65vh,126.5px); }
}

/* Process actions use the same green list markers as Services. */
#process .process-details { list-style:disc; padding-left:20px; margin:0; max-width:400px; font-size:16px; line-height:1.7; }
#process .process-details li { padding:2px 0; }
#process .process-details li::marker { color:var(--green); }
@media(max-width:700px) { #process .process-details { font-size:15px; } }
@media(min-width:901px) and (min-height:650px) { #process .process-details { line-height:1.5; } }
/* Reference layout: four equal columns, followed by three left-aligned logos. */
@media(min-width:701px) {
 #ventures .operating-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
 #ventures .operating-grid > .venture-logo:nth-child(n) { grid-column:auto; }
 #ventures .operating-grid > .venture-logo { align-items:flex-start; padding-top:12px; }
 #ventures .operating-grid .venture-logo img { margin-top:calc(var(--venture-round) * var(--logo-top,0) * -1); }
}
