/* Shared layouts for duplicated company, legal, patent, and editorial routes. */
.content-route main{min-height:60vh}
.legal-page{width:100%;margin:0}
.legal-page-title{margin:0;padding:76px max(var(--page-gutter),calc((100vw - var(--content))/2));background:var(--surface-alt);font-size:clamp(48px,7vw,78px)}
.legal-page-date{padding:18px max(var(--page-gutter),calc((100vw - var(--content))/2));border-block:1px solid var(--line);color:var(--muted);background:var(--surface);font-size:13px}
.legal-page-body{width:min(calc(100% - var(--page-gutter) - var(--page-gutter)),980px);margin-inline:auto;padding:72px 0 96px}
.legal-page-body h2{margin:52px 0 18px;font-size:clamp(30px,3.4vw,42px)}
.legal-page-body h3{margin:38px 0 14px;font-size:23px}.legal-page-body h4{margin:30px 0 10px;font-size:18px}
.legal-page-body p,.legal-page-body li{color:#46423f;line-height:1.75}.legal-page-body p{margin-bottom:18px}.legal-page-body ul,.legal-page-body ol{margin:0 0 24px;padding-left:24px}.legal-page-body a{color:var(--red)}

/* Patents deliberately have no framed/max-width content wrapper. */
.patents-route .legal-page-body{width:100%;padding:0 0 88px}
.patents-route .legal-page-title{width:100%;max-width:none;padding-right:max(var(--page-gutter),calc((100vw - var(--content))/2));padding-left:max(var(--page-gutter),calc((100vw - var(--content))/2))}
.patents-route .legal-page-body>h2{width:min(calc(100% - var(--page-gutter) - var(--page-gutter)),var(--content));margin:64px auto 42px;font-size:clamp(26px,3.2vw,42px)}
.patents-route .patent-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:center;padding:26px max(var(--page-gutter),calc((100vw - var(--content))/2));border-top:1px solid var(--line);background:var(--surface)}
.patents-route .patent-item:nth-child(even){background:var(--surface-alt)}.patents-route .patent-item:last-child{border-bottom:1px solid var(--line)}
.patents-route .patent-item>div{display:grid;grid-template-columns:minmax(180px,.35fr) minmax(0,1fr);gap:28px;align-items:center}
.patents-route .patent-num{display:inline-flex;align-items:center;gap:6px;color:var(--red);font-weight:800;text-decoration:none}.patents-route .patent-num:after{content:'';width:15px;height:15px;background:currentColor;-webkit-mask:url('/redesign/assets/icons.svg') -195px 0/255px 15px no-repeat;mask:url('/redesign/assets/icons.svg') -195px 0/255px 15px no-repeat}.patents-route .patent-title{color:#34312f}.patents-route .patent-date{color:var(--muted);font-size:13px;white-space:nowrap}

.company-route .hero{position:relative;padding:100px 0 92px;background:var(--surface-alt)}.company-route .hero-bg,.company-route .hero-grid{display:none}.company-route .hero-content{width:min(calc(100% - var(--page-gutter) - var(--page-gutter)),var(--content));margin-inline:auto}.company-route .hero-eyebrow,.company-route .section-label{margin-bottom:14px;color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.company-route .hero-eyebrow{color:var(--red)}.company-route .hero h1{max-width:1050px}.company-route .hero-sub{max-width:760px;color:var(--muted);font-size:20px}
.company-route .timeline,.company-route .story,.company-route .team,.company-route .values{padding:88px 0}.company-route .timeline,.company-route .team{background:var(--surface)}.company-route .story,.company-route .values{background:var(--surface-alt)}
.company-route .timeline-header,.company-route .team-header,.company-route .values-header{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;margin-bottom:38px}.company-route .section-label{grid-column:1}.company-route .section-title{grid-column:1;margin:0}.company-route .values-header .sub{grid-column:2;grid-row:1/span 2;color:var(--muted);font-size:17px}
.company-route .timeline-items{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.company-route .timeline-item,.company-route .team-card,.company-route .value-card{padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.company-route .timeline-year{margin-bottom:18px;color:var(--red);font-weight:850}.company-route .timeline-item p,.company-route .team-bio,.company-route .value-desc,.company-route .story-text p{color:var(--muted)}
.company-route .story-inner{display:grid;grid-template-columns:.82fr 1.18fr;gap:72px;align-items:start}.company-route .story-quote{padding:34px;border:1px solid rgba(200,15,20,.2);border-radius:var(--radius);background:var(--red-tint)}.company-route blockquote{margin:0 0 18px;font-family:'DM Serif Display',Georgia,serif;font-size:32px;line-height:1.2}.company-route cite{font-style:normal;color:var(--muted)}.company-route .story-text h3{margin-top:30px}.company-route .story-text h3:first-child{margin-top:0}
.company-route .team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.company-route .team-card{display:grid;grid-template-columns:64px 1fr;gap:20px}.company-route .team-avatar{display:grid;width:58px;height:58px;place-items:center;border-radius:50%;color:#fff;background:var(--red);font-weight:850}.company-route .team-name{font-size:19px;font-weight:800}.company-route .team-title{margin:4px 0 14px;color:var(--red);font-size:13px;font-weight:700}.company-route .values-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.company-route .value-icon{margin-bottom:16px;font-size:24px}.company-route .value-title{margin-bottom:10px;font-weight:800}

.blog-index-hero{padding:82px 0 72px;background:var(--surface-alt);text-align:center}.blog-index-hero .section-heading{display:block;max-width:920px;margin:0 auto}.blog-index-hero .heading-title h1{margin-right:auto;margin-left:auto}.blog-index-hero .heading-copy{padding-top:0}.blog-index-hero .heading-copy p{max-width:760px;margin:22px auto 0}.editorial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:72px 0 96px}.blog-card{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.blog-card-link{display:block;text-decoration:none}.blog-img{width:100%;padding-top:56%;background-position:center;background-size:cover}.blog-body{padding:22px 22px 18px}.blog-date{margin-bottom:9px;color:var(--muted);font-size:12px}.blog-title{min-height:3.84em;margin-bottom:12px;font-size:20px;font-weight:800;line-height:1.28}.blog-excerpt{min-height:6.6em;margin-bottom:14px;color:var(--muted);font-size:14px}.blog-link{display:inline-flex;align-items:center;gap:6px;color:var(--red);font-size:13px;font-weight:750}.blog-link:after{content:'';width:15px;height:15px;background:currentColor;-webkit-mask:url('/redesign/assets/icons.svg') 0 0/255px 15px no-repeat;mask:url('/redesign/assets/icons.svg') 0 0/255px 15px no-repeat}.blog-card-tags{display:flex;gap:6px;flex-wrap:wrap;padding:0 22px 22px}.tag-pill{padding:5px 10px;border-radius:999px;color:var(--muted);background:var(--surface-alt);font-size:10px;font-weight:700;text-decoration:none;text-transform:uppercase}

@media(max-width:980px){.company-route .values-grid{grid-template-columns:repeat(3,1fr)}.editorial-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.legal-page-title{padding-top:56px;padding-bottom:56px}.legal-page-body{padding:54px 0 72px}.patents-route .patent-item{grid-template-columns:1fr;gap:8px}.patents-route .patent-item>div{grid-template-columns:1fr;gap:7px}.company-route .timeline-header,.company-route .team-header,.company-route .values-header,.company-route .story-inner{display:block}.company-route .values-header .sub{margin-top:18px}.company-route .timeline-items,.company-route .team-grid,.company-route .values-grid,.editorial-grid{grid-template-columns:1fr}.company-route .team-card{grid-template-columns:52px 1fr}.company-route .team-avatar{width:48px;height:48px}.blog-title,.blog-excerpt{min-height:0}}

/* Page-specific mappings to the global typography hierarchy. */
.legal-page-title{font-size:clamp(43px,6vw,72px);font-weight:400;line-height:1.02;letter-spacing:-.052em}
.legal-page-body h2,.patents-route .legal-page-body>h2{font-size:clamp(34px,4.3vw,54px);font-weight:400;line-height:1.08;letter-spacing:-.043em}
.legal-page-body h3,.legal-page-body h4{font-family:Inter,Arial,sans-serif;font-size:20px;font-weight:700;line-height:1.28;letter-spacing:-.022em}
.legal-page-body p,.legal-page-body li{font-size:18px;font-weight:400;line-height:1.55}
.legal-page-date,.patents-route .patent-date,.blog-date{font-size:12px;font-weight:500;line-height:1.4}
.company-route .hero-eyebrow,.company-route .section-label{font-size:13px;font-weight:800;line-height:1.2;letter-spacing:.14em}
.company-route .hero-sub{font-size:20px;font-weight:400;line-height:1.55}
.company-route .values-header .sub{font-size:18px;font-weight:400;line-height:1.55}
.company-route blockquote{font-family:'DM Serif Display',Georgia,serif;font-size:clamp(23px,2.7vw,34px);font-weight:400;line-height:1.15}
.company-route .team-name,.company-route .value-title{font-size:20px;font-weight:700;line-height:1.28}
.company-route .timeline-item p,.company-route .team-bio,.company-route .value-desc{font-size:15px;font-weight:400;line-height:1.5}
.company-route .story-text p{font-size:18px;font-weight:400;line-height:1.55}
.company-route .timeline-year{font-size:12px;font-weight:700;line-height:1.4}
.company-route .team-title{font-size:13px;font-weight:600;line-height:1.45}
.blog-title{font-size:20px;font-weight:700;line-height:1.28}
.blog-excerpt{font-size:15px;font-weight:400;line-height:1.5}
.tag-pill{font-size:10px;font-weight:700;line-height:1.3}
