/* TitanLocal: confident typography, quieter surfaces, practical detail. */
:root { --paper:#f5f5ef; --line:#d9d9ce; --green-ink:#4f5700; }
body { overflow-x:visible; line-height:1.6; }
main,section,article,aside,header,footer,div { min-width:0; }
h1,h2,h3 { text-wrap:balance; overflow-wrap:break-word; }
p,li,a { overflow-wrap:break-word; }
a { text-underline-offset:4px; }
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible { outline:3px solid #717b00; outline-offset:4px; }
.skip-link { position:absolute; left:16px; top:-100px; z-index:100; padding:12px 18px; background:var(--ink); color:var(--white); }.skip-link:focus { top:10px; }
.site-header,.subpage .site-header { position:relative; height:auto; min-height:82px; gap:24px; border-bottom:1px solid var(--line); }
.brand { flex-shrink:0; line-height:1.2; white-space:nowrap; }nav { gap:28px; }nav a,.header-cta { font-size:.875rem; }.header-cta { white-space:nowrap; padding:12px 18px; }
.menu-button { flex-shrink:0; cursor:pointer; }.mobile-menu { max-height:calc(100dvh - 82px); overflow-y:auto; }.mobile-menu a { font-size:1.1rem; }
.eyebrow,.section-tag,.card-index,.scope-label,.action-note { font-size:.875rem; }.section-tag { letter-spacing:.09em; line-height:1.5; }
.hero { min-height:0; padding-top:68px; background:var(--ink); color:var(--white); }.hero-grid { display:none; }.hero .eyebrow { color:#cdcdc4; }.hero .eyebrow span { background:var(--acid); }
.hero h1 { font-size:clamp(3.4rem,7.9vw,7.4rem); line-height:1.02; letter-spacing:-.055em; margin:30px 0 38px; }.hero h1 em { color:var(--acid); -webkit-text-stroke:0; text-shadow:none; }
.hero-bottom { grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); align-items:start; gap:clamp(30px,6vw,90px); padding-bottom:64px; }
.hero-bottom p { font-size:1.2rem; line-height:1.65; max-width:650px; font-weight:500; }.hero-bottom .hero-personal { margin-top:20px; color:#c3c3ba; font-size:1rem; font-weight:400; }
.hero-actions { display:flex; flex-direction:column; align-items:flex-start; gap:17px; padding-top:4px; }
.primary-button { min-width:0; max-width:100%; box-shadow:none; font-size:.875rem; padding:16px 20px; gap:20px; text-transform:none; line-height:1.4; border-radius:3px; }.primary-button:hover { transform:translateY(-2px); box-shadow:none; }.primary-button.dark,.primary-button.dark:hover { box-shadow:none; }
.hero-actions .primary-button { background:var(--acid); }.action-note { color:#b9b9b1; }
.text-link { display:inline-flex; align-items:center; gap:10px; font-weight:700; font-size:1rem; text-decoration:underline; }.hero-actions .text-link { margin-top:8px; color:var(--white); }
.service-strip { border-top:1px solid #353530; height:auto; min-height:70px; flex-wrap:wrap; white-space:normal; padding:22px 30px; font-size:.875rem; gap:14px 24px; color:#c3c3b9; }.service-strip span:nth-of-type(n),.service-strip span:nth-of-type(n+4)~* { display:initial; }
.problem { grid-template-columns:.5fr 1.6fr 1fr; gap:40px; padding-top:88px; padding-bottom:88px; }
.problem-copy h2,.system-intro h2 { font-size:clamp(2.3rem,4.2vw,4.5rem); line-height:1.08; letter-spacing:-.045em; }.problem-copy h2 span,.system-intro h2 span { color:var(--green-ink); -webkit-text-stroke:0; }
.problem-copy p,.system-intro p { line-height:1.7; font-size:1.0625rem; color:#4b4b42; margin-top:24px; }
.principle-card { padding:30px; background:#e9e9df; border:1px solid var(--line); }.principle-card h3 { font-size:clamp(1.6rem,2.2vw,2rem); line-height:1.2; letter-spacing:-.035em; margin:25px 0; }.principle-card ul { padding:0; list-style:none; margin:0 0 24px; }.principle-card li { padding:12px 0; border-bottom:1px solid #cecec1; font-size:1rem; }
.services,.system { padding-top:88px; padding-bottom:88px; }.section-heading { margin-bottom:48px; }.section-heading h2 { font-size:clamp(2.5rem,5vw,5rem); line-height:1.05; letter-spacing:-.04em; }
.service-list article { grid-template-columns:42px minmax(0,1fr) 44px; gap:20px; min-height:172px; padding:26px 0; }.service-list article:hover { padding:26px 0; background:transparent; color:var(--white); }.service-list article:hover .service-number { color:var(--acid); }.service-list article:hover p { color:#c5c5bd; }
.service-list article > div { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:35px; }.service-list h3 { font-size:clamp(1.5rem,2.65vw,2.6rem); line-height:1.12; letter-spacing:-.03em; }.service-list h3 a { text-decoration:none; }.service-list h3 a:hover { color:var(--acid); text-decoration:underline; }.service-list p { font-size:1rem; line-height:1.7; color:#c5c5bd; }.service-icon svg { width:32px; height:32px; }
.offer-range { border:1px solid #48483d; margin-top:55px; padding:38px; }.offer-range h3 { font-size:clamp(2rem,3.5vw,3.5rem); line-height:1.1; letter-spacing:-.03em; }
.offer-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; margin-top:35px; }.offer-summary a { text-decoration:none; padding-top:20px; border-top:1px solid #56564a; }.offer-summary a:hover strong { text-decoration:underline; }.offer-summary span { color:var(--acid); display:block; font-size:.875rem; }.offer-summary strong { display:block; margin-top:12px; font-size:1.25rem; line-height:1.4; }.offer-summary p { font-size:1rem; color:#c5c5bd; }
.offer-range-bottom { align-items:center; margin-top:28px; }.offer-range-bottom a,.demo-link { font-size:.875rem; text-transform:none; letter-spacing:0; }
.system-intro { margin:30px 0 50px; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:50px; }.steps { box-shadow:none; border:1px solid #ccc; grid-template-columns:repeat(3,minmax(0,1fr)); }.steps article { min-height:275px; padding:30px; border-right:1px solid #ccc; }.steps article:nth-child(2) { background:#e9e9df; }.steps article > span,.ownership-kicker { font-size:.875rem; }.steps h3 { font-size:2.7rem; line-height:1.1; margin:30px 0 20px; }
.steps .ownership-step { min-height:0; padding:40px; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:28px 50px; }.steps .ownership-step h3 { font-size:clamp(2.7rem,5.7vw,5.6rem); line-height:1.03; letter-spacing:-.05em; margin:10px 0 0; }.ownership-copy { align-self:start; }.ownership-kicker { letter-spacing:.05em; flex-wrap:wrap; gap:12px; }.ownership-copy .ownership-note { color:#bcbcb2; font-size:.875rem; font-weight:400; margin:24px 0 0; line-height:1.7; }
.evidence-section { padding:88px clamp(24px,5vw,76px); background:var(--white); display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:80px; }.evidence-section h2,.faq-section h2 { font-size:clamp(2.1rem,3.6vw,3.5rem); line-height:1.1; letter-spacing:-.04em; margin:24px 0; }.evidence-section p { max-width:600px; color:#515148; }.evidence-note { padding:30px 0 30px 40px; border-left:2px solid var(--line); }.evidence-note h3 { font-size:2rem; line-height:1.2; margin:20px 0; }
.faq-section { padding:80px clamp(24px,5vw,76px); background:var(--paper); display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:70px; }.faq-list { border-top:1px solid #bcbcaa; }.faq-list details { border-bottom:1px solid #bcbcaa; padding:0; }.faq-list summary { cursor:pointer; padding:22px 25px 22px 0; font-weight:700; font-size:1.0625rem; }.faq-list details p { margin:0 0 24px; max-width:65ch; color:#4d4d44; }
.final-cta { background:var(--ink); color:var(--white); padding-top:88px; padding-bottom:88px; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:60px; }.final-cta h2 { font-size:clamp(2.5rem,4.7vw,4.5rem); line-height:1.1; letter-spacing:-.04em; }.final-cta h2 span { color:var(--acid); -webkit-text-stroke:0; }.final-cta p { color:#d2d2c8; }.plan-includes { border-top:1px solid #55554a; }.plan-includes span { border-bottom:1px solid #55554a; }.plan-includes span::before { background:var(--acid); }
.growth-form { color:var(--ink); border:0; box-shadow:none; padding:30px; border-radius:4px; }.form-row label { font-size:.875rem; letter-spacing:0; text-transform:none; }.form-row input,.form-row textarea { border:1px solid #bcbcad; border-radius:2px; font-size:1rem; line-height:1.5; }.form-note { font-size:.875rem !important; color:#505047 !important; }.form-note a { color:var(--ink); }
.email-fallback { grid-column:1/-1; }.email-fallback[hidden] { display:none; }.email-fallback textarea { width:100%; min-height:160px; font:inherit; font-size:1rem; }.email-fallback button { padding:10px 15px; cursor:pointer; background:var(--white); border:1px solid var(--ink); font:inherit; }
.expanded-footer { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr); gap:50px; padding-top:64px; padding-bottom:25px; border-top:1px solid #37372e; font-size:.9375rem; }.expanded-footer p,.expanded-footer p:last-child { color:#bdbdb4; text-align:left; line-height:1.7; }.footer-intro > a:last-child { display:inline-block; margin-top:8px; }.footer-links { display:flex; flex-direction:column; align-items:flex-start; gap:10px; }.footer-links > span { color:var(--white); font-weight:700; margin-bottom:8px; }.footer-links a { color:#bdbdb4; text-decoration:none; }.footer-links a:hover { color:var(--acid); text-decoration:underline; }.footer-bottom { grid-column:1/-1; display:flex; justify-content:space-between; flex-wrap:wrap; gap:16px; padding-top:25px; border-top:1px solid #37372e; color:#aaa99e; font-size:.875rem; }
.subpage { background:var(--paper); }.page-hero { padding:65px clamp(24px,5vw,76px) 72px; background:var(--ink); color:var(--white); }.breadcrumb { display:flex; gap:12px; flex-wrap:wrap; font-size:.875rem; color:#bdbdb5; margin-bottom:38px; }.page-hero > .section-tag { color:var(--acid); }.page-hero h1 { font-size:clamp(2.8rem,6.3vw,6rem); line-height:1.07; letter-spacing:-.05em; margin:24px 0; max-width:1150px; }.page-hero h1 span { color:var(--acid); }.page-lede { max-width:770px; font-size:1.2rem; line-height:1.7; color:#d2d2c8; margin:0 0 28px; }
.page-section { padding:80px clamp(24px,5vw,76px); }.page-section h2 { font-size:clamp(2.1rem,3.8vw,3.6rem); line-height:1.13; letter-spacing:-.035em; margin:0 0 24px; }.page-section h3 { font-size:1.5rem; line-height:1.2; letter-spacing:-.025em; }.page-section p { font-size:1.0625rem; line-height:1.75; max-width:75ch; color:#4d4d43; }
.intro-row { display:grid; grid-template-columns:minmax(0,.5fr) minmax(0,1.5fr); gap:55px; margin-bottom:44px; }.detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid #cacabe; border-left:1px solid #cacabe; }.detail-card { padding:34px; border-right:1px solid #cacabe; border-bottom:1px solid #cacabe; }.card-index { display:block; color:var(--green-ink); font-weight:700; margin-bottom:25px; }.detail-card h3 { margin-bottom:16px; }.detail-card p { margin:0; }
.process-section { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:65px; background:#e9e9df; }.process-section h2 { margin-top:22px; }.process-list,.plain-list { padding-left:24px; margin:0; }.process-list li { padding:0 0 20px 10px; }.process-list li::marker { color:var(--green-ink); font-weight:700; }.scope-note { margin:25px 0; padding:20px 24px; border-left:3px solid #777e35; background:#f2f2e9; line-height:1.7; }
.related-section { padding:30px clamp(24px,5vw,76px) 60px; display:flex; gap:25px 45px; flex-wrap:wrap; align-items:center; }.related-section .section-tag { flex-basis:100%; }
.closing-band { padding:65px clamp(24px,5vw,76px); background:var(--acid); display:grid; grid-template-columns:minmax(0,1fr) auto; gap:45px; align-items:center; }.closing-band h2 { font-size:clamp(2.2rem,4vw,4rem); line-height:1.1; letter-spacing:-.04em; margin:20px 0; }.closing-band p { max-width:730px; font-size:1.0625rem; }
.offer-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }.offer-cards > article { display:flex; flex-direction:column; padding:30px; border:1px solid #cecebf; background:var(--white); }.offer-cards h3 { font-size:1.8rem; margin-bottom:12px; }.offer-cards p { font-size:1rem; }.offer-cards ul { padding-left:20px; }.offer-cards li { padding:6px 0; }.offer-cards .text-link { margin-top:auto; padding-top:20px; }.offer-cards > .highlight-card { background:#ecefd9; border-color:#8d9550; }.offer-cards .scope-label { padding-top:20px; border-top:1px solid #d3d5c3; font-size:.875rem; }
.services-directory { background:var(--white); }.services-directory h2,.capability-band h2 { margin-top:22px; }.directory-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 55px; }.directory-grid > a { text-decoration:none; padding:30px 0; border-top:1px solid var(--line); }.directory-grid > a:hover h3 { text-decoration:underline; }.directory-grid p { font-size:1rem; }.capability-band { border-top:1px solid var(--line); }
.founder-section { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:70px; align-items:start; background:var(--white); }.founder-letter h2 { margin-top:24px; }.founder-letter .signature { font-size:2rem; font-weight:700; color:var(--ink); margin:34px 0 16px; }.signature span { font-size:1rem; color:#555; font-weight:400; }
.project-feature { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:65px; }.project-feature h2 { margin-top:24px; }.demo-guide { padding:34px; background:#e9e9df; border:1px solid var(--line); }.demo-guide ol { padding-left:22px; }.demo-guide li { padding:14px 0; border-bottom:1px solid #ccccc0; }.project-secondary { background:var(--white); }.project-secondary h2 { margin-top:24px; }
.prose-page { max-width:1050px; }.prose-page h2 { font-family:"DM Sans",sans-serif; font-size:1.6rem; font-weight:700; margin-top:38px; }.prose-page h2:first-child { margin-top:0; }
@media (max-width:1100px) {
.site-header nav,.site-header .header-cta { display:none; }.menu-button { display:flex; width:44px; height:44px; background:var(--ink); border:0; flex-direction:column; justify-content:center; gap:7px; padding:10px; }.menu-button span { height:2px; background:var(--acid); width:100%; }.mobile-menu:not([hidden]) { display:flex; }.mobile-menu { position:absolute; top:82px; left:0; right:0; z-index:25; background:var(--ink); color:var(--white); padding:26px; flex-direction:column; gap:20px; }
.problem { grid-template-columns:1fr 1fr; }.problem > .section-tag { grid-column:1/-1; }.offer-cards { grid-template-columns:1fr; }.offer-cards > article { padding:30px; }.offer-cards h3 { font-size:2rem; }
}
@media (max-width:900px) {
.hero-bottom,.system-intro,.final-cta,.evidence-section,.faq-section,.intro-row,.process-section,.founder-section,.project-feature,.closing-band { grid-template-columns:1fr; gap:35px; }.hero h1 { font-size:clamp(2.7rem,8.2vw,5rem); }.hero-actions { padding-top:0; }.service-list article > div { grid-template-columns:1fr; gap:0; }.offer-summary { grid-template-columns:1fr; gap:15px; }.steps { grid-template-columns:1fr; }.steps article { min-height:0; border-right:0; }.steps .ownership-step { grid-column:1; grid-template-columns:1fr; }.evidence-note { padding:30px 0 0; border-left:0; border-top:1px solid var(--line); }.expanded-footer { grid-template-columns:1fr 1fr; gap:35px; }.footer-intro { grid-column:1/-1; }.closing-band .primary-button { width:fit-content; }
}
@media (max-width:580px) {
.site-header { min-height:66px; padding:0 18px; }.mobile-menu { top:66px; max-height:calc(100dvh - 66px); }.hero { padding:40px 20px 0; }.hero h1 { font-size:clamp(2rem,8.8vw,3.25rem); line-height:1.12; letter-spacing:-.05em; padding:0; }.hero-bottom p,.page-lede { font-size:1.0625rem; }.hero-bottom { padding-bottom:38px; }.hero-actions { width:100%; }.hero-actions .primary-button { width:100%; }.service-strip { margin:0 -20px; padding:18px 20px; justify-content:flex-start; gap:12px 16px; }.service-strip .strip-mark { display:none; }
.problem,.services,.system,.final-cta,.evidence-section,.faq-section,.page-section { padding:56px 20px; }.problem { grid-template-columns:1fr; }.problem-copy h2,.system-intro h2,.section-heading h2,.final-cta h2 { font-size:2.25rem; line-height:1.12; }.service-list article { grid-template-columns:26px minmax(0,1fr); gap:10px; }.service-list article:hover { padding:26px 0; }.service-icon { display:none; }.service-list h3 { font-size:1.65rem; }.offer-range { padding:25px 22px; }.offer-range h3 { font-size:2rem; }.offer-range-bottom { gap:20px; align-items:start; }.steps .ownership-step { padding:28px 22px; min-height:0; }.steps .ownership-step h3 { font-size:2.8rem; }.growth-form { padding:24px 20px; }.primary-button { font-size:.9375rem; padding:16px 18px; }.page-hero { padding:38px 20px 48px; }.page-hero h1 { font-size:clamp(2rem,9vw,3.1rem); line-height:1.1; }.page-hero .breadcrumb { margin-bottom:28px; }.detail-grid,.directory-grid { grid-template-columns:1fr; }.detail-card { padding:28px 24px; }.closing-band { padding:50px 20px; }.closing-band .primary-button { width:100%; }.related-section { padding:24px 20px 45px; }.expanded-footer { padding:48px 20px 25px; grid-template-columns:1fr; }.footer-intro { grid-column:1; }.footer-bottom { flex-direction:column; }
}
@media (prefers-reduced-motion:reduce) { .primary-button:hover { transform:none; } }
/* Bot trap remains out of the visual and keyboard flow. */
.form-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-submit:disabled{opacity:.7;cursor:wait}
.form-captcha{grid-column:1/-1;min-width:0}
#form-captcha{min-width:0;max-width:100%}
#captcha-retry{padding:10px 14px;font:inherit;cursor:pointer;background:transparent;border:1px solid currentColor;color:inherit}
#analytics-optout{padding:12px 16px;border:1px solid currentColor;background:transparent;color:inherit;cursor:pointer;font:inherit}
